From 93fb03ea65cbfc0770b6b22d07b1a2d8098b23aa Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 23 Sep 2022 03:02:24 +0000 Subject: CTAN sync 202209230302 --- FILES.byname | 739 ++++---- FILES.byname.gz | Bin 2453996 -> 2453580 bytes FILES.last07days | 588 +++--- fonts/mintspirit/README | 2 +- fonts/mintspirit/latex/LY1MintSpirit-Inf.fd | 50 + fonts/mintspirit/latex/LY1MintSpirit-LF.fd | 50 + fonts/mintspirit/latex/LY1MintSpirit-OsF.fd | 50 + fonts/mintspirit/latex/LY1MintSpirit-Sup.fd | 50 + fonts/mintspirit/latex/LY1MintSpirit-TLF.fd | 50 + fonts/mintspirit/latex/LY1MintSpirit-TOsF.fd | 50 + fonts/mintspirit/latex/LY1MintSpiritNoTwo-Inf.fd | 50 + fonts/mintspirit/latex/LY1MintSpiritNoTwo-LF.fd | 50 + fonts/mintspirit/latex/LY1MintSpiritNoTwo-OsF.fd | 50 + fonts/mintspirit/latex/LY1MintSpiritNoTwo-Sup.fd | 50 + fonts/mintspirit/latex/LY1MintSpiritNoTwo-TLF.fd | 50 + fonts/mintspirit/latex/LY1MintSpiritNoTwo-TOsF.fd | 50 + fonts/mintspirit/latex/OT1MintSpirit-Inf.fd | 50 + fonts/mintspirit/latex/OT1MintSpirit-LF.fd | 50 + fonts/mintspirit/latex/OT1MintSpirit-OsF.fd | 50 + fonts/mintspirit/latex/OT1MintSpirit-Sup.fd | 50 + fonts/mintspirit/latex/OT1MintSpirit-TLF.fd | 50 + fonts/mintspirit/latex/OT1MintSpirit-TOsF.fd | 50 + fonts/mintspirit/latex/OT1MintSpiritNoTwo-Inf.fd | 50 + fonts/mintspirit/latex/OT1MintSpiritNoTwo-LF.fd | 50 + fonts/mintspirit/latex/OT1MintSpiritNoTwo-OsF.fd | 50 + fonts/mintspirit/latex/OT1MintSpiritNoTwo-Sup.fd | 50 + fonts/mintspirit/latex/OT1MintSpiritNoTwo-TLF.fd | 50 + fonts/mintspirit/latex/OT1MintSpiritNoTwo-TOsF.fd | 50 + fonts/mintspirit/latex/T1MintSpirit-Inf.fd | 50 + fonts/mintspirit/latex/T1MintSpirit-LF.fd | 50 + fonts/mintspirit/latex/T1MintSpirit-OsF.fd | 50 + fonts/mintspirit/latex/T1MintSpirit-Sup.fd | 50 + fonts/mintspirit/latex/T1MintSpirit-TLF.fd | 50 + fonts/mintspirit/latex/T1MintSpirit-TOsF.fd | 50 + fonts/mintspirit/latex/T1MintSpiritNoTwo-Inf.fd | 50 + fonts/mintspirit/latex/T1MintSpiritNoTwo-LF.fd | 50 + fonts/mintspirit/latex/T1MintSpiritNoTwo-OsF.fd | 50 + fonts/mintspirit/latex/T1MintSpiritNoTwo-Sup.fd | 50 + fonts/mintspirit/latex/T1MintSpiritNoTwo-TLF.fd | 50 + fonts/mintspirit/latex/T1MintSpiritNoTwo-TOsF.fd | 50 + fonts/mintspirit/latex/TS1MintSpirit-LF.fd | 50 + fonts/mintspirit/latex/TS1MintSpirit-OsF.fd | 50 + fonts/mintspirit/latex/TS1MintSpirit-TLF.fd | 50 + fonts/mintspirit/latex/TS1MintSpirit-TOsF.fd | 50 + fonts/mintspirit/latex/TS1MintSpiritNoTwo-LF.fd | 50 + fonts/mintspirit/latex/TS1MintSpiritNoTwo-OsF.fd | 50 + fonts/mintspirit/latex/TS1MintSpiritNoTwo-TLF.fd | 50 + fonts/mintspirit/latex/TS1MintSpiritNoTwo-TOsF.fd | 50 + fonts/mintspirit/latex/mintspirit.sty | 267 +++ fonts/mintspirit/latex/mintspirit2.sty | 267 +++ fonts/mintspirit/map/mintspirit.map | 180 ++ fonts/mintspirit/tex/LY1MintSpirit-Inf.fd | 50 - fonts/mintspirit/tex/LY1MintSpirit-LF.fd | 50 - fonts/mintspirit/tex/LY1MintSpirit-OsF.fd | 50 - fonts/mintspirit/tex/LY1MintSpirit-Sup.fd | 50 - fonts/mintspirit/tex/LY1MintSpirit-TLF.fd | 50 - fonts/mintspirit/tex/LY1MintSpirit-TOsF.fd | 50 - fonts/mintspirit/tex/LY1MintSpiritNoTwo-Inf.fd | 50 - fonts/mintspirit/tex/LY1MintSpiritNoTwo-LF.fd | 50 - fonts/mintspirit/tex/LY1MintSpiritNoTwo-OsF.fd | 50 - fonts/mintspirit/tex/LY1MintSpiritNoTwo-Sup.fd | 50 - fonts/mintspirit/tex/LY1MintSpiritNoTwo-TLF.fd | 50 - fonts/mintspirit/tex/LY1MintSpiritNoTwo-TOsF.fd | 50 - fonts/mintspirit/tex/OT1MintSpirit-Inf.fd | 50 - fonts/mintspirit/tex/OT1MintSpirit-LF.fd | 50 - fonts/mintspirit/tex/OT1MintSpirit-OsF.fd | 50 - fonts/mintspirit/tex/OT1MintSpirit-Sup.fd | 50 - fonts/mintspirit/tex/OT1MintSpirit-TLF.fd | 50 - fonts/mintspirit/tex/OT1MintSpirit-TOsF.fd | 50 - fonts/mintspirit/tex/OT1MintSpiritNoTwo-Inf.fd | 50 - fonts/mintspirit/tex/OT1MintSpiritNoTwo-LF.fd | 50 - fonts/mintspirit/tex/OT1MintSpiritNoTwo-OsF.fd | 50 - fonts/mintspirit/tex/OT1MintSpiritNoTwo-Sup.fd | 50 - fonts/mintspirit/tex/OT1MintSpiritNoTwo-TLF.fd | 50 - fonts/mintspirit/tex/OT1MintSpiritNoTwo-TOsF.fd | 50 - fonts/mintspirit/tex/T1MintSpirit-Inf.fd | 50 - fonts/mintspirit/tex/T1MintSpirit-LF.fd | 50 - fonts/mintspirit/tex/T1MintSpirit-OsF.fd | 50 - fonts/mintspirit/tex/T1MintSpirit-Sup.fd | 50 - fonts/mintspirit/tex/T1MintSpirit-TLF.fd | 50 - fonts/mintspirit/tex/T1MintSpirit-TOsF.fd | 50 - fonts/mintspirit/tex/T1MintSpiritNoTwo-Inf.fd | 50 - fonts/mintspirit/tex/T1MintSpiritNoTwo-LF.fd | 50 - fonts/mintspirit/tex/T1MintSpiritNoTwo-OsF.fd | 50 - fonts/mintspirit/tex/T1MintSpiritNoTwo-Sup.fd | 50 - fonts/mintspirit/tex/T1MintSpiritNoTwo-TLF.fd | 50 - fonts/mintspirit/tex/T1MintSpiritNoTwo-TOsF.fd | 50 - fonts/mintspirit/tex/TS1MintSpirit-LF.fd | 50 - fonts/mintspirit/tex/TS1MintSpirit-OsF.fd | 50 - fonts/mintspirit/tex/TS1MintSpirit-TLF.fd | 50 - fonts/mintspirit/tex/TS1MintSpirit-TOsF.fd | 50 - fonts/mintspirit/tex/TS1MintSpiritNoTwo-LF.fd | 50 - fonts/mintspirit/tex/TS1MintSpiritNoTwo-OsF.fd | 50 - fonts/mintspirit/tex/TS1MintSpiritNoTwo-TLF.fd | 50 - fonts/mintspirit/tex/TS1MintSpiritNoTwo-TOsF.fd | 50 - fonts/mintspirit/tex/mintspirit.sty | 268 --- fonts/mintspirit/tex/mintspirit2.sty | 268 --- info/biblio/texbook3.bib | 54 +- info/biblio/texbook3.ltx | 12 +- info/tds/ChangeLog | 312 +++ info/tds/Makefile | 44 + info/tds/README | 19 + info/tds/README.html | 1 + info/tds/tds.aux | 61 + info/tds/tds.dvi | Bin 0 -> 89212 bytes info/tds/tds.html | 1997 ++++++++++++++++++++ info/tds/tds.info | 1714 +++++++++++++++++ info/tds/tds.pdf | Bin 0 -> 195357 bytes info/tds/tds.sed | 14 + info/tds/tds.tex | 1585 ++++++++++++++++ info/tds/tds2texi.el | 577 ++++++ info/tds/tdsguide.cls | 845 +++++++++ macros/latex/contrib/abspos/LICENSE | 21 + macros/latex/contrib/abspos/README.md | 10 + macros/latex/contrib/abspos/abspos.dtx | 598 ++++++ macros/latex/contrib/abspos/abspos.pdf | Bin 0 -> 452109 bytes macros/latex/contrib/abspos/demo.tex | 67 + macros/latex/contrib/blowup/blowup-ex1.pdf | Bin 33365 -> 33365 bytes macros/latex/contrib/blowup/blowup-ex2.pdf | Bin 33377 -> 33377 bytes macros/latex/contrib/blowup/blowup-ex3.pdf | Bin 34010 -> 34010 bytes macros/latex/contrib/blowup/blowup-ex4.pdf | Bin 12537 -> 12537 bytes macros/latex/contrib/blowup/blowup-ex5.pdf | Bin 20246 -> 20246 bytes macros/latex/contrib/blowup/blowup-ex6.pdf | Bin 0 -> 33734 bytes macros/latex/contrib/blowup/blowup-ex6.tex | 59 + macros/latex/contrib/blowup/blowup.dtx | 51 +- macros/latex/contrib/blowup/blowup.pdf | Bin 196888 -> 199133 bytes macros/latex/contrib/colorframed/README.md | 55 + .../latex/contrib/colorframed/colorframed-doc.pdf | Bin 0 -> 17300 bytes .../latex/contrib/colorframed/colorframed-doc.tex | 238 +++ macros/latex/contrib/colorframed/colorframed.sty | 156 ++ macros/latex/contrib/hyperref/README.md | 2 +- macros/latex/contrib/hyperref/doc/backref.pdf | Bin 206288 -> 205447 bytes .../latex/contrib/hyperref/doc/hyperref-doc.html | 4 +- macros/latex/contrib/hyperref/doc/hyperref-doc.pdf | Bin 318190 -> 318245 bytes macros/latex/contrib/hyperref/doc/hyperref-doc.tex | 22 +- .../contrib/hyperref/doc/hyperref-linktarget.pdf | Bin 404106 -> 443137 bytes macros/latex/contrib/hyperref/doc/hyperref.pdf | Bin 2368225 -> 2367878 bytes macros/latex/contrib/hyperref/doc/nameref.pdf | Bin 180063 -> 180076 bytes macros/latex/contrib/hyperref/hluatex.dtx | 28 +- .../latex/contrib/hyperref/hyperref-linktarget.dtx | 2 +- macros/latex/contrib/hyperref/hyperref-patches.dtx | 2 +- macros/latex/contrib/hyperref/hyperref.dtx | 160 +- macros/latex/contrib/hyperref/xr-hyper.sty | 2 +- macros/latex/contrib/oberdiek/README.md | 6 +- macros/latex/contrib/oberdiek/aliascnt.pdf | Bin 321516 -> 321657 bytes macros/latex/contrib/oberdiek/bmpsize.pdf | Bin 527470 -> 525985 bytes macros/latex/contrib/oberdiek/centernot.pdf | Bin 304615 -> 304534 bytes macros/latex/contrib/oberdiek/chemarr.pdf | Bin 318401 -> 318493 bytes macros/latex/contrib/oberdiek/classlist.pdf | Bin 298535 -> 298078 bytes macros/latex/contrib/oberdiek/colonequals.pdf | Bin 312343 -> 311534 bytes macros/latex/contrib/oberdiek/dvipscol.pdf | Bin 297204 -> 297228 bytes macros/latex/contrib/oberdiek/engord.pdf | Bin 348190 -> 347366 bytes macros/latex/contrib/oberdiek/enparen.pdf | Bin 332722 -> 332202 bytes macros/latex/contrib/oberdiek/eolgrab.pdf | Bin 347153 -> 346537 bytes macros/latex/contrib/oberdiek/fibnum.pdf | Bin 387720 -> 387260 bytes macros/latex/contrib/oberdiek/flags.pdf | Bin 311494 -> 311396 bytes macros/latex/contrib/oberdiek/holtxdoc.pdf | Bin 333938 -> 333755 bytes macros/latex/contrib/oberdiek/hypbmsec.pdf | Bin 317700 -> 317468 bytes macros/latex/contrib/oberdiek/hypcap.pdf | Bin 311506 -> 310807 bytes macros/latex/contrib/oberdiek/hypgotoe.pdf | Bin 313547 -> 313704 bytes macros/latex/contrib/oberdiek/hyphsubst.pdf | Bin 328581 -> 328769 bytes macros/latex/contrib/oberdiek/ifdraft.pdf | Bin 292584 -> 292649 bytes macros/latex/contrib/oberdiek/iflang.pdf | Bin 343995 -> 344764 bytes macros/latex/contrib/oberdiek/oberdiek-bundle.bib | 14 - macros/latex/contrib/oberdiek/oberdiek.ins | 2 - macros/latex/contrib/oberdiek/oberdiek.pdf | Bin 287792 -> 283212 bytes macros/latex/contrib/oberdiek/oberdiek.tex | 26 +- macros/latex/contrib/oberdiek/pagegrid.dtx | 955 ---------- macros/latex/contrib/oberdiek/pagegrid.pdf | Bin 339405 -> 0 bytes macros/latex/contrib/oberdiek/pdfcol.dtx | 939 --------- macros/latex/contrib/oberdiek/pdfcol.pdf | Bin 330483 -> 0 bytes macros/latex/contrib/oberdiek/pdfcolfoot.pdf | Bin 322874 -> 322160 bytes macros/latex/contrib/oberdiek/pdfcolparallel.pdf | Bin 348875 -> 348845 bytes macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf | Bin 336532 -> 336519 bytes macros/latex/contrib/oberdiek/pdfcrypt.pdf | Bin 338513 -> 337856 bytes macros/latex/contrib/oberdiek/pdfrender.pdf | Bin 413812 -> 413780 bytes macros/latex/contrib/oberdiek/protecteddef.pdf | Bin 337274 -> 336484 bytes macros/latex/contrib/oberdiek/resizegather.pdf | Bin 544212 -> 543577 bytes macros/latex/contrib/oberdiek/rotchiffre.pdf | Bin 346420 -> 345334 bytes macros/latex/contrib/oberdiek/scrindex.pdf | Bin 310490 -> 309280 bytes macros/latex/contrib/oberdiek/setouterhbox.pdf | Bin 358759 -> 358526 bytes macros/latex/contrib/oberdiek/settobox.pdf | Bin 321296 -> 321364 bytes macros/latex/contrib/oberdiek/stackrel.pdf | Bin 310478 -> 310389 bytes macros/latex/contrib/oberdiek/stampinclude.pdf | Bin 304678 -> 304747 bytes macros/latex/contrib/oberdiek/tabularht.pdf | Bin 359643 -> 359286 bytes macros/latex/contrib/oberdiek/tabularkv.pdf | Bin 281059 -> 280511 bytes macros/latex/contrib/oberdiek/telprint.pdf | Bin 331215 -> 331191 bytes macros/latex/contrib/oberdiek/thepdfnumber.pdf | Bin 378179 -> 377480 bytes macros/latex/contrib/oberdiek/twoopt.pdf | Bin 301605 -> 301492 bytes macros/latex/contrib/pagegrid/README.md | 12 + macros/latex/contrib/pagegrid/pagegrid.dtx | 942 +++++++++ macros/latex/contrib/pagegrid/pagegrid.pdf | Bin 0 -> 337475 bytes macros/latex/contrib/pdfcol/README.md | 18 + macros/latex/contrib/pdfcol/pdfcol.dtx | 882 +++++++++ macros/latex/contrib/pdfcol/pdfcol.pdf | Bin 0 -> 326142 bytes .../latex/contrib/proflycee/doc/ProfLycee-doc.pdf | Bin 816736 -> 834268 bytes .../latex/contrib/proflycee/doc/ProfLycee-doc.tex | 165 +- macros/latex/contrib/proflycee/tex/ProfLycee.sty | 132 +- macros/latex/contrib/semantex/semantex.pdf | Bin 385165 -> 389783 bytes macros/latex/contrib/semantex/semantex.sty | 1095 ++--------- macros/latex/contrib/semantex/semantex.tex | 206 +- macros/latex/contrib/semantex/stripsemantex.lua | 34 +- macros/latex/contrib/semantex/stripsemantex.sty | 18 +- macros/xetex/latex/bidi/README | 4 +- macros/xetex/latex/bidi/bidi-doc-intro.ltx | 2 +- macros/xetex/latex/bidi/bidi-doc-title.ltx | 4 +- macros/xetex/latex/bidi/bidi-doc.ltx | 2 +- macros/xetex/latex/bidi/bidi-doc.pdf | Bin 176522 -> 176579 bytes macros/xetex/latex/bidi/bidi.dtx | 46 +- macros/xetex/latex/bidi/bidi.pdf | Bin 3469983 -> 3472681 bytes support/TeX4ht/source/ChangeLog | 9 + support/TeX4ht/source/Makefile | 2 +- support/TeX4ht/source/tex4ht-html4.tex | 17 +- .../texlive/tlnet/tlpkg/installer/ctan-mirrors.pl | 10 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb | 402 ++-- 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 2410688 -> 2411576 bytes systems/win32/miktex/tm/packages/next/pr.ini | 8 +- systems/win32/miktex/tm/packages/pr.ini | 8 +- tds | 1 + tds/ChangeLog | 312 --- tds/Makefile | 44 - tds/README | 19 - tds/README.html | 1 - tds/tds.aux | 61 - tds/tds.dvi | Bin 89212 -> 0 bytes tds/tds.html | 1997 -------------------- tds/tds.info | 1714 ----------------- tds/tds.pdf | Bin 195357 -> 0 bytes tds/tds.sed | 14 - tds/tds.tex | 1585 ---------------- tds/tds2texi.el | 577 ------ tds/tdsguide.cls | 845 --------- timestamp | 2 +- 236 files changed, 14997 insertions(+), 13844 deletions(-) create mode 100644 fonts/mintspirit/latex/LY1MintSpirit-Inf.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpirit-LF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpirit-OsF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpirit-Sup.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpirit-TLF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpirit-TOsF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpiritNoTwo-Inf.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpiritNoTwo-LF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpiritNoTwo-OsF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpiritNoTwo-Sup.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpiritNoTwo-TLF.fd create mode 100644 fonts/mintspirit/latex/LY1MintSpiritNoTwo-TOsF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpirit-Inf.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpirit-LF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpirit-OsF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpirit-Sup.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpirit-TLF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpirit-TOsF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpiritNoTwo-Inf.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpiritNoTwo-LF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpiritNoTwo-OsF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpiritNoTwo-Sup.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpiritNoTwo-TLF.fd create mode 100644 fonts/mintspirit/latex/OT1MintSpiritNoTwo-TOsF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpirit-Inf.fd create mode 100644 fonts/mintspirit/latex/T1MintSpirit-LF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpirit-OsF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpirit-Sup.fd create mode 100644 fonts/mintspirit/latex/T1MintSpirit-TLF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpirit-TOsF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpiritNoTwo-Inf.fd create mode 100644 fonts/mintspirit/latex/T1MintSpiritNoTwo-LF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpiritNoTwo-OsF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpiritNoTwo-Sup.fd create mode 100644 fonts/mintspirit/latex/T1MintSpiritNoTwo-TLF.fd create mode 100644 fonts/mintspirit/latex/T1MintSpiritNoTwo-TOsF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpirit-LF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpirit-OsF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpirit-TLF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpirit-TOsF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpiritNoTwo-LF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpiritNoTwo-OsF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpiritNoTwo-TLF.fd create mode 100644 fonts/mintspirit/latex/TS1MintSpiritNoTwo-TOsF.fd create mode 100644 fonts/mintspirit/latex/mintspirit.sty create mode 100644 fonts/mintspirit/latex/mintspirit2.sty create mode 100644 fonts/mintspirit/map/mintspirit.map delete mode 100644 fonts/mintspirit/tex/LY1MintSpirit-Inf.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpirit-LF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpirit-OsF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpirit-Sup.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpirit-TLF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpirit-TOsF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpiritNoTwo-Inf.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpiritNoTwo-LF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpiritNoTwo-OsF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpiritNoTwo-Sup.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpiritNoTwo-TLF.fd delete mode 100644 fonts/mintspirit/tex/LY1MintSpiritNoTwo-TOsF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpirit-Inf.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpirit-LF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpirit-OsF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpirit-Sup.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpirit-TLF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpirit-TOsF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpiritNoTwo-Inf.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpiritNoTwo-LF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpiritNoTwo-OsF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpiritNoTwo-Sup.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpiritNoTwo-TLF.fd delete mode 100644 fonts/mintspirit/tex/OT1MintSpiritNoTwo-TOsF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpirit-Inf.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpirit-LF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpirit-OsF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpirit-Sup.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpirit-TLF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpirit-TOsF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpiritNoTwo-Inf.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpiritNoTwo-LF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpiritNoTwo-OsF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpiritNoTwo-Sup.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpiritNoTwo-TLF.fd delete mode 100644 fonts/mintspirit/tex/T1MintSpiritNoTwo-TOsF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpirit-LF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpirit-OsF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpirit-TLF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpirit-TOsF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpiritNoTwo-LF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpiritNoTwo-OsF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpiritNoTwo-TLF.fd delete mode 100644 fonts/mintspirit/tex/TS1MintSpiritNoTwo-TOsF.fd delete mode 100644 fonts/mintspirit/tex/mintspirit.sty delete mode 100644 fonts/mintspirit/tex/mintspirit2.sty create mode 100644 info/tds/ChangeLog create mode 100644 info/tds/Makefile create mode 100644 info/tds/README create mode 120000 info/tds/README.html create mode 100644 info/tds/tds.aux create mode 100644 info/tds/tds.dvi create mode 100644 info/tds/tds.html create mode 100644 info/tds/tds.info create mode 100644 info/tds/tds.pdf create mode 100644 info/tds/tds.sed create mode 100644 info/tds/tds.tex create mode 100644 info/tds/tds2texi.el create mode 100644 info/tds/tdsguide.cls create mode 100644 macros/latex/contrib/abspos/LICENSE create mode 100644 macros/latex/contrib/abspos/README.md create mode 100644 macros/latex/contrib/abspos/abspos.dtx create mode 100644 macros/latex/contrib/abspos/abspos.pdf create mode 100644 macros/latex/contrib/abspos/demo.tex create mode 100644 macros/latex/contrib/blowup/blowup-ex6.pdf create mode 100644 macros/latex/contrib/blowup/blowup-ex6.tex create mode 100644 macros/latex/contrib/colorframed/README.md create mode 100644 macros/latex/contrib/colorframed/colorframed-doc.pdf create mode 100644 macros/latex/contrib/colorframed/colorframed-doc.tex create mode 100644 macros/latex/contrib/colorframed/colorframed.sty delete mode 100644 macros/latex/contrib/oberdiek/pagegrid.dtx delete mode 100644 macros/latex/contrib/oberdiek/pagegrid.pdf delete mode 100644 macros/latex/contrib/oberdiek/pdfcol.dtx delete mode 100644 macros/latex/contrib/oberdiek/pdfcol.pdf create mode 100644 macros/latex/contrib/pagegrid/README.md create mode 100644 macros/latex/contrib/pagegrid/pagegrid.dtx create mode 100644 macros/latex/contrib/pagegrid/pagegrid.pdf create mode 100644 macros/latex/contrib/pdfcol/README.md create mode 100644 macros/latex/contrib/pdfcol/pdfcol.dtx create mode 100644 macros/latex/contrib/pdfcol/pdfcol.pdf create mode 120000 tds delete mode 100644 tds/ChangeLog delete mode 100644 tds/Makefile delete mode 100644 tds/README delete mode 120000 tds/README.html delete mode 100644 tds/tds.aux delete mode 100644 tds/tds.dvi delete mode 100644 tds/tds.html delete mode 100644 tds/tds.info delete mode 100644 tds/tds.pdf delete mode 100644 tds/tds.sed delete mode 100644 tds/tds.tex delete mode 100644 tds/tds2texi.el delete mode 100644 tds/tdsguide.cls diff --git a/FILES.byname b/FILES.byname index 5836a2bb81..dee6792a91 100644 --- a/FILES.byname +++ b/FILES.byname @@ -5409,7 +5409,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/09/21 | 250955 | FILES.last07days +2022/09/22 | 231883 | 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 @@ -74621,12 +74621,12 @@ 2007/04/28 | 4531 | fonts/minionpro/README 2007/05/14 | 856 | fonts/minionpro/scripts.zip 2007/05/15 | 175305 | fonts/minionpro/source.zip -2013/11/02 | 19985 | fonts/mintspirit/doc/mintspirit2-samples.pdf -2013/11/02 | 768 | fonts/mintspirit/doc/mintspirit2-samples.tex -2011/12/13 | 221373 | fonts/mintspirit/doc/MintSpirit-Cat.pdf -2013/11/02 | 74900 | fonts/mintspirit/doc/mintspirit-samples.pdf -2013/11/02 | 761 | fonts/mintspirit/doc/mintspirit-samples.tex -2013/11/02 | 4599 | fonts/mintspirit/doc/OFL.txt +2013/11/03 | 19985 | fonts/mintspirit/doc/mintspirit2-samples.pdf +2013/11/03 | 768 | fonts/mintspirit/doc/mintspirit2-samples.tex +2011/12/14 | 221373 | fonts/mintspirit/doc/MintSpirit-Cat.pdf +2013/11/03 | 74900 | fonts/mintspirit/doc/mintspirit-samples.pdf +2013/11/03 | 761 | fonts/mintspirit/doc/mintspirit-samples.tex +2013/11/03 | 4599 | fonts/mintspirit/doc/OFL.txt 2013/11/02 | 3152 | fonts/mintspirit/enc/mntsprt2_24uybq.enc 2013/11/02 | 3298 | fonts/mintspirit/enc/mntsprt2_2dxuba.enc 2013/11/02 | 2993 | fonts/mintspirit/enc/mntsprt2_3vy5j3.enc @@ -74680,6 +74680,53 @@ 2013/11/02 | 2997 | fonts/mintspirit/enc/mntsprt_wk34ig.enc 2013/11/02 | 3105 | fonts/mintspirit/enc/mntsprt_y4xqha.enc 2013/11/02 | 2980 | fonts/mintspirit/enc/mntsprt_zt2pqo.enc +2013/11/02 | 1248 | fonts/mintspirit/latex/LY1MintSpirit-Inf.fd +2013/11/02 | 1227 | fonts/mintspirit/latex/LY1MintSpirit-LF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/LY1MintSpiritNoTwo-Inf.fd +2013/11/02 | 1364 | fonts/mintspirit/latex/LY1MintSpiritNoTwo-LF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/LY1MintSpiritNoTwo-OsF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/LY1MintSpiritNoTwo-Sup.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/LY1MintSpiritNoTwo-TLF.fd +2013/11/02 | 1406 | fonts/mintspirit/latex/LY1MintSpiritNoTwo-TOsF.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/LY1MintSpirit-OsF.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/LY1MintSpirit-Sup.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/LY1MintSpirit-TLF.fd +2013/11/02 | 1269 | fonts/mintspirit/latex/LY1MintSpirit-TOsF.fd +2022/09/21 | 7056 | fonts/mintspirit/latex/mintspirit2.sty +2022/09/21 | 6954 | fonts/mintspirit/latex/mintspirit.sty +2013/11/02 | 1248 | fonts/mintspirit/latex/OT1MintSpirit-Inf.fd +2013/11/02 | 1227 | fonts/mintspirit/latex/OT1MintSpirit-LF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/OT1MintSpiritNoTwo-Inf.fd +2013/11/02 | 1364 | fonts/mintspirit/latex/OT1MintSpiritNoTwo-LF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/OT1MintSpiritNoTwo-OsF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/OT1MintSpiritNoTwo-Sup.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/OT1MintSpiritNoTwo-TLF.fd +2013/11/02 | 1406 | fonts/mintspirit/latex/OT1MintSpiritNoTwo-TOsF.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/OT1MintSpirit-OsF.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/OT1MintSpirit-Sup.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/OT1MintSpirit-TLF.fd +2013/11/02 | 1269 | fonts/mintspirit/latex/OT1MintSpirit-TOsF.fd +2013/11/02 | 1232 | fonts/mintspirit/latex/T1MintSpirit-Inf.fd +2013/11/02 | 1211 | fonts/mintspirit/latex/T1MintSpirit-LF.fd +2013/11/02 | 1369 | fonts/mintspirit/latex/T1MintSpiritNoTwo-Inf.fd +2013/11/02 | 1348 | fonts/mintspirit/latex/T1MintSpiritNoTwo-LF.fd +2013/11/02 | 1369 | fonts/mintspirit/latex/T1MintSpiritNoTwo-OsF.fd +2013/11/02 | 1369 | fonts/mintspirit/latex/T1MintSpiritNoTwo-Sup.fd +2013/11/02 | 1369 | fonts/mintspirit/latex/T1MintSpiritNoTwo-TLF.fd +2013/11/02 | 1390 | fonts/mintspirit/latex/T1MintSpiritNoTwo-TOsF.fd +2013/11/02 | 1232 | fonts/mintspirit/latex/T1MintSpirit-OsF.fd +2013/11/02 | 1232 | fonts/mintspirit/latex/T1MintSpirit-Sup.fd +2013/11/02 | 1232 | fonts/mintspirit/latex/T1MintSpirit-TLF.fd +2013/11/02 | 1253 | fonts/mintspirit/latex/T1MintSpirit-TOsF.fd +2013/11/02 | 1227 | fonts/mintspirit/latex/TS1MintSpirit-LF.fd +2013/11/02 | 1364 | fonts/mintspirit/latex/TS1MintSpiritNoTwo-LF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/TS1MintSpiritNoTwo-OsF.fd +2013/11/02 | 1385 | fonts/mintspirit/latex/TS1MintSpiritNoTwo-TLF.fd +2013/11/02 | 1406 | fonts/mintspirit/latex/TS1MintSpiritNoTwo-TOsF.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/TS1MintSpirit-OsF.fd +2013/11/02 | 1248 | fonts/mintspirit/latex/TS1MintSpirit-TLF.fd +2013/11/02 | 1269 | fonts/mintspirit/latex/TS1MintSpirit-TOsF.fd +2013/11/02 | 26428 | fonts/mintspirit/map/mintspirit.map 2013/11/02 | 148424 | fonts/mintspirit/opentype/MintSpirit-BoldItalic.otf 2013/11/02 | 139060 | fonts/mintspirit/opentype/MintSpirit-Bold.otf 2013/11/02 | 137588 | fonts/mintspirit/opentype/MintSpirit-Italic.otf @@ -74688,53 +74735,7 @@ 2013/11/02 | 157284 | fonts/mintspirit/opentype/MintSpiritNo2-Italic.otf 2013/11/02 | 146696 | fonts/mintspirit/opentype/MintSpiritNo2-Regular.otf 2013/11/02 | 155932 | fonts/mintspirit/opentype/MintSpirit-Regular.otf -2013/11/02 | 2254 | fonts/mintspirit/README -2013/11/02 | 1248 | fonts/mintspirit/tex/LY1MintSpirit-Inf.fd -2013/11/02 | 1227 | fonts/mintspirit/tex/LY1MintSpirit-LF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/LY1MintSpiritNoTwo-Inf.fd -2013/11/02 | 1364 | fonts/mintspirit/tex/LY1MintSpiritNoTwo-LF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/LY1MintSpiritNoTwo-OsF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/LY1MintSpiritNoTwo-Sup.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/LY1MintSpiritNoTwo-TLF.fd -2013/11/02 | 1406 | fonts/mintspirit/tex/LY1MintSpiritNoTwo-TOsF.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/LY1MintSpirit-OsF.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/LY1MintSpirit-Sup.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/LY1MintSpirit-TLF.fd -2013/11/02 | 1269 | fonts/mintspirit/tex/LY1MintSpirit-TOsF.fd -2013/11/02 | 7090 | fonts/mintspirit/tex/mintspirit2.sty -2013/11/02 | 6988 | fonts/mintspirit/tex/mintspirit.sty -2013/11/02 | 1248 | fonts/mintspirit/tex/OT1MintSpirit-Inf.fd -2013/11/02 | 1227 | fonts/mintspirit/tex/OT1MintSpirit-LF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/OT1MintSpiritNoTwo-Inf.fd -2013/11/02 | 1364 | fonts/mintspirit/tex/OT1MintSpiritNoTwo-LF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/OT1MintSpiritNoTwo-OsF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/OT1MintSpiritNoTwo-Sup.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/OT1MintSpiritNoTwo-TLF.fd -2013/11/02 | 1406 | fonts/mintspirit/tex/OT1MintSpiritNoTwo-TOsF.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/OT1MintSpirit-OsF.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/OT1MintSpirit-Sup.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/OT1MintSpirit-TLF.fd -2013/11/02 | 1269 | fonts/mintspirit/tex/OT1MintSpirit-TOsF.fd -2013/11/02 | 1232 | fonts/mintspirit/tex/T1MintSpirit-Inf.fd -2013/11/02 | 1211 | fonts/mintspirit/tex/T1MintSpirit-LF.fd -2013/11/02 | 1369 | fonts/mintspirit/tex/T1MintSpiritNoTwo-Inf.fd -2013/11/02 | 1348 | fonts/mintspirit/tex/T1MintSpiritNoTwo-LF.fd -2013/11/02 | 1369 | fonts/mintspirit/tex/T1MintSpiritNoTwo-OsF.fd -2013/11/02 | 1369 | fonts/mintspirit/tex/T1MintSpiritNoTwo-Sup.fd -2013/11/02 | 1369 | fonts/mintspirit/tex/T1MintSpiritNoTwo-TLF.fd -2013/11/02 | 1390 | fonts/mintspirit/tex/T1MintSpiritNoTwo-TOsF.fd -2013/11/02 | 1232 | fonts/mintspirit/tex/T1MintSpirit-OsF.fd -2013/11/02 | 1232 | fonts/mintspirit/tex/T1MintSpirit-Sup.fd -2013/11/02 | 1232 | fonts/mintspirit/tex/T1MintSpirit-TLF.fd -2013/11/02 | 1253 | fonts/mintspirit/tex/T1MintSpirit-TOsF.fd -2013/11/02 | 1227 | fonts/mintspirit/tex/TS1MintSpirit-LF.fd -2013/11/02 | 1364 | fonts/mintspirit/tex/TS1MintSpiritNoTwo-LF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/TS1MintSpiritNoTwo-OsF.fd -2013/11/02 | 1385 | fonts/mintspirit/tex/TS1MintSpiritNoTwo-TLF.fd -2013/11/02 | 1406 | fonts/mintspirit/tex/TS1MintSpiritNoTwo-TOsF.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/TS1MintSpirit-OsF.fd -2013/11/02 | 1248 | fonts/mintspirit/tex/TS1MintSpirit-TLF.fd -2013/11/02 | 1269 | fonts/mintspirit/tex/TS1MintSpirit-TOsF.fd +2022/09/21 | 2254 | fonts/mintspirit/README 2013/11/02 | 1884 | fonts/mintspirit/tfm/MintSpirit-Bold-inf-ly1--base.tfm 2013/11/02 | 1888 | fonts/mintspirit/tfm/MintSpirit-Bold-inf-ly1.tfm 2013/11/02 | 1200 | fonts/mintspirit/tfm/MintSpirit-Bold-inf-ot1.tfm @@ -75175,7 +75176,7 @@ 2013/11/02 | 1736 | fonts/mintspirit/vf/MintSpirit-Regular-tosf-ly1.vf 2013/11/02 | 1772 | fonts/mintspirit/vf/MintSpirit-Regular-tosf-t1.vf 2013/11/02 | 584 | fonts/mintspirit/vf/MintSpirit-Regular-tosf-ts1.vf -2013/11/03 | 2647927 | fonts/mintspirit.zip +2022/09/22 | 2650835 | fonts/mintspirit.zip 2021/04/05 | 3700 | fonts/missaali/doc/missaali.bib 2021/04/05 | 149031 | fonts/missaali/doc/missaali.tex 2021/04/05 | 333228 | fonts/missaali/doc/pics/missale-largefont.png @@ -187679,6 +187680,19 @@ 1991/10/17 | 10992 | info/tcdmanual/pl_text.tex 1991/10/17 | 2238 | info/tcdmanual/pl_txtcs.tex 1993/11/24 | 1013 | info/tcdmanual/README +2004/06/23 | 9544 | info/tds/ChangeLog +2004/06/04 | 1209 | info/tds/Makefile +2004/04/04 | 14646 | info/tds/packages.zip +2013/12/14 | 736 | info/tds/README +2004/06/04 | 21618 | info/tds/tds2texi.el +2004/06/23 | 89212 | info/tds/tds.dvi +2004/03/28 | 25055 | info/tds/tdsguide.cls +2011/02/20 | 97499 | info/tds/tds.html +2004/06/23 | 67752 | info/tds/tds.info +2004/06/23 | 195357 | info/tds/tds.pdf +2004/06/04 | 404 | info/tds/tds.sed +2004/06/23 | 65418 | info/tds/tds.tex +2022/09/22 | 303233 | info/tds.zip 2009/08/26 | 1477 | info/templates/fenn/diabetes.tex 2009/08/26 | 1843 | info/templates/fenn/dinbrief.tex 2009/08/26 | 3382 | info/templates/fenn/kbrief.tex @@ -188899,7 +188913,7 @@ 2012/11/29 | 1501134 | install/fonts/mdsymbol.tds.zip 2022/09/20 | 9367094 | install/fonts/merriweather.tds.zip 2020/05/03 | 428983 | install/fonts/minion2newtx.tds.zip -2013/11/02 | 2698039 | install/fonts/mintspirit.tds.zip +2022/09/21 | 2698001 | install/fonts/mintspirit.tds.zip 2019/11/08 | 25067633 | install/fonts/montserrat.tds.zip 2021/08/30 | 6038058 | install/fonts/musixtex-fonts.tds.zip 2020/02/15 | 441366 | install/fonts/newtxtt.tds.zip @@ -189156,7 +189170,7 @@ 2016/06/07 | 215651 | install/macros/latex/contrib/he-she.tds.zip 2011/04/29 | 449052 | install/macros/latex/contrib/hrefhide.tds.zip 2016/11/20 | 951051 | install/macros/latex/contrib/hustthesis.tds.zip -2022/06/20 | 4480542 | install/macros/latex/contrib/hyperref.tds.zip +2022/09/22 | 4483419 | install/macros/latex/contrib/hyperref.tds.zip 2020/11/22 | 1380823 | install/macros/latex/contrib/hyperxmp.tds.zip 2009/09/02 | 167274 | install/macros/latex/contrib/hyphenat.tds.zip 2009/04/05 | 198256 | install/macros/latex/contrib/IEEEconf.tds.zip @@ -189235,7 +189249,7 @@ 2016/03/22 | 162114 | install/macros/latex/contrib/normalcolor.tds.zip 2011/09/20 | 179685 | install/macros/latex/contrib/nowidow.tds.zip 2022/09/21 | 8078630 | install/macros/latex/contrib/nwejm.tds.zip -2021/11/16 | 13455928 | install/macros/latex/contrib/oberdiek.tds.zip +2022/09/22 | 12773767 | install/macros/latex/contrib/oberdiek.tds.zip 2022/08/04 | 34729 | install/macros/latex/contrib/ocgx2.tds.zip 2012/12/08 | 1025300 | install/macros/latex/contrib/ocgx.tds.zip 2017/05/29 | 424133 | install/macros/latex/contrib/pagecolor.tds.zip @@ -189377,7 +189391,7 @@ 2020/01/31 | 1873940 | install/macros/unicodetex/latex/unicode-math.tds.zip 2016/05/14 | 185871 | install/macros/xetex/generic/zhspacing.tds.zip 2015/09/04 | 718623 | install/macros/xetex/latex/arabxetex.tds.zip -2022/07/18 | 4698846 | install/macros/xetex/latex/bidi.tds.zip +2022/09/22 | 4699084 | install/macros/xetex/latex/bidi.tds.zip 2015/02/17 | 92757 | install/macros/xetex/latex/interchar.tds.zip 2021/08/19 | 464024 | install/macros/xetex/latex/mynsfc.tds.zip 2022/08/05 | 2009524 | install/macros/xetex/latex/xecjk.tds.zip @@ -205752,6 +205766,12 @@ 2021/04/01 | 11737 | macros/latex/contrib/abraces/abraces.sty 2021/04/03 | 641 | macros/latex/contrib/abraces/README.md 2021/04/04 | 238178 | macros/latex/contrib/abraces.zip +2022/09/22 | 21408 | macros/latex/contrib/abspos/abspos.dtx +2022/09/22 | 452109 | macros/latex/contrib/abspos/abspos.pdf +2022/09/22 | 1217 | macros/latex/contrib/abspos/demo.tex +2022/09/22 | 1082 | macros/latex/contrib/abspos/LICENSE +2022/09/22 | 611 | macros/latex/contrib/abspos/README.md +2022/09/22 | 449474 | macros/latex/contrib/abspos.zip 2009/09/02 | 26626 | macros/latex/contrib/abstract/abstract.dtx 2009/09/02 | 2373 | macros/latex/contrib/abstract/abstract.ins 2009/09/02 | 168527 | macros/latex/contrib/abstract/abstract.pdf @@ -210242,21 +210262,23 @@ 1999/07/19 | 844 | macros/latex/contrib/block/block.sty 2010/02/15 | 548 | macros/latex/contrib/block/block.tex 2010/02/16 | 61505 | macros/latex/contrib/block.zip -2022/09/19 | 16106 | macros/latex/contrib/blowup/blowup.dtx -2022/09/20 | 33365 | macros/latex/contrib/blowup/blowup-ex1.pdf +2022/09/22 | 17078 | macros/latex/contrib/blowup/blowup.dtx +2022/09/22 | 33365 | macros/latex/contrib/blowup/blowup-ex1.pdf 2022/09/20 | 1273 | macros/latex/contrib/blowup/blowup-ex1.tex -2022/09/19 | 33377 | macros/latex/contrib/blowup/blowup-ex2.pdf +2022/09/22 | 33377 | macros/latex/contrib/blowup/blowup-ex2.pdf 2022/09/19 | 1263 | macros/latex/contrib/blowup/blowup-ex2.tex -2022/09/20 | 34010 | macros/latex/contrib/blowup/blowup-ex3.pdf +2022/09/22 | 34010 | macros/latex/contrib/blowup/blowup-ex3.pdf 2022/09/20 | 1384 | macros/latex/contrib/blowup/blowup-ex3.tex -2022/09/19 | 12537 | macros/latex/contrib/blowup/blowup-ex4.pdf +2022/09/22 | 12537 | macros/latex/contrib/blowup/blowup-ex4.pdf 2022/09/19 | 1276 | macros/latex/contrib/blowup/blowup-ex4.tex -2022/09/19 | 20246 | macros/latex/contrib/blowup/blowup-ex5.pdf +2022/09/22 | 20246 | macros/latex/contrib/blowup/blowup-ex5.pdf 2022/09/19 | 695 | macros/latex/contrib/blowup/blowup-ex5.tex +2022/09/22 | 33734 | macros/latex/contrib/blowup/blowup-ex6.pdf +2022/09/22 | 1304 | macros/latex/contrib/blowup/blowup-ex6.tex 2022/09/19 | 1131 | macros/latex/contrib/blowup/blowup.ins -2022/09/19 | 196888 | macros/latex/contrib/blowup/blowup.pdf +2022/09/22 | 199133 | macros/latex/contrib/blowup/blowup.pdf 2022/09/19 | 485 | macros/latex/contrib/blowup/README.md -2022/09/20 | 330781 | macros/latex/contrib/blowup.zip +2022/09/22 | 366926 | macros/latex/contrib/blowup.zip 2022/01/24 | 3861 | macros/latex/contrib/bmstu/bmstu.cls 2022/01/23 | 877742 | macros/latex/contrib/bmstu/examples/examples.pdf 2022/01/23 | 11590 | macros/latex/contrib/bmstu/examples/examples.tex @@ -211992,6 +212014,11 @@ 2020/09/19 | 246330 | macros/latex/contrib/color-edits/color-edits.pdf 2020/10/18 | 817 | macros/latex/contrib/color-edits/README.md 2020/10/19 | 239582 | macros/latex/contrib/color-edits.zip +2022/09/22 | 17300 | macros/latex/contrib/colorframed/colorframed-doc.pdf +2022/09/22 | 9385 | macros/latex/contrib/colorframed/colorframed-doc.tex +2022/09/22 | 5736 | macros/latex/contrib/colorframed/colorframed.sty +2022/09/22 | 1632 | macros/latex/contrib/colorframed/README.md +2022/09/22 | 24141 | macros/latex/contrib/colorframed.zip 2003/05/04 | 6383 | macros/latex/contrib/colorinfo/colorinfo.sty 2003/05/04 | 1266 | macros/latex/contrib/colorinfo/colorinfo-test.tex 2003/05/04 | 264 | macros/latex/contrib/colorinfo/README @@ -219319,39 +219346,39 @@ 2010/03/06 | 1833 | macros/latex/contrib/hypernat/hypernat.tex 2010/03/06 | 187989 | macros/latex/contrib/hypernat.zip 1999/03/09 | 1563 | macros/latex/contrib/hyper/README -2022/06/20 | 28408 | macros/latex/contrib/hyperref/backref.dtx -2022/06/20 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty -2022/06/20 | 121484 | macros/latex/contrib/hyperref/ChangeLog.txt -2022/06/20 | 206288 | macros/latex/contrib/hyperref/doc/backref.pdf -2022/06/20 | 908 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html -2022/06/20 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html -2022/06/20 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html -2022/06/20 | 858 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html -2022/06/20 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html -2022/06/20 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html -2022/06/20 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc8.html -2022/06/20 | 15322 | macros/latex/contrib/hyperref/doc/hyperref-doc.css -2022/06/20 | 517192 | macros/latex/contrib/hyperref/doc/hyperref-doc.html -2022/06/20 | 318190 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf -2022/06/20 | 165612 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex -2022/06/20 | 404106 | macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf -2022/06/20 | 2368225 | macros/latex/contrib/hyperref/doc/hyperref.pdf -2022/06/20 | 180063 | macros/latex/contrib/hyperref/doc/nameref.pdf -2022/06/20 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf -2022/06/20 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf -2022/06/20 | 50187 | macros/latex/contrib/hyperref/hluatex.dtx -2022/06/20 | 878564 | macros/latex/contrib/hyperref/hyperref.dtx -2022/06/20 | 5086 | macros/latex/contrib/hyperref/hyperref.ins -2022/06/20 | 19455 | macros/latex/contrib/hyperref/hyperref-linktarget.dtx -2022/06/20 | 7543 | macros/latex/contrib/hyperref/hyperref-patches.dtx -2022/06/20 | 1929 | macros/latex/contrib/hyperref/manifest.txt -2022/06/20 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty -2022/06/20 | 27164 | macros/latex/contrib/hyperref/nameref.dtx -2022/06/20 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty -2022/06/20 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip -2022/06/20 | 4479 | macros/latex/contrib/hyperref/README.md -2022/06/20 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty -2022/06/20 | 4299617 | macros/latex/contrib/hyperref.zip +2022/09/22 | 28408 | macros/latex/contrib/hyperref/backref.dtx +2022/09/22 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty +2022/09/22 | 121484 | macros/latex/contrib/hyperref/ChangeLog.txt +2022/09/22 | 205447 | macros/latex/contrib/hyperref/doc/backref.pdf +2022/09/22 | 908 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html +2022/09/22 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html +2022/09/22 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html +2022/09/22 | 858 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html +2022/09/22 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html +2022/09/22 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html +2022/09/22 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc8.html +2022/09/22 | 15322 | macros/latex/contrib/hyperref/doc/hyperref-doc.css +2022/09/22 | 517185 | macros/latex/contrib/hyperref/doc/hyperref-doc.html +2022/09/22 | 318245 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf +2022/09/22 | 165602 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex +2022/09/22 | 443137 | macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf +2022/09/22 | 2367878 | macros/latex/contrib/hyperref/doc/hyperref.pdf +2022/09/22 | 180076 | macros/latex/contrib/hyperref/doc/nameref.pdf +2022/09/22 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf +2022/09/22 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf +2022/09/22 | 50695 | macros/latex/contrib/hyperref/hluatex.dtx +2022/09/22 | 879564 | macros/latex/contrib/hyperref/hyperref.dtx +2022/09/22 | 5086 | macros/latex/contrib/hyperref/hyperref.ins +2022/09/22 | 19445 | macros/latex/contrib/hyperref/hyperref-linktarget.dtx +2022/09/22 | 7536 | macros/latex/contrib/hyperref/hyperref-patches.dtx +2022/09/22 | 1929 | macros/latex/contrib/hyperref/manifest.txt +2022/09/22 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty +2022/09/22 | 27164 | macros/latex/contrib/hyperref/nameref.dtx +2022/09/22 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty +2022/09/22 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip +2022/09/22 | 4479 | macros/latex/contrib/hyperref/README.md +2022/09/22 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty +2022/09/22 | 4302568 | macros/latex/contrib/hyperref.zip 1997/08/24 | 1034 | macros/latex/contrib/hyper/scontrib/harvard.hyp 1997/08/24 | 297 | macros/latex/contrib/hyper/scontrib/README 1997/08/24 | 1381 | macros/latex/contrib/hyper/TODO @@ -224475,91 +224502,87 @@ 2022/09/21 | 223025 | macros/latex/contrib/nwejm/source/nwejm.dtx 2022/09/21 | 24810 | macros/latex/contrib/nwejm/source/nwejm-examples-template.dtx 2022/09/21 | 2074701 | macros/latex/contrib/nwejm.zip -2021/11/16 | 16535 | macros/latex/contrib/oberdiek/aliascnt.dtx -2021/11/16 | 321516 | macros/latex/contrib/oberdiek/aliascnt.pdf -2021/11/16 | 106085 | macros/latex/contrib/oberdiek/bmpsize.dtx -2021/11/16 | 527470 | macros/latex/contrib/oberdiek/bmpsize.pdf -2021/11/16 | 15084 | macros/latex/contrib/oberdiek/centernot.dtx -2021/11/16 | 304615 | macros/latex/contrib/oberdiek/centernot.pdf -2021/11/16 | 13772 | macros/latex/contrib/oberdiek/chemarr.dtx -2021/11/16 | 318401 | macros/latex/contrib/oberdiek/chemarr.pdf -2021/11/16 | 16633 | macros/latex/contrib/oberdiek/classlist.dtx -2021/11/16 | 298535 | macros/latex/contrib/oberdiek/classlist.pdf -2021/11/16 | 16564 | macros/latex/contrib/oberdiek/colonequals.dtx -2021/11/16 | 312343 | macros/latex/contrib/oberdiek/colonequals.pdf -2021/11/16 | 14185 | macros/latex/contrib/oberdiek/dvipscol.dtx -2021/11/16 | 297204 | macros/latex/contrib/oberdiek/dvipscol.pdf -2021/11/16 | 24106 | macros/latex/contrib/oberdiek/engord.dtx -2021/11/16 | 348190 | macros/latex/contrib/oberdiek/engord.pdf -2021/11/16 | 26109 | macros/latex/contrib/oberdiek/enparen.dtx -2021/11/16 | 332722 | macros/latex/contrib/oberdiek/enparen.pdf -2021/11/16 | 25097 | macros/latex/contrib/oberdiek/eolgrab.dtx -2021/11/16 | 347153 | macros/latex/contrib/oberdiek/eolgrab.pdf -2021/11/16 | 25810 | macros/latex/contrib/oberdiek/fibnum.dtx -2021/11/16 | 387720 | macros/latex/contrib/oberdiek/fibnum.pdf -2021/11/16 | 16789 | macros/latex/contrib/oberdiek/flags.dtx -2021/11/16 | 311494 | macros/latex/contrib/oberdiek/flags.pdf -2021/11/16 | 21668 | macros/latex/contrib/oberdiek/holtxdoc.dtx -2021/11/16 | 333938 | macros/latex/contrib/oberdiek/holtxdoc.pdf -2021/11/16 | 25146 | macros/latex/contrib/oberdiek/hypbmsec.dtx -2021/11/16 | 317700 | macros/latex/contrib/oberdiek/hypbmsec.pdf -2021/11/16 | 21476 | macros/latex/contrib/oberdiek/hypcap.dtx -2021/11/16 | 311506 | macros/latex/contrib/oberdiek/hypcap.pdf -2021/11/16 | 18053 | macros/latex/contrib/oberdiek/hypgotoe.dtx -2021/11/16 | 313547 | macros/latex/contrib/oberdiek/hypgotoe.pdf -2021/11/16 | 21343 | macros/latex/contrib/oberdiek/hyphsubst.dtx -2021/11/16 | 328581 | macros/latex/contrib/oberdiek/hyphsubst.pdf -2021/11/16 | 15169 | macros/latex/contrib/oberdiek/ifdraft.dtx -2021/11/16 | 292584 | macros/latex/contrib/oberdiek/ifdraft.pdf -2021/11/16 | 25308 | macros/latex/contrib/oberdiek/iflang.dtx -2021/11/16 | 343995 | macros/latex/contrib/oberdiek/iflang.pdf -2021/11/16 | 6851 | macros/latex/contrib/oberdiek/oberdiek-bundle.bib -2021/11/16 | 2225 | macros/latex/contrib/oberdiek/oberdiek.ins -2021/11/16 | 287792 | macros/latex/contrib/oberdiek/oberdiek.pdf -2021/11/16 | 938 | macros/latex/contrib/oberdiek/oberdiek-source.bib -2021/11/16 | 18023 | macros/latex/contrib/oberdiek/oberdiek.tex -2021/11/16 | 28136 | macros/latex/contrib/oberdiek/pagegrid.dtx -2021/11/16 | 339405 | macros/latex/contrib/oberdiek/pagegrid.pdf -2021/11/16 | 26484 | macros/latex/contrib/oberdiek/pdfcol.dtx -2021/11/16 | 19329 | macros/latex/contrib/oberdiek/pdfcolfoot.dtx -2021/11/16 | 322874 | macros/latex/contrib/oberdiek/pdfcolfoot.pdf -2021/11/16 | 26994 | macros/latex/contrib/oberdiek/pdfcolparallel.dtx -2021/11/16 | 348875 | macros/latex/contrib/oberdiek/pdfcolparallel.pdf -2021/11/16 | 20819 | macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx -2021/11/16 | 336532 | macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf -2021/11/16 | 330483 | macros/latex/contrib/oberdiek/pdfcol.pdf -2021/11/16 | 27847 | macros/latex/contrib/oberdiek/pdfcrypt.dtx -2021/11/16 | 338513 | macros/latex/contrib/oberdiek/pdfcrypt.pdf -2021/11/16 | 46934 | macros/latex/contrib/oberdiek/pdfrender.dtx -2021/11/16 | 413812 | macros/latex/contrib/oberdiek/pdfrender.pdf -2021/11/16 | 20812 | macros/latex/contrib/oberdiek/protecteddef.dtx -2021/11/16 | 337274 | macros/latex/contrib/oberdiek/protecteddef.pdf -2021/11/16 | 2907 | macros/latex/contrib/oberdiek/README.md -2021/11/16 | 24780 | macros/latex/contrib/oberdiek/resizegather.dtx -2021/11/16 | 544212 | macros/latex/contrib/oberdiek/resizegather.pdf -2021/11/16 | 25691 | macros/latex/contrib/oberdiek/rotchiffre.dtx -2021/11/16 | 346420 | macros/latex/contrib/oberdiek/rotchiffre.pdf -2021/11/16 | 19267 | macros/latex/contrib/oberdiek/scrindex.dtx -2021/11/16 | 310490 | macros/latex/contrib/oberdiek/scrindex.pdf -2021/11/16 | 29459 | macros/latex/contrib/oberdiek/setouterhbox.dtx -2021/11/16 | 358759 | macros/latex/contrib/oberdiek/setouterhbox.pdf -2021/11/16 | 20045 | macros/latex/contrib/oberdiek/settobox.dtx -2021/11/16 | 321296 | macros/latex/contrib/oberdiek/settobox.pdf -2021/11/16 | 13782 | macros/latex/contrib/oberdiek/stackrel.dtx -2021/11/16 | 310478 | macros/latex/contrib/oberdiek/stackrel.pdf -2021/11/16 | 18499 | macros/latex/contrib/oberdiek/stampinclude.dtx -2021/11/16 | 304678 | macros/latex/contrib/oberdiek/stampinclude.pdf -2021/11/16 | 31131 | macros/latex/contrib/oberdiek/tabularht.dtx -2021/11/16 | 359643 | macros/latex/contrib/oberdiek/tabularht.pdf -2021/11/16 | 13344 | macros/latex/contrib/oberdiek/tabularkv.dtx -2021/11/16 | 281059 | macros/latex/contrib/oberdiek/tabularkv.pdf -2021/11/16 | 24890 | macros/latex/contrib/oberdiek/telprint.dtx -2021/11/16 | 331215 | macros/latex/contrib/oberdiek/telprint.pdf -2021/11/16 | 32949 | macros/latex/contrib/oberdiek/thepdfnumber.dtx -2021/11/16 | 378179 | macros/latex/contrib/oberdiek/thepdfnumber.pdf -2021/11/16 | 16829 | macros/latex/contrib/oberdiek/twoopt.dtx -2021/11/16 | 301605 | macros/latex/contrib/oberdiek/twoopt.pdf -2021/11/16 | 13339140 | macros/latex/contrib/oberdiek.zip +2022/09/22 | 16535 | macros/latex/contrib/oberdiek/aliascnt.dtx +2022/09/22 | 321657 | macros/latex/contrib/oberdiek/aliascnt.pdf +2022/09/22 | 106085 | macros/latex/contrib/oberdiek/bmpsize.dtx +2022/09/22 | 525985 | macros/latex/contrib/oberdiek/bmpsize.pdf +2022/09/22 | 15084 | macros/latex/contrib/oberdiek/centernot.dtx +2022/09/22 | 304534 | macros/latex/contrib/oberdiek/centernot.pdf +2022/09/22 | 13772 | macros/latex/contrib/oberdiek/chemarr.dtx +2022/09/22 | 318493 | macros/latex/contrib/oberdiek/chemarr.pdf +2022/09/22 | 16633 | macros/latex/contrib/oberdiek/classlist.dtx +2022/09/22 | 298078 | macros/latex/contrib/oberdiek/classlist.pdf +2022/09/22 | 16564 | macros/latex/contrib/oberdiek/colonequals.dtx +2022/09/22 | 311534 | macros/latex/contrib/oberdiek/colonequals.pdf +2022/09/22 | 14185 | macros/latex/contrib/oberdiek/dvipscol.dtx +2022/09/22 | 297228 | macros/latex/contrib/oberdiek/dvipscol.pdf +2022/09/22 | 24106 | macros/latex/contrib/oberdiek/engord.dtx +2022/09/22 | 347366 | macros/latex/contrib/oberdiek/engord.pdf +2022/09/22 | 26109 | macros/latex/contrib/oberdiek/enparen.dtx +2022/09/22 | 332202 | macros/latex/contrib/oberdiek/enparen.pdf +2022/09/22 | 25097 | macros/latex/contrib/oberdiek/eolgrab.dtx +2022/09/22 | 346537 | macros/latex/contrib/oberdiek/eolgrab.pdf +2022/09/22 | 25810 | macros/latex/contrib/oberdiek/fibnum.dtx +2022/09/22 | 387260 | macros/latex/contrib/oberdiek/fibnum.pdf +2022/09/22 | 16789 | macros/latex/contrib/oberdiek/flags.dtx +2022/09/22 | 311396 | macros/latex/contrib/oberdiek/flags.pdf +2022/09/22 | 21668 | macros/latex/contrib/oberdiek/holtxdoc.dtx +2022/09/22 | 333755 | macros/latex/contrib/oberdiek/holtxdoc.pdf +2022/09/22 | 25146 | macros/latex/contrib/oberdiek/hypbmsec.dtx +2022/09/22 | 317468 | macros/latex/contrib/oberdiek/hypbmsec.pdf +2022/09/22 | 21476 | macros/latex/contrib/oberdiek/hypcap.dtx +2022/09/22 | 310807 | macros/latex/contrib/oberdiek/hypcap.pdf +2022/09/22 | 18053 | macros/latex/contrib/oberdiek/hypgotoe.dtx +2022/09/22 | 313704 | macros/latex/contrib/oberdiek/hypgotoe.pdf +2022/09/22 | 21343 | macros/latex/contrib/oberdiek/hyphsubst.dtx +2022/09/22 | 328769 | macros/latex/contrib/oberdiek/hyphsubst.pdf +2022/09/22 | 15169 | macros/latex/contrib/oberdiek/ifdraft.dtx +2022/09/22 | 292649 | macros/latex/contrib/oberdiek/ifdraft.pdf +2022/09/22 | 25308 | macros/latex/contrib/oberdiek/iflang.dtx +2022/09/22 | 344764 | macros/latex/contrib/oberdiek/iflang.pdf +2022/09/22 | 6527 | macros/latex/contrib/oberdiek/oberdiek-bundle.bib +2022/09/22 | 2175 | macros/latex/contrib/oberdiek/oberdiek.ins +2022/09/22 | 283212 | macros/latex/contrib/oberdiek/oberdiek.pdf +2022/09/22 | 938 | macros/latex/contrib/oberdiek/oberdiek-source.bib +2022/09/22 | 17303 | macros/latex/contrib/oberdiek/oberdiek.tex +2022/09/22 | 19329 | macros/latex/contrib/oberdiek/pdfcolfoot.dtx +2022/09/22 | 322160 | macros/latex/contrib/oberdiek/pdfcolfoot.pdf +2022/09/22 | 26994 | macros/latex/contrib/oberdiek/pdfcolparallel.dtx +2022/09/22 | 348845 | macros/latex/contrib/oberdiek/pdfcolparallel.pdf +2022/09/22 | 20819 | macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx +2022/09/22 | 336519 | macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf +2022/09/22 | 27847 | macros/latex/contrib/oberdiek/pdfcrypt.dtx +2022/09/22 | 337856 | macros/latex/contrib/oberdiek/pdfcrypt.pdf +2022/09/22 | 46934 | macros/latex/contrib/oberdiek/pdfrender.dtx +2022/09/22 | 413780 | macros/latex/contrib/oberdiek/pdfrender.pdf +2022/09/22 | 20812 | macros/latex/contrib/oberdiek/protecteddef.dtx +2022/09/22 | 336484 | macros/latex/contrib/oberdiek/protecteddef.pdf +2022/09/22 | 2794 | macros/latex/contrib/oberdiek/README.md +2022/09/22 | 24780 | macros/latex/contrib/oberdiek/resizegather.dtx +2022/09/22 | 543577 | macros/latex/contrib/oberdiek/resizegather.pdf +2022/09/22 | 25691 | macros/latex/contrib/oberdiek/rotchiffre.dtx +2022/09/22 | 345334 | macros/latex/contrib/oberdiek/rotchiffre.pdf +2022/09/22 | 19267 | macros/latex/contrib/oberdiek/scrindex.dtx +2022/09/22 | 309280 | macros/latex/contrib/oberdiek/scrindex.pdf +2022/09/22 | 29459 | macros/latex/contrib/oberdiek/setouterhbox.dtx +2022/09/22 | 358526 | macros/latex/contrib/oberdiek/setouterhbox.pdf +2022/09/22 | 20045 | macros/latex/contrib/oberdiek/settobox.dtx +2022/09/22 | 321364 | macros/latex/contrib/oberdiek/settobox.pdf +2022/09/22 | 13782 | macros/latex/contrib/oberdiek/stackrel.dtx +2022/09/22 | 310389 | macros/latex/contrib/oberdiek/stackrel.pdf +2022/09/22 | 18499 | macros/latex/contrib/oberdiek/stampinclude.dtx +2022/09/22 | 304747 | macros/latex/contrib/oberdiek/stampinclude.pdf +2022/09/22 | 31131 | macros/latex/contrib/oberdiek/tabularht.dtx +2022/09/22 | 359286 | macros/latex/contrib/oberdiek/tabularht.pdf +2022/09/22 | 13344 | macros/latex/contrib/oberdiek/tabularkv.dtx +2022/09/22 | 280511 | macros/latex/contrib/oberdiek/tabularkv.pdf +2022/09/22 | 24890 | macros/latex/contrib/oberdiek/telprint.dtx +2022/09/22 | 331191 | macros/latex/contrib/oberdiek/telprint.pdf +2022/09/22 | 32949 | macros/latex/contrib/oberdiek/thepdfnumber.dtx +2022/09/22 | 377480 | macros/latex/contrib/oberdiek/thepdfnumber.pdf +2022/09/22 | 16829 | macros/latex/contrib/oberdiek/twoopt.dtx +2022/09/22 | 301492 | macros/latex/contrib/oberdiek/twoopt.pdf +2022/09/22 | 12663274 | macros/latex/contrib/oberdiek.zip 1997/01/07 | 192 | macros/latex/contrib/objectz/catalog 1996/08/06 | 79 | macros/latex/contrib/objectz/makefile 1997/01/07 | 448 | macros/latex/contrib/objectz/manifest @@ -224939,6 +224962,10 @@ 2009/05/26 | 82436 | macros/latex/contrib/pagecont/pagecont.pdf 2009/05/26 | 169 | macros/latex/contrib/pagecont/README 2009/05/26 | 77405 | macros/latex/contrib/pagecont.zip +2022/09/22 | 27488 | macros/latex/contrib/pagegrid/pagegrid.dtx +2022/09/22 | 337475 | macros/latex/contrib/pagegrid/pagegrid.pdf +2022/09/22 | 252 | macros/latex/contrib/pagegrid/README.md +2022/09/22 | 333189 | macros/latex/contrib/pagegrid.zip 1998/09/23 | 10073 | macros/latex/contrib/pageno/pageno.dtx 1998/09/23 | 1573 | macros/latex/contrib/pageno/pageno.ins 2012/05/29 | 84419 | macros/latex/contrib/pageno/pageno.pdf @@ -225700,6 +225727,10 @@ 2019/11/23 | 700 | macros/latex/contrib/pdfcolmk/pdfcolmk.sty 2019/11/23 | 240 | macros/latex/contrib/pdfcolmk/README.md 2019/11/24 | 904 | macros/latex/contrib/pdfcolmk.zip +2022/09/22 | 24435 | macros/latex/contrib/pdfcol/pdfcol.dtx +2022/09/22 | 326142 | macros/latex/contrib/pdfcol/pdfcol.pdf +2022/09/22 | 510 | macros/latex/contrib/pdfcol/README.md +2022/09/22 | 321810 | macros/latex/contrib/pdfcol.zip 2018/11/01 | 12361 | macros/latex/contrib/pdfcomment/doc/CHANGES 2018/11/01 | 34411 | macros/latex/contrib/pdfcomment/doc/example_latex_dvipdfmx.pdf 2018/11/01 | 11526 | macros/latex/contrib/pdfcomment/doc/example_latex_dvipdfmx.tex @@ -226831,21 +226862,21 @@ 2022/04/26 | 323 | macros/latex/contrib/proflabo/README.md 2022/04/26 | 9327 | macros/latex/contrib/proflabo/tex/ProfLabo.sty 2022/04/26 | 136164 | macros/latex/contrib/proflabo.zip -2022/09/03 | 32 | macros/latex/contrib/proflycee/doc/basique.csv -2022/09/03 | 968 | macros/latex/contrib/proflycee/doc/cap.csv +2022/09/22 | 32 | macros/latex/contrib/proflycee/doc/basique.csv +2022/09/22 | 968 | macros/latex/contrib/proflycee/doc/cap.csv 2022/06/28 | 9278 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_a.png 2022/06/28 | 13958 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_b.png 2022/06/28 | 9989 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_c2.png 2022/06/28 | 11759 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_c.png 2022/06/28 | 7316 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_d.png 2022/06/28 | 9599 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_e.png -2022/09/03 | 736 | macros/latex/contrib/proflycee/doc/perroquet.csv -2022/09/03 | 816736 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf -2022/09/03 | 148604 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex -2022/09/03 | 529 | macros/latex/contrib/proflycee/doc/testscript.py +2022/09/22 | 736 | macros/latex/contrib/proflycee/doc/perroquet.csv +2022/09/22 | 834268 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +2022/09/22 | 154962 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +2022/09/22 | 529 | macros/latex/contrib/proflycee/doc/testscript.py 2022/08/10 | 439 | macros/latex/contrib/proflycee/README.md -2022/09/03 | 68656 | macros/latex/contrib/proflycee/tex/ProfLycee.sty -2022/09/04 | 904793 | macros/latex/contrib/proflycee.zip +2022/09/22 | 73094 | macros/latex/contrib/proflycee/tex/ProfLycee.sty +2022/09/22 | 924290 | macros/latex/contrib/proflycee.zip 1996/02/05 | 1760 | macros/latex/contrib/progkeys/demo/demo.tex 1996/02/05 | 459 | macros/latex/contrib/progkeys/demo/prog1.tex 1996/02/05 | 347 | macros/latex/contrib/progkeys/demo/prog2.tex @@ -228929,13 +228960,13 @@ 2019/12/10 | 24550 | macros/latex/contrib/selinput/selinput.dtx 2019/12/10 | 537307 | macros/latex/contrib/selinput/selinput.pdf 2019/12/11 | 541126 | macros/latex/contrib/selinput.zip -2021/08/23 | 1660 | macros/latex/contrib/semantex/README.md -2021/08/23 | 385165 | macros/latex/contrib/semantex/semantex.pdf -2021/08/23 | 318470 | macros/latex/contrib/semantex/semantex.sty -2021/08/23 | 178126 | macros/latex/contrib/semantex/semantex.tex -2021/08/23 | 12086 | macros/latex/contrib/semantex/stripsemantex.lua -2021/08/23 | 4730 | macros/latex/contrib/semantex/stripsemantex.sty -2021/08/23 | 442658 | macros/latex/contrib/semantex.zip +2021/06/10 | 1660 | macros/latex/contrib/semantex/README.md +2022/09/22 | 389783 | macros/latex/contrib/semantex/semantex.pdf +2022/09/22 | 293839 | macros/latex/contrib/semantex/semantex.sty +2022/09/22 | 179731 | macros/latex/contrib/semantex/semantex.tex +2022/09/22 | 11960 | macros/latex/contrib/semantex/stripsemantex.lua +2022/09/22 | 4736 | macros/latex/contrib/semantex/stripsemantex.sty +2022/09/22 | 446522 | macros/latex/contrib/semantex.zip 2020/01/29 | 1014 | macros/latex/contrib/semantic-markup/README 2020/01/29 | 266707 | macros/latex/contrib/semantic-markup/semantic-markup.pdf 2020/01/29 | 4666 | macros/latex/contrib/semantic-markup/semantic-markup.sty @@ -240531,7 +240562,7 @@ 2022/01/10 | 22769 | macros/texinfo/latest/htmlxref.cnf 2022/04/08 | 58497 | macros/texinfo/latest/texi2dvi 2021/07/03 | 1163 | macros/texinfo/latest/texi2pdf -2022/09/18 | 375073 | macros/texinfo/latest/texinfo.tex +2022/09/21 | 375196 | macros/texinfo/latest/texinfo.tex 2021/02/09 | 67 | macros/texinfo/texinfo/ABOUT-NLS 2021/07/03 | 46407 | macros/texinfo/texinfo/aclocal.m4 2019/12/01 | 2201 | macros/texinfo/texinfo/AUTHORS @@ -246728,20 +246759,20 @@ 2022/02/13 | 29260 | macros/xetex/latex/bidi-atbegshi/test-RTL.pdf 2022/02/13 | 586 | macros/xetex/latex/bidi-atbegshi/test-RTL.tex 2022/02/13 | 192092 | macros/xetex/latex/bidi-atbegshi.zip -2022/07/18 | 2936 | macros/xetex/latex/bidi/bidi-bibitem.pdf -2022/07/18 | 1396 | macros/xetex/latex/bidi/bidi-doc-intro.ltx -2022/07/18 | 23131 | macros/xetex/latex/bidi/bidi-doc-latex-basics.ltx -2022/07/18 | 4547 | macros/xetex/latex/bidi/bidi-doc-latex-pkgs.ltx -2022/07/18 | 6101 | macros/xetex/latex/bidi/bidi-doc-latex-pkgsupport.ltx -2022/07/18 | 4497 | macros/xetex/latex/bidi/bidi-doc-latex-programming.ltx -2022/07/18 | 534 | macros/xetex/latex/bidi/bidi-doc.ltx -2022/07/18 | 176522 | macros/xetex/latex/bidi/bidi-doc.pdf -2022/07/18 | 5823 | macros/xetex/latex/bidi/bidi-doc-plain-basics.ltx -2022/07/18 | 1961 | macros/xetex/latex/bidi/bidi-doc-plain-programming.ltx -2022/07/18 | 3596 | macros/xetex/latex/bidi/bidi-doc-preamble.ltx -2022/07/18 | 2108 | macros/xetex/latex/bidi/bidi-doc-title.ltx -2022/07/18 | 1022961 | macros/xetex/latex/bidi/bidi.dtx -2022/07/18 | 3469983 | macros/xetex/latex/bidi/bidi.pdf +2022/09/22 | 2936 | macros/xetex/latex/bidi/bidi-bibitem.pdf +2022/09/22 | 1396 | macros/xetex/latex/bidi/bidi-doc-intro.ltx +2022/09/22 | 23131 | macros/xetex/latex/bidi/bidi-doc-latex-basics.ltx +2022/09/22 | 4547 | macros/xetex/latex/bidi/bidi-doc-latex-pkgs.ltx +2022/09/22 | 6101 | macros/xetex/latex/bidi/bidi-doc-latex-pkgsupport.ltx +2022/09/22 | 4497 | macros/xetex/latex/bidi/bidi-doc-latex-programming.ltx +2022/09/22 | 534 | macros/xetex/latex/bidi/bidi-doc.ltx +2022/09/22 | 176579 | macros/xetex/latex/bidi/bidi-doc.pdf +2022/09/22 | 5823 | macros/xetex/latex/bidi/bidi-doc-plain-basics.ltx +2022/09/22 | 1961 | macros/xetex/latex/bidi/bidi-doc-plain-programming.ltx +2022/09/22 | 3596 | macros/xetex/latex/bidi/bidi-doc-preamble.ltx +2022/09/22 | 2108 | macros/xetex/latex/bidi/bidi-doc-title.ltx +2022/09/22 | 1023370 | macros/xetex/latex/bidi/bidi.dtx +2022/09/22 | 3472681 | macros/xetex/latex/bidi/bidi.pdf 2014/07/16 | 22035 | macros/xetex/latex/bidicontour/bidicontour-doc.pdf 2014/07/15 | 1803 | macros/xetex/latex/bidicontour/bidicontour-doc.tex 2014/07/15 | 7167 | macros/xetex/latex/bidicontour/bidicontour-example-copies.pdf @@ -246751,7 +246782,7 @@ 2014/07/15 | 4087 | macros/xetex/latex/bidicontour/bidicontour.sty 2014/07/15 | 1071 | macros/xetex/latex/bidicontour/README 2014/07/16 | 38915 | macros/xetex/latex/bidicontour.zip -2022/07/18 | 761651 | macros/xetex/latex/bidi/gull.jpg +2022/09/22 | 761651 | macros/xetex/latex/bidi/gull.jpg 2015/07/07 | 24129 | macros/xetex/latex/bidihl/bidihl-doc.pdf 2015/07/06 | 1029 | macros/xetex/latex/bidihl/bidihl-doc.tex 2015/07/06 | 7245 | macros/xetex/latex/bidihl/bidihl.sty @@ -246764,7 +246795,7 @@ 2014/07/15 | 13019 | macros/xetex/latex/bidipagegrid/bidipagegrid.sty 2014/07/15 | 1068 | macros/xetex/latex/bidipagegrid/README 2014/07/16 | 29164 | macros/xetex/latex/bidipagegrid.zip -2022/07/18 | 1693 | macros/xetex/latex/bidi/picture.jpg +2022/09/22 | 1693 | macros/xetex/latex/bidi/picture.jpg 2014/09/25 | 25208 | macros/xetex/latex/bidipresentation/bidiprescolors.cfg 2014/09/25 | 159986 | macros/xetex/latex/bidipresentation/bidipresentation.cls 2014/09/25 | 2479 | macros/xetex/latex/bidipresentation/fig-1.pdf @@ -246772,14 +246803,14 @@ 2014/09/26 | 75608 | macros/xetex/latex/bidipresentation/sample.pdf 2014/09/25 | 12758 | macros/xetex/latex/bidipresentation/sample.tex 2014/09/26 | 107612 | macros/xetex/latex/bidipresentation.zip -2022/07/18 | 1323 | macros/xetex/latex/bidi/README +2022/09/22 | 1323 | macros/xetex/latex/bidi/README 2014/07/16 | 18289 | macros/xetex/latex/bidishadowtext/bidishadowtext-demo.pdf 2014/07/16 | 1203 | macros/xetex/latex/bidishadowtext/bidishadowtext-demo.tex 2014/07/16 | 101629 | macros/xetex/latex/bidishadowtext/bidishadowtext-doc.pdf 2014/07/16 | 1667 | macros/xetex/latex/bidishadowtext/bidishadowtext-doc.tex 2014/07/16 | 2436 | macros/xetex/latex/bidishadowtext/bidishadowtext.sty 2014/07/16 | 120948 | macros/xetex/latex/bidishadowtext.zip -2022/07/18 | 4280226 | macros/xetex/latex/bidi.zip +2022/09/22 | 4280312 | macros/xetex/latex/bidi.zip 2022/07/29 | 101124 | macros/xetex/latex/buctthesis/buctthesis.dtx 2022/03/06 | 2415 | macros/xetex/latex/buctthesis/buctthesis.ins 2022/07/29 | 462539 | macros/xetex/latex/buctthesis/buctthesis.pdf @@ -279544,10 +279575,10 @@ 1993/07/19 | 61321 | systems/mac/macmakeindex.sit.hqx 2022/03/17 | 47 | systems/mac/mactex/BasicTeX.pkg.md5 2022/03/17 | 143 | systems/mac/mactex/BasicTeX.pkg.sha512 -2022/09/17 | 38148 | systems/mac/mactex/ExtrasFolder.pdf +2022/09/21 | 38091 | systems/mac/mactex/ExtrasFolder.pdf 2022/03/17 | 50 | systems/mac/mactex/Ghostscript.pkg.md5 2022/03/17 | 146 | systems/mac/mactex/Ghostscript.pkg.sha512 -2022/09/17 | 1612 | systems/mac/mactex/Licenses.txt +2022/09/21 | 1612 | systems/mac/mactex/Licenses.txt 2022/03/21 | 4961582623 | systems/mac/mactex/mactex-20220321.pkg 2022/03/21 | 54 | systems/mac/mactex/mactex-20220321.pkg.md5 2022/03/21 | 150 | systems/mac/mactex/mactex-20220321.pkg.sha512 @@ -279557,13 +279588,13 @@ 2022/02/28 | 55345960 | systems/mac/mactex/mactex-ghostscript-9.55-20220208.pkg 2022/02/28 | 71 | systems/mac/mactex/mactex-ghostscript-9.55-20220208.pkg.md5 2022/03/17 | 167 | systems/mac/mactex/mactex-ghostscript-9.55-20220208.pkg.sha512 -2022/09/17 | 524704420 | systems/mac/mactex/mactex-MacTeXtras-20220917.zip -2022/09/17 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220917.zip.md5 -2022/09/17 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220917.zip.sha512 +2022/09/21 | 524715789 | systems/mac/mactex/mactex-MacTeXtras-20220921.zip +2022/09/21 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220921.zip.md5 +2022/09/21 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220921.zip.sha512 2022/03/21 | 45 | systems/mac/mactex/MacTeX.pkg.md5 2022/03/21 | 141 | systems/mac/mactex/MacTeX.pkg.sha512 -2022/09/17 | 49 | systems/mac/mactex/MacTeXtras.zip.md5 -2022/09/17 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512 +2022/09/21 | 49 | systems/mac/mactex/MacTeXtras.zip.md5 +2022/09/21 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512 2022/04/03 | 189 | systems/mac/mactex/README 1995/08/15 | 308344 | systems/mac/MakeIndex-Fat-1.0-sit.hqx 1994/04/20 | 2925109 | systems/mac/metafont/bluesky/MAC_MF_0.66.sit.hqx @@ -281943,7 +281974,7 @@ 2020/04/22 | 5992 | systems/texlive/tlnet/archive/bearwear.source.r54826.tar.xz 2022/09/04 | 476940 | systems/texlive/tlnet/archive/beaulivre.doc.r64280.tar.xz 2022/09/04 | 4628 | systems/texlive/tlnet/archive/beaulivre.r64280.tar.xz -2022/05/27 | 890924 | systems/texlive/tlnet/archive/beebe.r63404.tar.xz +2022/09/22 | 892072 | systems/texlive/tlnet/archive/beebe.r64457.tar.xz 2022/05/08 | 785552 | systems/texlive/tlnet/archive/begingreek.doc.r63255.tar.xz 2022/05/08 | 1808 | systems/texlive/tlnet/archive/begingreek.r63255.tar.xz 2022/05/08 | 7856 | systems/texlive/tlnet/archive/begingreek.source.r63255.tar.xz @@ -283547,8 +283578,8 @@ 2019/02/28 | 215628 | systems/texlive/tlnet/archive/crosswrd.doc.r16896.tar.xz 2019/02/28 | 3616 | systems/texlive/tlnet/archive/crosswrd.r16896.tar.xz 2019/02/28 | 19500 | systems/texlive/tlnet/archive/crosswrd.source.r16896.tar.xz -2021/09/14 | 348924 | systems/texlive/tlnet/archive/crumbs.doc.r60499.tar.xz -2021/09/14 | 2104 | systems/texlive/tlnet/archive/crumbs.r60499.tar.xz +2022/09/22 | 355320 | systems/texlive/tlnet/archive/crumbs.doc.r64458.tar.xz +2022/09/22 | 2152 | systems/texlive/tlnet/archive/crumbs.r64458.tar.xz 2021/08/16 | 1046800 | systems/texlive/tlnet/archive/cryptocode.doc.r60249.tar.xz 2021/08/16 | 21648 | systems/texlive/tlnet/archive/cryptocode.r60249.tar.xz 2021/08/16 | 50996 | systems/texlive/tlnet/archive/cryptocode.source.r60249.tar.xz @@ -292570,7 +292601,7 @@ 2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz -2022/09/21 | 421324 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64449.tar.xz +2022/09/22 | 421324 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64457.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 @@ -292594,7 +292625,7 @@ 2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz -2022/09/21 | 113620 | systems/texlive/tlnet/archive/texlive-scripts.r64449.tar.xz +2022/09/22 | 113660 | systems/texlive/tlnet/archive/texlive-scripts.r64457.tar.xz 2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz 2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz @@ -294433,16 +294464,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/07/17 | 124404 | systems/texlive/tlnet/install-tl -2022/09/21 | 5831657 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/09/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/09/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/09/22 | 5832966 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/09/22 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/09/22 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2022/09/21 | 20436496 | systems/texlive/tlnet/install-tl-windows.exe -2022/09/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/09/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/09/21 | 25516562 | systems/texlive/tlnet/install-tl.zip -2022/09/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/09/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/09/22 | 20434886 | systems/texlive/tlnet/install-tl-windows.exe +2022/09/22 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/09/22 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/09/22 | 25516606 | systems/texlive/tlnet/install-tl.zip +2022/09/22 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/09/22 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2022/04/03 | 1229 | systems/texlive/tlnet/README.md 2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022 2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -294452,7 +294483,7 @@ 2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2022/09/12 | 49769 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2022/09/20 | 7069 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/09/21 | 7318 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/07/21 | 222477 | 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 @@ -294495,12 +294526,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/09/21 | 17649169 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/09/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/09/22 | 17649169 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/09/22 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2022/09/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/09/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/09/21 | 2410128 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/09/22 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/09/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/09/22 | 2410688 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2022/09/14 | 58922 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2022/08/01 | 42206 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -299843,7 +299874,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/09/21 | 662791 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/09/22 | 662791 | 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 @@ -301538,9 +301569,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2022/08/27 | 43640 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2022/09/21 | 293307 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/09/21 | 1492680 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/09/21 | 1372714 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/09/22 | 293301 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/09/22 | 1491811 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/09/22 | 1372594 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2022/08/27 | 14450 | 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 @@ -301785,102 +301816,102 @@ 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/09/21 | 662652 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/09/21 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2022/09/21 | 1161750 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/09/21 | 31586 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/09/21 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/09/21 | 65131 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/09/21 | 95469 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2022/09/21 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/09/21 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2022/09/21 | 394144 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2022/09/21 | 37050 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2022/09/21 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/09/21 | 270468 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2022/09/21 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2022/09/21 | 103245 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2022/09/21 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/09/21 | 481894 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/09/21 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2022/09/21 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/09/21 | 45796 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/09/21 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2022/09/21 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/09/21 | 112980 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/09/21 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2022/09/21 | 28511 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/09/21 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/09/21 | 155429 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/09/21 | 79064 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2022/09/21 | 81449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2022/09/21 | 295946 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2022/09/21 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2022/09/21 | 112879 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2022/09/21 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/09/21 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2022/09/21 | 43890 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2022/09/21 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2022/09/21 | 247208 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/09/21 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2022/09/21 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2022/09/21 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2022/09/21 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2022/09/21 | 682215 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/09/21 | 599103 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/09/21 | 527569 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/09/21 | 103597 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/09/21 | 2023133 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2022/09/21 | 74100 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2022/09/21 | 32074 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2022/09/21 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2022/09/21 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2022/09/21 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2022/09/21 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2022/09/21 | 140013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2022/09/21 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2022/09/21 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2022/09/21 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2022/09/21 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2022/09/21 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/09/21 | 48037 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2022/09/21 | 52370 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/09/21 | 213846 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/09/21 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2022/09/21 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2022/09/21 | 203420 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/09/21 | 245150 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/09/21 | 88482 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/09/21 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2022/09/21 | 23949 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2022/09/21 | 37502 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/09/21 | 72978 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/09/21 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/09/21 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/09/21 | 1503051 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/09/21 | 52626 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/09/21 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/09/21 | 27464 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/09/21 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/09/21 | 70937 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2022/09/21 | 173176 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/09/21 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2022/09/21 | 107436 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/09/21 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2022/09/21 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2022/09/21 | 41191 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/09/21 | 33862 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/09/21 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/09/21 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/09/21 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/09/21 | 630435 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/09/21 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2022/09/21 | 293337 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/09/21 | 1490714 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/09/21 | 1372067 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2022/09/21 | 14433 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/09/22 | 662652 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/09/22 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/09/22 | 1161753 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/09/22 | 31588 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/09/22 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/09/22 | 65132 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/09/22 | 95469 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/09/22 | 77212 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/09/22 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/09/22 | 394144 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/09/22 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/09/22 | 57505 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/09/22 | 270467 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/09/22 | 196214 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/09/22 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/09/22 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/09/22 | 481895 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/09/22 | 52038 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/09/22 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/09/22 | 45796 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/09/22 | 135466 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/09/22 | 1458150 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/09/22 | 112979 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/09/22 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/09/22 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/09/22 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/09/22 | 155433 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/09/22 | 79066 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/09/22 | 81450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/09/22 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/09/22 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/09/22 | 112880 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/09/22 | 73264 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/09/22 | 115580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/09/22 | 43890 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/09/22 | 565082 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/09/22 | 247209 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/09/22 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/09/22 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/09/22 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/09/22 | 30572 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/09/22 | 682216 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/09/22 | 599107 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/09/22 | 527569 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/09/22 | 103600 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/09/22 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/09/22 | 74100 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/09/22 | 32075 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/09/22 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/09/22 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/09/22 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/09/22 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/09/22 | 140014 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/09/22 | 325484 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/09/22 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/09/22 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/09/22 | 35232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/09/22 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/09/22 | 48039 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/09/22 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/09/22 | 213849 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/09/22 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/09/22 | 824996 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/09/22 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/09/22 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/09/22 | 88485 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/09/22 | 1323744 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/09/22 | 23952 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/09/22 | 37507 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/09/22 | 72980 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/09/22 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/09/22 | 769651 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/09/22 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/09/22 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/09/22 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/09/22 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/09/22 | 18512 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/09/22 | 70940 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/09/22 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/09/22 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/09/22 | 107438 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/09/22 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/09/22 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/09/22 | 41191 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/09/22 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/09/22 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/09/22 | 352465 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/09/22 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/09/22 | 630432 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/09/22 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/09/22 | 293291 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/09/22 | 1491175 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/09/22 | 1372763 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/09/22 | 14433 | 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/09/21 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini +2022/09/22 | 1172 | 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 @@ -302372,7 +302403,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/09/21 | 974 | systems/win32/miktex/tm/packages/pr.ini +2022/09/22 | 974 | 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 @@ -304330,21 +304361,7 @@ 2014/07/05 | 611 | systems/win32/yandy/README 2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz 2014/07/05 | 1012416 | systems/win32/yandy.zip -2004/06/23 | 9544 | tds/ChangeLog -2004/06/04 | 1209 | tds/Makefile -2004/04/04 | 14646 | tds/packages.zip -2013/12/14 | 736 | tds/README -2004/06/04 | 21618 | tds/tds2texi.el -2004/06/23 | 4607 | tds/tds.aux -2004/06/23 | 89212 | tds/tds.dvi -2004/03/28 | 25055 | tds/tdsguide.cls -2011/02/20 | 97499 | tds/tds.html -2004/06/23 | 67752 | tds/tds.info -2004/06/23 | 195357 | tds/tds.pdf -2004/06/04 | 404 | tds/tds.sed -2004/06/23 | 65418 | tds/tds.tex -2019/05/29 | 304264 | tds.zip -2022/09/22 | 186 | timestamp +2022/09/23 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz index f3d98dba7e..6ce15bfebf 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ diff --git a/FILES.last07days b/FILES.last07days index d934e92a43..b5c042a67a 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,197 +1,393 @@ -2022/09/21 | 974 | systems/win32/miktex/tm/packages/pr.ini -2022/09/21 | 95469 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/09/22 | 974 | systems/win32/miktex/tm/packages/pr.ini +2022/09/22 | 968 | macros/latex/contrib/proflycee/doc/cap.csv +2022/09/22 | 95469 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/09/22 | 938 | macros/latex/contrib/oberdiek/oberdiek-source.bib +2022/09/22 | 9385 | macros/latex/contrib/colorframed/colorframed-doc.tex +2022/09/22 | 924290 | macros/latex/contrib/proflycee.zip +2022/09/22 | 908 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html +2022/09/22 | 892072 | systems/texlive/tlnet/archive/beebe.r64457.tar.xz +2022/09/22 | 88485 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/09/22 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/09/22 | 879564 | macros/latex/contrib/hyperref/hyperref.dtx +2022/09/22 | 858 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html +2022/09/22 | 834268 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +2022/09/22 | 824996 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/09/22 | 81450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/09/22 | 79066 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/09/22 | 77212 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/09/22 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html +2022/09/22 | 769651 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/09/22 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc8.html +2022/09/22 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html +2022/09/22 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html +2022/09/22 | 761651 | macros/xetex/latex/bidi/gull.jpg +2022/09/22 | 7536 | macros/latex/contrib/hyperref/hyperref-patches.dtx +2022/09/22 | 74100 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/09/22 | 736 | macros/latex/contrib/proflycee/doc/perroquet.csv +2022/09/22 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/09/22 | 73264 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/09/22 | 73094 | macros/latex/contrib/proflycee/tex/ProfLycee.sty +2022/09/22 | 72980 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/09/22 | 70940 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/09/22 | 682216 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/09/22 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/09/22 | 662791 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/09/22 | 662652 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/09/22 | 6527 | macros/latex/contrib/oberdiek/oberdiek-bundle.bib +2022/09/22 | 65132 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/09/22 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/09/22 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/09/22 | 630432 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/09/22 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/09/22 | 611 | macros/latex/contrib/abspos/README.md +2022/09/22 | 6101 | macros/xetex/latex/bidi/bidi-doc-latex-pkgsupport.ltx +2022/09/22 | 599107 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/09/22 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/09/22 | 5832966 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/09/22 | 5823 | macros/xetex/latex/bidi/bidi-doc-plain-basics.ltx +2022/09/22 | 57505 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/09/22 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/09/22 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty +2022/09/22 | 5736 | macros/latex/contrib/colorframed/colorframed.sty +2022/09/22 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/09/22 | 565082 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/09/22 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/09/22 | 543577 | macros/latex/contrib/oberdiek/resizegather.pdf +2022/09/22 | 534 | macros/xetex/latex/bidi/bidi-doc.ltx +2022/09/22 | 529 | macros/latex/contrib/proflycee/doc/testscript.py +2022/09/22 | 527569 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/09/22 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/09/22 | 525985 | macros/latex/contrib/oberdiek/bmpsize.pdf +2022/09/22 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/09/22 | 52038 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/09/22 | 517185 | macros/latex/contrib/hyperref/doc/hyperref-doc.html +2022/09/22 | 510 | macros/latex/contrib/pdfcol/README.md +2022/09/22 | 5086 | macros/latex/contrib/hyperref/hyperref.ins +2022/09/22 | 50695 | macros/latex/contrib/hyperref/hluatex.dtx +2022/09/22 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/09/22 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/09/22 | 481895 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/09/22 | 48039 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/09/22 | 4736 | macros/latex/contrib/semantex/stripsemantex.sty +2022/09/22 | 4699084 | install/macros/xetex/latex/bidi.tds.zip +2022/09/22 | 46934 | macros/latex/contrib/oberdiek/pdfrender.dtx +2022/09/22 | 45796 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/09/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/09/22 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/09/22 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/09/22 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/09/22 | 4547 | macros/xetex/latex/bidi/bidi-doc-latex-pkgs.ltx +2022/09/22 | 452109 | macros/latex/contrib/abspos/abspos.pdf +2022/09/22 | 4497 | macros/xetex/latex/bidi/bidi-doc-latex-programming.ltx +2022/09/22 | 449474 | macros/latex/contrib/abspos.zip +2022/09/22 | 4483419 | install/macros/latex/contrib/hyperref.tds.zip +2022/09/22 | 4479 | macros/latex/contrib/hyperref/README.md +2022/09/22 | 446522 | macros/latex/contrib/semantex.zip +2022/09/22 | 443137 | macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf +2022/09/22 | 43890 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/09/22 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/09/22 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/09/22 | 4302568 | macros/latex/contrib/hyperref.zip +2022/09/22 | 4280312 | macros/xetex/latex/bidi.zip +2022/09/22 | 421324 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64457.tar.xz +2022/09/22 | 413780 | macros/latex/contrib/oberdiek/pdfrender.pdf +2022/09/22 | 41191 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/09/22 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/09/22 | 394144 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/09/22 | 389783 | macros/latex/contrib/semantex/semantex.pdf +2022/09/22 | 387260 | macros/latex/contrib/oberdiek/fibnum.pdf +2022/09/22 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf +2022/09/22 | 377480 | macros/latex/contrib/oberdiek/thepdfnumber.pdf +2022/09/22 | 37507 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/09/22 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/09/22 | 366926 | macros/latex/contrib/blowup.zip +2022/09/22 | 3596 | macros/xetex/latex/bidi/bidi-doc-preamble.ltx +2022/09/22 | 359286 | macros/latex/contrib/oberdiek/tabularht.pdf +2022/09/22 | 358526 | macros/latex/contrib/oberdiek/setouterhbox.pdf +2022/09/22 | 355320 | systems/texlive/tlnet/archive/crumbs.doc.r64458.tar.xz +2022/09/22 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/09/22 | 352465 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/09/22 | 35232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/09/22 | 348845 | macros/latex/contrib/oberdiek/pdfcolparallel.pdf +2022/09/22 | 347366 | macros/latex/contrib/oberdiek/engord.pdf +2022/09/22 | 3472681 | macros/xetex/latex/bidi/bidi.pdf +2022/09/22 | 346537 | macros/latex/contrib/oberdiek/eolgrab.pdf +2022/09/22 | 345334 | macros/latex/contrib/oberdiek/rotchiffre.pdf +2022/09/22 | 344764 | macros/latex/contrib/oberdiek/iflang.pdf +2022/09/22 | 34010 | macros/latex/contrib/blowup/blowup-ex3.pdf +2022/09/22 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/09/22 | 337856 | macros/latex/contrib/oberdiek/pdfcrypt.pdf +2022/09/22 | 337475 | macros/latex/contrib/pagegrid/pagegrid.pdf +2022/09/22 | 33734 | macros/latex/contrib/blowup/blowup-ex6.pdf +2022/09/22 | 336519 | macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf +2022/09/22 | 336484 | macros/latex/contrib/oberdiek/protecteddef.pdf +2022/09/22 | 33377 | macros/latex/contrib/blowup/blowup-ex2.pdf +2022/09/22 | 333755 | macros/latex/contrib/oberdiek/holtxdoc.pdf +2022/09/22 | 33365 | macros/latex/contrib/blowup/blowup-ex1.pdf +2022/09/22 | 333189 | macros/latex/contrib/pagegrid.zip +2022/09/22 | 332202 | macros/latex/contrib/oberdiek/enparen.pdf +2022/09/22 | 331191 | macros/latex/contrib/oberdiek/telprint.pdf +2022/09/22 | 32 | macros/latex/contrib/proflycee/doc/basique.csv +2022/09/22 | 32949 | macros/latex/contrib/oberdiek/thepdfnumber.dtx +2022/09/22 | 328769 | macros/latex/contrib/oberdiek/hyphsubst.pdf +2022/09/22 | 326142 | macros/latex/contrib/pdfcol/pdfcol.pdf +2022/09/22 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/09/22 | 325484 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/09/22 | 322160 | macros/latex/contrib/oberdiek/pdfcolfoot.pdf +2022/09/22 | 321810 | macros/latex/contrib/pdfcol.zip +2022/09/22 | 321657 | macros/latex/contrib/oberdiek/aliascnt.pdf +2022/09/22 | 321364 | macros/latex/contrib/oberdiek/settobox.pdf +2022/09/22 | 32075 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/09/22 | 318493 | macros/latex/contrib/oberdiek/chemarr.pdf +2022/09/22 | 318245 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf +2022/09/22 | 317468 | macros/latex/contrib/oberdiek/hypbmsec.pdf +2022/09/22 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty +2022/09/22 | 31588 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/09/22 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/09/22 | 313704 | macros/latex/contrib/oberdiek/hypgotoe.pdf +2022/09/22 | 311534 | macros/latex/contrib/oberdiek/colonequals.pdf +2022/09/22 | 311396 | macros/latex/contrib/oberdiek/flags.pdf +2022/09/22 | 31131 | macros/latex/contrib/oberdiek/tabularht.dtx +2022/09/22 | 310807 | macros/latex/contrib/oberdiek/hypcap.pdf +2022/09/22 | 310389 | macros/latex/contrib/oberdiek/stackrel.pdf +2022/09/22 | 309280 | macros/latex/contrib/oberdiek/scrindex.pdf +2022/09/22 | 30572 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/09/22 | 304747 | macros/latex/contrib/oberdiek/stampinclude.pdf +2022/09/22 | 304534 | macros/latex/contrib/oberdiek/centernot.pdf +2022/09/22 | 303233 | info/tds.zip +2022/09/22 | 301492 | macros/latex/contrib/oberdiek/twoopt.pdf +2022/09/22 | 298078 | macros/latex/contrib/oberdiek/classlist.pdf +2022/09/22 | 297228 | macros/latex/contrib/oberdiek/dvipscol.pdf +2022/09/22 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/09/22 | 29459 | macros/latex/contrib/oberdiek/setouterhbox.dtx +2022/09/22 | 293839 | macros/latex/contrib/semantex/semantex.sty +2022/09/22 | 2936 | macros/xetex/latex/bidi/bidi-bibitem.pdf +2022/09/22 | 293301 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/09/22 | 293291 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/09/22 | 292649 | macros/latex/contrib/oberdiek/ifdraft.pdf +2022/09/22 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/09/22 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/09/22 | 28408 | macros/latex/contrib/hyperref/backref.dtx +2022/09/22 | 283212 | macros/latex/contrib/oberdiek/oberdiek.pdf +2022/09/22 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/09/22 | 280511 | macros/latex/contrib/oberdiek/tabularkv.pdf +2022/09/22 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty +2022/09/22 | 2794 | macros/latex/contrib/oberdiek/README.md +2022/09/22 | 27847 | macros/latex/contrib/oberdiek/pdfcrypt.dtx +2022/09/22 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty +2022/09/22 | 27488 | macros/latex/contrib/pagegrid/pagegrid.dtx +2022/09/22 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/09/22 | 27164 | macros/latex/contrib/hyperref/nameref.dtx +2022/09/22 | 270467 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/09/22 | 26994 | macros/latex/contrib/oberdiek/pdfcolparallel.dtx +2022/09/22 | 2650835 | fonts/mintspirit.zip +2022/09/22 | 26109 | macros/latex/contrib/oberdiek/enparen.dtx +2022/09/22 | 25810 | macros/latex/contrib/oberdiek/fibnum.dtx +2022/09/22 | 25691 | macros/latex/contrib/oberdiek/rotchiffre.dtx +2022/09/22 | 25516606 | systems/texlive/tlnet/install-tl.zip +2022/09/22 | 25308 | macros/latex/contrib/oberdiek/iflang.dtx +2022/09/22 | 252 | macros/latex/contrib/pagegrid/README.md +2022/09/22 | 25146 | macros/latex/contrib/oberdiek/hypbmsec.dtx +2022/09/22 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/09/22 | 25097 | macros/latex/contrib/oberdiek/eolgrab.dtx +2022/09/22 | 24890 | macros/latex/contrib/oberdiek/telprint.dtx +2022/09/22 | 24780 | macros/latex/contrib/oberdiek/resizegather.dtx +2022/09/22 | 247209 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/09/22 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip +2022/09/22 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/09/22 | 24435 | macros/latex/contrib/pdfcol/pdfcol.dtx +2022/09/22 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/09/22 | 24141 | macros/latex/contrib/colorframed.zip +2022/09/22 | 24106 | macros/latex/contrib/oberdiek/engord.dtx +2022/09/22 | 2410688 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/09/22 | 23952 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/09/22 | 2367878 | macros/latex/contrib/hyperref/doc/hyperref.pdf +2022/09/22 | 23131 | macros/xetex/latex/bidi/bidi-doc-latex-basics.ltx +2022/09/22 | 2175 | macros/latex/contrib/oberdiek/oberdiek.ins +2022/09/22 | 21668 | macros/latex/contrib/oberdiek/holtxdoc.dtx +2022/09/22 | 2152 | systems/texlive/tlnet/archive/crumbs.r64458.tar.xz +2022/09/22 | 21476 | macros/latex/contrib/oberdiek/hypcap.dtx +2022/09/22 | 21408 | macros/latex/contrib/abspos/abspos.dtx +2022/09/22 | 213849 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/09/22 | 21343 | macros/latex/contrib/oberdiek/hyphsubst.dtx +2022/09/22 | 2108 | macros/xetex/latex/bidi/bidi-doc-title.ltx +2022/09/22 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/09/22 | 20819 | macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx +2022/09/22 | 20812 | macros/latex/contrib/oberdiek/protecteddef.dtx +2022/09/22 | 205447 | macros/latex/contrib/hyperref/doc/backref.pdf +2022/09/22 | 20434886 | systems/texlive/tlnet/install-tl-windows.exe +2022/09/22 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/09/22 | 20246 | macros/latex/contrib/blowup/blowup-ex5.pdf +2022/09/22 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/09/22 | 20045 | macros/latex/contrib/oberdiek/settobox.dtx +2022/09/22 | 199133 | macros/latex/contrib/blowup/blowup.pdf +2022/09/22 | 196214 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/09/22 | 1961 | macros/xetex/latex/bidi/bidi-doc-plain-programming.ltx +2022/09/22 | 19445 | macros/latex/contrib/hyperref/hyperref-linktarget.dtx +2022/09/22 | 19329 | macros/latex/contrib/oberdiek/pdfcolfoot.dtx +2022/09/22 | 1929 | macros/latex/contrib/hyperref/manifest.txt +2022/09/22 | 19267 | macros/latex/contrib/oberdiek/scrindex.dtx +2022/09/22 | 18512 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/09/22 | 18499 | macros/latex/contrib/oberdiek/stampinclude.dtx +2022/09/22 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/09/22 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/09/22 | 18053 | macros/latex/contrib/oberdiek/hypgotoe.dtx +2022/09/22 | 180076 | macros/latex/contrib/hyperref/doc/nameref.pdf +2022/09/22 | 179731 | macros/latex/contrib/semantex/semantex.tex +2022/09/22 | 176579 | macros/xetex/latex/bidi/bidi-doc.pdf +2022/09/22 | 17649169 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/09/22 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/09/22 | 17303 | macros/latex/contrib/oberdiek/oberdiek.tex +2022/09/22 | 17300 | macros/latex/contrib/colorframed/colorframed-doc.pdf +2022/09/22 | 17078 | macros/latex/contrib/blowup/blowup.dtx +2022/09/22 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/09/22 | 1693 | macros/xetex/latex/bidi/picture.jpg +2022/09/22 | 16829 | macros/latex/contrib/oberdiek/twoopt.dtx +2022/09/22 | 16789 | macros/latex/contrib/oberdiek/flags.dtx +2022/09/22 | 16633 | macros/latex/contrib/oberdiek/classlist.dtx +2022/09/22 | 16564 | macros/latex/contrib/oberdiek/colonequals.dtx +2022/09/22 | 165602 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex +2022/09/22 | 16535 | macros/latex/contrib/oberdiek/aliascnt.dtx +2022/09/22 | 1632 | macros/latex/contrib/colorframed/README.md +2022/09/22 | 155433 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/09/22 | 154962 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +2022/09/22 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/09/22 | 15322 | macros/latex/contrib/hyperref/doc/hyperref-doc.css +2022/09/22 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/09/22 | 15169 | macros/latex/contrib/oberdiek/ifdraft.dtx +2022/09/22 | 15084 | macros/latex/contrib/oberdiek/centernot.dtx +2022/09/22 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/09/22 | 1491811 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/09/22 | 1491175 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/09/22 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/09/22 | 1458150 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/09/22 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/09/22 | 14433 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/09/22 | 14185 | macros/latex/contrib/oberdiek/dvipscol.dtx +2022/09/22 | 140014 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/09/22 | 1396 | macros/xetex/latex/bidi/bidi-doc-intro.ltx +2022/09/22 | 13782 | macros/latex/contrib/oberdiek/stackrel.dtx +2022/09/22 | 13772 | macros/latex/contrib/oberdiek/chemarr.dtx +2022/09/22 | 1372763 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/09/22 | 1372594 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/09/22 | 135466 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/09/22 | 13344 | macros/latex/contrib/oberdiek/tabularkv.dtx +2022/09/22 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf +2022/09/22 | 1323 | macros/xetex/latex/bidi/README +2022/09/22 | 1323744 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/09/22 | 1304 | macros/latex/contrib/blowup/blowup-ex6.tex +2022/09/22 | 12773767 | install/macros/latex/contrib/oberdiek.tds.zip +2022/09/22 | 12663274 | macros/latex/contrib/oberdiek.zip +2022/09/22 | 12537 | macros/latex/contrib/blowup/blowup-ex4.pdf +2022/09/22 | 1217 | macros/latex/contrib/abspos/demo.tex +2022/09/22 | 121484 | macros/latex/contrib/hyperref/ChangeLog.txt +2022/09/22 | 11960 | macros/latex/contrib/semantex/stripsemantex.lua +2022/09/22 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini +2022/09/22 | 1161753 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/09/22 | 115580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/09/22 | 113660 | systems/texlive/tlnet/archive/texlive-scripts.r64457.tar.xz +2022/09/22 | 112979 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/09/22 | 112880 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/09/22 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/09/22 | 1082 | macros/latex/contrib/abspos/LICENSE +2022/09/22 | 107438 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/09/22 | 106085 | macros/latex/contrib/oberdiek/bmpsize.dtx +2022/09/22 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/09/22 | 103600 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/09/22 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/09/22 | 1023370 | macros/xetex/latex/bidi/bidi.dtx +2022/09/22 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html 2022/09/21 | 953108 | systems/texlive/tlnet/archive/tex4ht.r64455.tar.xz 2022/09/21 | 9389 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex -2022/09/21 | 88482 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/09/21 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2022/09/21 | 87407 | macros/latex/contrib/nwejm/doc/french/nwejm-fr.tex 2022/09/21 | 8297 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex -2022/09/21 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma 2022/09/21 | 81872 | macros/latex/contrib/nwejm/doc/english/nwejm-en.tex -2022/09/21 | 81449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma 2022/09/21 | 8078630 | install/macros/latex/contrib/nwejm.tds.zip -2022/09/21 | 79064 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma 2022/09/21 | 7783 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex -2022/09/21 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/09/21 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/09/21 | 74100 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2022/09/21 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/09/21 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma 2022/09/21 | 7321 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-points.tex -2022/09/21 | 72978 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/09/21 | 70937 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/09/21 | 7318 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/09/21 | 7056 | fonts/mintspirit/latex/mintspirit2.sty +2022/09/21 | 6954 | fonts/mintspirit/latex/mintspirit.sty 2022/09/21 | 6837 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex -2022/09/21 | 682215 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/09/21 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma 2022/09/21 | 6765 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex -2022/09/21 | 662791 | systems/win32/miktex/tm/packages/files.csv.lzma -2022/09/21 | 662652 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/09/21 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220921.zip.md5 2022/09/21 | 6576 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex -2022/09/21 | 65131 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/09/21 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/09/21 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/09/21 | 630435 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/09/21 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2022/09/21 | 6085 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty -2022/09/21 | 599103 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/09/21 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/09/21 | 5831657 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/09/21 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/09/21 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/09/21 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma 2022/09/21 | 5696 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex -2022/09/21 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2022/09/21 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma 2022/09/21 | 5423704 | systems/texlive/tlnet/archive/merriweather.r64452.tar.xz 2022/09/21 | 5343 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex -2022/09/21 | 527569 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/09/21 | 52626 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/09/21 | 52370 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/09/21 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/09/21 | 524715789 | systems/mac/mactex/mactex-MacTeXtras-20220921.zip 2022/09/21 | 5140 | systems/texlive/tlnet/archive/blowup.source.r64454.tar.xz 2022/09/21 | 512816 | systems/texlive/tlnet/archive/xindex.doc.r64453.tar.xz 2022/09/21 | 5124 | macros/latex/contrib/crumbs/crumbs.tex -2022/09/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2022/09/21 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/09/21 | 49 | systems/mac/mactex/MacTeXtras.zip.md5 2022/09/21 | 482 | macros/latex/contrib/nwejm/README.md -2022/09/21 | 481894 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/09/21 | 48037 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma 2022/09/21 | 4601 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex -2022/09/21 | 45796 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/09/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/09/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2022/09/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/09/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2022/09/21 | 4539 | macros/latex/contrib/crumbs/crumbs.sty -2022/09/21 | 43890 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma 2022/09/21 | 4375 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex -2022/09/21 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/09/21 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma 2022/09/21 | 42 | macros/latex/contrib/crumbs/DEPENDS.txt -2022/09/21 | 421324 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64449.tar.xz 2022/09/21 | 413188 | systems/texlive/tlnet/archive/merriweather.doc.r64452.tar.xz -2022/09/21 | 41191 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/09/21 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma 2022/09/21 | 4085 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex 2022/09/21 | 4013 | fonts/oldstandard/README 2022/09/21 | 397932 | macros/latex/contrib/nwejm/doc/examples/issue.pdf 2022/09/21 | 3975 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex 2022/09/21 | 3948 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex -2022/09/21 | 394144 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2022/09/21 | 37502 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/09/21 | 37050 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/09/21 | 38091 | systems/mac/mactex/ExtrasFolder.pdf +2022/09/21 | 375196 | macros/texinfo/latest/texinfo.tex 2022/09/21 | 356316 | macros/latex/contrib/crumbs.zip 2022/09/21 | 352858 | macros/latex/contrib/crumbs/crumbs.pdf -2022/09/21 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/09/21 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/09/21 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma 2022/09/21 | 3484 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex 2022/09/21 | 3473 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex 2022/09/21 | 34588 | systems/texlive/tlnet/archive/xindex.r64453.tar.xz 2022/09/21 | 345097 | macros/latex/contrib/nwejm/doc/french/nwejm-fr.pdf -2022/09/21 | 33862 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/09/21 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/09/21 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma 2022/09/21 | 324653 | macros/latex/contrib/nwejm/doc/english/nwejm-en.pdf -2022/09/21 | 32074 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2022/09/21 | 31586 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/09/21 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma 2022/09/21 | 3111 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex -2022/09/21 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma 2022/09/21 | 2987 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex -2022/09/21 | 295946 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2022/09/21 | 293337 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/09/21 | 293307 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/09/21 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2022/09/21 | 28511 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/09/21 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma 2022/09/21 | 278932 | systems/texlive/tlnet/archive/blowup.doc.r64454.tar.xz 2022/09/21 | 2749 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex -2022/09/21 | 27464 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/09/21 | 270468 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/09/21 | 2698001 | install/fonts/mintspirit.tds.zip 2022/09/21 | 2600 | systems/texlive/tlnet/archive/blowup.r64454.tar.xz -2022/09/21 | 25516562 | systems/texlive/tlnet/install-tl.zip 2022/09/21 | 251488 | macros/latex/contrib/nwejm/doc/examples/article-in-french.pdf -2022/09/21 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma 2022/09/21 | 24810 | macros/latex/contrib/nwejm/source/nwejm-examples-template.dtx -2022/09/21 | 247208 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma 2022/09/21 | 2467060 | install/fonts/oldstandard.tds.zip -2022/09/21 | 245150 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma 2022/09/21 | 2446268 | fonts/oldstandard.zip -2022/09/21 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/09/21 | 2410128 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz -2022/09/21 | 23949 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma 2022/09/21 | 23682 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex 2022/09/21 | 2309 | macros/latex/contrib/nwejm/doc/french/nwejm-fr.bib 2022/09/21 | 2309 | macros/latex/contrib/nwejm/doc/english/nwejm-en.bib 2022/09/21 | 2268 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex +2022/09/21 | 2254 | fonts/mintspirit/README 2022/09/21 | 223025 | macros/latex/contrib/nwejm/source/nwejm.dtx 2022/09/21 | 21634 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex -2022/09/21 | 213846 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/09/21 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma 2022/09/21 | 2074701 | macros/latex/contrib/nwejm.zip -2022/09/21 | 20436496 | systems/texlive/tlnet/install-tl-windows.exe -2022/09/21 | 203420 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/09/21 | 2023133 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma 2022/09/21 | 202196 | macros/latex/contrib/nwejm/doc/examples/article-in-german.pdf 2022/09/21 | 2005 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex 2022/09/21 | 199039 | macros/latex/contrib/nwejm/doc/examples/article-in-dutch.pdf 2022/09/21 | 19872 | systems/texlive/tlnet/archive/marcellus.doc.r64451.tar.xz -2022/09/21 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma 2022/09/21 | 194867 | macros/latex/contrib/nwejm/doc/examples/article-in-english.pdf 2022/09/21 | 1906 | fonts/oldstandard/latex/OldStandard.sty 2022/09/21 | 18568 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex -2022/09/21 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma 2022/09/21 | 18460 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex -2022/09/21 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2022/09/21 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma 2022/09/21 | 17946 | CTAN.sites 2022/09/21 | 178108 | systems/texlive/tlnet/archive/marcellus.r64451.tar.xz 2022/09/21 | 17804 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex -2022/09/21 | 17649169 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/09/21 | 173176 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/09/21 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma 2022/09/21 | 1659136 | systems/texlive/tlnet/archive/csvsimple.doc.r64450.tar.xz -2022/09/21 | 155429 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/09/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/09/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/09/21 | 1503051 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/09/21 | 1492680 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/09/21 | 1490714 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/09/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/09/21 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/09/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/09/21 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220921.zip.sha512 +2022/09/21 | 1612 | systems/mac/mactex/Licenses.txt +2022/09/21 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512 2022/09/21 | 14443 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex -2022/09/21 | 14433 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma -2022/09/21 | 140013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2022/09/21 | 1372714 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2022/09/21 | 1372067 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma 2022/09/21 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r64455.tar.xz -2022/09/21 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma 2022/09/21 | 13272 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex -2022/09/21 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma 2022/09/21 | 1271775 | macros/latex/contrib/tkz/tkz-euclide.zip 2022/09/21 | 1269548 | systems/texlive/tlnet/archive/tex4ht.source.r64455.tar.xz 2022/09/21 | 1224 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex 2022/09/21 | 1207 | macros/latex/contrib/crumbs/README.md -2022/09/21 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini -2022/09/21 | 1161750 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/09/21 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma 2022/09/21 | 11451 | macros/latex/contrib/tkz/tkz-euclide/README.md -2022/09/21 | 113620 | systems/texlive/tlnet/archive/texlive-scripts.r64449.tar.xz 2022/09/21 | 11344 | systems/texlive/tlnet/archive/csvsimple.r64450.tar.xz -2022/09/21 | 112980 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/09/21 | 112879 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma 2022/09/21 | 11224 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg 2022/09/21 | 1109591 | macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf -2022/09/21 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma 2022/09/21 | 108033 | macros/latex/contrib/nwejm/doc/examples/sample.pdf -2022/09/21 | 107436 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma 2022/09/21 | 10652 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex -2022/09/21 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma 2022/09/21 | 10463 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex -2022/09/21 | 103597 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/09/21 | 103245 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma 2022/09/21 | 10203 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex 2022/09/20 | 9976 | indexing/xindex/scripts/xindex.lua 2022/09/20 | 96748 | systems/texlive/tlnet/archive/texinfo.r64438.tar.xz @@ -210,7 +406,6 @@ 2022/09/20 | 7820 | indexing/xindex/lualatex/xindex-yannis.lua 2022/09/20 | 75624 | macros/latex/contrib/csvsimple/csvsimple-example.pdf 2022/09/20 | 71390 | macros/latex/contrib/csvsimple/csvsimple-legacy.tex -2022/09/20 | 7069 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/09/20 | 6916 | systems/texlive/tlnet/archive/piton.r64446.tar.xz 2022/09/20 | 68972 | systems/texlive/tlnet/archive/texaccents.doc.r64447.tar.xz 2022/09/20 | 672 | systems/texlive/tlnet/archive/umtypewriter.doc.r64443.tar.xz @@ -241,11 +436,8 @@ 2022/09/20 | 340 | systems/texlive/tlnet/archive/texaccents.amd64-freebsd.r64447.tar.xz 2022/09/20 | 340 | systems/texlive/tlnet/archive/texaccents.aarch64-linux.r64447.tar.xz 2022/09/20 | 340604 | systems/texlive/tlnet/archive/umtypewriter.r64443.tar.xz -2022/09/20 | 34010 | macros/latex/contrib/blowup/blowup-ex3.pdf 2022/09/20 | 336 | systems/texlive/tlnet/archive/texaccents.i386-netbsd.r64447.tar.xz 2022/09/20 | 336 | systems/texlive/tlnet/archive/texaccents.i386-cygwin.r64447.tar.xz -2022/09/20 | 33365 | macros/latex/contrib/blowup/blowup-ex1.pdf -2022/09/20 | 330781 | macros/latex/contrib/blowup.zip 2022/09/20 | 3288 | systems/texlive/tlnet/archive/chemobabel.r64444.tar.xz 2022/09/20 | 32873 | indexing/xindex/lualatex/xindex-lib.lua 2022/09/20 | 31684 | systems/texlive/tlnet/archive/librefranklin.doc.r64441.tar.xz @@ -361,7 +553,6 @@ 2022/09/19 | 3904036 | fonts/librefranklin.zip 2022/09/19 | 38164 | systems/texlive/tlnet/archive/nicematrix.r64433.tar.xz 2022/09/19 | 37616 | systems/texlive/tlnet/archive/exam-zh.r64434.tar.xz -2022/09/19 | 33377 | macros/latex/contrib/blowup/blowup-ex2.pdf 2022/09/19 | 33360 | fonts/kpfonts/doc/kpfonts.tex 2022/09/19 | 323429 | macros/latex/contrib/ppt-slides.zip 2022/09/19 | 309422 | macros/luatex/latex/piton.zip @@ -381,11 +572,9 @@ 2022/09/19 | 20752 | fonts/kpfonts/fonts/afm/jkplmn8a.afm 2022/09/19 | 20676 | fonts/kpfonts/fonts/afm/jkplbn8a.afm 2022/09/19 | 20676 | fonts/kpfonts/fonts/afm/jkpbn8a.afm -2022/09/19 | 20246 | macros/latex/contrib/blowup/blowup-ex5.pdf 2022/09/19 | 20233 | fonts/kpfonts/fonts/afm/jkpssbsc8a.afm 2022/09/19 | 20192 | systems/texlive/tlnet/archive/librebodoni.doc.r64431.tar.xz 2022/09/19 | 19690 | fonts/kpfonts/fonts/afm/jkpssbn8a.afm -2022/09/19 | 196888 | macros/latex/contrib/blowup/blowup.pdf 2022/09/19 | 19586 | fonts/kpfonts/fonts/afm/jkpssmn8a.afm 2022/09/19 | 19499 | fonts/kpfonts/fonts/afm/jkpmit8a.afm 2022/09/19 | 19499 | fonts/kpfonts/fonts/afm/jkplmit8a.afm @@ -399,7 +588,6 @@ 2022/09/19 | 1741 | graphics/chemobabel/example-ja.tex 2022/09/19 | 1672 | fonts/lobster2/README 2022/09/19 | 165969 | support/texaccents.zip -2022/09/19 | 16106 | macros/latex/contrib/blowup/blowup.dtx 2022/09/19 | 1576 | macros/latex/contrib/ppt-slides/README.md 2022/09/19 | 15203 | macros/luatex/latex/piton/piton.lua 2022/09/19 | 151584 | macros/luatex/latex/piton/piton-french.pdf @@ -418,7 +606,6 @@ 2022/09/19 | 1276 | macros/latex/contrib/blowup/blowup-ex4.tex 2022/09/19 | 1263 | macros/latex/contrib/blowup/blowup-ex2.tex 2022/09/19 | 1257630 | graphics/chemobabel.zip -2022/09/19 | 12537 | macros/latex/contrib/blowup/blowup-ex4.pdf 2022/09/19 | 120672 | systems/texlive/tlnet/archive/nicematrix.source.r64433.tar.xz 2022/09/19 | 11952 | fonts/kpfonts/fonts/afm/jkpsskbsc.afm 2022/09/19 | 1131 | macros/latex/contrib/blowup/blowup.ins @@ -464,7 +651,6 @@ 2022/09/18 | 4347 | dviware/dviasm/dviasm.1 2022/09/18 | 3900 | biblio/citation-style-language/citeproc-latex.lua 2022/09/18 | 3844 | systems/texlive/tlnet/archive/unicode-data.doc.r64423.tar.xz -2022/09/18 | 375073 | macros/texinfo/latest/texinfo.tex 2022/09/18 | 34627 | macros/xetex/latex/exam-zh/doc/xdyydoc.cls 2022/09/18 | 344 | biblio/citation-style-language/citeproc.lua 2022/09/18 | 33702 | biblio/citation-style-language/citeproc-node-names.lua @@ -955,7 +1141,6 @@ 2022/09/17 | 6634 | graphics/asymptote/simpson.cc 2022/09/17 | 6623 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h 2022/09/17 | 6616 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h -2022/09/17 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220917.zip.md5 2022/09/17 | 65 | graphics/asymptote/tests/gc/guide.asy 2022/09/17 | 6593 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp 2022/09/17 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc @@ -1162,7 +1347,6 @@ 2022/09/17 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py 2022/09/17 | 5250 | graphics/asymptote/pipestream.cc 2022/09/17 | 524 | graphics/asymptote/doc/brokenaxis.asy -2022/09/17 | 524704420 | systems/mac/mactex/mactex-MacTeXtras-20220917.zip 2022/09/17 | 5242 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp 2022/09/17 | 5238 | graphics/asymptote/base/animation.asy 2022/09/17 | 521 | graphics/asymptote/doc/Hobbycontrol.asy @@ -1203,7 +1387,6 @@ 2022/09/17 | 5005 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md 2022/09/17 | 50028 | support/texaccents/texaccents.pdf 2022/09/17 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json -2022/09/17 | 49 | systems/mac/mactex/MacTeXtras.zip.md5 2022/09/17 | 49 | graphics/asymptote/doc/quartercircle.asy 2022/09/17 | 49 | graphics/asymptote/doc/dots.asy 2022/09/17 | 49 | graphics/asymptote/doc/colons.asy @@ -1437,7 +1620,6 @@ 2022/09/17 | 383 | graphics/asymptote/tests/arith/real.asy 2022/09/17 | 383 | graphics/asymptote/examples/Gouraud.asy 2022/09/17 | 382 | graphics/asymptote/doc/loggrid.asy -2022/09/17 | 38148 | systems/mac/mactex/ExtrasFolder.pdf 2022/09/17 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json 2022/09/17 | 37991 | graphics/asymptote/path3.cc 2022/09/17 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif @@ -2203,11 +2385,9 @@ 2022/09/17 | 16298 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp 2022/09/17 | 1626 | graphics/asymptote/genv.h 2022/09/17 | 1620 | graphics/asymptote/doc/colors.asy -2022/09/17 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220917.zip.sha512 2022/09/17 | 161 | graphics/asymptote/runhistory.h 2022/09/17 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile 2022/09/17 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png -2022/09/17 | 1612 | systems/mac/mactex/Licenses.txt 2022/09/17 | 1612 | graphics/asymptote/asy-list.pl 2022/09/17 | 1611 | graphics/asymptote/v3dheadertypes.py 2022/09/17 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp @@ -2293,7 +2473,6 @@ 2022/09/17 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg 2022/09/17 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h 2022/09/17 | 1461 | graphics/asymptote/examples/logo3.asy -2022/09/17 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512 2022/09/17 | 145 | graphics/asymptote/examples/star.asy 2022/09/17 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake 2022/09/17 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot @@ -2706,146 +2885,3 @@ 2022/09/16 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOne.tfm 2022/09/16 | 115395415 | macros/context/latest/cont-tmf.zip 2022/09/16 | 1119 | fonts/simpleicons/map/simpleicons.map -2022/09/15 | 95932 | systems/texlive/tlnet/archive/luatruthtable.doc.r64392.tar.xz -2022/09/15 | 920 | systems/texlive/tlnet/archive/collection-luatex.r64393.tar.xz -2022/09/15 | 915 | macros/latex/contrib/newpax/doc-use-pax.tex -2022/09/15 | 908 | macros/latex/contrib/udes-genie-these/README.md -2022/09/15 | 896 | macros/latex/contrib/newpax/doc-input2.tex -2022/09/15 | 879243 | macros/unicodetex/latex/bithesis.zip -2022/09/15 | 8678 | macros/latex/contrib/photobook/Makefile -2022/09/15 | 857837 | macros/unicodetex/latex/bithesis/bithesis.pdf -2022/09/15 | 85725 | macros/latex/contrib/qrbill/qrbill.pdf -2022/09/15 | 853 | macros/latex/contrib/newpax/README.md -2022/09/15 | 817603 | install/macros/latex/contrib/l3build.tds.zip -2022/09/15 | 814249 | macros/latex/contrib/l3build.zip -2022/09/15 | 806740 | systems/texlive/tlnet/archive/jsclasses.doc.r64386.tar.xz -2022/09/15 | 79884 | systems/texlive/tlnet/archive/stex.r64383.tar.xz -2022/09/15 | 7828 | macros/latex/contrib/l3build/l3build-variables.lua -2022/09/15 | 7756 | macros/latex/contrib/l3build/l3build-arguments.lua -2022/09/15 | 742080 | macros/latex/contrib/l3build/l3build.pdf -2022/09/15 | 7194 | macros/latex/contrib/l3build/l3build-manifest.lua -2022/09/15 | 71189 | macros/latex/contrib/newpax/doc-use-newpax.pdf -2022/09/15 | 6988 | systems/texlive/tlnet/archive/fixdif.source.r64390.tar.xz -2022/09/15 | 6735 | macros/latex/contrib/l3build/l3build-typesetting.lua -2022/09/15 | 6716 | macros/latex/contrib/udes-genie-these/references.bib -2022/09/15 | 662 | macros/latex/contrib/opencolor/demo-opencolor.tex -2022/09/15 | 6552 | macros/latex/contrib/l3build/l3build.lua -2022/09/15 | 63628 | systems/texlive/tlnet/archive/stex.source.r64383.tar.xz -2022/09/15 | 634088 | systems/texlive/tlnet/archive/atkinson.doc.r64385.tar.xz -2022/09/15 | 62118 | macros/latex/contrib/udes-genie-these/udes-genie-these.dtx -2022/09/15 | 56900 | systems/texlive/tlnet/archive/jsclasses.source.r64386.tar.xz -2022/09/15 | 54303 | macros/latex/contrib/qrbill/qrbill.dtx -2022/09/15 | 5397 | macros/latex/contrib/l3build/l3build-aux.lua -2022/09/15 | 5300 | systems/texlive/tlnet/archive/hereapplies.r64391.tar.xz -2022/09/15 | 5257 | macros/latex/contrib/opencolor/opencolor.sty -2022/09/15 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua -2022/09/15 | 4738015 | install/fonts/charissil.tds.zip -2022/09/15 | 456 | macros/latex/contrib/qrbill/qrbill-latexluaqrcode.lua -2022/09/15 | 4508 | fonts/librebaskerville/doc/OFL.txt -2022/09/15 | 4505 | fonts/lobster2/doc/OFL.txt -2022/09/15 | 45012 | macros/latex/contrib/newpax/doc-use-pax.pdf -2022/09/15 | 4494 | fonts/oldstandard/doc/OFL.txt -2022/09/15 | 4482 | fonts/librecaslon/doc/OFL.txt -2022/09/15 | 4450 | fonts/merriweather/doc/OFL.txt -2022/09/15 | 4430 | fonts/marcellus/doc/OFL.txt -2022/09/15 | 4413 | fonts/cormorantgaramond/doc/OFL.txt -2022/09/15 | 4358 | fonts/librefranklin/doc/OFL.txt -2022/09/15 | 4358 | fonts/librebodoni/doc/OFL.txt -2022/09/15 | 4352646 | fonts/charissil.zip -2022/09/15 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua -2022/09/15 | 421652 | systems/texlive/tlnet/archive/hereapplies.doc.r64391.tar.xz -2022/09/15 | 4212 | macros/latex/contrib/photobook/scripts/cls2tex.sh -2022/09/15 | 397 | macros/latex/contrib/udes-genie-these/symboles.tex -2022/09/15 | 3751374 | macros/latex/contrib/animate/animate.pdf -2022/09/15 | 3720 | macros/unicodetex/latex/bithesis/bithesis.ins -2022/09/15 | 37197 | macros/latex/contrib/newpax/newpax.dtx -2022/09/15 | 36858 | macros/latex/contrib/l3build/l3build-check.lua -2022/09/15 | 34 | macros/latex/contrib/udes-genie-these/revue.tex -2022/09/15 | 3382 | macros/latex/contrib/l3build/l3build-zip.lua -2022/09/15 | 337 | macros/latex/contrib/udes-genie-these/lexique.tex -2022/09/15 | 337144 | systems/texlive/tlnet/archive/atkinson.r64385.tar.xz -2022/09/15 | 325560 | systems/texlive/tlnet/archive/csquotes.doc.r64389.tar.xz -2022/09/15 | 3225468 | install/macros/latex/contrib/animate.tds.zip -2022/09/15 | 3223195 | macros/latex/contrib/animate.zip -2022/09/15 | 31 | macros/latex/contrib/udes-genie-these/conclusion-francaise.tex -2022/09/15 | 31114 | macros/latex/contrib/newpax/doc-input1.pdf -2022/09/15 | 30826 | macros/latex/contrib/newpax/doc-input2.pdf -2022/09/15 | 2925988 | systems/texlive/tlnet/archive/beamer.doc.r64388.tar.xz -2022/09/15 | 28 | macros/latex/contrib/udes-genie-these/conclusion-anglaise.tex -2022/09/15 | 284 | macros/latex/contrib/udes-genie-these/acronymes.tex -2022/09/15 | 2755852 | systems/texlive/tlnet/archive/stex.doc.r64383.tar.xz -2022/09/15 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua -2022/09/15 | 2665 | fonts/clearsans/latex/ClearSans.sty -2022/09/15 | 2643 | macros/unicodetex/latex/bithesis/contributing-zh.md -2022/09/15 | 261188 | systems/texlive/tlnet/archive/fixdif.doc.r64390.tar.xz -2022/09/15 | 2496 | macros/latex/contrib/qrbill/README.md -2022/09/15 | 2473 | macros/latex/contrib/l3build/l3build-help.lua -2022/09/15 | 2401501 | install/fonts/clearsans.tds.zip -2022/09/15 | 2390133 | fonts/clearsans.zip -2022/09/15 | 2386 | macros/latex/contrib/opencolor/README.md -2022/09/15 | 23710500 | systems/texlive/tlnet/archive/alegreya.r64384.tar.xz -2022/09/15 | 236 | macros/latex/contrib/newpax/doc-extract-newpax.tex -2022/09/15 | 2356 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.r64387.tar.xz -2022/09/15 | 2338 | macros/latex/contrib/l3build/CONTRIBUTING.md -2022/09/15 | 2332 | macros/unicodetex/latex/bithesis/contributing.md -2022/09/15 | 231 | macros/latex/contrib/newpax/doc-extract-pax.tex -2022/09/15 | 22 | macros/latex/contrib/udes-genie-these/realisation.tex -2022/09/15 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua -2022/09/15 | 21 | macros/latex/contrib/udes-genie-these/conception.tex -2022/09/15 | 21752 | systems/texlive/tlnet/archive/jsclasses.r64386.tar.xz -2022/09/15 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua -2022/09/15 | 2092 | systems/texlive/tlnet/archive/luatruthtable.r64392.tar.xz -2022/09/15 | 200144 | macros/latex/contrib/opencolor.zip -2022/09/15 | 1993 | macros/unicodetex/latex/bithesis/README.md -2022/09/15 | 1962 | macros/latex/contrib/udes-genie-these/udes-genie-these.ins -2022/09/15 | 1934 | fonts/clearsans/README -2022/09/15 | 192 | macros/latex/contrib/udes-genie-these/merci.tex -2022/09/15 | 18 | macros/latex/contrib/udes-genie-these/donnees.tex -2022/09/15 | 18 | macros/latex/contrib/udes-genie-these/analyse.tex -2022/09/15 | 189796 | macros/latex/contrib/opencolor/demo-opencolor.png -2022/09/15 | 186 | macros/latex/contrib/udes-genie-these/resume-francais.tex -2022/09/15 | 182407 | macros/latex/contrib/newpax/newpax.pdf -2022/09/15 | 1816 | macros/latex/contrib/l3build/l3build.1 -2022/09/15 | 18088 | systems/texlive/tlnet/archive/csquotes.r64389.tar.xz -2022/09/15 | 1796 | systems/texlive/tlnet/archive/fixdif.r64390.tar.xz -2022/09/15 | 17852 | macros/latex/contrib/l3build/CHANGELOG.md -2022/09/15 | 1745 | macros/latex/contrib/newpax/newpax.ins -2022/09/15 | 171115 | macros/latex/contrib/photobook.zip -2022/09/15 | 170224 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.doc.r64387.tar.xz -2022/09/15 | 167052 | systems/texlive/tlnet/archive/beamer.r64388.tar.xz -2022/09/15 | 1661 | macros/latex/contrib/qrbill/qrbill.ins -2022/09/15 | 165 | macros/latex/contrib/udes-genie-these/resume-anglais.tex -2022/09/15 | 15 | macros/latex/contrib/udes-genie-these/tests.tex -2022/09/15 | 1587 | macros/latex/contrib/udes-genie-these/introduction.tex -2022/09/15 | 158102 | macros/unicodetex/latex/bithesis/bithesis.dtx -2022/09/15 | 1540 | macros/latex/contrib/l3build/l3build.ins -2022/09/15 | 1522 | macros/latex/contrib/photobook/LICENSE -2022/09/15 | 152077 | macros/latex/contrib/photobook/photobook.cls -2022/09/15 | 15089 | macros/latex/contrib/opencolor/demo-opencolor.pdf -2022/09/15 | 142951 | macros/latex/contrib/newpax.zip -2022/09/15 | 142163 | install/macros/latex/contrib/udes-genie-these.tds.zip -2022/09/15 | 1412 | fonts/charissil/latex/CharisSIL.sty -2022/09/15 | 138695 | macros/latex/contrib/animate/animate.sty -2022/09/15 | 1349 | macros/latex/contrib/udes-genie-these/document.tex -2022/09/15 | 134431 | macros/latex/contrib/photobook/photobook.pdf -2022/09/15 | 134261 | macros/latex/contrib/udes-genie-these.zip -2022/09/15 | 13249 | macros/latex/contrib/l3build/l3build-upload.lua -2022/09/15 | 13188 | macros/latex/contrib/animate/ChangeLog -2022/09/15 | 13025 | macros/latex/contrib/newpax/newpax.tex -2022/09/15 | 1275 | fonts/charissil/README -2022/09/15 | 12633 | macros/latex/contrib/l3build/l3build-file-functions.lua -2022/09/15 | 1153 | macros/latex/contrib/qrbill/qrbill_swiss-cross.pdf -2022/09/15 | 113355 | macros/latex/contrib/udes-genie-these/udes-genie-these.pdf -2022/09/15 | 111519 | macros/latex/contrib/l3build/l3build.dtx -2022/09/15 | 111439 | install/macros/latex/contrib/qrbill.tds.zip -2022/09/15 | 1112 | macros/latex/contrib/photobook/README.md -2022/09/15 | 1107 | macros/latex/contrib/qrbill/qrbill-vocab.csv -2022/09/15 | 1107116 | systems/texlive/tlnet/archive/alegreya.doc.r64384.tar.xz -2022/09/15 | 11070 | macros/latex/contrib/l3build/l3build-install.lua -2022/09/15 | 1093 | macros/latex/contrib/newpax/doc-use-newpax.tex -2022/09/15 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua -2022/09/15 | 1072 | macros/latex/contrib/opencolor/LICENSE -2022/09/15 | 10516 | macros/latex/contrib/photobook/scripts/make-images.sh -2022/09/15 | 102503 | macros/latex/contrib/qrbill.zip -2022/09/15 | 1019 | macros/latex/contrib/l3build/README.md -2022/09/15 | 1007 | macros/latex/contrib/newpax/doc-input1.tex diff --git a/fonts/mintspirit/README b/fonts/mintspirit/README index b8981bbbe6..606a6840e2 100644 --- a/fonts/mintspirit/README +++ b/fonts/mintspirit/README @@ -1,4 +1,4 @@ -This is the README for the mintspirit package, version 2013-11-02. +This is the README for the mintspirit package, version 2022-09-21. This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support for the MintSpirit and MintSpiritNo2 families of fonts, designed by diff --git a/fonts/mintspirit/latex/LY1MintSpirit-Inf.fd b/fonts/mintspirit/latex/LY1MintSpirit-Inf.fd new file mode 100644 index 0000000000..cae09f7697 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpirit-Inf.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpirit-Inf.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-Inf.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpirit-Inf}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{b}{sl}{ + <-> ssub * MintSpirit-Inf/b/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{m}{sl}{ + <-> ssub * MintSpirit-Inf/m/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{bx}{sl}{ + <-> ssub * MintSpirit-Inf/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{bx}{n}{ + <-> ssub * MintSpirit-Inf/b/n +}{} + +\DeclareFontShape{LY1}{MintSpirit-Inf}{bx}{it}{ + <-> ssub * MintSpirit-Inf/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpirit-LF.fd b/fonts/mintspirit/latex/LY1MintSpirit-LF.fd new file mode 100644 index 0000000000..04d6d09f58 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpirit-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpirit-LF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-LF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpirit-LF}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{b}{sl}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{m}{sl}{ + <-> ssub * MintSpirit-LF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{bx}{sl}{ + <-> ssub * MintSpirit-LF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{bx}{n}{ + <-> ssub * MintSpirit-LF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpirit-LF}{bx}{it}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpirit-OsF.fd b/fonts/mintspirit/latex/LY1MintSpirit-OsF.fd new file mode 100644 index 0000000000..d3251b0a27 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpirit-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpirit-OsF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-OsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpirit-OsF}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{b}{sl}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{m}{sl}{ + <-> ssub * MintSpirit-OsF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{bx}{sl}{ + <-> ssub * MintSpirit-OsF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{bx}{n}{ + <-> ssub * MintSpirit-OsF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpirit-OsF}{bx}{it}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpirit-Sup.fd b/fonts/mintspirit/latex/LY1MintSpirit-Sup.fd new file mode 100644 index 0000000000..9df5974503 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpirit-Sup.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpirit-Sup.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-Sup.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpirit-Sup}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{b}{sl}{ + <-> ssub * MintSpirit-Sup/b/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{m}{sl}{ + <-> ssub * MintSpirit-Sup/m/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{bx}{sl}{ + <-> ssub * MintSpirit-Sup/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{bx}{n}{ + <-> ssub * MintSpirit-Sup/b/n +}{} + +\DeclareFontShape{LY1}{MintSpirit-Sup}{bx}{it}{ + <-> ssub * MintSpirit-Sup/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpirit-TLF.fd b/fonts/mintspirit/latex/LY1MintSpirit-TLF.fd new file mode 100644 index 0000000000..21142f35be --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpirit-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpirit-TLF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-TLF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpirit-TLF}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{b}{sl}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{m}{sl}{ + <-> ssub * MintSpirit-TLF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{bx}{sl}{ + <-> ssub * MintSpirit-TLF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{bx}{n}{ + <-> ssub * MintSpirit-TLF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpirit-TLF}{bx}{it}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpirit-TOsF.fd b/fonts/mintspirit/latex/LY1MintSpirit-TOsF.fd new file mode 100644 index 0000000000..7682fc9a16 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpirit-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpirit-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-TOsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpirit-TOsF}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{b}{sl}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{m}{sl}{ + <-> ssub * MintSpirit-TOsF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{bx}{sl}{ + <-> ssub * MintSpirit-TOsF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{bx}{n}{ + <-> ssub * MintSpirit-TOsF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpirit-TOsF}{bx}{it}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpiritNoTwo-Inf.fd b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-Inf.fd new file mode 100644 index 0000000000..ce60fdbb06 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-Inf.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpiritNoTwo-Inf.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-Inf.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpiritNoTwo-Inf}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/b/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-inf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/m/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-Inf/b/n +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-Inf/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-LF.fd new file mode 100644 index 0000000000..43b615f9f3 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpiritNoTwo-LF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-LF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpiritNoTwo-LF}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-LF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-OsF.fd new file mode 100644 index 0000000000..60cf7d8dcb --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpiritNoTwo-OsF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-OsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpiritNoTwo-OsF}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-OsF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpiritNoTwo-Sup.fd b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-Sup.fd new file mode 100644 index 0000000000..cd88551718 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-Sup.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpiritNoTwo-Sup.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-Sup.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpiritNoTwo-Sup}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/b/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-sup-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/m/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-Sup/b/n +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-Sup/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-TLF.fd new file mode 100644 index 0000000000..b5b12af657 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpiritNoTwo-TLF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-TLF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpiritNoTwo-TLF}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TLF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/LY1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-TOsF.fd new file mode 100644 index 0000000000..2aec4d7db5 --- /dev/null +++ b/fonts/mintspirit/latex/LY1MintSpiritNoTwo-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{LY1MintSpiritNoTwo-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-TOsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{LY1}{MintSpiritNoTwo-TOsF}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-ly1 +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/m/it +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/sl +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/n +}{} + +\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpirit-Inf.fd b/fonts/mintspirit/latex/OT1MintSpirit-Inf.fd new file mode 100644 index 0000000000..30c1beffda --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpirit-Inf.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpirit-Inf.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-Inf.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpirit-Inf}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{b}{sl}{ + <-> ssub * MintSpirit-Inf/b/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{m}{sl}{ + <-> ssub * MintSpirit-Inf/m/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{bx}{sl}{ + <-> ssub * MintSpirit-Inf/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{bx}{n}{ + <-> ssub * MintSpirit-Inf/b/n +}{} + +\DeclareFontShape{OT1}{MintSpirit-Inf}{bx}{it}{ + <-> ssub * MintSpirit-Inf/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpirit-LF.fd b/fonts/mintspirit/latex/OT1MintSpirit-LF.fd new file mode 100644 index 0000000000..4aac0fce94 --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpirit-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpirit-LF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-LF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpirit-LF}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{b}{sl}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{m}{sl}{ + <-> ssub * MintSpirit-LF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{bx}{sl}{ + <-> ssub * MintSpirit-LF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{bx}{n}{ + <-> ssub * MintSpirit-LF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpirit-LF}{bx}{it}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpirit-OsF.fd b/fonts/mintspirit/latex/OT1MintSpirit-OsF.fd new file mode 100644 index 0000000000..fef17b747b --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpirit-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpirit-OsF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-OsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpirit-OsF}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{b}{sl}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{m}{sl}{ + <-> ssub * MintSpirit-OsF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{bx}{sl}{ + <-> ssub * MintSpirit-OsF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{bx}{n}{ + <-> ssub * MintSpirit-OsF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpirit-OsF}{bx}{it}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpirit-Sup.fd b/fonts/mintspirit/latex/OT1MintSpirit-Sup.fd new file mode 100644 index 0000000000..7a2157a60b --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpirit-Sup.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpirit-Sup.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-Sup.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpirit-Sup}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{b}{sl}{ + <-> ssub * MintSpirit-Sup/b/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{m}{sl}{ + <-> ssub * MintSpirit-Sup/m/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{bx}{sl}{ + <-> ssub * MintSpirit-Sup/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{bx}{n}{ + <-> ssub * MintSpirit-Sup/b/n +}{} + +\DeclareFontShape{OT1}{MintSpirit-Sup}{bx}{it}{ + <-> ssub * MintSpirit-Sup/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpirit-TLF.fd b/fonts/mintspirit/latex/OT1MintSpirit-TLF.fd new file mode 100644 index 0000000000..284da40111 --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpirit-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpirit-TLF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-TLF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpirit-TLF}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{b}{sl}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{m}{sl}{ + <-> ssub * MintSpirit-TLF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{bx}{sl}{ + <-> ssub * MintSpirit-TLF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{bx}{n}{ + <-> ssub * MintSpirit-TLF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpirit-TLF}{bx}{it}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpirit-TOsF.fd b/fonts/mintspirit/latex/OT1MintSpirit-TOsF.fd new file mode 100644 index 0000000000..e72d1e044d --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpirit-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpirit-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-TOsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpirit-TOsF}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{b}{sl}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{m}{sl}{ + <-> ssub * MintSpirit-TOsF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{bx}{sl}{ + <-> ssub * MintSpirit-TOsF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{bx}{n}{ + <-> ssub * MintSpirit-TOsF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpirit-TOsF}{bx}{it}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpiritNoTwo-Inf.fd b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-Inf.fd new file mode 100644 index 0000000000..8dbcf8e46b --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-Inf.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpiritNoTwo-Inf.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-Inf.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpiritNoTwo-Inf}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/b/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-inf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/m/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-Inf/b/n +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-Inf/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-LF.fd new file mode 100644 index 0000000000..99bf8ee04f --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpiritNoTwo-LF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-LF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpiritNoTwo-LF}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-LF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-OsF.fd new file mode 100644 index 0000000000..0868a23a17 --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpiritNoTwo-OsF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-OsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpiritNoTwo-OsF}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-OsF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpiritNoTwo-Sup.fd b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-Sup.fd new file mode 100644 index 0000000000..fefc48b248 --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-Sup.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpiritNoTwo-Sup.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-Sup.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpiritNoTwo-Sup}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/b/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-sup-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/m/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-Sup/b/n +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-Sup/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-TLF.fd new file mode 100644 index 0000000000..3ccce70329 --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpiritNoTwo-TLF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-TLF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpiritNoTwo-TLF}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TLF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/OT1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-TOsF.fd new file mode 100644 index 0000000000..9561e6b5ab --- /dev/null +++ b/fonts/mintspirit/latex/OT1MintSpiritNoTwo-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{OT1MintSpiritNoTwo-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-TOsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{OT1}{MintSpiritNoTwo-TOsF}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-ot1 +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/m/it +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/sl +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/n +}{} + +\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpirit-Inf.fd b/fonts/mintspirit/latex/T1MintSpirit-Inf.fd new file mode 100644 index 0000000000..b89b76b8d5 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpirit-Inf.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpirit-Inf.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-Inf.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpirit-Inf}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{b}{sl}{ + <-> ssub * MintSpirit-Inf/b/it +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{m}{sl}{ + <-> ssub * MintSpirit-Inf/m/it +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{bx}{sl}{ + <-> ssub * MintSpirit-Inf/b/sl +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{bx}{n}{ + <-> ssub * MintSpirit-Inf/b/n +}{} + +\DeclareFontShape{T1}{MintSpirit-Inf}{bx}{it}{ + <-> ssub * MintSpirit-Inf/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpirit-LF.fd b/fonts/mintspirit/latex/T1MintSpirit-LF.fd new file mode 100644 index 0000000000..e3945a13fc --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpirit-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpirit-LF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-LF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpirit-LF}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{b}{sl}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{m}{sl}{ + <-> ssub * MintSpirit-LF/m/it +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{bx}{sl}{ + <-> ssub * MintSpirit-LF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{bx}{n}{ + <-> ssub * MintSpirit-LF/b/n +}{} + +\DeclareFontShape{T1}{MintSpirit-LF}{bx}{it}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpirit-OsF.fd b/fonts/mintspirit/latex/T1MintSpirit-OsF.fd new file mode 100644 index 0000000000..36ae37d3f5 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpirit-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpirit-OsF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-OsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpirit-OsF}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{b}{sl}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{m}{sl}{ + <-> ssub * MintSpirit-OsF/m/it +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{bx}{sl}{ + <-> ssub * MintSpirit-OsF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{bx}{n}{ + <-> ssub * MintSpirit-OsF/b/n +}{} + +\DeclareFontShape{T1}{MintSpirit-OsF}{bx}{it}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpirit-Sup.fd b/fonts/mintspirit/latex/T1MintSpirit-Sup.fd new file mode 100644 index 0000000000..0212e81c63 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpirit-Sup.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpirit-Sup.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-Sup.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpirit-Sup}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{b}{sl}{ + <-> ssub * MintSpirit-Sup/b/it +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{m}{sl}{ + <-> ssub * MintSpirit-Sup/m/it +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{bx}{sl}{ + <-> ssub * MintSpirit-Sup/b/sl +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{bx}{n}{ + <-> ssub * MintSpirit-Sup/b/n +}{} + +\DeclareFontShape{T1}{MintSpirit-Sup}{bx}{it}{ + <-> ssub * MintSpirit-Sup/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpirit-TLF.fd b/fonts/mintspirit/latex/T1MintSpirit-TLF.fd new file mode 100644 index 0000000000..50aec1c0af --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpirit-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpirit-TLF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-TLF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpirit-TLF}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{b}{sl}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{m}{sl}{ + <-> ssub * MintSpirit-TLF/m/it +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{bx}{sl}{ + <-> ssub * MintSpirit-TLF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{bx}{n}{ + <-> ssub * MintSpirit-TLF/b/n +}{} + +\DeclareFontShape{T1}{MintSpirit-TLF}{bx}{it}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpirit-TOsF.fd b/fonts/mintspirit/latex/T1MintSpirit-TOsF.fd new file mode 100644 index 0000000000..ebbe213be7 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpirit-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpirit-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-TOsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpirit-TOsF}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{b}{sl}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{m}{sl}{ + <-> ssub * MintSpirit-TOsF/m/it +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{bx}{sl}{ + <-> ssub * MintSpirit-TOsF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{bx}{n}{ + <-> ssub * MintSpirit-TOsF/b/n +}{} + +\DeclareFontShape{T1}{MintSpirit-TOsF}{bx}{it}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpiritNoTwo-Inf.fd b/fonts/mintspirit/latex/T1MintSpiritNoTwo-Inf.fd new file mode 100644 index 0000000000..98d77a0ac7 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpiritNoTwo-Inf.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpiritNoTwo-Inf.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-Inf.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpiritNoTwo-Inf}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/b/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-inf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/m/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-Inf/b/sl +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-Inf/b/n +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-Inf/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/latex/T1MintSpiritNoTwo-LF.fd new file mode 100644 index 0000000000..4d3985921d --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpiritNoTwo-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpiritNoTwo-LF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-LF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpiritNoTwo-LF}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/m/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-LF/b/n +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/latex/T1MintSpiritNoTwo-OsF.fd new file mode 100644 index 0000000000..9a1541a78d --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpiritNoTwo-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpiritNoTwo-OsF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-OsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpiritNoTwo-OsF}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/m/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-OsF/b/n +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpiritNoTwo-Sup.fd b/fonts/mintspirit/latex/T1MintSpiritNoTwo-Sup.fd new file mode 100644 index 0000000000..a005520fd5 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpiritNoTwo-Sup.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpiritNoTwo-Sup.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-Sup.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpiritNoTwo-Sup}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/b/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-sup-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/m/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-Sup/b/sl +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-Sup/b/n +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-Sup/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/latex/T1MintSpiritNoTwo-TLF.fd new file mode 100644 index 0000000000..55c50ff7f1 --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpiritNoTwo-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpiritNoTwo-TLF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-TLF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpiritNoTwo-TLF}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/m/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TLF/b/n +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/T1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/latex/T1MintSpiritNoTwo-TOsF.fd new file mode 100644 index 0000000000..e1154887ea --- /dev/null +++ b/fonts/mintspirit/latex/T1MintSpiritNoTwo-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{T1MintSpiritNoTwo-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-TOsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{T1}{MintSpiritNoTwo-TOsF}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-t1 +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/m/it +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/sl +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/n +}{} + +\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpirit-LF.fd b/fonts/mintspirit/latex/TS1MintSpirit-LF.fd new file mode 100644 index 0000000000..28066b16cf --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpirit-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpirit-LF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-LF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpirit-LF}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{b}{sl}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{m}{sl}{ + <-> ssub * MintSpirit-LF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{bx}{sl}{ + <-> ssub * MintSpirit-LF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{bx}{n}{ + <-> ssub * MintSpirit-LF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpirit-LF}{bx}{it}{ + <-> ssub * MintSpirit-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpirit-OsF.fd b/fonts/mintspirit/latex/TS1MintSpirit-OsF.fd new file mode 100644 index 0000000000..b97e3c509a --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpirit-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpirit-OsF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-OsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpirit-OsF}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{b}{sl}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{m}{sl}{ + <-> ssub * MintSpirit-OsF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{bx}{sl}{ + <-> ssub * MintSpirit-OsF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{bx}{n}{ + <-> ssub * MintSpirit-OsF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpirit-OsF}{bx}{it}{ + <-> ssub * MintSpirit-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpirit-TLF.fd b/fonts/mintspirit/latex/TS1MintSpirit-TLF.fd new file mode 100644 index 0000000000..6278aba4d3 --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpirit-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpirit-TLF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-TLF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpirit-TLF}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{b}{sl}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{m}{sl}{ + <-> ssub * MintSpirit-TLF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{bx}{sl}{ + <-> ssub * MintSpirit-TLF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{bx}{n}{ + <-> ssub * MintSpirit-TLF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpirit-TLF}{bx}{it}{ + <-> ssub * MintSpirit-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpirit-TOsF.fd b/fonts/mintspirit/latex/TS1MintSpirit-TOsF.fd new file mode 100644 index 0000000000..9e7e65676a --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpirit-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpirit-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-TOsF.] + +\expandafter\ifx\csname MintSpirit@scale\endcsname\relax + \let\MintSpirit@@scale\@empty +\else + \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpirit-TOsF}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{b}{n}{ + <-> \MintSpirit@@scale MintSpirit-Bold-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{b}{it}{ + <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{b}{sl}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{m}{n}{ + <-> \MintSpirit@@scale MintSpirit-Regular-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{m}{it}{ + <-> \MintSpirit@@scale MintSpirit-Italic-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{m}{sl}{ + <-> ssub * MintSpirit-TOsF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{bx}{sl}{ + <-> ssub * MintSpirit-TOsF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{bx}{n}{ + <-> ssub * MintSpirit-TOsF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpirit-TOsF}{bx}{it}{ + <-> ssub * MintSpirit-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-LF.fd new file mode 100644 index 0000000000..7c1ae9981d --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-LF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpiritNoTwo-LF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-LF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpiritNoTwo-LF}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-LF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-LF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-LF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-OsF.fd new file mode 100644 index 0000000000..8f31b025db --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-OsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpiritNoTwo-OsF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-OsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpiritNoTwo-OsF}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-OsF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-OsF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-OsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-TLF.fd new file mode 100644 index 0000000000..8457f8b726 --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-TLF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpiritNoTwo-TLF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-TLF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpiritNoTwo-TLF}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TLF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TLF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TLF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/TS1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-TOsF.fd new file mode 100644 index 0000000000..21978b6719 --- /dev/null +++ b/fonts/mintspirit/latex/TS1MintSpiritNoTwo-TOsF.fd @@ -0,0 +1,50 @@ +%% Generated by autoinst on 2013/11/02 +%% +\ProvidesFile{TS1MintSpiritNoTwo-TOsF.fd} + [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-TOsF.] + +\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax + \let\MintSpiritNoTwo@@scale\@empty +\else + \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% +\fi + +\DeclareFontFamily{TS1}{MintSpiritNoTwo-TOsF}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{b}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{b}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{b}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{m}{n}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{m}{it}{ + <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-ts1 +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{m}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/m/it +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/sl +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{bx}{n}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/n +}{} + +\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{bx}{it}{ + <-> ssub * MintSpiritNoTwo-TOsF/b/it +}{} + +\endinput diff --git a/fonts/mintspirit/latex/mintspirit.sty b/fonts/mintspirit/latex/mintspirit.sty new file mode 100644 index 0000000000..faeea1619f --- /dev/null +++ b/fonts/mintspirit/latex/mintspirit.sty @@ -0,0 +1,267 @@ +\ProvidesPackage{mintspirit}[% + 2022/09/21 (Bob Tennent) Supports MintSpirit fonts for all LaTeX engines. ] + +\RequirePackage{ifxetex,ifluatex,textcomp} + +\newif\ifmintspirit@otf + +\ifxetex + \mintspirit@otftrue +\else\ifluatex + \mintspirit@otftrue +\else % [pdf]LaTeX + \mintspirit@otffalse +\fi\fi + +\newif\ifmintspirit@default \mintspirit@defaultfalse +\newif\ifmintspirit@lining \mintspirit@liningfalse +\newif\ifmintspirit@tabular \mintspirit@tabularfalse + +\newcommand*{\MintSpirit@scale}{1} +\RequirePackage{xkeyval} +\DeclareOptionX{scaled}{\renewcommand*{\MintSpirit@scale}{#1}} +\DeclareOptionX{scale}{\renewcommand*{\MintSpirit@scale}{#1}} + +\DeclareOptionX{type1}{\mintspirit@otffalse} + +\DeclareOptionX{default}{\mintspirit@defaulttrue} +\DeclareOptionX{sfdefault}{\mintspirit@defaulttrue} + +\DeclareOptionX{lining}[true]{% +\@nameuse{if#1}% + \mintspirit@liningtrue +\else + mintspirit@liningfalse +\fi +} +\DeclareOptionX{lf}[true]{% +\@nameuse{if#1}% + \mintspirit@liningtrue +\else + mintspirit@liningfalse +\fi +} +\DeclareOptionX{oldstyle}[true]{% +\@nameuse{if#1}% + \mintspirit@liningfalse +\else + \mintspirit@liningtrue +\fi +} + +\DeclareOptionX{osf}[true]{% +\@nameuse{if#1}% + \mintspirit@liningfalse +\else + \mintspirit@liningtrue +\fi +} + +\DeclareOptionX{tabular}[true]{% +\@nameuse{if#1}% + \mintspirit@tabulartrue +\else + mintspirit@tabularfalse +\fi +} + +\DeclareOptionX{tab}[true]{% +\@nameuse{if#1}% + \mintspirit@tabulartrue +\else + mintspirit@tabularfalse +\fi +} + +\DeclareOptionX{proportional}[true]{% +\@nameuse{if#1}% + \mintspirit@tabularfalse +\else + \mintspirit@tabulartrue +\fi +} + +\DeclareOptionX{prop}[true]{% +\@nameuse{if#1}% + \mintspirit@tabularfalse +\else + \mintspirit@tabulartrue +\fi +} + +\ProcessOptionsX\relax + + +\ifmintspirit@otf + \RequirePackage{fontspec} +\else + \RequirePackage{fontenc,fontaxes} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% for some reason, Tabular Lining <-> Proportional Lining !! % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifmintspirit@otf + + \defaultfontfeatures{ + Ligatures = TeX , + Extension = .otf , + Scale = \MintSpirit@scale , + } + + \ifmintspirit@lining + \ifmintspirit@tabular + \setsansfont + [ Numbers = {Proportional,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + \else + \setsansfont + [ Numbers = {Monospaced,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + \fi + \else + \ifmintspirit@tabular + \setsansfont + [ Numbers = {Monospaced,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + \else + \setsansfont + [ Numbers = {Proportional,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + \fi + \fi + + % grab current family in case of subsequent change: + \let\mintspiritfamily\sfdefault + \ifmintspirit@default\renewcommand*\familydefault{\mintspiritfamily}\fi + + \newfontfamily\tlstyle + [ Numbers = {Proportional,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + + \newfontfamily\tostyle + [ Numbers = {Monospaced,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + + \newfontfamily\plstyle + [ Numbers = {Monospaced,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + + \newfontfamily\postyle + [ Numbers = {Proportional,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + + + \providecommand\useosf{% + \defaultfontfeatures{ + Ligatures = TeX , + Extension = .otf , + Scale = \MintSpirit@scale , + } + \ifmintspirit@tabular + \setsansfont + [ Numbers = {Monospaced,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + \else + \setsansfont + [ Numbers = {Proportional,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpirit} + \fi + \defaultfontfeatures{} + } + + \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} + \providecommand\infigures{\addfontfeatures{VerticalPosition=ScientificInferior}} + +\else % type1 + + \ifmintspirit@lining + \ifmintspirit@tabular + \def\mintspiritfamily{MintSpirit-LF} + \else + \def\mintspiritfamily{MintSpirit-TLF} + \fi + \else + \ifmintspirit@tabular + \def\mintspiritfamily{MintSpirit-TOsF} + \else + \def\mintspiritfamily{MintSpirit-OsF} + \fi + \fi + \renewcommand*\sfdefault{\mintspiritfamily} + \ifmintspirit@default\edef\familydefault{\sfdefault}\fi + + \providecommand*\mintspirit{\fontfamily{\mintspiritfamily}\selectfont} + \providecommand*\tlstyle{\fontfamily{MintSpirit-LF}\selectfont} + \providecommand*\tostyle{\fontfamily{MintSpirit-TOsF}\selectfont} + \providecommand*\plstyle{\fontfamily{MintSpirit-TLF}\selectfont} + \providecommand*\postyle{\fontfamily{MintSpirit-OsF}\selectfont} + + + \fa@naming@exception{figures}{{inferior}{proportional}}{Inf} + \fa@naming@exception{figures}{{inferior}{tabular}}{Inf} + \fa@naming@exception{figures}{{superior}{proportional}}{Sup} + \fa@naming@exception{figures}{{superior}{tabular}}{Sup} + \providecommand\sufigures{\@nomath\sufigures\fontfigurestyle{superior}\selectfont} + \providecommand\infigures{\@nomath\infigures\fontfigurestyle{inferior}\selectfont} + +\fi + +\DeclareTextFontCommand{\textpl}{\plstyle} +\DeclareTextFontCommand{\textpo}{\postyle} +\DeclareTextFontCommand{\texttl}{\tlstyle} +\DeclareTextFontCommand{\textto}{\tostyle} + +\DeclareTextFontCommand{\textsu}{\sufigures} +\DeclareTextFontCommand{\textin}{\infigures} + +% turn off defaults in case other fonts are selected: +\ifmintspirit@otf + \defaultfontfeatures{} +\fi + +\endinput + diff --git a/fonts/mintspirit/latex/mintspirit2.sty b/fonts/mintspirit/latex/mintspirit2.sty new file mode 100644 index 0000000000..f4e0d9d00b --- /dev/null +++ b/fonts/mintspirit/latex/mintspirit2.sty @@ -0,0 +1,267 @@ +\ProvidesPackage{mintspirit2}[% + 2022/09/21 (Bob Tennent) Supports MintSpiritNoTwo fonts for all LaTeX engines. ] + +\RequirePackage{ifxetex,ifluatex,textcomp} + +\newif\ifmintspirit@otf + +\ifxetex + \mintspirit@otftrue +\else\ifluatex + \mintspirit@otftrue +\else % [pdf]LaTeX + \mintspirit@otffalse +\fi\fi + +\newif\ifmintspirit@default \mintspirit@defaultfalse +\newif\ifmintspirit@lining \mintspirit@liningfalse +\newif\ifmintspirit@tabular \mintspirit@tabularfalse + +\newcommand*{\MintSpiritNoTwo@scale}{1} +\RequirePackage{xkeyval} +\DeclareOptionX{scaled}{\renewcommand*{\MintSpiritNoTwo@scale}{#1}} +\DeclareOptionX{scale}{\renewcommand*{\MintSpiritNoTwo@scale}{#1}} + +\DeclareOptionX{type1}{\mintspirit@otffalse} + +\DeclareOptionX{default}{\mintspirit@defaulttrue} +\DeclareOptionX{sfdefault}{\mintspirit@defaulttrue} + +\DeclareOptionX{lining}[true]{% +\@nameuse{if#1}% + \mintspirit@liningtrue +\else + mintspirit@liningfalse +\fi +} +\DeclareOptionX{lf}[true]{% +\@nameuse{if#1}% + \mintspirit@liningtrue +\else + mintspirit@liningfalse +\fi +} +\DeclareOptionX{oldstyle}[true]{% +\@nameuse{if#1}% + \mintspirit@liningfalse +\else + \mintspirit@liningtrue +\fi +} + +\DeclareOptionX{osf}[true]{% +\@nameuse{if#1}% + \mintspirit@liningfalse +\else + \mintspirit@liningtrue +\fi +} + +\DeclareOptionX{tabular}[true]{% +\@nameuse{if#1}% + \mintspirit@tabulartrue +\else + mintspirit@tabularfalse +\fi +} + +\DeclareOptionX{tab}[true]{% +\@nameuse{if#1}% + \mintspirit@tabulartrue +\else + mintspirit@tabularfalse +\fi +} + +\DeclareOptionX{proportional}[true]{% +\@nameuse{if#1}% + \mintspirit@tabularfalse +\else + \mintspirit@tabulartrue +\fi +} + +\DeclareOptionX{prop}[true]{% +\@nameuse{if#1}% + \mintspirit@tabularfalse +\else + \mintspirit@tabulartrue +\fi +} + +\ProcessOptionsX\relax + + +\ifmintspirit@otf + \RequirePackage{fontspec} +\else + \RequirePackage{fontenc,fontaxes} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% for some reason, Tabular Lining <-> Proportional Lining !! % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifmintspirit@otf + + \defaultfontfeatures{ + Ligatures = TeX , + Extension = .otf , + Scale = \MintSpiritNoTwo@scale , + } + + \ifmintspirit@lining + \ifmintspirit@tabular + \setsansfont + [ Numbers = {Proportional,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + \else + \setsansfont + [ Numbers = {Monospaced,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + \fi + \else + \ifmintspirit@tabular + \setsansfont + [ Numbers = {Monospaced,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + \else + \setsansfont + [ Numbers = {Proportional,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + \fi + \fi + + % grab current family in case of subsequent change: + \let\mintspiritfamily\sfdefault + \ifmintspirit@default\renewcommand*\familydefault{\mintspiritfamily}\fi + + \newfontfamily\tlstyle + [ Numbers = {Proportional,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + + \newfontfamily\tostyle + [ Numbers = {Monospaced,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + + \newfontfamily\plstyle + [ Numbers = {Monospaced,Lining}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + + \newfontfamily\postyle + [ Numbers = {Proportional,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + + + \providecommand\useosf{% + \defaultfontfeatures{ + Ligatures = TeX , + Extension = .otf , + Scale = \MintSpiritNoTwo@scale , + } + \ifmintspirit@tabular + \setsansfont + [ Numbers = {Monospaced,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + \else + \setsansfont + [ Numbers = {Proportional,OldStyle}, + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic ] + {MintSpiritNo2} + \fi + \defaultfontfeatures{} + } + + \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} + \providecommand\infigures{\addfontfeatures{VerticalPosition=ScientificInferior}} + +\else % type1 + + \ifmintspirit@lining + \ifmintspirit@tabular + \def\mintspiritfamily{MintSpiritNoTwo-LF} + \else + \def\mintspiritfamily{MintSpiritNoTwo-TLF} + \fi + \else + \ifmintspirit@tabular + \def\mintspiritfamily{MintSpiritNoTwo-TOsF} + \else + \def\mintspiritfamily{MintSpiritNoTwo-OsF} + \fi + \fi + \renewcommand*\sfdefault{\mintspiritfamily} + \ifmintspirit@default\edef\familydefault{\sfdefault}\fi + + \providecommand*\mintspirit2{\fontfamily{\mintspiritfamily}\selectfont} + \providecommand*\tlstyle{\fontfamily{MintSpiritNoTwo-LF}\selectfont} + \providecommand*\tostyle{\fontfamily{MintSpiritNoTwo-TOsF}\selectfont} + \providecommand*\plstyle{\fontfamily{MintSpiritNoTwo-TLF}\selectfont} + \providecommand*\postyle{\fontfamily{MintSpiritNoTwo-OsF}\selectfont} + + + \fa@naming@exception{figures}{{inferior}{proportional}}{Inf} + \fa@naming@exception{figures}{{inferior}{tabular}}{Inf} + \fa@naming@exception{figures}{{superior}{proportional}}{Sup} + \fa@naming@exception{figures}{{superior}{tabular}}{Sup} + \providecommand\sufigures{\@nomath\sufigures\fontfigurestyle{superior}\selectfont} + \providecommand\infigures{\@nomath\infigures\fontfigurestyle{inferior}\selectfont} + +\fi + +\DeclareTextFontCommand{\textpl}{\plstyle} +\DeclareTextFontCommand{\textpo}{\postyle} +\DeclareTextFontCommand{\texttl}{\tlstyle} +\DeclareTextFontCommand{\textto}{\tostyle} + +\DeclareTextFontCommand{\textsu}{\sufigures} +\DeclareTextFontCommand{\textin}{\infigures} + +% turn off defaults in case other fonts are selected: +\ifmintspirit@otf + \defaultfontfeatures{} +\fi + +\endinput + diff --git a/fonts/mintspirit/map/mintspirit.map b/fonts/mintspirit/map/mintspirit.map new file mode 100644 index 0000000000..75a3deb0bf --- /dev/null +++ b/fonts/mintspirit/map/mintspirit.map @@ -0,0 +1,180 @@ +% Automatically maintained by otftotfm or other programs. Do not edit. + +MintSpirit-BoldItalic-tlf-ot1 MintSpirit-BoldItalic "AutoEnc_lvhuc6rwsx5uuc2sh57qemmrsa ReEncodeFont" <[mntsprt_lvhuc6.enc \MintSpirit@@scale MintSpirit-Bold-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{b}{sl}{ - <-> ssub * MintSpirit-Inf/b/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{m}{sl}{ - <-> ssub * MintSpirit-Inf/m/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{bx}{sl}{ - <-> ssub * MintSpirit-Inf/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{bx}{n}{ - <-> ssub * MintSpirit-Inf/b/n -}{} - -\DeclareFontShape{LY1}{MintSpirit-Inf}{bx}{it}{ - <-> ssub * MintSpirit-Inf/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpirit-LF.fd b/fonts/mintspirit/tex/LY1MintSpirit-LF.fd deleted file mode 100644 index 04d6d09f58..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpirit-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpirit-LF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-LF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpirit-LF}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{b}{sl}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{m}{sl}{ - <-> ssub * MintSpirit-LF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{bx}{sl}{ - <-> ssub * MintSpirit-LF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{bx}{n}{ - <-> ssub * MintSpirit-LF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpirit-LF}{bx}{it}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpirit-OsF.fd b/fonts/mintspirit/tex/LY1MintSpirit-OsF.fd deleted file mode 100644 index d3251b0a27..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpirit-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpirit-OsF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-OsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpirit-OsF}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{b}{sl}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{m}{sl}{ - <-> ssub * MintSpirit-OsF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{bx}{sl}{ - <-> ssub * MintSpirit-OsF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{bx}{n}{ - <-> ssub * MintSpirit-OsF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpirit-OsF}{bx}{it}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpirit-Sup.fd b/fonts/mintspirit/tex/LY1MintSpirit-Sup.fd deleted file mode 100644 index 9df5974503..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpirit-Sup.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpirit-Sup.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-Sup.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpirit-Sup}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{b}{sl}{ - <-> ssub * MintSpirit-Sup/b/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{m}{sl}{ - <-> ssub * MintSpirit-Sup/m/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{bx}{sl}{ - <-> ssub * MintSpirit-Sup/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{bx}{n}{ - <-> ssub * MintSpirit-Sup/b/n -}{} - -\DeclareFontShape{LY1}{MintSpirit-Sup}{bx}{it}{ - <-> ssub * MintSpirit-Sup/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpirit-TLF.fd b/fonts/mintspirit/tex/LY1MintSpirit-TLF.fd deleted file mode 100644 index 21142f35be..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpirit-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpirit-TLF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-TLF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpirit-TLF}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{b}{sl}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{m}{sl}{ - <-> ssub * MintSpirit-TLF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{bx}{sl}{ - <-> ssub * MintSpirit-TLF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{bx}{n}{ - <-> ssub * MintSpirit-TLF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpirit-TLF}{bx}{it}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpirit-TOsF.fd b/fonts/mintspirit/tex/LY1MintSpirit-TOsF.fd deleted file mode 100644 index 7682fc9a16..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpirit-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpirit-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpirit-TOsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpirit-TOsF}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{b}{sl}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{m}{sl}{ - <-> ssub * MintSpirit-TOsF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{bx}{sl}{ - <-> ssub * MintSpirit-TOsF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{bx}{n}{ - <-> ssub * MintSpirit-TOsF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpirit-TOsF}{bx}{it}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-Inf.fd b/fonts/mintspirit/tex/LY1MintSpiritNoTwo-Inf.fd deleted file mode 100644 index ce60fdbb06..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-Inf.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpiritNoTwo-Inf.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-Inf.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpiritNoTwo-Inf}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/b/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-inf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/m/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-Inf/b/n -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Inf}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-Inf/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/tex/LY1MintSpiritNoTwo-LF.fd deleted file mode 100644 index 43b615f9f3..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpiritNoTwo-LF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-LF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpiritNoTwo-LF}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-LF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-LF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/tex/LY1MintSpiritNoTwo-OsF.fd deleted file mode 100644 index 60cf7d8dcb..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpiritNoTwo-OsF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-OsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpiritNoTwo-OsF}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-OsF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-OsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-Sup.fd b/fonts/mintspirit/tex/LY1MintSpiritNoTwo-Sup.fd deleted file mode 100644 index cd88551718..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-Sup.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpiritNoTwo-Sup.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-Sup.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpiritNoTwo-Sup}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/b/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-sup-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/m/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-Sup/b/n -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-Sup}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-Sup/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/tex/LY1MintSpiritNoTwo-TLF.fd deleted file mode 100644 index b5b12af657..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpiritNoTwo-TLF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-TLF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpiritNoTwo-TLF}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TLF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TLF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/tex/LY1MintSpiritNoTwo-TOsF.fd deleted file mode 100644 index 2aec4d7db5..0000000000 --- a/fonts/mintspirit/tex/LY1MintSpiritNoTwo-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{LY1MintSpiritNoTwo-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for LY1/MintSpiritNoTwo-TOsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{LY1}{MintSpiritNoTwo-TOsF}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-ly1 -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/m/it -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/sl -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/n -}{} - -\DeclareFontShape{LY1}{MintSpiritNoTwo-TOsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpirit-Inf.fd b/fonts/mintspirit/tex/OT1MintSpirit-Inf.fd deleted file mode 100644 index 30c1beffda..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpirit-Inf.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpirit-Inf.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-Inf.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpirit-Inf}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{b}{sl}{ - <-> ssub * MintSpirit-Inf/b/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{m}{sl}{ - <-> ssub * MintSpirit-Inf/m/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{bx}{sl}{ - <-> ssub * MintSpirit-Inf/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{bx}{n}{ - <-> ssub * MintSpirit-Inf/b/n -}{} - -\DeclareFontShape{OT1}{MintSpirit-Inf}{bx}{it}{ - <-> ssub * MintSpirit-Inf/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpirit-LF.fd b/fonts/mintspirit/tex/OT1MintSpirit-LF.fd deleted file mode 100644 index 4aac0fce94..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpirit-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpirit-LF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-LF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpirit-LF}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{b}{sl}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{m}{sl}{ - <-> ssub * MintSpirit-LF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{bx}{sl}{ - <-> ssub * MintSpirit-LF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{bx}{n}{ - <-> ssub * MintSpirit-LF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpirit-LF}{bx}{it}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpirit-OsF.fd b/fonts/mintspirit/tex/OT1MintSpirit-OsF.fd deleted file mode 100644 index fef17b747b..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpirit-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpirit-OsF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-OsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpirit-OsF}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{b}{sl}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{m}{sl}{ - <-> ssub * MintSpirit-OsF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{bx}{sl}{ - <-> ssub * MintSpirit-OsF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{bx}{n}{ - <-> ssub * MintSpirit-OsF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpirit-OsF}{bx}{it}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpirit-Sup.fd b/fonts/mintspirit/tex/OT1MintSpirit-Sup.fd deleted file mode 100644 index 7a2157a60b..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpirit-Sup.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpirit-Sup.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-Sup.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpirit-Sup}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{b}{sl}{ - <-> ssub * MintSpirit-Sup/b/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{m}{sl}{ - <-> ssub * MintSpirit-Sup/m/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{bx}{sl}{ - <-> ssub * MintSpirit-Sup/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{bx}{n}{ - <-> ssub * MintSpirit-Sup/b/n -}{} - -\DeclareFontShape{OT1}{MintSpirit-Sup}{bx}{it}{ - <-> ssub * MintSpirit-Sup/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpirit-TLF.fd b/fonts/mintspirit/tex/OT1MintSpirit-TLF.fd deleted file mode 100644 index 284da40111..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpirit-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpirit-TLF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-TLF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpirit-TLF}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{b}{sl}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{m}{sl}{ - <-> ssub * MintSpirit-TLF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{bx}{sl}{ - <-> ssub * MintSpirit-TLF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{bx}{n}{ - <-> ssub * MintSpirit-TLF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpirit-TLF}{bx}{it}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpirit-TOsF.fd b/fonts/mintspirit/tex/OT1MintSpirit-TOsF.fd deleted file mode 100644 index e72d1e044d..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpirit-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpirit-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpirit-TOsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpirit-TOsF}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{b}{sl}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{m}{sl}{ - <-> ssub * MintSpirit-TOsF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{bx}{sl}{ - <-> ssub * MintSpirit-TOsF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{bx}{n}{ - <-> ssub * MintSpirit-TOsF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpirit-TOsF}{bx}{it}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-Inf.fd b/fonts/mintspirit/tex/OT1MintSpiritNoTwo-Inf.fd deleted file mode 100644 index 8dbcf8e46b..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-Inf.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpiritNoTwo-Inf.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-Inf.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpiritNoTwo-Inf}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/b/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-inf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/m/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-Inf/b/n -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Inf}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-Inf/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/tex/OT1MintSpiritNoTwo-LF.fd deleted file mode 100644 index 99bf8ee04f..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpiritNoTwo-LF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-LF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpiritNoTwo-LF}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-LF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-LF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/tex/OT1MintSpiritNoTwo-OsF.fd deleted file mode 100644 index 0868a23a17..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpiritNoTwo-OsF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-OsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpiritNoTwo-OsF}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-OsF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-OsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-Sup.fd b/fonts/mintspirit/tex/OT1MintSpiritNoTwo-Sup.fd deleted file mode 100644 index fefc48b248..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-Sup.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpiritNoTwo-Sup.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-Sup.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpiritNoTwo-Sup}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/b/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-sup-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/m/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-Sup/b/n -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-Sup}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-Sup/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/tex/OT1MintSpiritNoTwo-TLF.fd deleted file mode 100644 index 3ccce70329..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpiritNoTwo-TLF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-TLF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpiritNoTwo-TLF}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TLF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TLF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/tex/OT1MintSpiritNoTwo-TOsF.fd deleted file mode 100644 index 9561e6b5ab..0000000000 --- a/fonts/mintspirit/tex/OT1MintSpiritNoTwo-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{OT1MintSpiritNoTwo-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for OT1/MintSpiritNoTwo-TOsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{OT1}{MintSpiritNoTwo-TOsF}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-ot1 -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/m/it -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/sl -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/n -}{} - -\DeclareFontShape{OT1}{MintSpiritNoTwo-TOsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpirit-Inf.fd b/fonts/mintspirit/tex/T1MintSpirit-Inf.fd deleted file mode 100644 index b89b76b8d5..0000000000 --- a/fonts/mintspirit/tex/T1MintSpirit-Inf.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpirit-Inf.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-Inf.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpirit-Inf}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{b}{sl}{ - <-> ssub * MintSpirit-Inf/b/it -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{m}{sl}{ - <-> ssub * MintSpirit-Inf/m/it -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{bx}{sl}{ - <-> ssub * MintSpirit-Inf/b/sl -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{bx}{n}{ - <-> ssub * MintSpirit-Inf/b/n -}{} - -\DeclareFontShape{T1}{MintSpirit-Inf}{bx}{it}{ - <-> ssub * MintSpirit-Inf/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpirit-LF.fd b/fonts/mintspirit/tex/T1MintSpirit-LF.fd deleted file mode 100644 index e3945a13fc..0000000000 --- a/fonts/mintspirit/tex/T1MintSpirit-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpirit-LF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-LF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpirit-LF}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{b}{sl}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{m}{sl}{ - <-> ssub * MintSpirit-LF/m/it -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{bx}{sl}{ - <-> ssub * MintSpirit-LF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{bx}{n}{ - <-> ssub * MintSpirit-LF/b/n -}{} - -\DeclareFontShape{T1}{MintSpirit-LF}{bx}{it}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpirit-OsF.fd b/fonts/mintspirit/tex/T1MintSpirit-OsF.fd deleted file mode 100644 index 36ae37d3f5..0000000000 --- a/fonts/mintspirit/tex/T1MintSpirit-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpirit-OsF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-OsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpirit-OsF}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{b}{sl}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{m}{sl}{ - <-> ssub * MintSpirit-OsF/m/it -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{bx}{sl}{ - <-> ssub * MintSpirit-OsF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{bx}{n}{ - <-> ssub * MintSpirit-OsF/b/n -}{} - -\DeclareFontShape{T1}{MintSpirit-OsF}{bx}{it}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpirit-Sup.fd b/fonts/mintspirit/tex/T1MintSpirit-Sup.fd deleted file mode 100644 index 0212e81c63..0000000000 --- a/fonts/mintspirit/tex/T1MintSpirit-Sup.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpirit-Sup.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-Sup.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpirit-Sup}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{b}{sl}{ - <-> ssub * MintSpirit-Sup/b/it -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{m}{sl}{ - <-> ssub * MintSpirit-Sup/m/it -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{bx}{sl}{ - <-> ssub * MintSpirit-Sup/b/sl -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{bx}{n}{ - <-> ssub * MintSpirit-Sup/b/n -}{} - -\DeclareFontShape{T1}{MintSpirit-Sup}{bx}{it}{ - <-> ssub * MintSpirit-Sup/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpirit-TLF.fd b/fonts/mintspirit/tex/T1MintSpirit-TLF.fd deleted file mode 100644 index 50aec1c0af..0000000000 --- a/fonts/mintspirit/tex/T1MintSpirit-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpirit-TLF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-TLF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpirit-TLF}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{b}{sl}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{m}{sl}{ - <-> ssub * MintSpirit-TLF/m/it -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{bx}{sl}{ - <-> ssub * MintSpirit-TLF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{bx}{n}{ - <-> ssub * MintSpirit-TLF/b/n -}{} - -\DeclareFontShape{T1}{MintSpirit-TLF}{bx}{it}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpirit-TOsF.fd b/fonts/mintspirit/tex/T1MintSpirit-TOsF.fd deleted file mode 100644 index ebbe213be7..0000000000 --- a/fonts/mintspirit/tex/T1MintSpirit-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpirit-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpirit-TOsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpirit-TOsF}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{b}{sl}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{m}{sl}{ - <-> ssub * MintSpirit-TOsF/m/it -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{bx}{sl}{ - <-> ssub * MintSpirit-TOsF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{bx}{n}{ - <-> ssub * MintSpirit-TOsF/b/n -}{} - -\DeclareFontShape{T1}{MintSpirit-TOsF}{bx}{it}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpiritNoTwo-Inf.fd b/fonts/mintspirit/tex/T1MintSpiritNoTwo-Inf.fd deleted file mode 100644 index 98d77a0ac7..0000000000 --- a/fonts/mintspirit/tex/T1MintSpiritNoTwo-Inf.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpiritNoTwo-Inf.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-Inf.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpiritNoTwo-Inf}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/b/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-inf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/m/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-Inf/b/sl -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-Inf/b/n -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Inf}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-Inf/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/tex/T1MintSpiritNoTwo-LF.fd deleted file mode 100644 index 4d3985921d..0000000000 --- a/fonts/mintspirit/tex/T1MintSpiritNoTwo-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpiritNoTwo-LF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-LF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpiritNoTwo-LF}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/m/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-LF/b/n -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-LF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/tex/T1MintSpiritNoTwo-OsF.fd deleted file mode 100644 index 9a1541a78d..0000000000 --- a/fonts/mintspirit/tex/T1MintSpiritNoTwo-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpiritNoTwo-OsF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-OsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpiritNoTwo-OsF}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/m/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-OsF/b/n -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-OsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpiritNoTwo-Sup.fd b/fonts/mintspirit/tex/T1MintSpiritNoTwo-Sup.fd deleted file mode 100644 index a005520fd5..0000000000 --- a/fonts/mintspirit/tex/T1MintSpiritNoTwo-Sup.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpiritNoTwo-Sup.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-Sup.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpiritNoTwo-Sup}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/b/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-sup-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/m/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-Sup/b/sl -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-Sup/b/n -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-Sup}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-Sup/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/tex/T1MintSpiritNoTwo-TLF.fd deleted file mode 100644 index 55c50ff7f1..0000000000 --- a/fonts/mintspirit/tex/T1MintSpiritNoTwo-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpiritNoTwo-TLF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-TLF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpiritNoTwo-TLF}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/m/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TLF/b/n -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TLF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/T1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/tex/T1MintSpiritNoTwo-TOsF.fd deleted file mode 100644 index e1154887ea..0000000000 --- a/fonts/mintspirit/tex/T1MintSpiritNoTwo-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{T1MintSpiritNoTwo-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for T1/MintSpiritNoTwo-TOsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{T1}{MintSpiritNoTwo-TOsF}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-t1 -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/m/it -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/sl -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/n -}{} - -\DeclareFontShape{T1}{MintSpiritNoTwo-TOsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpirit-LF.fd b/fonts/mintspirit/tex/TS1MintSpirit-LF.fd deleted file mode 100644 index 28066b16cf..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpirit-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpirit-LF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-LF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpirit-LF}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{b}{sl}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{m}{sl}{ - <-> ssub * MintSpirit-LF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{bx}{sl}{ - <-> ssub * MintSpirit-LF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{bx}{n}{ - <-> ssub * MintSpirit-LF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpirit-LF}{bx}{it}{ - <-> ssub * MintSpirit-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpirit-OsF.fd b/fonts/mintspirit/tex/TS1MintSpirit-OsF.fd deleted file mode 100644 index b97e3c509a..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpirit-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpirit-OsF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-OsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpirit-OsF}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{b}{sl}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{m}{sl}{ - <-> ssub * MintSpirit-OsF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{bx}{sl}{ - <-> ssub * MintSpirit-OsF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{bx}{n}{ - <-> ssub * MintSpirit-OsF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpirit-OsF}{bx}{it}{ - <-> ssub * MintSpirit-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpirit-TLF.fd b/fonts/mintspirit/tex/TS1MintSpirit-TLF.fd deleted file mode 100644 index 6278aba4d3..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpirit-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpirit-TLF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-TLF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpirit-TLF}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{b}{sl}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{m}{sl}{ - <-> ssub * MintSpirit-TLF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{bx}{sl}{ - <-> ssub * MintSpirit-TLF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{bx}{n}{ - <-> ssub * MintSpirit-TLF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpirit-TLF}{bx}{it}{ - <-> ssub * MintSpirit-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpirit-TOsF.fd b/fonts/mintspirit/tex/TS1MintSpirit-TOsF.fd deleted file mode 100644 index 9e7e65676a..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpirit-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpirit-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpirit-TOsF.] - -\expandafter\ifx\csname MintSpirit@scale\endcsname\relax - \let\MintSpirit@@scale\@empty -\else - \edef\MintSpirit@@scale{s*[\csname MintSpirit@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpirit-TOsF}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{b}{n}{ - <-> \MintSpirit@@scale MintSpirit-Bold-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{b}{it}{ - <-> \MintSpirit@@scale MintSpirit-BoldItalic-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{b}{sl}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{m}{n}{ - <-> \MintSpirit@@scale MintSpirit-Regular-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{m}{it}{ - <-> \MintSpirit@@scale MintSpirit-Italic-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{m}{sl}{ - <-> ssub * MintSpirit-TOsF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{bx}{sl}{ - <-> ssub * MintSpirit-TOsF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{bx}{n}{ - <-> ssub * MintSpirit-TOsF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpirit-TOsF}{bx}{it}{ - <-> ssub * MintSpirit-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-LF.fd b/fonts/mintspirit/tex/TS1MintSpiritNoTwo-LF.fd deleted file mode 100644 index 7c1ae9981d..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-LF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpiritNoTwo-LF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-LF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpiritNoTwo-LF}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-lf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-LF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-LF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-LF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-LF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-OsF.fd b/fonts/mintspirit/tex/TS1MintSpiritNoTwo-OsF.fd deleted file mode 100644 index 8f31b025db..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-OsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpiritNoTwo-OsF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-OsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpiritNoTwo-OsF}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-osf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-OsF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-OsF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-OsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-OsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-TLF.fd b/fonts/mintspirit/tex/TS1MintSpiritNoTwo-TLF.fd deleted file mode 100644 index 8457f8b726..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-TLF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpiritNoTwo-TLF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-TLF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpiritNoTwo-TLF}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tlf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TLF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TLF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TLF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TLF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-TOsF.fd b/fonts/mintspirit/tex/TS1MintSpiritNoTwo-TOsF.fd deleted file mode 100644 index 21978b6719..0000000000 --- a/fonts/mintspirit/tex/TS1MintSpiritNoTwo-TOsF.fd +++ /dev/null @@ -1,50 +0,0 @@ -%% Generated by autoinst on 2013/11/02 -%% -\ProvidesFile{TS1MintSpiritNoTwo-TOsF.fd} - [2013/11/02 (autoinst) Font definitions for TS1/MintSpiritNoTwo-TOsF.] - -\expandafter\ifx\csname MintSpiritNoTwo@scale\endcsname\relax - \let\MintSpiritNoTwo@@scale\@empty -\else - \edef\MintSpiritNoTwo@@scale{s*[\csname MintSpiritNoTwo@scale\endcsname]}% -\fi - -\DeclareFontFamily{TS1}{MintSpiritNoTwo-TOsF}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{b}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Bold-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{b}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-BoldItalic-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{b}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{m}{n}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Regular-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{m}{it}{ - <-> \MintSpiritNoTwo@@scale MintSpiritNo2-Italic-tosf-ts1 -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{m}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/m/it -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{bx}{sl}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/sl -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{bx}{n}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/n -}{} - -\DeclareFontShape{TS1}{MintSpiritNoTwo-TOsF}{bx}{it}{ - <-> ssub * MintSpiritNoTwo-TOsF/b/it -}{} - -\endinput diff --git a/fonts/mintspirit/tex/mintspirit.sty b/fonts/mintspirit/tex/mintspirit.sty deleted file mode 100644 index 2f3f3f4ff3..0000000000 --- a/fonts/mintspirit/tex/mintspirit.sty +++ /dev/null @@ -1,268 +0,0 @@ -\ProvidesPackage{mintspirit}[% - 2013/11/02 (Bob Tennent) Supports MintSpirit fonts for all LaTeX engines. ] - -\RequirePackage{ifxetex,ifluatex,textcomp} - -\newif\ifmintspirit@otf - -\ifxetex - \mintspirit@otftrue -\else\ifluatex - \mintspirit@otftrue -\else % [pdf]LaTeX - \mintspirit@otffalse -\fi\fi - -\newif\ifmintspirit@default \mintspirit@defaultfalse -\newif\ifmintspirit@lining \mintspirit@liningfalse -\newif\ifmintspirit@tabular \mintspirit@tabularfalse - -\newcommand*{\MintSpirit@scale}{1} -\RequirePackage{xkeyval} -\DeclareOptionX{scaled}{\renewcommand*{\MintSpirit@scale}{#1}} -\DeclareOptionX{scale}{\renewcommand*{\MintSpirit@scale}{#1}} - -\DeclareOptionX{type1}{\mintspirit@otffalse} - -\DeclareOptionX{default}{\mintspirit@defaulttrue} -\DeclareOptionX{sfdefault}{\mintspirit@defaulttrue} - -\DeclareOptionX{lining}[true]{% -\@nameuse{if#1}% - \mintspirit@liningtrue -\else - mintspirit@liningfalse -\fi -} -\DeclareOptionX{lf}[true]{% -\@nameuse{if#1}% - \mintspirit@liningtrue -\else - mintspirit@liningfalse -\fi -} -\DeclareOptionX{oldstyle}[true]{% -\@nameuse{if#1}% - \mintspirit@liningfalse -\else - \mintspirit@liningtrue -\fi -} - -\DeclareOptionX{osf}[true]{% -\@nameuse{if#1}% - \mintspirit@liningfalse -\else - \mintspirit@liningtrue -\fi -} - -\DeclareOptionX{tabular}[true]{% -\@nameuse{if#1}% - \mintspirit@tabulartrue -\else - mintspirit@tabularfalse -\fi -} - -\DeclareOptionX{tab}[true]{% -\@nameuse{if#1}% - \mintspirit@tabulartrue -\else - mintspirit@tabularfalse -\fi -} - -\DeclareOptionX{proportional}[true]{% -\@nameuse{if#1}% - \mintspirit@tabularfalse -\else - \mintspirit@tabulartrue -\fi -} - -\DeclareOptionX{prop}[true]{% -\@nameuse{if#1}% - \mintspirit@tabularfalse -\else - \mintspirit@tabulartrue -\fi -} - -\ProcessOptionsX\relax - - -\ifmintspirit@otf - \RequirePackage{fontspec} -\else - \RequirePackage{fontenc,fontaxes} -\fi - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% for some reason, Tabular Lining <-> Proportional Lining !! % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\ifmintspirit@otf - - \ifxetex\XeTeXtracingfonts=1\fi - \defaultfontfeatures{ - Ligatures = TeX , - Extension = .otf , - Scale = \MintSpirit@scale , - } - - \ifmintspirit@lining - \ifmintspirit@tabular - \setsansfont - [ Numbers = {Proportional,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - \else - \setsansfont - [ Numbers = {Monospaced,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - \fi - \else - \ifmintspirit@tabular - \setsansfont - [ Numbers = {Monospaced,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - \else - \setsansfont - [ Numbers = {Proportional,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - \fi - \fi - - % grab current family in case of subsequent change: - \let\mintspiritfamily\sfdefault - \ifmintspirit@default\renewcommand*\familydefault{\mintspiritfamily}\fi - - \newfontfamily\tlstyle - [ Numbers = {Proportional,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - - \newfontfamily\tostyle - [ Numbers = {Monospaced,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - - \newfontfamily\plstyle - [ Numbers = {Monospaced,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - - \newfontfamily\postyle - [ Numbers = {Proportional,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - - - \providecommand\useosf{% - \defaultfontfeatures{ - Ligatures = TeX , - Extension = .otf , - Scale = \MintSpirit@scale , - } - \ifmintspirit@tabular - \setsansfont - [ Numbers = {Monospaced,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - \else - \setsansfont - [ Numbers = {Proportional,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpirit} - \fi - \defaultfontfeatures{} - } - - \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} - \providecommand\infigures{\addfontfeatures{VerticalPosition=ScientificInferior}} - -\else % type1 - - \ifmintspirit@lining - \ifmintspirit@tabular - \def\mintspiritfamily{MintSpirit-LF} - \else - \def\mintspiritfamily{MintSpirit-TLF} - \fi - \else - \ifmintspirit@tabular - \def\mintspiritfamily{MintSpirit-TOsF} - \else - \def\mintspiritfamily{MintSpirit-OsF} - \fi - \fi - \renewcommand*\sfdefault{\mintspiritfamily} - \ifmintspirit@default\edef\familydefault{\sfdefault}\fi - - \providecommand*\mintspirit{\fontfamily{\mintspiritfamily}\selectfont} - \providecommand*\tlstyle{\fontfamily{MintSpirit-LF}\selectfont} - \providecommand*\tostyle{\fontfamily{MintSpirit-TOsF}\selectfont} - \providecommand*\plstyle{\fontfamily{MintSpirit-TLF}\selectfont} - \providecommand*\postyle{\fontfamily{MintSpirit-OsF}\selectfont} - - - \fa@naming@exception{figures}{{inferior}{proportional}}{Inf} - \fa@naming@exception{figures}{{inferior}{tabular}}{Inf} - \fa@naming@exception{figures}{{superior}{proportional}}{Sup} - \fa@naming@exception{figures}{{superior}{tabular}}{Sup} - \providecommand\sufigures{\@nomath\sufigures\fontfigurestyle{superior}\selectfont} - \providecommand\infigures{\@nomath\infigures\fontfigurestyle{inferior}\selectfont} - -\fi - -\DeclareTextFontCommand{\textpl}{\plstyle} -\DeclareTextFontCommand{\textpo}{\postyle} -\DeclareTextFontCommand{\texttl}{\tlstyle} -\DeclareTextFontCommand{\textto}{\tostyle} - -\DeclareTextFontCommand{\textsu}{\sufigures} -\DeclareTextFontCommand{\textin}{\infigures} - -% turn off defaults in case other fonts are selected: -\ifmintspirit@otf - \defaultfontfeatures{} -\fi - -\endinput - diff --git a/fonts/mintspirit/tex/mintspirit2.sty b/fonts/mintspirit/tex/mintspirit2.sty deleted file mode 100644 index e6e37ae40e..0000000000 --- a/fonts/mintspirit/tex/mintspirit2.sty +++ /dev/null @@ -1,268 +0,0 @@ -\ProvidesPackage{mintspirit2}[% - 2013/11/02 (Bob Tennent) Supports MintSpiritNoTwo fonts for all LaTeX engines. ] - -\RequirePackage{ifxetex,ifluatex,textcomp} - -\newif\ifmintspirit@otf - -\ifxetex - \mintspirit@otftrue -\else\ifluatex - \mintspirit@otftrue -\else % [pdf]LaTeX - \mintspirit@otffalse -\fi\fi - -\newif\ifmintspirit@default \mintspirit@defaultfalse -\newif\ifmintspirit@lining \mintspirit@liningfalse -\newif\ifmintspirit@tabular \mintspirit@tabularfalse - -\newcommand*{\MintSpiritNoTwo@scale}{1} -\RequirePackage{xkeyval} -\DeclareOptionX{scaled}{\renewcommand*{\MintSpiritNoTwo@scale}{#1}} -\DeclareOptionX{scale}{\renewcommand*{\MintSpiritNoTwo@scale}{#1}} - -\DeclareOptionX{type1}{\mintspirit@otffalse} - -\DeclareOptionX{default}{\mintspirit@defaulttrue} -\DeclareOptionX{sfdefault}{\mintspirit@defaulttrue} - -\DeclareOptionX{lining}[true]{% -\@nameuse{if#1}% - \mintspirit@liningtrue -\else - mintspirit@liningfalse -\fi -} -\DeclareOptionX{lf}[true]{% -\@nameuse{if#1}% - \mintspirit@liningtrue -\else - mintspirit@liningfalse -\fi -} -\DeclareOptionX{oldstyle}[true]{% -\@nameuse{if#1}% - \mintspirit@liningfalse -\else - \mintspirit@liningtrue -\fi -} - -\DeclareOptionX{osf}[true]{% -\@nameuse{if#1}% - \mintspirit@liningfalse -\else - \mintspirit@liningtrue -\fi -} - -\DeclareOptionX{tabular}[true]{% -\@nameuse{if#1}% - \mintspirit@tabulartrue -\else - mintspirit@tabularfalse -\fi -} - -\DeclareOptionX{tab}[true]{% -\@nameuse{if#1}% - \mintspirit@tabulartrue -\else - mintspirit@tabularfalse -\fi -} - -\DeclareOptionX{proportional}[true]{% -\@nameuse{if#1}% - \mintspirit@tabularfalse -\else - \mintspirit@tabulartrue -\fi -} - -\DeclareOptionX{prop}[true]{% -\@nameuse{if#1}% - \mintspirit@tabularfalse -\else - \mintspirit@tabulartrue -\fi -} - -\ProcessOptionsX\relax - - -\ifmintspirit@otf - \RequirePackage{fontspec} -\else - \RequirePackage{fontenc,fontaxes} -\fi - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% for some reason, Tabular Lining <-> Proportional Lining !! % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\ifmintspirit@otf - - \ifxetex\XeTeXtracingfonts=1\fi - \defaultfontfeatures{ - Ligatures = TeX , - Extension = .otf , - Scale = \MintSpiritNoTwo@scale , - } - - \ifmintspirit@lining - \ifmintspirit@tabular - \setsansfont - [ Numbers = {Proportional,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - \else - \setsansfont - [ Numbers = {Monospaced,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - \fi - \else - \ifmintspirit@tabular - \setsansfont - [ Numbers = {Monospaced,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - \else - \setsansfont - [ Numbers = {Proportional,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - \fi - \fi - - % grab current family in case of subsequent change: - \let\mintspiritfamily\sfdefault - \ifmintspirit@default\renewcommand*\familydefault{\mintspiritfamily}\fi - - \newfontfamily\tlstyle - [ Numbers = {Proportional,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - - \newfontfamily\tostyle - [ Numbers = {Monospaced,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - - \newfontfamily\plstyle - [ Numbers = {Monospaced,Lining}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - - \newfontfamily\postyle - [ Numbers = {Proportional,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - - - \providecommand\useosf{% - \defaultfontfeatures{ - Ligatures = TeX , - Extension = .otf , - Scale = \MintSpiritNoTwo@scale , - } - \ifmintspirit@tabular - \setsansfont - [ Numbers = {Monospaced,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - \else - \setsansfont - [ Numbers = {Proportional,OldStyle}, - UprightFont = *-Regular , - ItalicFont = *-Italic , - BoldFont = *-Bold , - BoldItalicFont = *-BoldItalic ] - {MintSpiritNo2} - \fi - \defaultfontfeatures{} - } - - \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} - \providecommand\infigures{\addfontfeatures{VerticalPosition=ScientificInferior}} - -\else % type1 - - \ifmintspirit@lining - \ifmintspirit@tabular - \def\mintspiritfamily{MintSpiritNoTwo-LF} - \else - \def\mintspiritfamily{MintSpiritNoTwo-TLF} - \fi - \else - \ifmintspirit@tabular - \def\mintspiritfamily{MintSpiritNoTwo-TOsF} - \else - \def\mintspiritfamily{MintSpiritNoTwo-OsF} - \fi - \fi - \renewcommand*\sfdefault{\mintspiritfamily} - \ifmintspirit@default\edef\familydefault{\sfdefault}\fi - - \providecommand*\mintspirit2{\fontfamily{\mintspiritfamily}\selectfont} - \providecommand*\tlstyle{\fontfamily{MintSpiritNoTwo-LF}\selectfont} - \providecommand*\tostyle{\fontfamily{MintSpiritNoTwo-TOsF}\selectfont} - \providecommand*\plstyle{\fontfamily{MintSpiritNoTwo-TLF}\selectfont} - \providecommand*\postyle{\fontfamily{MintSpiritNoTwo-OsF}\selectfont} - - - \fa@naming@exception{figures}{{inferior}{proportional}}{Inf} - \fa@naming@exception{figures}{{inferior}{tabular}}{Inf} - \fa@naming@exception{figures}{{superior}{proportional}}{Sup} - \fa@naming@exception{figures}{{superior}{tabular}}{Sup} - \providecommand\sufigures{\@nomath\sufigures\fontfigurestyle{superior}\selectfont} - \providecommand\infigures{\@nomath\infigures\fontfigurestyle{inferior}\selectfont} - -\fi - -\DeclareTextFontCommand{\textpl}{\plstyle} -\DeclareTextFontCommand{\textpo}{\postyle} -\DeclareTextFontCommand{\texttl}{\tlstyle} -\DeclareTextFontCommand{\textto}{\tostyle} - -\DeclareTextFontCommand{\textsu}{\sufigures} -\DeclareTextFontCommand{\textin}{\infigures} - -% turn off defaults in case other fonts are selected: -\ifmintspirit@otf - \defaultfontfeatures{} -\fi - -\endinput - diff --git a/info/biblio/texbook3.bib b/info/biblio/texbook3.bib index 55e698ab30..ef92512047 100644 --- a/info/biblio/texbook3.bib +++ b/info/biblio/texbook3.bib @@ -5,9 +5,9 @@ %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", -%%% version = "3.90", -%%% date = "09 February 2022", -%%% time = "06:32:16 MST", +%%% version = "3.91", +%%% date = "22 September 2022", +%%% time = "10:28:33 MDT", %%% filename = "texbook3.bib", %%% address = "University of Utah %%% Department of Mathematics, 110 LCB @@ -17,7 +17,7 @@ %%% telephone = "+1 801 581 5254", %%% FAX = "+1 801 581 4148", %%% URL = "http://www.math.utah.edu/~beebe", -%%% checksum = "05954 23334 105574 1001992", +%%% checksum = "02266 23342 105594 1002616", %%% email = "beebe at math.utah.edu, beebe at acm.org, %%% beebe at computer.org (Internet)", %%% codetable = "ISO/ASCII", @@ -37,7 +37,7 @@ %%% covered in separate bibliographies %%% (ep.bib, epodd.bib, and sgml.bib). %%% -%%% At version 3.90, the year coverage looks +%%% At version 3.91, the year coverage looks %%% like this: %%% %%% 1928 ( 1) 1960 ( 0) 1992 ( 83) @@ -69,8 +69,8 @@ %%% 1954 ( 0) 1986 ( 41) 2018 ( 1) %%% 1955 ( 0) 1987 ( 49) 2019 ( 4) %%% 1956 ( 0) 1988 ( 50) 2020 ( 2) -%%% 1957 ( 0) 1989 ( 55) 2021 ( 1) -%%% 1958 ( 0) 1990 ( 54) +%%% 1957 ( 0) 1989 ( 55) 2021 ( 0) +%%% 1958 ( 0) 1990 ( 54) 2022 ( 1) %%% 1959 ( 0) 1991 ( 41) %%% 19xx ( 2) %%% @@ -16011,22 +16011,21 @@ acknowledgement = ack-hk, } -@Article{Miller:2021:RCF, +@Article{Miller:2022:RCF, author = "Barton P. Miller and Mengxiao Zhang and Elisa R. Heymann", title = "The Relevance of Classic Fuzz Testing: Have We Solved This One?", journal = j-IEEE-TRANS-SOFTW-ENG, - volume = "??", - number = "?", - pages = "??--??", - month = "????", - year = "2021", + volume = "48", + number = "6", + pages = "2028--2039", + month = jun, + year = "2022", CODEN = "IESEDJ", DOI = "https://doi.org/10.1109/TSE.2020.3047766", ISSN = "0098-5589 (print), 1939-3520 (electronic)", ISSN-L = "0098-5589", - bibdate = "Thu Apr 08 14:13:22 2021", bibsource = "http://www.math.utah.edu/pub/tex/bib/gnu.bib; http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib; http://www.math.utah.edu/pub/tex/bib/rust.bib; @@ -16064,6 +16063,7 @@ acknowledgement = ack-nhfb, fjournal = "IEEE Transactions on Software Engineering", journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32", + keywords = "Rust programming language", } @Article{Milne:1986:RTS, @@ -22408,28 +22408,36 @@ } @Book{Feijen:1990:BOB, - editor = "W. H. J. Feijen and A. J. M. van Gasteren and D. Gries - and J. Misra", - booktitle = "Beauty is our business: a birthday salute to {Edsger + editor = "W. H. J. Feijen and A. J. M. van Gasteren and David + Gries and J. Misra", + booktitle = "Beauty is our Business: a Birthday Salute to {Edsger W. Dijkstra}", - title = "Beauty is our business: a birthday salute to {Edsger + title = "Beauty is our Business: a Birthday Salute to {Edsger W. Dijkstra}", publisher = pub-SV, address = pub-SV:adr, pages = "xix + 453", year = "1990", DOI = "https://doi.org/10.1007/978-1-4612-4476-9", - ISBN = "0-387-97299-4, 1-4612-8792-8 (print), 1-4612-4476-5 - (online)", - ISBN-13 = "978-0-387-97299-2, 978-1-4612-8792-6 (print), - 978-1-4612-4476-9 (online)", + ISBN = "0-387-97299-4, 3-540-97299-4, 1-4612-8792-8 (print), + 1-4612-4476-5 (online)", + ISBN-13 = "978-0-387-97299-2, 978-3-540-97299-0, + 978-1-4612-8792-6 (print), 978-1-4612-4476-9 (online)", ISSN = "0172-603X", ISSN-L = "0172-603X", LCCN = "QA76 .B326 1990", bibdate = "Thu Mar 24 09:27:40 1994", - bibsource = "http://www.math.utah.edu/pub/tex/bib/fparith.bib; + bibsource = "http://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib; + http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib; + http://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib; + http://www.math.utah.edu/pub/tex/bib/fparith.bib; + http://www.math.utah.edu/pub/tex/bib/ibmjrd.bib; http://www.math.utah.edu/pub/tex/bib/master.bib; http://www.math.utah.edu/pub/tex/bib/texbook3.bib", + note = "Contains important treatment of accurate + binary-to-decimal conversion + \cite{Gries:1990:BDO,Knuth:1990:SPW}.", + URL = "http://www.zentralblatt-math.org/zmath/en/search/?an=0718.68004", acknowledgement = ack-nhfb, tableofcontents = "Anonymous / Front Matter / i--xix \\ Krzysztof R. Apt, Frank S. de Boer, Ernst-R{\"u}diger diff --git a/info/biblio/texbook3.ltx b/info/biblio/texbook3.ltx index 200e34260f..7f3851b5e8 100644 --- a/info/biblio/texbook3.ltx +++ b/info/biblio/texbook3.ltx @@ -6,9 +6,9 @@ %%% ==================================================================== %%% @LaTeX-file{ %%% author = "Nelson H. F. Beebe", -%%% version = "3.90", -%%% date = "09 February 2022", -%%% time = "06:32:22 MST", +%%% version = "3.91", +%%% date = "22 September 2022", +%%% time = "10:28:37 MDT", %%% filename = "texbook3.ltx", %%% address = "University of Utah %%% Department of Mathematics, 110 LCB @@ -18,7 +18,7 @@ %%% telephone = "+1 801 581 5254", %%% FAX = "+1 801 581 4148", %%% URL = "http://www.math.utah.edu/~beebe", -%%% checksum = "38023 107 404 3916", +%%% checksum = "10908 107 404 3918", %%% email = "beebe@math.utah.edu, beebe@acm.org, %%% beebe@computer.org (Internet)", %%% codetable = "ISO/ASCII", @@ -79,8 +79,8 @@ WWW URL: \protect\path=http://www.math.utah.edu/~beebe/= } -\date{09 February 2022 \\ -Version 3.90} +\date{22 September 2022 \\ +Version 3.91} \begin{document} \nocite{*} diff --git a/info/tds/ChangeLog b/info/tds/ChangeLog new file mode 100644 index 0000000000..90d726e479 --- /dev/null +++ b/info/tds/ChangeLog @@ -0,0 +1,312 @@ +2004-06-23 Karl Berry + + * tds.tex: version 1.1. + * tds.tex: make that june 2004. + +2004-06-08 Karl Berry + + * tds.tex: type3, version 1.096. + +2004-06-06 Karl Berry + + * tds.tex: 1.095 (still draft). + +2004-06-04 Karl Berry + + * tds2texi.el [ ] doesn't make sense; changed to "\s ". + * tds.tex: use \TeX{} uniformly, not \TeX\ , since that's what + tds2texi.el handles. We ended up with "Inputs for, TeX". + Report from: Hans Fredrik Nordhaug, + 2 Jun 2004 23:01:15 +0200. + + * tds2texi.el (tds2texi-fixup-texinfo): fix the reference to the + "Non-font Metafont" node here instead. + * tds.sed: no non-font special case. + + * tds.tex: specify opentype and truetype under fonts. + +2004-06-03 Karl Berry + + * tds2texi.el (tds2texi-logos-alist): Metafont instead of + METAFONT. + +2004-05-15 Karl Berry + + * tds.tex: doc/ subtree improvements from Chris Rowley, and more. + +2004-05-14 Karl Berry + + * 1.094. + * tds.tex: clarify description of enc & map, maybe. + +2004-05-08 Karl Berry + + * tds.tex: fixes from Staszek. + * tds.tex: check in. + +2004-04-03 Karl Berry + + * Makefile (packages.zip): new target. + (dist): depend on it, and include it in + distribution tar file. + + * tds.tex: wording improvement from vojta, 1.093. + +2004-03-28 Karl Berry + + * tdsguide.cls (\tdsSummary): \let\obeylines=\relax after we set + it, so url.sty v3.0's usage of \obeylines does not cause errors. + + * tds.tex (etex): fix in tds example. + +2004-03-27 Karl Berry + + * tds.tex: 1.092, move extension input files within tex. also + check in from previous changes, notably new scripts/ dir. + +2004-02-11 Karl Berry + + * tds.tex: pfm text, etc., from feb03. + +2003-02-02 + + * tds.tex: 1.0 + +2003-01-18 + + * Version 0.9998. + + * tds.tex: force line breaks in references, add Downs reference. + * tds2texi.el: handle \\ in references section. + * Makefile (tds.texi.tmp): don't read emacs init files. + +2003-01-17 + + * tds2texi.el: doc fixes, @tie. + * tds.tex: enc/maps vs fontname clarification, removal of some + history. + +2003-01-12 + + * tds.tex: first cut at fonts/enc and fonts/map, version 0.9997. + * Makefile: clean up directory for dist, and remake everything. + * Makefile: use makeinfo --no-split. + +Mon Jul 19 16:54:37 1999 Karl Berry + + * tds2texi.el (tds2texi-fixup-texinfo): Don't need to do this with + Emacs 20.4, at least. + +Sun Jul 11 12:55:53 1999 Karl Berry + + * tds.tex: I have a new address. + +Wed Apr 21 15:30:34 1999 Karl Berry + + * version 0.9996. + + * tds2texi.el: @ifnottex, not @ifinfo. + + * Grammar fixes (Demitrios Athens). + Non-font METAFONT section title (Reinhard Kotucha). + Mention Kpathsea as a sample implementation (Paul Abrahams). + Allow discretion for single-file packages of all kinds (Matthew Swift). + + * fancyhdr.sty: get latest version. + +1998-01-26 Karl Berry + + * tds.tex: Version 0.9995: add extension section. + + * tdsguide.cls (\TeXinfo): Remove unused and incorrect name. + (\parsep): Decrease slightly. + (\l@section): Decrease section spacing for toc slightly. + (\@maketitle): Remove word `draft'. + +Fri Jan 23 17:14:01 1998 Karl Berry + + * tds.tex: checkin 0.9994. + +Sun Jul 20 16:29:37 1997 Karl Berry + + * Version 0.9994. + + * tds2texi.el: We can do @ss. + + * tds2texi.el: Texinfo @url is now @uref. + +Fri Feb 7 15:47:17 1997 Karl Berry + + * tds2texi.el: @detailmenu, other fixes, from Ulrik. + + * tdsguide.cls: Fix : in tdsSummary, more doc. + +Tue Feb 4 16:27:56 1997 Karl Berry + + * Version 0.9992. + + * tds.tex: Replace gsftopk/ps2pk/etc. with just `modeless'. + +Tue Nov 19 01:24:46 1996 Ulrik Vieth + + * tds.tex: Fix up indentation in `tdsSummary' environments + for the sake of Texinfo, should be consistent everywhere now. + + * tds2texi.el: Fix bug when combining multiple @file tags. + Added some missing functionality from tds.sed and tds.awk. + + * tds.sed: Handle a few translations in Elisp where possible. + Only leave those that are specific to document context. + + * tds.awk: File made redundant. + + * Makefile: Eliminate unnecessary gawk translation step. + +Sat Nov 16 07:16:03 1996 Karl Berry + + * tds.tex: Version 0.991. + + * tds2texi.el: More logos; no extra blank lines after sections; + handle \url and \email like \path. + + * tds.awk, tds.sed: New files. + + * url.sty, mflogo.sty, Ulogo.fd: Get latest versions. + + * tdsguide.cls: Changes for 0.9991. + +Tue Nov 12 17:16:54 1996 Karl Berry + + * tdsguide.cls: Saving version as of 0.999. + +Sun Nov 10 17:36:36 1996 Karl Berry + + * Mention texmf/ini loses. + * Say that the mode/ level is not optional. + + * Mention the possibility of doc/. + From Sebastian. + + * Include AmiWeb2c 2.0 summary. + From: + + * Allow distribution of modified versions as long they don't + pretend to be the TDS. + + * tds.tex: 0.999. + +Thu Nov 30 11:41:58 1995 Karl Berry + + * tds.tex: pnr10.tfm should be pnr10.mf. From Pierre. + +Wed Nov 22 11:46:51 1995 Karl Berry + + * tds.tex: Some periods after capital letters end sentences, and + some periods after lowercase don't. From bb. + Remove make uninstall text. + +Tue Nov 21 19:56:35 1995 Karl Berry + + * Version 0.999 sent to TUGboat (well, not really). + +Wed Nov 15 19:50:37 1995 Karl Berry + + * Version 0.104. Public release. + + * tds.tex: Add tex/generic/images to the figure. + +Sat Nov 11 11:47:16 1995 Karl Berry + + * tds.tex: Mention the possibility of multiple texmf's. Fix + non-sentence. From Paul Abrahams. + + * Version 0.103. + + * Move filename constraints to an appendix; we don't require this. + +Fri Oct 27 14:04:09 1995 Karl Berry + + * Version 0.102. + + * Include package subdirectories under bibtex. + + * Version 0.101. + +Tue Oct 17 13:22:08 1995 Karl Berry + + - Mention what `texmf' stands for. + - Info documents might be stored outside the tree. + - Recommend PK specials, rather require them. + - Try to define format and package a bit more clearly. + - Explicitly unspecify when something is local. + These things from Paul Abrahams. + +Sat Oct 14 16:07:16 1995 Karl Berry + + * Version 0.100. + +Fri Oct 13 16:23:34 1995 Karl Berry + + * tdsguide.cls (\textwidth): Make a little larger. Don't bother + reading tdsguide.cfg just to get mflogo. + + - Mention that a format author doesn't have to have a + directory. + - Don't use makeindx as an example. + +Thu Oct 12 14:19:25 1995 Karl Berry + + - Add Christian Spieler to the author list. + - Reserve tex/images for eps files etc. + - Remove implication the texmf/tex/plain has no subdirectories. + - More implementation-specific stuff, this time under + `program'. From Alex Kok et al. + - Expound on texmf/source a bit. From Alex Kok. + - Tell people to go read if we're talking about mysteries + - Remove all instances of the confusing word `application'. + - Mention that examples are documentation, and move discussion of + the alternative to an appendix. + +Tue Oct 10 15:45:32 1995 Karl Berry + + - New section on duplicate filenames. + - Image files are likely to go under texmf/tex. + - Printers can have multiple resolutions. From Bernard Gaulle. + - Reference the level 0 DVI standard. + - Define `dpi' better. From Nelson Beebe, David Kastrup. + - Document the reasons for not using modeless/. From David Kastrup. + - Mention the (presently impractical) possibility of \input + latex2e/file.tex. From Paul Vojta. + - make uninstall or an equivalent is desirable. From Alan Dunwell. + - Remove `files are...' text. From Doug Waud. + - /opt is another likely root. From Jeff Gealow. + - Use dpiNNN, not just dpi. From Bart Childs. + - Slightly improved description of MP. From Bart. + - Recommend . at beginning of search paths. From DEK via Sebastian. + - Include musictex as an example generic/ directory. + +Mon Oct 9 17:36:27 1995 Karl Berry + + - mft/ is no longer a special case under tex/. + - Move `package distribution' to an appendix section. + +Fri Oct 6 17:23:15 1995 Karl Berry + + - Remove \protect. From Ulrik. + +Wed Oct 4 15:08:01 1995 Karl Berry + + * Version 0.99. + - Don't hardwire version number in more than place. + - Use TUG instead of O'Reilly for postal mail. + - texmf/tex// does not suffice in general. + - Incorporate `subdirectory searching syntax' section into main + subdir searching section, and `Expeding the Process' into + `Adoption of the TDS'. + - Move bin/ out of the main text. + - Reserve `local' at every level. + - Top-level directories should be a chapter, and + implementation-specific files need more discussion. + - Make macros, fonts, etc. sections under the top-level + directories chapter. + diff --git a/info/tds/Makefile b/info/tds/Makefile new file mode 100644 index 0000000000..802f45b97c --- /dev/null +++ b/info/tds/Makefile @@ -0,0 +1,44 @@ +# $Id: Makefile,v 1.5 2004/04/04 00:14:59 karl Exp karl $ +# Makefile for tds, by Karl Berry. +# Public domain. + +default all: tds.info tds.html tds.dvi tds.pdf + +tds.dvi: tds.tex tdsguide.cls + latex '\nonstopmode \input tds' + +tds.pdf: tds.tex tdsguide.cls + pdflatex '\nonstopmode \input tds' + +tds.texi: tds.texi.tmp tds.sed + sed -f tds.sed $< >$@ + +tds.texi.tmp: tds.tex tds2texi.el + emacs -q --no-site -batch -l tds2texi.el -f tds2texi-convert --eval '(write-file "$@")' + +tds.info: tds.texi + makeinfo --no-split $< + +tds_toc.html: tds.texi /usr/local/gnu/bin/texi2html + texi2html -split_node -menu $< + +tds.html: tds.texi + makeinfo --number-sections --html --no-split $< + +check: + dw /tmp/diff + rm -f tds.texi* *~ + rm -f tds.cp tds.fn tds.ky tds.pg tds.tp tds.vr tds.log tds.toc + tar cvvzf /tmp/tds.tar.gz C* M* tds* index.html packages.zip +# shar -z tds.dvi >/tmp/shar +# @echo "Now ci -l -m'version' tds.tex and increment the tdsVersion." diff --git a/info/tds/README b/info/tds/README new file mode 100644 index 0000000000..f9aff03933 --- /dev/null +++ b/info/tds/README @@ -0,0 +1,19 @@ +
+This is the TeX Directory Structure (TDS) document, describing a runtime
+layout of TeX-related files intended to be portable,
+implementation-independent, etc.  Most TeX distributions have adopted
+this in some form.
+
+If any questions, comments, or suggestions, email twg-tds@tug.org.
+Mailing list archives available at: http://tug.org/mail-archives/twg-tds/
+
+tds.tex is the master source file.  A few extra LaTeX packages that it
+uses are in packages.zip, in the unlikely event that you don't already
+have them.
+
+http://tug.org/tds/ contains the current released version.  For older
+versions, see ftp://tug.org/historic/docs/tds.  
+
+Happy installing.
+
diff --git a/info/tds/README.html b/info/tds/README.html new file mode 120000 index 0000000000..100b93820a --- /dev/null +++ b/info/tds/README.html @@ -0,0 +1 @@ +README \ No newline at end of file diff --git a/info/tds/tds.aux b/info/tds/tds.aux new file mode 100644 index 0000000000..5314e41b6b --- /dev/null +++ b/info/tds/tds.aux @@ -0,0 +1,61 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}History}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}The role of the {\tds@reduced@size \uppercase {TDS}}}{2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Conventions}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {2}General}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Subdirectory searching}{3}} +\newlabel{sec:Subdirectory searching}{{2.1}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Rooting the tree}{4}} +\newlabel{sec:Rooting the tree}{{2.2}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Local additions}{4}} +\newlabel{sec:Local additions}{{2.3}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Duplicate filenames}{5}} +\newlabel{sec:Duplicate filenames}{{2.4}{5}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Top-level directories}{5}} +\newlabel{sec:Top-level directories}{{3}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Macros}{6}} +\newlabel{sec:Macros}{{3.1}{6}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Extensions}{7}} +\newlabel{sec:Extensions}{{3.1.1}{7}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Fonts}{8}} +\newlabel{sec:Fonts}{{3.2}{8}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Font bitmaps}{9}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}Valid font bitmaps}{10}} +\newlabel{sec:Valid font bitmaps}{{3.2.2}{10}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Non-font \textlogo {META}\discretionary {-}{}{}\textlogo {FONT}\spacefactor \@m {} files}{10}} +\newlabel{sec:Non-font MF files}{{3.3}{10}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}\textlogo {META}\discretionary {-}{}{}\textlogo {POST}\spacefactor \@m {}}{10}} +\newlabel{sec:MetaPost}{{3.4}{10}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}B\kern -.05em{\tds@smsize IB}\kern -.08emT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m {}}{11}} +\newlabel{sec:BibTeX}{{3.5}{11}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Scripts}{11}} +\newlabel{sec:Scripts}{{3.6}{11}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Documentation}{12}} +\newlabel{sec:Documentation}{{3.7}{12}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Summary}{13}} +\newlabel{sec:Summary}{{4}{13}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Documentation tree summary}{14}} +\newlabel{sec:Documentation tree summary}{{4.1}{14}} +\@writefile{toc}{\contentsline {section}{\numberline {A}Unspecified pieces}{15}} +\@writefile{toc}{\contentsline {subsection}{\numberline {A.1}Portable filenames}{15}} +\newlabel{sec:Portable filenames}{{A.1}{15}} +\@writefile{toc}{\contentsline {section}{\numberline {B}Implementation issues}{16}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B.1}Adoption of the {\tds@reduced@size \uppercase {TDS}}}{16}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B.2}More on subdirectory searching}{17}} +\newlabel{sec:More on subdirectory searching}{{B.2}{17}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B.3}Example implementation-specific trees}{17}} +\newlabel{sec:Example implementation-specific trees}{{B.3}{17}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.1}AmiWeb2c 2.0}{18}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.2}Public {\tds@reduced@size \uppercase {DECUS}} T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m {}}{18}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.3}Web2c 7}{18}} +\@writefile{toc}{\contentsline {section}{\numberline {C}Is there a better way?}{19}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C.1}Macro structure}{19}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C.2}Font structure}{20}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {C.2.1}Font file type location}{20}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {C.2.2}Mode and resolution location}{20}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {C.2.3}Modeless bitmaps}{21}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C.3}Documentation structure}{21}} +\@writefile{toc}{\contentsline {section}{\numberline {D}Related references}{21}} +\newlabel{sec:Related references}{{D}{21}} +\@writefile{toc}{\contentsline {section}{\numberline {E}Contributors}{22}} diff --git a/info/tds/tds.dvi b/info/tds/tds.dvi new file mode 100644 index 0000000000..ee93dac783 Binary files /dev/null and b/info/tds/tds.dvi differ diff --git a/info/tds/tds.html b/info/tds/tds.html new file mode 100644 index 0000000000..49da35a2f5 --- /dev/null +++ b/info/tds/tds.html @@ -0,0 +1,1997 @@ + + +A Directory Structure for TeX Files + + + + + + + + + +

A Directory Structure for TeX Files

+
+


+Next: , +Up: (dir) +
+
+ +

A Directory Structure for TeX Files

+ +

Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 +TeX Users Group. + +

Permission to use, copy, and distribute this document without +modification for any purpose and without fee is hereby granted, +provided that this notice appears in all copies. It is provided “as +is” without expressed or implied warranty. + +

Permission is granted to copy and distribute modified versions of this +document under the conditions for verbatim copying, provided that the +modifications are clearly marked and the document is not represented as +the official one. + +

This document is available on any CTAN host +(see Appendix Related references). +Please send questions or suggestions by email to +tds@tug.org. We welcome all comments. This is version +1.1. + +

+

--- The Detailed Node Listing --- + +

Introduction + +

+ +

General + +

+ +

Top-level directories + +

+ +

Macros + +

+ +

Fonts + +

+ +

Summary + +

+ +

Unspecified pieces + +

+ +

Implementation issues + +

+ +

Example implementation-specific trees + +

+ +

Is there a better way? + +

+ +

Font structure + +

+ + +
+


+Next: , +Previous: Top, +Up: Top +
+
+ +

1 Introduction

+ +

TeX is a powerful, flexible typesetting system used by many people +around the world. It is extremely portable and runs on virtually all +operating systems. One unfortunate side effect of TeX's flexibility, +however, is that there has been no single “right” way to install it. +This has resulted in many sites having different installed arrangements. + +

The primary purpose of this document is to describe a standard TeX +Directory Structure (TDS): a directory hierarchy for macros, +fonts, and the other implementation-independent TeX system files. As +a matter of practicality, this document also suggests ways to +incorporate the rest of the TeX files into a single structure. The +TDS has been designed to work on all modern systems. In +particular, the Technical Working Group (TWG) believes it is usable +under MacOS, MS-DOS, OS/2, Unix, VMS, and +Windows NT. We hope that administrators and developers of both +free and commercial TeX implementations will adopt this standard. + +

This document is intended both for the TeX system administrator at a +site and for people preparing TeX distributions—everything from a +complete runnable system to a single macro or style file. It may also +help TeX users find their way around systems organized this way. It +is not a tutorial: we necessarily assume knowledge of the many parts of +a working TeX system. If you are unfamiliar with any of the programs +or file formats we refer to, consult the references in +Appendix Related references. + +

+ +
+


+Next: , +Up: Introduction +
+
+ +

1.1 History

+ +

Version 1.0 of the TDS was released in February 2003. + +

Version 1.1 was released in June 2004, with the following non-editorial +changes: + +

    +
  • Inputs for TeX extensions included under tex, instead + of in their own top-level directories (Section Extensions) +
  • New top-level directory scripts (Section Scripts). +
  • New subdirectories lig, opentype, + truetype, and type3 under fonts + (Section Fonts). +
  • `enc', +lig, and map all use + syntax/package subdirectories + (Section Fonts). +
  • `pfm' files specified to go under type1, +and + inf files under afm (Section Fonts). +
+ +
+


+Next: , +Previous: History, +Up: Introduction +
+
+ +

1.2 The role of the TDS

+ +

The role of the TDS is to stabilize the organization of +TeX-related software packages that are installed and in use, possibly +on multiple platforms simultaneously. + +

At first glance, it may seem that the Comprehensive TeX Archive +Network (CTAN) fulfills at least part of this role, but this is +not the case. The role of CTAN is to simplify archiving and +distribution, not installation and use. + +

In fact, the roles of the TDS and CTAN are frequently in +conflict, as we will see. For distribution, many different types of +files must be combined into a single unit; for use, it is traditional to +segregate files (even similar files) from a single package into +separate, occasionally distant, directories. + +

+


+Previous: The role of the TDS, +Up: Introduction +
+
+ +

1.3 Conventions

+ +

In this document, / is used to separate filename components; +for example, texmf/fonts. This is the Unix convention but the +ideas are in no way Unix-specific. + +

In this document, “TeX” generally means the TeX system, including +Metafont, DVI drivers, utilities, etc., not just the TeX +program itself. + +

The word “package” in this document has its usual meaning: a set of +related files distributed, installed, and maintained as a unit. This is +not a LaTeX2e package, which is a style file supplementing +a document class. + +

We use the following typographic conventions: + +

    +
  • `literal' +Literal text such as filename is +typeset in typewriter type. + +
  • `replaceable' +Replaceable text such as +package, identifying a class of things, is typeset in +italics inside angle brackets. + +
+ +
+


+Next: , +Previous: Introduction, +Up: Top +
+
+ +

2 General

+ +

This section describes common properties throughout the TDS tree. + +

+ +
+


+Next: , +Up: General +
+
+ +

2.1 Subdirectory searching

+ +

Older TeX installations store large numbers of related files in single +directories, for example, all TFM files and/or all TeX +input files. + +

This monolithic arrangement hinders maintenance of a TeX system: it +is difficult to determine what files are used by what packages, what +files need to be updated when a new version is installed, or what files +should be deleted if a package is removed. It is also a source of error +if two or more packages happen to have input files with the same name. + +

Therefore, the TWG felt each package should be in a separate +directory. But we recognized that explicitly listing all directories to +be searched would be unbearable. A site may wish to install dozens of +packages. Aside from anything else, listing that many directories would +produce search paths many thousands of characters long, overflowing the +available space on some systems. + +

Also, if all directories are explicitly listed, installing or removing a +new package would mean changing a path as well as installing or removing +the actual files. This would be a time-consuming and error-prone +operation, even with implementations that provide some way to specify +the directories to search at runtime. On systems without runtime +configuration, it would require recompiling software, an intolerable +burden. + +

As a result, the TWG concluded that a comprehensive TDS +requires implementations to support some form of implicit subdirectory +searching. More precisely, implementations must make it possible to +specify that TeX, Metafont, and their companion utilities search in both +a specified directory and recursively through all subdirectories of that +directory when looking for an input file. Other forms of subdirectory +searching, for example recursive-to-one-level searches, may also be +provided. We encourage implementors to provide subdirectory searching +at the option of the installer and user for all paths. + +

The TDS does not specify a syntax for specifying recursive +searching, but we encourage implementors to provide interoperability +(see Section More on subdirectory searching). + +

+


+Next: , +Previous: Subdirectory searching, +Up: General +
+
+ +

2.2 Rooting the tree

+ +

In this document, we shall designate the root TDS directory by +texmf (for “TeX and Metafont”). We recommend using that name +where possible, but the actual name of the directory is up to the +installer. On PC networks, for example, this could map to a +logical drive specification such as T:. + +

Similarly, the location of this directory on the system is +site-dependent. It may be at the root of the file system; on Unix +systems, /usr/local/share, /usr/local, +/usr/local/lib, and /opt are common choices. + +

The name texmf was chosen for several reasons: it reflects the fact +that the directory contains files pertaining to an entire TeX system +(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and it +is descriptive of a generic installation rather than a particular +implementation. + +

A site may choose to have more than one TDS hierarchy installed +(for example, when installing an upgrade). This is perfectly legitimate. + +

+


+Next: , +Previous: Rooting the tree, +Up: General +
+
+ +

2.3 Local additions

+ +

The TDS cannot specify precisely when a package is or is not a +“local addition”. Each site must determine this according to its own +conventions. At the two extremes, one site might wish to consider +“nonlocal” all files not acquired as part of the installed TeX +distribution; another site might consider “local” only those files +that were actually developed at the local site and not distributed +elsewhere. + +

We recognize two common methods for local additions to a distributed +texmf tree. Both have their place; in fact, some sites employ +both simultaneously: + +

    + +
  1. A completely separate tree which is a TDS structure +itself; for example, /usr/local/umbtex at the University of +Massachusetts at Boston. This is another example of the multiple +texmf hierarchies mentioned in the previous section. + +
  2. A directory named local at any appropriate level, for +example, in the format, package, and +supplier directories discussed in the following sections. +The TDS reserves the directory name local for this +purpose. + +

    We recommend using local for site-adapted configuration files, +such as language.dat for the Babel package or graphics.cfg +for the graphics package. Unmodified configuration files from a package +should remain in the package directory. The intent is to separate +locally modified or created files from distribution files, to ease +installing new releases. + +

+ +

One common case of local additions is dynamically generated files, e.g., +PK fonts by the mktexpk script (which originated in +Dvips as MakeTeXPK). A site may store the +generated files directly in any of: +

    +
  • their standard location in the main TDS tree (if it can be +made globally writable); + +
  • an alternative location in the main TDS tree (for +example, under texmf/fonts/tmp); + +
  • a second complete TDS tree (as outlined above); + +
  • any other convenient directory (perhaps under +/var, for example /var/spool/fonts). + +
+ +

No one solution will be appropriate for all sites. + +

+


+Previous: Local additions, +Up: General +
+
+ +

2.4 Duplicate filenames

+ +

Different files by the same name may exist in a TDS tree. The +TDS generally leaves unspecified which of two files by the same +name in a search path will be found, so generally the only way to +reliably find a given file is for it to have a unique name. However, +the TDS requires implementations to support the following +exceptions: + +

    +
  • Names of TeX input files must be unique within each first-level +subdirectory of texmf/tex and texmf/tex/generic, but not +within all of texmf/tex; i.e., different TeX formats may have +files by the same name. (Section Macros discusses this +further.) Thus, no single format-independent path specification, such +as a recursive search beginning at texmf/tex specifying no other +directories, suffices. So implementations must provide format-dependent +path specifications, for example via wrapper scripts or configuration +files. + +
  • Many font files will have the same name (e.g., cmr10.pk), +as discussed in Section Valid font bitmaps. Implementations +must distinguish these files by mode and resolution. + +
+ +

All implementations we know of already have these capabilities. + +

One place where duplicate names are likely to occur is not an exception: + +

    +
  • Names of Metafont input files (as opposed to bitmaps) must be unique +within all of texmf/fonts. In practice, this is a problem with +some variants of Computer Modern which contain slightly modified files +named punct.mf, romanl.mf, and so on. We believe the only +feasible solution is to rename the derivative files to be +unique. + +
+ +
+


+Next: , +Previous: General, +Up: Top +
+
+ +

3 Top-level directories

+ +

The directories under the texmf root identify the major components of +a TeX system (see Section Summary for a summary). A site +may omit any unneeded directories. + +

Although the TDS by its nature can specify precise locations only +for implementation-independent files, we recognize that installers may +well wish to place other files under texmf to simplify administration +of the TeX tree, especially if it is maintained by someone other than +the system administrator. Therefore, additional top-level directories +may be present. + +

The top-level directories specified by the TDS are: + +

    +
  • `tex' +for TeX files (Section Macros). + +
  • `fonts' +for font-related files (Section Fonts). + +
  • `metafont' +for Metafont files which are not fonts (Section Non-font Metafont files). + +
  • `metapost' +for MetaPost files (Section MetaPost). + +
  • `bibtex' +for BibTeX files (Section BibTeX). + +
  • `scripts' +for platform-independent executables (Section Scripts). + +
  • `doc' +for user documentation (Section Documentation). + +
  • `source' +for sources. This includes both traditional +program sources (for example, Web2C sources go in +texmf/source/web2c) and, e.g., LaTeX dtx sources (which +go in texmf/source/latex). The TDS leaves unspecified any +structure under source. + +

    source is intended for files which are not needed at runtime by +any TeX program; it should not be included in any search path. For +example, plain.tex does not belong under texmf/source, +even though it is a “source file” in the sense of not being derived +from another file. (It goes in texmf/tex/plain/base, as explained +in Section Macros). + +

  • `implementation' +for implementations (examples: +emtex, vtex, web2c), to be used for whatever +purpose deemed suitable by the implementor or TeX administrator. +That is, files that cannot be shared between implementations, such as +pool files (tex.pool) and memory dump files (plain.fmt) go +here, in addition to implementation-wide configuration files. See +Section Example implementation-specific trees for examples of +real implementation trees. + +

    Such implementation-specific configuration files should not +be located using the main TeX input search path (e.g., +TEXINPUTS). This must be reserved for files actually read by a +TeX engine. See Section Extensions. + +

  • `program' +for program-specific input and +configuration files for any TeX-related programs (examples: +mft, dvips). In fact, the tex, metafont, +metapost, and bibtex items above may all be seen as +instances of this case. + +
+ + + +
+


+Next: , +Up: Top-level directories +
+
+ +

3.1 Macros

+ +

TeX macro files shall be stored in separate directories, segregated +by TeX format and package name (we use `format' in its traditional +TeX sense to mean a usefully \dump-able package): +

     texmf/tex/format/package/
+
+
    +
  • `format' +is a format name (examples: amstex, +latex, plain, texinfo). + +

    The TDS allows distributions that can be used as either formats or +packages (e.g., Texinfo, Eplain) to be stored at either level, at the +option of the format author or TeX administrator. We recommend that +packages used as formats at a particular site be stored at the +format level: by adjusting the TeX inputs search path, +it will be straightforward to use them as macro packages under another +format, whereas placing them in another tree completely obscures their +use as a format. + +

    The TDS reserves the following format names: + +

      +
    • `generic', +for input files that are useful across a wide +range of formats (examples: null.tex, path.sty). +Generally, this means any format that uses the category codes of Plain +TeX and does not rely on any particular format. This is in contrast +to those files which are useful only with Plain TeX (which go under +texmf/tex/plain), e.g., testfont.tex and plain.tex +itself. + +
    • `local', +for local additions. See Section Local additions. + +
    + +

    Thus, for almost every format, it is necessary to search at least the +format directory and then the generic directory (in +that order). Other directories may need to be searched as well, +depending on the format. When using AMS-TeX, for example, the +amstex, plain, and generic directories should be +searched, because AMS-TeX is compatible with Plain. + +

  • `package' +is a TeX package name (examples: +babel, texdraw). + +

    In the case where a format consists of only a single file and has no +auxiliary packages, that file can simply be placed in the +format directory, instead of +format/base. For example, Texinfo may go in +texmf/tex/texinfo/texinfo.tex, not +texmf/tex/texinfo/base/texinfo.tex. + +

    The TDS reserves the following package names: + +

      +
    • `base', +for the base distribution of each format, +including files used by INITEX when dumping format files. For +example, in the standard LaTeX distribution, the ltx files +created during the build process. Another example: the .ini +driver files for formats used by TeX Live and other distributions. + +
    • `hyphen', +for hyphenation patterns, including the original +American English hyphen.tex. These are typically used only by +INITEX. In most situations, this directory need exist only under the +generic format. + +
    • `images', +for image input files, such as Encapsulated +PostScript figures. Although it is somewhat non-intuitive for these to +be under a directory named tex, TeX needs to read these +files to glean bounding box or other information. A mechanism for +sharing image inputs between TeX and other typesetting programs +(e.g., Interleaf, FrameMaker) is beyond the scope of the +TDS. In most situations, this directory need exist only under +the generic format. + +
    • `local', +for local additions and configuration files. See +Section Local additions. + +
    • `misc', +for packages that consist of a single file. An +administrator or package maintainer may create directories for +single-file packages at their discretion, instead of using misc. + +
    + +
+ + + +
+


+Up: Macros +
+
+ +

3.1.1 Extensions

+ +

TeX has spawned many companion and successor programs (“engines”), +such as PDFTeX, Omega, and others. The TDS specifies +that the input files for such programs (using a TeX-like syntax) be +placed within the top-level tex directory, either at the top +level or within a format subdirectory, even though the original TeX +program may not be able to read them. For example: + +

     texmf/tex/aleph
+     texmf/tex/enctex
+
+

This is a change from TDS 1.0, which specified top-level +extension directories for each such program. We felt the +new approach is preferable, because: + +

    +
  • Authors of relevant packages typically make their code detect the +engine being used, and issue error messages or adapt to circumstances +appropriately. Furthermore, as a package matures, it may support +multiple engines. Thus, a package could conceivably be placed in any of +several top-level directories, at different times. Putting all packages +under the top-level tex directory provides a stable location over +time. + +
  • Users need to be able to switch between engines, and configuring +different search paths for each engine is difficult and error-prone. + +
+ +

Thus, in practice, having different top-level directories caused +difficulties for everyone involved—users, package authors, site +administrators, and system distributors. + +

Please contrast this approach with the implementation +top-level subdirectory (Section Top-level directories), which +is to be used for configuration files that (presumably) do not use +TeX syntax and in any case should not be found along the main TeX +input search path. + +

+


+Next: , +Previous: Macros, +Up: Top-level directories +
+
+ +

3.2 Fonts

+ +

Font files are stored in separate directories, segregated by file type, +and then (in most cases) font supplier and typeface. PK and +GF files need additional structure, as detailed in the next +section. + +

     texmf/fonts/type/supplier/typeface/
+     texmf/fonts/enc,lig,map/subpath/
+
+
    +
  • `type' +is the type of font file. The TDS +reserves the following type names for common TeX file +types: + +
      +
    • `afm', +for Adobe font metrics, and inf files. +
    • `gf', +for generic font bitmap files. +
    • `opentype', +for OpenType fonts. +
    • `pk', +for packed bitmap files. +
    • `source', +for font sources (Metafont files, property lists, etc.). +
    • `tfm', +for TeX font metric files. +
    • `truetype', +for TrueType fonts. +
    • `type1', +for PostScript Type 1 fonts (in pfa, + pfb, or any other format), and pfm files. +
    • `type3', +for PostScript Type 3 fonts. +
    • `vf', +for virtual fonts. +
    + +

    The TDS also reserves the names enc, lig, and +map for font encoding, ligature, and mapping files, respectively. +All of these directories are structured the same way, with +syntax subdirectories, and then package +subsubdirectories. Each of these file types is intended to be searched +along its own recursively-searched path. The names of the actual files +must be unique within their subtree, as usual. Examples: +

              fonts/map/dvipdfm/updmap/dvipdfm.map
    +          fonts/map/dvips/lm/lm.map
    +          fonts/enc/dvips/base/8r.enc
    +     
    +

    The Fontname and Dvips packages have more examples of the enc and +map types. The afm2pl program uses lig files. + +

    pfm files are included in the type1 directory, instead of +being given their own directory, for two reasons: 1) a .pfm file +is always an adjunct to a given .pfb file; 2) they must be +installed from the same directory for Windows programs other than TeX +to use them. + +

    inf files are included in the afm directory, since +an inf and afm file can be used to generate a pfm. +(Unfortunately, Adobe Type Manager and perhaps other software requires +that the pfb be in the same directory as afm and +inf for installation.) + +

    As usual, a site may omit any of these directories that are unnecessary. +gf is a particularly likely candidate for omission. + +

  • `supplier' +is a name identifying font source +(examples: adobe, ams, public). The TDS +reserves the following supplier names: + +
      +
    • `ams', +for the American Mathematical Society's AMS-fonts +collection. + +
    • `local', +for local additions. See Section Local additions. + +
    • `public', +for freely redistributable fonts where the supplier +neither (1) requested their own directory (e.g., ams), nor +(2) also made proprietary fonts (e.g., adobe). It does not +contain all extant freely distributable fonts, nor are all files therein +necessarily strictly public domain. + +
    • `tmp', +for dynamically-generated fonts, as is traditional on +some systems. It may be omitted if unnecessary, as usual. + +
    + +
  • `typeface' +is the name of a typeface family +(examples: cm, euler, times). The TDS +reserves the following typeface names: + +
      +
    • `cm' (within public), +for the 75 fonts defined in +Computers and Typesetting, Volume E. + +
    • `latex' (within public), +for those fonts distributed +with LaTeX in the base distribution. + +
    • `local', +for local additions. See Section Local additions. + +
    + +
+ +

Some concrete examples: +

     texmf/fonts/source/public/pandora/pnr10.mf
+     texmf/fonts/tfm/public/cm/cmr10.tfm
+     texmf/fonts/type1/adobe/utopia/putr.pfa
+
+

For complete supplier and typeface name lists, consult +Filenames for TeX fonts (see Appendix Related references). + +

+ +
+


+Next: , +Up: Fonts +
+
+ +

3.2.1 Font bitmaps

+ +

Font bitmap files require two characteristics in addition to the above +to be uniquely identifiable: (1) the type of device (i.e., mode) for +which the font was created; (2) the resolution of the bitmap. + +

Following common practice, the TDS segregates fonts with +different device types into separate directories. See modes.mf +in Appendix Related references for recommended mode names. + +

Some printers operate at more than one resolution (e.g., at 300dpi and +600dpi), but each such resolution will necessarily have a different +mode name. Nothing further is needed, since implicit in the TeX +system is the assumption of a single target resolution. + +

Two naming strategies are commonly used to identify the resolution of +bitmap font files. On systems that allow long filenames (and in the +original Metafont program itself), the resolution is included in the +filename (e.g., cmr10.300pk). On systems which do not support +long filenames, fonts are generally segregated into directories by +resolution (e.g., dpi300/cmr10.pk). + +

Because the TDS cannot require long filenames, we must use the +latter scheme for naming fonts. So we have two more subdirectory +levels under pk and gf: + +

     texmf/fonts/pk/mode/supplier/typeface/dpinnn/
+     texmf/fonts/gf/mode/supplier/typeface/dpinnn/
+
+
    +
  • `mode' +is a name which identifies the device type +(examples: cx, ljfour, modeless). Usually, this is +the name of the Metafont mode used to build the PK file. For fonts +rendered as bitmaps by a program that does not distinguish between +different output devices, the mode name shall be simply +modeless. The mode level shall not be omitted, +even if only a single mode happens to be in use. + +
  • `dpinnn' +specifies the resolution of the font +(examples: dpi300, dpi329). dpi stands for +dots per inch, i.e., pixels per inch. We recognize that pixels per +millimeter is used in many parts of the world, but dpi is too +traditional in the TeX world to consider changing now. + +

    The integer nnn is to be calculated as if using Metafont +arithmetic and then rounded; i.e., it is the integer Metafont uses in its +output gf filename. We recognize small differences in the +resolution are a common cause of frustration among users, however, and +recommend implementors follow the level 0 DVI driver standard +(see Appendix Related references) in bitmap font searches by +allowing a fuzz of +-0.2% (with a minimum of 1) in the +dpi. + +

+ +

Implementations may provide extensions to the basic naming scheme, such +as long filenames (as in the original Metafont) and font library files (as +in emTeX's .fli files), provided that the basic scheme is also +supported. + +

+


+Previous: Font bitmaps, +Up: Fonts +
+
+ +

3.2.2 Valid font bitmaps

+ +

The TWG recognizes that the use of short filenames has many +disadvantages. The most vexing is that it results in the creation of +dozens of different files with the same name. At a typical site, +cmr10.pk will be the filename for Computer Modern Roman 10pt at +5–10 magnifications for 2–3 modes. (Section Duplicate filenames discusses duplicate filenames in general.) + +

To minimize this problem, we strongly recommend that PK files +contain enough information to identify precisely how they were created: +at least the mode, base resolution, and magnification used to create the +font. + +

This information is easy to supply: a simple addition to the local modes +used for building the fonts with Metafont will automatically provide the +required information. If you have been using a local modes file derived +from (or that is simply) modes.mf (see Appendix Related references), the required information is already in your PK +files. If not, a simple addition based on the code found in +modes.mf can be made to your local modes file and the PK +files rebuilt. + +

+


+Next: , +Previous: Fonts, +Up: Top-level directories +
+
+ +

3.3 Non-font Metafont files

+ +

Most Metafont input files are font programs or parts of font programs and +are thus covered by the previous section. However, a few non-font input +files do exist. Such files shall be stored in: + +

     texmf/metafont/package/
+
+

package is the name of a +Metafont package (for example, mfpic). + +

The TDS reserves the following package names: + +

    +
  • `base', +for the standard Metafont macro files as described in +The Metafontbook, such as plain.mf and expr.mf. + +
  • `local', +for local additions. See Section Local additions. + +
  • `misc', +for Metafont packages consisting of only a single file +(for example, modes.mf). An administrator or package maintainer +may create directories for single-file packages at their discretion, +instead of using misc. + +
+ +
+


+Next: , +Previous: Non-font Metafont files, +Up: Top-level directories +
+
+ +

3.4 MetaPost

+ +

MetaPost is a picture-drawing language developed by John Hobby, derived +from Knuth's Metafont. Its primary purpose is to output Encapsulated PostScript +instead of bitmaps. + +

MetaPost input files and the support files for MetaPost-related utilities +shall be stored in: + +

     texmf/metapost/package/
+
+

package is the name of a MetaPost package. At the present +writing none exist, but the TWG thought it prudent to leave room +for contributed packages that might be written in the future. + +

The TDS reserves the following package names: + +

    +
  • `base', +for the standard MetaPost macro files, such as +plain.mp, mfplain.mp, boxes.mp, and +graph.mp. This includes files used by INIMP when dumping mem +files containing preloaded macro definitions. + +
  • `local', +for local additions. See Section Local additions. + +
  • `misc', +for MetaPost packages consisting of only a single file. +An administrator or package maintainer may create directories for +single-file packages at their discretion, instead of using misc. + +
  • `support', +for additional input files required by MetaPost +utility programs, including a font map, a character adjustment table, +and a subdirectory containing low-level MetaPost programs for rendering +some special characters. + +
+ +
+


+Next: , +Previous: MetaPost, +Up: Top-level directories +
+
+ +

3.5 BibTeX

+ +

BibTeX-related files shall be stored in: + +

     texmf/bibtex/bib/package/
+     texmf/bibtex/bst/package/
+
+

The bib directory is for BibTeX database (.bib) files, +the bst directory for style (.bst) files. + +

package is the name of a BibTeX package. The +TDS reserves the following package names (the same +names are reserved under both bib and bst): + +

    +
  • `base', +for the standard BibTeX databases and styles, such +as xampl.bib, plain.bst. + +
  • `local', +for local additions. See Section Local additions. + +
  • `misc', +for BibTeX packages consisting of only a single +file. An administrator or package maintainer may create directories for +single-file packages at their discretion, instead of using misc. + +
+ +
+


+Next: , +Previous: BibTeX, +Up: Top-level directories +
+
+ +

3.6 Scripts

+ +

The top-level scripts directory is for platform-independent +executables, such as Perl, Python, and shell scripts, and Java class +files. Subdirectories under scripts are package names. This +eases creating distributions, by providing a common place for such +platform-independent programs. + +

The intent is not for all such directories to be added to a user's +command search path, which would be quite impractical. Rather, these +executables are primarily for the benefit of wrapper scripts in whatever +executable directory a distribution may provide (which is not specified +by the TDS). + +

Truly auxiliary scripts which are invoked directly by other programs, +rather than wrapper scripts, may also be placed here. That is, +scripts also serves as a platform-independent analog of the +standard Unix libexec directory. + +

We recommend using extensions specifying the language (such as +.pl, .py, .sh) on these files, to help uniquely +identify the name. Since the intent of the TDS is for programs +in scripts not to be invoked directly by users, this poses no +inconvenience. + +

For example, in the TeX Live distribution, the ConTeXt user-level +program texexec can exist as a small wrapper script in each +bin/platform/texexec (which is outside the +texmf tree), which merely finds and calls +texmf/scripts/context/perl/texexec.pl. + +

Examples: +

     scripts/context/perl/texexec.pl
+     scripts/context/ruby/examplex.rb
+     scripts/thumbpdf/thumbpdf.pl
+
+

The TDS does not specify a location for platform-dependent +binary executables, whether auxiliary or user-level. + +

+


+Previous: Scripts, +Up: Top-level directories +
+
+ +

3.7 Documentation

+ +

Most packages come with some form of documentation: user manuals, +example files, programming guides, etc. In addition, many independent +files not part of any macro or other package have been created to +describe various aspects of the TeX system. + +

The TDS specifies that these additional documentation files shall +be stored in a structure that parallels to some extent the +fonts and tex directories, as follows: + +

     texmf/doc/category/...
+
+

category identifies the general topic of documentation +that resides below it; for example, a TeX format name (latex), +program name (bibtex, tex), language (french, +german), a file format (info, man), or other system +components (web, fonts). + +

One possible arrangement is to organize doc by language, with all +the other category types below that. This helps users find +documentation in the language(s) in which they are fluent. Neither this +nor any other particular arrangement is required, however. + +

Within each category tree for a TeX format, the +directory base is reserved for base documentation distributed by +the format's maintainers. + +

The TDS reserves the following category names: + +

    +
  • `general', +for standalone documents not specific to any +particular program (for example, Joachim Schrod's Components +of TeX). + +
  • `help', +for meta-information, such as FAQ's, +the TeX Catalogue, etc. + +
  • `info', +for processed Texinfo documents. (Info files, like +anything else, may also be stored outside the TDS, at the +installer's option.) + +
  • `local', +for local additions. See Section Local additions. + +
+ +

The doc directory is intended for implementation-independent and +operating system-independent documentation +files. Implementation-dependent files are best stored elsewhere, as +provided for by the implementation and/or TeX administrator (for +example, VMS help files under texmf/vms/help). + +

The documentation directories may contain TeX sources, DVI +files, PostScript files, text files, example input files, or any other useful +documentation format(s). + +

See Section Documentation tree summary for a summary. + +

+


+Next: , +Previous: Top-level directories, +Up: Top +
+
+ +

4 Summary

+ +

A skeleton of a TDS texmf directory tree. This is not to +imply these are the only entries allowed. For example, local may +occur at any level. + +

       bibtex/           BibTeX input files
+         bib/            BibTeX databases
+           base/         base distribution (e.g., xampl.bib)
+           misc/         single-file databases
+         <package>/      name of a package
+         bst/            BibTeX style files
+           base/         base distribution (e.g., plain.bst, acm.bst)
+           misc/         single-file styles
+         <package>/      name of a package
+       doc/              see Section Documentation and the summary below
+       fonts/            font-related files
+         <type>/         file type (e.g., pk)
+           <mode>/       type of output device (for pk and gf only)
+             <supplier>/     name of a font supplier (e.g., public)
+               <typeface>/   name of a typeface (e.g., cm)
+                 dpi<nnn>/   font resolution (for pk and gf only)
+       <implementation>/ TeX implementations, by name (e.g., emtex)
+       local/            files created or modified at the local site
+       metafont/         Metafont (non-font) input files
+         base/           base distribution (e.g., plain.mf)
+         misc/           single-file packages (e.g., modes.mf)
+         <package>/      name of a package (e.g., mfpic)
+       metapost/         MetaPost input and support files
+         base/           base distribution (e.g., plain.mp)
+         misc/           single-file packages
+         <package>/      name of a package
+         support/        support files for MetaPost-related utilities
+       mft/              MFT inputs (e.g., plain.mft)
+       <program>/        TeX-related programs, by name (e.g., dvips)
+       source/           program source code by name (e.g., latex, web2c)
+       tex/              TeX input files
+         <engine>/       name of an engine (e.g., aleph); can also be lower
+         <format>/       name of a format (e.g., plain)
+           base/         base distribution for format (e.g., plain.tex)
+           misc/         single-file packages (e.g., webmac.tex)
+           local/        local additions to or local configuration files for format
+           <package>/    name of a package (e.g., graphics, mfnfss)
+         generic/        format-independent packages
+           hyphen/       hyphenation patterns (e.g., hyphen.tex)
+           images/       image input files (e.g., Encapsulated PostScript)
+           misc/         single-file format-independent packages (e.g., null.tex).
+           <package>/    name of a package (e.g., babel)
+
+ + +
+


+Up: Summary +
+
+ +

4.1 Documentation tree summary

+ +

An example skeleton of a TDS directory tree under +texmf/doc. This is not to imply these are the only entries +allowed, or that this structure must be followed precisely for the +entries listed. + +

As mentioned, the texmf/doc tree may be organized by language, so +that all documentation in French, say, is in a french +subdirectory. In that case, the example structure here would be in a +given language directory. + +

       ams/
+         amsfonts/       amsfonts.faq, amfndoc
+         amslatex/       amslatex.faq, amsldoc
+         amstex/         amsguide, joyerr
+       bibtex/           BibTeX
+         base/           btxdoc.tex
+       fonts/
+         fontname/       Filenames for TeX fonts
+         oldgerm/        corkpapr
+       <format>/         name of a TeX format (e.g., generic, latex)
+         base/           for the base distribution
+         misc/           for contributed single-file package documentation
+         <package>/      for package
+       general/          across programs, generalities
+         errata/         errata, errata[1-8]
+         texcomp/        Components of TeX
+       help/             meta-information
+         ctan/           info about CTAN mirror sites
+         faq/            FAQs of comp.text.tex, etc.
+       info/             GNU Info files, made from Texinfo sources
+       latex/            example of format
+         base/           ltnews*, *guide, etc.
+         graphics/       grfguide
+       local/            site-specific documentation
+       man/              Unix man pages
+       <program>/        TeX-related programs, by name (examples follow)
+       metafont/         mfbook.tex, metafont-for-beginners, etc.
+       metapost/         mpman, manfig, etc.
+       tex/              texbook.tex, A Gentle Introduction to TeX, etc.
+       web/              webman, cwebman
+
+
+


+Next: , +Previous: Summary, +Up: Top +
+
+ +

Appendix A Unspecified pieces

+ +

The TDS cannot address the following aspects of a functioning +TeX system: + +

    + +
  1. The location of executable programs: this is too site-dependent +even to recommend a location, let alone require one. A site may place +executables outside the texmf tree altogether (e.g., +/usr/local/bin), in a platform-dependent directory within +texmf, or elsewhere. + +
  2. Upgrading packages when new releases are made: we could find no +way of introducing version specifiers into texmf that would do more +good than harm, or that would be practical for even a plurality of +installations. + +
  3. The location of implementation-specific files (e.g., TeX +.fmt files): by their nature, these must be left to the +implementor or TeX maintainer. See Section Example implementation-specific trees. + +
  4. Precisely when a package or file should be considered “local”, +and where such local files are installed. See Section Local additions for more discussion. + +
+ + + +
+


+Up: Unspecified pieces +
+
+ +

A.1 Portable filenames

+ +

The TDS cannot require any particular restriction on filenames in +the tree, since the names of many existing TeX files conform to no +standard scheme. For the benefit of people who wish to make a portable +TeX distribution or installation, however, we outline here the +necessary restrictions. The TDS specifications themselves are +compatible with these. + +

ISO-9660 is the only universally acceptable file system format +for CD-ROMs. A subset thereof meets the stringent limitations of +all operating systems in use today. It specifies the following: + +

    +
  • File and directory names, not including any directory path or +extension part, may not exceed eight characters. + +
  • Filenames may have a single extension. Extensions may not exceed +three characters. Directory names may not have an extension. + +
  • Names and extensions may consist of only the characters +AZ, 09, and underscore. +Lowercase letters are excluded. + +
  • A period separates the filename from the extension and is always +present, even if the name or extension is missing (e.g., +FILENAME. or .EXT). + +
  • A version number, ranging from 1–32767, is appended to the file +extension, separated by a semicolon (e.g., FILENAME.EXT;1). + +
  • Only eight directory levels are allowed, including the top-level +(mounted) directory (see Section Rooting the tree). Thus, the +deepest valid ISO-9660 path is: +
              texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1
    +          1     2  3  4  5  6  7  8
    +     
    +

    The deepest TDS path needs only seven levels: +

              texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk
    +          1     2     3  4  5      6  7
    +     
    +
+ +

Some systems display a modified format of ISO-9660 names, +mapping alphabetic characters to lowercase, removing version numbers and +trailing periods, etc. + +

Before the December 1996 release, LaTeX used mixed-case names for +font descriptor files. Fortunately, it never relied on case alone to +distinguish among the files. Nowadays, it uses only monocase names. + +

+


+Next: , +Previous: Unspecified pieces, +Up: Top +
+
+ +

Appendix B Implementation issues

+ +

We believe that the TDS can bring a great deal of order to the +current anarchic state of many TeX installations. In addition, by +providing a common frame of reference, it will ease the burden of +documenting administrative tasks. Finally, it is a necessary part of +any reasonable system of true “drop-in” distribution packages for +TeX. + +

+ + + +

B.1 Adoption of the TDS

+ +

[This section is retained for historical purposes; the TDS +is now quite firmly entrenched in most TeX distributions.] + +

We recognize that adoption of the TDS will not be immediate or +universal. Most TeX administrators will not be inclined to make the +final switch until: + +

    +
  • Clear and demonstrable benefits can be shown for the TDS. +
  • TDS-compliant versions of all key programs are available +in ported, well-tested forms. +
  • A “settling” period has taken place, to flush out problems. The +public release of the first draft of this document was the first step in +this process. +
+ +

Consequently, most of the first trials of the TDS will be made by +members of the TDS committee and/or developers of TeX-related +software. This has already taken place during the course of our +deliberations (see Appendix Related references for a sample +tree available electronically). They will certainly result in the +production of a substantial number of TDS-compliant packages. +Indeed, the teTeX and TeX Live +distributions are TDS-compliant and in use now at many sites. + +

Once installable forms of key TDS-compliant packages are more +widespread, some TeX administrators will set up TDS-compliant +trees, possibly in parallel to existing production directories. This +testing will likely flush out problems that were not obvious in the +confined settings of the developers' sites; for example, it should help +to resolve system and package dependencies, package interdependencies, and +other details not addressed by this TDS version. + +

After most of the dust has settled, hopefully even conservative TeX +administrators will begin to adopt the TDS. Eventually, most +TeX sites will have adopted the common structure, and most packages +will be readily available in TDS-compliant form. + +

We believe that this process will occur relatively quickly. The +TDS committee spans a wide range of interests in the TeX +community. Consequently, we believe that most of the key issues +involved in defining a workable TDS definition have been covered, +often in detail. TeX developers have been consulted about +implementation issues, and have been trying out the TDS +arrangement. Thus, we hope for few surprises as implementations mature. + +

Finally, there are several (current or prospective) publishers of TeX +CD-ROMs. These publishers are highly motivated to work out +details of TDS implementation, and their products will provide +inexpensive and convenient ways for experimentally-minded TeX +administrators to experiment with the TDS. + +

+ +

B.2 More on subdirectory searching

+ +

Recursive subdirectory searching is the ability to specify a search not +only of a specified directory d, but recursively of all +directories below d. + +

Since the TDS specifies precise locations for most files, with no +extra levels of subdirectories allowed, true recursive searching is not +actually required for a TDS-compliant implementation. We do, +however, strongly recommend recursive searching as the most +user-friendly and natural approach to the problem, rather than +convoluted methods to specify paths without recursion. + +

This feature is already supported by many implementations of TeX and +companion utilities, for example DECUS TeX for VMS, +Dvips(k), emTeX (and its drivers), +PubliC TeX, Web2C, Xdvi(k), +and Y&YTeX. The Kpathsea library is a reusable +implementation of subdirectory searching for TeX, used in a number of +the above programs. + +

Even if your TeX implementation does not directly support +subdirectory searching, you may find it useful to adopt the structure if +you do not use many fonts or packages. For instance, if you only use +Computer Modern and AMS fonts, it would be feasible to store them +in the TDS layout and list the directories individually in +configuration files or environment variables. + +

The TWG recognizes that subdirectory searching places an extra +burden on the system and may be the source of performance bottlenecks, +particularly on slower machines. Nevertheless, we feel that +subdirectory searching is imperative for a well-organized TDS, +for the reasons stated in Section Subdirectory searching. +Implementors are encouraged to provide enhancements to the basic +principle of subdirectory searching to avoid performance problems, e.g., +the use of a filename cache (this can be as simple as a recursive +directory listing) that is consulted before disk searching begins. If a +match is found in the database, subdirectory searching is not required, +and performance is thus independent of the number of subdirectories +present on the system. + +

Different implementations specify subdirectory searching differently. +In the interest of typographic clarity, the examples here do not use the +replaceable font. + +

    +
  • Dvips: +via a separate +TEXFONTS_SUBDIR environment variable. + +
  • emTeX: +t:\subdir!!; t:\subdir! for +a single level of searching. + +
  • Kpathsea: +texmf/subdir// + +
  • VMS: +texmf:[subdir...] + +
  • Xdvi (patchlevel 20): +texmf/subdir/**; +texmf/subdir/* for a single level of searching. Version 20.50 +and above support the // notation. + +
  • Y&Y TeX: +t:/subdir// or +t:\subdir\\. + +
+ + + +

B.3 Example implementation-specific trees

+ +

The TDS cannot specify a precise location for +implementation-specific files, such as texmf/ini, because a site +may have multiple TeX implementations. + +

Nevertheless, for informative purposes, we provide here the default +locations for some implementations. Please contact us with additions or +corrections. These paths are not definitive, may not match anything at +your site, and may change without warning. + +

We recommend all implementations have default search paths that start +with the current directory (e.g., .). Allowing users to +include the parent directory (e.g., ..) is also helpful. + +

+ + + +

B.3.1 AmiWeb2c 2.0

+ +

(Email scherer@physik.rwth-aachen.de to contact the maintainer +of this implementation.) + +

AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible +extent, so only the very few differences are described in this +section. Detailed information about the basic concepts is given in +the section for Web2c 7 below. + +

Thanks to the SELFAUTO mechanism of Kpathsea 3.0 no specific +location for the installation of AmiWeb2c is required as long as the +general structure of the distribution is preserved. + +

In addition to Kpathsea's // notation recursive path search may +also be started by DEVICE:/, e.g., TeXMF:/ +will scan this specific device completely. + +

Binaries coming with the AmiWeb2c distribution are installed in the +directory bin/amiweb2c/ outside the common TDS tree +share/texmf/. In addition to the set of AmiWeb2c binaries +you will find two subdirectories local/ and pastex/ +with auxiliary programs. + +

A stripped version of the PasTeX system (used by kind permission of +Georg Heßmann) is coming with AmiWeb2c, pre-installed in its own +share/texmf/amiweb2c/pastex/ directory. If you want to use +PasTeX you have to assign the name TeX: to this place. + +

Documentation files in AmigaGuide format should be stored at +doc/guide/ similar to doc/info/. + +

+ +

B.3.2 Public DECUS TeX

+ +

If another VMS implementation besides Public DECUS TeX +appears, the top level implementation directory name will be modified to +something more specific (e.g., vms_decus). + +

       texmf/
+         vms/            VMS implementation specific files
+           exe/          end-user commands
+             common/     command procedures, command definition files, etc.
+             axp/        binary executables for Alpha AXP
+             vax/        binary executables for VAX
+           formats/      pool files, formats, bases
+           help/         VMS help library, and miscellaneous help sources
+           mgr/          command procedures, programs, docs, etc., for system management
+
+ + +

B.3.3 Web2c 7

+ +

All implementation-dependent TeX system files (.pool, +.fmt, .base, .mem) are stored by default directly +in texmf/web2c. The configuration file texmf.cnf and +various subsidiary MakeTeX... scripts used as subroutines are +also stored there. + +

Non-TeX specific files are stored following the GNU coding +standards. Given a root directory prefix +(/usr/local by default), we have default locations as follows: + +

       <prefix>/         installation root (/usr/local by default)
+         bin/            executables
+         man/            man pages
+         info/           info files
+         lib/            libraries (libkpathsea.*)
+         share/          architecture-independent files
+           texmf/        TDS root
+             web2c/      implementation-dependent files (.pool, .fmt, texmf.cnf, etc.)
+
+

See http://www.gnu.org/prep/standards_toc.html for the +rationale behind and descriptions of this arrangement. A site may of +course override these defaults; for example, it may put everything under +a single directory such as /usr/local/texmf. + +

+


+Next: , +Previous: Implementation issues, +Up: Top +
+
+ +

Appendix C Is there a better way?

+ +

Defining the TDS required many compromises. Both the overall +structure and the details of the individual directories were arrived at +by finding common ground among many opinions. The driving forces were +feasibility (in terms of what could technically be done and what could +reasonably be expected from developers) and regularity (files grouped +together in an arrangement that “made sense”). + +

Some interesting ideas could not be applied due to implementations +lacking the necessary support: + +

    +
  • Path searching control at the TeX level. If documents could +restrict subdirectory searching to a subdirectory via some portable +syntax in file names, restrictions on uniqueness of filenames could be +relaxed considerably (with the cooperation of the formats), and the +TeX search path would not need to depend on the format. + +
  • Multiple logical texmf trees. For example, a site might have +one (read-only) location for stable files, and a different (writable) +location for dynamically-created fonts or other files. It would be +reasonable for two such trees to be logically merged when searching. +See Michael Downes' article in the references for how this can work in +practice with Web2C. + +
+ + + + + +

C.1 Macro structure

+ +

The TWG settled on the +format/package arrangement after long +discussion about how best to arrange the files. + +

The primary alternative to this arrangement was a scheme which reversed +the order of these directories: +package/format. This reversed +arrangement has a strong appeal: it keeps all of the files related to a +particular package in a single place. The arrangement actually adopted +tends to spread files out into two or three places (macros, +documentation, and fonts, for example, are spread into different +sections of the tree right at the top level). + +

Nevertheless, the format/package +structure won for a couple of reasons: + +

    +
  • It is closer to current practice; in fact, several members of the +TWG have already implemented the TDS hierarchy. The +alternative is not in use at any known site, and the TWG felt it +wrong to mandate something with which there is no practical experience. + +
  • The alternative arrangement increases the number of top-level +directories, so the files that must be found using subdirectory +searching are spread out in a wide, shallow tree. This could have a +profound impact on the efficiency of subdirectory searching. + +
+ + + +

C.2 Font structure

+ +

The TWG struggled more with the font directory structure than +anything else. This is not surprising; the need to use the proliferation +of PostScript fonts with TeX is what made the previous arrangement +with all files in a single directory untenable, and therefore what +initiated the TDS effort. + +

+ + + +

C.2.1 Font file type location

+ +

We considered the supplier-first arrangement in use at many sites: + +

     texmf/fonts/supplier/typeface/type/
+
+

This improves the maintainability of the font tree, since all files +comprising a given typeface are in one place, but unless all the +programs that search this tree employ some form of caching, there are +serious performance concerns. For example, in order to find a +TFM file, the simplest implementation would require TeX to +search through all the directories that contain PK files in all +modes and at all resolutions. + +

In the end, a poll of developers revealed considerable resistance to +implementing sufficient caching mechanisms, so this arrangement was +abandoned. The TDS arrangement allows the search tree to be +restricted to the correct type of file, at least. Concerns about +efficiency remain, but there seems to be no more we can do without +abandoning subdirectory searching entirely. + +

We also considered segregating all font-related files strictly by file +type, so that Metafont sources would be in a directory +texmf/fonts/mf, property list files in texmf/fonts/pl, the +various forms of Type 1 fonts separated, and so on. Although more +blindly consistent, we felt that the drawback of more complicated path +constructions outweighed this. The TDS merges file types +(mf and pl under source, pfa and pfb +and gsf under type1) where we felt this was beneficial. + +

+


+Next: , +Previous: Font file type location, +Up: Font structure +
+
+ +

C.2.2 Mode and resolution location

+ +

We considered having the mode at the bottom of the font tree: +

     texmf/fonts/pk/supplier/typeface/mode/dpi/
+
+

In this case, however, it is difficult to limit subdirectory searching +to the mode required for a particular device. + +

We then considered moving the dpinnn up to below +the mode: +

     texmf/fonts/pk/mode/dpi/supplier/typeface/
+
+

But then it is not feasible to omit the dpinnn +level altogether on systems which can and do choose to use long +filenames. + +

+ +

C.2.3 Modeless bitmaps

+ +

The TDS specifies using a single directory modeless/ as +the mode name for those utilities which generate bitmaps, e.g., +texmf/fonts/modeless/times/. This has the considerable advantage +of not requiring each such directory name to be listed in a search path. + +

An alternative was to use the utility name below which all such +directories could be gathered. That has the advantage of separating, +say, gsftopk-generated bitmaps from ps2pk-generated ones. +However, we decided this was not necessary; most sites will use only one +program for the purpose. Also, PK and GF fonts generally +identify their creator in the font comment following the PK_ID +byte. + +

We are making an implicit assumption that Metafont is the only program +producing mode-dependent bitmaps. If this becomes false we could add an +abbreviation for the program to mode names, as in mfcx vs. +xyzcx for a hypothetical program Xyz, or we could +at that time add an additional program name level uniformly to the tree. +It seemed more important to concisely represent the current situation +than to worry about hypothetical possibilities that may never happen. + +

+


+Previous: Font structure, +Up: Is there a better way? +
+
+ +

C.3 Documentation structure

+ +

We considered placing additional documentation files in the same +directory as the source files for the packages, but we felt that users +should be able to find documentation separately from sources, since most +users have no interest in sources. + +

We hope that a separate, but parallel, structure for documentation would +(1) keep the documentation together and (2) make it as straightforward +as possible for users to find the particular documentation they were +after. + +

+


+Next: , +Previous: Is there a better way?, +Up: Top +
+
+ +

Appendix D Related references

+ +

This appendix gives pointers to related files and other documents. For +CTAN references, we use http://www.ctan.org as the +top-level domain only to make the links be live in this document. See +http://www.ctan.org/tex-archive/CTAN.sites for a complete list of +CTAN sites; there are mirrors worldwide. + +

+ +
+


+Previous: Related references, +Up: Top +
+
+ +

Appendix E Contributors

+ +

The TWG has had no physical meetings; electronic mail was the +communication medium. + +

Sebastian Rahtz is the TeX Users Group Technical Council liaison. +Norman Walsh was the original committee chair. Karl Berry is the +current editor. + +

The list of contributors has grown too large to fairly include, as some +would surely be inadvertently omitted. Please consider the archives of +the tds@tug.org and tex-live@tug.org mailing lists as +the record of contributions. + + + diff --git a/info/tds/tds.info b/info/tds/tds.info new file mode 100644 index 0000000000..8b2418cd0a --- /dev/null +++ b/info/tds/tds.info @@ -0,0 +1,1714 @@ +This is tds.info, produced by makeinfo version 4.7 from tds.texi. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* TeX Directories: (tds). A directory structure for TeX files. +END-INFO-DIR-ENTRY + + +File: tds.info, Node: Top, Next: Introduction, Up: (dir) + +A Directory Structure for TeX Files +*********************************** + +Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 TeX Users +Group. + + Permission to use, copy, and distribute this document _without +modification_ for any purpose and without fee is hereby granted, +provided that this notice appears in all copies. It is provided "as +is" without expressed or implied warranty. + + Permission is granted to copy and distribute modified versions of +this document under the conditions for verbatim copying, provided that +the modifications are clearly marked and the document is not +represented as the official one. + + This document is available on any CTAN host (see Appendix *Note +Related references::). Please send questions or suggestions by email to +. We welcome all comments. This is version 1.1. + +* Menu: + +* Introduction:: +* General:: +* Top-level directories:: +* Summary:: +* Unspecified pieces:: +* Implementation issues:: +* Is there a better way?:: +* Related references:: +* Contributors:: + + --- The Detailed Node Listing --- + +Introduction + +* History:: +* The role of the TDS:: +* Conventions:: + +General + +* Subdirectory searching:: +* Rooting the tree:: +* Local additions:: +* Duplicate filenames:: + +Top-level directories + +* Macros:: +* Fonts:: +* Non-font Metafont files:: +* MetaPost:: +* BibTeX:: +* Scripts:: +* Documentation:: + +Macros + +* Extensions:: + +Fonts + +* Font bitmaps:: +* Valid font bitmaps:: + +Summary + +* Documentation tree summary:: + +Unspecified pieces + +* Portable filenames:: + +Implementation issues + +* Adoption of the TDS:: +* More on subdirectory searching:: +* Example implementation-specific trees:: + +Example implementation-specific trees + +* AmiWeb2c 2.0:: +* Public DECUS TeX:: +* Web2c 7:: + +Is there a better way? + +* Macro structure:: +* Font structure:: +* Documentation structure:: + +Font structure + +* Font file type location:: +* Mode and resolution location:: +* Modeless bitmaps:: + + +File: tds.info, Node: Introduction, Next: General, Prev: Top, Up: Top + +1 Introduction +************** + +TeX is a powerful, flexible typesetting system used by many people +around the world. It is extremely portable and runs on virtually all +operating systems. One unfortunate side effect of TeX's flexibility, +however, is that there has been no single "right" way to install it. +This has resulted in many sites having different installed arrangements. + + The primary purpose of this document is to describe a standard TeX +Directory Structure (TDS): a directory hierarchy for macros, fonts, and +the other implementation-independent TeX system files. As a matter of +practicality, this document also suggests ways to incorporate the rest +of the TeX files into a single structure. The TDS has been designed to +work on all modern systems. In particular, the Technical Working Group +(TWG) believes it is usable under MacOS, MS-DOS, OS/2, Unix, VMS, and +Windows NT. We hope that administrators and developers of both free +and commercial TeX implementations will adopt this standard. + + This document is intended both for the TeX system administrator at a +site and for people preparing TeX distributions--everything from a +complete runnable system to a single macro or style file. It may also +help TeX users find their way around systems organized this way. It is +not a tutorial: we necessarily assume knowledge of the many parts of a +working TeX system. If you are unfamiliar with any of the programs or +file formats we refer to, consult the references in Appendix *Note +Related references::. + +* Menu: + +* History:: +* The role of the TDS:: +* Conventions:: + + +File: tds.info, Node: History, Next: The role of the TDS, Up: Introduction + +1.1 History +=========== + +Version 1.0 of the TDS was released in February 2003. + + Version 1.1 was released in June 2004, with the following +non-editorial changes: + + * Inputs for TeX extensions included under `tex', instead of + in their own top-level directories (Section *Note Extensions::) + + * New top-level directory `scripts' (Section *Note Scripts::). + + * New subdirectories `lig', `opentype', `truetype', and + `type3' under `fonts' (Section *Note Fonts::). + + * `enc', `lig', and `map' all use `SYNTAX/PACKAGE' + subdirectories (Section *Note Fonts::). + + * `pfm' files specified to go under `type1', and `inf' files + under `afm' (Section *Note Fonts::). + + +File: tds.info, Node: The role of the TDS, Next: Conventions, Prev: History, Up: Introduction + +1.2 The role of the TDS +======================= + +The role of the TDS is to stabilize the organization of TeX-related +software packages that are installed and in use, possibly on multiple +platforms simultaneously. + + At first glance, it may seem that the Comprehensive TeX Archive +Network (CTAN) fulfills at least part of this role, but this is not the +case. The role of CTAN is to simplify archiving and distribution, not +installation and use. + + In fact, the roles of the TDS and CTAN are frequently in conflict, +as we will see. For distribution, many different types of files must +be combined into a single unit; for use, it is traditional to segregate +files (even similar files) from a single package into separate, +occasionally distant, directories. + + +File: tds.info, Node: Conventions, Prev: The role of the TDS, Up: Introduction + +1.3 Conventions +=============== + +In this document, `/' is used to separate filename components; for +example, `texmf/fonts'. This is the Unix convention but the ideas are +in no way Unix-specific. + + In this document, "TeX" generally means the TeX system, including +Metafont, DVI drivers, utilities, etc., not just the TeX program itself. + + The word "package" in this document has its usual meaning: a set of +related files distributed, installed, and maintained as a unit. This is +_not_ a LaTeX2e package, which is a style file supplementing a document +class. + + We use the following typographic conventions: + + * `literal' Literal text such as `filename' is typeset in typewriter + type. + + * `REPLACEABLE' Replaceable text such as `PACKAGE', identifying a + class of things, is typeset in italics inside angle brackets. + + + +File: tds.info, Node: General, Next: Top-level directories, Prev: Introduction, Up: Top + +2 General +********* + +This section describes common properties throughout the TDS tree. + +* Menu: + +* Subdirectory searching:: +* Rooting the tree:: +* Local additions:: +* Duplicate filenames:: + + +File: tds.info, Node: Subdirectory searching, Next: Rooting the tree, Up: General + +2.1 Subdirectory searching +========================== + +Older TeX installations store large numbers of related files in single +directories, for example, all `TFM' files and/or all TeX input files. + + This monolithic arrangement hinders maintenance of a TeX system: it +is difficult to determine what files are used by what packages, what +files need to be updated when a new version is installed, or what files +should be deleted if a package is removed. It is also a source of error +if two or more packages happen to have input files with the same name. + + Therefore, the TWG felt each package should be in a separate +directory. But we recognized that explicitly listing all directories to +be searched would be unbearable. A site may wish to install dozens of +packages. Aside from anything else, listing that many directories would +produce search paths many thousands of characters long, overflowing the +available space on some systems. + + Also, if all directories are explicitly listed, installing or +removing a new package would mean changing a path as well as installing +or removing the actual files. This would be a time-consuming and +error-prone operation, even with implementations that provide some way +to specify the directories to search at runtime. On systems without +runtime configuration, it would require recompiling software, an +intolerable burden. + + As a result, the TWG concluded that a comprehensive TDS requires +implementations to support some form of implicit subdirectory +searching. More precisely, implementations must make it possible to +specify that TeX, Metafont, and their companion utilities search in both +a specified directory and recursively through all subdirectories of that +directory when looking for an input file. Other forms of subdirectory +searching, for example recursive-to-one-level searches, may also be +provided. We encourage implementors to provide subdirectory searching +at the option of the installer and user for all paths. + + The TDS does not specify a syntax for specifying recursive +searching, but we encourage implementors to provide interoperability +(see Section *Note More on subdirectory searching::). + + +File: tds.info, Node: Rooting the tree, Next: Local additions, Prev: Subdirectory searching, Up: General + +2.2 Rooting the tree +==================== + +In this document, we shall designate the root TDS directory by `texmf' +(for "TeX and Metafont"). We recommend using that name where possible, +but the actual name of the directory is up to the installer. On PC +networks, for example, this could map to a logical drive specification +such as `T:'. + + Similarly, the location of this directory on the system is +site-dependent. It may be at the root of the file system; on Unix +systems, `/usr/local/share', `/usr/local', `/usr/local/lib', and `/opt' +are common choices. + + The name `texmf' was chosen for several reasons: it reflects the fact +that the directory contains files pertaining to an entire TeX system +(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and +it is descriptive of a generic installation rather than a particular +implementation. + + A site may choose to have more than one TDS hierarchy installed (for +example, when installing an upgrade). This is perfectly legitimate. + + +File: tds.info, Node: Local additions, Next: Duplicate filenames, Prev: Rooting the tree, Up: General + +2.3 Local additions +=================== + +The TDS cannot specify precisely when a package is or is not a "local +addition". Each site must determine this according to its own +conventions. At the two extremes, one site might wish to consider +"nonlocal" all files not acquired as part of the installed TeX +distribution; another site might consider "local" only those files that +were actually developed at the local site and not distributed elsewhere. + + We recognize two common methods for local additions to a distributed +`texmf' tree. Both have their place; in fact, some sites employ both +simultaneously: + + 1. A completely separate tree which is a TDS structure itself; for + example, `/usr/local/umbtex' at the University of Massachusetts at + Boston. This is another example of the multiple `texmf' + hierarchies mentioned in the previous section. + + 2. A directory named `local' at any appropriate level, for example, + in the `FORMAT', `PACKAGE', and `SUPPLIER' directories discussed + in the following sections. The TDS reserves the directory name + `local' for this purpose. + + We recommend using `local' for site-adapted configuration files, + such as `language.dat' for the Babel package or `graphics.cfg' for + the graphics package. Unmodified configuration files from a + package should remain in the package directory. The intent is to + separate locally modified or created files from distribution + files, to ease installing new releases. + + + One common case of local additions is dynamically generated files, +e.g., PK fonts by the `mktexpk' script (which originated in Dvips as +`MakeTeXPK'). A site may store the generated files directly in any of: + * their standard location in the main TDS tree (if it can be made + globally writable); + + * an alternative location in the main TDS tree (for example, under + `texmf/fonts/tmp'); + + * a second complete TDS tree (as outlined above); + + * any other convenient directory (perhaps under `/var', for example + `/var/spool/fonts'). + + + No one solution will be appropriate for all sites. + + +File: tds.info, Node: Duplicate filenames, Prev: Local additions, Up: General + +2.4 Duplicate filenames +======================= + +Different files by the same name may exist in a TDS tree. The TDS +generally leaves unspecified which of two files by the same name in a +search path will be found, so generally the only way to reliably find a +given file is for it to have a unique name. However, the TDS requires +implementations to support the following exceptions: + + * Names of TeX input files must be unique within each first-level + subdirectory of `texmf/tex' and `texmf/tex/generic', but not + within all of `texmf/tex'; i.e., different TeX formats may have + files by the same name. (Section *Note Macros:: discusses this + further.) Thus, no single format-independent path specification, + such as a recursive search beginning at `texmf/tex' specifying no + other directories, suffices. So implementations must provide + format-dependent path specifications, for example via wrapper + scripts or configuration files. + + * Many font files will have the same name (e.g., `cmr10.pk'), as + discussed in Section *Note Valid font bitmaps::. Implementations + must distinguish these files by mode and resolution. + + + All implementations we know of already have these capabilities. + + One place where duplicate names are likely to occur is not an +exception: + + * Names of Metafont input files (as opposed to bitmaps) must be + unique within all of `texmf/fonts'. In practice, this is a problem + with some variants of Computer Modern which contain slightly + modified files named `punct.mf', `romanl.mf', and so on. We + believe the only feasible solution is to rename the derivative + files to be unique. + + + +File: tds.info, Node: Top-level directories, Next: Summary, Prev: General, Up: Top + +3 Top-level directories +*********************** + +The directories under the `texmf' root identify the major components of +a TeX system (see Section *Note Summary:: for a summary). A site may +omit any unneeded directories. + + Although the TDS by its nature can specify precise locations only +for implementation-independent files, we recognize that installers may +well wish to place other files under `texmf' to simplify administration +of the TeX tree, especially if it is maintained by someone other than +the system administrator. Therefore, additional top-level directories +may be present. + + The top-level directories specified by the TDS are: + + * `tex' for TeX files (Section *Note Macros::). + + * `fonts' for font-related files (Section *Note Fonts::). + + * `metafont' for Metafont files which are not fonts (Section *Note + Non-font Metafont files::). + + * `metapost' for MetaPost files (Section *Note MetaPost::). + + * `bibtex' for BibTeX files (Section *Note BibTeX::). + + * `scripts' for platform-independent executables (Section *Note + Scripts::). + + * `doc' for user documentation (Section *Note Documentation::). + + * `source' for sources. This includes both traditional program + sources (for example, Web2C sources go in `texmf/source/web2c') + and, e.g., LaTeX `dtx' sources (which go in `texmf/source/latex'). + The TDS leaves unspecified any structure under `source'. + + `source' is intended for files which are not needed at runtime by + any TeX program; it should not be included in any search path. For + example, `plain.tex' does not belong under `texmf/source', even + though it is a "source file" in the sense of not being derived + from another file. (It goes in `texmf/tex/plain/base', as explained + in Section *Note Macros::). + + * `IMPLEMENTATION' for implementations (examples: `emtex', `vtex', + `web2c'), to be used for whatever purpose deemed suitable by the + implementor or TeX administrator. That is, files that cannot be + shared between implementations, such as pool files (`tex.pool') + and memory dump files (`plain.fmt') go here, in addition to + implementation-wide configuration files. See Section *Note + Example implementation-specific trees:: for examples of real + `IMPLEMENTATION' trees. + + Such implementation-specific configuration files should _not_ be + located using the main TeX input search path (e.g., `TEXINPUTS'). + This must be reserved for files actually read by a TeX engine. + See Section *Note Extensions::. + + * `PROGRAM' for program-specific input and configuration files for + any TeX-related programs (examples: `mft', `dvips'). In fact, the + `tex', `metafont', `metapost', and `bibtex' items above may all be + seen as instances of this case. + + +* Menu: + +* Macros:: +* Fonts:: +* Non-font Metafont files:: +* MetaPost:: +* BibTeX:: +* Scripts:: +* Documentation:: + + +File: tds.info, Node: Macros, Next: Fonts, Up: Top-level directories + +3.1 Macros +========== + +TeX macro files shall be stored in separate directories, segregated by +TeX format and package name (we use `format' in its traditional TeX +sense to mean a usefully `\dump'-able package): + texmf/tex/FORMAT/PACKAGE/ + + * `FORMAT' is a format name (examples: `amstex', `latex', `plain', + `texinfo'). + + The TDS allows distributions that can be used as either formats or + packages (e.g., Texinfo, Eplain) to be stored at either level, at + the option of the format author or TeX administrator. We recommend + that packages used as formats at a particular site be stored at the + `FORMAT' level: by adjusting the TeX inputs search path, it will + be straightforward to use them as macro packages under another + format, whereas placing them in another tree completely obscures + their use as a format. + + The TDS reserves the following `FORMAT' names: + + * `generic', for input files that are useful across a wide + range of formats (examples: `null.tex', `path.sty'). + Generally, this means any format that uses the category codes + of Plain TeX and does not rely on any particular format. + This is in contrast to those files which are useful only with + Plain TeX (which go under `texmf/tex/plain'), e.g., + `testfont.tex' and `plain.tex' itself. + + * `local', for local additions. See Section *Note Local + additions::. + + + Thus, for almost every format, it is necessary to search at least + the `FORMAT' directory and then the `generic' directory (in that + order). Other directories may need to be searched as well, + depending on the format. When using AMS-TeX, for example, the + `amstex', `plain', and `generic' directories should be searched, + because AMS-TeX is compatible with Plain. + + * `PACKAGE' is a TeX package name (examples: `babel', `texdraw'). + + In the case where a format consists of only a single file and has + no auxiliary packages, that file can simply be placed in the + `FORMAT' directory, instead of `FORMAT/base'. For example, + Texinfo may go in `texmf/tex/texinfo/texinfo.tex', not + `texmf/tex/texinfo/base/texinfo.tex'. + + The TDS reserves the following `PACKAGE' names: + + * `base', for the base distribution of each format, including + files used by INITEX when dumping format files. For example, + in the standard LaTeX distribution, the `ltx' files created + during the build process. Another example: the `.ini' driver + files for formats used by TeX Live and other distributions. + + * `hyphen', for hyphenation patterns, including the original + American English `hyphen.tex'. These are typically used only + by INITEX. In most situations, this directory need exist + only under the `generic' format. + + * `images', for image input files, such as Encapsulated + PostScript figures. Although it is somewhat non-intuitive for + these to be under a directory named `tex', TeX needs to read + these files to glean bounding box or other information. A + mechanism for sharing image inputs between TeX and other + typesetting programs (e.g., Interleaf, FrameMaker) is beyond + the scope of the TDS. In most situations, this directory need + exist only under the `generic' format. + + * `local', for local additions and configuration files. See + Section *Note Local additions::. + + * `misc', for packages that consist of a single file. An + administrator or package maintainer may create directories for + single-file packages at their discretion, instead of using + `misc'. + + + +* Menu: + +* Extensions:: + + +File: tds.info, Node: Extensions, Up: Macros + +3.1.1 Extensions +---------------- + +TeX has spawned many companion and successor programs ("engines"), such +as PDFTeX, Omega, and others. The TDS specifies that the input files +for such programs (using a TeX-like syntax) be placed within the +top-level `tex' directory, either at the top level or within a format +subdirectory, even though the original TeX program may not be able to +read them. For example: + + texmf/tex/aleph + texmf/tex/enctex + + This is a change from TDS 1.0, which specified top-level `EXTENSION' +directories for each such program. We felt the new approach is +preferable, because: + + * Authors of relevant packages typically make their code detect the + engine being used, and issue error messages or adapt to + circumstances appropriately. Furthermore, as a package matures, + it may support multiple engines. Thus, a package could + conceivably be placed in any of several top-level directories, at + different times. Putting all packages under the top-level `tex' + directory provides a stable location over time. + + * Users need to be able to switch between engines, and configuring + different search paths for each engine is difficult and + error-prone. + + + Thus, in practice, having different top-level directories caused +difficulties for everyone involved--users, package authors, site +administrators, and system distributors. + + Please contrast this approach with the `IMPLEMENTATION' top-level +subdirectory (Section *Note Top-level directories::), which is to be +used for configuration files that (presumably) do not use TeX syntax +and in any case should not be found along the main TeX input search +path. + + +File: tds.info, Node: Fonts, Next: Non-font Metafont files, Prev: Macros, Up: Top-level directories + +3.2 Fonts +========= + +Font files are stored in separate directories, segregated by file type, +and then (in most cases) font supplier and typeface. PK and GF files +need additional structure, as detailed in the next section. + + texmf/fonts/TYPE/SUPPLIER/TYPEFACE/ + texmf/fonts/enc,lig,map/SUBPATH/ + + * `TYPE' is the type of font file. The TDS reserves the following + `TYPE' names for common TeX file types: + + * `afm', for Adobe font metrics, and `inf' files. + + * `gf', for generic font bitmap files. + + * `opentype', for OpenType fonts. + + * `pk', for packed bitmap files. + + * `source', for font sources (Metafont files, property lists, + etc.). + + * `tfm', for TeX font metric files. + + * `truetype', for TrueType fonts. + + * `type1', for PostScript Type 1 fonts (in `pfa', `pfb', + or any other format), and `pfm' files. + + * `type3', for PostScript Type 3 fonts. + + * `vf', for virtual fonts. + + The TDS also reserves the names `enc', `lig', and `map' for font + encoding, ligature, and mapping files, respectively. All of these + directories are structured the same way, with `SYNTAX' + subdirectories, and then `PACKAGE' subsubdirectories. Each of + these file types is intended to be searched along its own + recursively-searched path. The names of the actual files must be + unique within their subtree, as usual. Examples: + fonts/map/dvipdfm/updmap/dvipdfm.map + fonts/map/dvips/lm/lm.map + fonts/enc/dvips/base/8r.enc + + The Fontname and Dvips packages have more examples of the `enc' and + `map' types. The `afm2pl' program uses `lig' files. + + `pfm' files are included in the `type1' directory, instead of + being given their own directory, for two reasons: 1) a `.pfm' file + is always an adjunct to a given `.pfb' file; 2) they must be + installed from the same directory for Windows programs other than + TeX to use them. + + `inf' files are included in the `afm' directory, since an `inf' + and `afm' file can be used to generate a `pfm'. (Unfortunately, + Adobe Type Manager and perhaps other software requires that the + `pfb' be in the same directory as `afm' and `inf' for + installation.) + + As usual, a site may omit any of these directories that are + unnecessary. `gf' is a particularly likely candidate for omission. + + * `SUPPLIER' is a name identifying font source (examples: `adobe', + `ams', `public'). The TDS reserves the following `SUPPLIER' names: + + * `ams', for the American Mathematical Society's AMS-fonts + collection. + + * `local', for local additions. See Section *Note Local + additions::. + + * `public', for freely redistributable fonts where the supplier + neither (1) requested their own directory (e.g., `ams'), nor + (2) also made proprietary fonts (e.g., `adobe'). It does not + contain all extant freely distributable fonts, nor are all + files therein necessarily strictly public domain. + + * `tmp', for dynamically-generated fonts, as is traditional on + some systems. It may be omitted if unnecessary, as usual. + + + * `TYPEFACE' is the name of a typeface family (examples: `cm', + `euler', `times'). The TDS reserves the following `TYPEFACE' names: + + * `cm' (within `public'), for the 75 fonts defined in + `Computers and Typesetting, Volume E'. + + * `latex' (within `public'), for those fonts distributed with + LaTeX in the base distribution. + + * `local', for local additions. See Section *Note Local + additions::. + + + + Some concrete examples: + texmf/fonts/source/public/pandora/pnr10.mf + texmf/fonts/tfm/public/cm/cmr10.tfm + texmf/fonts/type1/adobe/utopia/putr.pfa + + For complete supplier and typeface name lists, consult `Filenames +for TeX fonts' (see Appendix *Note Related references::). + +* Menu: + +* Font bitmaps:: +* Valid font bitmaps:: + + +File: tds.info, Node: Font bitmaps, Next: Valid font bitmaps, Up: Fonts + +3.2.1 Font bitmaps +------------------ + +Font bitmap files require two characteristics in addition to the above +to be uniquely identifiable: (1) the type of device (i.e., mode) for +which the font was created; (2) the resolution of the bitmap. + + Following common practice, the TDS segregates fonts with different +device types into separate directories. See `modes.mf' in +Appendix *Note Related references:: for recommended mode names. + + Some printers operate at more than one resolution (e.g., at 300dpi +and 600dpi), but each such resolution will necessarily have a different +mode name. Nothing further is needed, since implicit in the TeX system +is the assumption of a single target resolution. + + Two naming strategies are commonly used to identify the resolution of +bitmap font files. On systems that allow long filenames (and in the +original Metafont program itself), the resolution is included in the +filename (e.g., `cmr10.300pk'). On systems which do not support long +filenames, fonts are generally segregated into directories by +resolution (e.g., `dpi300/cmr10.pk'). + + Because the TDS cannot require long filenames, we must use the +latter scheme for naming fonts. So we have two more subdirectory levels +under `pk' and `gf': + + texmf/fonts/pk/MODE/SUPPLIER/TYPEFACE/dpiNNN/ + texmf/fonts/gf/MODE/SUPPLIER/TYPEFACE/dpiNNN/ + + * `MODE' is a name which identifies the device type (examples: `cx', + `ljfour', `modeless'). Usually, this is the name of the Metafont + mode used to build the PK file. For fonts rendered as bitmaps by + a program that does not distinguish between different output + devices, the `MODE' name shall be simply `modeless'. The `MODE' + level shall not be omitted, even if only a single mode happens to + be in use. + + * `dpiNNN' specifies the resolution of the font (examples: `dpi300', + `dpi329'). `dpi' stands for dots per inch, i.e., pixels per inch. + We recognize that pixels per millimeter is used in many parts of + the world, but dpi is too traditional in the TeX world to consider + changing now. + + The integer `NNN' is to be calculated as if using Metafont + arithmetic and then rounded; i.e., it is the integer Metafont uses + in its output `gf' filename. We recognize small differences in the + resolution are a common cause of frustration among users, however, + and recommend implementors follow the level 0 DVI driver standard + (see Appendix *Note Related references::) in bitmap font searches + by allowing a fuzz of +-0.2% (with a minimum of 1) in the `DPI'. + + + Implementations may provide extensions to the basic naming scheme, +such as long filenames (as in the original Metafont) and font library +files (as in emTeX's `.fli' files), provided that the basic scheme is +also supported. + + +File: tds.info, Node: Valid font bitmaps, Prev: Font bitmaps, Up: Fonts + +3.2.2 Valid font bitmaps +------------------------ + +The TWG recognizes that the use of short filenames has many +disadvantages. The most vexing is that it results in the creation of +dozens of different files with the same name. At a typical site, +`cmr10.pk' will be the filename for Computer Modern Roman 10pt at 5-10 +magnifications for 2-3 modes. (Section *Note Duplicate filenames:: +discusses duplicate filenames in general.) + + To minimize this problem, we strongly recommend that PK files +contain enough information to identify precisely how they were created: +at least the mode, base resolution, and magnification used to create the +font. + + This information is easy to supply: a simple addition to the local +modes used for building the fonts with Metafont will automatically +provide the required information. If you have been using a local modes +file derived from (or that is simply) `modes.mf' (see Appendix *Note +Related references::), the required information is already in your PK +files. If not, a simple addition based on the code found in `modes.mf' +can be made to your local modes file and the PK files rebuilt. + + +File: tds.info, Node: Non-font Metafont files, Next: MetaPost, Prev: Fonts, Up: Top-level directories + +3.3 Non-font Metafont files +=========================== + +Most Metafont input files are font programs or parts of font programs +and are thus covered by the previous section. However, a few non-font +input files do exist. Such files shall be stored in: + + texmf/metafont/PACKAGE/ + + `PACKAGE' is the name of a Metafont package (for example, `mfpic'). + + The TDS reserves the following `PACKAGE' names: + + * `base', for the standard Metafont macro files as described in `The + Metafontbook', such as `plain.mf' and `expr.mf'. + + * `local', for local additions. See Section *Note Local additions::. + + * `misc', for Metafont packages consisting of only a single file + (for example, `modes.mf'). An administrator or package maintainer + may create directories for single-file packages at their + discretion, instead of using `misc'. + + + +File: tds.info, Node: MetaPost, Next: BibTeX, Prev: Non-font Metafont files, Up: Top-level directories + +3.4 MetaPost +============ + +MetaPost is a picture-drawing language developed by John Hobby, derived +from Knuth's Metafont. Its primary purpose is to output Encapsulated +PostScript instead of bitmaps. + + MetaPost input files and the support files for MetaPost-related +utilities shall be stored in: + + texmf/metapost/PACKAGE/ + + `PACKAGE' is the name of a MetaPost package. At the present writing +none exist, but the TWG thought it prudent to leave room for +contributed packages that might be written in the future. + + The TDS reserves the following `PACKAGE' names: + + * `base', for the standard MetaPost macro files, such as `plain.mp', + `mfplain.mp', `boxes.mp', and `graph.mp'. This includes files + used by INIMP when dumping mem files containing preloaded macro + definitions. + + * `local', for local additions. See Section *Note Local additions::. + + * `misc', for MetaPost packages consisting of only a single file. + An administrator or package maintainer may create directories for + single-file packages at their discretion, instead of using `misc'. + + * `support', for additional input files required by MetaPost utility + programs, including a font map, a character adjustment table, and + a subdirectory containing low-level MetaPost programs for rendering + some special characters. + + + +File: tds.info, Node: BibTeX, Next: Scripts, Prev: MetaPost, Up: Top-level directories + +3.5 BibTeX +========== + +BibTeX-related files shall be stored in: + + texmf/bibtex/bib/PACKAGE/ + texmf/bibtex/bst/PACKAGE/ + + The `bib' directory is for BibTeX database (`.bib') files, the `bst' +directory for style (`.bst') files. + + `PACKAGE' is the name of a BibTeX package. The TDS reserves the +following `PACKAGE' names (the same names are reserved under both `bib' +and `bst'): + + * `base', for the standard BibTeX databases and styles, such as + `xampl.bib', `plain.bst'. + + * `local', for local additions. See Section *Note Local additions::. + + * `misc', for BibTeX packages consisting of only a single file. An + administrator or package maintainer may create directories for + single-file packages at their discretion, instead of using `misc'. + + + +File: tds.info, Node: Scripts, Next: Documentation, Prev: BibTeX, Up: Top-level directories + +3.6 Scripts +=========== + +The top-level `scripts' directory is for platform-independent +executables, such as Perl, Python, and shell scripts, and Java class +files. Subdirectories under `scripts' are package names. This eases +creating distributions, by providing a common place for such +platform-independent programs. + + The intent is not for all such directories to be added to a user's +command search path, which would be quite impractical. Rather, these +executables are primarily for the benefit of wrapper scripts in whatever +executable directory a distribution may provide (which is not specified +by the TDS). + + Truly auxiliary scripts which are invoked directly by other programs, +rather than wrapper scripts, may also be placed here. That is, +`scripts' also serves as a platform-independent analog of the standard +Unix `libexec' directory. + + We recommend using extensions specifying the language (such as +`.pl', `.py', `.sh') on these files, to help uniquely identify the +name. Since the intent of the TDS is for programs in `scripts' not to +be invoked directly by users, this poses no inconvenience. + + For example, in the TeX Live distribution, the ConTeXt user-level +program `texexec' can exist as a small wrapper script in each +`bin/PLATFORM/texexec' (which is outside the `texmf' tree), which +merely finds and calls `texmf/scripts/context/perl/texexec.pl'. + + Examples: + scripts/context/perl/texexec.pl + scripts/context/ruby/examplex.rb + scripts/thumbpdf/thumbpdf.pl + + The TDS does not specify a location for platform-dependent binary +executables, whether auxiliary or user-level. + + +File: tds.info, Node: Documentation, Prev: Scripts, Up: Top-level directories + +3.7 Documentation +================= + +Most packages come with some form of documentation: user manuals, +example files, programming guides, etc. In addition, many independent +files not part of any macro or other package have been created to +describe various aspects of the TeX system. + + The TDS specifies that these additional documentation files shall be +stored in a structure that parallels to some extent the `fonts' and +`tex' directories, as follows: + + texmf/doc/CATEGORY/... + + `CATEGORY' identifies the general topic of documentation that +resides below it; for example, a TeX format name (`latex'), program +name (`bibtex', `tex'), language (`french', `german'), a file format +(`info', `man'), or other system components (`web', `fonts'). + + One possible arrangement is to organize `doc' by language, with all +the other category types below that. This helps users find +documentation in the language(s) in which they are fluent. Neither this +nor any other particular arrangement is required, however. + + Within each `CATEGORY' tree for a TeX format, the directory `base' +is reserved for base documentation distributed by the format's +maintainers. + + The TDS reserves the following category names: + + * `general', for standalone documents not specific to any particular + program (for example, Joachim Schrod's `Components of TeX'). + + * `help', for meta-information, such as FAQ's, the TeX Catalogue, + etc. + + * `info', for processed Texinfo documents. (Info files, like + anything else, may also be stored outside the TDS, at the + installer's option.) + + * `local', for local additions. See Section *Note Local additions::. + + + The `doc' directory is intended for implementation-independent and +operating system-independent documentation files. +Implementation-dependent files are best stored elsewhere, as provided +for by the implementation and/or TeX administrator (for example, VMS +help files under `texmf/vms/help'). + + The documentation directories may contain TeX sources, DVI files, +PostScript files, text files, example input files, or any other useful +documentation format(s). + + See Section *Note Documentation tree summary:: for a summary. + + +File: tds.info, Node: Summary, Next: Unspecified pieces, Prev: Top-level directories, Up: Top + +4 Summary +********* + +A skeleton of a TDS `texmf' directory tree. This is not to imply these +are the only entries allowed. For example, `local' may occur at any +level. + + bibtex/ BibTeX input files + bib/ BibTeX databases + base/ base distribution (e.g., `xampl.bib') + misc/ single-file databases + / name of a package + bst/ BibTeX style files + base/ base distribution (e.g., `plain.bst', `acm.bst') + misc/ single-file styles + / name of a package + doc/ see Section *Note Documentation:: and the summary below + fonts/ font-related files + / file type (e.g., `pk') + / type of output device (for `pk' and `gf' only) + / name of a font supplier (e.g., `public') + / name of a typeface (e.g., `cm') + dpi/ font resolution (for `pk' and `gf' only) + / TeX implementations, by name (e.g., `emtex') + local/ files created or modified at the local site + metafont/ Metafont (non-font) input files + base/ base distribution (e.g., `plain.mf') + misc/ single-file packages (e.g., `modes.mf') + / name of a package (e.g., `mfpic') + metapost/ MetaPost input and support files + base/ base distribution (e.g., `plain.mp') + misc/ single-file packages + / name of a package + support/ support files for MetaPost-related utilities + mft/ `MFT' inputs (e.g., `plain.mft') + / TeX-related programs, by name (e.g., `dvips') + source/ program source code by name (e.g., `latex', `web2c') + tex/ TeX input files + / name of an engine (e.g., `aleph'); can also be lower + / name of a format (e.g., `plain') + base/ base distribution for format (e.g., `plain.tex') + misc/ single-file packages (e.g., `webmac.tex') + local/ local additions to or local configuration files for `FORMAT' + / name of a package (e.g., `graphics', `mfnfss') + generic/ format-independent packages + hyphen/ hyphenation patterns (e.g., `hyphen.tex') + images/ image input files (e.g., Encapsulated PostScript) + misc/ single-file format-independent packages (e.g., `null.tex'). + / name of a package (e.g., `babel') + +* Menu: + +* Documentation tree summary:: + + +File: tds.info, Node: Documentation tree summary, Up: Summary + +4.1 Documentation tree summary +============================== + +An example skeleton of a TDS directory tree under `texmf/doc'. This is +not to imply these are the only entries allowed, or that this structure +must be followed precisely for the entries listed. + + As mentioned, the `texmf/doc' tree may be organized by language, so +that all documentation in French, say, is in a `french' subdirectory. +In that case, the example structure here would be in a given language +directory. + + ams/ + amsfonts/ `amsfonts.faq', `amfndoc' + amslatex/ `amslatex.faq', `amsldoc' + amstex/ `amsguide', `joyerr' + bibtex/ BibTeX + base/ `btxdoc.tex' + fonts/ + fontname/ `Filenames for TeX fonts' + oldgerm/ `corkpapr' + / name of a TeX format (e.g., `generic', `latex') + base/ for the base distribution + misc/ for contributed single-file package documentation + / for _package_ + general/ across programs, generalities + errata/ `errata', `errata[1-8]' + texcomp/ `Components of TeX' + help/ meta-information + ctan/ info about CTAN mirror sites + faq/ FAQs of `comp.text.tex', etc. + info/ GNU Info files, made from Texinfo sources + latex/ example of `FORMAT' + base/ `ltnews*', `*guide', etc. + graphics/ `grfguide' + local/ site-specific documentation + man/ Unix man pages + / TeX-related programs, by name (examples follow) + metafont/ `mfbook.tex', `metafont-for-beginners', etc. + metapost/ `mpman', `manfig', etc. + tex/ `texbook.tex', `A Gentle Introduction to TeX', etc. + web/ `webman', `cwebman' + + +File: tds.info, Node: Unspecified pieces, Next: Implementation issues, Prev: Summary, Up: Top + +Appendix A Unspecified pieces +***************************** + +The TDS cannot address the following aspects of a functioning TeX +system: + + 1. The location of executable programs: this is too site-dependent + even to recommend a location, let alone require one. A site may + place executables outside the `texmf' tree altogether (e.g., + `/usr/local/bin'), in a platform-dependent directory within + `texmf', or elsewhere. + + 2. Upgrading packages when new releases are made: we could find no + way of introducing version specifiers into `texmf' that would do + more good than harm, or that would be practical for even a + plurality of installations. + + 3. The location of implementation-specific files (e.g., TeX `.fmt' + files): by their nature, these must be left to the implementor or + TeX maintainer. See Section *Note Example implementation-specific + trees::. + + 4. Precisely when a package or file should be considered "local", and + where such local files are installed. See Section *Note Local + additions:: for more discussion. + + +* Menu: + +* Portable filenames:: + + +File: tds.info, Node: Portable filenames, Up: Unspecified pieces + +A.1 Portable filenames +====================== + +The TDS cannot require any particular restriction on filenames in the +tree, since the names of many existing TeX files conform to no standard +scheme. For the benefit of people who wish to make a portable TeX +distribution or installation, however, we outline here the necessary +restrictions. The TDS specifications themselves are compatible with +these. + + ISO-9660 is the only universally acceptable file system format for +CD-ROMs. A subset thereof meets the stringent limitations of all +operating systems in use today. It specifies the following: + + * File and directory names, not including any directory path or + extension part, may not exceed eight characters. + + * Filenames may have a single extension. Extensions may not exceed + three characters. Directory names may not have an extension. + + * Names and extensions may consist of _only_ the characters `A'-`Z', + `0'-`9', and underscore. Lowercase letters are excluded. + + * A period separates the filename from the extension and is always + present, even if the name or extension is missing (e.g., + `FILENAME.' or `.EXT'). + + * A version number, ranging from 1-32767, is appended to the file + extension, separated by a semicolon (e.g., `FILENAME.EXT;1'). + + * Only eight directory levels are allowed, including the top-level + (mounted) directory (see Section *Note Rooting the tree::). Thus, + the deepest valid ISO-9660 path is: + texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1 + 1 2 3 4 5 6 7 8 + The deepest TDS path needs only seven levels: + texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk + 1 2 3 4 5 6 7 + + + Some systems display a modified format of ISO-9660 names, mapping +alphabetic characters to lowercase, removing version numbers and +trailing periods, etc. + + Before the December 1996 release, LaTeX used mixed-case names for +font descriptor files. Fortunately, it never relied on case alone to +distinguish among the files. Nowadays, it uses only monocase names. + + +File: tds.info, Node: Implementation issues, Next: Is there a better way?, Prev: Unspecified pieces, Up: Top + +Appendix B Implementation issues +******************************** + +We believe that the TDS can bring a great deal of order to the current +anarchic state of many TeX installations. In addition, by providing a +common frame of reference, it will ease the burden of documenting +administrative tasks. Finally, it is a necessary part of any +reasonable system of true "drop-in" distribution packages for TeX. + +* Menu: + +* Adoption of the TDS:: +* More on subdirectory searching:: +* Example implementation-specific trees:: + + +File: tds.info, Node: Adoption of the TDS, Next: More on subdirectory searching, Up: Implementation issues + +B.1 Adoption of the TDS +======================= + +[This section is retained for historical purposes; the TDS is now quite +firmly entrenched in most TeX distributions.] + + We recognize that adoption of the TDS will not be immediate or +universal. Most TeX administrators will not be inclined to make the +final switch until: + + * Clear and demonstrable benefits can be shown for the TDS. + + * TDS-compliant versions of all key programs are available in + ported, well-tested forms. + + * A "settling" period has taken place, to flush out problems. The + public release of the first draft of this document was the first + step in this process. + + Consequently, most of the first trials of the TDS will be made by +members of the TDS committee and/or developers of TeX-related software. +This has already taken place during the course of our deliberations +(see Appendix *Note Related references:: for a sample tree available +electronically). They will certainly result in the production of a +substantial number of TDS-compliant packages. Indeed, the teTeX and +TeX Live distributions are TDS-compliant and in use now at many sites. + + Once installable forms of key TDS-compliant packages are more +widespread, some TeX administrators will set up TDS-compliant trees, +possibly in parallel to existing production directories. This testing +will likely flush out problems that were not obvious in the confined +settings of the developers' sites; for example, it should help to +resolve system and package dependencies, package interdependencies, and +other details not addressed by this TDS version. + + After most of the dust has settled, hopefully even conservative TeX +administrators will begin to adopt the TDS. Eventually, most TeX sites +will have adopted the common structure, and most packages will be +readily available in TDS-compliant form. + + We believe that this process will occur relatively quickly. The TDS +committee spans a wide range of interests in the TeX community. +Consequently, we believe that most of the key issues involved in +defining a workable TDS definition have been covered, often in detail. +TeX developers have been consulted about implementation issues, and +have been trying out the TDS arrangement. Thus, we hope for few +surprises as implementations mature. + + Finally, there are several (current or prospective) publishers of TeX +CD-ROMs. These publishers are highly motivated to work out details of +TDS implementation, and their products will provide inexpensive and +convenient ways for experimentally-minded TeX administrators to +experiment with the TDS. + + +File: tds.info, Node: More on subdirectory searching, Next: Example implementation-specific trees, Prev: Adoption of the TDS, Up: Implementation issues + +B.2 More on subdirectory searching +================================== + +Recursive subdirectory searching is the ability to specify a search not +only of a specified directory `D', but recursively of all directories +below `D'. + + Since the TDS specifies precise locations for most files, with no +extra levels of subdirectories allowed, true recursive searching is not +actually required for a TDS-compliant implementation. We do, however, +strongly recommend recursive searching as the most user-friendly and +natural approach to the problem, rather than convoluted methods to +specify paths without recursion. + + This feature is already supported by many implementations of TeX and +companion utilities, for example DECUS TeX for VMS, Dvips(k), emTeX +(and its drivers), PubliC TeX, Web2C, Xdvi(k), and Y&YTeX. The +Kpathsea library is a reusable implementation of subdirectory searching +for TeX, used in a number of the above programs. + + Even if your TeX implementation does not directly support +subdirectory searching, you may find it useful to adopt the structure if +you do not use many fonts or packages. For instance, if you only use +Computer Modern and AMS fonts, it would be feasible to store them in +the TDS layout and list the directories individually in configuration +files or environment variables. + + The TWG recognizes that subdirectory searching places an extra +burden on the system and may be the source of performance bottlenecks, +particularly on slower machines. Nevertheless, we feel that +subdirectory searching is imperative for a well-organized TDS, for the +reasons stated in Section *Note Subdirectory searching::. Implementors +are encouraged to provide enhancements to the basic principle of +subdirectory searching to avoid performance problems, e.g., the use of +a filename cache (this can be as simple as a recursive directory +listing) that is consulted before disk searching begins. If a match is +found in the database, subdirectory searching is not required, and +performance is thus independent of the number of subdirectories present +on the system. + + Different implementations specify subdirectory searching differently. +In the interest of typographic clarity, the examples here do not use the +`REPLACEABLE' font. + + * Dvips: via a separate `TEXFONTS_SUBDIR' environment variable. + + * emTeX: `t:\subdir!!'; `t:\subdir!' for a single level of searching. + + * Kpathsea: `texmf/subdir//' + + * VMS: `texmf:[subdir...]' + + * Xdvi (patchlevel 20): `texmf/subdir/**'; `texmf/subdir/*' for a + single level of searching. Version 20.50 and above support the + `//' notation. + + * Y&Y TeX: `t:/subdir//' or `t:\subdir\\'. + + + +File: tds.info, Node: Example implementation-specific trees, Prev: More on subdirectory searching, Up: Implementation issues + +B.3 Example implementation-specific trees +========================================= + +The TDS cannot specify a precise location for implementation-specific +files, such as `texmf/ini', because a site may have multiple TeX +implementations. + + Nevertheless, for informative purposes, we provide here the default +locations for some implementations. Please contact us with additions or +corrections. These paths are not definitive, may not match anything at +your site, and may change without warning. + + We recommend all implementations have default search paths that start +with the current directory (e.g., `.'). Allowing users to include the +parent directory (e.g., `..') is also helpful. + +* Menu: + +* AmiWeb2c 2.0:: +* Public DECUS TeX:: +* Web2c 7:: + + +File: tds.info, Node: AmiWeb2c 2.0, Next: Public DECUS TeX, Up: Example implementation-specific trees + +B.3.1 AmiWeb2c 2.0 +------------------ + +(Email to contact the maintainer of +this implementation.) + + AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible +extent, so only the very few differences are described in this section. +Detailed information about the basic concepts is given in the section +for Web2c 7 below. + + Thanks to the `SELFAUTO' mechanism of Kpathsea 3.0 no specific +location for the installation of AmiWeb2c is required as long as the +general structure of the distribution is preserved. + + In addition to Kpathsea's `//' notation recursive path search may +also be started by `DEVICE:/', e.g., `TeXMF:/' will scan this specific +device completely. + + Binaries coming with the AmiWeb2c distribution are installed in the +directory `bin/amiweb2c/' outside the common TDS tree `share/texmf/'. +In addition to the set of AmiWeb2c binaries you will find two +subdirectories `local/' and `pastex/' with auxiliary programs. + + A stripped version of the PasTeX system (used by kind permission of +Georg Hessmann) is coming with AmiWeb2c, pre-installed in its own +`share/texmf/amiweb2c/pastex/' directory. If you want to use PasTeX +you have to `assign' the name `TeX:' to this place. + + Documentation files in AmigaGuide format should be stored at +`doc/guide/' similar to `doc/info/'. + + +File: tds.info, Node: Public DECUS TeX, Next: Web2c 7, Prev: AmiWeb2c 2.0, Up: Example implementation-specific trees + +B.3.2 Public DECUS TeX +---------------------- + +If another VMS implementation besides Public DECUS TeX appears, the top +level implementation directory name will be modified to something more +specific (e.g., `vms_decus'). + + texmf/ + vms/ VMS implementation specific files + exe/ end-user commands + common/ command procedures, command definition files, etc. + axp/ binary executables for Alpha AXP + vax/ binary executables for VAX + formats/ pool files, formats, bases + help/ VMS help library, and miscellaneous help sources + mgr/ command procedures, programs, docs, etc., for system management + + +File: tds.info, Node: Web2c 7, Prev: Public DECUS TeX, Up: Example implementation-specific trees + +B.3.3 Web2c 7 +------------- + +All implementation-dependent TeX system files (`.pool', `.fmt', +`.base', `.mem') are stored by default directly in `texmf/web2c'. The +configuration file `texmf.cnf' and various subsidiary `MakeTeX...' +scripts used as subroutines are also stored there. + + Non-TeX specific files are stored following the GNU coding +standards. Given a root directory `PREFIX' (`/usr/local' by default), +we have default locations as follows: + + / installation root (`/usr/local' by default) + bin/ executables + man/ man pages + info/ info files + lib/ libraries (`libkpathsea.*') + share/ architecture-independent files + texmf/ TDS root + web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.) + + See `http://www.gnu.org/prep/standards_toc.html' for the rationale +behind and descriptions of this arrangement. A site may of course +override these defaults; for example, it may put everything under a +single directory such as `/usr/local/texmf'. + + +File: tds.info, Node: Is there a better way?, Next: Related references, Prev: Implementation issues, Up: Top + +Appendix C Is there a better way? +********************************* + +Defining the TDS required many compromises. Both the overall structure +and the details of the individual directories were arrived at by +finding common ground among many opinions. The driving forces were +feasibility (in terms of what could technically be done and what could +reasonably be expected from developers) and regularity (files grouped +together in an arrangement that "made sense"). + + Some interesting ideas could not be applied due to implementations +lacking the necessary support: + + * Path searching control at the TeX level. If documents could + restrict subdirectory searching to a subdirectory via some portable + syntax in file names, restrictions on uniqueness of filenames + could be relaxed considerably (with the cooperation of the + formats), and the TeX search path would not need to depend on the + format. + + * Multiple logical `texmf' trees. For example, a site might have one + (read-only) location for stable files, and a different (writable) + location for dynamically-created fonts or other files. It would be + reasonable for two such trees to be logically merged when + searching. See Michael Downes' article in the references for how + this can work in practice with Web2C. + + +* Menu: + +* Macro structure:: +* Font structure:: +* Documentation structure:: + + +File: tds.info, Node: Macro structure, Next: Font structure, Up: Is there a better way? + +C.1 Macro structure +=================== + +The TWG settled on the `FORMAT/PACKAGE' arrangement after long +discussion about how best to arrange the files. + + The primary alternative to this arrangement was a scheme which +reversed the order of these directories: `PACKAGE/FORMAT'. This +reversed arrangement has a strong appeal: it keeps all of the files +related to a particular package in a single place. The arrangement +actually adopted tends to spread files out into two or three places +(macros, documentation, and fonts, for example, are spread into +different sections of the tree right at the top level). + + Nevertheless, the `FORMAT/PACKAGE' structure won for a couple of +reasons: + + * It is closer to current practice; in fact, several members of the + TWG have already implemented the TDS hierarchy. The alternative + is not in use at any known site, and the TWG felt it wrong to + mandate something with which there is no practical experience. + + * The alternative arrangement increases the number of top-level + directories, so the files that must be found using subdirectory + searching are spread out in a wide, shallow tree. This could have + a profound impact on the efficiency of subdirectory searching. + + + +File: tds.info, Node: Font structure, Next: Documentation structure, Prev: Macro structure, Up: Is there a better way? + +C.2 Font structure +================== + +The TWG struggled more with the font directory structure than anything +else. This is not surprising; the need to use the proliferation of +PostScript fonts with TeX is what made the previous arrangement with +all files in a single directory untenable, and therefore what initiated +the TDS effort. + +* Menu: + +* Font file type location:: +* Mode and resolution location:: +* Modeless bitmaps:: + + +File: tds.info, Node: Font file type location, Next: Mode and resolution location, Up: Font structure + +C.2.1 Font file type location +----------------------------- + +We considered the supplier-first arrangement in use at many sites: + + texmf/fonts/SUPPLIER/TYPEFACE/TYPE/ + + This improves the maintainability of the font tree, since all files +comprising a given typeface are in one place, but unless all the +programs that search this tree employ some form of caching, there are +serious performance concerns. For example, in order to find a `TFM' +file, the simplest implementation would require TeX to search through +all the directories that contain PK files in all modes and at all +resolutions. + + In the end, a poll of developers revealed considerable resistance to +implementing sufficient caching mechanisms, so this arrangement was +abandoned. The TDS arrangement allows the search tree to be restricted +to the correct type of file, at least. Concerns about efficiency +remain, but there seems to be no more we can do without abandoning +subdirectory searching entirely. + + We also considered segregating all font-related files strictly by +file type, so that Metafont sources would be in a directory +`texmf/fonts/mf', property list files in `texmf/fonts/pl', the various +forms of Type 1 fonts separated, and so on. Although more blindly +consistent, we felt that the drawback of more complicated path +constructions outweighed this. The TDS merges file types (`mf' and `pl' +under `source', `pfa' and `pfb' and `gsf' under `type1') where we felt +this was beneficial. + + +File: tds.info, Node: Mode and resolution location, Next: Modeless bitmaps, Prev: Font file type location, Up: Font structure + +C.2.2 Mode and resolution location +---------------------------------- + +We considered having the `mode' at the bottom of the font tree: + texmf/fonts/pk/SUPPLIER/TYPEFACE/MODE/DPI/ + + In this case, however, it is difficult to limit subdirectory +searching to the mode required for a particular device. + + We then considered moving the `dpiNNN' up to below the mode: + texmf/fonts/pk/MODE/DPI/SUPPLIER/TYPEFACE/ + + But then it is not feasible to omit the `dpiNNN' level altogether on +systems which can and do choose to use long filenames. + + +File: tds.info, Node: Modeless bitmaps, Prev: Mode and resolution location, Up: Font structure + +C.2.3 Modeless bitmaps +---------------------- + +The TDS specifies using a single directory `modeless/' as the mode name +for those utilities which generate bitmaps, e.g., +`texmf/fonts/modeless/times/'. This has the considerable advantage of +not requiring each such directory name to be listed in a search path. + + An alternative was to use the utility name below which all such +directories could be gathered. That has the advantage of separating, +say, `gsftopk'-generated bitmaps from `ps2pk'-generated ones. However, +we decided this was not necessary; most sites will use only one program +for the purpose. Also, PK and GF fonts generally identify their +creator in the font comment following the `PK_ID' byte. + + We are making an implicit assumption that Metafont is the only +program producing mode-dependent bitmaps. If this becomes false we +could add an abbreviation for the program to mode names, as in `mfcx' +vs. `xyzcx' for a hypothetical program Xyz, or we could at that time +add an additional program name level uniformly to the tree. It seemed +more important to concisely represent the current situation than to +worry about hypothetical possibilities that may never happen. + + +File: tds.info, Node: Documentation structure, Prev: Font structure, Up: Is there a better way? + +C.3 Documentation structure +=========================== + +We considered placing additional documentation files in the same +directory as the source files for the packages, but we felt that users +should be able to find documentation separately from sources, since most +users have no interest in sources. + + We hope that a separate, but parallel, structure for documentation +would (1) keep the documentation together and (2) make it as +straightforward as possible for users to find the particular +documentation they were after. + + +File: tds.info, Node: Related references, Next: Contributors, Prev: Is there a better way?, Up: Top + +Appendix D Related references +***************************** + +This appendix gives pointers to related files and other documents. For +CTAN references, we use `http://www.ctan.org' as the top-level domain +only to make the links be live in this document. See +`http://www.ctan.org/tex-archive/CTAN.sites' for a complete list of +CTAN sites; there are mirrors worldwide. + + * This document, in many formats (tex, dvi, info, pdf): + `http://tug.org/tds/' + + * The TDS mailing list archives: + `http://tug.org/mail-archives/twg-tds/' + + * The level 0 DVI driver standard: + `http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/' + + * `Filenames for TeX fonts', with lists of recommended supplier and + typeface names: + `http://tug.org/fontname/' + + * ISO-9660 CD-ROM file system standard: + `http://www.iso.ch/cate/cat.html' + + * `Components of TeX', a paper by Joachim Schrod: + `http://www.ctan.org/tex-archive/documentation/components-of-TeX/' + + * `Managing Multiple TDS trees', an article by Michael Downes: + `http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf' + + * A complete set of Metafont modes: + `http://www.ctan.org/tex-archive/fonts/modes/modes.mf' + + * A large collection of BibTeX databases and styles: + `ftp://ftp.math.utah.edu/pub/tex/bib/' + + + +File: tds.info, Node: Contributors, Prev: Related references, Up: Top + +Appendix E Contributors +*********************** + +The TWG has had no physical meetings; electronic mail was the +communication medium. + + Sebastian Rahtz is the TeX Users Group Technical Council liaison. +Norman Walsh was the original committee chair. Karl Berry is the +current editor. + + The list of contributors has grown too large to fairly include, as +some would surely be inadvertently omitted. Please consider the +archives of the and mailing lists as +the record of contributions. + + + +Tag Table: +Node: Top198 +Node: Introduction2185 +Node: History3846 +Node: The role of the TDS4648 +Node: Conventions5508 +Node: General6429 +Node: Subdirectory searching6714 +Node: Rooting the tree8968 +Node: Local additions10080 +Node: Duplicate filenames12293 +Node: Top-level directories14054 +Node: Macros17062 +Node: Extensions20919 +Node: Fonts22645 +Node: Font bitmaps26786 +Node: Valid font bitmaps29674 +Node: Non-font Metafont files30882 +Node: MetaPost31842 +Node: BibTeX33286 +Node: Scripts34155 +Node: Documentation35872 +Node: Summary38145 +Node: Documentation tree summary41031 +Node: Unspecified pieces43056 +Node: Portable filenames44267 +Node: Implementation issues46409 +Node: Adoption of the TDS47041 +Node: More on subdirectory searching49753 +Node: Example implementation-specific trees52568 +Node: AmiWeb2c 2.053447 +Node: Public DECUS TeX54889 +Node: Web2c 755752 +Node: Is there a better way?56974 +Node: Macro structure58480 +Node: Font structure59816 +Node: Font file type location60369 +Node: Mode and resolution location61946 +Node: Modeless bitmaps62625 +Node: Documentation structure63915 +Node: Related references64543 +Node: Contributors65959 + +End Tag Table diff --git a/info/tds/tds.pdf b/info/tds/tds.pdf new file mode 100644 index 0000000000..bb2a2a46d3 Binary files /dev/null and b/info/tds/tds.pdf differ diff --git a/info/tds/tds.sed b/info/tds/tds.sed new file mode 100644 index 0000000000..fb7f30f13c --- /dev/null +++ b/info/tds/tds.sed @@ -0,0 +1,14 @@ +# $Id: tds.sed,v 1.2 2004/06/04 17:11:34 karl Exp $ +# Written by Ulrik Vieth and Karl Berry. +# Public domain. +# +# Things that are too hard to do in Elisp. Run after tds2texi-convert. + +# Indentation blocks in tdsSummary environments. +s/ \./ /g + +# References that are too hard to convert automatically. +s/Table, ref{tab:summary}/@pxref{Summary},/ + +/^Copyright.*Group/a\ +This is version @value{version}. diff --git a/info/tds/tds.tex b/info/tds/tds.tex new file mode 100644 index 0000000000..55c1b4ddcc --- /dev/null +++ b/info/tds/tds.tex @@ -0,0 +1,1585 @@ +%&latex +% $Id: tds.tex,v 1.43 2004/06/23 17:24:42 karl Exp $ +\NeedsTeXFormat{LaTeX2e} % compatibility with 2.09 is too painful +\documentclass{tdsguide} + +\tdsVersion{1.1} + +\title{A Directory Structure for \TeX{} Files} +\author{TUG Working Group on a \TeX{} Directory Structure (TWG-TDS)} + +\begin{document} + +\maketitle + +\begin{legalnotice} + +Copyright {\copyright} 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 +\TeX{} Users Group. + +Permission to use, copy, and distribute this document \emphasis{without +modification} for any purpose and without fee is hereby granted, +provided that this notice appears in all copies. It is provided ``as +is'' without expressed or implied warranty. + +Permission is granted to copy and distribute modified versions of this +document under the conditions for verbatim copying, provided that the +modifications are clearly marked and the document is not represented as +the official one. + +This document is available on any \abbr{ctan} host +(see Appendix~\ref{sec:Related references}). +Please send questions or suggestions by email to +\email|tds@tug.org|. We welcome all comments. This is version +\the\tdsVersion. + +\end{legalnotice} + + +\tableofcontents + + +\newpage +\section{Introduction} + +\TeX{} is a powerful, flexible typesetting system used by many people +around the world. It is extremely portable and runs on virtually all +operating systems. One unfortunate side effect of \TeX{}'s flexibility, +however, is that there has been no single ``right'' way to install it. +This has resulted in many sites having different installed arrangements. + +The primary purpose of this document is to describe a standard \TeX{} +Directory Structure (\abbr{TDS}): a directory hierarchy for macros, +fonts, and the other implementation-independent \TeX{} system files. As +a matter of practicality, this document also suggests ways to +incorporate the rest of the \TeX{} files into a single structure. The +\abbr{TDS} has been designed to work on all modern systems. In +particular, the Technical Working Group (\abbr{TWG}) believes it is usable +under Mac\abbr{OS}, \abbr{ms-dos}, \abbr{os/2}, Unix, \abbr{vms}, and +Windows \abbr{nt}\@. We hope that administrators and developers of both +free and commercial \TeX{} implementations will adopt this standard. + +This document is intended both for the \TeX{} system administrator at a +site and for people preparing \TeX{} distributions---everything from a +complete runnable system to a single macro or style file. It may also +help \TeX{} users find their way around systems organized this way. It +is not a tutorial: we necessarily assume knowledge of the many parts of +a working \TeX{} system. If you are unfamiliar with any of the programs +or file formats we refer to, consult the references in +Appendix~\ref{sec:Related references}. + + +\subsection{History} + +Version 1.0 of the \abbr{TDS} was released in February 2003. + +Version 1.1 was released in June 2004, with the following non-editorial +changes: + +\begin{itemize-squeeze} +\item Inputs for \TeX{} extensions included under \path|tex|, instead + of in their own top-level directories (Section~\ref{sec:Extensions}) +\item New top-level directory \path|scripts| (Section~\ref{sec:Scripts}). +\item New subdirectories \path|lig|, \path|opentype|, + \path|truetype|, and \path|type3| under \path|fonts| + (Section~\ref{sec:Fonts}). +\item \path|enc|, \path|lig|, and \path|map| all use + \replaceable{syntax}\path|/|\replaceable{package} subdirectories + (Section~\ref{sec:Fonts}). +\item \path|pfm| files specified to go under \path|type1|, and + \path|inf| files under \path|afm| (Section~\ref{sec:Fonts}). +\end{itemize-squeeze} + + +\subsection{The role of the \abbr{TDS}} + +The role of the \abbr{TDS} is to stabilize the organization of +\TeX{}-related software packages that are installed and in use, possibly +on multiple platforms simultaneously. + +At first glance, it may seem that the Comprehensive \TeX{} Archive +Network (\abbr{ctan}) fulfills at least part of this role, but this is +not the case. The role of \abbr{ctan} is to simplify archiving and +distribution, not installation and use. + +In fact, the roles of the \abbr{TDS} and \abbr{ctan} are frequently in +conflict, as we will see. For distribution, many different types of +files must be combined into a single unit; for use, it is traditional to +segregate files (even similar files) from a single package into +separate, occasionally distant, directories. + + +\subsection{Conventions} + +In this document, ``\path|/|'' is used to separate filename components; +for example, \path|texmf/fonts|. This is the Unix convention but the +ideas are in no way Unix-specific. + +In this document, ``\TeX{}'' generally means the \TeX{} system, including +\MF{}, \abbr{DVI} drivers, utilities, etc., not just the \TeX{} +program itself. + +The word ``package'' in this document has its usual meaning: a set of +related files distributed, installed, and maintained as a unit. This is +\emphasis{not} a \LaTeXe{} package, which is a style file supplementing +a document class. + +We use the following typographic conventions: + +\begin{description} + +\item[\literal{literal}] Literal text such as \literal{filename} is +typeset in typewriter type. + +\item[\replaceable{replaceable}] Replaceable text such as +\replaceable{package}, identifying a class of things, is typeset in +italics inside angle brackets. + +\end{description} + + +\section{General} + +This section describes common properties throughout the \abbr{TDS} tree. + +\subsection{Subdirectory searching} +\label{sec:Subdirectory searching} + +Older \TeX{} installations store large numbers of related files in single +directories, for example, all \path|TFM| files and\slash or all \TeX{} +input files. + +This monolithic arrangement hinders maintenance of a \TeX{} system: it +is difficult to determine what files are used by what packages, what +files need to be updated when a new version is installed, or what files +should be deleted if a package is removed. It is also a source of error +if two or more packages happen to have input files with the same name. + +Therefore, the \abbr{TWG} felt each package should be in a separate +directory. But we recognized that explicitly listing all directories to +be searched would be unbearable. A site may wish to install dozens of +packages. Aside from anything else, listing that many directories would +produce search paths many thousands of characters long, overflowing the +available space on some systems. + +Also, if all directories are explicitly listed, installing or removing a +new package would mean changing a path as well as installing or removing +the actual files. This would be a time-consuming and error-prone +operation, even with implementations that provide some way to specify +the directories to search at runtime. On systems without runtime +configuration, it would require recompiling software, an intolerable +burden. + +As a result, the \abbr{TWG} concluded that a comprehensive \abbr{TDS} +requires implementations to support some form of implicit subdirectory +searching. More precisely, implementations must make it possible to +specify that \TeX{}, \MF{}, and their companion utilities search in both +a specified directory and recursively through all subdirectories of that +directory when looking for an input file. Other forms of subdirectory +searching, for example recursive-to-one-level searches, may also be +provided. We encourage implementors to provide subdirectory searching +at the option of the installer and user for all paths. + +The \abbr{TDS} does not specify a syntax for specifying recursive +searching, but we encourage implementors to provide interoperability +(see Section~\ref{sec:More on subdirectory searching}). + + +\subsection{Rooting the tree} +\label{sec:Rooting the tree} + +In this document, we shall designate the root \abbr{TDS} directory by +`\texmf{}' (for ``\TeX{} and \MF{}''). We recommend using that name +where possible, but the actual name of the directory is up to the +installer. On \abbr{pc} networks, for example, this could map to a +logical drive specification such as \path|T:|. + +Similarly, the location of this directory on the system is +site-dependent. It may be at the root of the file system; on Unix +systems, \path|/usr/local/share|, \path|/usr/local|, +\path|/usr/local/lib|, and \path|/opt| are common choices. + +The name \texmf{} was chosen for several reasons: it reflects the fact +that the directory contains files pertaining to an entire \TeX{} system +(including \MF{}, \MP{}, \BibTeX{}, etc.), not just \TeX{} itself; and it +is descriptive of a generic installation rather than a particular +implementation. + +A site may choose to have more than one \abbr{TDS} hierarchy installed +(for example, when installing an upgrade). This is perfectly legitimate. + + +\subsection{Local additions} +\label{sec:Local additions} + +The \abbr{TDS} cannot specify precisely when a package is or is not a +``local addition''. Each site must determine this according to its own +conventions. At the two extremes, one site might wish to consider +``nonlocal'' all files not acquired as part of the installed \TeX{} +distribution; another site might consider ``local'' only those files +that were actually developed at the local site and not distributed +elsewhere. + +We recognize two common methods for local additions to a distributed +\texmf{} tree. Both have their place; in fact, some sites employ +both simultaneously: + +\begin{enumerate} + +\item A completely separate tree which is a \abbr{TDS} structure +itself; for example, \path|/usr/local/umbtex| at the University of +Massachusetts at Boston. This is another example of the multiple +\texmf{} hierarchies mentioned in the previous section. + +\item A directory named `\path|local|' at any appropriate level, for +example, in the \replaceable{format}, \replaceable{package}, and +\replaceable{supplier} directories discussed in the following sections. +The \abbr{TDS} reserves the directory name \path|local| for this +purpose. + +We recommend using \path|local| for site-adapted configuration files, +such as \path|language.dat| for the Babel package or \path|graphics.cfg| +for the graphics package. Unmodified configuration files from a package +should remain in the package directory. The intent is to separate +locally modified or created files from distribution files, to ease +installing new releases. + +\end{enumerate} + +One common case of local additions is dynamically generated files, e.g., +\abbr{PK} fonts by the \path|mktexpk| script (which originated in +\application{Dvips} as \path|MakeTeXPK|). A site may store the +generated files directly in any of: +\begin{itemize-squeeze} +\item their standard location in the main \abbr{TDS} tree (if it can be +made globally writable); + +\item an alternative location in the main \abbr{TDS} tree (for +example, under \path|texmf/fonts/tmp|); + +\item a second complete \abbr{TDS} tree (as outlined above); + +\item any other convenient directory (perhaps under +\path|/var|, for example \path|/var/spool/fonts|). + +\end{itemize-squeeze} + +No one solution will be appropriate for all sites. + + +\subsection{Duplicate filenames} +\label{sec:Duplicate filenames} + +Different files by the same name may exist in a \abbr{TDS} tree. The +\abbr{TDS} generally leaves unspecified which of two files by the same +name in a search path will be found, so generally the only way to +reliably find a given file is for it to have a unique name. However, +the \abbr{TDS} requires implementations to support the following +exceptions: + +\begin{itemize} + +\item Names of \TeX{} input files must be unique within each first-level +subdirectory of \path|texmf/tex| and \path|texmf/tex/generic|, but not +within all of \path|texmf/tex|; i.e., different \TeX{} formats may have +files by the same name. (Section~\ref{sec:Macros} discusses this +further.) Thus, no single format-independent path specification, such +as a recursive search beginning at \path|texmf/tex| specifying no other +directories, suffices. So implementations must provide format-dependent +path specifications, for example via wrapper scripts or configuration +files. + +\item Many font files will have the same name (e.g., \path|cmr10.pk|), +as discussed in Section~\ref{sec:Valid font bitmaps}. Implementations +must distinguish these files by mode and resolution. + +\end{itemize} + +All implementations we know of already have these capabilities. + +One place where duplicate names are likely to occur is not an exception: + +\begin{itemize} + +\item Names of \MF{} input files (as opposed to bitmaps) must be unique +within all of \path|texmf/fonts|. In practice, this is a problem with +some variants of Computer Modern which contain slightly modified files +named \path|punct.mf|, \path|romanl.mf|, and so on. We believe the only +feasible solution is to rename the derivative files to be +unique. + +\end{itemize} + + +\section{Top-level directories} +\label{sec:Top-level directories} + +The directories under the \texmf{} root identify the major components of +a \TeX{} system (see Section~\ref{sec:Summary} for a summary). A site +may omit any unneeded directories. + +Although the \abbr{TDS} by its nature can specify precise locations only +for implementation-independent files, we recognize that installers may +well wish to place other files under \texmf{} to simplify administration +of the \TeX{} tree, especially if it is maintained by someone other than +the system administrator. Therefore, additional top-level directories +may be present. + +The top-level directories specified by the \abbr{TDS} are: + +\begin{description} +\item[\path|tex|] +for \TeX{} files (Section~\ref{sec:Macros}). + +\item[\path|fonts|] +for font-related files (Section~\ref{sec:Fonts}). + +\item[\path|metafont|] +for \MF{} files which are not fonts (Section~\ref{sec:Non-font MF files}). + +\item[\path|metapost|] +for \MP{} files (Section~\ref{sec:MetaPost}). + +\item[\path|bibtex|] +for \BibTeX{} files (Section~\ref{sec:BibTeX}). + +\item[\path|scripts|] +for platform-independent executables (Section~\ref{sec:Scripts}). + +\item[\path|doc|] +for user documentation (Section~\ref{sec:Documentation}). + +\item[\path|source|] for sources. This includes both traditional +program sources (for example, \application{Web2C} sources go in +\path|texmf/source/web2c|) and, e.g., \LaTeX{} \path|dtx| sources (which +go in \path|texmf/source/latex|). The \abbr{TDS} leaves unspecified any +structure under \path|source|. + +\path|source| is intended for files which are not needed at runtime by +any \TeX{} program; it should not be included in any search path. For +example, \path|plain.tex| does not belong under \path|texmf/source|, +even though it is a ``source file'' in the sense of not being derived +from another file. (It goes in \path|texmf/tex/plain/base|, as explained +in Section~\ref{sec:Macros}). + +\item[\replaceable{implementation}] for implementations (examples: +\path|emtex|, \path|vtex|, \path|web2c|), to be used for whatever +purpose deemed suitable by the implementor or \TeX{} administrator. +That is, files that cannot be shared between implementations, such as +pool files (\path|tex.pool|) and memory dump files (\path|plain.fmt|) go +here, in addition to implementation-wide configuration files. See +Section~\ref{sec:Example implementation-specific trees} for examples of +real \replaceable{implementation} trees. + +Such implementation-specific configuration files should \emphasis{not} +be located using the main \TeX{} input search path (e.g., +\path|TEXINPUTS|). This must be reserved for files actually read by a +\TeX{} engine. See Section~\ref{sec:Extensions}. + +\item[\replaceable{program}] for program-specific input and +configuration files for any \TeX{}-related programs (examples: +\path|mft|, \path|dvips|). In fact, the \path|tex|, \path|metafont|, +\path|metapost|, and \path|bibtex| items above may all be seen as +instances of this case. + +\end{description} + + +\subsection{Macros} +\label{sec:Macros} + +\TeX{} macro files shall be stored in separate directories, segregated +by \TeX{} format and package name (we use `format' in its traditional +\TeX{} sense to mean a usefully \path|\dump|-able package): +\begin{ttdisplay} +texmf/tex/\replaceable{format}/\replaceable{package}/ +\end{ttdisplay} + +\begin{description} + +\item[\replaceable{format}] is a format name (examples: \path|amstex|, +\path|latex|, \path|plain|, \path|texinfo|). + +The \abbr{TDS} allows distributions that can be used as either formats or +packages (e.g., Texinfo, Eplain) to be stored at either level, at the +option of the format author or \TeX{} administrator. We recommend that +packages used as formats at a particular site be stored at the +\replaceable{format} level: by adjusting the \TeX{} inputs search path, +it will be straightforward to use them as macro packages under another +format, whereas placing them in another tree completely obscures their +use as a format. + +The \abbr{TDS} reserves the following \replaceable{format} names: + +\begin{itemize} + +\item \path|generic|, for input files that are useful across a wide +range of formats (examples: \path|null.tex|, \path|path.sty|). +Generally, this means any format that uses the category codes of Plain +\TeX{} and does not rely on any particular format. This is in contrast +to those files which are useful only with Plain \TeX{} (which go under +\path|texmf/tex/plain|), e.g., \path|testfont.tex| and \path|plain.tex| +itself. + +\item \path|local|, for local additions. See Section~\ref{sec:Local +additions}. + +\end{itemize} + +Thus, for almost every format, it is necessary to search at least the +\replaceable{format} directory and then the \path|generic| directory (in +that order). Other directories may need to be searched as well, +depending on the format. When using \AMSTeX{}, for example, the +\path|amstex|, \path|plain|, and \path|generic| directories should be +searched, because \AMSTeX{} is compatible with Plain. + +\item[\replaceable{package}] is a \TeX{} package name (examples: +\path|babel|, \path|texdraw|). + +In the case where a format consists of only a single file and has no +auxiliary packages, that file can simply be placed in the +\replaceable{format} directory, instead of +\replaceable{format}\path|/base|. For example, Texinfo may go in +\path|texmf/tex/texinfo/texinfo.tex|, not +\path|texmf/tex/texinfo/base/texinfo.tex|. + +The \abbr{TDS} reserves the following \replaceable{package} names: + +\begin{itemize} + +\item \path|base|, for the base distribution of each format, +including files used by \iniTeX{} when dumping format files. For +example, in the standard \LaTeX{} distribution, the \path|ltx| files +created during the build process. Another example: the \path|.ini| +driver files for formats used by \TeX{} Live and other distributions. + +\item \path|hyphen|, for hyphenation patterns, including the original +American English \path|hyphen.tex|. These are typically used only by +\iniTeX{}. In most situations, this directory need exist only under the +\literal{generic} format. + +\item \path|images|, for image input files, such as Encapsulated +PostScript figures. Although it is somewhat non-intuitive for these to +be under a directory named ``\path|tex|'', \TeX{} needs to read these +files to glean bounding box or other information. A mechanism for +sharing image inputs between \TeX{} and other typesetting programs +(e.g., Interleaf, FrameMaker) is beyond the scope of the +\abbr{TDS}\@. In most situations, this directory need exist only under +the \literal{generic} format. + +\item \path|local|, for local additions and configuration files. See +Section~\ref{sec:Local additions}. + +\item \path|misc|, for packages that consist of a single file. An +administrator or package maintainer may create directories for +single-file packages at their discretion, instead of using \path|misc|. + +\end{itemize} + +\end{description} + + +\subsubsection{Extensions} +\label{sec:Extensions} + +\TeX{} has spawned many companion and successor programs (``engines''), +such as \abbr{PDF}\TeX{}, Omega, and others. The \abbr{TDS} specifies +that the input files for such programs (using a \TeX{}-like syntax) be +placed within the top-level \path|tex| directory, either at the top +level or within a format subdirectory, even though the original \TeX{} +program may not be able to read them. For example: + +\begin{ttdisplay} +texmf/tex/aleph +texmf/tex/enctex +\end{ttdisplay} + +This is a change from \abbr{TDS}~1.0, which specified top-level +\replaceable{extension} directories for each such program. We felt the +new approach is preferable, because: + +\begin{itemize} + +\item Authors of relevant packages typically make their code detect the +engine being used, and issue error messages or adapt to circumstances +appropriately. Furthermore, as a package matures, it may support +multiple engines. Thus, a package could conceivably be placed in any of +several top-level directories, at different times. Putting all packages +under the top-level \path|tex| directory provides a stable location over +time. + +\item Users need to be able to switch between engines, and configuring +different search paths for each engine is difficult and error-prone. + +\end{itemize} + +Thus, in practice, having different top-level directories caused +difficulties for everyone involved---users, package authors, site +administrators, and system distributors. + +Please contrast this approach with the \replaceable{implementation} +top-level subdirectory (Section~\ref{sec:Top-level directories}), which +is to be used for configuration files that (presumably) do not use +\TeX{} syntax and in any case should not be found along the main \TeX{} +input search path. + + +\subsection{Fonts} +\label{sec:Fonts} + +Font files are stored in separate directories, segregated by file type, +and then (in most cases) font supplier and typeface. \abbr{PK} and +\abbr{GF} files need additional structure, as detailed in the next +section. + +\begin{ttdisplay} +texmf/fonts/\replaceable{type}/\replaceable{supplier}/\replaceable{typeface}/ +texmf/fonts/enc,lig,map/\replaceable{subpath}/ +\end{ttdisplay} + +\begin{description} + +\item[\replaceable{type}] is the type of font file. The \abbr{TDS} +reserves the following \replaceable{type} names for common \TeX{} file +types: + +\begin{itemize-squeeze} +\item \path|afm|, for Adobe font metrics, and \path|inf| files. +\item \path|gf|, for generic font bitmap files. +\item \path|opentype|, for OpenType fonts. +\item \path|pk|, for packed bitmap files. +\item \path|source|, for font sources (\MF{} files, property lists, etc.). +\item \path|tfm|, for \TeX{} font metric files. +\item \path|truetype|, for TrueType fonts. +\item \path|type1|, for PostScript Type 1 fonts (in \path|pfa|, + \path|pfb|, or any other format), and \path|pfm| files. +\item \path|type3|, for PostScript Type 3 fonts. +\item \path|vf|, for virtual fonts. +\end{itemize-squeeze} + +The \abbr{TDS} also reserves the names \path|enc|, \path|lig|, and +\path|map| for font encoding, ligature, and mapping files, respectively. +All of these directories are structured the same way, with +\replaceable{syntax} subdirectories, and then \replaceable{package} +subsubdirectories. Each of these file types is intended to be searched +along its own recursively-searched path. The names of the actual files +must be unique within their subtree, as usual. Examples: +\begin{ttdisplay} +fonts/map/dvipdfm/updmap/dvipdfm.map +fonts/map/dvips/lm/lm.map +fonts/enc/dvips/base/8r.enc +\end{ttdisplay} + +The Fontname and Dvips packages have more examples of the \path|enc| and +\path|map| types. The \path|afm2pl| program uses \path|lig| files. + +\path|pfm| files are included in the \path|type1| directory, instead of +being given their own directory, for two reasons: 1)~a \path|.pfm| file +is always an adjunct to a given \path|.pfb| file; 2)~they must be +installed from the same directory for Windows programs other than \TeX{} +to use them. + +\path|inf| files are included in the \path|afm| directory, since +an \path|inf| and \path|afm| file can be used to generate a \path|pfm|. +(Unfortunately, Adobe Type Manager and perhaps other software requires +that the \path|pfb| be in the same directory as \path|afm| and +\path|inf| for installation.) + +As usual, a site may omit any of these directories that are unnecessary. +\path|gf| is a particularly likely candidate for omission. + +\item[\replaceable{supplier}] is a name identifying font source +(examples: \path|adobe|, \path|ams|, \path|public|). The \abbr{TDS} +reserves the following \replaceable{supplier} names: + +\begin{itemize} + +\item \path|ams|, for the American Mathematical Society's \AmS{}-fonts +collection. + +\item \path|local|, for local additions. See Section~\ref{sec:Local additions}. + +\item \path|public|, for freely redistributable fonts where the supplier +neither (1)~requested their own directory (e.g., \path|ams|), nor +(2)~also made proprietary fonts (e.g., \path|adobe|). It does not +contain all extant freely distributable fonts, nor are all files therein +necessarily strictly public domain. + +\item \path|tmp|, for dynamically-generated fonts, as is traditional on +some systems. It may be omitted if unnecessary, as usual. + +\end{itemize} + + +\item[\replaceable{typeface}] is the name of a typeface family +(examples: \path|cm|, \path|euler|, \path|times|). The \abbr{TDS} +reserves the following \replaceable{typeface} names: + +\begin{itemize} + +\item \path|cm| (within \path|public|), for the 75 fonts defined in +\citetitle{Computers and Typesetting, Volume~E}. + +\item \path|latex| (within \path|public|), for those fonts distributed +with \LaTeX{} in the base distribution. + +\item \path|local|, for local additions. See Section~\ref{sec:Local additions}. + +\end{itemize} + +\end{description} + +Some concrete examples: +\begin{ttdisplay} +texmf/fonts/source/public/pandora/pnr10.mf +texmf/fonts/tfm/public/cm/cmr10.tfm +texmf/fonts/type1/adobe/utopia/putr.pfa +\end{ttdisplay} + +For complete supplier and typeface name lists, consult +\citetitle{Filenames for \TeX{} fonts} (see Appendix~\ref{sec:Related +references}). + +\subsubsection{Font bitmaps} + +Font bitmap files require two characteristics in addition to the above +to be uniquely identifiable: (1)~the type of device (i.e., mode) for +which the font was created; (2)~the resolution of the bitmap. + +Following common practice, the \abbr{TDS} segregates fonts with +different device types into separate directories. See \path|modes.mf| +in Appendix~\ref{sec:Related references} for recommended mode names. + +Some printers operate at more than one resolution (e.g., at 300\,dpi and +600\,dpi), but each such resolution will necessarily have a different +mode name. Nothing further is needed, since implicit in the \TeX{} +system is the assumption of a single target resolution. + +Two naming strategies are commonly used to identify the resolution of +bitmap font files. On systems that allow long filenames (and in the +original \MF{} program itself), the resolution is included in the +filename (e.g., \path|cmr10.300pk|). On systems which do not support +long filenames, fonts are generally segregated into directories by +resolution (e.g., \path|dpi300/cmr10.pk|). + +Because the \abbr{TDS} cannot require long filenames, we must use the +latter scheme for naming fonts. So we have two more subdirectory +levels under \path|pk| and \path|gf|: + +\begin{ttdisplay} +texmf/fonts/pk/\replaceable{mode}/\replaceable{supplier}/\replaceable{typeface}/dpi\replaceable{nnn}/ +texmf/fonts/gf/\replaceable{mode}/\replaceable{supplier}/\replaceable{typeface}/dpi\replaceable{nnn}/ +\end{ttdisplay} + +\begin{description} + +\item[\replaceable{mode}] is a name which identifies the device type +(examples: \path|cx|, \path|ljfour|, \path|modeless|). Usually, this is +the name of the \MF{} mode used to build the \abbr{PK} file. For fonts +rendered as bitmaps by a program that does not distinguish between +different output devices, the \replaceable{mode} name shall be simply +\path|modeless|. The \replaceable{mode} level shall not be omitted, +even if only a single mode happens to be in use. + +\item[\path|dpi|\replaceable{nnn}] specifies the resolution of the font +(examples: \path|dpi300|, \path|dpi329|). `\literal{dpi}' stands for +dots per inch, i.e., pixels per inch. We recognize that pixels per +millimeter is used in many parts of the world, but dpi is too +traditional in the \TeX{} world to consider changing now. + +The integer \replaceable{nnn} is to be calculated as if using \MF{} +arithmetic and then rounded; i.e., it is the integer \MF{} uses in its +output \path|gf| filename. We recognize small differences in the +resolution are a common cause of frustration among users, however, and +recommend implementors follow the level~0 \abbr{DVI} driver standard +(see Appendix~\ref{sec:Related references}) in bitmap font searches by +allowing a fuzz of $\pm0.2$\% (with a minimum of $1$) in the +\replaceable{dpi}. + +\end{description} + +Implementations may provide extensions to the basic naming scheme, such +as long filenames (as in the original \MF{}) and font library files (as +in em\TeX{}'s \path|.fli| files), provided that the basic scheme is also +supported. + +\subsubsection{Valid font bitmaps} +\label{sec:Valid font bitmaps} + +The \abbr{TWG} recognizes that the use of short filenames has many +disadvantages. The most vexing is that it results in the creation of +dozens of different files with the same name. At a typical site, +\path|cmr10.pk| will be the filename for Computer Modern Roman 10\,pt at +5--10 magnifications for 2--3 modes. (Section~\ref{sec:Duplicate +filenames} discusses duplicate filenames in general.) + +To minimize this problem, we strongly recommend that \abbr{PK} files +contain enough information to identify precisely how they were created: +at least the mode, base resolution, and magnification used to create the +font. + +This information is easy to supply: a simple addition to the local modes +used for building the fonts with \MF{} will automatically provide the +required information. If you have been using a local modes file derived +from (or that is simply) \path|modes.mf| (see Appendix~\ref{sec:Related +references}), the required information is already in your \abbr{PK} +files. If not, a simple addition based on the code found in +\path|modes.mf| can be made to your local modes file and the \abbr{PK} +files rebuilt. + + +\subsection{Non-font \MF{} files} +\label{sec:Non-font MF files} + +Most \MF{} input files are font programs or parts of font programs and +are thus covered by the previous section. However, a few non-font input +files do exist. Such files shall be stored in: + +\begin{ttdisplay} +texmf/metafont/\replaceable{package}/ +\end{ttdisplay} + +\replaceable{package} is the name of a +\MF{} package (for example, \path|mfpic|). + +The \abbr{TDS} reserves the following \replaceable{package} names: + +\begin{itemize} + +\item \path|base|, for the standard \MF{} macro files as described in +\citetitle{The \MF{}book}, such as \path|plain.mf| and \path|expr.mf|. + +\item \path|local|, for local additions. See Section~\ref{sec:Local additions}. + +\item \path|misc|, for \MF{} packages consisting of only a single file +(for example, \path|modes.mf|). An administrator or package maintainer +may create directories for single-file packages at their discretion, +instead of using \path|misc|. + +\end{itemize} + + +\subsection{\MP{}} +\label{sec:MetaPost} + +\MP{} is a picture-drawing language developed by John Hobby, derived +from Knuth's \MF{}. Its primary purpose is to output Encapsulated \PS{} +instead of bitmaps. + +\MP{} input files and the support files for \MP{}-related utilities +shall be stored in: + +\begin{ttdisplay} +texmf/metapost/\replaceable{package}/ +\end{ttdisplay} + +\replaceable{package} is the name of a \MP{} package. At the present +writing none exist, but the \abbr{TWG} thought it prudent to leave room +for contributed packages that might be written in the future. + +The \abbr{TDS} reserves the following \replaceable{package} names: + +\begin{itemize} + +\item \path|base|, for the standard \MP{} macro files, such as +\path|plain.mp|, \path|mfplain.mp|, \path|boxes.mp|, and +\path|graph.mp|. This includes files used by \iniMP{} when dumping mem +files containing preloaded macro definitions. + +\item \path|local|, for local additions. See Section~\ref{sec:Local +additions}. + +\item \path|misc|, for \MP{} packages consisting of only a single file. +An administrator or package maintainer may create directories for +single-file packages at their discretion, instead of using \path|misc|. + +\item \path|support|, for additional input files required by \MP{} +utility programs, including a font map, a character adjustment table, +and a subdirectory containing low-level \MP{} programs for rendering +some special characters. + +\end{itemize} + + +\subsection{\BibTeX{}} +\label{sec:BibTeX} + +\BibTeX{}-related files shall be stored in: + +\begin{ttdisplay} +texmf/bibtex/bib/\replaceable{package}/ +texmf/bibtex/bst/\replaceable{package}/ +\end{ttdisplay} + +The \path|bib| directory is for \BibTeX{} database (\path|.bib|) files, +the \path|bst| directory for style (\path|.bst|) files. + +\replaceable{package} is the name of a \BibTeX{} package. The +\abbr{TDS} reserves the following \replaceable{package} names (the same +names are reserved under both \path|bib| and \path|bst|): + +\begin{itemize} + +\item \path|base|, for the standard \BibTeX{} databases and styles, such +as \path|xampl.bib|, \path|plain.bst|. + +\item \path|local|, for local additions. See Section~\ref{sec:Local +additions}. + +\item \path|misc|, for \BibTeX{} packages consisting of only a single +file. An administrator or package maintainer may create directories for +single-file packages at their discretion, instead of using \path|misc|. + +\end{itemize} + + +\subsection{Scripts} +\label{sec:Scripts} + +The top-level \path|scripts| directory is for platform-independent +executables, such as Perl, Python, and shell scripts, and Java class +files. Subdirectories under \path|scripts| are package names. This +eases creating distributions, by providing a common place for such +platform-independent programs. + +The intent is not for all such directories to be added to a user's +command search path, which would be quite impractical. Rather, these +executables are primarily for the benefit of wrapper scripts in whatever +executable directory a distribution may provide (which is not specified +by the \abbr{TDS}). + +Truly auxiliary scripts which are invoked directly by other programs, +rather than wrapper scripts, may also be placed here. That is, +\path|scripts| also serves as a platform-independent analog of the +standard Unix \path|libexec| directory. + +We recommend using extensions specifying the language (such as +\path|.pl|, \path|.py|, \path|.sh|) on these files, to help uniquely +identify the name. Since the intent of the \abbr{TDS} is for programs +in \path|scripts| not to be invoked directly by users, this poses no +inconvenience. + +For example, in the \TeX{} Live distribution, the Con\TeX{}t user-level +program \path|texexec| can exist as a small wrapper script in each +\path|bin/|\replaceable{platform}\path|/texexec| (which is outside the +\path|texmf| tree), which merely finds and calls +\path|texmf/scripts/context/perl/texexec.pl|. + +Examples: +\begin{ttdisplay} +scripts/context/perl/texexec.pl +scripts/context/ruby/examplex.rb +scripts/thumbpdf/thumbpdf.pl +\end{ttdisplay} + +The \abbr{TDS} does not specify a location for platform-dependent +binary executables, whether auxiliary or user-level. + + +\subsection{Documentation} +\label{sec:Documentation} + +Most packages come with some form of documentation: user manuals, +example files, programming guides, etc. In addition, many independent +files not part of any macro or other package have been created to +describe various aspects of the \TeX{} system. + +The \abbr{TDS} specifies that these additional documentation files shall +be stored in a structure that parallels to some extent the +\path|fonts| and \path|tex| directories, as follows: + +\begin{ttdisplay} +texmf/doc/\replaceable{category}/... +\end{ttdisplay} + +\replaceable{category} identifies the general topic of documentation +that resides below it; for example, a \TeX{} format name (\path|latex|), +program name (\path|bibtex|, \path|tex|), language (\path|french|, +\path|german|), a file format (\path|info|, \path|man|), or other system +components (\path|web|, \path|fonts|). + +One possible arrangement is to organize \path|doc| by language, with all +the other category types below that. This helps users find +documentation in the language(s) in which they are fluent. Neither this +nor any other particular arrangement is required, however. + +Within each \replaceable{category} tree for a \TeX{} format, the +directory \path|base| is reserved for base documentation distributed by +the format's maintainers. + +The \abbr{TDS} reserves the following category names: + +\begin{itemize} + +\item \path|general|, for standalone documents not specific to any +particular program (for example, Joachim Schrod's \citetitle{Components +of \TeX{}}). + +\item \path|help|, for meta-information, such as \abbr{faq}'s, +the \TeX{} Catalogue, etc. + +\item \path|info|, for processed Texinfo documents. (Info files, like +anything else, may also be stored outside the \abbr{TDS}, at the +installer's option.) + +\item \path|local|, for local additions. See Section~\ref{sec:Local +additions}. + +\end{itemize} + +The \path|doc| directory is intended for implementation-independent and +operating system-independent documentation +files. Implementation-dependent files are best stored elsewhere, as +provided for by the implementation and/or \TeX{} administrator (for +example, \abbr{VMS} help files under \path|texmf/vms/help|). + +The documentation directories may contain \TeX{} sources, \abbr{DVI} +files, \PS{} files, text files, example input files, or any other useful +documentation format(s). + +See Section~\ref{sec:Documentation tree summary} for a summary. + + +\newpage +\section{Summary} +\label{sec:Summary} + +A skeleton of a \abbr{TDS} \texmf{} directory tree. This is not to +imply these are the only entries allowed. For example, \path|local| may +occur at any level. + +\begin{tdsSummary} + bibtex/ \BibTeX{} input files + . bib/ \BibTeX{} databases + . . base/ base distribution (e.g., \path|xampl.bib|) + . . misc/ single-file databases + . / name of a package + . bst/ \BibTeX{} style files + . . base/ base distribution (e.g., \path|plain.bst|, \path|acm.bst|) + . . misc/ single-file styles + . / name of a package + doc/ see Section~\ref{sec:Documentation} and the summary below + fonts/ font-related files + . / file type (e.g., \path|pk|) + . . / type of output device (for \path|pk| and \path|gf| only) + . . . / name of a font supplier (e.g., \path|public|) + . . . . / name of a typeface (e.g., \path|cm|) + . . . . . dpi/ font resolution (for \path|pk| and \path|gf| only) + / \TeX{} implementations, by name (e.g., \path|emtex|) + local/ files created or modified at the local site + metafont/ \MF{} (non-font) input files + . base/ base distribution (e.g., \path|plain.mf|) + . misc/ single-file packages (e.g., \path|modes.mf|) + . / name of a package (e.g., \path|mfpic|) + metapost/ \MP{} input and support files + . base/ base distribution (e.g., \path|plain.mp|) + . misc/ single-file packages + . / name of a package + . support/ support files for \MP{}-related utilities + mft/ \path|MFT| inputs (e.g., \path|plain.mft|) + / \TeX{}-related programs, by name (e.g., \path|dvips|) + source/ program source code by name (e.g., \path|latex|, \path|web2c|) + tex/ \TeX{} input files + . / name of an engine (e.g., \path|aleph|); can also be lower + . / name of a format (e.g., \path|plain|) + . . base/ base distribution for format (e.g., \path|plain.tex|) + . . misc/ single-file packages (e.g., \path|webmac.tex|) + . . local/ local additions to or local configuration files for \replaceable{format} + . . / name of a package (e.g., \path|graphics|, \path|mfnfss|) + . generic/ format-independent packages + . . hyphen/ hyphenation patterns (e.g., \path|hyphen.tex|) + . . images/ image input files (e.g., Encapsulated PostScript) + . . misc/ single-file format-independent packages (e.g., \path|null.tex|). + . . / name of a package (e.g., \path|babel|) +\end{tdsSummary} + + +\newpage +\subsection{Documentation tree summary} +\label{sec:Documentation tree summary} + +An example skeleton of a \abbr{TDS} directory tree under +\path|texmf/doc|. This is not to imply these are the only entries +allowed, or that this structure must be followed precisely for the +entries listed. + +As mentioned, the \path|texmf/doc| tree may be organized by language, so +that all documentation in French, say, is in a \path|french| +subdirectory. In that case, the example structure here would be in a +given language directory. + +\begin{tdsSummary} + ams/ + . amsfonts/ \path|amsfonts.faq|, \path|amfndoc| + . amslatex/ \path|amslatex.faq|, \path|amsldoc| + . amstex/ \path|amsguide|, \path|joyerr| + bibtex/ \BibTeX{} + . base/ \path|btxdoc.tex| + fonts/ + . fontname/ \citetitle{Filenames for \TeX{} fonts} + . oldgerm/ \path|corkpapr| + / name of a \TeX{} format (e.g., \path|generic|, \path|latex|) + . base/ for the base distribution + . misc/ for contributed single-file package documentation + . / for \emphasis{package} + general/ across programs, generalities + . errata/ \path|errata|, \path|errata[1-8]| + . texcomp/ \citetitle{Components of \TeX{}} + help/ meta-information + . ctan/ info about \abbr{ctan} mirror sites + . faq/ \abbr{faq}s of \path|comp.text.tex|, etc. + info/ \abbr{gnu} Info files, made from Texinfo sources + latex/ example of \replaceable{format} + . base/ \path|ltnews*|, \path|*guide|, etc. + . graphics/ \path|grfguide| + local/ site-specific documentation + man/ Unix man pages + / \TeX{}-related programs, by name (examples follow) + metafont/ \path|mfbook.tex|, \path|metafont-for-beginners|, etc. + metapost/ \path|mpman|, \path|manfig|, etc. + tex/ \path|texbook.tex|, \citetitle{A Gentle Introduction to \TeX{}}, etc. + web/ \path|webman|, \path|cwebman| +\end{tdsSummary} + + +\newpage +\appendix + +\section{Unspecified pieces} + +The \abbr{TDS} cannot address the following aspects of a functioning +\TeX{} system: + +\begin{enumerate} + +\item The location of executable programs: this is too site-dependent +even to recommend a location, let alone require one. A site may place +executables outside the \texmf{} tree altogether (e.g., +\path|/usr/local/bin|), in a platform-dependent directory within +\texmf{}, or elsewhere. + +\item Upgrading packages when new releases are made: we could find no +way of introducing version specifiers into \texmf{} that would do more +good than harm, or that would be practical for even a plurality of +installations. + +\item The location of implementation-specific files (e.g., \TeX{} +\path|.fmt| files): by their nature, these must be left to the +implementor or \TeX{} maintainer. See Section~\ref{sec:Example +implementation-specific trees}. + +\item Precisely when a package or file should be considered ``local'', +and where such local files are installed. See Section~\ref{sec:Local +additions} for more discussion. + +\end{enumerate} + + +\subsection{Portable filenames} +\label{sec:Portable filenames} + +The \abbr{TDS} cannot require any particular restriction on filenames in +the tree, since the names of many existing \TeX{} files conform to no +standard scheme. For the benefit of people who wish to make a portable +\TeX{} distribution or installation, however, we outline here the +necessary restrictions. The \abbr{TDS} specifications themselves are +compatible with these. + +\abbr{ISO}-9660 is the only universally acceptable file system format +for \abbr{CD-ROM}s. A subset thereof meets the stringent limitations of +all operating systems in use today. It specifies the following: + +\begin{itemize-squeeze} + +\item File and directory names, not including any directory path or +extension part, may not exceed eight characters. + +\item Filenames may have a single extension. Extensions may not exceed +three characters. Directory names may not have an extension. + +\item Names and extensions may consist of \emphasis{only} the characters +\literal{A}--\literal{Z}, \literal{0}--\literal{9}, and underscore. +Lowercase letters are excluded. + +\item A period separates the filename from the extension and is always +present, even if the name or extension is missing (e.g., +\path|FILENAME.| or \path|.EXT|). + +\item A version number, ranging from 1--32767, is appended to the file +extension, separated by a semicolon (e.g., \path|FILENAME.EXT;1|). + +\item Only eight directory levels are allowed, including the top-level +(mounted) directory (see Section~\ref{sec:Rooting the tree}). Thus, the +deepest valid \abbr{ISO}-9660 path is: +\begin{ttdisplay} +texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1 +1 2 3 4 5 6 7 8 +\end{ttdisplay} +The deepest \abbr{TDS} path needs only seven levels: +\begin{ttdisplay} +texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk +1 2 3 4 5 6 7 +\end{ttdisplay} + +\end{itemize-squeeze} + +Some systems display a modified format of \abbr{ISO}-9660 names, +mapping alphabetic characters to lowercase, removing version numbers and +trailing periods, etc. + +Before the December 1996 release, \LaTeX{} used mixed-case names for +font descriptor files. Fortunately, it never relied on case alone to +distinguish among the files. Nowadays, it uses only monocase names. + +\section{Implementation issues} + +We believe that the \abbr{TDS} can bring a great deal of order to the +current anarchic state of many \TeX{} installations. In addition, by +providing a common frame of reference, it will ease the burden of +documenting administrative tasks. Finally, it is a necessary part of +any reasonable system of true ``drop-in'' distribution packages for +\TeX{}. + + +\subsection{Adoption of the \abbr{TDS}} + +[This section is retained for historical purposes; the \abbr{TDS} +is now quite firmly entrenched in most \TeX{} distributions.] + +We recognize that adoption of the \abbr{TDS} will not be immediate or +universal. Most \TeX{} administrators will not be inclined to make the +final switch until: + +\begin{itemize-squeeze} +\item Clear and demonstrable benefits can be shown for the \abbr{TDS}. +\item \abbr{TDS}-compliant versions of all key programs are available +in ported, well-tested forms. +\item A ``settling'' period has taken place, to flush out problems. The +public release of the first draft of this document was the first step in +this process. +\end{itemize-squeeze} + +Consequently, most of the first trials of the \abbr{TDS} will be made by +members of the \abbr{TDS} committee and/or developers of \TeX{}-related +software. This has already taken place during the course of our +deliberations (see Appendix~\ref{sec:Related references} for a sample +tree available electronically). They will certainly result in the +production of a substantial number of \abbr{TDS}-compliant packages. +Indeed, the \application{te\TeX{}} and \application{\TeX{} Live} +distributions are \abbr{TDS}-compliant and in use now at many sites. + +Once installable forms of key \abbr{TDS}-compliant packages are more +widespread, some \TeX{} administrators will set up \abbr{TDS}-compliant +trees, possibly in parallel to existing production directories. This +testing will likely flush out problems that were not obvious in the +confined settings of the developers' sites; for example, it should help +to resolve system and package dependencies, package interdependencies, and +other details not addressed by this \abbr{TDS} version. + +After most of the dust has settled, hopefully even conservative \TeX{} +administrators will begin to adopt the \abbr{TDS}. Eventually, most +\TeX{} sites will have adopted the common structure, and most packages +will be readily available in \abbr{TDS}-compliant form. + +We believe that this process will occur relatively quickly. The +\abbr{TDS} committee spans a wide range of interests in the \TeX{} +community. Consequently, we believe that most of the key issues +involved in defining a workable \abbr{TDS} definition have been covered, +often in detail. \TeX{} developers have been consulted about +implementation issues, and have been trying out the \abbr{TDS} +arrangement. Thus, we hope for few surprises as implementations mature. + +Finally, there are several (current or prospective) publishers of \TeX{} +\abbr{CD-ROM}s. These publishers are highly motivated to work out +details of \abbr{TDS} implementation, and their products will provide +inexpensive and convenient ways for experimentally-minded \TeX{} +administrators to experiment with the \abbr{TDS}. + + +\subsection{More on subdirectory searching} +\label{sec:More on subdirectory searching} + +Recursive subdirectory searching is the ability to specify a search not +only of a specified directory \replaceable{d}, but recursively of all +directories below \replaceable{d}. + +Since the \abbr{TDS} specifies precise locations for most files, with no +extra levels of subdirectories allowed, true recursive searching is not +actually required for a \abbr{TDS}-compliant implementation. We do, +however, strongly recommend recursive searching as the most +user-friendly and natural approach to the problem, rather than +convoluted methods to specify paths without recursion. + +This feature is already supported by many implementations of \TeX{} and +companion utilities, for example \abbr{DECUS} \TeX{} for \abbr{VMS}, +\application{Dvips(k)}, \application{em\TeX{}} (and its drivers), +\application{PubliC \TeX{}}, \application{Web2C}, \application{Xdvi(k)}, +and \application{Y\&Y\TeX{}}. The Kpathsea library is a reusable +implementation of subdirectory searching for \TeX{}, used in a number of +the above programs. + +Even if your \TeX{} implementation does not directly support +subdirectory searching, you may find it useful to adopt the structure if +you do not use many fonts or packages. For instance, if you only use +Computer Modern and \abbr{ams} fonts, it would be feasible to store them +in the \abbr{TDS} layout and list the directories individually in +configuration files or environment variables. + +The \abbr{TWG} recognizes that subdirectory searching places an extra +burden on the system and may be the source of performance bottlenecks, +particularly on slower machines. Nevertheless, we feel that +subdirectory searching is imperative for a well-organized \abbr{TDS}, +for the reasons stated in Section~\ref{sec:Subdirectory searching}. +Implementors are encouraged to provide enhancements to the basic +principle of subdirectory searching to avoid performance problems, e.g., +the use of a filename cache (this can be as simple as a recursive +directory listing) that is consulted before disk searching begins. If a +match is found in the database, subdirectory searching is not required, +and performance is thus independent of the number of subdirectories +present on the system. + +Different implementations specify subdirectory searching differently. +In the interest of typographic clarity, the examples here do not use the +\replaceable{replaceable} font. + +\begin{description-squeeze} + +\item[\application{Dvips}:] via a separate +\systemitem{ENVIRONVAR}{TEXFONTS\_SUBDIR} environment variable. + +\item[\application{em\TeX{}}:] \path|t:\subdir!!|; \path|t:\subdir!| for +a single level of searching. + +\item[\application{Kpathsea}:] \path|texmf/subdir//| + +\item[\abbr{VMS}:] \path|texmf:[subdir...]| + +\item[\application{Xdvi} (patchlevel 20):] \path|texmf/subdir/**|; +\path|texmf/subdir/*| for a single level of searching. Version 20.50 +and above support the \path|//| notation. + +\item[\application{Y\&Y \TeX{}}:] \path|t:/subdir//| or +\path|t:\subdir\\|. + +\end{description-squeeze} + + +\subsection{Example implementation-specific trees} +\label{sec:Example implementation-specific trees} + +The \abbr{TDS} cannot specify a precise location for +implementation-specific files, such as \path|texmf/ini|, because a site +may have multiple \TeX{} implementations. + +Nevertheless, for informative purposes, we provide here the default +locations for some implementations. Please contact us with additions or +corrections. These paths are not definitive, may not match anything at +your site, and may change without warning. + +We recommend all implementations have default search paths that start +with the current directory (e.g., `\path|.|'). Allowing users to +include the parent directory (e.g., `\path|..|') is also helpful. + + +\subsubsection{AmiWeb2c 2.0} + +(Email \email|scherer@physik.rwth-aachen.de| to contact the maintainer +of this implementation.) + +AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible +extent, so only the very few differences are described in this +section. Detailed information about the basic concepts is given in +the section for Web2c 7 below. + +Thanks to the \path|SELFAUTO| mechanism of Kpathsea 3.0 no specific +location for the installation of AmiWeb2c is required as long as the +general structure of the distribution is preserved. + +In addition to Kpathsea's \path|//| notation recursive path search may +also be started by \replaceable{DEVICE}\path|:/|, e.g., \path|TeXMF:/| +will scan this specific device completely. + +Binaries coming with the AmiWeb2c distribution are installed in the +directory \path|bin/amiweb2c/| outside the common \abbr{TDS} tree +\path|share/texmf/|. In addition to the set of AmiWeb2c binaries +you will find two subdirectories \path|local/| and \path|pastex/| +with auxiliary programs. + +A stripped version of the Pas\TeX{} system (used by kind permission of +Georg He\ss{}mann) is coming with AmiWeb2c, pre-installed in its own +\path|share/texmf/amiweb2c/pastex/| directory. If you want to use +Pas\TeX{} you have to \path|assign| the name \path|TeX:| to this place. + +Documentation files in AmigaGuide format should be stored at +\path|doc/guide/| similar to \path|doc/info/|. + + +\subsubsection{Public \abbr{DECUS} \TeX{}} + +If another \abbr{VMS} implementation besides Public \abbr{DECUS} \TeX{} +appears, the top level implementation directory name will be modified to +something more specific (e.g., \path|vms_decus|). + +\begin{tdsSummary} + texmf/ + . vms/ \abbr{VMS} implementation specific files + . . exe/ end-user commands + . . . common/ command procedures, command definition files, etc. + . . . axp/ binary executables for Alpha \abbr{AXP} + . . . vax/ binary executables for \abbr{VAX} + . . formats/ pool files, formats, bases + . . help/ \abbr{VMS} help library, and miscellaneous help sources + . . mgr/ command procedures, programs, docs, etc., for system management +\end{tdsSummary} + + +\subsubsection{Web2c 7} + +All implementation-dependent \TeX{} system files (\path|.pool|, +\path|.fmt|, \path|.base|, \path|.mem|) are stored by default directly +in \path|texmf/web2c|. The configuration file \path|texmf.cnf| and +various subsidiary \path|MakeTeX...| scripts used as subroutines are +also stored there. + +Non-\TeX{} specific files are stored following the \abbr{GNU} coding +standards. Given a root directory \replaceable{prefix} +(\path|/usr/local| by default), we have default locations as follows: + +\begin{tdsSummary} + / installation root (\path|/usr/local| by default) + . bin/ executables + . man/ man pages + . info/ info files + . lib/ libraries (\path|libkpathsea.*|) + . share/ architecture-independent files + . . texmf/ \abbr{TDS} root + . . . web2c/ implementation-dependent files (\path|.pool|, \path|.fmt|, \path|texmf.cnf|, etc.) +\end{tdsSummary} + +See \url|http://www.gnu.org/prep/standards_toc.html| for the +rationale behind and descriptions of this arrangement. A site may of +course override these defaults; for example, it may put everything under +a single directory such as \path|/usr/local/texmf|. + + +\section{Is there a better way?} + +Defining the \abbr{TDS} required many compromises. Both the overall +structure and the details of the individual directories were arrived at +by finding common ground among many opinions. The driving forces were +feasibility (in terms of what could technically be done and what could +reasonably be expected from developers) and regularity (files grouped +together in an arrangement that ``made sense''). + +Some interesting ideas could not be applied due to implementations +lacking the necessary support: + +\begin{itemize} + +\item Path searching control at the \TeX{} level. If documents could +restrict subdirectory searching to a subdirectory via some portable +syntax in file names, restrictions on uniqueness of filenames could be +relaxed considerably (with the cooperation of the formats), and the +\TeX{} search path would not need to depend on the format. + +\item Multiple logical \texmf{} trees. For example, a site might have +one (read-only) location for stable files, and a different (writable) +location for dynamically-created fonts or other files. It would be +reasonable for two such trees to be logically merged when searching. +See Michael Downes' article in the references for how this can work in +practice with Web2C. + +\end{itemize} + +\subsection{Macro structure} + +The \abbr{TWG} settled on the +\replaceable{format}\path|/|\replaceable{package} arrangement after long +discussion about how best to arrange the files. + +The primary alternative to this arrangement was a scheme which reversed +the order of these directories: +\replaceable{package}\path|/|\replaceable{format}. This reversed +arrangement has a strong appeal: it keeps all of the files related to a +particular package in a single place. The arrangement actually adopted +tends to spread files out into two or three places (macros, +documentation, and fonts, for example, are spread into different +sections of the tree right at the top level). + +Nevertheless, the \replaceable{format}\path|/|\replaceable{package} +structure won for a couple of reasons: + +\begin{itemize-squeeze} +\item It is closer to current practice; in fact, several members of the +\abbr{TWG} have already implemented the \abbr{TDS} hierarchy. The +alternative is not in use at any known site, and the \abbr{TWG} felt it +wrong to mandate something with which there is no practical experience. + +\item The alternative arrangement increases the number of top-level +directories, so the files that must be found using subdirectory +searching are spread out in a wide, shallow tree. This could have a +profound impact on the efficiency of subdirectory searching. + +\end{itemize-squeeze} + + +\subsection{Font structure} + +The \abbr{TWG} struggled more with the font directory structure than +anything else. This is not surprising; the need to use the proliferation +of PostScript fonts with \TeX{} is what made the previous arrangement +with all files in a single directory untenable, and therefore what +initiated the \abbr{TDS} effort. + + +\subsubsection{Font file type location} + +We considered the supplier-first arrangement in use at many sites: + +\begin{ttdisplay} +texmf/fonts/\replaceable{supplier}/\replaceable{typeface}/\replaceable{type}/ +\end{ttdisplay} + +This improves the maintainability of the font tree, since all files +comprising a given typeface are in one place, but unless all the +programs that search this tree employ some form of caching, there are +serious performance concerns. For example, in order to find a +\path|TFM| file, the simplest implementation would require \TeX{} to +search through all the directories that contain \abbr{PK} files in all +modes and at all resolutions. + +In the end, a poll of developers revealed considerable resistance to +implementing sufficient caching mechanisms, so this arrangement was +abandoned. The \abbr{TDS} arrangement allows the search tree to be +restricted to the correct type of file, at least. Concerns about +efficiency remain, but there seems to be no more we can do without +abandoning subdirectory searching entirely. + +We also considered segregating all font-related files strictly by file +type, so that \MF{} sources would be in a directory +\path|texmf/fonts/mf|, property list files in \path|texmf/fonts/pl|, the +various forms of Type~1 fonts separated, and so on. Although more +blindly consistent, we felt that the drawback of more complicated path +constructions outweighed this. The \abbr{TDS} merges file types +(\path|mf| and \path|pl| under \path|source|, \path|pfa| and \path|pfb| +and \path|gsf| under \path|type1|) where we felt this was beneficial. + + +\subsubsection{Mode and resolution location} + +We considered having the \path|mode| at the bottom of the font tree: +\begin{ttdisplay} +texmf/fonts/pk/\replaceable{supplier}/\replaceable{typeface}/\replaceable{mode}/\replaceable{dpi}/ +\end{ttdisplay} + +In this case, however, it is difficult to limit subdirectory searching +to the mode required for a particular device. + +We then considered moving the \path|dpi|\replaceable{nnn} up to below +the mode: +\begin{ttdisplay} +texmf/fonts/pk/\replaceable{mode}/\replaceable{dpi}/\replaceable{supplier}/\replaceable{typeface}/ +\end{ttdisplay} + +But then it is not feasible to omit the \path|dpi|\replaceable{nnn} +level altogether on systems which can and do choose to use long +filenames. + + +\subsubsection{Modeless bitmaps} + +The \abbr{TDS} specifies using a single directory \path|modeless/| as +the mode name for those utilities which generate bitmaps, e.g., +\path|texmf/fonts/modeless/times/|. This has the considerable advantage +of not requiring each such directory name to be listed in a search path. + +An alternative was to use the utility name below which all such +directories could be gathered. That has the advantage of separating, +say, \path|gsftopk|-generated bitmaps from \path|ps2pk|-generated ones. +However, we decided this was not necessary; most sites will use only one +program for the purpose. Also, \abbr{PK} and \abbr{GF} fonts generally +identify their creator in the font comment following the \path|PK_ID| +byte. + +We are making an implicit assumption that \MF{} is the only program +producing mode-dependent bitmaps. If this becomes false we could add an +abbreviation for the program to mode names, as in \path|mfcx| vs.\ +\path|xyzcx| for a hypothetical program \application{Xyz}, or we could +at that time add an additional program name level uniformly to the tree. +It seemed more important to concisely represent the current situation +than to worry about hypothetical possibilities that may never~happen. + + +\subsection{Documentation structure} + +We considered placing additional documentation files in the same +directory as the source files for the packages, but we felt that users +should be able to find documentation separately from sources, since most +users have no interest in sources. + +We hope that a separate, but parallel, structure for documentation would +(1)~keep the documentation together and (2)~make it as straightforward +as possible for users to find the particular documentation they were +after. + + +\section{Related references} +\label{sec:Related references} + +This appendix gives pointers to related files and other documents. For +\abbr{CTAN} references, we use \path|http://www.ctan.org| as the +top-level domain only to make the links be live in this document. See +\url|http://www.ctan.org/tex-archive/CTAN.sites| for a complete list of +\abbr{ctan} sites; there are mirrors worldwide. + +\begin{itemize-squeeze} + +\item This document, in many formats (tex, dvi, info, pdf):\\ \hspace*{1em} +\url|http://tug.org/tds/| + +\item The \abbr{TDS} mailing list archives:\\ \hspace*{1em} +\url|http://tug.org/mail-archives/twg-tds/| + +\item The level~0 \abbr{DVI} driver standard:\\ \hspace*{1em} +\url|http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/| + +\item \citetitle{Filenames for \TeX{} fonts}, with lists of recommended +supplier and typeface names:\\ \hspace*{1em} +\url|http://tug.org/fontname/| + +\item \abbr{ISO}-9660 \abbr{CD-ROM} file system standard:\\ \hspace*{1em} +\url|http://www.iso.ch/cate/cat.html| + +\item \citetitle{Components of \TeX{}}, a paper by Joachim +Schrod:\\ \hspace*{1em} +\url|http://www.ctan.org/tex-archive/documentation/components-of-TeX/| + +\item \citetitle{Managing Multiple TDS trees}, an article by Michael +Downes:\\ \hspace*{1em} +\url|http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf| + +\item A complete set of \MF{} modes:\\ \hspace*{1em} +\url|http://www.ctan.org/tex-archive/fonts/modes/modes.mf| + +\item A large collection of \BibTeX{} databases and styles:\\ \hspace*{1em} +\url|ftp://ftp.math.utah.edu/pub/tex/bib/| + +\end{itemize-squeeze} + + +\section{Contributors} + +The \abbr{TWG} has had no physical meetings; electronic mail was the +communication medium. + +Sebastian Rahtz is the \TeX{} Users Group Technical Council liaison. +Norman Walsh was the original committee chair. Karl Berry is the +current editor. + +The list of contributors has grown too large to fairly include, as some +would surely be inadvertently omitted. Please consider the archives of +the \email|tds@tug.org| and \email|tex-live@tug.org| mailing lists as +the record of contributions. + + +\end{document} diff --git a/info/tds/tds2texi.el b/info/tds/tds2texi.el new file mode 100644 index 0000000000..de87d40430 --- /dev/null +++ b/info/tds/tds2texi.el @@ -0,0 +1,577 @@ +;;; tds2texi.el --- convert TDS draft from LaTeX to Texinfo + +;; Copyright (C) 1996, 1999, 2003, 2004 Ulrik Vieth and the TeX Users Group. + +;; This programm 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, 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 a copy of the GNU General Public License; see the +;; file COPYING. If not, write to the Free Software Foundation, Inc., +;; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +;; Author: Ulrik Vieth +;; Maintainer: karl@mail.tug.org +;; Version: $Id: tds2texi.el,v 1.12 2004/06/04 17:25:49 karl Exp $ +;; Keywords: TDS, LaTeX, Texinfo, Info, HTML, tex, maint + +;;; Commentary: + +;; Description: +;; +;; This file provides a limited LaTeX-to-Texinfo conversion function +;; `tds2texi-convert' which is intended to convert the LaTeX +;; source of the TDS draft document `tds.tex', using a couple of +;; special markup tags defined in the document class `tdsguide.cls'. +;; It is definitely *not* suitable to be used as a general-purpose +;; LaTeX-to-Texinfo converter and is not intended to be used as such. +;; + +;; Usage (also see the Makefile): +;; +;; 0. load or autoload this file, e.g: (load-library "tds2texi") +;; +;; 1. go to a directory containing `tds.tex', e.g. in dired mode +;; +;; 2. run M-x tds2texi-convert -- this does all the conversion and +;; leaves you in a buffer `tds.texi' containing the converted file +;; +;; 3. edit the buffer if necessary and save it -- you will be asked +;; for a file name (which should be `tds.texi', of course) +;; +;; 4. run M-x makeinfo-buffer or invoke makeinfo and/or texi2html +;; from the shell -- don't try texi2dvi, it may work all right, +;; but it's not recommended since it will only cause confusion +;; with the DVI file created from the original LaTeX source! +;; + +;; Bugs: +;; +;; * whitespace (esp. blank lines) before and after environments +;; will be inconsistent (should be fixed in the LaTeX version!) +;; +;; * whitespace (esp. indentation) in tdsSummary environments +;; will be inconsistent (should be fixed in the LaTeX version!) +;; +;; * labels are references are assumed to coincide with names +;; of @nodes -- this is not always true, e.g. for MF vs. \MF{} +;; +;; * the last comma in the list of contributors should be a period +;; +;; * the list of contributors should be handled in a better way +;; (currently: LaTeX tabbing -> @quotation -> HTML

) +;; +;; * the contents of the top node may get lost in the texi2html +;; conversion under some circumstances, or else it may end up +;; in the wrong split file -- this seems to be a texi2html bug +;; + +;; History: +;; +;; v 0.0 -- 1996/01/23 UV created +;; v 0.1 -- 1996/01/24 UV first rough version, posted to twg-tds +;; v 0.2 -- 1996/01/24 UV added some commentary and doc strings +;; v 0.3 -- 1996/01/25 UV modularized code, handle header and trailer, +;; call texinfo routines for @nodes and @menus +;; v 0.4 -- 1996/01/27 UV slightly touched-up and some doc fixes, +;; improved handling of legalnotice header +;; v 0.5 -- 1996/01/28 UV more documentation added, code freeze +;; +;; v 1.0 -- 1996/02/20 UV renamed to tds2texi, bumped version number, +;; also fixed a minor typo in "@item samp" +;; v 1.1 -- 1996/11/12 KB no node pointers, no double blank line after +;; sections, allow braces after abbrevs. +;; v 1.2 -- 1996/11/16 KB ??? (see ChangeLog) +;; v 1.3 -- 1996/11/18 UV added translation for umlaut accents, +;; added tds2texi-direntry header lines, +;; added function tds2texi-fixup-texinfo, +;; fixed bug when combining multiple "@file"s. + + +;;; Code: + +(require 'texinfo) ; needed to update @nodes and @menus + +;; file name variables + +(defvar tds2texi-source-file "tds.tex" + "File name of TDS LaTeX source to be converted.") + +(defvar tds2texi-target-file "tds.texi" + "File name of TDS Texinfo source to be created.") + +(defvar tds2texi-filename "tds.info" + "File name of Info file to be inserted in Texinfo header.") + +(defvar tds2texi-direntry + (concat + "@dircategory TeX\n" + "@direntry\n" + "* TeX Directories: (tds). A directory structure for TeX files.\n" + "@end direntry\n")) + +;; translation tables + +(defvar tds2texi-logos-alist + '(("{\\TeX}" . "TeX") ; when only doing Info + ("\\TeX{}" . "TeX") ; no need to use "@TeX{}" + ("{\\LaTeX}" . "LaTeX") + ("\\LaTeX{}" . "LaTeX") + ("{\\LaTeXe}" . "LaTeX2e") + ("\\LaTeXe{}" . "LaTeX2e") + ("{\\AmS}" . "AMS") + ("\\AmS{}" . "AMS") + ("{\\AMSTeX}" . "AMS-TeX") + ("\\AMSTeX{}" . "AMS-TeX") + ("\\MF{}" . "Metafont") + ("\\MP{}" . "MetaPost") + ("\\BibTeX{}" . "BibTeX") + ("{\\iniTeX}" . "INITEX") + ("\\iniTeX{}" . "INITEX") + ("{\\iniMF}" . "INIMF") + ("\\iniMF{}" . "INIMF") + ("{\\iniMP}" . "INIMP") + ("\\iniMP{}" . "INIMP") + ("{\\PS}" . "PostScript") + ("\\PS{}" . "PostScript") + ("{\\copyright}" . "@copyright{}") + ) + "List of TeX logos and their replacement text after conversion.") + +(defvar tds2texi-logos-regexp-1 "\\(\\\\[A-Za-z]+{}\\)" + "Regexp for TeX logos to be converted using `tds2texi-logos-alist'.") + +(defvar tds2texi-logos-regexp-2 "\\({\\\\[^}]+}\\)" + "Regexp for TeX logos to be converted using `tds2texi-logos-alist'.") + +;; + +(defvar tds2texi-tags-alist + '(("\\emphasis" . "@emph") + ("\\citetitle" . "@cite") + ("\\literal" . "@file") + ("\\replaceable" . "@var") + ("\\command" . "@code") ; defined, but not used + ;; ("\\application" . "@r") ; unnecessary, but ... + ;; ("\\abbr" . "@sc") ; unnecessary, but ... + ) + "List of markup tags and their replacement text after conversion.") + +(defvar tds2texi-tags-regexp "\\(\\\\[a-z]+\\)" + "Regexp for markup tags to be converted using `tds2texi-tags-alist'.") + +;; + +(defvar tds2texi-env-alist + '(("\\begin{ttdisplay}" . "@example") + ("\\end{ttdisplay}" . "@end example") + ("\\begin{tdsSummary}" . "@example") + ("\\end{tdsSummary}" . "@end example") + ("\\begin{enumerate}" . "@enumerate") + ("\\end{enumerate}" . "@end enumerate") + ("\\begin{enumerate-squeeze}" . "@enumerate") + ("\\end{enumerate-squeeze}" . "@end enumerate") + ("\\begin{itemize}" . "@itemize @bullet") + ("\\end{itemize}" . "@end itemize") + ("\\begin{itemize-squeeze}" . "@itemize @bullet") + ("\\end{itemize-squeeze}" . "@end itemize") + ("\\begin{description}" . "@itemize @bullet") + ("\\end{description}" . "@end itemize") + ("\\begin{description-squeeze}" . "@itemize @bullet") + ("\\end{description-squeeze}" . "@end itemize") + ("\\begin{legalnotice}" . "@titlepage") ; special hack + ("\\end{legalnotice}" . "@end titlepage") + ("\\begin{tabbing}" . "@quotation") ; special hack + ("\\end{tabbing}" . "@end quotation") + ) + "List of environments and their replacement text after conversion.") + +(defvar tds2texi-env-regexp "\\(\\\\\\(begin\\|end\\){[^}]+}\\)" + "Regexp for environments to be converted using `tds2texi-env-alist'.") + + +;;; some utility functions + +(defun tds2texi-string-replace (x-string x-replace) + "Searches for occurences of X-STRING, replacing them by X-REPLACE." + (save-excursion + (while (search-forward x-string nil t) + (replace-match x-replace t t)))) ; use fixed case! + +(defun tds2texi-regexp-replace (x-regexp x-replace) + "Searches for occurences of X-REGEXP, replacing them by X-REPLACE." + (save-excursion + (while (re-search-forward x-regexp nil t) + (replace-match x-replace t nil)))) ; use fixed case! + + +(defun tds2texi-alist-replace (x-regexp x-alist) + "Searches for ocurrences of X-REGEXP, replacing them using X-ALIST. +If no match is found in X-ALIST, leaves the original text unchanged." + (save-excursion + (let (x-match + x-replace) + (while (re-search-forward x-regexp nil t) + (setq x-match (match-string 1)) + (setq x-replace (or (cdr (assoc x-match x-alist)) x-match)) + (replace-match x-replace t t))))) ; use fixed case! + + +;;; the main conversion function + +(defun tds2texi-convert () + "Have a try at converting LaTeX to Texinfo. Good luck!" + (interactive) + + ;; get a buffer to operate on and insert the LaTeX source + (set-buffer (get-buffer-create tds2texi-target-file)) + (erase-buffer) + (insert-file-contents-literally tds2texi-source-file) + + ;; tab characters can mess up tds-summary envrionments, + ;; so get rid of them as soon as possible + (untabify (point-min) (point-max)) + (goto-char (point-min)) + + ;; do the conversion steps for the text body + (tds2texi-do-simple-tags) ; mostly general + (tds2texi-do-fancy-logos) ; mostly specific to TDS + (tds2texi-do-sectioning) ; mostly general + (tds2texi-do-markup-tags) ; mostly specific to TDS + (tds2texi-do-environments) ; partly specific to TDS + + ;; do the conversion for header and trailer + (tds2texi-do-header) ; partly specific to TDS + (tds2texi-do-trailer) ; partly specific to TDS + + ;; standard Texinfo functions + ; (texinfo-every-node-update) ; I don't like the extra node pointers. + (texinfo-all-menus-update) + (texinfo-master-menu nil) + + (tds2texi-fixup-texinfo) + + ;; all that's left to do is saving the buffer to a file + ;; -- we simply select the buffer and leave saving it to + ;; the user in case some manual intervention is needed + (switch-to-buffer tds2texi-target-file) + ) + + +;;; various steps of the conversion process + +(defun tds2texi-do-simple-tags () + "First step of \\[tds2texi-convert]. Not useable by itself." + + ;; literal `@' -- should come before anything else, since it's + ;; the Texinfo control character. + (tds2texi-regexp-replace "\\([^\\\\]\\)@" "\\1@@") + + ;; fancy spacing -- should come early before we have many `@' + + ;; "\@" -- space factor corrections before sentence end `.' + (tds2texi-regexp-replace "\\\\@\\." "@.") + ;; "\ " -- control space after `.' in the middle of sentences. Also + ;; converts \\ to \. + (tds2texi-regexp-replace "\\.\\\\\\([ \n]+\\)" ".@:\\1") + ;; "\ " -- control space used otherwise + (tds2texi-regexp-replace "\\\\\\([ \n]+\\)" "\\1") + + ;; "\," -- thin space used with dimensions like "dpi" or "pt" + (tds2texi-regexp-replace "\\\\,\\([a-z]+\\)" "@dmn{\\1}") + + ;; "\\" -- forced line breaks in references, where it's always + ;; preceded by a :. Previous "\ " conversion reduced \\ to \. + (tds2texi-string-replace ":\\ " ":@*\n") + + ;; "\"" -- accents etc.: + (tds2texi-string-replace "\\\"" "@\"") + (tds2texi-string-replace "\\ss" "@ss") + + ;; special TeX characters that needn't be quoted in Texinfo: + (tds2texi-string-replace "\\_" "_") + (tds2texi-string-replace "\\&" "&") + (tds2texi-string-replace "\\%" "%") + + ;; special TeX characters that we prefer to transliterate: + (tds2texi-regexp-replace "\\\\slash[ ]*" "/") + + ;; we could translate $...$ into @math{...}, but why bother + ;; when we can transliterate it easily? + (tds2texi-string-replace "$" "") + (tds2texi-string-replace "\\pm" "+-") +) + + +(defun tds2texi-do-fancy-logos () + "Second step of \\[tds2texi-convert]. Not useable by itself." + + ;; fancy TeX logos -- these are used in arguments of sections, + ;; so we have to do them early before doing sectioning commands. + (tds2texi-alist-replace tds2texi-logos-regexp-1 tds2texi-logos-alist) + (tds2texi-alist-replace tds2texi-logos-regexp-2 tds2texi-logos-alist) + + ;; acronyms -- these are also used in arguments of sections. + ;; There's no need to use @sc markup, just upcase the argument. + (save-excursion + (while (re-search-forward "\\\\abbr{\\([^}]+\\)}" nil t) + (replace-match (upcase (match-string 1)) nil t))) + + ;; applications -- similar to acronyms, so done here as well. + ;; There's no need to use @r markup either, it's the default! + (tds2texi-regexp-replace "\\\\application{\\([^}]+\\)}" "\\1") + ) + + +(defun tds2texi-do-sectioning () + "Third step of \\[tds2texi-convert]. Not useable by itself." + + ;; first do @chapter and @appendix by narrowing + (save-excursion + (save-restriction + (narrow-to-region + (point-min) (search-forward "\\appendix" nil t)) + (goto-char (point-min)) + (tds2texi-regexp-replace + "\\\\section{\\([^}]+\\)}[ ]*" "@node \\1\n@chapter \\1") + )) + (save-excursion + (save-restriction + (narrow-to-region + (search-forward "\\appendix" nil t) (point-max)) + (tds2texi-regexp-replace + "\\\\section{\\([^}]+\\)}[ ]*" "@node \\1\n@appendix \\1") + )) + + ;; @section and @subsection are just shifted a level up + (tds2texi-regexp-replace + "\\\\subsection{\\([^}]+\\)}[ ]*" "@node \\1\n@section \\1") + (tds2texi-regexp-replace + "\\\\subsubsection{\\([^}]+\\)}[ ]*" "@node \\1\n@subsection \\1") + + ;; now we no longer need \appendix as a marker + (tds2texi-regexp-replace "\\\\appendix[ ]*\n" "") + + ;; \newpage can go as well + (tds2texi-regexp-replace "%?\\\\newpage[ ]*\n" "") + + ;; \labels are redundant since we have @nodes + (tds2texi-regexp-replace "\\\\label{sec:\\([^}]+\\)}[ ]*\n" "") + + ;; \refs now refer to @nodes instead of \labels + (tds2texi-regexp-replace "\\\\ref{sec:\\([^}]+\\)}" "@ref{\\1}") + ) + + +(defun tds2texi-do-markup-tags () + "Fourth step of \\[tds2texi-convert]. Not usable by itself." + + ;; special tags -- for \CTAN, we must used fixed-case replace! + (tds2texi-string-replace "\\the\\tdsVersion" "@value{version}") + (tds2texi-string-replace "\\texmf{}" "@file{texmf}") + (tds2texi-string-replace "\\CTAN:" "@file{@var{CTAN}:}") + + ;; convert simple tags without expanding their arguments: + ;; \emphasis, \citetitle, \literal, \replaceable + (tds2texi-alist-replace tds2texi-tags-regexp tds2texi-tags-alist) + + ;; \\systemitem -- a silly tag with an extra argument that + ;; isn't printed. It is used exactly once! + (tds2texi-regexp-replace + "\\\\systemitem{\\([^}]+\\)}{\\([^}]+\\)}" "@file{\\2}") + + ;; \path, \url -- here we can't avoid shuffling the argument + (tds2texi-regexp-replace "\\\\path|\\([^|]+\\)|" "@file{\\1}") + (tds2texi-regexp-replace "\\\\url|\\([^|]+\\)|" "@uref{\\1}") + (tds2texi-regexp-replace "\\\\email|\\([^|]+\\)|" "@email{\\1}") + + ;; After turning \replaceable into @var above we now have to + ;; turn @var{...} into @file{@var{...}} to get quotation marks + ;; around file names consistent. (Read: those extra quotation + ;; marks inserted automatically by makeinfo in the @file tag.) + + ;; For simplicity we first do the change everywhere and then + ;; undo it again inside `ttdisplay' environments, where we + ;; can leave @var by itself as @file isn't used there anyway. + + (tds2texi-regexp-replace "@var{\\([^}]+\\)}" "@file{@var{\\1}}") + (save-excursion + (while (search-forward "\\begin{ttdisplay}" nil t) + (save-restriction + (narrow-to-region + (point) (search-forward "\\end{ttdisplay}" nil t)) + (goto-char (point-min)) + (tds2texi-regexp-replace "@file{@var{\\([^}]+\\)}}" "@var{\\1}") + ))) + + ;; eliminate redundant quotation marks around @file + (tds2texi-regexp-replace "``\\(@file{[^}]+}\\)''" "\\1") + (tds2texi-regexp-replace "`\\(@file{[^}]+}\\)'" "\\1") + + ;; ... and combine multiple @file{}s in one line + (tds2texi-regexp-replace + "@file{\\([^ ]+\\)}@file{\\([^ ]+\\)}@file{\\([^ ]+\\)}" "@file{\\1\\2\\3}") + (tds2texi-regexp-replace + "@file{\\([^ ]+\\)}@file{\\([^ ]+\\)}" "@file{\\1\\2}") + + ;; ... also simplify cases of nested @file{}s + (tds2texi-regexp-replace + "@file{@file{\\([^ ]+\\)}\\([^ ]+\\)}" "@file{\\1\\2}") + + ;; literal `~' -- if it hasn't been converted to space earlier, + ;; we can now do the conversion to @w{word1 word2} without + ;; running the risk of confusion the regexp matcher somewhere. + ;; Unfortunately @w will get lost again in the HTML conversion + ;; because   or   are not yet standard HTML tags. + (tds2texi-string-replace "~" "@tie{}") + ) + + +(defun tds2texi-do-environments () + "Fifth step of \\[tds2texi-convert]. Not useable by itself." + + ;; convert \begin and \end of environments + (tds2texi-alist-replace tds2texi-env-regexp tds2texi-env-alist) + + ;; convert \items + (tds2texi-string-replace "\\item" "@item") + + ;; insert newlines after description items where appropriate + (tds2texi-regexp-replace + "@item\\[\\([^]]+\\)\\][ ]*\n" "@item \\1\n") + (tds2texi-regexp-replace + "@item\\[\\([^]]+\\)\\][ ]*" "@item \\1\n") + + ;; insert newlines after @item @file, also replace @item @file + ;; by @item @samp -- this is done because it may look nicer + ;; in the HTML version, but it depends on the style sheet used + (tds2texi-regexp-replace + "@item @file\\([^,\n]*\\),[ ]*" "@item @samp\\1,\n") + (tds2texi-regexp-replace + "@item @file" "@item @samp") + ) + + +;;; handling the header and trailer + +(defun tds2texi-do-header () + "Convert LaTeX header to Texinfo. Used in \\[tds2texi-convert]." + (let (title-string + author-string + version-string) + + ;; collect information + (save-excursion + (re-search-forward "\\\\tdsVersion{\\(.*\\)}" nil t) + (setq version-string (match-string 1)) + (re-search-forward "\\\\title{\\(.*\\)}" nil t) + (setq title-string (match-string 1)) + (re-search-forward "\\\\author{\\(.*\\)}" nil t) + (setq author-string (match-string 1)) + ) + + ;; discard information lines + (tds2texi-regexp-replace "\\\\title{.*}[ ]*\n" "") + (tds2texi-regexp-replace "\\\\author{.*}[ ]*\n" "") + (tds2texi-regexp-replace "\\\\tdsVersion{.*}[ ]*\n\n" "") + + ;; discard pre-title lines + (tds2texi-regexp-replace "%&latex[ ]*\n" "") + (tds2texi-regexp-replace "\\\\NeedsTeXFormat.*\n" "") + + ;; convert \documentclass to \input texinfo + (tds2texi-regexp-replace "\\\\documentclass.*\n\n" "\\\\input texinfo\n") + + ;; insert Texinfo header lines + (save-excursion + (goto-char (search-forward "texinfo\n" nil t)) + (insert "@setfilename " tds2texi-filename "\n") + (insert "@settitle " title-string "\n\n") + (insert "@set version " version-string "\n\n") + (insert tds2texi-direntry "\n") + ) + + ;; discard \begin{document} and \maketitle + (tds2texi-regexp-replace "\\\\begin{document}[ ]*\n\n" "") + (tds2texi-regexp-replace "\\\\maketitle[ ]*\n\n" "") + + ;; copy contents of `legalnotice' environments + (save-excursion + (let ((begin (search-forward "@titlepage\n\n" nil t)) + (end (progn + (search-forward "@end titlepage" nil t) + (match-beginning 0)))) + (copy-region-as-kill begin end) + )) + + ;; insert stuff for title page before `legalnotice' environment + ;; -- \begin{legalnotice} has been converted to @titlepage + (save-excursion + (goto-char (search-forward "@titlepage\n" nil t)) + (insert "@title " title-string "\n") + (insert "@subtitle Version @value{version}\n") + (insert "@author " author-string "\n\n") + (insert "@page\n@vskip 0pt plus 1filll\n") + ) + + ;; insert stuff for @node Top and master menu after `legalnotice' + ;; -- \end{legalnotice} has been converted to @end titlepage + (save-excursion + (goto-char (search-forward "@end titlepage\n\n" nil t)) + + (insert "@ifnottex\n") + (insert "@node Top\n@top " title-string "\n\n") + + ;; insert contents of `legalnotice' copied above + (yank) ; should include a "\n\n" at the end + + (insert "@menu\n@end menu\n") + (insert "@end ifnottex\n\n") + ) + + ;; discard \tableofcontents -- @contents belongs in the trailer + (tds2texi-regexp-replace "\\\\tableofcontents[ ]*\n\n" "") + )) + +(defun tds2texi-do-trailer () + "Convert LaTeX trailer to Texinfo. Used in \\[tds2texi-convert]." + + ;; The list of contributors is a LaTeX tabbing environment, which + ;; is difficult to convert -- we convert it to a normal paragraph + ;; inside a @quotation environment, so it gets indented a little. + + ;; Conversion of the tabbing environment is already done elsewhere, + ;; so we just have to remove some redundant tags. + + ;; discard alignment preamble consisting of lines starting with + ;; \hspace{0.25\linewidth}. We use \hspace in other places too. + (tds2texi-regexp-replace "\\\\hspace.*\n" "") + + ;; convert "\>" and "\\" in tabbing environment to comma + (tds2texi-regexp-replace " +\\\\>[ ]*" ", ") + + ;; In the earlier conversion of "\ ", "\\" followed by newline + ;; was already converted to "\", so we just have to convert + ;; the remaining instances of "\" followed by space or newline. + (tds2texi-regexp-replace "\\s +\\\\\\s +" ", ") + + ;; convert \end{document} to @contents and @bye + (tds2texi-string-replace "\\end{document}" + "@iftex\n@contents\n@end iftex\n@bye") + ) + +(defun tds2texi-fixup-texinfo () + "Fix up a few last-minute items. Used in \\[tds2texi-convert]." + + ;; Fix the reference to the node name with the logo. + (tds2texi-string-replace "Non-font MF" "Non-font Metafont") + ) + +;;; tds2texi.el ends here diff --git a/info/tds/tdsguide.cls b/info/tds/tdsguide.cls new file mode 100644 index 0000000000..4526776258 --- /dev/null +++ b/info/tds/tdsguide.cls @@ -0,0 +1,845 @@ +% $Id: tdsguide.cls,v 1.19 2004/03/28 14:21:10 karl Exp $ +% LaTeX document class tdsguide +% (history at end) +% +% This class provides markup & layout for the TDS report. +% +\NeedsTeXFormat{LaTeX2e}[1994/12/01] % star-form of \CheckCommand, etc. + + +% The code below is explained in the implementation documentation of the +% rcs package. + +\begingroup + \def\RCSClass#1#2 $#3: #4 #5\endRCS $#6: #7 #8\endRCS{% + \def\date{#4}\def\id{v#7}% + \ProvidesClass{#1}[\date\space\id\space #2]% + } + + \RCSClass{tdsguide}{markup and layout for TDS document} + $Date: 2004/03/28 14:21:10 $: 9999/00/00 \endRCS + $Revision: 1.19 $: 0.0 \endRCS +\endgroup + + +% default setup +\ifx \CatEscape\undefined + \chardef\CatEscape=0 + \chardef\CatOpen=1 + \chardef\CatClose=2 + \chardef\CatIgnore=9 + \chardef\CatLetter=11 + \chardef\CatOther=12 + \chardef\CatActive=13 + + \chardef\CatUsCode=\catcode`\_ +\fi + + + +%%% ====================================================================== + +% +% OPTIONS +% + +\catcode`\_=\CatLetter + + +% We can select to use Roman for METAFONT/METAPOST logos by the +% nomflogo option. That should be done if no current logo fonts (with +% `P' & `S') are available. Of course, it would be best to install +% current fonts. +% The mflogo options is provided for upward compatibility. + +\let\tds_mflogo\relax +\DeclareOption{nomflogo}{% + \def\tds_mflogo{\let\textlogo\tds@transfer@logo} % gimme refinements! :( + } +\DeclareOption{mflogo}{} + + +\newif\ifTdsDraft + \TdsDraftfalse +\DeclareOption{draft}{% + \TdsDrafttrue + \PassOptionsToClass{\CurrentOption}{article}% + } +\DeclareOption{final}{% + \TdsDraftfalse + \PassOptionsToClass{\CurrentOption}{article}% + } + + +\catcode`\_=\CatUsCode + + +%%% ------------------------------------------------------------ + + +% +% CONFIGURATION, INHERITANCE, AND OTHER MODULES +% + + +% configure this class + +\InputIfFileExists{tdsguide.cfg}{% + \typeout{*************************************^^J% + *^^J% + * Local config file tdsguide.cfg used^^J% + *^^J% + *************************************% + }% + }{} + + +% inherit article class + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions +\LoadClass{article} + + +% add more modules + +\RequirePackage{url} % file names & email addresses +\RequirePackage{mflogo} % MF & MP logos (but see below) +%\RequirePackage{hyperref} % navigation specials in .dvi +\RequirePackage{fancyhdr} % rev. no & draft notice in headers + +% Put hypertext links in the DVI file on the URL's: +% \def\UrlLeft#1\UrlRight{\special{html:}#1\special{html:}} +% Don't do this because xdvi doesn't know what do with ftp url's, which +% is the vast majority of links; also because we use the url package for +% mere directory names. + + +%%% ============================================================ + + +% +% NEW MARKUP +% + +\catcode`\_=\CatLetter + +% info about original SGML files + +\def\sourcefile#1{} +\def\formatterfile#1{} + +% revision number (should use rcs package) + +\newtoks\tdsVersion + + + +% +% RENDER DOCUMENT-SPECIFIC MARKUP +% + +% categories for terms + +% typewriter type. +% `_', `\_', and `\\' produce respective chars. + +\def\tds_tt{% + \begingroup + \catcode`\_=\CatOther + \chardef\_=`\_ + \chardef\\=`\\ + \tds_tt_set + } +\def\tds_tt_set#1{% + \ttfamily + #1% + \endgroup + } + +\def\systemitem#1{\tds_tt} +\def\replaceable#1{{\rmfamily $\langle$\textit{#1}$\rangle$}} +\let\command=\tds_tt +\def\application#1{\textrm{#1}} +\let\literal=\tds_tt +\let\email=\url + +% \abbr may be called with lowercase & uppercase letters, actually all +% abbreviations are to be typeset with reduced-size uppercase letters. +% (That lowercase letters are used as arguments was a half-hearted +% attempt by Norm who did use small caps at this time.) `Reduced size' +% means one point smaller than the current size. If the reduced size +% is larger than 12pt, we issue a warning; if no font-generating +% driver is used, this situation will lead to character replacements +% most probably. +% +% This macro may be written to an auxilliary file, we must not use +% underscores in its name. + +\DeclareRobustCommand\tds@reduced@size{% + \dimen@\f@size\p@ + \advance \dimen@ -\p@ % dimen@ = font_size - 1 + \ifdim \dimen@ >12\p@ + \@font@warning{% +Using font size `\the\dimen@' for abbreviations. That might lead% +\MessageBreak +to character replacements if you don't use a driver that\MessageBreak +generates fonts.}% + \fi + \math@fontsfalse + \fontsize{\the\dimen@}\z@ + \selectfont + } +\def\abbr#1{{\tds@reduced@size \uppercase{#1}}} + +% references + +\let\xref\relax +\let\citetitle=\textit + +% aliases for LaTeX markup + +\let\emphasis=\emph + +% environment `legalnotice', part of front matter + +\let\legalnotice=\par +\let\endlegalnotice=\par + +% environment `ttdisplay', used to explicate some fact. Basically, +% it's the alltt environment without parskip and with an additional +% level of indentation. + +\def\ttdisplay{% + \begingroup + \list{}{% + \parsep\z@skip % no skip before env + \parskip\z@skip + \relax + }% + \item\relax + \parshape\z@ + %% code below is copied from alltt.dtx. + \leftskip\@totalleftmargin + \@tempswafalse + \def\par{% + \if@tempswa + \leavevmode\null\@@par\penalty\interlinepenalty + \else + \@tempswatrue + \ifhmode + \@@par + \penalty\interlinepenalty + \fi + \fi + }% + \obeylines + \verbatim@font + \let\org@prime~% + \@noligs + \everymath \expandafter{\the\everymath \let~\org@prime}% + \everydisplay \expandafter{\the\everydisplay \let~\org@prime}% + \let\org@dospecials\dospecials + \g@remfrom@specials{\\}% + \g@remfrom@specials{\{}% + \g@remfrom@specials{\}}% + \let\do\@makeother \dospecials + \let\dospecials\org@dospecials + \frenchspacing\@vobeyspaces + \everypar \expandafter{\the\everypar \unpenalty}% + %} + } +\def\endttdisplay{% + \endlist + \endgroup + \vskip -\parskip % undo skip after env + } + +% Code below is from alltt.dtx. I don't understand why it's not part +% of the LaTeX kernel. +\def\g@remfrom@specials#1{% + \def\@new@specials{}% + \def\@remove##1{% + \ifx ##1#1% + \else + \g@addto@macro\@new@specials{\do ##1}% + \fi + }% + \let\do\@remove \dospecials + \let\dospecials\@new@specials + } + + + + +%%% ------------------------------------------------------------ + + +% +% LOGOS +% + + +% Some of them are rather document-specific. + +\def\texmf{\path|texmf|} +\def\CTAN:{\replaceable{\abbr{CTAN}:}} + + +% Actually, I should use my logos package for the rest... [-js] + +% The AmS definition is from AmS-LaTeX, that's more stable in this +% document's context than the one from AmS-TeX. +\def\AmS{% + \begingroup + \protect\usefont{OMS}{cmsy}{m}{n}% + A\kern-.1667em \lower.5ex\hbox{M}\kern-.125em S% + \endgroup + } +\def\AMSTeX{\AmS-\TeX} + +\def\iniTeX{\texttt{INITEX}\@} +\def\iniMF{\texttt{INIMF}\@} +\def\iniMP{\texttt{INIMP}\@} + +\def\PS{\textsc{PostScript}} + + +% If we don't use logo fonts, both the Metafont and the MetaPost logo +% is typeset in the current font, as shown in this comment. The macros +% `\MF' & `\MP' expand to two \textfont macros, with uppercase +% syllables as arguments. We check for the syllable `FONT', this has +% to be typeset in lowercase. All other syllables are capitalized. + +\def\tds_logo_fontarg{FONT} +\DeclareRobustCommand\tds@transfer@logo[1]{% + \def\tds_arg{#1}% + \ifx \tds_arg\tds_logo_fontarg + font% + \else + \tds_capitalize#1\tds_argend + \fi + } +\def\tds_capitalize#1#2\tds_argend{% + \uppercase{#1}\lowercase{#2}% + } + +\tds_mflogo + + +% Use a small caps fake for BibTeX's `ib'. This way we can typeset it +% in bold face or sans-serif, too. The code is copied from the LaTeX +% logo definition, from ltlogos.dtx. + +\DeclareRobustCommand\tds@smsize{% + $\m@th$% % force math size calculation + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse \selectfont + } + +\def\BibTeX{B\kern-.05em{\tds@smsize IB}\kern-.08em\TeX} + + +%%% ============================================================ + +% +% TDS SUMMARIES +% + +% Typeset a figure that shows the TeX directory layout. The layout is +% input with optical markup: +% +% \begin{tdsSummary} +% dir/ explanation of dir +% . subdir/ explanation of subdir +% . . subsubdir/ next subdir level +% . dir/dir/ more than one dir in one line +% . / explanation of category +% \end{tdsSummary} +% +% Directories and category names don't have dots. + +% We transform that input into a table. The first table column (the +% directory spec) is terminated by a slash that's followed by white +% space. Directory names are typeset in monocase. are +% tagged with \replaceable. Subdirectory levels are indented by one +% quad. A quad is placed between columns. The explanation text +% is typeset in one line. + +% As this is a special implementation for a special document, these +% design decisions are hardwired, no protected interface is available. +% Design changes will be realized by changes to the macro code. + + +% The environment is realized as a trivlist to behave correctly in list +% environments. I don't use a tabular environment, since I don't know +% exactly how the first column is tokenized. Instead a halign is used. +% IMO it does not matter, as tdsSummary does not use table markup +% anyhow. If somebody wants to use longer explanations and if they must +% be broken then, I have to use one of the tabulars of the tools bundle. + +% The first column (the directory names) is typeset in typewriter type. The +% font chosen hereby must have the underscore at its ASCII position. If +% that is not the case, one has to generalize \tds_dir_tags below. +% Namely, this macro sets up the special lexical convention for this +% column. As TeX will look at the first token of the column to check for +% the table end, \cr, or \omit before \tds_dir_tags is evaluated, the +% redefinition of the lexical analysis will not have happened for that +% token. So we have to check this token specially if it's one of the +% special optical markup chars. + +% After we started the trivlist, we need to supply the item (as this +% macro really adds the vertical space). But it does not actually +% start an item, it sets up the everypar register to do so. We fake +% the item start as we don't want to go in horizontal mode, \halign +% needs to be evaluated in vertical mode. +% +% \par is not evaluated by \endtrivlist and \end, so we don't need +% another group around its redefinition. + +\def\tdsSummary{% + \trivlist \item\relax + \vskip\parskip + \global\@inlabelfalse \global\@newlistfalse \global\everypar{}% + \tabskip 0pt + \let\par\crcr \obeylines % can't use \obeycr, redefined by LaTeX + % redefine \obeylines to do nothing; url.sty v3.0 calls it, and the + % ^^M character therein causes a `Missing \endgroup inserted' error + % at a \path|...| within a tdsSummary, if it's already defined as \par. + \let\obeylines=\relax + \halign\bgroup + \ttfamily \tds_dir_tags \tds_first_token ##\unskip\hfil &% + \quad ##\unskip\hfil \cr + } +\def\endtdsSummary{% + \crcr + \egroup + \endtrivlist + } + + +% Our special lexical conventions are: `.' denotes the next directory +% level, `<...>' denotes a directory category, and `/' is a column +% separator if it is followed by space or tab, a typeset slash +% otherwise. Underscores don't have any special meaning. + +\begingroup + \catcode`\.=\CatActive + \catcode`\<=\CatActive + \catcode`\/=\CatActive + \catcode`\:=\CatActive + \gdef\tds_dir_tags{% + \catcode`\.=\CatActive \let.=\tds_next_dir_level + \catcode`\<=\CatActive \let<=\tds_dir_category + \catcode`\/=\CatActive \let/=\tds_slash + \catcode`\:=\CatActive \let:=\tds_colon + \catcode`\_=\CatOther + \tt + } +\endgroup + +% There are spaces between the dots, ignore them. + +\def\tds_next_dir_level{\quad \ignorespaces} +\def\tds_dir_category#1>{\replaceable{#1}} + +\chardef\tds_dir_sep=`\/ % typeset a directory separator + +% The slash has to check the stuff behind. If it's a space or a tab, +% \next is bound to the action `blank-space' (the binding of all +% '(space . #\Space) tokens). A tab is usually tokenized to the same +% token, but we care for redefinitions below. +% +\def\tds_slash{% + \futurelet\next \tds_check_dir_end + } + +% For colons in the examples. +% +\def\tds_colon{:&} + +% We need two control sequencess that are bound to the actions currently +% bound to '(space . #\Space) and (tex:parse "\t"). A direct \let +% evaluation is difficult as the lexical analysis collapses subsequent +% spaces to one token. But we need one space token behind the equal +% sign, to be able to \let our cseq to the next space token. The first +% token is stored in the replacement list of a macro, the second token +% comes as its argument. + +\def\tds_let#1#2{\let#1= #2} +\tds_let\tds_space{ } +\tds_let\tds_tab{^^I} + +\def\TdsColSep{/&} % use trailing slashes for dir names + +\def\tds_check_dir_end{% + \ifx \next\tds_space + \let\next\TdsColSep + \else + \ifx \next\tds_tab + \let\next\TdsColSep + \else + \let\next\tds_dir_sep + \fi + \fi + \next + } + + +% We're almost finished with the tdsSummary setup. The stuff above is +% not used for the first column token, as it's already tokenized when +% the catcode changes take effect. So let's check and remap this token +% by hand. Actually, I'm sloppy here; I assume that `/' won't be a +% used as a directory name and that no directory name starts with an +% underscore. But then, I know that this won't happen in TDS... :-) + +\def\tds_first_token{% + \futurelet\next \tds_check_special + } +\def\tds_check_special{% + \ifx \next.% + \def\next{\afterassignment\tds_next_dir_level \let\next}% + \else + \ifx \next<% + \def\next{\afterassignment\tds_dir_category \let\next}% + \else + \let\next\relax + \fi + \fi + \next + } + + + +%%% ============================================================ + +% +% LAYOUT +% + + +% text area size + +% We use the same height as article's default, but increase the width. + +\textwidth=35pc +\oddsidemargin = \paperwidth + \advance\oddsidemargin by -\textwidth + \divide\oddsidemargin by 2 +\evensidemargin = \oddsidemargin +\hoffset = -1in + + +% spacing + +\parindent=0pt % no paragraph indentation +\emergencystretch=2em % fewer overfull hboxes, only a memo + +\parskip=1ex plus 1ex minus .5ex % between paragraphs; if you change it, + % change the spacing in section headers + % below, too! + +% Our spacing for lists is very simplistic, but uniform: We use (almost) +% parskip everywhere, and don't distinguish vertical spacing for +% different list levels. Actually, the latter is the thing we might want +% to introduce later again. + +\labelsep=1.1em % increase distance between item & text +\topsep=0pt % no extra skip above list in paragraph +\partopsep=0pt % no extra skip above list starting par. +\itemsep=0pt % no extra space between items +\parsep=.9\parskip % between paragraphs in items + +\def\@listI{% + \leftmargin\leftmargini + } +\let\@listi\@listI +\@listi + +\def\@listii{% + \leftmargin\leftmarginii + \labelwidth\leftmarginii \advance \labelwidth-\labelsep + } + +\def\@listiii{% + \leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance \labelwidth-\labelsep + } + + +% Like itemize, but squeeze the items. + +\newenvironment{itemize-squeeze} + {% + \parsep\z@skip + \itemize + }{% + \enditemize + } + +% Ditto, for description. + +\newenvironment{description-squeeze} + {% + \parsep\z@skip + \description + }{% + \enddescription + } + + +% Redefine section headers, different spacing and other fonts. + +\newskip\TdsPreSubSectionSkip + \TdsPreSubSectionSkip = 2.5ex plus 0.5ex minus 0.2ex + +\def\section{% + \@startsection{section}{1}% % name and level + {\z@}% % indentation + {-3ex plus-.75ex minus-.2ex}% % skip above and don't indent next par + {1.5ex plus.2ex}% % skip below + {\reset@font \Large \sffamily}% % type + } +\def\subsection{% + \@startsection{subsection}{2}% % name and level + {\z@}% % indentation + {-\TdsPreSubSectionSkip}% % skip above and don't indent next par + \parskip % skip below + {\reset@font \large \sffamily}% % type + } +\def\subsubsection{% + \@startsection{subsubsection}{3}% % name and level + {\z@}% % indentation + {-\TdsPreSubSectionSkip}% % skip above and don't indent next par + \parskip % skip below + {\reset@font \normalsize \sffamily}% % type + } +\def\paragraph{% + \@startsection{paragraph}{4}% % name and level + {\z@}% % indentation + \TdsPreSubSectionSkip % skip above and indent next par + {-1.5em}% % skip after, run in text + {\reset@font \normalsize \scshape}% % type + } + + +% Table of contents + +\setcounter{tocdepth}{2} % only sections on first two levels + +% Less space between TOC entries, discard the parskip. For that, we +% have to redefine \@starttoc, since no hook is available. +\let\tds_orig_starttoc=\@starttoc +\def\@starttoc#1{% + \begingroup + \parskip\z@skip + \tds_orig_starttoc{#1}% + \endgroup + } + +% Section TOC entries in sans serif, and less space above. The code +% below is copied from the article view on classes.dtx, I have changed +% space and font. But let's first assure that we shouldn't use a newer +% version of this code. +\CheckCommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} +\def\l@section#1#2{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{.75ex \@plus\p@ \@minus\p@}% % was: 1em plus 1pt + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ + \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \sffamily % was: \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak \hfil \nobreak \hbox to\@pnumwidth{\hss #2}% + \par + \endgroup + \fi} + + +% Not so spacey a title, please. + +\def\@maketitle{% + \null + \kern-90pt \relax \kern0pt + \begin{center}% + {\LARGE \@title \par}% + %\vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large version \the\tdsVersion \quad \@date}% + \end{center}% + \par + \vskip 1.5em} + + +% Make labels in the description environment come out in the +% requested type rather than bold. + +\def\descriptionlabel#1{\hspace\labelsep #1} + + +% Headline & footline + +\pagestyle{fancy} + +\lhead{} +\chead{% + \ifTdsDraft draft \fi % <-- space! + TDS version \the\tdsVersion + } +\rhead{} +\renewcommand{\headrulewidth}{0.4pt} + +\lfoot{} +\cfoot{\thepage} +\rfoot{} +\renewcommand{\footrulewidth}{0pt} + + + +%%% ============================================================ + +\catcode`\_=\CatUsCode + +\endinput + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% $Log: tdsguide.cls,v $ +% Revision 1.19 2004/03/28 14:21:10 karl +% (\tdsSummary): \let\obeylines=\relax after we set +% it, so url.sty v3.0's usage of \obeylines does not +% cause errors. +% +% Revision 1.18 1998/01/26 21:26:10 karl +% (\TeXinfo): Remove unused and incorrect name. +% (\parsep): Decrease slightly. +% (\l@section): Decrease section spacing for toc slightly. +% (\@maketitle): Remove word `draft'. +% +% Revision 1.17 1997/02/07 20:47:16 karl +% Fix : in tdsSummary, more doc. +% +% Revision 1.16 1996/11/16 14:23:58 karl +% fancyhdr requires different commands. +% +% Revision 1.13 1995/11/21 18:57:35 schrod +% Add description-squeeze environment. +% +% Revision 1.12 1995/11/14 18:33:18 schrod +% Drop draft hint in legalnotice environment, make title more +% squeezed. Changes by Karl, to make title & toc fit on one page. +% +% Revision 1.11 1995/11/14 12:36:54 schrod +% Use url.sty instead of path.sty. (On request of Karl, better input +% syntax and different line breaks [0.103].) +% Rename environment explicate to ttdisplay. (Proposal of Karl.) +% +% Revision 1.10 1995/11/11 16:29:01 schrod +% Identify version of class in log file. +% Change layout of table of contents. Implementation of a discussion +% between Karl Berry and myself. +% +% Revision 1.9 1995/11/11 15:43:34 schrod +% Replace alltt environment by explicate environment. Change +% requested by Karl at 09 Nov 95. +% +% Revision 1.8 1995/11/02 10:52:29 schrod +% Add option nomflogo, mflogo is default now. +% Don't need provision for slanted typewriter type any more, +% replacable texts are set in italics now. +% Add logos \texmf and \CTAN:. [kb] +% Set margins in addition to \textwidth. It's a bit wider, too. [kb] +% Wider distance between item label and item text. [kb] +% New environment itemize-squeeze, without space between items. [kb] +% +% Revision 1.7 1995/05/18 09:06:39 schrod +% Don't parse arguments unnecessarily early, one might change +% catcodes in them. +% Use \tds_tt to switch to typewriter, also typesets backslashs and +% underscores [kb]. +% Increase width to 33pc [kb]. +% +% Revision 1.6 1995/05/12 23:19:07 schrod +% \f@size may be a fraction, so use dimension register to compute +% the reduced size for abbreviations [dc]. +% In summary tables, terminate the directory names with slashes [kb, nw]. +% +% Revision 1.5 1995/05/09 01:46:24 schrod +% Typeset abbreviation one point smaller than surrounding font [uv, +% kb, bb], use always uppercase letters for them. Rename the tag from +% \acronym to \abbr [kb, nw]. +% +% Revision 1.4 1995/05/09 00:39:57 schrod +% Repair vertical spacing around tdsSummary environment. +% +% Revision 1.3 1995/05/08 17:14:52 schrod +% For TDS 0.72 Norm changed the document to use \abbr (argument with +% lowercase letters) instead of \acronym. It's not looking better, of +% course; small caps is not really a good font for abbreviations. This +% revision just tracks his change, I'll look later if I can improve the +% rendering. +% +% Revision 1.2 1995/05/07 18:22:53 schrod +% In environment tdsSummary: Next directory level indented by one +% quad, without dots for indentation [kb, !uv, js]. +% Renamed Draft flag to TdsDraft, to keep namespace clean. +% Headline now features a centered short title [kb, uv, nw]. It's +% still ruled. +% \replaceable used spurious \selectfont [uv]. \dir & \ext are not +% used [uv]. +% Subsubsections are also numbered and not indented [uv]. But they +% are still not added to the table of contents. Actually, we have only +% _one_ subsubsection... +% Set erroneously counter `secnumdepth' when I wanted fewer section +% headings in the table of contents. That's controlled by counter +% `tocdepth' [uv]. +% Inherit tdsguide from article class, not from ltxguide. The tags +% of the latter class are not appropriate and we define our layout +% ourselves. +% + +% +% pre-CVS Log: +% +% 19 Apr 95 js Made a LaTeX2e class. +% Use mflogo option to select MF/MP logo typesetting, +% support configuration file. +% 1994-1995 nw Initial revision. + + + +%%%------------------------------------------------------------ + +% mode: LaTeX +% Local Variables: +% TeX-brace-indent-level: 4 +% indent-tabs-mode: t +% TeX-auto-untabify: nil +% TeX-auto-regexp-list: LaTeX-auto-regexp-list +% page-delimiter: "^%%%" +% End: diff --git a/macros/latex/contrib/abspos/LICENSE b/macros/latex/contrib/abspos/LICENSE new file mode 100644 index 0000000000..70e7d55dd6 --- /dev/null +++ b/macros/latex/contrib/abspos/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021–2022 Magnus Lie Hetland + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/abspos/README.md b/macros/latex/contrib/abspos/README.md new file mode 100644 index 0000000000..419cf0bf4a --- /dev/null +++ b/macros/latex/contrib/abspos/README.md @@ -0,0 +1,10 @@ +The **abspos** package lets you place contents at an absolute position, anchored +at some specified part of the content, similar to how **tikz** nodes work, +though without using the two-pass strategy of **tikz**. It also avoids messing +with the order of **beamer** overlays, which is what happens when one uses the +**textpos** package with the **overlay** option. The solution used is quite +straightforward, combining *coffins* (using **l3coffins**) with the placement +mechanisms of **atbegshi**. + +The package is written by [Magnus Lie Hetland](mailto:mlh@ntnu.no) and released +under the [MIT license](LICENSE). diff --git a/macros/latex/contrib/abspos/abspos.dtx b/macros/latex/contrib/abspos/abspos.dtx new file mode 100644 index 0000000000..58cb1b820a --- /dev/null +++ b/macros/latex/contrib/abspos/abspos.dtx @@ -0,0 +1,598 @@ +% \iffalse +%<*driver> +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +\input docstrip % +\askforoverwritefalse +\preamble + +MIT License + +Copyright (c) 2021-2022 Magnus Lie Hetland + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +\endpreamble +% stop docstrip adding \endinput +\postamble +\endpostamble +\generate{\file{abspos.sty}{\from{abspos.dtx}{package}}} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +% +% +%<*driver|package> +\RequirePackage{expl3} +% +% +%<*driver> +\documentclass[full]{l3doc} +\usepackage{graphicx} +\usepackage[export]{adjustbox} +\usepackage{tcolorbox} +\tcbuselibrary{listings,skins} +\usepackage{xcoffins} +\usepackage{abspos} + +\lstdefinestyle{tcblatex}{language={[LaTeX]TeX}, + columns=fullflexible, + keepspaces=true, + breaklines=true, + breakatwhitespace=true, + basicstyle=\ttfamily\small\color{black!80}, + extendedchars=true, + nolol, + inputencoding=\kvtcb@listingencoding, + literate={~}{\textcolor{gray}{\raisebox{-.75ex}{\textasciitilde}}}{1}, + commentstyle=\color{gray}, +} + +\DeclareTCBInputListing \Example { m } { + listing only, + listing file=demo#1, + tile, + finish={ + \draw (frame.north west) + (-\marginparsep,0pt) + node[line width=0pt, inner sep=0pt, anchor=north east] + {\includegraphics[page=#1, frame, width=\marginparwidth]{demo}} + ; + } +} + +\ExplSyntaxOn +\cs_set:Npn \__codedoc_macro_end_style:n #1 {} +\ExplSyntaxOff + +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% +%<*package> +\ProvidesExplPackage {abspos} {2022-09-22} {0.1} + {Absolute placement with coffins} +% +% \fi +% +% \title{The \pkg{abspos} package\\ Absolute placement with coffins} +% \author{Magnus Lie Hetland} +% +% \maketitle +% +% \begin{documentation} +% +% \noindent +% The \pkg{abspos} package lets you place contents at an absolute position, +% anchored at some specified part of the content, similar to how \pkg{tikz} +% nodes work, though without using the two-pass strategy of \pkg{tikz}. It also +% avoids messing with the order of \pkg{beamer} overlays, which is what happens +% when one uses the \pkg{textpos} package with the \pkg{overlay} +% option.\footnote{Another possible solution is to use the \pkg{pst-abspos} +% package, which relies on \pkg{pstricks}.} The solution used is quite +% straightforward, combining \emph{coffins} (using \pkg{l3coffins}) with the +% placement mechanisms of \pkg{atbegshi}. +% +% The main command of the package is |\absput|, which is somewhat similar to the +% |\put| command of the \LaTeX\@ |picture| environment. +% By default, it places its contents in the middle of the page, so +% |\absput{Hello}| will put the word ``Hello'' front and center. Variations +% are then possible using an optional argument consisting of keys and key--value +% pairs, as shown in the following. +% +% \Example{1} +% +% \noindent +% Supplying a |width| creates a vertical box. If the surrounding text is set, +% for example, using \cs{raggedright} (as is common in \pkg{beamer}), the +% contents of the \cs{absput} command will be, too. So if you want your text +% justified, you can use something like the \cs{justifying} command from +% \pkg{ragged2e}. +% +% \Example{2} +% +% \noindent +% The options can also be set globally (or within a group) using +% \cs{absposset}. For example, if you with to scale everything you place by a +% certain amount, you could do that as in the following. +% +% \Example{3} +% +% \noindent +% By default, the contents are placed \emph{in front} of the current page, but +% this can be modified by supplying your own ``page coffin'' (an \pkg{l3coffins} +% or \pkg{xcoffins} coffin) and typesetting that with, e.g., \pkg{atbegshi}. If, +% for example, you wish to place something in the background of every slide of a +% \pkg{beamer} presentation, you could do that by adding the following to the +% preamble.\footnote{Note that because it will end up behind even the slide +% itself, you need to remove the background color, by setting |bg| to nothing, +% as in the example code. If you want it behind the content, but still have a +% background color, you would need to add that yourself, with a colored box or +% filled \pkg{tikz} rectangle, possibly also using the \cs{absput} command.} +% +% ^^A Can't use tcblisting, because it uses \lstinputlisting, which doesn't +% ^^A respect `gobble` +% \begin{tcolorbox}[tile] +% \begin{lstlisting}[gobble=2, style=tcblatex] +% \setbeamercolor{background canvas}{bg=} % So the coffin isn't obscured +% +% \NewCoffin \MyPageCoffin +% \AtBeginShipout{ +% \AtBeginShipoutUpperLeft{ +% \TypesetCoffin \MyPageCoffin [t,l] (0pt,0pt) +% } +% } +% \end{lstlisting} +% \end{tcolorbox} +% +% \noindent +% Now simply add a \cs{absput} command at the beginning of the document, before +% your first |frame| (after |\begin{document}|), using |pg=\MyPageCoffin| to +% specify which coffin to use for rendering and positioning contents. This gives +% you a coordinate system starting at the top left corner of the page. If you +% wish to anchor your positioned elements elsewhere, you'll need to resize your +% page coffin (see p.~\pageref{p:reset}). +% +% \section*{Reference} +% +% \begin{function}{\absposset} +% \begin{syntax} +% \cs{absposset} \marg{options} +% \end{syntax} +% Sets the options, as described under \cs{absput}, to the value they should +% have within the current group (or globally, if not inside a group). +% \end{function} +% +% \begin{function}{\absput} +% \begin{syntax} +% \cs{absput} \oarg{options} \marg{contents} +% \end{syntax} +% Places \meta{contents} at some position (possibly scaled or rotated) as +% dictated by the optional \meta{options}, supplied as keys and key--value +% pairs. The \emph{defaults} are used as values if only the keys are given, and +% the \emph{initial values} are used if the options are not specified. The +% available options are as follows. +% \end{function} +% \begin{itemize} +% +% \item |angle=|\meta{angle}: The angle to which the coffin is rotated +% before being positioned. +% +% No default. Initial value |0|. +% +% \item |h=|\meta{h-anchor}: The horizontal anchor to use for positioning. +% This corresponds to a \pkg{l3coffins} (or \pkg{xcoffins}) \emph{pole}. The +% available anchors are |l| for left, |hc| for center and |r| for right. +% These are also available as separate valueless keys, so if you supply +% \cs{absput} with the key |l|, that is equivalent to using |h=l|, etc. +% +% There are also two-letter shortcuts defined for setting the horizontal and +% vertical anchors simultaneously, with the vertical one first. For example, +% |tl| is equivalent to |v=t,h=l|. In these double shortcuts, the prefixes +% |h| and |v| have been stripped from the center anchors, so that bottom +% center is |bc|, for example, and not |bhc|. +% +% No default. Initial value |hc|, which centers the coffin horizontally at +% \meta{x-coord}. +% +% \item |pg=|\meta{page-coffin}: Supplies the coffin to use as the +% page, or ``canvas,'' for placing the contents. +% +% No default. The initial value is an internal canvas that is rendered in +% front of the current page (on shipout), and then cleared. +% +% \item |pg-h|=\meta{page-h-anchor}: Similar to |h|, except that it applies +% to the canvas (set by |pg|). Shortcuts (like |pg-l| for |pg-h=l|) are +% defined for the default anchors (|l|, |hc|, |r|). +% +% Double shortcuts are defined for |pg-h| and |pg-v| in a similar manner to +% those defined for |h| and |v|, so that |pg-tl| is equivalent to +% |pg-v=t,pg-h=l|. +% +% No default. Initial value |hc|. +% +% \item |pg-v|=\meta{page-v-anchor}: Similar to |v|, except that it applies +% to the canvas (set by |pg|). Shortcuts (like |pg-t| for |pg-v=t|) are +% defined for the default anchors (|t|, |vc|, |b|, |T|, |B|, |H|). +% +% Combined shortcuts such as |pg-tl| and |pg-br|, etc., are also defined. +% See the descriptions of |h| and |pg-h| for more. +% +% No default. Initial value |vc|. +% +% \item |scale=|\meta{scale}: The factor by which the coffin is scaled. +% +% No default. If |scale| is not used, no scaling is performed. +% +% \item |v=|\meta{v-anchor}: The vertical anchor to use for positioning (see +% |h|). The available anchors are |t| for top, |vc| for center, |b| for +% bottom and |H| for baseline. These are also available as separate +% valueless keys, so if you supply \cs{absput} with the key |t|, that is +% equivalent to using |v=t|, etc. +% +% Note that if the |width| key is set, a vertial coffin is used, which makes +% the additional anchors (or poles) |T| (baseline of the first line, or +% other material at the top) and |B| (baseline for the last line, or other +% material at the bottom). +% +% Combined shortcuts such as |tl| and |br|, etc., are also defined. See the +% description of |h| for more. +% +% No default. Initial value |vc|, which centers the coffin vertically at +% \meta{y-coord}. +% +% \item |width=|\meta{width}: Set the width constraining the contents, +% before scaling. If this is set, the contents are set in vertical mode; +% otherwise, they are set in horizontal mode. +% +% No default and no initial value. +% +% \item |x=|\meta{x-coord}: The $x$ coordinate, measured from the current +% horizontal page anchor, set by |pg-h|. +% +% No default. Initial value |0pt|. +% +% \item |y=|\meta{y-coord}: The $y$ coordinate, measured from the current +% vertical page anchor, set by |pg-v|. +% +% No default. Initial value |0pt|. +% \end{itemize} +% +% \begin{function}{\absputcoffin} +% \begin{syntax} +% \cs{absputcoffin} \oarg{options} \meta{coffin} +% \end{syntax} +% Places \meta{coffin} at some position (possibly scaled or rotated), just like +% \cs{absput}. The difference is that a coffin is provided directly, rather than +% constructed by typesetting some supplied contents. This means that the |width| +% key is not used, though it is permitted for consistency (and ease of reusing +% option lists). +% \end{function} +% +% \end{documentation} +% +% \begin{implementation} +% +% \section*{Implementation} +% +% \begin{macrocode} +%<*package> +%<@@=apos> +% \end{macrocode} +% +% \noindent +% First, we need to import the necessary packages. We're using \pkg{expl3} to +% set up the package, so we get \pkg{l3coffins} for free (and cannot import it +% directly, anyway). If \pkg{abspos} is used with \pkg{beamer}, then +% \pkg{atbegshi} is already included. Elsewhere, though, it will not be, so we +% require it here. +% +% \begin{macrocode} +\RequirePackage{atbegshi} +% \end{macrocode} +% +% \noindent +% We make sure we have the variants we need of some existing commands: +% +% \begin{macrocode} +\cs_generate_variant:Nn \tl_if_novalue:nTF { VTF } +\cs_generate_variant:Nn \tl_if_novalue:nF { VF } +\cs_generate_variant:Nn \coffin_gattach:NnnNnnnn { NooNoonn } +% \end{macrocode} +% +% \begin{variable}{\g_apos_shipout_coffin} +% +% This variable is normally used to store the contents to be placed on the +% current page. It accumulates the contents from every call to \cs{absput} until +% the page is about to be typeset (shipped out), at which point +% \cs{g_apos_shipout_coffin} is typeset in front. +% +% \begin{macrocode} +\coffin_new:N \g_apos_shipout_coffin +% \end{macrocode} +% \end{variable} +% +% \begin{macro}{\apos_reset_shipout_coffin:}\label{p:reset} +% Used to initialize, and later reinitialize, the shipout coffin, to simply be +% an empty coffin with the width and height of the current page. +% \begin{macrocode} +\cs_new:Npn \apos_reset_shipout_coffin: { + \hcoffin_gset:Nn \g_apos_shipout_coffin { + \phantom{\rule{\paperwidth}{\paperheight}} + } +} +% \end{macrocode} +% \end{macro} +% +% \noindent +% The following hook ensures that that \cs{g_apos_shipout_coffin} is typeset in +% front of the page as it is being shipped out (anchored top left), and then +% cleared, ready to accumulate contents for the next page. The \pkg{atbegshi} +% command used wraps its contents in a |picture| environment, which we don't +% really need, but it seems to be more trouble than it's worth to get rid of it. +% +% \begin{macrocode} +\apos_reset_shipout_coffin: +\AtBeginShipout{ + \AtBeginShipoutUpperLeftForeground{ + \coffin_typeset:Nnnnn \g_apos_shipout_coffin {t} {l} {0pt} {0pt} + \apos_reset_shipout_coffin: + } +} +% \end{macrocode} +% +% \begin{variable}{\g_apos_canvas_coffin} +% +% This variable is used as part of the |pg| key, and is initially set equal to +% \cs{g_apos_shipout_coffin}, so that whatever is rendered to the canvas (i.e., +% \cs{g_apos_canvas_coffin}) is placed on top of the page contents on shipout, +% and then cleared. If a different behavior is desired, another coffin can can +% be supplied instead. Rather than constructing a coffin, we just set up a token +% list, which initially will be aliased to the actual coffin +% \cs{g_apos_shipout_coffin} as part of the key handling. +% \begin{macrocode} +\tl_new:N \g_apos_canvas_coffin +% \end{macrocode} +% \end{variable} +% \begin{macro}{\apos_reset_overlay:} +% This is a utility to reset \pkg{beamer} overlay specifications at the end of +% our coffin contents. The idea is that if we use, say, \cs{pause} inside +% \cs{absput}, then everything after the \cs{pause} command will be paused, +% including material \emph{outside} \cs{absput}. To restrict such commands to the +% contents provided to \cs{absput}, we use \cs{onslide<1->} after typesetting the +% contents in our coffin. This is only useful (or possible) when using +% \pkg{beamer}, so otherwise, we just alias \cs{ap_reset_overlay:} to +% \cs{relax}, i.e., don't do anything. +% \begin{macrocode} +\tl_new:N \apos_reset_overlay: +\@ifclassloaded{beamer} + { \tl_gset:Nn \apos_reset_overlay: { \onslide<1-> } } + { \tl_gset_eq:NN \apos_reset_overlay: \relax } +% \end{macrocode} +% \end{macro} +% +% \noindent +% We now define the various keys used to configure \cs{absput}, as described +% in the reference. +% +% \begin{macrocode} +\keys_define:nn { abspos } { + + angle .tl_set:N = \l_apos_angle_tl, + angle .initial:V = \c_novalue_tl, + angle .value_required:n = true, + + h .tl_set:N = \l_apos_hanchor_tl, + h .initial:n = hc, + h .value_required:n = true, + + pg .code:n = { \tl_set_eq:NN \g_apos_canvas_coffin #1 }, + pg .initial:n = \g_apos_shipout_coffin, + pg .value_required:n = true, + + pg-h .tl_set:N = \l_apos_on_hanchor_tl, + pg-h .initial:n = hc, + pg-h .value_required:n = true, + + pg-v .tl_set:N = \l_apos_on_vanchor_tl, + pg-v .initial:n = vc, + pg-v .value_required:n = true, + + scale .tl_set:N = \l_apos_scale_tl, + scale .initial:V = \c_novalue_tl, + scale .value_required:n = true, + + v .tl_set:N = \l_apos_vanchor_tl, + v .initial:n = vc, + v .value_required:n = true, + + width .tl_set:N = \l_apos_width_tl, + width .initial:V = \c_novalue_tl, + width .value_required:n = true, + + x .tl_set:N = \l_apos_x_tl, + x .initial:n = { 0pt }, + x .value_required:n = true, + + y .tl_set:N = \l_apos_y_tl, + y .initial:n = { 0pt }, + y .value_required:n = true, + +} + +\clist_const:Nn \@@_hanchors_clist {l,hc,r} +\clist_const:Nn \@@_vanchors_clist {t,vc,b,H,T,B} + +\cs_new:Npn \@@_define_shortcuts:nnn #1 #2 #3 { + \keys_define:nn { abspos } { + + #1 .meta:n = { #2 }, + #1 .value_forbidden:n = true, + + pg-#1 .meta:n = { #3 }, + pg-#1 .value_forbidden:n = true, + + } +} + +\cs_generate_variant:Nn \@@_define_shortcuts:nnn { Vnn } + +\clist_map_inline:Nn \@@_hanchors_clist { + + \@@_define_shortcuts:nnn { #1 } { h = #1 } { pg-h = #1 } + +} + +\clist_map_inline:Nn \@@_vanchors_clist { + + \@@_define_shortcuts:nnn { #1 } { v = #1 } { pg-v = #1 } + +} + +\clist_map_inline:Nn \@@_vanchors_clist { + \clist_map_inline:Nn \@@_hanchors_clist { + + \tl_clear:N \g_tmpa_tl + + \tl_if_eq:nnTF { #1 } { vc } + { \tl_put_right:Nn \g_tmpa_tl { c } } + { \tl_put_right:Nn \g_tmpa_tl { #1 } } + + \tl_if_eq:nnTF { ##1 } { hc } + { \tl_put_right:Nn \g_tmpa_tl { c } } + { \tl_put_right:Nn \g_tmpa_tl { ##1 } } + + \@@_define_shortcuts:Vnn + \g_tmpa_tl { v = #1, h = ##1 } { pg-v = #1, pg-h = ##1 } + + } +} +% \end{macrocode} +% In order to let the user set options outside the actual use of \cs{absput} and +% \cs{absputcoffin}, we introduce a wrapper: +% \begin{macrocode} +\NewDocumentCommand \absposset { +m } { + \keys_set:nn { abspos } { #1 } +} +% \end{macrocode} +% +% \begin{macro}{\absput} +% This is the main command of the package. It takes a key--value list as its +% first optional argument, followed by the contents that are to be placed. +% \begin{macrocode} +\NewDocumentCommand \absput { +O{ } +m } { + \group_begin: +% \end{macrocode} +% First we handle the keys, updating variables holding coordinates, etc. +% \begin{macrocode} + \keys_set:nn { abspos } { #1 } +% \end{macrocode} +% Then the contents are typeset, with some additions, into a temporary coffin. +% The additions are that whitespace is stripped around the contents, and that we +% reset any overlay counters (in case they are modified by \cs{onslide} or +% \cs{pause}, or the like). If we're not using \pkg{beamer}, this last part is a +% no-op. +% +% If |width| has been set, the contents is set in vertical mode (using the given +% width); otherwise, it is set in horizontal mode. +% \begin{macrocode} + \tl_set:Nn \l_tmpa_tl { + \ignorespaces #2 \unskip + \apos_reset_overlay: + } + \tl_if_novalue:VTF \l_apos_width_tl { + \hcoffin_set:Nn \l_tmpa_coffin \l_tmpa_tl + } { + \vcoffin_set:Nnn \l_tmpa_coffin \l_apos_width_tl \l_tmpa_tl + } +% \end{macrocode} +% Finally, actually place the typeset coffin on the canvas coffin. +% \begin{macrocode} + \@@_absput_coffin:N \l_tmpa_coffin + \group_end: +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\absputcoffin} +% A thin wrapper around the internal \cs{@@_absput_coffin:N}. The only extra +% work done here is setting the keys. +% \begin{macrocode} +\NewDocumentCommand \absputcoffin { +O{ } m } { + \group_begin: + \keys_set:nn { abspos } { #1 } + \@@_absput_coffin:N #2 + \group_end: +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_absput_coffin:N} +% An internal macro for placing a given coffin, using the options currently in +% effect (i.e., as configured by \cs{keys_set:nn} in some outer group). Used by +% \cs{absput} and \cs{absputcoffin}. +% \begin{macrocode} +\cs_new:Npn \@@_absput_coffin:N #1 { +% \end{macrocode} +% If a scale has been provided, we scale the temporary coffin (with the same +% factor in both directions). +% \begin{macrocode} + \tl_if_novalue:VF \l_apos_scale_tl { + \coffin_scale:Nnn #1 \l_apos_scale_tl \l_apos_scale_tl + } +% \end{macrocode} +% If an angle has been provided, we rotate the temporary coffin. +% \begin{macrocode} + \tl_if_novalue:VF \l_apos_angle_tl { + \coffin_rotate:Nn #1 \l_apos_angle_tl + } +% \end{macrocode} +% We now join the temporary coffin to our canvas coffin, so it will be rendered +% at the correct position at shipout. +% \begin{macrocode} + \coffin_gattach:NooNoonn + \g_apos_canvas_coffin + {\l_apos_on_hanchor_tl} {\l_apos_on_vanchor_tl} + #1 + {\l_apos_hanchor_tl} {\l_apos_vanchor_tl} + {\l_apos_x_tl} {\l_apos_y_tl} +% \end{macrocode} +% +% \noindent +% Ideally, what we just did should have been enough. However, until +% October~2021, the \cs{coffin_gattach:} command was not actually +% global,\footnote{\url{https://tex.stackexchange.com/questions/618198}} so +% to have our modification take effect outside the current group also for older +% versions of \pkg{l3coffins}, we perform a final (normally redundant) global +% self-assignment before ending the \cs{absput} command. +% +% \begin{macrocode} + \coffin_gset_eq:NN \g_apos_canvas_coffin \g_apos_canvas_coffin +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +% +% \end{macrocode} +% +% \end{implementation} diff --git a/macros/latex/contrib/abspos/abspos.pdf b/macros/latex/contrib/abspos/abspos.pdf new file mode 100644 index 0000000000..a6514d8370 Binary files /dev/null and b/macros/latex/contrib/abspos/abspos.pdf differ diff --git a/macros/latex/contrib/abspos/demo.tex b/macros/latex/contrib/abspos/demo.tex new file mode 100644 index 0000000000..ba2b7ab867 --- /dev/null +++ b/macros/latex/contrib/abspos/demo.tex @@ -0,0 +1,67 @@ +\documentclass{beamer} +\usefonttheme{serif} +\beamertemplatenavigationsymbolsempty + +\usepackage{xcoffins} +\usepackage{abspos} +\usepackage{ragged2e} +\usepackage{lipsum} +\usepackage{tikz} +\usepackage{newfile} + +\newoutputstream{io} + +\ExplSyntaxOn + +\cs_generate_variant:Nn \tl_replace_all:Nnn { Nxx } + +\NewDocumentCommand \ExampleFrame { m +v } { + + \tl_set:Nn \l_tmpa_tl {#2} + \tl_replace_all:Nxx \l_tmpa_tl { \iow_char:N \^^M } { \iow_char:N \^^J } + \regex_replace_once:nnN { ^\v* } { } \l_tmpa_tl + + \openoutputfile{demo#1.tex}{io} + \addtostream{io}{\l_tmpa_tl} + \closeoutputstream{io} + + \frame{\input{demo#1}} + +} + +\ExplSyntaxOff + +\begin{document} + +\ExampleFrame{1}{ +% In preamble: +% \usepackage{tikz} +\absput{\tikz{ + \draw[line width=8pt, lightgray] circle[radius=3.25]; +}} +\absput[angle=10, scale=5]{Hello!} +\absput[pg-b, y=.5cm]{\thepage} +} + +\ExampleFrame{2}{ +% In preamble: +% \usepackage{ragged2e} +% \usepackage{lipsum} +\absput[width=8cm]{ + \justifying + \lipsum[1][1-5] % Example text +} +} + +\ExampleFrame{3}{ +\absposset{scale=5} +\absput{Scaled!} +} + +\begin{frame} +\NewCoffin \MyCoffin +\SetHorizontalCoffin \MyCoffin {My Coffin} +\absputcoffin[scale=2] \MyCoffin +\end{frame} + +\end{document} diff --git a/macros/latex/contrib/blowup/blowup-ex1.pdf b/macros/latex/contrib/blowup/blowup-ex1.pdf index d67653e490..6f1af02858 100644 Binary files a/macros/latex/contrib/blowup/blowup-ex1.pdf and b/macros/latex/contrib/blowup/blowup-ex1.pdf differ diff --git a/macros/latex/contrib/blowup/blowup-ex2.pdf b/macros/latex/contrib/blowup/blowup-ex2.pdf index 5ee25768e0..88ca3eeef6 100644 Binary files a/macros/latex/contrib/blowup/blowup-ex2.pdf and b/macros/latex/contrib/blowup/blowup-ex2.pdf differ diff --git a/macros/latex/contrib/blowup/blowup-ex3.pdf b/macros/latex/contrib/blowup/blowup-ex3.pdf index 53404b97d9..d8bae71cf9 100644 Binary files a/macros/latex/contrib/blowup/blowup-ex3.pdf and b/macros/latex/contrib/blowup/blowup-ex3.pdf differ diff --git a/macros/latex/contrib/blowup/blowup-ex4.pdf b/macros/latex/contrib/blowup/blowup-ex4.pdf index 5d0816e9a4..fd00e54ac1 100644 Binary files a/macros/latex/contrib/blowup/blowup-ex4.pdf and b/macros/latex/contrib/blowup/blowup-ex4.pdf differ diff --git a/macros/latex/contrib/blowup/blowup-ex5.pdf b/macros/latex/contrib/blowup/blowup-ex5.pdf index f41f2eb1d2..f95c24b056 100644 Binary files a/macros/latex/contrib/blowup/blowup-ex5.pdf and b/macros/latex/contrib/blowup/blowup-ex5.pdf differ diff --git a/macros/latex/contrib/blowup/blowup-ex6.pdf b/macros/latex/contrib/blowup/blowup-ex6.pdf new file mode 100644 index 0000000000..e03fb322a5 Binary files /dev/null and b/macros/latex/contrib/blowup/blowup-ex6.pdf differ diff --git a/macros/latex/contrib/blowup/blowup-ex6.tex b/macros/latex/contrib/blowup/blowup-ex6.tex new file mode 100644 index 0000000000..4128a48b36 --- /dev/null +++ b/macros/latex/contrib/blowup/blowup-ex6.tex @@ -0,0 +1,59 @@ +% Rolf Niepraschk, 2020-09-19 +% +% Translate to pdf with any TeX compiler and check the page size with +% +% pdfinfo filename.pdf +% +% or via the properties menu of the pdf viewer +% +\listfiles +\documentclass[a4paper,twoside]{article} +\usepackage{array,xcolor} + +% Just to show the page size of the source. +\usepackage{xcolor,atbegshi} +\AtBeginShipout{% + \AtBeginShipoutUpperLeft{% + \textcolor{green!30}{\rule[-\paperheight]{\paperwidth}{\paperheight}}% + }% +} + +\renewcommand\familydefault{\sfdefault} +\setlength\parindent{0pt} +\pagestyle{empty} + +\usepackage{blowup} +\blowUp{h-mirroring,v-mirroring}% vertical and horizontal mirrored + +\begin{document} + +\null\vfill + +\huge\centering + +A4-sized document not resized, mirrored vertically and horizontally + +\vfill + +\setlength\extrarowheight{.5ex} +\begin{tabular}{|>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}|} \hline + letter & 216 & 279 \\ + legal & 216 & 356 \\ + executive & 184 & 267 \\ + A8 & 52 & 74 \\ + A7 & 74 & 105 \\ + A6 & 105 & 148 \\ + A5 & 148 & 210 \\ + A4 & 210 & 297 \\ + A3 & 297 & 420 \\ + A2 & 420 & 594 \\ + A1 & 594 & 841 \\ + A0 & 841 & 1189 \\ \hline +\end{tabular} + +\vfill + +\newpage\null 2nd page\dots + +\end{document} +%--------------------------- diff --git a/macros/latex/contrib/blowup/blowup.dtx b/macros/latex/contrib/blowup/blowup.dtx index 374f2878de..3385861926 100644 --- a/macros/latex/contrib/blowup/blowup.dtx +++ b/macros/latex/contrib/blowup/blowup.dtx @@ -24,7 +24,7 @@ \ProvidesFile{blowup.dtx} % %\NeedsTeXFormat{LaTeX2e}[2020/10/01] -%\ProvidesPackage{blowup}[2022/09/19 2.0.0 Page scaling (RN)] +%\ProvidesPackage{blowup}[2022/09/22 2.1.0 Page scaling (RN)] % %<*driver> \documentclass{ltxdoc} @@ -43,7 +43,7 @@ % % \fi % -% \CheckSum{510} +% \CheckSum{546} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -105,20 +105,26 @@ % (e.\,g., |a8|, |c7|,..., |b1|, |a0|) or a pair of dimensions % in curly brackets (e.\,g., |target={925mm,1225mm}|) or the % letter `x' followed by a scaling factor -% (e.\,g., |target=x1.414213|). \tabularnewline[.4\baselineskip] +% (e.\,g., |target=x1.414213|). \tabularnewline[.75ex] % origin & Scaled size of the source document: \tabularnewline % & |letter|, |legal|, |executive| or a paper size from the % ISO/DIN paper series A, B, C, D % (e.\,g., |a8|, |c7|,..., |b1|, |a0|) or a pair of dimensions % in curly brackets (e.\,g., |origin={925mm,1225mm}|) or the % letter `x' followed by a scaling factor -% (e.\,g., |origin=x1.414213|). \tabularnewline[.4\baselineskip] +% (e.\,g., |origin=x1.414213|). \tabularnewline[.75ex] +% h-mirroring & horizontally mirroring of the final pages \tabularnewline +% & |true| (the same as no value) or |false| (default: |false|). +% \tabularnewline[.75ex] +% v-mirroring & vertically mirroring of the final pages \tabularnewline +% & |true| (the same as no value) or |false| (default: |false|). +% \tabularnewline[.75ex] % landscape & Exchanges paperwidth and paperheight: \tabularnewline -% & |true| (the same as no value) or |false|. -% \tabularnewline[.4\baselineskip] +% & |true| (the same as no value) or |false| (default: |false|). +% \tabularnewline[.75ex] % noscale & No scaling of the original paper size: \tabularnewline -% & |true| (the same as no value) or |false|. -% \tabularnewline[.4\baselineskip] +% & |true| (the same as no value) or |false| (default: |false|). +% \tabularnewline[.75ex] % pos & Position of the page on the paper: \tabularnewline % & |left| or |right|, |inside| or |outside|, |top| or |bottom| % (only the first letter is significant; default is @@ -126,10 +132,12 @@ % a pair of dimensions in curly brackets which means the offset % from the lower left or lower outside corner of the final paper. % Only meaningful for |noscale=true| and up-scaled paper -% size. \tabularnewline[.4\baselineskip] -% onepage & Suppresses the second page and all following pages: \tabularnewline -% & |true| (the same as no value) or |false|. \tabularnewline -% & Useful for creating a one-side paper like a poster. +% size. \tabularnewline[.75ex] +% onepage & Suppresses the second page and all following pages: +% \tabularnewline +% & |true| (the same as no value) or |false| (default: |false|). +% \tabularnewline +% & Useful for creating a one-page document like a poster. % \end{longtable} % \vspace{0\baselineskip} % See also the example documents |blowup-ex?.tex|. @@ -216,6 +224,7 @@ % \begin{macro}{\BL@scalePage} % The whole scaling process of the the shipout box to the dimension of the % new paper size. +% \changes{2.1.0}{2022/09/22}{New options `h-mirroring' and `v-mirroring' (RN)} % \begin{macrocode} \newcommand*\BL@scalePage{% % \end{macrocode} @@ -244,6 +253,9 @@ \hb@xt@\tPaperWidth{\BL@l\BL@resize{\box\AtBeginShipoutBox}\BL@r}% \BL@b\kern\z@ }% + \ifBL@mirroring + \setbox\@tempboxa=\hbox{\scalebox{\BL@h}[\BL@v]{\box\@tempboxa}}% + \fi % \end{macrocode} % Denormalize the shipout box % \begin{macrocode} @@ -355,11 +367,20 @@ % % \begin{macrocode} \newif\ifBL@noscale \BL@noscalefalse +\newif\ifBL@mirroring \BL@mirroringfalse % \end{macrocode} % % \begin{macrocode} \define@key{BL@}{noscale}[true]{% - \csname BL@noscale#1\endcsname + \global\csname BL@noscale#1\endcsname +} +\define@key{BL@}{h-mirroring}[true]{% + \global\csname BL@mirroring#1\endcsname + \gdef\BL@h{-1}% +} +\define@key{BL@}{v-mirroring}[true]{% + \global\csname BL@mirroring#1\endcsname + \gdef\BL@v{-1}% } % \end{macrocode} % @@ -370,6 +391,8 @@ \newcommand*\BL@o{} \newcommand*\BL@t{} \newcommand*\BL@b{} +\newcommand*\BL@h{1} +\newcommand*\BL@v{1} % \end{macrocode} % % @@ -446,6 +469,8 @@ % The only user-level macro. % \begin{macrocode} \newcommand*\blowUp[1]{% + \global\tPaperWidth=\paperwidth + \global\tPaperHeight=\paperheight \setkeys{BL@}{#1}% \ifBL@landscape \@tempdima=\tPaperWidth diff --git a/macros/latex/contrib/blowup/blowup.pdf b/macros/latex/contrib/blowup/blowup.pdf index 03efefbc9c..38b26ab049 100644 Binary files a/macros/latex/contrib/blowup/blowup.pdf and b/macros/latex/contrib/blowup/blowup.pdf differ diff --git a/macros/latex/contrib/colorframed/README.md b/macros/latex/contrib/colorframed/README.md new file mode 100644 index 0000000000..59bc8c094b --- /dev/null +++ b/macros/latex/contrib/colorframed/README.md @@ -0,0 +1,55 @@ +% colorframed 0.9 +% Jean-François Burnol +% 2022/09/22 + +## Usage + +This is a LaTeX package. Use it with `\usepackage{colorframed}`. + +For reporting issues, use the +[repository](https://github.com/jfbu/colorframed) issue tracker. + +## Purpose + +The initial release `0.9` of `2022/09/22` fixes colour leak issues +which one encounters with the environments provided by the +[framed](https://ctan.org/pkg/framed) package. + +It is planned to extend `colorframed` with one more environment, +based upon [pict2e](https://ctan.org/pkg/pict2e), which will +provide breakable boxes with possibly rounded corners, optional +background colour, external or inset shadow, separate +customizability of the padding separations and border widths in +the four directions, ... + +## Copyright and License + +Copyright (c) 2022 Jean-François Burnol + +The colorframed [CTAN package](https://ctan.org/pkg/colorframed) +is distributed under the +[LPPL 1.3c](https://ctan.org/license/lppl1.3c). + +This Work may be distributed and/or modified under the conditions +of the LaTeX Project Public License version 1.3c. This version of +this license is in + +> + +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This Work has the LPPL maintenance status author-maintained. + +The Author of this Work is Jean-François Burnol + +This Work consists of the package files `colorframed.sty`, the +documentation source `colorframed-doc.tex` and its conversion +`colorframed-doc.pdf`, as well as this `README.md`. + + diff --git a/macros/latex/contrib/colorframed/colorframed-doc.pdf b/macros/latex/contrib/colorframed/colorframed-doc.pdf new file mode 100644 index 0000000000..16ee21cf33 Binary files /dev/null and b/macros/latex/contrib/colorframed/colorframed-doc.pdf differ diff --git a/macros/latex/contrib/colorframed/colorframed-doc.tex b/macros/latex/contrib/colorframed/colorframed-doc.tex new file mode 100644 index 0000000000..cc2b6fca39 --- /dev/null +++ b/macros/latex/contrib/colorframed/colorframed-doc.tex @@ -0,0 +1,238 @@ +\documentclass[a4paper,dvipdfmx,11pt]{article} +\usepackage[T1]{fontenc} +\usepackage{geometry} +\usepackage[straightquotes,ttzdefault]{newtxtt} +\usepackage{framed} +\usepackage[dvipsnames]{xcolor} +\usepackage{colorframed} +% we put this here but it does not have to be in preamble of +% course +% titled-frame +\colorlet{TFFrameColor}{teal!20} +\colorlet{TFTitleColor}{orange} +\def\colorframedTFconlabcolorcommand{\color{red}} +% shaded +\colorlet{shadecolor}{orange!20} +% framed +\FrameRule5pt\relax +\FrameSep9pt\relax +\def\colorframedbordercolorcommand{\color{red!20}} + +\title{The \colorframed package% +\vadjust{\vtop to 0pt{\hbox + to\linewidth{\strut\footnotesize Release 0.9 of + 2022/09/22\hss report issues at \url{https://github.com/jfbu/colorframed}}\vss}}% +} +\author{Jean-François Burnol} +\date{} +\usepackage{shortvrb}\MakeShortVerb\| +%\usepackage{url}\urlstyle{same} +\usepackage{hyperref} +\def\ctanpackage#1{\href{https://ctan.org/pkg/#1}{#1}} + +\usepackage{amssymb} + +\usepackage{parskip} +\usepackage{xspace} + +\definecolor{joli}{RGB}{225,95,0} +\definecolor{JOLI}{RGB}{225,95,0} +\newcommand\colorframed{% + \texorpdfstring{{\color{joli}\bfseries colorframed}}{colorframed}\xspace} + + +{\makeatletter\sbox0{\color{RawSienna}\xdef\foo{\current@color}}} + \edef\verbatimpushcolor{\special{color push \foo}} + \def\verbatimpopcolor{\special{color pop}} +\AddToHook{env/verbatim/before}{\verbatimpushcolor} +\AddToHook{env/verbatim/end}{\verbatimpopcolor} +\begin{document} +\maketitle + +\section{Description} + +This package fixes various colour leaks one encounters with +the environments from Donald Arseneau's package +\ctanpackage{framed}. Typically, colour leaks occur if using +|\color| inside the environments, or more subtly also when +using |\textcolor| with an argument ending up being split at a +page break. + +This latter type of colour leak (or colour disappearance) is the +more challenging one as the fix requires modifications or +replacements not only of some of the \ctanpackage{framed}.sty +macros (such as its |\CustomFBox|) but also to some \LaTeX2e +internals, as some environments of \ctanpackage{framed}.sty +rely on usage of |\fbox| or |\colorbox|. + +However, rather than overwriting such internal \LaTeX2e macros +as |\@frameb@x| or |\color@b@x|, the \ctanpackage{framed}.sty +environments are modified by \colorframed to make use of +custom replacements to |\fbox|, |\colorbox|, and +|\CustomFBox|. + +I am aware \ctanpackage{tcolorbox} package documentation explains at +least one colour issue which looks similar to those fixed +here in \ctanpackage{framed} context, and that the fix overthere uses +an extra colour stack, hence is not xelatex compatible +currently. + +The problems are solved here without involving an extra +colour stack, hence the fixes work also with xelatex. + +% The analysis and original workarounds for using framed.sty +% with colours were developed by me in some contributions I made +% to the Sphinx project (\url{https://github.com/sphinx-doc/sphinx}) +% and I am transferring here the general idea. + +% The key thing is that the boxes handled by framed.sty may +% contain isolated colour push or colour pop. We must make +% sure an isolated colour push, if followed by colour changes, +% is always followed by paired ones, and never by a colour pop +% from a colour command originated "prior". + +% TODO: transfer also the breakable box environment based on pict2e +% and allowing rounded corners and shadows developped overthere. + +\section{The environments from \ctanpackage{framed}} + +\begin{titled-frame}{A list of the environments from package \ctanpackage{framed}} + This indicates the boxing macros they are + based upon originally, and what this package does as replacement: + \begin{description} + \item[framed] (|\fbox|) The \colorframed variant uses own |\CustomFBox| rather. + + \item[oframed] (|\CustomFBox|) \colorframed replaces it with own version. + + \item[titled-frame] (|\CustomFbox|) Replaced by own version. + + \item[shaded] (|\colorbox|) Replaced by |\colorframedcolorbox|. + + \item[shaded*] (|\colorbox|) Idem. + + \item[snugshade] (|\colorbox|) Idem. + + \item[snugshade*] (|\colorbox|) Idem. + + \item[leftbar] This one does not use any boxing macro. + \end{description} +\end{titled-frame} + +\begin{shaded*} + We refer the reader to \ctanpackage{framed} documentation + and provide here only a few additional details, particularly + regarding the `titled-frame' environment as it is described + in \ctanpackage{framed} documentation more as being a + template than a user-level finalized environment. The above + box gives an example of its use. It is an environment with + one mandatory argument which provides the title of the + frame, which is repeated after a page break with |(cont)| + appended. The colours |TFFrameColor| and + |TFTitleColor| must be defined by user. To customize + further one will need to renew the environment definition, + which is left untouched by \colorframed (which modifies + rather |\TitleBarFrame| and |\CustomFBox|). Here is + how this environment is defined: +\begin{verbatim} +% A particular type of titled frame with continuation marks. +% Parameter #1 is the title, repeated on each page. +\newenvironment{titled-frame}[1]{% + \def\FrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame{\textbf{#1}}}% + \def\FirstFrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame[$\blacktriangleright$]{\textbf{#1}}}% + \def\MidFrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame[$\blacktriangleright$]{\textbf{#1\ (cont)}}}% + \def\LastFrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame{\textbf{#1\ (cont)}}}% + \MakeFramed{\advance\hsize-20pt \FrameRestore}}% +% note: 8 + 2 + 8 + 2 = 20. Don't use \width because the frame title +% could interfere with the width measurement. + {\endMakeFramed} +\end{verbatim} +% pas de \footnote dans les environnements de framed... +\begin{footnotesize}\normalcolor +As a side note, this `titled-frame' environment was partly +broken in recent \LaTeX\ which has modified how |\smash| +behaves; \colorframed fixes it in passing.\par +\end{footnotesize} +\end{shaded*} +% jeudi 22 septembre 2022 à 14:37:08 +% Il se passe des choses très bizarres avec snugshade* ou +% framed en premier après un \item qui me semblent être des +% bugs de framed. Dans Sphinx, je n'ai pas eu ces problèmes, +% au contraire je suis sûr que ça fonctionne avec les +% environnements que j'y ai définis reposant sur framed (et un +% \trivlist en général), j'ai testé plusieurs fois. +% Ce n'est pas induit par colorframed j'ai vérifié sans lui. +%\begin{enumerate} +%\item\relax% {\footnotesize Now testing the `snugshade*' environment.} +\begin{snugshade*}\textcolor{ForestGreen}{% using textcolor to + % avoid extra vspace from \color + One does not need to dive into the details of the macros + used above to understand intuitively how they are supposed + to influence the final output. To modify this output, + simply redefine this environment with suitable changes. + Notice in particular that \expandafter|\string\blacktriangleright| requires to + the best of my knowledge loading of \ctanpackage{amssymb} or + other math symbols package and it is up to user to do it, if + its usage is kept.} +%\end{snugshade*} +%\item\relax% {\footnotesize It appears to have a bug of not being +% usable directly after |\item|.\par} +%\begin{snugshade*} + +The original environment gives to the continuation label at +bottom right of the first part of a broken box the same colour +as the frame. The \colorframed variant adds the possibility +to customize this colour via suitably defining a macro, in the +example above we did: +\begin{verbatim} +\renewcommand\colorframedTFconlabcolorcommand{\color{red}} +\end{verbatim} +\end{snugshade*} +%\end{enumerate} + +\begin{framed} + This is an example of usage of the environment `framed'. + + This environment allows customization of the border width + and of the separation with contents, via |\FrameRule| and + |\FrameSep|, but not of the colour of the border. The + \colorframed version adds this possibility: it is simply a + matter of redefining the |\colorframedbordercolorcommand| + macro, which defaults to |\normalcolor|. + +\color{blue} + So the current frame was configured using: +\begin{verbatim} +\setlength{\FrameRule}{5pt} +\setlength{\FrameSep}{9pt} +\renewcommand\colorframedbordercolorcommand{\color{red!20}} +\end{verbatim} + The text colour induced from a |\color{blue}| + will not leak out to the frame or to the text following this + environment, even in case of a pagebreak. +\end{framed} + +As indicated the aim of \colorframed is not to modify the +existing environments of \ctanpackage{framed}.sty into +acquiring more capabilities and customizability, and we have +indicated already the two sole customization additions. The aim +was strictly to fix the colour leak issues. + +\section{TODO} + +The author has developed based upon usage of +\ctanpackage{pict2e} breakable boxes with round corners, +background colour, optional shadow, and other goodies and is +planning on incorporating this environment into the package. + +Of course, it will remain limited in comparison to the fully +customizable boxes provided by package \ctanpackage{tcolorbox} +but our testing showed significant speed-up in build time, which +may matter for long documents. + +Hopefully this addition will be done when time will permit. + +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/colorframed/colorframed.sty b/macros/latex/contrib/colorframed/colorframed.sty new file mode 100644 index 0000000000..db6a5d5e2f --- /dev/null +++ b/macros/latex/contrib/colorframed/colorframed.sty @@ -0,0 +1,156 @@ +% colorframed.sty v0.9 2022/09/22 +% Copyright (c) 2022 Jean-François Burnol +% Distributed under the terms of the LPPL 1.3c, see README.md +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{colorframed} + [2022/09/22 v0.9 fix `framed' breakable boxes colour leaks (JFB)] +\RequirePackage{framed} +\RequirePackage{color} +% First we must make \MakeFramed/\endMakeFramed colour safe. +\expandafter\def\expandafter\MakeFramed\expandafter#\expandafter1\expandafter + {\MakeFramed{#1}\color@begingroup} +\expandafter\def\expandafter\endMakeFramed\expandafter + {\expandafter\color@endgroup\endMakeFramed} +% +% `framed' +\def\FrameCommand{% + \setlength\fboxrule{\FrameRule}\setlength\fboxsep{\FrameSep}% + \CustomFBox{}{}\fboxrule\fboxrule\fboxrule\fboxrule % replaces \fbox +} +% The frame colour can be set via modifying this macro. +\def\colorframedbordercolorcommand{\normalcolor} +% +% `shaded', `shaded*', `snugshade', `snugshade*' +% The \colorbox in \FrameCommand is replaced by \colorframedcolorbox +\renewenvironment{shaded}{% + \def\FrameCommand{\fboxsep=\FrameSep + \colorframedcolorbox{shadecolor}}%<<<< MODIFIED + \MakeFramed {\FrameRestore}}% + {\endMakeFramed} +\renewenvironment{shaded*}{% + \def\FrameCommand{\fboxsep=\FrameSep + \colorframedcolorbox{shadecolor}}%<<<< MODIFIED + \MakeFramed {\advance\hsize-\width \FrameRestore}}% + {\endMakeFramed} +\renewenvironment{snugshade}{% + \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep + \colorframedcolorbox{shadecolor}{##1}%<<<< MODIFIED + \hskip-\fboxsep + % There is no \@totalrightmargin, so: + \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% + \MakeFramed {\advance\hsize-\width + \@totalleftmargin\z@ \linewidth\hsize + \@setminipage}% + }{\par\unskip\@minipagefalse\endMakeFramed} +\renewenvironment{snugshade*}{% + \def\FrameCommand##1{\hskip\@totalleftmargin + \colorframedcolorbox{shadecolor}{##1}%<<<< MODIFIED + % There is no \@totalrightmargin, so: + \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% + \MakeFramed {\advance\hsize-\width + \@totalleftmargin\z@ \linewidth\hsize + \advance\labelsep\fboxsep + \@setminipage}% + }{\par\unskip\@minipagefalse\endMakeFramed} +% The \colorframedcolorbox was obtained via a process of trimming from some +% far more capable box, hence some possibly strange looking or sub-optimal +% code; but we did not want to keep extra capabilities and have to provide +% interface for that... +\def\colorframedcolorbox#1#2{% + % #1 is in our usage always "shadecolor" (which has to be defined by user) + % #2 is in our usage always a box or rule + \leavevmode% this is not needed in our usage + \hbox{% + \setbox\@tempboxa\hbox{\kern\fboxsep{#2}\kern\fboxsep}% + \ht\@tempboxa + \dimexpr\ht\@tempboxa+\fboxsep\relax + \dp\@tempboxa + \dimexpr\dp\@tempboxa+\fboxsep\relax + % BACKGROUND + % draw background and move back to reference point + {\color{#1}% + \vrule\@height\ht\@tempboxa + \@depth\dp\@tempboxa + \@width\wd\@tempboxa + \kern-\wd\@tempboxa + }% + % CONTENTS + \box\@tempboxa + }% +} +% +% `oframed' and `titled-frame' +% The \CustomFBox redefinition. +% Refer to framed.sty for significance of the parameters. +% We have not wrapped #3, #4, #5, #6 thicknesses in \dimexpr. +% Generally speaking, no attempt here to make this macro more +% versatile than is the original. +% Our version tries to let #1 and #2 have same effect as in original +% (where they are only used for titled-frame environment, and +% it thus seems to be sort of a convention that #2 has no height.) +\long\def\CustomFBox#1#2#3#4#5#6#7{% + \leavevmode\begingroup + \setbox\@tempboxa\hbox{% + \color@begingroup + \kern\fboxsep{#7}\kern\fboxsep + \color@endgroup}% + \hbox{% + \ht\@tempboxa + \dimexpr\ht\@tempboxa+\fboxsep+#3\relax % cf "overlap" remark below + \dp\@tempboxa + \dimexpr\dp\@tempboxa+\fboxsep+#4\relax + \setbox\z@\hbox + {\vrule\@width#5\relax + \kern\wd\@tempboxa + \vrule\@width#6\relax + }% + \ht\z@\ht\@tempboxa + \dp\z@\dp\@tempboxa + \vbox{% + \colorframedbordercolorcommand % defaults to \normalcolor + \hrule\@height#3\relax + \kern-#3\relax + #1% + \copy\z@ % deliberate overlap hrules+vrules to avoid anti-aliasing artefacts + \kern-#4\relax + #2% + \hrule\@height#4\relax + \kern-\dp\@tempboxa + }% + \kern-\wd\z@ + \kern#5\relax + \box\@tempboxa + \kern#6\relax + }% + \endgroup +} +% The titled-frame environment depends in part on this macro, +% whose original in framed.sty has various colour problems. +% We have indicated the modifications, additionally to using +% our modified \CustomFBox. +% Original let the continuation label use same colour as frame. +% Let make this customizable. +\let\colorframedTFconlabcolorcommand\empty +\renewcommand\TitleBarFrame[3][]{\begingroup + \ifx\delimiter#1\delimiter + \let\TF@conlab\@empty + \else + \def\TF@conlab{% + \nointerlineskip + \hbox{%<<<< ADDED (needed due to \smash doing \leavevmode nowadays) + \colorframedTFconlabcolorcommand%<<<< ADDED + \smash{\rlap{\kern\wd\@tempboxa\kern\fboxrule\kern\fboxsep #1}}}% + }%<<<< ADDED + \fi + %\let\TF@savecolor\current@color%<<<< REMOVED + %\textcolor{TFFrameColor}{% <<<< REMOVED + \def\colorframedbordercolorcommand{\color{TFFrameColor}}%<<<< ADDED + \CustomFBox + {\TF@Title{#2}}{\TF@conlab}% + \fboxrule\fboxrule\fboxrule\fboxrule + {%\let\current@color\TF@savecolor\set@color%<<<< REMOVED + #3}% + %}% <<<< REMOVED + \endgroup +} +\endinput diff --git a/macros/latex/contrib/hyperref/README.md b/macros/latex/contrib/hyperref/README.md index 7efd675aba..71ecefab3e 100644 --- a/macros/latex/contrib/hyperref/README.md +++ b/macros/latex/contrib/hyperref/README.md @@ -1,6 +1,6 @@ # README for hyperref bundle -Version 2022-06-20 v7.00s +Version 2022-09-22 v7.00t ## INTRODUCTION diff --git a/macros/latex/contrib/hyperref/doc/backref.pdf b/macros/latex/contrib/hyperref/doc/backref.pdf index f6d933dc98..0f2ad5cc10 100644 Binary files a/macros/latex/contrib/hyperref/doc/backref.pdf and b/macros/latex/contrib/hyperref/doc/backref.pdf differ diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.html b/macros/latex/contrib/hyperref/doc/hyperref-doc.html index fe11247a9f..aee3f8ddd2 100644 --- a/macros/latex/contrib/hyperref/doc/hyperref-doc.html +++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.html @@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" >https://github.com/latex3/hyperref/issues)
2022-06-20 v7.00s
+class="ec-lmr-12">2022-09-22 v7.00t

Contents

@@ -4111,7 +4111,7 @@ class="ec-lmvtt-10">}

The text is made a hyperlink to the URL; this must be a full URL (relative to the base URL, if that is -defined). The special characters # and ˜ do not need to be escaped in any way (unless the command is used in the argument of another command).

The optional argument -%% 2022-06-20 v7.00s +%% 2022-09-22 v7.00t %% force unicode encoding, see issue #101 %% code mostly copied from hxetex.def \HyPsd@LoadUnicode @@ -751,10 +751,26 @@ \fi }{% \ifdim\stockwidth>\z@ - \setlength{\pagewidth}{\stockwidth}% - \fi - \ifdim\stockheight>\z@ - \setlength{\pageheight}{\stockheight}% + \ifdim\stockheight>\z@ + \setlength{\pagewidth}{\stockwidth}% + \setlength{\pageheight}{\stockheight}% + \else + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \setlength{\pagewidth}{\paperwidth}% + \setlength{\pageheight}{\paperheight}% + \fi + \fi + \fi + \else + \ifdim\stockwidth=\z@ + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \setlength{\pagewidth}{\paperwidth}% + \setlength{\pageheight}{\paperheight}% + \fi + \fi + \fi \fi }% }% diff --git a/macros/latex/contrib/hyperref/hyperref-linktarget.dtx b/macros/latex/contrib/hyperref/hyperref-linktarget.dtx index cd0557bcdb..d31a2009e2 100644 --- a/macros/latex/contrib/hyperref/hyperref-linktarget.dtx +++ b/macros/latex/contrib/hyperref/hyperref-linktarget.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version v7.00s, released 2022-06-20} +% \date{Version 2022-09-22 v7.00t} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/hyperref/hyperref-patches.dtx b/macros/latex/contrib/hyperref/hyperref-patches.dtx index 446493224c..ebe25f7f62 100644 --- a/macros/latex/contrib/hyperref/hyperref-patches.dtx +++ b/macros/latex/contrib/hyperref/hyperref-patches.dtx @@ -55,7 +55,7 @@ % }^^A % } % -% \date{Version 0.9, released 2021-06-29} +% \date{Version 2022-09-22 v7.00t} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx index 6baf1e5480..fb6aefd9b2 100644 --- a/macros/latex/contrib/hyperref/hyperref.dtx +++ b/macros/latex/contrib/hyperref/hyperref.dtx @@ -52,7 +52,7 @@ %\ProvidesFile{puvnenc.def} %\ProvidesFile{puarenc.def} %\ProvidesFile{psdextra.def} -% [2022-06-20 v7.00s % +% [2022-09-22 v7.00t % % Hypertext links for LaTeX] % Dummy hyperref (SR)] % Hyperref documentation driver file] @@ -6696,7 +6696,7 @@ \def\HyperDestNameFilter#1{#1} \Hy@AtBeginDocument{% \begingroup - \edef\x{\@ifundefined{stockheight}\paperheight\stockheight}% + \edef\x{\ifdim\stockheight>\z@ \stockheight\else\paperheight\fi}% \dimen@=\x\relax \ifdim\dimen@>\z@ \else @@ -6985,6 +6985,11 @@ % \end{macrocode} % % \subsubsection{Driver loading} +% Ensure that |\stockwidth| and |\stockheight| are defined +% \begin{macrocode} +\@ifundefined{stockwidth}{\newdimen\stockwidth}{} +\@ifundefined{stockheight}{\newdimen\stockheight}{} +% \end{macrocode} % % \begin{macrocode} \Hy@AtEndOfPackage{% @@ -8235,9 +8240,10 @@ % Provide a dummy default definition of \cs{hyper@newdestlabel} % inside the .aux files. % \begin{macrocode} -\AddLineBeginAux{% - \string\providecommand\string\hyper@newdestlabel[2]{}% -} +\AddToHook{include/before} + {\immediate\write\@partaux{\string\providecommand\string\hyper@newdestlabel[2]{}}} +\AddToHook{begindocument} + {\immediate\write\@mainaux{\string\providecommand\string\hyper@newdestlabel[2]{}}} % \end{macrocode} % % \section{Forms creation} @@ -12704,15 +12710,7 @@ \fi \fi } -\@ifpackageloaded{showkeys}{% - \HyRef@ShowKeysInit -}{% - \Hy@AtBeginDocument{% - \@ifpackageloaded{showkeys}{% - \HyRef@ShowKeysInit - }{}% - }% -} +\AddToHook{package/showkeys/after}{\HyRef@ShowKeysInit} % \end{macrocode} % \end{macro} % @@ -13529,21 +13527,28 @@ \fi \fi }{% - \ltx@IfUndefined{stockwidth}{% - \ifdim\paperwidth>\z@ - \setlength{\pdfpagewidth}{\paperwidth}% - \fi - \ifdim\paperheight>\z@ - \setlength{\pdfpageheight}{\paperheight}% - \fi - }{% - \ifdim\stockwidth>\z@ - \setlength{\pdfpagewidth}{\stockwidth}% - \fi + \ifdim\stockwidth>\z@ \ifdim\stockheight>\z@ - \setlength{\pdfpageheight}{\stockheight}% + \setlength{\pdfpagewidth}{\stockwidth}% + \setlength{\pdfpageheight}{\stockheight}% + \else + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \setlength{\pdfpagewidth}{\paperwidth}% + \setlength{\pdfpageheight}{\paperheight}% + \fi + \fi \fi - }% + \else + \ifdim\stockwidth=\z@ + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \setlength{\pdfpagewidth}{\paperwidth}% + \setlength{\pdfpageheight}{\paperheight}% + \fi + \fi + \fi + \fi }% }% \Hy@DisableOption{setpagesize}% @@ -14595,19 +14600,25 @@ \AtBeginShipoutFirst{% \ifHy@setpagesize \begingroup - \@ifundefined{stockwidth}{% - \ifdim\paperwidth>\z@ - \ifdim\paperheight>\z@ - \special{papersize=\the\paperwidth,\the\paperheight}% + \ifdim\stockwidth>\z@ + \ifdim\stockheight>\z@ + \special{papersize=\the\stockwidth,\the\stockheight}% + \else + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \special{papersize=\the\paperwidth,\the\paperheight}% + \fi \fi \fi - }{% - \ifdim\stockwidth>\z@ - \ifdim\stockheight>\z@ - \special{papersize=\the\stockwidth,\the\stockheight}% + \else + \ifdim\stockwidth=\z@ + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \special{papersize=\the\paperwidth,\the\paperheight}% + \fi \fi \fi - }% + \fi \endgroup \fi \Hy@DisableOption{setpagesize}% @@ -14743,32 +14754,35 @@ % it avoids the definition and the hash table entry of a % previous undefined macro. % \begin{macrocode} -\ifx\mediaheight\@undefined -\else - \ifx\mediaheight\relax - \else - \ifHy@setpagesize - \providecommand*{\VTeXInitMediaSize}{% - \ltx@IfUndefined{stockwidth}{% - \ifdim\paperheight>0pt % - \setlength\mediaheight\paperheight - \fi - \ifdim\paperheight>0pt % - \setlength\mediawidth\paperwidth - \fi - }{% - \ifdim\stockheight>0pt % - \setlength\mediaheight\stockheight - \fi - \ifdim\stockwidth>0pt % - \setlength\mediawidth\stockwidth - \fi - }% - }% - \Hy@AtBeginDocument{\VTeXInitMediaSize}% - \fi - \Hy@DisableOption{setpagesize}% +\ifcsname mediaheight\endcsname + \ifHy@setpagesize + \providecommand*{\VTeXInitMediaSize}{% + \ifdim\stockwidth>\z@ + \ifdim\stockheight>\z@ + \setlength\mediaheight\stockheight + \setlength\mediawidth\stockwidth + \else + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \setlength\mediaheight\paperheight + \setlength\mediawidth\paperwidth + \fi + \fi + \fi + \else + \ifdim\stockwidth=\z@ + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \setlength\mediaheight\paperheight + \setlength\mediawidth\paperwidth + \fi + \fi + \fi + \fi + }% + \Hy@AtBeginDocument{\VTeXInitMediaSize}% \fi + \Hy@DisableOption{setpagesize}% \fi % \end{macrocode} % Older versions of VTeX require |xyz| in lower case. @@ -16395,19 +16409,25 @@ \AtBeginShipoutFirst{% \ifHy@setpagesize \begingroup - \@ifundefined{stockwidth}{% - \ifdim\paperwidth>\z@ - \ifdim\paperheight>\z@ - \special{papersize=\the\paperwidth,\the\paperheight}% + \ifdim\stockwidth>\z@ + \ifdim\stockheight>\z@ + \special{papersize=\the\stockwidth,\the\stockheight}% + \else + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \special{papersize=\the\paperwidth,\the\paperheight}% + \fi \fi \fi - }{% - \ifdim\stockwidth>\z@ - \ifdim\stockheight>\z@ - \special{papersize=\the\stockwidth,\the\stockheight}% + \else + \ifdim\stockwidth=\z@ + \ifdim\paperwidth>\z@ + \ifdim\paperheight>\z@ + \special{papersize=\the\paperwidth,\the\paperheight}% + \fi \fi \fi - }% + \fi \endgroup \fi \Hy@DisableOption{setpagesize}% diff --git a/macros/latex/contrib/hyperref/xr-hyper.sty b/macros/latex/contrib/hyperref/xr-hyper.sty index fecbdeca12..9472448b3a 100644 --- a/macros/latex/contrib/hyperref/xr-hyper.sty +++ b/macros/latex/contrib/hyperref/xr-hyper.sty @@ -61,7 +61,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{xr-hyper} - [2022-06-20 v7.00s eXternal References (DPC)] + [2022-09-22 v7.00t eXternal References (DPC)] \def\externaldocument{\@testopt\XR@cite{}} \let\externalcitedocument\externaldocument diff --git a/macros/latex/contrib/oberdiek/README.md b/macros/latex/contrib/oberdiek/README.md index 682184dc81..b38e432684 100644 --- a/macros/latex/contrib/oberdiek/README.md +++ b/macros/latex/contrib/oberdiek/README.md @@ -1,6 +1,6 @@ # Oberdiek bundle -Version: 2021-11-15 +Version: 2022-09-21 This file describes the directory CTAN:macros/latex/contrib/oberdiek/ @@ -11,7 +11,7 @@ It contains several packages: ## Copyright (C) * 2007, 2009-2011 Heiko Oberdiek -* 2016-2020 Oberdiek Package Support Group +* 2016-2022 Oberdiek Package Support Group ## License LATEX Project Public License, version 1.3c or later. @@ -53,9 +53,7 @@ Other files in the CTAN directory: * hyphsubst: substitute hyphenation patterns; * ifdraft: switch for option draft; * iflang: provides expandable checks for the current language; -* pagegrid: prints a page grid in the background; * pdfcolfoot: using pdfTeX’s color stack for footnotes; -* pdfcol: macros for setting and maintaining new color stacks; * pdfcolparallel: fixes colour problems in package parallel; * pdfcolparcolumns: fixes colour problems in package parcolumns; * pdfcrypt: setting PDF encryption; diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf index 3d37bde0a6..8b606cc806 100644 Binary files a/macros/latex/contrib/oberdiek/aliascnt.pdf and b/macros/latex/contrib/oberdiek/aliascnt.pdf differ diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf index f551dcd1d6..12c25efac6 100644 Binary files a/macros/latex/contrib/oberdiek/bmpsize.pdf and b/macros/latex/contrib/oberdiek/bmpsize.pdf differ diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf index 1c365a0a29..62f2d9da69 100644 Binary files a/macros/latex/contrib/oberdiek/centernot.pdf and b/macros/latex/contrib/oberdiek/centernot.pdf differ diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf index 3be586e5ed..a0491c8dcc 100644 Binary files a/macros/latex/contrib/oberdiek/chemarr.pdf and b/macros/latex/contrib/oberdiek/chemarr.pdf differ diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf index 8ff7733158..f7489d1bd4 100644 Binary files a/macros/latex/contrib/oberdiek/classlist.pdf and b/macros/latex/contrib/oberdiek/classlist.pdf differ diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf index 8668c34d3d..5c3cb08f41 100644 Binary files a/macros/latex/contrib/oberdiek/colonequals.pdf and b/macros/latex/contrib/oberdiek/colonequals.pdf differ diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf index cf0e002b7d..8cb994eacc 100644 Binary files a/macros/latex/contrib/oberdiek/dvipscol.pdf and b/macros/latex/contrib/oberdiek/dvipscol.pdf differ diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf index 067fbca25b..3e45bede84 100644 Binary files a/macros/latex/contrib/oberdiek/engord.pdf and b/macros/latex/contrib/oberdiek/engord.pdf differ diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf index e085b3062e..c84e418b5f 100644 Binary files a/macros/latex/contrib/oberdiek/enparen.pdf and b/macros/latex/contrib/oberdiek/enparen.pdf differ diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf index c1b38c591e..23422c71bd 100644 Binary files a/macros/latex/contrib/oberdiek/eolgrab.pdf and b/macros/latex/contrib/oberdiek/eolgrab.pdf differ diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf index b471eb5ef9..838c7866a1 100644 Binary files a/macros/latex/contrib/oberdiek/fibnum.pdf and b/macros/latex/contrib/oberdiek/fibnum.pdf differ diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf index 4f476fc931..38cfdfce4e 100644 Binary files a/macros/latex/contrib/oberdiek/flags.pdf and b/macros/latex/contrib/oberdiek/flags.pdf differ diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf index 72f5ebe9bd..4defa8d604 100644 Binary files a/macros/latex/contrib/oberdiek/holtxdoc.pdf and b/macros/latex/contrib/oberdiek/holtxdoc.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf index e0aa81018e..29f5c45d4a 100644 Binary files a/macros/latex/contrib/oberdiek/hypbmsec.pdf and b/macros/latex/contrib/oberdiek/hypbmsec.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/oberdiek/hypcap.pdf index 0417e6f54f..302590434b 100644 Binary files a/macros/latex/contrib/oberdiek/hypcap.pdf and b/macros/latex/contrib/oberdiek/hypcap.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf index cfbc9e8f11..4237695b37 100644 Binary files a/macros/latex/contrib/oberdiek/hypgotoe.pdf and b/macros/latex/contrib/oberdiek/hypgotoe.pdf differ diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf index 318eb95edc..bebccb7585 100644 Binary files a/macros/latex/contrib/oberdiek/hyphsubst.pdf and b/macros/latex/contrib/oberdiek/hyphsubst.pdf differ diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf index 799e8b9c25..4745dadca8 100644 Binary files a/macros/latex/contrib/oberdiek/ifdraft.pdf and b/macros/latex/contrib/oberdiek/ifdraft.pdf differ diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf index b7f3a56530..de5fa254fe 100644 Binary files a/macros/latex/contrib/oberdiek/iflang.pdf and b/macros/latex/contrib/oberdiek/iflang.pdf differ diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib index 5639fc952c..1a584cc3e9 100644 --- a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib +++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib @@ -131,20 +131,6 @@ version={1.7}, url={https://ctan.org/pkg/iflang}, } -@manual{oberdiek:pagegrid, - title={The pagegrid package}, - author={Heiko Oberdiek}, - date={2016-05-16}, - version={1.5}, - url={https://ctan.org/pkg/pagegrid}, -} -@manual{oberdiek:pdfcol, - title={The pdfcol package}, - author={Heiko Oberdiek}, - date={2018-11-01}, - version={1.5}, - url={https://ctan.org/pkg/pdfcol}, -} @manual{oberdiek:pdfcolfoot, title={The pdfcolfoot package}, author={Heiko Oberdiek}, diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins index 81ee3c264b..ecf6df13a6 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.ins +++ b/macros/latex/contrib/oberdiek/oberdiek.ins @@ -45,8 +45,6 @@ \batchinput{hyphsubst.dtx} \batchinput{ifdraft.dtx} \batchinput{iflang.dtx} -\batchinput{pagegrid.dtx} -\batchinput{pdfcol.dtx} \batchinput{pdfcolfoot.dtx} \batchinput{pdfcolparallel.dtx} \batchinput{pdfcolparcolumns.dtx} diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf index ae33dcf68a..1ee28ae509 100644 Binary files a/macros/latex/contrib/oberdiek/oberdiek.pdf and b/macros/latex/contrib/oberdiek/oberdiek.pdf differ diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex index 83bbce0aba..c8a2ae588b 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.tex +++ b/macros/latex/contrib/oberdiek/oberdiek.tex @@ -10,7 +10,7 @@ \newcommand*{\Author}{Heiko Oberdiek} \newcommand*{\Email}{ho-tex at tug.org} -\newcommand*{\Date}{2021/11/15} +\newcommand*{\Date}{2022/09/21} % Copyright (C) 2006-2016 by % Heiko Oberdiek @@ -212,10 +212,6 @@ [\entrysep] \entry{iflang}{Checks for the current language}% [\entrysep] -\entry{pagegrid}{Print page grid in background}% -[\entrysep] -\entry{pdfcol}{Handle new color stacks for \hologo{pdfTeX}}% -[\entrysep] \entry{pdfcolfoot}{Color stack for footnotes with \hologo{pdfTeX}}% [\entrysep] \entry{pdfcolparallel}{Color stacks support for parallel}% @@ -449,26 +445,6 @@ based on macro \cs{languagename} or hyphenation patterns. \end{abstract} \tocinclude{iflang} -\newpage -\subsection{\pkgsectformat{pagegrid}} -\label{pagegrid} -\begin{abstract} -The \LaTeX\ package prints a page grid in the background. -\end{abstract} -\tocinclude{pagegrid} - -\newpage -\subsection{\pkgsectformat{pdfcol}} -\label{pdfcol} -\begin{abstract} -Since version 1.40 \pdfTeX\ supports color stacks. -The driver file \xfile{pdftex.def} for package \xpackage{color} -defines and uses a main color stack since version v0.04b. -Package \xpackage{pdfcol} is intended for package writers. -It defines macros for setting and maintaining new color stacks. -\end{abstract} -\tocinclude{pdfcol} - \newpage \subsection{\pkgsectformat{pdfcolfoot}} \label{pdfcolfoot} diff --git a/macros/latex/contrib/oberdiek/pagegrid.dtx b/macros/latex/contrib/oberdiek/pagegrid.dtx deleted file mode 100644 index 60c0794247..0000000000 --- a/macros/latex/contrib/oberdiek/pagegrid.dtx +++ /dev/null @@ -1,955 +0,0 @@ -% \iffalse meta-comment -% -% File: pagegrid.dtx -% Version: 2016/05/16 v1.5 -% Info: Print page grid in background -% -% Copyright (C) -% 2009 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either -% version 1.3c of this license or (at your option) any later -% version. This version of this license is in -% https://www.latex-project.org/lppl/lppl-1-3c.txt -% and the latest version of this license is in -% https://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of -% LaTeX version 2005/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainers of this work are -% Heiko Oberdiek and the Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues -% -% This work consists of the main source file pagegrid.dtx -% and the derived files -% pagegrid.sty, pagegrid.pdf, pagegrid.ins, pagegrid.drv, -% pagegrid-test1.tex. -% -% Distribution: -% CTAN:macros/latex/contrib/oberdiek/pagegrid.dtx -% CTAN:macros/latex/contrib/oberdiek/pagegrid.pdf -% -% Unpacking: -% (a) If pagegrid.ins is present: -% tex pagegrid.ins -% (b) Without pagegrid.ins: -% tex pagegrid.dtx -% (c) If you insist on using LaTeX -% latex \let\install=y\input{pagegrid.dtx} -% (quote the arguments according to the demands of your shell) -% -% Documentation: -% (a) If pagegrid.drv is present: -% latex pagegrid.drv -% (b) Without pagegrid.drv: -% latex pagegrid.dtx; ... -% The class ltxdoc loads the configuration file ltxdoc.cfg -% if available. Here you can specify further options, e.g. -% use A4 as paper format: -% \PassOptionsToClass{a4paper}{article} -% -% Programm calls to get the documentation (example): -% pdflatex pagegrid.dtx -% makeindex -s gind.ist pagegrid.idx -% pdflatex pagegrid.dtx -% makeindex -s gind.ist pagegrid.idx -% pdflatex pagegrid.dtx -% -% Installation: -% TDS:tex/latex/oberdiek/pagegrid.sty -% TDS:doc/latex/oberdiek/pagegrid.pdf -% TDS:source/latex/oberdiek/pagegrid.dtx -% -%<*ignore> -\begingroup - \catcode123=1 % - \catcode125=2 % - \def\x{LaTeX2e}% -\expandafter\endgroup -\ifcase 0\ifx\install y1\fi\expandafter - \ifx\csname processbatchFile\endcsname\relax\else1\fi - \ifx\fmtname\x\else 1\fi\relax -\else\csname fi\endcsname -% -%<*install> -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: pagegrid 2016/05/16 v1.5 Print page grid in background (HO)} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse - -\let\MetaPrefix\relax -\preamble - -This is a generated file. - -Project: pagegrid -Version: 2016/05/16 v1.5 - -Copyright (C) - 2009 Heiko Oberdiek - 2016-2019 Oberdiek Package Support Group - -This work may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either -version 1.3c of this license or (at your option) any later -version. This version of this license is in - https://www.latex-project.org/lppl/lppl-1-3c.txt -and the latest version of this license is in - https://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of -LaTeX version 2005/12/01 or later. - -This work has the LPPL maintenance status "maintained". - -The Current Maintainers of this work are -Heiko Oberdiek and the Oberdiek Package Support Group -https://github.com/ho-tex/oberdiek/issues - - -This work consists of the main source file pagegrid.dtx -and the derived files - pagegrid.sty, pagegrid.pdf, pagegrid.ins, pagegrid.drv, - pagegrid-test1.tex. - -\endpreamble -\let\MetaPrefix\DoubleperCent - -\generate{% - \file{pagegrid.ins}{\from{pagegrid.dtx}{install}}% - \file{pagegrid.drv}{\from{pagegrid.dtx}{driver}}% - \usedir{tex/latex/oberdiek}% - \file{pagegrid.sty}{\from{pagegrid.dtx}{package}}% -% \usedir{doc/latex/oberdiek/test}% -% \file{pagegrid-test1.tex}{\from{pagegrid.dtx}{test1}}% -} - -\catcode32=13\relax% active space -\let =\space% -\Msg{************************************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* file into a directory searched by TeX:} -\Msg{*} -\Msg{* pagegrid.sty} -\Msg{*} -\Msg{* To produce the documentation run the file `pagegrid.drv'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{************************************************************************} - -\endbatchfile -% -%<*ignore> -\fi -% -%<*driver> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{pagegrid.drv}% - [2016/05/16 v1.5 Print page grid in background (HO)]% -\documentclass{ltxdoc} -\usepackage{holtxdoc}[2011/11/22] -\begin{document} - \DocInput{pagegrid.dtx}% -\end{document} -% -% \fi -% -% -% -% \GetFileInfo{pagegrid.drv} -% -% \title{The \xpackage{pagegrid} package} -% \date{2016/05/16 v1.5} -% \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} -% -% \maketitle -% -% \begin{abstract} -% The \LaTeX\ package prints a page grid in the background. -% \end{abstract} -% -% \tableofcontents -% -% \section{Documentation} -% -% The package puts a grid on the paper. It was written for -% developers of a class or package -% who have to put elements on definite locations on a page -% (e.g. letter class). The grid allows a faster optical check, -% whether the positions are correct. If the previewer already -% offers features for measuring, the package might be obsolete. -% Otherwise it saves the developer from printing the page and -% measuring by hand. -% -% \subsection{Options} -% -% Options are evaluated in the following order: -% \begin{enumerate} -% \item -% Configuration file \xfile{pagegrid.cfg} using \cs{pagegridsetup} -% if the file exists. -% \item -% Package options given for \cs{usepackage}. -% \item -% Later calls of \cs{pagegridsetup}. -% \end{enumerate} -% \begin{declcs}{pagegridsetup}\M{option list} -% \end{declcs} -% The options are key value options. Boolean options are enabled by -% default (without value) or by using the explicit value \texttt{true}. -% Value \texttt{false} disable the option. -% -% \subsubsection{Options \xoption{enable}, \xoption{disable}} -% -% \begin{description} -% \item[\xoption{enable}:] This boolean option controls whether the page grid -% is drawn. As default the page grid drawing is activated. -% \item[\xoption{disable}:] It is the opposite -% of option \xoption{enable}. It was added for convenience and -% allows the abbreviation \texttt{disable} for \texttt{enable=false}. -% \end{description} -% -% \subsubsection{Grid origins} -% -% The package supports up to two grids on a page allowing -% measurement from opposite directions. As default two grids are drawn, -% the first from bottom left to top right. The origin of the second -% grid is at the opposite top right corner. -% The origins are controlled by the following options. -% The number of grids (one or two) depend on the number of these options -% in one call of \cs{pagegridsetup}. -% The following frame shows a paper and in its corners are the -% corresponding options. At the left and right side alias names -% are given for the options inside the paper. -% \begin{quote} -% \begin{tabular}{@{}r|@{\,}l@{\qquad}r@{\,}|l@{}} -% \cline{2-3} -% \xoption{left-top}, \xoption{lt}, \xoption{top-left} -% & \vphantom{\"U}\xoption{tl} & \xoption{tr} -% & \xoption{top-right}, \xoption{rt}, \xoption{right-top}\\ -% &&&\\ -% \xoption{left-bottom}, \xoption{lb}, \xoption{bottom-left} -% & \xoption{bl} & \xoption{br} -% & \xoption{bottom-right}, \xoption{rb}, \xoption{right-bottom}\\ -% \cline{2-3} -% \end{tabular} -% \end{quote} -% Examples: -% \begin{quote} -% |\pagegridsetup{bl,tr}| -% \end{quote} -% This is the default setting with two grids as described previously. -% The following setups one grid only. Its origin is the upper left -% corner: -% \begin{quote} -% |\pagegridsetup{top-left}| -% \end{quote} -% -% \subsubsection{Grid unit} -% -% \begin{description} -% \item[\xoption{step}] This option takes a length and -% setups the unit for the grid. The page width and page height -% should be multiples of this unit. -% Currently the default is \texttt{1mm}. But this might change -% later by a heuristic based on the paper size. -% \end{description} -% -% \subsubsection{Color options} -% -% The basic grid lines are drawn as ultra thin help lines and is only -% drawn for the first grid. -% Each tenth and fiftyth line of the basic net is drawn thicker in a special -% color for the two grids. -% \begin{description} -% \item[\xoption{firstcolor}:] Color for the thicker lines and the arrows -% of the first grid. Default value is \texttt{red}. -% \item[\xoption{secondcolor}:] Color for the thicker lines and the arrows -% of the second grid. Default value is \texttt{blue}. -% \end{description} -% Use a color specification that package \xpackage{tikz} understands. -% (The grid is drawn with \xpackage{pgf}/\xpackage{tikz}.) -% -% \subsubsection{Arrow options} -% -% Arrows are put at the origin at the grid to show the grid start -% and the direction of the grid. -% \begin{description} -% \item[\xoption{arrows}:] This boolean option turns the arrows on or off. -% As default arrows are enabled. -% \item[\xoption{arrowlength}:] The length given as value is the -% length of the edge of a square at the origin within the -% arrow is put as diagonal. Default is 10 times the grid unit (10\,mm). -% The real arrow length is this length multiplied by $\sqrt2$. -% \end{description} -% -% \subsubsection{Miscellaneous options} -% -% \begin{description} -% \item[\xoption{double}:] The output page is doubled, one without page -% grid and the other with page grid. Possible values are shown in the -% following table: -% \begin{quote} -% \begin{tabular}{ll} -% Option & Meaning\\ -% \hline -% |false| & Turns option off.\\ -% |first| & Grid page comes first.\\ -% |last| & Grid page comes after the page without grid.\\ -% |true| & Same as |last|.\\ -% \meta{no value} & Same as |true|.\\ -% \end{tabular} -% \end{quote} -% \textbf{Note:} -% The double output of the page has side effects. -% All whatits are executed twice, for example: file writing -% and anchor setting. Some unwanted actions are catched such -% as multiple \cs{label} definitions, duplicate entries in -% the table of contents. For bookmarks, use package \xpackage{bookmarks}. -% \item[\xoption{foreground}:] Boolean option, default is \texttt{false}. -% Sometimes there might be elements on the page (e.g. large images) -% that hide the grid. Then option \xoption{foreground} puts the grids -% over the current output page. -% \end{description} -% -% \StopEventually{ -% } -% -% \section{Implementation} -% \begin{macrocode} -%<*package> -% \end{macrocode} -% Reload check, especially if the package is not used with \LaTeX. -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode58=12 % : - \catcode64=11 % @ - \catcode123=1 % { - \catcode125=2 % } - \expandafter\let\expandafter\x\csname ver@pagegrid.sty\endcsname - \ifx\x\relax % plain-TeX, first loading - \else - \def\empty{}% - \ifx\x\empty % LaTeX, first loading, - % variable is initialized, but \ProvidesPackage not yet seen - \else - \expandafter\ifx\csname PackageInfo\endcsname\relax - \def\x#1#2{% - \immediate\write-1{Package #1 Info: #2.}% - }% - \else - \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% - \fi - \x{pagegrid}{The package is already loaded}% - \aftergroup\endinput - \fi - \fi -\endgroup% -% \end{macrocode} -% Package identification: -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode40=12 % ( - \catcode41=12 % ) - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode47=12 % / - \catcode58=12 % : - \catcode64=11 % @ - \catcode91=12 % [ - \catcode93=12 % ] - \catcode123=1 % { - \catcode125=2 % } - \expandafter\ifx\csname ProvidesPackage\endcsname\relax - \def\x#1#2#3[#4]{\endgroup - \immediate\write-1{Package: #3 #4}% - \xdef#1{#4}% - }% - \else - \def\x#1#2[#3]{\endgroup - #2[{#3}]% - \ifx#1\@undefined - \xdef#1{#3}% - \fi - \ifx#1\relax - \xdef#1{#3}% - \fi - }% - \fi -\expandafter\x\csname ver@pagegrid.sty\endcsname -\ProvidesPackage{pagegrid}% - [2016/05/16 v1.5 Print page grid in background (HO)]% -% \end{macrocode} -% -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode64=11 % @ - \def\x{\endgroup - \expandafter\edef\csname pagegrid@AtEnd\endcsname{% - \endlinechar=\the\endlinechar\relax - \catcode13=\the\catcode13\relax - \catcode32=\the\catcode32\relax - \catcode35=\the\catcode35\relax - \catcode61=\the\catcode61\relax - \catcode64=\the\catcode64\relax - \catcode123=\the\catcode123\relax - \catcode125=\the\catcode125\relax - }% - }% -\x\catcode61\catcode48\catcode32=10\relax% -\catcode13=5 % ^^M -\endlinechar=13 % -\catcode35=6 % # -\catcode64=11 % @ -\catcode123=1 % { -\catcode125=2 % } -\def\TMP@EnsureCode#1#2{% - \edef\pagegrid@AtEnd{% - \pagegrid@AtEnd - \catcode#1=\the\catcode#1\relax - }% - \catcode#1=#2\relax -} -\TMP@EnsureCode{9}{10}% (tab) -\TMP@EnsureCode{10}{12}% ^^J -\TMP@EnsureCode{33}{12}% ! -\TMP@EnsureCode{34}{12}% " -\TMP@EnsureCode{36}{3}% $ -\TMP@EnsureCode{38}{4}% & -\TMP@EnsureCode{39}{12}% ' -\TMP@EnsureCode{40}{12}% ( -\TMP@EnsureCode{41}{12}% ) -\TMP@EnsureCode{42}{12}% * -\TMP@EnsureCode{43}{12}% + -\TMP@EnsureCode{44}{12}% , -\TMP@EnsureCode{45}{12}% - -\TMP@EnsureCode{46}{12}% . -\TMP@EnsureCode{47}{12}% / -\TMP@EnsureCode{58}{12}% : -\TMP@EnsureCode{59}{12}% ; -\TMP@EnsureCode{60}{12}% < -\TMP@EnsureCode{62}{12}% > -\TMP@EnsureCode{63}{12}% ? -\TMP@EnsureCode{91}{12}% [ -\TMP@EnsureCode{93}{12}% ] -\TMP@EnsureCode{94}{7}% ^ (superscript) -\TMP@EnsureCode{95}{8}% _ (subscript) -\TMP@EnsureCode{96}{12}% ` -\TMP@EnsureCode{124}{12}% | -\edef\pagegrid@AtEnd{\pagegrid@AtEnd\noexpand\endinput} -% \end{macrocode} -% -% \begin{macrocode} -\RequirePackage{tikz} -\RequirePackage{atbegshi}[2009/12/02] -\RequirePackage{kvoptions}[2009/07/17] -% \end{macrocode} -% \begin{macrocode} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname stockwidth\endcsname\relax - \def\pagegrid@width{\paperwidth}% - \def\pagegrid@height{\paperheight}% -\else - \def\pagegrid@width{\stockwidth}% - \def\pagegrid@height{\stockheight}% -\fi -% \end{macrocode} -% -% \begin{macrocode} -\SetupKeyvalOptions{% - family=pagegrid,% - prefix=pagegrid@,% -} -\def\pagegrid@init{% - \let\pagegrid@origin@a\@empty - \let\pagegrid@origin@b\@empty - \let\pagegrid@init\relax -} -\let\pagegrid@@init\pagegrid@init -\def\pagegrid@origin@a{bl} -\def\pagegrid@origin@b{tr} -\def\pagegrid@SetOrigin#1{% - \pagegrid@init - \ifx\pagegrid@origin@a\@empty - \def\pagegrid@origin@a{#1}% - \else - \ifx\pagegrid@origin@b\@empty - \else - \let\pagegrid@origin@a\pagegrid@origin@b - \fi - \def\pagegrid@origin@b{#1}% - \fi -} -\def\pagegrid@temp#1{% - \DeclareVoidOption{#1}{\pagegrid@SetOrigin{#1}}% - \@namedef{pagegrid@N@#1}{#1}% -} -\pagegrid@temp{bl} -\pagegrid@temp{br} -\pagegrid@temp{tl} -\pagegrid@temp{tr} -\def\pagegrid@temp#1#2{% - \DeclareVoidOption{#2}{\pagegrid@SetOrigin{#1}}% -}% -\pagegrid@temp{bl}{lb} -\pagegrid@temp{br}{rb} -\pagegrid@temp{tl}{lt} -\pagegrid@temp{tr}{rt} -\pagegrid@temp{bl}{bottom-left} -\pagegrid@temp{br}{bottom-right} -\pagegrid@temp{tl}{top-left} -\pagegrid@temp{tr}{top-right} -\pagegrid@temp{bl}{left-bottom} -\pagegrid@temp{br}{right-bottom} -\pagegrid@temp{tl}{left-top} -\pagegrid@temp{tr}{right-top} -% \end{macrocode} -% \begin{macrocode} -\DeclareBoolOption[true]{enable} -\DeclareComplementaryOption{disable}{enable} -% \end{macrocode} -% \begin{macrocode} -\DeclareBoolOption{foreground} -% \end{macrocode} -% \begin{macrocode} -\newlength{\pagegrid@step} -\define@key{pagegrid}{step}{% - \setlength{\pagegrid@step}{#1}% -} -% \end{macrocode} -% \begin{macrocode} -\DeclareStringOption[red]{firstcolor} -\DeclareStringOption[blue]{secondcolor} -% \end{macrocode} -% \begin{macrocode} -\DeclareBoolOption[true]{arrows} -\newlength\pagegrid@arrowlength -\pagegrid@arrowlength=\z@ -\define@key{pagegrid}{arrowlength}{% - \setlength{\pagegrid@arrowlength}{#1}% -} -% \end{macrocode} -% \begin{macrocode} -\define@key{pagegrid}{double}[true]{% - \@ifundefined{pagegrid@double@#1}{% - \PackageWarning{pagegrid}{% - Unsupported value `#1' for option `double'.\MessageBreak - Known values are:\MessageBreak - `false', `first', `last', `true'.\MessageBreak - Now `false' is used% - }% - \chardef\pagegrid@double\z@ - }{% - \chardef\pagegrid@double\csname pagegrid@double@#1\endcsname\relax - }% -} -\@namedef{pagegrid@double@false}{0} -\@namedef{pagegrid@double@first}{1} -\@namedef{pagegrid@double@last}{2} -\@namedef{pagegrid@double@true}{2} -\chardef\pagegrid@double\z@ -% \end{macrocode} -% \begin{macrocode} -\newcommand*{\pagegridsetup}{% - \let\pagegrid@init\pagegrid@@init - \setkeys{pagegrid}% -} -% \end{macrocode} -% \begin{macrocode} -\pagegridsetup{% - step=1mm% -} -\InputIfFileExists{pagegrid.cfg}{}% -\ProcessKeyvalOptions*\relax -\AtBeginDocument{% - \ifdim\pagegrid@arrowlength>\z@ - \else - \pagegrid@arrowlength=10\pagegrid@step - \fi -} -% \end{macrocode} -% -% \begin{macrocode} -\def\pagegridShipoutDoubleBegin{% - \begingroup - \let\newlabel\@gobbletwo - \let\zref@newlabel\@gobbletwo - \let\@writefile\@gobbletwo - \let\select@language\@gobble -} -\def\pagegridShipoutDoubleEnd{% - \endgroup -} -\def\pagegrid@WriteDouble#1#2{% - \immediate\write#1{% - \@backslashchar csname % - pagegridShipoutDouble#2% - \@backslashchar endcsname% - }% -} -\def\pagegrid@ShipoutDouble#1{% - \begingroup - \if@filesw - \pagegrid@WriteDouble\@mainaux{Begin}% - \ifx\@auxout\@partaux - \pagegrid@WriteDouble\@partaux{Begin}% - \def\pagegrid@temp{% - \pagegrid@WriteDouble\@mainaux{End}% - \pagegrid@WriteDouble\@partaux{End}% - }% - \else - \def\pagegrid@temp{% - \pagegrid@WriteDouble\@mainaux{End}% - }% - \fi - \else - \def\pagegrid@temp{}% - \fi - \let\protect\noexpand - \AtBeginShipoutOriginalShipout\copy#1\relax - \pagegrid@temp - \endgroup -} -% \end{macrocode} -% -% \begin{macrocode} -\AtBeginShipout{% - \ifdim\pagegrid@step>\z@ - \else - \pagegrid@enablefalse - \fi - \ifpagegrid@enable - \ifnum\pagegrid@double=\@ne - \pagegrid@ShipoutDouble\AtBeginShipoutBox - \else - \ifnum\pagegrid@double=\tw@ - \@ifundefined{pagegrid@DoubleBox}{% - \newbox\pagegrid@DoubleBox - }{}% - \setbox\pagegrid@DoubleBox=\copy\AtBeginShipoutBox - \fi - \fi - \ifpagegrid@foreground - \expandafter\AtBeginShipoutUpperLeftForeground - \else - \expandafter\AtBeginShipoutUpperLeft - \fi - {% - \put(0,0){% - \makebox(0,0)[lt]{% - \begin{tikzpicture}[% - bl/.style={},% - br/.style={xshift=\pagegrid@width,xscale=-1},% - tl/.style={yshift=\pagegrid@height,yscale=-1},% - tr/.style={xshift=\pagegrid@width,% - yshift=\pagegrid@height,scale=-1}% - ]% - \useasboundingbox - (0mm,\pagegrid@height) rectangle (0mm,\pagegrid@height);% - \draw[% - \pagegrid@origin@a,% - step=\pagegrid@step,% - style=help lines,% - ultra thin% - ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% - \ifx\pagegrid@origin@b\@empty - \else - \draw[% - \pagegrid@origin@b,% - step=10\pagegrid@step,% - {\pagegrid@secondcolor},% - very thin% - ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% - \fi - \draw[% - \pagegrid@origin@a,% - step=10\pagegrid@step,% - {\pagegrid@firstcolor},% - very thin% - ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% - \ifx\pagegrid@origin@b\@empty - \else - \draw[% - \pagegrid@origin@b,% - step=50\pagegrid@step,% - {\pagegrid@secondcolor},% - thick% - ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% - \fi - \draw[% - \pagegrid@origin@a,% - step=50\pagegrid@step,% - {\pagegrid@firstcolor},% - thick% - ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% - \ifpagegrid@arrows - \ifx\pagegrid@origin@b\@empty - \else - \draw[% - \pagegrid@origin@b,% - {\pagegrid@secondcolor},% - stroke,% - line width=1pt,% - line cap=round% - ] (0mm,0mm) % - -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % - (\pagegrid@arrowlength,.5\pagegrid@arrowlength) % - -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % - -- (.5\pagegrid@arrowlength,\pagegrid@arrowlength);% - \fi - \draw[% - \pagegrid@origin@a,% - {\pagegrid@firstcolor},% - stroke,% - line width=1pt,% - line cap=round% - ] (0mm,0mm) % - -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % - (\pagegrid@arrowlength,.5\pagegrid@arrowlength) % - -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % - -- (.5\pagegrid@arrowlength,\pagegrid@arrowlength);% - \fi - \end{tikzpicture}% - }% - }% - }% - \ifnum\pagegrid@double=\tw@ - \pagegrid@ShipoutDouble\pagegrid@DoubleBox - \fi - \fi -} -% \end{macrocode} -% -% \begin{macrocode} -\pagegrid@AtEnd% -% -% \end{macrocode} -%% \section{Installation} -% -% \subsection{Download} -% -% \paragraph{Package.} This package is available on -% CTAN\footnote{\CTANpkg{pagegrid}}: -% \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/pagegrid.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/pagegrid.pdf}] Documentation. -% \end{description} -% -% -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| -% \end{quote} -% -% \subsection{Package installation} -% -% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting -% \docstrip\ archive. The files are extracted by running the -% \xfile{.dtx} through \plainTeX: -% \begin{quote} -% \verb|tex pagegrid.dtx| -% \end{quote} -% -% \paragraph{TDS.} Now the different files must be moved into -% the different directories in your installation TDS tree -% (also known as \xfile{texmf} tree): -% \begin{quote} -% \def\t{^^A -% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} -% pagegrid.sty & tex/latex/oberdiek/pagegrid.sty\\ -% pagegrid.pdf & doc/latex/oberdiek/pagegrid.pdf\\ -% pagegrid.dtx & source/latex/oberdiek/pagegrid.dtx\\ -% \end{tabular}^^A -% }^^A -% \sbox0{\t}^^A -% \ifdim\wd0>\linewidth -% \begingroup -% \advance\linewidth by\leftmargin -% \advance\linewidth by\rightmargin -% \edef\x{\endgroup -% \def\noexpand\lw{\the\linewidth}^^A -% }\x -% \def\lwbox{^^A -% \leavevmode -% \hbox to \linewidth{^^A -% \kern-\leftmargin\relax -% \hss -% \usebox0 -% \hss -% \kern-\rightmargin\relax -% }^^A -% }^^A -% \ifdim\wd0>\lw -% \sbox0{\small\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\footnotesize\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\scriptsize\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\tiny\t}^^A -% \ifdim\wd0>\linewidth -% \lwbox -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \end{quote} -% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's -% TDS installing feature, then some files can already be in the right -% place, see the documentation of \docstrip. -% -% \subsection{Refresh file name databases} -% -% If your \TeX~distribution -% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh -% these. For example, \TeX\,Live\ users run \verb|texhash| or -% \verb|mktexlsr|. -% -% \subsection{Some details for the interested} -% -% \paragraph{Unpacking with \LaTeX.} -% The \xfile{.dtx} chooses its action depending on the format: -% \begin{description} -% \item[\plainTeX:] Run \docstrip\ and extract the files. -% \item[\LaTeX:] Generate the documentation. -% \end{description} -% If you insist on using \LaTeX\ for \docstrip\ (really, -% \docstrip\ does not need \LaTeX), then inform the autodetect routine -% about your intention: -% \begin{quote} -% \verb|latex \let\install=y\input{pagegrid.dtx}| -% \end{quote} -% Do not forget to quote the argument according to the demands -% of your shell. -% -% \paragraph{Generating the documentation.} -% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate -% the documentation. The process can be configured by the -% configuration file \xfile{ltxdoc.cfg}. For instance, put this -% line into this file, if you want to have A4 as paper format: -% \begin{quote} -% \verb|\PassOptionsToClass{a4paper}{article}| -% \end{quote} -% An example follows how to generate the -% documentation with pdf\LaTeX: -% \begin{quote} -%\begin{verbatim} -%pdflatex pagegrid.dtx -%makeindex -s gind.ist pagegrid.idx -%pdflatex pagegrid.dtx -%makeindex -s gind.ist pagegrid.idx -%pdflatex pagegrid.dtx -%\end{verbatim} -% \end{quote} -% -% \section{Acknowledgement} -% -% \begin{description} -% \item[Klaus Braune:] -% He provided the idea and the first \xpackage{tikz} code. -% \end{description} -% -% \begin{History} -% \begin{Version}{2009/11/06 v1.0} -% \item -% The first version. -% \end{Version} -% \begin{Version}{2009/11/06 v1.1} -% \item -% Option \xoption{foreground} added. -% \end{Version} -% \begin{Version}{2009/12/02 v1.2} -% \item -% Color options, arrow options added. -% \item -% Names for origin options changed. -% \end{Version} -% \begin{Version}{2009/12/03 v1.3} -% \item -% Option \xoption{double} added. -% \item -% First CTAN release. -% \end{Version} -% \begin{Version}{2009/12/04 v1.4} -% \item -% Option \xoption{double}: Some unwanted side effects removed. -% \end{Version} -% \begin{Version}{2016/05/16 v1.5} -% \item -% Documentation updates. -% \end{Version} -% \end{History} -% -% \PrintIndex -% -% \Finale -\endinput diff --git a/macros/latex/contrib/oberdiek/pagegrid.pdf b/macros/latex/contrib/oberdiek/pagegrid.pdf deleted file mode 100644 index b5ea088818..0000000000 Binary files a/macros/latex/contrib/oberdiek/pagegrid.pdf and /dev/null differ diff --git a/macros/latex/contrib/oberdiek/pdfcol.dtx b/macros/latex/contrib/oberdiek/pdfcol.dtx deleted file mode 100644 index 8e30a6f451..0000000000 --- a/macros/latex/contrib/oberdiek/pdfcol.dtx +++ /dev/null @@ -1,939 +0,0 @@ -% \iffalse meta-comment -% -% File: pdfcol.dtx -% Version: 2019/12/29 v1.6 -% Info: Handle new color stacks for pdfTeX -% -% Copyright (C) -% 2007 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either -% version 1.3c of this license or (at your option) any later -% version. This version of this license is in -% https://www.latex-project.org/lppl/lppl-1-3c.txt -% and the latest version of this license is in -% https://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of -% LaTeX version 2005/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainers of this work are -% Heiko Oberdiek and the Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues -% -% The Base Interpreter refers to any `TeX-Format', -% because some files are installed in TDS:tex/generic//. -% -% This work consists of the main source file pdfcol.dtx -% and the derived files -% pdfcol.sty, pdfcol.pdf, pdfcol.ins, pdfcol.drv, pdfcol-test1.tex, -% pdfcol-test2.tex, pdfcol-test3.tex, pdfcol-test4.tex. -% -% Distribution: -% CTAN:macros/latex/contrib/oberdiek/pdfcol.dtx -% CTAN:macros/latex/contrib/oberdiek/pdfcol.pdf -% -% Unpacking: -% (a) If pdfcol.ins is present: -% tex pdfcol.ins -% (b) Without pdfcol.ins: -% tex pdfcol.dtx -% (c) If you insist on using LaTeX -% latex \let\install=y\input{pdfcol.dtx} -% (quote the arguments according to the demands of your shell) -% -% Documentation: -% (a) If pdfcol.drv is present: -% latex pdfcol.drv -% (b) Without pdfcol.drv: -% latex pdfcol.dtx; ... -% The class ltxdoc loads the configuration file ltxdoc.cfg -% if available. Here you can specify further options, e.g. -% use A4 as paper format: -% \PassOptionsToClass{a4paper}{article} -% -% Programm calls to get the documentation (example): -% pdflatex pdfcol.dtx -% makeindex -s gind.ist pdfcol.idx -% pdflatex pdfcol.dtx -% makeindex -s gind.ist pdfcol.idx -% pdflatex pdfcol.dtx -% -% Installation: -% TDS:tex/generic/oberdiek/pdfcol.sty -% TDS:doc/latex/oberdiek/pdfcol.pdf -% TDS:source/latex/oberdiek/pdfcol.dtx -% -%<*ignore> -\begingroup - \catcode123=1 % - \catcode125=2 % - \def\x{LaTeX2e}% -\expandafter\endgroup -\ifcase 0\ifx\install y1\fi\expandafter - \ifx\csname processbatchFile\endcsname\relax\else1\fi - \ifx\fmtname\x\else 1\fi\relax -\else\csname fi\endcsname -% -%<*install> -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: pdfcol 2019/12/29 v1.6 Handle new color stacks for pdfTeX (HO)} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse - -\let\MetaPrefix\relax -\preamble - -This is a generated file. - -Project: pdfcol -Version: 2019/12/29 v1.6 - -Copyright (C) - 2007 Heiko Oberdiek - 2016-2019 Oberdiek Package Support Group - -This work may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either -version 1.3c of this license or (at your option) any later -version. This version of this license is in - https://www.latex-project.org/lppl/lppl-1-3c.txt -and the latest version of this license is in - https://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of -LaTeX version 2005/12/01 or later. - -This work has the LPPL maintenance status "maintained". - -The Current Maintainers of this work are -Heiko Oberdiek and the Oberdiek Package Support Group -https://github.com/ho-tex/oberdiek/issues - - -The Base Interpreter refers to any `TeX-Format', -because some files are installed in TDS:tex/generic//. - -This work consists of the main source file pdfcol.dtx -and the derived files - pdfcol.sty, pdfcol.pdf, pdfcol.ins, pdfcol.drv, pdfcol-test1.tex, - pdfcol-test2.tex, pdfcol-test3.tex, pdfcol-test4.tex. - -\endpreamble -\let\MetaPrefix\DoubleperCent - -\generate{% - \file{pdfcol.ins}{\from{pdfcol.dtx}{install}}% - \file{pdfcol.drv}{\from{pdfcol.dtx}{driver}}% - \usedir{tex/generic/oberdiek}% - \file{pdfcol.sty}{\from{pdfcol.dtx}{package}}% -% \usedir{doc/latex/oberdiek/test}% -% \file{pdfcol-test1.tex}{\from{pdfcol.dtx}{test1}}% -% \file{pdfcol-test2.tex}{\from{pdfcol.dtx}{test2}}% -% \file{pdfcol-test3.tex}{\from{pdfcol.dtx}{test3}}% -% \file{pdfcol-test4.tex}{\from{pdfcol.dtx}{test4}}% -} - -\catcode32=13\relax% active space -\let =\space% -\Msg{************************************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* file into a directory searched by TeX:} -\Msg{*} -\Msg{* pdfcol.sty} -\Msg{*} -\Msg{* To produce the documentation run the file `pdfcol.drv'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{************************************************************************} - -\endbatchfile -% -%<*ignore> -\fi -% -%<*driver> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{pdfcol.drv}% - [2019/12/29 v1.6 Handle new color stacks for pdfTeX (HO)]% -\documentclass{ltxdoc} -\usepackage{holtxdoc}[2011/11/22] -\begin{document} - \DocInput{pdfcol.dtx}% -\end{document} -% -% \fi -% -% -% -% \GetFileInfo{pdfcol.drv} -% -% \title{The \xpackage{pdfcol} package} -% \date{2019/12/29 v1.6} -% \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} -% -% \maketitle -% -% \begin{abstract} -% Since version 1.40 \pdfTeX\ supports color stacks. -% The driver file \xfile{pdftex.def} for package \xpackage{color} -% defines and uses a main color stack since version v0.04b. -% Package \xpackage{pdfcol} is intended for package writers. -% It defines macros for setting and maintaining new color stacks. -% \end{abstract} -% -% \tableofcontents -% -% \section{Documentation} -% -% Version 1.40 of \pdfTeX\ adds new primitives \cs{pdfcolorstackinit} -% and \cs{pdfcolorstack}. Now color stacks can be defined and used. -% A main color stack is maintained by the driver file \xfile{pdftex.def} -% similar to dvips or dvipdfm. However the number of color stacks -% is not limited to one in \pdfTeX. Thus further color problems -% can now be solved, such as footnotes across pages or text -% that is set in parallel columns (e.g. packages \xpackage{parallel} -% or \xpackage{parcolumn}). Unlike the main color stack, -% the support by additional color stacks cannot be done in -% a transparent manner. -% -% This package \xpackage{pdfcol} provides an easier interface to -% additional color stacks without the need to use the -% low level primitives. -% -% \subsection{Requirements} -% \label{sec:req} -% -% \begin{itemize} -% \item -% \pdfTeX\ 1.40 or greater. -% \item -% \pdfTeX in PDF mode. (I don't know a DVI driver that -% support several color stacks.) -% \item -% \xfile{pdftex.def} 2007/01/02 v0.04b. -% \end{itemize} -% Package \xpackage{pdfcol} checks the requirements and -% sets switch \cs{ifpdfcolAvailable} accordingly. -% -% \subsection{Interface} -% -% \begin{declcs}{ifpdfcolAvailable} -% \end{declcs} -% If the requirements of section \ref{sec:req} are met the -% switch \cs{ifpdfcolAvailable} behaves as \cs{iftrue}. -% Otherwise the other interface macros in this section will -% be disabled with a message. Also the first use of such a -% macro will print a message. The messages are print to -% the \xext{log} file only if \pdfTeX\ is not used in PDF mode. -% -% \begin{declcs}{pdfcolErrorNoStacks} -% \end{declcs} -% The first call of \cs{pdfcolErrorNoStacks} prints an error -% message, if color stacks are not available. -% -% \begin{declcs}{pdfcolInitStack} \M{name} -% \end{declcs} -% A new color stack is initialized by \cs{pdfcolInitStack}. -% The \meta{name} is used for indentifying the stack. It usually -% consists of letters and digits. (The name must survive a \cs{csname}.) -% -% The intension of the macro is the definition of an additional -% color stack. Thus the stack is not page bounded like the -% main color stack. Black (\texttt{0 g 0 G}) is used as initial -% color value. And colors are written with modifier \texttt{direct} -% that means without setting the current transfer matrix and changing -% the current point (see documentation of \pdfTeX\ for -% |\pdfliteral direct{...}|). -% -% \begin{declcs}{pdfcolIfStackExists} \M{name} \M{then} \M{else} -% \end{declcs} -% Macro \cs{pdfcolIfStackExists} checks whether color stack \meta{name} -% exists. In case of success argument \meta{then} is executed -% and \meta{else} otherwise. -% -% \begin{declcs}{pdfcolSwitchStack} \M{name} -% \end{declcs} -% Macro \cs{pdfcolSwitchStack} switches the color stack. The color macros -% of package \xpackage{color} (or \xpackage{xcolor}) now uses the -% new color stack with name \meta{name}. -% -% \begin{declcs}{pdfcolSetCurrentColor} -% \end{declcs} -% Macro \cs{pdfcolSetCurrentColor} replaces the topmost -% entry of the stack by the current color (\cs{current@color}). -% -% \begin{declcs}{pdfcolSetCurrent} \M{name} -% \end{declcs} -% Macro \cs{pdfcolSetCurrent} sets the color that is read in -% the top-most entry of color stack \meta{name}. If \meta{name} -% is empty, the default color stack is used. -% -% \StopEventually{ -% } -% -% \section{Implementation} -% -% \begin{macrocode} -%<*package> -% \end{macrocode} -% -% \subsection{Reload check and package identification} -% Reload check, especially if the package is not used with \LaTeX. -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode58=12 % : - \catcode64=11 % @ - \catcode123=1 % { - \catcode125=2 % } - \expandafter\let\expandafter\x\csname ver@pdfcol.sty\endcsname - \ifx\x\relax % plain-TeX, first loading - \else - \def\empty{}% - \ifx\x\empty % LaTeX, first loading, - % variable is initialized, but \ProvidesPackage not yet seen - \else - \expandafter\ifx\csname PackageInfo\endcsname\relax - \def\x#1#2{% - \immediate\write-1{Package #1 Info: #2.}% - }% - \else - \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% - \fi - \x{pdfcol}{The package is already loaded}% - \aftergroup\endinput - \fi - \fi -\endgroup% -% \end{macrocode} -% Package identification: -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode40=12 % ( - \catcode41=12 % ) - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode47=12 % / - \catcode58=12 % : - \catcode64=11 % @ - \catcode91=12 % [ - \catcode93=12 % ] - \catcode123=1 % { - \catcode125=2 % } - \expandafter\ifx\csname ProvidesPackage\endcsname\relax - \def\x#1#2#3[#4]{\endgroup - \immediate\write-1{Package: #3 #4}% - \xdef#1{#4}% - }% - \else - \def\x#1#2[#3]{\endgroup - #2[{#3}]% - \ifx#1\@undefined - \xdef#1{#3}% - \fi - \ifx#1\relax - \xdef#1{#3}% - \fi - }% - \fi -\expandafter\x\csname ver@pdfcol.sty\endcsname -\ProvidesPackage{pdfcol}% - [2019/12/29 v1.6 Handle new color stacks for pdfTeX (HO)]% -% \end{macrocode} -% -% \subsection{Catcodes} -% -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode64=11 % @ - \def\x{\endgroup - \expandafter\edef\csname PDFCOL@AtEnd\endcsname{% - \endlinechar=\the\endlinechar\relax - \catcode13=\the\catcode13\relax - \catcode32=\the\catcode32\relax - \catcode35=\the\catcode35\relax - \catcode61=\the\catcode61\relax - \catcode64=\the\catcode64\relax - \catcode123=\the\catcode123\relax - \catcode125=\the\catcode125\relax - }% - }% -\x\catcode61\catcode48\catcode32=10\relax% -\catcode13=5 % ^^M -\endlinechar=13 % -\catcode35=6 % # -\catcode64=11 % @ -\catcode123=1 % { -\catcode125=2 % } -\def\TMP@EnsureCode#1#2{% - \edef\PDFCOL@AtEnd{% - \PDFCOL@AtEnd - \catcode#1=\the\catcode#1\relax - }% - \catcode#1=#2\relax -} -\TMP@EnsureCode{39}{12}% ' -\TMP@EnsureCode{40}{12}% ( -\TMP@EnsureCode{41}{12}% ) -\TMP@EnsureCode{43}{12}% + -\TMP@EnsureCode{44}{12}% , -\TMP@EnsureCode{46}{12}% . -\TMP@EnsureCode{47}{12}% / -\TMP@EnsureCode{91}{12}% [ -\TMP@EnsureCode{93}{12}% ] -\TMP@EnsureCode{96}{12}% ` -\edef\PDFCOL@AtEnd{\PDFCOL@AtEnd\noexpand\endinput} -% \end{macrocode} -% -% \subsection{Check requirements} -% -% \begin{macro}{\PDFCOL@RequirePackage} -% \begin{macrocode} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname RequirePackage\endcsname\relax - \def\PDFCOL@RequirePackage#1[#2]{\input #1.sty\relax}% -\else - \def\PDFCOL@RequirePackage#1[#2]{% - \RequirePackage{#1}[{#2}]% - }% -\fi -% \end{macrocode} -% \end{macro} -% -% LuaTeX Compatability -% \begin{macrocode} -\ifx\pdfextension\@undefined\else - \def\pdfcolorstackinit {\pdffeedback colorstackinit} - \protected\def\pdfcolorstack {\pdfextension colorstack} -\fi -% \end{macrocode} -% -% \begin{macrocode} -\PDFCOL@RequirePackage{ltxcmds}[2010/03/01] -% \end{macrocode} -% -% \begin{macro}{ifpdfcolAvailable} -% \begin{macrocode} -\ltx@newif\ifpdfcolAvailable -\pdfcolAvailabletrue -% \end{macrocode} -% \end{macro} -% -% \subsubsection{Check package \xpackage{luacolor}} -% -% \begin{macrocode} -\ltx@newif\ifPDFCOL@luacolor -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname ver@luacolor.sty\endcsname\relax - \PDFCOL@luacolorfalse -\else - \PDFCOL@luacolortrue -\fi -% \end{macrocode} -% -% \subsubsection{Check PDF mode} -% -% \begin{macrocode} -\PDFCOL@RequirePackage{infwarerr}[2007/09/09] -\PDFCOL@RequirePackage{iftex}[2019/11/07] -\ifcase\ifpdf\ifPDFCOL@luacolor 1\fi\else 1\fi0 % - \def\PDFCOL@Message{% - \@PackageWarningNoLine{pdfcol}% - }% -\else - \pdfcolAvailablefalse - \def\PDFCOL@Message{% - \@PackageInfoNoLine{pdfcol}% - }% - \PDFCOL@Message{% - Interface disabled because of % - \ifPDFCOL@luacolor - package `luacolor'% - \else - missing PDF mode of pdfTeX% - \fi - }% -\fi -% \end{macrocode} -% -% \subsubsection{Check version of \pdfTeX} -% -% \begin{macrocode} -\ifpdfcolAvailable - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname pdfcolorstack\endcsname\relax - \pdfcolAvailablefalse - \PDFCOL@Message{% - Interface disabled because of too old pdfTeX.\MessageBreak - Required is version 1.40+ for \string\pdfcolorstack - }% - \fi -\fi -\ifpdfcolAvailable - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname pdfcolorstack\endcsname\relax - \pdfcolAvailablefalse - \PDFCOL@Message{% - Interface disabled because of too old pdfTeX.\MessageBreak - Required is version 1.40+ for \string\pdfcolorstackinit - }% - \fi -\fi -% \end{macrocode} -% -% \subsubsection{Check \xfile{pdftex.def}} -% -% \begin{macrocode} -\ifpdfcolAvailable - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname @pdfcolorstack\endcsname\relax -% \end{macrocode} -% Try to load package color if it is not yet loaded (\LaTeX\ case). -% \begin{macrocode} - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname ver@color.sty\endcsname\relax - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname documentclass\endcsname\relax - \else - \RequirePackage[pdftex]{color}\relax - \fi - \fi - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname @pdfcolorstack\endcsname\relax - \pdfcolAvailablefalse - \PDFCOL@Message{% - Interface disabled because `pdftex.def'\MessageBreak - is not loaded or it is too old.\MessageBreak - Required is version 0.04b or greater% - }% - \fi - \fi -\fi -% \end{macrocode} -% -% \begin{macrocode} -\let\pdfcolAvailabletrue\relax -\let\pdfcolAvailablefalse\relax -% \end{macrocode} -% -% \subsection{Enabled interface macros} -% -% \begin{macrocode} -\ifpdfcolAvailable -% \end{macrocode} -% -% \begin{macro}{\pdfcolErrorNoStacks} -% \begin{macrocode} - \let\pdfcolErrorNoStacks\relax -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcol@Value} -% \begin{macrocode} - \expandafter\ifx\csname pdfcol@Value\endcsname\relax - \def\pdfcol@Value{0 g 0 G}% - \fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcol@LiteralModifier} -% \begin{macrocode} - \expandafter\ifx\csname pdfcol@LiteralModifier\endcsname\relax - \def\pdfcol@LiteralModifier{direct}% - \fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolInitStack} -% \begin{macrocode} - \def\pdfcolInitStack#1{% - \expandafter\ifx\csname pdfcol@Stack@#1\endcsname\relax - \global\expandafter\chardef\csname pdfcol@Stack@#1\endcsname=% - \pdfcolorstackinit\pdfcol@LiteralModifier{\pdfcol@Value}% - \relax - \@PackageInfo{pdfcol}{% - New color stack `#1' = \number\csname pdfcol@Stack@#1\endcsname - }% - \else - \@PackageError{pdfcol}{% - Stack `#1' is already defined% - }\@ehc - \fi - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolIfStackExists} -% \begin{macrocode} - \def\pdfcolIfStackExists#1{% - \expandafter\ifx\csname pdfcol@Stack@#1\endcsname\relax - \expandafter\@secondoftwo - \else - \expandafter\@firstoftwo - \fi - }% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\@firstoftwo} -% \begin{macrocode} - \expandafter\ifx\csname @firstoftwo\endcsname\relax - \long\def\@firstoftwo#1#2{#1}% - \fi -% \end{macrocode} -% \end{macro} -% \begin{macro}{\@secondoftwo} -% \begin{macrocode} - \expandafter\ifx\csname @secondoftwo\endcsname\relax - \long\def\@secondoftwo#1#2{#2}% - \fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolSwitchStack} -% \begin{macrocode} - \def\pdfcolSwitchStack#1{% - \pdfcolIfStackExists{#1}{% - \expandafter\let\expandafter\@pdfcolorstack - \csname pdfcol@Stack@#1\endcsname - }{% - \pdfcol@ErrorNoStack{#1}% - }% - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolSetCurrentColor} -% \begin{macrocode} - \def\pdfcolSetCurrentColor{% - \pdfcolorstack\@pdfcolorstack set{\current@color}% - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolSetCurrent} -% \begin{macrocode} - \def\pdfcolSetCurrent#1{% - \ifx\\#1\\% - \pdfcolorstack\@pdfcolorstack current\relax - \else - \pdfcolIfStackExists{#1}{% - \pdfcolorstack\csname pdfcol@Stack@#1\endcsname current\relax - }{% - \pdfcol@ErrorNoStack{#1}% - }% - \fi - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcol@ErrorNoStack} -% \begin{macrocode} - \def\pdfcol@ErrorNoStack#1{% - \@PackageError{pdfcol}{Stack `#1' does not exists}\@ehc - }% -% \end{macrocode} -% \end{macro} -% -% \subsection{Disabled interface macros} -% -% \begin{macrocode} -\else -% \end{macrocode} -% -% \begin{macro}{\pdfcolErrorNoStacks} -% \begin{macrocode} - \def\pdfcolErrorNoStacks{% - \@PackageError{pdfcol}{% - Color stacks are not available% - }{% - Update pdfTeX (1.40) and `pdftex.def' (0.04b) % - if necessary.\MessageBreak - Ensure that `pdftex.def' is loaded % - (package `color' or `xcolor').\MessageBreak - Further messages can be found in TeX's % - protocol file `\jobname.log'.\MessageBreak - \MessageBreak - \@ehc - }% - \global\let\pdfcolErrorNoStacks\relax - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\PDFCOL@Disabled} -% \begin{macrocode} - \def\PDFCOL@Disabled{% - \PDFCOL@Message{% - pdfTeX's color stacks are not available% - }% - \global\let\PDFCOL@Disabled\relax - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolInitStack} -% \begin{macrocode} - \def\pdfcolInitStack#1{% - \PDFCOL@Disabled - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolIfStackExists} -% \begin{macrocode} - \long\def\pdfcolIfStackExists#1#2#3{#3}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolSwitchStack} -% \begin{macrocode} - \def\pdfcolSwitchStack#1{% - \PDFCOL@Disabled - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolSetCurrentColor} -% \begin{macrocode} - \def\pdfcolSetCurrentColor{% - \PDFCOL@Disabled - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pdfcolSetCurrent} -% \begin{macrocode} - \def\pdfcolSetCurrent#1{% - \PDFCOL@Disabled - }% -% \end{macrocode} -% \end{macro} -% \begin{macrocode} -\fi -% \end{macrocode} -% -% \begin{macrocode} -\PDFCOL@AtEnd% -% -% \end{macrocode} -%% \section{Installation} -% -% \subsection{Download} -% -% \paragraph{Package.} This package is available on -% CTAN\footnote{\CTANpkg{pdfcol}}: -% \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/pdfcol.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}] Documentation. -% \end{description} -% -% -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| -% \end{quote} -% -% \subsection{Package installation} -% -% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting -% \docstrip\ archive. The files are extracted by running the -% \xfile{.dtx} through \plainTeX: -% \begin{quote} -% \verb|tex pdfcol.dtx| -% \end{quote} -% -% \paragraph{TDS.} Now the different files must be moved into -% the different directories in your installation TDS tree -% (also known as \xfile{texmf} tree): -% \begin{quote} -% \def\t{^^A -% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} -% pdfcol.sty & tex/generic/oberdiek/pdfcol.sty\\ -% pdfcol.pdf & doc/latex/oberdiek/pdfcol.pdf\\ -% pdfcol.dtx & source/latex/oberdiek/pdfcol.dtx\\ -% \end{tabular}^^A -% }^^A -% \sbox0{\t}^^A -% \ifdim\wd0>\linewidth -% \begingroup -% \advance\linewidth by\leftmargin -% \advance\linewidth by\rightmargin -% \edef\x{\endgroup -% \def\noexpand\lw{\the\linewidth}^^A -% }\x -% \def\lwbox{^^A -% \leavevmode -% \hbox to \linewidth{^^A -% \kern-\leftmargin\relax -% \hss -% \usebox0 -% \hss -% \kern-\rightmargin\relax -% }^^A -% }^^A -% \ifdim\wd0>\lw -% \sbox0{\small\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\footnotesize\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\scriptsize\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\tiny\t}^^A -% \ifdim\wd0>\linewidth -% \lwbox -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \end{quote} -% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's -% TDS installing feature, then some files can already be in the right -% place, see the documentation of \docstrip. -% -% \subsection{Refresh file name databases} -% -% If your \TeX~distribution -% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh -% these. For example, \TeX\,Live\ users run \verb|texhash| or -% \verb|mktexlsr|. -% -% \subsection{Some details for the interested} -% -% \paragraph{Unpacking with \LaTeX.} -% The \xfile{.dtx} chooses its action depending on the format: -% \begin{description} -% \item[\plainTeX:] Run \docstrip\ and extract the files. -% \item[\LaTeX:] Generate the documentation. -% \end{description} -% If you insist on using \LaTeX\ for \docstrip\ (really, -% \docstrip\ does not need \LaTeX), then inform the autodetect routine -% about your intention: -% \begin{quote} -% \verb|latex \let\install=y\input{pdfcol.dtx}| -% \end{quote} -% Do not forget to quote the argument according to the demands -% of your shell. -% -% \paragraph{Generating the documentation.} -% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate -% the documentation. The process can be configured by the -% configuration file \xfile{ltxdoc.cfg}. For instance, put this -% line into this file, if you want to have A4 as paper format: -% \begin{quote} -% \verb|\PassOptionsToClass{a4paper}{article}| -% \end{quote} -% An example follows how to generate the -% documentation with pdf\LaTeX: -% \begin{quote} -%\begin{verbatim} -%pdflatex pdfcol.dtx -%makeindex -s gind.ist pdfcol.idx -%pdflatex pdfcol.dtx -%makeindex -s gind.ist pdfcol.idx -%pdflatex pdfcol.dtx -%\end{verbatim} -% \end{quote} -% -% \begin{History} -% \begin{Version}{2007/09/09 v1.0} -% \item -% First version. -% \end{Version} -% \begin{Version}{2007/12/09 v1.1} -% \item -% \cs{pdfcolSetCurrentColor} added. -% \end{Version} -% \begin{Version}{2007/12/12 v1.2} -% \item -% Detection for package \xpackage{luacolor} added. -% \end{Version} -% \begin{Version}{2016/05/16 v1.3} -% \item -% Documentation updates. -% \end{Version} -% \begin{Version}{2016/05/17 v1.4} -% \item -% Use luatex85 package for new luatex compatibility -% \end{Version} -% \begin{Version}{2018/11/01 v1.5} -% \item -% Remove luatex85 dependency -% \end{Version} -% \begin{Version}{2019/12/29 v1.6} -% \item -% \xpackage{iftex} package. -% \end{Version} -% \end{History} -% -% \PrintIndex -% -% \Finale -\endinput diff --git a/macros/latex/contrib/oberdiek/pdfcol.pdf b/macros/latex/contrib/oberdiek/pdfcol.pdf deleted file mode 100644 index cfc5d41d3b..0000000000 Binary files a/macros/latex/contrib/oberdiek/pdfcol.pdf and /dev/null differ diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf index d611ba65d2..bc2bcfc34f 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf and b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf index 51c9014324..5bf37a6dea 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf and b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf index 56a69feb08..9ef22b141b 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf and b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf index 79740fa651..ebcfef66c0 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcrypt.pdf and b/macros/latex/contrib/oberdiek/pdfcrypt.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfrender.pdf b/macros/latex/contrib/oberdiek/pdfrender.pdf index ae0d3a5b51..f5d7da9a0f 100644 Binary files a/macros/latex/contrib/oberdiek/pdfrender.pdf and b/macros/latex/contrib/oberdiek/pdfrender.pdf differ diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf index 52d39ec04c..351db60331 100644 Binary files a/macros/latex/contrib/oberdiek/protecteddef.pdf and b/macros/latex/contrib/oberdiek/protecteddef.pdf differ diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf index 97a1ff7f44..7cbdc874d6 100644 Binary files a/macros/latex/contrib/oberdiek/resizegather.pdf and b/macros/latex/contrib/oberdiek/resizegather.pdf differ diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf index 15262166fd..db416d802d 100644 Binary files a/macros/latex/contrib/oberdiek/rotchiffre.pdf and b/macros/latex/contrib/oberdiek/rotchiffre.pdf differ diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf index d6a80e564c..0d5b4f9ff6 100644 Binary files a/macros/latex/contrib/oberdiek/scrindex.pdf and b/macros/latex/contrib/oberdiek/scrindex.pdf differ diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf index d63d0f6f4b..4c6388b5fb 100644 Binary files a/macros/latex/contrib/oberdiek/setouterhbox.pdf and b/macros/latex/contrib/oberdiek/setouterhbox.pdf differ diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf index 97e9a8862f..7c534622e3 100644 Binary files a/macros/latex/contrib/oberdiek/settobox.pdf and b/macros/latex/contrib/oberdiek/settobox.pdf differ diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf index c28caf4522..8cfb4f6e67 100644 Binary files a/macros/latex/contrib/oberdiek/stackrel.pdf and b/macros/latex/contrib/oberdiek/stackrel.pdf differ diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf index 1df073bb3a..853e3478c0 100644 Binary files a/macros/latex/contrib/oberdiek/stampinclude.pdf and b/macros/latex/contrib/oberdiek/stampinclude.pdf differ diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf index 7ef081099d..af03656d55 100644 Binary files a/macros/latex/contrib/oberdiek/tabularht.pdf and b/macros/latex/contrib/oberdiek/tabularht.pdf differ diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf index 25560a6b56..dd9bc6df3f 100644 Binary files a/macros/latex/contrib/oberdiek/tabularkv.pdf and b/macros/latex/contrib/oberdiek/tabularkv.pdf differ diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/oberdiek/telprint.pdf index 0b8e6808b5..a01f02b13b 100644 Binary files a/macros/latex/contrib/oberdiek/telprint.pdf and b/macros/latex/contrib/oberdiek/telprint.pdf differ diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf index 8efaa9e500..a2a14e0cfc 100644 Binary files a/macros/latex/contrib/oberdiek/thepdfnumber.pdf and b/macros/latex/contrib/oberdiek/thepdfnumber.pdf differ diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf index 5a1292e804..415203aef1 100644 Binary files a/macros/latex/contrib/oberdiek/twoopt.pdf and b/macros/latex/contrib/oberdiek/twoopt.pdf differ diff --git a/macros/latex/contrib/pagegrid/README.md b/macros/latex/contrib/pagegrid/README.md new file mode 100644 index 0000000000..2e9e50a1ec --- /dev/null +++ b/macros/latex/contrib/pagegrid/README.md @@ -0,0 +1,12 @@ +# pagegrid package + +Version: 2022-09-21 v1.6 + +This package prints a page grid in the background; + +## Copyright (C) +* 2009 Heiko Oberdiek +* 2016-2022 Oberdiek Package Support Group + +## License +LATEX Project Public License, version 1.3c or later. \ No newline at end of file diff --git a/macros/latex/contrib/pagegrid/pagegrid.dtx b/macros/latex/contrib/pagegrid/pagegrid.dtx new file mode 100644 index 0000000000..a38a4fe8de --- /dev/null +++ b/macros/latex/contrib/pagegrid/pagegrid.dtx @@ -0,0 +1,942 @@ +% \iffalse meta-comment +% +% File: pagegrid.dtx +% Version: 2022-09-21 v1.6 +% Info: Print page grid in background +% +% Copyright (C) +% 2009 Heiko Oberdiek +% 2016-2022 Oberdiek Package Support Group +% https://github.com/ho-tex/pagegrid/issues +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any later +% version. This version of this license is in +% https://www.latex-project.org/lppl/lppl-1-3c.txt +% and the latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainers of this work are +% Heiko Oberdiek and the Oberdiek Package Support Group +% https://github.com/ho-tex/pagegrid/issues +% +% This work consists of the main source file pagegrid.dtx +% and the derived files +% pagegrid.sty, pagegrid.pdf, pagegrid.ins, pagegrid.drv, +% pagegrid-test1.tex. +% +% Distribution: +% CTAN:macros/latex/contrib/pagegrid/pagegrid.dtx +% CTAN:macros/latex/contrib/pagegrid/pagegrid.pdf +% +% Unpacking: +% (a) If pagegrid.ins is present: +% tex pagegrid.ins +% (b) Without pagegrid.ins: +% tex pagegrid.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{pagegrid.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If pagegrid.drv is present: +% latex pagegrid.drv +% (b) Without pagegrid.drv: +% latex pagegrid.dtx; ... +% The class ltxdoc loads the configuration file ltxdoc.cfg +% if available. Here you can specify further options, e.g. +% use A4 as paper format: +% \PassOptionsToClass{a4paper}{article} +% +% Programm calls to get the documentation (example): +% pdflatex pagegrid.dtx +% makeindex -s gind.ist pagegrid.idx +% pdflatex pagegrid.dtx +% makeindex -s gind.ist pagegrid.idx +% pdflatex pagegrid.dtx +% +% Installation: +% TDS:tex/latex/pagegrid/pagegrid.sty +% TDS:doc/latex/pagegrid/pagegrid.pdf +% TDS:source/latex/pagegrid/pagegrid.dtx +% +%<*ignore> +\begingroup + \catcode123=1 % + \catcode125=2 % + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +% +%<*install> +\input docstrip.tex +\Msg{************************************************************************} +\Msg{* Installation} +\Msg{* Package: pagegrid 2022-09-21 v1.6 Print page grid in background (HO)} +\Msg{************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: pagegrid +Version: 2022-09-21 v1.6 + +Copyright (C) + 2009 Heiko Oberdiek + 2016-2022 Oberdiek Package Support Group + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. This version of this license is in + https://www.latex-project.org/lppl/lppl-1-3c.txt +and the latest version of this license is in + https://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of +LaTeX version 2005/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainers of this work are +Heiko Oberdiek and the Oberdiek Package Support Group +https://github.com/ho-tex/pagegrid/issues + + +This work consists of the main source file pagegrid.dtx +and the derived files + pagegrid.sty, pagegrid.pdf, pagegrid.ins, pagegrid.drv, + pagegrid-test1.tex. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{pagegrid.ins}{\from{pagegrid.dtx}{install}}% + \file{pagegrid.drv}{\from{pagegrid.dtx}{driver}}% + \usedir{tex/latex/pagegrid}% + \file{pagegrid.sty}{\from{pagegrid.dtx}{package}}% +% \usedir{doc/latex/pagegrid/test}% +% \file{pagegrid-test1.tex}{\from{pagegrid.dtx}{test1}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* pagegrid.sty} +\Msg{*} +\Msg{* To produce the documentation run the file `pagegrid.drv'} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +% +%<*ignore> +\fi +% +%<*driver> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{pagegrid.drv}% + [2022-09-21 v1.6 Print page grid in background (HO)]% +\documentclass{ltxdoc} +\usepackage{holtxdoc}[2011/11/22] +\begin{document} + \DocInput{pagegrid.dtx}% +\end{document} +% +% \fi +% +% +% +% \GetFileInfo{pagegrid.drv} +% +% \title{The \xpackage{pagegrid} package} +% \date{2022-09-21 v1.6} +% \author{Heiko Oberdiek\thanks +% {Please report any issues at \url{https://github.com/ho-tex/pagegrid/issues}}} +% +% \maketitle +% +% \begin{abstract} +% The \LaTeX\ package prints a page grid in the background. +% \end{abstract} +% +% \tableofcontents +% +% \section{Documentation} +% +% The package puts a grid on the paper. It was written for +% developers of a class or package +% who have to put elements on definite locations on a page +% (e.g. letter class). The grid allows a faster optical check, +% whether the positions are correct. If the previewer already +% offers features for measuring, the package might be obsolete. +% Otherwise it saves the developer from printing the page and +% measuring by hand. +% +% \subsection{Options} +% +% Options are evaluated in the following order: +% \begin{enumerate} +% \item +% Configuration file \xfile{pagegrid.cfg} using \cs{pagegridsetup} +% if the file exists. +% \item +% Package options given for \cs{usepackage}. +% \item +% Later calls of \cs{pagegridsetup}. +% \end{enumerate} +% \begin{declcs}{pagegridsetup}\M{option list} +% \end{declcs} +% The options are key value options. Boolean options are enabled by +% default (without value) or by using the explicit value \texttt{true}. +% Value \texttt{false} disable the option. +% +% \subsubsection{Options \xoption{enable}, \xoption{disable}} +% +% \begin{description} +% \item[\xoption{enable}:] This boolean option controls whether the page grid +% is drawn. As default the page grid drawing is activated. +% \item[\xoption{disable}:] It is the opposite +% of option \xoption{enable}. It was added for convenience and +% allows the abbreviation \texttt{disable} for \texttt{enable=false}. +% \end{description} +% +% \subsubsection{Grid origins} +% +% The package supports up to two grids on a page allowing +% measurement from opposite directions. As default two grids are drawn, +% the first from bottom left to top right. The origin of the second +% grid is at the opposite top right corner. +% The origins are controlled by the following options. +% The number of grids (one or two) depend on the number of these options +% in one call of \cs{pagegridsetup}. +% The following frame shows a paper and in its corners are the +% corresponding options. At the left and right side alias names +% are given for the options inside the paper. +% \begin{quote} +% \begin{tabular}{@{}r|@{\,}l@{\qquad}r@{\,}|l@{}} +% \cline{2-3} +% \xoption{left-top}, \xoption{lt}, \xoption{top-left} +% & \vphantom{\"U}\xoption{tl} & \xoption{tr} +% & \xoption{top-right}, \xoption{rt}, \xoption{right-top}\\ +% &&&\\ +% \xoption{left-bottom}, \xoption{lb}, \xoption{bottom-left} +% & \xoption{bl} & \xoption{br} +% & \xoption{bottom-right}, \xoption{rb}, \xoption{right-bottom}\\ +% \cline{2-3} +% \end{tabular} +% \end{quote} +% Examples: +% \begin{quote} +% |\pagegridsetup{bl,tr}| +% \end{quote} +% This is the default setting with two grids as described previously. +% The following setups one grid only. Its origin is the upper left +% corner: +% \begin{quote} +% |\pagegridsetup{top-left}| +% \end{quote} +% +% \subsubsection{Grid unit} +% +% \begin{description} +% \item[\xoption{step}] This option takes a length and +% setups the unit for the grid. The page width and page height +% should be multiples of this unit. +% Currently the default is \texttt{1mm}. But this might change +% later by a heuristic based on the paper size. +% \end{description} +% +% \subsubsection{Color options} +% +% The basic grid lines are drawn as ultra thin help lines and is only +% drawn for the first grid. +% Each tenth and fiftyth line of the basic net is drawn thicker in a special +% color for the two grids. +% \begin{description} +% \item[\xoption{firstcolor}:] Color for the thicker lines and the arrows +% of the first grid. Default value is \texttt{red}. +% \item[\xoption{secondcolor}:] Color for the thicker lines and the arrows +% of the second grid. Default value is \texttt{blue}. +% \end{description} +% Use a color specification that package \xpackage{tikz} understands. +% (The grid is drawn with \xpackage{pgf}/\xpackage{tikz}.) +% +% \subsubsection{Arrow options} +% +% Arrows are put at the origin at the grid to show the grid start +% and the direction of the grid. +% \begin{description} +% \item[\xoption{arrows}:] This boolean option turns the arrows on or off. +% As default arrows are enabled. +% \item[\xoption{arrowlength}:] The length given as value is the +% length of the edge of a square at the origin within the +% arrow is put as diagonal. Default is 10 times the grid unit (10\,mm). +% The real arrow length is this length multiplied by $\sqrt2$. +% \end{description} +% +% \subsubsection{Miscellaneous options} +% +% \begin{description} +% \item[\xoption{double}:] The output page is doubled, one without page +% grid and the other with page grid. Possible values are shown in the +% following table: +% \begin{quote} +% \begin{tabular}{ll} +% Option & Meaning\\ +% \hline +% |false| & Turns option off.\\ +% |first| & Grid page comes first.\\ +% |last| & Grid page comes after the page without grid.\\ +% |true| & Same as |last|.\\ +% \meta{no value} & Same as |true|.\\ +% \end{tabular} +% \end{quote} +% \textbf{Note:} +% The double output of the page has side effects. +% All whatsits are executed twice, for example: file writing +% and anchor setting. Some unwanted actions are catched such +% as multiple \cs{label} definitions, duplicate entries in +% the table of contents. For bookmarks, use package \xpackage{bookmarks}. +% \item[\xoption{foreground}:] Boolean option, default is \texttt{false}. +% Sometimes there might be elements on the page (e.g. large images) +% that hide the grid. Then option \xoption{foreground} puts the grids +% over the current output page. +% \end{description} +% +% \StopEventually{ +% } +% +% \section{Implementation} +% \begin{macrocode} +%<*package> +% \end{macrocode} +% Reload check, especially if the package is not used with \LaTeX. +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode58=12 % : + \catcode64=11 % @ + \catcode123=1 % { + \catcode125=2 % } + \expandafter\let\expandafter\x\csname ver@pagegrid.sty\endcsname + \ifx\x\relax % plain-TeX, first loading + \else + \def\empty{}% + \ifx\x\empty % LaTeX, first loading, + % variable is initialized, but \ProvidesPackage not yet seen + \else + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% + \fi + \x{pagegrid}{The package is already loaded}% + \aftergroup\endinput + \fi + \fi +\endgroup% +% \end{macrocode} +% Package identification: +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode40=12 % ( + \catcode41=12 % ) + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode47=12 % / + \catcode58=12 % : + \catcode64=11 % @ + \catcode91=12 % [ + \catcode93=12 % ] + \catcode123=1 % { + \catcode125=2 % } + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1#2#3[#4]{\endgroup + \immediate\write-1{Package: #3 #4}% + \xdef#1{#4}% + }% + \else + \def\x#1#2[#3]{\endgroup + #2[{#3}]% + \ifx#1\@undefined + \xdef#1{#3}% + \fi + \ifx#1\relax + \xdef#1{#3}% + \fi + }% + \fi +\expandafter\x\csname ver@pagegrid.sty\endcsname +\ProvidesPackage{pagegrid}% + [2022-09-21 v1.6 Print page grid in background (HO)]% +% \end{macrocode} +% +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \def\x{\endgroup + \expandafter\edef\csname pagegrid@AtEnd\endcsname{% + \endlinechar=\the\endlinechar\relax + \catcode13=\the\catcode13\relax + \catcode32=\the\catcode32\relax + \catcode35=\the\catcode35\relax + \catcode61=\the\catcode61\relax + \catcode64=\the\catcode64\relax + \catcode123=\the\catcode123\relax + \catcode125=\the\catcode125\relax + }% + }% +\x\catcode61\catcode48\catcode32=10\relax% +\catcode13=5 % ^^M +\endlinechar=13 % +\catcode35=6 % # +\catcode64=11 % @ +\catcode123=1 % { +\catcode125=2 % } +\def\TMP@EnsureCode#1#2{% + \edef\pagegrid@AtEnd{% + \pagegrid@AtEnd + \catcode#1=\the\catcode#1\relax + }% + \catcode#1=#2\relax +} +\TMP@EnsureCode{9}{10}% (tab) +\TMP@EnsureCode{10}{12}% ^^J +\TMP@EnsureCode{33}{12}% ! +\TMP@EnsureCode{34}{12}% " +\TMP@EnsureCode{36}{3}% $ +\TMP@EnsureCode{38}{4}% & +\TMP@EnsureCode{39}{12}% ' +\TMP@EnsureCode{40}{12}% ( +\TMP@EnsureCode{41}{12}% ) +\TMP@EnsureCode{42}{12}% * +\TMP@EnsureCode{43}{12}% + +\TMP@EnsureCode{44}{12}% , +\TMP@EnsureCode{45}{12}% - +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{47}{12}% / +\TMP@EnsureCode{58}{12}% : +\TMP@EnsureCode{59}{12}% ; +\TMP@EnsureCode{60}{12}% < +\TMP@EnsureCode{62}{12}% > +\TMP@EnsureCode{63}{12}% ? +\TMP@EnsureCode{91}{12}% [ +\TMP@EnsureCode{93}{12}% ] +\TMP@EnsureCode{94}{7}% ^ (superscript) +\TMP@EnsureCode{95}{8}% _ (subscript) +\TMP@EnsureCode{96}{12}% ` +\TMP@EnsureCode{124}{12}% | +\edef\pagegrid@AtEnd{\pagegrid@AtEnd\noexpand\endinput} +% \end{macrocode} +% +% \begin{macrocode} +\RequirePackage{tikz} +\RequirePackage{atbegshi}[2009/12/02] +\RequirePackage{kvoptions}[2009/07/17] +% \end{macrocode} +% \begin{macrocode} +\def\pagegrid@width{\paperwidth}% +\def\pagegrid@height{\paperheight}% +\@ifundefined{stockwidth}{} + {% + \ifdim \stockwidth > 0pt\relax + \ifdim \stockheight > 0pt \relax + \def\pagegrid@width{\stockwidth}% + \def\pagegrid@height{\stockheight}% + \fi + \fi + } +% \end{macrocode} +% +% \begin{macrocode} +\SetupKeyvalOptions{% + family=pagegrid,% + prefix=pagegrid@,% +} +\def\pagegrid@init{% + \let\pagegrid@origin@a\@empty + \let\pagegrid@origin@b\@empty + \let\pagegrid@init\relax +} +\let\pagegrid@@init\pagegrid@init +\def\pagegrid@origin@a{bl} +\def\pagegrid@origin@b{tr} +\def\pagegrid@SetOrigin#1{% + \pagegrid@init + \ifx\pagegrid@origin@a\@empty + \def\pagegrid@origin@a{#1}% + \else + \ifx\pagegrid@origin@b\@empty + \else + \let\pagegrid@origin@a\pagegrid@origin@b + \fi + \def\pagegrid@origin@b{#1}% + \fi +} +\def\pagegrid@temp#1{% + \DeclareVoidOption{#1}{\pagegrid@SetOrigin{#1}}% + \@namedef{pagegrid@N@#1}{#1}% +} +\pagegrid@temp{bl} +\pagegrid@temp{br} +\pagegrid@temp{tl} +\pagegrid@temp{tr} +\def\pagegrid@temp#1#2{% + \DeclareVoidOption{#2}{\pagegrid@SetOrigin{#1}}% +}% +\pagegrid@temp{bl}{lb} +\pagegrid@temp{br}{rb} +\pagegrid@temp{tl}{lt} +\pagegrid@temp{tr}{rt} +\pagegrid@temp{bl}{bottom-left} +\pagegrid@temp{br}{bottom-right} +\pagegrid@temp{tl}{top-left} +\pagegrid@temp{tr}{top-right} +\pagegrid@temp{bl}{left-bottom} +\pagegrid@temp{br}{right-bottom} +\pagegrid@temp{tl}{left-top} +\pagegrid@temp{tr}{right-top} +% \end{macrocode} +% \begin{macrocode} +\DeclareBoolOption[true]{enable} +\DeclareComplementaryOption{disable}{enable} +% \end{macrocode} +% \begin{macrocode} +\DeclareBoolOption{foreground} +% \end{macrocode} +% \begin{macrocode} +\newlength{\pagegrid@step} +\define@key{pagegrid}{step}{% + \setlength{\pagegrid@step}{#1}% +} +% \end{macrocode} +% \begin{macrocode} +\DeclareStringOption[red]{firstcolor} +\DeclareStringOption[blue]{secondcolor} +% \end{macrocode} +% \begin{macrocode} +\DeclareBoolOption[true]{arrows} +\newlength\pagegrid@arrowlength +\pagegrid@arrowlength=\z@ +\define@key{pagegrid}{arrowlength}{% + \setlength{\pagegrid@arrowlength}{#1}% +} +% \end{macrocode} +% \begin{macrocode} +\define@key{pagegrid}{double}[true]{% + \@ifundefined{pagegrid@double@#1}{% + \PackageWarning{pagegrid}{% + Unsupported value `#1' for option `double'.\MessageBreak + Known values are:\MessageBreak + `false', `first', `last', `true'.\MessageBreak + Now `false' is used% + }% + \chardef\pagegrid@double\z@ + }{% + \chardef\pagegrid@double\csname pagegrid@double@#1\endcsname\relax + }% +} +\@namedef{pagegrid@double@false}{0} +\@namedef{pagegrid@double@first}{1} +\@namedef{pagegrid@double@last}{2} +\@namedef{pagegrid@double@true}{2} +\chardef\pagegrid@double\z@ +% \end{macrocode} +% \begin{macrocode} +\newcommand*{\pagegridsetup}{% + \let\pagegrid@init\pagegrid@@init + \setkeys{pagegrid}% +} +% \end{macrocode} +% \begin{macrocode} +\pagegridsetup{% + step=1mm% +} +\InputIfFileExists{pagegrid.cfg}{}% +\ProcessKeyvalOptions*\relax +\AtBeginDocument{% + \ifdim\pagegrid@arrowlength>\z@ + \else + \pagegrid@arrowlength=10\pagegrid@step + \fi +} +% \end{macrocode} +% +% \begin{macrocode} +\def\pagegridShipoutDoubleBegin{% + \begingroup + \let\newlabel\@gobbletwo + \let\zref@newlabel\@gobbletwo + \let\@writefile\@gobbletwo + \let\select@language\@gobble +} +\def\pagegridShipoutDoubleEnd{% + \endgroup +} +\def\pagegrid@WriteDouble#1#2{% + \immediate\write#1{% + \@backslashchar csname % + pagegridShipoutDouble#2% + \@backslashchar endcsname% + }% +} +\def\pagegrid@ShipoutDouble#1{% + \begingroup + \if@filesw + \pagegrid@WriteDouble\@mainaux{Begin}% + \ifx\@auxout\@partaux + \pagegrid@WriteDouble\@partaux{Begin}% + \def\pagegrid@temp{% + \pagegrid@WriteDouble\@mainaux{End}% + \pagegrid@WriteDouble\@partaux{End}% + }% + \else + \def\pagegrid@temp{% + \pagegrid@WriteDouble\@mainaux{End}% + }% + \fi + \else + \def\pagegrid@temp{}% + \fi + \let\protect\noexpand + \AtBeginShipoutOriginalShipout\copy#1\relax + \pagegrid@temp + \endgroup +} +% \end{macrocode} +% +% \begin{macrocode} +\AtBeginShipout{% + \ifdim\pagegrid@step>\z@ + \else + \pagegrid@enablefalse + \fi + \ifpagegrid@enable + \ifnum\pagegrid@double=\@ne + \pagegrid@ShipoutDouble\AtBeginShipoutBox + \else + \ifnum\pagegrid@double=\tw@ + \@ifundefined{pagegrid@DoubleBox}{% + \newbox\pagegrid@DoubleBox + }{}% + \setbox\pagegrid@DoubleBox=\copy\AtBeginShipoutBox + \fi + \fi + \ifpagegrid@foreground + \expandafter\AtBeginShipoutUpperLeftForeground + \else + \expandafter\AtBeginShipoutUpperLeft + \fi + {% + \put(0,0){% + \makebox(0,0)[lt]{% + \begin{tikzpicture}[% + bl/.style={},% + br/.style={xshift=\pagegrid@width,xscale=-1},% + tl/.style={yshift=\pagegrid@height,yscale=-1},% + tr/.style={xshift=\pagegrid@width,% + yshift=\pagegrid@height,scale=-1}% + ]% + \useasboundingbox + (0mm,\pagegrid@height) rectangle (0mm,\pagegrid@height);% + \draw[% + \pagegrid@origin@a,% + step=\pagegrid@step,% + style=help lines,% + ultra thin% + ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% + \ifx\pagegrid@origin@b\@empty + \else + \draw[% + \pagegrid@origin@b,% + step=10\pagegrid@step,% + {\pagegrid@secondcolor},% + very thin% + ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% + \fi + \draw[% + \pagegrid@origin@a,% + step=10\pagegrid@step,% + {\pagegrid@firstcolor},% + very thin% + ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% + \ifx\pagegrid@origin@b\@empty + \else + \draw[% + \pagegrid@origin@b,% + step=50\pagegrid@step,% + {\pagegrid@secondcolor},% + thick% + ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% + \fi + \draw[% + \pagegrid@origin@a,% + step=50\pagegrid@step,% + {\pagegrid@firstcolor},% + thick% + ] (0mm,0mm) grid (\pagegrid@width,\pagegrid@height);% + \ifpagegrid@arrows + \ifx\pagegrid@origin@b\@empty + \else + \draw[% + \pagegrid@origin@b,% + {\pagegrid@secondcolor},% + stroke,% + line width=1pt,% + line cap=round% + ] (0mm,0mm) % + -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % + (\pagegrid@arrowlength,.5\pagegrid@arrowlength) % + -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % + -- (.5\pagegrid@arrowlength,\pagegrid@arrowlength);% + \fi + \draw[% + \pagegrid@origin@a,% + {\pagegrid@firstcolor},% + stroke,% + line width=1pt,% + line cap=round% + ] (0mm,0mm) % + -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % + (\pagegrid@arrowlength,.5\pagegrid@arrowlength) % + -- (\pagegrid@arrowlength,\pagegrid@arrowlength) % + -- (.5\pagegrid@arrowlength,\pagegrid@arrowlength);% + \fi + \end{tikzpicture}% + }% + }% + }% + \ifnum\pagegrid@double=\tw@ + \pagegrid@ShipoutDouble\pagegrid@DoubleBox + \fi + \fi +} +% \end{macrocode} +% +% \begin{macrocode} +\pagegrid@AtEnd% +% +% \end{macrocode} +%% \section{Installation} +% +% \subsection{Download} +% +% \paragraph{Package.} This package is available on +% CTAN\footnote{\CTANpkg{pagegrid}}: +% \begin{description} +% \item[\CTAN{macros/latex/contrib/pagegrid/pagegrid.dtx}] The source file. +% \item[\CTAN{macros/latex/contrib/pagegrid/pagegrid.pdf}] Documentation. +% \end{description} +% +% +% +% \subsection{Package installation} +% +% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting +% \docstrip\ archive. The files are extracted by running the +% \xfile{.dtx} through \plainTeX: +% \begin{quote} +% \verb|tex pagegrid.dtx| +% \end{quote} +% +% \paragraph{TDS.} Now the different files must be moved into +% the different directories in your installation TDS tree +% (also known as \xfile{texmf} tree): +% \begin{quote} +% \def\t{^^A +% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} +% pagegrid.sty & tex/latex/pagegrid/pagegrid.sty\\ +% pagegrid.pdf & doc/latex/pagegrid/pagegrid.pdf\\ +% pagegrid.dtx & source/latex/pagegrid/pagegrid.dtx\\ +% \end{tabular}^^A +% }^^A +% \sbox0{\t}^^A +% \ifdim\wd0>\linewidth +% \begingroup +% \advance\linewidth by\leftmargin +% \advance\linewidth by\rightmargin +% \edef\x{\endgroup +% \def\noexpand\lw{\the\linewidth}^^A +% }\x +% \def\lwbox{^^A +% \leavevmode +% \hbox to \linewidth{^^A +% \kern-\leftmargin\relax +% \hss +% \usebox0 +% \hss +% \kern-\rightmargin\relax +% }^^A +% }^^A +% \ifdim\wd0>\lw +% \sbox0{\small\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\footnotesize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\scriptsize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\tiny\t}^^A +% \ifdim\wd0>\linewidth +% \lwbox +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \end{quote} +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's +% TDS installing feature, then some files can already be in the right +% place, see the documentation of \docstrip. +% +% \subsection{Refresh file name databases} +% +% If your \TeX~distribution +% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh +% these. For example, \TeX\,Live\ users run \verb|texhash| or +% \verb|mktexlsr|. +% +% \subsection{Some details for the interested} +% +% \paragraph{Unpacking with \LaTeX.} +% The \xfile{.dtx} chooses its action depending on the format: +% \begin{description} +% \item[\plainTeX:] Run \docstrip\ and extract the files. +% \item[\LaTeX:] Generate the documentation. +% \end{description} +% If you insist on using \LaTeX\ for \docstrip\ (really, +% \docstrip\ does not need \LaTeX), then inform the autodetect routine +% about your intention: +% \begin{quote} +% \verb|latex \let\install=y\input{pagegrid.dtx}| +% \end{quote} +% Do not forget to quote the argument according to the demands +% of your shell. +% +% \paragraph{Generating the documentation.} +% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate +% the documentation. The process can be configured by the +% configuration file \xfile{ltxdoc.cfg}. For instance, put this +% line into this file, if you want to have A4 as paper format: +% \begin{quote} +% \verb|\PassOptionsToClass{a4paper}{article}| +% \end{quote} +% An example follows how to generate the +% documentation with pdf\LaTeX: +% \begin{quote} +%\begin{verbatim} +%pdflatex pagegrid.dtx +%makeindex -s gind.ist pagegrid.idx +%pdflatex pagegrid.dtx +%makeindex -s gind.ist pagegrid.idx +%pdflatex pagegrid.dtx +%\end{verbatim} +% \end{quote} +% +% \section{Acknowledgement} +% +% \begin{description} +% \item[Klaus Braune:] +% He provided the idea and the first \xpackage{tikz} code. +% \end{description} +% +% \begin{History} +% \begin{Version}{2009/11/06 v1.0} +% \item +% The first version. +% \end{Version} +% \begin{Version}{2009/11/06 v1.1} +% \item +% Option \xoption{foreground} added. +% \end{Version} +% \begin{Version}{2009/12/02 v1.2} +% \item +% Color options, arrow options added. +% \item +% Names for origin options changed. +% \end{Version} +% \begin{Version}{2009/12/03 v1.3} +% \item +% Option \xoption{double} added. +% \item +% First CTAN release. +% \end{Version} +% \begin{Version}{2009/12/04 v1.4} +% \item +% Option \xoption{double}: Some unwanted side effects removed. +% \end{Version} +% \begin{Version}{2016/05/16 v1.5} +% \item +% Documentation updates. +% \end{Version} +% \begin{Version}{2022-09-21 v1.6} +% \item Adapted the test for stockwidth/stockheight to a change in the \LaTeX\ kernel. +% \end{Version} +% \end{History} +% +% \PrintIndex +% +% \Finale +\endinput diff --git a/macros/latex/contrib/pagegrid/pagegrid.pdf b/macros/latex/contrib/pagegrid/pagegrid.pdf new file mode 100644 index 0000000000..589e3ea019 Binary files /dev/null and b/macros/latex/contrib/pagegrid/pagegrid.pdf differ diff --git a/macros/latex/contrib/pdfcol/README.md b/macros/latex/contrib/pdfcol/README.md new file mode 100644 index 0000000000..e8281aeae1 --- /dev/null +++ b/macros/latex/contrib/pdfcol/README.md @@ -0,0 +1,18 @@ +# pdfcol + +Version: 2022-09-21 v1.7 + +Macros for setting and maintaining new color stacks. + +Since version 1.40 pdfTeX supports color stacks. +The driver file pdftex.def for package color +defines and uses a main color stack since version v0.04b. +Package pdfcol is intended for package writers. +It defines macros for setting and maintaining new color stacks. + +## Copyright (C) +* 2007 Heiko Oberdiek +* 2016-2022 Oberdiek Package Support Group + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/macros/latex/contrib/pdfcol/pdfcol.dtx b/macros/latex/contrib/pdfcol/pdfcol.dtx new file mode 100644 index 0000000000..7d8c4b3457 --- /dev/null +++ b/macros/latex/contrib/pdfcol/pdfcol.dtx @@ -0,0 +1,882 @@ +% \iffalse meta-comment +% +% File: pdfcol.dtx +% Version: 2022-09-21 v1.7 +% Info: Handle new color stacks for pdfTeX +% +% Copyright (C) +% 2007 Heiko Oberdiek +% 2016-2022 Oberdiek Package Support Group +% https://github.com/ho-tex/pdfcol/issues +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any later +% version. This version of this license is in +% https://www.latex-project.org/lppl/lppl-1-3c.txt +% and the latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainers of this work are +% Heiko Oberdiek and the Oberdiek Package Support Group +% https://github.com/ho-tex/pdfcol/issues +% +% The Base Interpreter refers to any `TeX-Format', +% because some files are installed in TDS:tex/generic//. +% +% This work consists of the main source file pdfcol.dtx +% and the derived files +% pdfcol.sty, pdfcol.pdf, pdfcol.ins, pdfcol.drv, pdfcol-test1.tex, +% pdfcol-test2.tex, pdfcol-test3.tex, pdfcol-test4.tex. +% +% Distribution: +% CTAN:macros/latex/contrib/pdfcol/pdfcol.dtx +% CTAN:macros/latex/contrib/pdfcol/pdfcol.pdf +% +% Unpacking: +% (a) If pdfcol.ins is present: +% tex pdfcol.ins +% (b) Without pdfcol.ins: +% tex pdfcol.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{pdfcol.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If pdfcol.drv is present: +% latex pdfcol.drv +% (b) Without pdfcol.drv: +% latex pdfcol.dtx; ... +% The class ltxdoc loads the configuration file ltxdoc.cfg +% if available. Here you can specify further options, e.g. +% use A4 as paper format: +% \PassOptionsToClass{a4paper}{article} +% +% Programm calls to get the documentation (example): +% pdflatex pdfcol.dtx +% makeindex -s gind.ist pdfcol.idx +% pdflatex pdfcol.dtx +% makeindex -s gind.ist pdfcol.idx +% pdflatex pdfcol.dtx +% +% Installation: +% TDS:tex/generic/pdfcol/pdfcol.sty +% TDS:doc/latex/pdfcol/pdfcol.pdf +% TDS:source/latex/pdfcol/pdfcol.dtx +% +%<*ignore> +\begingroup + \catcode123=1 % + \catcode125=2 % + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +% +%<*install> +\input docstrip.tex +\Msg{************************************************************************} +\Msg{* Installation} +\Msg{* Package: pdfcol 2022-09-21 v1.7 Handle new color stacks for pdfTeX (HO)} +\Msg{************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: pdfcol +Version: 2022-09-21 v1.7 + +Copyright (C) + 2007 Heiko Oberdiek + 2016-2022 Oberdiek Package Support Group + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. This version of this license is in + https://www.latex-project.org/lppl/lppl-1-3c.txt +and the latest version of this license is in + https://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of +LaTeX version 2005/12/01 or later. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainers of this work are +Heiko Oberdiek and the Oberdiek Package Support Group +https://github.com/ho-tex/pdfcol/issues + + +The Base Interpreter refers to any `TeX-Format', +because some files are installed in TDS:tex/generic//. + +This work consists of the main source file pdfcol.dtx +and the derived files + pdfcol.sty, pdfcol.pdf, pdfcol.ins, pdfcol.drv, pdfcol-test1.tex, + pdfcol-test2.tex, pdfcol-test3.tex, pdfcol-test4.tex. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{pdfcol.ins}{\from{pdfcol.dtx}{install}}% + \file{pdfcol.drv}{\from{pdfcol.dtx}{driver}}% + \usedir{tex/generic/pdfcol}% + \file{pdfcol.sty}{\from{pdfcol.dtx}{package}}% +% \usedir{doc/latex/pdfcol/test}% +% \file{pdfcol-test1.tex}{\from{pdfcol.dtx}{test1}}% +% \file{pdfcol-test2.tex}{\from{pdfcol.dtx}{test2}}% +% \file{pdfcol-test3.tex}{\from{pdfcol.dtx}{test3}}% +% \file{pdfcol-test4.tex}{\from{pdfcol.dtx}{test4}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* pdfcol.sty} +\Msg{*} +\Msg{* To produce the documentation run the file `pdfcol.drv'} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +% +%<*ignore> +\fi +% +%<*driver> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{pdfcol.drv}% + [2022-09-21 v1.7 Handle new color stacks for pdfTeX (HO)]% +\documentclass{ltxdoc} +\usepackage{holtxdoc}[2011/11/22] +\begin{document} + \DocInput{pdfcol.dtx}% +\end{document} +% +% \fi +% +% +% +% \GetFileInfo{pdfcol.drv} +% +% \title{The \xpackage{pdfcol} package} +% \date{2022-09-21 v1.7} +% \author{Heiko Oberdiek\thanks +% {Please report any issues at \url{https://github.com/ho-tex/pdfcol/issues}}} +% +% \maketitle +% +% \begin{abstract} +% Since version 1.40 \pdfTeX\ supports color stacks. +% The driver file \xfile{pdftex.def} for package \xpackage{color} +% defines and uses a main color stack since version v0.04b. +% Package \xpackage{pdfcol} is intended for package writers. +% It defines macros for setting and maintaining new color stacks. +% It works also with lua\TeX. +% \end{abstract} +% +% \tableofcontents +% +% \section{Documentation} +% +% Version 1.40 of \pdfTeX\ adds new primitives \cs{pdfcolorstackinit} +% and \cs{pdfcolorstack}. Now color stacks can be defined and used. +% A main color stack is maintained by the driver file \xfile{pdftex.def} +% similar to dvips or dvipdfm. However the number of color stacks +% is not limited to one in \pdfTeX. Thus further color problems +% can now be solved, such as footnotes across pages or text +% that is set in parallel columns (e.g. packages \xpackage{parallel} +% or \xpackage{parcolumn}). Unlike the main color stack, +% the support by additional color stacks cannot be done in +% a transparent manner. +% +% This package \xpackage{pdfcol} provides an easier interface to +% additional color stacks without the need to use the +% low level primitives. +% +% \subsection{Requirements} +% \label{sec:req} +% +% \begin{itemize} +% \item +% \pdfTeX\ 1.40 or greater or lua\TeX. +% \item +% \pdfTeX or lua\TeX\ in PDF mode. (I don't know a DVI driver that +% support several color stacks.) +% \item +% \xfile{pdftex.def} or \xfile{luatex.def} newer than 2007. +% \end{itemize} +% Package \xpackage{pdfcol} checks the requirements and +% sets switch \cs{ifpdfcolAvailable} accordingly. +% +% \subsection{Interface} +% +% \begin{declcs}{ifpdfcolAvailable} +% \end{declcs} +% If the requirements of section \ref{sec:req} are met the +% switch \cs{ifpdfcolAvailable} behaves as \cs{iftrue}. +% Otherwise the other interface macros in this section will +% be disabled with a message. Also the first use of such a +% macro will print a message. The messages are print to +% the \xext{log} file only if \pdfTeX\ and lua\TeX\ not used in PDF mode. +% +% \begin{declcs}{pdfcolErrorNoStacks} +% \end{declcs} +% The first call of \cs{pdfcolErrorNoStacks} prints an error +% message, if color stacks are not available. +% +% \begin{declcs}{pdfcolInitStack} \M{name} +% \end{declcs} +% A new color stack is initialized by \cs{pdfcolInitStack}. +% The \meta{name} is used for identifying the stack. It usually +% consists of letters and digits. (The name must survive a \cs{csname}.) +% +% The intension of the macro is the definition of an additional +% color stack. Thus the stack is not page bounded like the +% main color stack. Black (\texttt{0 g 0 G}) is used as initial +% color value. And colors are written with modifier \texttt{direct} +% that means without setting the current transfer matrix and changing +% the current point (see documentation of \pdfTeX\ for +% |\pdfliteral direct{...}|). +% +% \begin{declcs}{pdfcolIfStackExists} \M{name} \M{then} \M{else} +% \end{declcs} +% Macro \cs{pdfcolIfStackExists} checks whether color stack \meta{name} +% exists. In case of success argument \meta{then} is executed +% and \meta{else} otherwise. +% +% \begin{declcs}{pdfcolSwitchStack} \M{name} +% \end{declcs} +% Macro \cs{pdfcolSwitchStack} switches the color stack. The color macros +% of package \xpackage{color} (or \xpackage{xcolor}) now uses the +% new color stack with name \meta{name}. +% +% \begin{declcs}{pdfcolSetCurrentColor} +% \end{declcs} +% Macro \cs{pdfcolSetCurrentColor} replaces the topmost +% entry of the stack by the current color (\cs{current@color}). +% +% \begin{declcs}{pdfcolSetCurrent} \M{name} +% \end{declcs} +% Macro \cs{pdfcolSetCurrent} sets the color that is read in +% the top-most entry of color stack \meta{name}. If \meta{name} +% is empty, the default color stack is used. +% +% \StopEventually{ +% } +% +% \section{Implementation} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \subsection{Reload check and package identification} +% Reload check, especially if the package is not used with \LaTeX. +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode58=12 % : + \catcode64=11 % @ + \catcode123=1 % { + \catcode125=2 % } + \expandafter\let\expandafter\x\csname ver@pdfcol.sty\endcsname + \ifx\x\relax % plain-TeX, first loading + \else + \def\empty{}% + \ifx\x\empty % LaTeX, first loading, + % variable is initialized, but \ProvidesPackage not yet seen + \else + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% + \fi + \x{pdfcol}{The package is already loaded}% + \aftergroup\endinput + \fi + \fi +\endgroup% +% \end{macrocode} +% Package identification: +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode35=6 % # + \catcode39=12 % ' + \catcode40=12 % ( + \catcode41=12 % ) + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode47=12 % / + \catcode58=12 % : + \catcode64=11 % @ + \catcode91=12 % [ + \catcode93=12 % ] + \catcode123=1 % { + \catcode125=2 % } + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1#2#3[#4]{\endgroup + \immediate\write-1{Package: #3 #4}% + \xdef#1{#4}% + }% + \else + \def\x#1#2[#3]{\endgroup + #2[{#3}]% + \ifx#1\@undefined + \xdef#1{#3}% + \fi + \ifx#1\relax + \xdef#1{#3}% + \fi + }% + \fi +\expandafter\x\csname ver@pdfcol.sty\endcsname +\ProvidesPackage{pdfcol}% + [2022-09-21 v1.7 Handle new color stacks for pdfTeX (HO)]% +% \end{macrocode} +% +% \subsection{Catcodes} +% +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \def\x{\endgroup + \expandafter\edef\csname PDFCOL@AtEnd\endcsname{% + \endlinechar=\the\endlinechar\relax + \catcode13=\the\catcode13\relax + \catcode32=\the\catcode32\relax + \catcode35=\the\catcode35\relax + \catcode61=\the\catcode61\relax + \catcode64=\the\catcode64\relax + \catcode123=\the\catcode123\relax + \catcode125=\the\catcode125\relax + }% + }% +\x\catcode61\catcode48\catcode32=10\relax% +\catcode13=5 % ^^M +\endlinechar=13 % +\catcode35=6 % # +\catcode64=11 % @ +\catcode123=1 % { +\catcode125=2 % } +\def\TMP@EnsureCode#1#2{% + \edef\PDFCOL@AtEnd{% + \PDFCOL@AtEnd + \catcode#1=\the\catcode#1\relax + }% + \catcode#1=#2\relax +} +\TMP@EnsureCode{39}{12}% ' +\TMP@EnsureCode{40}{12}% ( +\TMP@EnsureCode{41}{12}% ) +\TMP@EnsureCode{43}{12}% + +\TMP@EnsureCode{44}{12}% , +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{47}{12}% / +\TMP@EnsureCode{91}{12}% [ +\TMP@EnsureCode{93}{12}% ] +\TMP@EnsureCode{96}{12}% ` +\edef\PDFCOL@AtEnd{\PDFCOL@AtEnd\noexpand\endinput} +% \end{macrocode} +% +% \subsection{Check requirements} +% +% \begin{macro}{\PDFCOL@RequirePackage} +% \begin{macrocode} +\ifcsname RequirePackage\endcsname + \def\PDFCOL@RequirePackage#1[#2]{% + \RequirePackage{#1}[{#2}]% + }% +\else + \def\PDFCOL@RequirePackage#1[#2]{\input #1.sty\relax}% +\fi +% \end{macrocode} +% \end{macro} +% +% LuaTeX Compatability +% \begin{macrocode} +\ifx\pdfextension\@undefined\else + \def\pdfcolorstackinit {\pdffeedback colorstackinit} + \protected\def\pdfcolorstack {\pdfextension colorstack} +\fi +% \end{macrocode} +% +% \begin{macrocode} +\PDFCOL@RequirePackage{ltxcmds}[2010/03/01] +% \end{macrocode} +% +% \begin{macro}{ifpdfcolAvailable} +% \begin{macrocode} +\ltx@newif\ifpdfcolAvailable +\pdfcolAvailabletrue +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Check package \xpackage{luacolor}} +% +% \begin{macrocode} +\ltx@newif\ifPDFCOL@luacolor +\ifcsname ver@luacolor.sty\endcsname + \PDFCOL@luacolortrue +\else + \PDFCOL@luacolorfalse +\fi +% \end{macrocode} +% +% \subsubsection{Check PDF mode} +% +% \begin{macrocode} +\PDFCOL@RequirePackage{infwarerr}[2007/09/09] +\PDFCOL@RequirePackage{iftex}[2019/11/07] +\ifcase\ifpdf\ifPDFCOL@luacolor 1\fi\else 1\fi0 % + \def\PDFCOL@Message{% + \@PackageWarningNoLine{pdfcol}% + }% +\else + \pdfcolAvailablefalse + \def\PDFCOL@Message{% + \@PackageInfoNoLine{pdfcol}% + }% + \PDFCOL@Message{% + Interface disabled because of % + \ifPDFCOL@luacolor + package `luacolor'% + \else + missing PDF mode of pdfTeX% + \fi + }% +\fi +% \end{macrocode} +% +% \subsubsection{Check version of \pdfTeX} +% The version check has been removed. We assume a new enough \pdfTeX. +% +% \subsubsection{Check \xfile{pdftex.def}} +% We no longer check the version but assume that it is new enough. +% \begin{macrocode} +\ifpdfcolAvailable +% \end{macrocode} +% Try to load package color if it is not yet loaded (\LaTeX\ case). +% \begin{macrocode} + \ifcsname documentclass\endcsname + \RequirePackage{color} + \fi +\fi +% \end{macrocode} +% +% \begin{macrocode} +\let\pdfcolAvailabletrue\relax +\let\pdfcolAvailablefalse\relax +% \end{macrocode} +% +% \subsection{Enabled interface macros} +% +% \begin{macrocode} +\ifpdfcolAvailable +% \end{macrocode} +% +% \begin{macro}{\pdfcolErrorNoStacks} +% \begin{macrocode} + \let\pdfcolErrorNoStacks\relax +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcol@Value} +% \begin{macrocode} + \expandafter\ifx\csname pdfcol@Value\endcsname\relax + \def\pdfcol@Value{0 g 0 G}% + \fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcol@LiteralModifier} +% \begin{macrocode} + \expandafter\ifx\csname pdfcol@LiteralModifier\endcsname\relax + \def\pdfcol@LiteralModifier{direct}% + \fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolInitStack} +% \begin{macrocode} + \def\pdfcolInitStack#1{% + \expandafter\ifx\csname pdfcol@Stack@#1\endcsname\relax + \global\expandafter\chardef\csname pdfcol@Stack@#1\endcsname=% + \pdfcolorstackinit\pdfcol@LiteralModifier{\pdfcol@Value}% + \relax + \@PackageInfo{pdfcol}{% + New color stack `#1' = \number\csname pdfcol@Stack@#1\endcsname + }% + \else + \@PackageError{pdfcol}{% + Stack `#1' is already defined% + }\@ehc + \fi + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolIfStackExists} +% \begin{macrocode} + \def\pdfcolIfStackExists#1{% + \expandafter\ifx\csname pdfcol@Stack@#1\endcsname\relax + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi + }% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@firstoftwo} +% \begin{macrocode} + \expandafter\ifx\csname @firstoftwo\endcsname\relax + \long\def\@firstoftwo#1#2{#1}% + \fi +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@secondoftwo} +% \begin{macrocode} + \expandafter\ifx\csname @secondoftwo\endcsname\relax + \long\def\@secondoftwo#1#2{#2}% + \fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolSwitchStack} +% \begin{macrocode} + \def\pdfcolSwitchStack#1{% + \pdfcolIfStackExists{#1}{% + \expandafter\let\expandafter\@pdfcolorstack + \csname pdfcol@Stack@#1\endcsname + }{% + \pdfcol@ErrorNoStack{#1}% + }% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolSetCurrentColor} +% \begin{macrocode} + \def\pdfcolSetCurrentColor{% + \pdfcolorstack\@pdfcolorstack set{\current@color}% + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolSetCurrent} +% \begin{macrocode} + \def\pdfcolSetCurrent#1{% + \ifx\\#1\\% + \pdfcolorstack\@pdfcolorstack current\relax + \else + \pdfcolIfStackExists{#1}{% + \pdfcolorstack\csname pdfcol@Stack@#1\endcsname current\relax + }{% + \pdfcol@ErrorNoStack{#1}% + }% + \fi + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcol@ErrorNoStack} +% \begin{macrocode} + \def\pdfcol@ErrorNoStack#1{% + \@PackageError{pdfcol}{Stack `#1' does not exists}\@ehc + }% +% \end{macrocode} +% \end{macro} +% +% \subsection{Disabled interface macros} +% +% \begin{macrocode} +\else +% \end{macrocode} +% +% \begin{macro}{\pdfcolErrorNoStacks} +% \begin{macrocode} + \def\pdfcolErrorNoStacks{% + \@PackageError{pdfcol}{% + Color stacks are not available% + }{% + Update pdfTeX (1.40) and `pdftex.def' (0.04b) % + if necessary.\MessageBreak + Ensure that `pdftex.def' is loaded % + (package `color' or `xcolor').\MessageBreak + Further messages can be found in TeX's % + protocol file `\jobname.log'.\MessageBreak + \MessageBreak + \@ehc + }% + \global\let\pdfcolErrorNoStacks\relax + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\PDFCOL@Disabled} +% \begin{macrocode} + \def\PDFCOL@Disabled{% + \PDFCOL@Message{% + pdfTeX's color stacks are not available% + }% + \global\let\PDFCOL@Disabled\relax + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolInitStack} +% \begin{macrocode} + \def\pdfcolInitStack#1{% + \PDFCOL@Disabled + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolIfStackExists} +% \begin{macrocode} + \long\def\pdfcolIfStackExists#1#2#3{#3}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolSwitchStack} +% \begin{macrocode} + \def\pdfcolSwitchStack#1{% + \PDFCOL@Disabled + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolSetCurrentColor} +% \begin{macrocode} + \def\pdfcolSetCurrentColor{% + \PDFCOL@Disabled + }% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pdfcolSetCurrent} +% \begin{macrocode} + \def\pdfcolSetCurrent#1{% + \PDFCOL@Disabled + }% +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\fi +% \end{macrocode} +% +% \begin{macrocode} +\PDFCOL@AtEnd% +% +% \end{macrocode} +%% \section{Installation} +% +% \subsection{Download} +% +% \paragraph{Package.} This package is available on +% CTAN\footnote{\CTANpkg{pdfcol}}: +% \begin{description} +% \item[\CTAN{macros/latex/contrib/pdfcol/pdfcol.dtx}] The source file. +% \item[\CTAN{macros/latex/contrib/pdfcol/pdfcol.pdf}] Documentation. +% \end{description} +% +% +% \subsection{Package installation} +% +% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting +% \docstrip\ archive. The files are extracted by running the +% \xfile{.dtx} through \plainTeX: +% \begin{quote} +% \verb|tex pdfcol.dtx| +% \end{quote} +% +% \paragraph{TDS.} Now the different files must be moved into +% the different directories in your installation TDS tree +% (also known as \xfile{texmf} tree): +% \begin{quote} +% \def\t{^^A +% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} +% pdfcol.sty & tex/generic/pdfcol/pdfcol.sty\\ +% pdfcol.pdf & doc/latex/pdfcol/pdfcol.pdf\\ +% pdfcol.dtx & source/latex/pdfcol/pdfcol.dtx\\ +% \end{tabular}^^A +% }^^A +% \sbox0{\t}^^A +% \ifdim\wd0>\linewidth +% \begingroup +% \advance\linewidth by\leftmargin +% \advance\linewidth by\rightmargin +% \edef\x{\endgroup +% \def\noexpand\lw{\the\linewidth}^^A +% }\x +% \def\lwbox{^^A +% \leavevmode +% \hbox to \linewidth{^^A +% \kern-\leftmargin\relax +% \hss +% \usebox0 +% \hss +% \kern-\rightmargin\relax +% }^^A +% }^^A +% \ifdim\wd0>\lw +% \sbox0{\small\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\footnotesize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\scriptsize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\tiny\t}^^A +% \ifdim\wd0>\linewidth +% \lwbox +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \end{quote} +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's +% TDS installing feature, then some files can already be in the right +% place, see the documentation of \docstrip. +% +% \subsection{Refresh file name databases} +% +% If your \TeX~distribution +% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh +% these. For example, \TeX\,Live\ users run \verb|texhash| or +% \verb|mktexlsr|. +% +% \subsection{Some details for the interested} +% +% \paragraph{Unpacking with \LaTeX.} +% The \xfile{.dtx} chooses its action depending on the format: +% \begin{description} +% \item[\plainTeX:] Run \docstrip\ and extract the files. +% \item[\LaTeX:] Generate the documentation. +% \end{description} +% If you insist on using \LaTeX\ for \docstrip\ (really, +% \docstrip\ does not need \LaTeX), then inform the autodetect routine +% about your intention: +% \begin{quote} +% \verb|latex \let\install=y\input{pdfcol.dtx}| +% \end{quote} +% Do not forget to quote the argument according to the demands +% of your shell. +% +% \paragraph{Generating the documentation.} +% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate +% the documentation. The process can be configured by the +% configuration file \xfile{ltxdoc.cfg}. For instance, put this +% line into this file, if you want to have A4 as paper format: +% \begin{quote} +% \verb|\PassOptionsToClass{a4paper}{article}| +% \end{quote} +% An example follows how to generate the +% documentation with pdf\LaTeX: +% \begin{quote} +%\begin{verbatim} +%pdflatex pdfcol.dtx +%makeindex -s gind.ist pdfcol.idx +%pdflatex pdfcol.dtx +%makeindex -s gind.ist pdfcol.idx +%pdflatex pdfcol.dtx +%\end{verbatim} +% \end{quote} +% +% \begin{History} +% \begin{Version}{2007/09/09 v1.0} +% \item +% First version. +% \end{Version} +% \begin{Version}{2007/12/09 v1.1} +% \item +% \cs{pdfcolSetCurrentColor} added. +% \end{Version} +% \begin{Version}{2007/12/12 v1.2} +% \item +% Detection for package \xpackage{luacolor} added. +% \end{Version} +% \begin{Version}{2016/05/16 v1.3} +% \item +% Documentation updates. +% \end{Version} +% \begin{Version}{2016/05/17 v1.4} +% \item +% Use luatex85 package for new luatex compatibility +% \end{Version} +% \begin{Version}{2018/11/01 v1.5} +% \item +% Remove luatex85 dependency +% \end{Version} +% \begin{Version}{2019/12/29 v1.6} +% \item +% \xpackage{iftex} package. +% \end{Version} +% \begin{Version}{2022-09-21 v1.7} +% \item Improved luatex compatitiblity, removed unneeded version checks. +% \end{Version} +% \end{History} +% +% \PrintIndex +% +% \Finale +\endinput diff --git a/macros/latex/contrib/pdfcol/pdfcol.pdf b/macros/latex/contrib/pdfcol/pdfcol.pdf new file mode 100644 index 0000000000..2c748d2c0f Binary files /dev/null and b/macros/latex/contrib/pdfcol/pdfcol.pdf differ diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf index 96ad581523..9ad760140f 100644 Binary files a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf and b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf differ diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex index 761c36edaf..d653c2ac21 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex @@ -60,8 +60,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\PLversion{1.2.5} -\def\PLdate{3 Septembre 2022} +\def\PLversion{1.2.6} +\def\PLdate{22 Septembre 2022} \tcbset{vignettes/.style={% nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% @@ -233,6 +233,8 @@ Quelques commandes pour convertir bin/dec/hex avec certains détails. Une commande pour, en \TikZ, créer un pixelart avec correction éventuelle. +Une commande pour, en \TikZ, créer un SudoMaths non forcément $9\times9$. + \vspace{1.5cm} \hfill{}\textit{Merci à Anne pour ses retours et sa relecture !} @@ -3968,8 +3970,167 @@ D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,- \newpage +\section{SudoMaths, en \TikZ}\label{sudomaths} + +\subsection{Introduction} + +\begin{codeidee} +L'idée est de \textit{proposer} un environnement \TikZ, une commande permettant de tracer des grilles de SudoMaths. + +L'environnement créé, lié à \TikZ, trace la grille de SudoMaths (avec les blocs démarqués), et peut la remplir avec une liste d'éléments. +\end{codeidee} + +\begin{codetex}[listing only] +%grille classique non remplie, avec légendes H et V +%les {} non nécessaires pour préciser que les cases seront "vides" +\PLsudomaths{} +\end{codetex} + +\begin{codesortie} +\PLsudomaths{} +\end{codesortie} + +\begin{codeinfo} +La commande \ctex{PLsudomaths} crée donc la grille (remplie ou non), dans un environnement \TikZ, c'est \textit{c'est tout} ! + +\smallskip + +Si on veut exploiter le tracé de la grille, on peut utiliser l'\textit{environnement} \ctex{PLenvsudomaths} dans lequel on peut rajouter toute commande en \TikZ{} ! +\end{codeinfo} + +\begin{codetex}[listing only] +%grille "toute seule" +\PLsudomaths[]{} + +%grille avec ajout de code +\begin{PLenvsudomaths}[]{} + ; +\end{PLenvsudomaths} +\end{codetex} + +\pagebreak + +\subsection{Clés et options} + +\begin{codecles} +Quelques \Cle{clés} sont disponibles pour cette commande : + +\begin{itemize} + \item la clé \Cle{epaisseurg} pour gérer l'épaisseur des traits épais ; \hfill~défaut \Cle{1.5pt} + \item la clé \Cle{epaisseur} pour gérer l'épaisseur des traits fins ; \hfill~défaut \Cle{0.5pt} + \item la clé \Cle{unite} qui est l'unité graphique de la figure ; \hfill~défaut \Cle{1cm} + \item la clé \Cle{couleurcase} pour la couleur (éventuelles) des cases ; \hfill~défaut \Cle{LightBlue!50} + \item la clé \Cle{couleurtexte} pour gérer la couleur du label des cases ; \hfill~défaut \Cle{blue} + \item la clé \Cle{nbcol} qui est le nombre de colonnes ; \hfill~défaut \Cle{9} + \item la clé \Cle{nbsubcol} qui est le nombre de sous-colonnes ; \hfill~défaut \Cle{3} + \item la clé \Cle{nblig} qui est le nombre de lignes ; \hfill~défaut \Cle{9} + \item la clé \Cle{nbsublig} qui est le nombre de sous-colonnes ; \hfill~défaut \Cle{3} + \item la clé \Cle{police} qui formatte le label des cases ; \hfill~défaut \Cle{\textbackslash{}normalfont\textbackslash{}normalsize} + \item le booléen \Cle{legendes} qui affiche ou non les légendes (H et V) des cases ; \hfill~défaut \Cle{true} + \item la clé \Cle{policeleg} qui formatte le label des légendes ; \hfill~défaut \Cle{\textbackslash{}normalfont\textbackslash{}normalsize} + \item la clé \Cle{listelegv} qui est la liste de la légende verticale ; \hfill~défaut \Cle{ABCD...WXYZ} + \item la clé \Cle{listelegh} qui est la liste de la légende horizontale ; \hfill~défaut \Cle{abcd...wxyz} + \item la clé \Cle{decallegende} qui est le décalage de la légende par rapport à la grille. \hfill~défaut \Cle{0.45} +\end{itemize} +\end{codecles} + +\begin{codeinfo} +La liste éventuelle des éléments à rentrer dans le tableau est traitée par le package \ctex{listofitems}, et se présente sous la forme suivante : \ctex{ / / / ... / / § / / / ... / / § ... § / / / ... / / } + +\smallskip + +Il peut donc être intéressant de \textit{déclarer} la liste au préalable pour simplifier la saisie de la commande ! +\end{codeinfo} + +\begin{codeinfo} +La \Cle{couleurcase} est gérée -- en interne -- par le caractère \ctex{*} qui permet de préciser qu'on veut que la case soit coloriée. +\end{codeinfo} + +\begin{codetex}[listing only] +%grille 6x6 avec blocs 2x3, avec coloration de cases (présentée sous forme de "cases") +\def\grilleSuMa{% + (a)* / (b)* / / / (c)* / (d)* §% + (e)* / / / (f)* / (g)* / (h)* §% + / / (i)* / / / (j)* §% + / / (k)* / / (l)* / (m)* §% + (n)* / / (o)* / / / (p)* §% + / / / (q)* / / §% +} + +\PLsudomaths[unite=0.75cm,nbcol=6,nbsubcol=2,nblig=6,nbsublig=3,police=\small\bfseries\ttfamily,% + couleurtexte=red,couleurcase=yellow!50,legendes=false]{\grilleSuMa} +\end{codetex} + +\begin{codesortie} +\def\grilleSuMa{% + (a)* / (b)* / / / (c)* / (d)* §% + (e)* / / / (f)* / (g)* / (h)* §% + / / (i)* / / / (j)* §% + / / (k)* / / (l)* / (m)* §% + (n)* / / (o)* / / / (p)* §% + / / / (q)* / / §% +} + +\PLsudomaths[unite=0.75cm,nbcol=6,nbsubcol=2,nblig=6,nbsublig=3,police=\small\bfseries\ttfamily,couleurtexte=red,couleurcase=yellow!50,legendes=false]{\grilleSuMa} +\end{codesortie} + +\pagebreak + +\begin{codeinfo} +La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0\,;\,0)$ et $(\text{nbcol}\,;\,-\text{nblig})$, de sorte que les labels des cases sont situés au nœuds de coordonnées $(x,5\,;\,-y,5)$. +\end{codeinfo} + +\begin{codetex}[listing only] +%grille classique avec coloration de cases et commande tikz +%graduations rajoutées pour la lecture des coordonnées +\def\grilleSuMaB{% + */////4///§% + /*///3////§% + //*//////§% + ///*/////§% + ////*////§% + /////*///§% + //5*/////*/§% + /////B///*§% + *///9////Q/§% +} + +\begin{PLenvsudomaths}[% + unite=0.66cm,police=\footnotesize\bfseries\ttfamily,couleurcase=ForestGreen!50,% + listelegv=QSDFGHJKL,listelegh=poiuytrez]{\grilleSuMaB} + \draw[red,very thick,<-] (7.5,-4.5) to[bend right] ++ (4,-1) node[right] {code rajouté...} ; +\end{PLenvsudomaths} +\end{codetex} + +\begin{codesortie} +\def\grilleSuMaB{% + */////4///§% + /*///3////§% + //*//////§% + ///*/////§% + ////*////§% + /////*///§% + //5*/////*/§% + /////B///*§% + *///9////Q/§% +} + +\begin{PLenvsudomaths}[% + unite=0.66cm,police=\footnotesize\bfseries\ttfamily,couleurcase=ForestGreen!50,% + listelegv=QSDFGHJKL,listelegh=poiuytrez]{\grilleSuMaB} + \draw[red,very thick,<-] (7.5,-4.5) to[bend right] ++ (4,-1) node[right] {code rajouté pour montrer la case \textsf{Ge}} ; + \foreach \x in {0,1,...,9} \draw[lightgray] (\x,-9) node[below,font=\scriptsize\ttfamily] {\x} ; + \foreach \y in {-1,-2,...,-9} \draw[lightgray] (9,\y) node[right,font=\scriptsize\ttfamily] {\y} ; + \draw[lightgray] (9,0) node[right,font=\scriptsize\ttfamily] {~0} ; +\end{PLenvsudomaths} +\end{codesortie} + +\newpage + \section{Historique} +{\small \bverb|v1.2.6|~:~~~~Ajout d'un environnement pour des SudoMaths (page \pageref{sudomaths}) + {\small \bverb|v1.2.5|~:~~~~Ajout de commandes pour des boîtes à moustaches (page \pageref{boiteamoustaches}) {\small \bverb|v1.2.4|~:~~~~Correction de quelques bugs mineurs, et mise à jour de la doc diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty index 56dda985a4..7fdd37b256 100644 --- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty +++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/09/03 v1.2.5 - Aide pour l'utilisation de LaTeX en lycee] +\ProvidesPackage{ProfLycee}[2022/09/22 v1.2.6 - Aide pour l'utilisation de LaTeX en lycee] +% 1.2.6 Ajout d'un environnement tikz pour des sudomaths personnalisés % 1.2.5 Ajout d'une commande pour des boites à moustaches, en tikz % 1.2.4 Correction de quelques bugs mineurs, et mise à jour de la doc % 1.2.3 Ajout d'un environnement simplifié pour du code python @@ -2011,7 +2012,7 @@ \def\BaMaxexmax{\fpeval{\BaMAxeMax+\BaMAxeElarg*\BaMaxelargeur}} \draw[\BaMAxeEpaisseur,->] (\BaMaxexmin,0) -- (\BaMaxexmax,0) ; \ifboolKV[boiteamoustachesaxe]{affvaleurs} - {\foreach \x in \BaMAxeValeurs \draw[\BaMAxeEpaisseur] (\x,3pt)--(\x,-3pt) node[below=3pt] {\x} ;} + {\foreach \x in \BaMAxeValeurs \draw[\BaMAxeEpaisseur] (\x,3pt)--(\x,-3pt) node[below=3pt] {\num{\x}} ;} {} } @@ -2051,4 +2052,131 @@ {} } +%================SUDOMATHS============= OK !! +\defKV[PLTIKZSUDOM]{% + couleurtexte=\def\PLSMcoultexte{#1},% + epaisseur=\def\PLSMepf{#1},% + epaisseurg=\def\PLSMepg{#1},% + unite=\def\PLSMunite{#1},% + couleurcase=\def\PLSMcoulcase{#1},% + nbcol=\def\PLSMnbcol{#1},% + nbsubcol=\def\PLSMnbsubcol{#1},% + nblig=\def\PLSMnblig{#1},% + nbsublig=\def\PLSMnbsublig{#1},% + police=\def\PLSMfonte{#1},% + policeleg=\def\PLSMfonteleg{#1},% + listelegv=\def\PLSMlistelegv{#1},% + listelegh=\def\PLSMlistelegh{#1},% + decallegende=\def\PLSMdecalleg{#1} +} + +\setKVdefault[PLTIKZSUDOM]{% + epaisseurg=1.5pt,% + epaisseur=0.5pt,% + unite=1cm,% + couleurcase=LightBlue!50,% + couleurtexte=blue,% + nbcol=9,% + nbsubcol=3,% + nblig=9,% + nbsublig=3, + police=\normalfont\normalsize,% + policeleg=\normalfont\sffamily,% + legendes=true,% + listelegv=ABCDEFGHIJKLMNOPQRSTUVWXYZ,% + listelegh=abcdefghijklmnopqrstuvwxyz,% + decallegende=0.45 +} + +\NewDocumentEnvironment{PLenvsudomaths}{ O{} m } + { + \useKVdefault[PLTIKZSUDOM] + \setKV[PLTIKZSUDOM]{#1}% on paramètres les nouvelles clés et on les simplifie + %calculs intermédiaires + \def\larcolinter{\inteval{\PLSMnbcol/\PLSMnbsubcol}} + \def\larliginter{\inteval{\PLSMnblig/\PLSMnbsublig}} + %lecture liste + \IfEq{#2}{}{}% + {% + \setsepchar[.]{§./}% + \readlist*\SPGrilleSudoMaths{#2}% + } + %débt envtik + \begin{tikzpicture}[x=\PLSMunite,y=\PLSMunite,line join=miter] + %cases + \IfEq{#2}{}{}% + {% + \foreach \i in {1,2,...,\PLSMnblig}{% + \foreach \j in {1,2,...,\PLSMnbcol}{% + \itemtomacro\SPGrilleSudoMaths[\i,\j]\SMcase + \IfSubStr{\SMcase}{*}%si on veut colorier via * + {% + \StrDel{\SMcase}{*}[\SMcaseb]% + \draw[draw=none,fill=\PLSMcoulcase] ({\j-1},{1-\i}) rectangle++ (1,-1) node[inner sep=0pt,outer sep=0pt,\PLSMcoultexte,font=\PLSMfonte,midway] {\SMcaseb} ;% + } + {% + \draw ({\j-0.5},{0.5-\i}) node[inner sep=0pt,outer sep=0pt,\PLSMcoultexte,font=\PLSMfonte] {\SMcase} ;% + } + } + }% + } + %grilles + \draw[line width=\PLSMepg] (0,0) rectangle ({\PLSMnbcol},{-\PLSMnblig}) ; + \draw[line width=\PLSMepf,xstep=1,ystep=1] (0,0) grid ({\PLSMnbcol},{-\PLSMnblig}) ; + \draw[line width=\PLSMepg,xstep=\larcolinter,ystep=\larliginter] (0,0) grid ({\PLSMnbcol},{-\PLSMnblig}) ; + %légendes + \ifboolKV[PLTIKZSUDOM]{legendes} + {% + \foreach \i in {1,2,...,\PLSMnbcol}{\draw ({\i-0.5},{\PLSMdecalleg}) node[inner sep=0pt,outer sep=0pt,font=\PLSMfonteleg] {\strut\StrChar{\PLSMlistelegh}{\i}} ;} + \foreach \j in {1,2,...,\PLSMnblig}{\draw ({-\PLSMdecalleg},{0.5-\j}) node[inner sep=0pt,outer sep=0pt,font=\PLSMfonteleg] {\StrChar{\PLSMlistelegv}{\j}} ;} + }{} + } + { + \end{tikzpicture} + } + +\NewDocumentCommand\PLsudomaths{ O{} m }{% + \useKVdefault[PLTIKZSUDOM] + \setKV[PLTIKZSUDOM]{#1}% on paramètres les nouvelles clés et on les simplifie + %calculs intermédiaires + \def\larcolinter{\inteval{\PLSMnbcol/\PLSMnbsubcol}} + \def\larliginter{\inteval{\PLSMnblig/\PLSMnbsublig}} + %lecture liste + \IfEq{#2}{}{}% + {% + \setsepchar[.]{§./}% + \readlist*\SPGrilleSudoMaths{#2}% + } + %débt envtik + \begin{tikzpicture}[x=\PLSMunite,y=\PLSMunite,line join=miter] + %cases + \IfEq{#2}{}{}% + {% + \foreach \i in {1,2,...,\PLSMnblig}{% + \foreach \j in {1,2,...,\PLSMnbcol}{% + \itemtomacro\SPGrilleSudoMaths[\i,\j]\SMcase + \IfSubStr{\SMcase}{*}%si on veut colorier via * + {% + \StrDel{\SMcase}{*}[\SMcaseb]% + \draw[draw=none,fill=\PLSMcoulcase] ({\j-1},{1-\i}) rectangle++ (1,-1) node[inner sep=0pt,outer sep=0pt,\PLSMcoultexte,font=\PLSMfonte,midway] {\SMcaseb} ;% + } + {% + \draw ({\j-0.5},{0.5-\i}) node[inner sep=0pt,outer sep=0pt,\PLSMcoultexte,font=\PLSMfonte] {\SMcase} ;% + } + } + }% + } + %grilles + \draw[line width=\PLSMepg] (0,0) rectangle ({\PLSMnbcol},{-\PLSMnblig}) ; + \draw[line width=\PLSMepf,xstep=1,ystep=1] (0,0) grid ({\PLSMnbcol},{-\PLSMnblig}) ; + \draw[line width=\PLSMepg,xstep=\larcolinter,ystep=\larliginter] (0,0) grid ({\PLSMnbcol},{-\PLSMnblig}) ; + %légendes + \ifboolKV[PLTIKZSUDOM]{legendes} + {% + \foreach \i in {1,2,...,\PLSMnbcol}{\draw ({\i-0.5},{\PLSMdecalleg}) node[inner sep=0pt,outer sep=0pt,font=\PLSMfonteleg] {\strut\StrChar{\PLSMlistelegh}{\i}} ;} + \foreach \j in {1,2,...,\PLSMnblig}{\draw ({-\PLSMdecalleg},{0.5-\j}) node[inner sep=0pt,outer sep=0pt,font=\PLSMfonteleg] {\StrChar{\PLSMlistelegv}{\j}} ;} + }{} + \end{tikzpicture} +} + \endinput \ No newline at end of file diff --git a/macros/latex/contrib/semantex/semantex.pdf b/macros/latex/contrib/semantex/semantex.pdf index 7bbf5313c2..2ed542a06f 100644 Binary files a/macros/latex/contrib/semantex/semantex.pdf and b/macros/latex/contrib/semantex/semantex.pdf differ diff --git a/macros/latex/contrib/semantex/semantex.sty b/macros/latex/contrib/semantex/semantex.sty index 325f2dbec5..8cdbecc789 100644 --- a/macros/latex/contrib/semantex/semantex.sty +++ b/macros/latex/contrib/semantex/semantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse,l3keys2e,leftindex,semtex} -\ProvidesExplPackage{semantex}{2021/08/23}{0.513}{} +\ProvidesExplPackage{semantex}{2022/06/22}{0.520}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -10,7 +10,7 @@ % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\tl_set:Nn\SemantexVersion{0.513} +\tl_set:Nn\SemantexVersion{0.520} \cs_set_eq:NN \semantex_keyval_parse:NNn \keyval_parse:NNn \cs_set:Npn \semantex_singlekey_parse:Nn#1#2 { \clist_map_function:nN { #2 } #1 } @@ -50,8 +50,8 @@ \bool_if:NF \g__semantex_semtex_file_was_opened_bool { \iow_open:Nn \g__semantex_semtex_file_stream_temp_iow { \jobname.semtex } - \iow_now:Nn \g__semantex_semtex_file_stream_temp_iow { \DeclareClass {\SemantexBaseObject } } - \iow_now:Nn \g__semantex_semtex_file_stream_temp_iow { \DeclareObject {\SemantexDelimiterSize } } + \iow_now:Nn \g__semantex_semtex_file_stream_temp_iow { \RegisterClass {\SemantexBaseObject } } + \iow_now:Nn \g__semantex_semtex_file_stream_temp_iow { \RegisterObject {\SemantexDelimiterSize } } } \cs_set:Npn\semantex_write_to_semtex_file:n##1 @@ -126,17 +126,17 @@ \cs_new_protected:Npn\semantex_write_class_declaration_to_semtex_file:n#1 { - \semantex_write_to_semtex_file:n { \DeclareClass{#1} } + \semantex_write_to_semtex_file:n { \RegisterClass{#1} } } \cs_new_protected:Npn\semantex_write_object_declaration_to_semtex_file:n#1 { - \semantex_write_to_semtex_file:n { \DeclareObject{#1} } + \semantex_write_to_semtex_file:n { \RegisterObject{#1} } } -\cs_new_protected:Npn\SemantexIDcommand#1 +\cs_new_protected:Npn\SemantexID#1 { - \semantex_write_to_semtex_file:n { \SemantexID{#1} } + \semantex_write_to_semtex_file:n { \RegisterID{#1} } } \cs_set_eq:NN\SemantexRecordObject\semantex_write_object_declaration_to_semtex_file:n @@ -148,11 +148,9 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\DeclareDocumentCommand\semantex_new_simple_class:Nw{mO{}} % new simple-type class +\cs_new_protected:Npn\semantex_declare_simple_class:N#1 % new simple-type class { % #1 = class name - % #2 = options - \semantex_new_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } \DeclareDocumentCommand{#1}{m} { % the actual \#1 command @@ -169,7 +167,7 @@ ##1 } } - \exp_args:Nc\DeclareDocumentCommand{__semantex_new_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} + \exp_args:Nc\DeclareDocumentCommand{__semantex_declare_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} { % the command for creating a new object of class #1 % ##1 = command name, with backslash @@ -177,13 +175,13 @@ % ##3 = options \IfValueTF{##2} { - \semantex_new_object:NNn #1 ##1 { + \semantex_declare_object:NNn #1 ##1 { \semantex_object_set_symbol:Nn ##1 { ##2 } \semantex_object_set_keys:Nn ##1 { ##3 } } } { - \semantex_new_object:NNn #1 ##1 { + \semantex_declare_object:NNn #1 ##1 { \semantex_object_set_keys:Nn ##1 { ##3 } } } @@ -197,13 +195,23 @@ } } -\tl_set_eq:NN\NewSimpleClass\semantex_new_simple_class:Nw +\NewDocumentCommand\DeclareSimpleClass{ m O{} } +{ + \semantex_declare_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } + \semantex_declare_simple_class:N #1 +} + +\NewDocumentCommand\NewSimpleClass { m O{} } +{ + \semantex_new_class_and_do:NNnn #1 \DeclareSimpleClass { \semantex_class_set_keys:Nn #1 { #2 } } + { + \semantex_declare_simple_class:N #1 + } +} -\DeclareDocumentCommand\semantex_new_symbol_class:Nw{mO{}} % new symbol-type class +\cs_new_protected:Npn\semantex_declare_symbol_class:N #1 % new symbol-type class { % #1 = class name - % #2 = options - \semantex_new_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } \DeclareDocumentCommand{#1}{mo} { % the actual \#1 command @@ -243,7 +251,7 @@ } } } - \exp_args:Nc\DeclareDocumentCommand{__semantex_new_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} + \exp_args:Nc\DeclareDocumentCommand{__semantex_declare_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} { % the command for creating a new object of class #1 % ##1 = command name, with backslash @@ -251,13 +259,13 @@ % ##3 = options \IfValueTF{##2} { - \semantex_new_object:NNn #1 ##1 { + \semantex_declare_object:NNn #1 ##1 { \semantex_object_set_symbol:Nn ##1 { ##2 } \semantex_object_set_keys:Nn ##1 { ##3 } } } { - \semantex_new_object:NNn #1 ##1 { + \semantex_declare_object:NNn #1 ##1 { \semantex_object_set_keys:Nn ##1 { ##3 } } } @@ -281,14 +289,23 @@ } } -\tl_set_eq:NN\NewSymbolClass\semantex_new_symbol_class:Nw +\NewDocumentCommand\DeclareSymbolClass{ m O{} } +{ + \semantex_declare_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } + \semantex_declare_symbol_class:N #1 +} -\DeclareDocumentCommand\semantex_new_variable_class:Nw{mO{}} % new variable-type class +\NewDocumentCommand\NewSymbolClass { m O{} } +{ + \semantex_new_class_and_do:NNnn #1 \DeclareSymbolClass { \semantex_class_set_keys:Nn #1 { #2 } } + { + \semantex_declare_symbol_class:N #1 + } +} + +\cs_new_protected:Npn\semantex_declare_variable_class:N#1 % new variable-type class { % #1 = class name - % #2 = options - \semantex_new_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } - %\semantex_new_class:Nn #1 { #2 } \DeclareDocumentCommand{#1}{mog} { % the actual \#1 command @@ -375,7 +392,7 @@ } } } - \exp_args:Nc\DeclareDocumentCommand{__semantex_new_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} + \exp_args:Nc\DeclareDocumentCommand{__semantex_declare_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} { % the command for creating a new object of class #1 % ##1 = command name, with backslash @@ -383,13 +400,13 @@ % ##3 = options \IfValueTF{##2} { - \semantex_new_object:NNn #1 ##1 { + \semantex_declare_object:NNn #1 ##1 { \semantex_object_set_symbol:Nn ##1 { ##2 } \semantex_object_set_keys:Nn ##1 { ##3 } } } { - \semantex_new_object:NNn #1 ##1 { + \semantex_declare_object:NNn #1 ##1 { \semantex_object_set_keys:Nn ##1 { ##3 } } } @@ -444,796 +461,20 @@ } } -\cs_set_eq:NN\NewVariableClass\semantex_new_variable_class:Nw - -\DeclareDocumentCommand\semantex_new_cohomology_class:Nw{mO{}} % new cohomology-type class +\NewDocumentCommand\DeclareVariableClass{ m O{} } { - % #1 = class name - % #2 = options - \semantex_new_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } - \DeclareDocumentCommand{#1}{mogg}{ - % the actual \#1 command - \IfValueTF{##2} - { - \IfValueTF { ##3 } - { - \str_if_eq:nnTF { ##3 }{ * } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { * } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_use_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { * } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_use_bullet:N #1 - } - } - } - { - \str_if_eq:nnTF { ##3 }{ ** } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { ** } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_use_double_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { ** } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_use_double_bullet:N #1 - } - } - } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { ##3 } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##3 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { ##3 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##3 } - } - } - } - } - } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - } - } - } - } - { - \IfValueTF { ##3 } - { - \str_if_eq:nnTF { ##3 }{ * } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { * } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_use_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { * } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_use_bullet:N #1 - } - } - } - { - \str_if_eq:nnTF { ##3 }{ ** } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { ** } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_use_double_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { ** } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_use_double_bullet:N #1 - } - } - } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { ##3 } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##3 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { ##3 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##3 } - } - } - } - } - } - { - \IfValueTF { ##4 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - } - } - } - } - } - \exp_args:Nc\DeclareDocumentCommand{__semantex_make_object_of_\semantex_class_to_register:N #1_with_options:nnw}{mmogg} - { - \IfValueTF{##3} - { - \IfValueTF { ##4 } - { - \str_if_eq:nnTF { ##4 }{ * } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { * } { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_use_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { * } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_use_bullet:N #1 - } - } - } - { - \str_if_eq:nnTF { ##4 }{ ** } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { ** } { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_use_double_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { ** } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_use_double_bullet:N #1 - } - } - } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { ##4 } { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##4 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##4 } - } - } - } - } - } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - } - } - } - } - { - \IfValueTF { ##4 } - { - \str_if_eq:nnTF { ##4 }{ * } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { * } { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_use_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { * } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_use_bullet:N #1 - } - } - } - { - \str_if_eq:nnTF { ##4 }{ ** } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { ** } { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_use_double_bullet:N #1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { ** } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_use_double_bullet:N #1 - } - } - } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { ##4 } { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##4 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_degree_default:Nn #1 { ##4 } - } - } - } - } - } - { - \IfValueTF { ##5 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { ##5 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##5 } - } - } - { - % \semantex_add_to_existing_original_source_in_semtex_file:n { } % write nothing to file - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - } - } - } - } - } - \exp_args:Nc\DeclareDocumentCommand{__semantex_new_object_of_\semantex_class_to_register:N #1:Nw}{mgO{}} - { - % the command for creating a new object of class #1 - % ##1 = command name, with backslash - % ##2 = symbol - % ##3 = options - \IfValueTF{##2} - { - \semantex_new_object:NNn #1 { ##1 }{ - \semantex_object_set_symbol:Nn ##1 { ##2 } - \semantex_object_set_keys:Nn ##1 { ##3 } - } - } - { - \semantex_new_object:NNn #1 { ##1 }{ - \semantex_object_set_keys:Nn ##1 { ##3 } - } - } - % creates the object with name ##1 - \DeclareDocumentCommand{##1}{ogg} - { - % the actual \##1 command - \IfValueTF{####1} - { - \IfValueTF{####2} - { - \str_if_eq:nnTF { ####2 } { * } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { * } { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_use_bullet:N ##1 - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { * } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_use_bullet:N ##1 - } - } - } - { - \str_if_eq:nnTF { ####2 } { ** } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { ** } { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_use_double_bullet:N ##1 - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { ** } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_use_double_bullet:N ##1 - } - } - } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { ####2 } { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_set_degree_default:Nn ##1 { ####2 } - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { ####2 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_set_degree_default:Nn ##1 { ####2 } - } - } - } - } - } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1 ] } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - } - } - } - } - { - \IfValueTF{####2} - { - \str_if_eq:nnTF { ####2 } { * } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { * } { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_use_bullet:N ##1 - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { * } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_use_bullet:N ##1 - } - } - } - { - \str_if_eq:nnTF { ####2 } { ** } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { ** } { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_use_double_bullet:N ##1 - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { ** } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_use_double_bullet:N ##1 - } - } - } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { ####2 } { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_degree_default:Nn ##1 { ####2 } - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { ####2 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_degree_default:Nn ##1 { ####2 } - } - } - } - } - } - { - \IfValueTF{####3} - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { ####3 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_arg:Nn ##1 { ####3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 } - \semantex_render_object:Nn ##1 { } - } - } - } - } - } + \semantex_declare_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } + \semantex_declare_variable_class:N #1 } -\cs_set_eq:NN\NewCohomologyClass\semantex_new_cohomology_class:Nw - -\DeclareDocumentCommand\semantex_new_delimiter_class:Nw{mO{}} % new delimiter-type class +\NewDocumentCommand\NewVariableClass { m O{} } { - % #1 = class name - % #2 = options - \semantex_new_class:Nn { #1 } { \semantex_class_set_keys:Nn #1 { #2 } } - \DeclareDocumentCommand{#1}{mog} % maybe this does not even make sense for delimiters - { - \IfValueTF { ##2 } - { - \IfValueTF { ##3 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] { ##3 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } [ ##2 ] } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_keys:Nn #1 { ##2 } - } - } - } - { - \IfValueTF { ##3 } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } { ##3 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##3 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { #1 { ##1 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##1 } - } - } - } - } - % the actual \#1 command - \exp_args:Nc\DeclareDocumentCommand{__semantex_make_object_of_\semantex_class_to_register:N #1_with_options:nnw}{mmog} - { - \IfValueTF { ##3 } - { - \IfValueTF { ##4 } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] { ##4 } } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - \semantex_add_to_existing_original_source_in_semtex_file:n - { [ ##3 ] } - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_keys:Nn #1 { ##3 } - } - } - } - { - \IfValueTF { ##4 } - { - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_add_to_existing_original_source_in_semtex_file:n - { { ##4 } } - \semantex_object_associated_to_class_do_output:N #1 - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - \semantex_object_associated_to_class_set_arg:Nn #1 { ##4 } - } - } - { - % \semantex_add_to_existing_original_source_in_semtex_file:n { } % write nothing to file - \semantex_render_object_associated_to_class:Nn #1 { - \semantex_object_associated_to_class_set_symbol:Nn #1 { ##2 } - ##1 - } - } - } - } - \exp_args:Nc\DeclareDocumentCommand{__semantex_new_object_of_\semantex_class_to_register:N #1:Nw}{mmmO{}} + \semantex_new_class_and_do:NNnn #1 \DeclareVariableClass { \semantex_class_set_keys:Nn #1 { #2 } } { - % the command for creating a new object of class #1 - % ##1 = command name, with backslash - % ##2 = symbol - % ##3 = options - \semantex_new_object:NNn #1 { ##1 }{ - \semantex_object_set_left_par:Nn ##1 { ##2 } - \semantex_object_set_right_par:Nn ##1 { ##3 } - \semantex_object_set_keys:Nn ##1 { ##4 } - } - % creates the object with name ##1 - \DeclareDocumentCommand{##1}{og} - { - % the actual \##1 command - \IfValueTF { ####1 } - { - \IfValueTF { ####2 } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1] { ####2 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - \semantex_object_set_arg:Nn ##1 { ####2 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 [ ####1] } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_keys:Nn ##1 { ####1 } - } - } - } - { - \IfValueTF { ####2 } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 { ####2 } } - \semantex_render_object:Nn ##1 { - \semantex_object_do_output:N ##1 - \semantex_object_set_arg:Nn ##1 { ####2 } - } - } - { - \semantex_write_original_source_to_semtex_file:n - { ##1 } - \semantex_render_object:Nn ##1 { } - } - } - } + \semantex_declare_variable_class:N #1 } } -\cs_set_eq:NN\NewDelimiterClass\semantex_new_delimiter_class:Nw - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % COMMANDS FOR CREATING AND HANDLING CLASSES AND OJBECTS @@ -1251,33 +492,48 @@ \cs_new:Npn\semantex_class_to_register:N#1 { % #1 = name of class - class_\cs_to_str:N #1 + class_\token_to_str:N #1 } \cs_new:Npn\semantex_class_to_associated_object_register:N#1 { % #1 = name of class - object_associated_to_class_\cs_to_str:N #1 + object_associated_to_class_\token_to_str:N #1 } \cs_new:Npn\semantex_object_to_register:N#1 { % #1 = name of object - object_\cs_to_str:N #1 + object_\token_to_str:N #1 } -\DeclareDocumentCommand\NewObject { m } +\tl_new:N \g_semantex_class_SemantexBaseObject_register_tl + +\tl_set:Nx \g_semantex_class_SemantexBaseObject_register_tl { \semantex_class_to_register:N \SemantexBaseObject } + +\DeclareDocumentCommand\DeclareObject { m m } { % #1 = name of object \semantex_class_if_exist:NTF #1 { - \use:c { __semantex_new_object_of_\semantex_class_to_register:N #1:Nw } + \use:c { __semantex_declare_object_of_\semantex_class_to_register:N #1:Nw } #2 } { \msg_error:nnn { semantex } { created_object_of_unknown_class } { #1 } } } +\DeclareDocumentCommand\NewObject { m m } +{ + \cs_if_exist:NTF #2 + { + \msg_error:nnn { semantex } { created_object_with_already_defined_name } { #2 } + } + { + \DeclareObject #1 #2 + } +} + \DeclareDocumentCommand\UseClassInCommand { mo } { \semantex_class_if_exist:NTF #1 @@ -1306,7 +562,7 @@ \semantex_data_tl_provide:nn { #1 } { parent } - \semantex_data_tl_set:nnn { #1 } { parent } { class_SemantexBaseObject } + \semantex_data_tl_set:nno { #1 } { parent } { \g_semantex_class_SemantexBaseObject_register_tl } % The parent class by default is \SemantexBaseObject \cs_set:cpn { __semantex_data_cs_#1_valuekey:nn } ##1##2 % command controlling valuekeys @@ -1339,7 +595,7 @@ \cs_generate_variant:Nn \semantex_new_register:nn { xn } -\cs_new_protected:Npn \semantex_new_class:Nn#1#2 +\cs_new_protected:Npn \semantex_declare_class:Nn#1#2 { % create a new class % #1 = name of class @@ -1357,7 +613,24 @@ } } -\cs_set_protected:Npn \semantex_new_object:NNn#1#2#3 +\cs_new_protected:Npn \semantex_new_class_and_do:NNnn#1#2#3#4 +{ + % create a new class + % #1 = name of class + % #2 = name of \Declare...Class variant of command, for error messages + % #3 = standard keyval setup + % #4 = code to execute if successful + \cs_if_exist:NTF #1 + { + \msg_error:nnnn { semantex } { created_class_with_already_defined_name } { #1 } { #2 } + } + { + \semantex_declare_class:Nn #1 { #3 } + #4 + } +} + +\cs_set_protected:Npn \semantex_declare_object:NNn#1#2#3 { % create a new object % #1 = name of class @@ -1427,56 +700,6 @@ \semantex_valuekey:nnn { \semantex_object_to_register:N #1 } { arg } { #2 } } -\cs_new_protected:Npn\semantex_object_associated_to_class_set_degree_default:Nn#1#2 -{ - \semantex_valuekey:nnn { \semantex_class_to_associated_object_register:N #1 } { degree~default } { #2 } -} - -\cs_new_protected:Npn\semantex_object_set_degree_default:Nn#1#2 -{ - \semantex_valuekey:nnn { \semantex_object_to_register:N #1 } { degree~default } { #2 } -} - -\cs_new_protected:Npn\semantex_object_associated_to_class_use_bullet:N#1 -{ - \semantex_singlekey:nn { \semantex_class_to_associated_object_register:N #1 } { * } -} - -\cs_new_protected:Npn\semantex_object_use_bullet:N#1 -{ - \semantex_singlekey:nn { \semantex_object_to_register:N #1 } { * } -} - -\cs_new_protected:Npn\semantex_object_associated_to_class_use_double_bullet:N#1 -{ - \semantex_singlekey:nn { \semantex_class_to_associated_object_register:N #1 } { * } -} - -\cs_new_protected:Npn\semantex_object_use_double_bullet:N#1 -{ - \semantex_singlekey:nn { \semantex_object_to_register:N #1 } { * } -} - -\cs_new_protected:Npn\semantex_object_associated_to_class_set_left_par:Nn#1#2 -{ - \semantex_data_tl_set:nnn { \semantex_class_to_associated_object_register:N #1 } { left~par } { #2 } -} - -\cs_new_protected:Npn\semantex_object_set_left_par:Nn#1#2 -{ - \semantex_data_tl_set:nnn { \semantex_object_to_register:N #1 } { left~par } { #2 } -} - -\cs_new_protected:Npn\semantex_object_associated_to_class_set_right_par:Nn#1#2 -{ - \semantex_data_tl_set:nnn { \semantex_class_to_associated_object_register:N #1 } { right~par } { #2 } -} - -\cs_new_protected:Npn\semantex_object_set_right_par:Nn#1#2 -{ - \semantex_data_tl_set:nnn { \semantex_object_to_register:N #1 } { right~par } { #2 } -} - \cs_new_protected:Npn\semantex_object_associated_to_class_set_class:Nn#1#2 { \semantex_data_class_set:nn { \semantex_class_to_associated_object_register:N #1 } { #2 } @@ -2449,7 +1672,7 @@ \use:c { g__semantex_data_tl_#1_#2 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #3 } { data_tl_not_found } { #2 } } @@ -2478,7 +1701,7 @@ \exp_not:v { g__semantex_data_tl_#1_#2 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #3 } { data_tl_not_found } { #2 } } @@ -2509,7 +1732,7 @@ \tl_set_eq:Nc #3 { g__semantex_data_tl_#1_#2 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #4 } { data_tl_not_found } { #2 } } @@ -2553,7 +1776,7 @@ \tl_set:cn { g__semantex_data_tl_#1_#2 } { #3 } } -\cs_generate_variant:Nn \semantex_data_tl_set:nnn { nnx } +\cs_generate_variant:Nn \semantex_data_tl_set:nnn { nno, nnx } \cs_new_protected:Npn \semantex_data_tl_put_right:nnn#1#2#3 { @@ -2632,7 +1855,7 @@ \int_use:c { g__semantex_data_int_#1_#2 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #3 } { data_int_not_found } { #2 } } @@ -2642,7 +1865,7 @@ } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #3 } { data_int_not_found } { #2 } } @@ -2673,7 +1896,7 @@ \int_set_eq:Nc#3 { g__semantex_data_int_#1_#2 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #4 } { data_int_not_found } { #2 } } @@ -2683,7 +1906,7 @@ } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #4 } { data_int_not_found } { #2 } } @@ -2821,7 +2044,7 @@ \bool_if:cTF { g__semantex_data_bool_#1_if_#2 } { #3 } { #4 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { #4 } @@ -2831,7 +2054,7 @@ } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnx { #5 } { data_bool_not_found } { #2 } } @@ -3003,7 +2226,7 @@ \use:c { __semantex_data_cs_custom_valuekey_#1_#2:nn } { #4 } { #3 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnn { #4 } { valuekey_not_found } { #2 } } @@ -3027,7 +2250,7 @@ % #1 = register % #2 = key % #3 = value - \use:c { __semantex_data_cs_custom_valuekey_class_SemantexBaseObject_#2:nn } { #1 } { #3 } + \use:c { __semantex_data_cs_custom_valuekey_\g_semantex_class_SemantexBaseObject_register_tl _#2:nn } { #1 } { #3 } } \cs_new_protected:Npn\semantex_singlekey:nn#1#2 @@ -3050,7 +2273,7 @@ \use:c { __semantex_data_cs_custom_singlekey_#1_#2:n } { #3 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_valuekey:nnn { #3 } { default } { #2 } } @@ -3080,7 +2303,7 @@ % the name of the register } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_valuekey:nnx { #3 } { default } { #2 } } @@ -3104,7 +2327,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_valuekey_#1_\tl_trim_spaces:n{#2}:nn } { ##1 } { ##2 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3127,7 +2350,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_singlekey_#1_\tl_trim_spaces:n{#2}:n } { ##1 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3151,7 +2374,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } { ##2 } { ##3 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3175,7 +2398,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } { ##2 } { ##3 } { ##4 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3199,7 +2422,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3223,7 +2446,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3247,7 +2470,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3271,7 +2494,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3295,7 +2518,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3319,7 +2542,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3349,7 +2572,7 @@ \use:c { __semantex_data_cs_custom_arg_valuekey_#1_#2:nn } { #4 } { #3 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_msg_error:nnn { #1 } { arg_valuekey_not_found } { #2 } } @@ -3379,7 +2602,7 @@ \use:c { __semantex_data_cs_custom_arg_singlekey_#1_#2:n } { #3 } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_arg_valuekey:nnn { #3 } { default } { #2 } } @@ -3409,7 +2632,7 @@ % the name of the register } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \semantex_arg_valuekey:nnx { #3 } { default } { #2 } } @@ -3443,7 +2666,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_valuekey_#1_\tl_trim_spaces:n{#2}:nn } { ##1 } { ##2 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3466,7 +2689,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_singlekey_#1_\tl_trim_spaces:n{#2}:n } { ##1 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3490,7 +2713,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_two_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnn } { ##1 } { ##2 } { ##3 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3514,7 +2737,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_three_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnn } { ##1 } { ##2 } { ##3 } { ##4 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3538,7 +2761,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_four_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3562,7 +2785,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_five_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3586,7 +2809,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_six_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3610,7 +2833,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_seven_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3634,7 +2857,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_eight_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -3658,7 +2881,7 @@ \exp_args:NNNo \exp_args:NNo\tl_set:No#3 { \use:c { __semantex_data_cs_custom_arg_nine_valuekey_#1_\tl_trim_spaces:n{#2}_auxiliary:nnnnnnnnn } { ##1 } { ##2 } { ##3 } { ##4 } { ##5 } { ##6 } { ##7 } { ##8 } { ##9 } } } { - \str_if_eq:nnTF { #1 } { class_SemantexBaseObject } + \str_if_eq:nVTF { #1 } \g_semantex_class_SemantexBaseObject_register_tl { \tl_set:Nn #3 {} } @@ -7050,49 +6273,53 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\msg_new:nnnn { semantex } { semantex_setup_key_not_found } { Unknown~key~#1~passed~to~\SemantexSetup~on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { semantex_setup_key_not_found } { Unknown~key~#1~passed~to~\token_to_str:N\SemantexSetup~on~line~\msg_line_number: } {} + +\msg_new:nnnn { semantex } { semantex_setup_key_value_not_found } { Unknown~value~#2~passed~to~key~#1~in~\token_to_str:N\SemantexSetup~on~line~\msg_line_number: } {} + +\msg_new:nnnn { semantex } { valuekey_not_found } { Unknown~key~#2~passed~to~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { semantex_setup_key_value_not_found } { Unknown~value~#2~passed~to~key~#1~in~\SemantexSetup~on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { arg_valuekey_not_found } { Unknown~argument~key~#2~passed~to~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { valuekey_not_found } { Unknown~key~#2~passed~to~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { data_tl_not_found } { Unknown~data~#2~requested~from~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { arg_valuekey_not_found } { Unknown~argument~key~#2~passed~to~#1on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { data_int_not_found } { Unknown~integer~#2~requested~from~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { data_tl_not_found } { Unknown~data~#2~requested~from~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { data_bool_not_found } { Unknown~boolean~#2~requested~from~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { data_int_not_found } { Unknown~integer~#2~requested~from~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { data_cs_not_found } { Unknown~command~sequence~#2~requested~from~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { data_bool_not_found } { Unknown~boolean~#2~requested~from~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { data_prop_not_found } { Unknown~property~list~#2~requested~from~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { data_cs_not_found } { Unknown~command~sequence~#2~requested~from~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { key_value_not_found } { Unknown~value~#3~passed~to~key~#2~in~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { data_prop_not_found } { Unknown~property~list~#2~requested~from~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { arg_key_value_not_found } { Unknown~value~#3~passed~to~argument~key~#2~in~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { key_value_not_found } { Unknown~value~#3~passed~to~key~#2~in~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { class_already_defined } { Class~#1~already~defined;~you~tried~defining~it~again~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { arg_key_value_not_found } { Unknown~value~#3~passed~to~argument~key~#2~in~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { object_already_defined } { Object~#1~already~defined;~you~tried~defining~it~again~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { class_already_defined } { Class~#1 already~defined;~you~tried~defining~it~again~on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { class_not_found } { Unknown~class~#3~declared~as~#2~of~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { object_already_defined } { Object~#1 already~defined;~you~tried~defining~it~again~on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { object_not_found } { You~set~#1~as~#2~of~unknown~object~#3~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { class_not_found } { Unknown~class~#3 declared~as~#2~of~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { created_object_of_unknown_class } { Unknown~class~#1~declared~as~class~of~#2~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { object_not_found } { You~set~#1 as~#2~of~unknown~object~#3 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { created_object_with_already_defined_name } { Command~#1~already~defined;~you~can~use~\token_to_str:N\DeclareObject~to~override~existing~commands. } {} -\msg_new:nnnn { semantex } { created_object_of_unknown_class } { Unknown~class~#1 declared~as~class~of~#2 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { created_class_with_already_defined_name } { Command~#1~already~defined;~you~can~use~\token_to_str:N #2~to~override~existing~commands. } {} -\msg_new:nnnn { semantex } { used_unknown_class } { Unknown~class~#1 received~by~\token_to_str:N\UseClassInCommand~on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { used_unknown_class } { Unknown~class~#1~received~by~\token_to_str:N\UseClassInCommand~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { setup_unknown_class } { You~tried~setting~up~an~unknown~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { setup_unknown_class } { You~tried~setting~up~an~unknown~#1~on~line~\msg_line_number: } {} -\msg_new:nnnn { semantex } { setup_unknown_object } { You~tried~setting~up~an~unknown~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { setup_unknown_object } { You~tried~setting~up~an~unknown~#1~on~line~\msg_line_number: } {} \msg_new:nnnn { semantex } { created_a_SemantexBaseObject } { Never~create~objects~of~class~\token_to_str:N\SemantexBaseObject;~create~a~new~class~yourself~instead.~You~created~the~object~#1 on~line~\msg_line_number: } {} \msg_new:nnnn { semantex } { SemantexThis_in_input_stream } { The~command~\token_to_str:N\SemantexThis~was~found~outside~a~class~or~object~on~line~\msg_line_number:;~did~you~forget~to~use~set~keys~x={...}? } {} -\msg_new:nnnn { semantex } { generic_error } { #2~#1 on~line~\msg_line_number: } {} +\msg_new:nnnn { semantex } { generic_error } { #2~#1~on~line~\msg_line_number: } {} \cs_generate_variant:Nn \msg_error:nnnn { nnnx } @@ -7101,10 +6328,9 @@ \cs_new_protected:Npn\semantex_error_output_format:nN#1#2 { \tl_set:Nn \l__semantex_error_output_format_temp { #1 } - \tl_replace_all:Nnn \l__semantex_error_output_format_temp { object_associated_to_class_ } { object~of~class~\cs:w } - \tl_replace_all:Nnn \l__semantex_error_output_format_temp { object_ } { object~\cs:w } - \tl_replace_all:Nnn \l__semantex_error_output_format_temp { class_ } { class~\cs:w } - \tl_put_right:Nn \l__semantex_error_output_format_temp { \cs_end: } + \tl_replace_all:Nnn \l__semantex_error_output_format_temp { object_associated_to_class_ } { object~of~class~ } + \tl_replace_all:Nnn \l__semantex_error_output_format_temp { object_ } { object~ } + \tl_replace_all:Nnn \l__semantex_error_output_format_temp { class_ } { class~ } \tl_trim_spaces:N \l__semantex_error_output_format_temp \tl_set_eq:NN #2 \l__semantex_error_output_format_temp } @@ -7172,7 +6398,7 @@ {define~keys[1]}{execute={ \semantex_define_valuekeys:nn { ##1 } { #1 } }}, } -\semantex_new_simple_class:Nw \SemantexBaseObject [ +\NewSimpleClass \SemantexBaseObject [ define~keys[1]={ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -7686,7 +6912,6 @@ }, }, {default}{sep~i={#1}}, - {degree~default}{sep~d={#1}}, {arg}{ execute={ \semantex_arg_singlekeys_set:nn { ##1 } { #1 } } }, {*~with~other~sep}{ d~*~with~other~sep={#1}, @@ -9456,12 +8681,12 @@ }, ] -\cs_set_eq:NN\__semantex_old_version_of_semantex_new_object_of_class_SemantexBaseObject:Nw \__semantex_new_object_of_class_SemantexBaseObject:Nw +\cs_set_eq:cc { __semantex_old_version_of_semantex_declare_object_of_\g_semantex_class_SemantexBaseObject_register_tl :Nw } { __semantex_declare_object_of_\g_semantex_class_SemantexBaseObject_register_tl :Nw } -\cs_set_protected:Npn \__semantex_new_object_of_class_SemantexBaseObject:Nw#1 +\cs_set_protected:Npn \__semantex_declare_object_of_class_SemantexBaseObject:Nw#1 { \msg_error:nnn { semantex } { created_a_SemantexBaseObject } { #1 } - \__semantex_old_version_of_semantex_new_object_of_class_SemantexBaseObject:Nw #1 + \use:c { __semantex_old_version_of_semantex_declare_object_of_\g_semantex_class_SemantexBaseObject_register_tl :Nw } #1 } diff --git a/macros/latex/contrib/semantex/semantex.tex b/macros/latex/contrib/semantex/semantex.tex index 3b2630da08..a377e0f217 100644 --- a/macros/latex/contrib/semantex/semantex.tex +++ b/macros/latex/contrib/semantex/semantex.tex @@ -42,19 +42,6 @@ \usepackage[nameinlink]{cleveref} -\title{Seman\!\TeX: semantic, keyval-based mathematics (v0.513)} -\date{\today} -\author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} - -\hypersetup{ - pdfauthor={Sebastian Ørsted}, - pdftitle={SemanTeX: semantic, keyval-based mathematics}, - %pdfsubject={}, - %pdfkeywords={}, - %pdfproducer={Latex with hyperref, or other system}, - %pdfcreator={pdflatex, or other tool}, -} - \usepackage{showexpl} \lstset{% @@ -103,6 +90,19 @@ \usepackage{semantex} +\title{Seman\!\TeX: semantic, keyval-based mathematics (v\SemantexVersion)} +\date{\today} +\author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} + +\hypersetup{ + pdfauthor={Sebastian Ørsted}, + pdftitle={SemanTeX: semantic, keyval-based mathematics (v\SemantexVersion)}, + %pdfsubject={}, + %pdfkeywords={}, + %pdfproducer={Latex with hyperref, or other system}, + %pdfcreator={pdflatex, or other tool}, +} + \SemantexSetup{ semtex file=true, } @@ -1761,7 +1761,7 @@ by default, so we shall have to turn them on first: } \end{lstlisting} The key \lstinline!other sep! is a key that controls the separator -between the current argument and the previous argument (it will only be printed if there was a previous argument). By default, this separator is a comma. So in the syntax~\lstinline!\co{*}{\vX,coef=\vR}!, +between the current argument and the previous argument (it will only be printed if there was a previous argument). By default, this separator is a comma. So in the syntax~\lstinline!\co[*]{\vX,coef=\vR}!, there are two arguments, \lstinline!\vX! and~\lstinline!\vR!, and the separator is a semicolon. We shall later (see~\cref{ch:parse_coho_coef}) see another, possibly more natural way to write cohomology with coefficients, and which avoids turning on keyval syntax in the argument. @@ -1867,7 +1867,9 @@ $ \vP[command=\overline,return, upper left=*] $ \end{LTXexample} -\chapter{The \texorpdfstring{\texttt{Symbol}}{Symbol} class type (Example: Derived tensor products and fibre products)} +\chapter{The \texorpdfstring{\texttt{Symbol}}{Symbol} class type (Example: Derived tensor products and fibre products)}\label{chap:symbol_class} + +\begingroup \NewSymbolClass\MyBinaryOperator[ define keys={ @@ -1933,6 +1935,12 @@ $\vX[*] \tensor[\vR] \vY[*]$ $\vk \tensor[\vA,der] \vk$, $\vX \fibre[\vY,der] \vX$ \end{LTXexample} +Later (in~\cref{sec:smart_binary_operators}), we shall see another, more advanced +solution for binary operators which also allows us to express the application of the operator +on \( \vn \)~elements. + + +\endgroup \chapter{Paired delimiters} @@ -1977,12 +1985,12 @@ $\norm[\infty]{\vx}$ We can also create for more complicated constructions, like sets. The following is inspired from the \pack{mathtools} package where a similar construction is created using the commands from that package. My impression is that Lars Madsen is the main mastermind behind the code I use for the \lstinline!\where!~construction: \begin{lstlisting} -\newcommand\wherecommand[1]{ - \nonscript\: +\newcommand\wherecommand[1]{% + \nonscript\:% #1\vert \allowbreak - \nonscript\: - \mathopen{} + \nonscript\:% + \mathopen{}% } \NewObject\MyVar\where{ \wherecommand{\SemantexDelimiterSize} } @@ -1995,12 +2003,12 @@ The following is inspired from the \pack{mathtools} package where a similar cons % this turns off all keyval syntax in the argument ] \end{lstlisting} -\newcommand\wherecommand[1]{ - \nonscript\: +\newcommand\wherecommand[1]{% + \nonscript\:% #1\vert \allowbreak - \nonscript\: - \mathopen{} + \nonscript\:% + \mathopen{}% } \NewObject\MyVar\where{ \wherecommand{\SemantexDelimiterSize} } @@ -2848,6 +2856,104 @@ As you see, we use the \lstinline!d!~key to tell the command what superscript it \] \end{LTXexample} +\section{Example: Smart binary operators}\label{sec:smart_binary_operators} + +\begingroup + +\NewVariableClass\MyBinaryOperator[ + set arg dots=\dotsb, + never par, + prepend keys[1]={ + {arg}{ + return, + set keys x={ + set arg sep=\SemantexDataGetExpNot{symbol}, + }, + }, + }, + parse options={ + int if greater T={ \SemantexIntGet{number of arguments} } { 0 } + { + symbol={}, + output=\MyVar, + }, + }, +] + +\NewObject\MyBinaryOperator\mult{\cdot} +\NewObject\MyBinaryOperator\tensor{\otimes} + +\NewVariableClass\InvisibleBinaryOperator[parent=\MyBinaryOperator, set arg dots=\dotsm] +\NewObject\InvisibleBinaryOperator\invmult{} +\NewObject\InvisibleBinaryOperator\spacemult{\,} + +In~\cref{chap:symbol_class}, we saw a simple solution for binary operators using the \lstinline!Symbol!~class. +But that solution only printed the operator itself. However, in semantic markup systems, it is ofen desirable +to also be able to explicitly typeset applications of the operator on \( \vn \)~arguments, like this: +\begin{LTXexample} +Applying the tensor product~$\tensor$ to $\vn$~elements, we get +\[ + \tensor{ \vx[1], \vx[2], ..., + \vx[\vn] }. +\] +Applying the multiplication operator~$\mult$ to $\vn$~elements, we get +\[ + \mult{ \vx[1], \vx[2], ..., + \vx[\vn] }. +\] +\end{LTXexample} + +This can be accomplished using the \lstinline!parse!~routine as follows: + +\begin{lstlisting} +\NewVariableClass\MyBinaryOperator[ + set arg dots=\dotsb, + never par, + prepend keys[1]={ + {arg}{ + return, + set keys x={ + set arg sep=\SemantexDataGetExpNot{symbol}, + }, + }, + }, + parse options={ + int if greater T={ \SemantexIntGet{number of arguments} } { 0 } + { + symbol={}, + output=\MyVar, + }, + }, +] + +\NewObject\MyBinaryOperator\tensor{\otimes} +\NewObject\MyBinaryOperator\mult{\cdot} +\end{lstlisting} + +In mathematical texts, the multiplication symbols in that last equation would usually be omitted. +However, if we want to make the syntax fully semantic, we should also type these multiplication operators explicitly, even if they will be invisible in the final output. +We do this by changing the argument dots and creating an object with an empty symbol. +Alternatively, if we want to insert a space between the variables being multiplied, +we can set the symbol to~\lstinline!\,!: +\begin{lstlisting} +\NewVariableClass\InvisibleBinaryOperator[parent=\MyBinaryOperator, + set arg dots=\dotsm] +\NewObject\InvisibleBinaryOperator\invmult{} +\NewObject\InvisibleBinaryOperator\spacemult{\,} +\end{lstlisting} +\begin{LTXexample} +In mathematical texts, we denote the product of \( \vn \)~elements simply by +\[ + \invmult{ \vx[1], \vx[2], ..., + \vx[\vn] } + = + \spacemult{ \vx[1], \vx[2], ..., + \vx[\vn] }. +\] +\end{LTXexample} + +\endgroup + \chapter{\texorpdfstring{\texttt{stripsemantex}}{stripsemantex} -- stripping your document of \texorpdfstring{\semantex}{SemanTeX} markup} \semantex{} is a big, heavy package, and it might raise eyebrows if you try using it in submissions to journals. On top of that, \url{arXiv.org} @@ -2993,7 +3099,7 @@ Let us take a look at the commands defined by \pack{semtex}: \mylst!\SemantexDoubleBullet! The commands that contain the bullets we use in \semantex, - i.e.~the superscript in~\( \co{*} \). + i.e.~the superscript in~\( \co[*] \). These bullets are smaller (and prettier, in my opinion) than the standard \lstinline!\bullet! command from~\LaTeX. @@ -3053,8 +3159,8 @@ Suppose in the following that you \TeX\ document is called~\texttt{mydoc.tex}. After this step, another document will have been created in the same folder, called~\lstinline!mydoc_prestripped.tex!. It will look just like \texttt{mydoc.tex}, - but in the document body, each \semantex{} markup command will now - have a command \mylst!\SemantexIDcommand{$\$}! + but in the document body, each command defined using \semantex{} will now + have an expression of the form~\mylst!\SemantexID{$\$}! preceding it. \item\label{pt:pre_strip_point} @@ -3079,6 +3185,9 @@ Suppose in the following that you \TeX\ document is called~\texttt{mydoc.tex}. left. You will then have to remove these few commands from your document manually. \end{enumerate} +\newpage +\section{Stripping comments from the document} + Apart from the machinery for stripping \semantex{} markup from documents, the package \pack{stripsemantex} also provides the command~\lstinline!\StripSemantexStripComments!, which is in principle completely unrelated to \semantex{} itself. @@ -3583,14 +3692,6 @@ In the following sections, we include the full list. e.g.~the~\lstinline!1! in~\lstinline!\vf[1]!. By default, this keys has been set to be equal to~\lstinline!sep i!, but it is meant to be changeable by the user. - - \item - \mylst!degree default={$\$}! - - This is the key where the grading goes. - It is the one used by the (now deprecated) \lstinline!Cohomology! class type. - By default, this key has been set to be equal to~\lstinline!sep d!, - but it is meant to be changeable by the user. \item \mylst!*! @@ -5701,39 +5802,6 @@ Let me add that \semantex{} uses a very clear separation between the input synta The last class type, called \lstinline!Simple!, is the class type of the class~\lstinline!\SemantexBaseObject!. This class is pretty useless as all it does is print its symbol, without allowing any keyval syntax. So you simply should not use it. -There are also a few extra class types which are now deprecated, as their syntax will only cause confusion. -They are still included for backwards compatibility, but I highly discourage their use: - -\begin{itemize} - \item \lstinline!Cohomology!: - A new class is declared with the - syntax - \begin{lstlisting} - \NewCohomologyClass@\usercommand\@[@\@] - \end{lstlisting} - A new object is declared by - \begin{lstlisting} - \NewObject@\usercommand\@@\usercommand\@{@\@}[@\@] - \end{lstlisting} - The syntax for this object is - \begin{lstlisting} - @\usercommand\@[@\@]{@\@}{@\@} - \end{lstlisting} - \item \lstinline!Delimiter!: - A new class is declared with the syntax - \begin{lstlisting} - \NewDelimiterClass@\usercommand\@[@\@] - \end{lstlisting} - A new object is declared by - \begin{lstlisting} - \NewObject@\usercommand\@@\usercommand\@{@\@}{@\@}[@\@] - \end{lstlisting} - The syntax for this object is - \begin{lstlisting} - @\usercommand\@[@\@]{@\@} - \end{lstlisting} -\end{itemize} - \section{The predefined data} By default, the following data are defined for each class or object and are accessible via @@ -5773,7 +5841,7 @@ the programming keys and commands: \lstinline!par size! (token list): the size of the argument parentheses. - Here, the value~\lstinline!normal! means normal size + The value~\lstinline!normal! means normal size parentheses, \lstinline!auto! and~\lstinline!*! mean auto-scaled parentheses using~\lstinline!\left ...\right!. @@ -5796,7 +5864,7 @@ the programming keys and commands: \lstinline!spar size! (token list): the size of the symbol parentheses (for use with the \lstinline!spar!~routine). - Here, the value~\lstinline!normal! means normal size + The value~\lstinline!normal! means normal size parentheses, \lstinline!auto! and~\lstinline!*! mean auto-scaled parentheses using~\lstinline!\left ...\right!. diff --git a/macros/latex/contrib/semantex/stripsemantex.lua b/macros/latex/contrib/semantex/stripsemantex.lua index f50648dd23..30d4c58be6 100644 --- a/macros/latex/contrib/semantex/stripsemantex.lua +++ b/macros/latex/contrib/semantex/stripsemantex.lua @@ -55,7 +55,7 @@ end addIDsToRegisters = function(str) str = removeStricttexFormatting(str) - content = content:gsub('\\' .. str .. '([^%a])' ,'\\SemantexIDcommand{}\\' .. str .. '%1') + content = content:gsub('\\' .. str .. '([^%a])' ,'\\SemantexID{}\\' .. str .. '%1') -- '%f[^%a]' does not work here, as it will not react if the last character of str is a number, -- which stricttex allows. -- Because of this choice, there will be an issue if you use stricttex and let @@ -64,33 +64,33 @@ addIDsToRegisters = function(str) end removeSuperfluousIDs = function() - local p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') + local p = content:find('([^\\]%%[^\n]-)\\SemantexID{}([^\n]-\n)') while p do - content = content:gsub('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)','%1%2') - p = content:find('([^\\]%%[^\n]-)\\SemantexIDcommand{}([^\n]-\n)') + content = content:gsub('([^\\]%%[^\n]-)\\SemantexID{}([^\n]-\n)','%1%2') + p = content:find('([^\\]%%[^\n]-)\\SemantexID{}([^\n]-\n)') end - content = content:gsub('parent(%s*)=(%s*)\\SemantexIDcommand{}','parent%1=%2') - content = content:gsub('class(%s*)=(%s*)\\SemantexIDcommand{}','class%1=%2') - content = content:gsub('clone(%s*)=(%s*)\\SemantexIDcommand{}','clone%1=%2') - content = content:gsub('copy(%s*)=(%s*)\\SemantexIDcommand{}','copy%1=%2') - content = content:gsub('\\New(%w+)Class(%s*{?)\\SemantexIDcommand{}','\\New%1Class%2') - content = content:gsub('\\NewObject(%s*{?%s*)\\SemantexIDcommand{}(\\%w+%s*}?%s*{?%s*)\\SemantexIDcommand{}', '\\NewObject%1%2') - content = content:gsub('\\SetupClass(%s*{?%s*)\\SemantexIDcommand{}', '\\SetupClass%1') - content = content:gsub('\\SetupObject(%s*{?%s*)\\SemantexIDcommand{}', '\\SetupObject%1') + content = content:gsub('parent(%s*)=(%s*)\\SemantexID{}','parent%1=%2') + content = content:gsub('class(%s*)=(%s*)\\SemantexID{}','class%1=%2') + content = content:gsub('clone(%s*)=(%s*)\\SemantexID{}','clone%1=%2') + content = content:gsub('copy(%s*)=(%s*)\\SemantexID{}','copy%1=%2') + content = content:gsub('\\New(%w+)Class(%s*{?)\\SemantexID{}','\\New%1Class%2') + content = content:gsub('\\NewObject(%s*{?%s*)\\SemantexID{}(\\%w+%s*}?%s*{?%s*)\\SemantexID{}', '\\NewObject%1%2') + content = content:gsub('\\SetupClass(%s*{?%s*)\\SemantexID{}', '\\SetupClass%1') + content = content:gsub('\\SetupObject(%s*{?%s*)\\SemantexID{}', '\\SetupObject%1') end addNumbersToIDs = function() local n = 0 - local p,q = string.find(content,'\\SemantexIDcommand{}') + local p,q = string.find(content,'\\SemantexID{}') while q do n = n + 1 content = content:sub(1,q-1) .. n .. content:sub(q,-1) - p, q = string.find(content,'\\SemantexIDcommand{}') + p, q = string.find(content,'\\SemantexID{}') end end semantexIDluacommand = function(id, source, output) - local p, q = string.find(content, '\\SemantexIDcommand{' .. id .. '}') + local p, q = string.find(content, '\\SemantexID{' .. id .. '}') while p do content = content:sub(1,p-1) .. content:sub(q+1,-1) @@ -228,12 +228,12 @@ semantexIDluacommand = function(id, source, output) else content = content:sub(1,p-1) .. output .. content:sub(p,-1) end - p, q = string.find(content, '\\SemantexIDcommand{' .. id .. '}') + p, q = string.find(content, '\\SemantexID{' .. id .. '}') end end stripRemainingSemantexIDs = function() - content = content:gsub('\\SemantexIDcommand{%d+}', '') + content = content:gsub('\\SemantexID{%d+}', '') end removeParenthesisCommands = function() diff --git a/macros/latex/contrib/semantex/stripsemantex.sty b/macros/latex/contrib/semantex/stripsemantex.sty index 4e5dafc2ee..1dd814689c 100644 --- a/macros/latex/contrib/semantex/stripsemantex.sty +++ b/macros/latex/contrib/semantex/stripsemantex.sty @@ -1,5 +1,5 @@ \RequirePackage{xparse} -\ProvidesExplPackage{stripsemantex}{2021/08/23}{0.513}{} +\ProvidesExplPackage{stripsemantex}{2022/09/22}{0.530}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -40,12 +40,12 @@ openFile('\lua_escape:e{#1}_prestripped.tex') } - \cs_set:Npn\DeclareObject##1 + \cs_set:Npn\RegisterObject##1 { \lua_now:e { addIDsToRegisters ( '\cs_to_str:N ##1' ) } } - \cs_set:Npn\DeclareClass##1{ + \cs_set:Npn\RegisterClass##1{ \lua_now:e { addIDsToRegisters ( '\cs_to_str:N ##1' ) } } @@ -76,7 +76,7 @@ openFile('\lua_escape:e{#1}_prestripped.tex') } - \DeclareDocumentCommand\SemantexID{ m t{\BeginSource} } + \DeclareDocumentCommand\RegisterID{ m t{\BeginSource} } { \IfBooleanT{##2} { @@ -94,9 +94,9 @@ } } - \cs_set:Npn\DeclareObject##1{} + \cs_set:Npn\RegisterObject##1{} - \cs_set:Npn\DeclareClass##1{} + \cs_set:Npn\RegisterClass##1{} \cs_set:Npn\BeginSource##1\EndSource\BeginOutput##2\EndOutput{} @@ -109,17 +109,17 @@ \bool_if:NTF \g_stripsemantex_something_left_to_strip_bool { - \cs_set:Npn\DeclareObject##1 + \cs_set:Npn\RegisterObject##1 { \lua_now:e { addIDsToRegisters ( '\cs_to_str:N ##1' ) } } - \cs_set:Npn\DeclareClass##1 + \cs_set:Npn\RegisterClass##1 { \lua_now:e { addIDsToRegisters ( '\cs_to_str:N ##1' ) } } - \cs_set:Npn\SemantexID##1 {} + \cs_set:Npn\RegisterID##1 {} \cs_set:Npn\BeginSource##1\EndSource\BeginOutput##2\EndOutput {} diff --git a/macros/xetex/latex/bidi/README b/macros/xetex/latex/bidi/README index 5975c03432..55813094f1 100644 --- a/macros/xetex/latex/bidi/README +++ b/macros/xetex/latex/bidi/README @@ -1,6 +1,6 @@ ___________________ The bidi package -v39.3 +v39.5 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. @@ -25,7 +25,7 @@ The announcements for the new releases of the package will also appear in the Discussions space under the Announcements category. -Current version release date: 2022/07/18 +Current version release date: 2022/09/22 ___________________________________________ Vafa Khalighi diff --git a/macros/xetex/latex/bidi/bidi-doc-intro.ltx b/macros/xetex/latex/bidi/bidi-doc-intro.ltx index e469e48c65..f0fed3ee24 100644 --- a/macros/xetex/latex/bidi/bidi-doc-intro.ltx +++ b/macros/xetex/latex/bidi/bidi-doc-intro.ltx @@ -20,7 +20,7 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run * Copyright (c) 2007--2022 Vafa Khalighi * Copyright (c) 2018--2020 bidi-tex GitHub Organization * -* v39.3, 2022/07/18 +* v39.5, 2022/09/22 * * License: LaTeX Project Public License, version * 1.3c or higher (your choice) diff --git a/macros/xetex/latex/bidi/bidi-doc-title.ltx b/macros/xetex/latex/bidi/bidi-doc-title.ltx index 49cd7e1da7..e913cd8377 100644 --- a/macros/xetex/latex/bidi/bidi-doc-title.ltx +++ b/macros/xetex/latex/bidi/bidi-doc-title.ltx @@ -3,7 +3,7 @@ \begin{document} \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ \LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] -\large User documentation for \textcolor{blue!65!black}{version 39.3}} +\large User documentation for \textcolor{blue!65!black}{version 39.5}} \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}} \setcounter{page}{0} \thispagestyle{empty} @@ -13,7 +13,7 @@ \textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} \Large -User documentation for \textcolor{blue!65!black}{version 39.3}} +User documentation for \textcolor{blue!65!black}{version 39.5}} \vskip 0pt plus 3fill \textit{\large to my Master, \textbf{Ferdowsi The Great}} diff --git a/macros/xetex/latex/bidi/bidi-doc.ltx b/macros/xetex/latex/bidi/bidi-doc.ltx index 7d44f62301..dcf0e5ba48 100644 --- a/macros/xetex/latex/bidi/bidi-doc.ltx +++ b/macros/xetex/latex/bidi/bidi-doc.ltx @@ -1,7 +1,7 @@ \documentclass{ltxdoc} \input{bidi-doc-preamble.ltx} \hypersetup{% - pdftitle={User documentation for version 39.3 of the bidi + pdftitle={User documentation for version 39.5 of the bidi package}% } \begin{document} diff --git a/macros/xetex/latex/bidi/bidi-doc.pdf b/macros/xetex/latex/bidi/bidi-doc.pdf index 97d4ddd08c..a9dfd1ef56 100644 Binary files a/macros/xetex/latex/bidi/bidi-doc.pdf and b/macros/xetex/latex/bidi/bidi-doc.pdf differ diff --git a/macros/xetex/latex/bidi/bidi.dtx b/macros/xetex/latex/bidi/bidi.dtx index ccdfcf2a47..8d457f5281 100644 --- a/macros/xetex/latex/bidi/bidi.dtx +++ b/macros/xetex/latex/bidi/bidi.dtx @@ -5,7 +5,7 @@ %<*readme> ___________________ The bidi package -v39.3 +v39.5 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. @@ -30,7 +30,7 @@ The announcements for the new releases of the package will also appear in the Discussions space under the Announcements category. -Current version release date: 2022/07/18 +Current version release date: 2022/09/22 ___________________________________________ Vafa Khalighi @@ -267,7 +267,7 @@ by Vafa Khalighi. \documentclass{ltxdoc} \input{bidi-doc-preamble.ltx} \hypersetup{% - pdftitle={Source documentation for version 39.3 of the bidi + pdftitle={Source documentation for version 39.5 of the bidi package}% } \EnableCrossrefs @@ -286,7 +286,7 @@ by Vafa Khalighi. % \GetFileInfo{\jobname.dtx} % \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ %\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] -%\large Source documentation for \textcolor{blue!65!black}{version 39.3}} +%\large Source documentation for \textcolor{blue!65!black}{version 39.5}} % \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}} %\setcounter{page}{0} %\thispagestyle{empty} @@ -296,7 +296,7 @@ by Vafa Khalighi. %\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} % %\Large -%Source documentation for \textcolor{blue!65!black}{version 39.3}} +%Source documentation for \textcolor{blue!65!black}{version 39.5}} % %\vskip 0pt plus 3fill %\textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -345,7 +345,7 @@ by Vafa Khalighi. %\iffalse %<*table> %\fi -%% \CheckSum{55413} +%% \CheckSum{55446} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -4589,8 +4589,8 @@ by Vafa Khalighi. % \section{File \texttt{bidi.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\def\bididate{2022/07/18} -\def\bidi@version{39.3} +\def\bididate{2022/09/22} +\def\bidi@version{39.5} \ProvidesPackage{bidi}[\bididate\space v\bidi@version\space Bidirectional typesetting in plain TeX and LaTeX] \edef\@bidi@info{****************************************************^^J% @@ -4677,7 +4677,7 @@ Bidirectional typesetting in plain TeX and LaTeX] } \newcommand*{\@bidi@pdfcustomproperties}{% This is the bidi package, Version \bidi@version, - Released July 18, 2022. + Released September 22, 2022. } \newcommand*{\bidi@beamer@ragged}{} \@RTLmainfalse @@ -4921,9 +4921,9 @@ Bidirectional typesetting in plain TeX and LaTeX] %\fi % \section{File \texttt{bidi.tex}} % \begin{macrocode} -\def\bididate{2022/07/18} +\def\bididate{2022/09/22} \catcode`@=11 -\def\bidi@version{39.3} +\def\bidi@version{39.5} \let \protect \relax \newlinechar`\^^J \edef\@bidi@info{****************************************************^^J% @@ -5025,7 +5025,7 @@ Bidirectional typesetting in plain TeX and LaTeX] } \def\@bidi@pdfcustomproperties{% This is the bidi package, Version \bidi@version, - Released July 18, 2022. + Released September 22, 2022. } \def\bidi@pdfm@mark{% \special{pdf:% @@ -20037,7 +20037,7 @@ to\rtside{\box\bslice\hfil}} %\fi % \section{File \texttt{pstricks-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{pstricks-xetex-bidi.def}[2015/11/18 v0.5 bidi adaptations for pstricks package for XeTeX engine] +\ProvidesFile{pstricks-xetex-bidi.def}[2022/09/22 v0.6 bidi adaptations for pstricks package for XeTeX engine] \def\pspicture{\begingroup\ifmmode\else\@RTLfalse\beginL\fi\pst@ifstar\pst@picture} \def\endpspicture{% \ifshowgrid\ifnum\showgridp@s>0 @@ -20078,6 +20078,26 @@ to\rtside{\box\bslice\hfil}} \endgroup% \psset[pstricks]{shift=0}% reset value } + +\bidi@patchcmd\@@scalebox{% + \special{x: bscale \pst@tempc \pst@tempd}% + \hbox to \z@{\box\pst@hbox\hss}% + \special{x: escale}% +}{% + \if@RTL + \special{x: escale}% + \else + \special{x: bscale \pst@tempc \pst@tempd}% + \fi + \hbox to \z@{\box\pst@hbox\hss}% + \if@RTL + \special{x: bscale \pst@tempc \pst@tempd}% + \else + \special{x: escale}% + \fi +}{}{} +\let\ps@@scalebox\@@scalebox + % \end{macrocode} % \iffalse % diff --git a/macros/xetex/latex/bidi/bidi.pdf b/macros/xetex/latex/bidi/bidi.pdf index f3fda0ac97..fb52d598e1 100644 Binary files a/macros/xetex/latex/bidi/bidi.pdf and b/macros/xetex/latex/bidi/bidi.pdf differ diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog index f4c102576d..9bfa086af1 100644 --- a/support/TeX4ht/source/ChangeLog +++ b/support/TeX4ht/source/ChangeLog @@ -1,3 +1,12 @@ +2022-09-22 Michal Hoftich + + * tex4ht-html4.tex (html4.4ht): use CSS grid for description list + based enumerate environments. + + * tex4ht-html4.tex (html4.4ht): prevent reseting of list + environments that are placed inside multicols environment. + https://tex.stackexchange.com/q/659089/2891 + 2022-09-20 Michal Hoftich * tex4ht-4ht.tex (csbulletin.4ht): basic support for the CSTUG diff --git a/support/TeX4ht/source/Makefile b/support/TeX4ht/source/Makefile index 4c80ac5662..97d760cc43 100644 --- a/support/TeX4ht/source/Makefile +++ b/support/TeX4ht/source/Makefile @@ -99,7 +99,7 @@ tex4ht_4ht_derived = \ abstract.4ht adjustbox.4ht algorithmic.4ht amsmath.4ht \ animate.4ht authblk.4ht appendix.4ht \ biblatex.4ht biblatex-chicago.4ht book.4ht bussproofs.4ht \ - caption.4ht cleveref.4ht color.4ht colortbl.4ht \ + caption.4ht cleveref.4ht color.4ht colortbl.4ht csbulletin.4ht \ fontspec.4ht fontspec-4ht.lua fontspec-luatex.4ht fontspec-xetex.4ht \ footmisc.4ht framed.4ht frenchb.4ht floatpag.4ht \ geometry.4ht graphics.4ht graphicx.4ht \ diff --git a/support/TeX4ht/source/tex4ht-html4.tex b/support/TeX4ht/source/tex4ht-html4.tex index a968f259da..d55d830e02 100644 --- a/support/TeX4ht/source/tex4ht-html4.tex +++ b/support/TeX4ht/source/tex4ht-html4.tex @@ -1,4 +1,4 @@ -% $Id: tex4ht-html4.tex 1190 2022-08-29 10:21:19Z michal_h21 $ +% $Id: tex4ht-html4.tex 1198 2022-09-22 15:05:34Z michal_h21 $ % Compile 4 times: latex tex4ht-html4 % Copy html4.4ht into the work directory before all but the last compilation. % @@ -2942,12 +2942,13 @@ such a case, we don't have proper nestings of environments. {\end:itm \global\def\end:itm{\EndP\Tg}\HCode{

}\bgroup \bf} {\egroup\EndP\HCode{
}|} -\Css{dd.enumerate {margin-left: 2em;}} -\Css{dt.enumerate {float:left; - clear:left; - margin-right:0.5em; - margin-left:0.5em; - text-align:right; }} +\Css{dl.enumerate {display:grid; grid-template-columns: 3ch 1fr; align-items: top; row-gap:1ch;}} +% \Css{dd.enumerate {margin-left: 2em;}} +% \Css{dt.enumerate {float:left; +% clear:left; +% margin-right:0.5em; +% margin-left:0.5em; +% text-align:right; }} >>> \<<< @@ -15697,7 +15698,7 @@ IE doesn't distinguish between upper and lower case characters in css \<<< \HAssign\MultiCols=0 -\ConfigureEnv{multicols}{}{}{}{} +\ConfigureEnv{multicols}{\empty}{\empty}{}{} \Configure{multicolscolumn} {\ifvmode\IgnorePar\fi\EndP\HCode{
}} diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 6385f29341..9d319c3c9b 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -21,7 +21,6 @@ $mirrors = { 'https://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1, 'https://mirrors.sustech.edu.cn/CTAN/' => 1, 'https://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1, - 'https://mirrors.ustc.edu.cn/CTAN/' => 1, }, 'Hong Kong' => { 'https://mirror-hk.koddos.net/CTAN/' => 1, @@ -33,9 +32,7 @@ $mirrors = { 'https://mirror.unpad.ac.id/ctan/' => 1, }, 'Iran' => { - 'http://ctan.yazd.ac.ir/' => 1, 'https://ctan.asis.sh/' => 1, - 'https://ctan.um.ac.ir/' => 1, 'https://mirror.bardia.tech/ctan/' => 1, }, 'Japan' => { @@ -49,7 +46,6 @@ $mirrors = { 'https://cran.asia/tex/' => 1, 'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1, 'https://lab.uklee.pe.kr/tex-archive/' => 1, - 'https://mirror.kakao.com/CTAN/' => 1, 'https://mirror.navercorp.com/CTAN/' => 1, }, 'Philippines' => { @@ -74,7 +70,6 @@ $mirrors = { 'https://mirror.datacenter.by/pub/mirrors/CTAN/' => 1, }, 'Czech Republic' => { - 'http://ftp.cvut.cz/tex-archive/' => 1, 'https://mirrors.nic.cz/tex-archive/' => 1, }, 'Denmark' => { @@ -119,6 +114,9 @@ $mirrors = { 'http://ftp.ntua.gr/mirror/ctan/' => 1, 'https://ftp.cc.uoc.gr/mirrors/CTAN/' => 1, }, + 'Hungary' => { + 'https://mirror.szerverem.hu/ctan/' => 1, + }, 'Italy' => { 'https://ctan.mirror.garr.it/mirrors/ctan/' => 1, }, @@ -145,7 +143,6 @@ $mirrors = { 'https://mirrors.nxthost.com/ctan/' => 1, }, 'Russia' => { - 'https://ctan.altspu.ru/' => 1, 'https://mirror.macomnet.net/pub/CTAN/' => 1, 'https://mirror.truenetwork.ru/CTAN/' => 1, 'https://mirrors.mi-ras.ru/CTAN/' => 1, @@ -166,7 +163,6 @@ $mirrors = { 'https://mirror.foobar.to/CTAN/' => 1, }, 'United Kingdom' => { - 'https://mirrors.harcombe.net/tex-archive/' => 1, 'https://www-uxsup.csx.cam.ac.uk/pub/tex-archive/' => 1, }, }, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 162f929a31..6bf48b8346 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/2022 -depend revision/64458 +depend revision/64479 name 00texlive.image category TLCore -revision 64447 +revision 64477 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 @@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment longdesc this list. Those are not included in the source/ tarball. For longdesc information on the 00texlive prefix see longdesc 00texlive.installation(.tlpsrc) -runfiles size=12919 +runfiles size=12917 .mkisofsrc autorun.inf texmf-dist/README @@ -383,6 +383,7 @@ runfiles size=12919 tlpkg/tlpsrc/abntex2.tlpsrc tlpkg/tlpsrc/aboensis.tlpsrc tlpkg/tlpsrc/abraces.tlpsrc + tlpkg/tlpsrc/abspos.tlpsrc tlpkg/tlpsrc/abstract.tlpsrc tlpkg/tlpsrc/abstyles.tlpsrc tlpkg/tlpsrc/academicons.tlpsrc @@ -1164,6 +1165,7 @@ runfiles size=12919 tlpkg/tlpsrc/colophon.tlpsrc tlpkg/tlpsrc/color-edits.tlpsrc tlpkg/tlpsrc/colordoc.tlpsrc + tlpkg/tlpsrc/colorframed.tlpsrc tlpkg/tlpsrc/colorinfo.tlpsrc tlpkg/tlpsrc/coloring.tlpsrc tlpkg/tlpsrc/colorist.tlpsrc @@ -3140,6 +3142,7 @@ runfiles size=12919 tlpkg/tlpsrc/padcount.tlpsrc tlpkg/tlpsrc/pagecolor.tlpsrc tlpkg/tlpsrc/pagecont.tlpsrc + tlpkg/tlpsrc/pagegrid.tlpsrc tlpkg/tlpsrc/pagenote.tlpsrc tlpkg/tlpsrc/pagerange.tlpsrc tlpkg/tlpsrc/pagesel.tlpsrc @@ -3185,6 +3188,7 @@ runfiles size=12919 tlpkg/tlpsrc/pdf14.tlpsrc tlpkg/tlpsrc/pdfarticle.tlpsrc tlpkg/tlpsrc/pdfbook2.tlpsrc + tlpkg/tlpsrc/pdfcol.tlpsrc tlpkg/tlpsrc/pdfcolmk.tlpsrc tlpkg/tlpsrc/pdfcomment.tlpsrc tlpkg/tlpsrc/pdfcprot.tlpsrc @@ -4635,7 +4639,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 64457 +revision 64460 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 @@ -8083,6 +8087,41 @@ catalogue-license lppl1.3 catalogue-topics maths maths-symbol catalogue-version 2.0 +name abspos +category Package +revision 64465 +shortdesc Absolute placement with coffins +relocated 1 +longdesc This package lets you place contents at an absolute position, +longdesc anchored at some specified part of the contents, similar to how +longdesc TikZ nodes work, though without using the two-pass strategy of +longdesc TikZ. It also avoids messing with the order of beamer overlays, +longdesc which is what happens when one uses the textpos package with +longdesc the overlay option. The solution used is quite straightforward, +longdesc combining coffins (using l3coffins) with the placement +longdesc mechanisms of atbegshi. +containersize 2452 +containerchecksum 87400db8c388db7d7105007ea853d2254451b98daba9a8c61822fb56d143e2dfb75918d40bfe519dfe18b401f944db1569ee41ac768ccac8449e78ae59fb11c0 +doccontainersize 443576 +doccontainerchecksum 90cb62134a36e1cb1589fbc8a6b993c777562eb1eb309dc0cb4f6835ec7174df262957cc9b34631aab4cff5b6aa6818770e26034f5eab29d35ad5d7c4a155cd5 +docfiles size=114 + RELOC/doc/latex/abspos/LICENSE + RELOC/doc/latex/abspos/README.md details="Readme" + RELOC/doc/latex/abspos/abspos.pdf details="Package documentation" + RELOC/doc/latex/abspos/demo.tex +srccontainersize 7180 +srccontainerchecksum 7cf57d88b340d57277e16594e66c076aadba3d505d6f7c66cd1e9407db5d21432d121c3b798d0f86704f12732080a9043c6c843afd16886533065ab70e61b8db +srcfiles size=6 + RELOC/source/latex/abspos/abspos.dtx +runfiles size=2 + RELOC/tex/latex/abspos/abspos.sty +catalogue-contact-bugs https://github.com/mlhetland/abspos.sty/issues +catalogue-contact-repository https://github.com/mlhetland/abspos.sty +catalogue-ctan /macros/latex/contrib/abspos +catalogue-license mit +catalogue-topics layout expl3 +catalogue-version 0.1 + name abstract category Package revision 15878 @@ -41199,16 +41238,16 @@ catalogue-version 2.2 name bidi category Package -revision 63930 +revision 64474 shortdesc Bidirectional typesetting in plain TeX and LaTeX, using XeTeX relocated 1 longdesc A convenient interface for typesetting bidirectional texts with longdesc plain TeX and LaTeX. The package includes adaptations for use longdesc with many other commonly-used packages. -containersize 131436 -containerchecksum 11ec479b0df845e4510bd0091cac5170c6cfc352eb10aede104a2b10789d1082e75e2bbfb47afa8ff42c1c3c710c19a66ba4a3e0caa0f8cca33a4c445df216ef -doccontainersize 4052588 -doccontainerchecksum f8a6a64890169bb314da97a2bd89678ad2753716298a5cf59614afe2335c9963583e1f33b609288f5e814681d4cb37f955e6060161ba1e783139f90156767550 +containersize 131460 +containerchecksum 95ebb45d561967e21135c7b09fca12a289483cec482c5e38f9b2688aef92f0f0c5c7103e63615465de045590ff7fef5d91b5c2386b81b0292a824c202547d614 +doccontainersize 4049540 +doccontainerchecksum 5ffe044696aad81591b9264e4818efa141715a1515a0a40ffc081ca237bf04efb1d08e3eff0544813089bcfbdaf34b91ffa499b25af52d092d2f65b66f4cba95 docfiles size=1115 RELOC/doc/xelatex/bidi/README details="Readme" RELOC/doc/xelatex/bidi/bidi-bibitem.pdf @@ -41234,8 +41273,8 @@ docfiles size=1115 RELOC/doc/xelatex/bidi/test2-colortbl.tex RELOC/doc/xelatex/bidi/test2-wrapfig.tex RELOC/doc/xelatex/bidi/test3-wrapfig.tex -srccontainersize 148044 -srccontainerchecksum 505c9296b0ba5ad3ee5edd59ea6c4e6f7cbdec902872eed8ff5e8e9246a9b371fbc4ae5a4c682ccdd5351f98ded976e1b0df4ca575a0d4eddca453ea9d961581 +srccontainersize 148072 +srccontainerchecksum 917874a75bc92b72f8bbd0b46c45cec3353e4f399c257960c19ea362057881604c8ee0dd737d2284425a55f71775e864d26a8a6fb6dce1cfe7459a0ce47f9716 srcfiles size=274 RELOC/source/xelatex/bidi/bidi-doc-intro.ltx RELOC/source/xelatex/bidi/bidi-doc-latex-basics.ltx @@ -41421,7 +41460,7 @@ catalogue-contact-support https://github.com/kvafa/bidi/discussions catalogue-ctan /macros/xetex/latex/bidi catalogue-license lppl1.3c catalogue-topics typesetting xetex bidi class -catalogue-version 39.3 +catalogue-version 39.5 name bidi-atbegshi category Package @@ -42380,18 +42419,18 @@ catalogue-version 1.0 name blowup category Package -revision 64454 +revision 64466 shortdesc Upscale or downscale all pages of a document relocated 1 longdesc The package blowup only defines the user-level macro \blowUp, longdesc which can be used to upscale or downscale all pages of a longdesc document. It is similar to the TeX primitive \magnification but longdesc more accurate and user-friendly. -containersize 2600 -containerchecksum 3a9aa240d0315214eca58f2e42e2aea07687b0b5c80e71cce7df22f77c68d850d136832aa3da8725b8eb875b7307a0f2193b45038a3394a6be0fd9eb04878db1 -doccontainersize 278932 -doccontainerchecksum 68b4afe577bc455a47a5b75e4ad9643cdc920180d6b44c3635f5582f9910614b055994af3ada3ba43eebd93537ed8becead673d087f794ca63d19a64cfaad1fd -docfiles size=91 +containersize 2692 +containerchecksum a516938f57984f320563b6acf3016d5e49d2d4899d0ed9b193b3015df277519444d152d0be8f49801ae259c9de1daf74cfa5f228851160b6a8e11b5707fac99a +doccontainersize 294208 +doccontainerchecksum aa26cab17c65e4b8899ef985ac10cb283711901881e41e2b269d544d3c4f51a7637d94789a1bf88094f5b32ea0344b7d7afb3d97402ab50a2bb2bacc930d7988 +docfiles size=101 RELOC/doc/latex/blowup/README.md details="Readme" RELOC/doc/latex/blowup/blowup-ex1.pdf RELOC/doc/latex/blowup/blowup-ex1.tex @@ -42403,10 +42442,12 @@ docfiles size=91 RELOC/doc/latex/blowup/blowup-ex4.tex RELOC/doc/latex/blowup/blowup-ex5.pdf RELOC/doc/latex/blowup/blowup-ex5.tex + RELOC/doc/latex/blowup/blowup-ex6.pdf + RELOC/doc/latex/blowup/blowup-ex6.tex RELOC/doc/latex/blowup/blowup.pdf details="Package documentation" -srccontainersize 5140 -srccontainerchecksum 6e39463cf0f7d1ebd2e0523aaeffca86ee000e1a09e5b14744f054326a937d81dcfc8d924c042b71654d3a8beeed9a010fab0abdb345ddcfd9865fb6ac192c7c -srcfiles size=5 +srccontainersize 5308 +srccontainerchecksum 65f1f194ad5673aa0f119d9f39e55b7cebe1d17a5587c42d3fc8b255fbbc9d968d6889b544041434fd8cdbf3acebc64ecefe25af2ba6b9bdbe4102e5d13c8753 +srcfiles size=6 RELOC/source/latex/blowup/blowup.dtx RELOC/source/latex/blowup/blowup.ins runfiles size=2 @@ -42416,7 +42457,7 @@ catalogue-contact-repository https://github.com/rolfn/blowup catalogue-ctan /macros/latex/contrib/blowup catalogue-license lppl1.3 catalogue-topics typesetting -catalogue-version 2.0.0 +catalogue-version 2.1.0 name blox category Package @@ -69486,7 +69527,7 @@ containerchecksum c73220abd1545907a1d8de37cb534d2c6bd2534f1b55f03c069f39f535c326 name collection-latexextra category Collection -revision 64404 +revision 64469 shortdesc LaTeX additional packages relocated 1 longdesc A very large collection of add-on packages for LaTeX. @@ -69495,6 +69536,7 @@ depend a0poster depend a4wide depend a5comb depend abraces +depend abspos depend abstract depend accessibility depend accsupp @@ -69703,6 +69745,7 @@ depend collection-pictures depend colophon depend color-edits depend colordoc +depend colorframed depend colorinfo depend coloring depend colorist @@ -70459,6 +70502,7 @@ depend overpic depend padcount depend pagecolor depend pagecont +depend pagegrid depend pagenote depend pagerange depend pageslts @@ -70486,6 +70530,7 @@ depend pbalance depend pbox depend pbsheet depend pdf14 +depend pdfcol depend pdfcolmk depend pdfcomment depend pdfcprot @@ -70949,8 +70994,8 @@ depend zref-clever depend zref-vario depend zwgetfdate depend zwpagelayout -containersize 6748 -containerchecksum f61c1c72c8b97d7e210bcfe3a2ae296a5cff7956cf6335d55f26492348b93569440b4a4e50eb26ff9c264fd9641deb173c053ad54ca7e8dbc0f1de08b1e8cb7b +containersize 6760 +containerchecksum b5ec072ad484812f8c0afd16602a3264c72def51bc905dd04e3270f3e51b4d804ffa213f7735f7a91280150f143f61790007fb2c03d41deef2d9185871311df8 name collection-latexrecommended category Collection @@ -72439,6 +72484,30 @@ catalogue-ctan /macros/latex/contrib/colordoc catalogue-license lppl1 catalogue-topics doc-supp +name colorframed +category Package +revision 64467 +shortdesc Fix color problems with the package "framed" +relocated 1 +longdesc This package fixes problems with colour loss that occurres in +longdesc the environments of the framed package. +containersize 2416 +containerchecksum 8e968005d25f54c2260c623ce0f8f46a7faac85f21dc29a66c43bbc06d86b49f1e6f275eb19aa2148b6b09820f6b30ac947d1cf8b17ea923c6e3c211c7809e46 +doccontainersize 21712 +doccontainerchecksum 68f8a57bffb396f4ee15ee9bcee8678f7b3dec26b2563aba1edf89572cc8ab1304a864c6ea8479fca09e0195f19f1e14c43ce945500cfb0f55b6ef1703258087 +docfiles size=9 + RELOC/doc/latex/colorframed/README.md details="Readme" + RELOC/doc/latex/colorframed/colorframed-doc.pdf details="Package documentation" + RELOC/doc/latex/colorframed/colorframed-doc.tex +runfiles size=2 + RELOC/tex/latex/colorframed/colorframed.sty +catalogue-contact-bugs https://github.com/jfbu/colorframed/issues +catalogue-contact-repository https://github.com/jfbu/colorframed +catalogue-ctan /macros/latex/contrib/colorframed +catalogue-license lppl1.3c +catalogue-topics decoration +catalogue-version 0.9 + name colorinfo category Package revision 15878 @@ -108767,7 +108836,7 @@ catalogue-topics font font-type1 font-archaic name eplain category Package -revision 62145 +revision 64476 shortdesc Extended plain TeX macros longdesc An extended version of the plain TeX format, adding support for longdesc bibliographies, tables of contents, enumerated lists, verbatim @@ -108799,9 +108868,9 @@ depend tex-ini-files depend unicode-data execute AddFormat name=eplain engine=pdftex patterns=language.dat options="-translate-file=cp227.tcx *eplain.ini" fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,dehyph,hyph-utf8,knuth-lib,plain containersize 42280 -containerchecksum 5bc922f1ee34577bbaf68447519c5f2dc1fd3d7bd1e311652dfcfeb260dad26b6183d0534a6165ab0e5faf33ab2547b6ce16c507978429b8d130d60b32dc296b +containerchecksum d06ab70642fca806c48075d4df95dafb2108facbfb9567528b29631cd74f0e76fd0b0372c4f75ed87eb349534dc076aa76db097544a8c20642b80ceb64eb54e6 doccontainersize 982712 -doccontainerchecksum bf2f9a8fb98ffabcff593b189b5ab589da38916f9a38edf4eaa23c4327821ab1edbc898a9971fea42e9d77c40321ccfd476c5c3a2a8b966c0857aded5d9b20db +doccontainerchecksum e93d85271ff22acf2ac4b3e09eed8720f17c0aa3754198c9ff391ee919298136f89103128664f7ec20976368dfc3aa95ba3b6e9ae8da2edce71cabfc0be4c1d9 docfiles size=528 texmf-dist/doc/eplain/AUTHORS texmf-dist/doc/eplain/COPYING @@ -108822,7 +108891,7 @@ docfiles size=528 texmf-dist/doc/man/man1/eplain.1 texmf-dist/doc/man/man1/eplain.man1.pdf srccontainersize 396576 -srccontainerchecksum 494226ef0fad26861e39c8e740bf7bc0aac3f561c76494356121eabd94062dd3d0075d35cd7d7085fe1a22b682a2ea1b692af5ec122d13ced0076b0e47fe333b +srccontainerchecksum 6dd5d796a06bfeccb565015e80f517a66c195c01693d93847a5dbaaf0e11b8332429a9ab039ed6e650ed8f7cb828cc3b10468f66e6c91818b824a92cd60db82e srcfiles size=136 texmf-dist/source/eplain/eplain-source-3.11.zip texmf-dist/source/eplain/xeplain.tex @@ -125507,16 +125576,16 @@ catalogue-topics font font-supp-symbol font-symbol font-ttf name fontname category Package -revision 53228 +revision 64477 shortdesc Scheme for naming fonts in TeX relocated 1 longdesc The scheme for assigning names is described (in the longdesc documentation part of the package), and map files giving the longdesc relation between foundry name and 'TeX-name' are also provided. containersize 108532 -containerchecksum 97b85e6a11136049f54f611e8b4eda75fe097addb2b70edff263e5e4c124e0e05976407572468b7590a3c7fb41e53c0c5fe495ab922a3553c0c6d3fd5067ffdf +containerchecksum 424da4dbbc07c41840e6aeb6fabeef5d4778d206b9cb8a90e752ebeb65d962b96ad41a7e20c86a16665e2bf48ad795d85001da66ff41b01ae3c949c6eefa4593 doccontainersize 679580 -doccontainerchecksum 4c981cbaff6dd6a700b5b4c323396676539aab8bacf44781de560ef226557182f3be5e573a7a2be98a1ccd7ca4f47fb7ad4b847184b8a18e3aeeca62077223f1 +doccontainerchecksum 78199996913192f5f69423b6f412acc52b74f051b01d3e345b97b7f1d9ea4aea762a7b83488068f3091b41da69471d56b3f18ab4d299cc6adfe4e004072db303 docfiles size=781 RELOC/doc/fonts/fontname/8a.html RELOC/doc/fonts/fontname/8r.html @@ -164301,7 +164370,7 @@ binfiles arch=x86_64-solaris size=3 name kpathsea category TLCore -revision 63534 +revision 64475 shortdesc Path searching library for TeX-related files longdesc Kpathsea is a library and utility programs which provide path longdesc searching facilities for TeX file types, including the @@ -164310,14 +164379,13 @@ longdesc layered on top of a general search mechanism. It is not longdesc distributed separately, but rather is released and maintained longdesc as part of the TeX Live sources. depend kpathsea.ARCH -containersize 32472 -containerchecksum fc14de3c5a2d42b27c1bc3eddfcb1da4c615b9ef84df2687388ca637244ec2a32ec332b6de7db8d7e61e5535d217e42a3f869cd8df32fbc85662a990461f41ca -doccontainersize 1079700 -doccontainerchecksum 1ebd180d7047b7393fdfd862f0509e9d0dc7c0aa7306457675e08f151b785440caba794146b357c76f1588cd1979526b40d841807218b92f9992208b1b47f1ab -docfiles size=561 +containersize 32476 +containerchecksum 0d8622ae361967754182dd797e34c470219f4939ad5c740b8564fe5879daa4f7b1b324efc6f87ee94af809d115ecbbfe6a16b6c3b12043787932609aa962aff9 +doccontainersize 1061956 +doccontainerchecksum 1df1bafc82d966a6f8a01cf951803b0902fe2ca41fff292f9fac5a4e86db63e214572c9ba0d83a5d683f0da7e4f9fa70e20b09cca2629805719985d14c2efc12 +docfiles size=544 texmf-dist/doc/info/dir texmf-dist/doc/info/kpathsea.info - texmf-dist/doc/info/tds.info texmf-dist/doc/info/web2c.info texmf-dist/doc/kpathsea/kpathsea.html texmf-dist/doc/kpathsea/kpathsea.pdf details="Package documentation" @@ -172396,7 +172464,7 @@ catalogue-topics ref-latex documentation spanish-doc name latex2man category Package -revision 49249 +revision 64477 shortdesc Translate LaTeX-based manual pages into Unix man format longdesc Latex2man is a tool to translate UNIX manual pages written with longdesc LaTeX into the troff format understood by the UNIX man(1) @@ -172407,10 +172475,10 @@ longdesc may be used). There is a LaTeX package (latex2man.sty) for longdesc writing the man page and a Perl script (latex2man) that does longdesc the actual translation. depend latex2man.ARCH -containersize 14088 -containerchecksum 9ce1870958d7de7625fe73dfb735488d2512b048c8c06fed3f87255db0914080675017d24c88a97ec71ddb9cfe6f5769ea378f099d8787e447837a1ff5167436 -doccontainersize 369336 -doccontainerchecksum 214685e6982c7a9c694d74a73d37c58f3947d7304637d2ed44fc616cece6026e5d02763f26e280ab21212d18a962c31b4ac5315fa840f10bf1efcfb782f4dd2a +containersize 14072 +containerchecksum 2617f6e8059f30c0098ea896cff69f585ea2ddbd3bbbd8066e7296dd833d3a246b8fefc0af71a92abf7e2051c754c0e3e6098175a4b181780563416bc9146b95 +doccontainersize 369332 +doccontainerchecksum 390666cc56ad70342c9a24ca593fe65b3760674a882ed8bba383d193f2578285727a085f823afc03fa0dbc9966612caf9a29222fd2a9f39214f01aa268acdc50 docfiles size=146 texmf-dist/doc/info/latex2man.info texmf-dist/doc/man/man1/latex2man.1 @@ -205447,7 +205515,7 @@ catalogue-version 2.6 name mintspirit category Package -revision 32069 +revision 64461 shortdesc LaTeX support for MintSpirit font families relocated 1 longdesc The package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX @@ -205456,10 +205524,10 @@ longdesc designed by Hirwen Harendal. MintSpirit was originally designed longdesc for use as a system font on a Linux Mint system. The No. 2 longdesc variant provides more conventional shapes for some glyphs. execute addMap mintspirit.map -containersize 1105488 -containerchecksum 0155fde1eddb9558959c260334ab1d5489ca5415b1f7afb687308feb67f6951932bdfcc2e59e6cd3a4b34449f129dc1eb53730b75d60347bf7e2647a18cbadb1 -doccontainersize 308404 -doccontainerchecksum 54211f0e40fcd0e3c248be16b647462cbe3e3953fbc6ab050634e6a9455b5d52157b77a49fa96c707e3a65c088a92e7e24e86359cfdfa141d48a0ba5b2bfb682 +containersize 1105472 +containerchecksum 18167b9d0b5c167e2679cfb135812e3cbc20a90a182acb3eef15a54f4029298ebb39f6db626b5cbd8368389c9f0656f7575eb4f1970fd242d77d976762ca8d5b +doccontainersize 308412 +doccontainerchecksum 8a7855b5cd117a5a11eda118b8a4b08eff4183a427655c501c5e3c40e1e9617397d58e6622058187a48d04948fad9164b866e58c76080404d7bdf4ff9fbc4d9b docfiles size=84 RELOC/doc/fonts/mintspirit/MintSpirit-Cat.pdf RELOC/doc/fonts/mintspirit/OFL.txt @@ -206019,8 +206087,8 @@ runfiles size=1255 RELOC/tex/latex/mintspirit/mintspirit2.sty catalogue-contact-home http://arkandis.tuxfamily.org/adffonts.html catalogue-ctan /fonts/mintspirit -catalogue-license ofl -catalogue-topics font font-sans font-otf font-type1 +catalogue-license ofl lppl +catalogue-topics font font-body font-sans font-proportional font-otf font-type1 font-supp font-t1enc name minutes category Package @@ -230773,7 +230841,7 @@ catalogue-version 1.15 name nwejm category Package -revision 62129 +revision 64462 shortdesc Support for the journal "North-Western European Journal of Mathematics" relocated 1 longdesc The bundle includes LaTeX classes and BibLaTeX styles files @@ -230786,17 +230854,18 @@ longdesc enabling the authors to be able to work their document in longdesc actual conditions, provide a number of tools (commands and longdesc environments) to facilitate the drafting of documents, in longdesc particular those containing mathematical formulas. -containersize 4089520 -containerchecksum 5b349e509088d67543f3cd133b96cc475166328853a05429a368e0be6a96206a09c44ecf7ee4cd7de6a35cf94de3a36ce70b4770a8dd8ee1d6c2e574a95138fe -doccontainersize 1321156 -doccontainerchecksum 8ecc8f7e439b8e5adf7d34dc2e2adf40959db22eaada9c9ecbcfed6c0251ad9f26f614a6150a35c4eb4407bb3715aa7078d71c66bdb808e117874582b5c469e3 -docfiles size=483 +containersize 4089760 +containerchecksum eace1abc8a31104d1266acc6f19ac59b0d0ba73cda2b44bc308ba2a22c9ccd682ca489b9f164d30623f60c911717a171665da0feec6e0caf7c7cf01b8e51139d +doccontainersize 1608828 +doccontainerchecksum 8ebf12322bf1beecd8e224e9b7a16becf68aee9910717ca39d73ddf3537edc28d559337350ec9af18132679a77319115f6c1bad29cc5ade8443e6e129b3e542b +docfiles size=564 RELOC/doc/latex/nwejm/CHANGELOG.md RELOC/doc/latex/nwejm/README.md details="Readme.md" RELOC/doc/latex/nwejm/addons/completion/nwejm.cwl RELOC/doc/latex/nwejm/addons/completion/nwejmart.cwl - RELOC/doc/latex/nwejm/english/README-TRANSLATION.md RELOC/doc/latex/nwejm/english/latexmkrc + RELOC/doc/latex/nwejm/english/nwejm-en.bib + RELOC/doc/latex/nwejm/english/nwejm-en.pdf RELOC/doc/latex/nwejm/english/nwejm-en.tex RELOC/doc/latex/nwejm/examples/article-in-dutch.pdf RELOC/doc/latex/nwejm/examples/article-in-dutch.tex @@ -230817,12 +230886,12 @@ docfiles size=483 RELOC/doc/latex/nwejm/french/nwejm-fr.bib RELOC/doc/latex/nwejm/french/nwejm-fr.pdf details="Package documentation (French)" language="fr" RELOC/doc/latex/nwejm/french/nwejm-fr.tex -srccontainersize 49332 -srccontainerchecksum 89b999e52b400ec5ada8316ca47875e692813b844ae7f0bde2b260354caa8235a2e26a96e2ffdff6adf8cbfacd1bb1d5f504fc902d58467bfaa9255a99c79066 -srcfiles size=61 +srccontainersize 49840 +srccontainerchecksum f2d5d526b2b6242636324d0ad3aea17c21a680418cf937297c03249034c7c03fcf2589b794917ac72fc5a980dd2c57dcdb4dea75f0c894a77d5c5023824e7168 +srcfiles size=62 RELOC/source/latex/nwejm/nwejm-examples-template.dtx RELOC/source/latex/nwejm/nwejm.dtx -runfiles size=2120 +runfiles size=2121 RELOC/tex/latex/nwejm/images/nwejm-cover-background.jpg RELOC/tex/latex/nwejm/images/nwejm-federation-recherche-math-npdc-logo.pdf RELOC/tex/latex/nwejm/images/nwejm-fields-institute-logo.pdf @@ -230850,11 +230919,11 @@ catalogue-contact-repository https://github.com/dbitouze/nwejm/ catalogue-ctan /macros/latex/contrib/nwejm catalogue-license lppl1.3c catalogue-topics journalpub class -catalogue-version 1.0.4 +catalogue-version 1.0.5 name oberdiek category Package -revision 61066 +revision 64463 shortdesc A bundle of packages submitted by Heiko Oberdiek relocated 1 longdesc The bundle comprises packages to provide: aliascnt: 'alias @@ -230872,10 +230941,8 @@ longdesc sectioning commands; hypcap: anjusting anchors of captions; longdesc hypgotoe: experimental package for links to embedded files; longdesc hyphsubst: substitute hyphenation patterns; ifdraft: switch for longdesc option draft; iflang: provides expandable checks for the -longdesc current language; pagegrid: prints a page grid in the -longdesc background; pdfcolfoot: using pdfTeX's color stack for -longdesc footnotes; pdfcol: macros for setting and maintaining new color -longdesc stacks; pdfcolparallel: fixes colour problems in package +longdesc current language; pdfcolfoot: using pdfTeX's color stack for +longdesc footnotes; pdfcolparallel: fixes colour problems in package longdesc parallel; pdfcolparcolumns: fixes colour problems in package longdesc parcolumns; pdfcrypt: setting PDF encryption; pdfrender: longdesc control PDF rendering modes; protecteddef: define a command @@ -230902,11 +230969,11 @@ depend iftex depend infwarerr depend kvoptions depend pdftexcmds -containersize 42988 -containerchecksum 4769138392168883514d5778ff84c5a2b483daa20b116bdac45715129ebca6f697f42b0a1725f8ba0dda68e4a57c5fbf806d714034be1f3eff2ebb1c8ff30690 -doccontainersize 8617176 -doccontainerchecksum 4b1349bdc6645778afab2502e85a5bbcf3d5f4829892d735756d7e65ecf2f8f31131cf5d9aec922cc16b8366e8a25abfd7f808e6b1cfd37ebd83821a323e9a9b -docfiles size=3341 +containersize 40704 +containerchecksum b3f9d5918b24d6191515b459709afb9364a28f44a8b1ad3adc98c2d10c9a4f10316c80070c575fe4a6a06405bcead5bed312ab75553a32d254b2a80b2afbfb8f +doccontainersize 8210524 +doccontainerchecksum b7f756ceb7dc619bc1941dfc56c5dd2f151e33c57c51444a11dbe74280a23ac27886da05b4b8d0f33dfe9839a5538cbac5e9d506338c89fb223d82867a3f839c +docfiles size=3175 RELOC/doc/latex/oberdiek/README.md details="Bundle README" RELOC/doc/latex/oberdiek/aliascnt.pdf RELOC/doc/latex/oberdiek/bmpsize.pdf @@ -230933,8 +231000,6 @@ docfiles size=3341 RELOC/doc/latex/oberdiek/ifdraft.pdf RELOC/doc/latex/oberdiek/iflang.pdf RELOC/doc/latex/oberdiek/oberdiek.pdf details="Table of contents of the bundle" - RELOC/doc/latex/oberdiek/pagegrid.pdf - RELOC/doc/latex/oberdiek/pdfcol.pdf RELOC/doc/latex/oberdiek/pdfcolfoot.pdf RELOC/doc/latex/oberdiek/pdfcolparallel.pdf RELOC/doc/latex/oberdiek/pdfcolparcolumns.pdf @@ -230960,9 +231025,9 @@ docfiles size=3341 RELOC/doc/latex/oberdiek/telprint.pdf RELOC/doc/latex/oberdiek/thepdfnumber.pdf RELOC/doc/latex/oberdiek/twoopt.pdf -srccontainersize 114004 -srccontainerchecksum 7702209bcf65a6030d92e6b839d3b83ff1f596c1d3b68f82b074fcfcd626d8167323b4923ddfdb769dfacf84e5c7f8c15563fae41bbcaa1a5ec17334a80f5979 -srcfiles size=263 +srccontainersize 108452 +srccontainerchecksum 688768a47cf782c817cc23e6e527e41c1893fc084702c2ab85e2e4b7df4b3d515033dbae0ea26bf904f6fae77dfce41d21a7b59415fbf67449a3aacc7047afd0 +srcfiles size=249 RELOC/source/latex/oberdiek/aliascnt.dtx RELOC/source/latex/oberdiek/bmpsize.dtx RELOC/source/latex/oberdiek/centernot.dtx @@ -230984,8 +231049,6 @@ srcfiles size=263 RELOC/source/latex/oberdiek/iflang.dtx RELOC/source/latex/oberdiek/oberdiek.ins RELOC/source/latex/oberdiek/oberdiek.tex - RELOC/source/latex/oberdiek/pagegrid.dtx - RELOC/source/latex/oberdiek/pdfcol.dtx RELOC/source/latex/oberdiek/pdfcolfoot.dtx RELOC/source/latex/oberdiek/pdfcolparallel.dtx RELOC/source/latex/oberdiek/pdfcolparcolumns.dtx @@ -231004,7 +231067,7 @@ srcfiles size=263 RELOC/source/latex/oberdiek/telprint.dtx RELOC/source/latex/oberdiek/thepdfnumber.dtx RELOC/source/latex/oberdiek/twoopt.dtx -runfiles size=105 +runfiles size=99 RELOC/bibtex/bib/oberdiek/oberdiek-bundle.bib RELOC/bibtex/bib/oberdiek/oberdiek-source.bib RELOC/tex/generic/oberdiek/engord.sty @@ -231012,7 +231075,6 @@ runfiles size=105 RELOC/tex/generic/oberdiek/fibnum.sty RELOC/tex/generic/oberdiek/hyphsubst.sty RELOC/tex/generic/oberdiek/iflang.sty - RELOC/tex/generic/oberdiek/pdfcol.sty RELOC/tex/generic/oberdiek/pdfcrypt.sty RELOC/tex/generic/oberdiek/pdfrender.sty RELOC/tex/generic/oberdiek/protecteddef.sty @@ -231039,7 +231101,6 @@ runfiles size=105 RELOC/tex/latex/oberdiek/hypcap.sty RELOC/tex/latex/oberdiek/hypgotoe.sty RELOC/tex/latex/oberdiek/ifdraft.sty - RELOC/tex/latex/oberdiek/pagegrid.sty RELOC/tex/latex/oberdiek/pdfcolfoot.sty RELOC/tex/latex/oberdiek/pdfcolparallel.sty RELOC/tex/latex/oberdiek/pdfcolparcolumns.sty @@ -231864,7 +231925,7 @@ catalogue-version 1.00 name oldstandard category Package -revision 57213 +revision 64464 shortdesc OldStandard fonts with LaTeX support relocated 1 longdesc Old Standard is designed to reproduce the actual printing style @@ -231880,10 +231941,10 @@ longdesc with TeX engines that directly support OpenType features, such longdesc as XeTeX and LuaTeX, as well as traditional engines such as TeX longdesc and pdfTeX. execute addMap OldStandard.map -containersize 1702320 -containerchecksum 848400b102d5ba0ceb56c4d50c65482bf5b3c468f4ed71d0ead25f0612d54552150bf467b50ca5686028797a25e46db195307ba0764473ce520e14e93403140b -doccontainersize 301996 -doccontainerchecksum 13d73f373b75de8be6e013595eb257ad4f2cb601f56ce5ee57a16cb427068ae597f3fb802b781f9c60e5e1e502f253b09ec3d2740355929ccb236a1d55ae1933 +containersize 1702308 +containerchecksum 0ebe36c3284f888448a07bc3cdb14717e73ab41e808b9ef6451065fa0c7fc6827746362a6a5453265d4b5a1108fe27d95d41cc51e20eae4bd625087b14dbac41 +doccontainersize 302028 +doccontainerchecksum b685cc4cd397ec413b5ce8aaed4f0a9aa1b1f213a1d57747233a8914fd868fd1d7fa50a199379430ec214106b5ab35bc1c86ef9d53d4628e2810a412c98d99f0 docfiles size=103 RELOC/doc/fonts/oldstandard/FONTLOG.txt RELOC/doc/fonts/oldstandard/OFL-FAQ.txt @@ -236269,6 +236330,37 @@ catalogue-license lppl catalogue-topics page-nos catalogue-version 1.0 +name pagegrid +category Package +revision 64470 +shortdesc Print page grid in background +relocated 1 +longdesc This package puts a grid on the paper. It was written for +longdesc developers of a class or package who have to put elements on +longdesc definite locations on a page (e.g. letter class). The grid +longdesc allows a faster optical check, whether the positions are +longdesc correct. If the previewer already offers features for +longdesc measuring, the package might be unnecessary. Otherwise it saves +longdesc the developer from printing the page and measuring by hand. The +longdesc package was part of the oberdiek bundle. +containersize 3484 +containerchecksum 587c09867ebe999b3490d2b6dbd541acf4631a3d40ce1c0dd102b3ca4801ba5774f60ae86f27cd34bf32f324d54bef305f365cc1a8565ab54d84925861082b8e +doccontainersize 327708 +doccontainerchecksum 3c5d05229ac51f2013017372cbe1df54709b604e170bc4aefdf26a1a017ded6124fba4922ec7609f72c059e45e1ebf1a1eb838c89f4c1564c518469333afb5ba +docfiles size=84 + RELOC/doc/latex/pagegrid/README.md details="Readme" language="en" + RELOC/doc/latex/pagegrid/pagegrid.pdf details="Package documentation" language="en" +srccontainersize 7368 +srccontainerchecksum f9f5f7ef9f3b0509ae0f52fbb9afaafd96396777862c2976550ceefb88d10feb7eeabec2dca561f5a55ce5f4ae6034be4db94da07209652bc6a85f5b4f2b4a56 +srcfiles size=7 + RELOC/source/latex/pagegrid/pagegrid.dtx +runfiles size=3 + RELOC/tex/latex/pagegrid/pagegrid.sty +catalogue-ctan /macros/latex/contrib/pagegrid +catalogue-license lppl1.3 +catalogue-topics layout-show background +catalogue-version 1.6 + name pagenote category Package revision 63708 @@ -239073,6 +239165,36 @@ containerchecksum b27dca5a62f5062f1c278fda6d3a76aef40228ae92c0da11e4c6f6aad6c4ad binfiles arch=x86_64-solaris size=1 bin/x86_64-solaris/pdfbook2 +name pdfcol +category Package +revision 64469 +shortdesc Macros for maintaining colour stacks under pdfTeX +relocated 1 +longdesc Since version 1.40 pdfTeX supports colour stacks. The driver +longdesc file pdftex.def for package color defines and uses a main +longdesc colour stack since version v0.04b. This package is intended for +longdesc package writers. It defines macros for setting and maintaining +longdesc new colour stacks. +containersize 2780 +containerchecksum c9d9350a68513b9c7fd1d99138cf93aad74b76ebac4e5a55de483501bc5a6ac42a366e60e15a6d7e81149355dd6ea87b968bb070e05f04848e4a167422f645c1 +doccontainersize 317332 +doccontainerchecksum d2b5b5e1681092d024e0e0d47d3252e915cd3456b9bd27e1d2b871688ff2d805b385d864088e8a9ec665d7a0b495811b3ba6e8237363448d378072ac0c12072d +docfiles size=81 + RELOC/doc/latex/pdfcol/README.md details="Readme" + RELOC/doc/latex/pdfcol/pdfcol.pdf details="Package documentation" +srccontainersize 6448 +srccontainerchecksum fed939659d5d9223e184f3a47a681b298bd6d076ab807eb164082d273da35a16126bd4b0b3c647c0a40d23abfa2974bd566aaaaa4f5d7864022e2c769870be3d +srcfiles size=6 + RELOC/source/latex/pdfcol/pdfcol.dtx +runfiles size=2 + RELOC/tex/latex/pdfcol/pdfcol.sty +catalogue-contact-bugs https://github.com/ho-tex/pdfcol/issues +catalogue-contact-repository https://github.com/ho-tex/pdfcol +catalogue-ctan /macros/latex/contrib/pdfcol +catalogue-license lppl1.3c +catalogue-topics colour +catalogue-version 1.7 + name pdfcolmk category Package revision 52912 @@ -252696,7 +252818,7 @@ catalogue-version 1.0 name proflycee category Package -revision 64289 +revision 64471 shortdesc A LaTeX package for French maths teachers in high school relocated 1 longdesc This package provides some commands to help French mathematics @@ -252705,11 +252827,11 @@ longdesc create splines with "derivative control"; \paramCF and \ligneCF longdesc in order to create an xcas-windows-like; \envconsolepythontex longdesc and \envcodepythontex to create code presentation and code longdesc execution with pythontex. -containersize 15648 -containerchecksum c287b997541839235f834390526d533ce15badf4c7c756eeb0a0cd1b5e8f64f9e68f42bb2b1a7a0f8f0239603971d4c98b5ca540118ea19a4b1f738dca1a7b4c -doccontainersize 884940 -doccontainerchecksum 35e459dd11ea82d21e839ce2fb62bc46450b858d5047dee59c64d4fc24ec6f9ae938fabccb2a25af627de4885f32a065b84698370589f0c9fc76331258504aba -docfiles size=260 +containersize 16400 +containerchecksum eb73edbabbcadae63b28bc61b206b19134d6c4974898e58e0aad28c25265c8fbc0c8cff3f9d9f070fe8e315204bbe80585eb6f34b907000803f1ba6d9429d4ee +doccontainersize 903644 +doccontainerchecksum a21f8f154339e7fd9cf1f44bbbefe3eb8c5daf1503b2f131e96cd1e556c2ea77945999d63f5820e0285338adf3ea0acdd448e7937791c6c2751614d3a6ff0ff6 +docfiles size=265 RELOC/doc/latex/proflycee/ProfLycee-doc.pdf details="Package documentation" language="fr" RELOC/doc/latex/proflycee/ProfLycee-doc.tex RELOC/doc/latex/proflycee/README.md details="Readme" @@ -252723,7 +252845,7 @@ docfiles size=260 RELOC/doc/latex/proflycee/pl-doc-stats_d.png RELOC/doc/latex/proflycee/pl-doc-stats_e.png RELOC/doc/latex/proflycee/testscript.py -runfiles size=17 +runfiles size=18 RELOC/tex/latex/proflycee/ProfLycee.sty catalogue-also profcollege catalogue-contact-bugs https://github.com/cpierquet/ProfLycee/issues @@ -252731,7 +252853,7 @@ catalogue-contact-repository https://github.com/cpierquet/ProfLycee catalogue-ctan /macros/latex/contrib/proflycee catalogue-license lppl1.3c catalogue-topics maths french teaching expl3 pgf-tikz -catalogue-version 1.2.5 +catalogue-version 1.2.6 name program category Package @@ -277048,7 +277170,7 @@ catalogue-version 0.302 name semantex category Package -revision 60312 +revision 64472 shortdesc Semantic, keyval-based mathematics relocated 1 longdesc The SemanTeX package for LaTeX delivers a more semantic, @@ -277065,22 +277187,22 @@ longdesc considered feature-complete and more or less stable, so using longdesc it at this point should be safe. Still, suggestions, ideas, and longdesc bug reports are more than welcome! depend semtex -containersize 26984 -containerchecksum e4e6656d2126cdfa9cd58042a7aa28cd7b8bbc0cd5b891e8edabc1749a7b34d45a109139ab88f64cd115a62a5c32871187209865d76659fd1b80dea6721e0a38 -doccontainersize 407284 -doccontainerchecksum d801226caef1e9e7720eb02275196fdb300670cfbc8aea01fd17a959ed030532f844fbe8a8de0b802eb81515a9414f14922c3310fbeac0adb5354861635e0747 -docfiles size=140 +containersize 26172 +containerchecksum 62d029f476961ede6205c25ba6740961547e9a8457955784cd392b64db35e126fa2b2a7c1f0221c88d6e5a0b7d553858987c207b4353361de71bde719735c243 +doccontainersize 412240 +doccontainerchecksum 40ae62adc0cafe2af03fb4a3960f61b5f0978b1514812ec755ca9ecb7de2166c28685b1b1108cc8815c0b8b4b9b86d20fa465846da6255a2153a4460c1968dfe +docfiles size=141 RELOC/doc/latex/semantex/README.md details="Readme" RELOC/doc/latex/semantex/semantex.pdf details="Package documentation" RELOC/doc/latex/semantex/semantex.tex -runfiles size=83 +runfiles size=77 RELOC/tex/latex/semantex/semantex.sty RELOC/tex/latex/semantex/stripsemantex.lua RELOC/tex/latex/semantex/stripsemantex.sty catalogue-ctan /macros/latex/contrib/semantex catalogue-license lppl1.3c catalogue-topics maths expl3 -catalogue-version 0.513 +catalogue-version 0.520 name semantic category Package @@ -293487,21 +293609,21 @@ catalogue-version 2.5 name tds category Package -revision 61719 +revision 64477 shortdesc The TeX Directory Structure standard relocated 1 longdesc Defines a structure for placement of TeX-related files on an longdesc hierarchical file system, in a way that is well-defined, and is longdesc readily implementable. -containersize 464 -containerchecksum 306ac6f6f21e7e2a26ae759130b79435fca4720d0cb810660a254b3b30c21a3dff5eab2c8c739771a92580f9b2fd2580e161ccfe97e00e5e1d97109a6327e8e0 -doccontainersize 232648 -doccontainerchecksum 6719270a877a241cf123a84ee01794dd3b9d77e8ae437a8bd6c91dad3bd9a327bfc9ae75f9001a03e57630baafdb06adee84c31a972d08b046ee5cd8cec9d2f2 -docfiles size=129 +containersize 468 +containerchecksum b03911aa9711eb5eeed77c026c4bbcf952da80322b855ac631e78c07a48ad2ff1a4afdd6e25a00257d1b70e054645f07f65c98fe74f6b1389be46625f5eb8487 +doccontainersize 260804 +doccontainerchecksum f4078e3b1693fedcbe139b67c50824845644a2b1e57dd27f9e46e44504d8fe8ac0ca706590e9149c06e71794a188b20777bfd6bf1afe85f16c806ba4f9b99cd8 +docfiles size=150 RELOC/doc/generic/tds/ChangeLog RELOC/doc/generic/tds/Makefile RELOC/doc/generic/tds/README details="Readme" - RELOC/doc/generic/tds/index.html + RELOC/doc/generic/tds/packages.zip RELOC/doc/generic/tds/tds.dvi RELOC/doc/generic/tds/tds.html details="The standard, converted to HTML" RELOC/doc/generic/tds/tds.pdf details="The standard specification" @@ -293509,8 +293631,9 @@ docfiles size=129 RELOC/doc/generic/tds/tds.tex RELOC/doc/generic/tds/tds2texi.el RELOC/doc/generic/tds/tdsguide.cls + RELOC/doc/info/tds.info catalogue-contact-home https://tug.org/tds/ -catalogue-ctan /tds +catalogue-ctan /info/tds catalogue-license other-free catalogue-topics std-spec catalogue-version 1.1 @@ -296621,7 +296744,7 @@ binfiles arch=x86_64-solaris size=1 name tex4ht category Package -revision 64455 +revision 64479 shortdesc Convert (La)TeX to HTML/XML longdesc A converter from TeX and LaTeX to SGML-based formats such as longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a @@ -296642,10 +296765,10 @@ longdesc files from them is nontrivial, and generally done with the longdesc Makefile in development, from which the TeX4ht package in TeX longdesc Live is updated. depend tex4ht.ARCH -containersize 953108 -containerchecksum fbf2c0ec7c07cf31c3c98ddf33754a8e659a1b213fa7f6a1cd40e9146d304fb84d5b4c14de4e85318c5b8052d22222a9ee2fd79c66dee0bbd452be6508231b58 +containersize 953092 +containerchecksum 1c088c1e54a032f0181f5d70939e22f4628a4c2205689ee888467bff120b540d7034d1bd8988cdac0de9047f7466b8ec6fb73b52b83a44f88a6a5a4d420890b5 doccontainersize 136384 -doccontainerchecksum 112416c7170c06688cb944e04da7c11ebdc5ebc11043fefcbad6de75cfcc3bf68429b83d46f19a86020729f78f7c225381a726c66e0ed1544c4317f04333d1be +doccontainerchecksum 15017ab018bde6db4945509ce1424404e2b396747208375888da8652c2e0903c70a5bd9a010bcefd2f20aeeb165657c2b4c23730001358dca59f69306d30c260 docfiles size=260 texmf-dist/doc/generic/tex4ht/Makefile texmf-dist/doc/generic/tex4ht/README details="Readme" @@ -296717,8 +296840,8 @@ docfiles size=260 texmf-dist/doc/generic/tex4ht/mn56.html texmf-dist/doc/generic/tex4ht/mn5x.png texmf-dist/doc/generic/tex4ht/mn6x.png -srccontainersize 1269548 -srccontainerchecksum 3f962c670756bb2662c1445eb2e6a4ced6245a68040810974e5933e459ea74aa88d05d8dd6d6eb73d3b375c43279d1097fb5cb635a81ac7b76d2291cb629d25c +srccontainersize 1275916 +srccontainerchecksum e09fe0369e21705cb1b5b1b5a620ddc3aa4a840941ad505ccf720a1bf9181fafa02ae3fb340b303ca4efc0adc968f96ee400f19c0bbff1a613954449ae72d4a3 srcfiles size=3868 texmf-dist/source/generic/tex4ht/ChangeLog texmf-dist/source/generic/tex4ht/Makefile @@ -306773,7 +306896,7 @@ binfiles arch=x86_64-solaris size=1 name texdraw category Package -revision 51030 +revision 64477 shortdesc Graphical macros, using embedded PostScript relocated 1 longdesc TeXdraw is a set of macro definitions for TeX, which allow the @@ -306785,10 +306908,10 @@ longdesc PostScript, drawing segments allow for local changes to the longdesc scaling and line parameters. Using TeX's macro definition longdesc capability, new drawing commands can be constructed from longdesc drawing segments. -containersize 15548 -containerchecksum 30cc546b259f93bec3f5d3efea5e73cdf7e34f9f76cac8946d82fff3123abb6f5bc7c70c48987bab24e154c56f6145fef0680b416e7cf2aaa79f5aa673600f59 -doccontainersize 243680 -doccontainerchecksum 28a7028a28749e2d7c8b5176dd473b749230750fe1ead78a731c9f4a40db299c4bd034be18e0587ab1dd79b6b0802abff19d12fdf44dab5e1a64e26d48185771 +containersize 15528 +containerchecksum f4d160e494b1579743a83b2a0926df9e8dd69fdaa79d3f4f97e0ed5f4ece31ab380ff6994a1c9015e0af9b842bdfb9b066442ca4b3018df6659922af9f746b0b +doccontainersize 243624 +doccontainerchecksum e177209a937fa1d9d683eb805e9e8929612b4b1ff750955d38ca681b657662712a59609990f77021063a223ce61a92fdd567eee91376ef4b67fd3a322db09463 docfiles size=126 RELOC/doc/info/texdraw.info RELOC/doc/support/texdraw/ChangeLog @@ -307362,7 +307485,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 64457 +revision 64460 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. @@ -307370,10 +307493,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 113660 -containerchecksum 41ccb676c0d902cdc3debe67fd881dda240c649605dc85c01bda095549cb4e150f2feba70fb7c8c8c6eb8472fc3369939074460e55f92c989fdf070809b9e859 -doccontainersize 421324 -doccontainerchecksum 0b4b55236208a46f424bf04c56b27f5e5fac56a81c2e3dd86eca7501566e1e0f2d8a25d7c7d7840777eb748443fdba982f8096308982ddbb92b6bdb27657929c +containersize 113632 +containerchecksum be592b02c84c3af03ee338719749ab4b5d8af8968eedf5baa3f86a69fe5b3ceba3e12d5f21df8d884ae0a34e3e7fb9ed775ce045b8738573981d1e5546340c87 +doccontainersize 421328 +doccontainerchecksum e09220ae856d1a0cf242d2a00e06d5f720cda127ec94f575bb0c49dff4f73810cf40d4254deb6559eee3f461630fe739dce272c8b96a4401f72f3b644d106feb docfiles size=522 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 @@ -316216,16 +316339,16 @@ catalogue-version 1.45c name tkz-euclide category Package -revision 64193 +revision 64473 shortdesc Tools for drawing Euclidean geometry relocated 1 longdesc The tkz-euclide package is a set of files designed to give math longdesc teachers and students easy access to the programming of longdesc Euclidean geometry with TikZ. -containersize 39328 -containerchecksum bfc484de8be8b2ad939832f73d8686583a9f3017975b033fc03300ed7d1ab31276bc7b02f00768b653e2b1a2fb8d5fefefa0231241ef534bf37da91ba036db0a -doccontainersize 1164968 -doccontainerchecksum e449a1548ea180510a210b4171d082ea91b728dbbf388bd290765f34fe2abc68d4cf5317ab4a74620aaef0f63a235e526014ff0f2a1cd19e5200e13fd08c8cc1 +containersize 39200 +containerchecksum a4e69716fde548dde546f07a76e06a7bcaa4fc619bf29cced0bb050697544e01bc671a65eadfbbec94c628a1c4e300eb10e9ee33a225bc84d44878c52911044f +doccontainersize 1165128 +doccontainerchecksum e0fad9ef9afed3a0567a05447421d40b7793be3626ba1c16bef23cb546e072637536bf00b6676b300e8d6071978816477177954f58b83ee053c18cef7fbe349f docfiles size=389 RELOC/doc/latex/tkz-euclide/README.md details="Readme" language="en" RELOC/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex @@ -316260,7 +316383,7 @@ docfiles size=389 RELOC/doc/latex/tkz-euclide/TKZdoc-euclide-tools.tex RELOC/doc/latex/tkz-euclide/TKZdoc-euclide-triangles.tex RELOC/doc/latex/tkz-euclide/tkz-euclide.pdf details="Package documentation" language="en" -runfiles size=85 +runfiles size=84 RELOC/tex/latex/tkz-euclide/tkz-euclide.cfg RELOC/tex/latex/tkz-euclide/tkz-euclide.sty RELOC/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex @@ -316274,7 +316397,6 @@ runfiles size=85 RELOC/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex RELOC/tex/latex/tkz-euclide/tkz-obj-eu-draw-points.tex RELOC/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex - RELOC/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex RELOC/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex RELOC/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex RELOC/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex @@ -316302,7 +316424,7 @@ catalogue-contact-repository https://github.com/tkz-sty/tkz-euclide catalogue-ctan /macros/latex/contrib/tkz/tkz-euclide catalogue-license lppl1.3 catalogue-topics maths graphics-use -catalogue-version 4.23c +catalogue-version 4.24c name tkz-fct category Package @@ -317618,7 +317740,7 @@ binfiles arch=x86_64-solaris size=1 name tlgs.win32 category TLCore -revision 64295 +revision 64478 catalogue ghostscript shortdesc Freely available PostScript interpreter longdesc Ghostscript is a freely available PostScript interpreter which @@ -317627,9 +317749,9 @@ longdesc complement to a TeX installation, used in many utilities, longdesc including PostScript/PDF viewers such as gv and GSview. longdesc Ghostscript is no longer held on CTAN: please see the home page longdesc for downloads. -containersize 12445284 -containerchecksum a8e06ceecd37f8af606271a23eb8df240e67e607cf59e2d1ffb04491bfd02fec6ad59f41c9d69fd3c80b2291c06004878be4416f211c7825bb94ffb511df78e9 -binfiles arch=win32 size=11983 +containersize 12448000 +containerchecksum 88e7269493f782b31a6d4016222485c9e884cde4ddb74a2b1d14ef02b3ca992b1b961a9d45a7f477cac4f7e424f78195c1c3c2f726d5e00dec76b4c6e8394090 +binfiles arch=win32 size=11994 bin/win32/eps2eps.exe bin/win32/pdf2dsc.exe bin/win32/pdfopt.exe diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index ba15ce9b3a..fa0584114d 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -9e5410ef149433afafc6164120de594f texlive.tlpdb +3583151f7d9fa25c01db373b4e169d7f texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index b132748b43..b94f903a3b 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -d02cecf98c72727bcef7bc018441e1a24da65dcce1d7e2cf66de7d870883d8920232f3e492bd41690cfaea17f5b085f77e5d4ce43d758c465cf3f9cd7c0c17c6 texlive.tlpdb +3e442f66901759bd20428a5cdbb89fd45997d5de3133a5c1bcc2896004ee0cce12c159c9770780e54b2f8b29f726c59d0bac6c8869f007afb4796266a2e937ab texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 8506078856..31176aaa52 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----- -iQEcBAEBCgAGBQJjK6PjAAoJEEzhh34ZQ4xwl54IAK886SD8Zhd+o6Wliff7fsm1 -FzI5X6ngcrOc4U8DZEkr4kUbMlyeGmn/ec3thuwKknGuUeEmkGkfYkzN+5FLHyNK -bXgLrCeFGZwxF1NjENTHUniG8MzS8Pehh4SkrZebfsRQPkVLdj+WhL+yWFxeEvR1 -X3XDAYkvZiQujK2kDzmoBmUX+AqYI2iGt+3bvh1cj9/pEqpbvz7FsPvcOVmwQkd+ -MClKe1qdVTNxwoUZeNgQgA+UpS6iNeg9vBx1F0d0saT5j3DuDw4tquwtpXixpev6 -7RFltj1L4mMTFrfleNs0eYXtqYxD1QGgvkQtDOL32b7njwBF/qoR9N8pYsBDdP4= -=nzjA +iQEcBAEBCgAGBQJjLPXZAAoJEEzhh34ZQ4xwqBsH/0lciMslQlWLu6DceWXN1ygL +nAhz5QSm+aQPbDC96/crPgfXUjY6N75u2lS+CX+ElPZOuUw5y1nBfbwWkd6SyO2B +xh1ziF+Q+riuVQOWCnr5yWA36WX/avo+nyA6cKXR2G89bmNIaayboSyANEgIWTrF +semS5hUbmZrI7srfqOzPbDYV78et1nBGU+vOD2lDUrryArmTW9dpOIicWQSOrsVb +Ghv16voYpkrdMRZMRnfoARGcTn06v/tKgpYB1Qx9aKOUSJnSIGxrzXF715uvpwtQ +f/AmKcrxjZLEwuDRhPamFBSYesCgzPsHKR37XfhwaaPhALKX/BoVllBstI4vRzE= +=V/sR -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz index a6b8a26ce9..7411797b80 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/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index 5b1320c417..d7529b312d 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=1663791400 +date=1663877795 lastupd=miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-x64-2.9 miktex-cjkutils-bin-x64-2.9 miktex-console-bin-x64-2.9 miktex-curl-bin-x64-2.9 miktex-cweb-bin-x64-2.9 miktex-devnag-bin-x64-2.9 miktex-doc miktex-dvicopy-bin-x64-2.9 miktex-dvipdfmx-bin-x64-2.9 miktex-dvipng-bin-x64-2.9 miktex-dvips-bin-x64-2.9 -lstdigest=70bd6e03bbae6ccc7e617c403ea6660b +lstdigest=f5dbeaa97f97ee13b29c42d9ff6240f7 numpkg=5952 relstate=next -version=8299 +version=8300 ;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows. ;;;;-----BEGIN MIKTEX SIGNATURE----- -;;;; signature/miktex: k0xPOBXvEyNU/1lk+dv1vvKTbeZd9n/UFnK6RWknp2uRKo3t5XuD3zzKZ+17Dy7aKwApAN2J0HOAD1DO2TZZh2HHOGeTHBV4TRgwx2R5nPzOFA6lowf99TJC22ho4EVJfpC20LwIPpDE9U9fLjc22LIWsB+/Pxi3z3iWaHVX5L45Lb+2N9gAqKSqJ+zOB9y1yZkPESPFXupktfdWIVCSMrQx7An/7IvrQUDZJTpQ7eKuTP8kuVBZP5sg92f7ZAPnkUaOCQFdEgXuvMB7bxKY921AhrHisqkuxlfWjELiv8EwKyNPilZP6sjn0I6HLCj1TGXIaOfvFDccSW19UjMeUQ== +;;;; signature/miktex: Gwvvc6hYscwW7E/Q9H045qsw+OM/eU1ts14NTAPgo3XLeb/RTsO39IMRRqL3YF3XamCV/nLln/mVssbGqYNy0LX8upTNmU7NjGIHdcWwK48R6/NEIo9aRcG4cYGoUH1zZGGstXi6EtEyX1elV6Bmtmmc622RkOl9pwWrDteGyxm6rfSuV9uFOHrTnxznuHBO/j2b80w+wPeZTRLpdl2lrB6EPlxtL0ljs3PQFTFrZM9h2t7FLec3t6DNGXD9W4H8+Xw+xKDlxo0goBkpD3DQ8qPKVfRKGRfNyUHdzKYrHJlG7lyomLN4DG/AMQjEYNPtZrVOmI/+GgMsy1hEFFmzZA== ;;;;-----END MIKTEX SIGNATURE----- diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index 3fc18ec143..2b14ebe964 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -1,13 +1,13 @@ [repository] -date=1663791106 +date=1663877504 lastupd=amsaddr amsaddr__doc amsaddr__source beamerthemeamurmaple beamerthemeamurmaple__doc beamerthemeamurmaple__source circuitikz circuitikz__doc csquotes csquotes__doc democodetools democodetools__doc democodetools__source dtxdescribe dtxdescribe__doc dtxdescribe__source ebgaramond ebgaramond__doc ffcode ffcode__doc -lstdigest=984303056bf496a437f2169bb8000df8 +lstdigest=146b237c801e55adb879680fb31f9389 numpkg=5952 relstate=stable -version=8299 +version=8300 ;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows. ;;;;-----BEGIN MIKTEX SIGNATURE----- -;;;; signature/miktex: B15Npqm+m8mAkvZ9M6hMEPnR7lFQSXk2f4IQuqBCfmO+k4UCMM8tboRELIXlXZ9yuzyYXO+Fci3DFjV5FSUDyUrpf/Oj1IHObScJzBeSQfI7F9+NdAGM/5n4YPotT52VTCg4QN/zqqgezfyxuPTJ31FJRGeMJRlvNjfToAqLivHe6nN4U4JgZCvY6FkLb1u9ia9KUrn3F8wiCn9ln4NB+c3o24VbKa1Ni9I9I/uoZqBla5dhVSCWI9+ah0eMngAN4+YNs+Ws+N/L6mqiE1jvHeMtwmakKmYoUpSDbzmryT+ux6FiR/CDynnBpEvUrZrVvCusGjv5O1jkZ8OX0sE7ww== +;;;; signature/miktex: NP6Gh2WvLq4/hFho4cOwcqXlnzEn+BgTbGPmp9vW6Sz+r1GQYlcURTAaFzQ25iCnqAaBrRvpC5BRbi+Zav5O65DrWDTH/KGLGj6SKjcyGLZ7rT8ToT2r6GZoYC91RPqEa2OjCjol6/TsO/OpSlaHbNdG2dXzMMTcdl+WbLb2hQbkyvECKeRvTWH30s9x9peTLIb1hNkq3ytYrPglNcQAb1Z1tWzxTBdU1Z294tTnzV3nTn1p1Y5RJeYxwNLDNnmRCuU7CkFGaRTYYAOGzfBH9IFG2TKTpmH9zTPOEufPX2LExG40lYlN9D9ZLh5Ql7xvwF9SjKZ6ZYgQnXlw2zBlDQ== ;;;;-----END MIKTEX SIGNATURE----- diff --git a/tds b/tds new file mode 120000 index 0000000000..f82e339afb --- /dev/null +++ b/tds @@ -0,0 +1 @@ +info/tds \ No newline at end of file diff --git a/tds/ChangeLog b/tds/ChangeLog deleted file mode 100644 index 90d726e479..0000000000 --- a/tds/ChangeLog +++ /dev/null @@ -1,312 +0,0 @@ -2004-06-23 Karl Berry - - * tds.tex: version 1.1. - * tds.tex: make that june 2004. - -2004-06-08 Karl Berry - - * tds.tex: type3, version 1.096. - -2004-06-06 Karl Berry - - * tds.tex: 1.095 (still draft). - -2004-06-04 Karl Berry - - * tds2texi.el [ ] doesn't make sense; changed to "\s ". - * tds.tex: use \TeX{} uniformly, not \TeX\ , since that's what - tds2texi.el handles. We ended up with "Inputs for, TeX". - Report from: Hans Fredrik Nordhaug, - 2 Jun 2004 23:01:15 +0200. - - * tds2texi.el (tds2texi-fixup-texinfo): fix the reference to the - "Non-font Metafont" node here instead. - * tds.sed: no non-font special case. - - * tds.tex: specify opentype and truetype under fonts. - -2004-06-03 Karl Berry - - * tds2texi.el (tds2texi-logos-alist): Metafont instead of - METAFONT. - -2004-05-15 Karl Berry - - * tds.tex: doc/ subtree improvements from Chris Rowley, and more. - -2004-05-14 Karl Berry - - * 1.094. - * tds.tex: clarify description of enc & map, maybe. - -2004-05-08 Karl Berry - - * tds.tex: fixes from Staszek. - * tds.tex: check in. - -2004-04-03 Karl Berry - - * Makefile (packages.zip): new target. - (dist): depend on it, and include it in - distribution tar file. - - * tds.tex: wording improvement from vojta, 1.093. - -2004-03-28 Karl Berry - - * tdsguide.cls (\tdsSummary): \let\obeylines=\relax after we set - it, so url.sty v3.0's usage of \obeylines does not cause errors. - - * tds.tex (etex): fix in tds example. - -2004-03-27 Karl Berry - - * tds.tex: 1.092, move extension input files within tex. also - check in from previous changes, notably new scripts/ dir. - -2004-02-11 Karl Berry - - * tds.tex: pfm text, etc., from feb03. - -2003-02-02 - - * tds.tex: 1.0 - -2003-01-18 - - * Version 0.9998. - - * tds.tex: force line breaks in references, add Downs reference. - * tds2texi.el: handle \\ in references section. - * Makefile (tds.texi.tmp): don't read emacs init files. - -2003-01-17 - - * tds2texi.el: doc fixes, @tie. - * tds.tex: enc/maps vs fontname clarification, removal of some - history. - -2003-01-12 - - * tds.tex: first cut at fonts/enc and fonts/map, version 0.9997. - * Makefile: clean up directory for dist, and remake everything. - * Makefile: use makeinfo --no-split. - -Mon Jul 19 16:54:37 1999 Karl Berry - - * tds2texi.el (tds2texi-fixup-texinfo): Don't need to do this with - Emacs 20.4, at least. - -Sun Jul 11 12:55:53 1999 Karl Berry - - * tds.tex: I have a new address. - -Wed Apr 21 15:30:34 1999 Karl Berry - - * version 0.9996. - - * tds2texi.el: @ifnottex, not @ifinfo. - - * Grammar fixes (Demitrios Athens). - Non-font METAFONT section title (Reinhard Kotucha). - Mention Kpathsea as a sample implementation (Paul Abrahams). - Allow discretion for single-file packages of all kinds (Matthew Swift). - - * fancyhdr.sty: get latest version. - -1998-01-26 Karl Berry - - * tds.tex: Version 0.9995: add extension section. - - * tdsguide.cls (\TeXinfo): Remove unused and incorrect name. - (\parsep): Decrease slightly. - (\l@section): Decrease section spacing for toc slightly. - (\@maketitle): Remove word `draft'. - -Fri Jan 23 17:14:01 1998 Karl Berry - - * tds.tex: checkin 0.9994. - -Sun Jul 20 16:29:37 1997 Karl Berry - - * Version 0.9994. - - * tds2texi.el: We can do @ss. - - * tds2texi.el: Texinfo @url is now @uref. - -Fri Feb 7 15:47:17 1997 Karl Berry - - * tds2texi.el: @detailmenu, other fixes, from Ulrik. - - * tdsguide.cls: Fix : in tdsSummary, more doc. - -Tue Feb 4 16:27:56 1997 Karl Berry - - * Version 0.9992. - - * tds.tex: Replace gsftopk/ps2pk/etc. with just `modeless'. - -Tue Nov 19 01:24:46 1996 Ulrik Vieth - - * tds.tex: Fix up indentation in `tdsSummary' environments - for the sake of Texinfo, should be consistent everywhere now. - - * tds2texi.el: Fix bug when combining multiple @file tags. - Added some missing functionality from tds.sed and tds.awk. - - * tds.sed: Handle a few translations in Elisp where possible. - Only leave those that are specific to document context. - - * tds.awk: File made redundant. - - * Makefile: Eliminate unnecessary gawk translation step. - -Sat Nov 16 07:16:03 1996 Karl Berry - - * tds.tex: Version 0.991. - - * tds2texi.el: More logos; no extra blank lines after sections; - handle \url and \email like \path. - - * tds.awk, tds.sed: New files. - - * url.sty, mflogo.sty, Ulogo.fd: Get latest versions. - - * tdsguide.cls: Changes for 0.9991. - -Tue Nov 12 17:16:54 1996 Karl Berry - - * tdsguide.cls: Saving version as of 0.999. - -Sun Nov 10 17:36:36 1996 Karl Berry - - * Mention texmf/ini loses. - * Say that the mode/ level is not optional. - - * Mention the possibility of doc/. - From Sebastian. - - * Include AmiWeb2c 2.0 summary. - From: - - * Allow distribution of modified versions as long they don't - pretend to be the TDS. - - * tds.tex: 0.999. - -Thu Nov 30 11:41:58 1995 Karl Berry - - * tds.tex: pnr10.tfm should be pnr10.mf. From Pierre. - -Wed Nov 22 11:46:51 1995 Karl Berry - - * tds.tex: Some periods after capital letters end sentences, and - some periods after lowercase don't. From bb. - Remove make uninstall text. - -Tue Nov 21 19:56:35 1995 Karl Berry - - * Version 0.999 sent to TUGboat (well, not really). - -Wed Nov 15 19:50:37 1995 Karl Berry - - * Version 0.104. Public release. - - * tds.tex: Add tex/generic/images to the figure. - -Sat Nov 11 11:47:16 1995 Karl Berry - - * tds.tex: Mention the possibility of multiple texmf's. Fix - non-sentence. From Paul Abrahams. - - * Version 0.103. - - * Move filename constraints to an appendix; we don't require this. - -Fri Oct 27 14:04:09 1995 Karl Berry - - * Version 0.102. - - * Include package subdirectories under bibtex. - - * Version 0.101. - -Tue Oct 17 13:22:08 1995 Karl Berry - - - Mention what `texmf' stands for. - - Info documents might be stored outside the tree. - - Recommend PK specials, rather require them. - - Try to define format and package a bit more clearly. - - Explicitly unspecify when something is local. - These things from Paul Abrahams. - -Sat Oct 14 16:07:16 1995 Karl Berry - - * Version 0.100. - -Fri Oct 13 16:23:34 1995 Karl Berry - - * tdsguide.cls (\textwidth): Make a little larger. Don't bother - reading tdsguide.cfg just to get mflogo. - - - Mention that a format author doesn't have to have a - directory. - - Don't use makeindx as an example. - -Thu Oct 12 14:19:25 1995 Karl Berry - - - Add Christian Spieler to the author list. - - Reserve tex/images for eps files etc. - - Remove implication the texmf/tex/plain has no subdirectories. - - More implementation-specific stuff, this time under - `program'. From Alex Kok et al. - - Expound on texmf/source a bit. From Alex Kok. - - Tell people to go read if we're talking about mysteries - - Remove all instances of the confusing word `application'. - - Mention that examples are documentation, and move discussion of - the alternative to an appendix. - -Tue Oct 10 15:45:32 1995 Karl Berry - - - New section on duplicate filenames. - - Image files are likely to go under texmf/tex. - - Printers can have multiple resolutions. From Bernard Gaulle. - - Reference the level 0 DVI standard. - - Define `dpi' better. From Nelson Beebe, David Kastrup. - - Document the reasons for not using modeless/. From David Kastrup. - - Mention the (presently impractical) possibility of \input - latex2e/file.tex. From Paul Vojta. - - make uninstall or an equivalent is desirable. From Alan Dunwell. - - Remove `files are...' text. From Doug Waud. - - /opt is another likely root. From Jeff Gealow. - - Use dpiNNN, not just dpi. From Bart Childs. - - Slightly improved description of MP. From Bart. - - Recommend . at beginning of search paths. From DEK via Sebastian. - - Include musictex as an example generic/ directory. - -Mon Oct 9 17:36:27 1995 Karl Berry - - - mft/ is no longer a special case under tex/. - - Move `package distribution' to an appendix section. - -Fri Oct 6 17:23:15 1995 Karl Berry - - - Remove \protect. From Ulrik. - -Wed Oct 4 15:08:01 1995 Karl Berry - - * Version 0.99. - - Don't hardwire version number in more than place. - - Use TUG instead of O'Reilly for postal mail. - - texmf/tex// does not suffice in general. - - Incorporate `subdirectory searching syntax' section into main - subdir searching section, and `Expeding the Process' into - `Adoption of the TDS'. - - Move bin/ out of the main text. - - Reserve `local' at every level. - - Top-level directories should be a chapter, and - implementation-specific files need more discussion. - - Make macros, fonts, etc. sections under the top-level - directories chapter. - diff --git a/tds/Makefile b/tds/Makefile deleted file mode 100644 index 802f45b97c..0000000000 --- a/tds/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# $Id: Makefile,v 1.5 2004/04/04 00:14:59 karl Exp karl $ -# Makefile for tds, by Karl Berry. -# Public domain. - -default all: tds.info tds.html tds.dvi tds.pdf - -tds.dvi: tds.tex tdsguide.cls - latex '\nonstopmode \input tds' - -tds.pdf: tds.tex tdsguide.cls - pdflatex '\nonstopmode \input tds' - -tds.texi: tds.texi.tmp tds.sed - sed -f tds.sed $< >$@ - -tds.texi.tmp: tds.tex tds2texi.el - emacs -q --no-site -batch -l tds2texi.el -f tds2texi-convert --eval '(write-file "$@")' - -tds.info: tds.texi - makeinfo --no-split $< - -tds_toc.html: tds.texi /usr/local/gnu/bin/texi2html - texi2html -split_node -menu $< - -tds.html: tds.texi - makeinfo --number-sections --html --no-split $< - -check: - dw /tmp/diff - rm -f tds.texi* *~ - rm -f tds.cp tds.fn tds.ky tds.pg tds.tp tds.vr tds.log tds.toc - tar cvvzf /tmp/tds.tar.gz C* M* tds* index.html packages.zip -# shar -z tds.dvi >/tmp/shar -# @echo "Now ci -l -m'version' tds.tex and increment the tdsVersion." diff --git a/tds/README b/tds/README deleted file mode 100644 index f9aff03933..0000000000 --- a/tds/README +++ /dev/null @@ -1,19 +0,0 @@ -
-This is the TeX Directory Structure (TDS) document, describing a runtime
-layout of TeX-related files intended to be portable,
-implementation-independent, etc.  Most TeX distributions have adopted
-this in some form.
-
-If any questions, comments, or suggestions, email twg-tds@tug.org.
-Mailing list archives available at: http://tug.org/mail-archives/twg-tds/
-
-tds.tex is the master source file.  A few extra LaTeX packages that it
-uses are in packages.zip, in the unlikely event that you don't already
-have them.
-
-http://tug.org/tds/ contains the current released version.  For older
-versions, see ftp://tug.org/historic/docs/tds.  
-
-Happy installing.
-
diff --git a/tds/README.html b/tds/README.html deleted file mode 120000 index 100b93820a..0000000000 --- a/tds/README.html +++ /dev/null @@ -1 +0,0 @@ -README \ No newline at end of file diff --git a/tds/tds.aux b/tds/tds.aux deleted file mode 100644 index 5314e41b6b..0000000000 --- a/tds/tds.aux +++ /dev/null @@ -1,61 +0,0 @@ -\relax -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}History}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}The role of the {\tds@reduced@size \uppercase {TDS}}}{2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Conventions}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {2}General}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Subdirectory searching}{3}} -\newlabel{sec:Subdirectory searching}{{2.1}{3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Rooting the tree}{4}} -\newlabel{sec:Rooting the tree}{{2.2}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Local additions}{4}} -\newlabel{sec:Local additions}{{2.3}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Duplicate filenames}{5}} -\newlabel{sec:Duplicate filenames}{{2.4}{5}} -\@writefile{toc}{\contentsline {section}{\numberline {3}Top-level directories}{5}} -\newlabel{sec:Top-level directories}{{3}{5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Macros}{6}} -\newlabel{sec:Macros}{{3.1}{6}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Extensions}{7}} -\newlabel{sec:Extensions}{{3.1.1}{7}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Fonts}{8}} -\newlabel{sec:Fonts}{{3.2}{8}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Font bitmaps}{9}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}Valid font bitmaps}{10}} -\newlabel{sec:Valid font bitmaps}{{3.2.2}{10}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Non-font \textlogo {META}\discretionary {-}{}{}\textlogo {FONT}\spacefactor \@m {} files}{10}} -\newlabel{sec:Non-font MF files}{{3.3}{10}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}\textlogo {META}\discretionary {-}{}{}\textlogo {POST}\spacefactor \@m {}}{10}} -\newlabel{sec:MetaPost}{{3.4}{10}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}B\kern -.05em{\tds@smsize IB}\kern -.08emT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m {}}{11}} -\newlabel{sec:BibTeX}{{3.5}{11}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Scripts}{11}} -\newlabel{sec:Scripts}{{3.6}{11}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Documentation}{12}} -\newlabel{sec:Documentation}{{3.7}{12}} -\@writefile{toc}{\contentsline {section}{\numberline {4}Summary}{13}} -\newlabel{sec:Summary}{{4}{13}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Documentation tree summary}{14}} -\newlabel{sec:Documentation tree summary}{{4.1}{14}} -\@writefile{toc}{\contentsline {section}{\numberline {A}Unspecified pieces}{15}} -\@writefile{toc}{\contentsline {subsection}{\numberline {A.1}Portable filenames}{15}} -\newlabel{sec:Portable filenames}{{A.1}{15}} -\@writefile{toc}{\contentsline {section}{\numberline {B}Implementation issues}{16}} -\@writefile{toc}{\contentsline {subsection}{\numberline {B.1}Adoption of the {\tds@reduced@size \uppercase {TDS}}}{16}} -\@writefile{toc}{\contentsline {subsection}{\numberline {B.2}More on subdirectory searching}{17}} -\newlabel{sec:More on subdirectory searching}{{B.2}{17}} -\@writefile{toc}{\contentsline {subsection}{\numberline {B.3}Example implementation-specific trees}{17}} -\newlabel{sec:Example implementation-specific trees}{{B.3}{17}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.1}AmiWeb2c 2.0}{18}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.2}Public {\tds@reduced@size \uppercase {DECUS}} T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m {}}{18}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.3}Web2c 7}{18}} -\@writefile{toc}{\contentsline {section}{\numberline {C}Is there a better way?}{19}} -\@writefile{toc}{\contentsline {subsection}{\numberline {C.1}Macro structure}{19}} -\@writefile{toc}{\contentsline {subsection}{\numberline {C.2}Font structure}{20}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {C.2.1}Font file type location}{20}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {C.2.2}Mode and resolution location}{20}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {C.2.3}Modeless bitmaps}{21}} -\@writefile{toc}{\contentsline {subsection}{\numberline {C.3}Documentation structure}{21}} -\@writefile{toc}{\contentsline {section}{\numberline {D}Related references}{21}} -\newlabel{sec:Related references}{{D}{21}} -\@writefile{toc}{\contentsline {section}{\numberline {E}Contributors}{22}} diff --git a/tds/tds.dvi b/tds/tds.dvi deleted file mode 100644 index ee93dac783..0000000000 Binary files a/tds/tds.dvi and /dev/null differ diff --git a/tds/tds.html b/tds/tds.html deleted file mode 100644 index 49da35a2f5..0000000000 --- a/tds/tds.html +++ /dev/null @@ -1,1997 +0,0 @@ - - -A Directory Structure for TeX Files - - - - - - - - - -

A Directory Structure for TeX Files

-
-


-
Next: , -Up: (dir) -
-
- -

A Directory Structure for TeX Files

- -

Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 -TeX Users Group. - -

Permission to use, copy, and distribute this document without -modification for any purpose and without fee is hereby granted, -provided that this notice appears in all copies. It is provided “as -is” without expressed or implied warranty. - -

Permission is granted to copy and distribute modified versions of this -document under the conditions for verbatim copying, provided that the -modifications are clearly marked and the document is not represented as -the official one. - -

This document is available on any CTAN host -(see Appendix Related references). -Please send questions or suggestions by email to -tds@tug.org. We welcome all comments. This is version -1.1. - -

-

--- The Detailed Node Listing --- - -

Introduction - -

- -

General - -

- -

Top-level directories - -

- -

Macros - -

- -

Fonts - -

- -

Summary - -

- -

Unspecified pieces - -

- -

Implementation issues - -

- -

Example implementation-specific trees - -

- -

Is there a better way? - -

- -

Font structure - -

- - -
-


-Next: , -Previous: Top, -Up: Top -
-
- -

1 Introduction

- -

TeX is a powerful, flexible typesetting system used by many people -around the world. It is extremely portable and runs on virtually all -operating systems. One unfortunate side effect of TeX's flexibility, -however, is that there has been no single “right” way to install it. -This has resulted in many sites having different installed arrangements. - -

The primary purpose of this document is to describe a standard TeX -Directory Structure (TDS): a directory hierarchy for macros, -fonts, and the other implementation-independent TeX system files. As -a matter of practicality, this document also suggests ways to -incorporate the rest of the TeX files into a single structure. The -TDS has been designed to work on all modern systems. In -particular, the Technical Working Group (TWG) believes it is usable -under MacOS, MS-DOS, OS/2, Unix, VMS, and -Windows NT. We hope that administrators and developers of both -free and commercial TeX implementations will adopt this standard. - -

This document is intended both for the TeX system administrator at a -site and for people preparing TeX distributions—everything from a -complete runnable system to a single macro or style file. It may also -help TeX users find their way around systems organized this way. It -is not a tutorial: we necessarily assume knowledge of the many parts of -a working TeX system. If you are unfamiliar with any of the programs -or file formats we refer to, consult the references in -Appendix Related references. - -

- -
-


-Next: , -Up: Introduction -
-
- -

1.1 History

- -

Version 1.0 of the TDS was released in February 2003. - -

Version 1.1 was released in June 2004, with the following non-editorial -changes: - -

    -
  • Inputs for TeX extensions included under tex, instead - of in their own top-level directories (Section Extensions) -
  • New top-level directory scripts (Section Scripts). -
  • New subdirectories lig, opentype, - truetype, and type3 under fonts - (Section Fonts). -
  • `enc', -lig, and map all use - syntax/package subdirectories - (Section Fonts). -
  • `pfm' files specified to go under type1, -and - inf files under afm (Section Fonts). -
- -
-


-Next: , -Previous: History, -Up: Introduction -
-
- -

1.2 The role of the TDS

- -

The role of the TDS is to stabilize the organization of -TeX-related software packages that are installed and in use, possibly -on multiple platforms simultaneously. - -

At first glance, it may seem that the Comprehensive TeX Archive -Network (CTAN) fulfills at least part of this role, but this is -not the case. The role of CTAN is to simplify archiving and -distribution, not installation and use. - -

In fact, the roles of the TDS and CTAN are frequently in -conflict, as we will see. For distribution, many different types of -files must be combined into a single unit; for use, it is traditional to -segregate files (even similar files) from a single package into -separate, occasionally distant, directories. - -

-


-Previous: The role of the TDS, -Up: Introduction -
-
- -

1.3 Conventions

- -

In this document, / is used to separate filename components; -for example, texmf/fonts. This is the Unix convention but the -ideas are in no way Unix-specific. - -

In this document, “TeX” generally means the TeX system, including -Metafont, DVI drivers, utilities, etc., not just the TeX -program itself. - -

The word “package” in this document has its usual meaning: a set of -related files distributed, installed, and maintained as a unit. This is -not a LaTeX2e package, which is a style file supplementing -a document class. - -

We use the following typographic conventions: - -

    -
  • `literal' -Literal text such as filename is -typeset in typewriter type. - -
  • `replaceable' -Replaceable text such as -package, identifying a class of things, is typeset in -italics inside angle brackets. - -
- -
-


-Next: , -Previous: Introduction, -Up: Top -
-
- -

2 General

- -

This section describes common properties throughout the TDS tree. - -

- -
-


-Next: , -Up: General -
-
- -

2.1 Subdirectory searching

- -

Older TeX installations store large numbers of related files in single -directories, for example, all TFM files and/or all TeX -input files. - -

This monolithic arrangement hinders maintenance of a TeX system: it -is difficult to determine what files are used by what packages, what -files need to be updated when a new version is installed, or what files -should be deleted if a package is removed. It is also a source of error -if two or more packages happen to have input files with the same name. - -

Therefore, the TWG felt each package should be in a separate -directory. But we recognized that explicitly listing all directories to -be searched would be unbearable. A site may wish to install dozens of -packages. Aside from anything else, listing that many directories would -produce search paths many thousands of characters long, overflowing the -available space on some systems. - -

Also, if all directories are explicitly listed, installing or removing a -new package would mean changing a path as well as installing or removing -the actual files. This would be a time-consuming and error-prone -operation, even with implementations that provide some way to specify -the directories to search at runtime. On systems without runtime -configuration, it would require recompiling software, an intolerable -burden. - -

As a result, the TWG concluded that a comprehensive TDS -requires implementations to support some form of implicit subdirectory -searching. More precisely, implementations must make it possible to -specify that TeX, Metafont, and their companion utilities search in both -a specified directory and recursively through all subdirectories of that -directory when looking for an input file. Other forms of subdirectory -searching, for example recursive-to-one-level searches, may also be -provided. We encourage implementors to provide subdirectory searching -at the option of the installer and user for all paths. - -

The TDS does not specify a syntax for specifying recursive -searching, but we encourage implementors to provide interoperability -(see Section More on subdirectory searching). - -

-


-Next: , -Previous: Subdirectory searching, -Up: General -
-
- -

2.2 Rooting the tree

- -

In this document, we shall designate the root TDS directory by -texmf (for “TeX and Metafont”). We recommend using that name -where possible, but the actual name of the directory is up to the -installer. On PC networks, for example, this could map to a -logical drive specification such as T:. - -

Similarly, the location of this directory on the system is -site-dependent. It may be at the root of the file system; on Unix -systems, /usr/local/share, /usr/local, -/usr/local/lib, and /opt are common choices. - -

The name texmf was chosen for several reasons: it reflects the fact -that the directory contains files pertaining to an entire TeX system -(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and it -is descriptive of a generic installation rather than a particular -implementation. - -

A site may choose to have more than one TDS hierarchy installed -(for example, when installing an upgrade). This is perfectly legitimate. - -

-


-Next: , -Previous: Rooting the tree, -Up: General -
-
- -

2.3 Local additions

- -

The TDS cannot specify precisely when a package is or is not a -“local addition”. Each site must determine this according to its own -conventions. At the two extremes, one site might wish to consider -“nonlocal” all files not acquired as part of the installed TeX -distribution; another site might consider “local” only those files -that were actually developed at the local site and not distributed -elsewhere. - -

We recognize two common methods for local additions to a distributed -texmf tree. Both have their place; in fact, some sites employ -both simultaneously: - -

    - -
  1. A completely separate tree which is a TDS structure -itself; for example, /usr/local/umbtex at the University of -Massachusetts at Boston. This is another example of the multiple -texmf hierarchies mentioned in the previous section. - -
  2. A directory named local at any appropriate level, for -example, in the format, package, and -supplier directories discussed in the following sections. -The TDS reserves the directory name local for this -purpose. - -

    We recommend using local for site-adapted configuration files, -such as language.dat for the Babel package or graphics.cfg -for the graphics package. Unmodified configuration files from a package -should remain in the package directory. The intent is to separate -locally modified or created files from distribution files, to ease -installing new releases. - -

- -

One common case of local additions is dynamically generated files, e.g., -PK fonts by the mktexpk script (which originated in -Dvips as MakeTeXPK). A site may store the -generated files directly in any of: -

    -
  • their standard location in the main TDS tree (if it can be -made globally writable); - -
  • an alternative location in the main TDS tree (for -example, under texmf/fonts/tmp); - -
  • a second complete TDS tree (as outlined above); - -
  • any other convenient directory (perhaps under -/var, for example /var/spool/fonts). - -
- -

No one solution will be appropriate for all sites. - -

-


-Previous: Local additions, -Up: General -
-
- -

2.4 Duplicate filenames

- -

Different files by the same name may exist in a TDS tree. The -TDS generally leaves unspecified which of two files by the same -name in a search path will be found, so generally the only way to -reliably find a given file is for it to have a unique name. However, -the TDS requires implementations to support the following -exceptions: - -

    -
  • Names of TeX input files must be unique within each first-level -subdirectory of texmf/tex and texmf/tex/generic, but not -within all of texmf/tex; i.e., different TeX formats may have -files by the same name. (Section Macros discusses this -further.) Thus, no single format-independent path specification, such -as a recursive search beginning at texmf/tex specifying no other -directories, suffices. So implementations must provide format-dependent -path specifications, for example via wrapper scripts or configuration -files. - -
  • Many font files will have the same name (e.g., cmr10.pk), -as discussed in Section Valid font bitmaps. Implementations -must distinguish these files by mode and resolution. - -
- -

All implementations we know of already have these capabilities. - -

One place where duplicate names are likely to occur is not an exception: - -

    -
  • Names of Metafont input files (as opposed to bitmaps) must be unique -within all of texmf/fonts. In practice, this is a problem with -some variants of Computer Modern which contain slightly modified files -named punct.mf, romanl.mf, and so on. We believe the only -feasible solution is to rename the derivative files to be -unique. - -
- -
-


-Next: , -Previous: General, -Up: Top -
-
- -

3 Top-level directories

- -

The directories under the texmf root identify the major components of -a TeX system (see Section Summary for a summary). A site -may omit any unneeded directories. - -

Although the TDS by its nature can specify precise locations only -for implementation-independent files, we recognize that installers may -well wish to place other files under texmf to simplify administration -of the TeX tree, especially if it is maintained by someone other than -the system administrator. Therefore, additional top-level directories -may be present. - -

The top-level directories specified by the TDS are: - -

    -
  • `tex' -for TeX files (Section Macros). - -
  • `fonts' -for font-related files (Section Fonts). - -
  • `metafont' -for Metafont files which are not fonts (Section Non-font Metafont files). - -
  • `metapost' -for MetaPost files (Section MetaPost). - -
  • `bibtex' -for BibTeX files (Section BibTeX). - -
  • `scripts' -for platform-independent executables (Section Scripts). - -
  • `doc' -for user documentation (Section Documentation). - -
  • `source' -for sources. This includes both traditional -program sources (for example, Web2C sources go in -texmf/source/web2c) and, e.g., LaTeX dtx sources (which -go in texmf/source/latex). The TDS leaves unspecified any -structure under source. - -

    source is intended for files which are not needed at runtime by -any TeX program; it should not be included in any search path. For -example, plain.tex does not belong under texmf/source, -even though it is a “source file” in the sense of not being derived -from another file. (It goes in texmf/tex/plain/base, as explained -in Section Macros). - -

  • `implementation' -for implementations (examples: -emtex, vtex, web2c), to be used for whatever -purpose deemed suitable by the implementor or TeX administrator. -That is, files that cannot be shared between implementations, such as -pool files (tex.pool) and memory dump files (plain.fmt) go -here, in addition to implementation-wide configuration files. See -Section Example implementation-specific trees for examples of -real implementation trees. - -

    Such implementation-specific configuration files should not -be located using the main TeX input search path (e.g., -TEXINPUTS). This must be reserved for files actually read by a -TeX engine. See Section Extensions. - -

  • `program' -for program-specific input and -configuration files for any TeX-related programs (examples: -mft, dvips). In fact, the tex, metafont, -metapost, and bibtex items above may all be seen as -instances of this case. - -
- - - -
-


-Next: , -Up: Top-level directories -
-
- -

3.1 Macros

- -

TeX macro files shall be stored in separate directories, segregated -by TeX format and package name (we use `format' in its traditional -TeX sense to mean a usefully \dump-able package): -

     texmf/tex/format/package/
-
-
    -
  • `format' -is a format name (examples: amstex, -latex, plain, texinfo). - -

    The TDS allows distributions that can be used as either formats or -packages (e.g., Texinfo, Eplain) to be stored at either level, at the -option of the format author or TeX administrator. We recommend that -packages used as formats at a particular site be stored at the -format level: by adjusting the TeX inputs search path, -it will be straightforward to use them as macro packages under another -format, whereas placing them in another tree completely obscures their -use as a format. - -

    The TDS reserves the following format names: - -

      -
    • `generic', -for input files that are useful across a wide -range of formats (examples: null.tex, path.sty). -Generally, this means any format that uses the category codes of Plain -TeX and does not rely on any particular format. This is in contrast -to those files which are useful only with Plain TeX (which go under -texmf/tex/plain), e.g., testfont.tex and plain.tex -itself. - -
    • `local', -for local additions. See Section Local additions. - -
    - -

    Thus, for almost every format, it is necessary to search at least the -format directory and then the generic directory (in -that order). Other directories may need to be searched as well, -depending on the format. When using AMS-TeX, for example, the -amstex, plain, and generic directories should be -searched, because AMS-TeX is compatible with Plain. - -

  • `package' -is a TeX package name (examples: -babel, texdraw). - -

    In the case where a format consists of only a single file and has no -auxiliary packages, that file can simply be placed in the -format directory, instead of -format/base. For example, Texinfo may go in -texmf/tex/texinfo/texinfo.tex, not -texmf/tex/texinfo/base/texinfo.tex. - -

    The TDS reserves the following package names: - -

      -
    • `base', -for the base distribution of each format, -including files used by INITEX when dumping format files. For -example, in the standard LaTeX distribution, the ltx files -created during the build process. Another example: the .ini -driver files for formats used by TeX Live and other distributions. - -
    • `hyphen', -for hyphenation patterns, including the original -American English hyphen.tex. These are typically used only by -INITEX. In most situations, this directory need exist only under the -generic format. - -
    • `images', -for image input files, such as Encapsulated -PostScript figures. Although it is somewhat non-intuitive for these to -be under a directory named tex, TeX needs to read these -files to glean bounding box or other information. A mechanism for -sharing image inputs between TeX and other typesetting programs -(e.g., Interleaf, FrameMaker) is beyond the scope of the -TDS. In most situations, this directory need exist only under -the generic format. - -
    • `local', -for local additions and configuration files. See -Section Local additions. - -
    • `misc', -for packages that consist of a single file. An -administrator or package maintainer may create directories for -single-file packages at their discretion, instead of using misc. - -
    - -
- - - -
-


-Up: Macros -
-
- -

3.1.1 Extensions

- -

TeX has spawned many companion and successor programs (“engines”), -such as PDFTeX, Omega, and others. The TDS specifies -that the input files for such programs (using a TeX-like syntax) be -placed within the top-level tex directory, either at the top -level or within a format subdirectory, even though the original TeX -program may not be able to read them. For example: - -

     texmf/tex/aleph
-     texmf/tex/enctex
-
-

This is a change from TDS 1.0, which specified top-level -extension directories for each such program. We felt the -new approach is preferable, because: - -

    -
  • Authors of relevant packages typically make their code detect the -engine being used, and issue error messages or adapt to circumstances -appropriately. Furthermore, as a package matures, it may support -multiple engines. Thus, a package could conceivably be placed in any of -several top-level directories, at different times. Putting all packages -under the top-level tex directory provides a stable location over -time. - -
  • Users need to be able to switch between engines, and configuring -different search paths for each engine is difficult and error-prone. - -
- -

Thus, in practice, having different top-level directories caused -difficulties for everyone involved—users, package authors, site -administrators, and system distributors. - -

Please contrast this approach with the implementation -top-level subdirectory (Section Top-level directories), which -is to be used for configuration files that (presumably) do not use -TeX syntax and in any case should not be found along the main TeX -input search path. - -

-


-Next: , -Previous: Macros, -Up: Top-level directories -
-
- -

3.2 Fonts

- -

Font files are stored in separate directories, segregated by file type, -and then (in most cases) font supplier and typeface. PK and -GF files need additional structure, as detailed in the next -section. - -

     texmf/fonts/type/supplier/typeface/
-     texmf/fonts/enc,lig,map/subpath/
-
-
    -
  • `type' -is the type of font file. The TDS -reserves the following type names for common TeX file -types: - -
      -
    • `afm', -for Adobe font metrics, and inf files. -
    • `gf', -for generic font bitmap files. -
    • `opentype', -for OpenType fonts. -
    • `pk', -for packed bitmap files. -
    • `source', -for font sources (Metafont files, property lists, etc.). -
    • `tfm', -for TeX font metric files. -
    • `truetype', -for TrueType fonts. -
    • `type1', -for PostScript Type 1 fonts (in pfa, - pfb, or any other format), and pfm files. -
    • `type3', -for PostScript Type 3 fonts. -
    • `vf', -for virtual fonts. -
    - -

    The TDS also reserves the names enc, lig, and -map for font encoding, ligature, and mapping files, respectively. -All of these directories are structured the same way, with -syntax subdirectories, and then package -subsubdirectories. Each of these file types is intended to be searched -along its own recursively-searched path. The names of the actual files -must be unique within their subtree, as usual. Examples: -

              fonts/map/dvipdfm/updmap/dvipdfm.map
    -          fonts/map/dvips/lm/lm.map
    -          fonts/enc/dvips/base/8r.enc
    -     
    -

    The Fontname and Dvips packages have more examples of the enc and -map types. The afm2pl program uses lig files. - -

    pfm files are included in the type1 directory, instead of -being given their own directory, for two reasons: 1) a .pfm file -is always an adjunct to a given .pfb file; 2) they must be -installed from the same directory for Windows programs other than TeX -to use them. - -

    inf files are included in the afm directory, since -an inf and afm file can be used to generate a pfm. -(Unfortunately, Adobe Type Manager and perhaps other software requires -that the pfb be in the same directory as afm and -inf for installation.) - -

    As usual, a site may omit any of these directories that are unnecessary. -gf is a particularly likely candidate for omission. - -

  • `supplier' -is a name identifying font source -(examples: adobe, ams, public). The TDS -reserves the following supplier names: - -
      -
    • `ams', -for the American Mathematical Society's AMS-fonts -collection. - -
    • `local', -for local additions. See Section Local additions. - -
    • `public', -for freely redistributable fonts where the supplier -neither (1) requested their own directory (e.g., ams), nor -(2) also made proprietary fonts (e.g., adobe). It does not -contain all extant freely distributable fonts, nor are all files therein -necessarily strictly public domain. - -
    • `tmp', -for dynamically-generated fonts, as is traditional on -some systems. It may be omitted if unnecessary, as usual. - -
    - -
  • `typeface' -is the name of a typeface family -(examples: cm, euler, times). The TDS -reserves the following typeface names: - -
      -
    • `cm' (within public), -for the 75 fonts defined in -Computers and Typesetting, Volume E. - -
    • `latex' (within public), -for those fonts distributed -with LaTeX in the base distribution. - -
    • `local', -for local additions. See Section Local additions. - -
    - -
- -

Some concrete examples: -

     texmf/fonts/source/public/pandora/pnr10.mf
-     texmf/fonts/tfm/public/cm/cmr10.tfm
-     texmf/fonts/type1/adobe/utopia/putr.pfa
-
-

For complete supplier and typeface name lists, consult -Filenames for TeX fonts (see Appendix Related references). - -

- -
-


-Next: , -Up: Fonts -
-
- -

3.2.1 Font bitmaps

- -

Font bitmap files require two characteristics in addition to the above -to be uniquely identifiable: (1) the type of device (i.e., mode) for -which the font was created; (2) the resolution of the bitmap. - -

Following common practice, the TDS segregates fonts with -different device types into separate directories. See modes.mf -in Appendix Related references for recommended mode names. - -

Some printers operate at more than one resolution (e.g., at 300dpi and -600dpi), but each such resolution will necessarily have a different -mode name. Nothing further is needed, since implicit in the TeX -system is the assumption of a single target resolution. - -

Two naming strategies are commonly used to identify the resolution of -bitmap font files. On systems that allow long filenames (and in the -original Metafont program itself), the resolution is included in the -filename (e.g., cmr10.300pk). On systems which do not support -long filenames, fonts are generally segregated into directories by -resolution (e.g., dpi300/cmr10.pk). - -

Because the TDS cannot require long filenames, we must use the -latter scheme for naming fonts. So we have two more subdirectory -levels under pk and gf: - -

     texmf/fonts/pk/mode/supplier/typeface/dpinnn/
-     texmf/fonts/gf/mode/supplier/typeface/dpinnn/
-
-
    -
  • `mode' -is a name which identifies the device type -(examples: cx, ljfour, modeless). Usually, this is -the name of the Metafont mode used to build the PK file. For fonts -rendered as bitmaps by a program that does not distinguish between -different output devices, the mode name shall be simply -modeless. The mode level shall not be omitted, -even if only a single mode happens to be in use. - -
  • `dpinnn' -specifies the resolution of the font -(examples: dpi300, dpi329). dpi stands for -dots per inch, i.e., pixels per inch. We recognize that pixels per -millimeter is used in many parts of the world, but dpi is too -traditional in the TeX world to consider changing now. - -

    The integer nnn is to be calculated as if using Metafont -arithmetic and then rounded; i.e., it is the integer Metafont uses in its -output gf filename. We recognize small differences in the -resolution are a common cause of frustration among users, however, and -recommend implementors follow the level 0 DVI driver standard -(see Appendix Related references) in bitmap font searches by -allowing a fuzz of +-0.2% (with a minimum of 1) in the -dpi. - -

- -

Implementations may provide extensions to the basic naming scheme, such -as long filenames (as in the original Metafont) and font library files (as -in emTeX's .fli files), provided that the basic scheme is also -supported. - -

-


-Previous: Font bitmaps, -Up: Fonts -
-
- -

3.2.2 Valid font bitmaps

- -

The TWG recognizes that the use of short filenames has many -disadvantages. The most vexing is that it results in the creation of -dozens of different files with the same name. At a typical site, -cmr10.pk will be the filename for Computer Modern Roman 10pt at -5–10 magnifications for 2–3 modes. (Section Duplicate filenames discusses duplicate filenames in general.) - -

To minimize this problem, we strongly recommend that PK files -contain enough information to identify precisely how they were created: -at least the mode, base resolution, and magnification used to create the -font. - -

This information is easy to supply: a simple addition to the local modes -used for building the fonts with Metafont will automatically provide the -required information. If you have been using a local modes file derived -from (or that is simply) modes.mf (see Appendix Related references), the required information is already in your PK -files. If not, a simple addition based on the code found in -modes.mf can be made to your local modes file and the PK -files rebuilt. - -

-


-Next: , -Previous: Fonts, -Up: Top-level directories -
-
- -

3.3 Non-font Metafont files

- -

Most Metafont input files are font programs or parts of font programs and -are thus covered by the previous section. However, a few non-font input -files do exist. Such files shall be stored in: - -

     texmf/metafont/package/
-
-

package is the name of a -Metafont package (for example, mfpic). - -

The TDS reserves the following package names: - -

    -
  • `base', -for the standard Metafont macro files as described in -The Metafontbook, such as plain.mf and expr.mf. - -
  • `local', -for local additions. See Section Local additions. - -
  • `misc', -for Metafont packages consisting of only a single file -(for example, modes.mf). An administrator or package maintainer -may create directories for single-file packages at their discretion, -instead of using misc. - -
- -
-


-Next: , -Previous: Non-font Metafont files, -Up: Top-level directories -
-
- -

3.4 MetaPost

- -

MetaPost is a picture-drawing language developed by John Hobby, derived -from Knuth's Metafont. Its primary purpose is to output Encapsulated PostScript -instead of bitmaps. - -

MetaPost input files and the support files for MetaPost-related utilities -shall be stored in: - -

     texmf/metapost/package/
-
-

package is the name of a MetaPost package. At the present -writing none exist, but the TWG thought it prudent to leave room -for contributed packages that might be written in the future. - -

The TDS reserves the following package names: - -

    -
  • `base', -for the standard MetaPost macro files, such as -plain.mp, mfplain.mp, boxes.mp, and -graph.mp. This includes files used by INIMP when dumping mem -files containing preloaded macro definitions. - -
  • `local', -for local additions. See Section Local additions. - -
  • `misc', -for MetaPost packages consisting of only a single file. -An administrator or package maintainer may create directories for -single-file packages at their discretion, instead of using misc. - -
  • `support', -for additional input files required by MetaPost -utility programs, including a font map, a character adjustment table, -and a subdirectory containing low-level MetaPost programs for rendering -some special characters. - -
- -
-


-Next: , -Previous: MetaPost, -Up: Top-level directories -
-
- -

3.5 BibTeX

- -

BibTeX-related files shall be stored in: - -

     texmf/bibtex/bib/package/
-     texmf/bibtex/bst/package/
-
-

The bib directory is for BibTeX database (.bib) files, -the bst directory for style (.bst) files. - -

package is the name of a BibTeX package. The -TDS reserves the following package names (the same -names are reserved under both bib and bst): - -

    -
  • `base', -for the standard BibTeX databases and styles, such -as xampl.bib, plain.bst. - -
  • `local', -for local additions. See Section Local additions. - -
  • `misc', -for BibTeX packages consisting of only a single -file. An administrator or package maintainer may create directories for -single-file packages at their discretion, instead of using misc. - -
- -
-


-Next: , -Previous: BibTeX, -Up: Top-level directories -
-
- -

3.6 Scripts

- -

The top-level scripts directory is for platform-independent -executables, such as Perl, Python, and shell scripts, and Java class -files. Subdirectories under scripts are package names. This -eases creating distributions, by providing a common place for such -platform-independent programs. - -

The intent is not for all such directories to be added to a user's -command search path, which would be quite impractical. Rather, these -executables are primarily for the benefit of wrapper scripts in whatever -executable directory a distribution may provide (which is not specified -by the TDS). - -

Truly auxiliary scripts which are invoked directly by other programs, -rather than wrapper scripts, may also be placed here. That is, -scripts also serves as a platform-independent analog of the -standard Unix libexec directory. - -

We recommend using extensions specifying the language (such as -.pl, .py, .sh) on these files, to help uniquely -identify the name. Since the intent of the TDS is for programs -in scripts not to be invoked directly by users, this poses no -inconvenience. - -

For example, in the TeX Live distribution, the ConTeXt user-level -program texexec can exist as a small wrapper script in each -bin/platform/texexec (which is outside the -texmf tree), which merely finds and calls -texmf/scripts/context/perl/texexec.pl. - -

Examples: -

     scripts/context/perl/texexec.pl
-     scripts/context/ruby/examplex.rb
-     scripts/thumbpdf/thumbpdf.pl
-
-

The TDS does not specify a location for platform-dependent -binary executables, whether auxiliary or user-level. - -

-


-Previous: Scripts, -Up: Top-level directories -
-
- -

3.7 Documentation

- -

Most packages come with some form of documentation: user manuals, -example files, programming guides, etc. In addition, many independent -files not part of any macro or other package have been created to -describe various aspects of the TeX system. - -

The TDS specifies that these additional documentation files shall -be stored in a structure that parallels to some extent the -fonts and tex directories, as follows: - -

     texmf/doc/category/...
-
-

category identifies the general topic of documentation -that resides below it; for example, a TeX format name (latex), -program name (bibtex, tex), language (french, -german), a file format (info, man), or other system -components (web, fonts). - -

One possible arrangement is to organize doc by language, with all -the other category types below that. This helps users find -documentation in the language(s) in which they are fluent. Neither this -nor any other particular arrangement is required, however. - -

Within each category tree for a TeX format, the -directory base is reserved for base documentation distributed by -the format's maintainers. - -

The TDS reserves the following category names: - -

    -
  • `general', -for standalone documents not specific to any -particular program (for example, Joachim Schrod's Components -of TeX). - -
  • `help', -for meta-information, such as FAQ's, -the TeX Catalogue, etc. - -
  • `info', -for processed Texinfo documents. (Info files, like -anything else, may also be stored outside the TDS, at the -installer's option.) - -
  • `local', -for local additions. See Section Local additions. - -
- -

The doc directory is intended for implementation-independent and -operating system-independent documentation -files. Implementation-dependent files are best stored elsewhere, as -provided for by the implementation and/or TeX administrator (for -example, VMS help files under texmf/vms/help). - -

The documentation directories may contain TeX sources, DVI -files, PostScript files, text files, example input files, or any other useful -documentation format(s). - -

See Section Documentation tree summary for a summary. - -

-


-Next: , -Previous: Top-level directories, -Up: Top -
-
- -

4 Summary

- -

A skeleton of a TDS texmf directory tree. This is not to -imply these are the only entries allowed. For example, local may -occur at any level. - -

       bibtex/           BibTeX input files
-         bib/            BibTeX databases
-           base/         base distribution (e.g., xampl.bib)
-           misc/         single-file databases
-         <package>/      name of a package
-         bst/            BibTeX style files
-           base/         base distribution (e.g., plain.bst, acm.bst)
-           misc/         single-file styles
-         <package>/      name of a package
-       doc/              see Section Documentation and the summary below
-       fonts/            font-related files
-         <type>/         file type (e.g., pk)
-           <mode>/       type of output device (for pk and gf only)
-             <supplier>/     name of a font supplier (e.g., public)
-               <typeface>/   name of a typeface (e.g., cm)
-                 dpi<nnn>/   font resolution (for pk and gf only)
-       <implementation>/ TeX implementations, by name (e.g., emtex)
-       local/            files created or modified at the local site
-       metafont/         Metafont (non-font) input files
-         base/           base distribution (e.g., plain.mf)
-         misc/           single-file packages (e.g., modes.mf)
-         <package>/      name of a package (e.g., mfpic)
-       metapost/         MetaPost input and support files
-         base/           base distribution (e.g., plain.mp)
-         misc/           single-file packages
-         <package>/      name of a package
-         support/        support files for MetaPost-related utilities
-       mft/              MFT inputs (e.g., plain.mft)
-       <program>/        TeX-related programs, by name (e.g., dvips)
-       source/           program source code by name (e.g., latex, web2c)
-       tex/              TeX input files
-         <engine>/       name of an engine (e.g., aleph); can also be lower
-         <format>/       name of a format (e.g., plain)
-           base/         base distribution for format (e.g., plain.tex)
-           misc/         single-file packages (e.g., webmac.tex)
-           local/        local additions to or local configuration files for format
-           <package>/    name of a package (e.g., graphics, mfnfss)
-         generic/        format-independent packages
-           hyphen/       hyphenation patterns (e.g., hyphen.tex)
-           images/       image input files (e.g., Encapsulated PostScript)
-           misc/         single-file format-independent packages (e.g., null.tex).
-           <package>/    name of a package (e.g., babel)
-
- - -
-


-Up: Summary -
-
- -

4.1 Documentation tree summary

- -

An example skeleton of a TDS directory tree under -texmf/doc. This is not to imply these are the only entries -allowed, or that this structure must be followed precisely for the -entries listed. - -

As mentioned, the texmf/doc tree may be organized by language, so -that all documentation in French, say, is in a french -subdirectory. In that case, the example structure here would be in a -given language directory. - -

       ams/
-         amsfonts/       amsfonts.faq, amfndoc
-         amslatex/       amslatex.faq, amsldoc
-         amstex/         amsguide, joyerr
-       bibtex/           BibTeX
-         base/           btxdoc.tex
-       fonts/
-         fontname/       Filenames for TeX fonts
-         oldgerm/        corkpapr
-       <format>/         name of a TeX format (e.g., generic, latex)
-         base/           for the base distribution
-         misc/           for contributed single-file package documentation
-         <package>/      for package
-       general/          across programs, generalities
-         errata/         errata, errata[1-8]
-         texcomp/        Components of TeX
-       help/             meta-information
-         ctan/           info about CTAN mirror sites
-         faq/            FAQs of comp.text.tex, etc.
-       info/             GNU Info files, made from Texinfo sources
-       latex/            example of format
-         base/           ltnews*, *guide, etc.
-         graphics/       grfguide
-       local/            site-specific documentation
-       man/              Unix man pages
-       <program>/        TeX-related programs, by name (examples follow)
-       metafont/         mfbook.tex, metafont-for-beginners, etc.
-       metapost/         mpman, manfig, etc.
-       tex/              texbook.tex, A Gentle Introduction to TeX, etc.
-       web/              webman, cwebman
-
-
-


-Next: , -Previous: Summary, -Up: Top -
-
- -

Appendix A Unspecified pieces

- -

The TDS cannot address the following aspects of a functioning -TeX system: - -

    - -
  1. The location of executable programs: this is too site-dependent -even to recommend a location, let alone require one. A site may place -executables outside the texmf tree altogether (e.g., -/usr/local/bin), in a platform-dependent directory within -texmf, or elsewhere. - -
  2. Upgrading packages when new releases are made: we could find no -way of introducing version specifiers into texmf that would do more -good than harm, or that would be practical for even a plurality of -installations. - -
  3. The location of implementation-specific files (e.g., TeX -.fmt files): by their nature, these must be left to the -implementor or TeX maintainer. See Section Example implementation-specific trees. - -
  4. Precisely when a package or file should be considered “local”, -and where such local files are installed. See Section Local additions for more discussion. - -
- - - -
-


-Up: Unspecified pieces -
-
- -

A.1 Portable filenames

- -

The TDS cannot require any particular restriction on filenames in -the tree, since the names of many existing TeX files conform to no -standard scheme. For the benefit of people who wish to make a portable -TeX distribution or installation, however, we outline here the -necessary restrictions. The TDS specifications themselves are -compatible with these. - -

ISO-9660 is the only universally acceptable file system format -for CD-ROMs. A subset thereof meets the stringent limitations of -all operating systems in use today. It specifies the following: - -

    -
  • File and directory names, not including any directory path or -extension part, may not exceed eight characters. - -
  • Filenames may have a single extension. Extensions may not exceed -three characters. Directory names may not have an extension. - -
  • Names and extensions may consist of only the characters -AZ, 09, and underscore. -Lowercase letters are excluded. - -
  • A period separates the filename from the extension and is always -present, even if the name or extension is missing (e.g., -FILENAME. or .EXT). - -
  • A version number, ranging from 1–32767, is appended to the file -extension, separated by a semicolon (e.g., FILENAME.EXT;1). - -
  • Only eight directory levels are allowed, including the top-level -(mounted) directory (see Section Rooting the tree). Thus, the -deepest valid ISO-9660 path is: -
              texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1
    -          1     2  3  4  5  6  7  8
    -     
    -

    The deepest TDS path needs only seven levels: -

              texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk
    -          1     2     3  4  5      6  7
    -     
    -
- -

Some systems display a modified format of ISO-9660 names, -mapping alphabetic characters to lowercase, removing version numbers and -trailing periods, etc. - -

Before the December 1996 release, LaTeX used mixed-case names for -font descriptor files. Fortunately, it never relied on case alone to -distinguish among the files. Nowadays, it uses only monocase names. - -

-


-Next: , -Previous: Unspecified pieces, -Up: Top -
-
- -

Appendix B Implementation issues

- -

We believe that the TDS can bring a great deal of order to the -current anarchic state of many TeX installations. In addition, by -providing a common frame of reference, it will ease the burden of -documenting administrative tasks. Finally, it is a necessary part of -any reasonable system of true “drop-in” distribution packages for -TeX. - -

- - - -

B.1 Adoption of the TDS

- -

[This section is retained for historical purposes; the TDS -is now quite firmly entrenched in most TeX distributions.] - -

We recognize that adoption of the TDS will not be immediate or -universal. Most TeX administrators will not be inclined to make the -final switch until: - -

    -
  • Clear and demonstrable benefits can be shown for the TDS. -
  • TDS-compliant versions of all key programs are available -in ported, well-tested forms. -
  • A “settling” period has taken place, to flush out problems. The -public release of the first draft of this document was the first step in -this process. -
- -

Consequently, most of the first trials of the TDS will be made by -members of the TDS committee and/or developers of TeX-related -software. This has already taken place during the course of our -deliberations (see Appendix Related references for a sample -tree available electronically). They will certainly result in the -production of a substantial number of TDS-compliant packages. -Indeed, the teTeX and TeX Live -distributions are TDS-compliant and in use now at many sites. - -

Once installable forms of key TDS-compliant packages are more -widespread, some TeX administrators will set up TDS-compliant -trees, possibly in parallel to existing production directories. This -testing will likely flush out problems that were not obvious in the -confined settings of the developers' sites; for example, it should help -to resolve system and package dependencies, package interdependencies, and -other details not addressed by this TDS version. - -

After most of the dust has settled, hopefully even conservative TeX -administrators will begin to adopt the TDS. Eventually, most -TeX sites will have adopted the common structure, and most packages -will be readily available in TDS-compliant form. - -

We believe that this process will occur relatively quickly. The -TDS committee spans a wide range of interests in the TeX -community. Consequently, we believe that most of the key issues -involved in defining a workable TDS definition have been covered, -often in detail. TeX developers have been consulted about -implementation issues, and have been trying out the TDS -arrangement. Thus, we hope for few surprises as implementations mature. - -

Finally, there are several (current or prospective) publishers of TeX -CD-ROMs. These publishers are highly motivated to work out -details of TDS implementation, and their products will provide -inexpensive and convenient ways for experimentally-minded TeX -administrators to experiment with the TDS. - -

- -

B.2 More on subdirectory searching

- -

Recursive subdirectory searching is the ability to specify a search not -only of a specified directory d, but recursively of all -directories below d. - -

Since the TDS specifies precise locations for most files, with no -extra levels of subdirectories allowed, true recursive searching is not -actually required for a TDS-compliant implementation. We do, -however, strongly recommend recursive searching as the most -user-friendly and natural approach to the problem, rather than -convoluted methods to specify paths without recursion. - -

This feature is already supported by many implementations of TeX and -companion utilities, for example DECUS TeX for VMS, -Dvips(k), emTeX (and its drivers), -PubliC TeX, Web2C, Xdvi(k), -and Y&YTeX. The Kpathsea library is a reusable -implementation of subdirectory searching for TeX, used in a number of -the above programs. - -

Even if your TeX implementation does not directly support -subdirectory searching, you may find it useful to adopt the structure if -you do not use many fonts or packages. For instance, if you only use -Computer Modern and AMS fonts, it would be feasible to store them -in the TDS layout and list the directories individually in -configuration files or environment variables. - -

The TWG recognizes that subdirectory searching places an extra -burden on the system and may be the source of performance bottlenecks, -particularly on slower machines. Nevertheless, we feel that -subdirectory searching is imperative for a well-organized TDS, -for the reasons stated in Section Subdirectory searching. -Implementors are encouraged to provide enhancements to the basic -principle of subdirectory searching to avoid performance problems, e.g., -the use of a filename cache (this can be as simple as a recursive -directory listing) that is consulted before disk searching begins. If a -match is found in the database, subdirectory searching is not required, -and performance is thus independent of the number of subdirectories -present on the system. - -

Different implementations specify subdirectory searching differently. -In the interest of typographic clarity, the examples here do not use the -replaceable font. - -

    -
  • Dvips: -via a separate -TEXFONTS_SUBDIR environment variable. - -
  • emTeX: -t:\subdir!!; t:\subdir! for -a single level of searching. - -
  • Kpathsea: -texmf/subdir// - -
  • VMS: -texmf:[subdir...] - -
  • Xdvi (patchlevel 20): -texmf/subdir/**; -texmf/subdir/* for a single level of searching. Version 20.50 -and above support the // notation. - -
  • Y&Y TeX: -t:/subdir// or -t:\subdir\\. - -
- - - -

B.3 Example implementation-specific trees

- -

The TDS cannot specify a precise location for -implementation-specific files, such as texmf/ini, because a site -may have multiple TeX implementations. - -

Nevertheless, for informative purposes, we provide here the default -locations for some implementations. Please contact us with additions or -corrections. These paths are not definitive, may not match anything at -your site, and may change without warning. - -

We recommend all implementations have default search paths that start -with the current directory (e.g., .). Allowing users to -include the parent directory (e.g., ..) is also helpful. - -

- - - -

B.3.1 AmiWeb2c 2.0

- -

(Email scherer@physik.rwth-aachen.de to contact the maintainer -of this implementation.) - -

AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible -extent, so only the very few differences are described in this -section. Detailed information about the basic concepts is given in -the section for Web2c 7 below. - -

Thanks to the SELFAUTO mechanism of Kpathsea 3.0 no specific -location for the installation of AmiWeb2c is required as long as the -general structure of the distribution is preserved. - -

In addition to Kpathsea's // notation recursive path search may -also be started by DEVICE:/, e.g., TeXMF:/ -will scan this specific device completely. - -

Binaries coming with the AmiWeb2c distribution are installed in the -directory bin/amiweb2c/ outside the common TDS tree -share/texmf/. In addition to the set of AmiWeb2c binaries -you will find two subdirectories local/ and pastex/ -with auxiliary programs. - -

A stripped version of the PasTeX system (used by kind permission of -Georg Heßmann) is coming with AmiWeb2c, pre-installed in its own -share/texmf/amiweb2c/pastex/ directory. If you want to use -PasTeX you have to assign the name TeX: to this place. - -

Documentation files in AmigaGuide format should be stored at -doc/guide/ similar to doc/info/. - -

- -

B.3.2 Public DECUS TeX

- -

If another VMS implementation besides Public DECUS TeX -appears, the top level implementation directory name will be modified to -something more specific (e.g., vms_decus). - -

       texmf/
-         vms/            VMS implementation specific files
-           exe/          end-user commands
-             common/     command procedures, command definition files, etc.
-             axp/        binary executables for Alpha AXP
-             vax/        binary executables for VAX
-           formats/      pool files, formats, bases
-           help/         VMS help library, and miscellaneous help sources
-           mgr/          command procedures, programs, docs, etc., for system management
-
- - -

B.3.3 Web2c 7

- -

All implementation-dependent TeX system files (.pool, -.fmt, .base, .mem) are stored by default directly -in texmf/web2c. The configuration file texmf.cnf and -various subsidiary MakeTeX... scripts used as subroutines are -also stored there. - -

Non-TeX specific files are stored following the GNU coding -standards. Given a root directory prefix -(/usr/local by default), we have default locations as follows: - -

       <prefix>/         installation root (/usr/local by default)
-         bin/            executables
-         man/            man pages
-         info/           info files
-         lib/            libraries (libkpathsea.*)
-         share/          architecture-independent files
-           texmf/        TDS root
-             web2c/      implementation-dependent files (.pool, .fmt, texmf.cnf, etc.)
-
-

See http://www.gnu.org/prep/standards_toc.html for the -rationale behind and descriptions of this arrangement. A site may of -course override these defaults; for example, it may put everything under -a single directory such as /usr/local/texmf. - -

-


-Next: , -Previous: Implementation issues, -Up: Top -
-
- -

Appendix C Is there a better way?

- -

Defining the TDS required many compromises. Both the overall -structure and the details of the individual directories were arrived at -by finding common ground among many opinions. The driving forces were -feasibility (in terms of what could technically be done and what could -reasonably be expected from developers) and regularity (files grouped -together in an arrangement that “made sense”). - -

Some interesting ideas could not be applied due to implementations -lacking the necessary support: - -

    -
  • Path searching control at the TeX level. If documents could -restrict subdirectory searching to a subdirectory via some portable -syntax in file names, restrictions on uniqueness of filenames could be -relaxed considerably (with the cooperation of the formats), and the -TeX search path would not need to depend on the format. - -
  • Multiple logical texmf trees. For example, a site might have -one (read-only) location for stable files, and a different (writable) -location for dynamically-created fonts or other files. It would be -reasonable for two such trees to be logically merged when searching. -See Michael Downes' article in the references for how this can work in -practice with Web2C. - -
- - - - - -

C.1 Macro structure

- -

The TWG settled on the -format/package arrangement after long -discussion about how best to arrange the files. - -

The primary alternative to this arrangement was a scheme which reversed -the order of these directories: -package/format. This reversed -arrangement has a strong appeal: it keeps all of the files related to a -particular package in a single place. The arrangement actually adopted -tends to spread files out into two or three places (macros, -documentation, and fonts, for example, are spread into different -sections of the tree right at the top level). - -

Nevertheless, the format/package -structure won for a couple of reasons: - -

    -
  • It is closer to current practice; in fact, several members of the -TWG have already implemented the TDS hierarchy. The -alternative is not in use at any known site, and the TWG felt it -wrong to mandate something with which there is no practical experience. - -
  • The alternative arrangement increases the number of top-level -directories, so the files that must be found using subdirectory -searching are spread out in a wide, shallow tree. This could have a -profound impact on the efficiency of subdirectory searching. - -
- - - -

C.2 Font structure

- -

The TWG struggled more with the font directory structure than -anything else. This is not surprising; the need to use the proliferation -of PostScript fonts with TeX is what made the previous arrangement -with all files in a single directory untenable, and therefore what -initiated the TDS effort. - -

- - - -

C.2.1 Font file type location

- -

We considered the supplier-first arrangement in use at many sites: - -

     texmf/fonts/supplier/typeface/type/
-
-

This improves the maintainability of the font tree, since all files -comprising a given typeface are in one place, but unless all the -programs that search this tree employ some form of caching, there are -serious performance concerns. For example, in order to find a -TFM file, the simplest implementation would require TeX to -search through all the directories that contain PK files in all -modes and at all resolutions. - -

In the end, a poll of developers revealed considerable resistance to -implementing sufficient caching mechanisms, so this arrangement was -abandoned. The TDS arrangement allows the search tree to be -restricted to the correct type of file, at least. Concerns about -efficiency remain, but there seems to be no more we can do without -abandoning subdirectory searching entirely. - -

We also considered segregating all font-related files strictly by file -type, so that Metafont sources would be in a directory -texmf/fonts/mf, property list files in texmf/fonts/pl, the -various forms of Type 1 fonts separated, and so on. Although more -blindly consistent, we felt that the drawback of more complicated path -constructions outweighed this. The TDS merges file types -(mf and pl under source, pfa and pfb -and gsf under type1) where we felt this was beneficial. - -

-


-Next: , -Previous: Font file type location, -Up: Font structure -
-
- -

C.2.2 Mode and resolution location

- -

We considered having the mode at the bottom of the font tree: -

     texmf/fonts/pk/supplier/typeface/mode/dpi/
-
-

In this case, however, it is difficult to limit subdirectory searching -to the mode required for a particular device. - -

We then considered moving the dpinnn up to below -the mode: -

     texmf/fonts/pk/mode/dpi/supplier/typeface/
-
-

But then it is not feasible to omit the dpinnn -level altogether on systems which can and do choose to use long -filenames. - -

- -

C.2.3 Modeless bitmaps

- -

The TDS specifies using a single directory modeless/ as -the mode name for those utilities which generate bitmaps, e.g., -texmf/fonts/modeless/times/. This has the considerable advantage -of not requiring each such directory name to be listed in a search path. - -

An alternative was to use the utility name below which all such -directories could be gathered. That has the advantage of separating, -say, gsftopk-generated bitmaps from ps2pk-generated ones. -However, we decided this was not necessary; most sites will use only one -program for the purpose. Also, PK and GF fonts generally -identify their creator in the font comment following the PK_ID -byte. - -

We are making an implicit assumption that Metafont is the only program -producing mode-dependent bitmaps. If this becomes false we could add an -abbreviation for the program to mode names, as in mfcx vs. -xyzcx for a hypothetical program Xyz, or we could -at that time add an additional program name level uniformly to the tree. -It seemed more important to concisely represent the current situation -than to worry about hypothetical possibilities that may never happen. - -

-


-Previous: Font structure, -Up: Is there a better way? -
-
- -

C.3 Documentation structure

- -

We considered placing additional documentation files in the same -directory as the source files for the packages, but we felt that users -should be able to find documentation separately from sources, since most -users have no interest in sources. - -

We hope that a separate, but parallel, structure for documentation would -(1) keep the documentation together and (2) make it as straightforward -as possible for users to find the particular documentation they were -after. - -

-


-Next: , -Previous: Is there a better way?, -Up: Top -
-
- -

Appendix D Related references

- -

This appendix gives pointers to related files and other documents. For -CTAN references, we use http://www.ctan.org as the -top-level domain only to make the links be live in this document. See -http://www.ctan.org/tex-archive/CTAN.sites for a complete list of -CTAN sites; there are mirrors worldwide. - -

- -
-


-Previous: Related references, -Up: Top -
-
- -

Appendix E Contributors

- -

The TWG has had no physical meetings; electronic mail was the -communication medium. - -

Sebastian Rahtz is the TeX Users Group Technical Council liaison. -Norman Walsh was the original committee chair. Karl Berry is the -current editor. - -

The list of contributors has grown too large to fairly include, as some -would surely be inadvertently omitted. Please consider the archives of -the tds@tug.org and tex-live@tug.org mailing lists as -the record of contributions. - - - diff --git a/tds/tds.info b/tds/tds.info deleted file mode 100644 index 8b2418cd0a..0000000000 --- a/tds/tds.info +++ /dev/null @@ -1,1714 +0,0 @@ -This is tds.info, produced by makeinfo version 4.7 from tds.texi. - -INFO-DIR-SECTION TeX -START-INFO-DIR-ENTRY -* TeX Directories: (tds). A directory structure for TeX files. -END-INFO-DIR-ENTRY - - -File: tds.info, Node: Top, Next: Introduction, Up: (dir) - -A Directory Structure for TeX Files -*********************************** - -Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 TeX Users -Group. - - Permission to use, copy, and distribute this document _without -modification_ for any purpose and without fee is hereby granted, -provided that this notice appears in all copies. It is provided "as -is" without expressed or implied warranty. - - Permission is granted to copy and distribute modified versions of -this document under the conditions for verbatim copying, provided that -the modifications are clearly marked and the document is not -represented as the official one. - - This document is available on any CTAN host (see Appendix *Note -Related references::). Please send questions or suggestions by email to -. We welcome all comments. This is version 1.1. - -* Menu: - -* Introduction:: -* General:: -* Top-level directories:: -* Summary:: -* Unspecified pieces:: -* Implementation issues:: -* Is there a better way?:: -* Related references:: -* Contributors:: - - --- The Detailed Node Listing --- - -Introduction - -* History:: -* The role of the TDS:: -* Conventions:: - -General - -* Subdirectory searching:: -* Rooting the tree:: -* Local additions:: -* Duplicate filenames:: - -Top-level directories - -* Macros:: -* Fonts:: -* Non-font Metafont files:: -* MetaPost:: -* BibTeX:: -* Scripts:: -* Documentation:: - -Macros - -* Extensions:: - -Fonts - -* Font bitmaps:: -* Valid font bitmaps:: - -Summary - -* Documentation tree summary:: - -Unspecified pieces - -* Portable filenames:: - -Implementation issues - -* Adoption of the TDS:: -* More on subdirectory searching:: -* Example implementation-specific trees:: - -Example implementation-specific trees - -* AmiWeb2c 2.0:: -* Public DECUS TeX:: -* Web2c 7:: - -Is there a better way? - -* Macro structure:: -* Font structure:: -* Documentation structure:: - -Font structure - -* Font file type location:: -* Mode and resolution location:: -* Modeless bitmaps:: - - -File: tds.info, Node: Introduction, Next: General, Prev: Top, Up: Top - -1 Introduction -************** - -TeX is a powerful, flexible typesetting system used by many people -around the world. It is extremely portable and runs on virtually all -operating systems. One unfortunate side effect of TeX's flexibility, -however, is that there has been no single "right" way to install it. -This has resulted in many sites having different installed arrangements. - - The primary purpose of this document is to describe a standard TeX -Directory Structure (TDS): a directory hierarchy for macros, fonts, and -the other implementation-independent TeX system files. As a matter of -practicality, this document also suggests ways to incorporate the rest -of the TeX files into a single structure. The TDS has been designed to -work on all modern systems. In particular, the Technical Working Group -(TWG) believes it is usable under MacOS, MS-DOS, OS/2, Unix, VMS, and -Windows NT. We hope that administrators and developers of both free -and commercial TeX implementations will adopt this standard. - - This document is intended both for the TeX system administrator at a -site and for people preparing TeX distributions--everything from a -complete runnable system to a single macro or style file. It may also -help TeX users find their way around systems organized this way. It is -not a tutorial: we necessarily assume knowledge of the many parts of a -working TeX system. If you are unfamiliar with any of the programs or -file formats we refer to, consult the references in Appendix *Note -Related references::. - -* Menu: - -* History:: -* The role of the TDS:: -* Conventions:: - - -File: tds.info, Node: History, Next: The role of the TDS, Up: Introduction - -1.1 History -=========== - -Version 1.0 of the TDS was released in February 2003. - - Version 1.1 was released in June 2004, with the following -non-editorial changes: - - * Inputs for TeX extensions included under `tex', instead of - in their own top-level directories (Section *Note Extensions::) - - * New top-level directory `scripts' (Section *Note Scripts::). - - * New subdirectories `lig', `opentype', `truetype', and - `type3' under `fonts' (Section *Note Fonts::). - - * `enc', `lig', and `map' all use `SYNTAX/PACKAGE' - subdirectories (Section *Note Fonts::). - - * `pfm' files specified to go under `type1', and `inf' files - under `afm' (Section *Note Fonts::). - - -File: tds.info, Node: The role of the TDS, Next: Conventions, Prev: History, Up: Introduction - -1.2 The role of the TDS -======================= - -The role of the TDS is to stabilize the organization of TeX-related -software packages that are installed and in use, possibly on multiple -platforms simultaneously. - - At first glance, it may seem that the Comprehensive TeX Archive -Network (CTAN) fulfills at least part of this role, but this is not the -case. The role of CTAN is to simplify archiving and distribution, not -installation and use. - - In fact, the roles of the TDS and CTAN are frequently in conflict, -as we will see. For distribution, many different types of files must -be combined into a single unit; for use, it is traditional to segregate -files (even similar files) from a single package into separate, -occasionally distant, directories. - - -File: tds.info, Node: Conventions, Prev: The role of the TDS, Up: Introduction - -1.3 Conventions -=============== - -In this document, `/' is used to separate filename components; for -example, `texmf/fonts'. This is the Unix convention but the ideas are -in no way Unix-specific. - - In this document, "TeX" generally means the TeX system, including -Metafont, DVI drivers, utilities, etc., not just the TeX program itself. - - The word "package" in this document has its usual meaning: a set of -related files distributed, installed, and maintained as a unit. This is -_not_ a LaTeX2e package, which is a style file supplementing a document -class. - - We use the following typographic conventions: - - * `literal' Literal text such as `filename' is typeset in typewriter - type. - - * `REPLACEABLE' Replaceable text such as `PACKAGE', identifying a - class of things, is typeset in italics inside angle brackets. - - - -File: tds.info, Node: General, Next: Top-level directories, Prev: Introduction, Up: Top - -2 General -********* - -This section describes common properties throughout the TDS tree. - -* Menu: - -* Subdirectory searching:: -* Rooting the tree:: -* Local additions:: -* Duplicate filenames:: - - -File: tds.info, Node: Subdirectory searching, Next: Rooting the tree, Up: General - -2.1 Subdirectory searching -========================== - -Older TeX installations store large numbers of related files in single -directories, for example, all `TFM' files and/or all TeX input files. - - This monolithic arrangement hinders maintenance of a TeX system: it -is difficult to determine what files are used by what packages, what -files need to be updated when a new version is installed, or what files -should be deleted if a package is removed. It is also a source of error -if two or more packages happen to have input files with the same name. - - Therefore, the TWG felt each package should be in a separate -directory. But we recognized that explicitly listing all directories to -be searched would be unbearable. A site may wish to install dozens of -packages. Aside from anything else, listing that many directories would -produce search paths many thousands of characters long, overflowing the -available space on some systems. - - Also, if all directories are explicitly listed, installing or -removing a new package would mean changing a path as well as installing -or removing the actual files. This would be a time-consuming and -error-prone operation, even with implementations that provide some way -to specify the directories to search at runtime. On systems without -runtime configuration, it would require recompiling software, an -intolerable burden. - - As a result, the TWG concluded that a comprehensive TDS requires -implementations to support some form of implicit subdirectory -searching. More precisely, implementations must make it possible to -specify that TeX, Metafont, and their companion utilities search in both -a specified directory and recursively through all subdirectories of that -directory when looking for an input file. Other forms of subdirectory -searching, for example recursive-to-one-level searches, may also be -provided. We encourage implementors to provide subdirectory searching -at the option of the installer and user for all paths. - - The TDS does not specify a syntax for specifying recursive -searching, but we encourage implementors to provide interoperability -(see Section *Note More on subdirectory searching::). - - -File: tds.info, Node: Rooting the tree, Next: Local additions, Prev: Subdirectory searching, Up: General - -2.2 Rooting the tree -==================== - -In this document, we shall designate the root TDS directory by `texmf' -(for "TeX and Metafont"). We recommend using that name where possible, -but the actual name of the directory is up to the installer. On PC -networks, for example, this could map to a logical drive specification -such as `T:'. - - Similarly, the location of this directory on the system is -site-dependent. It may be at the root of the file system; on Unix -systems, `/usr/local/share', `/usr/local', `/usr/local/lib', and `/opt' -are common choices. - - The name `texmf' was chosen for several reasons: it reflects the fact -that the directory contains files pertaining to an entire TeX system -(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and -it is descriptive of a generic installation rather than a particular -implementation. - - A site may choose to have more than one TDS hierarchy installed (for -example, when installing an upgrade). This is perfectly legitimate. - - -File: tds.info, Node: Local additions, Next: Duplicate filenames, Prev: Rooting the tree, Up: General - -2.3 Local additions -=================== - -The TDS cannot specify precisely when a package is or is not a "local -addition". Each site must determine this according to its own -conventions. At the two extremes, one site might wish to consider -"nonlocal" all files not acquired as part of the installed TeX -distribution; another site might consider "local" only those files that -were actually developed at the local site and not distributed elsewhere. - - We recognize two common methods for local additions to a distributed -`texmf' tree. Both have their place; in fact, some sites employ both -simultaneously: - - 1. A completely separate tree which is a TDS structure itself; for - example, `/usr/local/umbtex' at the University of Massachusetts at - Boston. This is another example of the multiple `texmf' - hierarchies mentioned in the previous section. - - 2. A directory named `local' at any appropriate level, for example, - in the `FORMAT', `PACKAGE', and `SUPPLIER' directories discussed - in the following sections. The TDS reserves the directory name - `local' for this purpose. - - We recommend using `local' for site-adapted configuration files, - such as `language.dat' for the Babel package or `graphics.cfg' for - the graphics package. Unmodified configuration files from a - package should remain in the package directory. The intent is to - separate locally modified or created files from distribution - files, to ease installing new releases. - - - One common case of local additions is dynamically generated files, -e.g., PK fonts by the `mktexpk' script (which originated in Dvips as -`MakeTeXPK'). A site may store the generated files directly in any of: - * their standard location in the main TDS tree (if it can be made - globally writable); - - * an alternative location in the main TDS tree (for example, under - `texmf/fonts/tmp'); - - * a second complete TDS tree (as outlined above); - - * any other convenient directory (perhaps under `/var', for example - `/var/spool/fonts'). - - - No one solution will be appropriate for all sites. - - -File: tds.info, Node: Duplicate filenames, Prev: Local additions, Up: General - -2.4 Duplicate filenames -======================= - -Different files by the same name may exist in a TDS tree. The TDS -generally leaves unspecified which of two files by the same name in a -search path will be found, so generally the only way to reliably find a -given file is for it to have a unique name. However, the TDS requires -implementations to support the following exceptions: - - * Names of TeX input files must be unique within each first-level - subdirectory of `texmf/tex' and `texmf/tex/generic', but not - within all of `texmf/tex'; i.e., different TeX formats may have - files by the same name. (Section *Note Macros:: discusses this - further.) Thus, no single format-independent path specification, - such as a recursive search beginning at `texmf/tex' specifying no - other directories, suffices. So implementations must provide - format-dependent path specifications, for example via wrapper - scripts or configuration files. - - * Many font files will have the same name (e.g., `cmr10.pk'), as - discussed in Section *Note Valid font bitmaps::. Implementations - must distinguish these files by mode and resolution. - - - All implementations we know of already have these capabilities. - - One place where duplicate names are likely to occur is not an -exception: - - * Names of Metafont input files (as opposed to bitmaps) must be - unique within all of `texmf/fonts'. In practice, this is a problem - with some variants of Computer Modern which contain slightly - modified files named `punct.mf', `romanl.mf', and so on. We - believe the only feasible solution is to rename the derivative - files to be unique. - - - -File: tds.info, Node: Top-level directories, Next: Summary, Prev: General, Up: Top - -3 Top-level directories -*********************** - -The directories under the `texmf' root identify the major components of -a TeX system (see Section *Note Summary:: for a summary). A site may -omit any unneeded directories. - - Although the TDS by its nature can specify precise locations only -for implementation-independent files, we recognize that installers may -well wish to place other files under `texmf' to simplify administration -of the TeX tree, especially if it is maintained by someone other than -the system administrator. Therefore, additional top-level directories -may be present. - - The top-level directories specified by the TDS are: - - * `tex' for TeX files (Section *Note Macros::). - - * `fonts' for font-related files (Section *Note Fonts::). - - * `metafont' for Metafont files which are not fonts (Section *Note - Non-font Metafont files::). - - * `metapost' for MetaPost files (Section *Note MetaPost::). - - * `bibtex' for BibTeX files (Section *Note BibTeX::). - - * `scripts' for platform-independent executables (Section *Note - Scripts::). - - * `doc' for user documentation (Section *Note Documentation::). - - * `source' for sources. This includes both traditional program - sources (for example, Web2C sources go in `texmf/source/web2c') - and, e.g., LaTeX `dtx' sources (which go in `texmf/source/latex'). - The TDS leaves unspecified any structure under `source'. - - `source' is intended for files which are not needed at runtime by - any TeX program; it should not be included in any search path. For - example, `plain.tex' does not belong under `texmf/source', even - though it is a "source file" in the sense of not being derived - from another file. (It goes in `texmf/tex/plain/base', as explained - in Section *Note Macros::). - - * `IMPLEMENTATION' for implementations (examples: `emtex', `vtex', - `web2c'), to be used for whatever purpose deemed suitable by the - implementor or TeX administrator. That is, files that cannot be - shared between implementations, such as pool files (`tex.pool') - and memory dump files (`plain.fmt') go here, in addition to - implementation-wide configuration files. See Section *Note - Example implementation-specific trees:: for examples of real - `IMPLEMENTATION' trees. - - Such implementation-specific configuration files should _not_ be - located using the main TeX input search path (e.g., `TEXINPUTS'). - This must be reserved for files actually read by a TeX engine. - See Section *Note Extensions::. - - * `PROGRAM' for program-specific input and configuration files for - any TeX-related programs (examples: `mft', `dvips'). In fact, the - `tex', `metafont', `metapost', and `bibtex' items above may all be - seen as instances of this case. - - -* Menu: - -* Macros:: -* Fonts:: -* Non-font Metafont files:: -* MetaPost:: -* BibTeX:: -* Scripts:: -* Documentation:: - - -File: tds.info, Node: Macros, Next: Fonts, Up: Top-level directories - -3.1 Macros -========== - -TeX macro files shall be stored in separate directories, segregated by -TeX format and package name (we use `format' in its traditional TeX -sense to mean a usefully `\dump'-able package): - texmf/tex/FORMAT/PACKAGE/ - - * `FORMAT' is a format name (examples: `amstex', `latex', `plain', - `texinfo'). - - The TDS allows distributions that can be used as either formats or - packages (e.g., Texinfo, Eplain) to be stored at either level, at - the option of the format author or TeX administrator. We recommend - that packages used as formats at a particular site be stored at the - `FORMAT' level: by adjusting the TeX inputs search path, it will - be straightforward to use them as macro packages under another - format, whereas placing them in another tree completely obscures - their use as a format. - - The TDS reserves the following `FORMAT' names: - - * `generic', for input files that are useful across a wide - range of formats (examples: `null.tex', `path.sty'). - Generally, this means any format that uses the category codes - of Plain TeX and does not rely on any particular format. - This is in contrast to those files which are useful only with - Plain TeX (which go under `texmf/tex/plain'), e.g., - `testfont.tex' and `plain.tex' itself. - - * `local', for local additions. See Section *Note Local - additions::. - - - Thus, for almost every format, it is necessary to search at least - the `FORMAT' directory and then the `generic' directory (in that - order). Other directories may need to be searched as well, - depending on the format. When using AMS-TeX, for example, the - `amstex', `plain', and `generic' directories should be searched, - because AMS-TeX is compatible with Plain. - - * `PACKAGE' is a TeX package name (examples: `babel', `texdraw'). - - In the case where a format consists of only a single file and has - no auxiliary packages, that file can simply be placed in the - `FORMAT' directory, instead of `FORMAT/base'. For example, - Texinfo may go in `texmf/tex/texinfo/texinfo.tex', not - `texmf/tex/texinfo/base/texinfo.tex'. - - The TDS reserves the following `PACKAGE' names: - - * `base', for the base distribution of each format, including - files used by INITEX when dumping format files. For example, - in the standard LaTeX distribution, the `ltx' files created - during the build process. Another example: the `.ini' driver - files for formats used by TeX Live and other distributions. - - * `hyphen', for hyphenation patterns, including the original - American English `hyphen.tex'. These are typically used only - by INITEX. In most situations, this directory need exist - only under the `generic' format. - - * `images', for image input files, such as Encapsulated - PostScript figures. Although it is somewhat non-intuitive for - these to be under a directory named `tex', TeX needs to read - these files to glean bounding box or other information. A - mechanism for sharing image inputs between TeX and other - typesetting programs (e.g., Interleaf, FrameMaker) is beyond - the scope of the TDS. In most situations, this directory need - exist only under the `generic' format. - - * `local', for local additions and configuration files. See - Section *Note Local additions::. - - * `misc', for packages that consist of a single file. An - administrator or package maintainer may create directories for - single-file packages at their discretion, instead of using - `misc'. - - - -* Menu: - -* Extensions:: - - -File: tds.info, Node: Extensions, Up: Macros - -3.1.1 Extensions ----------------- - -TeX has spawned many companion and successor programs ("engines"), such -as PDFTeX, Omega, and others. The TDS specifies that the input files -for such programs (using a TeX-like syntax) be placed within the -top-level `tex' directory, either at the top level or within a format -subdirectory, even though the original TeX program may not be able to -read them. For example: - - texmf/tex/aleph - texmf/tex/enctex - - This is a change from TDS 1.0, which specified top-level `EXTENSION' -directories for each such program. We felt the new approach is -preferable, because: - - * Authors of relevant packages typically make their code detect the - engine being used, and issue error messages or adapt to - circumstances appropriately. Furthermore, as a package matures, - it may support multiple engines. Thus, a package could - conceivably be placed in any of several top-level directories, at - different times. Putting all packages under the top-level `tex' - directory provides a stable location over time. - - * Users need to be able to switch between engines, and configuring - different search paths for each engine is difficult and - error-prone. - - - Thus, in practice, having different top-level directories caused -difficulties for everyone involved--users, package authors, site -administrators, and system distributors. - - Please contrast this approach with the `IMPLEMENTATION' top-level -subdirectory (Section *Note Top-level directories::), which is to be -used for configuration files that (presumably) do not use TeX syntax -and in any case should not be found along the main TeX input search -path. - - -File: tds.info, Node: Fonts, Next: Non-font Metafont files, Prev: Macros, Up: Top-level directories - -3.2 Fonts -========= - -Font files are stored in separate directories, segregated by file type, -and then (in most cases) font supplier and typeface. PK and GF files -need additional structure, as detailed in the next section. - - texmf/fonts/TYPE/SUPPLIER/TYPEFACE/ - texmf/fonts/enc,lig,map/SUBPATH/ - - * `TYPE' is the type of font file. The TDS reserves the following - `TYPE' names for common TeX file types: - - * `afm', for Adobe font metrics, and `inf' files. - - * `gf', for generic font bitmap files. - - * `opentype', for OpenType fonts. - - * `pk', for packed bitmap files. - - * `source', for font sources (Metafont files, property lists, - etc.). - - * `tfm', for TeX font metric files. - - * `truetype', for TrueType fonts. - - * `type1', for PostScript Type 1 fonts (in `pfa', `pfb', - or any other format), and `pfm' files. - - * `type3', for PostScript Type 3 fonts. - - * `vf', for virtual fonts. - - The TDS also reserves the names `enc', `lig', and `map' for font - encoding, ligature, and mapping files, respectively. All of these - directories are structured the same way, with `SYNTAX' - subdirectories, and then `PACKAGE' subsubdirectories. Each of - these file types is intended to be searched along its own - recursively-searched path. The names of the actual files must be - unique within their subtree, as usual. Examples: - fonts/map/dvipdfm/updmap/dvipdfm.map - fonts/map/dvips/lm/lm.map - fonts/enc/dvips/base/8r.enc - - The Fontname and Dvips packages have more examples of the `enc' and - `map' types. The `afm2pl' program uses `lig' files. - - `pfm' files are included in the `type1' directory, instead of - being given their own directory, for two reasons: 1) a `.pfm' file - is always an adjunct to a given `.pfb' file; 2) they must be - installed from the same directory for Windows programs other than - TeX to use them. - - `inf' files are included in the `afm' directory, since an `inf' - and `afm' file can be used to generate a `pfm'. (Unfortunately, - Adobe Type Manager and perhaps other software requires that the - `pfb' be in the same directory as `afm' and `inf' for - installation.) - - As usual, a site may omit any of these directories that are - unnecessary. `gf' is a particularly likely candidate for omission. - - * `SUPPLIER' is a name identifying font source (examples: `adobe', - `ams', `public'). The TDS reserves the following `SUPPLIER' names: - - * `ams', for the American Mathematical Society's AMS-fonts - collection. - - * `local', for local additions. See Section *Note Local - additions::. - - * `public', for freely redistributable fonts where the supplier - neither (1) requested their own directory (e.g., `ams'), nor - (2) also made proprietary fonts (e.g., `adobe'). It does not - contain all extant freely distributable fonts, nor are all - files therein necessarily strictly public domain. - - * `tmp', for dynamically-generated fonts, as is traditional on - some systems. It may be omitted if unnecessary, as usual. - - - * `TYPEFACE' is the name of a typeface family (examples: `cm', - `euler', `times'). The TDS reserves the following `TYPEFACE' names: - - * `cm' (within `public'), for the 75 fonts defined in - `Computers and Typesetting, Volume E'. - - * `latex' (within `public'), for those fonts distributed with - LaTeX in the base distribution. - - * `local', for local additions. See Section *Note Local - additions::. - - - - Some concrete examples: - texmf/fonts/source/public/pandora/pnr10.mf - texmf/fonts/tfm/public/cm/cmr10.tfm - texmf/fonts/type1/adobe/utopia/putr.pfa - - For complete supplier and typeface name lists, consult `Filenames -for TeX fonts' (see Appendix *Note Related references::). - -* Menu: - -* Font bitmaps:: -* Valid font bitmaps:: - - -File: tds.info, Node: Font bitmaps, Next: Valid font bitmaps, Up: Fonts - -3.2.1 Font bitmaps ------------------- - -Font bitmap files require two characteristics in addition to the above -to be uniquely identifiable: (1) the type of device (i.e., mode) for -which the font was created; (2) the resolution of the bitmap. - - Following common practice, the TDS segregates fonts with different -device types into separate directories. See `modes.mf' in -Appendix *Note Related references:: for recommended mode names. - - Some printers operate at more than one resolution (e.g., at 300dpi -and 600dpi), but each such resolution will necessarily have a different -mode name. Nothing further is needed, since implicit in the TeX system -is the assumption of a single target resolution. - - Two naming strategies are commonly used to identify the resolution of -bitmap font files. On systems that allow long filenames (and in the -original Metafont program itself), the resolution is included in the -filename (e.g., `cmr10.300pk'). On systems which do not support long -filenames, fonts are generally segregated into directories by -resolution (e.g., `dpi300/cmr10.pk'). - - Because the TDS cannot require long filenames, we must use the -latter scheme for naming fonts. So we have two more subdirectory levels -under `pk' and `gf': - - texmf/fonts/pk/MODE/SUPPLIER/TYPEFACE/dpiNNN/ - texmf/fonts/gf/MODE/SUPPLIER/TYPEFACE/dpiNNN/ - - * `MODE' is a name which identifies the device type (examples: `cx', - `ljfour', `modeless'). Usually, this is the name of the Metafont - mode used to build the PK file. For fonts rendered as bitmaps by - a program that does not distinguish between different output - devices, the `MODE' name shall be simply `modeless'. The `MODE' - level shall not be omitted, even if only a single mode happens to - be in use. - - * `dpiNNN' specifies the resolution of the font (examples: `dpi300', - `dpi329'). `dpi' stands for dots per inch, i.e., pixels per inch. - We recognize that pixels per millimeter is used in many parts of - the world, but dpi is too traditional in the TeX world to consider - changing now. - - The integer `NNN' is to be calculated as if using Metafont - arithmetic and then rounded; i.e., it is the integer Metafont uses - in its output `gf' filename. We recognize small differences in the - resolution are a common cause of frustration among users, however, - and recommend implementors follow the level 0 DVI driver standard - (see Appendix *Note Related references::) in bitmap font searches - by allowing a fuzz of +-0.2% (with a minimum of 1) in the `DPI'. - - - Implementations may provide extensions to the basic naming scheme, -such as long filenames (as in the original Metafont) and font library -files (as in emTeX's `.fli' files), provided that the basic scheme is -also supported. - - -File: tds.info, Node: Valid font bitmaps, Prev: Font bitmaps, Up: Fonts - -3.2.2 Valid font bitmaps ------------------------- - -The TWG recognizes that the use of short filenames has many -disadvantages. The most vexing is that it results in the creation of -dozens of different files with the same name. At a typical site, -`cmr10.pk' will be the filename for Computer Modern Roman 10pt at 5-10 -magnifications for 2-3 modes. (Section *Note Duplicate filenames:: -discusses duplicate filenames in general.) - - To minimize this problem, we strongly recommend that PK files -contain enough information to identify precisely how they were created: -at least the mode, base resolution, and magnification used to create the -font. - - This information is easy to supply: a simple addition to the local -modes used for building the fonts with Metafont will automatically -provide the required information. If you have been using a local modes -file derived from (or that is simply) `modes.mf' (see Appendix *Note -Related references::), the required information is already in your PK -files. If not, a simple addition based on the code found in `modes.mf' -can be made to your local modes file and the PK files rebuilt. - - -File: tds.info, Node: Non-font Metafont files, Next: MetaPost, Prev: Fonts, Up: Top-level directories - -3.3 Non-font Metafont files -=========================== - -Most Metafont input files are font programs or parts of font programs -and are thus covered by the previous section. However, a few non-font -input files do exist. Such files shall be stored in: - - texmf/metafont/PACKAGE/ - - `PACKAGE' is the name of a Metafont package (for example, `mfpic'). - - The TDS reserves the following `PACKAGE' names: - - * `base', for the standard Metafont macro files as described in `The - Metafontbook', such as `plain.mf' and `expr.mf'. - - * `local', for local additions. See Section *Note Local additions::. - - * `misc', for Metafont packages consisting of only a single file - (for example, `modes.mf'). An administrator or package maintainer - may create directories for single-file packages at their - discretion, instead of using `misc'. - - - -File: tds.info, Node: MetaPost, Next: BibTeX, Prev: Non-font Metafont files, Up: Top-level directories - -3.4 MetaPost -============ - -MetaPost is a picture-drawing language developed by John Hobby, derived -from Knuth's Metafont. Its primary purpose is to output Encapsulated -PostScript instead of bitmaps. - - MetaPost input files and the support files for MetaPost-related -utilities shall be stored in: - - texmf/metapost/PACKAGE/ - - `PACKAGE' is the name of a MetaPost package. At the present writing -none exist, but the TWG thought it prudent to leave room for -contributed packages that might be written in the future. - - The TDS reserves the following `PACKAGE' names: - - * `base', for the standard MetaPost macro files, such as `plain.mp', - `mfplain.mp', `boxes.mp', and `graph.mp'. This includes files - used by INIMP when dumping mem files containing preloaded macro - definitions. - - * `local', for local additions. See Section *Note Local additions::. - - * `misc', for MetaPost packages consisting of only a single file. - An administrator or package maintainer may create directories for - single-file packages at their discretion, instead of using `misc'. - - * `support', for additional input files required by MetaPost utility - programs, including a font map, a character adjustment table, and - a subdirectory containing low-level MetaPost programs for rendering - some special characters. - - - -File: tds.info, Node: BibTeX, Next: Scripts, Prev: MetaPost, Up: Top-level directories - -3.5 BibTeX -========== - -BibTeX-related files shall be stored in: - - texmf/bibtex/bib/PACKAGE/ - texmf/bibtex/bst/PACKAGE/ - - The `bib' directory is for BibTeX database (`.bib') files, the `bst' -directory for style (`.bst') files. - - `PACKAGE' is the name of a BibTeX package. The TDS reserves the -following `PACKAGE' names (the same names are reserved under both `bib' -and `bst'): - - * `base', for the standard BibTeX databases and styles, such as - `xampl.bib', `plain.bst'. - - * `local', for local additions. See Section *Note Local additions::. - - * `misc', for BibTeX packages consisting of only a single file. An - administrator or package maintainer may create directories for - single-file packages at their discretion, instead of using `misc'. - - - -File: tds.info, Node: Scripts, Next: Documentation, Prev: BibTeX, Up: Top-level directories - -3.6 Scripts -=========== - -The top-level `scripts' directory is for platform-independent -executables, such as Perl, Python, and shell scripts, and Java class -files. Subdirectories under `scripts' are package names. This eases -creating distributions, by providing a common place for such -platform-independent programs. - - The intent is not for all such directories to be added to a user's -command search path, which would be quite impractical. Rather, these -executables are primarily for the benefit of wrapper scripts in whatever -executable directory a distribution may provide (which is not specified -by the TDS). - - Truly auxiliary scripts which are invoked directly by other programs, -rather than wrapper scripts, may also be placed here. That is, -`scripts' also serves as a platform-independent analog of the standard -Unix `libexec' directory. - - We recommend using extensions specifying the language (such as -`.pl', `.py', `.sh') on these files, to help uniquely identify the -name. Since the intent of the TDS is for programs in `scripts' not to -be invoked directly by users, this poses no inconvenience. - - For example, in the TeX Live distribution, the ConTeXt user-level -program `texexec' can exist as a small wrapper script in each -`bin/PLATFORM/texexec' (which is outside the `texmf' tree), which -merely finds and calls `texmf/scripts/context/perl/texexec.pl'. - - Examples: - scripts/context/perl/texexec.pl - scripts/context/ruby/examplex.rb - scripts/thumbpdf/thumbpdf.pl - - The TDS does not specify a location for platform-dependent binary -executables, whether auxiliary or user-level. - - -File: tds.info, Node: Documentation, Prev: Scripts, Up: Top-level directories - -3.7 Documentation -================= - -Most packages come with some form of documentation: user manuals, -example files, programming guides, etc. In addition, many independent -files not part of any macro or other package have been created to -describe various aspects of the TeX system. - - The TDS specifies that these additional documentation files shall be -stored in a structure that parallels to some extent the `fonts' and -`tex' directories, as follows: - - texmf/doc/CATEGORY/... - - `CATEGORY' identifies the general topic of documentation that -resides below it; for example, a TeX format name (`latex'), program -name (`bibtex', `tex'), language (`french', `german'), a file format -(`info', `man'), or other system components (`web', `fonts'). - - One possible arrangement is to organize `doc' by language, with all -the other category types below that. This helps users find -documentation in the language(s) in which they are fluent. Neither this -nor any other particular arrangement is required, however. - - Within each `CATEGORY' tree for a TeX format, the directory `base' -is reserved for base documentation distributed by the format's -maintainers. - - The TDS reserves the following category names: - - * `general', for standalone documents not specific to any particular - program (for example, Joachim Schrod's `Components of TeX'). - - * `help', for meta-information, such as FAQ's, the TeX Catalogue, - etc. - - * `info', for processed Texinfo documents. (Info files, like - anything else, may also be stored outside the TDS, at the - installer's option.) - - * `local', for local additions. See Section *Note Local additions::. - - - The `doc' directory is intended for implementation-independent and -operating system-independent documentation files. -Implementation-dependent files are best stored elsewhere, as provided -for by the implementation and/or TeX administrator (for example, VMS -help files under `texmf/vms/help'). - - The documentation directories may contain TeX sources, DVI files, -PostScript files, text files, example input files, or any other useful -documentation format(s). - - See Section *Note Documentation tree summary:: for a summary. - - -File: tds.info, Node: Summary, Next: Unspecified pieces, Prev: Top-level directories, Up: Top - -4 Summary -********* - -A skeleton of a TDS `texmf' directory tree. This is not to imply these -are the only entries allowed. For example, `local' may occur at any -level. - - bibtex/ BibTeX input files - bib/ BibTeX databases - base/ base distribution (e.g., `xampl.bib') - misc/ single-file databases - / name of a package - bst/ BibTeX style files - base/ base distribution (e.g., `plain.bst', `acm.bst') - misc/ single-file styles - / name of a package - doc/ see Section *Note Documentation:: and the summary below - fonts/ font-related files - / file type (e.g., `pk') - / type of output device (for `pk' and `gf' only) - / name of a font supplier (e.g., `public') - / name of a typeface (e.g., `cm') - dpi/ font resolution (for `pk' and `gf' only) - / TeX implementations, by name (e.g., `emtex') - local/ files created or modified at the local site - metafont/ Metafont (non-font) input files - base/ base distribution (e.g., `plain.mf') - misc/ single-file packages (e.g., `modes.mf') - / name of a package (e.g., `mfpic') - metapost/ MetaPost input and support files - base/ base distribution (e.g., `plain.mp') - misc/ single-file packages - / name of a package - support/ support files for MetaPost-related utilities - mft/ `MFT' inputs (e.g., `plain.mft') - / TeX-related programs, by name (e.g., `dvips') - source/ program source code by name (e.g., `latex', `web2c') - tex/ TeX input files - / name of an engine (e.g., `aleph'); can also be lower - / name of a format (e.g., `plain') - base/ base distribution for format (e.g., `plain.tex') - misc/ single-file packages (e.g., `webmac.tex') - local/ local additions to or local configuration files for `FORMAT' - / name of a package (e.g., `graphics', `mfnfss') - generic/ format-independent packages - hyphen/ hyphenation patterns (e.g., `hyphen.tex') - images/ image input files (e.g., Encapsulated PostScript) - misc/ single-file format-independent packages (e.g., `null.tex'). - / name of a package (e.g., `babel') - -* Menu: - -* Documentation tree summary:: - - -File: tds.info, Node: Documentation tree summary, Up: Summary - -4.1 Documentation tree summary -============================== - -An example skeleton of a TDS directory tree under `texmf/doc'. This is -not to imply these are the only entries allowed, or that this structure -must be followed precisely for the entries listed. - - As mentioned, the `texmf/doc' tree may be organized by language, so -that all documentation in French, say, is in a `french' subdirectory. -In that case, the example structure here would be in a given language -directory. - - ams/ - amsfonts/ `amsfonts.faq', `amfndoc' - amslatex/ `amslatex.faq', `amsldoc' - amstex/ `amsguide', `joyerr' - bibtex/ BibTeX - base/ `btxdoc.tex' - fonts/ - fontname/ `Filenames for TeX fonts' - oldgerm/ `corkpapr' - / name of a TeX format (e.g., `generic', `latex') - base/ for the base distribution - misc/ for contributed single-file package documentation - / for _package_ - general/ across programs, generalities - errata/ `errata', `errata[1-8]' - texcomp/ `Components of TeX' - help/ meta-information - ctan/ info about CTAN mirror sites - faq/ FAQs of `comp.text.tex', etc. - info/ GNU Info files, made from Texinfo sources - latex/ example of `FORMAT' - base/ `ltnews*', `*guide', etc. - graphics/ `grfguide' - local/ site-specific documentation - man/ Unix man pages - / TeX-related programs, by name (examples follow) - metafont/ `mfbook.tex', `metafont-for-beginners', etc. - metapost/ `mpman', `manfig', etc. - tex/ `texbook.tex', `A Gentle Introduction to TeX', etc. - web/ `webman', `cwebman' - - -File: tds.info, Node: Unspecified pieces, Next: Implementation issues, Prev: Summary, Up: Top - -Appendix A Unspecified pieces -***************************** - -The TDS cannot address the following aspects of a functioning TeX -system: - - 1. The location of executable programs: this is too site-dependent - even to recommend a location, let alone require one. A site may - place executables outside the `texmf' tree altogether (e.g., - `/usr/local/bin'), in a platform-dependent directory within - `texmf', or elsewhere. - - 2. Upgrading packages when new releases are made: we could find no - way of introducing version specifiers into `texmf' that would do - more good than harm, or that would be practical for even a - plurality of installations. - - 3. The location of implementation-specific files (e.g., TeX `.fmt' - files): by their nature, these must be left to the implementor or - TeX maintainer. See Section *Note Example implementation-specific - trees::. - - 4. Precisely when a package or file should be considered "local", and - where such local files are installed. See Section *Note Local - additions:: for more discussion. - - -* Menu: - -* Portable filenames:: - - -File: tds.info, Node: Portable filenames, Up: Unspecified pieces - -A.1 Portable filenames -====================== - -The TDS cannot require any particular restriction on filenames in the -tree, since the names of many existing TeX files conform to no standard -scheme. For the benefit of people who wish to make a portable TeX -distribution or installation, however, we outline here the necessary -restrictions. The TDS specifications themselves are compatible with -these. - - ISO-9660 is the only universally acceptable file system format for -CD-ROMs. A subset thereof meets the stringent limitations of all -operating systems in use today. It specifies the following: - - * File and directory names, not including any directory path or - extension part, may not exceed eight characters. - - * Filenames may have a single extension. Extensions may not exceed - three characters. Directory names may not have an extension. - - * Names and extensions may consist of _only_ the characters `A'-`Z', - `0'-`9', and underscore. Lowercase letters are excluded. - - * A period separates the filename from the extension and is always - present, even if the name or extension is missing (e.g., - `FILENAME.' or `.EXT'). - - * A version number, ranging from 1-32767, is appended to the file - extension, separated by a semicolon (e.g., `FILENAME.EXT;1'). - - * Only eight directory levels are allowed, including the top-level - (mounted) directory (see Section *Note Rooting the tree::). Thus, - the deepest valid ISO-9660 path is: - texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1 - 1 2 3 4 5 6 7 8 - The deepest TDS path needs only seven levels: - texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk - 1 2 3 4 5 6 7 - - - Some systems display a modified format of ISO-9660 names, mapping -alphabetic characters to lowercase, removing version numbers and -trailing periods, etc. - - Before the December 1996 release, LaTeX used mixed-case names for -font descriptor files. Fortunately, it never relied on case alone to -distinguish among the files. Nowadays, it uses only monocase names. - - -File: tds.info, Node: Implementation issues, Next: Is there a better way?, Prev: Unspecified pieces, Up: Top - -Appendix B Implementation issues -******************************** - -We believe that the TDS can bring a great deal of order to the current -anarchic state of many TeX installations. In addition, by providing a -common frame of reference, it will ease the burden of documenting -administrative tasks. Finally, it is a necessary part of any -reasonable system of true "drop-in" distribution packages for TeX. - -* Menu: - -* Adoption of the TDS:: -* More on subdirectory searching:: -* Example implementation-specific trees:: - - -File: tds.info, Node: Adoption of the TDS, Next: More on subdirectory searching, Up: Implementation issues - -B.1 Adoption of the TDS -======================= - -[This section is retained for historical purposes; the TDS is now quite -firmly entrenched in most TeX distributions.] - - We recognize that adoption of the TDS will not be immediate or -universal. Most TeX administrators will not be inclined to make the -final switch until: - - * Clear and demonstrable benefits can be shown for the TDS. - - * TDS-compliant versions of all key programs are available in - ported, well-tested forms. - - * A "settling" period has taken place, to flush out problems. The - public release of the first draft of this document was the first - step in this process. - - Consequently, most of the first trials of the TDS will be made by -members of the TDS committee and/or developers of TeX-related software. -This has already taken place during the course of our deliberations -(see Appendix *Note Related references:: for a sample tree available -electronically). They will certainly result in the production of a -substantial number of TDS-compliant packages. Indeed, the teTeX and -TeX Live distributions are TDS-compliant and in use now at many sites. - - Once installable forms of key TDS-compliant packages are more -widespread, some TeX administrators will set up TDS-compliant trees, -possibly in parallel to existing production directories. This testing -will likely flush out problems that were not obvious in the confined -settings of the developers' sites; for example, it should help to -resolve system and package dependencies, package interdependencies, and -other details not addressed by this TDS version. - - After most of the dust has settled, hopefully even conservative TeX -administrators will begin to adopt the TDS. Eventually, most TeX sites -will have adopted the common structure, and most packages will be -readily available in TDS-compliant form. - - We believe that this process will occur relatively quickly. The TDS -committee spans a wide range of interests in the TeX community. -Consequently, we believe that most of the key issues involved in -defining a workable TDS definition have been covered, often in detail. -TeX developers have been consulted about implementation issues, and -have been trying out the TDS arrangement. Thus, we hope for few -surprises as implementations mature. - - Finally, there are several (current or prospective) publishers of TeX -CD-ROMs. These publishers are highly motivated to work out details of -TDS implementation, and their products will provide inexpensive and -convenient ways for experimentally-minded TeX administrators to -experiment with the TDS. - - -File: tds.info, Node: More on subdirectory searching, Next: Example implementation-specific trees, Prev: Adoption of the TDS, Up: Implementation issues - -B.2 More on subdirectory searching -================================== - -Recursive subdirectory searching is the ability to specify a search not -only of a specified directory `D', but recursively of all directories -below `D'. - - Since the TDS specifies precise locations for most files, with no -extra levels of subdirectories allowed, true recursive searching is not -actually required for a TDS-compliant implementation. We do, however, -strongly recommend recursive searching as the most user-friendly and -natural approach to the problem, rather than convoluted methods to -specify paths without recursion. - - This feature is already supported by many implementations of TeX and -companion utilities, for example DECUS TeX for VMS, Dvips(k), emTeX -(and its drivers), PubliC TeX, Web2C, Xdvi(k), and Y&YTeX. The -Kpathsea library is a reusable implementation of subdirectory searching -for TeX, used in a number of the above programs. - - Even if your TeX implementation does not directly support -subdirectory searching, you may find it useful to adopt the structure if -you do not use many fonts or packages. For instance, if you only use -Computer Modern and AMS fonts, it would be feasible to store them in -the TDS layout and list the directories individually in configuration -files or environment variables. - - The TWG recognizes that subdirectory searching places an extra -burden on the system and may be the source of performance bottlenecks, -particularly on slower machines. Nevertheless, we feel that -subdirectory searching is imperative for a well-organized TDS, for the -reasons stated in Section *Note Subdirectory searching::. Implementors -are encouraged to provide enhancements to the basic principle of -subdirectory searching to avoid performance problems, e.g., the use of -a filename cache (this can be as simple as a recursive directory -listing) that is consulted before disk searching begins. If a match is -found in the database, subdirectory searching is not required, and -performance is thus independent of the number of subdirectories present -on the system. - - Different implementations specify subdirectory searching differently. -In the interest of typographic clarity, the examples here do not use the -`REPLACEABLE' font. - - * Dvips: via a separate `TEXFONTS_SUBDIR' environment variable. - - * emTeX: `t:\subdir!!'; `t:\subdir!' for a single level of searching. - - * Kpathsea: `texmf/subdir//' - - * VMS: `texmf:[subdir...]' - - * Xdvi (patchlevel 20): `texmf/subdir/**'; `texmf/subdir/*' for a - single level of searching. Version 20.50 and above support the - `//' notation. - - * Y&Y TeX: `t:/subdir//' or `t:\subdir\\'. - - - -File: tds.info, Node: Example implementation-specific trees, Prev: More on subdirectory searching, Up: Implementation issues - -B.3 Example implementation-specific trees -========================================= - -The TDS cannot specify a precise location for implementation-specific -files, such as `texmf/ini', because a site may have multiple TeX -implementations. - - Nevertheless, for informative purposes, we provide here the default -locations for some implementations. Please contact us with additions or -corrections. These paths are not definitive, may not match anything at -your site, and may change without warning. - - We recommend all implementations have default search paths that start -with the current directory (e.g., `.'). Allowing users to include the -parent directory (e.g., `..') is also helpful. - -* Menu: - -* AmiWeb2c 2.0:: -* Public DECUS TeX:: -* Web2c 7:: - - -File: tds.info, Node: AmiWeb2c 2.0, Next: Public DECUS TeX, Up: Example implementation-specific trees - -B.3.1 AmiWeb2c 2.0 ------------------- - -(Email to contact the maintainer of -this implementation.) - - AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible -extent, so only the very few differences are described in this section. -Detailed information about the basic concepts is given in the section -for Web2c 7 below. - - Thanks to the `SELFAUTO' mechanism of Kpathsea 3.0 no specific -location for the installation of AmiWeb2c is required as long as the -general structure of the distribution is preserved. - - In addition to Kpathsea's `//' notation recursive path search may -also be started by `DEVICE:/', e.g., `TeXMF:/' will scan this specific -device completely. - - Binaries coming with the AmiWeb2c distribution are installed in the -directory `bin/amiweb2c/' outside the common TDS tree `share/texmf/'. -In addition to the set of AmiWeb2c binaries you will find two -subdirectories `local/' and `pastex/' with auxiliary programs. - - A stripped version of the PasTeX system (used by kind permission of -Georg Hessmann) is coming with AmiWeb2c, pre-installed in its own -`share/texmf/amiweb2c/pastex/' directory. If you want to use PasTeX -you have to `assign' the name `TeX:' to this place. - - Documentation files in AmigaGuide format should be stored at -`doc/guide/' similar to `doc/info/'. - - -File: tds.info, Node: Public DECUS TeX, Next: Web2c 7, Prev: AmiWeb2c 2.0, Up: Example implementation-specific trees - -B.3.2 Public DECUS TeX ----------------------- - -If another VMS implementation besides Public DECUS TeX appears, the top -level implementation directory name will be modified to something more -specific (e.g., `vms_decus'). - - texmf/ - vms/ VMS implementation specific files - exe/ end-user commands - common/ command procedures, command definition files, etc. - axp/ binary executables for Alpha AXP - vax/ binary executables for VAX - formats/ pool files, formats, bases - help/ VMS help library, and miscellaneous help sources - mgr/ command procedures, programs, docs, etc., for system management - - -File: tds.info, Node: Web2c 7, Prev: Public DECUS TeX, Up: Example implementation-specific trees - -B.3.3 Web2c 7 -------------- - -All implementation-dependent TeX system files (`.pool', `.fmt', -`.base', `.mem') are stored by default directly in `texmf/web2c'. The -configuration file `texmf.cnf' and various subsidiary `MakeTeX...' -scripts used as subroutines are also stored there. - - Non-TeX specific files are stored following the GNU coding -standards. Given a root directory `PREFIX' (`/usr/local' by default), -we have default locations as follows: - - / installation root (`/usr/local' by default) - bin/ executables - man/ man pages - info/ info files - lib/ libraries (`libkpathsea.*') - share/ architecture-independent files - texmf/ TDS root - web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.) - - See `http://www.gnu.org/prep/standards_toc.html' for the rationale -behind and descriptions of this arrangement. A site may of course -override these defaults; for example, it may put everything under a -single directory such as `/usr/local/texmf'. - - -File: tds.info, Node: Is there a better way?, Next: Related references, Prev: Implementation issues, Up: Top - -Appendix C Is there a better way? -********************************* - -Defining the TDS required many compromises. Both the overall structure -and the details of the individual directories were arrived at by -finding common ground among many opinions. The driving forces were -feasibility (in terms of what could technically be done and what could -reasonably be expected from developers) and regularity (files grouped -together in an arrangement that "made sense"). - - Some interesting ideas could not be applied due to implementations -lacking the necessary support: - - * Path searching control at the TeX level. If documents could - restrict subdirectory searching to a subdirectory via some portable - syntax in file names, restrictions on uniqueness of filenames - could be relaxed considerably (with the cooperation of the - formats), and the TeX search path would not need to depend on the - format. - - * Multiple logical `texmf' trees. For example, a site might have one - (read-only) location for stable files, and a different (writable) - location for dynamically-created fonts or other files. It would be - reasonable for two such trees to be logically merged when - searching. See Michael Downes' article in the references for how - this can work in practice with Web2C. - - -* Menu: - -* Macro structure:: -* Font structure:: -* Documentation structure:: - - -File: tds.info, Node: Macro structure, Next: Font structure, Up: Is there a better way? - -C.1 Macro structure -=================== - -The TWG settled on the `FORMAT/PACKAGE' arrangement after long -discussion about how best to arrange the files. - - The primary alternative to this arrangement was a scheme which -reversed the order of these directories: `PACKAGE/FORMAT'. This -reversed arrangement has a strong appeal: it keeps all of the files -related to a particular package in a single place. The arrangement -actually adopted tends to spread files out into two or three places -(macros, documentation, and fonts, for example, are spread into -different sections of the tree right at the top level). - - Nevertheless, the `FORMAT/PACKAGE' structure won for a couple of -reasons: - - * It is closer to current practice; in fact, several members of the - TWG have already implemented the TDS hierarchy. The alternative - is not in use at any known site, and the TWG felt it wrong to - mandate something with which there is no practical experience. - - * The alternative arrangement increases the number of top-level - directories, so the files that must be found using subdirectory - searching are spread out in a wide, shallow tree. This could have - a profound impact on the efficiency of subdirectory searching. - - - -File: tds.info, Node: Font structure, Next: Documentation structure, Prev: Macro structure, Up: Is there a better way? - -C.2 Font structure -================== - -The TWG struggled more with the font directory structure than anything -else. This is not surprising; the need to use the proliferation of -PostScript fonts with TeX is what made the previous arrangement with -all files in a single directory untenable, and therefore what initiated -the TDS effort. - -* Menu: - -* Font file type location:: -* Mode and resolution location:: -* Modeless bitmaps:: - - -File: tds.info, Node: Font file type location, Next: Mode and resolution location, Up: Font structure - -C.2.1 Font file type location ------------------------------ - -We considered the supplier-first arrangement in use at many sites: - - texmf/fonts/SUPPLIER/TYPEFACE/TYPE/ - - This improves the maintainability of the font tree, since all files -comprising a given typeface are in one place, but unless all the -programs that search this tree employ some form of caching, there are -serious performance concerns. For example, in order to find a `TFM' -file, the simplest implementation would require TeX to search through -all the directories that contain PK files in all modes and at all -resolutions. - - In the end, a poll of developers revealed considerable resistance to -implementing sufficient caching mechanisms, so this arrangement was -abandoned. The TDS arrangement allows the search tree to be restricted -to the correct type of file, at least. Concerns about efficiency -remain, but there seems to be no more we can do without abandoning -subdirectory searching entirely. - - We also considered segregating all font-related files strictly by -file type, so that Metafont sources would be in a directory -`texmf/fonts/mf', property list files in `texmf/fonts/pl', the various -forms of Type 1 fonts separated, and so on. Although more blindly -consistent, we felt that the drawback of more complicated path -constructions outweighed this. The TDS merges file types (`mf' and `pl' -under `source', `pfa' and `pfb' and `gsf' under `type1') where we felt -this was beneficial. - - -File: tds.info, Node: Mode and resolution location, Next: Modeless bitmaps, Prev: Font file type location, Up: Font structure - -C.2.2 Mode and resolution location ----------------------------------- - -We considered having the `mode' at the bottom of the font tree: - texmf/fonts/pk/SUPPLIER/TYPEFACE/MODE/DPI/ - - In this case, however, it is difficult to limit subdirectory -searching to the mode required for a particular device. - - We then considered moving the `dpiNNN' up to below the mode: - texmf/fonts/pk/MODE/DPI/SUPPLIER/TYPEFACE/ - - But then it is not feasible to omit the `dpiNNN' level altogether on -systems which can and do choose to use long filenames. - - -File: tds.info, Node: Modeless bitmaps, Prev: Mode and resolution location, Up: Font structure - -C.2.3 Modeless bitmaps ----------------------- - -The TDS specifies using a single directory `modeless/' as the mode name -for those utilities which generate bitmaps, e.g., -`texmf/fonts/modeless/times/'. This has the considerable advantage of -not requiring each such directory name to be listed in a search path. - - An alternative was to use the utility name below which all such -directories could be gathered. That has the advantage of separating, -say, `gsftopk'-generated bitmaps from `ps2pk'-generated ones. However, -we decided this was not necessary; most sites will use only one program -for the purpose. Also, PK and GF fonts generally identify their -creator in the font comment following the `PK_ID' byte. - - We are making an implicit assumption that Metafont is the only -program producing mode-dependent bitmaps. If this becomes false we -could add an abbreviation for the program to mode names, as in `mfcx' -vs. `xyzcx' for a hypothetical program Xyz, or we could at that time -add an additional program name level uniformly to the tree. It seemed -more important to concisely represent the current situation than to -worry about hypothetical possibilities that may never happen. - - -File: tds.info, Node: Documentation structure, Prev: Font structure, Up: Is there a better way? - -C.3 Documentation structure -=========================== - -We considered placing additional documentation files in the same -directory as the source files for the packages, but we felt that users -should be able to find documentation separately from sources, since most -users have no interest in sources. - - We hope that a separate, but parallel, structure for documentation -would (1) keep the documentation together and (2) make it as -straightforward as possible for users to find the particular -documentation they were after. - - -File: tds.info, Node: Related references, Next: Contributors, Prev: Is there a better way?, Up: Top - -Appendix D Related references -***************************** - -This appendix gives pointers to related files and other documents. For -CTAN references, we use `http://www.ctan.org' as the top-level domain -only to make the links be live in this document. See -`http://www.ctan.org/tex-archive/CTAN.sites' for a complete list of -CTAN sites; there are mirrors worldwide. - - * This document, in many formats (tex, dvi, info, pdf): - `http://tug.org/tds/' - - * The TDS mailing list archives: - `http://tug.org/mail-archives/twg-tds/' - - * The level 0 DVI driver standard: - `http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/' - - * `Filenames for TeX fonts', with lists of recommended supplier and - typeface names: - `http://tug.org/fontname/' - - * ISO-9660 CD-ROM file system standard: - `http://www.iso.ch/cate/cat.html' - - * `Components of TeX', a paper by Joachim Schrod: - `http://www.ctan.org/tex-archive/documentation/components-of-TeX/' - - * `Managing Multiple TDS trees', an article by Michael Downes: - `http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf' - - * A complete set of Metafont modes: - `http://www.ctan.org/tex-archive/fonts/modes/modes.mf' - - * A large collection of BibTeX databases and styles: - `ftp://ftp.math.utah.edu/pub/tex/bib/' - - - -File: tds.info, Node: Contributors, Prev: Related references, Up: Top - -Appendix E Contributors -*********************** - -The TWG has had no physical meetings; electronic mail was the -communication medium. - - Sebastian Rahtz is the TeX Users Group Technical Council liaison. -Norman Walsh was the original committee chair. Karl Berry is the -current editor. - - The list of contributors has grown too large to fairly include, as -some would surely be inadvertently omitted. Please consider the -archives of the and mailing lists as -the record of contributions. - - - -Tag Table: -Node: Top198 -Node: Introduction2185 -Node: History3846 -Node: The role of the TDS4648 -Node: Conventions5508 -Node: General6429 -Node: Subdirectory searching6714 -Node: Rooting the tree8968 -Node: Local additions10080 -Node: Duplicate filenames12293 -Node: Top-level directories14054 -Node: Macros17062 -Node: Extensions20919 -Node: Fonts22645 -Node: Font bitmaps26786 -Node: Valid font bitmaps29674 -Node: Non-font Metafont files30882 -Node: MetaPost31842 -Node: BibTeX33286 -Node: Scripts34155 -Node: Documentation35872 -Node: Summary38145 -Node: Documentation tree summary41031 -Node: Unspecified pieces43056 -Node: Portable filenames44267 -Node: Implementation issues46409 -Node: Adoption of the TDS47041 -Node: More on subdirectory searching49753 -Node: Example implementation-specific trees52568 -Node: AmiWeb2c 2.053447 -Node: Public DECUS TeX54889 -Node: Web2c 755752 -Node: Is there a better way?56974 -Node: Macro structure58480 -Node: Font structure59816 -Node: Font file type location60369 -Node: Mode and resolution location61946 -Node: Modeless bitmaps62625 -Node: Documentation structure63915 -Node: Related references64543 -Node: Contributors65959 - -End Tag Table diff --git a/tds/tds.pdf b/tds/tds.pdf deleted file mode 100644 index bb2a2a46d3..0000000000 Binary files a/tds/tds.pdf and /dev/null differ diff --git a/tds/tds.sed b/tds/tds.sed deleted file mode 100644 index fb7f30f13c..0000000000 --- a/tds/tds.sed +++ /dev/null @@ -1,14 +0,0 @@ -# $Id: tds.sed,v 1.2 2004/06/04 17:11:34 karl Exp $ -# Written by Ulrik Vieth and Karl Berry. -# Public domain. -# -# Things that are too hard to do in Elisp. Run after tds2texi-convert. - -# Indentation blocks in tdsSummary environments. -s/ \./ /g - -# References that are too hard to convert automatically. -s/Table, ref{tab:summary}/@pxref{Summary},/ - -/^Copyright.*Group/a\ -This is version @value{version}. diff --git a/tds/tds.tex b/tds/tds.tex deleted file mode 100644 index 55c1b4ddcc..0000000000 --- a/tds/tds.tex +++ /dev/null @@ -1,1585 +0,0 @@ -%&latex -% $Id: tds.tex,v 1.43 2004/06/23 17:24:42 karl Exp $ -\NeedsTeXFormat{LaTeX2e} % compatibility with 2.09 is too painful -\documentclass{tdsguide} - -\tdsVersion{1.1} - -\title{A Directory Structure for \TeX{} Files} -\author{TUG Working Group on a \TeX{} Directory Structure (TWG-TDS)} - -\begin{document} - -\maketitle - -\begin{legalnotice} - -Copyright {\copyright} 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 -\TeX{} Users Group. - -Permission to use, copy, and distribute this document \emphasis{without -modification} for any purpose and without fee is hereby granted, -provided that this notice appears in all copies. It is provided ``as -is'' without expressed or implied warranty. - -Permission is granted to copy and distribute modified versions of this -document under the conditions for verbatim copying, provided that the -modifications are clearly marked and the document is not represented as -the official one. - -This document is available on any \abbr{ctan} host -(see Appendix~\ref{sec:Related references}). -Please send questions or suggestions by email to -\email|tds@tug.org|. We welcome all comments. This is version -\the\tdsVersion. - -\end{legalnotice} - - -\tableofcontents - - -\newpage -\section{Introduction} - -\TeX{} is a powerful, flexible typesetting system used by many people -around the world. It is extremely portable and runs on virtually all -operating systems. One unfortunate side effect of \TeX{}'s flexibility, -however, is that there has been no single ``right'' way to install it. -This has resulted in many sites having different installed arrangements. - -The primary purpose of this document is to describe a standard \TeX{} -Directory Structure (\abbr{TDS}): a directory hierarchy for macros, -fonts, and the other implementation-independent \TeX{} system files. As -a matter of practicality, this document also suggests ways to -incorporate the rest of the \TeX{} files into a single structure. The -\abbr{TDS} has been designed to work on all modern systems. In -particular, the Technical Working Group (\abbr{TWG}) believes it is usable -under Mac\abbr{OS}, \abbr{ms-dos}, \abbr{os/2}, Unix, \abbr{vms}, and -Windows \abbr{nt}\@. We hope that administrators and developers of both -free and commercial \TeX{} implementations will adopt this standard. - -This document is intended both for the \TeX{} system administrator at a -site and for people preparing \TeX{} distributions---everything from a -complete runnable system to a single macro or style file. It may also -help \TeX{} users find their way around systems organized this way. It -is not a tutorial: we necessarily assume knowledge of the many parts of -a working \TeX{} system. If you are unfamiliar with any of the programs -or file formats we refer to, consult the references in -Appendix~\ref{sec:Related references}. - - -\subsection{History} - -Version 1.0 of the \abbr{TDS} was released in February 2003. - -Version 1.1 was released in June 2004, with the following non-editorial -changes: - -\begin{itemize-squeeze} -\item Inputs for \TeX{} extensions included under \path|tex|, instead - of in their own top-level directories (Section~\ref{sec:Extensions}) -\item New top-level directory \path|scripts| (Section~\ref{sec:Scripts}). -\item New subdirectories \path|lig|, \path|opentype|, - \path|truetype|, and \path|type3| under \path|fonts| - (Section~\ref{sec:Fonts}). -\item \path|enc|, \path|lig|, and \path|map| all use - \replaceable{syntax}\path|/|\replaceable{package} subdirectories - (Section~\ref{sec:Fonts}). -\item \path|pfm| files specified to go under \path|type1|, and - \path|inf| files under \path|afm| (Section~\ref{sec:Fonts}). -\end{itemize-squeeze} - - -\subsection{The role of the \abbr{TDS}} - -The role of the \abbr{TDS} is to stabilize the organization of -\TeX{}-related software packages that are installed and in use, possibly -on multiple platforms simultaneously. - -At first glance, it may seem that the Comprehensive \TeX{} Archive -Network (\abbr{ctan}) fulfills at least part of this role, but this is -not the case. The role of \abbr{ctan} is to simplify archiving and -distribution, not installation and use. - -In fact, the roles of the \abbr{TDS} and \abbr{ctan} are frequently in -conflict, as we will see. For distribution, many different types of -files must be combined into a single unit; for use, it is traditional to -segregate files (even similar files) from a single package into -separate, occasionally distant, directories. - - -\subsection{Conventions} - -In this document, ``\path|/|'' is used to separate filename components; -for example, \path|texmf/fonts|. This is the Unix convention but the -ideas are in no way Unix-specific. - -In this document, ``\TeX{}'' generally means the \TeX{} system, including -\MF{}, \abbr{DVI} drivers, utilities, etc., not just the \TeX{} -program itself. - -The word ``package'' in this document has its usual meaning: a set of -related files distributed, installed, and maintained as a unit. This is -\emphasis{not} a \LaTeXe{} package, which is a style file supplementing -a document class. - -We use the following typographic conventions: - -\begin{description} - -\item[\literal{literal}] Literal text such as \literal{filename} is -typeset in typewriter type. - -\item[\replaceable{replaceable}] Replaceable text such as -\replaceable{package}, identifying a class of things, is typeset in -italics inside angle brackets. - -\end{description} - - -\section{General} - -This section describes common properties throughout the \abbr{TDS} tree. - -\subsection{Subdirectory searching} -\label{sec:Subdirectory searching} - -Older \TeX{} installations store large numbers of related files in single -directories, for example, all \path|TFM| files and\slash or all \TeX{} -input files. - -This monolithic arrangement hinders maintenance of a \TeX{} system: it -is difficult to determine what files are used by what packages, what -files need to be updated when a new version is installed, or what files -should be deleted if a package is removed. It is also a source of error -if two or more packages happen to have input files with the same name. - -Therefore, the \abbr{TWG} felt each package should be in a separate -directory. But we recognized that explicitly listing all directories to -be searched would be unbearable. A site may wish to install dozens of -packages. Aside from anything else, listing that many directories would -produce search paths many thousands of characters long, overflowing the -available space on some systems. - -Also, if all directories are explicitly listed, installing or removing a -new package would mean changing a path as well as installing or removing -the actual files. This would be a time-consuming and error-prone -operation, even with implementations that provide some way to specify -the directories to search at runtime. On systems without runtime -configuration, it would require recompiling software, an intolerable -burden. - -As a result, the \abbr{TWG} concluded that a comprehensive \abbr{TDS} -requires implementations to support some form of implicit subdirectory -searching. More precisely, implementations must make it possible to -specify that \TeX{}, \MF{}, and their companion utilities search in both -a specified directory and recursively through all subdirectories of that -directory when looking for an input file. Other forms of subdirectory -searching, for example recursive-to-one-level searches, may also be -provided. We encourage implementors to provide subdirectory searching -at the option of the installer and user for all paths. - -The \abbr{TDS} does not specify a syntax for specifying recursive -searching, but we encourage implementors to provide interoperability -(see Section~\ref{sec:More on subdirectory searching}). - - -\subsection{Rooting the tree} -\label{sec:Rooting the tree} - -In this document, we shall designate the root \abbr{TDS} directory by -`\texmf{}' (for ``\TeX{} and \MF{}''). We recommend using that name -where possible, but the actual name of the directory is up to the -installer. On \abbr{pc} networks, for example, this could map to a -logical drive specification such as \path|T:|. - -Similarly, the location of this directory on the system is -site-dependent. It may be at the root of the file system; on Unix -systems, \path|/usr/local/share|, \path|/usr/local|, -\path|/usr/local/lib|, and \path|/opt| are common choices. - -The name \texmf{} was chosen for several reasons: it reflects the fact -that the directory contains files pertaining to an entire \TeX{} system -(including \MF{}, \MP{}, \BibTeX{}, etc.), not just \TeX{} itself; and it -is descriptive of a generic installation rather than a particular -implementation. - -A site may choose to have more than one \abbr{TDS} hierarchy installed -(for example, when installing an upgrade). This is perfectly legitimate. - - -\subsection{Local additions} -\label{sec:Local additions} - -The \abbr{TDS} cannot specify precisely when a package is or is not a -``local addition''. Each site must determine this according to its own -conventions. At the two extremes, one site might wish to consider -``nonlocal'' all files not acquired as part of the installed \TeX{} -distribution; another site might consider ``local'' only those files -that were actually developed at the local site and not distributed -elsewhere. - -We recognize two common methods for local additions to a distributed -\texmf{} tree. Both have their place; in fact, some sites employ -both simultaneously: - -\begin{enumerate} - -\item A completely separate tree which is a \abbr{TDS} structure -itself; for example, \path|/usr/local/umbtex| at the University of -Massachusetts at Boston. This is another example of the multiple -\texmf{} hierarchies mentioned in the previous section. - -\item A directory named `\path|local|' at any appropriate level, for -example, in the \replaceable{format}, \replaceable{package}, and -\replaceable{supplier} directories discussed in the following sections. -The \abbr{TDS} reserves the directory name \path|local| for this -purpose. - -We recommend using \path|local| for site-adapted configuration files, -such as \path|language.dat| for the Babel package or \path|graphics.cfg| -for the graphics package. Unmodified configuration files from a package -should remain in the package directory. The intent is to separate -locally modified or created files from distribution files, to ease -installing new releases. - -\end{enumerate} - -One common case of local additions is dynamically generated files, e.g., -\abbr{PK} fonts by the \path|mktexpk| script (which originated in -\application{Dvips} as \path|MakeTeXPK|). A site may store the -generated files directly in any of: -\begin{itemize-squeeze} -\item their standard location in the main \abbr{TDS} tree (if it can be -made globally writable); - -\item an alternative location in the main \abbr{TDS} tree (for -example, under \path|texmf/fonts/tmp|); - -\item a second complete \abbr{TDS} tree (as outlined above); - -\item any other convenient directory (perhaps under -\path|/var|, for example \path|/var/spool/fonts|). - -\end{itemize-squeeze} - -No one solution will be appropriate for all sites. - - -\subsection{Duplicate filenames} -\label{sec:Duplicate filenames} - -Different files by the same name may exist in a \abbr{TDS} tree. The -\abbr{TDS} generally leaves unspecified which of two files by the same -name in a search path will be found, so generally the only way to -reliably find a given file is for it to have a unique name. However, -the \abbr{TDS} requires implementations to support the following -exceptions: - -\begin{itemize} - -\item Names of \TeX{} input files must be unique within each first-level -subdirectory of \path|texmf/tex| and \path|texmf/tex/generic|, but not -within all of \path|texmf/tex|; i.e., different \TeX{} formats may have -files by the same name. (Section~\ref{sec:Macros} discusses this -further.) Thus, no single format-independent path specification, such -as a recursive search beginning at \path|texmf/tex| specifying no other -directories, suffices. So implementations must provide format-dependent -path specifications, for example via wrapper scripts or configuration -files. - -\item Many font files will have the same name (e.g., \path|cmr10.pk|), -as discussed in Section~\ref{sec:Valid font bitmaps}. Implementations -must distinguish these files by mode and resolution. - -\end{itemize} - -All implementations we know of already have these capabilities. - -One place where duplicate names are likely to occur is not an exception: - -\begin{itemize} - -\item Names of \MF{} input files (as opposed to bitmaps) must be unique -within all of \path|texmf/fonts|. In practice, this is a problem with -some variants of Computer Modern which contain slightly modified files -named \path|punct.mf|, \path|romanl.mf|, and so on. We believe the only -feasible solution is to rename the derivative files to be -unique. - -\end{itemize} - - -\section{Top-level directories} -\label{sec:Top-level directories} - -The directories under the \texmf{} root identify the major components of -a \TeX{} system (see Section~\ref{sec:Summary} for a summary). A site -may omit any unneeded directories. - -Although the \abbr{TDS} by its nature can specify precise locations only -for implementation-independent files, we recognize that installers may -well wish to place other files under \texmf{} to simplify administration -of the \TeX{} tree, especially if it is maintained by someone other than -the system administrator. Therefore, additional top-level directories -may be present. - -The top-level directories specified by the \abbr{TDS} are: - -\begin{description} -\item[\path|tex|] -for \TeX{} files (Section~\ref{sec:Macros}). - -\item[\path|fonts|] -for font-related files (Section~\ref{sec:Fonts}). - -\item[\path|metafont|] -for \MF{} files which are not fonts (Section~\ref{sec:Non-font MF files}). - -\item[\path|metapost|] -for \MP{} files (Section~\ref{sec:MetaPost}). - -\item[\path|bibtex|] -for \BibTeX{} files (Section~\ref{sec:BibTeX}). - -\item[\path|scripts|] -for platform-independent executables (Section~\ref{sec:Scripts}). - -\item[\path|doc|] -for user documentation (Section~\ref{sec:Documentation}). - -\item[\path|source|] for sources. This includes both traditional -program sources (for example, \application{Web2C} sources go in -\path|texmf/source/web2c|) and, e.g., \LaTeX{} \path|dtx| sources (which -go in \path|texmf/source/latex|). The \abbr{TDS} leaves unspecified any -structure under \path|source|. - -\path|source| is intended for files which are not needed at runtime by -any \TeX{} program; it should not be included in any search path. For -example, \path|plain.tex| does not belong under \path|texmf/source|, -even though it is a ``source file'' in the sense of not being derived -from another file. (It goes in \path|texmf/tex/plain/base|, as explained -in Section~\ref{sec:Macros}). - -\item[\replaceable{implementation}] for implementations (examples: -\path|emtex|, \path|vtex|, \path|web2c|), to be used for whatever -purpose deemed suitable by the implementor or \TeX{} administrator. -That is, files that cannot be shared between implementations, such as -pool files (\path|tex.pool|) and memory dump files (\path|plain.fmt|) go -here, in addition to implementation-wide configuration files. See -Section~\ref{sec:Example implementation-specific trees} for examples of -real \replaceable{implementation} trees. - -Such implementation-specific configuration files should \emphasis{not} -be located using the main \TeX{} input search path (e.g., -\path|TEXINPUTS|). This must be reserved for files actually read by a -\TeX{} engine. See Section~\ref{sec:Extensions}. - -\item[\replaceable{program}] for program-specific input and -configuration files for any \TeX{}-related programs (examples: -\path|mft|, \path|dvips|). In fact, the \path|tex|, \path|metafont|, -\path|metapost|, and \path|bibtex| items above may all be seen as -instances of this case. - -\end{description} - - -\subsection{Macros} -\label{sec:Macros} - -\TeX{} macro files shall be stored in separate directories, segregated -by \TeX{} format and package name (we use `format' in its traditional -\TeX{} sense to mean a usefully \path|\dump|-able package): -\begin{ttdisplay} -texmf/tex/\replaceable{format}/\replaceable{package}/ -\end{ttdisplay} - -\begin{description} - -\item[\replaceable{format}] is a format name (examples: \path|amstex|, -\path|latex|, \path|plain|, \path|texinfo|). - -The \abbr{TDS} allows distributions that can be used as either formats or -packages (e.g., Texinfo, Eplain) to be stored at either level, at the -option of the format author or \TeX{} administrator. We recommend that -packages used as formats at a particular site be stored at the -\replaceable{format} level: by adjusting the \TeX{} inputs search path, -it will be straightforward to use them as macro packages under another -format, whereas placing them in another tree completely obscures their -use as a format. - -The \abbr{TDS} reserves the following \replaceable{format} names: - -\begin{itemize} - -\item \path|generic|, for input files that are useful across a wide -range of formats (examples: \path|null.tex|, \path|path.sty|). -Generally, this means any format that uses the category codes of Plain -\TeX{} and does not rely on any particular format. This is in contrast -to those files which are useful only with Plain \TeX{} (which go under -\path|texmf/tex/plain|), e.g., \path|testfont.tex| and \path|plain.tex| -itself. - -\item \path|local|, for local additions. See Section~\ref{sec:Local -additions}. - -\end{itemize} - -Thus, for almost every format, it is necessary to search at least the -\replaceable{format} directory and then the \path|generic| directory (in -that order). Other directories may need to be searched as well, -depending on the format. When using \AMSTeX{}, for example, the -\path|amstex|, \path|plain|, and \path|generic| directories should be -searched, because \AMSTeX{} is compatible with Plain. - -\item[\replaceable{package}] is a \TeX{} package name (examples: -\path|babel|, \path|texdraw|). - -In the case where a format consists of only a single file and has no -auxiliary packages, that file can simply be placed in the -\replaceable{format} directory, instead of -\replaceable{format}\path|/base|. For example, Texinfo may go in -\path|texmf/tex/texinfo/texinfo.tex|, not -\path|texmf/tex/texinfo/base/texinfo.tex|. - -The \abbr{TDS} reserves the following \replaceable{package} names: - -\begin{itemize} - -\item \path|base|, for the base distribution of each format, -including files used by \iniTeX{} when dumping format files. For -example, in the standard \LaTeX{} distribution, the \path|ltx| files -created during the build process. Another example: the \path|.ini| -driver files for formats used by \TeX{} Live and other distributions. - -\item \path|hyphen|, for hyphenation patterns, including the original -American English \path|hyphen.tex|. These are typically used only by -\iniTeX{}. In most situations, this directory need exist only under the -\literal{generic} format. - -\item \path|images|, for image input files, such as Encapsulated -PostScript figures. Although it is somewhat non-intuitive for these to -be under a directory named ``\path|tex|'', \TeX{} needs to read these -files to glean bounding box or other information. A mechanism for -sharing image inputs between \TeX{} and other typesetting programs -(e.g., Interleaf, FrameMaker) is beyond the scope of the -\abbr{TDS}\@. In most situations, this directory need exist only under -the \literal{generic} format. - -\item \path|local|, for local additions and configuration files. See -Section~\ref{sec:Local additions}. - -\item \path|misc|, for packages that consist of a single file. An -administrator or package maintainer may create directories for -single-file packages at their discretion, instead of using \path|misc|. - -\end{itemize} - -\end{description} - - -\subsubsection{Extensions} -\label{sec:Extensions} - -\TeX{} has spawned many companion and successor programs (``engines''), -such as \abbr{PDF}\TeX{}, Omega, and others. The \abbr{TDS} specifies -that the input files for such programs (using a \TeX{}-like syntax) be -placed within the top-level \path|tex| directory, either at the top -level or within a format subdirectory, even though the original \TeX{} -program may not be able to read them. For example: - -\begin{ttdisplay} -texmf/tex/aleph -texmf/tex/enctex -\end{ttdisplay} - -This is a change from \abbr{TDS}~1.0, which specified top-level -\replaceable{extension} directories for each such program. We felt the -new approach is preferable, because: - -\begin{itemize} - -\item Authors of relevant packages typically make their code detect the -engine being used, and issue error messages or adapt to circumstances -appropriately. Furthermore, as a package matures, it may support -multiple engines. Thus, a package could conceivably be placed in any of -several top-level directories, at different times. Putting all packages -under the top-level \path|tex| directory provides a stable location over -time. - -\item Users need to be able to switch between engines, and configuring -different search paths for each engine is difficult and error-prone. - -\end{itemize} - -Thus, in practice, having different top-level directories caused -difficulties for everyone involved---users, package authors, site -administrators, and system distributors. - -Please contrast this approach with the \replaceable{implementation} -top-level subdirectory (Section~\ref{sec:Top-level directories}), which -is to be used for configuration files that (presumably) do not use -\TeX{} syntax and in any case should not be found along the main \TeX{} -input search path. - - -\subsection{Fonts} -\label{sec:Fonts} - -Font files are stored in separate directories, segregated by file type, -and then (in most cases) font supplier and typeface. \abbr{PK} and -\abbr{GF} files need additional structure, as detailed in the next -section. - -\begin{ttdisplay} -texmf/fonts/\replaceable{type}/\replaceable{supplier}/\replaceable{typeface}/ -texmf/fonts/enc,lig,map/\replaceable{subpath}/ -\end{ttdisplay} - -\begin{description} - -\item[\replaceable{type}] is the type of font file. The \abbr{TDS} -reserves the following \replaceable{type} names for common \TeX{} file -types: - -\begin{itemize-squeeze} -\item \path|afm|, for Adobe font metrics, and \path|inf| files. -\item \path|gf|, for generic font bitmap files. -\item \path|opentype|, for OpenType fonts. -\item \path|pk|, for packed bitmap files. -\item \path|source|, for font sources (\MF{} files, property lists, etc.). -\item \path|tfm|, for \TeX{} font metric files. -\item \path|truetype|, for TrueType fonts. -\item \path|type1|, for PostScript Type 1 fonts (in \path|pfa|, - \path|pfb|, or any other format), and \path|pfm| files. -\item \path|type3|, for PostScript Type 3 fonts. -\item \path|vf|, for virtual fonts. -\end{itemize-squeeze} - -The \abbr{TDS} also reserves the names \path|enc|, \path|lig|, and -\path|map| for font encoding, ligature, and mapping files, respectively. -All of these directories are structured the same way, with -\replaceable{syntax} subdirectories, and then \replaceable{package} -subsubdirectories. Each of these file types is intended to be searched -along its own recursively-searched path. The names of the actual files -must be unique within their subtree, as usual. Examples: -\begin{ttdisplay} -fonts/map/dvipdfm/updmap/dvipdfm.map -fonts/map/dvips/lm/lm.map -fonts/enc/dvips/base/8r.enc -\end{ttdisplay} - -The Fontname and Dvips packages have more examples of the \path|enc| and -\path|map| types. The \path|afm2pl| program uses \path|lig| files. - -\path|pfm| files are included in the \path|type1| directory, instead of -being given their own directory, for two reasons: 1)~a \path|.pfm| file -is always an adjunct to a given \path|.pfb| file; 2)~they must be -installed from the same directory for Windows programs other than \TeX{} -to use them. - -\path|inf| files are included in the \path|afm| directory, since -an \path|inf| and \path|afm| file can be used to generate a \path|pfm|. -(Unfortunately, Adobe Type Manager and perhaps other software requires -that the \path|pfb| be in the same directory as \path|afm| and -\path|inf| for installation.) - -As usual, a site may omit any of these directories that are unnecessary. -\path|gf| is a particularly likely candidate for omission. - -\item[\replaceable{supplier}] is a name identifying font source -(examples: \path|adobe|, \path|ams|, \path|public|). The \abbr{TDS} -reserves the following \replaceable{supplier} names: - -\begin{itemize} - -\item \path|ams|, for the American Mathematical Society's \AmS{}-fonts -collection. - -\item \path|local|, for local additions. See Section~\ref{sec:Local additions}. - -\item \path|public|, for freely redistributable fonts where the supplier -neither (1)~requested their own directory (e.g., \path|ams|), nor -(2)~also made proprietary fonts (e.g., \path|adobe|). It does not -contain all extant freely distributable fonts, nor are all files therein -necessarily strictly public domain. - -\item \path|tmp|, for dynamically-generated fonts, as is traditional on -some systems. It may be omitted if unnecessary, as usual. - -\end{itemize} - - -\item[\replaceable{typeface}] is the name of a typeface family -(examples: \path|cm|, \path|euler|, \path|times|). The \abbr{TDS} -reserves the following \replaceable{typeface} names: - -\begin{itemize} - -\item \path|cm| (within \path|public|), for the 75 fonts defined in -\citetitle{Computers and Typesetting, Volume~E}. - -\item \path|latex| (within \path|public|), for those fonts distributed -with \LaTeX{} in the base distribution. - -\item \path|local|, for local additions. See Section~\ref{sec:Local additions}. - -\end{itemize} - -\end{description} - -Some concrete examples: -\begin{ttdisplay} -texmf/fonts/source/public/pandora/pnr10.mf -texmf/fonts/tfm/public/cm/cmr10.tfm -texmf/fonts/type1/adobe/utopia/putr.pfa -\end{ttdisplay} - -For complete supplier and typeface name lists, consult -\citetitle{Filenames for \TeX{} fonts} (see Appendix~\ref{sec:Related -references}). - -\subsubsection{Font bitmaps} - -Font bitmap files require two characteristics in addition to the above -to be uniquely identifiable: (1)~the type of device (i.e., mode) for -which the font was created; (2)~the resolution of the bitmap. - -Following common practice, the \abbr{TDS} segregates fonts with -different device types into separate directories. See \path|modes.mf| -in Appendix~\ref{sec:Related references} for recommended mode names. - -Some printers operate at more than one resolution (e.g., at 300\,dpi and -600\,dpi), but each such resolution will necessarily have a different -mode name. Nothing further is needed, since implicit in the \TeX{} -system is the assumption of a single target resolution. - -Two naming strategies are commonly used to identify the resolution of -bitmap font files. On systems that allow long filenames (and in the -original \MF{} program itself), the resolution is included in the -filename (e.g., \path|cmr10.300pk|). On systems which do not support -long filenames, fonts are generally segregated into directories by -resolution (e.g., \path|dpi300/cmr10.pk|). - -Because the \abbr{TDS} cannot require long filenames, we must use the -latter scheme for naming fonts. So we have two more subdirectory -levels under \path|pk| and \path|gf|: - -\begin{ttdisplay} -texmf/fonts/pk/\replaceable{mode}/\replaceable{supplier}/\replaceable{typeface}/dpi\replaceable{nnn}/ -texmf/fonts/gf/\replaceable{mode}/\replaceable{supplier}/\replaceable{typeface}/dpi\replaceable{nnn}/ -\end{ttdisplay} - -\begin{description} - -\item[\replaceable{mode}] is a name which identifies the device type -(examples: \path|cx|, \path|ljfour|, \path|modeless|). Usually, this is -the name of the \MF{} mode used to build the \abbr{PK} file. For fonts -rendered as bitmaps by a program that does not distinguish between -different output devices, the \replaceable{mode} name shall be simply -\path|modeless|. The \replaceable{mode} level shall not be omitted, -even if only a single mode happens to be in use. - -\item[\path|dpi|\replaceable{nnn}] specifies the resolution of the font -(examples: \path|dpi300|, \path|dpi329|). `\literal{dpi}' stands for -dots per inch, i.e., pixels per inch. We recognize that pixels per -millimeter is used in many parts of the world, but dpi is too -traditional in the \TeX{} world to consider changing now. - -The integer \replaceable{nnn} is to be calculated as if using \MF{} -arithmetic and then rounded; i.e., it is the integer \MF{} uses in its -output \path|gf| filename. We recognize small differences in the -resolution are a common cause of frustration among users, however, and -recommend implementors follow the level~0 \abbr{DVI} driver standard -(see Appendix~\ref{sec:Related references}) in bitmap font searches by -allowing a fuzz of $\pm0.2$\% (with a minimum of $1$) in the -\replaceable{dpi}. - -\end{description} - -Implementations may provide extensions to the basic naming scheme, such -as long filenames (as in the original \MF{}) and font library files (as -in em\TeX{}'s \path|.fli| files), provided that the basic scheme is also -supported. - -\subsubsection{Valid font bitmaps} -\label{sec:Valid font bitmaps} - -The \abbr{TWG} recognizes that the use of short filenames has many -disadvantages. The most vexing is that it results in the creation of -dozens of different files with the same name. At a typical site, -\path|cmr10.pk| will be the filename for Computer Modern Roman 10\,pt at -5--10 magnifications for 2--3 modes. (Section~\ref{sec:Duplicate -filenames} discusses duplicate filenames in general.) - -To minimize this problem, we strongly recommend that \abbr{PK} files -contain enough information to identify precisely how they were created: -at least the mode, base resolution, and magnification used to create the -font. - -This information is easy to supply: a simple addition to the local modes -used for building the fonts with \MF{} will automatically provide the -required information. If you have been using a local modes file derived -from (or that is simply) \path|modes.mf| (see Appendix~\ref{sec:Related -references}), the required information is already in your \abbr{PK} -files. If not, a simple addition based on the code found in -\path|modes.mf| can be made to your local modes file and the \abbr{PK} -files rebuilt. - - -\subsection{Non-font \MF{} files} -\label{sec:Non-font MF files} - -Most \MF{} input files are font programs or parts of font programs and -are thus covered by the previous section. However, a few non-font input -files do exist. Such files shall be stored in: - -\begin{ttdisplay} -texmf/metafont/\replaceable{package}/ -\end{ttdisplay} - -\replaceable{package} is the name of a -\MF{} package (for example, \path|mfpic|). - -The \abbr{TDS} reserves the following \replaceable{package} names: - -\begin{itemize} - -\item \path|base|, for the standard \MF{} macro files as described in -\citetitle{The \MF{}book}, such as \path|plain.mf| and \path|expr.mf|. - -\item \path|local|, for local additions. See Section~\ref{sec:Local additions}. - -\item \path|misc|, for \MF{} packages consisting of only a single file -(for example, \path|modes.mf|). An administrator or package maintainer -may create directories for single-file packages at their discretion, -instead of using \path|misc|. - -\end{itemize} - - -\subsection{\MP{}} -\label{sec:MetaPost} - -\MP{} is a picture-drawing language developed by John Hobby, derived -from Knuth's \MF{}. Its primary purpose is to output Encapsulated \PS{} -instead of bitmaps. - -\MP{} input files and the support files for \MP{}-related utilities -shall be stored in: - -\begin{ttdisplay} -texmf/metapost/\replaceable{package}/ -\end{ttdisplay} - -\replaceable{package} is the name of a \MP{} package. At the present -writing none exist, but the \abbr{TWG} thought it prudent to leave room -for contributed packages that might be written in the future. - -The \abbr{TDS} reserves the following \replaceable{package} names: - -\begin{itemize} - -\item \path|base|, for the standard \MP{} macro files, such as -\path|plain.mp|, \path|mfplain.mp|, \path|boxes.mp|, and -\path|graph.mp|. This includes files used by \iniMP{} when dumping mem -files containing preloaded macro definitions. - -\item \path|local|, for local additions. See Section~\ref{sec:Local -additions}. - -\item \path|misc|, for \MP{} packages consisting of only a single file. -An administrator or package maintainer may create directories for -single-file packages at their discretion, instead of using \path|misc|. - -\item \path|support|, for additional input files required by \MP{} -utility programs, including a font map, a character adjustment table, -and a subdirectory containing low-level \MP{} programs for rendering -some special characters. - -\end{itemize} - - -\subsection{\BibTeX{}} -\label{sec:BibTeX} - -\BibTeX{}-related files shall be stored in: - -\begin{ttdisplay} -texmf/bibtex/bib/\replaceable{package}/ -texmf/bibtex/bst/\replaceable{package}/ -\end{ttdisplay} - -The \path|bib| directory is for \BibTeX{} database (\path|.bib|) files, -the \path|bst| directory for style (\path|.bst|) files. - -\replaceable{package} is the name of a \BibTeX{} package. The -\abbr{TDS} reserves the following \replaceable{package} names (the same -names are reserved under both \path|bib| and \path|bst|): - -\begin{itemize} - -\item \path|base|, for the standard \BibTeX{} databases and styles, such -as \path|xampl.bib|, \path|plain.bst|. - -\item \path|local|, for local additions. See Section~\ref{sec:Local -additions}. - -\item \path|misc|, for \BibTeX{} packages consisting of only a single -file. An administrator or package maintainer may create directories for -single-file packages at their discretion, instead of using \path|misc|. - -\end{itemize} - - -\subsection{Scripts} -\label{sec:Scripts} - -The top-level \path|scripts| directory is for platform-independent -executables, such as Perl, Python, and shell scripts, and Java class -files. Subdirectories under \path|scripts| are package names. This -eases creating distributions, by providing a common place for such -platform-independent programs. - -The intent is not for all such directories to be added to a user's -command search path, which would be quite impractical. Rather, these -executables are primarily for the benefit of wrapper scripts in whatever -executable directory a distribution may provide (which is not specified -by the \abbr{TDS}). - -Truly auxiliary scripts which are invoked directly by other programs, -rather than wrapper scripts, may also be placed here. That is, -\path|scripts| also serves as a platform-independent analog of the -standard Unix \path|libexec| directory. - -We recommend using extensions specifying the language (such as -\path|.pl|, \path|.py|, \path|.sh|) on these files, to help uniquely -identify the name. Since the intent of the \abbr{TDS} is for programs -in \path|scripts| not to be invoked directly by users, this poses no -inconvenience. - -For example, in the \TeX{} Live distribution, the Con\TeX{}t user-level -program \path|texexec| can exist as a small wrapper script in each -\path|bin/|\replaceable{platform}\path|/texexec| (which is outside the -\path|texmf| tree), which merely finds and calls -\path|texmf/scripts/context/perl/texexec.pl|. - -Examples: -\begin{ttdisplay} -scripts/context/perl/texexec.pl -scripts/context/ruby/examplex.rb -scripts/thumbpdf/thumbpdf.pl -\end{ttdisplay} - -The \abbr{TDS} does not specify a location for platform-dependent -binary executables, whether auxiliary or user-level. - - -\subsection{Documentation} -\label{sec:Documentation} - -Most packages come with some form of documentation: user manuals, -example files, programming guides, etc. In addition, many independent -files not part of any macro or other package have been created to -describe various aspects of the \TeX{} system. - -The \abbr{TDS} specifies that these additional documentation files shall -be stored in a structure that parallels to some extent the -\path|fonts| and \path|tex| directories, as follows: - -\begin{ttdisplay} -texmf/doc/\replaceable{category}/... -\end{ttdisplay} - -\replaceable{category} identifies the general topic of documentation -that resides below it; for example, a \TeX{} format name (\path|latex|), -program name (\path|bibtex|, \path|tex|), language (\path|french|, -\path|german|), a file format (\path|info|, \path|man|), or other system -components (\path|web|, \path|fonts|). - -One possible arrangement is to organize \path|doc| by language, with all -the other category types below that. This helps users find -documentation in the language(s) in which they are fluent. Neither this -nor any other particular arrangement is required, however. - -Within each \replaceable{category} tree for a \TeX{} format, the -directory \path|base| is reserved for base documentation distributed by -the format's maintainers. - -The \abbr{TDS} reserves the following category names: - -\begin{itemize} - -\item \path|general|, for standalone documents not specific to any -particular program (for example, Joachim Schrod's \citetitle{Components -of \TeX{}}). - -\item \path|help|, for meta-information, such as \abbr{faq}'s, -the \TeX{} Catalogue, etc. - -\item \path|info|, for processed Texinfo documents. (Info files, like -anything else, may also be stored outside the \abbr{TDS}, at the -installer's option.) - -\item \path|local|, for local additions. See Section~\ref{sec:Local -additions}. - -\end{itemize} - -The \path|doc| directory is intended for implementation-independent and -operating system-independent documentation -files. Implementation-dependent files are best stored elsewhere, as -provided for by the implementation and/or \TeX{} administrator (for -example, \abbr{VMS} help files under \path|texmf/vms/help|). - -The documentation directories may contain \TeX{} sources, \abbr{DVI} -files, \PS{} files, text files, example input files, or any other useful -documentation format(s). - -See Section~\ref{sec:Documentation tree summary} for a summary. - - -\newpage -\section{Summary} -\label{sec:Summary} - -A skeleton of a \abbr{TDS} \texmf{} directory tree. This is not to -imply these are the only entries allowed. For example, \path|local| may -occur at any level. - -\begin{tdsSummary} - bibtex/ \BibTeX{} input files - . bib/ \BibTeX{} databases - . . base/ base distribution (e.g., \path|xampl.bib|) - . . misc/ single-file databases - . / name of a package - . bst/ \BibTeX{} style files - . . base/ base distribution (e.g., \path|plain.bst|, \path|acm.bst|) - . . misc/ single-file styles - . / name of a package - doc/ see Section~\ref{sec:Documentation} and the summary below - fonts/ font-related files - . / file type (e.g., \path|pk|) - . . / type of output device (for \path|pk| and \path|gf| only) - . . . / name of a font supplier (e.g., \path|public|) - . . . . / name of a typeface (e.g., \path|cm|) - . . . . . dpi/ font resolution (for \path|pk| and \path|gf| only) - / \TeX{} implementations, by name (e.g., \path|emtex|) - local/ files created or modified at the local site - metafont/ \MF{} (non-font) input files - . base/ base distribution (e.g., \path|plain.mf|) - . misc/ single-file packages (e.g., \path|modes.mf|) - . / name of a package (e.g., \path|mfpic|) - metapost/ \MP{} input and support files - . base/ base distribution (e.g., \path|plain.mp|) - . misc/ single-file packages - . / name of a package - . support/ support files for \MP{}-related utilities - mft/ \path|MFT| inputs (e.g., \path|plain.mft|) - / \TeX{}-related programs, by name (e.g., \path|dvips|) - source/ program source code by name (e.g., \path|latex|, \path|web2c|) - tex/ \TeX{} input files - . / name of an engine (e.g., \path|aleph|); can also be lower - . / name of a format (e.g., \path|plain|) - . . base/ base distribution for format (e.g., \path|plain.tex|) - . . misc/ single-file packages (e.g., \path|webmac.tex|) - . . local/ local additions to or local configuration files for \replaceable{format} - . . / name of a package (e.g., \path|graphics|, \path|mfnfss|) - . generic/ format-independent packages - . . hyphen/ hyphenation patterns (e.g., \path|hyphen.tex|) - . . images/ image input files (e.g., Encapsulated PostScript) - . . misc/ single-file format-independent packages (e.g., \path|null.tex|). - . . / name of a package (e.g., \path|babel|) -\end{tdsSummary} - - -\newpage -\subsection{Documentation tree summary} -\label{sec:Documentation tree summary} - -An example skeleton of a \abbr{TDS} directory tree under -\path|texmf/doc|. This is not to imply these are the only entries -allowed, or that this structure must be followed precisely for the -entries listed. - -As mentioned, the \path|texmf/doc| tree may be organized by language, so -that all documentation in French, say, is in a \path|french| -subdirectory. In that case, the example structure here would be in a -given language directory. - -\begin{tdsSummary} - ams/ - . amsfonts/ \path|amsfonts.faq|, \path|amfndoc| - . amslatex/ \path|amslatex.faq|, \path|amsldoc| - . amstex/ \path|amsguide|, \path|joyerr| - bibtex/ \BibTeX{} - . base/ \path|btxdoc.tex| - fonts/ - . fontname/ \citetitle{Filenames for \TeX{} fonts} - . oldgerm/ \path|corkpapr| - / name of a \TeX{} format (e.g., \path|generic|, \path|latex|) - . base/ for the base distribution - . misc/ for contributed single-file package documentation - . / for \emphasis{package} - general/ across programs, generalities - . errata/ \path|errata|, \path|errata[1-8]| - . texcomp/ \citetitle{Components of \TeX{}} - help/ meta-information - . ctan/ info about \abbr{ctan} mirror sites - . faq/ \abbr{faq}s of \path|comp.text.tex|, etc. - info/ \abbr{gnu} Info files, made from Texinfo sources - latex/ example of \replaceable{format} - . base/ \path|ltnews*|, \path|*guide|, etc. - . graphics/ \path|grfguide| - local/ site-specific documentation - man/ Unix man pages - / \TeX{}-related programs, by name (examples follow) - metafont/ \path|mfbook.tex|, \path|metafont-for-beginners|, etc. - metapost/ \path|mpman|, \path|manfig|, etc. - tex/ \path|texbook.tex|, \citetitle{A Gentle Introduction to \TeX{}}, etc. - web/ \path|webman|, \path|cwebman| -\end{tdsSummary} - - -\newpage -\appendix - -\section{Unspecified pieces} - -The \abbr{TDS} cannot address the following aspects of a functioning -\TeX{} system: - -\begin{enumerate} - -\item The location of executable programs: this is too site-dependent -even to recommend a location, let alone require one. A site may place -executables outside the \texmf{} tree altogether (e.g., -\path|/usr/local/bin|), in a platform-dependent directory within -\texmf{}, or elsewhere. - -\item Upgrading packages when new releases are made: we could find no -way of introducing version specifiers into \texmf{} that would do more -good than harm, or that would be practical for even a plurality of -installations. - -\item The location of implementation-specific files (e.g., \TeX{} -\path|.fmt| files): by their nature, these must be left to the -implementor or \TeX{} maintainer. See Section~\ref{sec:Example -implementation-specific trees}. - -\item Precisely when a package or file should be considered ``local'', -and where such local files are installed. See Section~\ref{sec:Local -additions} for more discussion. - -\end{enumerate} - - -\subsection{Portable filenames} -\label{sec:Portable filenames} - -The \abbr{TDS} cannot require any particular restriction on filenames in -the tree, since the names of many existing \TeX{} files conform to no -standard scheme. For the benefit of people who wish to make a portable -\TeX{} distribution or installation, however, we outline here the -necessary restrictions. The \abbr{TDS} specifications themselves are -compatible with these. - -\abbr{ISO}-9660 is the only universally acceptable file system format -for \abbr{CD-ROM}s. A subset thereof meets the stringent limitations of -all operating systems in use today. It specifies the following: - -\begin{itemize-squeeze} - -\item File and directory names, not including any directory path or -extension part, may not exceed eight characters. - -\item Filenames may have a single extension. Extensions may not exceed -three characters. Directory names may not have an extension. - -\item Names and extensions may consist of \emphasis{only} the characters -\literal{A}--\literal{Z}, \literal{0}--\literal{9}, and underscore. -Lowercase letters are excluded. - -\item A period separates the filename from the extension and is always -present, even if the name or extension is missing (e.g., -\path|FILENAME.| or \path|.EXT|). - -\item A version number, ranging from 1--32767, is appended to the file -extension, separated by a semicolon (e.g., \path|FILENAME.EXT;1|). - -\item Only eight directory levels are allowed, including the top-level -(mounted) directory (see Section~\ref{sec:Rooting the tree}). Thus, the -deepest valid \abbr{ISO}-9660 path is: -\begin{ttdisplay} -texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1 -1 2 3 4 5 6 7 8 -\end{ttdisplay} -The deepest \abbr{TDS} path needs only seven levels: -\begin{ttdisplay} -texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk -1 2 3 4 5 6 7 -\end{ttdisplay} - -\end{itemize-squeeze} - -Some systems display a modified format of \abbr{ISO}-9660 names, -mapping alphabetic characters to lowercase, removing version numbers and -trailing periods, etc. - -Before the December 1996 release, \LaTeX{} used mixed-case names for -font descriptor files. Fortunately, it never relied on case alone to -distinguish among the files. Nowadays, it uses only monocase names. - -\section{Implementation issues} - -We believe that the \abbr{TDS} can bring a great deal of order to the -current anarchic state of many \TeX{} installations. In addition, by -providing a common frame of reference, it will ease the burden of -documenting administrative tasks. Finally, it is a necessary part of -any reasonable system of true ``drop-in'' distribution packages for -\TeX{}. - - -\subsection{Adoption of the \abbr{TDS}} - -[This section is retained for historical purposes; the \abbr{TDS} -is now quite firmly entrenched in most \TeX{} distributions.] - -We recognize that adoption of the \abbr{TDS} will not be immediate or -universal. Most \TeX{} administrators will not be inclined to make the -final switch until: - -\begin{itemize-squeeze} -\item Clear and demonstrable benefits can be shown for the \abbr{TDS}. -\item \abbr{TDS}-compliant versions of all key programs are available -in ported, well-tested forms. -\item A ``settling'' period has taken place, to flush out problems. The -public release of the first draft of this document was the first step in -this process. -\end{itemize-squeeze} - -Consequently, most of the first trials of the \abbr{TDS} will be made by -members of the \abbr{TDS} committee and/or developers of \TeX{}-related -software. This has already taken place during the course of our -deliberations (see Appendix~\ref{sec:Related references} for a sample -tree available electronically). They will certainly result in the -production of a substantial number of \abbr{TDS}-compliant packages. -Indeed, the \application{te\TeX{}} and \application{\TeX{} Live} -distributions are \abbr{TDS}-compliant and in use now at many sites. - -Once installable forms of key \abbr{TDS}-compliant packages are more -widespread, some \TeX{} administrators will set up \abbr{TDS}-compliant -trees, possibly in parallel to existing production directories. This -testing will likely flush out problems that were not obvious in the -confined settings of the developers' sites; for example, it should help -to resolve system and package dependencies, package interdependencies, and -other details not addressed by this \abbr{TDS} version. - -After most of the dust has settled, hopefully even conservative \TeX{} -administrators will begin to adopt the \abbr{TDS}. Eventually, most -\TeX{} sites will have adopted the common structure, and most packages -will be readily available in \abbr{TDS}-compliant form. - -We believe that this process will occur relatively quickly. The -\abbr{TDS} committee spans a wide range of interests in the \TeX{} -community. Consequently, we believe that most of the key issues -involved in defining a workable \abbr{TDS} definition have been covered, -often in detail. \TeX{} developers have been consulted about -implementation issues, and have been trying out the \abbr{TDS} -arrangement. Thus, we hope for few surprises as implementations mature. - -Finally, there are several (current or prospective) publishers of \TeX{} -\abbr{CD-ROM}s. These publishers are highly motivated to work out -details of \abbr{TDS} implementation, and their products will provide -inexpensive and convenient ways for experimentally-minded \TeX{} -administrators to experiment with the \abbr{TDS}. - - -\subsection{More on subdirectory searching} -\label{sec:More on subdirectory searching} - -Recursive subdirectory searching is the ability to specify a search not -only of a specified directory \replaceable{d}, but recursively of all -directories below \replaceable{d}. - -Since the \abbr{TDS} specifies precise locations for most files, with no -extra levels of subdirectories allowed, true recursive searching is not -actually required for a \abbr{TDS}-compliant implementation. We do, -however, strongly recommend recursive searching as the most -user-friendly and natural approach to the problem, rather than -convoluted methods to specify paths without recursion. - -This feature is already supported by many implementations of \TeX{} and -companion utilities, for example \abbr{DECUS} \TeX{} for \abbr{VMS}, -\application{Dvips(k)}, \application{em\TeX{}} (and its drivers), -\application{PubliC \TeX{}}, \application{Web2C}, \application{Xdvi(k)}, -and \application{Y\&Y\TeX{}}. The Kpathsea library is a reusable -implementation of subdirectory searching for \TeX{}, used in a number of -the above programs. - -Even if your \TeX{} implementation does not directly support -subdirectory searching, you may find it useful to adopt the structure if -you do not use many fonts or packages. For instance, if you only use -Computer Modern and \abbr{ams} fonts, it would be feasible to store them -in the \abbr{TDS} layout and list the directories individually in -configuration files or environment variables. - -The \abbr{TWG} recognizes that subdirectory searching places an extra -burden on the system and may be the source of performance bottlenecks, -particularly on slower machines. Nevertheless, we feel that -subdirectory searching is imperative for a well-organized \abbr{TDS}, -for the reasons stated in Section~\ref{sec:Subdirectory searching}. -Implementors are encouraged to provide enhancements to the basic -principle of subdirectory searching to avoid performance problems, e.g., -the use of a filename cache (this can be as simple as a recursive -directory listing) that is consulted before disk searching begins. If a -match is found in the database, subdirectory searching is not required, -and performance is thus independent of the number of subdirectories -present on the system. - -Different implementations specify subdirectory searching differently. -In the interest of typographic clarity, the examples here do not use the -\replaceable{replaceable} font. - -\begin{description-squeeze} - -\item[\application{Dvips}:] via a separate -\systemitem{ENVIRONVAR}{TEXFONTS\_SUBDIR} environment variable. - -\item[\application{em\TeX{}}:] \path|t:\subdir!!|; \path|t:\subdir!| for -a single level of searching. - -\item[\application{Kpathsea}:] \path|texmf/subdir//| - -\item[\abbr{VMS}:] \path|texmf:[subdir...]| - -\item[\application{Xdvi} (patchlevel 20):] \path|texmf/subdir/**|; -\path|texmf/subdir/*| for a single level of searching. Version 20.50 -and above support the \path|//| notation. - -\item[\application{Y\&Y \TeX{}}:] \path|t:/subdir//| or -\path|t:\subdir\\|. - -\end{description-squeeze} - - -\subsection{Example implementation-specific trees} -\label{sec:Example implementation-specific trees} - -The \abbr{TDS} cannot specify a precise location for -implementation-specific files, such as \path|texmf/ini|, because a site -may have multiple \TeX{} implementations. - -Nevertheless, for informative purposes, we provide here the default -locations for some implementations. Please contact us with additions or -corrections. These paths are not definitive, may not match anything at -your site, and may change without warning. - -We recommend all implementations have default search paths that start -with the current directory (e.g., `\path|.|'). Allowing users to -include the parent directory (e.g., `\path|..|') is also helpful. - - -\subsubsection{AmiWeb2c 2.0} - -(Email \email|scherer@physik.rwth-aachen.de| to contact the maintainer -of this implementation.) - -AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible -extent, so only the very few differences are described in this -section. Detailed information about the basic concepts is given in -the section for Web2c 7 below. - -Thanks to the \path|SELFAUTO| mechanism of Kpathsea 3.0 no specific -location for the installation of AmiWeb2c is required as long as the -general structure of the distribution is preserved. - -In addition to Kpathsea's \path|//| notation recursive path search may -also be started by \replaceable{DEVICE}\path|:/|, e.g., \path|TeXMF:/| -will scan this specific device completely. - -Binaries coming with the AmiWeb2c distribution are installed in the -directory \path|bin/amiweb2c/| outside the common \abbr{TDS} tree -\path|share/texmf/|. In addition to the set of AmiWeb2c binaries -you will find two subdirectories \path|local/| and \path|pastex/| -with auxiliary programs. - -A stripped version of the Pas\TeX{} system (used by kind permission of -Georg He\ss{}mann) is coming with AmiWeb2c, pre-installed in its own -\path|share/texmf/amiweb2c/pastex/| directory. If you want to use -Pas\TeX{} you have to \path|assign| the name \path|TeX:| to this place. - -Documentation files in AmigaGuide format should be stored at -\path|doc/guide/| similar to \path|doc/info/|. - - -\subsubsection{Public \abbr{DECUS} \TeX{}} - -If another \abbr{VMS} implementation besides Public \abbr{DECUS} \TeX{} -appears, the top level implementation directory name will be modified to -something more specific (e.g., \path|vms_decus|). - -\begin{tdsSummary} - texmf/ - . vms/ \abbr{VMS} implementation specific files - . . exe/ end-user commands - . . . common/ command procedures, command definition files, etc. - . . . axp/ binary executables for Alpha \abbr{AXP} - . . . vax/ binary executables for \abbr{VAX} - . . formats/ pool files, formats, bases - . . help/ \abbr{VMS} help library, and miscellaneous help sources - . . mgr/ command procedures, programs, docs, etc., for system management -\end{tdsSummary} - - -\subsubsection{Web2c 7} - -All implementation-dependent \TeX{} system files (\path|.pool|, -\path|.fmt|, \path|.base|, \path|.mem|) are stored by default directly -in \path|texmf/web2c|. The configuration file \path|texmf.cnf| and -various subsidiary \path|MakeTeX...| scripts used as subroutines are -also stored there. - -Non-\TeX{} specific files are stored following the \abbr{GNU} coding -standards. Given a root directory \replaceable{prefix} -(\path|/usr/local| by default), we have default locations as follows: - -\begin{tdsSummary} - / installation root (\path|/usr/local| by default) - . bin/ executables - . man/ man pages - . info/ info files - . lib/ libraries (\path|libkpathsea.*|) - . share/ architecture-independent files - . . texmf/ \abbr{TDS} root - . . . web2c/ implementation-dependent files (\path|.pool|, \path|.fmt|, \path|texmf.cnf|, etc.) -\end{tdsSummary} - -See \url|http://www.gnu.org/prep/standards_toc.html| for the -rationale behind and descriptions of this arrangement. A site may of -course override these defaults; for example, it may put everything under -a single directory such as \path|/usr/local/texmf|. - - -\section{Is there a better way?} - -Defining the \abbr{TDS} required many compromises. Both the overall -structure and the details of the individual directories were arrived at -by finding common ground among many opinions. The driving forces were -feasibility (in terms of what could technically be done and what could -reasonably be expected from developers) and regularity (files grouped -together in an arrangement that ``made sense''). - -Some interesting ideas could not be applied due to implementations -lacking the necessary support: - -\begin{itemize} - -\item Path searching control at the \TeX{} level. If documents could -restrict subdirectory searching to a subdirectory via some portable -syntax in file names, restrictions on uniqueness of filenames could be -relaxed considerably (with the cooperation of the formats), and the -\TeX{} search path would not need to depend on the format. - -\item Multiple logical \texmf{} trees. For example, a site might have -one (read-only) location for stable files, and a different (writable) -location for dynamically-created fonts or other files. It would be -reasonable for two such trees to be logically merged when searching. -See Michael Downes' article in the references for how this can work in -practice with Web2C. - -\end{itemize} - -\subsection{Macro structure} - -The \abbr{TWG} settled on the -\replaceable{format}\path|/|\replaceable{package} arrangement after long -discussion about how best to arrange the files. - -The primary alternative to this arrangement was a scheme which reversed -the order of these directories: -\replaceable{package}\path|/|\replaceable{format}. This reversed -arrangement has a strong appeal: it keeps all of the files related to a -particular package in a single place. The arrangement actually adopted -tends to spread files out into two or three places (macros, -documentation, and fonts, for example, are spread into different -sections of the tree right at the top level). - -Nevertheless, the \replaceable{format}\path|/|\replaceable{package} -structure won for a couple of reasons: - -\begin{itemize-squeeze} -\item It is closer to current practice; in fact, several members of the -\abbr{TWG} have already implemented the \abbr{TDS} hierarchy. The -alternative is not in use at any known site, and the \abbr{TWG} felt it -wrong to mandate something with which there is no practical experience. - -\item The alternative arrangement increases the number of top-level -directories, so the files that must be found using subdirectory -searching are spread out in a wide, shallow tree. This could have a -profound impact on the efficiency of subdirectory searching. - -\end{itemize-squeeze} - - -\subsection{Font structure} - -The \abbr{TWG} struggled more with the font directory structure than -anything else. This is not surprising; the need to use the proliferation -of PostScript fonts with \TeX{} is what made the previous arrangement -with all files in a single directory untenable, and therefore what -initiated the \abbr{TDS} effort. - - -\subsubsection{Font file type location} - -We considered the supplier-first arrangement in use at many sites: - -\begin{ttdisplay} -texmf/fonts/\replaceable{supplier}/\replaceable{typeface}/\replaceable{type}/ -\end{ttdisplay} - -This improves the maintainability of the font tree, since all files -comprising a given typeface are in one place, but unless all the -programs that search this tree employ some form of caching, there are -serious performance concerns. For example, in order to find a -\path|TFM| file, the simplest implementation would require \TeX{} to -search through all the directories that contain \abbr{PK} files in all -modes and at all resolutions. - -In the end, a poll of developers revealed considerable resistance to -implementing sufficient caching mechanisms, so this arrangement was -abandoned. The \abbr{TDS} arrangement allows the search tree to be -restricted to the correct type of file, at least. Concerns about -efficiency remain, but there seems to be no more we can do without -abandoning subdirectory searching entirely. - -We also considered segregating all font-related files strictly by file -type, so that \MF{} sources would be in a directory -\path|texmf/fonts/mf|, property list files in \path|texmf/fonts/pl|, the -various forms of Type~1 fonts separated, and so on. Although more -blindly consistent, we felt that the drawback of more complicated path -constructions outweighed this. The \abbr{TDS} merges file types -(\path|mf| and \path|pl| under \path|source|, \path|pfa| and \path|pfb| -and \path|gsf| under \path|type1|) where we felt this was beneficial. - - -\subsubsection{Mode and resolution location} - -We considered having the \path|mode| at the bottom of the font tree: -\begin{ttdisplay} -texmf/fonts/pk/\replaceable{supplier}/\replaceable{typeface}/\replaceable{mode}/\replaceable{dpi}/ -\end{ttdisplay} - -In this case, however, it is difficult to limit subdirectory searching -to the mode required for a particular device. - -We then considered moving the \path|dpi|\replaceable{nnn} up to below -the mode: -\begin{ttdisplay} -texmf/fonts/pk/\replaceable{mode}/\replaceable{dpi}/\replaceable{supplier}/\replaceable{typeface}/ -\end{ttdisplay} - -But then it is not feasible to omit the \path|dpi|\replaceable{nnn} -level altogether on systems which can and do choose to use long -filenames. - - -\subsubsection{Modeless bitmaps} - -The \abbr{TDS} specifies using a single directory \path|modeless/| as -the mode name for those utilities which generate bitmaps, e.g., -\path|texmf/fonts/modeless/times/|. This has the considerable advantage -of not requiring each such directory name to be listed in a search path. - -An alternative was to use the utility name below which all such -directories could be gathered. That has the advantage of separating, -say, \path|gsftopk|-generated bitmaps from \path|ps2pk|-generated ones. -However, we decided this was not necessary; most sites will use only one -program for the purpose. Also, \abbr{PK} and \abbr{GF} fonts generally -identify their creator in the font comment following the \path|PK_ID| -byte. - -We are making an implicit assumption that \MF{} is the only program -producing mode-dependent bitmaps. If this becomes false we could add an -abbreviation for the program to mode names, as in \path|mfcx| vs.\ -\path|xyzcx| for a hypothetical program \application{Xyz}, or we could -at that time add an additional program name level uniformly to the tree. -It seemed more important to concisely represent the current situation -than to worry about hypothetical possibilities that may never~happen. - - -\subsection{Documentation structure} - -We considered placing additional documentation files in the same -directory as the source files for the packages, but we felt that users -should be able to find documentation separately from sources, since most -users have no interest in sources. - -We hope that a separate, but parallel, structure for documentation would -(1)~keep the documentation together and (2)~make it as straightforward -as possible for users to find the particular documentation they were -after. - - -\section{Related references} -\label{sec:Related references} - -This appendix gives pointers to related files and other documents. For -\abbr{CTAN} references, we use \path|http://www.ctan.org| as the -top-level domain only to make the links be live in this document. See -\url|http://www.ctan.org/tex-archive/CTAN.sites| for a complete list of -\abbr{ctan} sites; there are mirrors worldwide. - -\begin{itemize-squeeze} - -\item This document, in many formats (tex, dvi, info, pdf):\\ \hspace*{1em} -\url|http://tug.org/tds/| - -\item The \abbr{TDS} mailing list archives:\\ \hspace*{1em} -\url|http://tug.org/mail-archives/twg-tds/| - -\item The level~0 \abbr{DVI} driver standard:\\ \hspace*{1em} -\url|http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/| - -\item \citetitle{Filenames for \TeX{} fonts}, with lists of recommended -supplier and typeface names:\\ \hspace*{1em} -\url|http://tug.org/fontname/| - -\item \abbr{ISO}-9660 \abbr{CD-ROM} file system standard:\\ \hspace*{1em} -\url|http://www.iso.ch/cate/cat.html| - -\item \citetitle{Components of \TeX{}}, a paper by Joachim -Schrod:\\ \hspace*{1em} -\url|http://www.ctan.org/tex-archive/documentation/components-of-TeX/| - -\item \citetitle{Managing Multiple TDS trees}, an article by Michael -Downes:\\ \hspace*{1em} -\url|http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf| - -\item A complete set of \MF{} modes:\\ \hspace*{1em} -\url|http://www.ctan.org/tex-archive/fonts/modes/modes.mf| - -\item A large collection of \BibTeX{} databases and styles:\\ \hspace*{1em} -\url|ftp://ftp.math.utah.edu/pub/tex/bib/| - -\end{itemize-squeeze} - - -\section{Contributors} - -The \abbr{TWG} has had no physical meetings; electronic mail was the -communication medium. - -Sebastian Rahtz is the \TeX{} Users Group Technical Council liaison. -Norman Walsh was the original committee chair. Karl Berry is the -current editor. - -The list of contributors has grown too large to fairly include, as some -would surely be inadvertently omitted. Please consider the archives of -the \email|tds@tug.org| and \email|tex-live@tug.org| mailing lists as -the record of contributions. - - -\end{document} diff --git a/tds/tds2texi.el b/tds/tds2texi.el deleted file mode 100644 index de87d40430..0000000000 --- a/tds/tds2texi.el +++ /dev/null @@ -1,577 +0,0 @@ -;;; tds2texi.el --- convert TDS draft from LaTeX to Texinfo - -;; Copyright (C) 1996, 1999, 2003, 2004 Ulrik Vieth and the TeX Users Group. - -;; This programm 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, 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 a copy of the GNU General Public License; see the -;; file COPYING. If not, write to the Free Software Foundation, Inc., -;; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - -;; Author: Ulrik Vieth -;; Maintainer: karl@mail.tug.org -;; Version: $Id: tds2texi.el,v 1.12 2004/06/04 17:25:49 karl Exp $ -;; Keywords: TDS, LaTeX, Texinfo, Info, HTML, tex, maint - -;;; Commentary: - -;; Description: -;; -;; This file provides a limited LaTeX-to-Texinfo conversion function -;; `tds2texi-convert' which is intended to convert the LaTeX -;; source of the TDS draft document `tds.tex', using a couple of -;; special markup tags defined in the document class `tdsguide.cls'. -;; It is definitely *not* suitable to be used as a general-purpose -;; LaTeX-to-Texinfo converter and is not intended to be used as such. -;; - -;; Usage (also see the Makefile): -;; -;; 0. load or autoload this file, e.g: (load-library "tds2texi") -;; -;; 1. go to a directory containing `tds.tex', e.g. in dired mode -;; -;; 2. run M-x tds2texi-convert -- this does all the conversion and -;; leaves you in a buffer `tds.texi' containing the converted file -;; -;; 3. edit the buffer if necessary and save it -- you will be asked -;; for a file name (which should be `tds.texi', of course) -;; -;; 4. run M-x makeinfo-buffer or invoke makeinfo and/or texi2html -;; from the shell -- don't try texi2dvi, it may work all right, -;; but it's not recommended since it will only cause confusion -;; with the DVI file created from the original LaTeX source! -;; - -;; Bugs: -;; -;; * whitespace (esp. blank lines) before and after environments -;; will be inconsistent (should be fixed in the LaTeX version!) -;; -;; * whitespace (esp. indentation) in tdsSummary environments -;; will be inconsistent (should be fixed in the LaTeX version!) -;; -;; * labels are references are assumed to coincide with names -;; of @nodes -- this is not always true, e.g. for MF vs. \MF{} -;; -;; * the last comma in the list of contributors should be a period -;; -;; * the list of contributors should be handled in a better way -;; (currently: LaTeX tabbing -> @quotation -> HTML

) -;; -;; * the contents of the top node may get lost in the texi2html -;; conversion under some circumstances, or else it may end up -;; in the wrong split file -- this seems to be a texi2html bug -;; - -;; History: -;; -;; v 0.0 -- 1996/01/23 UV created -;; v 0.1 -- 1996/01/24 UV first rough version, posted to twg-tds -;; v 0.2 -- 1996/01/24 UV added some commentary and doc strings -;; v 0.3 -- 1996/01/25 UV modularized code, handle header and trailer, -;; call texinfo routines for @nodes and @menus -;; v 0.4 -- 1996/01/27 UV slightly touched-up and some doc fixes, -;; improved handling of legalnotice header -;; v 0.5 -- 1996/01/28 UV more documentation added, code freeze -;; -;; v 1.0 -- 1996/02/20 UV renamed to tds2texi, bumped version number, -;; also fixed a minor typo in "@item samp" -;; v 1.1 -- 1996/11/12 KB no node pointers, no double blank line after -;; sections, allow braces after abbrevs. -;; v 1.2 -- 1996/11/16 KB ??? (see ChangeLog) -;; v 1.3 -- 1996/11/18 UV added translation for umlaut accents, -;; added tds2texi-direntry header lines, -;; added function tds2texi-fixup-texinfo, -;; fixed bug when combining multiple "@file"s. - - -;;; Code: - -(require 'texinfo) ; needed to update @nodes and @menus - -;; file name variables - -(defvar tds2texi-source-file "tds.tex" - "File name of TDS LaTeX source to be converted.") - -(defvar tds2texi-target-file "tds.texi" - "File name of TDS Texinfo source to be created.") - -(defvar tds2texi-filename "tds.info" - "File name of Info file to be inserted in Texinfo header.") - -(defvar tds2texi-direntry - (concat - "@dircategory TeX\n" - "@direntry\n" - "* TeX Directories: (tds). A directory structure for TeX files.\n" - "@end direntry\n")) - -;; translation tables - -(defvar tds2texi-logos-alist - '(("{\\TeX}" . "TeX") ; when only doing Info - ("\\TeX{}" . "TeX") ; no need to use "@TeX{}" - ("{\\LaTeX}" . "LaTeX") - ("\\LaTeX{}" . "LaTeX") - ("{\\LaTeXe}" . "LaTeX2e") - ("\\LaTeXe{}" . "LaTeX2e") - ("{\\AmS}" . "AMS") - ("\\AmS{}" . "AMS") - ("{\\AMSTeX}" . "AMS-TeX") - ("\\AMSTeX{}" . "AMS-TeX") - ("\\MF{}" . "Metafont") - ("\\MP{}" . "MetaPost") - ("\\BibTeX{}" . "BibTeX") - ("{\\iniTeX}" . "INITEX") - ("\\iniTeX{}" . "INITEX") - ("{\\iniMF}" . "INIMF") - ("\\iniMF{}" . "INIMF") - ("{\\iniMP}" . "INIMP") - ("\\iniMP{}" . "INIMP") - ("{\\PS}" . "PostScript") - ("\\PS{}" . "PostScript") - ("{\\copyright}" . "@copyright{}") - ) - "List of TeX logos and their replacement text after conversion.") - -(defvar tds2texi-logos-regexp-1 "\\(\\\\[A-Za-z]+{}\\)" - "Regexp for TeX logos to be converted using `tds2texi-logos-alist'.") - -(defvar tds2texi-logos-regexp-2 "\\({\\\\[^}]+}\\)" - "Regexp for TeX logos to be converted using `tds2texi-logos-alist'.") - -;; - -(defvar tds2texi-tags-alist - '(("\\emphasis" . "@emph") - ("\\citetitle" . "@cite") - ("\\literal" . "@file") - ("\\replaceable" . "@var") - ("\\command" . "@code") ; defined, but not used - ;; ("\\application" . "@r") ; unnecessary, but ... - ;; ("\\abbr" . "@sc") ; unnecessary, but ... - ) - "List of markup tags and their replacement text after conversion.") - -(defvar tds2texi-tags-regexp "\\(\\\\[a-z]+\\)" - "Regexp for markup tags to be converted using `tds2texi-tags-alist'.") - -;; - -(defvar tds2texi-env-alist - '(("\\begin{ttdisplay}" . "@example") - ("\\end{ttdisplay}" . "@end example") - ("\\begin{tdsSummary}" . "@example") - ("\\end{tdsSummary}" . "@end example") - ("\\begin{enumerate}" . "@enumerate") - ("\\end{enumerate}" . "@end enumerate") - ("\\begin{enumerate-squeeze}" . "@enumerate") - ("\\end{enumerate-squeeze}" . "@end enumerate") - ("\\begin{itemize}" . "@itemize @bullet") - ("\\end{itemize}" . "@end itemize") - ("\\begin{itemize-squeeze}" . "@itemize @bullet") - ("\\end{itemize-squeeze}" . "@end itemize") - ("\\begin{description}" . "@itemize @bullet") - ("\\end{description}" . "@end itemize") - ("\\begin{description-squeeze}" . "@itemize @bullet") - ("\\end{description-squeeze}" . "@end itemize") - ("\\begin{legalnotice}" . "@titlepage") ; special hack - ("\\end{legalnotice}" . "@end titlepage") - ("\\begin{tabbing}" . "@quotation") ; special hack - ("\\end{tabbing}" . "@end quotation") - ) - "List of environments and their replacement text after conversion.") - -(defvar tds2texi-env-regexp "\\(\\\\\\(begin\\|end\\){[^}]+}\\)" - "Regexp for environments to be converted using `tds2texi-env-alist'.") - - -;;; some utility functions - -(defun tds2texi-string-replace (x-string x-replace) - "Searches for occurences of X-STRING, replacing them by X-REPLACE." - (save-excursion - (while (search-forward x-string nil t) - (replace-match x-replace t t)))) ; use fixed case! - -(defun tds2texi-regexp-replace (x-regexp x-replace) - "Searches for occurences of X-REGEXP, replacing them by X-REPLACE." - (save-excursion - (while (re-search-forward x-regexp nil t) - (replace-match x-replace t nil)))) ; use fixed case! - - -(defun tds2texi-alist-replace (x-regexp x-alist) - "Searches for ocurrences of X-REGEXP, replacing them using X-ALIST. -If no match is found in X-ALIST, leaves the original text unchanged." - (save-excursion - (let (x-match - x-replace) - (while (re-search-forward x-regexp nil t) - (setq x-match (match-string 1)) - (setq x-replace (or (cdr (assoc x-match x-alist)) x-match)) - (replace-match x-replace t t))))) ; use fixed case! - - -;;; the main conversion function - -(defun tds2texi-convert () - "Have a try at converting LaTeX to Texinfo. Good luck!" - (interactive) - - ;; get a buffer to operate on and insert the LaTeX source - (set-buffer (get-buffer-create tds2texi-target-file)) - (erase-buffer) - (insert-file-contents-literally tds2texi-source-file) - - ;; tab characters can mess up tds-summary envrionments, - ;; so get rid of them as soon as possible - (untabify (point-min) (point-max)) - (goto-char (point-min)) - - ;; do the conversion steps for the text body - (tds2texi-do-simple-tags) ; mostly general - (tds2texi-do-fancy-logos) ; mostly specific to TDS - (tds2texi-do-sectioning) ; mostly general - (tds2texi-do-markup-tags) ; mostly specific to TDS - (tds2texi-do-environments) ; partly specific to TDS - - ;; do the conversion for header and trailer - (tds2texi-do-header) ; partly specific to TDS - (tds2texi-do-trailer) ; partly specific to TDS - - ;; standard Texinfo functions - ; (texinfo-every-node-update) ; I don't like the extra node pointers. - (texinfo-all-menus-update) - (texinfo-master-menu nil) - - (tds2texi-fixup-texinfo) - - ;; all that's left to do is saving the buffer to a file - ;; -- we simply select the buffer and leave saving it to - ;; the user in case some manual intervention is needed - (switch-to-buffer tds2texi-target-file) - ) - - -;;; various steps of the conversion process - -(defun tds2texi-do-simple-tags () - "First step of \\[tds2texi-convert]. Not useable by itself." - - ;; literal `@' -- should come before anything else, since it's - ;; the Texinfo control character. - (tds2texi-regexp-replace "\\([^\\\\]\\)@" "\\1@@") - - ;; fancy spacing -- should come early before we have many `@' - - ;; "\@" -- space factor corrections before sentence end `.' - (tds2texi-regexp-replace "\\\\@\\." "@.") - ;; "\ " -- control space after `.' in the middle of sentences. Also - ;; converts \\ to \. - (tds2texi-regexp-replace "\\.\\\\\\([ \n]+\\)" ".@:\\1") - ;; "\ " -- control space used otherwise - (tds2texi-regexp-replace "\\\\\\([ \n]+\\)" "\\1") - - ;; "\," -- thin space used with dimensions like "dpi" or "pt" - (tds2texi-regexp-replace "\\\\,\\([a-z]+\\)" "@dmn{\\1}") - - ;; "\\" -- forced line breaks in references, where it's always - ;; preceded by a :. Previous "\ " conversion reduced \\ to \. - (tds2texi-string-replace ":\\ " ":@*\n") - - ;; "\"" -- accents etc.: - (tds2texi-string-replace "\\\"" "@\"") - (tds2texi-string-replace "\\ss" "@ss") - - ;; special TeX characters that needn't be quoted in Texinfo: - (tds2texi-string-replace "\\_" "_") - (tds2texi-string-replace "\\&" "&") - (tds2texi-string-replace "\\%" "%") - - ;; special TeX characters that we prefer to transliterate: - (tds2texi-regexp-replace "\\\\slash[ ]*" "/") - - ;; we could translate $...$ into @math{...}, but why bother - ;; when we can transliterate it easily? - (tds2texi-string-replace "$" "") - (tds2texi-string-replace "\\pm" "+-") -) - - -(defun tds2texi-do-fancy-logos () - "Second step of \\[tds2texi-convert]. Not useable by itself." - - ;; fancy TeX logos -- these are used in arguments of sections, - ;; so we have to do them early before doing sectioning commands. - (tds2texi-alist-replace tds2texi-logos-regexp-1 tds2texi-logos-alist) - (tds2texi-alist-replace tds2texi-logos-regexp-2 tds2texi-logos-alist) - - ;; acronyms -- these are also used in arguments of sections. - ;; There's no need to use @sc markup, just upcase the argument. - (save-excursion - (while (re-search-forward "\\\\abbr{\\([^}]+\\)}" nil t) - (replace-match (upcase (match-string 1)) nil t))) - - ;; applications -- similar to acronyms, so done here as well. - ;; There's no need to use @r markup either, it's the default! - (tds2texi-regexp-replace "\\\\application{\\([^}]+\\)}" "\\1") - ) - - -(defun tds2texi-do-sectioning () - "Third step of \\[tds2texi-convert]. Not useable by itself." - - ;; first do @chapter and @appendix by narrowing - (save-excursion - (save-restriction - (narrow-to-region - (point-min) (search-forward "\\appendix" nil t)) - (goto-char (point-min)) - (tds2texi-regexp-replace - "\\\\section{\\([^}]+\\)}[ ]*" "@node \\1\n@chapter \\1") - )) - (save-excursion - (save-restriction - (narrow-to-region - (search-forward "\\appendix" nil t) (point-max)) - (tds2texi-regexp-replace - "\\\\section{\\([^}]+\\)}[ ]*" "@node \\1\n@appendix \\1") - )) - - ;; @section and @subsection are just shifted a level up - (tds2texi-regexp-replace - "\\\\subsection{\\([^}]+\\)}[ ]*" "@node \\1\n@section \\1") - (tds2texi-regexp-replace - "\\\\subsubsection{\\([^}]+\\)}[ ]*" "@node \\1\n@subsection \\1") - - ;; now we no longer need \appendix as a marker - (tds2texi-regexp-replace "\\\\appendix[ ]*\n" "") - - ;; \newpage can go as well - (tds2texi-regexp-replace "%?\\\\newpage[ ]*\n" "") - - ;; \labels are redundant since we have @nodes - (tds2texi-regexp-replace "\\\\label{sec:\\([^}]+\\)}[ ]*\n" "") - - ;; \refs now refer to @nodes instead of \labels - (tds2texi-regexp-replace "\\\\ref{sec:\\([^}]+\\)}" "@ref{\\1}") - ) - - -(defun tds2texi-do-markup-tags () - "Fourth step of \\[tds2texi-convert]. Not usable by itself." - - ;; special tags -- for \CTAN, we must used fixed-case replace! - (tds2texi-string-replace "\\the\\tdsVersion" "@value{version}") - (tds2texi-string-replace "\\texmf{}" "@file{texmf}") - (tds2texi-string-replace "\\CTAN:" "@file{@var{CTAN}:}") - - ;; convert simple tags without expanding their arguments: - ;; \emphasis, \citetitle, \literal, \replaceable - (tds2texi-alist-replace tds2texi-tags-regexp tds2texi-tags-alist) - - ;; \\systemitem -- a silly tag with an extra argument that - ;; isn't printed. It is used exactly once! - (tds2texi-regexp-replace - "\\\\systemitem{\\([^}]+\\)}{\\([^}]+\\)}" "@file{\\2}") - - ;; \path, \url -- here we can't avoid shuffling the argument - (tds2texi-regexp-replace "\\\\path|\\([^|]+\\)|" "@file{\\1}") - (tds2texi-regexp-replace "\\\\url|\\([^|]+\\)|" "@uref{\\1}") - (tds2texi-regexp-replace "\\\\email|\\([^|]+\\)|" "@email{\\1}") - - ;; After turning \replaceable into @var above we now have to - ;; turn @var{...} into @file{@var{...}} to get quotation marks - ;; around file names consistent. (Read: those extra quotation - ;; marks inserted automatically by makeinfo in the @file tag.) - - ;; For simplicity we first do the change everywhere and then - ;; undo it again inside `ttdisplay' environments, where we - ;; can leave @var by itself as @file isn't used there anyway. - - (tds2texi-regexp-replace "@var{\\([^}]+\\)}" "@file{@var{\\1}}") - (save-excursion - (while (search-forward "\\begin{ttdisplay}" nil t) - (save-restriction - (narrow-to-region - (point) (search-forward "\\end{ttdisplay}" nil t)) - (goto-char (point-min)) - (tds2texi-regexp-replace "@file{@var{\\([^}]+\\)}}" "@var{\\1}") - ))) - - ;; eliminate redundant quotation marks around @file - (tds2texi-regexp-replace "``\\(@file{[^}]+}\\)''" "\\1") - (tds2texi-regexp-replace "`\\(@file{[^}]+}\\)'" "\\1") - - ;; ... and combine multiple @file{}s in one line - (tds2texi-regexp-replace - "@file{\\([^ ]+\\)}@file{\\([^ ]+\\)}@file{\\([^ ]+\\)}" "@file{\\1\\2\\3}") - (tds2texi-regexp-replace - "@file{\\([^ ]+\\)}@file{\\([^ ]+\\)}" "@file{\\1\\2}") - - ;; ... also simplify cases of nested @file{}s - (tds2texi-regexp-replace - "@file{@file{\\([^ ]+\\)}\\([^ ]+\\)}" "@file{\\1\\2}") - - ;; literal `~' -- if it hasn't been converted to space earlier, - ;; we can now do the conversion to @w{word1 word2} without - ;; running the risk of confusion the regexp matcher somewhere. - ;; Unfortunately @w will get lost again in the HTML conversion - ;; because   or   are not yet standard HTML tags. - (tds2texi-string-replace "~" "@tie{}") - ) - - -(defun tds2texi-do-environments () - "Fifth step of \\[tds2texi-convert]. Not useable by itself." - - ;; convert \begin and \end of environments - (tds2texi-alist-replace tds2texi-env-regexp tds2texi-env-alist) - - ;; convert \items - (tds2texi-string-replace "\\item" "@item") - - ;; insert newlines after description items where appropriate - (tds2texi-regexp-replace - "@item\\[\\([^]]+\\)\\][ ]*\n" "@item \\1\n") - (tds2texi-regexp-replace - "@item\\[\\([^]]+\\)\\][ ]*" "@item \\1\n") - - ;; insert newlines after @item @file, also replace @item @file - ;; by @item @samp -- this is done because it may look nicer - ;; in the HTML version, but it depends on the style sheet used - (tds2texi-regexp-replace - "@item @file\\([^,\n]*\\),[ ]*" "@item @samp\\1,\n") - (tds2texi-regexp-replace - "@item @file" "@item @samp") - ) - - -;;; handling the header and trailer - -(defun tds2texi-do-header () - "Convert LaTeX header to Texinfo. Used in \\[tds2texi-convert]." - (let (title-string - author-string - version-string) - - ;; collect information - (save-excursion - (re-search-forward "\\\\tdsVersion{\\(.*\\)}" nil t) - (setq version-string (match-string 1)) - (re-search-forward "\\\\title{\\(.*\\)}" nil t) - (setq title-string (match-string 1)) - (re-search-forward "\\\\author{\\(.*\\)}" nil t) - (setq author-string (match-string 1)) - ) - - ;; discard information lines - (tds2texi-regexp-replace "\\\\title{.*}[ ]*\n" "") - (tds2texi-regexp-replace "\\\\author{.*}[ ]*\n" "") - (tds2texi-regexp-replace "\\\\tdsVersion{.*}[ ]*\n\n" "") - - ;; discard pre-title lines - (tds2texi-regexp-replace "%&latex[ ]*\n" "") - (tds2texi-regexp-replace "\\\\NeedsTeXFormat.*\n" "") - - ;; convert \documentclass to \input texinfo - (tds2texi-regexp-replace "\\\\documentclass.*\n\n" "\\\\input texinfo\n") - - ;; insert Texinfo header lines - (save-excursion - (goto-char (search-forward "texinfo\n" nil t)) - (insert "@setfilename " tds2texi-filename "\n") - (insert "@settitle " title-string "\n\n") - (insert "@set version " version-string "\n\n") - (insert tds2texi-direntry "\n") - ) - - ;; discard \begin{document} and \maketitle - (tds2texi-regexp-replace "\\\\begin{document}[ ]*\n\n" "") - (tds2texi-regexp-replace "\\\\maketitle[ ]*\n\n" "") - - ;; copy contents of `legalnotice' environments - (save-excursion - (let ((begin (search-forward "@titlepage\n\n" nil t)) - (end (progn - (search-forward "@end titlepage" nil t) - (match-beginning 0)))) - (copy-region-as-kill begin end) - )) - - ;; insert stuff for title page before `legalnotice' environment - ;; -- \begin{legalnotice} has been converted to @titlepage - (save-excursion - (goto-char (search-forward "@titlepage\n" nil t)) - (insert "@title " title-string "\n") - (insert "@subtitle Version @value{version}\n") - (insert "@author " author-string "\n\n") - (insert "@page\n@vskip 0pt plus 1filll\n") - ) - - ;; insert stuff for @node Top and master menu after `legalnotice' - ;; -- \end{legalnotice} has been converted to @end titlepage - (save-excursion - (goto-char (search-forward "@end titlepage\n\n" nil t)) - - (insert "@ifnottex\n") - (insert "@node Top\n@top " title-string "\n\n") - - ;; insert contents of `legalnotice' copied above - (yank) ; should include a "\n\n" at the end - - (insert "@menu\n@end menu\n") - (insert "@end ifnottex\n\n") - ) - - ;; discard \tableofcontents -- @contents belongs in the trailer - (tds2texi-regexp-replace "\\\\tableofcontents[ ]*\n\n" "") - )) - -(defun tds2texi-do-trailer () - "Convert LaTeX trailer to Texinfo. Used in \\[tds2texi-convert]." - - ;; The list of contributors is a LaTeX tabbing environment, which - ;; is difficult to convert -- we convert it to a normal paragraph - ;; inside a @quotation environment, so it gets indented a little. - - ;; Conversion of the tabbing environment is already done elsewhere, - ;; so we just have to remove some redundant tags. - - ;; discard alignment preamble consisting of lines starting with - ;; \hspace{0.25\linewidth}. We use \hspace in other places too. - (tds2texi-regexp-replace "\\\\hspace.*\n" "") - - ;; convert "\>" and "\\" in tabbing environment to comma - (tds2texi-regexp-replace " +\\\\>[ ]*" ", ") - - ;; In the earlier conversion of "\ ", "\\" followed by newline - ;; was already converted to "\", so we just have to convert - ;; the remaining instances of "\" followed by space or newline. - (tds2texi-regexp-replace "\\s +\\\\\\s +" ", ") - - ;; convert \end{document} to @contents and @bye - (tds2texi-string-replace "\\end{document}" - "@iftex\n@contents\n@end iftex\n@bye") - ) - -(defun tds2texi-fixup-texinfo () - "Fix up a few last-minute items. Used in \\[tds2texi-convert]." - - ;; Fix the reference to the node name with the logo. - (tds2texi-string-replace "Non-font MF" "Non-font Metafont") - ) - -;;; tds2texi.el ends here diff --git a/tds/tdsguide.cls b/tds/tdsguide.cls deleted file mode 100644 index 4526776258..0000000000 --- a/tds/tdsguide.cls +++ /dev/null @@ -1,845 +0,0 @@ -% $Id: tdsguide.cls,v 1.19 2004/03/28 14:21:10 karl Exp $ -% LaTeX document class tdsguide -% (history at end) -% -% This class provides markup & layout for the TDS report. -% -\NeedsTeXFormat{LaTeX2e}[1994/12/01] % star-form of \CheckCommand, etc. - - -% The code below is explained in the implementation documentation of the -% rcs package. - -\begingroup - \def\RCSClass#1#2 $#3: #4 #5\endRCS $#6: #7 #8\endRCS{% - \def\date{#4}\def\id{v#7}% - \ProvidesClass{#1}[\date\space\id\space #2]% - } - - \RCSClass{tdsguide}{markup and layout for TDS document} - $Date: 2004/03/28 14:21:10 $: 9999/00/00 \endRCS - $Revision: 1.19 $: 0.0 \endRCS -\endgroup - - -% default setup -\ifx \CatEscape\undefined - \chardef\CatEscape=0 - \chardef\CatOpen=1 - \chardef\CatClose=2 - \chardef\CatIgnore=9 - \chardef\CatLetter=11 - \chardef\CatOther=12 - \chardef\CatActive=13 - - \chardef\CatUsCode=\catcode`\_ -\fi - - - -%%% ====================================================================== - -% -% OPTIONS -% - -\catcode`\_=\CatLetter - - -% We can select to use Roman for METAFONT/METAPOST logos by the -% nomflogo option. That should be done if no current logo fonts (with -% `P' & `S') are available. Of course, it would be best to install -% current fonts. -% The mflogo options is provided for upward compatibility. - -\let\tds_mflogo\relax -\DeclareOption{nomflogo}{% - \def\tds_mflogo{\let\textlogo\tds@transfer@logo} % gimme refinements! :( - } -\DeclareOption{mflogo}{} - - -\newif\ifTdsDraft - \TdsDraftfalse -\DeclareOption{draft}{% - \TdsDrafttrue - \PassOptionsToClass{\CurrentOption}{article}% - } -\DeclareOption{final}{% - \TdsDraftfalse - \PassOptionsToClass{\CurrentOption}{article}% - } - - -\catcode`\_=\CatUsCode - - -%%% ------------------------------------------------------------ - - -% -% CONFIGURATION, INHERITANCE, AND OTHER MODULES -% - - -% configure this class - -\InputIfFileExists{tdsguide.cfg}{% - \typeout{*************************************^^J% - *^^J% - * Local config file tdsguide.cfg used^^J% - *^^J% - *************************************% - }% - }{} - - -% inherit article class - -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} -\ProcessOptions -\LoadClass{article} - - -% add more modules - -\RequirePackage{url} % file names & email addresses -\RequirePackage{mflogo} % MF & MP logos (but see below) -%\RequirePackage{hyperref} % navigation specials in .dvi -\RequirePackage{fancyhdr} % rev. no & draft notice in headers - -% Put hypertext links in the DVI file on the URL's: -% \def\UrlLeft#1\UrlRight{\special{html:}#1\special{html:}} -% Don't do this because xdvi doesn't know what do with ftp url's, which -% is the vast majority of links; also because we use the url package for -% mere directory names. - - -%%% ============================================================ - - -% -% NEW MARKUP -% - -\catcode`\_=\CatLetter - -% info about original SGML files - -\def\sourcefile#1{} -\def\formatterfile#1{} - -% revision number (should use rcs package) - -\newtoks\tdsVersion - - - -% -% RENDER DOCUMENT-SPECIFIC MARKUP -% - -% categories for terms - -% typewriter type. -% `_', `\_', and `\\' produce respective chars. - -\def\tds_tt{% - \begingroup - \catcode`\_=\CatOther - \chardef\_=`\_ - \chardef\\=`\\ - \tds_tt_set - } -\def\tds_tt_set#1{% - \ttfamily - #1% - \endgroup - } - -\def\systemitem#1{\tds_tt} -\def\replaceable#1{{\rmfamily $\langle$\textit{#1}$\rangle$}} -\let\command=\tds_tt -\def\application#1{\textrm{#1}} -\let\literal=\tds_tt -\let\email=\url - -% \abbr may be called with lowercase & uppercase letters, actually all -% abbreviations are to be typeset with reduced-size uppercase letters. -% (That lowercase letters are used as arguments was a half-hearted -% attempt by Norm who did use small caps at this time.) `Reduced size' -% means one point smaller than the current size. If the reduced size -% is larger than 12pt, we issue a warning; if no font-generating -% driver is used, this situation will lead to character replacements -% most probably. -% -% This macro may be written to an auxilliary file, we must not use -% underscores in its name. - -\DeclareRobustCommand\tds@reduced@size{% - \dimen@\f@size\p@ - \advance \dimen@ -\p@ % dimen@ = font_size - 1 - \ifdim \dimen@ >12\p@ - \@font@warning{% -Using font size `\the\dimen@' for abbreviations. That might lead% -\MessageBreak -to character replacements if you don't use a driver that\MessageBreak -generates fonts.}% - \fi - \math@fontsfalse - \fontsize{\the\dimen@}\z@ - \selectfont - } -\def\abbr#1{{\tds@reduced@size \uppercase{#1}}} - -% references - -\let\xref\relax -\let\citetitle=\textit - -% aliases for LaTeX markup - -\let\emphasis=\emph - -% environment `legalnotice', part of front matter - -\let\legalnotice=\par -\let\endlegalnotice=\par - -% environment `ttdisplay', used to explicate some fact. Basically, -% it's the alltt environment without parskip and with an additional -% level of indentation. - -\def\ttdisplay{% - \begingroup - \list{}{% - \parsep\z@skip % no skip before env - \parskip\z@skip - \relax - }% - \item\relax - \parshape\z@ - %% code below is copied from alltt.dtx. - \leftskip\@totalleftmargin - \@tempswafalse - \def\par{% - \if@tempswa - \leavevmode\null\@@par\penalty\interlinepenalty - \else - \@tempswatrue - \ifhmode - \@@par - \penalty\interlinepenalty - \fi - \fi - }% - \obeylines - \verbatim@font - \let\org@prime~% - \@noligs - \everymath \expandafter{\the\everymath \let~\org@prime}% - \everydisplay \expandafter{\the\everydisplay \let~\org@prime}% - \let\org@dospecials\dospecials - \g@remfrom@specials{\\}% - \g@remfrom@specials{\{}% - \g@remfrom@specials{\}}% - \let\do\@makeother \dospecials - \let\dospecials\org@dospecials - \frenchspacing\@vobeyspaces - \everypar \expandafter{\the\everypar \unpenalty}% - %} - } -\def\endttdisplay{% - \endlist - \endgroup - \vskip -\parskip % undo skip after env - } - -% Code below is from alltt.dtx. I don't understand why it's not part -% of the LaTeX kernel. -\def\g@remfrom@specials#1{% - \def\@new@specials{}% - \def\@remove##1{% - \ifx ##1#1% - \else - \g@addto@macro\@new@specials{\do ##1}% - \fi - }% - \let\do\@remove \dospecials - \let\dospecials\@new@specials - } - - - - -%%% ------------------------------------------------------------ - - -% -% LOGOS -% - - -% Some of them are rather document-specific. - -\def\texmf{\path|texmf|} -\def\CTAN:{\replaceable{\abbr{CTAN}:}} - - -% Actually, I should use my logos package for the rest... [-js] - -% The AmS definition is from AmS-LaTeX, that's more stable in this -% document's context than the one from AmS-TeX. -\def\AmS{% - \begingroup - \protect\usefont{OMS}{cmsy}{m}{n}% - A\kern-.1667em \lower.5ex\hbox{M}\kern-.125em S% - \endgroup - } -\def\AMSTeX{\AmS-\TeX} - -\def\iniTeX{\texttt{INITEX}\@} -\def\iniMF{\texttt{INIMF}\@} -\def\iniMP{\texttt{INIMP}\@} - -\def\PS{\textsc{PostScript}} - - -% If we don't use logo fonts, both the Metafont and the MetaPost logo -% is typeset in the current font, as shown in this comment. The macros -% `\MF' & `\MP' expand to two \textfont macros, with uppercase -% syllables as arguments. We check for the syllable `FONT', this has -% to be typeset in lowercase. All other syllables are capitalized. - -\def\tds_logo_fontarg{FONT} -\DeclareRobustCommand\tds@transfer@logo[1]{% - \def\tds_arg{#1}% - \ifx \tds_arg\tds_logo_fontarg - font% - \else - \tds_capitalize#1\tds_argend - \fi - } -\def\tds_capitalize#1#2\tds_argend{% - \uppercase{#1}\lowercase{#2}% - } - -\tds_mflogo - - -% Use a small caps fake for BibTeX's `ib'. This way we can typeset it -% in bold face or sans-serif, too. The code is copied from the LaTeX -% logo definition, from ltlogos.dtx. - -\DeclareRobustCommand\tds@smsize{% - $\m@th$% % force math size calculation - \csname S@\f@size\endcsname - \fontsize\sf@size\z@ - \math@fontsfalse \selectfont - } - -\def\BibTeX{B\kern-.05em{\tds@smsize IB}\kern-.08em\TeX} - - -%%% ============================================================ - -% -% TDS SUMMARIES -% - -% Typeset a figure that shows the TeX directory layout. The layout is -% input with optical markup: -% -% \begin{tdsSummary} -% dir/ explanation of dir -% . subdir/ explanation of subdir -% . . subsubdir/ next subdir level -% . dir/dir/ more than one dir in one line -% . / explanation of category -% \end{tdsSummary} -% -% Directories and category names don't have dots. - -% We transform that input into a table. The first table column (the -% directory spec) is terminated by a slash that's followed by white -% space. Directory names are typeset in monocase. are -% tagged with \replaceable. Subdirectory levels are indented by one -% quad. A quad is placed between columns. The explanation text -% is typeset in one line. - -% As this is a special implementation for a special document, these -% design decisions are hardwired, no protected interface is available. -% Design changes will be realized by changes to the macro code. - - -% The environment is realized as a trivlist to behave correctly in list -% environments. I don't use a tabular environment, since I don't know -% exactly how the first column is tokenized. Instead a halign is used. -% IMO it does not matter, as tdsSummary does not use table markup -% anyhow. If somebody wants to use longer explanations and if they must -% be broken then, I have to use one of the tabulars of the tools bundle. - -% The first column (the directory names) is typeset in typewriter type. The -% font chosen hereby must have the underscore at its ASCII position. If -% that is not the case, one has to generalize \tds_dir_tags below. -% Namely, this macro sets up the special lexical convention for this -% column. As TeX will look at the first token of the column to check for -% the table end, \cr, or \omit before \tds_dir_tags is evaluated, the -% redefinition of the lexical analysis will not have happened for that -% token. So we have to check this token specially if it's one of the -% special optical markup chars. - -% After we started the trivlist, we need to supply the item (as this -% macro really adds the vertical space). But it does not actually -% start an item, it sets up the everypar register to do so. We fake -% the item start as we don't want to go in horizontal mode, \halign -% needs to be evaluated in vertical mode. -% -% \par is not evaluated by \endtrivlist and \end, so we don't need -% another group around its redefinition. - -\def\tdsSummary{% - \trivlist \item\relax - \vskip\parskip - \global\@inlabelfalse \global\@newlistfalse \global\everypar{}% - \tabskip 0pt - \let\par\crcr \obeylines % can't use \obeycr, redefined by LaTeX - % redefine \obeylines to do nothing; url.sty v3.0 calls it, and the - % ^^M character therein causes a `Missing \endgroup inserted' error - % at a \path|...| within a tdsSummary, if it's already defined as \par. - \let\obeylines=\relax - \halign\bgroup - \ttfamily \tds_dir_tags \tds_first_token ##\unskip\hfil &% - \quad ##\unskip\hfil \cr - } -\def\endtdsSummary{% - \crcr - \egroup - \endtrivlist - } - - -% Our special lexical conventions are: `.' denotes the next directory -% level, `<...>' denotes a directory category, and `/' is a column -% separator if it is followed by space or tab, a typeset slash -% otherwise. Underscores don't have any special meaning. - -\begingroup - \catcode`\.=\CatActive - \catcode`\<=\CatActive - \catcode`\/=\CatActive - \catcode`\:=\CatActive - \gdef\tds_dir_tags{% - \catcode`\.=\CatActive \let.=\tds_next_dir_level - \catcode`\<=\CatActive \let<=\tds_dir_category - \catcode`\/=\CatActive \let/=\tds_slash - \catcode`\:=\CatActive \let:=\tds_colon - \catcode`\_=\CatOther - \tt - } -\endgroup - -% There are spaces between the dots, ignore them. - -\def\tds_next_dir_level{\quad \ignorespaces} -\def\tds_dir_category#1>{\replaceable{#1}} - -\chardef\tds_dir_sep=`\/ % typeset a directory separator - -% The slash has to check the stuff behind. If it's a space or a tab, -% \next is bound to the action `blank-space' (the binding of all -% '(space . #\Space) tokens). A tab is usually tokenized to the same -% token, but we care for redefinitions below. -% -\def\tds_slash{% - \futurelet\next \tds_check_dir_end - } - -% For colons in the examples. -% -\def\tds_colon{:&} - -% We need two control sequencess that are bound to the actions currently -% bound to '(space . #\Space) and (tex:parse "\t"). A direct \let -% evaluation is difficult as the lexical analysis collapses subsequent -% spaces to one token. But we need one space token behind the equal -% sign, to be able to \let our cseq to the next space token. The first -% token is stored in the replacement list of a macro, the second token -% comes as its argument. - -\def\tds_let#1#2{\let#1= #2} -\tds_let\tds_space{ } -\tds_let\tds_tab{^^I} - -\def\TdsColSep{/&} % use trailing slashes for dir names - -\def\tds_check_dir_end{% - \ifx \next\tds_space - \let\next\TdsColSep - \else - \ifx \next\tds_tab - \let\next\TdsColSep - \else - \let\next\tds_dir_sep - \fi - \fi - \next - } - - -% We're almost finished with the tdsSummary setup. The stuff above is -% not used for the first column token, as it's already tokenized when -% the catcode changes take effect. So let's check and remap this token -% by hand. Actually, I'm sloppy here; I assume that `/' won't be a -% used as a directory name and that no directory name starts with an -% underscore. But then, I know that this won't happen in TDS... :-) - -\def\tds_first_token{% - \futurelet\next \tds_check_special - } -\def\tds_check_special{% - \ifx \next.% - \def\next{\afterassignment\tds_next_dir_level \let\next}% - \else - \ifx \next<% - \def\next{\afterassignment\tds_dir_category \let\next}% - \else - \let\next\relax - \fi - \fi - \next - } - - - -%%% ============================================================ - -% -% LAYOUT -% - - -% text area size - -% We use the same height as article's default, but increase the width. - -\textwidth=35pc -\oddsidemargin = \paperwidth - \advance\oddsidemargin by -\textwidth - \divide\oddsidemargin by 2 -\evensidemargin = \oddsidemargin -\hoffset = -1in - - -% spacing - -\parindent=0pt % no paragraph indentation -\emergencystretch=2em % fewer overfull hboxes, only a memo - -\parskip=1ex plus 1ex minus .5ex % between paragraphs; if you change it, - % change the spacing in section headers - % below, too! - -% Our spacing for lists is very simplistic, but uniform: We use (almost) -% parskip everywhere, and don't distinguish vertical spacing for -% different list levels. Actually, the latter is the thing we might want -% to introduce later again. - -\labelsep=1.1em % increase distance between item & text -\topsep=0pt % no extra skip above list in paragraph -\partopsep=0pt % no extra skip above list starting par. -\itemsep=0pt % no extra space between items -\parsep=.9\parskip % between paragraphs in items - -\def\@listI{% - \leftmargin\leftmargini - } -\let\@listi\@listI -\@listi - -\def\@listii{% - \leftmargin\leftmarginii - \labelwidth\leftmarginii \advance \labelwidth-\labelsep - } - -\def\@listiii{% - \leftmargin\leftmarginiii - \labelwidth\leftmarginiii \advance \labelwidth-\labelsep - } - - -% Like itemize, but squeeze the items. - -\newenvironment{itemize-squeeze} - {% - \parsep\z@skip - \itemize - }{% - \enditemize - } - -% Ditto, for description. - -\newenvironment{description-squeeze} - {% - \parsep\z@skip - \description - }{% - \enddescription - } - - -% Redefine section headers, different spacing and other fonts. - -\newskip\TdsPreSubSectionSkip - \TdsPreSubSectionSkip = 2.5ex plus 0.5ex minus 0.2ex - -\def\section{% - \@startsection{section}{1}% % name and level - {\z@}% % indentation - {-3ex plus-.75ex minus-.2ex}% % skip above and don't indent next par - {1.5ex plus.2ex}% % skip below - {\reset@font \Large \sffamily}% % type - } -\def\subsection{% - \@startsection{subsection}{2}% % name and level - {\z@}% % indentation - {-\TdsPreSubSectionSkip}% % skip above and don't indent next par - \parskip % skip below - {\reset@font \large \sffamily}% % type - } -\def\subsubsection{% - \@startsection{subsubsection}{3}% % name and level - {\z@}% % indentation - {-\TdsPreSubSectionSkip}% % skip above and don't indent next par - \parskip % skip below - {\reset@font \normalsize \sffamily}% % type - } -\def\paragraph{% - \@startsection{paragraph}{4}% % name and level - {\z@}% % indentation - \TdsPreSubSectionSkip % skip above and indent next par - {-1.5em}% % skip after, run in text - {\reset@font \normalsize \scshape}% % type - } - - -% Table of contents - -\setcounter{tocdepth}{2} % only sections on first two levels - -% Less space between TOC entries, discard the parskip. For that, we -% have to redefine \@starttoc, since no hook is available. -\let\tds_orig_starttoc=\@starttoc -\def\@starttoc#1{% - \begingroup - \parskip\z@skip - \tds_orig_starttoc{#1}% - \endgroup - } - -% Section TOC entries in sans serif, and less space above. The code -% below is copied from the article view on classes.dtx, I have changed -% space and font. But let's first assure that we shouldn't use a newer -% version of this code. -\CheckCommand*\l@section[2]{% - \ifnum \c@tocdepth >\z@ - \addpenalty\@secpenalty - \addvspace{1.0em \@plus\p@}% - \setlength\@tempdima{1.5em}% - \begingroup - \parindent \z@ \rightskip \@pnumwidth - \parfillskip -\@pnumwidth - \leavevmode \bfseries - \advance\leftskip\@tempdima - \hskip -\leftskip - #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par - \endgroup - \fi} -\def\l@section#1#2{% - \ifnum \c@tocdepth >\z@ - \addpenalty\@secpenalty - \addvspace{.75ex \@plus\p@ \@minus\p@}% % was: 1em plus 1pt - \setlength\@tempdima{1.5em}% - \begingroup - \parindent \z@ - \rightskip \@pnumwidth - \parfillskip -\@pnumwidth - \leavevmode \sffamily % was: \bfseries - \advance\leftskip\@tempdima - \hskip -\leftskip - #1\nobreak \hfil \nobreak \hbox to\@pnumwidth{\hss #2}% - \par - \endgroup - \fi} - - -% Not so spacey a title, please. - -\def\@maketitle{% - \null - \kern-90pt \relax \kern0pt - \begin{center}% - {\LARGE \@title \par}% - %\vskip 1.5em% - {\large - \lineskip .5em% - \begin{tabular}[t]{c}% - \@author - \end{tabular}\par}% - \vskip 1em% - {\large version \the\tdsVersion \quad \@date}% - \end{center}% - \par - \vskip 1.5em} - - -% Make labels in the description environment come out in the -% requested type rather than bold. - -\def\descriptionlabel#1{\hspace\labelsep #1} - - -% Headline & footline - -\pagestyle{fancy} - -\lhead{} -\chead{% - \ifTdsDraft draft \fi % <-- space! - TDS version \the\tdsVersion - } -\rhead{} -\renewcommand{\headrulewidth}{0.4pt} - -\lfoot{} -\cfoot{\thepage} -\rfoot{} -\renewcommand{\footrulewidth}{0pt} - - - -%%% ============================================================ - -\catcode`\_=\CatUsCode - -\endinput - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% $Log: tdsguide.cls,v $ -% Revision 1.19 2004/03/28 14:21:10 karl -% (\tdsSummary): \let\obeylines=\relax after we set -% it, so url.sty v3.0's usage of \obeylines does not -% cause errors. -% -% Revision 1.18 1998/01/26 21:26:10 karl -% (\TeXinfo): Remove unused and incorrect name. -% (\parsep): Decrease slightly. -% (\l@section): Decrease section spacing for toc slightly. -% (\@maketitle): Remove word `draft'. -% -% Revision 1.17 1997/02/07 20:47:16 karl -% Fix : in tdsSummary, more doc. -% -% Revision 1.16 1996/11/16 14:23:58 karl -% fancyhdr requires different commands. -% -% Revision 1.13 1995/11/21 18:57:35 schrod -% Add description-squeeze environment. -% -% Revision 1.12 1995/11/14 18:33:18 schrod -% Drop draft hint in legalnotice environment, make title more -% squeezed. Changes by Karl, to make title & toc fit on one page. -% -% Revision 1.11 1995/11/14 12:36:54 schrod -% Use url.sty instead of path.sty. (On request of Karl, better input -% syntax and different line breaks [0.103].) -% Rename environment explicate to ttdisplay. (Proposal of Karl.) -% -% Revision 1.10 1995/11/11 16:29:01 schrod -% Identify version of class in log file. -% Change layout of table of contents. Implementation of a discussion -% between Karl Berry and myself. -% -% Revision 1.9 1995/11/11 15:43:34 schrod -% Replace alltt environment by explicate environment. Change -% requested by Karl at 09 Nov 95. -% -% Revision 1.8 1995/11/02 10:52:29 schrod -% Add option nomflogo, mflogo is default now. -% Don't need provision for slanted typewriter type any more, -% replacable texts are set in italics now. -% Add logos \texmf and \CTAN:. [kb] -% Set margins in addition to \textwidth. It's a bit wider, too. [kb] -% Wider distance between item label and item text. [kb] -% New environment itemize-squeeze, without space between items. [kb] -% -% Revision 1.7 1995/05/18 09:06:39 schrod -% Don't parse arguments unnecessarily early, one might change -% catcodes in them. -% Use \tds_tt to switch to typewriter, also typesets backslashs and -% underscores [kb]. -% Increase width to 33pc [kb]. -% -% Revision 1.6 1995/05/12 23:19:07 schrod -% \f@size may be a fraction, so use dimension register to compute -% the reduced size for abbreviations [dc]. -% In summary tables, terminate the directory names with slashes [kb, nw]. -% -% Revision 1.5 1995/05/09 01:46:24 schrod -% Typeset abbreviation one point smaller than surrounding font [uv, -% kb, bb], use always uppercase letters for them. Rename the tag from -% \acronym to \abbr [kb, nw]. -% -% Revision 1.4 1995/05/09 00:39:57 schrod -% Repair vertical spacing around tdsSummary environment. -% -% Revision 1.3 1995/05/08 17:14:52 schrod -% For TDS 0.72 Norm changed the document to use \abbr (argument with -% lowercase letters) instead of \acronym. It's not looking better, of -% course; small caps is not really a good font for abbreviations. This -% revision just tracks his change, I'll look later if I can improve the -% rendering. -% -% Revision 1.2 1995/05/07 18:22:53 schrod -% In environment tdsSummary: Next directory level indented by one -% quad, without dots for indentation [kb, !uv, js]. -% Renamed Draft flag to TdsDraft, to keep namespace clean. -% Headline now features a centered short title [kb, uv, nw]. It's -% still ruled. -% \replaceable used spurious \selectfont [uv]. \dir & \ext are not -% used [uv]. -% Subsubsections are also numbered and not indented [uv]. But they -% are still not added to the table of contents. Actually, we have only -% _one_ subsubsection... -% Set erroneously counter `secnumdepth' when I wanted fewer section -% headings in the table of contents. That's controlled by counter -% `tocdepth' [uv]. -% Inherit tdsguide from article class, not from ltxguide. The tags -% of the latter class are not appropriate and we define our layout -% ourselves. -% - -% -% pre-CVS Log: -% -% 19 Apr 95 js Made a LaTeX2e class. -% Use mflogo option to select MF/MP logo typesetting, -% support configuration file. -% 1994-1995 nw Initial revision. - - - -%%%------------------------------------------------------------ - -% mode: LaTeX -% Local Variables: -% TeX-brace-indent-level: 4 -% indent-tabs-mode: t -% TeX-auto-untabify: nil -% TeX-auto-regexp-list: LaTeX-auto-regexp-list -% page-delimiter: "^%%%" -% End: diff --git a/timestamp b/timestamp index 3a4db99cdb..8c442f8582 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-09-22-02-02 +2022-09-23-02-02 -- cgit v1.2.3