summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname604
-rw-r--r--FILES.byname.gzbin2514885 -> 2515303 bytes
-rw-r--r--FILES.last07days491
-rw-r--r--biblio/ctan-bibdata/ctan.bib45
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3652128 -> 3651462 bytes
-rw-r--r--fonts/newcomputermodern/README9
-rw-r--r--fonts/newcomputermodern/doc/newcm-doc.pdfbin248638 -> 191073 bytes
-rw-r--r--fonts/newcomputermodern/doc/newcm-doc.tex2
-rw-r--r--fonts/newcomputermodern/otf/NewCM08-Book.otfbin1239724 -> 597492 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM08-BookItalic.otfbin1446420 -> 618888 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM08-Italic.otfbin848104 -> 537240 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM08-Regular.otfbin528944 -> 516976 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM10-Bold.otfbin530316 -> 495400 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM10-BoldItalic.otfbin546136 -> 445800 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM10-Book.otfbin1205680 -> 591560 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM10-BookItalic.otfbin1199252 -> 551020 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM10-Italic.otfbin616796 -> 464808 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCM10-Regular.otfbin571340 -> 567744 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMath-Book.otfbin2161432 -> 1139340 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMath-Regular.otfbin1230316 -> 1006396 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMono10-Bold.otfbin307620 -> 297488 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otfbin672288 -> 672176 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMono10-Book.otfbin879708 -> 421548 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otfbin1133732 -> 496348 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMono10-Italic.otfbin782220 -> 399576 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMMono10-Regular.otfbin344328 -> 337184 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans08-Book.otfbin628960 -> 374644 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otfbin703180 -> 391224 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans08-Oblique.otfbin690332 -> 360068 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans08-Regular.otfbin560184 -> 365780 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans10-Bold.otfbin354120 -> 328912 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otfbin691268 -> 360944 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans10-Book.otfbin611912 -> 368828 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otfbin637656 -> 348532 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans10-Oblique.otfbin317644 -> 284576 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMSans10-Regular.otfbin332464 -> 318516 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMUncial08-Bold.otfbin21744 -> 22404 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMUncial08-Book.otfbin20556 -> 23244 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMUncial08-Regular.otfbin22428 -> 22508 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMUncial10-Bold.otfbin23792 -> 21124 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMUncial10-Book.otfbin20472 -> 22912 bytes
-rw-r--r--fonts/newcomputermodern/otf/NewCMUncial10-Regular.otfbin30240 -> 30256 bytes
-rw-r--r--fonts/newcomputermodern/source.txzbin0 -> 12812592 bytes
-rw-r--r--graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdfbin446758 -> 450025 bytes
-rw-r--r--graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex34
-rw-r--r--graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdfbin445895 -> 451134 bytes
-rw-r--r--graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex34
-rw-r--r--graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty107
-rw-r--r--macros/jptex/latex/platex-tools/LICENSE2
-rw-r--r--macros/jptex/latex/platex-tools/README.md2
-rw-r--r--macros/jptex/latex/platex-tools/plarray.tex2
-rw-r--r--macros/jptex/latex/platex-tools/pldocverb.tex2
-rw-r--r--macros/jptex/latex/platex-tools/plextarray.pdfbin78889 -> 79300 bytes
-rw-r--r--macros/jptex/latex/platex-tools/plextarray.sty6
-rw-r--r--macros/jptex/latex/platex-tools/plextarray.tex2
-rw-r--r--macros/jptex/latex/platex-tools/plextcolortbl.tex2
-rw-r--r--macros/jptex/latex/platex-tools/plextdelarray.tex2
-rw-r--r--macros/jptex/latex/platex-tools/pxatbegshi.tex2
-rw-r--r--macros/jptex/latex/platex-tools/pxeverysel.tex2
-rw-r--r--macros/jptex/latex/platex-tools/pxeveryshi.tex2
-rw-r--r--macros/jptex/latex/platex-tools/pxxspace.pdfbin36240 -> 37311 bytes
-rw-r--r--macros/jptex/latex/platex-tools/pxxspace.sty7
-rw-r--r--macros/jptex/latex/platex-tools/pxxspace.tex4
-rw-r--r--macros/jptex/latex/platex/README.md2
-rw-r--r--macros/jptex/latex/platex/platexrelease.dtx1
-rw-r--r--macros/jptex/latex/platex/plcore.dtx16
-rw-r--r--macros/jptex/latex/platex/pldoc.pdfbin1376083 -> 1376604 bytes
-rw-r--r--macros/jptex/latex/platex/plvers.dtx2
-rw-r--r--macros/jptex/latex/pxbase/LICENSE2
-rw-r--r--macros/jptex/latex/pxbase/README-ja.md17
-rw-r--r--macros/jptex/latex/pxbase/README.md1
-rw-r--r--macros/jptex/latex/pxbase/pxbabel.pdfbin151912 -> 157044 bytes
-rw-r--r--macros/jptex/latex/pxbase/pxbabel.sty151
-rw-r--r--macros/jptex/latex/pxbase/pxbabel.tex84
-rw-r--r--macros/jptex/latex/pxbase/pxbase.sty4
-rw-r--r--macros/jptex/latex/pxbase/pxbasenc.def21
-rw-r--r--macros/jptex/latex/pxbase/pxjsfenc.def2
-rw-r--r--macros/jptex/latex/pxbase/upkcat.sty6
-rw-r--r--macros/latex/contrib/fduthesis/README.md6
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis-code.dtx6316
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis-code.pdfbin965673 -> 977630 bytes
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis-doc.dtx185
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis-en.pdfbin162961 -> 151111 bytes
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis-logo.dtx9
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis.dtx598
-rw-r--r--macros/latex/contrib/fduthesis/fduthesis.pdfbin424983 -> 445548 bytes
-rw-r--r--macros/latex/contrib/hrefhide/README136
-rw-r--r--macros/latex/contrib/hrefhide/hrefhide-example.pdfbin114343 -> 111632 bytes
-rw-r--r--macros/latex/contrib/hrefhide/hrefhide.dtx746
-rw-r--r--macros/latex/contrib/hrefhide/hrefhide.pdfbin319943 -> 329925 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/README.md11
-rw-r--r--macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdfbin6204530 -> 6310183 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex106
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdfbin0 -> 35063 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdfbin2281 -> 2283 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10C.pdfbin0 -> 2415 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10K.pdfbin0 -> 2067 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10P.pdfbin0 -> 3078 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10T.pdfbin0 -> 4703 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2C.pdfbin0 -> 1784 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2K.pdfbin0 -> 1663 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2P.pdfbin0 -> 1979 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2T.pdfbin0 -> 2520 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3C.pdfbin0 -> 1905 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3K.pdfbin0 -> 1755 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3P.pdfbin0 -> 2150 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3T.pdfbin0 -> 2831 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4C.pdfbin0 -> 1886 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4K.pdfbin0 -> 1705 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4P.pdfbin0 -> 2199 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4T.pdfbin0 -> 3027 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5C.pdfbin0 -> 2070 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5K.pdfbin0 -> 1858 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5P.pdfbin0 -> 2466 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5T.pdfbin0 -> 3495 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6C.pdfbin0 -> 2162 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6K.pdfbin0 -> 1934 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6P.pdfbin0 -> 2586 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6T.pdfbin0 -> 3662 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7C.pdfbin0 -> 2129 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7K.pdfbin0 -> 1865 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7P.pdfbin0 -> 2639 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7T.pdfbin0 -> 3893 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8C.pdfbin0 -> 2369 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8K.pdfbin0 -> 2084 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8P.pdfbin0 -> 2957 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8T.pdfbin0 -> 4365 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9C.pdfbin0 -> 2412 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9K.pdfbin0 -> 2101 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9P.pdfbin0 -> 3018 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9T.pdfbin0 -> 4498 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AC.pdfbin0 -> 1682 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AK.pdfbin0 -> 1584 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AP.pdfbin0 -> 1817 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AT.pdfbin0 -> 2212 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DC.pdfbin0 -> 1737 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DK.pdfbin0 -> 1669 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DP.pdfbin0 -> 1790 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DT.pdfbin0 -> 1992 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosNoir.pdfbin0 -> 5951 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosRouge.pdfbin0 -> 5697 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JN.pdfbin0 -> 5084 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JR.pdfbin0 -> 5082 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RC.pdfbin0 -> 1731 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RK.pdfbin0 -> 1663 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RP.pdfbin0 -> 1783 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RT.pdfbin0 -> 1992 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VC.pdfbin0 -> 1633 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VK.pdfbin0 -> 1560 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VP.pdfbin0 -> 1683 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VT.pdfbin0 -> 1889 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-Dos.pdfbin0 -> 6481 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty81
-rw-r--r--macros/latex/contrib/l3build/CHANGELOG.md14
-rw-r--r--macros/latex/contrib/l3build/CONTRIBUTING.md52
-rw-r--r--macros/latex/contrib/l3build/README.md4
-rw-r--r--macros/latex/contrib/l3build/l3build-arguments.lua8
-rw-r--r--macros/latex/contrib/l3build/l3build-check.lua2
-rw-r--r--macros/latex/contrib/l3build/l3build-typesetting.lua3
-rw-r--r--macros/latex/contrib/l3build/l3build-variables.lua3
-rw-r--r--macros/latex/contrib/l3build/l3build.12
-rw-r--r--macros/latex/contrib/l3build/l3build.dtx2
-rwxr-xr-xmacros/latex/contrib/l3build/l3build.lua43
-rw-r--r--macros/latex/contrib/l3build/l3build.pdfbin741730 -> 742105 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/README.md6
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdfbin193359 -> 196376 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex40
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdfbin126724 -> 126723 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex2
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdfbin154061 -> 158171 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex26
-rw-r--r--macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty163
-rw-r--r--support/TeX4ht/source/ChangeLog8
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex4
-rw-r--r--systems/doc/aleph/ChangeLog341
-rw-r--r--systems/doc/dvipdfmx/README516
-rw-r--r--systems/doc/dvipng/dvipng.html1033
-rw-r--r--systems/doc/dvipng/dvipng.pdfbin220487 -> 218707 bytes
-rw-r--r--systems/doc/dvips/NEWS26
-rw-r--r--systems/doc/dvips/README20
-rw-r--r--systems/doc/dvips/dvips.html5656
-rw-r--r--systems/doc/dvips/dvips.pdfbin417101 -> 418026 bytes
-rw-r--r--systems/doc/etex/ChangeLog619
-rw-r--r--systems/doc/kpathsea/NEWS407
-rw-r--r--systems/doc/kpathsea/kpathsea.html5405
-rw-r--r--systems/doc/kpathsea/kpathsea.pdfbin401951 -> 384452 bytes
-rw-r--r--systems/doc/luatex/NEWS4848
-rw-r--r--systems/doc/pdftex/manual/ChangeLog30
-rw-r--r--systems/doc/pdftex/manual/Makefile5
-rw-r--r--systems/doc/pdftex/manual/pdftex-a.pdfbin1002639 -> 1007743 bytes
-rw-r--r--systems/doc/pdftex/manual/pdftex-syntax.txt551
-rw-r--r--systems/doc/pdftex/manual/pdftex-t.tex255
-rw-r--r--systems/doc/xetex/NEWS127
-rw-r--r--systems/doc/xetex/README10
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl4
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb149
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2449936 -> 2450096 bytes
-rw-r--r--timestamp2
201 files changed, 21844 insertions, 8426 deletions
diff --git a/FILES.byname b/FILES.byname
index 7912b03453..0b288d50e9 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -86,8 +86,8 @@
2022/09/13 | 3438 | biblio/bibtex/bibtex-x/bibtex8.1
2022/09/02 | 16825 | biblio/bibtex/bibtex-x/bibtex.c
2022/05/17 | 68194 | biblio/bibtex/bibtex-x/bibtex.h
-2022/08/31 | 4015 | biblio/bibtex/bibtex-x/bibtexu.1
-2023/01/29 | 20268 | biblio/bibtex/bibtex-x/ChangeLog
+2023/02/25 | 4015 | biblio/bibtex/bibtex-x/bibtexu.1
+2023/02/25 | 20268 | biblio/bibtex/bibtex-x/ChangeLog
2021/06/30 | 4848 | biblio/bibtex/bibtex-x/config.h.in
2007/07/03 | 710 | biblio/bibtex/bibtex-x/configure
2022/04/29 | 1499 | biblio/bibtex/bibtex-x/configure.ac
@@ -205,7 +205,7 @@
2022/05/22 | 94162 | biblio/bibtex/bibtex-x/utils.c
2022/04/29 | 5163 | biblio/bibtex/bibtex-x/utils.h
2022/05/22 | 3731 | biblio/bibtex/bibtex-x/version.h
-2023/02/10 | 516034 | biblio/bibtex/bibtex-x.zip
+2023/02/26 | 516033 | biblio/bibtex/bibtex-x.zip
1991/09/08 | 918 | biblio/bibtex/contrib/abstyles/a4c.sty
1991/09/28 | 1000 | biblio/bibtex/contrib/abstyles/a4c.tex
1992/05/25 | 17727 | biblio/bibtex/contrib/abstyles/aabbrv.bst
@@ -2048,12 +2048,12 @@
2022/12/25 | 1673 | biblio/citation-style-language/README.md
2022/12/25 | 11958 | biblio/citation-style-language/vancouver.csl
2022/12/25 | 604004 | biblio/citation-style-language.zip
-2023/02/25 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/02/26 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/02/25 | 2767189 | biblio/ctan-bibdata/ctan.bib
-2023/02/25 | 3651798 | biblio/ctan-bibdata/ctan.pdf
+2023/02/26 | 2767191 | biblio/ctan-bibdata/ctan.bib
+2023/02/26 | 3652128 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/02/25 | 4048425 | biblio/ctan-bibdata.zip
+2023/02/26 | 4049362 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -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
-2023/02/25 | 485704 | FILES.last07days
+2023/02/26 | 545960 | 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
@@ -83481,61 +83481,61 @@
2013/03/04 | 692 | fonts/nanumtype1/vf/ts1nanummjmo.vf
2013/03/04 | 684 | fonts/nanumtype1/vf/ts1nanummjm.vf
2013/03/25 | 30424476 | fonts/nanumtype1.zip
-2022/12/12 | 6102 | fonts/newcomputermodern/doc/integral.pdf
-2022/12/12 | 191 | fonts/newcomputermodern/doc/integral.tex
-2023/01/02 | 248638 | fonts/newcomputermodern/doc/newcm-doc.pdf
-2023/01/02 | 33585 | fonts/newcomputermodern/doc/newcm-doc.tex
-2022/12/12 | 16144 | fonts/newcomputermodern/doc/newcm-unimath-symbols.ltx
-2022/12/12 | 1303962 | fonts/newcomputermodern/doc/newcm-unimath-symbols.pdf
-2022/12/12 | 141279 | fonts/newcomputermodern/doc/newcomputermodern-sample.pdf
-2022/12/12 | 8015 | fonts/newcomputermodern/doc/newcomputermodern-sample.tex
-2022/12/12 | 6423 | fonts/newcomputermodern/doc/opticalmathlm-cropped.pdf
-2022/12/12 | 3888 | fonts/newcomputermodern/doc/opticalmathlm.pdf
-2022/12/12 | 205 | fonts/newcomputermodern/doc/opticalmathlm.tex
-2023/01/02 | 16402096 | fonts/newcomputermodern/newcomputermodern-source.tar.xz
-2022/12/14 | 1446420 | fonts/newcomputermodern/otf/NewCM08-BookItalic.otf
-2022/12/14 | 1239724 | fonts/newcomputermodern/otf/NewCM08-Book.otf
-2022/12/14 | 848104 | fonts/newcomputermodern/otf/NewCM08-Italic.otf
-2022/12/14 | 528944 | fonts/newcomputermodern/otf/NewCM08-Regular.otf
-2022/12/14 | 546136 | fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf
-2022/12/14 | 530316 | fonts/newcomputermodern/otf/NewCM10-Bold.otf
-2022/12/14 | 1199252 | fonts/newcomputermodern/otf/NewCM10-BookItalic.otf
-2022/12/14 | 1205680 | fonts/newcomputermodern/otf/NewCM10-Book.otf
-2022/12/14 | 616796 | fonts/newcomputermodern/otf/NewCM10-Italic.otf
-2022/12/14 | 571340 | fonts/newcomputermodern/otf/NewCM10-Regular.otf
-2022/12/12 | 2161432 | fonts/newcomputermodern/otf/NewCMMath-Book.otf
-2022/12/12 | 1230316 | fonts/newcomputermodern/otf/NewCMMath-Regular.otf
-2023/01/02 | 672288 | fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf
-2023/01/02 | 307620 | fonts/newcomputermodern/otf/NewCMMono10-Bold.otf
-2023/01/02 | 1133732 | fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf
-2023/01/02 | 879708 | fonts/newcomputermodern/otf/NewCMMono10-Book.otf
-2023/01/02 | 782220 | fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
-2023/01/02 | 344328 | fonts/newcomputermodern/otf/NewCMMono10-Regular.otf
-2022/12/14 | 703180 | fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf
-2022/12/14 | 628960 | fonts/newcomputermodern/otf/NewCMSans08-Book.otf
-2022/12/14 | 690332 | fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf
-2022/12/14 | 560184 | fonts/newcomputermodern/otf/NewCMSans08-Regular.otf
-2022/12/14 | 691268 | fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf
-2022/12/14 | 354120 | fonts/newcomputermodern/otf/NewCMSans10-Bold.otf
-2022/12/14 | 637656 | fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf
-2022/12/14 | 611912 | fonts/newcomputermodern/otf/NewCMSans10-Book.otf
-2022/12/14 | 317644 | fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf
-2022/12/14 | 332464 | fonts/newcomputermodern/otf/NewCMSans10-Regular.otf
-2022/12/12 | 21744 | fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
-2022/12/12 | 20556 | fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
-2022/12/12 | 22428 | fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
-2022/12/12 | 23792 | fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf
-2022/12/12 | 20472 | fonts/newcomputermodern/otf/NewCMUncial10-Book.otf
-2022/12/12 | 30240 | fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf
-2023/01/02 | 11543 | fonts/newcomputermodern/README
-2022/12/12 | 1014 | fonts/newcomputermodern/tex/NewCM10-Book.fontspec
-2022/12/12 | 1034 | fonts/newcomputermodern/tex/NewCM10-Regular.fontspec
-2022/12/12 | 232 | fonts/newcomputermodern/tex/NewCMMono10-Book.fontspec
-2022/12/12 | 234 | fonts/newcomputermodern/tex/NewCMMono10-Regular.fontspec
-2022/12/12 | 887 | fonts/newcomputermodern/tex/NewCMSans10-Book.fontspec
-2022/12/12 | 886 | fonts/newcomputermodern/tex/NewCMSans10-Regular.fontspec
-2022/12/12 | 340 | fonts/newcomputermodern/tex/newcomputermodern.sty
-2023/01/02 | 30036890 | fonts/newcomputermodern.zip
+2023/02/26 | 6102 | fonts/newcomputermodern/doc/integral.pdf
+2023/02/26 | 191 | fonts/newcomputermodern/doc/integral.tex
+2023/02/26 | 191073 | fonts/newcomputermodern/doc/newcm-doc.pdf
+2023/02/26 | 33585 | fonts/newcomputermodern/doc/newcm-doc.tex
+2023/02/26 | 16144 | fonts/newcomputermodern/doc/newcm-unimath-symbols.ltx
+2023/02/26 | 1303962 | fonts/newcomputermodern/doc/newcm-unimath-symbols.pdf
+2023/02/26 | 141279 | fonts/newcomputermodern/doc/newcomputermodern-sample.pdf
+2023/02/26 | 8015 | fonts/newcomputermodern/doc/newcomputermodern-sample.tex
+2023/02/26 | 6423 | fonts/newcomputermodern/doc/opticalmathlm-cropped.pdf
+2023/02/26 | 3888 | fonts/newcomputermodern/doc/opticalmathlm.pdf
+2023/02/26 | 205 | fonts/newcomputermodern/doc/opticalmathlm.tex
+2023/02/16 | 618888 | fonts/newcomputermodern/otf/NewCM08-BookItalic.otf
+2023/02/26 | 597492 | fonts/newcomputermodern/otf/NewCM08-Book.otf
+2023/02/16 | 537240 | fonts/newcomputermodern/otf/NewCM08-Italic.otf
+2023/02/15 | 516976 | fonts/newcomputermodern/otf/NewCM08-Regular.otf
+2023/02/16 | 445800 | fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf
+2023/02/16 | 495400 | fonts/newcomputermodern/otf/NewCM10-Bold.otf
+2023/02/16 | 551020 | fonts/newcomputermodern/otf/NewCM10-BookItalic.otf
+2023/02/16 | 591560 | fonts/newcomputermodern/otf/NewCM10-Book.otf
+2023/02/16 | 464808 | fonts/newcomputermodern/otf/NewCM10-Italic.otf
+2023/02/16 | 567744 | fonts/newcomputermodern/otf/NewCM10-Regular.otf
+2023/02/26 | 1139340 | fonts/newcomputermodern/otf/NewCMMath-Book.otf
+2023/02/26 | 1006396 | fonts/newcomputermodern/otf/NewCMMath-Regular.otf
+2023/02/16 | 672176 | fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf
+2023/02/16 | 297488 | fonts/newcomputermodern/otf/NewCMMono10-Bold.otf
+2023/02/16 | 496348 | fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf
+2023/02/16 | 421548 | fonts/newcomputermodern/otf/NewCMMono10-Book.otf
+2023/02/16 | 399576 | fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
+2023/02/16 | 337184 | fonts/newcomputermodern/otf/NewCMMono10-Regular.otf
+2023/02/16 | 391224 | fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf
+2023/02/16 | 374644 | fonts/newcomputermodern/otf/NewCMSans08-Book.otf
+2023/02/16 | 360068 | fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf
+2023/02/16 | 365780 | fonts/newcomputermodern/otf/NewCMSans08-Regular.otf
+2023/02/16 | 360944 | fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf
+2023/02/16 | 328912 | fonts/newcomputermodern/otf/NewCMSans10-Bold.otf
+2023/02/16 | 348532 | fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf
+2023/02/16 | 368828 | fonts/newcomputermodern/otf/NewCMSans10-Book.otf
+2023/02/16 | 284576 | fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf
+2023/02/16 | 318516 | fonts/newcomputermodern/otf/NewCMSans10-Regular.otf
+2023/02/26 | 22404 | fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
+2023/02/26 | 23244 | fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
+2023/02/26 | 22508 | fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
+2023/02/16 | 21124 | fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf
+2023/02/16 | 22912 | fonts/newcomputermodern/otf/NewCMUncial10-Book.otf
+2023/02/16 | 30256 | fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf
+2023/02/26 | 11709 | fonts/newcomputermodern/README
+2023/02/26 | 12812592 | fonts/newcomputermodern/source.txz
+2023/02/26 | 1014 | fonts/newcomputermodern/tex/NewCM10-Book.fontspec
+2023/02/26 | 1034 | fonts/newcomputermodern/tex/NewCM10-Regular.fontspec
+2023/02/26 | 232 | fonts/newcomputermodern/tex/NewCMMono10-Book.fontspec
+2023/02/26 | 234 | fonts/newcomputermodern/tex/NewCMMono10-Regular.fontspec
+2023/02/26 | 887 | fonts/newcomputermodern/tex/NewCMSans10-Book.fontspec
+2023/02/26 | 886 | fonts/newcomputermodern/tex/NewCMSans10-Regular.fontspec
+2023/02/26 | 340 | fonts/newcomputermodern/tex/newcomputermodern.sty
+2023/02/26 | 23159107 | fonts/newcomputermodern.zip
2020/06/03 | 5405 | fonts/newpx/afm/NewPXBMI.afm
2019/09/10 | 4864 | fonts/newpx/afm/NewPXBMI_gnu.afm
2020/06/03 | 5651 | fonts/newpx/afm/NewPXMI.afm
@@ -160044,13 +160044,13 @@
2020/10/16 | 2741 | graphics/pgf/contrib/syntaxdi/latex/syntaxdi.sty
2020/10/16 | 1919 | graphics/pgf/contrib/syntaxdi/README
2020/10/16 | 187671 | graphics/pgf/contrib/syntaxdi.zip
-2023/02/18 | 446758 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
-2023/02/18 | 20683 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
-2023/02/18 | 445895 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
-2023/02/18 | 22029 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
+2023/02/26 | 450025 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
+2023/02/26 | 21338 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
+2023/02/26 | 451134 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
+2023/02/26 | 22707 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
2023/01/24 | 431 | graphics/pgf/contrib/tangramtikz/README.md
-2023/02/18 | 45198 | graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
-2023/02/20 | 876456 | graphics/pgf/contrib/tangramtikz.zip
+2023/02/26 | 50163 | graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
+2023/02/26 | 887534 | graphics/pgf/contrib/tangramtikz.zip
2014/12/22 | 292 | graphics/pgf/contrib/ticollege/doc/IndexHead.ist
2015/02/15 | 366516 | graphics/pgf/contrib/ticollege/doc/ticollege-doc.pdf
2015/02/15 | 28788 | graphics/pgf/contrib/ticollege/doc/ticollege-doc.tex
@@ -193230,7 +193230,7 @@
2022/06/11 | 4242531 | install/macros/generic/xint.tds.zip
2022/11/27 | 10971100 | install/macros/jptex/latex/jlreq.tds.zip
2023/02/23 | 960455 | install/macros/jptex/latex/jsclasses.tds.zip
-2023/02/19 | 2313161 | install/macros/jptex/latex/platex.tds.zip
+2023/02/26 | 2313728 | install/macros/jptex/latex/platex.tds.zip
2021/05/31 | 907477 | install/macros/jptex/latex/uplatex.tds.zip
2016/05/15 | 295442 | install/macros/latex/contrib/abc.tds.zip
2018/11/24 | 6522794 | install/macros/latex/contrib/abntex2.tds.zip
@@ -193321,7 +193321,7 @@
2014/11/26 | 125896 | install/macros/latex/contrib/everyhook.tds.zip
2018/10/23 | 686749 | install/macros/latex/contrib/exsol.tds.zip
2016/06/27 | 190038 | install/macros/latex/contrib/fancytabs.tds.zip
-2022/09/04 | 1838516 | install/macros/latex/contrib/fduthesis.tds.zip
+2023/02/26 | 1916406 | install/macros/latex/contrib/fduthesis.tds.zip
2013/05/03 | 382005 | install/macros/latex/contrib/feynmp-auto.tds.zip
2019/09/21 | 131617 | install/macros/latex/contrib/filecontents.tds.zip
2013/03/27 | 577400 | install/macros/latex/contrib/filedate.tds.zip
@@ -193354,7 +193354,7 @@
2009/09/02 | 158493 | install/macros/latex/contrib/hanging.tds.zip
2011/02/12 | 134911 | install/macros/latex/contrib/hardwrap.tds.zip
2016/06/07 | 215651 | install/macros/latex/contrib/he-she.tds.zip
-2011/04/29 | 449052 | install/macros/latex/contrib/hrefhide.tds.zip
+2023/02/26 | 450556 | install/macros/latex/contrib/hrefhide.tds.zip
2016/11/20 | 951051 | install/macros/latex/contrib/hustthesis.tds.zip
2023/02/08 | 4492210 | install/macros/latex/contrib/hyperref.tds.zip
2023/02/20 | 1370380 | install/macros/latex/contrib/hyperxmp.tds.zip
@@ -193377,7 +193377,7 @@
2015/12/09 | 171418 | install/macros/latex/contrib/ksp-thesis.tds.zip
2019/12/19 | 302191 | install/macros/latex/contrib/kvdefinekeys.tds.zip
2023/01/16 | 971287 | install/macros/latex/contrib/l3backend.tds.zip
-2023/02/20 | 817560 | install/macros/latex/contrib/l3build.tds.zip
+2023/02/26 | 816802 | install/macros/latex/contrib/l3build.tds.zip
2023/01/24 | 4451432 | install/macros/latex/contrib/l3experimental.tds.zip
2023/02/23 | 13989126 | install/macros/latex/contrib/l3kernel.tds.zip
2023/02/02 | 2252631 | install/macros/latex/contrib/l3packages.tds.zip
@@ -207622,94 +207622,94 @@
2023/02/23 | 61261 | macros/jptex/latex/jsclasses/okuverb.pdf
2023/02/23 | 1432 | macros/jptex/latex/jsclasses/README.md
2023/02/23 | 873985 | macros/jptex/latex/jsclasses.zip
-2023/02/14 | 140856 | macros/jptex/latex/platex/exppl2e.pdf
-2023/02/14 | 13702 | macros/jptex/latex/platex/exppl2e.sty
-2023/02/14 | 158377 | macros/jptex/latex/platex/jclasses.dtx
-2023/02/14 | 7042 | macros/jptex/latex/platex/jltxdoc.dtx
-2023/02/14 | 10215 | macros/jptex/latex/platex/kinsoku.dtx
-2023/02/14 | 1553 | macros/jptex/latex/platex/LICENSE
-2023/02/14 | 5492 | macros/jptex/latex/platex/Makefile
-2023/02/14 | 7666 | macros/jptex/latex/platex/pl209.dtx
-2023/02/14 | 861 | macros/jptex/latex/platex/pl209.ins
-2023/02/14 | 72264 | macros/jptex/latex/platex/platex.dtx
-2023/02/14 | 155662 | macros/jptex/latex/platex/platex-en.pdf
-2023/02/14 | 253 | macros/jptex/latex/platex/platex.ini
-2023/02/14 | 260304 | macros/jptex/latex/platex/platex.pdf
-2023/02/14 | 18157 | macros/jptex/latex/platex/platexrelease.dtx
-2023/02/14 | 697 | macros/jptex/latex/platex/platexrelease.ins
-2023/02/14 | 111387 | macros/jptex/latex/platex/platexrelease.pdf
-2023/02/14 | 1488 | macros/jptex/latex/platex/plcls.ins
-2023/02/14 | 123794 | macros/jptex/latex/platex/plcore.dtx
-2023/02/14 | 1376083 | macros/jptex/latex/platex/pldoc.pdf
-2023/02/14 | 565 | macros/jptex/latex/platex/pldocs.ins
-2023/02/14 | 4099 | macros/jptex/latex/platex/plexpl3.dtx
-2023/02/14 | 54423 | macros/jptex/latex/platex/plext.dtx
-2023/02/14 | 1191 | macros/jptex/latex/platex/plfmt.ins
-2023/02/14 | 208188 | macros/jptex/latex/platex/plfonts.dtx
-2023/02/14 | 10426 | macros/jptex/latex/platex/plnews01.tex
-2023/02/14 | 4685 | macros/jptex/latex/platex/plnews02.tex
-2023/02/14 | 2763 | macros/jptex/latex/platex/plnews03.tex
-2023/02/14 | 2931 | macros/jptex/latex/platex/plnews04.tex
-2023/02/14 | 2313 | macros/jptex/latex/platex/plnews05.tex
-2023/02/14 | 6069 | macros/jptex/latex/platex/plnews06.tex
-2023/02/14 | 3778 | macros/jptex/latex/platex/plnews07.tex
-2023/02/14 | 3877 | macros/jptex/latex/platex/plnews08.tex
-2023/02/14 | 7818 | macros/jptex/latex/platex/plnewsc01.tex
-2023/02/14 | 3713 | macros/jptex/latex/platex/plnewsc02.tex
-2023/02/14 | 3321 | macros/jptex/latex/platex/plnewsc03.tex
-2023/02/14 | 5163 | macros/jptex/latex/platex/plnewsc04.tex
-2023/02/14 | 3796 | macros/jptex/latex/platex/plnewsc05.tex
-2023/02/14 | 6717 | macros/jptex/latex/platex/plnewsc06.tex
-2023/02/14 | 10430 | macros/jptex/latex/platex/plnewsc07.tex
-2023/02/14 | 4153 | macros/jptex/latex/platex/plnewsc08.tex
-2023/02/14 | 2999 | macros/jptex/latex/platex/plnewsc09.tex
-2023/02/14 | 2948 | macros/jptex/latex/platex/plnewsc10.tex
-2023/02/14 | 3484 | macros/jptex/latex/platex/plnewsc11.tex
-2023/02/14 | 2421 | macros/jptex/latex/platex/plnewsc12.tex
-2023/02/14 | 3197 | macros/jptex/latex/platex/plnewsc13.tex
-2023/02/14 | 8363 | macros/jptex/latex/platex/plnewsc14.tex
-2023/02/14 | 4606 | macros/jptex/latex/platex/plnewsc15.tex
-2023/02/14 | 3754 | macros/jptex/latex/platex/plnewsc16.tex
-2023/02/14 | 3194 | macros/jptex/latex/platex/plnews.cls
-2023/02/14 | 24797 | macros/jptex/latex/platex/plvers.dtx
-2023/02/19 | 2374 | macros/jptex/latex/platex/README.md
-2021/12/11 | 1500 | macros/jptex/latex/platex-tools/LICENSE
-2021/12/11 | 58396 | macros/jptex/latex/platex-tools/plarray.pdf
-2021/12/11 | 1841 | macros/jptex/latex/platex-tools/plarray.sty
-2021/12/11 | 2915 | macros/jptex/latex/platex-tools/plarray.tex
-2021/12/11 | 35463 | macros/jptex/latex/platex-tools/pldocverb.pdf
-2021/12/11 | 1351 | macros/jptex/latex/platex-tools/pldocverb.sty
-2021/12/11 | 1647 | macros/jptex/latex/platex-tools/pldocverb.tex
-2021/12/11 | 78889 | macros/jptex/latex/platex-tools/plextarray.pdf
-2021/12/11 | 3689 | macros/jptex/latex/platex-tools/plextarray.sty
-2021/12/11 | 5902 | macros/jptex/latex/platex-tools/plextarray.tex
-2021/12/11 | 35074 | macros/jptex/latex/platex-tools/plextcolortbl.pdf
-2021/12/11 | 1068 | macros/jptex/latex/platex-tools/plextcolortbl.sty
-2021/12/11 | 1636 | macros/jptex/latex/platex-tools/plextcolortbl.tex
-2021/12/11 | 64927 | macros/jptex/latex/platex-tools/plextdelarray.pdf
-2021/12/11 | 1771 | macros/jptex/latex/platex-tools/plextdelarray.sty
-2021/12/11 | 5059 | macros/jptex/latex/platex-tools/plextdelarray.tex
-2021/12/11 | 73233 | macros/jptex/latex/platex-tools/pxatbegshi.pdf
-2021/12/11 | 4088 | macros/jptex/latex/platex-tools/pxatbegshi.sty
-2021/12/11 | 3964 | macros/jptex/latex/platex-tools/pxatbegshi.tex
-2021/12/11 | 61183 | macros/jptex/latex/platex-tools/pxeverysel.pdf
-2021/12/11 | 6172 | macros/jptex/latex/platex-tools/pxeverysel.sty
-2021/12/11 | 2890 | macros/jptex/latex/platex-tools/pxeverysel.tex
-2021/12/11 | 52975 | macros/jptex/latex/platex-tools/pxeveryshi.pdf
-2021/12/11 | 1708 | macros/jptex/latex/platex-tools/pxeveryshi.sty
-2021/12/11 | 2746 | macros/jptex/latex/platex-tools/pxeveryshi.tex
-2021/12/11 | 52592 | macros/jptex/latex/platex-tools/pxftnright.pdf
-2021/12/11 | 4229 | macros/jptex/latex/platex-tools/pxftnright.sty
-2021/12/11 | 2362 | macros/jptex/latex/platex-tools/pxftnright.tex
-2021/12/11 | 44150 | macros/jptex/latex/platex-tools/pxmulticol.pdf
-2021/12/11 | 607 | macros/jptex/latex/platex-tools/pxmulticol.sty
-2021/12/11 | 1937 | macros/jptex/latex/platex-tools/pxmulticol.tex
-2021/12/11 | 36240 | macros/jptex/latex/platex-tools/pxxspace.pdf
-2021/12/11 | 3515 | macros/jptex/latex/platex-tools/pxxspace.sty
-2021/12/11 | 2589 | macros/jptex/latex/platex-tools/pxxspace.tex
-2021/12/11 | 2918 | macros/jptex/latex/platex-tools/README.md
-2021/12/11 | 606167 | macros/jptex/latex/platex-tools.zip
-2023/02/19 | 2187499 | macros/jptex/latex/platex.zip
+2023/02/25 | 140856 | macros/jptex/latex/platex/exppl2e.pdf
+2023/02/25 | 13702 | macros/jptex/latex/platex/exppl2e.sty
+2023/02/25 | 158377 | macros/jptex/latex/platex/jclasses.dtx
+2023/02/25 | 7042 | macros/jptex/latex/platex/jltxdoc.dtx
+2023/02/25 | 10215 | macros/jptex/latex/platex/kinsoku.dtx
+2023/02/25 | 1553 | macros/jptex/latex/platex/LICENSE
+2023/02/25 | 5492 | macros/jptex/latex/platex/Makefile
+2023/02/25 | 7666 | macros/jptex/latex/platex/pl209.dtx
+2023/02/25 | 861 | macros/jptex/latex/platex/pl209.ins
+2023/02/25 | 72264 | macros/jptex/latex/platex/platex.dtx
+2023/02/25 | 155662 | macros/jptex/latex/platex/platex-en.pdf
+2023/02/25 | 253 | macros/jptex/latex/platex/platex.ini
+2023/02/25 | 260304 | macros/jptex/latex/platex/platex.pdf
+2023/02/25 | 18178 | macros/jptex/latex/platex/platexrelease.dtx
+2023/02/25 | 697 | macros/jptex/latex/platex/platexrelease.ins
+2023/02/25 | 111387 | macros/jptex/latex/platex/platexrelease.pdf
+2023/02/25 | 1488 | macros/jptex/latex/platex/plcls.ins
+2023/02/25 | 124060 | macros/jptex/latex/platex/plcore.dtx
+2023/02/25 | 1376604 | macros/jptex/latex/platex/pldoc.pdf
+2023/02/25 | 565 | macros/jptex/latex/platex/pldocs.ins
+2023/02/25 | 4099 | macros/jptex/latex/platex/plexpl3.dtx
+2023/02/25 | 54423 | macros/jptex/latex/platex/plext.dtx
+2023/02/25 | 1191 | macros/jptex/latex/platex/plfmt.ins
+2023/02/25 | 208188 | macros/jptex/latex/platex/plfonts.dtx
+2023/02/25 | 10426 | macros/jptex/latex/platex/plnews01.tex
+2023/02/25 | 4685 | macros/jptex/latex/platex/plnews02.tex
+2023/02/25 | 2763 | macros/jptex/latex/platex/plnews03.tex
+2023/02/25 | 2931 | macros/jptex/latex/platex/plnews04.tex
+2023/02/25 | 2313 | macros/jptex/latex/platex/plnews05.tex
+2023/02/25 | 6069 | macros/jptex/latex/platex/plnews06.tex
+2023/02/25 | 3778 | macros/jptex/latex/platex/plnews07.tex
+2023/02/25 | 3877 | macros/jptex/latex/platex/plnews08.tex
+2023/02/25 | 7818 | macros/jptex/latex/platex/plnewsc01.tex
+2023/02/25 | 3713 | macros/jptex/latex/platex/plnewsc02.tex
+2023/02/25 | 3321 | macros/jptex/latex/platex/plnewsc03.tex
+2023/02/25 | 5163 | macros/jptex/latex/platex/plnewsc04.tex
+2023/02/25 | 3796 | macros/jptex/latex/platex/plnewsc05.tex
+2023/02/25 | 6717 | macros/jptex/latex/platex/plnewsc06.tex
+2023/02/25 | 10430 | macros/jptex/latex/platex/plnewsc07.tex
+2023/02/25 | 4153 | macros/jptex/latex/platex/plnewsc08.tex
+2023/02/25 | 2999 | macros/jptex/latex/platex/plnewsc09.tex
+2023/02/25 | 2948 | macros/jptex/latex/platex/plnewsc10.tex
+2023/02/25 | 3484 | macros/jptex/latex/platex/plnewsc11.tex
+2023/02/25 | 2421 | macros/jptex/latex/platex/plnewsc12.tex
+2023/02/25 | 3197 | macros/jptex/latex/platex/plnewsc13.tex
+2023/02/25 | 8363 | macros/jptex/latex/platex/plnewsc14.tex
+2023/02/25 | 4606 | macros/jptex/latex/platex/plnewsc15.tex
+2023/02/25 | 3754 | macros/jptex/latex/platex/plnewsc16.tex
+2023/02/25 | 3194 | macros/jptex/latex/platex/plnews.cls
+2023/02/25 | 24797 | macros/jptex/latex/platex/plvers.dtx
+2023/02/26 | 2374 | macros/jptex/latex/platex/README.md
+2023/02/25 | 1500 | macros/jptex/latex/platex-tools/LICENSE
+2023/02/25 | 58396 | macros/jptex/latex/platex-tools/plarray.pdf
+2023/02/25 | 1841 | macros/jptex/latex/platex-tools/plarray.sty
+2023/02/25 | 2935 | macros/jptex/latex/platex-tools/plarray.tex
+2023/02/25 | 35463 | macros/jptex/latex/platex-tools/pldocverb.pdf
+2023/02/25 | 1351 | macros/jptex/latex/platex-tools/pldocverb.sty
+2023/02/25 | 1667 | macros/jptex/latex/platex-tools/pldocverb.tex
+2023/02/25 | 79300 | macros/jptex/latex/platex-tools/plextarray.pdf
+2023/02/25 | 3714 | macros/jptex/latex/platex-tools/plextarray.sty
+2023/02/25 | 5922 | macros/jptex/latex/platex-tools/plextarray.tex
+2023/02/25 | 35074 | macros/jptex/latex/platex-tools/plextcolortbl.pdf
+2023/02/25 | 1068 | macros/jptex/latex/platex-tools/plextcolortbl.sty
+2023/02/25 | 1656 | macros/jptex/latex/platex-tools/plextcolortbl.tex
+2023/02/25 | 64927 | macros/jptex/latex/platex-tools/plextdelarray.pdf
+2023/02/25 | 1771 | macros/jptex/latex/platex-tools/plextdelarray.sty
+2023/02/25 | 5079 | macros/jptex/latex/platex-tools/plextdelarray.tex
+2023/02/25 | 73233 | macros/jptex/latex/platex-tools/pxatbegshi.pdf
+2023/02/25 | 4088 | macros/jptex/latex/platex-tools/pxatbegshi.sty
+2023/02/25 | 3984 | macros/jptex/latex/platex-tools/pxatbegshi.tex
+2023/02/25 | 61183 | macros/jptex/latex/platex-tools/pxeverysel.pdf
+2023/02/25 | 6172 | macros/jptex/latex/platex-tools/pxeverysel.sty
+2023/02/25 | 2910 | macros/jptex/latex/platex-tools/pxeverysel.tex
+2023/02/25 | 52975 | macros/jptex/latex/platex-tools/pxeveryshi.pdf
+2023/02/25 | 1708 | macros/jptex/latex/platex-tools/pxeveryshi.sty
+2023/02/25 | 2766 | macros/jptex/latex/platex-tools/pxeveryshi.tex
+2023/02/25 | 52592 | macros/jptex/latex/platex-tools/pxftnright.pdf
+2023/02/25 | 4229 | macros/jptex/latex/platex-tools/pxftnright.sty
+2023/02/25 | 2362 | macros/jptex/latex/platex-tools/pxftnright.tex
+2023/02/25 | 44150 | macros/jptex/latex/platex-tools/pxmulticol.pdf
+2023/02/25 | 607 | macros/jptex/latex/platex-tools/pxmulticol.sty
+2023/02/25 | 1937 | macros/jptex/latex/platex-tools/pxmulticol.tex
+2023/02/25 | 37311 | macros/jptex/latex/platex-tools/pxxspace.pdf
+2023/02/25 | 3643 | macros/jptex/latex/platex-tools/pxxspace.sty
+2023/02/25 | 2631 | macros/jptex/latex/platex-tools/pxxspace.tex
+2023/02/26 | 2918 | macros/jptex/latex/platex-tools/README.md
+2023/02/26 | 607936 | macros/jptex/latex/platex-tools.zip
+2023/02/26 | 2188046 | macros/jptex/latex/platex.zip
2021/12/06 | 1500 | macros/jptex/latex/plautopatch/LICENSE
2021/12/06 | 931 | macros/jptex/latex/plautopatch/plarydshln.sty
2021/12/06 | 96578 | macros/jptex/latex/plautopatch/plautopatch-ja.pdf
@@ -207724,20 +207724,20 @@
2021/12/06 | 3464 | macros/jptex/latex/plautopatch/pxstfloats.sty
2021/12/07 | 3405 | macros/jptex/latex/plautopatch/README.md
2021/12/07 | 151064 | macros/jptex/latex/plautopatch.zip
-2021/05/23 | 1091 | macros/jptex/latex/pxbase/LICENSE
-2021/05/31 | 151912 | macros/jptex/latex/pxbase/pxbabel.pdf
-2021/05/30 | 20907 | macros/jptex/latex/pxbase/pxbabel.sty
-2021/05/31 | 21625 | macros/jptex/latex/pxbase/pxbabel.tex
+2023/02/26 | 1091 | macros/jptex/latex/pxbase/LICENSE
+2023/02/26 | 157044 | macros/jptex/latex/pxbase/pxbabel.pdf
+2023/02/26 | 23209 | macros/jptex/latex/pxbase/pxbabel.sty
+2023/02/26 | 22659 | macros/jptex/latex/pxbase/pxbabel.tex
2017/07/04 | 163 | macros/jptex/latex/pxbase/pxbase.def
-2021/05/30 | 19112 | macros/jptex/latex/pxbase/pxbasenc.def
-2021/05/30 | 434 | macros/jptex/latex/pxbase/pxbase.sty
+2023/02/26 | 19447 | macros/jptex/latex/pxbase/pxbasenc.def
+2023/02/26 | 434 | macros/jptex/latex/pxbase/pxbase.sty
2017/07/04 | 138 | macros/jptex/latex/pxbase/pxbsjc1.def
2017/07/04 | 121 | macros/jptex/latex/pxbase/pxbsjc.def
-2021/05/30 | 7352 | macros/jptex/latex/pxbase/pxjsfenc.def
-2021/05/31 | 10329 | macros/jptex/latex/pxbase/README-ja.md
-2021/05/31 | 2397 | macros/jptex/latex/pxbase/README.md
-2021/05/30 | 3129 | macros/jptex/latex/pxbase/upkcat.sty
-2021/06/05 | 178433 | macros/jptex/latex/pxbase.zip
+2023/02/26 | 7352 | macros/jptex/latex/pxbase/pxjsfenc.def
+2023/02/26 | 10927 | macros/jptex/latex/pxbase/README-ja.md
+2023/02/26 | 2431 | macros/jptex/latex/pxbase/README.md
+2023/02/26 | 3135 | macros/jptex/latex/pxbase/upkcat.sty
+2023/02/26 | 184322 | macros/jptex/latex/pxbase.zip
2023/02/22 | 1091 | macros/jptex/latex/pxchfon/LICENSE
2010/05/12 | 97 | macros/jptex/latex/pxchfon/pxchfon0.def
2023/02/22 | 260539 | macros/jptex/latex/pxchfon/pxchfon.pdf
@@ -220357,17 +220357,18 @@
2022/02/01 | 816 | macros/latex/contrib/fcolumn/makefile
2022/02/01 | 3054 | macros/latex/contrib/fcolumn/README
2022/02/01 | 341514 | macros/latex/contrib/fcolumn.zip
-2022/09/04 | 965673 | macros/latex/contrib/fduthesis/fduthesis-code.pdf
-2022/09/04 | 63845 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx
-2022/09/04 | 227168 | macros/latex/contrib/fduthesis/fduthesis.dtx
-2022/09/04 | 162961 | macros/latex/contrib/fduthesis/fduthesis-en.pdf
-2022/09/04 | 259394 | macros/latex/contrib/fduthesis/fduthesis-logo.dtx
-2022/09/04 | 424983 | macros/latex/contrib/fduthesis/fduthesis.pdf
-2022/09/04 | 10688 | macros/latex/contrib/fduthesis/fudan-emblem-new.pdf
-2022/09/04 | 15957 | macros/latex/contrib/fduthesis/fudan-emblem.pdf
-2022/09/04 | 9952 | macros/latex/contrib/fduthesis/fudan-name.pdf
-2022/09/04 | 2456 | macros/latex/contrib/fduthesis/README.md
-2022/09/04 | 1712439 | macros/latex/contrib/fduthesis.zip
+2023/02/26 | 222654 | macros/latex/contrib/fduthesis/fduthesis-code.dtx
+2023/02/26 | 977630 | macros/latex/contrib/fduthesis/fduthesis-code.pdf
+2023/02/26 | 62530 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx
+2023/02/26 | 222744 | macros/latex/contrib/fduthesis/fduthesis.dtx
+2023/02/26 | 151111 | macros/latex/contrib/fduthesis/fduthesis-en.pdf
+2023/02/26 | 259312 | macros/latex/contrib/fduthesis/fduthesis-logo.dtx
+2023/02/26 | 445548 | macros/latex/contrib/fduthesis/fduthesis.pdf
+2023/02/26 | 10688 | macros/latex/contrib/fduthesis/fudan-emblem-new.pdf
+2023/02/26 | 15957 | macros/latex/contrib/fduthesis/fudan-emblem.pdf
+2023/02/26 | 9952 | macros/latex/contrib/fduthesis/fudan-name.pdf
+2023/02/26 | 2458 | macros/latex/contrib/fduthesis/README.md
+2023/02/26 | 1791549 | macros/latex/contrib/fduthesis.zip
2022/12/24 | 120632 | macros/latex/contrib/fei/fei.dtx
2022/12/24 | 440506 | macros/latex/contrib/fei/fei.pdf
2022/12/24 | 23114 | macros/latex/contrib/fei/fei-template-sublist.tex
@@ -223797,11 +223798,11 @@
2000/10/27 | 100 | macros/latex/contrib/hpsdiss/hpsdiss.ins
2000/10/27 | 217818 | macros/latex/contrib/hpsdiss/hpsdiss.pdf
2005/04/30 | 125757 | macros/latex/contrib/hpsdiss.zip
-2011/04/29 | 40844 | macros/latex/contrib/hrefhide/hrefhide.dtx
-2011/04/29 | 114343 | macros/latex/contrib/hrefhide/hrefhide-example.pdf
-2011/04/29 | 319943 | macros/latex/contrib/hrefhide/hrefhide.pdf
-2011/04/29 | 4295 | macros/latex/contrib/hrefhide/README
-2011/04/29 | 441688 | macros/latex/contrib/hrefhide.zip
+2023/02/26 | 38830 | macros/latex/contrib/hrefhide/hrefhide.dtx
+2023/02/26 | 111632 | macros/latex/contrib/hrefhide/hrefhide-example.pdf
+2023/02/26 | 329925 | macros/latex/contrib/hrefhide/hrefhide.pdf
+2023/02/26 | 4859 | macros/latex/contrib/hrefhide/README
+2023/02/26 | 442306 | macros/latex/contrib/hrefhide.zip
2022/10/31 | 24 | macros/latex/contrib/href-ul/DEPENDS.txt
2022/10/31 | 4724 | macros/latex/contrib/href-ul/href-ul.dtx
2022/10/31 | 2631 | macros/latex/contrib/href-ul/href-ul.ins
@@ -224940,9 +224941,9 @@
2010/04/07 | 239721 | macros/latex/contrib/jeopardy/jeopardy.pdf
2010/04/07 | 996 | macros/latex/contrib/jeopardy/README
2010/04/08 | 1447445 | macros/latex/contrib/jeopardy.zip
-2023/02/22 | 6204530 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
-2023/02/22 | 36007 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
-2023/02/22 | 939 | macros/latex/contrib/jeuxcartes/README.md
+2023/02/26 | 6310183 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
+2023/02/26 | 36661 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
+2023/02/26 | 1032 | macros/latex/contrib/jeuxcartes/README.md
2022/12/24 | 6378 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv1-10C.pdf
2022/12/24 | 8385 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv1-10K.pdf
2022/12/24 | 6908 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv1-10P.pdf
@@ -225105,6 +225106,7 @@
2022/12/25 | 34646 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-DT.pdf
2022/12/25 | 2001 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JN.pdf
2022/12/25 | 2174 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JR.pdf
+2022/12/25 | 35063 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf
2022/12/25 | 44296 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-RC.pdf
2022/12/25 | 26804 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-RK.pdf
2022/12/25 | 50042 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-RP.pdf
@@ -225151,7 +225153,7 @@
2023/02/21 | 3824 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-9T.pdf
2023/02/21 | 2084 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AC.pdf
2023/02/22 | 1750 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AK.pdf
-2023/02/21 | 2281 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
+2023/02/24 | 2283 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
2023/02/21 | 2448 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AT.pdf
2023/02/21 | 3888 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-DC.pdf
2023/02/21 | 3680 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-DK.pdf
@@ -225169,6 +225171,62 @@
2023/02/21 | 2562 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-VK.pdf
2023/02/21 | 2864 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-VP.pdf
2023/02/21 | 2894 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-VT.pdf
+2023/02/24 | 2415 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10C.pdf
+2023/02/24 | 2067 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10K.pdf
+2023/02/24 | 3078 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10P.pdf
+2023/02/24 | 4703 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10T.pdf
+2023/02/24 | 1784 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2C.pdf
+2023/02/24 | 1663 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2K.pdf
+2023/02/24 | 1979 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2P.pdf
+2023/02/24 | 2520 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2T.pdf
+2023/02/24 | 1905 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3C.pdf
+2023/02/24 | 1755 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3K.pdf
+2023/02/24 | 2150 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3P.pdf
+2023/02/24 | 2831 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3T.pdf
+2023/02/24 | 1886 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4C.pdf
+2023/02/24 | 1705 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4K.pdf
+2023/02/24 | 2199 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4P.pdf
+2023/02/24 | 3027 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4T.pdf
+2023/02/24 | 2070 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5C.pdf
+2023/02/24 | 1858 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5K.pdf
+2023/02/24 | 2466 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5P.pdf
+2023/02/24 | 3495 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5T.pdf
+2023/02/24 | 2162 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6C.pdf
+2023/02/24 | 1934 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6K.pdf
+2023/02/24 | 2586 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6P.pdf
+2023/02/24 | 3662 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6T.pdf
+2023/02/24 | 2129 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7C.pdf
+2023/02/24 | 1865 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7K.pdf
+2023/02/24 | 2639 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7P.pdf
+2023/02/24 | 3893 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7T.pdf
+2023/02/24 | 2369 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8C.pdf
+2023/02/24 | 2084 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8K.pdf
+2023/02/24 | 2957 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8P.pdf
+2023/02/24 | 4365 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8T.pdf
+2023/02/24 | 2412 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9C.pdf
+2023/02/24 | 2101 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9K.pdf
+2023/02/24 | 3018 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9P.pdf
+2023/02/24 | 4498 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9T.pdf
+2023/02/24 | 1682 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AC.pdf
+2023/02/24 | 1584 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AK.pdf
+2023/02/24 | 1817 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AP.pdf
+2023/02/24 | 2212 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AT.pdf
+2023/02/24 | 1737 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DC.pdf
+2023/02/24 | 1669 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DK.pdf
+2023/02/24 | 5951 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosNoir.pdf
+2023/02/24 | 5697 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosRouge.pdf
+2023/02/24 | 1790 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DP.pdf
+2023/02/24 | 1992 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DT.pdf
+2023/02/24 | 5084 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JN.pdf
+2023/02/24 | 5082 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JR.pdf
+2023/02/24 | 1731 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RC.pdf
+2023/02/24 | 1663 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RK.pdf
+2023/02/24 | 1783 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RP.pdf
+2023/02/24 | 1992 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RT.pdf
+2023/02/24 | 1633 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VC.pdf
+2023/02/24 | 1560 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VK.pdf
+2023/02/24 | 1683 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VP.pdf
+2023/02/24 | 1889 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VT.pdf
2022/12/26 | 49368 | macros/latex/contrib/jeuxcartes/tex/CaJ-TaroTv1-10AT.png
2022/12/26 | 5225 | macros/latex/contrib/jeuxcartes/tex/CaJ-TaroTv1-10C.png
2022/12/26 | 5269 | macros/latex/contrib/jeuxcartes/tex/CaJ-TaroTv1-10K.png
@@ -225293,6 +225351,7 @@
2022/12/24 | 1600 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-CSJ.pdf
2022/12/24 | 1594 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-CSR.pdf
2022/12/24 | 1599 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-CSV.pdf
+2023/02/23 | 6481 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-Dos.pdf
2022/12/24 | 2221 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-P2B.pdf
2022/12/24 | 2216 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-P2J.pdf
2022/12/24 | 2217 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-P2R.pdf
@@ -225302,8 +225361,8 @@
2022/12/24 | 2037 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-PTJ.pdf
2022/12/24 | 2031 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-PTR.pdf
2022/12/24 | 2035 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-PTV.pdf
-2023/02/22 | 23382 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
-2023/02/23 | 11037742 | macros/latex/contrib/jeuxcartes.zip
+2023/02/25 | 24809 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
+2023/02/26 | 11296361 | macros/latex/contrib/jeuxcartes.zip
2004/12/10 | 70397 | macros/latex/contrib/jhep/JHEP.cls
2007/04/24 | 1891 | macros/latex/contrib/jj_game/designs/design_bahamas.def
2007/04/19 | 1573 | macros/latex/contrib/jj_game/designs/design_florida.def
@@ -226074,32 +226133,31 @@
2023/01/16 | 50809 | macros/latex/contrib/l3backend/l3backend-pdf.dtx
2023/01/16 | 549 | macros/latex/contrib/l3backend/README.md
2023/01/16 | 934251 | macros/latex/contrib/l3backend.zip
-2023/02/20 | 18654 | macros/latex/contrib/l3build/CHANGELOG.md
-2023/02/20 | 2338 | macros/latex/contrib/l3build/CONTRIBUTING.md
-2023/02/20 | 1816 | macros/latex/contrib/l3build/l3build.1
-2023/02/20 | 7756 | macros/latex/contrib/l3build/l3build-arguments.lua
-2023/02/20 | 5397 | macros/latex/contrib/l3build/l3build-aux.lua
-2023/02/20 | 36687 | macros/latex/contrib/l3build/l3build-check.lua
-2023/02/20 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
-2023/02/20 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua
-2023/02/20 | 111762 | macros/latex/contrib/l3build/l3build.dtx
-2023/02/20 | 12633 | macros/latex/contrib/l3build/l3build-file-functions.lua
-2023/02/20 | 2473 | macros/latex/contrib/l3build/l3build-help.lua
-2023/02/20 | 1540 | macros/latex/contrib/l3build/l3build.ins
-2023/02/20 | 11070 | macros/latex/contrib/l3build/l3build-install.lua
-2023/02/20 | 6566 | macros/latex/contrib/l3build/l3build.lua
-2023/02/20 | 7206 | macros/latex/contrib/l3build/l3build-manifest.lua
-2023/02/20 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
-2023/02/20 | 741730 | macros/latex/contrib/l3build/l3build.pdf
-2023/02/20 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua
-2023/02/20 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua
-2023/02/20 | 6693 | macros/latex/contrib/l3build/l3build-typesetting.lua
-2023/02/20 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua
-2023/02/20 | 13211 | macros/latex/contrib/l3build/l3build-upload.lua
-2023/02/20 | 7865 | macros/latex/contrib/l3build/l3build-variables.lua
-2023/02/20 | 3382 | macros/latex/contrib/l3build/l3build-zip.lua
-2023/02/20 | 1019 | macros/latex/contrib/l3build/README.md
-2023/02/20 | 814122 | macros/latex/contrib/l3build.zip
+2023/02/26 | 19055 | macros/latex/contrib/l3build/CHANGELOG.md
+2023/02/26 | 1816 | macros/latex/contrib/l3build/l3build.1
+2023/02/26 | 7796 | macros/latex/contrib/l3build/l3build-arguments.lua
+2023/02/26 | 5397 | macros/latex/contrib/l3build/l3build-aux.lua
+2023/02/26 | 36683 | macros/latex/contrib/l3build/l3build-check.lua
+2023/02/26 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
+2023/02/26 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua
+2023/02/26 | 111762 | macros/latex/contrib/l3build/l3build.dtx
+2023/02/26 | 12633 | macros/latex/contrib/l3build/l3build-file-functions.lua
+2023/02/26 | 2473 | macros/latex/contrib/l3build/l3build-help.lua
+2023/02/26 | 1540 | macros/latex/contrib/l3build/l3build.ins
+2023/02/26 | 11070 | macros/latex/contrib/l3build/l3build-install.lua
+2023/02/26 | 6744 | macros/latex/contrib/l3build/l3build.lua
+2023/02/26 | 7206 | macros/latex/contrib/l3build/l3build-manifest.lua
+2023/02/26 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
+2023/02/26 | 742105 | macros/latex/contrib/l3build/l3build.pdf
+2023/02/26 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua
+2023/02/26 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua
+2023/02/26 | 6739 | macros/latex/contrib/l3build/l3build-typesetting.lua
+2023/02/26 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua
+2023/02/26 | 13211 | macros/latex/contrib/l3build/l3build-upload.lua
+2023/02/26 | 7943 | macros/latex/contrib/l3build/l3build-variables.lua
+2023/02/26 | 3382 | macros/latex/contrib/l3build/l3build-zip.lua
+2023/02/26 | 1019 | macros/latex/contrib/l3build/README.md
+2023/02/26 | 813416 | macros/latex/contrib/l3build.zip
2023/01/24 | 7734 | macros/latex/contrib/l3experimental/CHANGELOG.md
2023/01/24 | 16509 | macros/latex/contrib/l3experimental/l3benchmark.dtx
2023/01/24 | 1558 | macros/latex/contrib/l3experimental/l3benchmark.ins
@@ -233221,15 +233279,15 @@
2022/12/27 | 970 | macros/latex/contrib/resmes/resmes.ins
2022/12/27 | 69170 | macros/latex/contrib/resmes/resmes.pdf
2022/12/27 | 68736 | macros/latex/contrib/resmes.zip
-2023/02/13 | 193359 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
-2023/02/13 | 41959 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
-2023/02/13 | 154061 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
-2023/02/13 | 126724 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
-2023/02/12 | 8006 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
-2023/02/12 | 5390 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
-2023/02/06 | 459 | macros/latex/contrib/resolsysteme/README.md
-2023/02/12 | 145896 | macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
-2023/02/13 | 482617 | macros/latex/contrib/resolsysteme.zip
+2023/02/26 | 196376 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
+2023/02/26 | 42724 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
+2023/02/26 | 158171 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
+2023/02/26 | 126723 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
+2023/02/21 | 8006 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
+2023/02/21 | 6151 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
+2023/02/26 | 505 | macros/latex/contrib/resolsysteme/README.md
+2023/02/26 | 159020 | macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
+2023/02/26 | 490600 | macros/latex/contrib/resolsysteme.zip
2018/02/22 | 1194 | macros/latex/contrib/resphilosophica/Makefile
2019/04/14 | 2258 | macros/latex/contrib/resphilosophica/README
2015/08/22 | 1438 | macros/latex/contrib/resphilosophica/resphilosophica.bib
@@ -283507,7 +283565,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2023/02/23 | 217242 | support/TeX4ht/source/ChangeLog
+2023/02/26 | 217600 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -283519,7 +283577,7 @@
2021/05/03 | 1121 | support/TeX4ht/source/README
2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua
2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex
-2023/02/19 | 1153501 | support/TeX4ht/source/tex4ht-4ht.tex
+2023/02/26 | 1153503 | support/TeX4ht/source/tex4ht-4ht.tex
2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex
2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex
2022/06/05 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex
@@ -288558,7 +288616,7 @@
2020/04/22 | 5992 | systems/texlive/tlnet/archive/bearwear.source.r54826.tar.xz
2023/01/07 | 7052 | systems/texlive/tlnet/archive/beaulivre.doc.r65475.tar.xz
2023/01/07 | 4760 | systems/texlive/tlnet/archive/beaulivre.r65475.tar.xz
-2023/01/13 | 900220 | systems/texlive/tlnet/archive/beebe.r65525.tar.xz
+2023/02/26 | 900568 | systems/texlive/tlnet/archive/beebe.r66144.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
@@ -289158,8 +289216,8 @@
2019/02/28 | 7136 | systems/texlive/tlnet/archive/bxeepic.r30559.tar.xz
2019/02/28 | 1856 | systems/texlive/tlnet/archive/bxenclose.doc.r40213.tar.xz
2019/02/28 | 1764 | systems/texlive/tlnet/archive/bxenclose.r40213.tar.xz
-2022/05/22 | 1980 | systems/texlive/tlnet/archive/bxghost.doc.r63354.tar.xz
-2022/05/22 | 2012 | systems/texlive/tlnet/archive/bxghost.r63354.tar.xz
+2023/02/26 | 2012 | systems/texlive/tlnet/archive/bxghost.doc.r66158.tar.xz
+2023/02/26 | 2016 | systems/texlive/tlnet/archive/bxghost.r66158.tar.xz
2021/09/29 | 210340 | systems/texlive/tlnet/archive/bxjaholiday.doc.r60636.tar.xz
2021/09/29 | 5600 | systems/texlive/tlnet/archive/bxjaholiday.r60636.tar.xz
2023/02/22 | 3012 | systems/texlive/tlnet/archive/bxjalipsum.doc.r66033.tar.xz
@@ -292248,9 +292306,9 @@
2021/08/31 | 83112 | systems/texlive/tlnet/archive/footnotehyper.doc.r60374.tar.xz
2021/08/31 | 3692 | systems/texlive/tlnet/archive/footnotehyper.r60374.tar.xz
2021/08/31 | 16008 | systems/texlive/tlnet/archive/footnotehyper.source.r60374.tar.xz
-2019/11/25 | 402812 | systems/texlive/tlnet/archive/footnoterange.doc.r52910.tar.xz
-2019/11/25 | 2624 | systems/texlive/tlnet/archive/footnoterange.r52910.tar.xz
-2019/11/25 | 10844 | systems/texlive/tlnet/archive/footnoterange.source.r52910.tar.xz
+2023/02/26 | 457728 | systems/texlive/tlnet/archive/footnoterange.doc.r66156.tar.xz
+2023/02/26 | 2644 | systems/texlive/tlnet/archive/footnoterange.r66156.tar.xz
+2023/02/26 | 11568 | systems/texlive/tlnet/archive/footnoterange.source.r66156.tar.xz
2019/02/28 | 53212 | systems/texlive/tlnet/archive/footnpag.doc.r15878.tar.xz
2019/02/28 | 7732 | systems/texlive/tlnet/archive/footnpag.r15878.tar.xz
2019/02/28 | 924 | systems/texlive/tlnet/archive/footnpag.source.r15878.tar.xz
@@ -292331,9 +292389,9 @@
2019/02/28 | 41296 | systems/texlive/tlnet/archive/frederika2016.r42157.tar.xz
2019/02/28 | 142332 | systems/texlive/tlnet/archive/frege.doc.r27417.tar.xz
2019/02/28 | 4528 | systems/texlive/tlnet/archive/frege.r27417.tar.xz
-2023/01/30 | 230616 | systems/texlive/tlnet/archive/frenchmath.doc.r65677.tar.xz
-2023/01/30 | 2864 | systems/texlive/tlnet/archive/frenchmath.r65677.tar.xz
-2023/01/30 | 13224 | systems/texlive/tlnet/archive/frenchmath.source.r65677.tar.xz
+2023/02/26 | 234988 | systems/texlive/tlnet/archive/frenchmath.doc.r66155.tar.xz
+2023/02/26 | 2832 | systems/texlive/tlnet/archive/frenchmath.r66155.tar.xz
+2023/02/26 | 13552 | systems/texlive/tlnet/archive/frenchmath.source.r66155.tar.xz
2020/10/20 | 191432 | systems/texlive/tlnet/archive/frimurer.doc.r56704.tar.xz
2020/10/20 | 15456 | systems/texlive/tlnet/archive/frimurer.r56704.tar.xz
2020/10/20 | 4184 | systems/texlive/tlnet/archive/frimurer.source.r56704.tar.xz
@@ -295991,9 +296049,9 @@
2019/02/28 | 7064 | systems/texlive/tlnet/archive/niceframe.source.r36086.tar.xz
2019/02/28 | 604 | systems/texlive/tlnet/archive/niceframe-type1.doc.r44671.tar.xz
2019/02/28 | 276328 | systems/texlive/tlnet/archive/niceframe-type1.r44671.tar.xz
-2023/02/19 | 1853384 | systems/texlive/tlnet/archive/nicematrix.doc.r65902.tar.xz
-2023/02/19 | 38492 | systems/texlive/tlnet/archive/nicematrix.r65902.tar.xz
-2023/02/19 | 121644 | systems/texlive/tlnet/archive/nicematrix.source.r65902.tar.xz
+2023/02/26 | 1860836 | systems/texlive/tlnet/archive/nicematrix.doc.r66154.tar.xz
+2023/02/26 | 38596 | systems/texlive/tlnet/archive/nicematrix.r66154.tar.xz
+2023/02/26 | 122040 | systems/texlive/tlnet/archive/nicematrix.source.r66154.tar.xz
2019/02/28 | 2473836 | systems/texlive/tlnet/archive/nicetext.doc.r38914.tar.xz
2019/02/28 | 54740 | systems/texlive/tlnet/archive/nicetext.r38914.tar.xz
2019/02/28 | 28908 | systems/texlive/tlnet/archive/nicetext.source.r38914.tar.xz
@@ -297060,8 +297118,8 @@
2019/12/07 | 14376 | systems/texlive/tlnet/archive/pmboxdraw.source.r53046.tar.xz
2019/02/28 | 129312 | systems/texlive/tlnet/archive/pmgraph.doc.r15878.tar.xz
2019/02/28 | 10064 | systems/texlive/tlnet/archive/pmgraph.r15878.tar.xz
-2023/02/20 | 929916 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r65943.tar.xz
-2023/02/20 | 8796 | systems/texlive/tlnet/archive/pmhanguljamo.r65943.tar.xz
+2023/02/26 | 936280 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r66157.tar.xz
+2023/02/26 | 8964 | systems/texlive/tlnet/archive/pmhanguljamo.r66157.tar.xz
2021/08/30 | 681608 | systems/texlive/tlnet/archive/pm-isomath.doc.r60368.tar.xz
2021/08/30 | 2840 | systems/texlive/tlnet/archive/pm-isomath.r60368.tar.xz
2021/08/30 | 19428 | systems/texlive/tlnet/archive/pm-isomath.source.r60368.tar.xz
@@ -297816,9 +297874,9 @@
2021/02/03 | 1874644 | systems/texlive/tlnet/archive/quran-ur.r57597.tar.xz
2020/09/12 | 599896 | systems/texlive/tlnet/archive/qyxf-book.doc.r56319.tar.xz
2020/09/12 | 5180 | systems/texlive/tlnet/archive/qyxf-book.r56319.tar.xz
-2023/02/23 | 687072 | systems/texlive/tlnet/archive/ragged2e.doc.r66070.tar.xz
-2023/02/23 | 3012 | systems/texlive/tlnet/archive/ragged2e.r66070.tar.xz
-2023/02/23 | 11892 | systems/texlive/tlnet/archive/ragged2e.source.r66070.tar.xz
+2023/02/26 | 687788 | systems/texlive/tlnet/archive/ragged2e.doc.r66153.tar.xz
+2023/02/26 | 3020 | systems/texlive/tlnet/archive/ragged2e.r66153.tar.xz
+2023/02/26 | 11920 | systems/texlive/tlnet/archive/ragged2e.source.r66153.tar.xz
2019/02/28 | 185360 | systems/texlive/tlnet/archive/raleway.doc.r42629.tar.xz
2019/02/28 | 2336284 | systems/texlive/tlnet/archive/raleway.r42629.tar.xz
2019/02/28 | 67312 | systems/texlive/tlnet/archive/randbild.doc.r15878.tar.xz
@@ -299102,14 +299160,14 @@
2022/02/27 | 108804 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r62206.tar.xz
2022/02/27 | 87364 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r62220.tar.xz
2022/04/21 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r63092.tar.xz
-2023/02/25 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66109.tar.xz
+2023/02/26 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66162.tar.xz
2022/03/01 | 58328 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r62282.tar.xz
2022/02/27 | 93760 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r62206.tar.xz
2022/02/27 | 91280 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r62210.tar.xz
2022/02/27 | 76200 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r62220.tar.xz
2022/02/27 | 83964 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r62206.tar.xz
-2023/02/25 | 1103292 | systems/texlive/tlnet/archive/tex4ht.r66109.tar.xz
-2023/02/25 | 1445696 | systems/texlive/tlnet/archive/tex4ht.source.r66109.tar.xz
+2023/02/26 | 1103224 | systems/texlive/tlnet/archive/tex4ht.r66162.tar.xz
+2023/02/26 | 1446084 | systems/texlive/tlnet/archive/tex4ht.source.r66162.tar.xz
2022/02/28 | 184748 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r62258.tar.xz
2022/02/27 | 57768 | systems/texlive/tlnet/archive/tex4ht.win32.r62199.tar.xz
2022/03/01 | 58016 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r62279.tar.xz
@@ -299363,7 +299421,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
-2023/02/25 | 424664 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66121.tar.xz
+2023/02/26 | 424664 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66144.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
@@ -299387,7 +299445,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
-2023/02/25 | 113796 | systems/texlive/tlnet/archive/texlive-scripts.r66121.tar.xz
+2023/02/26 | 113800 | systems/texlive/tlnet/archive/texlive-scripts.r66144.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2022/11/29 | 36264 | systems/texlive/tlnet/archive/texlive-scripts.win32.r65128.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -301137,9 +301195,9 @@
2022/11/08 | 6064 | systems/texlive/tlnet/archive/yamlvars.r64949.tar.xz
2019/02/28 | 28912 | systems/texlive/tlnet/archive/yannisgr.doc.r22613.tar.xz
2019/02/28 | 37576 | systems/texlive/tlnet/archive/yannisgr.r22613.tar.xz
-2022/06/14 | 5190296 | systems/texlive/tlnet/archive/yathesis.doc.r63576.tar.xz
-2022/06/14 | 23656 | systems/texlive/tlnet/archive/yathesis.r63576.tar.xz
-2022/06/14 | 54632 | systems/texlive/tlnet/archive/yathesis.source.r63576.tar.xz
+2023/02/26 | 5200912 | systems/texlive/tlnet/archive/yathesis.doc.r66159.tar.xz
+2023/02/26 | 23656 | systems/texlive/tlnet/archive/yathesis.r66159.tar.xz
+2023/02/26 | 54668 | systems/texlive/tlnet/archive/yathesis.source.r66159.tar.xz
2020/03/04 | 123700 | systems/texlive/tlnet/archive/yax.doc.r54080.tar.xz
2020/03/04 | 5936 | systems/texlive/tlnet/archive/yax.r54080.tar.xz
2022/01/24 | 2170868 | systems/texlive/tlnet/archive/yazd-thesis.doc.r61719.tar.xz
@@ -301256,16 +301314,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
-2023/02/25 | 5828964 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/02/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/02/25 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/02/26 | 5829372 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/02/26 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/02/26 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2023/02/25 | 20437377 | systems/texlive/tlnet/install-tl-windows.exe
-2023/02/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/02/25 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/02/25 | 25513794 | systems/texlive/tlnet/install-tl.zip
-2023/02/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/02/25 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/02/26 | 20437477 | systems/texlive/tlnet/install-tl-windows.exe
+2023/02/26 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/02/26 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/02/26 | 25513799 | systems/texlive/tlnet/install-tl.zip
+2023/02/26 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/02/26 | 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
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -301275,7 +301333,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/01/17 | 49938 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/02/25 | 7256 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/02/26 | 7271 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/01/11 | 216583 | 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
@@ -301318,12 +301376,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
-2023/02/25 | 18064290 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/02/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/02/26 | 18064343 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/02/26 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/02/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/02/25 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/02/25 | 2449936 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/02/26 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/02/26 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/02/26 | 2450096 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/09/14 | 58922 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/10/04 | 42404 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -304031,7 +304089,7 @@
2023/02/18 | 94454 | systems/texlive/tlnet/tlpkg/translations/fr.po
2023/02/18 | 88047 | systems/texlive/tlnet/tlpkg/translations/it.po
2023/02/18 | 62994 | systems/texlive/tlnet/tlpkg/translations/ja.po
-2023/02/25 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2023/02/26 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2023/02/18 | 58359 | systems/texlive/tlnet/tlpkg/translations/nl.po
2023/02/18 | 67459 | systems/texlive/tlnet/tlpkg/translations/pl.po
2023/02/18 | 82899 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
@@ -311646,7 +311704,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
-2023/02/26 | 186 | timestamp
+2023/02/27 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 82d35c8312..123983b2d0 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 37a8b91082..198e6727e5 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,156 @@
+2023/02/26 | 9952 | macros/latex/contrib/fduthesis/fudan-name.pdf
+2023/02/26 | 977630 | macros/latex/contrib/fduthesis/fduthesis-code.pdf
+2023/02/26 | 936280 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r66157.tar.xz
+2023/02/26 | 900568 | systems/texlive/tlnet/archive/beebe.r66144.tar.xz
+2023/02/26 | 8964 | systems/texlive/tlnet/archive/pmhanguljamo.r66157.tar.xz
+2023/02/26 | 887 | fonts/newcomputermodern/tex/NewCMSans10-Book.fontspec
+2023/02/26 | 887534 | graphics/pgf/contrib/tangramtikz.zip
+2023/02/26 | 886 | fonts/newcomputermodern/tex/NewCMSans10-Regular.fontspec
+2023/02/26 | 816802 | install/macros/latex/contrib/l3build.tds.zip
+2023/02/26 | 813416 | macros/latex/contrib/l3build.zip
+2023/02/26 | 8015 | fonts/newcomputermodern/doc/newcomputermodern-sample.tex
+2023/02/26 | 7943 | macros/latex/contrib/l3build/l3build-variables.lua
+2023/02/26 | 7796 | macros/latex/contrib/l3build/l3build-arguments.lua
+2023/02/26 | 742105 | macros/latex/contrib/l3build/l3build.pdf
+2023/02/26 | 7352 | macros/jptex/latex/pxbase/pxjsfenc.def
+2023/02/26 | 7271 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/02/26 | 7206 | macros/latex/contrib/l3build/l3build-manifest.lua
+2023/02/26 | 687788 | systems/texlive/tlnet/archive/ragged2e.doc.r66153.tar.xz
+2023/02/26 | 6744 | macros/latex/contrib/l3build/l3build.lua
+2023/02/26 | 6739 | macros/latex/contrib/l3build/l3build-typesetting.lua
+2023/02/26 | 6423 | fonts/newcomputermodern/doc/opticalmathlm-cropped.pdf
+2023/02/26 | 6310183 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
+2023/02/26 | 62530 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx
+2023/02/26 | 6102 | fonts/newcomputermodern/doc/integral.pdf
+2023/02/26 | 607936 | macros/jptex/latex/platex-tools.zip
+2023/02/26 | 597492 | fonts/newcomputermodern/otf/NewCM08-Book.otf
+2023/02/26 | 5829372 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/02/26 | 54668 | systems/texlive/tlnet/archive/yathesis.source.r66159.tar.xz
+2023/02/26 | 5397 | macros/latex/contrib/l3build/l3build-aux.lua
+2023/02/26 | 5200912 | systems/texlive/tlnet/archive/yathesis.doc.r66159.tar.xz
+2023/02/26 | 516033 | biblio/bibtex/bibtex-x.zip
+2023/02/26 | 505 | macros/latex/contrib/resolsysteme/README.md
+2023/02/26 | 50163 | graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
+2023/02/26 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua
+2023/02/26 | 490600 | macros/latex/contrib/resolsysteme.zip
+2023/02/26 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/02/26 | 4859 | macros/latex/contrib/hrefhide/README
+2023/02/26 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2023/02/26 | 457728 | systems/texlive/tlnet/archive/footnoterange.doc.r66156.tar.xz
+2023/02/26 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/02/26 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/02/26 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/02/26 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/02/26 | 451134 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
+2023/02/26 | 450556 | install/macros/latex/contrib/hrefhide.tds.zip
+2023/02/26 | 450025 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
+2023/02/26 | 445548 | macros/latex/contrib/fduthesis/fduthesis.pdf
+2023/02/26 | 442306 | macros/latex/contrib/hrefhide.zip
+2023/02/26 | 434 | macros/jptex/latex/pxbase/pxbase.sty
+2023/02/26 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua
+2023/02/26 | 42724 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
+2023/02/26 | 424664 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66144.tar.xz
+2023/02/26 | 4049362 | biblio/ctan-bibdata.zip
+2023/02/26 | 3888 | fonts/newcomputermodern/doc/opticalmathlm.pdf
+2023/02/26 | 38830 | macros/latex/contrib/hrefhide/hrefhide.dtx
+2023/02/26 | 38596 | systems/texlive/tlnet/archive/nicematrix.r66154.tar.xz
+2023/02/26 | 36683 | macros/latex/contrib/l3build/l3build-check.lua
+2023/02/26 | 36661 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
+2023/02/26 | 3652128 | biblio/ctan-bibdata/ctan.pdf
+2023/02/26 | 340 | fonts/newcomputermodern/tex/newcomputermodern.sty
+2023/02/26 | 3382 | macros/latex/contrib/l3build/l3build-zip.lua
+2023/02/26 | 33585 | fonts/newcomputermodern/doc/newcm-doc.tex
+2023/02/26 | 329925 | macros/latex/contrib/hrefhide/hrefhide.pdf
+2023/02/26 | 3135 | macros/jptex/latex/pxbase/upkcat.sty
+2023/02/26 | 3020 | systems/texlive/tlnet/archive/ragged2e.r66153.tar.xz
+2023/02/26 | 2918 | macros/jptex/latex/platex-tools/README.md
+2023/02/26 | 2832 | systems/texlive/tlnet/archive/frenchmath.r66155.tar.xz
+2023/02/26 | 2767191 | biblio/ctan-bibdata/ctan.bib
+2023/02/26 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua
+2023/02/26 | 2644 | systems/texlive/tlnet/archive/footnoterange.r66156.tar.xz
+2023/02/26 | 259312 | macros/latex/contrib/fduthesis/fduthesis-logo.dtx
+2023/02/26 | 25513799 | systems/texlive/tlnet/install-tl.zip
+2023/02/26 | 2473 | macros/latex/contrib/l3build/l3build-help.lua
+2023/02/26 | 2458 | macros/latex/contrib/fduthesis/README.md
+2023/02/26 | 2450096 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/02/26 | 2431 | macros/jptex/latex/pxbase/README.md
+2023/02/26 | 2374 | macros/jptex/latex/platex/README.md
+2023/02/26 | 23656 | systems/texlive/tlnet/archive/yathesis.r66159.tar.xz
+2023/02/26 | 234 | fonts/newcomputermodern/tex/NewCMMono10-Regular.fontspec
+2023/02/26 | 234988 | systems/texlive/tlnet/archive/frenchmath.doc.r66155.tar.xz
+2023/02/26 | 232 | fonts/newcomputermodern/tex/NewCMMono10-Book.fontspec
+2023/02/26 | 23244 | fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
+2023/02/26 | 23209 | macros/jptex/latex/pxbase/pxbabel.sty
+2023/02/26 | 23159107 | fonts/newcomputermodern.zip
+2023/02/26 | 2313728 | install/macros/jptex/latex/platex.tds.zip
+2023/02/26 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua
+2023/02/26 | 22707 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
+2023/02/26 | 22659 | macros/jptex/latex/pxbase/pxbabel.tex
+2023/02/26 | 22508 | fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
+2023/02/26 | 22404 | fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
+2023/02/26 | 222744 | macros/latex/contrib/fduthesis/fduthesis.dtx
+2023/02/26 | 222654 | macros/latex/contrib/fduthesis/fduthesis-code.dtx
+2023/02/26 | 2188046 | macros/jptex/latex/platex.zip
+2023/02/26 | 217600 | support/TeX4ht/source/ChangeLog
+2023/02/26 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
+2023/02/26 | 21338 | graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
+2023/02/26 | 205 | fonts/newcomputermodern/doc/opticalmathlm.tex
+2023/02/26 | 20437477 | systems/texlive/tlnet/install-tl-windows.exe
+2023/02/26 | 2016 | systems/texlive/tlnet/archive/bxghost.r66158.tar.xz
+2023/02/26 | 2012 | systems/texlive/tlnet/archive/bxghost.doc.r66158.tar.xz
+2023/02/26 | 196376 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
+2023/02/26 | 19447 | macros/jptex/latex/pxbase/pxbasenc.def
+2023/02/26 | 191 | fonts/newcomputermodern/doc/integral.tex
+2023/02/26 | 1916406 | install/macros/latex/contrib/fduthesis.tds.zip
+2023/02/26 | 191073 | fonts/newcomputermodern/doc/newcm-doc.pdf
+2023/02/26 | 19055 | macros/latex/contrib/l3build/CHANGELOG.md
+2023/02/26 | 1860836 | systems/texlive/tlnet/archive/nicematrix.doc.r66154.tar.xz
+2023/02/26 | 184322 | macros/jptex/latex/pxbase.zip
+2023/02/26 | 1816 | macros/latex/contrib/l3build/l3build.1
+2023/02/26 | 18064343 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/02/26 | 1791549 | macros/latex/contrib/fduthesis.zip
+2023/02/26 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/02/26 | 16144 | fonts/newcomputermodern/doc/newcm-unimath-symbols.ltx
+2023/02/26 | 15957 | macros/latex/contrib/fduthesis/fudan-emblem.pdf
+2023/02/26 | 159020 | macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
+2023/02/26 | 158171 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
+2023/02/26 | 157044 | macros/jptex/latex/pxbase/pxbabel.pdf
+2023/02/26 | 1540 | macros/latex/contrib/l3build/l3build.ins
+2023/02/26 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/02/26 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/02/26 | 151111 | macros/latex/contrib/fduthesis/fduthesis-en.pdf
+2023/02/26 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/02/26 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/02/26 | 1446084 | systems/texlive/tlnet/archive/tex4ht.source.r66162.tar.xz
+2023/02/26 | 141279 | fonts/newcomputermodern/doc/newcomputermodern-sample.pdf
+2023/02/26 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66162.tar.xz
+2023/02/26 | 13552 | systems/texlive/tlnet/archive/frenchmath.source.r66155.tar.xz
+2023/02/26 | 13211 | macros/latex/contrib/l3build/l3build-upload.lua
+2023/02/26 | 1303962 | fonts/newcomputermodern/doc/newcm-unimath-symbols.pdf
+2023/02/26 | 12812592 | fonts/newcomputermodern/source.txz
+2023/02/26 | 126723 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
+2023/02/26 | 12633 | macros/latex/contrib/l3build/l3build-file-functions.lua
+2023/02/26 | 122040 | systems/texlive/tlnet/archive/nicematrix.source.r66154.tar.xz
+2023/02/26 | 11920 | systems/texlive/tlnet/archive/ragged2e.source.r66153.tar.xz
+2023/02/26 | 11709 | fonts/newcomputermodern/README
+2023/02/26 | 11568 | systems/texlive/tlnet/archive/footnoterange.source.r66156.tar.xz
+2023/02/26 | 1153503 | support/TeX4ht/source/tex4ht-4ht.tex
+2023/02/26 | 1139340 | fonts/newcomputermodern/otf/NewCMMath-Book.otf
+2023/02/26 | 113800 | systems/texlive/tlnet/archive/texlive-scripts.r66144.tar.xz
+2023/02/26 | 11296361 | macros/latex/contrib/jeuxcartes.zip
+2023/02/26 | 111762 | macros/latex/contrib/l3build/l3build.dtx
+2023/02/26 | 111632 | macros/latex/contrib/hrefhide/hrefhide-example.pdf
+2023/02/26 | 11070 | macros/latex/contrib/l3build/l3build-install.lua
+2023/02/26 | 1103224 | systems/texlive/tlnet/archive/tex4ht.r66162.tar.xz
+2023/02/26 | 10927 | macros/jptex/latex/pxbase/README-ja.md
+2023/02/26 | 1091 | macros/jptex/latex/pxbase/LICENSE
+2023/02/26 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
+2023/02/26 | 10688 | macros/latex/contrib/fduthesis/fudan-emblem-new.pdf
+2023/02/26 | 1034 | fonts/newcomputermodern/tex/NewCM10-Regular.fontspec
+2023/02/26 | 1032 | macros/latex/contrib/jeuxcartes/README.md
+2023/02/26 | 1019 | macros/latex/contrib/l3build/README.md
+2023/02/26 | 1014 | fonts/newcomputermodern/tex/NewCM10-Book.fontspec
+2023/02/26 | 1006396 | fonts/newcomputermodern/otf/NewCMMath-Regular.otf
2023/02/25 | 9 | support/texlab/src/parser/test_data/latex/label/label_reference_simple.txt
2023/02/25 | 9 | support/texlab/src/parser/test_data/latex/glossary/glossary_entry_reference_simple.txt
2023/02/25 | 9 | support/texlab/src/parser/test_data/latex/citation/citation_missing_brace.txt
@@ -29,6 +182,7 @@
2023/02/25 | 875 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
2023/02/25 | 872 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
2023/02/25 | 869 | support/texlab/benches/bench_main.rs
+2023/02/25 | 861 | macros/jptex/latex/platex/pl209.ins
2023/02/25 | 860 | support/texlab/src/parser/test_data/bibtex/samples/blom_2021.txt
2023/02/25 | 8604 | systems/texlive/tlnet/archive/zhnumber.r66119.tar.xz
2023/02/25 | 858 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__equation_missing_end.txt.snap
@@ -39,6 +193,7 @@
2023/02/25 | 844 | support/texlab/src/features/completion/acronym_ref.rs
2023/02/25 | 841 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
2023/02/25 | 8386 | support/texlab/src/util/label.rs
+2023/02/25 | 8363 | macros/jptex/latex/platex/plnewsc14.tex
2023/02/25 | 83256 | systems/texlive/tlnet/archive/belleek.r66119.tar.xz
2023/02/25 | 82 | support/texlab/src/parser/test_data/bibtex/comment.txt
2023/02/25 | 823 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@equation_missing_begin.txt.snap
@@ -51,7 +206,9 @@
2023/02/25 | 7 | support/texlab/src/parser/test_data/latex/citation/citation_empty.txt
2023/02/25 | 797204 | systems/texlive/tlnet/archive/jsclasses.doc.r66100.tar.xz
2023/02/25 | 7955 | support/texlab/src/syntax/bibtex.rs
+2023/02/25 | 79300 | macros/jptex/latex/platex-tools/plextarray.pdf
2023/02/25 | 785 | support/texlab/src/features/hover/citation.rs
+2023/02/25 | 7818 | macros/jptex/latex/platex/plnewsc01.tex
2023/02/25 | 776 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_figure.txt.snap
2023/02/25 | 7763 | support/texlab/tests/lsp/fixture.rs
2023/02/25 | 7762 | support/texlab/src/parser/test_data/build_log/007.txt
@@ -59,6 +216,7 @@
2023/02/25 | 76 | support/texlab/src/parser/test_data/latex/glossary/acronym_definition_options.txt
2023/02/25 | 768 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
2023/02/25 | 766 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__ignored_patterns.snap
+2023/02/25 | 7666 | macros/jptex/latex/platex/pl209.dtx
2023/02/25 | 766607 | macros/latex/contrib/nicematrix/nicematrix.dtx
2023/02/25 | 765 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
2023/02/25 | 765 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
@@ -73,10 +231,11 @@
2023/02/25 | 7420 | systems/texlive/tlnet/archive/alpha-persian.r66119.tar.xz
2023/02/25 | 7419 | support/texlab/src/features/formatting/bibtex_internal.rs
2023/02/25 | 7412 | systems/texlive/tlnet/archive/latexpand.r66132.tar.xz
+2023/02/25 | 73233 | macros/jptex/latex/platex-tools/pxatbegshi.pdf
2023/02/25 | 730 | support/texlab/src/features/completion/tikz_library.rs
2023/02/25 | 7308 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
2023/02/25 | 729 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_definition_simple.txt.snap
-2023/02/25 | 7256 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/02/25 | 72264 | macros/jptex/latex/platex/platex.dtx
2023/02/25 | 7216 | systems/texlive/tlnet/archive/jpsj.r66119.tar.xz
2023/02/25 | 720 | systems/texlive/tlnet/archive/belleek.doc.r66119.tar.xz
2023/02/25 | 720 | support/texlab/src/citation/snapshots/texlab__citation__tests__collection_matuz_1990.snap
@@ -90,12 +249,14 @@
2023/02/25 | 710 | support/texlab/src/distro/kpsewhich.rs
2023/02/25 | 7089 | support/texlab/src/db/discovery.rs
2023/02/25 | 706 | support/texlab/src/parser/test_data/bibtex/samples/almendro_1998.txt
+2023/02/25 | 7042 | macros/jptex/latex/platex/jltxdoc.dtx
2023/02/25 | 702 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@001.txt.snap
2023/02/25 | 700154 | macros/latex/contrib/ragged2e/ragged2e.pdf
2023/02/25 | 6 | support/texlab/src/parser/test_data/latex/group/escaped_brackets.txt
2023/02/25 | 699 | support/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_bibtex.snap
2023/02/25 | 699 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
2023/02/25 | 698926 | macros/latex/contrib/ragged2e.zip
+2023/02/25 | 697 | macros/jptex/latex/platex/platexrelease.ins
2023/02/25 | 6970534 | support/texlab/data/components.json.gz
2023/02/25 | 696078 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
2023/02/25 | 693 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__inkscape_include_options.txt.snap
@@ -116,6 +277,7 @@
2023/02/25 | 674 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
2023/02/25 | 67444 | systems/texlive/tlnet/archive/japanese-otf.source.r66102.tar.xz
2023/02/25 | 672 | support/texlab/src/features/hover/label.rs
+2023/02/25 | 6717 | macros/jptex/latex/platex/plnewsc06.tex
2023/02/25 | 668 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@block_comments.txt.snap
2023/02/25 | 666 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
2023/02/25 | 6630 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__blom_2021.txt.snap
@@ -128,6 +290,7 @@
2023/02/25 | 651 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@inline_double_dollar.txt.snap
2023/02/25 | 650 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
2023/02/25 | 64 | support/texlab/src/parser/test_data/latex/glossary/acronym_declaration.txt
+2023/02/25 | 64927 | macros/jptex/latex/platex-tools/plextdelarray.pdf
2023/02/25 | 6484 | support/texlab/src/util/line_index.rs
2023/02/25 | 646 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_default_error.txt.snap
2023/02/25 | 6458 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
@@ -140,21 +303,26 @@
2023/02/25 | 633 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@inline.txt.snap
2023/02/25 | 627 | support/texlab/src/server/query.rs
2023/02/25 | 618 | support/texlab/texlab.1
+2023/02/25 | 6172 | macros/jptex/latex/platex-tools/pxeverysel.sty
2023/02/25 | 615 | support/texlab/src/parser/test_data/bibtex/samples/erwin_2007.txt
2023/02/25 | 613 | support/texlab/src/features/hover/field.rs
+2023/02/25 | 61183 | macros/jptex/latex/platex-tools/pxeverysel.pdf
2023/02/25 | 60 | support/texlab/src/parser/test_data/latex/structure/structure_enum_item.txt
2023/02/25 | 60 | support/texlab/src/citation/field.rs
+2023/02/25 | 607 | macros/jptex/latex/platex-tools/pxmulticol.sty
+2023/02/25 | 6069 | macros/jptex/latex/platex/plnews06.tex
2023/02/25 | 6018 | support/texlab/src/util/capabilities.rs
2023/02/25 | 599516 | systems/texlive/tlnet/archive/l3kernel.source.r66099.tar.xz
2023/02/25 | 596 | systems/texlive/tlnet/archive/belleek.source.r66119.tar.xz
2023/02/25 | 595 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
2023/02/25 | 594 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
+2023/02/25 | 5922 | macros/jptex/latex/platex-tools/plextarray.tex
2023/02/25 | 585 | support/texlab/src/citation/snapshots/texlab__citation__tests__book_aho_2006.snap
2023/02/25 | 5856 | support/texlab/src/db/diagnostics.rs
2023/02/25 | 5850 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__betram_1996.txt.snap
2023/02/25 | 583 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
2023/02/25 | 583 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
-2023/02/25 | 5828964 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/02/25 | 58396 | macros/jptex/latex/platex-tools/plarray.pdf
2023/02/25 | 580 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@graphics_path_command.txt.snap
2023/02/25 | 5805 | support/texlab/src/db/analysis.rs
2023/02/25 | 578 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_number.txt.snap
@@ -162,6 +330,7 @@
2023/02/25 | 57018 | support/texlab/data/lang_data.json
2023/02/25 | 56992 | systems/texlive/tlnet/archive/jsclasses.source.r66100.tar.xz
2023/02/25 | 5692 | support/texlab/src/parser/build_log.rs
+2023/02/25 | 565 | macros/jptex/latex/platex/pldocs.ins
2023/02/25 | 5644 | systems/texlive/tlnet/archive/biolett-bst.r66119.tar.xz
2023/02/25 | 557 | support/texlab/src/parser/test_data/bibtex/samples/rivest_1978.txt
2023/02/25 | 556 | support/texlab/src/parser/test_data/bibtex/samples/betram_1996.txt
@@ -171,26 +340,32 @@
2023/02/25 | 5534 | support/texlab/src/features/build.rs
2023/02/25 | 551 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
2023/02/25 | 550 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
+2023/02/25 | 5492 | macros/jptex/latex/platex/Makefile
2023/02/25 | 5482 | support/texlab/src/features/symbol/project_order.rs
2023/02/25 | 547 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
2023/02/25 | 544 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
+2023/02/25 | 54423 | macros/jptex/latex/platex/plext.dtx
2023/02/25 | 533 | support/texlab/src/features/completion/component_environment.rs
2023/02/25 | 533310 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
2023/02/25 | 52 | support/texlab/src/parser/test_data/latex/include/graphics_include_command.txt
2023/02/25 | 52 | support/texlab/src/parser/test_data/latex/environment/environment_nested_missing_braces.txt
+2023/02/25 | 52975 | macros/jptex/latex/platex-tools/pxeveryshi.pdf
2023/02/25 | 528 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
2023/02/25 | 5270 | support/texlab/src/db/document.rs
+2023/02/25 | 52592 | macros/jptex/latex/platex-tools/pxftnright.pdf
2023/02/25 | 524144 | systems/texlive/tlnet/archive/xduts.r66119.tar.xz
2023/02/25 | 523 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
2023/02/25 | 520 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
2023/02/25 | 519 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
2023/02/25 | 517 | support/texlab/src/parser/test_data/bibtex/samples/matuz_1990.txt
+2023/02/25 | 5163 | macros/jptex/latex/platex/plnewsc04.tex
2023/02/25 | 514 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@caption__caption_minimal.txt.snap
2023/02/25 | 50 | support/texlab/src/parser/test_data/latex/environment/environment_asymptote.txt
2023/02/25 | 50 | support/texlab/src/parser/test_data/bibtex/issue_809.txt
2023/02/25 | 509 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
2023/02/25 | 508 | systems/texlive/tlnet/archive/tkz-doc.r66119.tar.xz
2023/02/25 | 507 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
+2023/02/25 | 5079 | macros/jptex/latex/platex-tools/plextdelarray.tex
2023/02/25 | 505 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_range_error.txt.snap
2023/02/25 | 5046 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
2023/02/25 | 50382 | macros/latex/contrib/ragged2e/ragged2e.dtx
@@ -203,7 +378,6 @@
2023/02/25 | 4 | support/texlab/src/parser/test_data/latex/generic_command_empty.txt
2023/02/25 | 499 | support/texlab/src/features/completion/color.rs
2023/02/25 | 494 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
-2023/02/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/25 | 48 | support/texlab/src/parser/test_data/latex/block_comments.txt
2023/02/25 | 486 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
2023/02/25 | 485 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
@@ -213,17 +387,14 @@
2023/02/25 | 47 | support/texlab/src/parser/test_data/latex/environment/environment_definition.txt
2023/02/25 | 477 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_multiple.txt.snap
2023/02/25 | 477803 | install/macros/latex/contrib/footnoterange.tds.zip
-2023/02/25 | 47403 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2023/02/25 | 473 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_definition_line_break.txt.snap
2023/02/25 | 471881 | macros/latex/contrib/footnoterange.zip
2023/02/25 | 469 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
+2023/02/25 | 4685 | macros/jptex/latex/platex/plnews02.tex
2023/02/25 | 464 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
+2023/02/25 | 4606 | macros/jptex/latex/platex/plnewsc15.tex
2023/02/25 | 459 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
2023/02/25 | 459 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_prenote.txt.snap
-2023/02/25 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/02/25 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/02/25 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/02/25 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/02/25 | 455 | support/texlab/src/util/regex_filter.rs
2023/02/25 | 455 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__import_simple.txt.snap
2023/02/25 | 454 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@generic_command_args.txt.snap
@@ -241,25 +412,29 @@
2023/02/25 | 4484932 | systems/texlive/tlnet/archive/alpha-persian.doc.r66119.tar.xz
2023/02/25 | 4445 | support/texlab/src/features/symbol/types.rs
2023/02/25 | 441 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
+2023/02/25 | 44150 | macros/jptex/latex/platex-tools/pxmulticol.pdf
2023/02/25 | 440 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
2023/02/25 | 43 | support/texlab/src/parser/test_data/latex/environment/environment_nested.txt
2023/02/25 | 43943 | macros/latex/contrib/footnoterange/footnoterange.dtx
2023/02/25 | 434 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@002.txt.snap
2023/02/25 | 42 | support/texlab/src/parser/test_data/latex/include/biblatex_include_options.txt
2023/02/25 | 4276 | support/texlab/src/features/completion/include.rs
-2023/02/25 | 424664 | systems/texlive/tlnet/archive/texlive-scripts.doc.r66121.tar.xz
+2023/02/25 | 4229 | macros/jptex/latex/platex-tools/pxftnright.sty
2023/02/25 | 421 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
2023/02/25 | 421 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
2023/02/25 | 420 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
2023/02/25 | 41 | support/texlab/src/parser/test_data/latex/include/package_include_options.txt
2023/02/25 | 4169 | support/texlab/tests/lsp/text_document/references.rs
+2023/02/25 | 4153 | macros/jptex/latex/platex/plnewsc08.tex
2023/02/25 | 414 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
2023/02/25 | 4130 | support/texlab/src/parser/test_data/build_log/006.txt
2023/02/25 | 4128 | language/japanese/BX/bxghost.zip
2023/02/25 | 411 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
2023/02/25 | 409 | support/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__filter_type_figure.snap
+2023/02/25 | 4099 | macros/jptex/latex/platex/plexpl3.dtx
2023/02/25 | 408 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
2023/02/25 | 408 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
+2023/02/25 | 4088 | macros/jptex/latex/platex-tools/pxatbegshi.sty
2023/02/25 | 407 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
2023/02/25 | 406 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
2023/02/25 | 406 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
@@ -268,10 +443,10 @@
2023/02/25 | 404 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
2023/02/25 | 404 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
2023/02/25 | 404 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
-2023/02/25 | 4048425 | biblio/ctan-bibdata.zip
2023/02/25 | 403 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
2023/02/25 | 403 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@graphics_path.txt.snap
2023/02/25 | 40184 | systems/texlive/tlnet/archive/tkz-doc.doc.r66119.tar.xz
+2023/02/25 | 4015 | biblio/bibtex/bibtex-x/bibtexu.1
2023/02/25 | 400 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
2023/02/25 | 4008 | support/texlab/src/util/lsp_enums.rs
2023/02/25 | 4006 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@issue_745.txt.snap
@@ -282,9 +457,11 @@
2023/02/25 | 39 | support/texlab/src/parser/test_data/latex/caption/caption_figure.txt
2023/02/25 | 399 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
2023/02/25 | 399 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@007.txt.snap
+2023/02/25 | 3984 | macros/jptex/latex/platex-tools/pxatbegshi.tex
2023/02/25 | 394 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__escaped_brackets.txt.snap
2023/02/25 | 3943 | support/texlab/tests/lsp/text_document/hover.rs
2023/02/25 | 391 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
+2023/02/25 | 3877 | macros/jptex/latex/platex/plnews08.tex
2023/02/25 | 386912 | systems/texlive/tlnet/archive/pixelart.doc.r66119.tar.xz
2023/02/25 | 3859 | language/japanese/BX/bxghost/bxghost-lib.sty
2023/02/25 | 384 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
@@ -296,10 +473,16 @@
2023/02/25 | 380 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
2023/02/25 | 380 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
2023/02/25 | 380190 | support/texlab/images/demo.gif
+2023/02/25 | 3796 | macros/jptex/latex/platex/plnewsc05.tex
2023/02/25 | 377 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@equation.txt.snap
+2023/02/25 | 3778 | macros/jptex/latex/platex/plnews07.tex
2023/02/25 | 37780 | systems/texlive/tlnet/archive/japanese-otf.doc.r66102.tar.xz
+2023/02/25 | 3754 | macros/jptex/latex/platex/plnewsc16.tex
2023/02/25 | 37434 | support/texlab/src/parser/latex.rs
2023/02/25 | 373140 | systems/texlive/tlnet/archive/tkz-base.doc.r66119.tar.xz
+2023/02/25 | 37311 | macros/jptex/latex/platex-tools/pxxspace.pdf
+2023/02/25 | 3714 | macros/jptex/latex/platex-tools/plextarray.sty
+2023/02/25 | 3713 | macros/jptex/latex/platex/plnewsc02.tex
2023/02/25 | 370 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_simple.txt.snap
2023/02/25 | 369 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
2023/02/25 | 36974 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
@@ -310,7 +493,7 @@
2023/02/25 | 367 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__class_include_simple.txt.snap
2023/02/25 | 36655 | support/texlab/src/server.rs
2023/02/25 | 3653 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__aho_2006.txt.snap
-2023/02/25 | 3651798 | biblio/ctan-bibdata/ctan.pdf
+2023/02/25 | 3643 | macros/jptex/latex/platex-tools/pxxspace.sty
2023/02/25 | 364180 | systems/texlive/tlnet/archive/tkz-tab.doc.r66119.tar.xz
2023/02/25 | 363 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
2023/02/25 | 362 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__svg_include_simple.txt.snap
@@ -321,6 +504,7 @@
2023/02/25 | 3590 | support/texlab/src/util/components.rs
2023/02/25 | 355 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_equation.txt.snap
2023/02/25 | 355 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__latex_include_simple.txt.snap
+2023/02/25 | 35463 | macros/jptex/latex/platex-tools/pldocverb.pdf
2023/02/25 | 353772 | systems/texlive/tlnet/archive/musicography.doc.r66119.tar.xz
2023/02/25 | 351 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
2023/02/25 | 351 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
@@ -328,7 +512,9 @@
2023/02/25 | 351 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__import_incomplete.txt.snap
2023/02/25 | 35149 | support/texlab/LICENSE
2023/02/25 | 350 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_reference_simple.txt.snap
+2023/02/25 | 35074 | macros/jptex/latex/platex-tools/plextcolortbl.pdf
2023/02/25 | 34 | support/texlab/src/parser/test_data/latex/include/svg_include_options.txt
+2023/02/25 | 3484 | macros/jptex/latex/platex/plnewsc11.tex
2023/02/25 | 3443 | support/texlab/src/util/chktex.rs
2023/02/25 | 343 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@label__label_reference_simple.txt.snap
2023/02/25 | 343 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
@@ -342,6 +528,7 @@
2023/02/25 | 335731 | macros/latex/contrib/footnoterange/footnoterange.pdf
2023/02/25 | 332 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
2023/02/25 | 332 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
+2023/02/25 | 3321 | macros/jptex/latex/platex/plnewsc03.tex
2023/02/25 | 331 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@citation__citation_simple.txt.snap
2023/02/25 | 32 | support/texlab/src/parser/test_data/latex/graphics_path_command.txt
2023/02/25 | 32 | support/texlab/src/parser/test_data/latex/glossary/acronym_reference_options.txt
@@ -357,7 +544,9 @@
2023/02/25 | 319 | support/texlab/src/util.rs
2023/02/25 | 31980 | systems/texlive/tlnet/archive/epspdf.r66119.tar.xz
2023/02/25 | 3197 | support/texlab/src/db/analysis/label.rs
+2023/02/25 | 3197 | macros/jptex/latex/platex/plnewsc13.tex
2023/02/25 | 3194 | support/texlab/src/parser/test_data/build_log/001.txt
+2023/02/25 | 3194 | macros/jptex/latex/platex/plnews.cls
2023/02/25 | 318 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_empty.txt.snap
2023/02/25 | 318 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__curly_group_simple.txt.snap
2023/02/25 | 3187 | language/korean/pmhanguljamo/tex/frkjamofull.data.tex
@@ -383,14 +572,19 @@
2023/02/25 | 2 | support/texlab/src/parser/test_data/latex/generic_command_escape.txt
2023/02/25 | 29 | support/texlab/src/parser/test_data/latex/include/graphics_include_simple.txt
2023/02/25 | 29 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_optional.txt
+2023/02/25 | 2999 | macros/jptex/latex/platex/plnewsc09.tex
2023/02/25 | 2990878 | info/ptex-manual.zip
2023/02/25 | 2970 | support/texlab/tests/lsp/workspace/symbol.rs
+2023/02/25 | 2948 | macros/jptex/latex/platex/plnewsc10.tex
2023/02/25 | 2942 | support/texlab/src/features/workspace_command.rs
2023/02/25 | 293940 | systems/texlive/tlnet/archive/zhnumber.doc.r66119.tar.xz
+2023/02/25 | 2935 | macros/jptex/latex/platex-tools/plarray.tex
2023/02/25 | 2931 | support/texlab/src/db/diagnostics/log.rs
+2023/02/25 | 2931 | macros/jptex/latex/platex/plnews04.tex
2023/02/25 | 291 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
2023/02/25 | 2917 | support/texlab/src/lib.rs
2023/02/25 | 2914 | support/texlab/src/features/rename/label.rs
+2023/02/25 | 2910 | macros/jptex/latex/platex-tools/pxeverysel.tex
2023/02/25 | 28 | support/texlab/src/parser/test_data/latex/include/package_include_multiple.txt
2023/02/25 | 28 | support/texlab/src/parser/test_data/latex/include/biblatex_include_simple.txt
2023/02/25 | 28 | support/texlab/src/parser/test_data/latex/group/equation_missing_end.txt
@@ -405,7 +599,8 @@
2023/02/25 | 279 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
2023/02/25 | 279 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
2023/02/25 | 278 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
-2023/02/25 | 2767189 | biblio/ctan-bibdata/ctan.bib
+2023/02/25 | 2766 | macros/jptex/latex/platex-tools/pxeveryshi.tex
+2023/02/25 | 2763 | macros/jptex/latex/platex/plnews03.tex
2023/02/25 | 272 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
2023/02/25 | 271 | support/texlab/src/parser/test_data/latex/issue_745.txt
2023/02/25 | 26 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
@@ -418,8 +613,10 @@
2023/02/25 | 264 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
2023/02/25 | 2641 | support/texlab/src/features/symbol/bibtex.rs
2023/02/25 | 263 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
+2023/02/25 | 2631 | macros/jptex/latex/platex-tools/pxxspace.tex
2023/02/25 | 262 | support/texlab/src/features.rs
2023/02/25 | 2628 | systems/texlive/tlnet/archive/unswcover.r66119.tar.xz
+2023/02/25 | 260304 | macros/jptex/latex/platex/platex.pdf
2023/02/25 | 25 | support/texlab/src/parser/test_data/latex/glossary/glossary_entry_reference_options.txt
2023/02/25 | 25 | support/texlab/src/parser/test_data/latex/color/color_set_definition_error3.txt
2023/02/25 | 25 | support/texlab/src/parser/test_data/bibtex/preamble.txt
@@ -431,7 +628,7 @@
2023/02/25 | 257 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
2023/02/25 | 256924 | systems/texlive/tlnet/archive/octave.doc.r66119.tar.xz
2023/02/25 | 255 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
-2023/02/25 | 25513794 | systems/texlive/tlnet/install-tl.zip
+2023/02/25 | 253 | macros/jptex/latex/platex/platex.ini
2023/02/25 | 252 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__unmatched_brackets.txt.snap
2023/02/25 | 25260 | support/texlab/src/features/completion/builder.rs
2023/02/25 | 2516 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_nested.snap
@@ -440,9 +637,11 @@
2023/02/25 | 250 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@group__unmatched_braces.txt.snap
2023/02/25 | 24 | support/texlab/src/parser/test_data/latex/include/svg_include_simple.txt
2023/02/25 | 2490 | support/texlab/src/citation/field/date.rs
+2023/02/25 | 24809 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
+2023/02/25 | 24797 | macros/jptex/latex/platex/plvers.dtx
2023/02/25 | 2467 | support/texlab/src/distro/miktex.rs
2023/02/25 | 2455 | support/texlab/src/parser/test_data/build_log/002.txt
-2023/02/25 | 2449936 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/02/25 | 2421 | macros/jptex/latex/platex/plnewsc12.tex
2023/02/25 | 242144 | systems/texlive/tlnet/archive/epspdf.doc.r66119.tar.xz
2023/02/25 | 2416 | support/texlab/src/server/dispatch.rs
2023/02/25 | 2412 | language/japanese/BX/bxghost/README.md
@@ -451,9 +650,11 @@
2023/02/25 | 2383368 | systems/texlive/tlnet/archive/asymptote.doc.r66119.tar.xz
2023/02/25 | 236900 | systems/texlive/tlnet/archive/mismath.doc.r66133.tar.xz
2023/02/25 | 2368 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_nested.snap
+2023/02/25 | 2362 | macros/jptex/latex/platex-tools/pxftnright.tex
2023/02/25 | 234 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
2023/02/25 | 232336 | systems/texlive/tlnet/archive/japanese-otf.r66102.tar.xz
2023/02/25 | 2316 | systems/texlive/tlnet/archive/octave.r66119.tar.xz
+2023/02/25 | 2313 | macros/jptex/latex/platex/plnews05.tex
2023/02/25 | 230 | support/texlab/src/db.rs
2023/02/25 | 22 | support/texlab/src/parser/test_data/latex/include/bibtex_include_simple.txt
2023/02/25 | 22 | support/texlab/src/parser/test_data/latex/command_definition/command_definition_no_argc.txt
@@ -486,12 +687,13 @@
2023/02/25 | 20 | support/texlab/src/parser/test_data/latex/include/inkscape_include_simple.txt
2023/02/25 | 20 | support/texlab/src/parser/test_data/latex/citation/citation_prenote_postnote.txt
2023/02/25 | 209 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@generic_command_escape.txt.snap
+2023/02/25 | 208188 | macros/jptex/latex/platex/plfonts.dtx
2023/02/25 | 206472 | systems/texlive/tlnet/archive/xpinyin.doc.r66119.tar.xz
2023/02/25 | 205 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
2023/02/25 | 205307 | macros/latex/contrib/nicematrix/nicematrix-french.tex
2023/02/25 | 2049 | support/texlab/src/util/lang_data.rs
-2023/02/25 | 20437377 | systems/texlive/tlnet/install-tl-windows.exe
2023/02/25 | 2036023 | macros/latex/contrib/nicematrix.zip
+2023/02/25 | 20268 | biblio/bibtex/bibtex-x/ChangeLog
2023/02/25 | 201040 | systems/texlive/tlnet/archive/xpinyin.r66119.tar.xz
2023/02/25 | 1 | support/texlab/src/parser/test_data/latex/parameter_error.txt
2023/02/25 | 19 | support/texlab/src/parser/test_data/latex/label/label_reference_range_error.txt
@@ -504,6 +706,7 @@
2023/02/25 | 19592 | systems/texlive/tlnet/archive/mismath.source.r66133.tar.xz
2023/02/25 | 1955 | support/texlab/src/distro.rs
2023/02/25 | 194 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
+2023/02/25 | 1937 | macros/jptex/latex/platex-tools/pxmulticol.tex
2023/02/25 | 1936 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_nested.snap
2023/02/25 | 1917 | support/texlab/src/features/definition.rs
2023/02/25 | 191752 | systems/texlive/tlnet/archive/physics2.doc.r66119.tar.xz
@@ -514,14 +717,15 @@
2023/02/25 | 1865 | support/texlab/src/main.rs
2023/02/25 | 185 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
2023/02/25 | 1844 | support/texlab/src/features/rename.rs
+2023/02/25 | 1841 | macros/jptex/latex/platex-tools/plarray.sty
2023/02/25 | 182 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
2023/02/25 | 1821 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__theorem_flat.snap
2023/02/25 | 181 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
2023/02/25 | 181 | support/texlab/CONTRIBUTING.md
+2023/02/25 | 18178 | macros/jptex/latex/platex/platexrelease.dtx
2023/02/25 | 1816 | support/texlab/src/distro/file_name_db.rs
2023/02/25 | 1814 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
2023/02/25 | 1809 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__float_flat.snap
-2023/02/25 | 18064290 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/02/25 | 17 | support/texlab/src/parser/test_data/latex/include/latex_include_simple.txt
2023/02/25 | 17 | support/texlab/src/parser/test_data/latex/include/latex_include_equality_sign.txt
2023/02/25 | 17 | support/texlab/src/parser/test_data/latex/include/import_simple.txt
@@ -529,6 +733,7 @@
2023/02/25 | 179 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
2023/02/25 | 17987 | support/texlab/src/parser/latex/lexer.rs
2023/02/25 | 179688 | systems/texlive/tlnet/archive/make4ht.doc.r66131.tar.xz
+2023/02/25 | 1771 | macros/jptex/latex/platex-tools/plextdelarray.sty
2023/02/25 | 1769 | support/texlab/src/db/parse.rs
2023/02/25 | 1760 | support/texlab/src/citation/output.rs
2023/02/25 | 1752 | support/texlab/src/features/completion/argument.rs
@@ -538,6 +743,7 @@
2023/02/25 | 173 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@parameter_error.txt.snap
2023/02/25 | 1737 | support/texlab/tests/lsp/text_document/inlay_hint.rs
2023/02/25 | 1710 | support/texlab/src/features/completion/citation.rs
+2023/02/25 | 1708 | macros/jptex/latex/platex-tools/pxeveryshi.sty
2023/02/25 | 1702 | support/texlab/src/features/completion.rs
2023/02/25 | 16 | support/texlab/src/parser/test_data/latex/theorem_definition/theorem_definition_only_name.txt
2023/02/25 | 16 | support/texlab/src/parser/test_data/latex/include/class_include_empty.txt
@@ -545,9 +751,10 @@
2023/02/25 | 16999 | support/texlab/src/syntax/latex/cst.rs
2023/02/25 | 168 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@parameter.txt.snap
2023/02/25 | 167 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
-2023/02/25 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/02/25 | 1668 | support/texlab/src/features/build/progress.rs
+2023/02/25 | 1667 | macros/jptex/latex/platex-tools/pldocverb.tex
2023/02/25 | 1658 | support/texlab/src/parser/snapshots/texlab__parser__build_log__tests__parse@006.txt.snap
+2023/02/25 | 1656 | macros/jptex/latex/platex-tools/plextcolortbl.tex
2023/02/25 | 1631 | support/texlab/src/citation/field/author.rs
2023/02/25 | 16308 | systems/texlive/tlnet/archive/tkz-base.r66119.tar.xz
2023/02/25 | 160 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
@@ -557,23 +764,24 @@
2023/02/25 | 15 | support/texlab/src/parser/test_data/latex/citation/citation_prenote.txt
2023/02/25 | 15 | support/texlab/src/parser/test_data/latex/citation/citation_multiple_keys.txt
2023/02/25 | 1596 | macros/latex/contrib/ragged2e/README.md
+2023/02/25 | 158377 | macros/jptex/latex/platex/jclasses.dtx
2023/02/25 | 157 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
2023/02/25 | 157 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
2023/02/25 | 1567 | support/texlab/src/features/completion/import.rs
-2023/02/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/02/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/02/25 | 155662 | macros/jptex/latex/platex/platex-en.pdf
+2023/02/25 | 1553 | macros/jptex/latex/platex/LICENSE
2023/02/25 | 150368 | systems/texlive/tlnet/archive/jpsj.doc.r66119.tar.xz
+2023/02/25 | 1500 | macros/jptex/latex/platex-tools/LICENSE
2023/02/25 | 14 | support/texlab/src/parser/test_data/latex/label/label_reference_multiple.txt
2023/02/25 | 14 | support/texlab/src/parser/test_data/latex/generic_command_args.txt
+2023/02/25 | 1488 | macros/jptex/latex/platex/plcls.ins
2023/02/25 | 1465 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__section_flat.snap
2023/02/25 | 1462 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
-2023/02/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/02/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/02/25 | 1445696 | systems/texlive/tlnet/archive/tex4ht.source.r66109.tar.xz
2023/02/25 | 14436 | systems/texlive/tlnet/archive/zhnumber.source.r66119.tar.xz
2023/02/25 | 143 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
2023/02/25 | 1428 | support/texlab/src/citation/snapshots/texlab__citation__tests__mvbook_nietzsche_1988.snap
2023/02/25 | 1411 | support/texlab/src/citation/snapshots/texlab__citation__tests__book_averroes_1998.snap
+2023/02/25 | 140856 | macros/jptex/latex/platex/exppl2e.pdf
2023/02/25 | 14005 | support/texlab/src/features/symbol/latex.rs
2023/02/25 | 13 | support/texlab/src/parser/test_data/latex/include/package_include_empty.txt
2023/02/25 | 13 | support/texlab/src/parser/test_data/latex/group/curly_group_simple.txt
@@ -582,10 +790,12 @@
2023/02/25 | 1385 | support/texlab/src/citation/field/number.rs
2023/02/25 | 1383000 | systems/texlive/tlnet/archive/pst-spinner.doc.r66119.tar.xz
2023/02/25 | 1381 | support/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__equation_flat.snap
+2023/02/25 | 1376604 | macros/jptex/latex/platex/pldoc.pdf
+2023/02/25 | 13702 | macros/jptex/latex/platex/exppl2e.sty
2023/02/25 | 1367 | support/texlab/src/features/reference/string.rs
2023/02/25 | 136751 | macros/latex/contrib/footnoterange/footnoterange-example.pdf
-2023/02/25 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r66109.tar.xz
2023/02/25 | 1356 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
+2023/02/25 | 1351 | macros/jptex/latex/platex-tools/pldocverb.sty
2023/02/25 | 1341260 | macros/latex/contrib/nicematrix/nicematrix.pdf
2023/02/25 | 13353 | support/texlab/src/parser/test_data/build_log/005.txt
2023/02/25 | 1330 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_blom_2021.snap
@@ -607,6 +817,7 @@
2023/02/25 | 1270 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@structure__structure_enum_item.txt.snap
2023/02/25 | 125 | support/texlab/src/parser.rs
2023/02/25 | 1258 | support/texlab/src/features/definition/label.rs
+2023/02/25 | 124060 | macros/jptex/latex/platex/plcore.dtx
2023/02/25 | 1236 | support/texlab/src/features/completion/color_model.rs
2023/02/25 | 1223 | support/texlab/src/citation/snapshots/texlab__citation__tests__book_knuth_1984.snap
2023/02/25 | 1221 | support/texlab/src/features/completion/glossary_ref.rs
@@ -620,6 +831,7 @@
2023/02/25 | 1197 | support/texlab/src/features/hover.rs
2023/02/25 | 119524 | systems/texlive/tlnet/archive/unswcover.doc.r66119.tar.xz
2023/02/25 | 1192 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
+2023/02/25 | 1191 | macros/jptex/latex/platex/plfmt.ins
2023/02/25 | 11874 | support/texlab/src/citation/tests.rs
2023/02/25 | 1186 | support/texlab/src/features/inlay_hint.rs
2023/02/25 | 1176 | support/texlab/src/citation/snapshots/texlab__citation__tests__inproceedings_combi_2004.snap
@@ -631,10 +843,9 @@
2023/02/25 | 11459 | support/texlab/src/parser/bibtex.rs
2023/02/25 | 1143 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_nested.txt.snap
2023/02/25 | 1143636 | systems/texlive/tlnet/archive/ctex.doc.r66119.tar.xz
-2023/02/25 | 113796 | systems/texlive/tlnet/archive/texlive-scripts.r66121.tar.xz
2023/02/25 | 1122 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@environment__environment_definition.txt.snap
+2023/02/25 | 111387 | macros/jptex/latex/platex/platexrelease.pdf
2023/02/25 | 1112 | support/texlab/src/parser/test_data/bibtex/samples/nietzsche_1998.txt
-2023/02/25 | 1103292 | systems/texlive/tlnet/archive/tex4ht.r66109.tar.xz
2023/02/25 | 11001 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
2023/02/25 | 10 | support/texlab/src/parser/test_data/latex/citation/citation_star.txt
2023/02/25 | 10 | support/texlab/src/parser/test_data/latex/citation/citation_simple.txt
@@ -643,14 +854,18 @@
2023/02/25 | 10852 | systems/texlive/tlnet/archive/xpinyin.source.r66119.tar.xz
2023/02/25 | 1082 | support/texlab/src/features/highlight/label.rs
2023/02/25 | 107332 | systems/texlive/tlnet/archive/dvisvgm.doc.r66119.tar.xz
+2023/02/25 | 1068 | macros/jptex/latex/platex-tools/plextcolortbl.sty
2023/02/25 | 1064 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_aksin_2006.snap
2023/02/25 | 1062 | support/texlab/src/citation/snapshots/texlab__citation__tests__article_jain_1999.snap
2023/02/25 | 1061 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__package_include_options.txt.snap
2023/02/25 | 1058 | support/texlab/src/parser/snapshots/texlab__parser__latex__tests__parse@include__class_include_options.txt.snap
2023/02/25 | 1051 | support/texlab/src/citation/snapshots/texlab__citation__tests__inproceedings_erwin_2007.snap
+2023/02/25 | 10430 | macros/jptex/latex/platex/plnewsc07.tex
+2023/02/25 | 10426 | macros/jptex/latex/platex/plnews01.tex
2023/02/25 | 1038 | support/texlab/src/features/link.rs
2023/02/25 | 10366 | support/texlab/src/parser/snapshots/texlab__parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
2023/02/25 | 1027 | support/texlab/src/features/reference/label.rs
+2023/02/25 | 10215 | macros/jptex/latex/platex/kinsoku.dtx
2023/02/25 | 101668 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
2023/02/25 | 1008 | support/texlab/src/parser/test_data/bibtex/samples/averroes_1998.txt
2023/02/25 | 10088 | systems/texlive/tlnet/archive/pmx.r66119.tar.xz
@@ -681,6 +896,8 @@
2023/02/24 | 6116 | support/make4ht/filters/make4ht-mjcli.lua
2023/02/24 | 596 | support/make4ht/filters/make4ht-filter.lua
2023/02/24 | 595 | support/make4ht/domfilters/make4ht-idcolons.lua
+2023/02/24 | 5951 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosNoir.pdf
+2023/02/24 | 5697 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosRouge.pdf
2023/02/24 | 5695 | biblio/pbibtex/pbibtex-manual/haranoaji.map
2023/02/24 | 5392 | support/latexpand/README
2023/02/24 | 5382 | support/make4ht/domfilters/make4ht-joincharacters.lua
@@ -689,16 +906,21 @@
2023/02/24 | 52692 | macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
2023/02/24 | 52054 | support/make4ht/readme.tex
2023/02/24 | 5160 | language/japanese/BX/bxbase/bxtoolbox-ja.def
+2023/02/24 | 5084 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JN.pdf
+2023/02/24 | 5082 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JR.pdf
2023/02/24 | 5063 | support/make4ht/extensions/make4ht-ext-staticsite.lua
2023/02/24 | 4920 | support/make4ht/domfilters/make4ht-sectionid.lua
2023/02/24 | 4901 | language/japanese/BX/bxbase/zxbase.sty
2023/02/24 | 4856 | macros/latex/contrib/yathesis/exemples/specimen/paris13.pdf
2023/02/24 | 47613 | macros/latex/contrib/yathesis/exemples/specimen/ulco.pdf
+2023/02/24 | 4703 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10T.pdf
2023/02/24 | 4641 | support/make4ht/domfilters/make4ht-aeneas.lua
2023/02/24 | 4637 | language/japanese/BX/bxbase/bxbase-ja.tex
2023/02/24 | 4616 | language/japanese/BX/bxbase/README.md
2023/02/24 | 450 | support/make4ht/extensions/make4ht-ext-mathjaxnode.lua
+2023/02/24 | 4498 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9T.pdf
2023/02/24 | 4493 | support/make4ht/extensions/make4ht-ext-preprocess_input.lua
+2023/02/24 | 4365 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8T.pdf
2023/02/24 | 4327 | support/make4ht/make4ht
2023/02/24 | 425 | support/make4ht/filters/make4ht-fix-links.lua
2023/02/24 | 4234 | support/make4ht/make4ht-htlatex.lua
@@ -708,12 +930,15 @@
2023/02/24 | 402 | support/make4ht/filters/make4ht-hruletohr.lua
2023/02/24 | 395 | support/make4ht/formats/make4ht-html5.lua
2023/02/24 | 39473 | support/make4ht/changelog.tex
+2023/02/24 | 3893 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7T.pdf
2023/02/24 | 386 | support/make4ht/filters/make4ht-fixligatures.lua
2023/02/24 | 38536 | biblio/pbibtex/pbibtex-manual/jbtxhak.tex
2023/02/24 | 3709 | support/make4ht/filters/make4ht-staticsite.lua
+2023/02/24 | 3662 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6T.pdf
2023/02/24 | 362166 | macros/latex/contrib/yathesis/doc/yathesis-code.pdf
2023/02/24 | 3582 | support/make4ht/make4ht-xtpipes.lua
2023/02/24 | 35634 | language/japanese/BX/bxbase/bxtoolbox.def
+2023/02/24 | 3495 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5T.pdf
2023/02/24 | 33436 | macros/latex/contrib/yathesis/exemples/specimen/tiger.pdf
2023/02/24 | 328 | support/make4ht/extensions/make4ht-ext-inlinecss.lua
2023/02/24 | 326 | support/make4ht/formats/make4ht-xhtml.lua
@@ -722,10 +947,15 @@
2023/02/24 | 321 | support/make4ht/domfilters/make4ht-odtpartable.lua
2023/02/24 | 3191 | support/make4ht/filters/make4ht-mathjaxnode.lua
2023/02/24 | 30811 | biblio/pbibtex/pbibtex-manual/jbibtex.tex
+2023/02/24 | 3078 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10P.pdf
2023/02/24 | 304 | support/make4ht/extensions/make4ht-ext-odttemplate.lua
+2023/02/24 | 3027 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4T.pdf
+2023/02/24 | 3018 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9P.pdf
2023/02/24 | 2959 | language/japanese/BX/bxbase/bxutf8x.def
+2023/02/24 | 2957 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8P.pdf
2023/02/24 | 291 | support/make4ht/filters/make4ht-entities.lua
2023/02/24 | 289185 | biblio/pbibtex/pbibtex-manual/jbtxdoc.pdf
+2023/02/24 | 2831 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3T.pdf
2023/02/24 | 2794 | support/make4ht/extensions/make4ht-ext-detect_engine.lua
2023/02/24 | 2780 | support/make4ht/domfilters/make4ht-tablerows.lua
2023/02/24 | 276242 | support/make4ht.zip
@@ -736,29 +966,71 @@
2023/02/24 | 2686 | support/make4ht/domfilters/make4ht-inlinecss.lua
2023/02/24 | 266258 | macros/latex/contrib/frenchmath/frenchmath.pdf
2023/02/24 | 264 | support/make4ht/filters/make4ht-cleanspan-nat.lua
+2023/02/24 | 2639 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7P.pdf
+2023/02/24 | 2586 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6P.pdf
2023/02/24 | 258425 | macros/latex/contrib/mismath.zip
2023/02/24 | 257313 | biblio/pbibtex/pbibtex-manual/jbibtex.pdf
+2023/02/24 | 2520 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2T.pdf
2023/02/24 | 249505 | macros/latex/contrib/frenchmath.zip
2023/02/24 | 24723 | language/japanese/BX/bxbase/README-ja.md
2023/02/24 | 247228 | biblio/pbibtex/pbibtex-manual/jbtxhak.pdf
+2023/02/24 | 2466 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5P.pdf
2023/02/24 | 2465 | support/make4ht/make4ht-config.lua
+2023/02/24 | 2415 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10C.pdf
+2023/02/24 | 2412 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9C.pdf
+2023/02/24 | 2369 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8C.pdf
2023/02/24 | 236904 | macros/latex/contrib/yathesis/source/yathesis.dtx
2023/02/24 | 23661 | language/japanese/BX/bxbase/bxbase.def
2023/02/24 | 2324 | support/make4ht/filters/make4ht-odttemplate.lua
+2023/02/24 | 2283 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
2023/02/24 | 2270 | support/make4ht/filters/make4ht-domfilter.lua
2023/02/24 | 22413 | support/latexpand/latexpand
2023/02/24 | 2232 | support/make4ht/domfilters/make4ht-joincolors.lua
+2023/02/24 | 2212 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AT.pdf
+2023/02/24 | 2199 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4P.pdf
+2023/02/24 | 2162 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6C.pdf
+2023/02/24 | 2150 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3P.pdf
2023/02/24 | 214591 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
2023/02/24 | 2132 | support/make4ht/extensions/make4ht-ext-latexmk_build.lua
+2023/02/24 | 2129 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7C.pdf
+2023/02/24 | 2101 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9K.pdf
+2023/02/24 | 2084 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8K.pdf
+2023/02/24 | 2070 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5C.pdf
+2023/02/24 | 2067 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10K.pdf
2023/02/24 | 1993 | macros/latex/contrib/frenchmath/frenchmath.ins
+2023/02/24 | 1992 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RT.pdf
+2023/02/24 | 1992 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DT.pdf
2023/02/24 | 19925 | support/make4ht/mkutils.lua
2023/02/24 | 19892 | language/japanese/BX/bxbase/bxtoolbox-ext.def
+2023/02/24 | 1979 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2P.pdf
+2023/02/24 | 1934 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6K.pdf
+2023/02/24 | 1905 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3C.pdf
+2023/02/24 | 1889 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VT.pdf
+2023/02/24 | 1886 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4C.pdf
2023/02/24 | 187 | macros/latex/contrib/yathesis/doc/README-TRANSLATION.md
+2023/02/24 | 1865 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7K.pdf
+2023/02/24 | 1858 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5K.pdf
2023/02/24 | 1855 | language/japanese/BX/bxbase/bxbase.sty
+2023/02/24 | 1817 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AP.pdf
+2023/02/24 | 1790 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DP.pdf
+2023/02/24 | 1784 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2C.pdf
+2023/02/24 | 1783 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RP.pdf
+2023/02/24 | 1755 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3K.pdf
+2023/02/24 | 1737 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DC.pdf
+2023/02/24 | 1731 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RC.pdf
+2023/02/24 | 1705 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4K.pdf
+2023/02/24 | 1683 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VP.pdf
+2023/02/24 | 1682 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AC.pdf
2023/02/24 | 167289 | biblio/pbibtex/pbibtex-manual/pbibtex-manual.pdf
+2023/02/24 | 1669 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DK.pdf
+2023/02/24 | 1663 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RK.pdf
+2023/02/24 | 1663 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2K.pdf
2023/02/24 | 1655 | support/make4ht/domfilters/make4ht-fixinlines.lua
+2023/02/24 | 1633 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VC.pdf
+2023/02/24 | 1584 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AK.pdf
2023/02/24 | 1576 | macros/latex/contrib/yathesis/README.md
2023/02/24 | 156343 | support/make4ht/make4ht-doc.pdf
+2023/02/24 | 1560 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VK.pdf
2023/02/24 | 1554 | biblio/pbibtex/pbibtex-manual/LICENSE
2023/02/24 | 1529 | support/latexpand/LICENCE
2023/02/24 | 1458 | support/make4ht/domfilters/make4ht-odtsvg.lua
@@ -1099,7 +1371,6 @@
2023/02/23 | 68908 | macros/jptex/latex/japanese-otf/vf/utfgr3-v.vf
2023/02/23 | 68908 | macros/jptex/latex/japanese-otf/vf/utfgr3-h.vf
2023/02/23 | 6870 | macros/jptex/latex/japanese-otf/doc/test/uplatex/uotftest.tex
-2023/02/23 | 687072 | systems/texlive/tlnet/archive/ragged2e.doc.r66070.tar.xz
2023/02/23 | 684 | macros/jptex/latex/japanese-otf/vf/utfjmgrl-v.vf
2023/02/23 | 684 | macros/jptex/latex/japanese-otf/vf/utfjmgrl-h.vf
2023/02/23 | 684064 | systems/win32/miktex/tm/packages/ragged2e__doc.tar.lzma
@@ -2036,6 +2307,7 @@
2023/02/23 | 651120 | macros/jptex/latex/japanese-otf/vf/upnmlgothb-h.vf
2023/02/23 | 6504 | systems/win32/miktex/tm/packages/codehigh.tar.lzma
2023/02/23 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
+2023/02/23 | 6481 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-Dos.pdf
2023/02/23 | 6473496 | fonts/haranoaji-extra/HaranoAjiMincho-Heavy.otf
2023/02/23 | 6450620 | fonts/haranoaji-extra/HaranoAjiMincho-SemiBold.otf
2023/02/23 | 64369 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
@@ -3256,7 +3528,6 @@
2023/02/23 | 30494 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2023/02/23 | 304752 | macros/latex/contrib/l3kernel/l3regex.dtx
2023/02/23 | 3014 | systems/win32/miktex/tm/packages/evangelion-jfm.tar.lzma
-2023/02/23 | 3012 | systems/texlive/tlnet/archive/ragged2e.r66070.tar.xz
2023/02/23 | 3004 | macros/jptex/latex/japanese-otf/src/script/mkmlcidvf.pl
2023/02/23 | 300136 | systems/win32/miktex/tm/packages/pgf-periodictable__source.tar.lzma
2023/02/23 | 2992 | macros/jptex/latex/japanese-otf/vf/utftmrq-v.vf
@@ -3762,7 +4033,6 @@
2023/02/23 | 21964 | systems/win32/miktex/tm/packages/jsclasses.tar.lzma
2023/02/23 | 219555 | systems/win32/miktex/tm/packages/optex.tar.lzma
2023/02/23 | 2177 | systems/win32/miktex/tm/packages/fixdif.tar.lzma
-2023/02/23 | 217242 | support/TeX4ht/source/ChangeLog
2023/02/23 | 2160 | macros/jptex/latex/japanese-otf/vf/utftmrm-v.vf
2023/02/23 | 2160 | macros/jptex/latex/japanese-otf/vf/utftmrm-h.vf
2023/02/23 | 2160 | macros/jptex/latex/japanese-otf/vf/utftgrm-v.vf
@@ -5598,7 +5868,6 @@
2023/02/23 | 11916 | systems/win32/miktex/tm/packages/physics2__source.tar.lzma
2023/02/23 | 1189 | language/greek/greek-inputenc/README.md
2023/02/23 | 11899 | macros/jptex/latex/japanese-otf/src/script/CheckDVICode.pm
-2023/02/23 | 11892 | systems/texlive/tlnet/archive/ragged2e.source.r66070.tar.xz
2023/02/23 | 1188 | macros/xetex/latex/xduts/xduts.ins
2023/02/23 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
2023/02/23 | 118796 | macros/latex/contrib/l3kernel/l3token.dtx
@@ -5776,7 +6045,6 @@
2023/02/23 | 112 | macros/jptex/latex/japanese-otf/vf/utfgrx-h.vf
2023/02/23 | 112485 | macros/latex/contrib/l3kernel/l3news05.pdf
2023/02/23 | 111040 | macros/latex/contrib/l3kernel/l3color.dtx
-2023/02/23 | 11037742 | macros/latex/contrib/jeuxcartes.zip
2023/02/23 | 109685 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2023/02/23 | 1092 | macros/jptex/latex/japanese-otf/vf/utfmru-v.vf
2023/02/23 | 1092 | macros/jptex/latex/japanese-otf/vf/utfmru-h.vf
@@ -6018,7 +6286,6 @@
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 10041 | macros/jptex/latex/japanese-otf/src/script/mktfm_sp.pl
2023/02/22 | 997676 | systems/texlive/tlnet/archive/postnotes.doc.r66027.tar.xz
-2023/02/22 | 939 | macros/latex/contrib/jeuxcartes/README.md
2023/02/22 | 8709804 | systems/texlive/tlnet/archive/pdfmanagement-testphase.doc.r66028.tar.xz
2023/02/22 | 86854 | language/japanese/BX/bxjalipsum/bxjalipsum.sty
2023/02/22 | 84809 | macros/jptex/latex/pxchfon/pxchfon.sty
@@ -6033,7 +6300,6 @@
2023/02/22 | 65 | systems/mac/mactex/mactex-MacTeXtras-20230222.zip.md5
2023/02/22 | 65960 | systems/texlive/tlnet/archive/siunitx.r66025.tar.xz
2023/02/22 | 644 | macros/jptex/latex/pxchfon/pxjafont.sty
-2023/02/22 | 6204530 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
2023/02/22 | 6096 | systems/texlive/tlnet/archive/beamertheme-trigon.r65974.tar.xz
2023/02/22 | 59165 | language/greek/greek-inputenc/lgrenc.dfu.html
2023/02/22 | 585280 | systems/texlive/tlnet/archive/beamertheme-trigon.doc.r65974.tar.xz
@@ -6052,7 +6318,6 @@
2023/02/22 | 42432 | systems/texlive/tlnet/archive/bithesis.source.r65978.tar.xz
2023/02/22 | 38088 | systems/mac/mactex/ExtrasFolder.pdf
2023/02/22 | 3635 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-10P.pdf
-2023/02/22 | 36007 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
2023/02/22 | 35820 | systems/texlive/tlnet/archive/l3build.r65976.tar.xz
2023/02/22 | 34445 | language/greek/greek-inputenc/lgrenc.dfu
2023/02/22 | 3368 | language/japanese/BX/bxjalipsum/README.md
@@ -6067,7 +6332,6 @@
2023/02/22 | 249692 | systems/texlive/tlnet/archive/fixdif.doc.r66031.tar.xz
2023/02/22 | 249600 | systems/texlive/tlnet/archive/pgf-spectra.r66034.tar.xz
2023/02/22 | 23520 | systems/texlive/tlnet/archive/zref-clever.r66024.tar.xz
-2023/02/22 | 23382 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
2023/02/22 | 23168 | systems/texlive/tlnet/archive/bithesis.r65978.tar.xz
2023/02/22 | 21836 | systems/texlive/tlnet/archive/postnotes.source.r66027.tar.xz
2023/02/22 | 2155432 | systems/texlive/tlnet/archive/pgf-spectra.doc.r66034.tar.xz
@@ -6114,6 +6378,7 @@
2023/02/21 | 840032 | macros/latex/contrib/postnotes/postnotes-code.pdf
2023/02/21 | 823 | macros/latex/contrib/zref-clever/README.md
2023/02/21 | 8138 | graphics/pgf/contrib/jigsaw/jigsaw-doc.tex
+2023/02/21 | 8006 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
2023/02/21 | 792 | macros/latex/contrib/fixdif/README.md
2023/02/21 | 7920 | dviware/dvisvgm/src/CommandLine.hpp
2023/02/21 | 73061 | macros/latex/contrib/recorder-fingering/recorder-fingering-RecorderInCchart.png
@@ -6130,6 +6395,7 @@
2023/02/21 | 667978 | macros/latex/contrib/siunitx/siunitx.pdf
2023/02/21 | 620743 | macros/latex/contrib/siunitx/siunitx-code.pdf
2023/02/21 | 61535 | dviware/dvisvgm/aclocal.m4
+2023/02/21 | 6151 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
2023/02/21 | 592025 | graphics/pgf/contrib/pgf-spectra/figsManual.zip
2023/02/21 | 588553 | macros/latex/contrib/naive-ebnf/naive-ebnf.pdf
2023/02/21 | 588537 | macros/latex/contrib/naive-ebnf.zip
@@ -6224,7 +6490,6 @@
2023/02/21 | 2385 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-7P.pdf
2023/02/21 | 23379 | dviware/dvisvgm/src/optimizer/Makefile.in
2023/02/21 | 2310 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-4T.pdf
-2023/02/21 | 2281 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
2023/02/21 | 2262 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-7C.pdf
2023/02/21 | 22571 | macros/latex/contrib/fixdif/fixdif.dtx
2023/02/21 | 2240518 | graphics/pgf/contrib/pgf-spectra/pgf-spectraManual.pdf
@@ -6288,21 +6553,17 @@
2023/02/21 | 103241 | macros/latex/contrib/siunitx/siunitx-unit.dtx
2023/02/21 | 1030 | support/texshop/texshop512.html
2023/02/21 | 1021988 | macros/latex/contrib/postnotes.zip
-2023/02/20 | 979 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.1
2023/02/20 | 962540 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
2023/02/20 | 959 | macros/latex/contrib/beamer/base/themes/theme/beamerthemePaloAlto.sty
2023/02/20 | 957465 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon.zip
2023/02/20 | 954 | macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-foils.tex
2023/02/20 | 951 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeBerkeley.sty
2023/02/20 | 9407 | macros/latex/contrib/beamer/base/beamerbasedecode.sty
-2023/02/20 | 929916 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r65943.tar.xz
2023/02/20 | 9134 | macros/latex/contrib/beamer/doc/beamerug-graphics.tex
2023/02/20 | 9080 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
2023/02/20 | 902 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeBoadilla.sty
2023/02/20 | 89750 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
2023/02/20 | 8974 | macros/latex/contrib/beamer/base/beamerbaseframesize.sty
-2023/02/20 | 8796 | systems/texlive/tlnet/archive/pmhanguljamo.r65943.tar.xz
-2023/02/20 | 876456 | graphics/pgf/contrib/tangramtikz.zip
2023/02/20 | 8585 | macros/latex/contrib/beamer/doc/beameruserguide.tex
2023/02/20 | 856 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeSingapore.sty
2023/02/20 | 853 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemerose.sty
@@ -6312,17 +6573,11 @@
2023/02/20 | 8300 | macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.fr.tex
2023/02/20 | 826212 | systems/texlive/tlnet/archive/yquant.doc.r65944.tar.xz
2023/02/20 | 823 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemestructure.sty
-2023/02/20 | 817560 | install/macros/latex/contrib/l3build.tds.zip
-2023/02/20 | 814122 | macros/latex/contrib/l3build.zip
2023/02/20 | 811796 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
2023/02/20 | 8097 | macros/latex/contrib/beamer/base/beamerbasenavigationsymbols.tex
2023/02/20 | 8069 | macros/latex/contrib/beamer/CHANGELOG.md
2023/02/20 | 7986 | macros/latex/contrib/beamer/doc/beamerug-twoscreens.tex
2023/02/20 | 790 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeHannover.sty
-2023/02/20 | 7865 | macros/latex/contrib/l3build/l3build-variables.lua
-2023/02/20 | 7815 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.pl
-2023/02/20 | 77679 | macros/latex/contrib/hyperxmp/einstein2.pdf
-2023/02/20 | 7756 | macros/latex/contrib/l3build/l3build-arguments.lua
2023/02/20 | 7755 | macros/latex/contrib/beamer/base/beamerbasetoc.sty
2023/02/20 | 76969 | graphics/pgf/contrib/pgf-periodictable/pgfPTlibrary.colorschemes.tex
2023/02/20 | 76910 | macros/latex/contrib/beamer/doc/beamerug-frames.tex
@@ -6330,20 +6585,17 @@
2023/02/20 | 7574 | macros/latex/contrib/beamer/base/beamerbasemodes.sty
2023/02/20 | 7558 | macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.de.tex
2023/02/20 | 750122 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
-2023/02/20 | 741730 | macros/latex/contrib/l3build/l3build.pdf
2023/02/20 | 7355 | macros/latex/contrib/beamer/base/beamerbaseboxes.sty
2023/02/20 | 72943 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
2023/02/20 | 7286 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/README.md
2023/02/20 | 72444 | systems/texlive/tlnet/archive/latexindent.r65940.tar.xz
2023/02/20 | 720 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemesidebartab.sty
-2023/02/20 | 7206 | macros/latex/contrib/l3build/l3build-manifest.lua
2023/02/20 | 7192632 | graphics/pgf/contrib/pgf-periodictable/pgf-PeriodicTableManual.pdf
2023/02/20 | 716 | macros/latex/contrib/beamer/doc/beamerinnerthemeexample.tex
2023/02/20 | 7162 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemedefault.sty
2023/02/20 | 7141 | graphics/pgf/contrib/pixelart/pixelart.sty
2023/02/20 | 710 | macros/generic/crossrefenum/tex/t-crossrefenum.tex
2023/02/20 | 709 | macros/latex/contrib/beamer/base/themes/font/beamerfontthemestructuresmallcapsserif.sty
-2023/02/20 | 70830 | macros/latex/contrib/hyperxmp/einstein1.pdf
2023/02/20 | 702 | macros/latex/contrib/beamer/base/themes/font/beamerfontthemestructureitalicserif.sty
2023/02/20 | 701 | macros/latex/contrib/beamer/base/themes/theme/compatibility/beamerthemecompatibility.sty
2023/02/20 | 6910 | macros/latex/contrib/beamer/base/themes/outer/beamerouterthemedefault.sty
@@ -6352,18 +6604,15 @@
2023/02/20 | 681952 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
2023/02/20 | 67833 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
2023/02/20 | 671 | macros/latex/contrib/beamer/base/themes/font/beamerfontthemestructurebold.sty
-2023/02/20 | 6693 | macros/latex/contrib/l3build/l3build-typesetting.lua
2023/02/20 | 6650 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamercolorthemetrigon.dtx
2023/02/20 | 6597 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_DesignCS.tex
2023/02/20 | 6578 | macros/latex/contrib/beamer/base/multimedia/xmpmulti.sty
-2023/02/20 | 6566 | macros/latex/contrib/l3build/l3build.lua
2023/02/20 | 6413 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
2023/02/20 | 637 | macros/latex/contrib/beamer/base/beamerbasetranslator.sty
2023/02/20 | 63555 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
2023/02/20 | 63540 | macros/latex/contrib/beamer/doc/beamerug-localstructure.tex
2023/02/20 | 6319 | macros/latex/contrib/beamer/doc/beamerug-installation.tex
2023/02/20 | 6217 | macros/latex/contrib/beamer/base/patch/beamerpatchparalist.sty
-2023/02/20 | 6042 | language/greek/greek-inputenc/iso-8859-7.def
2023/02/20 | 6039 | macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex
2023/02/20 | 5966 | macros/latex/contrib/beamer/base/emulation/beamerprosper.sty
2023/02/20 | 594 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeEastLansing.sty
@@ -6384,7 +6633,6 @@
2023/02/20 | 5492 | macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex
2023/02/20 | 543671 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
2023/02/20 | 541395 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
-2023/02/20 | 5397 | macros/latex/contrib/l3build/l3build-aux.lua
2023/02/20 | 536785 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
2023/02/20 | 5356 | macros/latex/contrib/beamer/base/beamerbasetitle.sty
2023/02/20 | 5310 | macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.dtx
@@ -6398,7 +6646,6 @@
2023/02/20 | 504 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeBerlin.sty
2023/02/20 | 50489 | macros/generic/crossrefenum/tex/crossrefenum.tex
2023/02/20 | 501 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeIlmenau.sty
-2023/02/20 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua
2023/02/20 | 490 | macros/latex/contrib/beamer/doc/beamerfontthemeexample.tex
2023/02/20 | 49011 | macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-pic5.jpg
2023/02/20 | 4884 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
@@ -6417,7 +6664,6 @@
2023/02/20 | 4373 | macros/latex/contrib/beamer/doc/beamerug-transparencies.tex
2023/02/20 | 4371 | macros/latex/contrib/beamer/base/themes/outer/beamerouterthemesmoothbars.sty
2023/02/20 | 433 | macros/latex/contrib/beamer/base/themes/theme/compatibility/beamerthemebars.sty
-2023/02/20 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua
2023/02/20 | 431 | macros/latex/contrib/beamer/base/themes/theme/compatibility/beamerthemeclassic.sty
2023/02/20 | 430812 | macros/latex/contrib/beamer/doc/beamerexample-lecture-beamer-version.pdf
2023/02/20 | 4290 | macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-pic2.jpg
@@ -6433,7 +6679,6 @@
2023/02/20 | 407 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeDarmstadt.sty
2023/02/20 | 4074 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.dtx
2023/02/20 | 40720 | macros/latex/contrib/beamer/doc/beamerug-license.tex
-2023/02/20 | 4070 | language/greek/greek-inputenc/macgreek.def
2023/02/20 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
2023/02/20 | 403 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeWarsaw.sty
2023/02/20 | 402 | macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemecircles.sty
@@ -6453,7 +6698,6 @@
2023/02/20 | 3720 | macros/unicodetex/latex/bithesis/bithesis.ins
2023/02/20 | 36833 | macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-pic1.jpg
2023/02/20 | 368027 | macros/latex/contrib/beamer/doc/beamerexample-lecture-print-version.pdf
-2023/02/20 | 36687 | macros/latex/contrib/l3build/l3build-check.lua
2023/02/20 | 366231 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdf
2023/02/20 | 36306 | macros/latex/contrib/beamer/doc/beamerug-color.tex
2023/02/20 | 3615 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeboxes.sty
@@ -6463,14 +6707,11 @@
2023/02/20 | 351 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeMontpellier.sty
2023/02/20 | 351 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeMalmoe.sty
2023/02/20 | 3485 | macros/generic/crossrefenum/README.md
-2023/02/20 | 3466 | macros/latex/contrib/hyperxmp/gglo-hyxmp.ist
2023/02/20 | 3464 | macros/latex/contrib/beamer/base/art/beamericonarticle.tex
2023/02/20 | 3444 | macros/latex/contrib/beamer/doc/licenses/manifest-code.txt
-2023/02/20 | 3442 | macros/latex/contrib/hyperxmp/gind-hyxmp.ist
2023/02/20 | 342 | macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-beamer-version.tex
2023/02/20 | 342 | macros/generic/crossrefenum/tex/crossrefenum.sty
2023/02/20 | 34034 | macros/generic/crossrefenum/doc/crossrefenum.md
-2023/02/20 | 3382 | macros/latex/contrib/l3build/l3build-zip.lua
2023/02/20 | 33808 | macros/latex/contrib/beamer/doc/beamerug-elements.tex
2023/02/20 | 33668 | graphics/pgf/contrib/pixelart/pixelart.tex
2023/02/20 | 333 | macros/latex/contrib/beamer/base/themes/font/beamerfontthemeprofessionalfonts.sty
@@ -6500,10 +6741,8 @@
2023/02/20 | 27779 | macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-pic6.jpg
2023/02/20 | 2771 | macros/latex/contrib/beamer/doc/beamerug-solutions.tex
2023/02/20 | 2765 | macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeshadow.sty
-2023/02/20 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua
2023/02/20 | 27377 | macros/latex/contrib/beamer/base/beamerbasecompatibility.sty
2023/02/20 | 2734 | macros/latex/contrib/beamer/base/art/beamericonbook.20.pdf
-2023/02/20 | 272780 | macros/latex/contrib/hyperxmp/hyperxmp.dtx
2023/02/20 | 26925 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_libCS.tex
2023/02/20 | 2667 | macros/latex/contrib/beamer/base/art/beamericonbook.pdf
2023/02/20 | 26603 | macros/latex/contrib/beamer/base/art/beamericonarticle.eps
@@ -6515,20 +6754,16 @@
2023/02/20 | 253191 | macros/latex/contrib/beamer/doc/beamerexample-conference-talk.pdf
2023/02/20 | 2529 | macros/latex/contrib/beamer/base/themes/outer/beamerouterthemesplit.sty
2023/02/20 | 24762 | macros/latex/contrib/beamer/base/art/beamericonbook.20.eps
-2023/02/20 | 2473 | macros/latex/contrib/l3build/l3build-help.lua
2023/02/20 | 24721 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex
2023/02/20 | 24611 | macros/latex/contrib/beamer/base/art/beamericononline.pdf
2023/02/20 | 24451 | macros/latex/contrib/beamer/base/art/beamericononline.20.pdf
2023/02/20 | 24398 | macros/latex/contrib/beamer/base/beamerbaseauxtemplates.sty
2023/02/20 | 24312 | macros/latex/contrib/beamer/doc/beamerug-tutorial.tex
2023/02/20 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
-2023/02/20 | 2338 | macros/latex/contrib/l3build/CONTRIBUTING.md
2023/02/20 | 232992 | graphics/pgf/contrib/pixelart/pixelart.pdf
2023/02/20 | 2322 | macros/latex/contrib/beamer/base/themes/color/beamercolorthememonarca.sty
2023/02/20 | 23144 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerinnerthemetrigon.dtx
2023/02/20 | 22964 | macros/latex/contrib/beamer/doc/licenses/fdl.txt
-2023/02/20 | 2294 | macros/latex/contrib/hyperxmp/README
-2023/02/20 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua
2023/02/20 | 22814 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_generallayout.tex
2023/02/20 | 225 | macros/generic/crossrefenum/CHANGELOG.md
2023/02/20 | 22108 | macros/latex/contrib/beamer/doc/beamerug-nonpresentation.tex
@@ -6536,7 +6771,6 @@
2023/02/20 | 2190 | macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeinfolines.sty
2023/02/20 | 21579 | macros/latex/contrib/beamer/base/beamerbasenavigation.sty
2023/02/20 | 2155731 | macros/latex/contrib/beamer/doc/beameruserguide.pdf
-2023/02/20 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
2023/02/20 | 214504 | macros/generic/crossrefenum/doc/crossrefenum.pdf
2023/02/20 | 2144 | macros/latex/contrib/beamer/base/themes/theme/compatibility/beamerthemelined.sty
2023/02/20 | 2141 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemealbatross.sty
@@ -6548,20 +6782,15 @@
2023/02/20 | 2045 | macros/latex/contrib/beamer/doc/licenses/manifest-documentation.txt
2023/02/20 | 204400 | macros/unicodetex/latex/bithesis/bithesis.dtx
2023/02/20 | 20430 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
-2023/02/20 | 2034 | macros/latex/contrib/hyperxmp/hyperxmp.ins
2023/02/20 | 2024 | macros/latex/contrib/beamer/base/themes/outer/beamerouterthemetree.sty
-2023/02/20 | 200801 | language/greek/greek-inputenc/inputenc-iso-8859-7.pdf
2023/02/20 | 1983660 | systems/texlive/tlnet/archive/platex.doc.r65942.tar.xz
2023/02/20 | 1946 | macros/unicodetex/latex/bithesis/README.md
2023/02/20 | 19301 | macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-body.tex
-2023/02/20 | 1926 | language/greek/greek-inputenc/inputenc-iso-8859-7.tex
2023/02/20 | 19106 | macros/latex/contrib/beamer/doc/licenses/lppl-1-3c.txt
2023/02/20 | 19106 | graphics/pgf/contrib/pixelart/LICENSE.txt
2023/02/20 | 1881 | macros/latex/contrib/beamer/base/emulation/beamerseminar.sty
-2023/02/20 | 18654 | macros/latex/contrib/l3build/CHANGELOG.md
2023/02/20 | 18534 | macros/latex/contrib/beamer/doc/beamerug-themes.tex
2023/02/20 | 18170 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
-2023/02/20 | 1816 | macros/latex/contrib/l3build/l3build.1
2023/02/20 | 18092 | macros/latex/contrib/beamer/doc/licenses/gpl-2.0.txt
2023/02/20 | 1808 | macros/latex/contrib/beamer/base/beamerbasetwoscreens.sty
2023/02/20 | 18063 | macros/latex/contrib/beamer/base/beamerbaselocalstructure.sty
@@ -6584,13 +6813,11 @@
2023/02/20 | 1569 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemebeetle.sty
2023/02/20 | 15651 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
2023/02/20 | 1542 | macros/latex/contrib/beamer/doc/beamerthemeexamplebase.tex
-2023/02/20 | 1540 | macros/latex/contrib/l3build/l3build.ins
2023/02/20 | 1540 | macros/latex/contrib/beamer/AUTHORS.md
2023/02/20 | 152313 | graphics/pgf/contrib/pixelart/pixelart0.pdf
2023/02/20 | 15144 | graphics/pgf/contrib/pixelart/pixelart0.tex
2023/02/20 | 150154 | macros/latex/contrib/pdfmanagement-testphase/fontspec-luatex-tmp-ltx.sty
2023/02/20 | 14948 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
-2023/02/20 | 148484 | info/xetexref/xetex-reference.pdf
2023/02/20 | 1475 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemespruce.sty
2023/02/20 | 14653 | macros/latex/contrib/beamer/doc/beamerug-introduction.tex
2023/02/20 | 141308 | systems/texlive/tlnet/archive/texdoc.doc.r65939.tar.xz
@@ -6598,20 +6825,15 @@
2023/02/20 | 1388 | macros/latex/contrib/beamer/base/multimedia/multimediasymbols.sty
2023/02/20 | 1388 | graphics/pgf/contrib/pixelart/CHANGELOG.md
2023/02/20 | 13733 | macros/latex/contrib/beamer/base/beamerbasesection.sty
-2023/02/20 | 1370380 | install/macros/latex/contrib/hyperxmp.tds.zip
2023/02/20 | 1368 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemefly.sty
2023/02/20 | 13642 | macros/latex/contrib/beamer/base/beamerbasefont.sty
2023/02/20 | 1354 | macros/latex/contrib/beamer/doc/beamercolorthemeexample.tex
2023/02/20 | 1353 | macros/latex/contrib/beamer/LICENSE.md
2023/02/20 | 1353987 | macros/latex/contrib/hyperxmp.zip
-2023/02/20 | 13211 | macros/latex/contrib/l3build/l3build-upload.lua
2023/02/20 | 1318728 | systems/texlive/tlnet/archive/latexindent.doc.r65940.tar.xz
2023/02/20 | 1309 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemebeaver.sty
2023/02/20 | 13080 | macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemedefault.sty
2023/02/20 | 1306 | macros/latex/contrib/beamer/base/themes/theme/compatibility/beamerthemesidebar.sty
-2023/02/20 | 1293 | info/xetexref/README.txt
-2023/02/20 | 1272020 | macros/latex/contrib/hyperxmp/hyperxmp.pdf
-2023/02/20 | 12633 | macros/latex/contrib/l3build/l3build-file-functions.lua
2023/02/20 | 12589 | macros/latex/contrib/beamer/base/beamerbasecolor.sty
2023/02/20 | 12536 | macros/latex/contrib/beamer/doc/beamerug-compatibility.tex
2023/02/20 | 12480 | macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-seminar.tex
@@ -6627,16 +6849,12 @@
2023/02/20 | 12171 | macros/latex/contrib/beamer/base/beamerbaseframecomponents.sty
2023/02/20 | 1200 | macros/latex/contrib/pdfmanagement-testphase/README.md
2023/02/20 | 1140 | macros/latex/contrib/beamer/base/beamerbasethemes.sty
-2023/02/20 | 11330 | macros/latex/contrib/hyperxmp/einstein-xmp.tex
2023/02/20 | 11248 | macros/generic/crossrefenum/test/main-test.tex
-2023/02/20 | 111762 | macros/latex/contrib/l3build/l3build.dtx
2023/02/20 | 1111 | macros/latex/contrib/beamer/README.md
2023/02/20 | 1108694 | macros/unicodetex/latex/bithesis.zip
-2023/02/20 | 11070 | macros/latex/contrib/l3build/l3build-install.lua
2023/02/20 | 1094 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemeseahorse.sty
2023/02/20 | 1091 | language/japanese/BX/bxjalipsum/LICENSE
2023/02/20 | 10910 | macros/latex/contrib/beamer/doc/beamerug-notes.tex
-2023/02/20 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
2023/02/20 | 1077517 | macros/unicodetex/latex/bithesis/bithesis.pdf
2023/02/20 | 1054 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeGoettingen.sty
2023/02/20 | 10543 | macros/latex/contrib/beamer/base/multimedia/multimedia.sty
@@ -6644,115 +6862,6 @@
2023/02/20 | 1049 | graphics/pgf/contrib/pixelart/README.md
2023/02/20 | 10331 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx
2023/02/20 | 10230 | macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-texpower.tex
-2023/02/20 | 1019 | macros/latex/contrib/l3build/README.md
2023/02/20 | 1013 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemewhale.sty
2023/02/20 | 1012 | macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemerounded.sty
2023/02/20 | 1008 | macros/latex/contrib/beamer/base/themes/font/beamerfontthemeserif.sty
-2023/02/19 | 9839 | support/latexindent/LatexIndent/Lines.pm
-2023/02/19 | 941003 | graphics/pgf/contrib/yquant.zip
-2023/02/19 | 9042 | support/texdoc/NEWS
-2023/02/19 | 90076 | support/texdoc/doc/texdoc.pdf
-2023/02/19 | 8940 | systems/texlive/tlnet/archive/soul.r65906.tar.xz
-2023/02/19 | 8829 | support/latexindent/LatexIndent/IfElseFi.pm
-2023/02/19 | 8703074 | support/latexindent/bin/windows/latexindent.exe
-2023/02/19 | 8462 | support/latexindent/LatexIndent/FileExtension.pm
-2023/02/19 | 838 | support/latexindent/LatexIndent/Version.pm
-2023/02/19 | 822728 | systems/texlive/tlnet/archive/soul.doc.r65906.tar.xz
-2023/02/19 | 812020 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
-2023/02/19 | 7844 | support/texdoc/script/texdoclib-util.tlu
-2023/02/19 | 76093 | graphics/pgf/contrib/pgf-periodictable/pgfPT.drawing.keys.tex
-2023/02/19 | 7329 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
-2023/02/19 | 7280 | support/latexindent/LatexIndent/MandatoryArgument.pm
-2023/02/19 | 7161 | support/latexindent/documentation/figure-schematic.png
-2023/02/19 | 6882 | support/latexindent/LatexIndent/TrailingComments.pm
-2023/02/19 | 6816 | systems/texlive/tlnet/archive/collection-latexextra.r65905.tar.xz
-2023/02/19 | 6807 | support/latexindent/LatexIndent/Environment.pm
-2023/02/19 | 6726 | support/texdoc/doc/texdoc-doc.cls
-2023/02/19 | 6694 | support/latexindent/LatexIndent/Item.pm
-2023/02/19 | 6522 | support/latexindent/LatexIndent/OptionalArgument.pm
-2023/02/19 | 65059 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
-2023/02/19 | 6392634 | support/latexindent/bin/macos/latexindent
-2023/02/19 | 6333 | support/texdoc/script/texdoclib-cli.tlu
-2023/02/19 | 6163427 | support/latexindent/bin/linux/latexindent
-2023/02/19 | 6022 | support/latexindent/LatexIndent/Else.pm
-2023/02/19 | 5808 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
-2023/02/19 | 5647 | support/latexindent/documentation/contributors.bib
-2023/02/19 | 54385 | support/latexindent/documentation/latexindent-yaml-schema.json
-2023/02/19 | 5429 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
-2023/02/19 | 5390 | support/latexindent/LatexIndent/Check.pm
-2023/02/19 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
-2023/02/19 | 52527 | support/latexindent/LatexIndent/GetYamlSettings.pm
-2023/02/19 | 48268 | info/xetexref/xetex-reference.tex
-2023/02/19 | 4816 | support/latexindent/LatexIndent/BlankLines.pm
-2023/02/19 | 45954 | graphics/pgf/contrib/yquant/tex/yquant-draw.tex
-2023/02/19 | 44096 | support/latexindent/documentation/logo.png
-2023/02/19 | 4402 | support/latexindent/documentation/latex-indent.bib
-2023/02/19 | 4365 | support/latexindent/LatexIndent/RoundBrackets.pm
-2023/02/19 | 4339 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
-2023/02/19 | 430280 | support/latexindent/documentation/latexindent.tex
-2023/02/19 | 40444 | systems/texlive/tlnet/archive/soul.source.r65906.tar.xz
-2023/02/19 | 39884 | graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
-2023/02/19 | 3903 | support/texdoc/doc/texdoc.1
-2023/02/19 | 3871 | support/texdoc/README.md
-2023/02/19 | 38492 | systems/texlive/tlnet/archive/nicematrix.r65902.tar.xz
-2023/02/19 | 3747 | support/latexindent/LatexIndent/Replacement.pm
-2023/02/19 | 36749 | support/texdoc/doc/texdoc.tex
-2023/02/19 | 35147 | support/texdoc/COPYING
-2023/02/19 | 3482 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
-2023/02/19 | 3413 | support/latexindent/latexindent.pl
-2023/02/19 | 3339 | support/latexindent/LatexIndent/Tokens.pm
-2023/02/19 | 3203 | support/texdoc/script/texdoclib-alias.tlu
-2023/02/19 | 316640 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
-2023/02/19 | 31148 | support/latexindent/LatexIndent/Wrap.pm
-2023/02/19 | 27328 | support/latexindent/LatexIndent/Verbatim.pm
-2023/02/19 | 27100 | systems/texlive/tlnet/archive/luapstricks.r65900.tar.xz
-2023/02/19 | 2701 | support/latexindent/LatexIndent/Switches.pm
-2023/02/19 | 2690 | support/latexindent/LatexIndent/Preamble.pm
-2023/02/19 | 26840 | systems/texlive/tlnet/archive/chemfig.r65901.tar.xz
-2023/02/19 | 25174 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
-2023/02/19 | 24759 | support/latexindent/LatexIndent/Document.pm
-2023/02/19 | 24629 | support/texdoc/script/texdoclib-search.tlu
-2023/02/19 | 24410 | support/latexindent/LatexIndent/Arguments.pm
-2023/02/19 | 237721 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
-2023/02/19 | 2374 | macros/jptex/latex/platex/README.md
-2023/02/19 | 2320 | support/latexindent/LatexIndent/Logger.pm
-2023/02/19 | 2313161 | install/macros/jptex/latex/platex.tds.zip
-2023/02/19 | 22877 | support/latexindent/defaultSettings.yaml
-2023/02/19 | 2187499 | macros/jptex/latex/platex.zip
-2023/02/19 | 2176 | graphics/pgf/contrib/yquant/tex/yquant.sty
-2023/02/19 | 21583 | support/texdoc/script/texdoclib-config.tlu
-2023/02/19 | 21564 | support/latexindent/LatexIndent/Indent.pm
-2023/02/19 | 20766 | support/latexindent/LatexIndent/Sentence.pm
-2023/02/19 | 2008 | support/latexindent/README
-2023/02/19 | 1987 | macros/latex/contrib/mismath/mismath.ins
-2023/02/19 | 188311 | graphics/pgf/contrib/pgf-periodictable/pgf-PeriodicTable.sty
-2023/02/19 | 1853384 | systems/texlive/tlnet/archive/nicematrix.doc.r65902.tar.xz
-2023/02/19 | 18522 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
-2023/02/19 | 17298 | support/texdoc/texdoc.cnf
-2023/02/19 | 161400 | support/texdoc.zip
-2023/02/19 | 1558 | support/latexindent/latexindent-module-installer.pl
-2023/02/19 | 1520 | systems/texlive/tlnet/archive/luapstricks.doc.r65900.tar.xz
-2023/02/19 | 1485 | support/latexindent/LatexIndent/DoubleBackSlash.pm
-2023/02/19 | 146996 | systems/texlive/tlnet/archive/texlive-msg-translations.r65889.tar.xz
-2023/02/19 | 14271 | language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty
-2023/02/19 | 13890 | support/latexindent/LatexIndent/Special.pm
-2023/02/19 | 1385632 | systems/texlive/tlnet/archive/chemfig.doc.r65901.tar.xz
-2023/02/19 | 1382 | support/texdoc/script/texdoc.tlu
-2023/02/19 | 135656 | systems/texlive/tlnet/archive/bmstu.r65896.tar.xz
-2023/02/19 | 13419 | support/latexindent/LatexIndent/HiddenChildren.pm
-2023/02/19 | 1320 | support/texdoc/script/texdoclib.tlu
-2023/02/19 | 12898 | support/latexindent/LatexIndent/LogFile.pm
-2023/02/19 | 1289736 | systems/texlive/tlnet/archive/bmstu.doc.r65896.tar.xz
-2023/02/19 | 12752 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_Examples.tex
-2023/02/19 | 12646 | support/latexindent/LatexIndent/Braces.pm
-2023/02/19 | 1242139 | support/latexindent/documentation/latexindent.pdf
-2023/02/19 | 121644 | systems/texlive/tlnet/archive/nicematrix.source.r65902.tar.xz
-2023/02/19 | 11629 | support/texdoc/script/texdoclib-view.tlu
-2023/02/19 | 1153501 | support/TeX4ht/source/tex4ht-4ht.tex
-2023/02/19 | 11300 | support/latexindent/LatexIndent/FileContents.pm
-2023/02/19 | 11159378 | support/latexindent.zip
-2023/02/19 | 11142 | support/latexindent/LatexIndent/Heading.pm
-2023/02/19 | 10728 | support/texdoc/script/texdoclib-score.tlu
-2023/02/19 | 10620 | support/latexindent/LatexIndent/Command.pm
-2023/02/19 | 10238 | support/texdoc/script/texdoclib-const.tlu
-2023/02/19 | 1022921 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 8503caf591..cd46e60877 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 26-02-2023, 02:00:12
+%% created at 27-02-2023, 02:07:22
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -24429,8 +24429,8 @@
title = {The \texttt{fduthesis} package},
subtitle = {\LaTeX{} thesis template for Fudan University},
author = {Xiangdong Zeng},
- date = {2022-09-04},
- version = {0.8},
+ date = {2023-02-26},
+ version = {0.9},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/fduthesis},
url = {https://ctan.org/pkg/fduthesis},
@@ -31604,18 +31604,11 @@
title = {The \texttt{hrefhide} package},
subtitle = {Suppress hyper links when printing},
author = {Hans-Martin Münch},
- date = {2016-06-24},
- version = {1.0f},
+ date = {2023-02-26},
+ version = {1.1a},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/hrefhide},
url = {https://ctan.org/pkg/hrefhide},
- annotation = {This package provides the command (which
- provides a substitute for ). While the
- (hyperlinked) text appears like an ordinary in the
- compiled PDF file, the same text will be “hidden”
- when printing the text. (Hiding is actually achieved by making
- the text the same colour as the background, thus preserving the
- layout of the rest of the text.)},
}
@manual{ctan-hrhyph,
@@ -34530,9 +34523,9 @@
title = {The \texttt{JeuxCartes} package},
subtitle = {Macros to insert playing cards},
author = {Cédric Pierquet},
- date = {2023-02-22},
- version = {0.2.2a},
- license = {lppl1.3c,lgpl2.1,pd,cc-by-sa-4,mit},
+ date = {2023-02-26},
+ version = {0.2.3},
+ license = {lppl1.3c,lgpl2.1,pd,cc-by-sa-4,pd,mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/jeuxcartes},
url = {https://ctan.org/pkg/jeuxcartes},
annotation = {This package provides macros to insert playing cards,
@@ -36228,7 +36221,7 @@
title = {The \texttt{l3build} package},
subtitle = {A testing and building system for (La)TeX},
author = {{The \LaTeX{} Project Team}},
- date = {2023-02-20},
+ date = {2023-02-26},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/l3build},
@@ -47446,8 +47439,8 @@
title = {The \texttt{NewComputerModern} package},
subtitle = {Computer Modern fonts including matching non-latin alphabets},
author = {Antonis Tsolomitis},
- date = {2023-01-03},
- version = {4.2},
+ date = {2023-02-26},
+ version = {4.3},
license = {gfl},
mirror = {https://mirror.ctan.org/fonts/newcomputermodern},
url = {https://ctan.org/pkg/newcomputermodern},
@@ -52845,7 +52838,7 @@
title = {The \texttt{platex-tools} package},
subtitle = {p\LaTeX{} standard tools bundle},
author = {Hironobu Yamashita},
- date = {2022-07-31},
+ date = {2023-02-26},
version = {},
license = {bsd3},
mirror = {https://mirror.ctan.org/macros/jptex/latex/platex-tools},
@@ -52865,7 +52858,7 @@
title = {The \texttt{platex} package},
subtitle = {pLaTeX2e and miscellaneous macros for pTeX},
author = {Kazuki Maeda and {Japanese \TeX{} Development Community}},
- date = {2023-02-19},
+ date = {2023-02-26},
version = {},
license = {bsd3},
mirror = {https://mirror.ctan.org/macros/jptex/latex/platex},
@@ -56436,8 +56429,8 @@
title = {The \texttt{pxbase} package},
subtitle = {Tools for use with (u)pLaTeX},
author = {Takayuki Yato},
- date = {2022-07-31},
- version = {1.3},
+ date = {2023-02-26},
+ version = {1.4},
license = {mit},
mirror = {https://mirror.ctan.org/macros/jptex/latex/pxbase},
url = {https://ctan.org/pkg/pxbase},
@@ -58077,8 +58070,8 @@
title = {The \texttt{ResolSysteme} package},
subtitle = {Work on linear systems using xint or pyluatex},
author = {Cédric Pierquet},
- date = {2023-02-24},
- version = {0.1.4},
+ date = {2023-02-26},
+ version = {0.1.5},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/resolsysteme},
url = {https://ctan.org/pkg/resolsysteme},
@@ -65448,8 +65441,8 @@
title = {The \texttt{TangramTikZ} package},
subtitle = {Tangram puzzles, with TikZ},
author = {Cédric Pierquet},
- date = {2023-02-20},
- version = {0.1.4},
+ date = {2023-02-26},
+ version = {0.1.5},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tangramtikz},
url = {https://ctan.org/pkg/tangramtikz},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index bd467f56ae..1d0b0a1a81 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/fonts/newcomputermodern/README b/fonts/newcomputermodern/README
index e2cb887def..626efe810d 100644
--- a/fonts/newcomputermodern/README
+++ b/fonts/newcomputermodern/README
@@ -1,7 +1,7 @@
New Computer Modern Fonts
- (Package version 4.2, GustFLv1 or later)
+ (Package version 4.3, GustFLv1 or later)
Antonis Tsolomitis
Samos, Greece, 2019--2023
@@ -49,6 +49,13 @@ which are distributed with microtype.
Latest additions/improvements:
+Version 4.3
+
+Fixed non integer coordinates on slyphs 5,6,9 which caused problems
+with some printers.
+Added a couple of IPA combinations that were missing from v4.2
+
+
Version 4.2
Added the possibility to typeset IPA properly in all faces/families.
diff --git a/fonts/newcomputermodern/doc/newcm-doc.pdf b/fonts/newcomputermodern/doc/newcm-doc.pdf
index 2e9e384803..faa997c1e9 100644
--- a/fonts/newcomputermodern/doc/newcm-doc.pdf
+++ b/fonts/newcomputermodern/doc/newcm-doc.pdf
Binary files differ
diff --git a/fonts/newcomputermodern/doc/newcm-doc.tex b/fonts/newcomputermodern/doc/newcm-doc.tex
index d8496e45ce..671db8fcee 100644
--- a/fonts/newcomputermodern/doc/newcm-doc.tex
+++ b/fonts/newcomputermodern/doc/newcm-doc.tex
@@ -61,7 +61,7 @@ StylisticSet = {05}]{NewCM10-Book.otf}
\renewcommand{\arraystretch}{1.4}
-\title{The New Computer Modern FontFamily\\ version 4.2}
+\title{The New Computer Modern FontFamily\\ version 4.3}
\author{Antonis Tsolomitis}
%\address{Department of Mathematics\\ University of the Aegean\\ Karlovassi, 832\,00 Samos\\ Greece}
%\netaddress{atsol (at) aegean dot gr}
diff --git a/fonts/newcomputermodern/otf/NewCM08-Book.otf b/fonts/newcomputermodern/otf/NewCM08-Book.otf
index 5aebe20792..fc0a517104 100644
--- a/fonts/newcomputermodern/otf/NewCM08-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCM08-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf b/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf
index 84958cff1b..393487724d 100644
--- a/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf
+++ b/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM08-Italic.otf b/fonts/newcomputermodern/otf/NewCM08-Italic.otf
index e3f6ed08c0..8e6d4540e6 100644
--- a/fonts/newcomputermodern/otf/NewCM08-Italic.otf
+++ b/fonts/newcomputermodern/otf/NewCM08-Italic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM08-Regular.otf b/fonts/newcomputermodern/otf/NewCM08-Regular.otf
index 14ccb52ee3..547a479ebe 100644
--- a/fonts/newcomputermodern/otf/NewCM08-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCM08-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM10-Bold.otf b/fonts/newcomputermodern/otf/NewCM10-Bold.otf
index 65ca061ff4..0adec5bebb 100644
--- a/fonts/newcomputermodern/otf/NewCM10-Bold.otf
+++ b/fonts/newcomputermodern/otf/NewCM10-Bold.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf b/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf
index b27419be5e..ef6c86a863 100644
--- a/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf
+++ b/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM10-Book.otf b/fonts/newcomputermodern/otf/NewCM10-Book.otf
index 7df395e051..dfe1f12a1d 100644
--- a/fonts/newcomputermodern/otf/NewCM10-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCM10-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf b/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf
index 697eb9fe9d..67215ee120 100644
--- a/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf
+++ b/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM10-Italic.otf b/fonts/newcomputermodern/otf/NewCM10-Italic.otf
index d172804995..1c77fc3abc 100644
--- a/fonts/newcomputermodern/otf/NewCM10-Italic.otf
+++ b/fonts/newcomputermodern/otf/NewCM10-Italic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCM10-Regular.otf b/fonts/newcomputermodern/otf/NewCM10-Regular.otf
index 5f9563b655..4691c0544a 100644
--- a/fonts/newcomputermodern/otf/NewCM10-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCM10-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMath-Book.otf b/fonts/newcomputermodern/otf/NewCMMath-Book.otf
index eeca1dde98..9822713af1 100644
--- a/fonts/newcomputermodern/otf/NewCMMath-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCMMath-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMath-Regular.otf b/fonts/newcomputermodern/otf/NewCMMath-Regular.otf
index 253cf5db34..7663b2d839 100644
--- a/fonts/newcomputermodern/otf/NewCMMath-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCMMath-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf b/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf
index 16c08a8cda..70b6d526cd 100644
--- a/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf
+++ b/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf b/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf
index 59843d05d3..f049743439 100644
--- a/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf
+++ b/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Book.otf b/fonts/newcomputermodern/otf/NewCMMono10-Book.otf
index 804175922f..91aea62b1c 100644
--- a/fonts/newcomputermodern/otf/NewCMMono10-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCMMono10-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf b/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf
index 88edf4d72a..dd820f1434 100644
--- a/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf
+++ b/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf b/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
index 554fb01200..299f56b1cb 100644
--- a/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
+++ b/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf b/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf
index 96fcd5c6f3..ea68019959 100644
--- a/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans08-Book.otf b/fonts/newcomputermodern/otf/NewCMSans08-Book.otf
index 4a7f51040f..d0012e4997 100644
--- a/fonts/newcomputermodern/otf/NewCMSans08-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans08-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf b/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf
index c891dda757..1099e84ae5 100644
--- a/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf b/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf
index 92bd83354d..83e303e95f 100644
--- a/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf b/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf
index 9d1da5577a..f56a12b87a 100644
--- a/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf b/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf
index a1b03d6f06..8d468cd794 100644
--- a/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf b/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf
index d872f14090..dafe77c1af 100644
--- a/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Book.otf b/fonts/newcomputermodern/otf/NewCMSans10-Book.otf
index 805b57f065..c10bdd00d1 100644
--- a/fonts/newcomputermodern/otf/NewCMSans10-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans10-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf b/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf
index 67d51912b0..beb617c463 100644
--- a/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf b/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf
index 0080792332..8bd203e7ef 100644
--- a/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf b/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf
index 3cbf16e12e..f89de63f74 100644
--- a/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf b/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
index 879e8db98d..aa29f32071 100644
--- a/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
+++ b/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf b/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
index b1d5d94fb9..83f66d3db3 100644
--- a/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf b/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
index dedee4bed1..50b3061a57 100644
--- a/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf b/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf
index 65bccce77c..398398ae86 100644
--- a/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf
+++ b/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf b/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf
index 02a4a6dcae..e1ef490e3d 100644
--- a/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf
+++ b/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf
Binary files differ
diff --git a/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf b/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf
index 8ba9a9991f..9881e11a17 100644
--- a/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf
+++ b/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf
Binary files differ
diff --git a/fonts/newcomputermodern/source.txz b/fonts/newcomputermodern/source.txz
new file mode 100644
index 0000000000..c2dcf6ae69
--- /dev/null
+++ b/fonts/newcomputermodern/source.txz
Binary files differ
diff --git a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
index 8f76925ac6..a2c8baa025 100644
--- a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
+++ b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
index 2867f641b4..041190728b 100644
--- a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
+++ b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-en.tex
@@ -50,8 +50,8 @@
\setlength{\parindent}{0pt}
\definecolor{LightGray}{gray}{0.9}
-\def\TPversion{0.1.4}
-\def\TPdate{18/02/2023}
+\def\TPversion{0.1.5}
+\def\TPdate{25/02/2023}
\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
@@ -458,6 +458,10 @@ The third argument, \textit{mandatory} and between \texttt{\{...\}} is the name
\item Angel
\item Tower
\item Ufo
+ \item Chicken
+ \item Turtle
+ \item Crab
+ \item Snail
\end{itemize}
\end{multicols}}
@@ -668,10 +672,36 @@ The third argument, \textit{mandatory} and between \texttt{\{...\}} is the name
\TangramTikz[ColorCorrection]{Ufo}
\end{PresentationCode}
+\begin{PresentationCode}{}
+\TangramTikz{Chicken}
+\TangramTikz[Correction]{Chicken}
+\TangramTikz[ColorCorrection]{Chicken}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\TangramTikz{Turtle}
+\TangramTikz[Correction]{Turtle}
+\TangramTikz[ColorCorrection]{Turtle}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\TangramTikz{Crab}
+\TangramTikz[Correction]{Crab}
+\TangramTikz[ColorCorrection]{Crab}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\TangramTikz{Snail}
+\TangramTikz[Correction]{Snail}
+\TangramTikz[ColorCorrection]{Snail}
+\end{PresentationCode}
+
\newpage
\part{History}
+\verb|v0.1.5|~:~~~~New models
+
\verb|v0.1.4|~:~~~~New models
\verb|v0.1.3|~:~~~~New models
diff --git a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
index 2c1a9bd080..647f1eafea 100644
--- a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
+++ b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
index e96133889d..e45fbee518 100644
--- a/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
+++ b/graphics/pgf/contrib/tangramtikz/doc/TangramTikz-doc-fr.tex
@@ -49,8 +49,8 @@
\setlength{\parindent}{0pt}
\definecolor{LightGray}{gray}{0.9}
-\def\TPversion{0.1.4}
-\def\TPdate{18 Février 2023}
+\def\TPversion{0.1.5}
+\def\TPdate{25 Février 2023}
\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
@@ -460,6 +460,10 @@ Le troisième argument, \textit{obligatoire} et entre \texttt{\{...\}} est quant
\item Ange
\item Tour
\item Ovni
+ \item Poule
+ \item Tortue
+ \item Crabe
+ \item Escargot
\end{itemize}
\end{multicols}}
@@ -672,10 +676,36 @@ Le troisième argument, \textit{obligatoire} et entre \texttt{\{...\}} est quant
\TangramTikz[CorrectionCouleur]{Ovni}
\end{PresentationCode}
+\begin{PresentationCode}{}
+\TangramTikz{Poule}
+\TangramTikz[Correction]{Poule}
+\TangramTikz[CorrectionCouleur]{Poule}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\TangramTikz{Tortue}
+\TangramTikz[Correction]{Tortue}
+\TangramTikz[CorrectionCouleur]{Tortue}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\TangramTikz{Crabe}
+\TangramTikz[Correction]{Crabe}
+\TangramTikz[CorrectionCouleur]{Crabe}
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+\TangramTikz{Escargot}
+\TangramTikz[Correction]{Escargot}
+\TangramTikz[CorrectionCouleur]{Escargot}
+\end{PresentationCode}
+
\newpage
\part{Historique}
+\verb|v0.1.5|~:~~~~Nouveaux modèles
+
\verb|v0.1.4|~:~~~~Nouveaux modèles
\verb|v0.1.3|~:~~~~Nouveaux modèles
diff --git a/graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty b/graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
index acc0051592..9773eb1d11 100644
--- a/graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
+++ b/graphics/pgf/contrib/tangramtikz/tex/TangramTikz.sty
@@ -3,7 +3,8 @@
% Inspiration....: https://tex.stackexchange.com/questions/407449/typesetting-tangram-figures-in-latex
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{TangramTikz}[2023/02/18 v0.1.4 Tangram Puzzles with TikZ]
+\ProvidesPackage{TangramTikz}[2023/02/25 v0.1.5 Tangram Puzzles with TikZ]
+% 0.1.5 Ajout de modèles
% 0.1.4 Ajout de modèles
% 0.1.3 Ajout de modèles
% 0.1.2 Ajout de modèles
@@ -779,6 +780,98 @@
}%
}
+%the chicken / la poule (0.1.5)
+\NewDocumentCommand\TangramChicken{ s O{TangPuzz} }{%*=colorcorrection,[key for pic]
+ \IfBooleanTF{#1}%
+ {%
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<rotate=90>({0},{0}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<xscale=-1,rotate=90>({0},{0}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]({0.25},{0.25}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[2]}]<rotate=135>({0.5*sqrt(2)},{-0.5*sqrt(2)}){TangMoyTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[4]}]({1},{2}){TangCar}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]<rotate=135>({1+sqrt(2)},{3}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[5]}]<xscale=-1>({-1},{2}){TangPara}
+ }%
+ {%
+ \PieceTangram[#2]<rotate=90>({0},{0}){TangGrandTri}
+ \PieceTangram[#2]<xscale=-1,rotate=90>({0},{0}){TangGrandTri}
+ \PieceTangram[#2]({0.25},{0.25}){TangPetTri}
+ \PieceTangram[#2]<rotate=135>({0.5*sqrt(2)},{-0.5*sqrt(2)}){TangMoyTri}
+ \PieceTangram[#2]({1},{2}){TangCar}
+ \PieceTangram[#2]<rotate=135>({1+sqrt(2)},{3}){TangPetTri}
+ \PieceTangram[#2]<xscale=-1>({-1},{2}){TangPara}
+ }%
+}
+
+%the turtle / la tortue (0.1.5)
+\NewDocumentCommand\TangramTurtle{ s O{TangPuzz} }{%*=colorcorrection,[key for pic]
+ \IfBooleanTF{#1}%
+ {%
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]({0},{0}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<xscale=-1,rotate=90>({0},{0}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[5]}]<xscale=-1,,rotate=90>({2},{0}){TangPara}
+ \PieceTangram[TangSol={\TanGListeCouleurs[4]}]({3},{1}){TangCar}
+ \PieceTangram[TangSol={\TanGListeCouleurs[2]}]<rotate=90>({0},{0}){TangMoyTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]<rotate=45>({-0.5*sqrt(2)},{-0.5*sqrt(2)}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]<rotate=-135>({2+0.5*sqrt(2)},{0.5*sqrt(2)}){TangPetTri}
+ }%
+ {%
+ \PieceTangram[#2]({0},{0}){TangGrandTri}
+ \PieceTangram[#2]<xscale=-1,rotate=90>({0},{0}){TangGrandTri}
+ \PieceTangram[#2]<xscale=-1,,rotate=90>({2},{0}){TangPara}
+ \PieceTangram[#2]({3},{1}){TangCar}
+ \PieceTangram[#2]<rotate=90>({0},{0}){TangMoyTri}
+ \PieceTangram[#2]<rotate=45>({-0.5*sqrt(2)},{-0.5*sqrt(2)}){TangPetTri}
+ \PieceTangram[#2]<rotate=-135>({2+0.5*sqrt(2)},{0.5*sqrt(2)}){TangPetTri}
+ }%
+}
+
+%the crab / le crabe (0.1.5)
+\NewDocumentCommand\TangramCrab{ s O{TangPuzz} }{%*=colorcorrection,[key for pic]
+ \IfBooleanTF{#1}%
+ {%
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<rotate=-90>({0},{2}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<rotate=90>({3},{-1}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]<rotate=180>({1},{0}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[4]}]({1},{1}){TangCar}
+ \PieceTangram[TangSol={\TanGListeCouleurs[5]}]({2},{1}){TangPara}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]<rotate=-90>({3},{3}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[2]}]<rotate=90>({0},{1}){TangMoyTri}
+ }%
+ {%
+ \PieceTangram[#2]<rotate=-90>({0},{2}){TangGrandTri}
+ \PieceTangram[#2]<rotate=90>({3},{-1}){TangGrandTri}
+ \PieceTangram[#2]<rotate=180>({1},{0}){TangPetTri}
+ \PieceTangram[#2]({1},{1}){TangCar}
+ \PieceTangram[#2]({2},{1}){TangPara}
+ \PieceTangram[#2]<rotate=-90>({3},{3}){TangPetTri}
+ \PieceTangram[#2]<rotate=90>({0},{1}){TangMoyTri}
+ }%
+}
+
+%the snail / l'ecargot (0.1.5)
+\NewDocumentCommand\TangramSnail{ s O{TangPuzz} }{%*=colorcorrection,[key for pic]
+ \IfBooleanTF{#1}%
+ {%
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<rotate=45>({0},{0}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[1]}]<rotate=-135>({0},{2*sqrt(2)}){TangGrandTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[5]}]({0},{0}){TangPara}
+ \PieceTangram[TangSol={\TanGListeCouleurs[2]}]({1},{0}){TangMoyTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]<rotate=-90>({-1},{1}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[3]}]({-2},{0}){TangPetTri}
+ \PieceTangram[TangSol={\TanGListeCouleurs[4]}]<rotate=-45>({2},{1}){TangCar}
+ }%
+ {%
+ \PieceTangram[#2]<rotate=45>({0},{0}){TangGrandTri}
+ \PieceTangram[#2]<rotate=-135>({0},{2*sqrt(2)}){TangGrandTri}
+ \PieceTangram[#2]({0},{0}){TangPara}
+ \PieceTangram[#2]({1},{0}){TangMoyTri}
+ \PieceTangram[#2]<rotate=-90>({-1},{1}){TangPetTri}
+ \PieceTangram[#2]({-2},{0}){TangPetTri}
+ \PieceTangram[#2]<rotate=-45>({2},{1}){TangCar}
+ }%
+}
+
%macros for tangram creation / commandes pour créer le tangram
\NewDocumentCommand\TangramTikzCreateEN{ m }{%
\readlist*\TanGListeCouleurs{\TangColors}%
@@ -913,6 +1006,18 @@
%UFO
\IfStrEq{#3}{Ufo}{\TangramTikzCreateEN{\TangramUfo}}{}%
\IfStrEq{#3}{Ovni}{\TangramTikzCreateFR{\TangramUfo}}{}%
+ %CHICKEN
+ \IfStrEq{#3}{Chicken}{\TangramTikzCreateEN{\TangramChicken}}{}%
+ \IfStrEq{#3}{Poule}{\TangramTikzCreateFR{\TangramChicken}}{}%
+ %TURTLE
+ \IfStrEq{#3}{Turtle}{\TangramTikzCreateEN{\TangramTurtle}}{}%
+ \IfStrEq{#3}{Tortue}{\TangramTikzCreateFR{\TangramTurtle}}{}%
+ %CRAB
+ \IfStrEq{#3}{Crab}{\TangramTikzCreateEN{\TangramCrab}}{}%
+ \IfStrEq{#3}{Crabe}{\TangramTikzCreateFR{\TangramCrab}}{}%
+ %SNAIL
+ \IfStrEq{#3}{Snail}{\TangramTikzCreateEN{\TangramSnail}}{}%
+ \IfStrEq{#3}{Escargot}{\TangramTikzCreateFR{\TangramSnail}}{}%
\end{tikzpicture}%
}
diff --git a/macros/jptex/latex/platex-tools/LICENSE b/macros/jptex/latex/platex-tools/LICENSE
index ecbe9e9df9..fba27758e5 100644
--- a/macros/jptex/latex/platex-tools/LICENSE
+++ b/macros/jptex/latex/platex-tools/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2016-2021 Hironobu Yamashita
+Copyright (c) 2016-2023 Hironobu Yamashita
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/macros/jptex/latex/platex-tools/README.md b/macros/jptex/latex/platex-tools/README.md
index 89cd0ec22f..4aef7915e0 100644
--- a/macros/jptex/latex/platex-tools/README.md
+++ b/macros/jptex/latex/platex-tools/README.md
@@ -83,6 +83,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)).
## Release Date
-2021-12-11
+2023-02-26
Hironobu Yamashita
diff --git a/macros/jptex/latex/platex-tools/plarray.tex b/macros/jptex/latex/platex-tools/plarray.tex
index 66ea8f2fb5..e83b4db593 100644
--- a/macros/jptex/latex/platex-tools/plarray.tex
+++ b/macros/jptex/latex/platex-tools/plarray.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}% supports \verb in \footnote
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{plarray}
\GetFileInfo{plarray.sty}
\title{Package \textsf{plarray} \fileversion}
diff --git a/macros/jptex/latex/platex-tools/pldocverb.tex b/macros/jptex/latex/platex-tools/pldocverb.tex
index e590f4a67d..d3de0e9911 100644
--- a/macros/jptex/latex/platex-tools/pldocverb.tex
+++ b/macros/jptex/latex/platex-tools/pldocverb.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}% supports \verb in \footnote
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{pldocverb}
\GetFileInfo{pldocverb.sty}
\title{Package \textsf{pldocverb} \fileversion}
diff --git a/macros/jptex/latex/platex-tools/plextarray.pdf b/macros/jptex/latex/platex-tools/plextarray.pdf
index ebf6a7aa51..f314725516 100644
--- a/macros/jptex/latex/platex-tools/plextarray.pdf
+++ b/macros/jptex/latex/platex-tools/plextarray.pdf
Binary files differ
diff --git a/macros/jptex/latex/platex-tools/plextarray.sty b/macros/jptex/latex/platex-tools/plextarray.sty
index 42b92ee929..ee864f8df4 100644
--- a/macros/jptex/latex/platex-tools/plextarray.sty
+++ b/macros/jptex/latex/platex-tools/plextarray.sty
@@ -15,7 +15,7 @@
\NeedsTeXFormat{pLaTeX2e}
\ProvidesPackage{plextarray}
- [2018/10/27 v1.1d Tabular extension package for plext and array]
+ [2022/09/13 v1.1e Tabular extension package for plext and array]
\RequirePackage{plext}
\RequirePackage{plarray}
@@ -100,8 +100,8 @@
\begingroup
\@mkpream{#3}%
% following definition of \@preamble is from plext (\edef -> \xdef),
- % but it's not the same as the one in array; why?
- \xdef\@preamble{\ialign \noexpand \@halignto
+ % with \noexpand before \ialign following array's documentation.
+ \xdef\@preamble{\noexpand \ialign \noexpand \@halignto
\bgroup \tabskip \z@skip \@arstrut \@preamble
\tabskip \z@skip \cr}%
\endgroup
diff --git a/macros/jptex/latex/platex-tools/plextarray.tex b/macros/jptex/latex/platex-tools/plextarray.tex
index 47e1f68e1f..f9a8ba0259 100644
--- a/macros/jptex/latex/platex-tools/plextarray.tex
+++ b/macros/jptex/latex/platex-tools/plextarray.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{array}
\usepackage{plextarray}
\GetFileInfo{plextarray.sty}
diff --git a/macros/jptex/latex/platex-tools/plextcolortbl.tex b/macros/jptex/latex/platex-tools/plextcolortbl.tex
index 0cea5c1093..485f92dc7b 100644
--- a/macros/jptex/latex/platex-tools/plextcolortbl.tex
+++ b/macros/jptex/latex/platex-tools/plextcolortbl.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{colortbl}
\usepackage{plextcolortbl}
\GetFileInfo{plextcolortbl.sty}
diff --git a/macros/jptex/latex/platex-tools/plextdelarray.tex b/macros/jptex/latex/platex-tools/plextdelarray.tex
index cc5e5a745f..00067e0b6e 100644
--- a/macros/jptex/latex/platex-tools/plextdelarray.tex
+++ b/macros/jptex/latex/platex-tools/plextdelarray.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{delarray}
\usepackage{plextdelarray}
\GetFileInfo{plextdelarray.sty}
diff --git a/macros/jptex/latex/platex-tools/pxatbegshi.tex b/macros/jptex/latex/platex-tools/pxatbegshi.tex
index 0b1b326835..a32f4ee524 100644
--- a/macros/jptex/latex/platex-tools/pxatbegshi.tex
+++ b/macros/jptex/latex/platex-tools/pxatbegshi.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{pxatbegshi}
\GetFileInfo{pxatbegshi.sty}
\title{Package \textsf{pxatbegshi} \fileversion}
diff --git a/macros/jptex/latex/platex-tools/pxeverysel.tex b/macros/jptex/latex/platex-tools/pxeverysel.tex
index 156fa720e7..a8a2bab76c 100644
--- a/macros/jptex/latex/platex-tools/pxeverysel.tex
+++ b/macros/jptex/latex/platex-tools/pxeverysel.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{pxeverysel}
\GetFileInfo{pxeverysel.sty}
\title{Package \textsf{pxeverysel} \fileversion}
diff --git a/macros/jptex/latex/platex-tools/pxeveryshi.tex b/macros/jptex/latex/platex-tools/pxeveryshi.tex
index 0c5e2e5e9f..0abe500458 100644
--- a/macros/jptex/latex/platex-tools/pxeveryshi.tex
+++ b/macros/jptex/latex/platex-tools/pxeveryshi.tex
@@ -4,7 +4,7 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{pxeveryshi}
\GetFileInfo{pxeveryshi.sty}
\title{Package \textsf{pxeveryshi} \fileversion}
diff --git a/macros/jptex/latex/platex-tools/pxxspace.pdf b/macros/jptex/latex/platex-tools/pxxspace.pdf
index fb9645aa46..5c045059a8 100644
--- a/macros/jptex/latex/platex-tools/pxxspace.pdf
+++ b/macros/jptex/latex/platex-tools/pxxspace.pdf
Binary files differ
diff --git a/macros/jptex/latex/platex-tools/pxxspace.sty b/macros/jptex/latex/platex-tools/pxxspace.sty
index 384a157be6..9a1a85e472 100644
--- a/macros/jptex/latex/platex-tools/pxxspace.sty
+++ b/macros/jptex/latex/platex-tools/pxxspace.sty
@@ -1,6 +1,7 @@
%
% pxxspace.sty
-% written by Takayuki Yato (ZR)
+% originally written by Takayuki Yato (ZR)
+% and modified by Hironobu Yamashita
%
% This package is distributed as part of the platex-tools bundle
% maintained by Hironobu Yamashita
@@ -24,7 +25,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
\ProvidesPackage{pxxspace}
- [2019/09/23 v0.2a Patch for xspace for pLaTeX/upLaTeX]
+ [2023/02/25 v0.2b Patch for xspace for pLaTeX/upLaTeX]
\def\pxxs@pkgname{pxxspace}
%--------------------------------------- preparations
@@ -62,6 +63,8 @@
%% \pxxs@forcecjktoken
\ifpxxs@uptex
\let\pxxs@forcecjktoken\forcecjktoken
+ % check internal encoding
+ \unless\ifnum\jis"2121="3000 \pxxs@uptexfalse \fi
\else
\let\pxxs@forcecjktoken\relax
\fi
diff --git a/macros/jptex/latex/platex-tools/pxxspace.tex b/macros/jptex/latex/platex-tools/pxxspace.tex
index cbdba8abf3..6c69312819 100644
--- a/macros/jptex/latex/platex-tools/pxxspace.tex
+++ b/macros/jptex/latex/platex-tools/pxxspace.tex
@@ -4,11 +4,11 @@
\fi
\documentclass[a4paper]{jsarticle}
-\usepackage{doc}
+\usepackage[nohyperref]{doc}% doc v3
\usepackage{pxxspace}
\GetFileInfo{pxxspace.sty}
\title{Package \textsf{pxxspace} \fileversion}
-\author{Takayuki Yato}
+\author{Takayuki Yato \& Hironobu Yamashita}
\date{\filedate}
%%%%% BEGIN
diff --git a/macros/jptex/latex/platex/README.md b/macros/jptex/latex/platex/README.md
index aa4ab92e7b..64ed8fd982 100644
--- a/macros/jptex/latex/platex/README.md
+++ b/macros/jptex/latex/platex/README.md
@@ -71,6 +71,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)).
## Release Date
-2023-02-19
+2023-02-26
Japanese TeX Development Community
diff --git a/macros/jptex/latex/platex/platexrelease.dtx b/macros/jptex/latex/platex/platexrelease.dtx
index 84a73c9b72..df9bf8b96a 100644
--- a/macros/jptex/latex/platex/platexrelease.dtx
+++ b/macros/jptex/latex/platex/platexrelease.dtx
@@ -359,6 +359,7 @@ of this package available from CTAN}
some critical bugs. We advise you to\MessageBreak
select another format date}
\plIncludeInRelease{2017/10/28}{\PackageWarning}{pLaTeX Info}%
+ % * <2023-02-14>+1
% * <2023-02-14>
% * <2021-11-15>+1
% * <2021-11-15>
diff --git a/macros/jptex/latex/platex/plcore.dtx b/macros/jptex/latex/platex/plcore.dtx
index afb26bcc5b..bff0ab675f 100644
--- a/macros/jptex/latex/platex/plcore.dtx
+++ b/macros/jptex/latex/platex/plcore.dtx
@@ -138,13 +138,14 @@
% \changes{v1.3k}{2021/06/28}{$BFbIt(BUnicode$B$N;~$N$_$r8!=P(B}
% \changes{v1.3l}{2021/12/08}{\LaTeXe~2021-11-15$B$KH<$&=$@5(B}
% \changes{v1.3m}{2023/02/14}{$B%U%m!<%H4D6-Fb$G$NAHJ}8~JQ99$r(Bplext$B$KM6F3(B}
+% \changes{v1.3n}{2023/02/24}{\cs{marginpar}$B$G%(%i!<$,=P$k%P%0=$@5(B}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
-\ProvidesFile{plcore.dtx}[2023/02/14 v1.3m pLaTeX core file]
+\ProvidesFile{plcore.dtx}[2023/02/24 v1.3n pLaTeX core file]
% \iffalse
\RequirePackage{plautopatch}
\documentclass[dvipdfmx,a4paper]{jltxdoc}
@@ -1754,8 +1755,10 @@
% \begin{macro}{\@floatboxreset}
% $B85$O(Bltfloat.dtx$B$GDj5A$5$l$F$$$^$9!#(B
% \changes{v1.3m}{2023/02/14}{$B%U%m!<%H4D6-Fb$G$NAHJ}8~JQ99$r(Bplext$B$KM6F3(B}
+% \changes{v1.3n}{2023/02/24}{\cs{marginpar}$B$G%(%i!<$,=P$k%P%0=$@5(B}
% \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2023/02/14}{\@floatboxreset}
+%<platexrelease> {Mention \layoutcaption}%
%<*plcore|platexrelease>
\def\@floatboxreset{%
\pltx@save@float@dir % pLaTeX
@@ -1815,15 +1818,16 @@
\def\pltx@save@float@dir{%
\edef\pltx@float@dir@first{\iftdir\tate\else\yoko\fi}}
\def\pltx@check@float@dir{%
- \edef\pltx@float@dir@last{\iftdir\tate\else\yoko\fi}%
- \ifx\pltx@float@dir@last\pltx@float@dir@first\else
- \pltx@err@float@dir
+ \ifx\pltx@float@dir@first\@undefined\else
+ \edef\pltx@float@dir@last{\iftdir\tate\else\yoko\fi}%
+ \ifx\pltx@float@dir@last\pltx@float@dir@first\else
+ \pltx@err@float@dir
+ \fi
\fi}
\def\pltx@err@float@dir{%
\@latex@error{Direction change inside float!?\MessageBreak
Use \noexpand\layoutcaption provided in
- \string\usepackage{plext}}\@ehc
-}
+ \string\usepackage{plext}}\@ehc}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@check@float@dir}
diff --git a/macros/jptex/latex/platex/pldoc.pdf b/macros/jptex/latex/platex/pldoc.pdf
index 69d3856cd0..84074bf5b6 100644
--- a/macros/jptex/latex/platex/pldoc.pdf
+++ b/macros/jptex/latex/platex/pldoc.pdf
Binary files differ
diff --git a/macros/jptex/latex/platex/plvers.dtx b/macros/jptex/latex/platex/plvers.dtx
index 79c7fc1db4..7ab7d87eae 100644
--- a/macros/jptex/latex/platex/plvers.dtx
+++ b/macros/jptex/latex/platex/plvers.dtx
@@ -204,7 +204,7 @@
{2023-02-14}
%</plcore|platexrelease>
%<*plcore>
-\def\ppatch@level{0}
+\def\ppatch@level{1}
%</plcore>
% \end{macrocode}
% \end{macro}
diff --git a/macros/jptex/latex/pxbase/LICENSE b/macros/jptex/latex/pxbase/LICENSE
index ead3a3702e..cfd0838618 100644
--- a/macros/jptex/latex/pxbase/LICENSE
+++ b/macros/jptex/latex/pxbase/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2008-2021 Takayuki YATO (aka. "ZR")
+Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/jptex/latex/pxbase/README-ja.md b/macros/jptex/latex/pxbase/README-ja.md
index 53bf41f4fc..507faef2a6 100644
--- a/macros/jptex/latex/pxbase/README-ja.md
+++ b/macros/jptex/latex/pxbase/README-ja.md
@@ -121,6 +121,7 @@ pxbabel パッケージ ― Babel の機構に基づく CJK 間のフォント
詳細についてはマニュアル `pxbabel.pdf` を参照されたい。
+
upkcat パッケージ ― 文字指定による kcatcode 操作
-------------------------------------------------
@@ -141,16 +142,17 @@ upkcat パッケージ ― 文字指定による kcatcode 操作
### 前提環境
* TeX フォーマット: plain、LaTeX
- * TeX エンジン: upTeX(派生を含む)
+ * TeX エンジン: upTeX(派生を含む)
+ ※内部漢字コードがUnicode(uptex)で動作している必要がある。
* DVI ウェア(DVI 出力時): 不問
### パッケージ読込
-plain upTeX の場合:
+plain TeX の場合:
\input upkcat.sty
-upLaTeX の場合:
+LaTeX の場合:
\usepackage{upkcat}
@@ -165,6 +167,15 @@ upLaTeX の場合:
更新履歴
--------
+ * Version 1.4 〈2023/02/25〉
+ - pxbasenc: `\pxBDHookEncSwitchOTF` の機能を最新の japanese-otf
+ に対応させる。
+ - pxbabel: 前項改修により `(no)patchutfcmds` の機能は不要になった
+ ので削除。
+ - pxbabel: `forcedeluxemulti` の機能で、新たに japanese-otf の
+ 「中国語・韓国語のテキスト用の多ウェイトTFM」を利用する選択肢を
+ 追加して `deluxemulti` オプションとして再編した。
+
* Version 1.3 〈2021/05/31〉
- pxbabel: japanese-otf のコード入力命令(`\UTF` 等)について、
非標準の和文エンコーディングの適用時でも動作するようにパッチを
diff --git a/macros/jptex/latex/pxbase/README.md b/macros/jptex/latex/pxbase/README.md
index 5c61ff9728..15eb95507b 100644
--- a/macros/jptex/latex/pxbase/README.md
+++ b/macros/jptex/latex/pxbase/README.md
@@ -67,6 +67,7 @@ README-ja.md).
Revision History
----------------
+ * Version 1.4 〈2023/02/25〉
* Version 1.3 〈2021/05/31〉
* Version 1.2 〈2021/05/22〉
* Version 1.1b 〈2017/07/03〉
diff --git a/macros/jptex/latex/pxbase/pxbabel.pdf b/macros/jptex/latex/pxbase/pxbabel.pdf
index 602077c000..a044940d7d 100644
--- a/macros/jptex/latex/pxbase/pxbabel.pdf
+++ b/macros/jptex/latex/pxbase/pxbabel.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxbase/pxbabel.sty b/macros/jptex/latex/pxbase/pxbabel.sty
index 1ef550c54a..4f336c5720 100644
--- a/macros/jptex/latex/pxbase/pxbabel.sty
+++ b/macros/jptex/latex/pxbase/pxbabel.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'pxbabel.sty'.
%%
-%% Copyright (c) 2008-2021 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxbabel}[2021/05/31 v1.3 PX Babel interface for CJK]
+\ProvidesPackage{pxbabel}[2023/02/25 v1.4 PX Babel interface for CJK]
\def\pxbb@pkgname{pxbabel}
%--------------------------------------- general
@@ -45,6 +45,10 @@
(You must load 'otf' package before this package.)\MessageBreak
\fi
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}}
+\bxPreamble\def\pxbb@err@ivval#1#2{%
+ \PackageError\pxbb@pkgname
+ {Invalid value for '#1': #2}%
+ {\@eha}}
%--------------------------------------- Processing package options
@@ -97,12 +101,24 @@
\bxIfExpToEqualX{\mcdefault}{mc}{}{\pxbb@stdjaencodingtrue}% default
\DeclareOption{stdjaencoding}{\pxbb@stdjaencodingtrue}
\DeclareOption{nostdjaencoding}{\pxbb@stdjaencodingfalse}
-\newbool{pxbb@patchutfcmds}\pxbb@patchutfcmdstrue
+\newbool{pxbb@patchutfcmds}
\DeclareOption{patchutfcmds}{\pxbb@patchutfcmdstrue}
\DeclareOption{nopatchutfcmds}{\pxbb@patchutfcmdsfalse}
-\newbool{pxbb@forcedeluxemulti}
-\DeclareOption{forcedeluxemulti}{\pxbb@forcedeluxemultitrue}
-\DeclareOption{noforcedeluxemulti}{\pxbb@forcedeluxemultifalse}
+\chardef\pxbb@deluxemulti@@false=0
+\chardef\pxbb@deluxemulti@@old=1
+\chardef\pxbb@deluxemulti@@new=2
+\chardef\pxbb@deluxemulti@@true=2
+\chardef\pxbb@deluxemulti\pxbb@deluxemulti@@false
+\define@key{pxbabel}{deluxemulti}[true]{%
+ \bxIfcsdef{pxbb@deluxemulti@@#1}{%
+ \letcs\pxbb@deluxemulti{pxbb@deluxemulti@@#1}%
+ }{\pxbb@err@ivval{deluxemulti}{#1}}}
+\DeclareOption{nodeluxemulti}{%
+ \chardef\pxbb@deluxemulti\pxbb@deluxemulti@@false}
+\DeclareOption{forcedeluxemulti}{%
+ \chardef\pxbb@deluxemulti\pxbb@deluxemulti@@old}
+\DeclareOption{noforcedeluxemulti}{%
+ \chardef\pxbb@deluxemulti\pxbb@deluxemulti@@false}
% (<lang_id>, +<lang_id>)
\bxPreamble\let\pxbb@last@lang\relax
\bxForEachIn\pxbb@cjk@langid@list\do{%
@@ -132,13 +148,10 @@
%% \ifpxbb@otf
%% \ifpxbb@otfmulti
-%% \ifpxbb@pxotf
\newbool{pxbb@otf}
\newbool{pxbb@otfmulti}
-\newbool{pxbb@pxotf}
\@ifpackageloaded{otf}{\pxbb@otftrue}{}
\@ifpackageloaded{mlutf}{\pxbb@otfmultitrue}{}
-\@ifpackageloaded{pxotf}{\pxbb@otfmultitrue\pxbb@pxotftrue}{}
%% \ifpxbb@otfdeluxe
\newbool{pxbb@otfdeluxe}
@@ -152,33 +165,28 @@
% The feature 'switchfont' requires multi-CJK support.
\ifpxbb@switchfont
\ifpxbb@otfmulti\else
- \ifupTeX\else
+ \ifnativeupTeX\else
\pxbb@warn@nocjk
\pxbb@switchfontfalse
\fi\fi\fi
% Check if 'patchutfcmds' is available.
-\if \ifpxbb@switchfont
- \ifupTeX
- \ifpxbb@otf
- \ifx\patchcmd\@undefined F\else T\fi
- \else F\fi
- \else F\fi
- \else F\fi F%
- \pxbb@patchutfcmdsfalse
+\ifpxbb@patchutfcmds
+ \PackageWarningNoLine\pxbb@pkgname
+ {Option 'patchutfcmds' is abolished}
\fi
-% Check if 'forcedeluxemulti' is available.
-\ifpxbb@forcedeluxemulti
- \ifupTeX\else
+% Check if 'deluxemulti' is available.
+\ifnum\pxbb@deluxemulti=\pxbb@deluxemulti@@false\else
+ \ifnativeupTeX\else
\PackageWarningNoLine\pxbb@pkgname
{Option 'forcedeluxemulti' is invalid, since\MessageBreak
- the engine is not upTeX}
- \pxbb@forcedeluxemultifalse
+ the engine is not upLaTeX}
+ \let\pxbb@deluxemulti\pxbb@deluxemulti@@false
\fi
\ifpxbb@otfmulti\else
\PackageWarningNoLine\pxbb@pkgname
{Option 'forcedeluxemulti' is invalid, since\MessageBreak
package 'otf' is not loaded with 'multi'}
- \pxbb@forcedeluxemultifalse
+ \let\pxbb@deluxemulti\pxbb@deluxemulti@@false
\fi
\fi
@@ -362,14 +370,14 @@
\fi %----</otfmulti>
-\ifupTeX %----<*upTeX>
+\ifnativeupTeX %----<*upTeX>
%% preparations
\bxRequireDefinition{pxbasenc}
\pxBDHookEncSwitchOTF
+\pxEncSwitchOTF
%% declarations for upTeX standatd CJK fonts
-\ifpxbb@pxotf\else
\pxDeclareBasicCJKEncoding{J20}{J30}% UniJIS
\pxDeclareBasicCJKFamily{J20}{!upjpnrm-h}{!upjpngt-h}{*gt}{*gt}
\pxDeclareBasicCJKFamily{J30}{!upjpnrm-v}{!upjpngt-v}{*gt}{*gt}
@@ -390,7 +398,6 @@
\pxDeclareExtraCJKFamily{#1}{\mcdefault}{*mc}{*mc}%
\pxDeclareExtraCJKFamily{#1}{\gtdefault}{*gt}{*gt}}
\endgroup
-\fi
%% declarations for upTeX + otf deluxe CJK fonts
\ifpxbb@otfdeluxe
@@ -433,7 +440,7 @@
\pxDeclareKanjiFamily{J34}{mg}
\pxDeclareBasicCJKShape{J34}{mg}{m}{!upnmlmgothrn-v}
-\ifpxbb@forcedeluxemulti
+\ifnum\pxbb@deluxemulti=\pxbb@deluxemulti@@old
% UniKS
\pxDeclareBasicCJKShape{J21}{hmc}{l}{!utfkml--h}
@@ -492,7 +499,66 @@
\pxDeclareKanjiFamily{J33}{mg}
\pxDeclareBasicCJKShape{J33}{mg}{m}{!utftmgr--v}
-\fi % pxbb@forcedeluxemulti
+\else\ifnum\pxbb@deluxemulti=\pxbb@deluxemulti@@new
+
+% UniKS
+\pxDeclareBasicCJKShape{J21}{hmc}{l}{!upnmkorminl-h}
+\pxDeclareBasicCJKShape{J21}{hmc}{m}{!upnmkorminr-h}
+\pxDeclareBasicCJKShape{J21}{hmc}{bx}{!upnmkorminb-h}
+\pxDeclareBasicCJKShape{J21}{hgt}{m}{!upnmkorgothr-h}
+\pxDeclareBasicCJKShape{J21}{hgt}{bx}{!upnmkorgothb-h}
+\pxDeclareBasicCJKShape{J21}{hgt}{eb}{!upnmkorgotheb-h}
+\pxDeclareKanjiFamily{J21}{mg}
+\pxDeclareBasicCJKShape{J21}{mg}{m}{!upnmkormgothr-h}
+
+\pxDeclareBasicCJKShape{J31}{hmc}{l}{!upnmkorminl-v}
+\pxDeclareBasicCJKShape{J31}{hmc}{m}{!upnmkorminr-v}
+\pxDeclareBasicCJKShape{J31}{hmc}{bx}{!upnmkorminb-v}
+\pxDeclareBasicCJKShape{J31}{hgt}{m}{!upnmkorgothr-v}
+\pxDeclareBasicCJKShape{J31}{hgt}{bx}{!upnmkorgothb-v}
+\pxDeclareBasicCJKShape{J31}{hgt}{eb}{!upnmkorgotheb-v}
+\pxDeclareKanjiFamily{J31}{mg}
+\pxDeclareBasicCJKShape{J31}{mg}{m}{!upnmkormgothr-v}
+
+% UniGB
+\pxDeclareBasicCJKShape{J22}{hmc}{l}{!upnmschminl-h}
+\pxDeclareBasicCJKShape{J22}{hmc}{m}{!upnmschminr-h}
+\pxDeclareBasicCJKShape{J22}{hmc}{bx}{!upnmschminb-h}
+\pxDeclareBasicCJKShape{J22}{hgt}{m}{!upnmschgothr-h}
+\pxDeclareBasicCJKShape{J22}{hgt}{bx}{!upnmschgothb-h}
+\pxDeclareBasicCJKShape{J22}{hgt}{eb}{!upnmschgotheb-h}
+\pxDeclareKanjiFamily{J22}{mg}
+\pxDeclareBasicCJKShape{J22}{mg}{m}{!upnmschmgothr-h}
+
+\pxDeclareBasicCJKShape{J32}{hmc}{l}{!upnmschminl-v}
+\pxDeclareBasicCJKShape{J32}{hmc}{m}{!upnmschminr-v}
+\pxDeclareBasicCJKShape{J32}{hmc}{bx}{!upnmschminb-v}
+\pxDeclareBasicCJKShape{J32}{hgt}{m}{!upnmschgothr-v}
+\pxDeclareBasicCJKShape{J32}{hgt}{bx}{!upnmschgothb-v}
+\pxDeclareBasicCJKShape{J32}{hgt}{eb}{!upnmschgotheb-v}
+\pxDeclareKanjiFamily{J32}{mg}
+\pxDeclareBasicCJKShape{J32}{mg}{m}{!upnmschmgothr-v}
+
+% UniCNS
+\pxDeclareBasicCJKShape{J23}{hmc}{l}{!upnmtchminl-h}
+\pxDeclareBasicCJKShape{J23}{hmc}{m}{!upnmtchminr-h}
+\pxDeclareBasicCJKShape{J23}{hmc}{bx}{!upnmtchminb-h}
+\pxDeclareBasicCJKShape{J23}{hgt}{m}{!upnmtchgothr-h}
+\pxDeclareBasicCJKShape{J23}{hgt}{bx}{!upnmtchgothb-h}
+\pxDeclareBasicCJKShape{J23}{hgt}{eb}{!upnmtchgotheb-h}
+\pxDeclareKanjiFamily{J23}{mg}
+\pxDeclareBasicCJKShape{J23}{mg}{m}{!upnmtchmgothr-h}
+
+\pxDeclareBasicCJKShape{J33}{hmc}{l}{!upnmtchminl-v}
+\pxDeclareBasicCJKShape{J33}{hmc}{m}{!upnmtchminr-v}
+\pxDeclareBasicCJKShape{J33}{hmc}{bx}{!upnmtchminb-v}
+\pxDeclareBasicCJKShape{J33}{hgt}{m}{!upnmtchgothr-v}
+\pxDeclareBasicCJKShape{J33}{hgt}{bx}{!upnmtchgothb-v}
+\pxDeclareBasicCJKShape{J33}{hgt}{eb}{!upnmtchgotheb-v}
+\pxDeclareKanjiFamily{J33}{mg}
+\pxDeclareBasicCJKShape{J33}{mg}{m}{!upnmtchmgothr-v}
+
+\fi\fi % pxbb@deluxemulti
\fi % pxbb@otfdeluxe
@@ -537,33 +603,6 @@
\fi %----</upTeX>
-%--------------------------------------- Patch to '\UTF' etc.
-\ifpxbb@patchutfcmds
-
-%% \pxbb@set@encoding
-\edef\pxbb@set@encoding{%
- \noexpand\iftdir \noexpand\kanjiencoding{\cy@encoding}%
- \noexpand\else \noexpand\kanjiencoding{\ct@encoding}%
- \noexpand\fi
-}
-
-%% apply the patch
-\@for\pxbb@tmpa:={%
- UTF,UTFK,UTFC,UTFT,UTFM,CID,CIDK,CIDC,CIDT%
-}\do{%
- \ifcsdef{\pxbb@tmpa\space}{%then
- \expandafter\patchcmd\csname \pxbb@tmpa\space\endcsname{%from
- \begingroup\edef\reserved@a
- }{%to
- \begingroup\pxbb@set@encoding\edef\reserved@a
- }{}{%failure
- \PackageWarningNoLine\pxbb@pkgname
- {Cannot patch to '\@backslashchar\pxbb@tmpa_'}%
- }%
- }{}%
-}
-
-\fi
%--------------------------------------- Other user commands
%%<*> \cjklanguagename{<lang_id>}
diff --git a/macros/jptex/latex/pxbase/pxbabel.tex b/macros/jptex/latex/pxbase/pxbabel.tex
index 3482bc161a..f2cd57f0da 100644
--- a/macros/jptex/latex/pxbase/pxbabel.tex
+++ b/macros/jptex/latex/pxbase/pxbabel.tex
@@ -16,13 +16,15 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.3}
-\newcommand{\PkgDate}{2021/05/31}
+\usepackage[verb]{bxghost}
+\newcommand{\PkgVersion}{1.4}
+\newcommand{\PkgDate}{2023/02/25}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\quad\inhibitglue}
\newcommand{\XS}{\hspace{\xkanjiskip}}
+\newcommand{\Strong}[1]{{\headfont#1}}
%-----------------------------------------------------------
\DeclareFontShape{JY2}{mc}{m}{ko}{<->s*[.924871]upkorrm-h}{}
\DeclareFontShape{JT2}{mc}{m}{ko}{<->s*[.924871]upkorrm-v}{}
@@ -82,8 +84,11 @@ Babelで指定する(|\foreignlanguage| 等の引数にする)
同じ(例えば日本語の「言語名」は|japanese|)であるが、
そうでない設定も可能である。
\item 仮想言語\Means
-Babelの言語オプション定義ファイル(|*.ldf|)の読込を伴わない
-言語のこと。
+本パッケージの動作により自動的に定義される、通常の言語オプション定義(キャプション文字列)を伴わないBabel言語のこと。\footnote{%
+つまり、言語オプション定義ファイル(|*.ldf|)の読込により定義される
+Babel言語は仮想言語ではない。
+最近のBabelでは「|ini|ファイルにより言語を定義する」という機能があるが、
+そのように定義されたBabel言語も仮想言語ではない。}
本パッケージではCJK言語を仮想言語として扱えるため、
各言語の定義ファイルを用意する必要がない。
\Note CJK言語を仮想言語にせず定義ファイルを利用することも可能。
@@ -94,8 +99,8 @@ Babelの言語オプション定義ファイル(|*.ldf|)の読込を伴わ
\label{sec:Loading}
0.9版より\Pkg{babel}パッケージと一緒に読み込む方式
-(一括読込モード)をサポートした。
-従来通り、別個に読み込む方式(分離読込モード)も可能である。
+(\Strong{一括読込モード})をサポートした。
+従来通り、別個に読み込む方式(\Strong{分離読込モード})も可能である。
どちらであるかは、\Pkg{pxbabel}読込時に\Pkg{babel}が読込済か
どうかで判別する。
@@ -116,7 +121,7 @@ Babelの言語オプション定義ファイル(|*.ldf|)の読込を伴わ
\item \Meta{CJK言語識別子}|=|\Meta{言語名}\Means
CJK言語を仮想言語として扱い、実際に使用するBabelの言語名を指定する。
\Note 詳細は\ref{sec:Commands}節を参照。
-\Note 言語名の既定値はCJK言語識別子と同一名。
+\Note 既定で用いられる言語名はCJK言語識別子と同一の文字列である。
\item \Meta{CJK言語識別子}\Means
「\Meta{CJK言語識別子}|=|\Meta{CJK言語識別子}」と同じ。
@@ -136,7 +141,7 @@ CJK言語を非仮想言語として扱い、実際に使用するBabelの言語
その言語の定義ファイルを読み込む。
\Note 分離読込モードでの非CJK言語の読込については
確実に動作させるのが困難であるため、
-1.3版において\textbf{非推奨}の扱いとする。
+1.3版において\Strong{非推奨}の扱いとする。
すなわち、分離読込モードではCJK言語のみが指定可能となり、
CJK言語以外は\texttt{babel}のオプションとして指定する必要がある。
@@ -146,8 +151,9 @@ CJK言語以外は\texttt{babel}のオプションとして指定する必要が
用いる場合、\texttt{main}に指定するのは言語名の方であることに注意。}%
で指定する。
\Note |main|の指定がない場合、
-分離読込モードでは\Pkg{babel}で最後に読まれた言語が基底言語になる。
-一括読込モードでは\Pkg{pxbabel}で最後に読まれた言語が基底言語になる。
+分離読込モードでは\Pkg{babel}の読込時に基底言語であったものが
+そのまま基底言語になる。
+一括読込モードでは\Pkg{pxbabel}で最後に読み込まれた言語が基底言語になる。
\item |caption=|\Meta{値}\Means
キャプション言語(キャプションや日付の文字列で使われる言語)の
@@ -191,30 +197,44 @@ CJK言語でフォントを切り替える機能を有効にする。
\Note \Pkg{japanese-otf}パッケージが読込済の場合には
既定が|stdjaencoding|に変更される。
-\item |forcedeluxemulti|\Means
+\item |deluxemulti=|\Meta{値}\Means
{\upLaTeX}で\Pkg{japanese-otf}パッケージを
|deluxe|オプションおよび|multi|オプション付で使用している
(|\UTFK|/|\UTFC|/|\UTFT|が多ウェイトで使える)ときに、
-日本語以外のテキストについても多ウェイトの設定を有効にする。
-\Note 本来は\XS|\UTFK|/|\UTFC|/|\UTFT|入力用である{\TeX}フォント
-(和文TFM)を使うため、約物の周りの空き調整が無効になる。
-
-\item |noforcedeluxemulti|(既定値)\Means
-|forcedeluxemulti|の否定。
-日本語以外のテキストについて多ウェイト設定を無効にする。
-\Note 約物の周りの空き調整が正常に行われる。
-\Note (|no|)|forcedeluxemulti|は試験的な機能であり、
-将来的に廃止される可能性がある。
-
-\item |patchutfcmds|(既定値)\Means
-\Pkg{japanese-otf}パッケージのコード入力命令(\XS|\UTF|命令等)
-について、「非標準の和文エンコーディングが適用される場合にも
-正常動作する」ようにパッチを適用する。
-
-\item |nopatchutfcmds|\Means
-|patchutfcmds|の否定。
-\Note (|no|)|patchutfcmds|は試験的な機能であり、
-将来的に廃止される可能性がある。
+日本語以外のCJK言語のテキストについても多ウェイトの設定を
+有効にするか否か。
+ \begin{itemize}
+ \item |new|/|true|\Means
+ {\TeX} Live 2022以降で利用可能\footnote{%
+ 当該の論理フォントが利用可能でない環境でこの設定を使用すると、
+ {\LaTeX}またはDVIウェアの実行でエラーが発生する。}%
+ になっている、中国語・韓国語のテキスト用の多ウェイトの
+ 論理フォントを使用する。
+ \item |old|\Means
+ 本来は\XS|\UTFK|/|\UTFC|/|\UTFT|入力用である
+ “単純なメトリック”の論理フォントを使用する。
+ 約物の周りの空き調整が無効になるという欠点がある。
+ \item |false|(既定値)\Means
+ 日本語以外のCJK言語は多ウェイトにしない。
+ \end{itemize}
+
+\item |deluxemulti|\Means
+|deluxemulti=new|と同じ。
+\item |nodeluxemulti|\Means
+|deluxemulti=false|と同じ。
+
+\item |forcedeluxemulti|\Means
+|deluxemulti=old|と同じ。
+\item |noforcedeluxemulti|\Means
+|deluxemulti=false|と同じ。
+\Note (|no|)|forcedeluxemulti|は\Strong{非推奨}であり、
+将来に廃止される予定である。
+
+\item (|no|)|patchutfcmds|\Means
+このオプションは何もしない。
+\Note 1.3版で試験的に設けられた機能が1.4版で削除された。
+オプション自体も将来に廃止される予定であり、
+このオプションの指定自体を\Strong{非推奨}とする。
\end{itemize}
%===========================================================
@@ -287,7 +307,7 @@ Babelにおける言語切替の指定は大別すると、入力言語のみを
特に、「日本語の文書クラスを用いて、かつBabelにおいて
仮想言語扱いの日本語を文書全体で基底言語にする」
場合は、キャプションは文書クラスで定めたものに固定される。
- 多くの場合これは好都合な動作だろう。}
+ 多くの場合これは好都合な動作だろう。}%
これによる混乱を避けるために、|caption|オプションによる
キャプション言語の固定が有用かもしれない。
diff --git a/macros/jptex/latex/pxbase/pxbase.sty b/macros/jptex/latex/pxbase/pxbase.sty
index 0078547e4f..081c78ad29 100644
--- a/macros/jptex/latex/pxbase/pxbase.sty
+++ b/macros/jptex/latex/pxbase/pxbase.sty
@@ -1,14 +1,14 @@
%%
%% This is file 'pxbase.sty'.
%%
-%% Copyright (c) 2008-2021 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
%% This package is distributed under the MIT License.
%%
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxbase}[2021/05/31 v1.3 PX base library]
+\ProvidesPackage{pxbase}[2023/02/25 v1.4 PX base library]
% The pxbase package now does the same thing as the bxbase package.
\RequirePackageWithOptions{bxbase}[2017/05/29]
\endinput
diff --git a/macros/jptex/latex/pxbase/pxbasenc.def b/macros/jptex/latex/pxbase/pxbasenc.def
index df54e082bf..0877b55be4 100644
--- a/macros/jptex/latex/pxbase/pxbasenc.def
+++ b/macros/jptex/latex/pxbase/pxbasenc.def
@@ -4,7 +4,7 @@
%% file declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxbasenc.def}[2021/05/31 v1.3 PX encoding library]
+\ProvidesFile{pxbasenc.def}[2023/02/25 v1.4 PX encoding library]
\def\pxec@pkgname{PXbase} % bundle name
%% code guards
@@ -495,20 +495,29 @@
% \UTF & \CID require the current encoding to be the standard one, thus
% they won't work well along with packages that change Japanese encoding
% (pxfontenc, pxbabel, etc.). This patch resolves this problem.
-\providecommand*\pxBDHookEncSwitchOTF{\pxec@bdhook@encswotf@do}
-\@onlypreamble\pxec@bdhook@encswotf@do
-\def\pxec@bdhook@encswotf@do{%
- \AtBeginDocument{%
+\@onlypreamble\pxBDHookEncSwitchOTF
+\providecommand*\pxBDHookEncSwitchOTF{%
+ \global\let\pxBDHookEncSwitchOTF\@empty % nullify
+ \AtBeginDocument{\pxec@encswotf@do}}
+\@onlypreamble\pxEncSwitchOTF
+\providecommand*\pxEncSwitchOTF{%
+ \pxec@encswotf@do}
+\@onlypreamble\pxec@encswotf@do
+\def\pxec@encswotf@do{%
+ \let\pxec@JYn\@undefined
\@ifpackageloaded{otf}{\let\pxec@JYn\otf@JYn}{}%
\@ifpackageloaded{utf}{\let\pxec@JYn\utf@JYn}{}%
\ifx\pxec@JYn\@undefined\else
+ \let\pxec@encswotf@do\relax
% hook at the \set@character invocation, so that encoding will
% be forced to be the standard one
\long\def\set@character{% \long, as the original is
\afterassignment\pxec@put@character\@tempcnta}%
\def\pxec@put@character{\kanjiencoding{\pxec@JYn}\put@character}%
+ \long\def\set@character@{%
+ \afterassignment\pxec@put@character@\@tempcnta}%
+ \def\pxec@put@character@{\kanjiencoding{\pxec@JYn}\put@character@}%
\fi}%
- \let\pxBDHookEncSwitchOTF\@empty}% nullify
%--------------------------------------- all done
\pxec@restore@codes
diff --git a/macros/jptex/latex/pxbase/pxjsfenc.def b/macros/jptex/latex/pxbase/pxjsfenc.def
index 52210eabec..09b2cbc898 100644
--- a/macros/jptex/latex/pxbase/pxjsfenc.def
+++ b/macros/jptex/latex/pxbase/pxjsfenc.def
@@ -4,7 +4,7 @@
%% file declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjsfenc.def}[2021/05/31 v1.3 PX JSF encoding]
+\ProvidesFile{pxjsfenc.def}[2023/02/25 v1.4 PX JSF encoding]
%% code guards
\edef\pxec@jsf@restore@codes{%
diff --git a/macros/jptex/latex/pxbase/upkcat.sty b/macros/jptex/latex/pxbase/upkcat.sty
index 721bddd2e2..d9cc8310d4 100644
--- a/macros/jptex/latex/pxbase/upkcat.sty
+++ b/macros/jptex/latex/pxbase/upkcat.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'upkcat.sty'.
%%
-%% Copyright (c) 2008-2021 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2008-2023 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -30,12 +30,12 @@
\long\def\x#1\ProvidesPackage#2[#3]{\immediate\write-1{Package: #2 #3}}
\expandafter\x
\else %<*LaTeX>
- \RequirePackage{ifuptex}[2008/03/14]\RequireupTeX
+ \RequirePackage{ifuptex}[2008/03/14]\RequireNativeupTeX
\fi %</LaTeX>
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{upkcat}[2021/05/31 v1.3 safe kcatcode access]
+\ProvidesPackage{upkcat}[2023/02/25 v1.4 safe kcatcode access]
%--------------------------------------- main
diff --git a/macros/latex/contrib/fduthesis/README.md b/macros/latex/contrib/fduthesis/README.md
index abbb1b2e8e..4f36d2bb81 100644
--- a/macros/latex/contrib/fduthesis/README.md
+++ b/macros/latex/contrib/fduthesis/README.md
@@ -1,7 +1,7 @@
The `fduthesis` Class
=====================
-*LaTeX thesis template for Fudan University, v0.8*
+*LaTeX thesis template for Fudan University, v0.9*
Overview
--------
@@ -41,7 +41,7 @@ To install `fduthesis`, you can use one of the following methods:
git clone https://github.com/stone-zeng/fduthesis.git
- Run `install-win.bat` (on Windows) or `install-linux.sh` (on Linux)
+ Run `install-win.bat` (Windows) or `install-unix.sh` (Linux or macOS)
to generate the templates and configuration files. These files would
be found in a new-created `thesis` folder. You can enjoy `fduthesis`
here at once.
@@ -78,4 +78,4 @@ version.
-----
-Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
+Copyright (C) 2017&ndash;2023 by Xiangdong Zeng <xdzeng96@gmail.com>.
diff --git a/macros/latex/contrib/fduthesis/fduthesis-code.dtx b/macros/latex/contrib/fduthesis/fduthesis-code.dtx
new file mode 100644
index 0000000000..786bbfa049
--- /dev/null
+++ b/macros/latex/contrib/fduthesis/fduthesis-code.dtx
@@ -0,0 +1,6316 @@
+% \iffalse meta-comment
+% !TeX program = XeLaTeX
+% !TeX encoding = UTF-8
+%
+% Copyright (C) 2017--2023 by Xiangdong Zeng <xdzeng96@gmail.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.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 Maintainer of this work is Xiangdong Zeng.
+%
+% This work consists of the files fduthesis.dtx,
+% fduthesis-doc.dtx,
+% fduthesis-logo.dtx,
+% and the derived files fduthesis.ins,
+% fduthesis.cls,
+% fduthesis-en.cls,
+% fduthesis.def,
+% fdudoc.cls,
+% fdulogo.sty,
+% fdulogo-example.tex,
+% fduthesis-cover.tex,
+% fduthesis-en.tex,
+% fudan-emblem.pdf,
+% fudan-emblem-new.pdf,
+% fudan-name.pdf,
+% fduthesis.pdf,
+% fduthesis-en.pdf,
+% fduthesis-code.pdf,
+% and README.md.
+%
+%<*internal>
+\iffalse
+%</internal>
+%
+%<*readme>
+The `fduthesis` Class
+=====================
+
+*LaTeX thesis template for Fudan University, v0.9*
+
+Overview
+--------
+
+This template supports doctoral or master dissertion and undergraduate
+thesis, both in Chinese or English. With the help of modern LaTeX
+technology, `fduthesis` aims to create a simple interface, a normative
+format, as well as a hackable class for the users.
+
+At present, `fduthesis` only supports XeTeX and LuaTeX engines.
+Support for pdfTeX and [ApTeX](https://github.com/clerkma/ptex-ng) is
+still under development. `fduthesis` only allows UTF-8 encoding.
+
+The documentation can be found in
+[fduthesis.pdf](http://mirrors.ctan.org/macros/latex/contrib/fduthesis/fduthesis.pdf)
+(in Chinese) or
+[fduthesis-en.pdf](http://mirrors.ctan.org/macros/latex/contrib/fduthesis/fduthesis-en.pdf)
+(in English).
+
+GitHub repository: <https://github.com/stone-zeng/fduthesis>.
+
+Installation
+------------
+
+To install `fduthesis`, you can use one of the following methods:
+
+- If you are running TeX Live, the simplest way is to run
+
+ tlmgr install fduthesis
+
+- Download
+ [fduthesis.tds.zip](http://mirror.ctan.org/install/macros/latex/contrib/fduthesis.tds.zip)
+ from CTAN, extract it in the root of one of your TDS trees, and
+ update the filename database.
+
+- Get the source from GitHub:
+
+ git clone https://github.com/stone-zeng/fduthesis.git
+
+ Run `install-win.bat` (Windows) or `install-unix.sh` (Linux or macOS)
+ to generate the templates and configuration files. These files would
+ be found in a new-created `thesis` folder. You can enjoy `fduthesis`
+ here at once.
+
+ For permanent installation, you may move the following files into a
+ directory where LaTeX will find them (e.g.
+ `TEXMF/tex/latex/fduthesis/`):
+
+ - `fduthesis.cls`
+ - `fduthesis-en.cls`
+ - `fduthesis.def`
+ - `fdudoc.cls`
+ - `fdulogo.sty`
+ - `fudan-emblem.pdf`
+ - `fudan-emblem-new.pdf`
+ - `fudan-name.pdf`
+
+ Do not forget to update the filename database afterwards.
+
+Contributing
+------------
+
+[Issues](https://github.com/stone-zeng/fduthesis/issues) and
+[pull requests](https://github.com/stone-zeng/fduthesis/pulls)
+are always welcome.
+
+License
+-------
+
+This work may be distributed and/or modified under the conditions of
+the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
+either version 1.3c of this license or (at your option) any later
+version.
+
+-----
+
+Copyright (C) 2017&ndash;2023 by Xiangdong Zeng <xdzeng96@gmail.com>.
+%</readme>
+%
+%<*internal>
+\fi
+\begingroup
+ \def\NameOfLaTeXe{LaTeX2e}
+\expandafter\endgroup\ifx\NameOfLaTeXe\fmtname\else
+\csname fi\endcsname
+%</internal>
+%
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+ Copyright (C) 2017--2023 by Xiangdong Zeng <xdzeng96@gmail.com>
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+ and version 1.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 Maintainer of this work is Xiangdong Zeng.
+
+ This work consists of the files fduthesis.dtx,
+ fduthesis-doc.dtx,
+ fduthesis-logo.dtx,
+ and the derived files fduthesis.ins,
+ fduthesis.cls,
+ fduthesis-en.cls,
+ fduthesis.def,
+ fdudoc.cls,
+ fdulogo.sty,
+ fdulogo-example.tex,
+ fduthesis-cover.tex,
+ fduthesis-en.tex,
+ fudan-emblem.pdf,
+ fudan-emblem-new.pdf,
+ fudan-name.pdf,
+ fduthesis.pdf,
+ fduthesis-en.pdf,
+ fduthesis-code.pdf,
+ and README.md.
+
+\endpreamble
+
+\generate{
+ \usedir{tex/latex/fduthesis}
+ \file{\jobname.cls} {\from{\jobname.dtx}{class}}
+ \file{\jobname-en.cls} {\from{\jobname.dtx}{class-en}}
+ \file{\jobname.def} {\from{\jobname.dtx}{definition}}
+ \file{fdudoc.cls} {\from{\jobname.dtx}{doc}
+ \from{\jobname-doc.dtx}{doc}}
+ \file{fdulogo.sty} {\from{\jobname.dtx}{logo}
+ \from{\jobname-logo.dtx}{logo}}
+ \file{fdulogo-example.tex} {\from{\jobname.dtx}{ex-logo}
+ \from{\jobname-logo.dtx}{ex-logo}}
+ \file{\jobname-cover.tex} {\from{\jobname.dtx}{cover}
+ \from{\jobname-logo.dtx}{cover}}
+%<*internal>
+ \usedir{source/latex/fduthesis}
+ \file{\jobname.ins} {\from{\jobname.dtx}{install}}
+%</internal>
+ \usedir{doc/latex/fduthesis}
+ \nopreamble\nopostamble
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* The recommended directory is TDS:tex/latex/fduthesis *}
+\Msg{* *}
+\Msg{* fduthesis.cls *}
+\Msg{* fduthesis-en.cls *}
+\Msg{* fduthesis.def *}
+\Msg{* fdudoc.cls *}
+\Msg{* fdulogo.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation, run the file fduthesis.dtx *}
+\Msg{* through XeLaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
+%</install>
+%
+%<*internal>
+\fi
+%</internal>
+%
+%<class|class-en|doc|logo>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+%<*!(driver|install|ex-logo|cover)>
+%<!readme>\GetIdInfo $Id: fduthesis.dtx 0.9 2023-02-26 12:00:00Z Xiangdong Zeng <xdzeng96@gmail.com> $
+%<class> {Thesis template for Fudan University}
+%<class>\ProvidesExplClass{\ExplFileName}
+%<class-en> {Thesis template for Fudan University (English version)}
+%<class-en>\ProvidesExplClass{\ExplFileName-en}
+%<definition> {Definition file for fduthesis}
+%<definition>\ProvidesExplFile{\ExplFileName.def}
+%<doc> {Documentation class for fduthesis}
+%<doc>\ProvidesExplClass{fdudoc}
+%<logo> {Fudan University's Visual Identity}
+%<logo>\ProvidesExplPackage{fdulogo}
+%<!readme> {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+%</!(driver|install|ex-logo|cover)>
+%<*driver>
+% \PassOptionsToPackage{showframe}{geometry}
+\documentclass{fdudoc}
+\usepackage{xeCJKfntef}
+\hypersetup{
+ pdftitle = {fduthesis: 复旦大学论文模板},
+ pdfauthor = {曾祥东}}
+% 全角标点放在引号中,需要改成半角式,否则间距过大,不好看
+\def\FSID{“{\xeCJKsetup{PunctStyle=banjiao}。}”} % U+3002
+\def\FSFW{“{\xeCJKsetup{PunctStyle=banjiao}.}”} % U+FF0E
+\def\COFW{“{\xeCJKsetup{PunctStyle=banjiao}:}”} % U+FF1A
+\def\SCFW{“{\xeCJKsetup{PunctStyle=banjiao};}”} % U+FF1B
+%^^A! \PassOptionsToPackage{scheme=plain, linespread=1.1}{ctex}
+%^^A! \documentclass{fdudoc}
+%^^A! \hypersetup{
+%^^A! pdftitle = {fduthesis: LaTeX Thesis Template for Fudan University},
+%^^A! pdfauthor = {Xiangdong Zeng}}
+%^^A! \ctexset{
+%^^A! section = {name = {}, format+ = \raggedright},
+%^^A! subsubsection/tocline = {\CTEXnumberline{#1}#2}}
+%^^A! \pagestyle{headings}
+%^^A! \def\FSID{{\xeCJKsetup{PunctStyle=banjiao}。}}
+%^^A! \def\FSFW{{\xeCJKsetup{PunctStyle=banjiao}.}}
+%^^A!
+
+\title{\textcolor{MaterialIndigo800}{\textbf{fduthesis: 复旦大学论文模板}}}
+\author{曾祥东}
+\date{2023/02/26\quad v0.9%
+ \thanks{\url{https://github.com/stone-zeng/fduthesis}.}}
+%^^A! \title{\textcolor{MaterialIndigo800}{%
+%^^A! \textbf{The \textsf{fduthesis} Class \\
+%^^A! \LaTeX{} Thesis Template for Fudan University}}}
+%^^A! \author{Xiangdong Zeng}
+%^^A! \date{2023/02/26\quad v0.9%
+%^^A! \thanks{\url{https://github.com/stone-zeng/fduthesis}.}}
+%^^A!
+
+\begin{document}
+%^^A! \begin{document}
+%^^A!
+ \DisableImplementation
+ \EnableImplementation
+ \def\FDUCODEDOC{}
+ \DocInput{fduthesis.dtx}
+ \DocInput{fduthesis-doc.dtx,fduthesis-logo.dtx}
+ \IndexLayout
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \changes{v0.1}{2017/02/15}{开始编写模板。}
+% \changes{v0.2}{2017/02/19}{使用 Git 进行版本控制,并发布至 GitHub。}
+% \changes{v0.3}{2017/02/21}{使用 \cls{doc} 和 \pkg{DocStrip}。}
+% \changes{v0.3}{2017/03/04}{支持 \LuaLaTeX{}。}
+% \changes{v0.3}{2017/03/20}{添加测试文件。}
+% \changes{v0.3}{2017/05/26}{使用 Travis CI 进行持续集成。}
+% \changes{v0.3}{2017/06/23}{添加复旦大学视觉识别系统。}
+% \changes{v0.3}{2017/07/05}{新增声明页。}
+% \changes{v0.3}{2017/07/10}{添加英文模板。}
+% \changes{v0.3}{2017/07/19}{使用 \pkg{l3docstrip} 管理名字空间。}
+% \changes{v0.3}{2017/07/28}{整理代码,编写用户文档。}
+% \changes{v0.4}{2017/08/03}{拆分 \file{.dtx} 文件。}
+% \changes{v0.4}{2017/08/11}{添加错误信息提示。}
+% \changes{v0.6}{2017/11/23}{同步 \pkg{ctex} v2.4.11。}
+% \changes{v0.6}{2017/11/29}{添加英文版用户文档。}
+% \changes{v0.7}{2018/01/26}{使用 \pkg{l3build} 进行回归测试。}
+% \changes{v0.7}{2018/01/31}{不再需要 \file{fduthesis-user.def}。}
+% \changes{v0.7}{2018/03/04}{所有选项更改为用连字符隔开的形式。}
+% \changes{v0.7a}{2018/04/09}{更新文档,发布至 CTAN。}
+% \changes{v0.7b}{2018/04/29}{支持 \TeXLive{} 2018。}
+% \changes{v0.7b}{2018/05/06}{将校名、校徽图片添加至发行版。}
+%
+%^^A 禁止使用 " 符号作为抄录文本缩略符
+% \DeleteShortVerb\"
+%^^A! \DeleteShortVerb\"
+%^^A!
+%
+%^^A 封面与目录的页边距
+%^^A+
+% \newgeometry{
+% left = 1.25 in,
+% right = 1.25 in,
+% top = 1.25 in,
+% bottom = 1.00 in
+% }
+%
+% \maketitle
+% \vfill
+% \begin{center}
+% \includegraphics[width=8cm]{../logo/fduthesis-cover.pdf}
+% \end{center}
+% \vfill
+% \thispagestyle{plain}
+% \clearpage
+%
+% \tableofcontents
+%
+%^^A-
+%
+% \EnableDocumentation
+%^^A \DisableDocumentation
+%
+% \begin{documentation}
+%
+%^^A 用户手册的页边距
+%^^A+
+% \newgeometry{
+% left = 1.65 in,
+% right = 0.80 in,
+% top = 1.25 in,
+% bottom = 1.00 in
+% }
+%
+%^^A-
+%
+% \section{介绍}
+%^^A! \section{Introduction}
+%^^A!
+%
+% 本模板编写之初,可以找到的复旦大学 \LaTeX{} 论文模板有以下这些:
+% \begin{itemize}
+% \item 数学科学学院的本科毕业论文模版 \cite{数院本科毕业论文写作模板},主要贡献者为 2001 级的
+% 何力同学、李湛同学和 2004 级的张越同学;
+% \item Pandoxie 编写的 \cls{FDU-Thesis-Latex} \cite{pandoxie2014fduthesislatex},基本满足了博士
+% (硕士)毕业论文格式要求,在当时使用人数较多;
+% \item richarddzh 编写的硕士论文模板 \cls{fudan-thesis} \cite{richard2016fudanthesis}。
+% \end{itemize}
+% 以上模板大都没有经过系统的设计,也缺乏后续维护。相比之下,清华大学 \cite{thuthesis}、
+% 北京大学 \cite{pkuthss}、重庆大学 \cite{cquthesis}、中国科学技术大学 \cite{ustcthesis}、
+% 中国科学院大学 \cite{ucasthesis} 以及友校上海交通大学 \cite{sjtuthesis} 等,都有较为成熟、稳定
+% 的解决方案,也积累了广泛的用户基础,值得参考与借鉴。
+%
+% 考虑到开发与持续维护的需要,本模板使用 \LaTeX3 \cite{source3} 语法编写。同时将构建一套简洁的
+% 接口,以方便用户使用。
+%^^A! \cls{fduthesis} is a thesis template for Fudan University.
+%^^A! This template is mostly written in \LaTeX3 syntax, and
+%^^A! provides a simple interface for users.
+%^^A!
+%
+% \subsection*{\LaTeX{} 入门}
+%^^A! \subsection*{Getting started with \LaTeX{}}
+%^^A!
+%
+% 本文档不是一份 \LaTeX{} 零基础教程。如果缺乏使用 \LaTeX{} 的经验,建议先阅读有关入门文档,如
+% 刘海洋编著的《\LaTeX{} 入门》\cite{刘海洋2013latex入门} 第一章,或“\pkg{lshort}” \cite{lshort}
+% 及其中文翻译版 \cite{lshort-zh-cn}。当然,网络上的 \LaTeX{} 教程数量甚多,也可自行选取。
+%^^A! This documentation is \emph{not} a \LaTeX{} tutorial at
+%^^A! starter's level. If you are totally a newbie, please read some
+%^^A! introductions like the famous \pkg{lshort}. Of course, there
+%^^A! are countless \LaTeX{} tutorials on the Internet. You can
+%^^A! choose whatever you like.
+%^^A!
+%
+% \subsection*{关于本文档}
+%^^A! \subsection*{About this documentation}
+%^^A!
+%
+% 本文档采用不同字体表示不同内容。无衬线字体表示宏包名称,如 \pkg{xeCJK} 宏包、\cls{fduthesis}
+% 文档类等;等宽字体表示代码或文件名,如 \cs{fdusetup} 命令、\env{abstract} 环境、\TeX{} 文档
+% \file{thesis.tex} 等;带有尖括号的楷体(或西文斜体)表示命令参数,如 \meta{模板选项}、
+% \meta{English title} 等。在使用时,参数两侧的尖括号不必输入。示例代码进行了语法高亮处理,
+% 以方便阅读。
+%^^A! In this documentation, different typefaces are used to
+%^^A! represent different contents. Packages and classes are shown
+%^^A! in sans-serif font, e.g.\ \pkg{xeCJK} package and
+%^^A! \cls{fduthesis} class. Commands and file names are shown in
+%^^A! monospaced font, e.g.\ command \cs{fdusetup}, environment
+%^^A! \env{abstract} and \TeX{} document \file{thesis.tex}.
+%^^A! Italic-shaped font with angle brackets outside means arguments,
+%^^A! e.g.\ \meta{English title}. However, you do not need to type
+%^^A! the brackets when using these commands. The example code has
+%^^A! proper syntax highlighting so it will be much easier to read.
+%^^A!
+%
+% 在用户手册中,带有蓝色侧边线的为 \LaTeX{} 代码,而带有粉色侧边线的则为命令行代码,请注意区分。
+% 模板提供的选项、命令、环境等,均列在左边栏并用横线框起,同时给出使用语法和相关说明。
+%^^A! \LaTeX{} code lines will have a blue line on their left, while
+%^^A! for command lines there will be a pink line. The options,
+%^^A! commands and environments in \cls{fduthesis} will be surrounded
+%^^A! by two horizontal lines. Their usages and descriptions are
+%^^A! provided at the same time.
+%^^A!
+%
+% 本模板中的选项、命令或环境可以分为以下三类:
+% \begin{itemize}
+% \item 名字后面带有 \rexptarget\rexpstar{} 的,表示只能在\emph{中文模板}中使用;
+% \item 名字后面带有 \exptarget\expstar{} 的,表示只能在\emph{英文模板}中使用;
+% \item 名字后面不带有特殊标记的,表示既可以在中文模板中使用,也可以在英文模板中使用。
+% \end{itemize}
+%^^A! The options, commands and environments in \cls{fduthesis} can be
+%^^A! divided into the following three types:
+%^^A! \begin{itemize}
+%^^A! \item Those can be only used in \emph{Chinese templates} are
+%^^A! indicated by \rexptarget\rexpstar{}.
+%^^A! \item Those can be only used in \emph{English templates} are
+%^^A! indicated by \rexptarget\expstar{}.
+%^^A! \item If they do not have marks afterwards, then you can use
+%^^A! them in both Chinese and English templates.
+%^^A! \end{itemize}
+%^^A!
+%
+% \section{安装}
+%^^A! \section{Installation}
+%^^A!
+%
+% \subsection{获取 \cls{fduthesis}}
+%^^A! \subsection{Obtaining \cls{fduthesis}}
+%^^A!
+%
+% \subsubsection{标准安装}
+%^^A! \subsubsection{Standard installation}
+%^^A!
+%
+% 如果没有特殊理由,始终建议使用宏包管理器安装 \cls{fduthesis}。例如在 \TeXLive{} 中,执行(可能
+% 需要管理员权限)
+% \begin{shellexample}[morekeywords={tlmgr,install}]
+% tlmgr install fduthesis
+% \end{shellexample}
+% 即可完成安装。如果已经装有完整版的 \TeXLive{},则 \cls{fduthesis} 应当已经包含在其中,此时即可
+% 直接使用,也可以执行
+% \begin{shellexample}[morekeywords={tlmgr,update},emph={--all}]
+% tlmgr update --all
+% \end{shellexample}
+% 检查并更新全部宏包。
+%^^A! If there are no special reasons, it is always recommended to
+%^^A! install \cls{fduthesis} with a package manager. For example,
+%^^A! the following command will install the package in \TeXLive{}
+%^^A! (administrator permission may be required):
+%^^A! \begin{shellexample}[morekeywords={tlmgr,install}]
+%^^A! tlmgr install fduthesis
+%^^A! \end{shellexample}
+%^^A!
+%
+% 在 \TeXLive{} 和 \MiKTeX{} 中,还可以通过图形界面进行安装和更新,此处不再赘述。
+%^^A! In \TeXLive{} and \MiKTeX{}, you can also install \cls{fduthesis}
+%^^A! through a graphical interface. It's rather simple and will not be
+%^^A! described here.
+%^^A!
+%
+% \subsubsection{手动安装}
+%^^A! \subsubsection{Install manually}
+%^^A!
+%
+% 如果需要从 CTAN 上自行下载并手动安装,可使用 TDS 安装包:
+% \begin{itemize}
+% \item 从 CTAN 上下载 \cls{fduthesis} 的
+% \href{https://mirror.ctan.org/install/macros/latex/contrib/fduthesis.tds.zip}{TDS 安装包};
+% \item 按目录结构将 \file{fduthesis.tds.zip} 中的文件复制到 \TeX{} 发行版的本地 TDS 根目录;
+% \item 执行 \texttt{mktexlsr} 命令刷新文件名数据库以完成安装。
+% \end{itemize}
+%^^A! If you want to download the template from CTAN and install it
+%^^A! manually, the recommended way is to use the TDS ZIP file:
+%^^A! \begin{itemize}
+%^^A! \item Download the \href{http://mirror.ctan.org/install/macros/latex/contrib/fduthesis.tds.zip}%
+%^^A! {TDS ZIP file} for \cls{fduthesis};
+%^^A! \item Copy all the files in \file{fduthesis.tds.zip} into the
+%^^A! local TDS directory of \TeX{} distribution.
+%^^A! \item Run \texttt{mktexlsr} to update the ls-R database.
+%^^A! \end{itemize}
+%^^A
+%
+% \subsubsection{开发版本}
+%^^A! \subsubsection{Development version}
+%^^A!
+%
+% CTAN 上仅提供了 \cls{fduthesis} 的稳定版,其更新可能较为滞后,一些 bug 常常不能得到及时修复。
+% 如果需要使用开发版(托管在 GitHub 上),可以使用模板提供的安装脚本:
+% \begin{itemize}
+% \item 打开 \href{https://github.com/stone-zeng/fduthesis}{项目主页},点击“Code”按钮,并选择
+% “Download ZIP”,下载 \file{fduthesis-main.zip};如果已经装有 Git 程序,也可通过以下命令直接
+% 克隆代码仓库:
+% \begin{shellexample}[gobble=7,alsoletter={.},morekeywords={git,clone}]
+% git clone https://github.com/stone-zeng/fduthesis.git
+% \end{shellexample}
+% \item 执行 \file{install-win.bat}(Windows 系统)或 \file{install-unix.sh}(Linux 或 macOS
+% 系统),所有需要的文件便会在 \file{thesis} 文件夹中生成。
+% \end{itemize}
+%^^A! On CTAN, only the stable version of \cls{fduthesis} is provided, where new features and
+%^^A! bug fixes may not be included in time. To use the latest development version on GitHub,
+%^^A! you can use the install script:
+%^^A! \begin{itemize}
+%^^A! \item Open the project's \href{https://github.com/stone-zeng/fduthesis}{homepage}, click
+%^^A! ``Code'' button and choose ``Download ZIP'' to download \file{fduthesis-main.zip}.
+%^^A! If you have git program on your computer, you can also clone the repository directly:
+%^^A! \begin{shellexample}[gobble=5,alsoletter={.},morekeywords={git,clone}]
+%^^A! git clone https://github.com/stone-zeng/fduthesis.git
+%^^A! \end{shellexample}
+%^^A! \item Run \file{install-win.bat} (Windows) or \file{install-unix.sh} (Linux or macOS),
+%^^A! all the necessary files will be found in the \file{thesis} folder then.
+%^^A! \end{itemize}
+%^^A!
+%
+% \subsubsection{Overleaf}
+%^^A! \subsubsection{Overleaf}
+%^^A!
+%
+% \cls{fduthesis} 也提供了 \href{https://www.overleaf.com/latex/templates/fduthesis-latex-thesis-template-for-fudan-university/svtdhhstkmkt}{Overleaf 的版本},
+% 打开链接并登录后即可直接编辑。
+%^^A! \cls{fduthesis} also provides the \href{https://www.overleaf.com/latex/templates/fduthesis-latex-thesis-template-for-fudan-university/svtdhhstkmkt}{Overleaf version}.
+%^^A! You can follow the link and login to edit directly on the web.
+%^^A!
+%
+% \subsection{模板组成}
+%^^A! \subsection{Composition of the template}
+%^^A!
+%
+% 本模板主要包含核心文档类、配置文件、附属宏包以及用户文档等几个部分,其具体组成见
+% 表~\ref{tab:fduthesis-components}。
+%^^A! There are several parts in \cls{fduthesis}, including kernel template
+%^^A! classes, configuration files, affiliated packages and user's guides.
+%^^A! More details are listed in table~\ref{tab:fduthesis-components}.
+%^^A!
+%
+% \begin{table}[ht]
+% \caption{\cls{fduthesis} 的主要组成部分}
+% \label{tab:fduthesis-components}
+% \centering
+% \small
+% \begin{tabular}{ll}
+% \toprule
+% \textbf{文件} & \textbf{功能说明} \\
+% \midrule
+% \file{fduthesis.cls} & 中文模板文档类 \\
+% \file{fduthesis-en.cls} & 英文模板文档类 \\
+% \file{fduthesis.def} & 参数配置文件,用于设定初始参数,不建议自行改动 \\
+% \file{fdudoc.cls} & 用户手册文档类 \\
+% \file{fdulogo.sty} & 复旦大学视觉识别系统 \\
+% \file{fudan-emblem.pdf} & 校徽 \\
+% \file{fudan-emblem-new.pdf} & 校徽(重修版) \\
+% \file{fudan-name.pdf} & 校名图片 \\
+% \file{README.md} & 简要自述 \\
+% \ifdefined\FDUCODEDOC
+% \file{fduthesis.pdf} & 中文用户手册 \\
+% \file{fduthesis-en.pdf} & 英文用户手册 \\
+% \file{fduthesis-code.pdf} & 模板实现代码(本文档) \\
+% \else
+% \file{fduthesis.pdf} & 中文用户手册(本文档) \\
+% \file{fduthesis-en.pdf} & 英文用户手册 \\
+% \file{fduthesis-code.pdf} & 模板实现代码 \\
+% \fi
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%^^A! \begin{table}[ht]
+%^^A! \caption{The main components of \cls{fduthesis}}
+%^^A! \label{tab:fduthesis-components}
+%^^A! \centering
+%^^A! \begin{tabular}{lp{24em}}
+%^^A! \toprule
+%^^A! \textbf{Files} & \textbf{Descriptions} \\
+%^^A! \midrule
+%^^A! \file{fduthesis.cls} & Document class for Chinese thesis. \\
+%^^A! \file{fduthesis-en.cls} & Document class for English thesis.\\
+%^^A! \file{fduthesis.def} & Configuration parameters file
+%^^A! for \cls{fduthesis}. Please do \emph{not} modify it. \\
+%^^A! \file{fdudoc.cls} & Document class for user guides. \\
+%^^A! \file{fdulogo.sty} & Fudan University's visual identity. \\
+%^^A! \file{fudan-emblem.pdf} & University emblem. \\
+%^^A! \file{fudan-emblem-new.pdf} & University emblem (revised version). \\
+%^^A! \file{fudan-name.pdf} & Figure of university name. \\
+%^^A! \file{README.md} & The brief introduction. \\
+%^^A! \file{fduthesis.pdf} & User's guide in Chinese. \\
+%^^A! \file{fduthesis-en.pdf} & User's guide in English (this
+%^^A! document). \\
+%^^A! \file{fduthesis-code.pdf} & Code implementation. \\
+%^^A! \bottomrule
+%^^A! \end{tabular}
+%^^A! \end{table}
+%^^A!
+%
+% \section{使用说明}
+%^^A! \section{User's guide}
+%^^A!
+%
+% \subsection{基本用法}
+%^^A! \subsection{Getting started}
+%^^A!
+%
+% 以下是一份简单的 \TeX{} 文档,它演示了 \cls{fduthesis} 的最基本用法:
+%^^A! Here is a minimal \TeX{} file for \cls{fduthesis}:
+%^^A+
+% \begin{latexexample}[deletetexcs={\documentclass},
+% moretexcs={\chapter},morekeywords={\documentclass},
+% emph={[2]document}]
+% % thesis.tex
+% \documentclass{fduthesis}
+% \begin{document}
+% \chapter{欢迎}
+% \section{Welcome to fduthesis!}
+% 你好,\LaTeX{}!
+% \end{document}
+% \end{latexexample}
+%^^A-
+%^^A!
+%
+% 按照 \ref{subsec:编译方式}~小节中的方式编译该文档,您应当得到
+% 一篇 5 页的文章。当然,这篇文章的绝大部分都是空白的。
+%^^A! Compile this file under the instructions in
+%^^A! subsection~\ref{subsec:compilation}, you will get a 5-page article.
+%^^A! Of course, most of it will be blank, as you may predicate.
+%^^A!
+%
+% 英文模板可以用类似的方式使用:
+%^^A! The English version can be used in the same way:
+%^^A+
+% \begin{latexexample}[deletetexcs={\documentclass},
+% moretexcs={\chapter},morekeywords={\documentclass},
+% emph={[2]document}]
+% % thesis-en.tex
+% \documentclass{fduthesis-en}
+% \begin{document}
+% \chapter{Welcome}
+% \section{Welcome to fduthesis!}
+% Hello, \LaTeX{}!
+% \end{document}
+% \end{latexexample}
+%^^A-
+% 英文模板只对正文部分进行了改动,封面、指导小组成员以及声明页仍将
+% 显示为中文。
+%^^A! The differences between English and Chinese version only
+%^^A! live in the main body. Thesis cover, instructors list and
+%^^A! declaration page are still printed in Chinese.
+%^^A!
+%
+% \subsection{编译方式} \label{subsec:编译方式}
+%^^A! \subsection{Compilation} \label{subsec:compilation}
+%^^A!
+%
+% 本模板不支持 \pdfTeX{} 引擎,请使用 \XeLaTeX{} 或 \LuaLaTeX{}
+% 编译。推荐使用 \XeLaTeX{}。为了生成正确的目录、脚注以及交叉引用,
+% 您至少需要连续编译两次。
+%^^A! \cls{fduthesis} does NOT support \pdfTeX{}. Please use
+%^^A! \XeLaTeX{} or \LuaLaTeX{} to compile, and \XeLaTeX{} is
+%^^A! recommended. To get the correct table of contents, footnotes
+%^^A! and cross-references, you need to compile the source file at
+%^^A! least twice.
+%^^A!
+%
+% 以下代码中,假设您的 \TeX{} 源文件名为 \file{thesis.tex}。
+% 使用 \XeLaTeX{} 编译论文,请在命令行中执行
+% \begin{shellexample}[morekeywords={xelatex}]
+% xelatex thesis
+% xelatex thesis
+% \end{shellexample}
+% 或使用 \pkg{latexmk}:
+% \begin{shellexample}[morekeywords={latexmk},emph={-xelatex}]
+% latexmk -xelatex thesis
+% \end{shellexample}
+%^^A! In the following example, suppose your \TeX{} source file is
+%^^A! \file{thesis.tex}. Please execute the following commands if
+%^^A! you want to use \XeLaTeX{}:
+%^^A! \begin{shellexample}[morekeywords={xelatex}]
+%^^A! xelatex thesis
+%^^A! xelatex thesis
+%^^A! \end{shellexample}
+%^^A! You can use \pkg{latexmk} as well:
+%^^A! \begin{shellexample}[morekeywords={latexmk},emph={-xelatex}]
+%^^A! latexmk -xelatex thesis
+%^^A! \end{shellexample}
+%^^A!
+%
+% 使用 \LuaLaTeX{} 编译论文,请在命令行中执行
+% \begin{shellexample}[morekeywords={lualatex}]
+% lualatex thesis
+% lualatex thesis
+% \end{shellexample}
+% 或者
+% \begin{shellexample}[morekeywords={latexmk},emph={-lualatex}]
+% latexmk -lualatex thesis
+% \end{shellexample}
+%^^A! \LuaLaTeX{} can be used in a similar way:
+%^^A! \begin{shellexample}[morekeywords={lualatex}]
+%^^A! lualatex thesis
+%^^A! lualatex thesis
+%^^A! \end{shellexample}
+%^^A! or
+%^^A! \begin{shellexample}[morekeywords={latexmk},emph={-lualatex}]
+%^^A! latexmk -lualatex thesis
+%^^A! \end{shellexample}
+%^^A!
+%
+% \subsection{模板选项}
+%^^A! \subsection{Options of the template}
+%^^A!
+%
+% 所谓“模板选项”,指需要在引入文档类的时候指定的选项:
+% \begin{latexexample}[deletetexcs={\documentclass},
+% morekeywords={\documentclass}]
+% \documentclass(*\oarg{模板选项}*){fduthesis}
+% \documentclass(*\oarg{模板选项}*){fduthesis-en}
+% \end{latexexample}
+%^^A! You can specify some \emph{template options} when loading
+%^^A! \cls{fduthesis}:
+%^^A! \begin{latexexample}[deletetexcs={\documentclass},
+%^^A! morekeywords={\documentclass}]
+%^^A! \documentclass(*\oarg{options}*){fduthesis}
+%^^A! \documentclass(*\oarg{options}*){fduthesis-en}
+%^^A! \end{latexexample}
+%^^A!
+%
+% 有些模板选项为布尔型,它们只能在 \opt{true} 和 \opt{false}
+% 中取值。对于这些选项,\kvopt{\meta{选项}}{true} 中的“|= true|”
+% 可以省略。
+%^^A! Some options are \emph{boolean} --- they only take the value
+%^^A! \opt{true} or \opt{false}. For these options, you can
+%^^A! abbreviate ``\kvopt{\meta{option}}{true}'' simply to
+%^^A! ``\opt{\meta{option}}''.
+%^^A!
+%
+%^^A+
+% \begin{function}[added=2018-02-01]{type}
+% \begin{fdusyntax}[emph={[1]type}]
+% type = (*<doctor|master|(bachelor)>*)
+% \end{fdusyntax}
+%^^A-
+% 选择论文类型。三种选项分别代表博士学位论文、硕士学位论文和本科
+% 毕业论文。
+% \end{function}
+%^^A! Choose the type of your thesis. The three options represent
+%^^A! doctoral dissertation, master degree thesis and undergraduate
+%^^A! thesis, respectively.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{oneside,twoside}
+% 指明论文的单双面模式,默认为 \opt{twoside}。该选项会影响每章
+% 的开始位置,还会影响页眉样式。
+% \end{function}
+%^^A! \begin{function}{oneside,twoside}
+%^^A! Specify whether single or double sided output should be
+%^^A! generated. \opt{twoside} will be chosen by default. These
+%^^A! option will determine where the new chapters begin and how
+%^^A! the headers display. The option \opt{twoside} does
+%^^A! \emph{not} tell the printer to actually make a two-sided
+%^^A! printout.
+%^^A! \end{function}
+%^^A!
+%
+% 在双面模式(\opt{twoside})下,按照通常的排版惯例,每章应只从
+% 奇数页(在右)开始;而在单页模式(\opt{oneside})下,则可以从
+% 任意页面开始。本模板中,目录、摘要、符号表等均视作章,也按相同
+% 方式排版。
+%^^A! If choosing \opt{twoside}, chapters will begin at the odd pages
+%^^A! (right hand). However, they will begin at arbitrary pages
+%^^A! available when choosing \opt{oneside}. Table of contents,
+%^^A! abstract and the list of symbols are considered as chapters and
+%^^A! processed in the same way.
+%^^A!
+%
+% 双面模式下,正文部分偶数页(在左)的左页眉显示章标题,奇数页
+% (在右)的右页眉显示节标题;前置部分的页眉按同样格式显示,但文字
+% 均为对应标题(如“目录”、“摘要”等)。
+% 而在单面模式下,正文部分则页面不分奇偶,均同时显示左、右页眉,
+% 文字分别为章标题和节标题;前置部分只有中间页眉,显示对应标题。
+%^^A! At two-sided mode, left headers on the even pages (left hand)
+%^^A! in \emph{main body} will show the title of chapters, while the
+%^^A! right headers on the odd pages (right hand) will show the
+%^^A! title of sections. Headers in \emph{front matter} have the
+%^^A! same style, but they will only show the title as ``Contents'',
+%^^A! ``Abstract'', etc.
+%^^A!
+%^^A! At one-sided mode, both left and right headers on \emph{all}
+%^^A! pages in main body will be shown. The text is the title of
+%^^A! chapters and sections, respectively. In front matter, there
+%^^A! are only middle headers, which show the corresponding titles.
+%^^A!
+%
+% \begin{function}{draft}
+% \begin{fdusyntax}[emph={[1]draft}]
+% draft = (*<\TFF>*)
+% \end{fdusyntax}
+% 选择是否开启草稿模式,默认关闭。
+% \end{function}
+%^^A! \begin{function}{draft}
+%^^A! \begin{fdusyntax}[emph={[1]draft}]
+%^^A! draft = (*<\TFF>*)
+%^^A! \end{fdusyntax}
+%^^A! Enable draft mode. Default off.
+%^^A! \end{function}
+%^^A!
+%
+% 草稿模式为全局选项,会影响到很多宏包的工作方式。
+% 开启之后,主要的变化有:
+% \begin{itemize}
+% \item 把行溢出的盒子显示为黑色方块;
+% \item 不实际插入图片,只输出一个占位方框;
+% \item 关闭超链接渲染,也不再生成 PDF 书签;
+% \item 显示页面边框。
+% \end{itemize}
+%^^A! \opt{draft} is a global option and will affect many packages.
+%^^A! You may notice the following changes when using \opt{draft}:
+%^^A! \begin{itemize}
+%^^A! \item Lines with overfull \tn{hbox}'s will be marked with
+%^^A! a thick black square on the right margin.
+%^^A! \item Will not include graphics files actually, but instead
+%^^A! print a box of the size the graphic would take up, as well
+%^^A! as the file name.
+%^^A! \item Will not make hyperlinks and PDF bookmarks.
+%^^A! \item Show the page frames.
+%^^A! \end{itemize}
+%^^A!
+%
+% \begin{function}[added=2018-01-31]{config}
+% \begin{fdusyntax}[emph={[1]config}]
+% config = (*\marg{文件}*)
+% \end{fdusyntax}
+% 用户配置文件的文件名。默认为空,即不载入用户配置文件。
+% \end{function}
+%^^A! \begin{function}[added=2018-01-31]{config}
+%^^A! \begin{fdusyntax}[emph={[1]config}]
+%^^A! config = (*\marg{file}*)
+%^^A! \end{fdusyntax}
+%^^A! File name of user profile. Default value is empty, so no
+%^^A! profile is loaded automatically.
+%^^A! \end{function}
+%^^A!
+%
+% \subsection{参数设置}
+%^^A! \subsection{More options}
+%^^A!
+%
+% \begin{function}{\fdusetup}
+% \begin{fdusyntax}[morekeywords={\fdusetup}]
+% \fdusetup(*\marg{键值列表}*)
+% \end{fdusyntax}
+% 本模板提供了一系列选项,可由您自行配置。载入文档类之后,以下
+% 所有选项均可通过统一的命令 \cs{fdusetup} 来设置。
+% \end{function}
+%^^A! \begin{function}{\fdusetup}
+%^^A! \begin{fdusyntax}[morekeywords={\fdusetup}]
+%^^A! \fdusetup(*\marg{key-value list}*)
+%^^A! \end{fdusyntax}
+%^^A! \cls{fduthesis} has provided a number of options, which
+%^^A! can be given via the general command \cs{fdusetup}.
+%^^A! \end{function}
+%^^A!
+%
+% \cs{fdusetup} 的参数是一组由(英文)逗号隔开的选项列表,列表中的
+% 选项通常是 \kvopt{\meta{key}}{\meta{value}} 的形式。部分选项的
+% \meta{value} 可以省略。对于同一项,后面的设置将会覆盖前面的设置。
+% 在下文的说明中,将用\textbf{粗体}表示默认值。
+%^^A! The argument of \cs{fdusetup} is a set of comma-separated option list.
+%^^A! The options usually have the form of \kvopt{\meta{key}}{\meta{value}}
+%^^A! and in some cases \meta{value} can be omitted.
+%^^A! For the same option, the values given later will override the
+%^^A! the previous ones. Default values are indicated in
+%^^A! \textbf{boldface} in the following descriptions.
+%^^A!
+%
+% \cs{fdusetup} 采用 \LaTeX3 风格的键值设置,支持不同类型以及多种
+% 层次的选项设定。键值列表中,“|=|”左右的空格不影响设置;但需注意,
+% 参数列表中不可以出现空行。
+%^^A! \cs{fdusetup} follows \LaTeX3 key-value style, and different
+%^^A! types as well as various levels options are supported. In the
+%^^A! key-value list, spaces around ``|=|'' will be trimmed; however,
+%^^A! blank lines should never appear in the argument.
+%^^A!
+%
+% 与模板选项相同,布尔型的参数可以省略 \kvopt{\meta{选项}}{true}
+% 中的“\kvopt{}{true}”。
+%^^A! Similar with template options, ``\kvopt{\meta{option}}{true}''
+%^^A! can be abbreviated to \opt{\meta{option}} for boolean type.
+%^^A!
+%
+% 另有一些选项包含子选项,如 \opt{style} 和 \opt{info} 等。它们可以
+% 按如下两种等价方式来设定:
+%^^A! Some options, such as \opt{style} and \opt{info}, may have
+%^^A! sub-options. They can be set by the following two equivalent
+%^^A! methods:
+%^^A+
+% \begin{latexexample}[morekeywords={\fdusetup},
+% emph={[1]style,cjk-font,font-size,info,title,title*,author,author*,department}]
+% \fdusetup{
+% style = {cjk-font = adobe, font-size = -4},
+% info = {
+% title = {论动体的电动力学},
+% title* = {On the Electrodynamics of Moving Bodies},
+% author = {阿尔伯特·爱因斯坦},
+% author* = {Albert Einstein},
+% department = {物理学系}
+% }
+% }
+% \end{latexexample}
+%^^A-
+% 或者
+%^^A! or
+%^^A+
+% \begin{latexexample}[morekeywords={\fdusetup},
+% emph={[1]style,cjk-font,font-size,info,title,title*,author,author*,department}]
+% \fdusetup{
+% style/cjk-font = adobe,
+% style/font-size = -4,
+% info/title = {论动体的电动力学},
+% info/title* = {On the Electrodynamics of Moving Bodies},
+% info/author = {阿尔伯特·爱因斯坦},
+% info/author* = {Albert Einstein},
+% info/department = {物理学系}
+% }
+% \end{latexexample}
+%^^A-
+%^^A!
+%
+% 注意 “|/|” 的前后均不可以出现空白字符。
+%^^A! Note that you may \emph{not} put spaces around ``|/|''.
+%^^A!
+%
+% \subsubsection{论文格式} \label{subsubsec:论文格式}
+%^^A! \subsubsection{Style and format} \label{subsubsec:style-and-format}
+%^^A!
+%
+% \begin{function}{style}
+% \begin{fdusyntax}[emph={[1]style}]
+% style = (*\marg{键值列表}*)
+% style/(*\meta{key}*) = (*\meta{value}*)
+% \end{fdusyntax}
+% 该选项包含许多子项目,用于设置论文格式。具体内容见下。
+% \end{function}
+%^^A! \begin{function}{style}
+%^^A! \begin{fdusyntax}[emph={[1]style}]
+%^^A! style = (*\marg{key-value list}*)
+%^^A! style/(*\meta{key}*) = (*\meta{value}*)
+%^^A! \end{fdusyntax}
+%^^A! This general option is for setting the thesis style and format.
+%^^A! See the following details.
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \begin{function}[updated=2019-03-05]{style/font}
+% \begin{fdusyntax}[emph={[1]font}]
+% font = (*<garamond|libertinus|lm|palatino|(times)|times*|none>*)
+% \end{fdusyntax}
+%^^A-
+% 设置西文字体(包括数学字体)。具体配置见表~\ref{tab:font}。
+% \end{function}
+%^^A! Set fonts (including math fonts). The details can be found in table~\ref{tab:font}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{table}[ht]
+% \centering
+% \begin{threeparttable}
+% \caption{西文字体配置}
+% \label{tab:font}
+% \small
+% \begin{tabular}{ccccc}
+% \toprule
+% & \textbf{正文字体} & \textbf{无衬线字体} & \textbf{等宽字体} & \textbf{数学字体} \\
+% \midrule
+% |garamond| & EB Garamond & Libertinus Sans & LM Mono\tnote{a} & Garamond Math \\
+% |libertinus| & Libertinus Serif & Libertinus Sans & LM Mono & Libertinus Math \\
+% |lm| & LM Roman & LM Sans & LM Mono & LM Math \\
+% |palatino| & TG Pagella\tnote{b} & Libertinus Sans & LM Mono & TG Pagella Math \\
+% |times| & XITS & TG Heros & TG Cursor & XITS Math \\
+% |times*|\tnote{c} & Times New Roman & Arial & Courier New & XITS Math \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+% \item[a] “LM”是 Latin Modern 的缩写。
+% \item[b] “TG”是 TeX Gyre 的缩写。
+% \item[c] 本行中,Times New Roman、Arial 和 Courier New 是商业字体,
+% 不包含在 \TeXLive{} 发行版中,但在 Windows 和 macOS 系统上均默认安装。
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%^^A! \begin{table}[ht]
+%^^A! \begin{threeparttable}
+%^^A! \caption{Font configuration}
+%^^A! \label{tab:font}
+%^^A! \centering
+%^^A! \begin{tabular}{ccccc}
+%^^A! \toprule
+%^^A! & \textbf{Roman} & \textbf{Sans-serif} & \textbf{Monospaced} & \textbf{Math} \\
+%^^A! \midrule
+%^^A! |garamond| & EB Garamond & Libertinus Sans & LM Mono\tnote{a} & Garamond Math \\
+%^^A! |libertinus| & Libertinus Serif & Libertinus Sans & LM Mono & Libertinus Math \\
+%^^A! |lm| & LM Roman & LM Sans & LM Mono & LM Math \\
+%^^A! |palatino| & TG Pagella\tnote{b} & Libertinus Sans & LM Mono & TG Pagella Math \\
+%^^A! |times| & XITS & TG Heros & TG Cursor & XITS Math \\
+%^^A! |times*|\tnote{c} & Times New Roman & Arial & Courier New & XITS Math \\
+%^^A! \bottomrule
+%^^A! \end{tabular}
+%^^A! \begin{tablenotes}
+%^^A! \item[a] ``LM'' is the abbreviation of Latin Modern.
+%^^A! \item[b] ``TG'' is the abbreviation of TeX Gyre.
+%^^A! \item[c] Here, Times New Roman, Arial and Courier New are commercial fonts. They are
+%^^A! installed on Windows and macOS by default.
+%^^A! \end{tablenotes}
+%^^A! \end{threeparttable}
+%^^A! \end{table}
+%
+%^^A+
+% \begin{function}[rEXP,updated=2019-03-05]{style/cjk-font}
+% \begin{fdusyntax}[emph={[1]cjk-font}]
+% cjk-font = (*<adobe|(fandol)|founder|mac|sinotype|sourcehan|windows|none>*)
+% \end{fdusyntax}
+%^^A-
+% 设置中文字体。具体配置见表~\ref{tab:cjk-font}。
+% \end{function}
+%^^A! Set CJK (Chinese, Japanese and Korean) fonts. The details can be found in
+%^^A! table~\ref{tab:cjk-font}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{table}[ht]
+% \caption{中文字体配置}
+% \label{tab:cjk-font}
+% \centering
+% \small
+% \begin{tabular}{ccccc}
+% \toprule
+% & \textbf{正文字体(宋体)} & \textbf{无衬线字体(黑体)} & \textbf{等宽字体(仿宋)} & \textbf{楷体} \\
+% \midrule
+% |adobe| & Adobe 宋体 & Adobe 黑体 & Adobe 仿宋 & Adobe 楷体 \\
+% |fandol| & Fandol 宋体 & Fandol 黑体 & Fandol 仿宋 & Fandol 楷体 \\
+% |founder| & 方正书宋 & 方正黑体 & 方正仿宋 & 方正楷体 \\
+% |mac| & (华文)宋体-简 & (华文)黑体-简 & 华文仿宋 & (华文)楷体-简 \\
+% |sinotype| & 华文宋体 & 华文黑体 & 华文仿宋 & 华文楷体 \\
+% |sourcehan| & 思源宋体 & 思源黑体 & --- & --- \\
+% |windows| & (中易)宋体 & (中易)黑体 & (中易)仿宋 & (中易)楷体 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%^^A! \begin{table}[ht]
+%^^A! \caption{CJK font configuration}
+%^^A! \label{tab:cjk-font}
+%^^A! \centering
+%^^A! \begin{tabular}{cccc}
+%^^A! \toprule
+%^^A! & \textbf{Roman (song)} & \textbf{Sans-serif (hei)} & \textbf{Monospaced (fang)} \\
+%^^A! \midrule
+%^^A! |adobe| & Adobe Song Std & Adobe Heiti Std & Adobe Fangsong Std \\
+%^^A! |fandol| & FandolSong & FandolHei & FandolFang \\
+%^^A! |founder| & FZShuSong-Z01 & FZHei-B01 & FZFangSong-Z02 \\
+%^^A! |mac| & Songti SC & Heiti SC & STFangsong \\
+%^^A! |sinotype| & STSong & STHeiti & STFangsong \\
+%^^A! |sourcehan| & Source Han Serif SC & Source Han Sans SC & --- \\
+%^^A! |windows| & SimSun & SimHei & FangSong \\
+%^^A! \bottomrule
+%^^A! \end{tabular}
+%^^A! \end{table}
+%^^A!
+%
+% 启用 \kvopt{font}{none} 或 \kvopt{cjk-font}{none} 之后,模板将关闭
+% 默认西文 / 中文字体设置。此时,您需要自行使用 \cs{setmainfont}、
+% \cs{setCJKmainfont}、\cs{setmathfont} 等命令来配置字体。
+%^^A! When you choose \kvopt{font}{none} or \kvopt{cjk-font}{none},
+%^^A! \cls{fduthesis} will disable the default western/CJK font
+%^^A! settings. You may use \cs{setmainfont}, \cs{setCJKmainfont}
+%^^A! and \cs{set\-math\-font}, etc.\ to configure the fonts manually.
+%^^A!
+%
+%^^A+
+% \begin{function}{style/font-size}
+% \begin{fdusyntax}[emph={[1]font-size}]
+% font-size = (*<(-4)|5>*)
+% \end{fdusyntax}
+%^^A-
+% 设置论文的基础字号。
+% \end{function}
+%^^A! Specify the basic font size in your thesis.
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \begin{function}[rEXP,updated=2017-10-14]{style/fullwidth-stop}
+% \begin{fdusyntax}[emph={[1]fullwidth-stop}]
+% fullwidth-stop = (*<catcode|mapping|(false)>*)
+% \end{fdusyntax}
+%^^A-
+% 选择是否把全角实心句点\FSFW 作为默认的句号形状。
+% 这种句号一般用于科技类文章,以避免与下标“$_o$”或“$_0$”混淆。
+% \end{function}
+%^^A! Let full-width full stop ``\FSFW'' as the default full stop.
+%^^A! Generally, this punctuation is used for scientific articles,
+%^^A! where ``\FSID'' is easily to be confused with subscript
+%^^A! ``$_o$'' or ``$_0$''.
+%^^A! \end{function}
+%^^A!
+%
+% 选择 \kvopt{fullwidth-stop}{catcode} 或 \opt{mapping} 后,都会实现上述效果。
+% 有所不同的是,在选择 \opt{catcode} 后,只有\emph{显式的}\FSID 会被替换
+% 为\FSFW;但在选择 \opt{mapping} 后,\emph{所有的}\FSID 都会被替换。例如,
+% 如果您用宏保存了一些含有\FSID 的文字,那么在选择 \opt{catcode} 时,其中
+% 的\FSID 不会将被替换为\FSFW。
+%^^A! If you choose \kvopt{fullwidth-stop}{catcode}, only
+%^^A! \emph{explicit} ``\FSID'' will be replaced by ``\FSFW''; when
+%^^A! choosing \kvopt{fullwidth-stop}{mapping}, however, \emph{all}
+%^^A! the ``\FSID'' will be replaced.
+%^^A!
+%
+% 选项 \kvopt{fullwidth-stop}{mapping} 只在 \XeTeX{} 下有效。使用
+% \LuaTeX{} 编译时,该选项相当于 \kvopt{fullwidth-stop}{catcode}。
+%^^A! \opt{mapping} is valid only under \XeTeX{}. When compiling
+%^^A! with \LuaTeX{}, it is equivalent to \opt{catcode}.
+%^^A!
+%
+% 如果您在选择 \kvopt{fullwidth-stop}{mapping} 后仍需要临时显示\FSID,
+% 可以按如下方法操作:
+% \begin{latexexample}[moretexcs={\CJKfontspec},emph={[1]Mapping}]
+% % 请使用 XeTeX 编译
+% % 外侧的花括号表示分组
+% 这是一个句号{\CJKfontspec{(*\meta{字体名}*)}[Mapping=full-stop]。}
+% \end{latexexample}
+%^^A! If you want to display ``\FSID'' temporarily after setting
+%^^A! \kvopt{fullwidth-stop}{mapping}, the following code snippet
+%^^A! will be helpful:
+%^^A! \begin{latexexample}[moretexcs={\CJKfontspec},emph={[1]Mapping}]
+%^^A! % Compiled with XeTeX
+%^^A! % The outside braces is used for group
+%^^A! 这是一个句号{\CJKfontspec{(*\meta{font name}*)}[Mapping=full-stop]。}
+%^^A! \end{latexexample}
+%^^A!
+%
+% \begin{function}{style/footnote-style}
+%^^A 这里奇怪的东西是用来控制对齐的。fdusyntax 会吃掉开头的几个
+%^^A 空格,因此这里用 . 来占位。
+% \begin{fdusyntax}[emph={[1]footnote-style}]
+% footnote-style = (*<plain|\\
+% ......\mbox{}~~~~~~~~~~~~~~~~~libertinus|libertinus*|libertinus-sans|\\
+% ......\mbox{}~~~~~~~~~~~~~~~~~pifont|pifont*|pifont-sans|pifont-sans*|\\
+% ......\mbox{}~~~~~~~~~~~~~~~~~xits|xits-sans|xits-sans*>*)
+% \end{fdusyntax}
+% 设置脚注编号样式。西文字体设置会影响其默认取值(见
+% 表~\ref{tab:footnote-font})。因此,要使得该选项生效,需将其
+% 放置在 \opt{font} 选项之后。带有 |sans| 的为相应的无衬线字体
+% 版本;带有 |*| 的为阴文样式(即黑底白字)。
+% \end{function}
+%^^A! \begin{function}{style/footnote-style}
+%^^A! \begin{fdusyntax}[emph={[1]footnote-style}]
+%^^A! footnote-style = (*<plain|\\
+%^^A! ....\mbox{}~~~~~~~~~~~~~~~~~libertinus|libertinus*|libertinus-sans|\\
+%^^A! ....\mbox{}~~~~~~~~~~~~~~~~~pifont|pifont*|pifont-sans|pifont-sans*|\\
+%^^A! ....\mbox{}~~~~~~~~~~~~~~~~~xits|xits-sans|xits-sans*>*)
+%^^A! \end{fdusyntax}
+%^^A! Set the style of footnote numbers. Note that western fonts
+%^^A! will affect its default value (see table~\ref{tab:footnote-font}),
+%^^A! so you may put it after |font| option. The one with |sans|
+%^^A! is for the corresponding sans-serif version, while |*|
+%^^A! for white on black version.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{table}[ht]
+% \caption{西文字体与脚注编号样式默认值的对应关系}
+% \label{tab:footnote-font}
+% \centering
+% \small
+% \begin{tabular}{ccccc}
+% \toprule
+% \textbf{西文字体设置} &
+% |libertinus| & |lm| & |palatino| & |times| \\
+% \midrule
+% \textbf{脚注编号样式默认值} &
+% |libertinus| & |pifont| & |pifont| & |xits| \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%^^A! \begin{table}[ht]
+%^^A! \caption{Relationship between option \opt{font} and the
+%^^A! default value of \opt{footnote-style}}
+%^^A! \label{tab:footnote-font}
+%^^A! \centering
+%^^A! \begin{tabular}{ccccc}
+%^^A! \toprule
+%^^A! \textbf{Western fonts settings} &
+%^^A! |libertinus| & |lm| & |palatino| & |times| \\
+%^^A! \midrule
+%^^A! \textbf{Default value of footnote number style} &
+%^^A! |libertinus| & |pifont| & |pifont| & |xits| \\
+%^^A! \bottomrule
+%^^A! \end{tabular}
+%^^A! \end{table}
+%^^A!
+%
+%^^A+
+% \begin{function}[added=2017-08-13]{style/hyperlink}
+% \begin{fdusyntax}[emph={[1]hyperlink}]
+% hyperlink = (*<border|(color)|none>*)
+% \end{fdusyntax}
+%^^A-
+% 设置超链接样式。\opt{border} 表示在超链接四周绘制方框;
+% \opt{color} 表示用彩色显示超链接;\opt{none} 表示没有特殊装饰,
+% 可用于生成最终的打印版文稿。
+% \end{function}
+%^^A! Set the style of hyperlinks. \opt{border} draws borders around
+%^^A! hyperlinks; \opt{color} displays hyperlinks in colorful text;
+%^^A! \opt{none} leads to plain text, which is useful when printing
+%^^A! the final document.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2017-08-13,updated=2021-12-27]{style/hyperlink-color}
+% \begin{fdusyntax}[emph={[1]hyperlink-color}]
+% hyperlink-color = (*<(default)|classic|material|graylevel|prl>*)
+% \end{fdusyntax}
+% 设置超链接颜色。该选项在 \kvopt{hyperlink}{none} 时无效。
+% 各选项所代表的颜色见表~\ref{tab:hyperlink-color}。
+% \end{function}
+%^^A! \begin{function}[added=2017-08-13,updated=2021-12-27]{style/hyperlink-color}
+%^^A! \begin{fdusyntax}[emph={[1]hyperlink-color}]
+%^^A! hyperlink-color = (*<(default)|classic|material|graylevel|prl>*)
+%^^A! \end{fdusyntax}
+%^^A! Set the color of hyperlinks. It is invalid if
+%^^A! \kvopt{hyperlink}{none}. The related colors can be found
+%^^A! in table~\ref{tab:hyperlink-color}.
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \begin{table}[ht]
+% \centering
+% \small
+%^^A-
+% \newcommand\linkcolorexam[3]{^^A
+% {\small 图~\textcolor[HTML]{#1}{1-2},
+% (\textcolor[HTML]{#1}{3.4})~式} &
+% {\small \textcolor[HTML]{#2}{\texttt{https://g.cn}}} &
+% {\small 文献~[\textcolor[HTML]{#3}{1}],
+% (\textcolor[HTML]{#3}{Knuth~1986})}}
+%^^A! \newcommand\linkcolorexam[3]{%
+%^^A! {\small Fig.~\textcolor[HTML]{#1}{1-2},
+%^^A! Eq.~(\textcolor[HTML]{#1}{3.4})} &
+%^^A! {\small \textcolor[HTML]{#2}{\texttt{http://g.cn}}} &
+%^^A! {\small Ref.~[\textcolor[HTML]{#3}{1}],
+%^^A! (\textcolor[HTML]{#3}{Knuth~1986})}}
+% \begin{threeparttable}
+% \caption{预定义的超链接颜色方案}
+% \label{tab:hyperlink-color}
+%^^A! \begin{threeparttable}
+%^^A! \caption{Pre-defined hyperlink color schemes}
+%^^A! \label{tab:hyperlink-color}
+% \begin{tabular}{c*{3}{>{\hspace{0.2cm}}c<{\hspace{0.2cm}}}}
+% \toprule
+% \textbf{选项} & \textbf{链接} & \textbf{URL} & \textbf{引用} \\
+%^^A! \begin{tabular}{c*{3}{>{\hspace{0.2cm}}c<{\hspace{0.2cm}}}}
+%^^A! \toprule
+%^^A! \textbf{Options} & \textbf{Cross references} & \textbf{URL} & \textbf{Citation} \\
+%^^A+
+% \midrule
+% \opt{default} & \linkcolorexam{990000}{0000B2}{007F00} \\
+% \opt{classic} & \linkcolorexam{FF0000}{0000FF}{00FF00} \\
+% \opt{material}\tnote{a} & \linkcolorexam{E91E63}{009688}{4CAF50} \\
+% \opt{graylevel}\tnote{a} & \linkcolorexam{616161}{616161}{616161} \\
+% \opt{prl}\tnote{b} & \linkcolorexam{2D3092}{2D3092}{2D3092} \\
+% \bottomrule
+% \end{tabular}
+% \begin{tablenotes}
+%^^A-
+% \item[a] 取自 Material 色彩方案
+% (见 \url{https://material.io/guidelines/style/color.html})。
+% \item[b] \textit{Physical Review Letter} 杂志配色。
+%^^A! \item[a] Material Design color palette
+%^^A! (See \url{https://material.io/guidelines/style/color.html}).
+%^^A! \item[b] \textit{Physical Review Letter} magazine.
+%^^A+
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}
+%^^A-
+%^^A!
+%
+%^^A+
+% \begin{function}[added=2018-01-25]{style/bib-backend}
+% \begin{fdusyntax}[emph={[1]bib-backend}]
+% bib-backend = (*<bibtex|biblatex>*)
+% \end{fdusyntax}
+%^^A-
+% 选择参考文献的支持方式。选择 \opt{bibtex} 后,将使用 \BibTeX{}
+% 处理文献,样式由 \pkg{natbib} 宏包负责;选择 \opt{biblatex} 后,
+% 将使用 \biber{} 处理文献,样式则由 \pkg{biblatex} 宏包负责。
+% \end{function}
+%^^A! Specify the backend or driver of bibliography processing.
+%^^A! \BibTeX{} and \pkg{natbib} package will be used if you choose
+%^^A! \opt{bibtex}, while \biber{} and \pkg{biblatex} will be used
+%^^A! if you choose \opt{biblatex}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2017-10-28,updated=2018-01-25]{style/bib-style}
+% \begin{fdusyntax}[emph={[1]bib-style}]
+% bib-style = (*<author-year|(numerical)|\meta{其他样式}>*)
+% \end{fdusyntax}
+% 设置参考文献样式。\opt{author-year} 和 \opt{numerical} 分别对应
+% 国家标准 GB/T 7714--2015 \cite{gb-t-7714-2015} 中的著者—出版年制和
+% 顺序编码制。选择 \meta{其他样式} 时,如果 \kvopt{bib-backend}{bibtex},
+% 需保证相应的 \file{.bst} 格式文件能被调用;而如果
+% \kvopt{bib-backend}{biblatex},则需保证相应的 \file{.bbx} 格式文件
+% 能被调用。
+% \end{function}
+%^^A! \begin{function}[added=2017-10-28,updated=2018-01-25]{style/bib-style}
+%^^A! \begin{fdusyntax}[emph={[1]bib-style}]
+%^^A! bib-style = (*<author-year|(numerical)|\meta{other style}>*)
+%^^A! \end{fdusyntax}
+%^^A! Set the style of bibliography. \opt{author-year} and
+%^^A! \opt{numerical} will follow the standard GB/T 7714--2015.
+%^^A! By setting \kvopt{bib-style}{\meta{other style}}, you can use
+%^^A! other bibliography style (\file{.bst} file for
+%^^A! \kvopt{bib-backend}{bibtex} and \file{.bbx} file for
+%^^A! \kvopt{bib-backend}{biblatex}). Suffix is not needed.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2018-01-25]{style/cite-style}
+% \begin{fdusyntax}[emph={[1]cite-style}]
+% cite-style = (*\marg{引用样式}*)
+% \end{fdusyntax}
+% 选择引用格式。默认为空,即与参考文献样式(著者—出版年制或顺序
+% 编码制)保持一致。如果手动填写,需保证相应的 \file{.cbx} 格式文件
+% 能被调用。该选项在 \kvopt{bib-backend}{bibtex} 时无效。
+% \end{function}
+%^^A! \begin{function}[added=2018-01-25]{style/cite-style}
+%^^A! \begin{fdusyntax}[emph={[1]cite-style}]
+%^^A! cite-style = (*\marg{style}*)
+%^^A! \end{fdusyntax}
+%^^A! Select citation style. Default value is empty, which means
+%^^A! the citation style will follow your bibliography style
+%^^A! (author-year or numeric). If you want change the citation
+%^^A! style, the corresponding \file{.cbx} file must be available.
+%^^A! This option is invalid when \kvopt{bib-backend}{bibtex}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2018-01-25]{style/bib-resource}
+% \begin{fdusyntax}[emph={[1]bib-resource}]
+% bib-resource = (*\marg{文件}*)
+% \end{fdusyntax}
+% 参考文献数据源。可以是单个文件,也可以是用英文逗号隔开的一组文件。
+% 如果 \kvopt{bib-backend}{biblatex},则必须明确给出 \file{.bib}
+% 后缀名。
+% \end{function}
+%^^A! \begin{function}[added=2018-01-25]{style/bib-resource}
+%^^A! \begin{fdusyntax}[emph={[1]bib-resource}]
+%^^A! bib-resource = (*\marg{bib file\symbol{"28}s\symbol{"29}}*)
+%^^A! \end{fdusyntax}
+%^^A! Specify the bibliography database (usually in \file{.bib}
+%^^A! format). If using more than one files, the file names should
+%^^A! be separated with comma. When \kvopt{bib-backend}{biblatex},
+%^^A! you must type in the ``\file{.bib}'' suffix.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2017-08-10]{style/logo}
+% \begin{fdusyntax}[emph={[1]logo}]
+% logo = (*\marg{文件}*)
+% \end{fdusyntax}
+% 封面中校名图片的文件名。默认值为 \file{fudan-name.pdf}。
+% \end{function}
+%^^A! \begin{function}[added=2017-08-10]{style/logo}
+%^^A! \begin{fdusyntax}[emph={[1]logo}]
+%^^A! logo = (*\marg{file}*)
+%^^A! \end{fdusyntax}
+%^^A! File name of the logo in thesis cover. Default value is
+%^^A! \file{fudan-name.pdf}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2017-08-10]{style/logo-size}
+% \begin{fdusyntax}[emph={[1]logo-size}]
+% logo-size = (*\marg{宽度}*)
+% logo-size = {(*\meta{宽度}*), (*\meta{高度}*)}
+% \end{fdusyntax}
+% 校名图片的大小。默认仅指定了宽度,为 |0.5\textwidth|\/。
+% 如果仅需指定高度,可在 \meta{宽度} 处填入一个空的分组 |{}|。
+% \end{function}
+%^^A! \begin{function}[added=2017-08-10]{style/logo-size}
+%^^A! \begin{fdusyntax}[emph={[1]logo-size}]
+%^^A! logo-size = (*\marg{width}*)
+%^^A! logo-size = {(*\meta{width}*), (*\meta{height}*)}
+%^^A! \end{fdusyntax}
+%^^A! Size of the logo. By default, only width is set to
+%^^A! |0.5\textwidth|. To set height only, you can put an
+%^^A! empty group ``|{}|'' at \meta{width}.
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \begin{function}[added=2017-07-06]{style/auto-make-cover}
+% \begin{fdusyntax}[emph={[1]auto-make-cover}]
+% auto-make-cover = (*<\TTF>*)
+% \end{fdusyntax}
+%^^A-
+% 是否自动生成论文封面(封一)、指导小组成员名单(封二)和
+% 声明页(封三)。封面中的各项信息,可通过 \cs{fdusetup} 录入,
+% 具体请参阅 \ref{subsubsec:信息录入}~节。
+% \end{function}
+%^^A! Whether generate thesis cover, list of instructors (inside
+%^^A! front cover) and declaration page (inside back cover)
+%^^A! automatically. Entries in the cover can be specified also
+%^^A! via \cs{fdusetup}, and you can find more details in
+%^^A! subsubsection~\ref{subsubsec:information}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2021-09-21]{style/declaration-page}
+% \begin{fdusyntax}[emph={[1]declaration-page}]
+% declaration-page = (*\marg{文件}*)
+% \end{fdusyntax}
+% 插入扫描版的声明页 PDF 文档。如果为空(默认),则使用模板预定义的声明页。
+% \end{function}
+%^^A! \begin{function}[added=2021-09-21]{style/declaration-page}
+%^^A! \begin{fdusyntax}[emph={[1]declaration-page}]
+%^^A! declaration-page = (*\marg{file}*)
+%^^A! \end{fdusyntax}
+%^^A! Insert the scanned declaration page PDF file. If empty (default),
+%^^A! then the pre-defined declaration page will be inserted.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{\makecoveri,\makecoverii,\makecoveriii}
+% 用于手动生成论文封面、指导小组成员名单和声明页。这几个命令不能
+% 确保页码的正确编排,因此除非必要,您应当始终使用自动生成的封面。
+% \end{function}
+%^^A! \begin{function}{\makecoveri,\makecoverii,\makecoveriii}
+%^^A! For generating thesis cover, list of instructors and
+%^^A! declaration page manually. These commands cannot guarantee
+%^^A! the correct page numbers, hence you should always use the
+%^^A! auto-generated thesis cover unless necessary.
+%^^A! \end{function}
+%^^A!
+%
+% \subsubsection{信息录入} \label{subsubsec:信息录入}
+%^^A! \subsubsection{Personal information} \label{subsubsec:information}
+%^^A!
+%
+% \begin{function}{info}
+% \begin{fdusyntax}[emph={[1]info}]
+% info = (*\marg{键值列表}*)
+% info/(*\meta{key}*) = (*\meta{value}*)
+% \end{fdusyntax}
+% 该选项包含许多子项目,用于录入论文信息。具体内容见下。以下带“|*|”
+% 的项目表示对应的英文字段。
+% \end{function}
+%^^A! \begin{function}{info}
+%^^A! \begin{fdusyntax}[emph={[1]info}]
+%^^A! info = (*\marg{key-value list}*)
+%^^A! info/(*\meta{key}*) = (*\meta{value}*)
+%^^A! \end{fdusyntax}
+%^^A! This general option is for entering your personal information.
+%^^A! See the following details. Note that options with ``|*|'' are
+%^^A! the corresponding English items.
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \begin{function}[added=2018-02-01,updated=2019-03-12]{info/degree}
+% \begin{fdusyntax}[emph={[1]degree}]
+% degree = (*<(academic)|professional>*)
+% \end{fdusyntax}
+%^^A-
+% 学位类型,仅适用于博士和硕士学位论文。\opt{academic} 和 \opt{professional}
+% 分别表示学术学位和专业学位。
+% \end{function}
+%^^A! Degree type. This option can only be used in master degree
+%^^A! thesis.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/title,info/title*}
+% \begin{fdusyntax}[emph={[1]title,title*}]
+% title = (*\marg{中文标题}*)
+% title* = (*\marg{英文标题}*)
+% \end{fdusyntax}
+% 论文标题。默认会在约 20 个汉字字宽处强制断行,但为了语义的
+% 连贯以及排版的美观,如果您的标题长于一行,建议使用“|\\|”
+% 手动断行。
+% \end{function}
+%^^A! \begin{function}{info/title,info/title*}
+%^^A! \begin{fdusyntax}[emph={[1]title,title*}]
+%^^A! title = (*\marg{title in Chinese}*)
+%^^A! title* = (*\marg{title in English}*)
+%^^A! \end{fdusyntax}
+%^^A! Title of your thesis. The line width is about \qty{30}{em} by
+%^^A! default, but you may break it with |\\| manually.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/author,info/author*}
+% \begin{fdusyntax}[emph={[1]author,author*}]
+% author = (*\marg{姓名}*)
+% author* = (*\marg{英文姓名(或拼音)}*)
+% \end{fdusyntax}
+% 作者姓名。
+% \end{function}
+%^^A! \begin{function}{info/author,info/author*}
+%^^A! \begin{fdusyntax}[emph={[1]author,author*}]
+%^^A! author = (*\marg{name in Chinese}*)
+%^^A! author* = (*\marg{name in English \lparen or Pinyin\rparen}*)
+%^^A! \end{fdusyntax}
+%^^A! Author's name.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/supervisor}
+% \begin{fdusyntax}[emph={[1]supervisor}]
+% supervisor = (*\marg{姓名}*)
+% \end{fdusyntax}
+% 导师姓名。
+% \end{function}
+%^^A! \begin{function}{info/supervisor}
+%^^A! \begin{fdusyntax}[emph={[1]supervisor}]
+%^^A! supervisor = (*\marg{name}*)
+%^^A! \end{fdusyntax}
+%^^A! Supervisor's name.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/department}
+% \begin{fdusyntax}[emph={[1]department}]
+% department = (*\marg{名称}*)
+% \end{fdusyntax}
+% 院系名称。
+% \end{function}
+%^^A! \begin{function}{info/department}
+%^^A! \begin{fdusyntax}[emph={[1]department}]
+%^^A! department = (*\marg{name}*)
+%^^A! \end{fdusyntax}
+%^^A! Name of the department.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/major}
+% \begin{fdusyntax}[emph={[1]major}]
+% major = (*\marg{名称}*)
+% \end{fdusyntax}
+% 专业名称。
+% \end{function}
+%^^A! \begin{function}{info/major}
+%^^A! \begin{fdusyntax}[emph={[1]major}]
+%^^A! major = (*\marg{name}*)
+%^^A! \end{fdusyntax}
+%^^A! Name of the major.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/student-id}
+% \begin{fdusyntax}[emph={[1]student-id}]
+% student-id = (*\marg{数字}*)
+% \end{fdusyntax}
+% 作者学号。
+% \end{function}
+%^^A! \begin{function}{info/student-id}
+%^^A! \begin{fdusyntax}[emph={[1]student-id}]
+%^^A! student-id = (*\marg{number}*)
+%^^A! \end{fdusyntax}
+%^^A! Author's student ID.
+%^^A! \end{function}
+%^^A!
+%
+% 复旦大学学号共 11 位,前两位为入学年份,之后一位为学生类型
+% 代码(博士生为 1,硕士生为 2,本科生为 3),接下来的五位为
+% 专业代码,最后三位为顺序号。
+%^^A! In Fudan University, student ID has 11 digits. The first two
+%^^A! are the year of attendance; next one represents the student's
+%^^A! type (1 for doctor, 2 for master and 3 for bachelor); the
+%^^A! following five digits are major ID while the last three are
+%^^A! serial number.
+%^^A!
+%
+% \begin{function}{info/school-id}
+% \begin{fdusyntax}[emph={[1]school-id}]
+% school-id = (*\marg{数字}*)
+% \end{fdusyntax}
+% 学校代码。默认值为 10246(这是复旦大学的学校代码)。
+% \end{function}
+%^^A! \begin{function}{info/school-id}
+%^^A! \begin{fdusyntax}[emph={[1]school-id}]
+%^^A! school-id = (*\marg{number}*)
+%^^A! \end{fdusyntax}
+%^^A! School ID. Default value is 10246 (school ID of Fudan University).
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/date}
+% \begin{fdusyntax}[emph={[1]date}]
+% date = (*\marg{日期}*)
+% \end{fdusyntax}
+% 论文完成日期。默认值为文档编译日期(\tn{today})。
+% \end{function}
+%^^A! \begin{function}{info/date}
+%^^A! \begin{fdusyntax}[emph={[1]date}]
+%^^A! date = (*\marg{date}*)
+%^^A! \end{fdusyntax}
+%^^A! Finish date of your thesis. Default value is the compilation
+%^^A! date (\tn{today}).
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \begin{function}[added=2017-07-04]{info/secret-level}
+% \begin{fdusyntax}[emph={[1]secret-level}]
+% secret-level = (*<(none)|i|ii|iii>*)
+% \end{fdusyntax}
+%^^A-
+% 密级。\opt{i}、\opt{ii}、\opt{iii} 分别表示秘密、机密、绝密;
+% \opt{none} 表示论文不涉密,即不显示密级与保密年限。
+% \end{function}
+%^^A! Secret level. \opt{i}, \opt{ii} and \opt{iii} means
+%^^A! ``秘密'' (secret), ``机密'' (confidential) and ``绝密''
+%^^A! (top secret) respectively. \opt{none} means your thesis is
+%^^A! not secret-related and secret level and year will not be
+%^^A! shown.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2017-07-04]{info/secret-year}
+% \begin{fdusyntax}[emph={[1]secret-year}]
+% secret-year = (*\marg{年限}*)
+% \end{fdusyntax}
+% 保密年限。建议您使用中文,如“五年”。该选项在设置
+% \kvopt{secret-level}{none} 时无效。
+% \end{function}
+%^^A! \begin{function}[added=2017-07-04]{info/secret-year}
+%^^A! \begin{fdusyntax}[emph={[1]secret-year}]
+%^^A! secret-year = (*\marg{year}*)
+%^^A! \end{fdusyntax}
+%^^A! Secret year. It's recommended to use Chinese word as ``五年''
+%^^A! (5 years) here. This option is invalid if you have set
+%^^A! \kvopt{secret-level}{none}.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/instructors}
+% \begin{fdusyntax}[emph={[1]instructors}]
+% instructors = (*\marg{成员 1, 成员 2, ...}*)
+% \end{fdusyntax}
+% 指导小组成员。各成员之间需使用英文逗号隔开。为防止歧义,
+% 可以用分组括号“|{...}|”把各成员字段括起来。
+% \end{function}
+%^^A! \begin{function}{info/instructors}
+%^^A! \begin{fdusyntax}[emph={[1]instructors}]
+%^^A! instructors = (*\marg{member 1, member 2, ...}*)
+%^^A! \end{fdusyntax}
+%^^A! Instructors' name. Each name should be separated with
+%^^A! comma. To disambiguate, you may put text containing comma
+%^^A! into a group ``|{...}|''.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/keywords,info/keywords*}
+% \begin{fdusyntax}[emph={[1]keywords,keywords*}]
+% keywords = (*\marg{中文关键字}*)
+% keywords* = (*\marg{英文关键字}*)
+% \end{fdusyntax}
+% 关键字列表。各关键字之间需使用英文逗号隔开。为防止歧义,
+% 可以用分组括号“|{...}|”把各字段括起来。
+% \end{function}
+%^^A! \begin{function}{info/keywords,info/keywords*}
+%^^A! \begin{fdusyntax}[emph={[1]keywords,keywords*}]
+%^^A! keywords = (*\marg{keywords in Chinese}*)
+%^^A! keywords* = (*\marg{keywords in English}*)
+%^^A! \end{fdusyntax}
+%^^A! Keywords list. Each keyword should be separated with comma.
+%^^A! To disambiguate, you may put text containing comma into a
+%^^A! group ``|{...}|''.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{info/clc}
+% \begin{fdusyntax}[emph={[1]clc}]
+% clc = (*\marg{分类号}*)
+% \end{fdusyntax}
+% 中图分类号(CLC)。
+% \end{function}
+%^^A! \begin{function}{info/clc}
+%^^A! \begin{fdusyntax}[emph={[1]clc}]
+%^^A! clc = (*\marg{classification codes}*)
+%^^A! \end{fdusyntax}
+%^^A! Chinese Library Classification (CLC).
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2021-09-16]{info/jel}
+% \begin{fdusyntax}[emph={[1]jel}]
+% jel = (*\marg{分类号}*)
+% \end{fdusyntax}
+% JEL 分类号,仅适用于部分院系。当被指定时,英文摘要中将仅显示 JEL
+% 分类号,而不再显示中图分类号。
+% \end{function}
+%^^A! \begin{function}[added=2021-09-16]{info/jel}
+%^^A! \begin{fdusyntax}[emph={[1]jel}]
+%^^A! jel = (*\marg{classification codes}*)
+%^^A! \end{fdusyntax}
+%^^A! \textit{Journal of Economic Literature} (JEL) Classification
+%^^A! Code. It's only mandatory for some departments. When specified,
+%^^A! CLC code in the English abstract will be replaced by it.
+%^^A! \end{function}
+%^^A!
+%
+% \subsection{正文编写}
+%^^A! \subsection{Writing your thesis}
+%^^A!
+%
+% \begin{quotation}
+% 喬孟符(吉)博學多能,以樂府稱。嘗云:「作樂府亦有法,
+% 曰\CJKunderdot{鳳頭、豬肚、豹尾}六字是也。」大概起要美麗,中要浩蕩,
+% 結要響亮。尤貴在首尾貫穿,意思清新。苟能若是,斯可以言樂府矣。
+% \end{quotation}
+% \hfill ^^^^2e3a陶宗儀《南村輟耕錄·作今樂府法》 ^^A ^^^^2e3a = 破折号
+%
+% \subsubsection{凤头}
+%^^A! \subsubsection{Front matter}
+%^^A!
+%
+% \begin{function}{\frontmatter}
+% 声明前置部分开始。
+% \end{function}
+%^^A! \begin{function}{\frontmatter}
+%^^A! Declare the beginning of front matter.
+%^^A! \end{function}
+%^^A!
+%
+% 在本模板中,前置部分包含目录、中英文摘要以及符号表等。
+% 前置部分的页码采用小写罗马字母,并且与正文分开计数。
+%^^A! Front matter contains table of contents, abstracts and notation
+%^^A! list. The page numbers in front matter will be shown in
+%^^A! lowercase Roman numerals, and will be counted separately with
+%^^A! main matter.
+%^^A!
+%
+% \begin{function}{\tableofcontents,\listoffigures,\listoftables}
+% 生成目录。为了生成完整、正确的目录,您至少需要编译\emph{两次}。对于图表
+% 较多的论文,也可以使用 \cs{listoffigures} 和 \cs{listoftables} 生成单独的
+% 插图、表格目录。
+% \end{function}
+%^^A! \begin{function}{\tableofcontents}
+%^^A! Generate the table of contents (TOC). You need to compile
+%^^A! the source file at least \emph{twice} to get the correct TOC.
+%^^A! If your thesis contains many figures or tables, you may also
+%^^A! use \cs{listoffigures} or \cs{listoftables} to generate a list
+%^^A! of them.
+%^^A! \end{function}
+%^^A!
+%
+%^^A TODO: \DescribeEnv{abstract}
+%^^A TODO: \DescribeEnv{abstract*}
+% \begin{function}{abstract}
+% \begin{fdusyntax}[emph={[2]abstract}]
+% % 中文论文模板 (fduthesis) % 英文论文模板 (fduthesis-en)
+% \begin{abstract} \begin{abstract}
+% (*\meta{中文摘要} \hspace{3.52cm} \meta{英文摘要}*)
+% \end{abstract} \end{abstract}
+% \end{fdusyntax}
+% \end{function}
+% \begin{function}[rEXP]{abstract*}
+% \begin{fdusyntax}[emph={[2]abstract*}]
+% % 中文论文模板 (fduthesis)
+% \begin{abstract*}
+% (*\meta{英文摘要}*)
+% \end{abstract*}
+% \end{fdusyntax}
+% 摘要。中文模板中,不带星号和带星号的版本分别用来输入中文摘要
+% 和英文摘要;英文模板中没有带星号的版本,您只需输入英文摘要。
+% \end{function}
+%^^A! \begin{function}{abstract}
+%^^A! \begin{fdusyntax}[emph={[2]abstract}]
+%^^A! % fduthesis (Chinese thesis) % fduthesis-en (English thesis)
+%^^A! \begin{abstract} \begin{abstract}
+%^^A! (*\meta{Chinese abstract} \hspace{3cm} \meta{English abstract}*)
+%^^A! \end{abstract} \end{abstract}
+%^^A! \end{fdusyntax}
+%^^A! \end{function}
+%^^A! \begin{function}[rEXP]{abstract*}
+%^^A! \begin{fdusyntax}[emph={[2]abstract*}]
+%^^A! % Only for fduthesis
+%^^A! \begin{abstract*}
+%^^A! (*\meta{English abstract}*)
+%^^A! \end{abstract*}
+%^^A! \end{fdusyntax}
+%^^A! Abstract environment. In \cls{fduthesis}, \env{abstract} and
+%^^A! \env{abstract*} are used for Chinese and English abstract,
+%^^A! respectively; while in \cls{fduthesis-en}, there is no
+%^^A! \env{abstract*} environment and you need to write the English
+%^^A! abstract merely.
+%^^A! \end{function}
+%^^A!
+%
+% 摘要的最后,会显示关键字列表以及中图分类号(CLC)或 JEL 分类号。这两项
+% 可通过 \cs{fdusetup} 录入,具体请参阅 \ref{subsubsec:信息录入}~节。
+%^^A! At the end of abstract (both Chinese and English, if available),
+%^^A! keywords list and CLC or JEL code will be shown. They can be
+%^^A! specified via command \cs{fdusetup} and you may refer to
+%^^A! subsubsection~\ref{subsubsec:information} for more details.
+%^^A!
+%
+%^^A TODO: \DescribeEnv{notation}
+% \begin{function}{notation}
+% \begin{fdusyntax}[emph={[2]notation}]
+% \begin{notation}(*\oarg{列格式说明}*)
+% (*\meta{符号 1}*) & (*\meta{说明}*) \\
+% (*\meta{符号 2}*) & (*\meta{说明}*) \\
+% (*\phantom{\meta{符号 $n$}}*) (*$\vdots$*)
+% (*\meta{符号\ \kern-0.1em$n$}*) & (*\meta{说明}*)
+% \end{notation}
+% \end{fdusyntax}
+% 符号表。可选参数 \meta{列格式说明}与 \LaTeX{} 中标准表格的列格
+% 式说明语法一致,默认值为“|lp{7.5cm}|”,即第一列宽度自动调整,
+% 第二列限宽 \qty{7.5}{cm},两列均为左对齐。
+% \end{function}
+%^^A! \begin{function}{notation}
+%^^A! \begin{fdusyntax}[emph={[2]notation}]
+%^^A! \begin{notation}(*\oarg{column format}*)
+%^^A! (*\meta{symbol 1}*) & (*\meta{description}*) \\
+%^^A! (*\meta{symbol 2}*) & (*\meta{description}*) \\
+%^^A! (*\phantom{\meta{symbol $n$}}*) (*$\vdots$*)
+%^^A! (*\meta{symbol \kern-0.1em$n$}*) & (*\meta{description}*)
+%^^A! \end{notation}
+%^^A! \end{fdusyntax}
+%^^A! Notation list (or symbol list, nomenclature) environment.
+%^^A! The optional argument \meta{column format} is the same as
+%^^A! in a standard \LaTeX{} table. The default value is
+%^^A! ``|lp{7.5cm}|'', which means auto-width for the first column
+%^^A! and fix-width (\qty{7.5}{cm}) for the second; both columns will
+%^^A! be left-aligned.
+%^^A! \end{function}
+%^^A!
+%
+% \subsubsection{猪肚}
+%^^A! \subsubsection{Main matter}
+%^^A!
+%
+% \begin{function}{\mainmatter}
+% 声明主体部分开始。
+% \end{function}
+%^^A! \begin{function}{\mainmatter}
+%^^A! Declare the beginning of main matter.
+%^^A! \end{function}
+%^^A!
+%
+% 主体部分是论文的核心,您可以分章节撰写。如有需求,也可以采用
+% 多文件编译的方式。主体部分的页码采用阿拉伯数字。
+%^^A! As the name suggests, ``main matter'' is the main body of your
+%^^A! thesis. When working on a big projects, it's usually a good
+%^^A! idea to split the source file into several parts. The page
+%^^A! numbers in main matter are shown in arabic numerals.
+%^^A!
+%
+% \begin{function}[updated=2018-01-15]{\footnote}
+% \begin{fdusyntax}[deletetexcs={\footnote},morekeywords={\footnote}]
+% \footnote(*\marg{脚注文字}*)
+% \end{fdusyntax}
+% 插入脚注。脚注编号样式可利用 \opt{style/footnote-style} 选项控制,
+% 具体见 \ref{subsubsec:论文格式}~小节。
+% \end{function}
+%^^A! \begin{function}[updated=2018-01-15]{\footnote}
+%^^A! \begin{fdusyntax}[deletetexcs={\footnote},morekeywords={\footnote}]
+%^^A! \footnote(*\marg{text}*)
+%^^A! \end{fdusyntax}
+%^^A! Insert a footnote. The style of footnote numbers can be set
+%^^A! with option \opt{style/foot\-note\-style}. See
+%^^A! subsubsection~\ref{subsubsec:style-and-format} for more details.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{\caption}
+% \begin{fdusyntax}[deletetexcs={\caption},morekeywords={\caption}]
+% \caption(*\marg{图表标题}*)
+% \caption(*\oarg{短标题}\marg{长标题}*)
+% \end{fdusyntax}
+% 插入图表标题。可选参数 \meta{短标题} 用于图表目录。在
+% \meta{长标题} 中,您可以进行长达多段的叙述;但 \meta{短标题}
+% 和单独的 \meta{图表标题} 中则不允许分段。
+% \cite{刘海洋2013latex入门}
+% \end{function}
+%^^A! \begin{function}{\caption}
+%^^A! \begin{fdusyntax}[deletetexcs={\caption},morekeywords={\caption}]
+%^^A! \caption(*\marg{caption}*)
+%^^A! \caption(*\oarg{short caption}\marg{long caption}*)
+%^^A! \end{fdusyntax}
+%^^A! Insert the caption of figure or table. The optional argument
+%^^A! \meta{short caption} will be shown in the list of figures/tables.
+%^^A! In \meta{long caption}, you can write descriptions for several
+%^^A! paragraphs, but \meta{short caption} and the single
+%^^A! \meta{caption} will not allow multi-paragraph text (i.e.\
+%^^A! text containing \tn{par}) inside.
+%^^A! \end{function}
+%^^A!
+%
+% 按照排版惯例,建议您将表格的标题放置在绘制表格的命令之前,
+% 而将图片的标题放置在绘图或插图的命令之后。另需注意,
+% \tn{caption} 命令必须放置在浮动体环境(如 \env{table} 和
+% \env{figure})中。
+%^^A! By convention, caption of a table is usually put \emph{before}
+%^^A! the table itself, while for figure it's the opposite.
+%^^A! In addition, command \tn{caption} must be put inside float
+%^^A! environments (e.g.\ \env{table} and \env{figure}).
+%^^A!
+%
+% \paragraph{参考文献引用}
+%^^A! \paragraph{Citations}
+%
+% \begin{function}[updated=2021-09-20]{\cite}
+% \begin{fdusyntax}[deletetexcs={\cite},morekeywords={\cite}]
+% \cite(*\marg{文献标签}*)
+% \cite(*\oarg{页码}\marg{文献标签}*)
+% \end{fdusyntax}
+% 插入所引用的文献。可选参数 \meta{页码} 可用来标注引文的页码。在不同的
+% 参考文献样式中,引用的样式也不尽相同。根据需要,模板还提供了更多的命令
+% 用来标记引用。顺序编码制和著者—出版年制下的各种引用方式见
+% 表~\ref{tab:citation-numerical} 和表~\ref{tab:citation-author-year}。
+% \end{function}
+%^^A! \begin{function}[updated=2021-09-20]{\cite}
+%^^A! \begin{fdusyntax}[deletetexcs={\cite},morekeywords={\cite}]
+%^^A! \cite(*\marg{bib key}*)
+%^^A! \cite(*\oarg{page number}\marg{bib key}*)
+%^^A! \end{fdusyntax}
+%^^A! Insert citations. The optional argument \meta{page number} can be
+%^^A! used to indicate the page number of the citation. The citation style
+%^^A! varies among different bibliography styles. More commands are also
+%^^A! provided to mark the citations, which can be found in
+%^^A! table~\ref{tab:citation-numerical} (numerical style) and
+%^^A! \ref{tab:citation-author-year} (author-year style).
+%^^A! \end{function}
+%^^A!
+%
+%^^A+
+% \NewDocumentCommand\verbcite{O{cite}om}{^^A
+% \IfNoValueTF{#2}{^^A
+% \texttt{\textbackslash#1\{#3\}}^^A
+% }{^^A
+% \texttt{\textbackslash#1[#2]\{#3\}}^^A
+% }}
+%^^A-
+%
+% \begin{table}[ht]
+% \caption{顺序编码制下的引用样式} \label{tab:citation-numerical}
+% \centering
+% \small
+% \begin{tabularx}{\textwidth}{cCll}
+% \toprule
+% \textbf{引用方式} &
+% \textbf{排版效果} &
+% \textbf{\kvopt{bib-backend}{bibtex}} &
+% \textbf{\kvopt{bib-backend}{biblatex}} \\
+% \midrule
+% 单篇文献 &
+% 引文\cite{texbook} &
+% \verbcite{texbook} &
+% 同左 \\
+% 多篇文献 &
+% 引文\cite{texbook,companion} &
+% \verbcite{texbook,companion} &
+% 同左 \\
+% 标注页码 &
+% 引文\cite[126--137]{texbook} &
+% \verbcite[cite][126--137]{texbook} &
+% 同左 \\
+% 标注作者 &
+% \citet{texbook}指出 &
+% \verbcite[citet]{texbook} &
+% \verbcite[authornumcite]{texbook} \\
+% 标注作者、页码 &
+% \citet[42]{texbook}指出 &
+% \verbcite[citet][42]{texbook} &
+% \verbcite[authornumcite][42]{texbook} \\
+% 非上标 &
+% 引文{\citestyle{numbers}\cite{texbook}} &
+% \verbcite[parencite]{texbook} &
+% 同左 \\
+% \bottomrule
+% \end{tabularx}
+% \end{table}
+%^^A! \begin{table}[ht]
+%^^A! \caption{Citations in numerical style} \label{tab:citation-numerical}
+%^^A! \centering
+%^^A! \small
+%^^A! \def\C#1{\textcolor{MaterialGreen}{#1}}
+%^^A! \begin{tabularx}{\textwidth}{cCll}
+%^^A! \toprule
+%^^A! \textbf{Styles} &
+%^^A! \textbf{Results} &
+%^^A! \textbf{\kvopt{bib-backend}{bibtex}} &
+%^^A! \textbf{\kvopt{bib-backend}{biblatex}} \\
+%^^A! \midrule
+%^^A! Single &
+%^^A! Text\textsuperscript{[\C1]} &
+%^^A! \verbcite{texbook} &
+%^^A! Same as left \\
+%^^A! Multiple &
+%^^A! Text\textsuperscript{[\C1--\C2]} &
+%^^A! \verbcite{texbook,companion} &
+%^^A! Same as left \\
+%^^A! With page &
+%^^A! Text\textsuperscript{[\C1]126--137} &
+%^^A! \verbcite[cite][126--137]{texbook} &
+%^^A! Same as left \\
+%^^A! With author &
+%^^A! Knuth\textsuperscript{[\C1]} states &
+%^^A! \verbcite[citet]{texbook} &
+%^^A! \verbcite[authornumcite]{texbook} \\
+%^^A! With page and author &
+%^^A! Knuth\textsuperscript{[\C1]42} states &
+%^^A! \verbcite[citet][42]{texbook} &
+%^^A! \verbcite[authornumcite][42]{texbook} \\
+%^^A! No superscript &
+%^^A! Text [\C1] &
+%^^A! \verbcite[parencite]{texbook} &
+%^^A! Same as left \\
+%^^A! \bottomrule
+%^^A! \end{tabularx}
+%^^A! \end{table}
+%^^A!
+%
+% \begin{table}[ht]
+% \caption{著者—出版年制下的引用样式} \label{tab:citation-author-year}
+% \centering
+% \small
+% \def\!{\kern-1.5pt}
+% \begin{tabularx}{\textwidth}{cCll}
+% \toprule
+% \textbf{引用方式} &
+% \textbf{排版效果} &
+% \textbf{\kvopt{bib-backend}{bibtex}} &
+% \textbf{\kvopt{bib-backend}{biblatex}} \\
+% \midrule
+% 单篇文献 &
+% (\citeauthor{texbook}\!, \citeyear{texbook}\!) &
+% \verbcite[citep]{texbook} &
+% \verbcite{texbook} \\
+% 多篇文献 &
+% (\citeauthor{texbook}\!, \citeyear{texbook}\!;
+% \citeauthor{companion}\!, \citeyear{companion}\!) &
+% \verbcite[citep]{texbook,companion} &
+% \verbcite{texbook,companion} \\
+% 标注页码 &
+% (\citeauthor{texbook}\!, \citeyear{texbook}\!)^^A
+% \textsuperscript{126--137} &
+% \verbcite[citep][126--137]{texbook} &
+% \verbcite[cite][126--137]{texbook} \\
+% 标注作者 &
+% \citeauthor{texbook}(\citeyear{texbook}\!) &
+% \verbcite[citet]{texbook} &
+% 同左 \\
+% 标注作者、页码 &
+% \citeauthor{texbook}(\citeyear{texbook}\!)\textsuperscript{42} &
+% \verbcite[citet][42]{texbook} &
+% 同左 \\
+% \bottomrule
+% \end{tabularx}
+% \end{table}
+%^^A! \begin{table}[ht]
+%^^A! \caption{Citations in author-year style} \label{tab:citation-author-year}
+%^^A! \centering
+%^^A! \small
+%^^A! \def\C#1{\textcolor{MaterialGreen}{#1}}
+%^^A! \begin{tabularx}{\textwidth}{cCll}
+%^^A! \toprule
+%^^A! \textbf{Styles} &
+%^^A! \textbf{Results} &
+%^^A! \textbf{\kvopt{bib-backend}{bibtex}} &
+%^^A! \textbf{\kvopt{bib-backend}{biblatex}} \\
+%^^A! \midrule
+%^^A! Single &
+%^^A! (\C{Knuth}, \C{1986}) &
+%^^A! \verbcite[citep]{texbook} &
+%^^A! \verbcite{texbook} \\
+%^^A! Multiple &
+%^^A! (\C{Knuth}, \C{1986}; \C{Mittelbach et al.}, \C{2004}) &
+%^^A! \verbcite[citep]{texbook,companion} &
+%^^A! \verbcite{texbook,companion} \\
+%^^A! With page &
+%^^A! (\C{Knuth}, \C{1986})\textsuperscript{126--137} &
+%^^A! \verbcite[citep][126--137]{texbook} &
+%^^A! \verbcite[cite][126--137]{texbook} \\
+%^^A! With author &
+%^^A! \C{Knuth} (\C{1986}) &
+%^^A! \verbcite[citet]{texbook} &
+%^^A! Same as left \\
+%^^A! With page and author &
+%^^A! \C{Knuth} (\C{1986})\textsuperscript{42} &
+%^^A! \verbcite[citet][42]{texbook} &
+%^^A! Same as left \\
+%^^A! \bottomrule
+%^^A! \end{tabularx}
+%^^A! \end{table}
+%^^A!
+%
+% \paragraph{定理类环境}
+%^^A! \paragraph{Theorem-like environments}
+%
+%^^A TODO: \DescribeEnv{proof}
+% \begin{function}{axiom,corollary,definition,example,lemma,
+% proof,theorem}
+% \begin{fdusyntax}[emph={[2]proof}]
+% \begin{proof}(*\oarg{小标题}*)
+% (*\meta{证明过程}*)
+% \end{proof}
+% \end{fdusyntax}
+% 一系列预定义的数学环境。具体含义见表~\ref{tab:theorem}。
+% \end{function}
+%^^A! \begin{function}{axiom,corollary,definition,example,lemma,
+%^^A! proof,theorem}
+%^^A! \begin{fdusyntax}[emph={[2]proof}]
+%^^A! \begin{proof}(*\oarg{subheading}*)
+%^^A! (*\meta{procedure of proof}*)
+%^^A! \end{proof}
+%^^A! \end{fdusyntax}
+%^^A! A series of pre-defined math environments.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{table}[ht]
+% \caption{预定义的数学环境} \label{tab:theorem}
+% \centering
+% \small
+% \begin{tabular}{*{8}{c}}
+% \toprule
+% \textbf{名称} &
+% \env{axiom} & \env{corollary} & \env{definition} & \env{example} &
+% \env{lemma} & \env{proof} & \env{theorem} \\
+% \midrule
+% \textbf{含义} &
+% 公理 & 推论 & 定义 & 例 &
+% 引理 & 证明 & 定理 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% 证明环境(\env{proof})的最后会添加证毕符号“$\QED$”。要确保
+% 该符号在正确的位置显示,您需要按照 \ref{subsec:编译方式}~节
+% 中的有关说明编译\emph{两次}。
+%^^A! A QED\footnote{Abbreviation of Latin phrase \emph{quod erat
+%^^A! demonstrandum}, means ``what was to be demonstrated''.}
+%^^A! symbol ``$\QED$'' will be added at the end of \env{proof}
+%^^A! environment. You need to compile the source file \emph{twice}
+%^^A! as in subsection~\ref{subsec:compilation} in order to make
+%^^A! the position of QED symbol correct.
+%^^A!
+%
+% \begin{function}[updated=2023-02-08]{\newtheorem}
+% \begin{fdusyntax}[deletetexcs={\newtheorem},
+% morekeywords={\newtheorem,\newtheorem*}]
+% \newtheorem(*\oarg{选项}\marg{环境名}\marg{标题}*)
+% \newtheorem*(*\oarg{选项}\marg{环境名}\marg{标题}*)
+% \begin(*\marg{环境名}\oarg{小标题}*)
+% (*\meta{内容}*)
+% \end(*\marg{环境名}*)
+% \end{fdusyntax}
+% 声明新的定理类环境(数学环境)。带星号的版本表示不进行编号,
+% 并且会默认添加证毕符号“$\QED$”。声明后,即可同预定义的数学环境
+% 一样使用。
+% \end{function}
+%^^A! \begin{function}[updated=2017-12-12]{\newtheorem}
+%^^A! \begin{fdusyntax}[deletetexcs={\newtheorem},
+%^^A! morekeywords={\newtheorem,\newtheorem*}]
+%^^A! \newtheorem(*\oarg{options}\marg{environment}\marg{title}*)
+%^^A! \newtheorem*(*\oarg{options}\marg{environment}\marg{title}*)
+%^^A! \begin(*\marg{environment}\oarg{subheading}*)
+%^^A! (*\meta{contents}*)
+%^^A! \end(*\marg{environment}*)
+%^^A! \end{fdusyntax}
+%^^A! Declare new math environments (theorems). If you use
+%^^A! \cs{newtheorem*}, then the theorem will not be numbered, and
+%^^A! a QED symbol ``$\QED$'' will be added at the end of the
+%^^A! environment. All the theorem environments defined by yourself
+%^^A! can be used as the pre-defined ones.
+%^^A! \end{function}
+%^^A!
+%
+% 事实上,表~\ref{tab:theorem} 中预定义的环境正是通过以下方式定义的:
+% \begin{latexexample}[deletetexcs={\newtheorem},
+% morekeywords={\newtheorem,\newtheorem*}]
+% \newtheorem*{proof}{证明}
+% \newtheorem{axiom}{公理}
+% \newtheorem{corollary}{定理}
+% ...
+% \end{latexexample}
+%^^A! Actually, the pre-defined math environments are just defined
+%^^A! with \cs{new\-the\-o\-rem} and \cs{new\-the\-o\-rem*}:
+%^^A! \begin{latexexample}[deletetexcs={\newtheorem},
+%^^A! morekeywords={\newtheorem,\newtheorem*}]
+%^^A! \newtheorem*{proof}{proof}
+%^^A! \newtheorem{axiom}{axiom}
+%^^A! \newtheorem{corollary}{corollary}
+%^^A! ...
+%^^A! \end{latexexample}
+%^^A!
+%
+% 与 \cs{fdusetup} 相同,\cs{newtheorem} 的可选参数 \meta{选项}
+% 也为一组键值列表。可用的选项见下。注意您无需输入“|theorem/|”。
+%^^A! Similar with \cs{fdusetup}, the optional argument \meta{options}
+%^^A! of \cs{newtheorem} is a key-value list as well. The available
+%^^A! are described below. Note that you don't need to type in the
+%^^A! ``|theorem/|'' prefix.
+%^^A!
+%
+% \begin{function}{theorem/style}
+% \begin{fdusyntax}[emph={[1]style}]
+% style = (*<(plain)|margin|change|\\
+% XXXXXX\mbox{}~~~~~~~~break|marginbreak|changebreak>*)
+% \end{fdusyntax}
+% 定理类环境的总体样式。
+% \end{function}
+%^^A! \begin{function}{theorem/style}
+%^^A! \begin{fdusyntax}[emph={[1]style}]
+%^^A! style = (*<(plain)|margin|change|\\
+%^^A! XXXX\mbox{}~~~~~~~~break|marginbreak|changebreak>*)
+%^^A! \end{fdusyntax}
+%^^A! The overall style of the theorem environment.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{theorem/header-font}
+% \begin{fdusyntax}[emph={[1]header-font}]
+% header-font = (*\marg{字体}*)
+% \end{fdusyntax}
+% 定理头(即标题)的字体。中文模板默认为 \tn{sffamily},即无衬线体
+% (黑体);英文模板默认为 |\bfseries\upshape|,即加粗直立体。
+% \end{function}
+%^^A! \begin{function}{theorem/header-font}
+%^^A! \begin{fdusyntax}[emph={[1]header-font}]
+%^^A! header-font = (*\marg{font}*)
+%^^A! \end{fdusyntax}
+%^^A! Font of the theorem header. Default value is \tn{sffamily}
+%^^A! and |\bfseries\upshape| for Chinese and English template,
+%^^A! respectively.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{theorem/body-font}
+% \begin{fdusyntax}[emph={[1]body-font}]
+% body-font = (*\marg{字体}*)
+% \end{fdusyntax}
+% 定理内容的字体。中文模板默认为 \tn{fdu@kai},即楷体;英文模板
+% 默认为 \tn{itshape},即斜体。
+% \end{function}
+%^^A! \begin{function}{theorem/body-font}
+%^^A! \begin{fdusyntax}[emph={[1]body-font}]
+%^^A! body-font = (*\marg{font}*)
+%^^A! \end{fdusyntax}
+%^^A! Font of the theorem body. Default value is \tn{fdu@kai}
+%^^A! (\textit{楷体}) and \tn{itshape} for Chinese and English
+%^^A! template, respectively.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{theorem/qed}
+% \begin{fdusyntax}[emph={[1]qed}]
+% qed = (*\marg{符号}*)
+% \end{fdusyntax}
+% 定理结束标记(即证毕符号)。如果用 \cs{newtheorem} 声明定理,则默认为空;
+% 用 \cs{newtheorem*} 声明,则默认为 |\ensuremath{\QED}|,即“$\QED$”。
+% \end{function}
+%^^A! \begin{function}{theorem/qed}
+%^^A! \begin{fdusyntax}[emph={[1]qed}]
+%^^A! qed = (*\marg{symbol}*)
+%^^A! \end{fdusyntax}
+%^^A! Theorem end mark. For \cs{newtheorem}, default value is
+%^^A! empty; for \cs{newtheorem*}, default value is
+%^^A! |\ensuremath{\QED}| (i.e.\ ``$\QED$'').
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}{theorem/counter}
+% \begin{fdusyntax}[emph={[1]counter}]
+% counter = (*\marg{计数器}*)
+% \end{fdusyntax}
+% 定理计数器,表示定理编号在 \meta{计数器} 的下一级,并会随 \meta{计数器}
+% 的变化而清零。\cite{刘海洋2013latex入门}默认为 |chapter|,表示按章编号。
+% 使用 \cs{newtheorem*} 时,该选项无效。
+% \end{function}
+%^^A! \begin{function}{theorem/counter}
+%^^A! \begin{fdusyntax}[emph={[1]counter}]
+%^^A! counter = (*\marg{counter}*)
+%^^A! \end{fdusyntax}
+%^^A! The theorem will be enumerated within \meta{counter}. For
+%^^A! example, the default value is |chapter|, which means with
+%^^A! each new \tn{chapter}, the enumeration begins again with 1.
+%^^A! This option is invalid for \cs{newtheorem*}.
+%^^A! \end{function}
+%^^A!
+%
+% \subsubsection{豹尾}
+%^^A! \subsubsection{Back matter}
+%^^A!
+%
+% \begin{function}{\backmatter}
+% 声明后置部分开始。
+% \end{function}
+%^^A! \begin{function}{\backmatter}
+%^^A! Declare the beginning of back matter.
+%^^A! \end{function}
+%^^A!
+%
+% 后置部分包含参考文献、声明页等。
+%^^A! Back matter contains bibliography, declaration page, etc.
+%^^A!
+%
+% \begin{function}[updated=2018-01-25]{\printbibliography}
+% \begin{fdusyntax}[morekeywords={\printbibliography}]
+% \printbibliography(*\oarg{选项}*)
+% \end{fdusyntax}
+% 打印参考文献列表。如果 \kvopt{bib-backend}{bibtex},则 \meta{选项}
+% 无效,相当于 \tn{bibliography} \texttt{\marg{文献数据库}},其中的
+% \meta{文献数据库} 可利用 \opt{style/bib-resource} 选项指定,具体见
+% \ref{subsubsec:论文格式}~小节;而如果 \kvopt{bib-backend}{biblatex},
+% 则该命令由 \pkg{biblatex} 宏包直接提供,可用选项请参阅其文档
+% \cite{biblatex}。
+% \end{function}
+%^^A! \begin{function}[updated=2018-01-25]{\printbibliography}
+%^^A! \begin{fdusyntax}[morekeywords={\printbibliography}]
+%^^A! \printbibliography(*\oarg{options}*)
+%^^A! \end{fdusyntax}
+%^^A! Print the bibliography. When \kvopt{bib-backend}{bibtex}, then
+%^^A! \meta{options} is invalid and this command is equivalent to
+%^^A! \tn{bibliography} \texttt{\marg{bib files}}, where \meta{bib files}
+%^^A! should be specified with option \opt{style/bib-resource} (see
+%^^A! subsubsection~\ref{subsubsec:style-and-format}). When
+%^^A! \kvopt{bib-backend}{bibtex}, then \tn{printbibliography} is
+%^^A! provided by \pkg{biblatex} and the available options can be
+%^^A! found in its documentation.
+%^^A! \end{function}
+%^^A!
+%
+% \begin{function}[added=2023-02-06]{acknowledgements}
+% \begin{fdusyntax}[emph={[2]acknowledgements}]
+% \begin{acknowledgements}
+% (*\meta{致谢内容}*)
+% \end{acknowledgements}
+% \end{fdusyntax}
+% 致谢。
+% \end{function}
+%^^A! \begin{function}[added=2023-02-06]{acknowledgements}
+%^^A! \begin{fdusyntax}[emph={[2]acknowledgements}]
+%^^A! \begin{acknowledgements}
+%^^A! (*\meta{acknowledgements}*)
+%^^A! \end{acknowledgements}
+%^^A! \end{fdusyntax}
+%^^A! Acknowledgements.
+%^^A! \end{function}
+%^^A!
+%
+% \section{宏包依赖情况}
+%^^A! \section{Packages dependencies}
+%^^A!
+%
+% 使用不同编译方式、指定不同选项,会导致宏包依赖情况有所不同。
+% 具体如下:
+% \begin{itemize}
+% \item 在任何情况下,本模板都会\emph{显式}调用以下宏包
+% (或文档类):
+% \begin{itemize}
+% \item \pkg{xtemplate} 和 \pkg{l3keys2e},用于扩展 \LaTeX3 编程环境。
+% 它们属于 \pkg{l3packages} 宏集。
+% \item \cls{ctexbook},提供中文排版的通用框架。属于 \CTeX{}
+% 宏集 \cite{CTeX}。
+% \item \pkg{amsmath},对 \LaTeX{} 的数学排版功能进行了
+% 全面扩展。属于 \AmSLaTeX{} 套件。
+% \item \pkg{unicode-math},负责处理 Unicode 编码的
+% OpenType 数学字体。
+% \item \pkg{geometry},用于调整页面尺寸。
+% \item \pkg{fancyhdr},处理页眉页脚。
+% \item \pkg{footmisc},处理脚注。
+% \item \pkg{ntheorem},提供增强版的定理类环境。
+% \item \pkg{graphicx},提供图形插入的接口。
+% \item \pkg{longtable},长表格(允许跨页)支持。
+% \item \pkg{caption},用于设置题注。
+% \item \pkg{xcolor},提供彩色支持。
+% \item \pkg{hyperref},提供交叉引用、超链接、电子书签等功能。
+% \end{itemize}
+% \item 开启 \kvopt{style/footnote-style}{pifont} 后,会调用
+% \pkg{pifont} 宏包。它属于 \pkg{psnfss} 套件。
+% \item 开启 \kvopt{style/bib-backend}{bibtex} 后,会调用
+% \pkg{natbib} 宏包,并依赖 \BibTeX{} 程序。参考文献样式由
+% \pkg{gbt7714} 宏包提供 \cite{natbib,gbt7714}。
+% \item 开启 \kvopt{style/bib-backend}{biblatex} 后,会调用
+% \pkg{biblatex} 宏包,并依赖 \biber{} 程序。参考文献样式由
+% \pkg{biblatex-gb7714-2015} 宏包提供
+% \cite{biblatex,biblatex-gb7714-2015}。
+% \end{itemize}
+%^^A! Different compilation methods and options will result in a
+%^^A! different packages dependency. Details are as follows:
+%^^A! \begin{itemize}
+%^^A! \item In any case, \cls{fduthesis} will load the following
+%^^A! packages \emph{explicitly}:
+%^^A! \begin{itemize}
+%^^A! \item \pkg{xtemplate} and \pkg{l3keys2e}, belong to
+%^^A! \pkg{l3packages} bundle
+%^^A! \item \cls{ctexbook}, belongs to \CTeX{} bundle
+%^^A! \item \pkg{amsmath}, belongs to \AmSLaTeX{} bundle
+%^^A! \item \pkg{unicode-math}
+%^^A! \item \pkg{geometry}
+%^^A! \item \pkg{fancyhdr}
+%^^A! \item \pkg{footmisc}
+%^^A! \item \pkg{ntheorem}
+%^^A! \item \pkg{graphicx}
+%^^A! \item \pkg{longtable}
+%^^A! \item \pkg{caption}
+%^^A! \item \pkg{xcolor}
+%^^A! \item \pkg{hyperref}
+%^^A! \end{itemize}
+%^^A! \item When chosen \kvopt{style/footnote-style}{pifont},
+%^^A! package \pkg{pifont} will be loaded. It belongs to
+%^^A! \pkg{psnfss} bundle.
+%^^A! \item When chosen \kvopt{style/bib-backend}{bibtex},
+%^^A! package \pkg{natbib} will be loaded. Meanwhile, program
+%^^A! \BibTeX{} will be required for compilation. The
+%^^A! bibliography style is provided by \pkg{gbt7714}.
+%^^A! \item When chosen \kvopt{style/bib-backend}{biblatex},
+%^^A! package \pkg{biblatex} will be loaded. Program \biber{}
+%^^A! will be required then. The bibliography style is provided
+%^^A! by \pkg{biblatex-gb7714-2015}.
+%^^A! \end{itemize}
+%^^A!
+%
+% 这里只列出了本模板直接调用的宏包。这些宏包自身的调用情况,
+% 此处不再具体展开。如有需要,请参阅相关文档。
+%^^A! Only the packages loaded directly by \cls{fduthesis} are listed
+%^^A! here. If you need to know the dependencies of the packages
+%^^A! themselves, please refer to the corresponding manuals.
+%^^A!
+%
+% \begin{thebibliography}{99}
+%
+% \newcommand\urlprefix{\newline\hspace*{\fill}}
+% \let\OldUrl=\url
+% \renewcommand\url[2][]{{\small\textit{#1}~\OldUrl{#2}}}
+% \newcommand\CTANurl[2][]{{^^A
+% \small\textit{#1}~\href{https://mirror.ctan.org/#2}{\texttt{CTAN://#2}}}}
+%
+% \subsection{图书}
+%
+% \bibitem[Knuth(1986)]{texbook}
+% \textsc{Knuth D E}.
+% \newblock \textit{The \TeX book: Computers \& Typesetting, volume A} [M].
+% \newblock Boston: Addison--Wesley Publishing Company, 1986
+% \urlprefix \CTANurl[源代码^^A
+% \footnote{此代码只可作为学习之用。未经 Knuth 本人同意,您不应当编译此文档。}:]^^A
+% {systems/knuth/dist/tex/texbook.tex}
+%
+% \bibitem[Mittelbach et~al.(2004)]{companion}
+% \textsc{Mittelbach F} and \textsc{Goossens M}.
+% \newblock \textit{The \LaTeX{} Companion} [M].
+% \newblock 2nd ed.
+% \newblock Boston: Addison--Wesley Publishing Company, 2004
+%
+% \bibitem[()]{胡伟2017latex2e}
+% 胡伟.
+% \newblock \textit{\LaTeXe{} 文类和宏包学习手册} [M].
+% \newblock 北京: 清华大学出版社, 2017
+%
+% \bibitem[()]{刘海洋2013latex入门}
+% 刘海洋.
+% \newblock \textit{\LaTeX{} 入门} [M].
+% \newblock 北京: 电子工业出版社, 2013
+%
+% \subsection{标准、规范}
+%
+% \bibitem[()]{gb-t-7713.1-2006}
+% 国务院学位委员会办公室, 全国信息与文献标准化技术委员会.
+% \newblock \textit{学位论文编写规则: GB/T 7713.1--2006} [S].
+% \newblock 北京: 中国标准出版社, 2007
+%
+% \bibitem[()]{gb-t-7714-2015}
+% 全国信息与文献标准化技术委员会.
+% \newblock \textit{信息与文献\quad 参考文献著录规则: GB/T 7714--2015} [S].
+% \newblock 北京: 中国标准出版社, 2015
+%
+% \bibitem[()]{gb-t-15834-2011}
+% 教育部语言文字信息管理司.
+% \newblock \textit{标点符号用法: GB/T 15834--2011} [S/OL].
+% \newblock 北京: 中国标准出版社, 2012
+% \urlprefix\url{http://www.moe.gov.cn/ewebeditor/uploadfile/2015/01/13/20150113091548267.pdf}
+%
+% \bibitem[()]{clreq}
+% W3C.
+% \newblock \textit{中文排版需求(Requirements for Chinese Text Layout)} [EB/OL].
+% \newblock W3C Editor's Draft.
+% \newblock (2022-09-01)
+% \urlprefix\url{https://w3c.github.io/clreq/}
+%
+% \bibitem[()]{复旦大学论文规范}
+% 复旦大学图书馆, 复旦大学研究生院.
+% \newblock \textit{复旦大学博士、硕士学位论文规范} [EB/OL].
+% \newblock 2017 年 3 月修订版.
+% \newblock (2017-03-27)
+% \urlprefix\url{http://www.gs.fudan.edu.cn/_upload/article/4c/a8/a82545ef443b9c057c14ba13782c/c883c6f3-6d7f-410c-8f30-d8bde6fcb990.doc}
+%
+% \subsection{宏包、模版}
+%
+% \bibitem[()]{source2e}
+% \textsc{Braams J}, \textsc{Carlisle D}, \textsc{Jeffrey A}, et al.
+% \newblock \textit{The \LaTeXe{} Sources} [CP/OL].
+% \newblock (2022-06-01)
+% \urlprefix\url{https://ctan.org/pkg/latex}
+% \urlprefix\CTANurl[源代码:]{macros/latex/base/source2e.pdf}
+%
+% \bibitem[()]{CTeX}
+% \textsc{CTEX.ORG}.
+% \newblock \textit{\CTeX{} 宏集手册} [EB/OL].
+% \newblock version 2.5.10,
+% \newblock (2022-07-14)
+% \urlprefix\url{https://ctan.org/pkg/ctex}
+% \urlprefix\CTANurl[文档及源代码:]{language/chinese/ctex/ctex.pdf}
+%
+% \bibitem[()]{xeCJK}
+% \textsc{CTEX.ORG}.
+% \newblock \textit{\pkg{xeCJK} 宏包} [EB/OL].
+% \newblock version 3.9.1,
+% \newblock (2022-08-05)
+% \urlprefix\url{https://ctan.org/pkg/xecjk}
+% \urlprefix\CTANurl[文档及源代码:]{macros/xetex/latex/xecjk/xeCJK.pdf}
+%
+% \bibitem[()]{natbib}
+% \textsc{Daly P W}.
+% \newblock \textit{Natural Sciences Citations and References} [EB/OL].
+% \newblock version 8.31b,
+% \newblock (2010-09-13)
+% \urlprefix\url{https://ctan.org/pkg/natbib}
+% \urlprefix\CTANurl[文档及源代码:]{macros/latex/contrib/natbib/natbib.pdf}
+%
+% \bibitem[()]{source3}
+% \textsc{The \LaTeX3 Project}.
+% \newblock \textit{The \LaTeX3 Sources} [CP/OL].
+% \newblock (2022-08-30)
+% \urlprefix\url{https://ctan.org/pkg/l3kernel}
+% \urlprefix\CTANurl[源代码:]{macros/latex/contrib/l3kernel/source3.pdf}
+%
+% \bibitem[()]{biblatex}
+% \textsc{Kime P}, \textsc{Wemheuer M}, \textsc{Lehman P}.
+% \newblock \textit{The \pkg{biblatex} Package} [EB/OL].
+% \newblock version 3.18b,
+% \newblock (2022-07-12)
+% \urlprefix\url{https://ctan.org/pkg/biblatex}
+% \urlprefix\CTANurl[文档:]{macros/latex/contrib/biblatex/doc/biblatex.pdf}
+%
+% \bibitem[()]{lshort}
+% \textsc{Oetiker T}, \textsc{Partl H}, \textsc{Hyna I}, et al.
+% \newblock \textit{The Not So Short Introduction to \LaTeXe{}: Or \LaTeXe{} in 139 minutes} [EB/OL].
+% \newblock version 6.4,
+% \newblock (2021-03-09)
+% \urlprefix\url{https://ctan.org/pkg/lshort-english}
+% \urlprefix\CTANurl[文档:]{info/lshort/english/lshort.pdf}
+%
+% \bibitem[()]{lshort-zh-cn}
+% \textsc{Oetiker T}, \textsc{Partl H}, \textsc{Hyna I}, et al.
+% \newblock \textit{一份(不太)简短的 \LaTeXe{} 介绍: 或 111 分钟了解 \LaTeXe{}} [EB/OL].
+% \newblock \CTeX{} 开发小组, 译.
+% \newblock 原版版本 version 6.4, 中文版本 version 6.03,
+% \newblock (2021-11-20)
+% \urlprefix\url{https://ctan.org/pkg/lshort-zh-cn}
+% \urlprefix\CTANurl[文档:]{info/lshort/chinese/lshort-zh-cn.pdf}
+%
+% \bibitem[()]{biblatex-gb7714-2015}
+% 胡振震.
+% \newblock \textit{符合 GB/T 7714-2015 标准的 biblatex 参考文献样式} [EB/OL].
+% \newblock version 1.1j,
+% \newblock (2022-08-29)
+% \urlprefix\url{https://ctan.org/pkg/biblatex-gb7714-2015}
+% \urlprefix\CTANurl[文档:]{biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf}
+%
+% \bibitem[()]{gbt7714}
+% 李泽平(\textsc{Zeping L}).
+% \newblock \textit{GB/T 7714-2015 \BibTeX{} Style} [EB/OL].
+% \newblock version 2.1.4,
+% \newblock (2022-03-12)
+% \urlprefix\url{https://ctan.org/pkg/gbt7714}
+% \urlprefix\CTANurl[文档:]{biblio/bibtex/contrib/gbt7714/gbt7714.pdf}
+%
+% \bibitem[()]{cquthesis}
+% 李振楠.
+% \newblock \textit{\textsc{CquThesis}:重庆大学毕业论文 \LaTeX{} 模板} [EB/OL].
+% \newblock version 1.50,
+% \newblock (2020-06-23)
+% \urlprefix\url{https://ctan.org/pkg/cquthesis}
+% \urlprefix\CTANurl[文档及源代码:]{macros/latex/contrib/cquthesis/cquthesis.pdf}
+%
+% \bibitem[()]{pkuthss}
+% Casper Ti. Vector.
+% \newblock \textit{北京大学学位论文模版:pkuthss} [EB/OL].
+% \newblock version 1.9.2,
+% \newblock (2022-05-05)
+% \urlprefix\url{https://ctan.org/pkg/pkuthss}
+% \urlprefix\CTANurl[文档及源代码:]{macros/latex/contrib/pkuthss/pkuthss.pdf}
+%
+% \bibitem[()]{thuthesis}
+% 清华大学 TUNA 协会.
+% \newblock \textit{\textsc{ThuThesis}:清华大学学位论文模板} [EB/OL].
+% \newblock version 7.3.0,
+% \newblock (2022-05-17)
+% \urlprefix\url{https://ctan.org/pkg/thuthesis}
+% \urlprefix\CTANurl[文档及源代码:]{macros/latex/contrib/thuthesis/thuthesis.pdf}
+%
+% \emph{以下模版未收录至 CTAN,但仍然保持活跃更新。}
+%
+% \bibitem[()]{sjtuthesis}
+% \textsc{SJTUG}.
+% \newblock \textit{上海交通大学学位论文模板} [EB/OL].
+% \newblock version 1.1.1,
+% \newblock (2022-08-04)
+% \urlprefix\url{https://github.com/sjtug/SJTUThesis}
+% \urlprefix\url[源代码仓库:]{https://github.com/sjtug/SJTUTeX}
+%
+% \bibitem[()]{ustcthesis}
+% \textsc{USTC \TeX{} User Group}.
+% \newblock \textit{中国科学技术大学学位论文 \LaTeX{} 模板} [EB/OL].
+% \newblock version 3.3.3,
+% \newblock (2022-05-17)
+% \urlprefix\url{https://github.com/ustctug/ustcthesis}
+%
+% \bibitem[()]{ucasthesis}
+% \textsc{mohuangrui}.
+% \newblock \textit{\pkg{ucasthesis} 国科大学位论文 \LaTeX{} 模板} [EB/OL].
+% \newblock (2021-10-29)
+% \urlprefix\url{https://github.com/mohuangrui/ucasthesis}
+%
+% \emph{以下模版现已停止更新。}
+%
+% \bibitem[()]{pandoxie2014fduthesislatex}
+% \textsc{Pandoxie}.
+% \newblock \textit{Fudan University-Latex Template} [EB/OL].
+% \newblock (2014-06-07)
+% \urlprefix\url{https://github.com/Pandoxie/FDU-Thesis-Latex}
+%
+% \bibitem[()]{richard2016fudanthesis}
+% \textsc{richard}.
+% \newblock \textit{复旦大学硕士学位论文模板} [EB/OL].
+% \newblock (2016-01-31)
+% \urlprefix\url{https://github.com/richarddzh/fudan-thesis}
+%
+% \bibitem{数院本科毕业论文写作模板}
+% 复旦大学数学科学学院.
+% \newblock \textit{2019 春季本科毕业论文写作模板} [EB/OL].
+% \newblock (2019-03-12)
+% \urlprefix\url{https://math.fudan.edu.cn/f3/e1/c30360a324577/page.htm}
+%
+% \subsection{其他}
+%
+% \bibitem[()]{wright2009dtxfile}
+% \textsc{Wright J}.
+% \newblock \textit{A model dtx file} [EB/OL].
+% \newblock (2009-10-06)
+% \urlprefix\url{https://www.texdev.net/2009/10/06/a-model-dtx-file/}
+%
+% \bibitem[()]{孔雀计划}
+% 刘庆(\textsc{Eric Q L}).
+% \newblock \textit{孔雀计划:中文字体排印的思路} [EB/OL].
+% \urlprefix\url{https://thetype.com/kongque/}
+%
+% \end{thebibliography}
+%
+% \clearpage
+%
+%^^A! \end{document}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+%^^A 代码部分的页边距
+% \newgeometry{
+% left = 2.25 in,
+% right = 1.00 in,
+% top = 1.25 in,
+% bottom = 1.00 in,
+% marginpar = 2.25 in
+% }
+%
+% \section{实现细节}
+%
+% 本模板使用 \LaTeX3 语法编写,依赖 \pkg{expl3} 环境,
+% 并需调用 \pkg{l3packages} 中的相关宏包。
+%
+% 按照 \LaTeX3 语法,代码中的空格、换行、回车与制表符完全忽略,
+% 而下划线“|_|”和冒号“|:|”则可作为一般字母使用。
+% 正常的空格可以使用“|~|”代替;至于 |~| 原来所表示的“带子”,
+% 则要用 \LaTeXe{} 的原始命令 \tn{nobreakspace} 代替。
+%
+% 以下代码中有一些形如 \textcolor[HTML]{2E3191}{\textsf{<*class>}}
+% 的标记,这是 \pkg{DocStrip} 中的“guard”,用来选择性地提取文件。
+% “\textsf{*}”和“\textsf{/}”分别表示该部分的开始和结束。不含
+% “\textsf{*}”和“\textsf{/}”的 guard 出现在行号左侧,它们用来确定
+% 单独一行代码的归属。这些 guard 的颜色深浅不一,用以明确嵌套关系。
+%
+% 另有若干形如 \textcolor{MaterialPink}{\textsf{<@@=fdu>}} 的 guard,
+% 它们用来指示名字空间(模块)。
+%
+% \subsection{准备}
+%
+% \begin{macrocode}
+%<@@=fdu>
+%<*class|class-en>
+% \end{macrocode}
+%
+% \changes{v0.8}{2021/09/15}{同步 \LaTeX{} 2020/10/01,不再显式调用
+% \pkg{expl3} 和 \pkg{xparse} 宏包。}
+% \changes{v0.8}{2022/02/17}{在使用前声明提示信息。}
+%
+% 检查 \LaTeX3 编程环境。
+% \begin{macrocode}
+\RequirePackage { xtemplate, l3keys2e }
+\msg_new:nnn { fduthesis } { l3-too-old }
+ {
+ Package~ "#1"~ is~ too~ old. \\\\
+ Please~ update~ an~ up-to-date~ version~ of~ the~ bundles \\
+ "l3kernel"~ and~ "l3packages"~ using~ your~ TeX~ package \\
+ manager~ or~ from~ CTAN.
+ }
+\clist_map_inline:nn { xtemplate, l3keys2e }
+ {
+ \@ifpackagelater {#1} { 2020/07/17 }
+ { } { \msg_error:nnn { fduthesis } { l3-too-old } {#1} }
+ }
+% \end{macrocode}
+%
+% 目前 \cls{fduthesis} 仅支持 \XeTeX{} 和 \LuaTeX{}。
+% \begin{macrocode}
+\msg_new:nnn { fduthesis } { unsupported-engine }
+ {
+ The~ fduthesis~ class~ requires~ either~ XeTeX~ or~ LuaTeX. \\\\
+ "#1"~ is~ not~ supported~ at~ present.~ You~ must~ change \\
+ your~ typesetting~ engine~ to~ "xelatex"~ or~ "lualatex".
+ }
+\sys_if_engine_xetex:F
+ {
+ \sys_if_engine_luatex:F
+ {
+ \msg_fatal:nnx { fduthesis } { unsupported-engine }
+ { \c_sys_engine_str }
+ }
+ }
+% \end{macrocode}
+%
+% \subsubsection{内部变量声明}
+%
+% \begin{variable}{\l_@@_tmpa_box,
+% \l_@@_tmpa_clist,
+% \l_@@_tmpa_dim,
+% \l_@@_tmpa_skip,
+% \l_@@_tmpa_tl,\l_@@_tmpb_tl}
+% 临时变量。
+% \begin{macrocode}
+\box_new:N \l_@@_tmpa_box
+\clist_new:N \l_@@_tmpa_clist
+\dim_new:N \l_@@_tmpa_dim
+\skip_new:N \l_@@_tmpa_skip
+\tl_new:N \l_@@_tmpa_tl
+\tl_new:N \l_@@_tmpb_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_thesis_type_int}
+% 论文类型。取值 1、2、3 分别对应博士、硕士、本科(学士),这与学号
+% 第三位是一致的。
+% \begin{macrocode}
+\int_new:N \g_@@_thesis_type_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_to_ctexbook_clist,\g_@@_to_hyperref_clist}
+% 分别保存由 \cls{fduthesis} 传入 \cls{ctexbook} 文档类和
+% \pkg{hyperref} 宏包的选项列表。
+% \begin{macrocode}
+\clist_new:N \g_@@_to_ctexbook_clist
+\clist_new:N \g_@@_to_hyperref_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_twoside_bool}
+% 是否开启双页模式(默认打开)。
+% \begin{macrocode}
+\bool_new:N \g_@@_twoside_bool
+\bool_set_true:N \g_@@_twoside_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_draft_bool}
+% 是否开启草稿模式。
+% \begin{macrocode}
+\bool_new:N \g_@@_draft_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_config_tl}
+% 保存配置文件名称。默认为空。
+% \begin{macrocode}
+\tl_new:N \g_@@_config_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{内部函数}
+%
+% \begin{macro}{\file_input:V,\int_to_arabic:v,\keys_define:nx,\regex_replace_all:nnc}
+% \begin{macro}[TF]{\tl_if_eq:Vn}
+% \LaTeX3{} 函数变体。
+% \begin{macrocode}
+\cs_generate_variant:Nn \file_input:n { V }
+\cs_generate_variant:Nn \int_to_arabic:n { v }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_generate_variant:Nn \regex_replace_all:nnN { nnc }
+\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { Vn } { T, TF }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_quad:,\@@_qquad:}
+% 等价于 \LaTeXe{} 中的 \tn{quad} 和 \tn{qquad}。
+% \begin{macrocode}
+\cs_new:Npn \@@_quad: { \skip_horizontal:n { 1 em } }
+\cs_new:Npn \@@_qquad: { \skip_horizontal:n { 2 em } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_vspace:N,\@@_vspace:n,\@@_vspace:c}
+% 类似 \LaTeXe{} 中的 \tn{vspace*}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_vspace:N #1
+ {
+ \dim_set_eq:NN \l_@@_tmpa_dim \prevdepth
+ \hrule height \c_zero_dim
+ \nobreak
+ \skip_vertical:N #1
+ \skip_vertical:N \c_zero_skip
+ \dim_set_eq:NN \prevdepth \l_@@_tmpa_dim
+ }
+\cs_new_protected:Npn \@@_vspace:n #1
+ {
+ \skip_set:Nn \l_@@_tmpa_skip {#1}
+ \@@_vspace:N \l_@@_tmpa_skip
+ }
+\cs_generate_variant:Nn \@@_vspace:N { c }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_symbol:n}
+% 等价于 \LaTeXe{} 中的 \tn{symbol}。
+% \begin{macrocode}
+\cs_new:Npn \@@_symbol:n #1 { \tex_char:D #1 \scan_stop: }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_arabic:n}
+% 等价于 \LaTeXe{} 中的 \tn{arabic}。
+% \begin{macrocode}
+\cs_new:Npn \@@_arabic:n #1
+ { \int_to_arabic:v { c@ #1 } }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.8}{2021/09/15}{统一使用 \LaTeX{} 2020/10/01 新的钩子机制。}
+%
+% \begin{macro}{\@@_gadd_ltxhook:nn}
+% 封装 \LaTeX{} 的钩子管理机制。本模板中的字体加载命令位于
+% \texttt{begindocument/\allowbreak before} 钩子中,需确保在 \pkg{xeCJK} 之前执行。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_gadd_ltxhook:nn #1#2
+ { \hook_gput_code:nnn {#1} { . } {#2} }
+\hook_gset_rule:nnnn { begindocument/before } { . } { < } { xeCJK }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_patch_cmd:Nnn,\@@_appto_cmd:Nn}
+% 补丁工具,来自 \pkg{ctexpatch} 宏包。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_cmd:Nnn #1#2#3
+ {
+ \ctex_patch_cmd_once:NnnnTF #1 { } {#2} {#3}
+ { } { \ctex_patch_failure:N #1 }
+ }
+\cs_new_protected:Npn \@@_appto_cmd:Nn #1#2
+ {
+ \ctex_appto_cmd:NnnTF #1 { } {#2}
+ { } { \ctex_patch_failure:N #1 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_define_fn_style:nn,
+% \@@_define_punct:nn,
+% \@@_define_name:nn,
+% \@@_define_name:nnn}
+% 用来定义脚注样式、标点、默认名称的辅助函数。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_define_fn_style:nn #1#2
+ { \tl_const:cn { c_@@_fn_style_ #1 _tl } {#2} }
+\cs_new_protected:Npn \@@_define_punct:nn #1#2
+ { \tl_const:cn { c_@@_ #1 _tl } {#2} }
+\cs_new_protected:Npn \@@_define_name:nn #1#2
+ { \tl_const:cn { c_@@_name_ #1 _tl } {#2} }
+\cs_new_protected:Npn \@@_define_name:nnn #1#2#3
+ {
+ \tl_const:cn { c_@@_name_ #1 _tl } {#2}
+ \tl_const:cn { c_@@_name_ #1 _en_tl } {#3}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_msg_new:nn,
+% \@@_error:n,\@@_error:nn,\@@_error:nx,\@@_error:nnn,\@@_error:nnnn,
+% \@@_warning:n,\@@_warning:nn,\@@_warning:nxx,
+% \@@_info:nx}
+% 各种信息函数的缩略形式。
+% \begin{macrocode}
+\cs_new:Npn \@@_msg_new:nn { \msg_new:nnn { fduthesis } }
+\cs_new:Npn \@@_error:n { \msg_error:nn { fduthesis } }
+\cs_new:Npn \@@_error:nn { \msg_error:nnn { fduthesis } }
+\cs_new:Npn \@@_error:nx { \msg_error:nnx { fduthesis } }
+\cs_new:Npn \@@_error:nnn { \msg_error:nnnn { fduthesis } }
+\cs_new:Npn \@@_error:nnnn { \msg_error:nnnnn { fduthesis } }
+\cs_new:Npn \@@_warning:n { \msg_warning:nn { fduthesis } }
+\cs_new:Npn \@@_warning:nn { \msg_warning:nnn { fduthesis } }
+\cs_new:Npn \@@_warning:nxx { \msg_warning:nnxx { fduthesis } }
+\cs_new:Npn \@@_info:nx { \msg_info:nnx { fduthesis } }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{选项处理}
+%
+% 定义 |fdu/option| 键值类。
+% \begin{macrocode}
+\keys_define:nn { fdu / option }
+ {
+% \end{macrocode}
+%
+% \changes{v0.7}{2018/02/01}{新增 \opt{type} 选项。}
+%
+% \begin{macro}{type}
+% 设置论文类型。设为模板选项主要是为了以后的兼容性。论文类型可能会
+% 影响很多设置,只是暂时还不考虑。默认为本科毕业论文。
+% \begin{macrocode}
+ type .choice:,
+ type .value_required:n = true,
+ type .choices:nn =
+ { doctor, master, bachelor }
+ { \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int },
+ type .initial:n = bachelor,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{oneside,twoside}
+% 设置页面类型为单面或双面。
+% \begin{macrocode}
+ oneside .value_forbidden:n = true,
+ twoside .value_forbidden:n = true,
+ oneside .code:n =
+ {
+ \clist_gput_right:Nn \g_@@_to_ctexbook_clist { oneside }
+ \bool_set_false:N \g_@@_twoside_bool
+ },
+ twoside .code:n =
+ {
+ \clist_gput_right:Nn \g_@@_to_ctexbook_clist { twoside }
+ \bool_set_true:N \g_@@_twoside_bool
+ },
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.5}{2017/09/23}{移除 \opt{nofonts} 选项。}
+%
+% \begin{macro}{draft}
+% 是否开启草稿模式(默认关闭)。
+% \begin{macrocode}
+ draft .choice:,
+ draft / true .code:n =
+ {
+ \bool_set_true:N \g_@@_draft_bool
+ \clist_gput_right:Nn \g_@@_to_ctexbook_clist { draft }
+ },
+ draft / false .code:n =
+ { \bool_set_false:N \g_@@_draft_bool },
+ draft .default:n = true,
+ draft .initial:n = false,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.7}{2018/01/31}{新增 \opt{config} 选项。}
+%
+% \begin{macro}{config}
+% 配置文件名。
+% \begin{macrocode}
+ config .tl_set:N = \g_@@_config_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% 处理未知选项。
+% \begin{macrocode}
+ unknown .code:n = { \@@_error:n { unknown-option } }
+ }
+\@@_msg_new:nn { unknown-option }
+ { Class~ option~ "\l_keys_key_str"~ is~ unknown. }
+% \end{macrocode}
+%
+% 将文档类选项传给 |fdu/option|。
+% \begin{macrocode}
+\ProcessKeysOptions { fdu / option }
+% \end{macrocode}
+%
+% 载入参数配置文件。
+% \begin{macrocode}
+\file_input:n { fduthesis.def }
+\@@_msg_new:nn { load-config-file }
+ { You~ are~ loading~ config~ file~ "#1". }
+\tl_if_empty:NF \g_@@_config_tl
+ {
+ \@@_info:nx { load-config-file } { \g_@@_config_tl }
+ \file_input:V \g_@@_config_tl
+ }
+% \end{macrocode}
+%
+% \subsection{载入宏包、文档类}
+%
+% \changes{v0.7}{2018/01/19}{使用 \cls{ctexbook} 文档类,而非直接使用
+% 标准文档类 \cls{book}。}
+%
+% 将选项传入 \cls{ctexbook} 文档类。
+% \begin{macrocode}
+% TODO: (2017-07-22) Chinese fonts in fduthesis-en
+\PassOptionsToClass
+ {
+ UTF8,
+%<class-en> scheme = plain,
+ heading = true,
+%<class> fontset = none,
+%<class-en> fontset = fandol,
+ zihao = -4,
+%<class> linespread = \c_@@_line_spread_fp,
+ \g_@@_to_ctexbook_clist
+ }
+ { ctexbook }
+% \end{macrocode}
+%
+% 传入各宏包选项。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ { no-math } { fontspec },
+ { perpage } { footmisc },
+ { amsmath, thmmarks } { ntheorem }
+ }
+ { \PassOptionsToPackage #1 }
+% \end{macrocode}
+%
+% 载入 \cls{ctexbook} 文档类。
+% 在使用 \XeLaTeX{} 编译时,\cls{ctexbook} 的底层将调用 \pkg{xeCJK}
+% 宏包;而在使用 \LuaLaTeX{} 编译时,则将调用 \pkg{LuaTeX-ja} 宏包。
+% 两种情况下 \cls{ctexbook} 均会调用 \pkg{fontspec} 宏包。
+% \begin{macrocode}
+\LoadClass { ctexbook }
+% \end{macrocode}
+%
+% \changes{v0.4}{2017/08/13}{提供彩色支持。}
+%
+% 载入各宏包。其中,\pkg{amsmath} 必须在 \pkg{unicode-math} 之前引入。
+% \begin{macrocode}
+\RequirePackage
+ {
+ amsmath,
+ unicode-math,
+ geometry,
+ fancyhdr,
+ footmisc,
+ ntheorem,
+ graphicx,
+ longtable,
+ caption,
+ xcolor
+ }
+% \end{macrocode}
+%
+% \changes{v0.8}{2021/09/16}{只检查 \cls{ctexbook} 和 \pkg{xeCJK} 的版本。}
+%
+% \begin{macro}{\@@_check_package:nnn,\@@_check_class:nnn}
+% 检查过时宏包和文档类。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_check_package:nnn #1#2#3
+ {
+ \@ifpackagelater {#1} {#2}
+ { } { \@@_error:nnnn { package-too-old } { Package } {#1} {#3} }
+ }
+\cs_new_protected:Npn \@@_check_class:nnn #1#2#3
+ {
+ \@ifclasslater {#1} {#2}
+ { } { \@@_error:nnnn { package-too-old } { Class } {#1} {#3} }
+ }
+\@@_msg_new:nn { package-too-old }
+ {
+ #1~ "#2"~ is~ too~ old. \\
+ The~ fduthesis~ class~ only~ supports~ "#2" \\
+ with~ a~ version~ higher~ than~ v#3. \\\\
+ Please~ update~ an~ up-to-date~ version~ of~ it \\
+ using~ your~ TeX~ package~ manager~ or~ from~ CTAN.
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\@@_check_class:nnn { ctexbook } { 2021/03/14 } { 2.5.6 }
+\sys_if_engine_xetex:T
+ { \@@_check_package:nnn { xeCJK } { 2020/05/01 } { 3.8.3 } }
+% \end{macrocode}
+%
+% \subsection{页面布局}
+%
+% 利用 \pkg{geometry} 宏包设置纸张大小、页面边距以及页眉高度。这里,
+% $\qty{2.54}{\centi\meter}=\qty{1}{in}$,
+% $\qty{3.18}{\centi\meter}=\qty{1.25}{in}$。
+% \begin{macrocode}
+\geometry
+ {
+ paper = a4paper,
+ vmargin = 2.54 cm,
+ hmargin = 3.18 cm,
+ headheight = 15 pt
+ }
+% \end{macrocode}
+%
+% 草稿模式下显示页面边框及页眉、页脚线。
+% \begin{macrocode}
+\bool_if:NT \g_@@_draft_bool { \geometry { showframe } }
+% \end{macrocode}
+%
+% \subsection{字体}
+%
+% \subsubsection{预定义字体配置}
+%
+% \changes{v0.7c}{2019/03/05}{重构字体配置,并兼容 macOS。}
+%
+% \begin{variable}{\g_@@_fontset_tl, \g_@@_cjk_fontset_tl}
+% 存放字体选项值。
+% \begin{macrocode}
+\tl_new:N \g_@@_fontset_tl
+%<class>\tl_new:N \g_@@_cjk_fontset_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{style/font}
+% \changes{v0.7c}{2019/03/05}{新增 \opt{garamond} 和 \opt{times*} 样式。}
+% 预定义西文字体。
+% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
+ font .choices:nn =
+ { garamond, libertinus, lm, palatino, times, times*, none }
+ { \tl_set_eq:NN \g_@@_fontset_tl \l_keys_choice_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{style/cjk-font}
+% \changes{v0.7c}{2019/03/05}{新增 \opt{sinotype} 和 \opt{sourcehan} 样式。}
+% 预定义中文字体。
+% \begin{macrocode}
+%<*class>
+\keys_define:nn { fdu / style }
+ {
+ cjk-font .choices:nn =
+ { adobe, fandol, founder, mac, sinotype, sourcehan, windows, none }
+ { \tl_set_eq:NN \g_@@_cjk_fontset_tl \l_keys_choice_tl }
+ }
+% \end{macrocode}
+%</class>
+% \end{macro}
+%
+% \begin{macro}{
+% \@@_setmainfont:nn,
+% \@@_setsansfont:nn,
+% \@@_setmonofont:nn,
+% \@@_setmathfont:nn}
+% 用于设置西文字体的辅助函数,来源于 \pkg{fontspec} 和 \pkg{unicode-math}。
+% \begin{arguments}
+% \item 字体名
+% \item 选项
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_setmainfont:nn #1#2
+ { \__fontspec_main_setmainfont:nn {#2} {#1} }
+\cs_new_protected:Npn \@@_setsansfont:nn #1#2
+ { \__fontspec_main_setsansfont:nn {#2} {#1} }
+\cs_new_protected:Npn \@@_setmonofont:nn #1#2
+ { \__fontspec_main_setmonofont:nn {#2} {#1} }
+\cs_new_protected:Npn \@@_setmathfont:nn #1#2
+ { \__um_setmathfont:nn {#2} {#1} }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \@@_setCJKmainfont:nn,
+% \@@_setCJKsansfont:nn,
+% \@@_setCJKmonofont:nn}
+% \changes{v0.8}{2021/09/15}{展开字体族名称。}
+% 用于设置中文字体的辅助函数,来源于 \pkg{xeCJK} 和 \pkg{ctex} 宏包。
+% \begin{macrocode}
+%<*class>
+\cs_new_protected:Npn \@@_setCJKmainfont:nn #1#2
+ { \@@_set_family:xnn { \CJKrmdefault } {#2} {#1} }
+\cs_new_protected:Npn \@@_setCJKsansfont:nn #1#2
+ { \@@_set_family:xnn { \CJKsfdefault } {#2} {#1} }
+\cs_new_protected:Npn \@@_setCJKmonofont:nn #1#2
+ { \@@_set_family:xnn { \CJKttdefault } {#2} {#1} }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_set_cjk_font_kai:nn,\fdu@kai}
+% 楷体需要单独设置。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_cjk_font_kai:nn #1#2
+ { \@@_set_family:nnn { fdu@kai } {#2} {#1} }
+\cs_new_protected:Npn \fdu@kai
+ { \@@_switch_family:n { fdu@kai } }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.7d}{2019/03/29}{在字体未提供对应粗体的情况下,允许使用伪粗。}
+%
+% \begin{macro}{
+% \@@_cjk_font_options:,
+% \@@_setCJKmainfont:n,
+% \@@_setCJKsansfont:n,
+% \@@_setCJKmonofont:n,
+% \@@_set_cjk_font_kai:n}
+% 将 bold、italic 和 bold italic 统一按照 roman 设置。
+% \begin{macrocode}
+\tl_const:Nn \@@_cjk_font_options:
+ { UprightFont = *, ItalicFont = *, AutoFakeBold = true }
+\cs_new_protected:Npx \@@_setCJKmainfont:n #1
+ { \@@_setCJKmainfont:nn {#1} { \@@_cjk_font_options: } }
+\cs_new_protected:Npx \@@_setCJKsansfont:n #1
+ { \@@_setCJKsansfont:nn {#1} { \@@_cjk_font_options: } }
+\cs_new_protected:Npx \@@_setCJKmonofont:n #1
+ { \@@_setCJKmonofont:nn {#1} { \@@_cjk_font_options: } }
+\cs_new_protected:Npx \@@_set_cjk_font_kai:n #1
+ { \@@_set_cjk_font_kai:nn {#1} { \@@_cjk_font_options: } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_set_family:nnn,\@@_set_family:xnn,\@@_switch_family:n}
+% 封装 CJK 字体族的设定和切换命令。
+% \begin{macrocode}
+\sys_if_engine_xetex:TF
+ {
+ \cs_new_eq:NN \@@_set_family:nnn \xeCJK_set_family:nnn
+ \cs_new_eq:NN \@@_switch_family:n \xeCJK_switch_family:n
+ }
+ {
+ \cs_new_eq:NN \@@_set_family:nnn \ctex_ltj_set_family:nnn
+ \cs_new_eq:NN \@@_switch_family:n \ctex_ltj_switch_family:n
+ }
+\cs_generate_variant:Nn \@@_set_family:nnn { x }
+%</class>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \setmainfont,
+% \setsansfont,
+% \setmonofont,
+% \setmathfont,
+% \setCJKmainfont,
+% \setCJKsansfont,
+% \setCJKmonofont}
+% 重新定义以上宏包提供的字体选择命令。我们把它放在导言区末尾,使得用户配置不被
+% 模板配置覆盖。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_font_helper:n #1
+ {
+ \exp_args:Nc \RenewDocumentCommand { set #1 font } { O { } m O { } }
+ {
+ \ctex_at_end_preamble:n
+ { \use:c { @@_set #1 font:nn } {##2} { ##1, ##3 } }
+ }
+ }
+\clist_map_inline:nn { main, sans, mono, math }
+ { \@@_set_font_helper:n {#1} }
+%<class>\clist_map_inline:nn { CJKmain, CJKsans, CJKmono }
+%<class> { \@@_set_font_helper:n {#1} }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.7e}{2019/04/10}{兼容 Libertinus 和 XITS 字体的文件名变动。}
+% \changes{v0.8}{2021/09/15}{判断 Libertinus Sans Bold Oblique 字体是否存在。}
+% \changes{v0.9}{2023/02/18}{不再检查 Libertinus 和 XITS 字体的文件名。}
+%
+% \begin{macro}{\@@_load_font_garamond:}
+% EB Garamond 系列。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_font_garamond:
+ {
+ \@@_setmainfont:nn { EBGaramond }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic
+ }
+ \@@_setsansfont:nn { LibertinusSans }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ }
+ \@@_setmonofont:nn { lmmonolt10 }
+ {
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique
+ }
+ \@@_setmathfont:nn { Garamond-Math.otf } { }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_font_libertinus:}
+% Libertinus 系列。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_font_libertinus:
+ {
+ \@@_setmainfont:nn { LibertinusSerif }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
+ }
+ \@@_setsansfont:nn { LibertinusSans }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ }
+ \@@_setmonofont:nn { lmmonolt10 }
+ {
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique
+ }
+ \@@_setmathfont:nn { LibertinusMath-Regular.otf } { }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_font_lm:}
+% Latin Modern 系列。在 \XeLaTeX{} 和 \LuaLaTeX{} 中已作为默认字体,所以仅需
+% 额外处理数学部分。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_font_lm:
+ { \@@_setmathfont:nn { latinmodern-math.otf } { } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_font_palatino:}
+% Palatino 系列。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_font_palatino:
+ {
+ \@@_setmainfont:nn { texgyrepagella }
+ {
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic
+ }
+ \@@_setsansfont:nn { LibertinusSans }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ Scale = MatchUppercase,
+ }
+ \@@_setmonofont:nn { lmmonolt10 }
+ {
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique
+ }
+ \@@_setmathfont:nn { texgyrepagella-math.otf } { }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_font_times:}
+% Times 系列。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_font_times:
+ {
+ \@@_setmainfont:nn { XITS }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
+ }
+ \@@_setsansfont:nn { texgyreheros }
+ {
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic
+ }
+ \@@_setmonofont:nn { texgyrecursor }
+ {
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+ Ligatures = CommonOff
+ }
+ \@@_setmathfont:nn { XITSMath-Regular.otf }
+ { BoldFont = XITSMath-Bold.otf }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_font_times*:}
+% Times* 系列,除数学部分外采用系统字体。
+% \begin{macrocode}
+\cs_new_protected:cpn { @@_load_font_ times* : }
+ {
+ \@@_setmainfont:nn { Times~ New~ Roman } { }
+ \@@_setsansfont:nn { Arial } { }
+ \@@_setmonofont:nn { Courier~ New } { }
+ \@@_setmathfont:nn { XITSMath-Regular.otf }
+ { BoldFont = XITSMath-Bold.otf }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_adobe:}
+% Adobe 字库。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_adobe:
+ {
+ \@@_setCJKmainfont:n { AdobeSongStd-Light }
+ \@@_setCJKsansfont:n { AdobeHeitiStd-Regular }
+ \@@_setCJKmonofont:n { AdobeFangsongStd-Regular }
+ \@@_set_cjk_font_kai:n { AdobeKaitiStd-Regular }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_fandol:}
+% Fandol 字库。注意它是安装在 TeX 发行版中的,所以使用文件名调用。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_fandol:
+ {
+ \@@_setCJKmainfont:nn { FandolSong }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Bold
+ }
+ \@@_setCJKsansfont:nn { FandolHei }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Bold
+ }
+ \@@_setCJKmonofont:nn { FandolFang }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Regular,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Regular
+ }
+ \@@_set_cjk_font_kai:nn { FandolKai }
+ {
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Regular,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Regular
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_founder:}
+% 方正字库。虽然有粗体(方正小标宋)等,但并非免费,故这里不做处理。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_founder:
+ {
+ \@@_setCJKmainfont:n { FZShuSong-Z01 }
+ \@@_setCJKsansfont:n { FZHei-B01 }
+ \@@_setCJKmonofont:n { FZFangSong-Z02 }
+ \@@_set_cjk_font_kai:n { FZKai-Z03 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_mac:}
+% macOS 自带中文字体。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_mac:
+ {
+ \@@_setCJKmainfont:nn { STSongti-SC }
+ {
+ UprightFont = *-Light,
+ BoldFont = *-Bold,
+ ItalicFont = *-Light,
+ BoldItalicFont = *-Bold
+ }
+ \@@_setCJKsansfont:nn { STHeitiSC }
+ {
+ UprightFont = *-Medium,
+ BoldFont = *-Medium,
+ ItalicFont = *-Medium,
+ BoldItalicFont = *-Medium
+ }
+ \@@_setCJKmonofont:n { STFangsong }
+ \@@_set_cjk_font_kai:nn { STKaitiSC }
+ {
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Bold
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_sinotype:}
+% 华文字库。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_sinotype:
+ {
+ \@@_setCJKmainfont:n { STSong }
+ \@@_setCJKsansfont:n { STHeiti }
+ \@@_setCJKmonofont:n { STFangsong }
+ \@@_set_cjk_font_kai:n { STKaiti }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_sourcehan:}
+% 思源宋体、思源黑体。由于没有对应的楷体和仿宋,这里直接给出警告。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_sourcehan:
+ {
+ \@@_setCJKmainfont:nn { SourceHanSerifSC }
+ {
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Bold
+ }
+ \@@_setCJKsansfont:nn { SourceHanSansSC }
+ {
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Regular,
+ BoldItalicFont = *-Bold
+ }
+ \@@_warning:n { source-han }
+ }
+\@@_msg_new:nn { source-han }
+ { Font~ set~ "sourcehan"~ does~ not~ contain~ kaiti~ and~ fangsong. }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_cjk_font_windows:}
+% Windows 自带中文字体。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_cjk_font_windows:
+ {
+ \@@_setCJKmainfont:n { SimSun }
+ \@@_setCJKsansfont:n { SimHei }
+ \@@_setCJKmonofont:n { FangSong }
+ \@@_set_cjk_font_kai:n { KaiTi }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_load_font:}
+% 字体加载命令。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_load_font:
+ {
+ \use:c { @@_load_font_ \g_@@_fontset_tl : }
+%<class> \use:c { @@_load_cjk_font_ \g_@@_cjk_fontset_tl : }
+ }
+\ctex_at_end_preamble:n { \@@_load_font: }
+% \end{macrocode}
+% \end{macro}
+%
+%^^A 以下相关代码已在 v0.7c 中移除。
+% \changes{v0.5}{2017/09/09}{重新实现字体调用。核心内容是分离字体的声明与设定,
+% 并按照宋、黑、仿、楷划分中文字体。}
+% \changes{v0.6}{2017/11/11}{额外处理 XITS 字体的小型大写字母。}
+% \changes{v0.5}{2017/09/23}{新增 \kvopt{font}{none} 选项。}
+% \changes{v0.5}{2017/09/23}{新增 \kvopt{cjk-font}{none} 选项。}
+% \changes{v0.5}{2017/09/23}{同步 \pkg{fontspec} v2.6e。}
+% \changes{v0.6}{2017/10/11}{同步 \pkg{unicode-math} v0.8h。}
+%
+% \subsubsection{数学字体设置}
+%
+% 根据 GB 3102.11--93 以及 ISO 80000-2:2009 的规定,数学表达式中
+% 表示变量的拉丁字母和希腊字母均应当使用斜体。
+% 这里的 |\keys_set:nn{unicode-math}| 实际相当于 \cs{unimathsetup}。
+% \begin{macrocode}
+% TODO: (2018-01-19) Do we need `mathrm=sym`?
+\keys_set:nn { unicode-math }
+ {
+ math-style = ISO,
+ bold-style = ISO,
+% mathrm = sym
+ }
+% \end{macrocode}
+%
+% \subsubsection{字号}
+%
+% \begin{macro}{style/font-size}
+% \changes{v0.9}{2023/02/08}{通过引入 \file{ctex-c5size.clo} 来修改字号。}
+% |font-size| 不是文档类选项,不能传给 \cls{ctexbook} 文档类,因此
+% 需要手动引入 |.clo| 文件。
+% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
+ font-size .choice:,
+ font-size .value_required:n = true,
+ font-size / -4 .code:n = { },
+ font-size / 5 .code:n = { \ctex_file_input:n { ctex-c5size.clo } },
+%<class-en> }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{其他设置}
+%
+% \begin{macro}{style/fullwidth-stop}
+% \changes{v0.6}{2017/10/14}{支持类别码和 TECKit 映射两种机制。}
+% 设置句号形状(圆圈或是圆点)。
+% \begin{macrocode}
+%<*class>
+ fullwidth-stop .choice:,
+ fullwidth-stop .value_required:n = true,
+% \end{macrocode}
+% 利用类别码机制切换,只有显式的\FSID 会被替换。
+% \begin{macrocode}
+ fullwidth-stop / catcode .code:n =
+ { \@@_set_fullwidth_stop_catcode: },
+% \end{macrocode}
+% 利用 TECKit 映射机制切换,相当于设置了 \tn{defaultCJKfontfeatures}
+% |{|\kvopt{Map\-ping}{fullwidth-stop}|}|。这种手段会替换所有出现的\FSID,
+% 并且将影响所有字体。只在 \XeTeX{} 下可用。
+% \begin{macrocode}
+ fullwidth-stop / mapping .code:n =
+ {
+ \sys_if_engine_xetex:TF
+ {
+ \clist_gset:Nn \g__xeCJK_default_features_clist
+ { Mapping = fullwidth-stop }
+ }
+ {
+% \end{macrocode}
+% \LuaTeX{} 下改用类别码机制代替,并给出警告。
+% \begin{macrocode}
+ \sys_if_engine_luatex:T
+ {
+ \@@_warning:n { mapping-not-available }
+ \@@_set_fullwidth_stop_catcode:
+ }
+ }
+ },
+ fullwidth-stop / false .code:n = { }
+ }
+% \end{macrocode}
+% \end{macro}
+% 提示信息。
+% \begin{macrocode}
+\@@_msg_new:nn { mapping-not-available }
+ {
+ Option~ "fullwidth-stop = mapping"~ is~ not~ available~ in~ LuaTeX. \\
+ "fullwidth-stop = catcode"~ will~ be~ set~ instead.
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_set_fullwidth_stop_catcode:}
+% \changes{v0.8}{2021/09/16}{将类别码设置应用于预定义的文本中,并优化实现。}
+% 将\FSID 设置为活动符,并定义为句点\FSFW。
+% \begin{macrocode}
+\cs_new:Npn \@@_set_fullwidth_stop_catcode:
+ {
+ \char_set_active_eq:NN ^^^^3002 \c_@@_fwid_full_stop_tl
+ \char_set_catcode_active:N ^^^^3002
+ \clist_map_inline:nn
+ { \c_@@_orig_decl_text_tl, \c_@@_auth_decl_text_tl }
+ { \tl_set_rescan:Nno ##1 { } {##1} }
+ }
+%</class>
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.8}{2021/09/15}{允许 \tn{emph} 对中文生效。}
+%
+% 声明 \tn{emph} 样式序列,使得中文强调以楷体显示。
+% \begin{macrocode}
+%<*class>
+\DeclareEmphSequence
+ {
+ \itshape \fdu@kai,
+ \upshape \CJKfamily { \CJKfamilydefault },
+ }
+%</class>
+% \end{macrocode}
+%
+% \changes{v0.6}{2017/10/28}{优化 \LuaTeX{} 下希腊字母、西里尔字母和带圈数字的
+% 显示(\pkg{ctex} v2.4.11 已默认进行处理)。}
+%
+% \subsection{页眉页脚}
+%
+% 清除默认页眉页脚格式。
+% \begin{macrocode}
+\fancyhf { }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_fancy_head:nn}
+% 页眉样式。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_fancy_head:nn #1#2
+ {
+ \fancyhead [#1]
+%<class> { \small \fdu@kai \nouppercase {#2} }
+%<class-en> { \small \itshape \nouppercase {#2} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 构建页眉,要在单面或双面下分别设置。
+%
+% \cs{fancyhead} 的选项中,\opt{E} 和 \opt{O} 分别表示偶数(even)和奇数(odd), 而 \opt{L}、
+% \opt{R} 和 \opt{C} 则分别表示左(left)、右(right)和中间(center)。按照通常的排版规则,
+% 双面模式下,偶数页的中间页眉文字在左,奇数页则在右;单面模式下,左右页眉都会显示。
+% \begin{macrocode}
+\bool_if:NTF \g_@@_twoside_bool
+ {
+ \@@_fancy_head:nn { EL } { \leftmark }
+ \@@_fancy_head:nn { OR } { \rightmark }
+ }
+ {
+ \@@_fancy_head:nn { L } { \leftmark }
+ \@@_fancy_head:nn { R } { \rightmark }
+ }
+% \end{macrocode}
+%
+% 构建页脚,用来显示页码。选项 \opt{C} 表示居中(center)。
+% \begin{macrocode}
+\fancyfoot [ C ] { \small \thepage }
+% \end{macrocode}
+%
+% 关闭横线显示(未启用)。
+% \begin{macrocode}
+% \RenewDocumentCommand \headrulewidth { } { 0 pt }
+% \end{macrocode}
+%
+% \begin{macro}{\cleardoublepage}
+% 重定义 \tn{cleardoublepage},使得偶数页面在没有内容时也不显示页眉页脚,见
+% \url{https://tex.stackexchange.com/a/1683}。
+% \begin{macrocode}
+\RenewDocumentCommand \cleardoublepage { }
+ {
+ \clearpage
+ \bool_if:NT \g_@@_twoside_bool
+ {
+ \int_if_odd:nF \c@page
+ { \hbox:n { } \thispagestyle { empty } \newpage }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \pkg{ctex} 宏包使用 \opt{heading} 选项后,会把页面格式设置为 |headings|。
+% 因此必须在 \pkg{ctex} 调用之后重新设置 \cs{pagestyle} 为 |fancy|。
+% \begin{macrocode}
+\pagestyle { fancy }
+% \end{macrocode}
+%
+% \subsection{章节标题结构}
+%
+% |\keys_set:nn{ctex}| 实际相当于 \cs{ctexset}。
+% \begin{macrocode}
+\keys_set:nn { ctex }
+ {
+% \end{macrocode}
+% 设置章(chapter)、节(section)与小节(sub-section)标题样式。
+% 此处使用 \kvopt{fixskip}{true} 选项来抑制前后的多余间距。
+% \begin{macrocode}
+ chapter =
+ {
+%<class> format = \huge \normalfont \sffamily \centering,
+%<*class-en>
+ format = \centering,
+ nameformat = \LARGE \bfseries,
+ titleformat = \huge \bfseries,
+ aftername = \par \nobreak \vskip 10 pt,
+%</class-en>
+ beforeskip = 50 pt,
+ afterskip = 40 pt,
+ number = \@@_arabic:n { chapter },
+ fixskip = true
+ },
+ section =
+ {
+%<class> format = \Large \normalfont \sffamily \raggedright,
+%<class-en> format = \Large \bfseries \raggedright,
+ beforeskip = 3.5 ex plus 1.0 ex minus 0.2 ex,
+ afterskip = 2.7 ex plus 0.5 ex,
+ fixskip = true
+ },
+ subsection =
+ {
+%<class> format = \large \normalfont \sffamily \raggedright,
+%<class-en> format = \large \bfseries \raggedright,
+ beforeskip = 3.25 ex plus 1.0 ex minus 0.2 ex,
+ afterskip = 2.5 ex plus 0.3 ex,
+ fixskip = true
+ }
+ }
+% \end{macrocode}
+%
+% \changes{v0.7d}{2019/03/24}{优化目录、摘要、参考文献等的标题实现。}
+% \changes{v0.9}{2023/02/05}{在目录和书签中删除章标题中的 \tn{quad}。}
+%
+% \begin{macro}{\@@_sanitize_chapter_title:n}
+% 删除章标题中的 \tn{quad}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_sanitize_chapter_title:n #1
+ {
+ \tl_clear:N \l_@@_tmpa_tl
+ \tl_set:No \l_@@_tmpa_tl {#1}
+ \tl_remove_all:Nn \l_@@_tmpa_tl { \quad }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_chapter:n,\@@_chapter:V}
+% 手动生成章的标题,用于摘要、参考文献等。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_chapter:n #1
+ {
+ \@@_sanitize_chapter_title:n {#1}
+ \group_begin:
+ \ctexset { chapter / numbering = false }
+ \chapter [ \l_@@_tmpa_tl ] {#1}
+ \group_end:
+ \@@_chapter_header:n {#1}
+ }
+\cs_generate_variant:Nn \@@_chapter:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_chapter_no_toc:n,\@@_chapter_no_toc:V}
+% 目录自身不出现在目录中,需特别处理。参考
+% \url{https://tex.stackexchange.com/a/1821}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_chapter_no_toc:n #1
+ {
+ \chapter * {#1}
+ \@@_sanitize_chapter_title:n {#1}
+ \pdfbookmark [0] { \l_@@_tmpa_tl } { toc }
+ \@@_chapter_header:n {#1}
+ }
+\cs_generate_variant:Nn \@@_chapter_no_toc:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_chapter_header:n}
+% \changes{v0.8}{2022/01/18}{简化单页模式下页眉的实现方式。}
+% 单页模式下,目录、摘要、符号表等的页眉中间为相应标题,左右为空。这里通过居中的
+% \tn{leftmark} 实现。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_chapter_header:n #1
+ {
+ \bool_if:NTF \g_@@_twoside_bool
+ { \markboth {#1} {#1} }
+ { \markboth { \hfill #1 \hfill } { } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{脚注}
+%
+% \changes{v0.3}{2017/02/21}{支持脚注。}
+%
+% \subsubsection{编号样式}
+%
+% 各种脚注编号样式的名称。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ { plain } { plain },
+ { libertinus } { libertinus },
+ { libertinus_neg } { libertinus* },
+ { libertinus_sans } { libertinus-sans },
+ { pifont } { pifont },
+ { pifont_neg } { pifont* },
+ { pifont_sans } { pifont-sans },
+ { pifont_sans_neg } { pifont-sans* },
+ { xits } { xits },
+ { xits_sans } { xits-sans },
+ { xits_sans_neg } { xits-sans* }
+ }
+ { \@@_define_fn_style:nn #1 }
+% \end{macrocode}
+%
+% \begin{variable}{\l_@@_fn_style_tl}
+% 保存当前使用的脚注编号样式。
+% \begin{macrocode}
+\tl_new:N \l_@@_fn_style_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
+% \end{macrocode}
+%
+% \begin{macro}{style/footnote-style}
+% 脚注类型共分四大类:
+% \begin{itemize}
+% \item \opt{plain}:使用当前字体;
+% \item \opt{libertinus}:取自 Libertinus Serif 和 Libertinus Sans
+% 字体;
+% \item \opt{pifont}:使用 \pkg{pifont} 宏包;
+% \item \opt{xits}:取自 XITS 字体。
+% \end{itemize}
+% 不带任何修饰的为衬线阳文符号,带“|sans|”的为无衬线符号,带“|*|”的
+% 为阴文版本。
+% \begin{macrocode}
+ footnote-style .choices:nn =
+ {
+ plain,
+ libertinus, libertinus*, libertinus-sans,
+ pifont, pifont*, pifont-sans, pifont-sans*,
+ xits, xits-sans, xits-sans*
+ }
+% \end{macrocode}
+% \changes{v0.6}{2017/11/12}{不再依赖 XITS-Math 字体。}
+% 若使用 \opt{pifont} 类型,则需引入 \pkg{pifont} 宏包。
+% \begin{macrocode}
+ {
+ \tl_gset_eq:NN \l_@@_fn_style_tl \l_keys_choice_tl
+ \int_compare:nT { 5 <= \l_keys_choice_int <= 8 }
+ { \RequirePackage { pifont } }
+ },
+ footnote-style .value_required:n = true
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_libertinus:n}
+% \opt{libertinus} 普通版。\numrange{1}{20} 为数字,\numrange{21}{46}
+% 为小写英文字母,\numrange{47}{72} 为大写英文字母。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_libertinus:n #1
+ {
+ \int_compare:nTF { #1 >= 21 }
+ {
+ \int_compare:nTF { #1 >= 47 }
+ { \@@_symbol:n { \int_eval:n { "24B6 - 47 + #1 } } }
+ { \@@_symbol:n { \int_eval:n { "24D0 - 21 + #1 } } }
+ }
+ { \@@_symbol:n { \int_eval:n { "2460 - 1 + #1 } } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_libertinus_neg:n}
+% \opt{libertinus} 阴文衬线版。只含 \numrange{1}{20}。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_libertinus_neg:n #1
+ {
+ \int_compare:nTF { #1 >= 11 }
+ { \@@_symbol:n { \int_eval:n { "24EB - 11 + #1 } } }
+ { \@@_symbol:n { \int_eval:n { "2776 - 1 + #1 } } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_pifont:n}
+% \opt{pifont} 普通版。以下四种都只包含 \numrange{1}{10}。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_pifont:n #1
+ { \ding { \int_eval:n { 171 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_pifont_neg:n}
+% \opt{pifont} 阴文衬线版。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_pifont_neg:n #1
+ { \ding { \int_eval:n { 181 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_pifont_sans:n}
+% \opt{pifont} 阳文无衬线版。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_pifont_sans:n #1
+ { \ding { \int_eval:n { 191 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_pifont_sans_neg:n}
+% \opt{pifont} 阴文无衬线版。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_pifont_sans_neg:n #1
+ { \ding { \int_eval:n { 201 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_xits:n}
+% \opt{xits} 普通版。\numrange{1}{9} 为数字,\numrange{10}{35}
+% 为小写英文字母,\numrange{36}{61} 为大写英文字母。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_xits:n #1
+ {
+ \int_compare:nTF { #1 >= 10 }
+ {
+ \int_compare:nTF { #1 >= 36 }
+ { \@@_symbol:n { \int_eval:n { "24B6 - 36 + #1 } } }
+ { \@@_symbol:n { \int_eval:n { "24D0 - 10 + #1 } } }
+ }
+ { \@@_symbol:n { \int_eval:n { "2460 - 1 + #1 } } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_xits_sans:n}
+% \opt{xits} 阳文无衬线版。只包含 \numrange{1}{10}。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_xits_sans:n #1
+ { \@@_symbol:n { \int_eval:n { "2780 - 1 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_xits_sans_neg:n}
+% \opt{xits} 阴文无衬线版。也只包含 \numrange{1}{10}。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_xits_sans_neg:n #1
+ { \@@_symbol:n { \int_eval:n { "278A - 1 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thefootnote}
+% \changes{v0.7}{2018/01/17}{改为可完全展开的命令。}
+% 重定义脚注编号。
+% \begin{macrocode}
+\cs_set:Npn \thefootnote { \fdu_footnote_number:N \c@footnote }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fdu_footnote_number:N}
+% 脚注编号样式。
+% \begin{macrocode}
+\cs_new:Npn \fdu_footnote_number:N #1
+ {
+ \tl_case:NnF \l_@@_fn_style_tl
+ {
+% \end{macrocode}
+% \opt{plain} 类型直接使用计数器 |footnote| 的值。
+% \begin{macrocode}
+ \c_@@_fn_style_plain_tl
+ { \int_use:N #1 }
+% \end{macrocode}
+% \opt{libertinus} 类型需要使用 Libertinus Serif 或
+% Libertinus Sans 字体。
+% \begin{macrocode}
+ \c_@@_fn_style_libertinus_tl
+ {
+ \fontspec { LibertinusSerif-Regular.otf }
+ \@@_fn_symbol_libertinus:n {#1}
+ }
+ \c_@@_fn_style_libertinus_neg_tl
+ {
+ \fontspec { LibertinusSerif-Regular.otf }
+ \@@_fn_symbol_libertinus_neg:n {#1}
+ }
+ \c_@@_fn_style_libertinus_sans_tl
+ {
+ \fontspec { LibertinusSans-Regular.otf }
+ \@@_fn_symbol_libertinus:n {#1}
+ }
+% \end{macrocode}
+% \opt{pifont} 类型无需进行额外的操作。
+% \begin{macrocode}
+ \c_@@_fn_style_pifont_tl
+ { \@@_fn_symbol_pifont:n {#1} }
+ \c_@@_fn_style_pifont_neg_tl
+ { \@@_fn_symbol_pifont_neg:n {#1} }
+ \c_@@_fn_style_pifont_sans_tl
+ { \@@_fn_symbol_pifont_sans:n {#1} }
+ \c_@@_fn_style_pifont_sans_neg_tl
+ { \@@_fn_symbol_pifont_sans_neg:n {#1} }
+% \end{macrocode}
+% \opt{xits} 类型需要临时切换数学字体。
+% \begin{macrocode}
+ \c_@@_fn_style_xits_tl
+ {
+ \fontspec { XITS-Regular.otf }
+ \@@_fn_symbol_xits:n {#1}
+ }
+ \c_@@_fn_style_xits_sans_tl
+ {
+ \fontspec { XITS-Regular.otf }
+ \@@_fn_symbol_xits_sans:n {#1}
+ }
+ \c_@@_fn_style_xits_sans_neg_tl
+ {
+ \fontspec { XITS-Regular.otf }
+ \@@_fn_symbol_xits_sans_neg:n {#1}
+ }
+ }
+% \end{macrocode}
+% 变量 \cs{l_@@_fn_style_tl} 保存的类型未知时,默认使用 \opt{plain}
+% 类型。
+% \begin{macrocode}
+ { \int_use:N #1 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{整体样式}
+%
+% \begin{macro}[int]{\@makefntext}
+% \changes{v0.7}{2018/01/18}{简化实现,兼容 \pkg{fancyvrb} 宏包。
+% 不再使用悬挂缩进。}
+% 重定义内部脚注文字命令,使脚注编号不使用上标,宽度为 \qty{1.5}{em}。
+% 见 \url{http://tex.stackexchange.com/q/19844} 和
+% \url{https://www.zhihu.com/question/53030087}。
+% \begin{macrocode}
+\cs_set:Npn \@makefntext #1
+ {
+ \mode_leave_vertical:
+ \hbox_to_wd:nn { 1.5 em } { \@thefnmark \hfil }
+ #1
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{定理环境}
+%
+% \changes{v0.3}{2017/05/07}{新增定理环境。}
+%
+% \begin{variable}{\c_@@_thm_style_plain_clist,
+% \c_@@_thm_style_break_clist}
+% 保存 \opt{plain}、\opt{break} 两种类型的定理样式名称。
+% \begin{macrocode}
+\clist_const:Nn \c_@@_thm_style_plain_clist
+ { plain, margin, change }
+\clist_const:Nn \c_@@_thm_style_break_clist
+ { break, marginbreak, changebreak }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_thm_style_tl,
+% \l_@@_thm_header_font_tl,
+% \l_@@_thm_body_font_tl,
+% \l_@@_thm_qed_tl,
+% \l_@@_thm_counter_tl}
+% 定理所需的一些字段。
+% \begin{macrocode}
+\tl_new:N \l_@@_thm_style_tl
+\tl_new:N \l_@@_thm_header_font_tl
+\tl_new:N \l_@@_thm_body_font_tl
+\tl_new:N \l_@@_thm_qed_tl
+\tl_new:N \l_@@_thm_counter_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{theorem/style,
+% theorem/header-font,
+% theorem/body-font,
+% theorem/qed,
+% theorem/counter}
+% 定义 |fdu/theorem| 键值类。
+% \begin{macrocode}
+\keys_define:nn { fdu / theorem }
+ {
+ style .tl_set:N = \l_@@_thm_style_tl,
+ header-font .tl_set:N = \l_@@_thm_header_font_tl,
+ body-font .tl_set:N = \l_@@_thm_body_font_tl,
+ qed .tl_set:N = \l_@@_thm_qed_tl,
+ counter .tl_set:N = \l_@@_thm_counter_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_thm_ntheorem_style:n,\@@_thm_ntheorem_new:w}
+% 拷贝 \pkg{ntheorem} 命令。
+% \begin{macrocode}
+\cs_new_eq:NN \@@_thm_ntheorem_style:n \theoremstyle
+\cs_new_eq:NN \@@_thm_ntheorem_new:w \newtheorem
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.7}{2017/12/12}{原 \cs{fdunewtheorem} 命令更名为
+% \cs{new\-the\-orem}。}
+%
+% \begin{macro}{\newtheorem}
+% \changes{v0.9}{2023/02/08}{改用 \cs{DeclareDocumentCommand} 定义。}
+% 定义新的定理环境。
+% \begin{macrocode}
+\DeclareDocumentCommand \newtheorem { s o m m }
+ {
+% \end{macrocode}
+% 默认情况下,由 \cs{newtheorem*} 创建的定理其证毕符号为 \cs{QED},
+% 而由 \cs{new\-the\-orem} 创建的则不带证毕符号。符号 \cs{QED} 由
+% \pkg{unicode-math} 宏包提供。
+% \begin{macrocode}
+ \IfBooleanTF {#1}
+ { \tl_set:Nn \l_@@_thm_qed_tl { \ensuremath { \QED } } }
+ { \tl_set:Nn \l_@@_thm_qed_tl { } }
+% \end{macrocode}
+% 设置默认样式为 \opt{plain}。
+% \begin{macrocode}
+% TODO: (2017-12-07) Move to interface
+ \tl_set:Nn \l_@@_thm_style_tl { plain }
+% \end{macrocode}
+% 处理可选参数。利用 |fdu/theorem| 键值对设置,并按此修改证毕符号、
+% 定理头字体和定理正文字体。
+% \begin{macrocode}
+ \IfValueT {#2} { \keys_set:nn { fdu / theorem } {#2} }
+ \fdu_thm_set_header_font:V \l_@@_thm_header_font_tl
+ \fdu_thm_set_body_font:V \l_@@_thm_body_font_tl
+ \fdu_thm_set_qed:V \l_@@_thm_qed_tl
+% \end{macrocode}
+% \cs{newtheorem} 负责创建编号定理,而 \cs{newtheorem*}
+% 则负责创建无编号定理。以下分这两种情况处理。
+% \begin{macrocode}
+ \IfBooleanTF {#1}
+ {
+% \end{macrocode}
+% 带 |*| 的版本原则上只接受 \opt{plain} 和 \opt{break} 两种样式,
+% 其余样式将被转换成这两者其中之一。
+% \begin{macrocode}
+ \clist_if_in:nVF { plain, break } \l_@@_thm_style_tl
+ {
+ \clist_if_in:NVTF
+ \c_@@_thm_style_plain_clist \l_@@_thm_style_tl
+ { \@@_thm_redefine_style:n { plain } }
+ {
+ \clist_if_in:NVTF
+ \c_@@_thm_style_break_clist \l_@@_thm_style_tl
+ { \@@_thm_redefine_style:n { break } }
+ {
+ \@@_error:nx { unknown-theorem-style }
+ { \l_@@_thm_style_tl }
+ }
+ }
+ }
+% \end{macrocode}
+% \pkg{ntheorem} 宏包提供的无编号定理带有 |nonumber| 前缀,
+% 这里将其加上。
+% \begin{macrocode}
+ \tl_put_left:Nn \l_@@_thm_style_tl { nonumber }
+ \fdu_thm_new_no_number:Vxx \l_@@_thm_style_tl {#3} {#4}
+ }
+ {
+% \end{macrocode}
+% 不带 |*| 的版本支持不含“|nonumber|”的所有定理样式。
+% \begin{macrocode}
+ \clist_clear:N \l_@@_tmpa_clist
+ \clist_concat:NNN \l_@@_tmpa_clist
+ \c_@@_thm_style_plain_clist \c_@@_thm_style_break_clist
+ \clist_if_in:NVF \l_@@_tmpa_clist \l_@@_thm_style_tl
+ {
+ \@@_error:nx { unknown-theorem-style }
+ { \l_@@_thm_style_tl }
+ }
+ \fdu_thm_new:VVxx \l_@@_thm_style_tl \l_@@_thm_counter_tl
+ {#3} {#4}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_thm_redefine_style:n}
+% 重定义定理样式,并给出警告。
+% \begin{macrocode}
+\cs_new:Npn \@@_thm_redefine_style:n #1
+ {
+ \@@_warning:nxx { redefine-theorem-style }
+ {#1} { \l_@@_thm_style_tl }
+ \tl_set:Nn \l_@@_thm_style_tl {#1}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 提示信息。
+% \begin{macrocode}
+\@@_msg_new:nn { redefine-theorem-style }
+ { Theorem~ style~ "#2"~ will~ be~ redefined~ as~ "#1". }
+\@@_msg_new:nn { unknown-theorem-style }
+ { Theorem~ style~ "#1"~ is~ unknown. }
+% \end{macrocode}
+%
+% \begin{macro}{\fdu_thm_new:nnnn,\fdu_thm_new:VVxx}
+% 带编号的定理环境。
+% \begin{arguments}
+% \item 样式
+% \item 计数器
+% \item 定理环境名称
+% \item 定理头文字
+% \end{arguments}
+% \begin{macrocode}
+\cs_new:Npn \fdu_thm_new:nnnn #1#2#3#4
+ {
+ \@@_thm_ntheorem_style:n {#1}
+ \@@_thm_ntheorem_new:w {#3} {#4} [#2]
+ }
+\cs_generate_variant:Nn \fdu_thm_new:nnnn { VVxx }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fdu_thm_new_no_number:nnn,
+% \fdu_thm_new_no_number:Vxx}
+% 不带编号的定理环境。
+% \begin{arguments}
+% \item 样式
+% \item 定理环境名称
+% \item 定理头文字
+% \end{arguments}
+% \begin{macrocode}
+\cs_new:Npn \fdu_thm_new_no_number:nnn #1#2#3
+ {
+ \@@_thm_ntheorem_style:n {#1}
+ \@@_thm_ntheorem_new:w {#2} {#3}
+ }
+\cs_generate_variant:Nn \fdu_thm_new_no_number:nnn { Vxx }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fdu_thm_set_qed:n,
+% \fdu_thm_set_header_font:n,
+% \fdu_thm_set_body_font:n,
+% \fdu_thm_set_qed:V,
+% \fdu_thm_set_header_font:V,
+% \fdu_thm_set_body_font:V}
+% 封装 \pkg{ntheorem} 宏包提供的若干命令,分别用以设置证毕符号、
+% 定理头字体和定理正文字体。
+% \begin{macrocode}
+\cs_new:Npn \fdu_thm_set_qed:n #1 { \theoremsymbol {#1} }
+\cs_new:Npn \fdu_thm_set_header_font:n #1 { \theoremheaderfont {#1} }
+\cs_new:Npn \fdu_thm_set_body_font:n #1 { \theorembodyfont {#1} }
+\cs_generate_variant:Nn \fdu_thm_set_qed:n { V }
+\cs_generate_variant:Nn \fdu_thm_set_header_font:n { V }
+\cs_generate_variant:Nn \fdu_thm_set_body_font:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{图表绘制;浮动体}
+%
+% \changes{v0.3}{2017/07/09}{支持浮动体。}
+%
+% 分别设置浮动体 \env{figure} 和 \env{table} 的标题样式。
+% \begin{macrocode}
+\captionsetup [ figure ]
+ {
+ font = small,
+ labelsep = quad
+ }
+\captionsetup [ table ]
+ {
+ font = { small, sf },
+ labelsep = quad
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\thefigure,\thetable}
+% \changes{v0.7}{2018/01/17}{改为可完全展开的命令。}
+% \changes{v0.8}{2021/03/10}{直接调用 \tn{thechapter} 使得附录中的图表编号正确显示。}
+% 重定义图表编号。
+% \begin{macrocode}
+\cs_set:Npn \thefigure
+ { \thechapter - \@@_arabic:n { figure } }
+\cs_set:Npn \thetable
+ { \thechapter - \@@_arabic:n { table } }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{封面}
+%
+% \subsubsection{信息录入}
+%
+% \begin{variable}{\l_@@_info_title_tl,
+% \l_@@_info_date_tl,
+% \l_@@_info_author_tl,
+% \l_@@_info_supervisor_tl,
+% \l_@@_info_department_tl,
+% \l_@@_info_major_tl,
+% \l_@@_info_student_id_tl,
+% \l_@@_info_school_id_tl,
+% \l_@@_info_clc_tl,
+% \l_@@_info_jel_tl,
+% \l_@@_info_instructors_clist,
+% \l_@@_info_keywords_clist}
+% 封面所需的一些字段。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ title, date, author, supervisor, department, major, student_id,
+ school_id, clc, jel
+ }
+ { \tl_new:c { l_@@_info_ #1 _tl } }
+\clist_new:N \l_@@_info_instructors_clist
+\clist_new:N \l_@@_info_keywords_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_info_title_en_tl,
+% \l_@@_info_author_en_tl,
+% \l_@@_info_supervisor_en_tl,
+% \l_@@_info_department_en_tl,
+% \l_@@_info_major_en_tl,
+% \l_@@_info_keywords_en_clist}
+% 对应的英文字段。
+% \begin{macrocode}
+\clist_map_inline:nn
+ { title, author, supervisor, department, major }
+ { \tl_new:c { l_@@_info_ #1 _en_tl } }
+\clist_new:N \l_@@_info_keywords_en_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_info_degree_type_int}
+% 学位类型。1 为学术学位,2 为专业学位。
+% \begin{macrocode}
+\int_new:N \l_@@_info_degree_type_int
+% \end{macrocode}
+% \end{variable}
+%
+% \changes{v0.9}{2023/02/12}{删除论文标题中的 \tn{\textbackslash} 和汉字间的空格。}
+%
+% \begin{variable}{\l_@@_info_title_sanitized_tl,
+% \l_@@_info_title_en_sanitized_tl}
+% 处理后的论文标题。
+% \begin{macrocode}
+\tl_new:N \l_@@_info_title_sanitized_tl
+\tl_new:N \l_@@_info_title_en_sanitized_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_set_title:nn}
+% 设置论文标题,并删除其中的 |\\| 和汉字间的空格。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_title:nn #1#2
+ {
+ \tl_set:cn { l_@@_info_ #1 _tl } {#2}
+ \tl_set:cn { l_@@_info_ #1 _sanitized_tl } {#2}
+ \tl_replace_all:cnn { l_@@_info_ #1 _sanitized_tl } { \\ } { ~ }
+ \regex_replace_all:nnc
+ { \s+ } { \ }
+ { l_@@_info_ #1 _sanitized_tl }
+ \regex_replace_all:nnc
+ { ([\x{4e00}-\x{9fff}]) \s+ ([\x{4e00}-\x{9fff}]) } { \1 \2 }
+ { l_@@_info_ #1 _sanitized_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 定义 |fdu/info| 键值类。
+% \begin{macrocode}
+\keys_define:nn { fdu / info }
+ {
+% \end{macrocode}
+%
+% \changes{v0.7}{2018/02/01}{新增 \opt{info/degree} 选项。}
+%
+% \begin{macro}{info/degree}
+% 学位类型。只对硕士论文有效。
+% \begin{macrocode}
+ degree .choices:nn =
+ { academic, professional }
+ { \int_set_eq:NN \l_@@_info_degree_type_int \l_keys_choice_int },
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/title,info/title*}
+% 论文题目。以下带星号的项目均表示相应的英文字段。
+% \begin{macrocode}
+ title .code:n = { \@@_set_title:nn { title } {#1} },
+ title* .code:n = { \@@_set_title:nn { title_en } {#1} },
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/date}
+% 论文完成日期。
+% \begin{macrocode}
+ date .tl_set:N = \l_@@_info_date_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/author,info/author*}
+% 作者姓名。
+% \begin{macrocode}
+ author .tl_set:N = \l_@@_info_author_tl,
+ author* .tl_set:N = \l_@@_info_author_en_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/supervisor,info/supervisor*}
+% 导师姓名。
+% \begin{macrocode}
+ supervisor .tl_set:N = \l_@@_info_supervisor_tl,
+% supervisor* .tl_set:N = \l_@@_info_supervisor_en_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/instructors}
+% 指导小组成员。
+% \begin{macrocode}
+ instructors .clist_set:N = \l_@@_info_instructors_clist,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/department,info/department*}
+% 院系。
+% \begin{macrocode}
+ department .tl_set:N = \l_@@_info_department_tl,
+% department* .tl_set:N = \l_@@_info_department_en_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/major,info/major*}
+% 专业。
+% \begin{macrocode}
+ major .tl_set:N = \l_@@_info_major_tl,
+% major* .tl_set:N = \l_@@_info_major_en_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/student-id}
+% 学号。
+% \begin{macrocode}
+ student-id .tl_set:N = \l_@@_info_student_id_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/school-id}
+% 学校代码。
+% \begin{macrocode}
+ school-id .tl_set:N = \l_@@_info_school_id_tl,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/keywords,info/keywords*}
+% 论文关键字。
+% \begin{macrocode}
+ keywords .clist_set:N = \l_@@_info_keywords_clist,
+ keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.8}{2021/09/16}{新增 \opt{info/jel} 选项。}
+%
+% \begin{macro}{info/clc,info/jel}
+% 中图分类号和 JEL 分类号。
+% \begin{macrocode}
+ clc .tl_set:N = \l_@@_info_clc_tl,
+ jel .tl_set:N = \l_@@_info_jel_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.4}{2017/08/10}{新增 \opt{style/logo} 与
+% \opt{style/logo-size} 选项。}
+%
+% \begin{variable}{\l_@@_cover_logo_tl,\l_@@_cover_logo_size_clist}
+% \begin{macrocode}
+\tl_new:N \l_@@_cover_logo_tl
+\clist_new:N \l_@@_cover_logo_size_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{style/logo,style/logo-size}
+% 校名图片的文件名和尺寸。
+% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
+ logo .tl_set:N = \l_@@_cover_logo_tl,
+ logo-size .clist_set:N = \l_@@_cover_logo_size_clist
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{密级}
+%
+% \changes{v0.3}{2017/07/04}{新增 \opt{info/secret-level} 与
+% \opt{info/secret-year} 选项。}
+%
+% \begin{variable}{\l_@@_secret_bool}
+% 是否显示密级。
+% \begin{macrocode}
+\bool_new:N \l_@@_secret_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_info_secret_level_tl}
+% 保存当前的密级。
+% \begin{macrocode}
+\tl_new:N \l_@@_info_secret_level_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macrocode}
+\keys_define:nn { fdu / info }
+ {
+% \end{macrocode}
+%
+% \begin{macro}{info/secret-level}
+% \changes{v0.6}{2017/11/11}{不再依赖 XITS-Math 字体。}
+% 密级。\opt{none} 表示不涉密,\opt{i}、\opt{ii}、\opt{iii} 分别为
+% 秘密、机密、绝密。
+% \begin{macrocode}
+ secret-level .choices:nn =
+ { none, i, ii, iii }
+ {
+ \int_compare:nTF { \l_keys_choice_int >= 2 }
+ {
+ \bool_set_true:N \l_@@_secret_bool
+ \tl_set:Nn \l_@@_info_secret_level_tl
+ {
+ \clist_item:Nn \c_@@_secret_clist
+ { \l_keys_choice_int - 1 }
+ }
+ }
+ { \bool_set_false:N \l_@@_secret_bool }
+ },
+ secret-level .value_required:n = true,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/secret-year}
+% 保密年限。
+% \begin{macrocode}
+ secret-year .tl_set:N = \l_@@_info_secret_year_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{定义内部函数}
+%
+% \begin{macro}{\@@_spread_box:nn,\@@_spread_box:no}
+% 分散对齐的水平盒子。
+% \begin{arguments}
+% \item 宽度
+% \item 内容
+% \end{arguments}
+% 利用 \cs{tl_map_inline:nn} 在字符间插入 \tn{hfil};紧随其后的 \tn{unskip}
+% 将会去掉最后一个 \tn{hfil}。见 \url{https://tex.stackexchange.com/q/169689}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_spread_box:nn #1#2
+ {
+ \mode_leave_vertical:
+ \hbox_to_wd:nn {#1} { \tl_map_inline:nn {#2} { ##1 \hfil } \unskip }
+ }
+\cs_generate_variant:Nn \@@_spread_box:nn { no }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_center_box:nn,\@@_center_box:Vn}
+% 居中对齐的水平盒子。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_center_box:nn #1#2
+ {
+ \mode_leave_vertical:
+ \hbox_to_wd:nn {#1} { \hfil #2 \hfil }
+ }
+\cs_generate_variant:Nn \@@_center_box:nn { Vn }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fixed_width_box:nn}
+% 限宽盒子(允许换行)。
+% \begin{macrocode}
+\cs_new:Npn \@@_fixed_width_box:nn #1#2
+ { \parbox {#1} {#2} }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fixed_width_center_box:nn}
+% 居中对齐的限宽盒子(允许换行)。
+% \begin{macrocode}
+\cs_new:Npn \@@_fixed_width_center_box:nn #1#2
+ { \parbox {#1} { \centering #2 } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_get_text_width:Nn,\@@_get_text_width:NV}
+% 获取文本宽度,并存入 |dim| 型变量。
+% \begin{arguments}
+% \item |dim| 型变量
+% \item 内容
+% \end{arguments}
+% \begin{macrocode}
+\cs_new:Npn \@@_get_text_width:Nn #1#2
+ {
+ \hbox_set:Nn \l_@@_tmpa_box {#2}
+ \dim_set:Nn #1 { \box_wd:N \l_@@_tmpa_box }
+ }
+\cs_generate_variant:Nn \@@_get_text_width:Nn { NV }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_blank_underline:n}
+% \changes{v0.4}{2017/08/14}{改用 \tn{rule} 绘制下划线,不再依赖
+% \pkg{ulem} 宏包。}
+% 下划线占位符。|#1|: 长度。
+% \begin{macrocode}
+\cs_new:Npn \@@_blank_underline:n #1
+ { \rule [ -0.5 ex ] {#1} { 0.4 pt } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_line_spread:N,\@@_line_spread:n}
+% 设置行距。|#1|: 行距倍数 |fp| 变量。
+% \begin{macrocode}
+\cs_new:Npn \@@_line_spread:N #1
+ { \linespread { \fp_use:N #1 } \selectfont }
+\cs_new:Npn \@@_line_spread:n #1
+ { \linespread {#1} \selectfont }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{封面各部件}
+%
+% \changes{v0.5}{2017/09/19}{使用 \pkg{expl3} 以及内部函数改写
+% 封面,减少对 \LaTeXe{} 的依赖。}
+%
+% \begin{macro}{\@@_cover_id:,\@@_cover_id_aux:n}
+% 右上角的学校代码和学号。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_id:
+ {
+ \@@_fixed_width_box:nn { 120 pt }
+ {
+ \bool_if:NT \l_@@_secret_bool
+ {
+ \group_begin:
+ \sffamily
+ \@@_cover_id_aux:n { secret_level }
+ \c_@@_name_secret_star_tl
+ \l_@@_info_secret_year_tl
+ \group_end:
+ \par
+ }
+ \@@_cover_id_aux:n { school_id } \par
+ \@@_cover_id_aux:n { student_id }
+ }
+% \end{macrocode}
+% 插入一个宽度为负的水平盒子以减少右侧边距。
+% \begin{macrocode}
+ \hbox_to_wd:nn { -24 pt } { }
+ }
+\cs_new:Npn \@@_cover_id_aux:n #1
+ {
+ \tl_use:c { c_@@_name_ #1 _tl }
+ \c_@@_fwid_colon_tl
+ \tl_use:c { l_@@_info_ #1 _tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_cover_logo:}
+% 插入校名图片。根据参数 \opt{width} 和 \opt{height} 是否为空依次
+% 判断。\cs{l_@@_cover_logo_size_clist} 中超过两个的参数将被忽略。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_logo:
+ {
+ \clist_pop:NN \l_@@_cover_logo_size_clist \l_@@_tmpa_tl
+ \clist_pop:NNTF \l_@@_cover_logo_size_clist \l_@@_tmpb_tl
+ {
+ \tl_if_empty:NTF \l_@@_tmpa_tl
+ { \includegraphics [ height = \l_@@_tmpb_tl ] }
+ {
+ \includegraphics
+ [ width = \l_@@_tmpa_tl, height = \l_@@_tmpb_tl ]
+ }
+ }
+ { \includegraphics [ width = \l_@@_tmpa_tl ] }
+ { \l_@@_cover_logo_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_cover_type:}
+% 论文类型。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_type:
+ {
+ \tl_set:Nx \l_@@_tmpa_tl
+ {
+ \clist_item:Nn \c_@@_thesis_type_clist
+ { \g_@@_thesis_type_int }
+ }
+ \@@_spread_box:no { 0.45 \textwidth } { \l_@@_tmpa_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_cover_degree:}
+% \changes{v0.7c}{2019/03/12}{允许博士学位论文使用学位类型。}
+% 学位类型。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_degree:
+ {
+ \int_compare:nT { \g_@@_thesis_type_int != 3 }
+ {
+ \c_@@_fwid_left_paren_tl
+ \clist_item:Nn \c_@@_degree_type_clist
+ { \l_@@_info_degree_type_int }
+ \c_@@_fwid_right_paren_tl
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_cover_info_left:n}
+% 信息栏左侧字段。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_info_left:n #1
+ {
+ \int_case:nn { \l_@@_info_degree_type_int }
+ {
+ { 1 } { \_@@_spread_box:nn { 6 em } {#1} }
+ { 2 } { \_@@_spread_box:nn { 9 em } {#1} }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\c_@@_cover_info_align_tl}
+% 信息栏对齐格式:左右两栏均居中,中间以冒号分隔。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_cover_info_align_tl
+ { c @ { \c_@@_fwid_colon_tl } c }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_cover_info:}
+% \changes{v0.8}{2021/09/21}{调整专业学位的封面信息栏。}
+% \changes{v0.9}{2023/02/05}{封面信息栏改用表格实现。}
+% 信息栏。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_info:
+ {
+ \group_begin:
+ \zihao { 4 }
+% \end{macrocode}
+% 专业学位与学术学位对应的左侧字段有所不同,这里统一存入 \cs{c_@@_name_major_tl}。
+% \begin{macrocode}
+ \int_compare:nNnT { \l_@@_info_degree_type_int } = { 2 }
+ {
+ \tl_set_eq:NN
+ \c_@@_name_major_tl \c_@@_name_major_professional_tl
+ }
+% \end{macrocode}
+% 将信息栏的每一行存入 |clist| 变量中。
+% \begin{macrocode}
+ \clist_clear:N \l_@@_tmpa_clist
+ \clist_map_inline:nn { department, major, author, supervisor, date }
+ {
+ \clist_gput_right:Nn \l_@@_tmpa_clist
+ {
+ \exp_args:Nx \@@_cover_info_left:n
+ { \tl_use:c { c_@@_name_ ##1 _tl } }
+ &
+ \tl_use:c { l_@@_info_ ##1 _tl }
+ }
+ }
+% \end{macrocode}
+% 通过 \env{tabular} 环境输出。
+% \begin{macrocode}
+ \begin{tabular} { \c_@@_cover_info_align_tl }
+ \clist_use:Nn \l_@@_tmpa_clist { \\ [ 1 ex ] }
+ \end{tabular}
+ \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_cover_signature:N}
+% 签名行。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_signature:N #1
+ {
+ \clist_map_inline:Nn #1
+ {
+ ##1 \c_@@_fwid_colon_tl
+ \@@_blank_underline:n { 6 em }
+ \@@_quad:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{封面模板}
+%
+% \changes{v0.7}{2018/02/27}{使用 \pkg{xtemplate} 重构封面布局。}
+%
+% 声明封面对象。不需要带参数。
+% \begin{macrocode}
+%<@@=fdu_cover>
+\DeclareObjectType { fdu / cover } { \c_zero_int }
+% \end{macrocode}
+%
+% \begin{macro}{\DeclareCoverTemplate,\fdu_cover_declare_template:nn}
+% 声明封面模板。
+% \begin{arguments}
+% \item 模板名称
+% \item 封面部件列表,以逗号分隔
+% \end{arguments}
+% \begin{macrocode}
+\NewDocumentCommand \DeclareCoverTemplate { m m }
+ { \fdu_cover_declare_template:nn {#1} {#2} }
+\cs_new_protected:Npn \fdu_cover_declare_template:nn #1#2
+ {
+ \tl_set:Nn \l_@@_template_tl {#1}
+% \end{macrocode}
+% 构建模板接口。
+% \begin{macrocode}
+ \@@_declare_template_interface:nx {#1}
+ {
+ format : tokenlist,
+ top-skip : skip,
+ bottom-skip : skip,
+ \clist_map_function:nN {#2} \@@_key_type:n
+ }
+% \end{macrocode}
+% 声明所用变量。
+% \begin{macrocode}
+ \tl_new:c { l_@@ / #1 / format_tl }
+ \skip_new:c { l_@@ / #1 / top_skip }
+ \skip_new:c { l_@@ / #1 / bottom_skip }
+ \clist_map_inline:nn {#2}
+ {
+ \tl_new:c { l_@@ / #1 / ##1 / content_tl }
+ \tl_new:c { l_@@ / #1 / ##1 / format_tl }
+ \skip_new:c { l_@@ / #1 / ##1 / bottom_skip }
+ }
+% \end{macrocode}
+% 声明模板代码。^^A 以下名字空间为 `fdu_cover' 而非 `fdu'
+% \begin{macrocode}
+ \@@_declare_template_code:nxn {#1}
+ {
+ format = \exp_not:c { l_@@ / #1 / format_tl },
+ top-skip = \use:c { l_@@ / #1 / top_skip },
+ bottom-skip = \use:c { l_@@ / #1 / bottom_skip },
+ \clist_map_function:nN {#2} \@@_key_binding:n
+ }
+ {
+ \AssignTemplateKeys
+ \tl_use:c { l_@@ / #1 / format_tl }
+ \__fdu_vspace:c { l_@@ / #1 / top_skip }
+ \clist_map_inline:nn {#2}
+ {
+ \use:c { @@ / #1 / ####1 / align:n }
+ {
+ \tl_use:c { l_@@ / #1 / ####1 / format_tl }
+ \tl_use:c { l_@@ / #1 / ####1 / content_tl }
+ \par
+ }
+ \__fdu_vspace:c { l_@@ / #1 / ####1 / bottom_skip }
+ }
+ \__fdu_vspace:c { l_@@ / #1 / bottom_skip }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_template_tl}
+% 保存模板名称。
+% \begin{macrocode}
+\tl_new:N \l_@@_template_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_declare_template_interface:nn,
+% \@@_declare_template_code:nnn,
+% \@@_declare_template_interface:nx,
+% \@@_declare_template_code:nxn}
+% 为了展开的方便,这里需要封装 \pkg{xtemplate} 的一些函数。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_declare_template_interface:nn #1#2
+ { \DeclareTemplateInterface { fdu / cover } {#1} { \c_zero_int } {#2} }
+\cs_new_protected:Npn \@@_declare_template_code:nnn #1#2#3
+ { \DeclareTemplateCode { fdu / cover } {#1} { \c_zero_int } {#2} {#3} }
+\cs_generate_variant:Nn \@@_declare_template_interface:nn { nx }
+\cs_generate_variant:Nn \@@_declare_template_code:nnn { nxn }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_key_type:n}
+% \begin{macrocode}
+\cs_new:Npn \@@_key_type:n #1
+ {
+ #1 / content : tokenlist,
+ #1 / format : tokenlist,
+ #1 / bottom-skip : skip,
+ #1 / align : choice { left, right, center, normal } = normal,
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_key_binding:n}
+% \begin{macrocode}
+\cs_new:Npn \@@_key_binding:n #1
+ {
+ #1 / content =
+ \exp_not:c
+ { l_@@ / \l_@@_template_tl / #1 / content_tl },
+ #1 / format =
+ \exp_not:c
+ { l_@@ / \l_@@_template_tl / #1 / format_tl },
+ #1 / bottom-skip =
+ \exp_not:c
+ { l_@@ / \l_@@_template_tl / #1 / bottom_skip },
+ #1 / align =
+ {
+ left =
+ \exp_not:N \cs_set_protected:cpn
+ { @@ / \l_@@_template_tl / #1 / align:n }
+ \exp_not:n {##1}
+ {
+ \exp_not:n
+ {
+ \group_begin:
+ \flushleft ##1 \endflushleft
+ \group_end:
+ }
+ },
+ right =
+ \exp_not:N \cs_set_protected:cpn
+ { @@ / \l_@@_template_tl / #1 / align:n }
+ \exp_not:n {##1}
+ {
+ \exp_not:n
+ {
+ \group_begin:
+ \flushright ##1 \endflushright
+ \group_end:
+ }
+ },
+ center =
+ \exp_not:N \cs_set_protected:cpn
+ { @@ / \l_@@_template_tl / #1 / align:n }
+ \exp_not:n {##1}
+ {
+ \exp_not:n
+ {
+ \group_begin:
+ \center ##1 \endcenter
+ \group_end:
+ }
+ },
+ normal =
+ \exp_not:N \cs_set_protected:cpn
+ { @@ / \l_@@_template_tl / #1 / align:n }
+ \exp_not:n {##1}
+ { \exp_not:n { \group_begin: ##1 \group_end: } }
+ },
+ }
+%<@@=fdu>
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{绘制封面}
+%
+% \changes{v0.9}{2023/02/18}{为封面添加 PDF 页码。}
+%
+% \begin{macro}{\makecoveri}
+% 论文封面(封一)。
+% \begin{macrocode}
+\NewDocumentCommand \makecoveri { }
+ {
+ \thispagestyle { empty }
+ \tl_set:Nn \thepage { A }
+ \UseInstance { fdu / cover } { cover-i-default }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makecoverii}
+% \changes{v0.8}{2021/09/21}{\opt{info/instructors} 为空时不再显示指导小组
+% 成员名单。}
+% 指导小组成员名单(封二)。
+% \begin{macrocode}
+\NewDocumentCommand \makecoverii { }
+ {
+ \thispagestyle { empty }
+ \tl_set:Nn \thepage { B }
+ \clist_if_empty:NTF \l_@@_info_instructors_clist
+ { \hbox:n { } }
+ { \UseInstance { fdu / cover } { cover-ii-default } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makecoveriii}
+% 声明页(封三)。
+% \begin{macrocode}
+\NewDocumentCommand \makecoveriii { }
+ {
+ \cleardoublepage
+ \thispagestyle { empty }
+ \tl_set:Nn \thepage { C }
+ \tl_if_empty:NTF \l_@@_declaration_page_tl
+ { \UseInstance { fdu / cover } { cover-iii-default } }
+ { \includepdf { \l_@@_declaration_page_tl } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 声明各封面模板组成部分。
+% \begin{macrocode}
+\DeclareCoverTemplate { cover-i }
+ { id, logo, type, degree, title, title-en, info }
+\DeclareCoverTemplate { cover-ii } { title, name-list }
+\DeclareCoverTemplate { cover-iii }
+ {
+ originality-decl-name,
+ originality-decl-text,
+ originality-decl-sig,
+ authorization-decl-name,
+ authorization-decl-text,
+ authorization-decl-sig
+ }
+% \end{macrocode}
+%
+% \changes{v0.7d}{2019/03/29}{封面中文标题改为加粗宋体(可能使用伪粗)。}
+%
+% 定义封面的具体配置参数。
+% \begin{macrocode}
+\DeclareInstance { fdu / cover } { cover-i-default } { cover-i }
+ {
+%<class-en> format = \@@_line_spread:N \c_@@_line_spread_fp,
+ bottom-skip = 0 pt plus 1.5 fill,
+ id / content = \@@_cover_id:,
+ logo / content = \@@_cover_logo:,
+ type / content = \@@_cover_type:,
+ degree / content = \@@_cover_degree:,
+ title / content =
+ \@@_fixed_width_center_box:nn
+ { 0.9 \textwidth } { \l_@@_info_title_tl },
+ title-en / content =
+ \@@_fixed_width_center_box:nn
+ { 0.9 \textwidth } { \l_@@_info_title_en_tl },
+ info / content = \@@_cover_info:,
+ id / format = \zihao { -5 },
+ type / format = \zihao { 2 },
+ degree / format = \zihao { 4 },
+ title / format = \zihao { -2 } \bfseries,
+ title-en / format =
+ \@@_line_spread:n { 1.2 } \zihao { 4 } \bfseries,
+ id / bottom-skip = 0 pt plus 1.6 fill,
+ logo / bottom-skip = 0 pt plus 0.3 fill,
+ type / bottom-skip = -18 pt,
+ degree / bottom-skip = 0 pt plus 0.8 fill,
+ title-en / bottom-skip = 0 pt plus 2.5 fill,
+ id / align = right,
+ logo / align = center,
+ type / align = center,
+ degree / align = center,
+ title / align = center,
+ title-en / align = center,
+ info / align = center,
+ }
+\DeclareInstance { fdu / cover } { cover-ii-default } { cover-ii }
+ {
+%<class-en> format = \@@_line_spread:N \c_@@_line_spread_fp,
+ title / content =
+ \@@_spread_box:no { 7 em } { \c_@@_name_instructors_tl },
+ name-list / content =
+ \clist_use:Nn \l_@@_info_instructors_clist { \par },
+ title / format = \zihao { 2 } \sffamily,
+ name-list / format = \large,
+ title / align = center,
+ name-list / align = center,
+ }
+\DeclareInstance { fdu / cover } { cover-iii-default } { cover-iii }
+ {
+ format =
+%<class> \@@_line_spread:n { 1.8 },
+%<class-en> \@@_line_spread:n { 1.8 } \dim_set:Nn \parindent { 2 \ccwd },
+ top-skip = 0 pt plus 0.2 fill,
+ bottom-skip = 0 pt plus 2.5 fill,
+ originality-decl-name / content = \c_@@_name_orig_decl_tl,
+ originality-decl-text / content = \c_@@_orig_decl_text_tl,
+ originality-decl-sig / content =
+ \@@_cover_signature:N \c_@@_orig_decl_sign_clist,
+ authorization-decl-name / content = \c_@@_name_auth_decl_tl,
+ authorization-decl-text / content = \c_@@_auth_decl_text_tl,
+ authorization-decl-sig / content =
+ \@@_cover_signature:N \c_@@_auth_decl_sign_clist,
+ originality-decl-name / format =
+ \@@_line_spread:n { 1.2 } \zihao { -2 } \bfseries,
+ authorization-decl-name / format =
+ \@@_line_spread:n { 1.2 } \zihao { -2 } \bfseries,
+ originality-decl-name / bottom-skip = 0.4 cm,
+ originality-decl-text / bottom-skip = 0.4 cm,
+ originality-decl-sig / bottom-skip = 0 pt plus 2.5 fill,
+ authorization-decl-name / bottom-skip = 0.4 cm,
+ authorization-decl-text / bottom-skip = 0.4 cm,
+ originality-decl-name / align = center,
+ originality-decl-sig / align = right,
+ authorization-decl-name / align = center,
+ authorization-decl-sig / align = right,
+ }
+% \end{macrocode}
+%
+% \begin{variable}{\l_@@_auto_make_cover_bool,\l_@@_declaration_page_tl}
+% \begin{macrocode}
+\bool_new:N \l_@@_auto_make_cover_bool
+\tl_new:N \l_@@_declaration_page_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{style/auto-make-cover}
+% 是否自动生成封面。
+% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
+ auto-make-cover .bool_set:N = \l_@@_auto_make_cover_bool,
+ auto-make-cover .default:n = true,
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.8}{2021/09/21}{新增 \opt{style/declaration-page} 选项。}
+%
+% \begin{macro}{style/declaration-page}
+% 设置扫描版的声明页 PDF 文档。
+% \begin{macrocode}
+ declaration-page .code:n =
+ {
+ \tl_set_eq:NN \l_@@_declaration_page_tl \l_keys_value_tl
+ \RequirePackage { pdfpages }
+ },
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 在 \env{document} 开始位置添加封面以及指导小组成员名单。
+% \begin{macrocode}
+\ctex_after_end_preamble:n
+ {
+ \bool_if:NT \l_@@_auto_make_cover_bool
+ {
+ \begin{titlepage}
+ \makecoveri \newpage \makecoverii
+ \end{titlepage}
+ }
+ }
+% \end{macrocode}
+%
+% 在 \env{document} 结束位置添加声明页。
+% \begin{macrocode}
+\@@_gadd_ltxhook:nn { enddocument }
+ { \bool_if:NT \l_@@_auto_make_cover_bool { \makecoveriii } }
+% \end{macrocode}
+%
+% \subsection{目录}
+%
+% 设置目录标题。
+% \begin{macrocode}
+\keys_set:nn { ctex }
+ {
+%<class> contentsname = \c_@@_name_toc_tl,
+%<class> listfigurename = \c_@@_name_lof_tl,
+%<class> listtablename = \c_@@_name_lot_tl,
+% \end{macrocode}
+%
+% 设置目录中章节标题的样式。
+% \begin{macrocode}
+ chapter / tocline =
+ {
+%<class> \normalfont \sffamily
+%<class-en> \bfseries
+ \CTEXnumberline {#1} #2
+ },
+ section / tocline =
+ {
+%<class-en> \bfseries
+ \CTEXnumberline {#1} #2
+ },
+ subsection / tocline =
+ {
+%<class> \fdu@kai
+ \CTEXnumberline {#1} #2
+ }
+ }
+% \end{macrocode}
+%
+% \changes{v0.7e}{2019/05/12}{增加对插图、表格目录的处理。}
+%
+% \begin{macro}{\tableofcontents,\listoffigures,\listoftables}
+% 修改 \cs{tableofcontents}、\cs{listoffigures} 和 \cs{listoftables} 的定义,
+% 使得页眉正确显示,并出现在目录及 PDF 书签中。来自于 \LaTeXe{} 标准文档类
+% \file{book.cls}^^A
+% \footnote{原代码中只有 \cs{tableofcontents} 的 \cs{@mkboth} 出现在
+% \cs{chapter*} 内部,这是出于兼容性的考虑而非 typo。}。
+% \begin{macrocode}
+\@@_patch_cmd:Nnn \tableofcontents
+ {
+ \chapter*{\contentsname
+ \@mkboth{\MakeUppercase\contentsname}
+ {\MakeUppercase\contentsname}}
+ }
+ { \@@_chapter_no_toc:V \contentsname }
+\@@_patch_cmd:Nnn \listoffigures
+ {
+ \chapter*{\listfigurename}
+ \@mkboth{\MakeUppercase\listfigurename}
+ {\MakeUppercase\listfigurename}
+ }
+ { \@@_chapter:V \listfigurename }
+\@@_patch_cmd:Nnn \listoftables
+ {
+ \chapter*{\listtablename}
+ \@mkboth{\MakeUppercase\listtablename}
+ {\MakeUppercase\listtablename}
+ }
+ { \@@_chapter:V \listtablename }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@starttoc}
+% 修改 \tn{@starttoc} 的定义以调整英文模板中的目录行距。
+% \begin{macrocode}
+%<*class-en>
+\@@_patch_cmd:Nnn \@starttoc
+ { \begingroup }
+ {
+ \begingroup
+ \@@_line_spread:N \c_@@_line_spread_fp
+ }
+%</class-en>
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{摘要}
+%
+% \begin{environment}{abstract}
+% \begin{environment}{abstract*}
+% \changes{v0.7}{2018/03/05}{整理代码。}
+% 摘要环境。在中文模板定义了中英文双语摘要,但在英文模板中则没有定义中文摘要。
+% \begin{macrocode}
+\NewDocumentEnvironment { abstract } { }
+%<class> { \@@_abstract_begin: } { \@@_abstract_end: }
+%<class-en> { \@@_abstract_en_begin: } { \@@_abstract_en_end: }
+%<*class>
+\NewDocumentEnvironment { abstract* } { }
+ { \@@_abstract_en_begin: } { \@@_abstract_en_end: }
+%</class>
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+%
+% \begin{macro}{\@@_abstract_begin:,\@@_abstract_en_begin:}
+% 摘要页标题。
+% \begin{macrocode}
+%<*class>
+\cs_new_protected:Npn \@@_abstract_begin:
+ { \@@_chapter:V \c_@@_name_abstract_tl }
+%</class>
+\cs_new_protected:Npn \@@_abstract_en_begin:
+ { \@@_chapter:V \c_@@_name_abstract_en_tl }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.7d}{2019/03/28}{优化关键字列表的显示。}
+% \changes{v0.8}{2021/12/22}{没有指定 CLC/JEL 分类号时不再显示。}
+%
+% \begin{macro}{\@@_abstract_end:}
+% 摘要正文完成后,输出关键字列表和 CLC/JEL 分类号。
+% \begin{macrocode}
+%<*class>
+\cs_new_protected:Npn \@@_abstract_end:
+ {
+ \@@_keywords:nNn
+ { \sffamily \c_@@_name_keywords_tl \c_@@_fwid_colon_tl }
+ \l_@@_info_keywords_clist { \c_@@_fwid_semicolon_tl }
+ \tl_if_empty:NF \l_@@_info_clc_tl
+ {
+ \@@_clc_jel:nn
+ { \sffamily \c_@@_name_clc_tl \c_@@_fwid_colon_tl }
+ { \l_@@_info_clc_tl }
+ }
+ }
+%</class>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_abstract_en_end:}
+% 英文摘要中,如果指定了 JEL 分类号,则 CLC 分类号不再显示。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_abstract_en_end:
+ {
+ \@@_keywords:nNn
+ { \bfseries \c_@@_name_keywords_en_tl \@@_quad: }
+ \l_@@_info_keywords_en_clist { ; ~ }
+ \tl_if_empty:NTF \l_@@_info_jel_tl
+ {
+ \tl_if_empty:NF \l_@@_info_clc_tl
+ {
+ \@@_clc_jel:nn
+ { \bfseries \c_@@_name_clc_en_tl \@@_quad: }
+ { \l_@@_info_clc_tl }
+ }
+ }
+ {
+ \@@_clc_jel:nn
+ { \bfseries \c_@@_name_jel_en_tl \@@_quad: }
+ { \l_@@_info_jel_tl }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_keywords:nNn,\@@_keywords_prevdepth:,\@@_clc_jel:nn}
+% 关键字列表前要空一行,使用悬挂缩进;分类号不缩进。\tn{parbox} 之后的间距
+% 需要调整,见 \url{https://tex.stackexchange.com/a/34982}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_keywords:nNn #1#2#3
+ {
+ \par \mode_leave_vertical: \par \noindent
+ \@@_get_text_width:Nn \l_@@_tmpa_dim {#1}
+ \group_begin: #1 \group_end:
+ \parbox [t] { \dim_eval:n { \textwidth - \l_@@_tmpa_dim } }
+ {
+ \clist_use:Nn #2 {#3} \par
+ \cs_gset:Npx \@@_keywords_prevdepth:
+ { \dim_use:N \tex_prevdepth:D }
+ }
+ }
+\cs_new_protected:Npn \@@_clc_jel:nn #1#2
+ {
+ \par \tex_prevdepth:D \@@_keywords_prevdepth: \noindent
+ \group_begin: #1 \group_end:
+ #2
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{符号表}
+%
+% \begin{environment}{notation}
+% \changes{v0.7}{2018/03/05}{整理代码。}
+% 符号表环境,利用 \env{longtable} 封装。可选参数为表格列格式说明符。
+% \begin{macrocode}
+\NewDocumentEnvironment { notation } { O { l p { 7.5 cm } } }
+ {
+ \@@_notation_begin:
+ \group_begin:
+ \@@_notation_long_table_setup:
+ \longtable {#1}
+ }
+ {
+ \endlongtable
+ \group_end:
+ }
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\@@_notation_begin:}
+% 符号表页标题。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_notation_begin:
+ {
+%<class> \@@_chapter:V \c_@@_name_notation_tl
+%<class-en> \@@_chapter:V \c_@@_name_notation_en_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_notation_long_table_setup:}
+% 调整 \cs{LTpre} 和 \cs{LTpost},以删去 \env{longtable} 前后的空白。
+% 英文模板中还需要调整表格的行距。注意 \tn{arraystretch} 只是一个简单
+% 宏,不能使用 \cs{fp_set:Nn}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_notation_long_table_setup:
+ {
+%<class-en> \tl_set:Nn \arraystretch { 1.3 }
+ \dim_set_eq:NN \LTpre \c_zero_dim
+ \dim_set_eq:NN \LTpost \c_zero_dim
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{致谢}
+%
+% \changes{v0.9}{2023/02/06}{新增致谢环境。}
+%
+% \begin{environment}{acknowledgements}
+% 致谢环境。
+% \begin{macrocode}
+\NewDocumentEnvironment { acknowledgements } { }
+ { \@@_acknowledgements_begin: } { }
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\@@_acknowledgements_begin:}
+% 致谢页标题。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_acknowledgements_begin:
+ {
+%<class> \@@_chapter:V \c_@@_name_acknowledgements_tl
+%<class-en> \@@_chapter:V \c_@@_name_acknowledgements_en_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{参考文献著录与引用}
+%
+% \changes{v0.6}{2017/10/27}{支持 \BibTeX{},以实现参考文献的著录与引用。}
+% \changes{v0.7}{2018/01/25}{支持 \biber{} 与 \pkg{biblatex}。}
+%
+% \begin{variable}{\l_@@_bibtex_bool}
+% 是否使用 \BibTeX{} 作为参考文献处理程序。若为否,则使用
+% \pkg{biblatex}/\biber{}。
+% \begin{macrocode}
+\bool_new:N \l_@@_bibtex_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_bib_style_tl,\l_@@_bib_gb_style_tl,
+% \l_@@_cite_style_tl}
+% 保存参考文献及引用样式。
+% \begin{macrocode}
+\tl_new:N \l_@@_bib_style_tl
+\tl_new:N \l_@@_bib_gb_style_tl
+\tl_new:N \l_@@_cite_style_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_bib_resource_clist}
+% \changes{v0.8}{2021/03/07}{改用 \texttt{clist} 型变量,允许在 \pkg{biblatex}
+% 下使用多个数据源。}
+% 保存参考文献数据库列表。
+% \begin{macrocode}
+\clist_new:N \l_@@_bib_resource_clist
+% \end{macrocode}
+% \end{variable}
+%
+% \changes{v0.6}{2017/10/28}{新增 \opt{style/bib-style} 选项。}
+% \changes{v0.7}{2018/01/25}{新增 \opt{style/bib-backend}、
+% \opt{style/cite-style} 和 \opt{style/bib-resource} 选项。}
+% \changes{v0.8}{2021/09/20}{直接调用 \pkg{gbt7714} 宏包。}
+%
+% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
+% \end{macrocode}
+% \begin{macro}{style/bib-backend}
+% 参考文献后端。
+% \begin{macrocode}
+ bib-backend .choice:,
+ bib-backend .value_required:n = true,
+ bib-backend / bibtex .code:n =
+ { \bool_set_true:N \l_@@_bibtex_bool },
+ bib-backend / biblatex .code:n =
+ { \bool_set_false:N \l_@@_bibtex_bool },
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{style/bib-style}
+% 参考文献样式。
+% \begin{macrocode}
+ bib-style .choice:,
+ bib-style .value_required:n = true,
+ bib-style / numerical .code:n =
+ {
+ \tl_set:Nn \l_@@_bib_gb_style_tl { numerical }
+ \tl_clear:N \l_@@_bib_style_tl
+ },
+ bib-style / author-year .code:n =
+ {
+ \tl_set:Nn \l_@@_bib_gb_style_tl { author-year }
+ \tl_clear:N \l_@@_bib_style_tl
+ },
+ bib-style / unknown .code:n =
+ {
+ \tl_set_eq:NN \l_@@_bib_style_tl \l_keys_value_tl
+ \tl_clear:N \l_@@_bib_gb_style_tl
+ },
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{style/cite-style}
+% \changes{v0.8}{2021/09/17}{允许在 \BibTeX{} 下使用。}
+% 引用样式。
+% \begin{macrocode}
+ cite-style .tl_set:N = \l_@@_cite_style_tl,
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{style/bib-resource}
+% 参考文献数据源。
+% \begin{macrocode}
+ bib-resource .clist_set:N = \l_@@_bib_resource_clist
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.8}{2021/03/28}{正确使用导言区末尾钩子。}
+%
+% 为了保证导言区中的设置能起作用,\pkg{gbt774}、\pkg{natbib} 或 \pkg{biblatex}
+% 宏包均需要在导言区末尾载入(仍在 \pkg{hyperref} 之前),并做相关设置。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \bool_if:NT \l_@@_bibtex_bool
+ {
+ \tl_if_empty:NTF \l_@@_bib_style_tl
+ {
+ \RequirePackage [ sort & compress ] { gbt7714 }
+ \exp_args:No \bibliographystyle
+ { gbt7714- \l_@@_bib_gb_style_tl }
+ }
+ {
+ \RequirePackage [ sort & compress ] { natbib }
+ \exp_args:No \bibliographystyle
+ { \l_@@_bib_style_tl }
+ }
+ \@@_bibtex_setup:
+ }
+ }
+% \end{macrocode}
+% \pkg{biblatex} 会写入 |begindocument/before| 钩子,因此需在其之前通过
+% \texttt{env/doc\-u\-ment/begin} 钩子载入 \pkg{biblatex} 宏包。注意这个
+% 钩子仅适用于 |\begin{document}| 的写法,对于 |\document| 命令本身无效。
+% \begin{macrocode}
+\@@_gadd_ltxhook:nn { env/document/begin }
+ {
+ \bool_if:NF \l_@@_bibtex_bool
+ {
+ \@@_biblatex_pre_setup:
+ \RequirePackage { biblatex }
+ \@@_biblatex_post_setup:
+ }
+ }
+% \end{macrocode}
+%
+% \changes{v0.7}{2018/01/25}{统一使用 \cs{printbibliography} 命令
+% 生成参考文献列表。}
+% \changes{v0.7d}{2019/03/23}{使参考文献在目录中正常显示。}
+% \changes{v0.7e}{2020/08/30}{同步 \pkg{gbt7714} v2.0。}
+% \changes{v0.8}{2021/09/20}{新增不带上标的文内引用命令。}
+%
+% \begin{macro}{\@@_bibtex_setup:,\parencite,\printbibliography}
+% \BibTeX{} 相关设置。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_bibtex_setup:
+ {
+% \end{macrocode}
+% 行内引用命令。这里定义比较繁琐,是为了与 \tn{cite} 等命令保持一致。
+% \begin{macrocode}
+ \tl_if_eq:VnTF \l_@@_bib_gb_style_tl { numerical }
+ {
+ \exp_args:NNx \DeclareRobustCommand \parencite
+ { \exp_args:No \exp_not:o { \cs:w cite ~ \cs_end: } }
+ \exp_args:Nc \ctex_patch_cmd:Nnn { parencite ~ }
+ { \begingroup }
+ { \begingroup \bibstyle@numbers }
+ }
+ { \cs_set_eq:NN \parencite \cite }
+% \end{macrocode}
+% 引用样式。
+% \begin{macrocode}
+ \tl_if_empty:NF \l_@@_cite_style_tl
+ { \exp_args:NV \citestyle \l_@@_cite_style_tl }
+% \end{macrocode}
+% 使用 \tn{textendash} “\textendash”作为数字间的连接号。
+% \begin{macrocode}
+ \ctex_patch_cmd:Nnn \NAT@citexnum
+ { - \NAT@penalty }
+ { \textendash \NAT@penalty }
+% \end{macrocode}
+% 修改参考文献标题。
+% \begin{macrocode}
+ \cs_set:Npn \bibsection { \@@_chapter:V \bibname }
+% \end{macrocode}
+% \BibTeX{} 下接口与 \pkg{biblatex} 保持统一。
+% \begin{macrocode}
+ \NewDocumentCommand \printbibliography { o }
+ {
+ \exp_args:NV \bibliography \l_@@_bib_resource_clist
+ \IfValueT {##1}
+ { \@@_warning:nn { invalid-option-in-bibtex } {##1} }
+ }
+ }
+\@@_msg_new:nn { invalid-option-in-bibtex }
+ { Option(s)~ "#1"~ are~ invalid~ in~ BibTeX. }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.8}{2022/01/08}{补充定义 \tn{addbibresource} 命令以兼容 \pkg{biblatex} 的用法。}
+%
+% \begin{macro}{\addbibresource}
+% 由于 \pkg{biblatex} 在导言区后才载入,需要单独定义添加参考文献数据源的命令以实现兼容。
+% 该命令需要在载入宏包前取消定义。
+% \begin{macrocode}
+\bool_if:NF \l_@@_bibtex_bool
+ {
+ \NewDocumentCommand \addbibresource { m }
+ { \clist_gput_right:Nn \l_@@_bib_resource_clist {#1} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_biblatex_pre_setup:,\@@_biblatex_post_setup:}
+% \pkg{biblatex} 相关设置。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_biblatex_pre_setup:
+ {
+ \cs_undefine:N \addbibresource
+ \clist_new:N \l_@@_biblatex_options_clist
+ \clist_put_right:Nn \l_@@_biblatex_options_clist { hyperref = manual }
+% \end{macrocode}
+% 参考文献样式。
+% \begin{macrocode}
+ \clist_put_right:Nx \l_@@_biblatex_options_clist
+ {
+ style =
+ \tl_if_empty:NTF \l_@@_bib_style_tl
+ {
+ \str_if_eq:VnTF \l_@@_bib_gb_style_tl { numerical }
+ { gb7714-2015 } { gb7714-2015ay }
+ }
+ { \l_@@_bib_style_tl }
+ }
+% \end{macrocode}
+% 引用样式。
+% \changes{v0.8}{2021/03/09}{正确调用引用样式。}
+% \begin{macrocode}
+ \tl_if_empty:NF \l_@@_cite_style_tl
+ {
+ \clist_put_right:Nx \l_@@_biblatex_options_clist
+ { citestyle = \l_@@_cite_style_tl }
+ }
+ \exp_args:NV \PassOptionsToPackage \l_@@_biblatex_options_clist
+ { biblatex }
+ }
+\cs_new_protected:Npn \@@_biblatex_post_setup:
+ {
+ \clist_map_function:NN \l_@@_bib_resource_clist \addbibresource
+ \@@_biblatex_allow_url_break:
+ \@@_biblatex_use_en_dash:
+% \end{macrocode}
+% 修改参考文献标题。
+% \begin{macrocode}
+ \defbibheading { bibliography } [ \bibname ] { \@@_chapter:n {##1} }
+%<*class-en>
+ \exp_args:Nnx \DefineBibliographyStrings { english }
+ { bibliography = { \c_@@_name_bib_en_tl } }
+%</class-en>
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_biblatex_allow_url_break:}
+% \pkg{biblatex} 下允许 URL 在字母、数字和一些特殊符号处断行。
+% \begin{macrocode}
+\cs_new:Npn \@@_biblatex_allow_url_break:
+ {
+ \int_set_eq:NN \c@biburlucpenalty \c_one_int
+ \int_set_eq:NN \c@biburlnumpenalty \c_one_int
+ \int_set_eq:NN \c@biburllcpenalty \c_one_int
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_biblatex_use_en_dash:}
+% 使用 \tn{textendash} “\textendash”作为数字间的连接号。
+% \begin{macrocode}
+\cs_new:Npn \@@_biblatex_use_en_dash:
+ {
+ \DefineBibliographyExtras { english }
+ {
+ \cs_set_nopar:Npn \bibrangedash
+ { \textendash \penalty \hyphenpenalty }
+ }
+ \DefineBibliographyExtras { russian }
+ {
+ \cs_set_nopar:Npn \bibrangedash
+ { \textendash \penalty \hyphenpenalty }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.7}{2018/01/25}{同步 \pkg{gbt7714} v1.0,移除有关超链接的额外设置。}
+% \changes{v0.8}{2021/09/20}{不再将著录用符号修改为中文标点符号。}
+%
+% \subsection{\pkg{hyperref} 相关配置}
+%
+% \changes{v0.4}{2017/08/13}{新增 \pkg{hyperref} 相关配置,包括超链接
+% 样式(\opt{style/hyperlink} 与 \opt{style/hyperlink-color} 选项)
+% 及 PDF 元信息等。}
+% \changes{v0.7}{2018/01/23}{将 \pkg{hyperref} 相关配置移至模板末尾,
+% 以减少冲突。}
+%
+% \begin{macro}{\hypersetup}
+% \changes{v0.9}{2023/02/08}{改用 \cs{DeclareDocumentCommand} 定义。}
+% \begin{macro}{\fdu_hyperref_setup:n}
+% \pkg{hyperref} 宏包是在导言区之后才引入的。若要在导言区中使用
+% \tn{hypersetup} 命令,必须另行定义。
+% \begin{macrocode}
+\DeclareDocumentCommand \hypersetup { m }
+ { \fdu_hyperref_setup:n {#1} }
+\cs_new_protected:Npn \fdu_hyperref_setup:n #1
+ { \clist_gput_right:Nn \g_@@_to_hyperref_clist {#1} }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_set_hyperlink_color_key:n}
+% 设置超链接颜色选项。最后的逗号用于确保 \pkg{l3keys} 可以正确解析,不能省去。
+% \begin{macrocode}
+\cs_new:Npn \@@_set_hyperlink_color_key:n #1
+ {
+ hyperlink-color / \clist_item:nn {#1} {1} .code:n =
+ {
+ \@@_define_hyperlink_color:nnn
+ { \clist_item:nn {#1} {2} }
+ { \clist_item:nn {#1} {3} }
+ { \clist_item:nn {#1} {4} }
+ \fdu_hyperref_setup:n
+ {
+ linkcolor = fdu@link, linkbordercolor = fdu@link,
+ urlcolor = fdu@url, urlbordercolor = fdu@url,
+ citecolor = fdu@cite, citebordercolor = fdu@cite
+ }
+ },
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_define_hyperlink_color:nnn}
+% 定义超链接颜色。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_define_hyperlink_color:nnn #1#2#3
+ {
+ \definecolorset { HTML } { fdu@ } { }
+ { link, #1; url, #2; cite, #3 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\keys_define:nx { fdu / style }
+ {
+% \end{macrocode}
+%
+% \begin{macro}{style/hyperlink}
+% \changes{v0.8}{2021/12/27}{修复边框不显示的问题;不需要为 \opt{hidelinks} 选项传递参数。}
+% 超链接样式。
+% \begin{macrocode}
+ hyperlink .choice:,
+ hyperlink .value_required:n = true,
+ hyperlink / border .code:n =
+ { \fdu_hyperref_setup:n { colorlinks = false } },
+ hyperlink / color .code:n =
+ { \fdu_hyperref_setup:n { colorlinks = true } },
+ hyperlink / none .code:n =
+ { \fdu_hyperref_setup:n { hidelinks } },
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{style/hyperlink-color}
+% \changes{v0.8}{2021/12/27}{移除不常用的超链接颜色。}
+% 超链接颜色。
+% \begin{macrocode}
+ hyperlink-color .choice:,
+ hyperlink-color .value_required:n = true,
+ \clist_map_function:nN
+ {
+ { classic, FF0000, 0000FF, 00FF00 },
+ { default, 990000, 0000B2, 007F00 },
+ { material, E91E63, 009688, 4CAF50 },
+ { graylevel, 616161, 616161, 616161 },
+ { prl, 2D3092, 2D3092, 2D3092 }
+ }
+ \@@_set_hyperlink_color_key:n
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.6}{2017/10/29}{优化 URL 断行设置。}
+%
+% \begin{macro}{\fdu_allow_url_break:,\@@_add_url_break_points:}
+% 允许 URL 在字母、数字和一些特殊符号处断行。见
+% \url{https://bit.ly/2hhIjLW}。
+% \begin{macrocode}
+\cs_new:Npn \fdu_allow_url_break:
+ {
+ \cs_new:Npn \@@_add_url_break_points:
+ { \tl_map_function:NN \c_@@_url_break_points_tl \do }
+ \@@_appto_cmd:Nn \UrlBreaks
+ { \UrlOrds \@@_add_url_break_points: }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\c_@@_url_break_points_tl}
+% 额外的断行位置是 26 个英文字母(大小写)以及 10 个阿拉伯数字。
+% \pkg{url} 提供的宏 \tn{UrlBreaks} 还包含了特殊符号 |*|、|-|、
+% |~|、|'|、|"|、|-|,也被设置为允许断行。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_url_break_points_tl
+ {
+ abcdefghijklmnopqrstuvwxyz
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% \changes{v0.7e}{2019/04/23}{处理 \pkg{hyperref} 与 \pkg{unicode-math}
+% 的兼容性问题。}
+%
+% 在导言区末尾引入 \pkg{hyperref} 宏包。
+% \begin{macrocode}
+\ctex_at_end_preamble:n
+ {
+ \RequirePackage { hyperref }
+% \end{macrocode}
+% 此后 \tn{hypersetup} 命令由 \pkg{hyperref} 宏包接管。
+% \begin{macrocode}
+ \hypersetup
+ {
+ bookmarksnumbered = true,
+ psdextra = true,
+ unicode = true,
+% \end{macrocode}
+% 填写 PDF 元信息。
+% \begin{macrocode}
+%<*class>
+ pdftitle = \l_@@_info_title_sanitized_tl,
+ pdfauthor = \l_@@_info_author_tl,
+ pdfkeywords = \l_@@_info_keywords_clist,
+%</class>
+%<*class-en>
+ pdftitle = \l_@@_info_title_en_sanitized_tl,
+ pdfauthor = \l_@@_info_author_en_tl,
+ pdfkeywords = \l_@@_info_keywords_en_clist,
+%</class-en>
+% pdfsubject = ,
+ pdfcreator = \c_@@_name_pdf_creator_tl
+ }
+% \end{macrocode}
+% 将导言区中通过 \cs{fdu_hyperref_setup:n} 进行的设置传入 \tn{hypersetup}。
+% \begin{macrocode}
+ \exp_args:NV \hypersetup \g_@@_to_hyperref_clist
+% \end{macrocode}
+% URL 断行处理。
+% \begin{macrocode}
+ \fdu_allow_url_break:
+% \end{macrocode}
+% 由于 \pkg{hyperref} 在 \pkg{biblatex} 之后调用,所以需要手动开启相关功能。
+% \begin{macrocode}
+ \bool_if:NF \l_@@_bibtex_bool { \BiblatexManualHyperrefOn }
+ }
+% \end{macrocode}
+%
+% 在 PDF 字符串中设置 \tn{fdu@kai} 命令为空,以抑制 \pkg{hyperref} 的警告信息。
+% \begin{macrocode}
+\ctex_at_end_package:nn { hyperref }
+ {
+ \pdfstringdefDisableCommands
+ {
+ \cs_set_eq:NN \fdu@kai \prg_do_nothing:
+ \cs_set_eq:NN \quad \c_space_tl
+ \cs_set_eq:NN \qquad \c_space_tl
+ }
+ }
+% \end{macrocode}
+%
+% \subsection{用户接口}
+%
+% \begin{macro}{info,style}
+% 定义元(meta)键值对。
+% \begin{macrocode}
+\keys_define:nn { fdu }
+ {
+ info .meta:nn = { fdu / info } {#1},
+ style .meta:nn = { fdu / style } {#1}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% 文档类初始设置。
+% \begin{macrocode}
+\keys_set:nn { fdu }
+ {
+ style / font = times,
+%<class> style / cjk-font = fandol,
+ style / font-size = -4,
+%<class> style / fullwidth-stop = false,
+ style / auto-make-cover = true,
+ style / logo = { fudan-name.pdf },
+ style / logo-size = { 0.5 \textwidth },
+ style / hyperlink = color,
+ style / hyperlink-color = default,
+ style / bib-style = numerical,
+ info / degree = academic,
+ info / secret-level = none,
+ info / school-id = { 10246 },
+ info / date = { \zhtoday },
+%<class> theorem / header-font = { \sffamily },
+%<class-en> theorem / header-font = { \bfseries \upshape },
+%<class> theorem / body-font = { \fdu@kai },
+%<class-en> theorem / body-font = { \itshape },
+ theorem / counter = { chapter }
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\fdusetup}
+% 用户设置接口。
+% \begin{macrocode}
+\NewDocumentCommand \fdusetup { m }
+ { \keys_set:nn { fdu } {#1} }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{proof}
+% \begin{environment}{axiom}
+% \begin{environment}{corollary}
+% \begin{environment}{definition}
+% \begin{environment}{example}
+% \begin{environment}{lemma}
+% \begin{environment}{theorem}
+% 模板预定义的常用数学环境。
+% 其中的“证明”比较特殊,它不编号,但会添加证毕符号。
+% \begin{macrocode}
+%<*class>
+\newtheorem* { proof } { \c_@@_name_proof_tl }
+\newtheorem { axiom } { \c_@@_name_axiom_tl }
+\newtheorem { corollary } { \c_@@_name_corollary_tl }
+\newtheorem { definition } { \c_@@_name_definition_tl }
+\newtheorem { example } { \c_@@_name_example_tl }
+\newtheorem { lemma } { \c_@@_name_lemma_tl }
+\newtheorem { theorem } { \c_@@_name_theorem_tl }
+%</class>
+%<*class-en>
+\newtheorem* { proof } { \c_@@_name_proof_en_tl }
+\newtheorem { axiom } { \c_@@_name_axiom_en_tl }
+\newtheorem { corollary } { \c_@@_name_corollary_en_tl }
+\newtheorem { definition } { \c_@@_name_definition_en_tl }
+\newtheorem { example } { \c_@@_name_example_en_tl }
+\newtheorem { lemma } { \c_@@_name_lemma_en_tl }
+\newtheorem { theorem } { \c_@@_name_theorem_en_tl }
+%</class-en>
+%</class|class-en>
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+%
+% \subsection{模板参数配置文件}
+%
+% \changes{v0.3}{2017/06/27}{分离文档类与参数配置文件。}
+%
+% \begin{macrocode}
+%<*definition>
+% \end{macrocode}
+%
+% \subsubsection{通用配置}
+%
+% \begin{variable}{\c_@@_name_simp_tl,\c_@@_name_trad_tl,\c_@@_name_en_tl}
+% 学校名称。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_name_simp_tl { 复旦大学 }
+\tl_const:Nn \c_@@_name_trad_tl { 復旦大學 }
+\tl_const:Nn \c_@@_name_en_tl { Fudan~ University }
+% \end{macrocode}
+% \end{variable}
+%
+% 常用标点符号,见表~\ref{tab:punctuations}。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ { ideo_comma } { ^^^^3001 },
+ { ideo_full_stop } { ^^^^3002 },
+ { fwid_comma } { ^^^^ff0c },
+ { fwid_full_stop } { ^^^^ff0e },
+ { fwid_colon } { ^^^^ff1a },
+ { fwid_semicolon } { ^^^^ff1b },
+ { fwid_left_paren } { ^^^^ff08 },
+ { fwid_right_paren } { ^^^^ff09 }
+ }
+ { \@@_define_punct:nn #1 }
+% \end{macrocode}
+%
+% \begin{table}[ht]
+% \caption{常用标点符号}
+% \label{tab:punctuations}
+% \centering
+% \begin{tabular}{cccc}
+% \toprule
+% \textbf{中文名称} &
+% \textbf{英文名称} &
+% \textbf{符号} &
+% \textbf{Unicode 码位} \\
+% \midrule
+% 中文顿号 & Ideographic comma & ^^^^3001 & U+3001 \\
+% 中文句号 & Ideographic full stop & ^^^^3002 & U+3002 \\
+% 中文逗号 & Fullwidth comma & ^^^^ff0c & U+FF0C \\
+% 全角西文句点 & Fullwidth full stop & ^^^^ff0e & U+FF0E \\
+% 中文冒号 & Fullwidth colon & ^^^^ff1a & U+FF1A \\
+% 中文分号 & Fullwidth semicolon & ^^^^ff1b & U+FF1B \\
+% 中文左圆括号 & Fullwidth left parenthesis & ^^^^ff08 & U+FF08 \\
+% 中文右圆括号 & Fullwidth right parenthesis & ^^^^ff09 & U+FF09 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% \begin{variable}{\c_@@_line_spread_fp}
+% 行距倍数。行距倍数 $k$ 由下式确定:
+% \begin{equation*}
+% 1.2 \times k \times \qty{12}{bp} = \qty{20}{pt}.
+% \end{equation*}
+% 式中,1.2 是基本行距与文字大小之比,\qty{12}{bp} 是小四号字的大小,
+% \qty{20}{pt} 是行距固定值。
+% \begin{macrocode}
+\fp_const:Nn \c_@@_line_spread_fp
+ { \dim_ratio:nn { 20 pt } { 12 bp } / 1.2 }
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{声明页}
+%
+% \begin{variable}{\c_@@_orig_decl_text_tl}
+% 论文独创性声明。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_orig_decl_text_tl
+ {
+ 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究
+ 工作所取得的成果。论文中除特别标注的内容外,不包含任何其他个人或机
+ 构已经发表或撰写过的研究成果。对本研究做出重要贡献的个人和集体,均
+ 已在论文中作了明确的声明并表示了谢意。本声明的法律结果由本人承担。
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\c_@@_auth_decl_text_tl}
+% 论文使用授权声明。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_auth_decl_text_tl
+ {
+ 本人完全了解复旦大学有关收藏和利用博士、硕士学位论文的规定,即:学
+ 校有权收藏、使用并向国家有关部门或机构送交论文的印刷本和电子版本;
+ 允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影
+ 印、缩印或其它复制手段保存论文。涉密学位论文在解密后遵守此规定。
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\c_@@_orig_decl_sign_clist,
+% \c_@@_auth_decl_sign_clist}
+% 声明页签名项目。
+% \begin{macrocode}
+\clist_const:Nn \c_@@_orig_decl_sign_clist
+ { 作者签名, 日期 }
+\clist_const:Nn \c_@@_auth_decl_sign_clist
+ { 作者签名, 导师签名, 日期 }
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{杂项}
+%
+% \begin{variable}{\c_@@_thesis_type_clist,
+% \c_@@_degree_type_clist}
+% 论文类型与学位类型。
+% \begin{macrocode}
+\clist_const:Nn \c_@@_thesis_type_clist
+ { 博士学位论文, 硕士学位论文, 本科毕业论文 }
+\clist_const:Nn \c_@@_degree_type_clist
+ { 学术学位, 专业学位 }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\c_@@_secret_clist}
+% 三种密级。
+% \begin{macrocode}
+\clist_const:Nn \c_@@_secret_clist { 秘密, 机密, 绝密 }
+% \end{macrocode}
+% \end{variable}
+%
+% 默认名称。注意空格是忽略掉的。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ { secret_level } { 密 \qquad 级 },
+ { secret_star } { \textrm { \bigstar } },
+ { school_id } { 学校代码 },
+ { student_id } { 学 \qquad 号 },
+ { department } { 院系 },
+ { major } { 专业 },
+ { major_professional } { 专业学位类别(领域) },
+ { author } { 姓名 },
+ { supervisor } { 指导教师 },
+ { date } { 完成日期 },
+ { instructors } { 指导小组成员 },
+ { author_sign } { 作者签名 },
+ { supervisor_sign } { 导师签名 },
+ { sign_date } { 日期 },
+ { toc } { 目 \quad 录 },
+ { lof } { 插图目录 },
+ { lot } { 表格目录 },
+ { bib_en } { Bibliography },
+ { pdf_creator } { LaTeX~ with~ fduthesis~ class },
+ { orig_decl }
+ { \c_@@_name_simp_tl \\ 学位论文独创性声明 },
+ { auth_decl }
+ { \c_@@_name_simp_tl \\ 学位论文使用授权声明 },
+ }
+ { \@@_define_name:nn #1 }
+\clist_map_inline:nn
+ {
+ { abstract } { 摘 \quad 要 } { Abstract },
+ { keywords } { 关键字 } { Keywords: },
+ { clc } { 中图分类号 } { CLC~ code: },
+ { jel } { JEL 分类号 } { JEL~ code: },
+ { notation } { 符号表 } { List~ of~ Symbols },
+ { acknowledgements } { 致 \quad 谢 } { Acknowledgements }
+ }
+ { \@@_define_name:nnn #1 }
+% \end{macrocode}
+%
+% 默认定理头名称。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ { proof } { 证明 } { Proof },
+ { axiom } { 公理 } { Axiom },
+ { corollary } { 推论 } { Corollary },
+ { definition } { 定义 } { Definition },
+ { example } { 例 } { Example },
+ { lemma } { 引理 } { Lemma },
+ { theorem } { 定理 } { Theorem }
+ }
+ { \@@_define_name:nnn #1 }
+% \end{macrocode}
+%
+% \begin{variable}{\c_@@_name_major_professional_tl}
+% \changes{v0.9}{2023/02/05}{处理右括号带来的间距。}
+% 处理右括号带来的间距。
+% \begin{macrocode}
+\tl_put_right:Nn \c_@@_name_major_professional_tl
+ { { \skip_horizontal:n { -0.5 em } } }
+%</definition>
+%<@@=>
+% \end{macrocode}
+% \end{variable}
+%
+% \clearpage
+%
+% \end{implementation}
+%
diff --git a/macros/latex/contrib/fduthesis/fduthesis-code.pdf b/macros/latex/contrib/fduthesis/fduthesis-code.pdf
index 65a33c4825..91dd190d1c 100644
--- a/macros/latex/contrib/fduthesis/fduthesis-code.pdf
+++ b/macros/latex/contrib/fduthesis/fduthesis-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/fduthesis/fduthesis-doc.dtx b/macros/latex/contrib/fduthesis/fduthesis-doc.dtx
index 15bc16d666..c39e192e7a 100644
--- a/macros/latex/contrib/fduthesis/fduthesis-doc.dtx
+++ b/macros/latex/contrib/fduthesis/fduthesis-doc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2017--2022 by Xiangdong Zeng <xdzeng96@gmail.com>
+% Copyright (C) 2017--2023 by Xiangdong Zeng <xdzeng96@gmail.com>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -83,8 +83,7 @@
\@namedef{ver@thumbpdf.sty}{9999/99/99}
% \end{macrocode}
%
-% \changes{v0.8}{2021/10/21}{[\pkg{fdudoc}] 使用 \pkg{gbt7714} 宏包
-% 处理参考文献。}
+% \changes{v0.8}{2021/10/21}{[\pkg{fdudoc}] 使用 \pkg{gbt7714} 宏包处理参考文献。}
%
% 载入宏包和文档类。
% \begin{macrocode}
@@ -528,7 +527,7 @@
\cs_new_protected:Npn \@@_module_star:w #1 > #2 \q_stop
{
% \end{macrocode}
-% 临时变量 \cs{l_@@_tmp_tl} 保存 |<*|\meta{module}|>| 之后的部分,即真实代码。
+% 临时变量 \cs{l_@@_tmpa_tl} 保存 |<*|\meta{module}|>| 之后的部分,即真实代码。
% \begin{macrocode}
\tl_set:Nn \l_@@_tmpa_tl {#2}
% \end{macrocode}
@@ -1049,7 +1048,7 @@
% \end{macro}
%
% \begin{macro}[int]{\changes@}
-% \changes{v0.4}{2017/07/30}{调整索引排序方式。}
+% \changes{v0.4}{2017/07/30}{[\pkg{fdudoc}] 调整索引排序方式。}
% 重定义 \tn{changes@},在版本号一行显示修改日期。
% \begin{macrocode}
\cs_set_protected:Npn \changes@ #1#2
@@ -1082,7 +1081,7 @@
{#1} \l_@@_tmpa_tl
{
% \end{macrocode}
-% \cs{l_@@_tmp_tl} 相当于两个参数(开始日期、结束日期),因此需要提前展开。
+% \cs{l_@@_tmpa_tl} 相当于两个参数(开始日期、结束日期),因此需要提前展开。
% \begin{macrocode}
\exp_after:wN
\@@_save_version_date_aux:nnnn \l_@@_tmpa_tl
@@ -1330,25 +1329,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\SpecialMainEnvIndex}
-% 索引汉化。
-% \begin{macrocode}
-\ctex_patch_cmd:Nnn \SpecialMainEnvIndex
- { (environment) } { ~ 环境 }
-\ctex_patch_cmd:Nnn \SpecialMainEnvIndex
- { environments: } { 环境: }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}[int]{\HDorg@SpecialEnvIndex}
-% \pkg{hypdoc} 宏包重新定义了 \tn{SpecialEnvIndex} 命令,因此需要修改内部定义。
-% \begin{macrocode}
-\ctex_patch_cmd:Nnn \HDorg@SpecialEnvIndex
- { (environment) } { ~ 环境 }
-\ctex_patch_cmd:Nnn \HDorg@SpecialEnvIndex
- { environments: } { 环境: }
-% \end{macrocode}
-% \end{macro}
+% \changes{v0.9}{2023/02/17}{[\pkg{fdudoc}] 使用 \pkg{makeindex} 处理索引和修订记录。}
+% \changes{v0.9}{2023/02/17}{[\pkg{fdudoc}] 不再对索引进行汉化。}
%
% \begin{macro}[int]{\NAT@citexnum}
% 将参考文献引用中的 hyphen 改为 en-dash。
@@ -1405,6 +1387,14 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_typeset_functions:}
+% 减少展开标记(用来表明中英文模板中的不同用法)前的空格。
+% \begin{macrocode}
+\__fdudoc_patch_cmd:Nnn \@@_typeset_expandability:
+ { & } { & \skip_horizontal:n { -0.5em } }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_typeset_functions:,\@@_macro_init:,
% \@@_macro_dump:}
% 左侧边注的函数列表采用单倍行距。
@@ -1519,33 +1509,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_special_index_module:nnnnN}
-% 索引汉化。
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_special_index_module:nnnnN #1#2#3#4#5
- {
- \use:x
- {
- \exp_not:n { \@@_special_index_aux:nnnnnnn {#1} {#2} }
- \tl_if_empty:nTF {#3}
- { { } { } { } { } }
- {
- \str_if_eq:eeTF {#3} { TeX }
- {
- { TeX~ and~ LaTeX2e }
- { \string \TeX{}~ 和~ \string \LaTeXe{} }
- }
- { {#3} { \string \pkg {#3} } }
- \bool_if:NTF #5
- { { commands~ internal } { ~ 内部命令: } }
- { { commands } { ~ 命令: } }
- }
- }
- {#4}
- }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\@@_special_index_aux:nnnnnnn}
% 该函数在 \cls{l3doc} 中本来只有 6 个参数。这里增加了一个,用来辅助排序。
% \begin{arguments}
@@ -1705,7 +1668,8 @@
\bibliographystyle{gbt7714-numerical}
% \end{macrocode}
%
-% \changes{v0.7c}{2019/02/08}{修改宏包手册主要字体。}
+% \changes{v0.7c}{2019/02/08}{[\pkg{fdudoc}] 修改宏包手册主要字体。}
+% \changes{v0.9}{2023/02/18}{[\pkg{fdudoc}] 更新宏包手册字体。}
%
% 西文字体。为兼容 macOS,系统字体需使用字体名,而 \TeXLive{}
% 中的字体需使用文件名。
@@ -1723,29 +1687,36 @@
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic]
-\setmonofont{Iosevka Slab}[
- UprightFont = * Light,
- BoldFont = * Semibold,
- ItalicFont = * Light Oblique,
- BoldItalicFont = * Semibold Oblique,
- Scale = MatchLowercase]
+\setmonofont{lmmonolt10}[
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-oblique,
+ BoldItalicFont = *-boldoblique]
\setmathfont{LibertinusMath-Regular.otf}
% \end{macrocode}
%
% 中文字体。
% \begin{macrocode}
-\setCJKmainfont{Source Han Serif SC}[
- ItalicFont = FZKai-Z03,
- CharacterWidth = Full]
-\setCJKsansfont{Source Han Sans SC}[
- ItalicFont = *,
- CharacterWidth = Full]
-\setCJKmonofont{Source Han Sans SC}[
- UprightFont = * Normal,
- BoldFont = * Bold,
- AutoFakeSlant = 0.1763, % = tan(10 deg)
- Scale = 0.8903,
- CharacterWidth = Full]
+\setCJKmainfont{SourceHanSerifSC}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = FandolKai-Regular,
+ UprightFeatures = { CharacterWidth = Full },
+ BoldFeatures = { CharacterWidth = Full }]
+\setCJKsansfont{SourceHanSansSC}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ CharacterWidth = Full]
+\setCJKmonofont{SourceHanSansSC}[
+ Extension = .otf,
+ UprightFont = *-Normal,
+ BoldFont = *-Bold,
+ AutoFakeSlant = 0.1763, % = tan(10 deg)
+ Scale = 0.9,
+ CharacterWidth = Full]
% \end{macrocode}
%
% 版式排版格式。
@@ -1887,15 +1858,19 @@
%
% \subsubsection{文档层命令}
%
+% \changes{v0.9}{2023/02/18}{[\pkg{fdudoc}] 调整中英文标记。}
+%
% \begin{macro}{\exptarget,\rexptarget,\expstar,\rexpstar,
% \__codedoc_typeset_exp:,\__codedoc_typeset_rexp:}
-% 部分命令之后的特殊符号($^^^^263a$ 或 $^^^^263b$),表明其不同用法。这里的
-% “exp”和“rexp”分别源自 \LaTeX3 中的“expandable”和“restricted-expandable”。
+% 部分命令之后的标记,表明中英文模板中的不同用法。这里的“exp”和“rexp”
+% 分别源自 \LaTeX3 中的“expandable”和“restricted-expandable”。
% \begin{macrocode}
\newcommand*\exptarget{\Hy@raisedlink{\hypertarget{expstar}{}}}
\newcommand*\rexptarget{\Hy@raisedlink{\hypertarget{rexpstar}{}}}
-\newcommand*\expstar{\hyperlink{expstar}{$^^^^263b$}}
-\newcommand*\rexpstar{\hyperlink{rexpstar}{$^^^^263a$}}
+\newcommand*\expstar{%
+ \hyperlink{expstar}{\textsuperscript{\rmfamily\scshape en}}}
+\newcommand*\rexpstar{%
+ \hyperlink{rexpstar}{\textsuperscript{\rmfamily\scshape zh}}}
\ExplSyntaxOn
\cs_set_eq:NN \__codedoc_typeset_exp: \expstar
\cs_set_eq:NN \__codedoc_typeset_rexp: \rexpstar
@@ -1999,38 +1974,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\cs,\tn}
-% \begin{macro}[int]{\codedoc@cs,\codedoc@tn}
-% 控制序列。
-%^^A Colors are used for debug.
-% \begin{macrocode}
-% \let\codedoc@cs=\cs
-% \let\codedoc@tn=\tn
-% \renewcommand*\cs[2][]{%
-% \textcolor{MaterialIndigo}{\codedoc@cs[#1]{#2}}}
-% \renewcommand*\tn[2][]{%
-% \textcolor{MaterialPink}{\codedoc@tn[#1]{#2}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\file,\env,\pkg,\cls}
-% 文件、环境、宏包、文档类。
-% \begin{macrocode}
-% \renewcommand*\file[1]{%
-% \textcolor{MaterialGrey900}{\texttt{#1}}}
-\renewcommand*\env[1]{\textbf{\texttt{#1}}}
-% \renewcommand*\pkg[1]{\textsf{#1}}
-% \renewcommand*\cls[1]{\textit{\textsf{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bashcmd}
-% Bash 中的命令。
-% \begin{macrocode}
-\newcommand*\bashcmd[1]{\texttt{#1}}
-% \end{macrocode}
-% \end{macro}
+% \changes{v0.9}{2023/02/17}{[\pkg{fdudoc}] 移除多余的文档层定义。}
%
% \paragraph{示例代码环境}
%
@@ -2041,14 +1985,13 @@
\@empty\z@\@empty
% \end{macrocode}
%
-% \changes{v0.5}{2017/09/05}{[\pkg{fdudoc}] 移除 \pkg{listings}
-% 关键字定义文件。}
+% \changes{v0.5}{2017/09/05}{[\pkg{fdudoc}] 移除 \pkg{listings} 关键字定义文件。}
%
% 定义几种代码样式。
% \begin{macro}[int]{style@base}
% \begin{macrocode}
\lstdefinestyle{style@base}{
- basewidth = 0.5 em,
+ basewidth = 0.525 em,
gobble = 3,
lineskip = 2 pt,
frame = l,
@@ -2093,17 +2036,17 @@
% \begin{macro}[int]{style@syntax}
% \begin{macrocode}
\lstdefinestyle{style@syntax}{
- basewidth = 0.5 em,
- gobble = 6,
- escapeinside = {(*}{*)},
- language = [LaTeX]TeX,
- alsoletter = {*, -},
- basicstyle = \footnotesize\ttfamily\color{MaterialGrey900},
- keywordstyle = \bfseries\color{MaterialIndigo},
- commentstyle = \itshape\color{MaterialGrey600},
- texcsstyle = *\color{MaterialDeepOrange},
- emphstyle = [1]\color{MaterialGreen800},
- emphstyle = [2]\color{MaterialTeal}
+ basewidth = 0.525 em,
+ gobble = 6,
+ escapeinside = {(*}{*)},
+ language = [LaTeX]TeX,
+ alsoletter = {*, -},
+ basicstyle = \footnotesize\ttfamily\color{MaterialGrey900},
+ keywordstyle = \bfseries\color{MaterialIndigo},
+ commentstyle = \itshape\color{MaterialGrey600},
+ texcsstyle = *\color{MaterialDeepOrange},
+ emphstyle = [1]\color{MaterialGreen800},
+ emphstyle = [2]\color{MaterialTeal}
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/fduthesis/fduthesis-en.pdf b/macros/latex/contrib/fduthesis/fduthesis-en.pdf
index 72fa0e8381..8a62785309 100644
--- a/macros/latex/contrib/fduthesis/fduthesis-en.pdf
+++ b/macros/latex/contrib/fduthesis/fduthesis-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/fduthesis/fduthesis-logo.dtx b/macros/latex/contrib/fduthesis/fduthesis-logo.dtx
index 67bfae521e..80e7145811 100644
--- a/macros/latex/contrib/fduthesis/fduthesis-logo.dtx
+++ b/macros/latex/contrib/fduthesis/fduthesis-logo.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2017--2022 by Xiangdong Zeng <xdzeng96@gmail.com>
+% Copyright (C) 2017, 2018, 2020, 2023 by Xiangdong Zeng <xdzeng96@gmail.com>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -52,8 +52,6 @@
% 复旦大学校名(復旦大學),由毛泽东题写。原始图片来源:
% \url{http://www.fudan.edu.cn/2016/channels/view/74/}。
% \begin{macrocode}
-%\NewDocumentCommand \fduname { O { } }
-% { \@@_tikz:nx { \fdulogo@name } { \c_@@_default_arg_tl, #1 } }
% + new
% - original
\NewDocumentCommand \fduname { t+ t- O { } }
@@ -105,7 +103,10 @@
% \url{http://www.fudan.edu.cn/2016/channels/view/74/}。
% \begin{macrocode}
\NewDocumentCommand \fdumotto { O { } }
- { \@@_tikz:nx { \fdulogo@motto } { \c_@@_default_arg_tl, #1 } }
+ {
+ \@@_tikz:nx
+ { \fdulogo@motto } { \c_@@_default_arg_tl, #1 }
+ }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/fduthesis/fduthesis.dtx b/macros/latex/contrib/fduthesis/fduthesis.dtx
index c6439e661b..2b001b151c 100644
--- a/macros/latex/contrib/fduthesis/fduthesis.dtx
+++ b/macros/latex/contrib/fduthesis/fduthesis.dtx
@@ -2,7 +2,7 @@
% !TeX program = XeLaTeX
% !TeX encoding = UTF-8
%
-% Copyright (C) 2017--2022 by Xiangdong Zeng <xdzeng96@gmail.com>
+% Copyright (C) 2017--2023 by Xiangdong Zeng <xdzeng96@gmail.com>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -46,7 +46,7 @@
The `fduthesis` Class
=====================
-*LaTeX thesis template for Fudan University, v0.8*
+*LaTeX thesis template for Fudan University, v0.9*
Overview
--------
@@ -86,7 +86,7 @@ To install `fduthesis`, you can use one of the following methods:
git clone https://github.com/stone-zeng/fduthesis.git
- Run `install-win.bat` (on Windows) or `install-linux.sh` (on Linux)
+ Run `install-win.bat` (Windows) or `install-unix.sh` (Linux or macOS)
to generate the templates and configuration files. These files would
be found in a new-created `thesis` folder. You can enjoy `fduthesis`
here at once.
@@ -123,7 +123,7 @@ version.
-----
-Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
+Copyright (C) 2017&ndash;2023 by Xiangdong Zeng <xdzeng96@gmail.com>.
%</readme>
%
%<*internal>
@@ -141,7 +141,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\preamble
- Copyright (C) 2017--2022 by Xiangdong Zeng <xdzeng96@gmail.com>
+ Copyright (C) 2017--2023 by Xiangdong Zeng <xdzeng96@gmail.com>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -231,7 +231,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
%<class|class-en|doc|logo>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
%<*!(driver|install|ex-logo|cover)>
-%<!readme>\GetIdInfo $Id: fduthesis.dtx 0.8 2022-09-04 12:00:00Z Xiangdong Zeng <xdzeng96@gmail.com> $
+%<!readme>\GetIdInfo $Id: fduthesis.dtx 0.9 2023-02-26 12:00:00Z Xiangdong Zeng <xdzeng96@gmail.com> $
%<class> {Thesis template for Fudan University}
%<class>\ProvidesExplClass{\ExplFileName}
%<class-en> {Thesis template for Fudan University (English version)}
@@ -271,13 +271,13 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\title{\textcolor{MaterialIndigo800}{\textbf{fduthesis: 复旦大学论文模板}}}
\author{曾祥东}
-\date{2022/09/04\quad v0.8%
+\date{2023/02/26\quad v0.9%
\thanks{\url{https://github.com/stone-zeng/fduthesis}.}}
%^^A! \title{\textcolor{MaterialIndigo800}{%
%^^A! \textbf{The \textsf{fduthesis} Class \\
%^^A! \LaTeX{} Thesis Template for Fudan University}}}
%^^A! \author{Xiangdong Zeng}
-%^^A! \date{2022/09/04\quad v0.8%
+%^^A! \date{2023/02/26\quad v0.9%
%^^A! \thanks{\url{https://github.com/stone-zeng/fduthesis}.}}
%^^A!
@@ -433,7 +433,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{itemize}
% \item 名字后面带有 \rexptarget\rexpstar{} 的,表示只能在\emph{中文模板}中使用;
% \item 名字后面带有 \exptarget\expstar{} 的,表示只能在\emph{英文模板}中使用;
-% \item 名字后面不带有特殊符号的,表示既可以在中文模板中使用,也可以在英文模板中使用。
+% \item 名字后面不带有特殊标记的,表示既可以在中文模板中使用,也可以在英文模板中使用。
% \end{itemize}
%^^A! The options, commands and environments in \cls{fduthesis} can be
%^^A! divided into the following three types:
@@ -442,8 +442,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%^^A! indicated by \rexptarget\rexpstar{}.
%^^A! \item Those can be only used in \emph{English templates} are
%^^A! indicated by \rexptarget\expstar{}.
-%^^A! \item If they do not have special characters afterwards, then
-%^^A! you can use them in both Chinese and English templates.
+%^^A! \item If they do not have marks afterwards, then you can use
+%^^A! them in both Chinese and English templates.
%^^A! \end{itemize}
%^^A!
%
@@ -494,7 +494,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \item 从 CTAN 上下载 \cls{fduthesis} 的
% \href{https://mirror.ctan.org/install/macros/latex/contrib/fduthesis.tds.zip}{TDS 安装包};
% \item 按目录结构将 \file{fduthesis.tds.zip} 中的文件复制到 \TeX{} 发行版的本地 TDS 根目录;
-% \item 执行 \bashcmd{mktexlsr} 命令刷新文件名数据库以完成安装。
+% \item 执行 \texttt{mktexlsr} 命令刷新文件名数据库以完成安装。
% \end{itemize}
%^^A! If you want to download the template from CTAN and install it
%^^A! manually, the recommended way is to use the TDS ZIP file:
@@ -503,7 +503,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%^^A! {TDS ZIP file} for \cls{fduthesis};
%^^A! \item Copy all the files in \file{fduthesis.tds.zip} into the
%^^A! local TDS directory of \TeX{} distribution.
-%^^A! \item Run \bashcmd{mktexlsr} to update the ls-R database.
+%^^A! \item Run \texttt{mktexlsr} to update the ls-R database.
%^^A! \end{itemize}
%^^A
%
@@ -520,7 +520,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{shellexample}[gobble=7,alsoletter={.},morekeywords={git,clone}]
% git clone https://github.com/stone-zeng/fduthesis.git
% \end{shellexample}
-% \item 执行 \file{install-win.bat}(Windows 系统)或 \file{install-linux.sh}(Linux 或 macOS
+% \item 执行 \file{install-win.bat}(Windows 系统)或 \file{install-unix.sh}(Linux 或 macOS
% 系统),所有需要的文件便会在 \file{thesis} 文件夹中生成。
% \end{itemize}
%^^A! On CTAN, only the stable version of \cls{fduthesis} is provided, where new features and
@@ -533,8 +533,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%^^A! \begin{shellexample}[gobble=5,alsoletter={.},morekeywords={git,clone}]
%^^A! git clone https://github.com/stone-zeng/fduthesis.git
%^^A! \end{shellexample}
-%^^A! \item Run \file{install-win.bat} (on Windows) or \file{install-linux.sh} (on Linux),
-%^^A! then all the necessary files will be found in the \file{thesis} folder.
+%^^A! \item Run \file{install-win.bat} (Windows) or \file{install-unix.sh} (Linux or macOS),
+%^^A! all the necessary files will be found in the \file{thesis} folder then.
%^^A! \end{itemize}
%^^A!
%
@@ -1744,7 +1744,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% 曰\CJKunderdot{鳳頭、豬肚、豹尾}六字是也。」大概起要美麗,中要浩蕩,
% 結要響亮。尤貴在首尾貫穿,意思清新。苟能若是,斯可以言樂府矣。
% \end{quotation}
-% \hfill ——陶宗儀《南村輟耕錄·作今樂府法》
+% \hfill ^^^^2e3a陶宗儀《南村輟耕錄·作今樂府法》 ^^A ^^^^2e3a = 破折号
%
% \subsubsection{凤头}
%^^A! \subsubsection{Front matter}
@@ -1937,7 +1937,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \paragraph{参考文献引用}
%^^A! \paragraph{Citations}
%
-% \begin{function}{\cite}
+% \begin{function}[updated=2021-09-20]{\cite}
% \begin{fdusyntax}[deletetexcs={\cite},morekeywords={\cite}]
% \cite(*\marg{文献标签}*)
% \cite(*\oarg{页码}\marg{文献标签}*)
@@ -1947,7 +1947,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% 用来标记引用。顺序编码制和著者—出版年制下的各种引用方式见
% 表~\ref{tab:citation-numerical} 和表~\ref{tab:citation-author-year}。
% \end{function}
-%^^A! \begin{function}{\cite}
+%^^A! \begin{function}[updated=2021-09-20]{\cite}
%^^A! \begin{fdusyntax}[deletetexcs={\cite},morekeywords={\cite}]
%^^A! \cite(*\marg{bib key}*)
%^^A! \cite(*\oarg{page number}\marg{bib key}*)
@@ -2175,7 +2175,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%^^A! the position of QED symbol correct.
%^^A!
%
-% \begin{function}[updated=2017-12-12]{\newtheorem}
+% \begin{function}[updated=2023-02-08]{\newtheorem}
% \begin{fdusyntax}[deletetexcs={\newtheorem},
% morekeywords={\newtheorem,\newtheorem*}]
% \newtheorem(*\oarg{选项}\marg{环境名}\marg{标题}*)
@@ -2360,6 +2360,24 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%^^A! \end{function}
%^^A!
%
+% \begin{function}[added=2023-02-06]{acknowledgements}
+% \begin{fdusyntax}[emph={[2]acknowledgements}]
+% \begin{acknowledgements}
+% (*\meta{致谢内容}*)
+% \end{acknowledgements}
+% \end{fdusyntax}
+% 致谢。
+% \end{function}
+%^^A! \begin{function}[added=2023-02-06]{acknowledgements}
+%^^A! \begin{fdusyntax}[emph={[2]acknowledgements}]
+%^^A! \begin{acknowledgements}
+%^^A! (*\meta{acknowledgements}*)
+%^^A! \end{acknowledgements}
+%^^A! \end{fdusyntax}
+%^^A! Acknowledgements.
+%^^A! \end{function}
+%^^A!
+%
% \section{宏包依赖情况}
%^^A! \section{Packages dependencies}
%^^A!
@@ -2754,17 +2772,15 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \subsubsection{内部变量声明}
%
% \begin{variable}{\l_@@_tmpa_box,
-% \l_@@_tmpa_clist,\l_@@_tmpb_clist,
-% \l_@@_tmpa_dim,\l_@@_tmpb_dim,
+% \l_@@_tmpa_clist,
+% \l_@@_tmpa_dim,
% \l_@@_tmpa_skip,
% \l_@@_tmpa_tl,\l_@@_tmpb_tl}
% 临时变量。
% \begin{macrocode}
\box_new:N \l_@@_tmpa_box
\clist_new:N \l_@@_tmpa_clist
-\clist_new:N \l_@@_tmpb_clist
\dim_new:N \l_@@_tmpa_dim
-\dim_new:N \l_@@_tmpb_dim
\skip_new:N \l_@@_tmpa_skip
\tl_new:N \l_@@_tmpa_tl
\tl_new:N \l_@@_tmpb_tl
@@ -2812,17 +2828,14 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
% \subsubsection{内部函数}
%
-% \begin{macro}{\file_input:V,
-% \int_to_arabic:v,
-% \keys_define:nx,
-% \tl_map_inline:xn}
+% \begin{macro}{\file_input:V,\int_to_arabic:v,\keys_define:nx,\regex_replace_all:nnc}
% \begin{macro}[TF]{\tl_if_eq:Vn}
% \LaTeX3{} 函数变体。
% \begin{macrocode}
-\cs_generate_variant:Nn \file_input:n { V }
-\cs_generate_variant:Nn \int_to_arabic:n { v }
-\cs_generate_variant:Nn \keys_define:nn { nx }
-\cs_generate_variant:Nn \tl_map_inline:nn { xn }
+\cs_generate_variant:Nn \file_input:n { V }
+\cs_generate_variant:Nn \int_to_arabic:n { v }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_generate_variant:Nn \regex_replace_all:nnN { nnc }
\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { Vn } { T, TF }
% \end{macrocode}
% \end{macro}
@@ -2876,7 +2889,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
% \begin{macro}{\@@_gadd_ltxhook:nn}
% 封装 \LaTeX{} 的钩子管理机制。本模板中的字体加载命令位于
-% |begindocument/before| 钩子中,需确保在 \pkg{xeCJK} 之前执行。
+% \texttt{begindocument/\allowbreak before} 钩子中,需确保在 \pkg{xeCJK} 之前执行。
% \begin{macrocode}
\cs_new_protected:Npn \@@_gadd_ltxhook:nn #1#2
{ \hook_gput_code:nnn {#1} { . } {#2} }
@@ -2902,8 +2915,6 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
% \begin{macro}{\@@_define_fn_style:nn,
% \@@_define_punct:nn,
-% \@@_define_sep:nn,
-% \@@_define_format:nn,
% \@@_define_name:nn,
% \@@_define_name:nnn}
% 用来定义脚注样式、标点、默认名称的辅助函数。
@@ -2912,10 +2923,6 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
{ \tl_const:cn { c_@@_fn_style_ #1 _tl } {#2} }
\cs_new_protected:Npn \@@_define_punct:nn #1#2
{ \tl_const:cn { c_@@_ #1 _tl } {#2} }
-% \cs_new_protected:Npn \@@_define_sep:nn #1#2
-% { \tl_const:cn { c_@@_ #1 _sep_tl } {#2} }
-% \cs_new_protected:Npn \@@_define_format:nn #1#2
-% { \tl_const:cn { c_@@_ #1 _format_tl } {#2} }
\cs_new_protected:Npn \@@_define_name:nn #1#2
{ \tl_const:cn { c_@@_name_ #1 _tl } {#2} }
\cs_new_protected:Npn \@@_define_name:nnn #1#2#3
@@ -2927,7 +2934,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macro}
%
% \begin{macro}{\@@_msg_new:nn,
-% \@@_error:n,\@@_error:nn,\@@_error:nx,\@@_error:nnn,\@@_error:nnnn
+% \@@_error:n,\@@_error:nn,\@@_error:nx,\@@_error:nnn,\@@_error:nnnn,
% \@@_warning:n,\@@_warning:nn,\@@_warning:nxx,
% \@@_info:nx}
% 各种信息函数的缩略形式。
@@ -3288,8 +3295,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \setmathfont,
% \setCJKmainfont,
% \setCJKsansfont,
-% \setCJKmonofont,
-% \@@_set_font:n}
+% \setCJKmonofont}
% 重新定义以上宏包提供的字体选择命令。我们把它放在导言区末尾,使得用户配置不被
% 模板配置覆盖。
% \begin{macrocode}
@@ -3301,108 +3307,16 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
{ \use:c { @@_set #1 font:nn } {##2} { ##1, ##3 } }
}
}
-\clist_map_inline:nn { main, sans, mono, math } { \@@_set_font_helper:n {#1} }
-%<class>\clist_map_inline:nn { CJKmain, CJKsans, CJKmono } { \@@_set_font_helper:n {#1} }
+\clist_map_inline:nn { main, sans, mono, math }
+ { \@@_set_font_helper:n {#1} }
+%<class>\clist_map_inline:nn { CJKmain, CJKsans, CJKmono }
+%<class> { \@@_set_font_helper:n {#1} }
% \end{macrocode}
% \end{macro}
%
% \changes{v0.7e}{2019/04/10}{兼容 Libertinus 和 XITS 字体的文件名变动。}
% \changes{v0.8}{2021/09/15}{判断 Libertinus Sans Bold Oblique 字体是否存在。}
-%
-% \begin{macro}{
-% \g_@@_font_family_libertinus_serif_tl,
-% \g_@@_font_family_libertinus_sans_tl,
-% \g_@@_font_style_libertinus_rm_tl,
-% \g_@@_font_style_libertinus_bf_tl,
-% \g_@@_font_style_libertinus_it_tl,
-% \g_@@_font_style_libertinus_bfit_tl,
-% \g_@@_font_style_libertinus_bfsl_tl,
-% \g_@@_font_family_xits_tl,
-% \g_@@_font_style_xits_rm_tl,
-% \g_@@_font_style_xits_bf_tl,
-% \g_@@_font_style_xits_it_tl,
-% \g_@@_font_style_xits_bfit_tl,
-% \g_@@_font_name_libertinus_serif_tl,
-% \g_@@_font_name_libertinus_sans_tl,
-% \g_@@_font_name_libertinus_math_tl,
-% \g_@@_font_name_xits_tl,
-% \g_@@_font_name_xits_math_rm_tl,
-% \g_@@_font_name_xits_math_bf_tl}
-% Libertinus 和 XITS 字体的文件名做过变动,需要特殊处理。
-% \begin{macrocode}
-\tl_new:N \g_@@_font_family_libertinus_serif_tl
-\tl_new:N \g_@@_font_family_libertinus_sans_tl
-\tl_new:N \g_@@_font_style_libertinus_rm_tl
-\tl_new:N \g_@@_font_style_libertinus_bf_tl
-\tl_new:N \g_@@_font_style_libertinus_it_tl
-\tl_new:N \g_@@_font_style_libertinus_bfit_tl
-\tl_new:N \g_@@_font_style_libertinus_bfsl_tl
-\tl_new:N \g_@@_font_family_xits_tl
-\tl_new:N \g_@@_font_style_xits_rm_tl
-\tl_new:N \g_@@_font_style_xits_bf_tl
-\tl_new:N \g_@@_font_style_xits_it_tl
-\tl_new:N \g_@@_font_style_xits_bfit_tl
-\tl_new:N \g_@@_font_name_libertinus_serif_tl
-\tl_new:N \g_@@_font_name_libertinus_sans_tl
-\tl_new:N \g_@@_font_name_libertinus_math_tl
-\tl_new:N \g_@@_font_name_xits_tl
-\tl_new:N \g_@@_font_name_xits_math_rm_tl
-\tl_new:N \g_@@_font_name_xits_math_bf_tl
-\fontspec_font_if_exist:nTF { LibertinusSerif-Regular.otf }
- {
- \tl_set:Nn \g_@@_font_family_libertinus_serif_tl { LibertinusSerif }
- \tl_set:Nn \g_@@_font_family_libertinus_sans_tl { LibertinusSans }
- \tl_set:Nn \g_@@_font_family_libertinus_math_tl { LibertinusMath }
- \tl_set:Nn \g_@@_font_style_libertinus_rm_tl { Regular }
- \tl_set:Nn \g_@@_font_style_libertinus_bf_tl { Bold }
- \tl_set:Nn \g_@@_font_style_libertinus_it_tl { Italic }
- \tl_set:Nn \g_@@_font_style_libertinus_bfit_tl { BoldItalic }
-% \end{macrocode}
-% 较新版本中 Libertinus Sans Bold Oblique 字体被移除,需进行额外判断。
-% \begin{macrocode}
- \fontspec_font_if_exist:nTF { LibertinusSans-BoldOblique.otf }
- { \tl_set:Nn \g_@@_font_style_libertinus_bfsl_tl { BoldOblique } }
- { \tl_set:Nn \g_@@_font_style_libertinus_bfsl_tl { Bold } }
- }
- {
- \tl_set:Nn \g_@@_font_family_libertinus_serif_tl { libertinusserif }
- \tl_set:Nn \g_@@_font_family_libertinus_sans_tl { libertinussans }
- \tl_set:Nn \g_@@_font_family_libertinus_math_tl { libertinusmath }
- \tl_set:Nn \g_@@_font_style_libertinus_rm_tl { regular }
- \tl_set:Nn \g_@@_font_style_libertinus_bf_tl { bold }
- \tl_set:Nn \g_@@_font_style_libertinus_it_tl { italic }
- \tl_set:Nn \g_@@_font_style_libertinus_bfit_tl { bolditalic }
- \tl_set:Nn \g_@@_font_style_libertinus_bfsl_tl { bolditalic }
- }
-\fontspec_font_if_exist:nTF { XITS-Regular.otf }
- {
- \tl_set:Nn \g_@@_font_family_xits_tl { XITS }
- \tl_set:Nn \g_@@_font_style_xits_rm_tl { Regular }
- \tl_set:Nn \g_@@_font_style_xits_bf_tl { Bold }
- \tl_set:Nn \g_@@_font_style_xits_it_tl { Italic }
- \tl_set:Nn \g_@@_font_style_xits_bfit_tl { BoldItalic }
- \tl_set:Nn \g_@@_font_name_xits_math_rm_tl { XITSMath-Regular }
- \tl_set:Nn \g_@@_font_name_xits_math_bf_tl { XITSMath-Bold }
- }
- {
- \tl_set:Nn \g_@@_font_family_xits_tl { xits }
- \tl_set:Nn \g_@@_font_style_xits_rm_tl { regular }
- \tl_set:Nn \g_@@_font_style_xits_bf_tl { bold }
- \tl_set:Nn \g_@@_font_style_xits_it_tl { italic }
- \tl_set:Nn \g_@@_font_style_xits_bfit_tl { bolditalic }
- \tl_set:Nn \g_@@_font_name_xits_math_rm_tl { xits-math }
- \tl_set:Nn \g_@@_font_name_xits_math_bf_tl { xits-mathbold }
- }
-\tl_set:Nx \g_@@_font_name_libertinus_serif_tl
- { \g_@@_font_family_libertinus_serif_tl - \g_@@_font_style_libertinus_rm_tl }
-\tl_set:Nx \g_@@_font_name_libertinus_sans_tl
- { \g_@@_font_family_libertinus_sans_tl - \g_@@_font_style_libertinus_rm_tl }
-\tl_set:Nx \g_@@_font_name_libertinus_math_tl
- { \g_@@_font_family_libertinus_math_tl - \g_@@_font_style_libertinus_rm_tl }
-\tl_set:Nx \g_@@_font_name_xits_tl
- { \g_@@_font_family_xits_tl - \g_@@_font_style_xits_rm_tl }
-% \end{macrocode}
-% \end{macro}
+% \changes{v0.9}{2023/02/18}{不再检查 Libertinus 和 XITS 字体的文件名。}
%
% \begin{macro}{\@@_load_font_garamond:}
% EB Garamond 系列。
@@ -3417,13 +3331,12 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic
}
- \@@_setsansfont:nn { \g_@@_font_family_libertinus_sans_tl }
+ \@@_setsansfont:nn { LibertinusSans }
{
Extension = .otf,
- UprightFont = *-\g_@@_font_style_libertinus_rm_tl,
- BoldFont = *-\g_@@_font_style_libertinus_bf_tl,
- ItalicFont = *-\g_@@_font_style_libertinus_it_tl,
- BoldItalicFont = *-\g_@@_font_style_libertinus_bfsl_tl
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
}
\@@_setmonofont:nn { lmmonolt10 }
{
@@ -3443,21 +3356,20 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_font_libertinus:
{
- \@@_setmainfont:nn { \g_@@_font_family_libertinus_serif_tl }
+ \@@_setmainfont:nn { LibertinusSerif }
{
Extension = .otf,
- UprightFont = *-\g_@@_font_style_libertinus_rm_tl,
- BoldFont = *-\g_@@_font_style_libertinus_bf_tl,
- ItalicFont = *-\g_@@_font_style_libertinus_it_tl,
- BoldItalicFont = *-\g_@@_font_style_libertinus_bfit_tl
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
}
- \@@_setsansfont:nn { \g_@@_font_family_libertinus_sans_tl }
+ \@@_setsansfont:nn { LibertinusSans }
{
Extension = .otf,
- UprightFont = *-\g_@@_font_style_libertinus_rm_tl,
- BoldFont = *-\g_@@_font_style_libertinus_bf_tl,
- ItalicFont = *-\g_@@_font_style_libertinus_it_tl,
- BoldItalicFont = *-\g_@@_font_style_libertinus_bfsl_tl
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
}
\@@_setmonofont:nn { lmmonolt10 }
{
@@ -3467,7 +3379,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
ItalicFont = *-oblique,
BoldItalicFont = *-boldoblique
}
- \@@_setmathfont:nn { \g_@@_font_name_libertinus_math_tl .otf } { }
+ \@@_setmathfont:nn { LibertinusMath-Regular.otf } { }
}
% \end{macrocode}
% \end{macro}
@@ -3494,14 +3406,13 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
ItalicFont = *-italic,
BoldItalicFont = *-bolditalic
}
- \@@_setsansfont:nn { \g_@@_font_family_libertinus_sans_tl }
+ \@@_setsansfont:nn { LibertinusSans }
{
Extension = .otf,
- UprightFont = *-\g_@@_font_style_libertinus_rm_tl,
- BoldFont = *-\g_@@_font_style_libertinus_bf_tl,
- ItalicFont = *-\g_@@_font_style_libertinus_it_tl,
- BoldItalicFont = *-\g_@@_font_style_libertinus_bfsl_tl,
- Scale = MatchUppercase
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ Scale = MatchUppercase,
}
\@@_setmonofont:nn { lmmonolt10 }
{
@@ -3521,13 +3432,13 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_font_times:
{
- \@@_setmainfont:nn { \g_@@_font_family_xits_tl }
+ \@@_setmainfont:nn { XITS }
{
- Extension = .otf,
- UprightFont = *-\g_@@_font_style_xits_rm_tl,
- BoldFont = *-\g_@@_font_style_xits_bf_tl,
- ItalicFont = *-\g_@@_font_style_xits_it_tl,
- BoldItalicFont = *-\g_@@_font_style_xits_bfit_tl
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
}
\@@_setsansfont:nn { texgyreheros }
{
@@ -3546,8 +3457,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
BoldItalicFont = *-bolditalic,
Ligatures = CommonOff
}
- \@@_setmathfont:nn { \g_@@_font_name_xits_math_rm_tl .otf }
- { BoldFont = \g_@@_font_name_xits_math_bf_tl .otf }
+ \@@_setmathfont:nn { XITSMath-Regular.otf }
+ { BoldFont = XITSMath-Bold.otf }
}
% \end{macrocode}
% \end{macro}
@@ -3560,8 +3471,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\@@_setmainfont:nn { Times~ New~ Roman } { }
\@@_setsansfont:nn { Arial } { }
\@@_setmonofont:nn { Courier~ New } { }
- \@@_setmathfont:nn { \g_@@_font_name_xits_math_rm_tl .otf }
- { BoldFont = \g_@@_font_name_xits_math_bf_tl .otf }
+ \@@_setmathfont:nn { XITSMath-Regular.otf }
+ { BoldFont = XITSMath-Bold.otf }
}
% \end{macrocode}
% \end{macro}
@@ -3754,41 +3665,18 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
% \subsubsection{字号}
%
-% \begin{macrocode}
-\keys_define:nn { fdu / style }
- {
-% \end{macrocode}
-%
% \begin{macro}{style/font-size}
+% \changes{v0.9}{2023/02/08}{通过引入 \file{ctex-c5size.clo} 来修改字号。}
% |font-size| 不是文档类选项,不能传给 \cls{ctexbook} 文档类,因此
-% 只能手动重定义字号命令。
+% 需要手动引入 |.clo| 文件。
% \begin{macrocode}
+\keys_define:nn { fdu / style }
+ {
font-size .choice:,
font-size .value_required:n = true,
font-size / -4 .code:n = { },
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tiny,\scriptsize,\footnotesize,\small,
-% \normalsize,\large,\Large,\LARGE,\huge,\Huge}
-% 默认使用小四号字,所以只有五号字需要重新设置。
-% \begin{macrocode}
- font-size / 5 .code:n =
- {
- \RenewDocumentCommand \tiny { } { \zihao { 7 } }
- \RenewDocumentCommand \scriptsize { } { \zihao { -6 } }
- \RenewDocumentCommand \footnotesize { } { \zihao { 6 } }
- \RenewDocumentCommand \small { } { \zihao { -5 } }
- \RenewDocumentCommand \normalsize { } { \zihao { 5 } }
- \RenewDocumentCommand \large { } { \zihao { -4 } }
- \RenewDocumentCommand \Large { } { \zihao { -3 } }
- \RenewDocumentCommand \LARGE { } { \zihao { -2 } }
- \RenewDocumentCommand \huge { } { \zihao { 2 } }
- \RenewDocumentCommand \Huge { } { \zihao { 1 } }
-%<class-en> }
+ font-size / 5 .code:n = { \ctex_file_input:n { ctex-c5size.clo } },
%<class-en> }
-%<*class>
- },
% \end{macrocode}
% \end{macro}
%
@@ -3798,6 +3686,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \changes{v0.6}{2017/10/14}{支持类别码和 TECKit 映射两种机制。}
% 设置句号形状(圆圈或是圆点)。
% \begin{macrocode}
+%<*class>
fullwidth-stop .choice:,
fullwidth-stop .value_required:n = true,
% \end{macrocode}
@@ -3985,17 +3874,31 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
%
% \changes{v0.7d}{2019/03/24}{优化目录、摘要、参考文献等的标题实现。}
+% \changes{v0.9}{2023/02/05}{在目录和书签中删除章标题中的 \tn{quad}。}
+%
+% \begin{macro}{\@@_sanitize_chapter_title:n}
+% 删除章标题中的 \tn{quad}。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_sanitize_chapter_title:n #1
+ {
+ \tl_clear:N \l_@@_tmpa_tl
+ \tl_set:No \l_@@_tmpa_tl {#1}
+ \tl_remove_all:Nn \l_@@_tmpa_tl { \quad }
+ }
+% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\@@_chapter:n,\@@_chapter:V}
% 手动生成章的标题,用于摘要、参考文献等。
% \begin{macrocode}
\cs_new_protected:Npn \@@_chapter:n #1
{
+ \@@_sanitize_chapter_title:n {#1}
\group_begin:
\ctexset { chapter / numbering = false }
- \chapter {#1}
- \@@_chapter_header:n {#1}
+ \chapter [ \l_@@_tmpa_tl ] {#1}
\group_end:
+ \@@_chapter_header:n {#1}
}
\cs_generate_variant:Nn \@@_chapter:n { V }
% \end{macrocode}
@@ -4007,9 +3910,10 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macrocode}
\cs_new_protected:Npn \@@_chapter_no_toc:n #1
{
- \chapter * {#1}
+ \chapter * {#1}
+ \@@_sanitize_chapter_title:n {#1}
+ \pdfbookmark [0] { \l_@@_tmpa_tl } { toc }
\@@_chapter_header:n {#1}
- \pdfbookmark [0] {#1} { toc }
}
\cs_generate_variant:Nn \@@_chapter_no_toc:n { V }
% \end{macrocode}
@@ -4128,13 +4032,6 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_fn_symbol_libertinus_sans:n}
-% \opt{libertinus} 阳文无衬线版。符号排列与普通版相同。
-% \begin{macrocode}
-\cs_new_eq:NN \@@_fn_symbol_libertinus_sans:n \@@_fn_symbol_libertinus:n
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\@@_fn_symbol_pifont:n}
% \opt{pifont} 普通版。以下四种都只包含 \numrange{1}{10}。
% \begin{macrocode}
@@ -4226,18 +4123,18 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macrocode}
\c_@@_fn_style_libertinus_tl
{
- \fontspec { \g_@@_font_name_libertinus_serif_tl .otf }
+ \fontspec { LibertinusSerif-Regular.otf }
\@@_fn_symbol_libertinus:n {#1}
}
\c_@@_fn_style_libertinus_neg_tl
{
- \fontspec { \g_@@_font_name_libertinus_serif_tl .otf }
+ \fontspec { LibertinusSerif-Regular.otf }
\@@_fn_symbol_libertinus_neg:n {#1}
}
\c_@@_fn_style_libertinus_sans_tl
{
- \fontspec { \g_@@_font_name_libertinus_sans_tl .otf }
- \@@_fn_symbol_libertinus_sans:n {#1}
+ \fontspec { LibertinusSans-Regular.otf }
+ \@@_fn_symbol_libertinus:n {#1}
}
% \end{macrocode}
% \opt{pifont} 类型无需进行额外的操作。
@@ -4255,17 +4152,17 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macrocode}
\c_@@_fn_style_xits_tl
{
- \fontspec { \g_@@_font_name_xits_tl .otf }
+ \fontspec { XITS-Regular.otf }
\@@_fn_symbol_xits:n {#1}
}
\c_@@_fn_style_xits_sans_tl
{
- \fontspec { \g_@@_font_name_xits_tl .otf }
+ \fontspec { XITS-Regular.otf }
\@@_fn_symbol_xits_sans:n {#1}
}
\c_@@_fn_style_xits_sans_neg_tl
{
- \fontspec { \g_@@_font_name_xits_tl .otf }
+ \fontspec { XITS-Regular.otf }
\@@_fn_symbol_xits_sans_neg:n {#1}
}
}
@@ -4356,9 +4253,10 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \cs{new\-the\-orem}。}
%
% \begin{macro}{\newtheorem}
+% \changes{v0.9}{2023/02/08}{改用 \cs{DeclareDocumentCommand} 定义。}
% 定义新的定理环境。
% \begin{macrocode}
-\RenewDocumentCommand \newtheorem { s o m m }
+\DeclareDocumentCommand \newtheorem { s o m m }
{
% \end{macrocode}
% 默认情况下,由 \cs{newtheorem*} 创建的定理其证毕符号为 \cs{QED},
@@ -4587,6 +4485,35 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
% \end{variable}
%
+% \changes{v0.9}{2023/02/12}{删除论文标题中的 \tn{\textbackslash} 和汉字间的空格。}
+%
+% \begin{variable}{\l_@@_info_title_sanitized_tl,
+% \l_@@_info_title_en_sanitized_tl}
+% 处理后的论文标题。
+% \begin{macrocode}
+\tl_new:N \l_@@_info_title_sanitized_tl
+\tl_new:N \l_@@_info_title_en_sanitized_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_set_title:nn}
+% 设置论文标题,并删除其中的 |\\| 和汉字间的空格。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_title:nn #1#2
+ {
+ \tl_set:cn { l_@@_info_ #1 _tl } {#2}
+ \tl_set:cn { l_@@_info_ #1 _sanitized_tl } {#2}
+ \tl_replace_all:cnn { l_@@_info_ #1 _sanitized_tl } { \\ } { ~ }
+ \regex_replace_all:nnc
+ { \s+ } { \ }
+ { l_@@_info_ #1 _sanitized_tl }
+ \regex_replace_all:nnc
+ { ([\x{4e00}-\x{9fff}]) \s+ ([\x{4e00}-\x{9fff}]) } { \1 \2 }
+ { l_@@_info_ #1 _sanitized_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% 定义 |fdu/info| 键值类。
% \begin{macrocode}
\keys_define:nn { fdu / info }
@@ -4607,8 +4534,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macro}{info/title,info/title*}
% 论文题目。以下带星号的项目均表示相应的英文字段。
% \begin{macrocode}
- title .tl_set:N = \l_@@_info_title_tl,
- title* .tl_set:N = \l_@@_info_title_en_tl,
+ title .code:n = { \@@_set_title:nn { title } {#1} },
+ title* .code:n = { \@@_set_title:nn { title_en } {#1} },
% \end{macrocode}
% \end{macro}
%
@@ -4769,7 +4696,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
% \subsubsection{定义内部函数}
%
-% \begin{macro}{\@@_spread_box:nn}
+% \begin{macro}{\@@_spread_box:nn,\@@_spread_box:no}
% 分散对齐的水平盒子。
% \begin{arguments}
% \item 宽度
@@ -4777,14 +4704,13 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{arguments}
% 利用 \cs{tl_map_inline:nn} 在字符间插入 \tn{hfil};紧随其后的 \tn{unskip}
% 将会去掉最后一个 \tn{hfil}。见 \url{https://tex.stackexchange.com/q/169689}。
-% |#2| 需要完全展开以避免 underfull 警告。
% \begin{macrocode}
\cs_new_protected:Npn \@@_spread_box:nn #1#2
{
\mode_leave_vertical:
- \hbox_to_wd:nn {#1}
- { \tl_map_inline:xn {#2} { ##1 \hfil } \unskip }
+ \hbox_to_wd:nn {#1} { \tl_map_inline:nn {#2} { ##1 \hfil } \unskip }
}
+\cs_generate_variant:Nn \@@_spread_box:nn { no }
% \end{macrocode}
% \end{macro}
%
@@ -4796,7 +4722,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\mode_leave_vertical:
\hbox_to_wd:nn {#1} { \hfil #2 \hfil }
}
-\cs_generate_variant:Nn \@@_center_box:nn { Vn }
+\cs_generate_variant:Nn \@@_center_box:nn { Vn }
% \end{macrocode}
% \end{macro}
%
@@ -4832,36 +4758,6 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_get_max_text_width:NN}
-% \changes{v0.6}{2017/11/24}{移除不必要的字号设置。}
-% 获取多个文本中的最大宽度,并存入 |dim| 型变量。
-% \begin{arguments}
-% \item |dim| 型变量
-% \item 文本 |clist|
-% \end{arguments}
-% 当 \cs{l_@@_tmpa_clist} 非空时,弹出最后一个元素
-% 赋给 \cs{l_@@_tmpa_tl},获取其长度后与 |#1| 进行比较,
-% 二者中较大的那一个将成为 |#1| 的新值。
-% 不断循环,直至 \cs{l_@@_tmpa_clist} 为空。
-% \begin{macrocode}
-\cs_new:Npn \@@_get_max_text_width:NN #1#2
- {
-% \end{macrocode}
-% 这里用 |group| 确保局部变量不会被污染。
-% \begin{macrocode}
- \group_begin:
- \clist_set_eq:NN \l_@@_tmpa_clist #2
- \bool_until_do:nn { \clist_if_empty_p:N \l_@@_tmpa_clist }
- {
- \clist_pop:NN \l_@@_tmpa_clist \l_@@_tmpa_tl
- \@@_get_text_width:NV \l_@@_tmpa_dim \l_@@_tmpa_tl
- \dim_gset:Nn #1 { \dim_max:nn {#1} { \l_@@_tmpa_dim } }
- }
- \group_end:
- }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\@@_blank_underline:n}
% \changes{v0.4}{2017/08/14}{改用 \tn{rule} 绘制下划线,不再依赖
% \pkg{ulem} 宏包。}
@@ -4953,7 +4849,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\clist_item:Nn \c_@@_thesis_type_clist
{ \g_@@_thesis_type_int }
}
- \@@_spread_box:nn { 0.45 \textwidth } { \l_@@_tmpa_tl }
+ \@@_spread_box:no { 0.45 \textwidth } { \l_@@_tmpa_tl }
}
% \end{macrocode}
% \end{macro}
@@ -4975,68 +4871,67 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_cover_info:,\l_@@_cover_info_left_width_tl}
+% \begin{macro}{\@@_cover_info_left:n}
+% 信息栏左侧字段。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cover_info_left:n #1
+ {
+ \int_case:nn { \l_@@_info_degree_type_int }
+ {
+ { 1 } { \_@@_spread_box:nn { 6 em } {#1} }
+ { 2 } { \_@@_spread_box:nn { 9 em } {#1} }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\c_@@_cover_info_align_tl}
+% 信息栏对齐格式:左右两栏均居中,中间以冒号分隔。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_cover_info_align_tl
+ { c @ { \c_@@_fwid_colon_tl } c }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_cover_info:}
% \changes{v0.8}{2021/09/21}{调整专业学位的封面信息栏。}
+% \changes{v0.9}{2023/02/05}{封面信息栏改用表格实现。}
% 信息栏。
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_info:
{
- \tl_set:Nx \l_@@_cover_info_left_width_tl
- {
- \int_case:nn { \l_@@_info_degree_type_int }
- {
- { 1 } { 6 em }
- { 2 } { 9 em }
- }
- }
- \begin{minipage} [ c ] { \textwidth }
- \centering \zihao { 4 }
+ \group_begin:
+ \zihao { 4 }
% \end{macrocode}
-% 读取左侧名称字段。
+% 专业学位与学术学位对应的左侧字段有所不同,这里统一存入 \cs{c_@@_name_major_tl}。
% \begin{macrocode}
- \clist_set:Nx \l_@@_tmpa_clist
+ \int_compare:nNnT { \l_@@_info_degree_type_int } = { 2 }
{
- \c_@@_name_department_tl,
- \int_case:nn { \l_@@_info_degree_type_int }
- {
- { 1 } { \c_@@_name_major_tl }
- { 2 } { \c_@@_name_major_professional_tl }
- },
- \c_@@_name_author_tl,
- \c_@@_name_supervisor_tl,
- \c_@@_name_date_tl,
+ \tl_set_eq:NN
+ \c_@@_name_major_tl \c_@@_name_major_professional_tl
}
% \end{macrocode}
-% 设置信息栏右侧宽度。读取各字段,并将最宽者的宽度赋给
-% \cs{l_@@_tmpb_dim}。
+% 将信息栏的每一行存入 |clist| 变量中。
% \begin{macrocode}
- \clist_set:Nx \l_@@_tmpb_clist
+ \clist_clear:N \l_@@_tmpa_clist
+ \clist_map_inline:nn { department, major, author, supervisor, date }
{
- { \l_@@_info_department_tl },
- { \l_@@_info_major_tl },
- { \l_@@_info_author_tl },
- { \l_@@_info_supervisor_tl },
- { \l_@@_info_date_tl }
+ \clist_gput_right:Nn \l_@@_tmpa_clist
+ {
+ \exp_args:Nx \@@_cover_info_left:n
+ { \tl_use:c { c_@@_name_ ##1 _tl } }
+ &
+ \tl_use:c { l_@@_info_ ##1 _tl }
+ }
}
- \@@_get_max_text_width:NN \l_@@_tmpb_dim \l_@@_tmpb_clist
% \end{macrocode}
-% 用循环输出各字段。
+% 通过 \env{tabular} 环境输出。
% \begin{macrocode}
- \bool_until_do:nn
- { \clist_if_empty_p:N \l_@@_tmpa_clist }
- {
- \clist_pop:NN \l_@@_tmpa_clist \l_@@_tmpa_tl
- \clist_pop:NN \l_@@_tmpb_clist \l_@@_tmpb_tl
- \@@_spread_box:nn
- { \l_@@_cover_info_left_width_tl }
- { \l_@@_tmpa_tl }
- \c_@@_fwid_colon_tl
- \@@_center_box:Vn \l_@@_tmpb_dim { \l_@@_tmpb_tl }
- \skip_vertical:n { 1 ex }
- }
- \end{minipage}
+ \begin{tabular} { \c_@@_cover_info_align_tl }
+ \clist_use:Nn \l_@@_tmpa_clist { \\ [ 1 ex ] }
+ \end{tabular}
+ \group_end:
}
-\tl_new:N \l_@@_cover_info_left_width_tl
% \end{macrocode}
% \end{macro}
%
@@ -5227,12 +5122,15 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
%
% \subsubsection{绘制封面}
%
+% \changes{v0.9}{2023/02/18}{为封面添加 PDF 页码。}
+%
% \begin{macro}{\makecoveri}
% 论文封面(封一)。
% \begin{macrocode}
\NewDocumentCommand \makecoveri { }
{
\thispagestyle { empty }
+ \tl_set:Nn \thepage { A }
\UseInstance { fdu / cover } { cover-i-default }
}
% \end{macrocode}
@@ -5246,7 +5144,9 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\NewDocumentCommand \makecoverii { }
{
\thispagestyle { empty }
- \clist_if_empty:NF \l_@@_info_instructors_clist
+ \tl_set:Nn \thepage { B }
+ \clist_if_empty:NTF \l_@@_info_instructors_clist
+ { \hbox:n { } }
{ \UseInstance { fdu / cover } { cover-ii-default } }
}
% \end{macrocode}
@@ -5258,11 +5158,10 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\NewDocumentCommand \makecoveriii { }
{
\cleardoublepage
+ \thispagestyle { empty }
+ \tl_set:Nn \thepage { C }
\tl_if_empty:NTF \l_@@_declaration_page_tl
- {
- \thispagestyle { empty }
- \UseInstance { fdu / cover } { cover-iii-default }
- }
+ { \UseInstance { fdu / cover } { cover-iii-default } }
{ \includepdf { \l_@@_declaration_page_tl } }
}
% \end{macrocode}
@@ -5307,7 +5206,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
type / format = \zihao { 2 },
degree / format = \zihao { 4 },
title / format = \zihao { -2 } \bfseries,
- title-en / format = \@@_line_spread:n { 1.2 } \zihao { 4 } \bfseries,
+ title-en / format =
+ \@@_line_spread:n { 1.2 } \zihao { 4 } \bfseries,
id / bottom-skip = 0 pt plus 1.6 fill,
logo / bottom-skip = 0 pt plus 0.3 fill,
type / bottom-skip = -18 pt,
@@ -5325,7 +5225,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
{
%<class-en> format = \@@_line_spread:N \c_@@_line_spread_fp,
title / content =
- \@@_spread_box:nn { 7 em } { \c_@@_name_instructors_tl },
+ \@@_spread_box:no { 7 em } { \c_@@_name_instructors_tl },
name-list / content =
\clist_use:Nn \l_@@_info_instructors_clist { \par },
title / format = \zihao { 2 } \sffamily,
@@ -5451,7 +5351,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \begin{macro}{\tableofcontents,\listoffigures,\listoftables}
% 修改 \cs{tableofcontents}、\cs{listoffigures} 和 \cs{listoftables} 的定义,
% 使得页眉正确显示,并出现在目录及 PDF 书签中。来自于 \LaTeXe{} 标准文档类
-% \file{book.cls}
+% \file{book.cls}^^A
% \footnote{原代码中只有 \cs{tableofcontents} 的 \cs{@mkboth} 出现在
% \cs{chapter*} 内部,这是出于兼容性的考虑而非 typo。}。
% \begin{macrocode}
@@ -5573,7 +5473,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macro}
%
% \begin{macro}{\@@_keywords:nNn,\@@_keywords_prevdepth:,\@@_clc_jel:nn}
-% 关键字列表前要空一行,使用悬挂缩进;分类号不缩进。|\parbox| 之后的间距
+% 关键字列表前要空一行,使用悬挂缩进;分类号不缩进。\tn{parbox} 之后的间距
% 需要调整,见 \url{https://tex.stackexchange.com/a/34982}。
% \begin{macrocode}
\cs_new_protected:Npn \@@_keywords:nNn #1#2#3
@@ -5584,7 +5484,8 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\parbox [t] { \dim_eval:n { \textwidth - \l_@@_tmpa_dim } }
{
\clist_use:Nn #2 {#3} \par
- \cs_gset:Npx \@@_keywords_prevdepth: { \dim_use:N \tex_prevdepth:D }
+ \cs_gset:Npx \@@_keywords_prevdepth:
+ { \dim_use:N \tex_prevdepth:D }
}
}
\cs_new_protected:Npn \@@_clc_jel:nn #1#2
@@ -5641,6 +5542,29 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
% \end{macro}
%
+% \subsection{致谢}
+%
+% \changes{v0.9}{2023/02/06}{新增致谢环境。}
+%
+% \begin{environment}{acknowledgements}
+% 致谢环境。
+% \begin{macrocode}
+\NewDocumentEnvironment { acknowledgements } { }
+ { \@@_acknowledgements_begin: } { }
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\@@_acknowledgements_begin:}
+% 致谢页标题。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_acknowledgements_begin:
+ {
+%<class> \@@_chapter:V \c_@@_name_acknowledgements_tl
+%<class-en> \@@_chapter:V \c_@@_name_acknowledgements_en_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{参考文献著录与引用}
%
% \changes{v0.6}{2017/10/27}{支持 \BibTeX{},以实现参考文献的著录与引用。}
@@ -5742,19 +5666,21 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
\tl_if_empty:NTF \l_@@_bib_style_tl
{
\RequirePackage [ sort & compress ] { gbt7714 }
- \exp_args:No \bibliographystyle { gbt7714- \l_@@_bib_gb_style_tl }
+ \exp_args:No \bibliographystyle
+ { gbt7714- \l_@@_bib_gb_style_tl }
}
{
\RequirePackage [ sort & compress ] { natbib }
- \exp_args:NV \bibliographystyle \l_@@_bib_style_tl
+ \exp_args:No \bibliographystyle
+ { \l_@@_bib_style_tl }
}
\@@_bibtex_setup:
}
}
% \end{macrocode}
% \pkg{biblatex} 会写入 |begindocument/before| 钩子,因此需在其之前通过
-% \texttt{env/document/\-begin} 钩子载入 \pkg{biblatex} 宏包。注意这个钩子仅
-% 适用于 |\begin{document}| 的写法,对于 |\document| 命令本身无效。
+% \texttt{env/doc\-u\-ment/begin} 钩子载入 \pkg{biblatex} 宏包。注意这个
+% 钩子仅适用于 |\begin{document}| 的写法,对于 |\document| 命令本身无效。
% \begin{macrocode}
\@@_gadd_ltxhook:nn { env/document/begin }
{
@@ -5915,8 +5841,7 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \end{macrocode}
% \end{macro}
%
-% \changes{v0.7}{2018/01/25}{同步 \pkg{gbt7714} v1.0,移除有关超链接
-% 的额外设置。}
+% \changes{v0.7}{2018/01/25}{同步 \pkg{gbt7714} v1.0,移除有关超链接的额外设置。}
% \changes{v0.8}{2021/09/20}{不再将著录用符号修改为中文标点符号。}
%
% \subsection{\pkg{hyperref} 相关配置}
@@ -5927,16 +5852,19 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% \changes{v0.7}{2018/01/23}{将 \pkg{hyperref} 相关配置移至模板末尾,
% 以减少冲突。}
%
-% \begin{macro}{\hypersetup,\fdu_hyperref_setup:n}
+% \begin{macro}{\hypersetup}
+% \changes{v0.9}{2023/02/08}{改用 \cs{DeclareDocumentCommand} 定义。}
+% \begin{macro}{\fdu_hyperref_setup:n}
% \pkg{hyperref} 宏包是在导言区之后才引入的。若要在导言区中使用
% \tn{hypersetup} 命令,必须另行定义。
% \begin{macrocode}
-\NewDocumentCommand \hypersetup { m }
+\DeclareDocumentCommand \hypersetup { m }
{ \fdu_hyperref_setup:n {#1} }
\cs_new_protected:Npn \fdu_hyperref_setup:n #1
{ \clist_gput_right:Nn \g_@@_to_hyperref_clist {#1} }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_set_hyperlink_color_key:n}
% 设置超链接颜色选项。最后的逗号用于确保 \pkg{l3keys} 可以正确解析,不能省去。
@@ -6060,12 +5988,12 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
% 填写 PDF 元信息。
% \begin{macrocode}
%<*class>
- pdftitle = \l_@@_info_title_tl,
+ pdftitle = \l_@@_info_title_sanitized_tl,
pdfauthor = \l_@@_info_author_tl,
pdfkeywords = \l_@@_info_keywords_clist,
%</class>
%<*class-en>
- pdftitle = \l_@@_info_title_en_tl,
+ pdftitle = \l_@@_info_title_en_sanitized_tl,
pdfauthor = \l_@@_info_author_en_tl,
pdfkeywords = \l_@@_info_keywords_en_clist,
%</class-en>
@@ -6338,17 +6266,20 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
{ lot } { 表格目录 },
{ bib_en } { Bibliography },
{ pdf_creator } { LaTeX~ with~ fduthesis~ class },
- { orig_decl } { \c_@@_name_simp_tl \\ 学位论文独创性声明 },
- { auth_decl } { \c_@@_name_simp_tl \\ 学位论文使用授权声明 }
+ { orig_decl }
+ { \c_@@_name_simp_tl \\ 学位论文独创性声明 },
+ { auth_decl }
+ { \c_@@_name_simp_tl \\ 学位论文使用授权声明 },
}
{ \@@_define_name:nn #1 }
\clist_map_inline:nn
{
- { abstract } { 摘 \quad 要 } { Abstract },
- { keywords } { 关键字 } { Keywords: },
- { clc } { 中图分类号 } { CLC~ code: },
- { jel } { JEL 分类号 } { JEL~ code: },
- { notation } { 符号表 } { List~ of~ Symbols }
+ { abstract } { 摘 \quad 要 } { Abstract },
+ { keywords } { 关键字 } { Keywords: },
+ { clc } { 中图分类号 } { CLC~ code: },
+ { jel } { JEL 分类号 } { JEL~ code: },
+ { notation } { 符号表 } { List~ of~ Symbols },
+ { acknowledgements } { 致 \quad 谢 } { Acknowledgements }
}
{ \@@_define_name:nnn #1 }
% \end{macrocode}
@@ -6366,9 +6297,18 @@ Copyright (C) 2017&ndash;2022 by Xiangdong Zeng <xdzeng96@gmail.com>.
{ theorem } { 定理 } { Theorem }
}
{ \@@_define_name:nnn #1 }
+% \end{macrocode}
+%
+% \begin{variable}{\c_@@_name_major_professional_tl}
+% \changes{v0.9}{2023/02/05}{处理右括号带来的间距。}
+% 处理右括号带来的间距。
+% \begin{macrocode}
+\tl_put_right:Nn \c_@@_name_major_professional_tl
+ { { \skip_horizontal:n { -0.5 em } } }
%</definition>
%<@@=>
% \end{macrocode}
+% \end{variable}
%
% \clearpage
%
diff --git a/macros/latex/contrib/fduthesis/fduthesis.pdf b/macros/latex/contrib/fduthesis/fduthesis.pdf
index 5d982b15aa..f3489a1812 100644
--- a/macros/latex/contrib/fduthesis/fduthesis.pdf
+++ b/macros/latex/contrib/fduthesis/fduthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/hrefhide/README b/macros/latex/contrib/hrefhide/README
index 79b2538d5a..bd65799b5d 100644
--- a/macros/latex/contrib/hrefhide/README
+++ b/macros/latex/contrib/hrefhide/README
@@ -1,4 +1,4 @@
-README for hrefhide package, 2011/04/29, v1.0f
+README for hrefhide package, 2023-02-26, v1.1a
TABLE OF CONTENTS
@@ -8,45 +8,52 @@ TABLE OF CONTENTS
2 Download
3 Installation
4 Additional Packages
-5 New Features
-6 Package Compatibility
-7 Authors/Maintainers
-8 Bug Reports
-9 Known Problems
+5 Package Compatibility
+6 Author/Maintainer
+7 Bug Reports
+8 Known Problems
1 INTRODUCTION
==============
-This package provides the command \hrefdisplayonly (additionally to \href of
-the hyperref package by Heiko Oberdiek). While the (hyperlinked) text appears
-like an ordinary nhref in the compiled pdf-file, the same text will be "hidden"
-when printing the text. It is not really invisible, but just has the same colour
-as the background (default: white). Therefore the layout is not changed when
-printing the document.
+This LaTeX package provides the command \hrefdisplayonly (additionally to
+\href of the hyperref package). While the (hyperlinked) text appears like an
+ordinary \href in the compiled pdf-file, the same text will be "hidden" when
+printing the text. It is not really invisible, but just has the same color as the
+background (default: white). Therefore the layout is not changed when printing
+the document.
+
Further the commands \hycon and \hycoff (hyper-colour-on/off) can be used
-to simulate switching option ocgcolorlinks of hyperref package on and off.
+to simulate switching option ocgcolorlinks of the hyperref package on and off.
+This package is possibly obsolete, see section 3: "Alternatives"
+in the documentation.
+
+This material is published under the LPPL 1.3c: 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.3c or later is part of all distributions of
+LaTeX version 2005-12-01 or later.
2 DOWNLOAD
==========
-`hrefhide' is available on CTAN:
- CTAN:macros/latex/contrib/hrefhide/
-
-Also a ZIP file is provided that contains the files, already
-sorted in a TDS tree (should become available on CTAN soon):
- CTAN:install/macros/latex/contrib/hrefhide.tds.zip
-
-`CTAN:' means one of the `Comprehensive TeX Archive Network'
-nodes or one of its mirrors. This is explained in
- http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives
+"hrefhide" is available on CTAN:
+https://www.ctan.org/pkg/pagecolor
-The CTAN stuff will be mirrored automatically from the
-ftp server, so
- ftp://ftp.tug.org/pub/tex/pagesLTS/
-corresponds to
- CTAN:macros/latex/contrib/pagesLTS/
+Also a ZIP file is provided that contains the files:
+the manual (hrefhide.pdf), the example (hrefhide-example.tex),
+the compiled example (hrefhide-example.pdf),
+driver (hrefhide.drv), hrefhide.dtx,
+installation file (hrefhide.ins),
+the style file (hrefhide.sty),
+and this README, already sorted in a TDS tree:
+https://mirror.ctan.org/install/macros/latex/contrib/pagecolor.tds.zip
3 INSTALLATION
@@ -54,10 +61,11 @@ corresponds to
Installation with ZIP file in TDS format
----------------------------------------
-The ZIP file `hrefhide.tds.zip' contains the files sorted
-in a TDS tree. Thus you can directly unpack the ZIP file
-inside a TDS tree.
-(See CTAN:tds.zip for an explanation of TDS.)
+The ZIP file "hrefhide.tds.zip" contains the files
+sorted in a TDS tree. Thus you can directly unpack the
+ZIP file inside a TDS tree.
+See https://www.ctan.org/TDS-guidelines for an explanation
+of TDS.
Example:
cd /...somewhere.../texmf
unzip /...downloadpath.../hrefhide.tds.zip
@@ -68,33 +76,39 @@ Example:
Manual installation
-------------------
-a) Download the hrefhide files from CTAN or the TUG server.
+a) Download the hrefhide files from CTAN.
If necessary, unpack them.
b) Generate the package and driver files:
- tex hrefhide.ins
-c) Install the files `*.sty', and `*.cfg' in your TDS tree:
- cp *.sty *.cfg TDS:tex/latex/hrefhide/
- Replace `TDS:' by the prefix of your TDS tree
+ tex hrefhide.dtx
+c) Install the file "*.sty" in your TDS tree:
+ cp hrefhide.sty TDS:tex/latex/hrefhide/
+ Replace "TDS:" by the prefix of your TDS tree
(texmf directory).
-d) Copy the documentation files to
+d) Create the documentation, if necessary, e.g.
+ pdflatex hrefhide.dtx
+ makeindex -s gind.ist hrefhide.idx
+ pdflatex hrefhide.dtx
+ makeindex -s gind.ist hrefhide.idx
+ pdflatex hrefhide.dtx
+e) Update the databases if necessary, e.g. for TeXLive
+ texhash or mktexlsr.
+f) Create the hrefhide-example.pdf, if necessary, e.g.
+ pdflatex hrefhide-example.tex
+ pdflatex hrefhide-example.tex
+ pdflatex hrefhide-example.tex
+g) Copy the documentation files to
"TDS:doc/latex/hrefhide/":
README, hrefhide.pdf, hrefhide-example.tex,
hrefhide-example.pdf.
-e) Update the databases if necessary, e.g. for teTeX:
- mktexlsr .../texmf
4 ADDITIONAL PACKAGES
=====================
-Depending on the driver and option settings, hrefhide loads
-other packages:
-* hyperref.sty:
- CTAN:macros/latex/contrib/hyperref/hyperref.dtx
-* kvoptions.sty:
- CTAN:macros/latex/contrib/oberdiek/kvoptions.dtx
-* xcolor.sty:
- CTAN:/macros/latex/contrib/xcolor/xcolor.dtx
+hrefhide loads other packages:
+- xcolor
+- hyperref
+- kvoptions
which again load other packages
(see the result of the \listfiles command in the log-file
of the example).
@@ -112,26 +126,26 @@ hrefhide must be loaded AFTER package hyperref:
6 AUTHOR/MAINTAINER
-=====================
+===================
-* Hans-Martin Mnch
+H.-Martin Münch
7 BUG REPORTS
-==============
+=============
A bug report should contain:
* Comprehensive problem description. This includes error or
warning messages.
- * \errorcontextlines=\maxdimen can be added in the
- TeX code to get more informations in TeX error messages.
-* Minimal test file that shows the problem, but does not
- contain any unnecessary packages and code.
+* \errorcontextlines=\maxdimen can be added in the
+ TeX code to get more information in TeX error messages.
+* Minimal test file that shows the problem,
+ but does not contain any unnecessary packages and code.
* Used drivers/programs.
* Version information about used packages and programs.
- * If you are using LaTeX, then add "\listfiles". Then
- a list of version informations is printed at the end
- of the LaTeX run.
+* If you are using LaTeX, then add "\listfiles" to the document.
+ Then a list of version information is printed at the end
+ of the LaTeX run.
* Please no other files than the minimal test file.
The other files .log, .dvi, .ps, .pdf are seldom
necessary, so send them only on request.
@@ -140,13 +154,13 @@ A bug report should contain:
Bug address
-----------
Bug reports can be send to the maintainer:
- Hans-Martin Mnch
+ H.-Martin Münch
<Martin [dot] Muench [at] Uni-Bonn [dot] de>
8 KNOWN PROBLEMS
-=================
+================
* as yet: none... - Well, of course there are all issues
of the hyperref package with ocgcolorlinks option,
- e.g. no linebreaks inside links.
+ e.g. no linebreaks inside links. \ No newline at end of file
diff --git a/macros/latex/contrib/hrefhide/hrefhide-example.pdf b/macros/latex/contrib/hrefhide/hrefhide-example.pdf
index 76a4f9e3ec..0748c23e6c 100644
--- a/macros/latex/contrib/hrefhide/hrefhide-example.pdf
+++ b/macros/latex/contrib/hrefhide/hrefhide-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/hrefhide/hrefhide.dtx b/macros/latex/contrib/hrefhide/hrefhide.dtx
index df52387a21..1fdc1e6757 100644
--- a/macros/latex/contrib/hrefhide/hrefhide.dtx
+++ b/macros/latex/contrib/hrefhide/hrefhide.dtx
@@ -1,71 +1,38 @@
% \iffalse meta-comment
%
% File: hrefhide.dtx
-% Version: 2011/04/29 v1.0f
+% Version: 2023-02-26 v1.1a
+% Info: Hiding hyperrefs when printing pdf files
%
-% Copyright (C) 2010, 2011 by
-% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+% Copyright © 2010 - 2023 by
+% H.-Martin Münch <Martin dot Muench at Uni-Bonn dot de>
%
% 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
-% http://www.latex-project.org/lppl/lppl-1-3c.txt
+% https://www.latex-project.org/lppl/lppl-1-3c.txt
% and the latest version of this license is in
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
+% LaTeX version 2005-12-01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
-% The Current Maintainer of this work is H.-Martin Muench.
-%
-% This work consists of the main source file hrefhide.dtx
-% and the derived files
-% hrefhide.sty, hrefhide.pdf, hrefhide.ins, hrefhide.drv,
-% hrefhide-example.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/hrefhide/hrefhide.dtx
-% CTAN:macros/latex/contrib/hrefhide/hrefhide.pdf
-% CTAN:install/macros/latex/contrib/hrefhide.tds.zip
-%
-% Unpacking:
-% (a) If hrefhide.ins is present:
-% tex hrefhide.ins
-% (b) Without hrefhide.ins:
-% tex hrefhide.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{hrefhide.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If hrefhide.drv is present:
-% (pdf)latex hrefhide.drv
-% makeindex -s gind.ist hrefhide.idx
-% (pdf)latex hrefhide.drv
-% makeindex -s gind.ist hrefhide.idx
-% (pdf)latex hrefhide.drv
-% (b) Without hrefhide.drv:
-% (pdf)latex hrefhide.dtx
-% makeindex -s gind.ist hrefhide.idx
-% (pdf)latex hrefhide.dtx
-% makeindex -s gind.ist hrefhide.idx
-% (pdf)latex hrefhide.dtx
-%
-% The class ltxdoc loads the configuration file ltxdoc.cfg
-% if available. Here you can specify further options, e.g.
-% use DIN A4 as paper format:
-% \PassOptionsToClass{a4paper}{article}
-%
-% Installation:
-% ! When manually installing, please first make sure !
-% ! that there is no old version of hrefhide at !
-% ! some obsolete place in your system. !
-% TDS:tex/latex/hrefhide/hrefhide.sty
-% TDS:doc/latex/hrefhide/hrefhide.pdf
-% TDS:doc/latex/hrefhide/hrefhide-example.tex
-% TDS:source/latex/hrefhide/hrefhide.dtx
+% The Current Maintainer of this work is H.-Martin Münch.
+%
+% This work consists of the main source file hrefhide.dtx,
+% the README, and the derived files
+% hrefhide.sty, hrefhide.pdf,
+% hrefhide.ins, hrefhide.drv,
+% hrefhide-example.tex, hrefhide-example.pdf.
+%
+% "hrefhide" is available on CTAN:
+% https://ctan.org/pkg/hrefhide
+%
+% Also a TDS.ZIP file is provided that contains all the files
+% already sorted in a TDS tree:
+% https://mirror.ctan.org/install/macros/latex/contrib/hrefhide.tds.zip
%
%<*ignore>
\begingroup
@@ -80,10 +47,10 @@
%</ignore>
%<*install>
\input docstrip.tex
-\Msg{***********************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: hrefhide 2011/04/29 v1.0f Hiding hyperrefs when printing pdf files (HMM)}
-\Msg{***********************************************************************************}
+\Msg{************************************************************************************}
+\Msg{* Installation *}
+\Msg{* Package: hrefhide 2023-02-26 v1.1a Hiding hyperrefs when printing pdf files (HMM)*}
+\Msg{************************************************************************************}
\keepsilent
\askforoverwritefalse
@@ -94,34 +61,36 @@
This is a generated file.
Project: hrefhide
-Version: 2011/04/29 v1.0f
-
-Copyright (C) 2010, 2011 by
- H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+Version: 2023-02-26 v1.1a
+Info: Hiding hyperrefs when printing pdf files
-The usual disclaimer applys:
-If it doesn't work right that's your problem.
-(Nevertheless, send an e-mail to the maintainer
- when you find an error in this package.)
+Copyright (C) 2010 - 2023 by
+ H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de>
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
- http://www.latex-project.org/lppl/lppl-1-3c.txt
+ https://www.latex-project.org/lppl/lppl-1-3c.txt
and the latest version of this license is in
- http://www.latex-project.org/lppl.txt
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
+LaTeX version 2005-12-01 or later.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is H.-Martin Muench.
-This work consists of the main source file hrefhide.dtx
-and the derived files
- hrefhide.sty, hrefhide.pdf, hrefhide.ins, hrefhide.drv,
- hrefhide-example.tex.
+This work consists of the main source file hrefhide.dtx,
+the README, and the derived files
+ hrefhide.sty, hrefhide.pdf,
+ hrefhide.ins, hrefhide.drv,
+ hrefhide-example.tex, hrefhide-example.pdf.
+
+In memoriam
+ Claudia Simone Barth + 1996-01-30
+ Tommy Muench + 2014-01-02
+ Hans-Klaus Muench + 2014-08-24
\endpreamble
\let\MetaPrefix\DoubleperCent
@@ -142,7 +111,7 @@ and the derived files
\Msg{* To finish the installation you have to move the following}
\Msg{* file into a directory searched by TeX:}
\Msg{*}
-\Msg{* hrefhide.sty*}
+\Msg{* hrefhide.sty}
\Msg{*}
\Msg{* To produce the documentation run the file `hrefhide.drv'}
\Msg{* through (pdf)LaTeX, e.g.}
@@ -168,27 +137,22 @@ and the derived files
% \section{The documentation driver file}
%
% The next bit of code contains the documentation driver file for
-% \TeX{}, i.\,e., the file that will produce the documentation you
+% \TeX , i.\,e., the file that will produce the documentation you
% are currently reading. It will be extracted from this file by the
-% \texttt{docstrip} programme. That is, run \LaTeX\ on \texttt{docstrip}
+% \texttt{docstrip} programme. That is, run \LaTeX{} on \texttt{docstrip}
% and specify the \texttt{driver} option when \texttt{docstrip}
% asks for options.
%
% \begin{macrocode}
%<*driver>
-\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+\NeedsTeXFormat{LaTeX2e}[2022-11-01]
\ProvidesFile{hrefhide.drv}%
- [2011/04/29 v1.0f Hiding hyperrefs when printing pdf files (HMM)]%
-\documentclass{ltxdoc}[2007/11/11]% v2.0u
-\usepackage{holtxdoc}[2011/02/04]% v0.21
-%% hrefhide may work with earlier versions of LaTeX2e and those
-%% class and package, but this was not tested.
-%% Please consider updating your LaTeX, class, and package
-%% to the most recent version (if they are not already the most
-%% recent version).
+ [2023-02-26 v1.1a Hiding hyperrefs when printing pdf files (HMM)]
+\documentclass{ltxdoc}[2022/06/22]% v2.1i Standard LaTeX documentation class
+\usepackage{holtxdoc}[2019/12/09]% v0.30 Private additional ltxdoc support (HO)
\hypersetup{%
pdfsubject={Hiding hyperrefs when printing pdf files (HMM)},%
- pdfkeywords={LaTeX, hrefhide, hyperref, href, pdf, hide, print, Hans-Martin Muench},%
+ pdfkeywords={LaTeX, hrefhide, hyperref, href, pdf, hide, print},%
pdfencoding=auto,%
pdflang={en},%
breaklinks=true,%
@@ -204,34 +168,14 @@ and the derived files
pdfnewwindow=true%
}
\CodelineIndex
-\hyphenation{printing docu-ment}
-\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\hyphenation{docu-ment}
\begin{document}
\DocInput{hrefhide.dtx}%
\end{document}
%</driver>
% \end{macrocode}
-%
% \fi
%
-% \CheckSum{144}
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
% \GetFileInfo{hrefhide.drv}
%
% \begingroup
@@ -249,86 +193,69 @@ and the derived files
% }%^^A
% \expandafter\endgroup\x
%
-% \DoNotIndex{\\}
-% \DoNotIndex{\documentclass,\usepackage,\ProvidesPackage,\begin,\end}
-% \DoNotIndex{\NeedsTeXFormat,\DoNotIndex,\verb}
-% \DoNotIndex{\def,\edef,\gdef,\global}
-% \DoNotIndex{\ifx,\kvoptions,\listfiles,\mathord,\mathrm,\ProcessKeyvalOptions}
-% \DoNotIndex{\SetupKeyvalOptions}
-% \DoNotIndex{\bigskip,\space,\thinspace,\Large,\linebreak,\lipsum,\MessageBreak}
-% \DoNotIndex{\ldots,\indent,\noindent,\newline,\pagebreak,\pagenumbering}
-% \DoNotIndex{\textbf,\textit,\textsf,\texttt,\textquotedblleft,\textquotedblright}
-% \DoNotIndex{\plainTeX,\TeX,\LaTeX,\pdfLaTeX}
-% \DoNotIndex{\chapter,\section}
+% \DoNotIndex{\@anchorbordercolor,\@anchorcolor,\@citebordercolor,\@citecolor,\@filebordercolor}
+% \DoNotIndex{\@filecolor,\@ifl@t@r,\@ifundefined,\@linkbordercolor,\@linkcolor,\@menubordercolor}
+% \DoNotIndex{\@menucolor,\@runbordercolor,\@runcolor,\@urlbordercolor,\@urlcolor,\\}
+% \DoNotIndex{\AddToHook,\begin,\bigskip,\color}
+% \DoNotIndex{\DeclareRobustCommand,\DeclareStringOption,\definecolor,\documentclass,\end}
+% \DoNotIndex{\href,\hrefhide@anchorbordercolor,\hrefhide@backgroundcolour}
+% \DoNotIndex{\hrefhide@driver,\hrefhide@linktextcolour,\hrefhide@pdfborder}
+% \DoNotIndex{\hrefhidefalse,\hrefhidetrue,\Hy@driver,\hypersetup,\hypertarget}
+% \DoNotIndex{\IfPackageLoadedWithOptionsTF,\ifx,\Large,\linebreak}
+% \DoNotIndex{\lipsum,\listfiles,\markboth,\MessageBreak,\NeedsTeXFormat,\newif,\newline,\noindent}
+% \DoNotIndex{\ocgx,\PackageError,\PackageInfo,\PackageWarning,\pagebreak}
+% \DoNotIndex{\pagenumbering,\ProcessKeyvalOptions,\ProvidesPackage}
+% \DoNotIndex{\RequirePackage,\section,\SetupKeyvalOptions,\space,\textbf,\textit,\textsf,\texttt}
+% \DoNotIndex{\usepackage,\verb}
%
% \title{The \xpackage{hrefhide} package}
-% \date{2011/04/29 v1.0f}
-% \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}}
+% \date{2023-02-26 v1.1a}
+% \author{H.-Martin Münch\\\xemail{Martin.Muench at Uni-Bonn.de}}
%
% \maketitle
%
% \begin{abstract}
-% This \LaTeX\ package allows to \textquotedblleft hide\textquotedblright\ some
-% (hyperlinked) text when printing the document while keeping the layout and
-% to simulate switching \texttt{ocgcolor} of \xpackage{hyperref} package on and off.
+% \noindent This \LaTeX{} package allows to \textquotedblleft hide\textquotedblright{} some
+% (hyperlinked) text when printing the document while keeping the layout and
+% to simulate switching \texttt{ocgcolor} of \xpackage{hyperref} package on and off.~--\\
+% This package is possibly obsolete, see section~\ref{s:Alternatives}: Alternatives.
% \end{abstract}
-%
% \bigskip
%
% \noindent Disclaimer for web links: The author is not responsible for any contents
-% referred to in this work unless he has full knowledge of illegal contents.
-% If any damage occurs by the use of information presented there, only the
-% author of the respective pages might be liable, not the one who has referred
-% to these pages.
-%
-% \bigskip
-%
-% \noindent {\color{green} Save per page about $200\unit{ml}$ water,
-% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\\
-% Therefore please print only if this is really necessary.}
-%
-% \newpage
+% referred to in this work unless having full knowledge of illegal contents.
+% If any damage occurs by the use of information presented there,
+% only the author of the respective pages might be liable,
+% not the one who has referred to those pages.
%
% \tableofcontents
-%
-% \newpage
+% \bigskip
%
% \section{Introduction}
-%
-% \indent This package provides the command
-% |\hrefdisplayonly| (additionally to |\href| of the \xpackage{hyperref}
-% package by \textsc{Heiko Oberdiek}). While the (hyperlinked) text
-% appears like an ordinary \texttt{\textbackslash href} in the
-% compiled \xext{pdf}-file, the same text will be
-% \textquotedblleft hidden\textquotedblright\ when printing the text.
-% It is not really invisible, but just has the same colour as the background
+% \indent This \LaTeX{} package provides the command |\hrefdisplayonly|
+% (additionally to |\href| of the \xpackage{hyperref} package). While the
+% (hyperlinked) text appears like an ordinary \texttt{\textbackslash href}
+% in the compiled \xext{pdf}-file, the same text will be
+% \textquotedblleft hidden\textquotedblright{} when printing the text.
+% It is not really invisible, but just has the same color as the background
% (default: |white|). Therefore the layout is not changed when printing
% the document.\\
% Further the commands |\hycon| and |\hycoff| (|hy|per-|c|olour-|on|/|off|)
-% can be used to \emph{simulate} switching option |ocgcolorlinks| of
-% \xpackage{hyperref} package on and off.
-%
-% \bigskip
-% \noindent \textbf{Trademarks} appear throughout this
-% documentation without any trademark symbol; they are the
-% property of their respective trademark owner. There is no
-% intention of infringement; the usage is to the benefit of
-% the trademark owner.
-%
-% \bigskip
+% can be used to \emph{simulate} switching option |ocgcolorlinks| of the
+% \xpackage{hyperref} package on and off.\\
+% This package is possibly obsolete, see section~\ref{s:Alternatives}: Alternatives.
%
% \section{Usage}
-%
% \indent Just load the package placing
% \begin{quote}
% |\usepackage[<|\textit{options}|>]{hrefhide}|
% \end{quote}
-% \noindent in the preamble of your \LaTeXe\ source file \textbf{after}
+% \noindent in the preamble of your \LaTeXe{} source file \textbf{after}
% the \xpackage{hyperref} package. For a link, which shall not be printed,
% use |\hrefdisplayonly| instead of |\href|. This might be practical
% for example for internal links, which make no sense in a printed
-% version (\textquotedblleft Klick here\textquotedblright\ does
-% not work with real paper).\\
+% version (\textquotedblleft Click here\textquotedblright{} does
+% not work with physical paper).\\
% |\hypersetup{ocgcolorlinks=true}| and |\hypersetup{ocgcolorlinks=false}|
% may work - or they may not. (|ocgcolorlinks| is a decision to be made
% in the preamble and performes changes which cannot easily be reverted.)
@@ -337,60 +264,77 @@ and the derived files
% package provides the command |\hycoff| (and |\hycon| to switch back to
% default |ocgcolorlinks=true| behaviour). Note that |ocgcolorlinks=true|
% really is enabled, therefore all limitation of this apply
-% (e.\,g. no breaks in links).
+% (e.\,g.~no breaks in links).
%
% \subsection{Options}
% \DescribeMacro{options}
% \indent The \xpackage{hrefhide} package takes the following options:
%
-% \subsubsection{linktextcolour\label{sss:linktextcolour}}
+% \subsubsection{linktextcolour}
% \DescribeMacro{linktextcolour}
-% \indent The option \texttt{linktextcolour} takes the colour of
+% \indent The option \texttt{linktextcolour} takes the color of
% the text of the links. The default is \texttt{black}.
%
-% \subsubsection{backgroundcolour\label{sss:backgroundcolour}}
+% \subsubsection{backgroundcolour}
% \DescribeMacro{backgroundcolour}
-% \indent The option \texttt{backgroundcolour} takes the colour of
+% \indent The option \texttt{backgroundcolour} takes the color of
% the background of the links. The default is \texttt{white}.
%
-% \subsubsection{pdfborder\label{sss:pdfborder}}
+% \subsubsection{pdfborder}
% \DescribeMacro{pdfborder}
% \indent The option \texttt{pdfborder} takes the configuration of
% the pdfborder around the link. The default is \texttt{\{0~0~1\}},
-% i.\,e.~a~1\,pt rectangular line. \texttt{\{0~0~0\}} means no line.
-%
-% \section{Alternatives\label{sec:Alternatives}}
+% \hbox{i.\,e. a 1\,pt} rectangular line. \texttt{\{0~0~0\}} means no line.
+% \pagebreak
%
+% \section{Alternatives\label{s:Alternatives}}
% \DescribeMacro{ocgcolorlinks}
% If option \texttt{ocgcolorlinks} (of the \xpackage{hyperref} package)
-% is already used in your document (i.\,e. you \emph{want} coloured links),
+% is already used in your document (i.\,e. you \emph{want} colored links),
% do \textbf{NOT} use this \xpackage{hrefhide} package to hide links!
-% For a link to be \textquotedblleft hidden\textquotedblright , just say
+% For a link to be \textquotedblleft hidden\textquotedblright, just say
% \begin{verbatim}
% {\color{white} \href{...}{...}}
% \end{verbatim}
-% (and replace \texttt{white} with the background colour).\\
-%
-% For hiding text, which does not contain links, the \xpackage{pdfcomment}
-% package by \textsc{Josef Kleber} should be noted.
-%
-% \bigskip
-%
-% \noindent (You programmed or found some alternative,
-% which is available at \CTAN{}?\\
-% OK, send an e-mail to me with the name, location at \CTAN{},
-% and a short notice, and I will probably include it here.)\\
-%
-% \bigskip
+% \vspace{-\baselineskip}
+% (and replace \texttt{white} with the background color;
+% when the \href{https://ctan.org/pkg/pagecolor}{\pkg{pagecolor}}
+% package is used, |\thepagecolor| instead of |white| should be used).\\
+%
+% \DescribeMacro{pdfcomment}
+% For hiding text, which does not contain links, the
+% \href{https://ctan.org/pkg/pdfcomment}{\xpackage{pdfcomment}}
+% package by \textsc{Josef Kleber} should be noted.\\
+%
+% \DescribeMacro{ocgx2}
+% This |hrefhide| package is possibly obsolete. Using the
+% \href{https://ctan.org/pkg/ocgx2}{\xpackage{ocgx2}} package
+% \begin{verbatim}
+% \usepackage[<options>]{ocgx2}
+% \begin{ocg}[<options>]{<layer name>}{<OCG id>}{<initial visibility>}
+% ... material to be put on a PDF layer ...
+% \end{ocg}
+% \end{verbatim}
+% \vspace{-\baselineskip}
+% one can say
+% \begin{verbatim}
+% \begin{ocg}[printocg=never, exportocg=never, listintoolbar=never%
+% ]{MyLayer}{example}{1}%
+% \hyperref[RefB]{B} \url{https://ctan.org/} simple text etc.%
+% \end{ocg}%
+% \end{verbatim}
+% \vspace{-\baselineskip}
+% and the links will be visible in the pdf document
+% but will turn into blank space when printed.
%
% \section{Example}
-%
% \begin{macrocode}
%<*example>
-\documentclass[british]{article}[2007/10/19]% v1.4h
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage{lipsum}[2011/04/14]% v1.2
-\usepackage[ocgcolorlinks,bookmarks=false,bookmarksopen=false]{hyperref}[2011/04/17]% v6.82g
+\NeedsTeXFormat{LaTeX2e}[2022-11-01]
+\documentclass[british]{article}[2022/07/02]% v1.4n Standard LaTeX document class
+\usepackage{lipsum}[2021-09-20]% v2.7 150 paragraphs of Lorem Ipsum dummy text
+\usepackage[ocgcolorlinks,bookmarks=false,bookmarksopen=false%
+ ]{hyperref}[2023-02-07]% v7.00v Hypertext links for LaTeX
% Bookmarks are not needed here, but are possible, of course.
\hypersetup{extension=pdf,%
plainpages=false,%
@@ -398,34 +342,32 @@ and the derived files
hyperindex=false,%
pdflang={en},%
pdftitle={hrefhide package example},%
- pdfauthor={Hans-Martin Muench},%
+ pdfauthor={H.-Martin Muench},%
pdfsubject={Example for the hrefhide package},%
- pdfkeywords={LaTeX, hrefhide, Hans-Martin Muench},%
+ pdfkeywords={LaTeX, hrefhide},%
pdfview=Fit,pdfstartview=Fit,%
pdfpagelayout=SinglePage%
}
-\usepackage[linktextcolour=black,backgroundcolour=white,pdfborder={0 0 1}]{hrefhide}[2011/04/29]% v1.0f
-\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\usepackage[linktextcolour=black,backgroundcolour=white,pdfborder={0 0 1}%
+ ]{hrefhide}[2023-02-26]% v1.1a Hiding hyperrefs when printing pdf files (HMM)
\listfiles
\begin{document}
\pagenumbering{arabic}
\section*{Example for hrefhide}
+\markboth{Example for hrefhide}{Example for hrefhide}
This example demonstrates the use of package\newline
-\textsf{hrefhide}, v1.0f as of 2011/04/29 (HMM).\newline
+\textsf{hrefhide}, v1.1a as of 2023-02-26 (HMM).\newline
+% \end{macrocode}
+% \pagebreak
+% \begin{macrocode}
The used options were \texttt{linktextcolour=black},
\texttt{backgroundcolour=white}, and \texttt{pdfborder={0 0 1}}
(the default ones).\newline
For more details please see the documentation!\newline
\textit{Print-\textbf{preview} the first page of this document
-and compare it with the page as displayed in your pdf reader.}\newline
-
-\noindent {\color{green} Save per page about $200\unit{ml}$ water,
-$2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\newline
-Therefore please print only if this is really necessary.\newline
-Maybe already the print-preview or just printing
-the first page are sufficient?}\newline
+and compare it with the page as displayed in your pdf reader.}
\bigskip
Lorem ipsum dolor sit amet \href{\#target}{link to target} consectetuer
@@ -441,7 +383,7 @@ Duis autem vel eum iriure dolor \href{\#target}{link to target} in
hendrerit in vulputate velit esse molestie consequat, vel illum dolore
eu feugiat nulla facilisis at vero eros et accumsan et iusto odio
dignissim qui blandit praesent luptatum zzril delenit augue
-duis dolore te feugait nulla facilisi.\newline
+duis dolore te feugait nulla facilisi.
\noindent \textbf{\textsf{%
\hrefdisplayonly{\#RefA}{A}
@@ -469,24 +411,22 @@ duis dolore te feugait nulla facilisi.\newline
\hrefdisplayonly{\#RefW}{W}
\hrefdisplayonly{\#RefX}{X}
\hrefdisplayonly{\#RefY}{Y}
-\hrefdisplayonly{\#RefZ}{Z}}} \linebreak
+\hrefdisplayonly{\#RefZ}{Z}}}\linebreak
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a,
-magna.\newline
-
-Switching to coloured links with \verb|\hycon|:\newline
-\hycon
-\href{\#RefX}{X} and also
-\href{http://www.ctan.org/pkg/hrefhide}{http://www.ctan.org/pkg/hrefhide}.
+magna.
-Switching off the coloured links with \verb|\hycoff| again:\newline
-\hycoff
-\href{\#RefY}{Y} and also
-\href{http://www.ctan.org/tex-archive/macros/latex/contrib/hrefhide}{%
-http://www.ctan.org/tex-archive/macros/latex/contrib/hrefhide}.
+Switching to colored links with \verb|\hycon|:\newline
+\hycon%
+\href{\#RefX}{section X} and also
+\href{https://ctan.org/pkg/hrefhide}{https://ctan.org/pkg/hrefhide}.
+Switching off the colored links with \verb|\hycoff| again:\newline
+\hycoff%
+\href{\#RefX}{section X} and also
+\href{https://ctan.org/pkg/hrefhide}{https://ctan.org/pkg/hrefhide}.
\pagebreak
{\Large \textbf{Targets}}\\
@@ -522,86 +462,68 @@ nisl ut aliquip ex ea commodo consequat.
\section[X]{\hypertarget{RefX}{X}} \lipsum[1]
\section[Y]{\hypertarget{RefY}{Y}} \lipsum[1]
\section[Z]{\hypertarget{RefZ}{Z}} \lipsum[1]
-
\end{document}
%</example>
% \end{macrocode}
%
-% \newpage
-%
% \StopEventually{}
+% \newpage
%
% \section{The implementation}
-%
-% We start off by checking that we are loading into \LaTeXe\ and
+% We start off by checking that we are loading into \LaTeXe{} and
% announcing the name and version of this package.
%
% \begin{macrocode}
%<*package>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}[2009/09/24]
-\ProvidesPackage{hrefhide}[2011/04/29 v1.0f
- Hiding hyperrefs when printing pdf files (HMM)]%
-
-% \end{macrocode}
-%
-% A short description of the \xpackage{hrefhide} package:
-%
-% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2022-11-01]
+\ProvidesPackage{hrefhide}[2023-02-26 v1.1a
+ Hiding hyperrefs when printing pdf files (HMM)]
%% Allows to "hide" hyperlinked text in a pdf file when printing
-%% ("Klick here" does not work on real paper)
+%% ("Click here" does not work on physical paper)
%% by providing the command \hrefdisplayonly
%% and allows simulating to switch on/off ocgcolourlinks
-%% of the hyperref package by Heiko Oberdiek.
+%% of the hyperref package.
+
+\@ifl@t@r\fmtversion{2022/11/01}{% would have understood
+ % \IfFormatAtLeastTF{2022-11-01}{<true code>}{<false code>}
+ }{\PackageError{hrefhide}{%
+ Newer LaTeX format needed or older hrefhide package%
+ }{Needed LaTeX format version: 2022-11-01 or newer.\MessageBreak%
+ Found\space\space LaTeX format version: \fmtversion.\MessageBreak%
+ Either update your TeX distribution\MessageBreak%
+ or use an archived version of hrefhide\MessageBreak%
+ (see section History in the documentation).\MessageBreak%
+ }
+ }
% \end{macrocode}
%
% We need the \xpackage{xcolor} package by \textsc{Dr.~Uwe Kern}
-% (see subsection~\ref{ss:Downloads}):
-%
-% \begin{macrocode}
-\RequirePackage{xcolor}[2007/01/21]% v2.11
-% \end{macrocode}
-%
-% the \xpackage{hyperref} package by \textsc{Heiko Oberdiek}
-% (see subsection~\ref{ss:Downloads}):
-%
% \begin{macrocode}
-\RequirePackage[ocgcolorlinks]{hyperref}[2011/04/17]% v6.82g
+\RequirePackage{xcolor}[2022/06/12]% v2.14 LaTeX color extensions (UK)
% \end{macrocode}
-%
-% and the \xpackage{kvoptions} package, also by \textsc{Heiko Oberdiek}
-% (see subsection~\ref{ss:Downloads}):
-%
+% the \xpackage{hyperref} package
% \begin{macrocode}
-\RequirePackage{kvoptions}[2010/12/23]% v3.10
+\RequirePackage[ocgcolorlinks]{hyperref}[2023-02-07]% v7.00v Hypertext links for LaTeX
% \end{macrocode}
-%
-% A last information for the user:
-%
+% and the \xpackage{kvoptions} package by \textsc{Heiko Oberdiek}
% \begin{macrocode}
-%% hrefhide may work with earlier versions of LaTeX and those
-%% packages, but this was not tested. Please consider updating
-%% your LaTeX and packages to the most recent version
-%% (if they are not already the most recent version).
-
+\RequirePackage{kvoptions}[2022-06-15]% v3.15 Key value format for package options (HO)
% \end{macrocode}
% \indent See subsection~\ref{ss:Downloads} about how to get them.\\
%
% The options are introduced:
%
% \begin{macrocode}
-\SetupKeyvalOptions{family = hrefhide, prefix = hrefhide@}
+
+\SetupKeyvalOptions{family=hrefhide,prefix=hrefhide@}
\DeclareStringOption[black]{linktextcolour}[black]
\DeclareStringOption[white]{backgroundcolour}[white]
\DeclareStringOption[{0 0 1}]{pdfborder}[{0 0 1}]
\ProcessKeyvalOptions*
-\gdef\hrefhide@status@ON{ON}
-\gdef\hrefhide@status@OFF{OFF}
+\newif\ifhrefhide
% \end{macrocode}
%
@@ -609,8 +531,12 @@ nisl ut aliquip ex ea commodo consequat.
%
% \begin{macro}{\hycon}
% \begin{macrocode}
-\newcommand{\hycon}{%
-\ifx\hrefhide@status\hrefhide@status@OFF%
+\DeclareRobustCommand{\hycon}{%
+\ifhrefhide%
+\PackageWarning{hrefhide}{\string\hycon\space called when OCG-link %
+ coloring was not OFF\MessageBreak%
+ - nothing done}%
+\else%
\@ifundefined{@anchorbordercolor}{%
\hypersetup{anchorcolor=\hrefhide@anchorbordercolor}%
}{%
@@ -618,10 +544,7 @@ nisl ut aliquip ex ea commodo consequat.
\hypersetup{anchorcolor=hyanchorbordercolor}%
}%
% \end{macrocode}
-%
-% because there is no \texttt{anchorborder(color)} in \xpackage{hyperref} as of
-% 2011/04/17, v6.82g.
-%
+% because there is no \texttt{anchorborder(color)} in \xpackage{hyperref}.
% \begin{macrocode}
\definecolor{hycitebordercolor}{rgb}{\@citebordercolor}%
\hypersetup{citecolor=hycitebordercolor}%
@@ -636,40 +559,33 @@ nisl ut aliquip ex ea commodo consequat.
\definecolor{hyurlbordercolor}{rgb}{\@urlbordercolor}%
\hypersetup{urlcolor=hyurlbordercolor}%
\hypersetup{pdfborder=0 0 0}%
-\gdef\hrefhide@status{ON}%
-\PackageInfo{hrefhide}{OCG-link colouring ON\MessageBreak}%
-\else%
-\PackageWarning{hrefhide}{\string\hycon\space called when OCG-link colouring was not OFF \MessageBreak%
-- nothing done}%
+\hrefhidetrue%
+\PackageInfo{hrefhide}{OCG-link coloring ON\MessageBreak}%
\fi%
}
% \end{macrocode}
%
-% If link colouring is already |ON|, nothing is done. Otherwise
-% |\hycon| looks for the colour of the border of a link type and
-% sets the colour of the text of that lik type to that colour.\\
+% If link coloring is already |ON|, nothing is done. Otherwise
+% |\hycon| looks for the color of the border of a link type and
+% sets the color of the text of that lik type to that color.
% \end{macro}
%
% \begin{macro}{\hycoff}
% \indent This package on the one hand uses the \texttt{ocgcolor} option
% of the \xpackage{hyperref} package, but on the other hand
-% does not really want coloured links (see \ref{sec:Alternatives}).
+% does not really want colored links (see \ref{s:Alternatives}).
% Thus we simulate to turn it off:
%
% \begin{macrocode}
-\newcommand{\hycoff}{%
-\ifx\hrefhide@status\hrefhide@status@ON%
+\DeclareRobustCommand{\hycoff}{%
+\ifhrefhide%
\@ifundefined{@anchorbordercolor}{%
-\global\edef\hrefhide@anchorbordercolor{\@anchorcolor}%
-}{%
-\hypersetup{anchorbordercolor=\@anchorcolor}%
+\xdef\hrefhide@anchorbordercolor{\@anchorcolor}%
+}{\hypersetup{anchorbordercolor=\@anchorcolor}%
}%
% \end{macrocode}
-%
-% because there is no \texttt{anchorborder(color)} in \xpackage{hyperref} as of
-% 2011/04/17, v6.82g.
-%
+% because there is no \texttt{anchorborder(color)} in \xpackage{hyperref}.
% \begin{macrocode}
\hypersetup{anchorcolor=\hrefhide@linktextcolour}%
\hypersetup{citebordercolor=\@citecolor}%
@@ -685,53 +601,49 @@ nisl ut aliquip ex ea commodo consequat.
\hypersetup{urlbordercolor=\@urlcolor}%
\hypersetup{urlcolor=\hrefhide@linktextcolour}%
\hypersetup{pdfborder=\hrefhide@pdfborder}%
-\gdef\hrefhide@status{OFF}%
+\hrefhidefalse%
% \end{macrocode}
%
-% If link colouring is already |OFF|, nothing is done. Otherwise
-% the colour of the respective border is set to the colour of the text
-% of the link type, setting the colour of the text of the link type to
+% If link coloring is already |OFF|, nothing is done. Otherwise
+% the color of the respective border is set to the color of the text
+% of the link type, setting the color of the text of the link type to
% |\hrefhide@linktextcolour| (default: black) and the link border again to
-% |\hrefhide@pdfborder| (default: rectangle with $1\unit{pt}$ line
+% |\hrefhide@pdfborder| (default: rectangle with \hbox{1\,pt line}
% thickness).\\
-% While link colouring is really ON, we thus emulate the behaviour
-% of link colouring OFF, therefore we give this message:
+% While link coloring is really ON, we thus emulate the behaviour
+% of link coloring OFF, therefore we give this message:
%
% \begin{macrocode}
-\PackageInfo{hrefhide}{OCG-link colouring OFF (sort of; hrefhide package)\MessageBreak}%
+\PackageInfo{hrefhide}{OCG-link coloring OFF (sort of; hrefhide package)%
+ \MessageBreak}%
\else%
-\PackageWarning{hrefhide}{\string\hycoff\space called when OCG-link colouring was not ON \MessageBreak%
-- nothing done}%
+\PackageWarning{hrefhide}{\string\hycoff\space called when OCG-link %
+ coloring was not ON\MessageBreak%
+ - nothing done}%
\fi%
}
% \end{macrocode}
-%
-% Nevertheless, all restrictions of |ocgcolorlinks|, e.\,g. no links breaking
+% Nevertheless, all restrictions of |ocgcolorlinks|, e.\,g.~no links breaking
% over lines, still prevail!
-%
% \end{macro}
%
% \begin{macro}{\hrefdisplayonly}
% The command |\hrefdisplayonly| is defined:
-%
% \begin{macrocode}
-\newcommand{\hrefdisplayonly}[2]{%
-{\color{\hrefhide@backgroundcolour}\href{#1}{#2}}%
-}
+\DeclareRobustCommand{\hrefdisplayonly}[2]{%
+{\color{\hrefhide@backgroundcolour}\href{#1}{#2}}}
% \end{macrocode}
-%
-% \noindent which just sets the colour of the link to |\hrefhide@backgroundcolour|
+% \noindent which just sets the color of the link to |\hrefhide@backgroundcolour|
% for printing, thereby turning it \textquotedblleft invisible\textquotedblright.
% \end{macro}
%
-% \begin{macro}{\AtBeginDocument}
+% \DescribeMacro{\AddToHook\{begindocument\}}
% \begin{macrocode}
-\AtBeginDocument{%
+\AddToHook{begindocument}{%
% \end{macrocode}
-%
-% \indent |\AtBeginDocument| it is checked whether the \xpackage{hyperref} package
+% \indent Here it is checked whether the \xpackage{hyperref} package
% was loaded with option \texttt{ocgcolorlinks}. (\xpackage{hrefhide} calls it
% with option |ocgcolorlinks| (i.\,e. |=true|), but in the preamble it would
% be possible to really turn it off again by |\hypersetup{ocgcolorlinks=false}|.
@@ -740,17 +652,15 @@ nisl ut aliquip ex ea commodo consequat.
% error message is given.
%
% \begin{macrocode}
- \ifHy@ocgcolorlinks%
- \gdef\hrefhide@status{ON}%
- \else%
- \gdef\hrefhide@status{OFF}%
+ \IfPackageLoadedWithOptionsTF{hyperref}{ocgcolorlinks}{\hrefhidetrue}{%
+ \hrefhidefalse%
\PackageError{hrefhide}{hyperref package missing option ocgcolorlinks}{%
The package hrefhide needs the hyperref package\MessageBreak%
with option ocgcolorlinks.\MessageBreak%
That option is missing!\MessageBreak%
Now the link(s) will be ''hidden'' in pdf view also.\MessageBreak%
}%
- \fi%
+ }%
% \end{macrocode}
%
% \noindent We check whether |\Hy@driver| is |hpdftex|, i.\,e.~a~\xext{pdf}-file
@@ -758,7 +668,7 @@ nisl ut aliquip ex ea commodo consequat.
%
% \begin{macrocode}
\def\hrefhide@driver{hpdftex}%
- \ifx\Hy@driver\hrefhide@driver% \relax
+ \ifx\Hy@driver\hrefhide@driver\relax%
\else%
% \end{macrocode}
%
@@ -768,7 +678,8 @@ nisl ut aliquip ex ea commodo consequat.
% \begin{macrocode}
\PackageError{hrefhide}{Producing not a pdf file}{%
The package hrefhide only works for a pdf file,\MessageBreak%
- but driver \Hy@driver\space instead of \hrefhide@driver\space was found.\MessageBreak%
+ but driver \Hy@driver\space instead of \hrefhide@driver\space%
+ was found.\MessageBreak%
Use pdfLaTeX to compile your document.\MessageBreak%
(Probably no large harm was done, but the respective\MessageBreak%
link text will neither be hidden when printing.)\MessageBreak%
@@ -776,123 +687,124 @@ nisl ut aliquip ex ea commodo consequat.
\fi%
% \end{macrocode}
%
-% Because we need link colouring, we use option \texttt{ocgcolorlinks},
-% but because we do not want coloured links, we emulate the behaviour
-% of link colouring OFF, therefore |\hycoff| is used |\AtBeginDocument|:
-%
+% Because we need link coloring, we use option \texttt{ocgcolorlinks},
+% but because we do not want colored links, we emulate the behaviour
+% of link coloring OFF, therefore |\hycoff| is used at the beginning:
% \begin{macrocode}
\hycoff%
}
% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \bigskip
+% \newpage
%
% \section{Installation}
-%
-% \begin{center}
-% {\large \textbf{When manually installing, please first make sure\\}}
-% {\large \textbf{that there is no old version of \xpackage{hrefhide}\\}}
-% {\large \textbf{at some obsolete place in your system!}}
-% \end{center}
-%
% \subsection{Downloads\label{ss:Downloads}}
-%
-% Everything is available at \CTAN{}, \url{http://www.ctan.org/tex-archive/},
+% Everything is available at \url{https://www.ctan.org},
% but may need additional packages themselves.\\
%
% \DescribeMacro{hrefhide.dtx}
-% For unpacking the |hrefhide.dtx| file and constructing the documentation it is required:
+% For unpacking the |hrefhide.dtx| file and constructing the documentation
+% it is required:
% \begin{description}
-% \item[-] \TeX Format \LaTeXe: \url{http://www.CTAN.org/}
-%
-% \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u,\\
-% \CTAN{macros/latex/base/ltxdoc.dtx}
+% \item[-] \TeX Format \LaTeXe{} 2022-11-01 or newer: \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21,\\
-% \CTAN{macros/latex/contrib/oberdiek/holtxdoc.dtx}
+% \item[-] document class \xclass{ltxdoc}, 2022/06/22, v2.1i,
+% \url{https://www.ctan.org/pkg/ltxdoc}
%
-% \item[-] package \xpackage{hypdoc}, 2010/03/26, v1.9,\\
-% \CTAN{macros/latex/contrib/oberdiek/hypdoc.dtx}
+% \item[-] package \xpackage{holtxdoc}, 2019/12/09, v0.30,
+% \url{https://www.ctan.org/pkg/holtxdoc}
% \end{description}
%
% \DescribeMacro{hrefhide.sty}
-% The \texttt{hrefhide.sty} for \LaTeXe\ (i.\,e. all documents using
+% The |hrefhide.sty| for \LaTeXe{} (i.\,e. each document using
% the \xpackage{hrefhide} package) requires:
% \begin{description}
-% \item[-] \TeX Format \LaTeXe, \url{http://www.CTAN.org/}
+% \item[-] \TeX{} Format \LaTeXe{} 2022-11-01 or newer, \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{xcolor}, 2007/01/21, v2.11,\\
-% \CTAN{/macros/latex/contrib/xcolor/xcolor.dtx}
+% \item[-] package \xpackage{xcolor}, 2022/06/12, v2.14,
+% \url{https://www.ctan.org/pkg/xcolor}
%
-% \item[-] package \xpackage{hyperref}, 2011/04/17, v6.82g,\\
-% \CTAN{macros/latex/contrib/hyperref/hyperref.dtx}
+% \item[-] package \xpackage{hyperref}, 2023-02-07, v7.00v,
+% \url{https://www.ctan.org/pkg/hyperref}
%
-% \item[-] package \xpackage{kvoptions}, 2010/12/23, v3.10,\\
-% \CTAN{macros/latex/contrib/oberdiek/kvoptions.dtx}
+% \item[-] package \xpackage{kvoptions}, 2022-06-15, v3.15,
+% \url{https://www.ctan.org/pkg/kvoptions}
+%
+% \item[-] package \xpackage{hrefhide}, 2023-02-26, v1.1a,
+% \url{https://www.ctan.org/pkg/hrefhide}
+% (Because you are reading the documentation for the
+% \xpackage{hrefhide} package, it can be assumed that you already
+% have some version of it~-- is it the current one?)
% \end{description}
%
% \DescribeMacro{hrefhide-example.tex}
-% The \texttt{hrefhide-example.tex} requires the same files as all
-% documents using the \xpackage{hrefhide} package, and additionally:
+% The |hrefhide-example.tex| requires the same files as all
+% documents using the \xpackage{hrefhide} package
+% (see preceding paragraph |hrefhide.sty|) and additionally:
% \begin{description}
-% \item[-] class \xpackage{article}, 2007/10/19, v1.4h, from \xpackage{classes.dtx}:\\
-% \CTAN{macros/latex/base/classes.dtx}
-%
-% \item[-] package \xpackage{lipsum}, 2011/04/14, v1.2,\\
-% \CTAN{macros/latex/contrib/lipsum/lipsum.dtx}
+% \item[-] class \xpackage{article}, 2022/07/02, v1.4n, from \xpackage{classes}:
+% \url{https://ctan.org/pkg/classes}
%
-% \item[-] package \xpackage{hrefhide}, 2011/04/29, v1.0f,\\
-% \CTAN{macros/latex/contrib/hrefhide/hrefhide.dtx}\\
-% (Well, it is the example file for this package, and because you are reading the
-% documentation for the \xpackage{hrefhide} package, it can be assumed that you already
-% have some version of it -- is it the current one?)
+% \item[-] package \xpackage{lipsum}, 2021-09-20, v2.7,
+% \url{https://www.ctan.org/pkg/lipsum}\\
+% This package is only needed for some blind text.
% \end{description}
%
-% \DescribeMacro{hyperref}
-% As possible alternative in section \ref{sec:Alternatives} there is listed
+% \DescribeMacro{Alternatives}
+% As possible alternatives in section~\ref{s:Alternatives}, Alternatives,
+% there are listed (newer versions might be available):
% \begin{description}
-% \item[-] package \xpackage{hyperref}, 2011/04/17, v6.82g,\\
-% \CTAN{macros/latex/contrib/hyperref/}
-% with option \texttt{ocgcolorlinks} and\\
-% |{\color{white} \href{...}{...}}|.
-%
-% \item[-] package \xpackage{pdfcomment}, 2010/12/11, v2.1,\\
-% \CTAN{macros/latex/contrib/pdfcomment/}\\
-% for text \textbf{outside} of links
+% \item[-] package \xpackage{hyperref}, 2023-02-07, v7.00v,
+% \url{https://www.ctan.org/pkg/hyperref}
+% with option |ocgcolorlinks| and |{\color{white}\href{...}{...}}|.
+%
+% \item[-] package \xpackage{pdfcomment}, 2018/11/01, v2.4a,
+% \url{https://www.ctan.org/pkg/pdfcomment}
+% for text \textbf{outside} of links
+%
+% \item[-] package \xpackage{ocgx2}, 2022/12/16, v0.56,
+% \url{https://www.ctan.org/pkg/ocgx2}
% \end{description}
%
% \DescribeMacro{Oberdiek}
% \DescribeMacro{holtxdoc}
-% \DescribeMacro{hyperref}
% \DescribeMacro{kvoptions}
-% All packages of \textsc{Heiko Oberdiek's} bundle `oberdiek'
+% All packages of the `oberdiek' bundle
% (especially \xpackage{holtxdoc} and \xpackage{kvoptions})
% are also available in a TDS compliant ZIP archive:\\
-% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\
+% \url{https://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\\
% It is probably best to download and use this, because the packages in there
% are quite probably both recent and compatible among themselves.\\
%
-% \DescribeMacro{M\"{u}nch}
-% A hyperlinked list of my (other) packages can be found at
-% \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\
+% \DescribeMacro{hyperref}
+% \noindent \xpackage{hyperref} is not included in that bundle and needs to be
+% downloaded separately,\\
+% \url{https://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\\
%
-% \subsection{Package, unpacking TDS}
+% \DescribeMacro{Münch}
+% A hyperlinked list of my (other) packages can be found at\\
+% \url{https://www.ctan.org/author/muench-hm}.\\
%
-% \paragraph{Package.} This package is available on \CTAN{}:
+% \subsection{Package, unpacking TDS}
+% \paragraph{Package.} This package is available on \url{https://www.CTAN.org}.
% \begin{description}
-% \item[\CTAN{macros/latex/contrib/hrefhide/hrefhide.dtx}]\hspace*{0.1cm} \\
+% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/hrefhide.dtx}]\hspace*{0.1cm}\\
% The source file.
-% \item[\CTAN{macros/latex/contrib/hrefhide/hrefhide.pdf}]\hspace*{0.1cm} \\
+% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/hrefhide.pdf}]\hspace*{0.1cm}\\
% The documentation.
-% \item[\CTAN{macros/latex/contrib/hrefhide/hrefhide-example.pdf}]\hspace*{0.1cm} \\
+% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/hrefhide-example.pdf}]\hspace*{0cm}%
% The compiled example file, as it should look like.
-% \item[\CTAN{install/macros/latex/contrib/hrefhide.tds.zip}]\hspace*{0.1cm} \\
+% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/README}]\hspace*{0.1cm}\\
+% The README file.
+% \end{description}
+%
+% There is also a |hrefhide.tds.zip| available:
+% \begin{description}
+% \item[\url{https://mirror.ctan.org/install/macros/latex/contrib/hrefhide.tds.zip}]\hspace*{0cm}%
% Everything in TDS compliant, compiled format.
% \end{description}
% which additionally contains\\
@@ -900,16 +812,16 @@ nisl ut aliquip ex ea commodo consequat.
% hrefhide.ins & The installation file.\\
% hrefhide.drv & The driver to generate the documentation.\\
% hrefhide.sty & The \xext{sty}le file.\\
-% hrefhide-example.tex & The example file.%
+% hrefhide-example.tex & The example file.
% \end{tabular}
%
% \bigskip
%
-% \noindent For required other packages, see the preceding subsection.
+% \noindent For required other packages, please see the preceding subsection.
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
+% \docstrip{} archive. The files are extracted by running the
+% \xext{.dtx} through \plainTeX{}:
% \begin{quote}
% \verb|tex hrefhide.dtx|
% \end{quote}
@@ -990,24 +902,24 @@ nisl ut aliquip ex ea commodo consequat.
% \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.
+% place, see the documentation of \docstrip{}.
%
% \subsection{Refresh file name databases}
%
-% If your \TeX~distribution (\teTeX, \mikTeX,\dots) relies on file name
-% databases, you must refresh these. For example, \teTeX\ users run
-% \verb|texhash| or \verb|mktexlsr|.
+% 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.}
+% \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[\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
+% 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{hrefhide.dtx}|
@@ -1018,7 +930,7 @@ nisl ut aliquip ex ea commodo consequat.
% \paragraph{Generating the documentation.\label{GenDoc}}
% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
% the documentation. The process can be configured by a
-% configuration file \xfile{ltxdoc.cfg}. For instance, put this
+% configuration file \xfile{ltxdoc.cfg}. For instance, put the following
% line into this file, if you want to have A4 as paper format:
% \begin{quote}
% \verb|\PassOptionsToClass{a4paper}{article}|
@@ -1042,25 +954,22 @@ nisl ut aliquip ex ea commodo consequat.
% The example file, \textsf{hrefhide-example.tex}, can be compiled via\\
% \indent |pdflatex hrefhide-example.tex|\\
% (but \textbf{not} |latex hrefhide-example.tex|!)\\
-% and will need two compiler runs to get all references right.
+% and will need at least two compiler runs to get all references right.
%
% \section{Acknowledgements}
%
-% I would like to thank \textsc{Heiko Oberdiek}
-% (heiko dot oberdiek at googlemail dot com) for providing
-% the \xpackage{hyperref} as well as a~lot~(!) of other useful packages
-% (from which I also got everything I know about creating a file in
-% \xext{dtx} format, ok, say it: copying),
-% and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex}
-% newsgroups for their help in all things \TeX.
+% I would like to thank \textsc{Heiko Oberdiek} for providing a lot of
+% useful packages (from which I also got everything I know about creating
+% a file in \xext{dtx} format, ok, say it: copying), and the
+% \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} newsgroups
+% for their help in all things \TeX{}.
%
-% \bigskip
% \phantomsection
% \begin{History}\label{History}
% \begin{Version}{2010/02/18 v0.1}
% \item First idea about this as a reply of mine to a question on
% \Newsgroup{comp.text.tex} (Subject: "Hiding" interactive parts of pdf when printing), see e.\,g.
-% \url{http://groups.google.com/group/comp.text.tex/msg/80d9eebf2837d7a3?dmode=source}.
+% \url{https://groups.google.com/g/comp.text.tex/c/JGXs0n2UUhw/m/o9c3KL_u2YAJ}.
% \end{Version}
% \begin{Version}{2010/06/01 v1.0(a)}
% \item First version of the \xpackage{hrefhide} package.
@@ -1083,31 +992,23 @@ nisl ut aliquip ex ea commodo consequat.
% \begin{Version}{2010/07/29 v1.0d}
% \item Corrected given url of \texttt{hrefhide.tds.zip} and other urls.
% \item Included a url for the newsgroup post (in History).
-% \item Changed the \xpackage{undolabl} package description.
-% \item New version of the used \xpackage{hyperref} package: 2010/06/18,~v6.81g.
% \item Included a |\CheckSum|.
% \item Minor details.
% \end{Version}
% \begin{Version}{2011/02/01 v1.0e}
-% \item Changed the |\unit| definition (got rid of an old |\rm|).
+% \item Changed the |\unit| definition (got rid of an old |\rm|).\\
+% {}[Removed in version 1.1a.]
% \item Moved the package from \texttt{.../latex/muench/hrefhide/...} to\\
-% \texttt{.../latex/hrefhide/...}.\\
-% (Please make sure that any old versions of the \xpackage{hrefhide} package
-% are porperly uninstalled from your system.)
+% \texttt{.../latex/hrefhide/...}.
% \item Replaced the list of my packages with a link to a web page list of those,
% which has the advantage of showing the recent versions of all those packages.
-% \item Updated to version 2010/12/16 v6.81z of the \xpackage{hyperref} package.
-% \item A new version (2010/12/11 v2.1) of the \xpackage{pdfcomment} package is available.
% \item Minor details.
% \end{Version}
% \begin{Version}{2011/04/29 v1.0f}
-% \item There is a new version of the used \xpackage{lipsum} package: 2011/04/14,~v1.2.
-% \item The \xpackage{holtxdoc} package was fixed (recent: 2011/02/04, v0.21), therefore
-% the warning in \xfile{drv} could be removed. -- Adapted the style of this
+% \item The \xpackage{holtxdoc} package was fixed (then: 2011/02/04, v0.21), therefore
+% the warning in \xfile{drv} could be removed.~-- Adapted the style of this
% documentation to new \textsc{Oberdiek} \xfile{dtx} style.
% \item Removed the \textsf{ltxdoc.cfg} file for the documentation.
-% \item There is a new version of the used \xpackage{hyperref} package: 2011/04/17,~v6.82g.
-% \item There is a new version of the used \xpackage{kvoptions} package: 2010/12/23,~v3.10.
% \item Bug fix: The previouse versions only hide links of type
% \textquotedblleft link\textquotedblright. Now the types citation, page reference,
% URL, local file reference, and \textquotedblleft other links\textquotedblright-type
@@ -1116,6 +1017,15 @@ nisl ut aliquip ex ea commodo consequat.
% on/off of~|ocgcolorlinks| in the document.
% \item Instead of \xpackage{color} now the \xpackage{xcolor} package is used.
% \item A lot of details.
+% \item This version has been archived at\\
+% \url{https://web.archive.org/web/20190417081010/https://mirror.ctan.org/install/macros/latex/contrib/hrefhide.tds.zip}
+% \end{Version}
+% \begin{Version}{2023-02-26 v1.1a}
+% \item Made the |\newcommand|s robust.
+% \item Removed |\unit|.
+% \item Converted to UTF-8.
+% \item Updated to \LaTeX{} format 2022-11-01.
+% \item Extensive updates of the Documentation and README.
% \end{Version}
% \end{History}
%
@@ -1124,8 +1034,6 @@ nisl ut aliquip ex ea commodo consequat.
% When you find a mistake or have a suggestion for an improvement of this package,
% please send an e-mail to the maintainer, thanks! (Please see BUG REPORTS in the README.)
%
-% \pagebreak
-%
% \PrintIndex
%
% \Finale
diff --git a/macros/latex/contrib/hrefhide/hrefhide.pdf b/macros/latex/contrib/hrefhide/hrefhide.pdf
index d6badad206..4f0169a76d 100644
--- a/macros/latex/contrib/hrefhide/hrefhide.pdf
+++ b/macros/latex/contrib/hrefhide/hrefhide.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/README.md b/macros/latex/contrib/jeuxcartes/README.md
index 3593df51cc..f7d63ad098 100644
--- a/macros/latex/contrib/jeuxcartes/README.md
+++ b/macros/latex/contrib/jeuxcartes/README.md
@@ -6,8 +6,9 @@ Author : Cédric Pierquet
email : cpierquet@outlook.fr
Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
Poker v1 cards Image's Licence : LGPL-2.1 license https://github.com/htdebeer/SVG-cards
-Poker v2 cards Image's Licence : Public Domain https://tekeye.uk/playing_cards/svg-playing-cards
-Poker v3 cards Image's Licence : Public Domain https://www.me.uk/cards/
-Poker v4 cards Image's Licence : CC BY-SA 4.0 https://commons.wikimedia.org/wiki/File:Computer_screen_playing_cards_deck.svg
-Tarot v1 cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards
-Uno v1 cards Image's Licence : MIT License https://eperezcosano.github.io/uno-part1/ \ No newline at end of file
+Poker v2 cards Image's Licence : Public Domain https://tekeye.uk/playing_cards/svg-playing-cards
+Poker v3 cards Image's Licence : Public Domain https://www.me.uk/cards/
+Poker v4 cards Image's Licence : CC BY-SA 4.0 https://commons.wikimedia.org/wiki/File:Computer_screen_playing_cards_deck.svg
+Poker v5 cards Image's Licence : Public Domain https://www.me.uk/cards/
+Tarot v1 cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards
+Uno v1 cards Image's Licence : MIT License https://eperezcosano.github.io/uno-part1/ \ No newline at end of file
diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
index dc600f8bb1..c67a9202b5 100644
--- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
+++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
index 6273a6bbee..3ac8a72802 100644
--- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
+++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
@@ -69,8 +69,8 @@
\setlength{\parindent}{0pt}
\definecolor{LightGray}{gray}{0.9}
-\def\TPversion{0.2.2a}
-\def\TPdate{22 Février 2023}
+\def\TPversion{0.2.3}
+\def\TPdate{25 Février 2023}
\usepackage[most]{tcolorbox}
\usepackage[outputdir=build]{minted}
@@ -195,21 +195,23 @@ Une commande pour des cartes en version \og miniatures \fg{} (individuelle, main
\part{Historique}
+{\small \bverb|v0.2.3 |~:~~~~Ajout d'une clé \textsf{inverse} + dos Uno + style v5 pour le Poker
+
{\small \bverb|v0.2.2a|~:~~~~Ajout d'un style v4 pour le Poker
-{\small \bverb|v0.2.1|~:~~~~Correction du nom d'une carte pokerv1...
+{\small \bverb|v0.2.1 |~:~~~~Correction du nom d'une carte Poker (v1)...
-{\small \bverb|v0.2.0|~:~~~~Modification du design des cartes (pdf pour Poker/Uno + png pour Tarot) + alternatives pour le Poker
+{\small \bverb|v0.2.0 |~:~~~~Modification du design des cartes (pdf pour Poker/Uno + png pour Tarot) + alternatives pour le Poker
-{\small \bverb|v0.1.4|~:~~~~Réduction de la taille des images \texttt{png}
+{\small \bverb|v0.1.4 |~:~~~~Réduction de la taille des images \texttt{png}
-{\small \bverb|v0.1.3|~:~~~~Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami
+{\small \bverb|v0.1.3 |~:~~~~Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami
-{\small \bverb|v0.1.2|~:~~~~Modification du nom (et de la source) des images de Tarot (CC0)
+{\small \bverb|v0.1.2 |~:~~~~Modification du nom (et de la source) des images de Tarot (CC0)
-{\small \bverb|v0.1.1|~:~~~~Ajout de commandes pour des mini-cartes
+{\small \bverb|v0.1.1 |~:~~~~Ajout de commandes pour des mini-cartes
-{\small \bverb|v0.1 |~:~~~~Version initiale
+{\small \bverb|v0.1 |~:~~~~Version initiale
\vfill~
@@ -222,21 +224,18 @@ Une commande pour des cartes en version \og miniatures \fg{} (individuelle, main
\subsection{\og Philosophie \fg{} du package}
\begin{codeidee}
-L'idée de ce package est de proposer, comme le fait \ctex{pst-poker}, des commandes pour intégrer des cartes de poker dans un document \LaTeX.
+L'idée de ce package est de proposer, comme le fait \ctex{pst-poker}, des commandes pour intégrer des cartes à jouer dans un document \LaTeX.
Les cartes disponibles sont : :
%
\begin{itemize}
-% \item les cartes type \textsf{Poker} sont sous licence LGPL, \copyright{}2005, de David Bellot, via \url{https://github.com/htdebeer/SVG-cards} ;
-% \item les cartes type \textsf{Tarot} sous licence CC0, du site \url{https://freesvg.org} ;
-% \item les cartes type \textsf{Uno} (édité par Mattel\texttrademark) sous licence CC0, du site \url{https://alexder.itch.io/uno-card-game-asset-pack}.
\item les cartes type \textsf{Poker v1} (Licence : LGPL-2.1 license) \url{https://github.com/htdebeer/SVG-cards}
\item les cartes type \textsf{Poker v2} (Licence : Public Domain) \url{https://tekeye.uk/playing_cards/svg-playing-cards}
\item les cartes type \textsf{Poker v3} (Licence : Public Domain) \url{https://www.me.uk/cards/}
\item les cartes type \textsf{Poker v4} (Licence : CC BY-SA 4.0) \url{https://commons.wikimedia.org/wiki/File:Computer_screen_playing_cards_deck.svg}
+ \item les cartes type \textsf{Poker v5} (Licence : Public Domain) \url{https://www.me.uk/cards/}
\item les cartes type \textsf{Tarot} (Licence : Public Domain) \url{https://freesvg.org/deck-of-french-tarot-playing-cards}
\item les cartes type \textsf{Uno} (Licence : MIT License) \url{https://eperezcosano.github.io/uno-part1/}
- % Uno v2 cards Image's Licence : CC1.0 https://alexder.itch.io/uno-card-game-asset-pack
\end{itemize}
\end{codeidee}
@@ -266,7 +265,7 @@ Les images utiles sont proposées en format \textsf{pdf} pour les cartes type \t
\smallskip
-Les fichiers \textsf{eps} ne sont pas intégrées dans le package, mais elles sont disponible sur le dépôt \textsf{github} \url{https://github.com/cpierquet/JeuxCartes}.
+Les fichiers \textsf{eps} ne sont pas intégrés dans le package, mais elles sont disponibles sur le dépôt \textsf{github} \url{https://github.com/cpierquet/JeuxCartes}.
\smallskip
@@ -324,8 +323,8 @@ Les \textsf{codes} seront présentés dans des \textsf{boîtes} \textcolor{red!7
Les \textit{Jeux} disponibles sont :
\begin{itemize}
- \item \Cle{Poker}, \Cle{Pokerv2}, \Cle{Pokerv3}, \Cle{Pokerv4}, \Cle{Tarot} et \Cle{Uno} pour l'affichage des cartes ;
- \item \Cle{Poker}, \Cle{Pokerv2}, \Cle{Pokerv3}, \Cle{Pokerv4}, \Cle{Tarot}, \Cle{Bataille}, \Cle{Rami}, \Cle{Belote} et \Cle{Uno} pour les mains aléatoires ;
+ \item \Cle{Poker(vX)}, \Cle{Tarot} et \Cle{Uno} pour l'affichage des cartes ;
+ \item \Cle{Poker(vX)}, \Cle{Bataille(vX)}, \Cle{Rami(vX)}, \Cle{Belote(vX)}, \Cle{Tarot} et \Cle{Uno} pour les mains aléatoires ;
\item \Cle{Poker} et \Cle{Tarot} pour les \textit{mini-}cartes.
\end{itemize}
\end{codeinfo}
@@ -364,7 +363,7 @@ Les \textit{Jeux} disponibles sont :
\begin{codeinfo}
La commande \ctex{AffCarteJeu} affiche une carte, avec un système de clés/options.
-La commande \ctex{AffCartesJeu} affiche une liste de cartes ne mode \textit{côte à côte}, avec un système de clés/options.
+La commande \ctex{AffCartesJeu} affiche une liste de cartes en mode \textit{côte à côte}, avec un système de clés/options.
\end{codeinfo}
\begin{codetex}[]
@@ -372,7 +371,7 @@ La commande \ctex{AffCartesJeu} affiche une liste de cartes ne mode \textit{côt
\AffCarteJeu[TypeJeu=Tarot]{VP}\AffCarteJeu[TypeJeu=Tarot]{Dos}%
\AffCarteJeu[TypeJeu=Tarot]{Exc}\AffCarteJeu[TypeJeu=Tarot]{1AT}%
\AffCarteJeu[TypeJeu=Tarot]{10K}\AffCarteJeu[TypeJeu=Tarot]{18AT}\\ \\
-\AffCartesJeu[TypeJeu=Uno]{P4 § PTR § Coul § 7B § 8V}
+\AffCartesJeu[TypeJeu=Uno]{P4 § PTR § Dos § Coul § 7B § 8V}
\end{codetex}
\subsection{Noms de cartes}
@@ -411,7 +410,7 @@ est fixé suivant le modèle suivant (typiquement \texttt{<hauteur>.<couleur>} )
\item \texttt{CSB}, \texttt{CSR}, \texttt{CSB}, \texttt{CSJ}, \texttt{CSV}\dotfill\Cle{ChangeSens}
\item \texttt{P4}\dotfill\Cle{+4}
\item \texttt{Coul}\dotfill\Cle{JokerCouleur}
- %\item \texttt{Dos}\dotfill\Cle{Dos}
+ \item \texttt{Dos}\dotfill\Cle{Dos}
\end{itemize}
\end{itemize}
\end{codeinfo}
@@ -428,7 +427,7 @@ Concernant les \Cle{options} :
\begin{itemize}
\item la clé \Cle{Hauteur} correspond à la hauteur voulue, en cm, de la carte ; \hfill{}défaut \Cle{4.25}
- \item la clé \Cle{TypeJeu} (parmi \Cle{PokerXXX} ou \Cle{Tarot} ou \Cle{Uno}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker}
+ \item la clé \Cle{TypeJeu} (parmi \Cle{Poker(vX)} ou \Cle{Tarot} ou \Cle{Uno}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker}
\item la clé \Cle{Rotation} pour une éventuelle rotation de la carte ; \hfill{}défaut \Cle{0}
\item la clé \Cle{AlignementV} pour l'alignement vertical (lié à \ctex{raisebox} ou à \TikZ) ; \hfill{}défaut \Cle{0.5}
\item le booléen \Cle{Tikz} pour préciser que la carte est \textit{autonome}, dans un environnement \ctex{tikzpicture} ; \hfill{}défaut \Cle{false}
@@ -467,16 +466,17 @@ On obtient la main \AffCartesJeu[Hauteur=2,TypeJeu=Uno]{9B § 8R § P2J § P4 §
\pagebreak
-\subsection{Designs disponibles pour les cartes classiques}
+\subsection{Designs disponibles pour les cartes classiques (Poker)}
\begin{codeinfo}
-Il existe 4 versions de designs des cartes \textit{classiques}, accessibles via les clés :
+Il existe 5 versions de design des cartes \textit{classiques}, accessibles via les clés :
\begin{itemize}
\item \Cle{Poker} ;
\item \Cle{Pokerv2} ;
\item \Cle{Pokerv3} ;
- \item \Cle{Pokerv4}.
+ \item \Cle{Pokerv4} ;
+ \item \Cle{Pokerv5}.
\end{itemize}
\end{codeinfo}
@@ -489,6 +489,8 @@ Il existe 4 versions de designs des cartes \textit{classiques}, accessibles via
\AffCartesJeu[Hauteur=2,TypeJeu=Pokerv3]{DK § AP § 10T § VP § 8T § RT § 9C} \\ \\
\textbf{Design v4} :\\
\AffCartesJeu[Hauteur=2,TypeJeu=Pokerv4]{DK § AP § 10T § VP § 8T § RT § 9C} \\ \\
+\textbf{Design v5} :\\
+\AffCartesJeu[Hauteur=2,TypeJeu=Pokerv5]{DK § AP § 10T § VP § 8T § RT § 9C} \\
\end{codetex}
\pagebreak
@@ -522,12 +524,13 @@ Les \Cle{options} sont les suivantes :
\begin{itemize}
\item la clé \Cle{Hauteur} correspond à la hauteur voulue, en cm, des cartes ; \hfill{}défaut \Cle{4.25}
- \item la clé \Cle{TypeJeu} (parmi \Cle{PokerXXX} ou \Cle{Tarot} ou \Cle{Uno}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker}
+ \item la clé \Cle{TypeJeu} (parmi \Cle{Poker(vX)} ou \Cle{Tarot} ou \Cle{Uno}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker}
\item la clé \Cle{EspH} correspond à coefficient d'espacement horizontal (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{1}
\item la clé \Cle{EspH} correspond à coefficient d'espacement vertical (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{0}
\item le booléen \Cle{Eventail} pour une présentation en éventail ; \hfill{}défaut \Cle{false}
\item la clé \Cle{Rotation} pour l'angle entre les cartes en mode \Cle{Eventail} ; \hfill{}défaut \Cle{10}
- \item la clé \Cle{AlignementV} pour l'alignement vertical lié à \TikZ{}\hfill{}défaut \Cle{0.5}
+ \item la clé \Cle{AlignementV} pour l'alignement vertical lié à \TikZ{} ;\hfill{}défaut \Cle{0.5}
+ \item le booléen \Cle{Inverse} pour une présentation de \frquote{droite à gauche}.\hfill{}défaut \Cle{false}
\end{itemize}
\end{codecles}
@@ -560,7 +563,7 @@ Les exemples proposés dans cette documentation permettent de se rendre compte d
\smallskip
-Ça c'est une belle poignée ! \MainCartesJeu[Eventail,Hauteur=3,TypeJeu=Tarot,EspH=0,EspV=0.1]%
+Ça c'est une belle poignée ! \MainCartesJeu[Inverse,Eventail,Hauteur=3,TypeJeu=Tarot,EspH=0,EspV=0.1]%
{Exc § 1AT § 2AT § 3AT § 4AT § 5AT § 6AT § %
10AT § 11AT § 15AT § 16AT § 19AT § 20AT § 21AT}
@@ -597,12 +600,13 @@ Les \Cle{options} sont les suivantes :
\begin{itemize}
\item la clé \Cle{Hauteur} correspond à la hauteur voulue, en cm, des cartes ; \hfill{}défaut \Cle{4.25}
- \item la clé \Cle{TypeJeu} (parmi \Cle{PokerXXX} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille} ou \Cle{Rami} ou \Cle{Uno}) ; \hfill{}défaut \Cle{Poker}
+ \item la clé \Cle{TypeJeu} (parmi \Cle{Poker(vX)} ou \Cle{Belote(vX)} ou \Cle{Bataille(vX)} ou \Cle{Rami(vX)} ou \Cle{Uno} ou \Cle{Tarot}) ; \hfill{}défaut \Cle{Poker}
\item la clé \Cle{EspH} correspond à coefficient d'espacement horizontal (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{1}
\item la clé \Cle{EspH} correspond à coefficient d'espacement vertical (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{0}
\item le booléen \Cle{Eventail} pour une présentation en éventail ; \hfill{}défaut \Cle{false}
\item la clé \Cle{Rotation} pour l'angle entre les cartes en mode \Cle{Eventail} ; \hfill{}défaut \Cle{10}
- \item la clé \Cle{AlignementV} pour l'alignement vertical lié à \TikZ{}\hfill{}défaut \Cle{0.5}
+ \item la clé \Cle{AlignementV} pour l'alignement vertical lié à \TikZ{} ;\hfill{}défaut \Cle{0.5}
+ \item le booléen \Cle{Inverse} pour une présentation de \frquote{droite à gauche}.\hfill{}défaut \Cle{false}
\end{itemize}
\end{codecles}
@@ -610,10 +614,10 @@ Les \Cle{options} sont les suivantes :
En ce qui concerne les \textit{jeux} disponibles (non modifiables) :
\begin{itemize}
- \item \Cle{Poker} ou \Cle{Pokerv2} ou \Cle{Pokerv3} ou \Cle{Pokerv4} : 52 cartes (sans Joker) ;
- \item \Cle{Belote} ou \Cle{Belotev2} ou \Cle{Belotev3} ou \Cle{Belotev4} : 32 cartes (sans Joker) ;
- \item \Cle{Bataille} ou \Cle{Bataillev2} ou \Cle{Bataillev3} ou \Cle{Bataillev4} : 54 cartes (avec Jokers) ;
- \item \Cle{Rami} ou \Cle{Ramiv2} ou \Cle{Ramiv3} ou \Cle{Ramiv4} : 108 cartes (avec Jokers) ;
+ \item \Cle{Poker(vX)} : 52 cartes (sans Joker) ;
+ \item \Cle{Belote(vX)} : 32 cartes (sans Joker) ;
+ \item \Cle{Bataille(vX)} : 54 cartes (avec Jokers) ;
+ \item \Cle{Rami(vX)} : 108 cartes (avec Jokers) ;
\item \Cle{Tarot} : 78 cartes ;
\item \Cle{Uno}.
\end{itemize}
@@ -622,12 +626,12 @@ En ce qui concerne les \textit{jeux} disponibles (non modifiables) :
\pagebreak
\begin{codetex}[]
-\textbf{\large Belote v1 \& Belote v2 :} \\ \\
-\MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Belote]{8} ou \MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Belotev2]{8}.\\ \\
+\textbf{\large Belote v1 \& Belote v4 \& Belote v5 :} \\ \\
+\MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Belote]{8} ou \MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Belotev4]{8} ou \MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Belotev5]{8}.\\ \\
\textbf{\large Poker v1 \& Poker v3 :} \\ \\
\MainCartesJeuAleatoire[Hauteur=2.5,Eventail,EspH=0,EspV=0.1]{5} ou \MainCartesJeuAleatoire[Hauteur=2.5,Eventail,EspH=0,EspV=0.1,TypeJeu=Pokerv3]{5}.\\ \\
-\textbf{\large Bataille v1 :} \\ \\
-\MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Bataille]{27}\\ \\
+\textbf{\large Bataille v2 :} \\ \\
+\MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Bataillev2]{27}\\ \\
\textbf{\large Tarot :} \\
\MainCartesJeuAleatoire[Hauteur=3.25,TypeJeu=Tarot]{10} ou~
\MainCartesJeuAleatoire[Hauteur=3.25,Eventail,TypeJeu=Tarot,EspH=0,EspV=0.1]{10}.
@@ -747,7 +751,7 @@ Les \Cle{Clés} sont les mêmes que pour la commande individuelle, avec en plus
\section{Cartes disponibles}
-\subsection{Poker/Bataille/Belote (v1)}
+\subsection{Poker/Bataille/Belote/Rami (v1)}
Dos disponibles : \texttt{Dos}
@@ -764,7 +768,7 @@ Dos disponibles : \texttt{Dos}
\AffCarteJeu[Hauteur=1.85]{JN}\AffCarteJeu[Hauteur=1.85]{JR}\AffCarteJeu[Hauteur=1.85]{Dos}%
%\xintFor #1 in {Bleu,BleuVert,Fuchsia,Gris,Jaune,Marron,Navy,Noir,Olive,Vert,Violet}\do{\AffCarteJeu[Hauteur=1.75]{Dos#1}}
-\subsection{Poker/Bataille/Belote (v2)}
+\subsection{Poker/Bataille/Belote/Rami (v2)}
Dos disponibles : \texttt{DosBleu} ou \texttt{DosRouge} ou \texttt{DosBleu2} ou \texttt{DosRouge2}
@@ -783,7 +787,7 @@ Dos disponibles : \texttt{DosBleu} ou \texttt{DosRouge} ou \texttt{DosBleu2} ou
\pagebreak
-\subsection{Poker/Bataille/Belote (v3)}
+\subsection{Poker/Bataille/Belote/Rami (v3)}
Dos disponibles : \texttt{DosNoir} ou \texttt{DosRouge}
@@ -799,7 +803,7 @@ Dos disponibles : \texttt{DosNoir} ou \texttt{DosRouge}
\AffCarteJeu[TypeJeu=Pokerv3,Hauteur=1.85]{JN}\AffCarteJeu[TypeJeu=Pokerv3,Hauteur=1.85]{JR}\AffCarteJeu[TypeJeu=Pokerv3,Hauteur=1.85]{DosNoir}\AffCarteJeu[TypeJeu=Pokerv3,Hauteur=1.85]{DosRouge}%
-\subsection{Poker/Bataille/Belote (v4)}
+\subsection{Poker/Bataille/Belote/Rami (v4)}
Dos disponibles : \texttt{DosBleu} ou \texttt{DosRouge}
@@ -813,10 +817,26 @@ Dos disponibles : \texttt{DosBleu} ou \texttt{DosRouge}
\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,D,R,A}\do{\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{#1T}}
-\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{JN}\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{JR}\AffCarteJeu[TypeJeu=Pokerv3,Hauteur=1.85]{DosRouge}\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{DosBleu}%
+\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{JN}\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{JR}\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{DosRouge}\AffCarteJeu[TypeJeu=Pokerv4,Hauteur=1.85]{DosBleu}%
\pagebreak
+\subsection{Poker/Bataille/Belote/Rami (v5)}
+
+Dos disponibles : \texttt{DosNoir} ou \texttt{DosRouge}
+
+\medskip
+
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,D,R,A}\do{\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{#1P}}
+
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,D,R,A}\do{\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{#1C}}
+
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,D,R,A}\do{\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{#1K}}
+
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,D,R,A}\do{\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{#1T}}
+
+\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{JN}\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{JR}\AffCarteJeu[TypeJeu=Pokerv3,Hauteur=1.85]{DosRouge}\AffCarteJeu[TypeJeu=Pokerv5,Hauteur=1.85]{DosNoir}%
+
\subsection{Cartes Tarot}
\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffCarteJeu[TypeJeu=Tarot,Hauteur=1.85]{#1P}}
@@ -846,7 +866,7 @@ Dos disponibles : \texttt{DosBleu} ou \texttt{DosRouge}
\AffCartesJeu[TypeJeu=Uno,Hauteur=1.85]{0V § 1V § 2V § 3V § 4V § 5V § 6V § 7V § 8V § 9V § P2V § PTV § CSV}
-\AffCartesJeu[TypeJeu=Uno,Hauteur=1.85]{P4 § Coul}
+\AffCartesJeu[TypeJeu=Uno,Hauteur=1.85]{P4 § Coul § Dos}
\subsection{MiniCartes}
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf
new file mode 100644
index 0000000000..e84827104b
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
index a74874dca9..efa9aa6166 100644
--- a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv4-AP.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10C.pdf
new file mode 100644
index 0000000000..a0347f6fb5
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10K.pdf
new file mode 100644
index 0000000000..35dcbf6111
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10P.pdf
new file mode 100644
index 0000000000..76b5d17bb4
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10T.pdf
new file mode 100644
index 0000000000..0b074e15fc
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-10T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2C.pdf
new file mode 100644
index 0000000000..0f71e8ee84
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2K.pdf
new file mode 100644
index 0000000000..170a854dcb
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2P.pdf
new file mode 100644
index 0000000000..4a8d917893
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2T.pdf
new file mode 100644
index 0000000000..5366b5b410
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-2T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3C.pdf
new file mode 100644
index 0000000000..e0d00557e4
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3K.pdf
new file mode 100644
index 0000000000..313540ba6f
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3P.pdf
new file mode 100644
index 0000000000..af5f6c258f
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3T.pdf
new file mode 100644
index 0000000000..41d6b83112
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-3T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4C.pdf
new file mode 100644
index 0000000000..d3e297c9f4
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4K.pdf
new file mode 100644
index 0000000000..7b88d6c5e8
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4P.pdf
new file mode 100644
index 0000000000..792192fff5
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4T.pdf
new file mode 100644
index 0000000000..701e1f14f0
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-4T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5C.pdf
new file mode 100644
index 0000000000..3c8df722e5
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5K.pdf
new file mode 100644
index 0000000000..87cdbba7ba
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5P.pdf
new file mode 100644
index 0000000000..a513aa2cd0
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5T.pdf
new file mode 100644
index 0000000000..4c6ade1139
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-5T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6C.pdf
new file mode 100644
index 0000000000..695656849a
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6K.pdf
new file mode 100644
index 0000000000..cb201ad180
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6P.pdf
new file mode 100644
index 0000000000..c4cf985700
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6T.pdf
new file mode 100644
index 0000000000..7fb7fc09d1
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-6T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7C.pdf
new file mode 100644
index 0000000000..22ffc8c8ba
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7K.pdf
new file mode 100644
index 0000000000..c361e355ed
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7P.pdf
new file mode 100644
index 0000000000..746c432533
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7T.pdf
new file mode 100644
index 0000000000..3cbcea25be
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-7T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8C.pdf
new file mode 100644
index 0000000000..dc49fa462c
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8K.pdf
new file mode 100644
index 0000000000..ec06542f08
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8P.pdf
new file mode 100644
index 0000000000..4f6211f499
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8T.pdf
new file mode 100644
index 0000000000..bcd36f1d1c
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-8T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9C.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9C.pdf
new file mode 100644
index 0000000000..241f7a440a
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9C.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9K.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9K.pdf
new file mode 100644
index 0000000000..019a2d4284
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9K.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9P.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9P.pdf
new file mode 100644
index 0000000000..4b7b3e8c22
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9P.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9T.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9T.pdf
new file mode 100644
index 0000000000..7f531471ce
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-9T.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AC.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AC.pdf
new file mode 100644
index 0000000000..e9603ba477
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AC.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AK.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AK.pdf
new file mode 100644
index 0000000000..9df4072a66
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AK.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AP.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AP.pdf
new file mode 100644
index 0000000000..92a1b30aa6
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AP.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AT.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AT.pdf
new file mode 100644
index 0000000000..8305277919
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-AT.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DC.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DC.pdf
new file mode 100644
index 0000000000..c975209459
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DC.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DK.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DK.pdf
new file mode 100644
index 0000000000..88392e7f93
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DK.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DP.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DP.pdf
new file mode 100644
index 0000000000..416c9d5e93
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DP.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DT.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DT.pdf
new file mode 100644
index 0000000000..ba4005f1e8
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DT.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosNoir.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosNoir.pdf
new file mode 100644
index 0000000000..2df23fd957
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosNoir.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosRouge.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosRouge.pdf
new file mode 100644
index 0000000000..5a1f0360ae
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-DosRouge.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JN.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JN.pdf
new file mode 100644
index 0000000000..a13fe505ef
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JN.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JR.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JR.pdf
new file mode 100644
index 0000000000..ea863df147
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-JR.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RC.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RC.pdf
new file mode 100644
index 0000000000..7486ce3201
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RC.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RK.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RK.pdf
new file mode 100644
index 0000000000..14abe2aaf8
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RK.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RP.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RP.pdf
new file mode 100644
index 0000000000..0caa875985
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RP.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RT.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RT.pdf
new file mode 100644
index 0000000000..efd36545c5
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-RT.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VC.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VC.pdf
new file mode 100644
index 0000000000..a6472e97e1
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VC.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VK.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VK.pdf
new file mode 100644
index 0000000000..967de478d2
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VK.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VP.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VP.pdf
new file mode 100644
index 0000000000..55673d335d
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VP.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VT.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VT.pdf
new file mode 100644
index 0000000000..7bc88eb1df
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv5-VT.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-Dos.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-Dos.pdf
new file mode 100644
index 0000000000..96b92b253e
--- /dev/null
+++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-Dos.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
index a94f30eefb..b5f2b94ac5 100644
--- a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
+++ b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
@@ -4,11 +4,13 @@
% Poker v2 cards Image's Licence : Public Domain https://tekeye.uk/playing_cards/svg-playing-cards
% Poker v3 cards Image's Licence : Public Domain https://www.me.uk/cards/
% Poker v4 cards Image's Licence : CC BY-SA 4.0) https://commons.wikimedia.org/wiki/File:Computer_screen_playing_cards_deck.svg
+% Poker v5 cards Image's Licence : Public Domain https://www.me.uk/cards/
% Tarot v1 cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards
% Uno v1 cards Image's Licence : MIT License https://eperezcosano.github.io/uno-part1/
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{JeuxCartes}[2023/02/22 v0.2.2a Jeux de cartes]
+\ProvidesPackage{JeuxCartes}[2023/02/25 v0.2.3 Jeux de cartes]
+% 0.2.3 Ajout d'une option pour présenter une main "inversée" + style v5
% 0.2.2a Correction de 2 cartes de pokerv4
% 0.2.2 Ajout d'un style v4 pour le poker
% 0.2.1a Correction d'un bug avec une carte de poker...
@@ -73,15 +75,15 @@
%cas pokerv4
\IfStrEq{\AffCarteJeuType}{Pokerv4}%poker4
{\def\CartePrefixe{CaJ-PokeRv4-}}{}%
+ %cas pokerv5
+ \IfStrEq{\AffCarteJeuType}{Pokerv5}%poker5
+ {\def\CartePrefixe{CaJ-PokeRv5-}}{}%
%cas tarot
\IfStrEq{\AffCarteJeuType}{Tarot}%tarot
{\def\CartePrefixe{CaJ-TaroTv1-}}{}%
%cas uno
\IfStrEq{\AffCarteJeuType}{Uno}%uno
{\def\CartePrefixe{CaJ-UnOv1-}}{}%
- %cas unov2
-% \IfStrEq{\AffCarteJeuType}{Unov2}%uno
-% {\def\CartePrefixe{CaJ-Unov2-}}{}%
%transformation valign en tikz
\def\OptionTikzCBB{current bounding box.center}%
\IfStrEq{\AffCarteJeuAlignementV}{0}%
@@ -139,6 +141,7 @@
TypeJeu=\def\MainJeuType{#1},%
AlignementV=\def\MainAlignementV{#1}
}
+
\setKVdefault[AffMainCartes]{%
Hauteur=4.25,%
EspH=1,%
@@ -146,7 +149,8 @@
Rotation=10,%
Eventail=false,%
TypeJeu=Poker,%
- AlignementV=0.5
+ AlignementV=0.5,%
+ Inverse=false
}
\NewDocumentCommand\MainCartesJeu{ O{} m }{%1=options,2=listecartes
@@ -165,12 +169,12 @@
{\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-PokeRv3-}}{}%
\IfStrEq{\MainJeuType}{Pokerv4}%poker4
{\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-PokeRv4-}}{}%
+ \IfStrEq{\MainJeuType}{Pokerv5}%poker5
+ {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-PokeRv5-}}{}%
\IfStrEq{\MainJeuType}{Tarot}%tarot
{\def\HauteurGenerique{5.5}\def\CarteMainPrefixe{CaJ-TaroTv1-}}{}%
\IfStrEq{\MainJeuType}{Uno}%uno
{\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-UnOv1-}}{}%
-% \IfStrEq{\MainJeuType}{Unov2}%unov2
-% {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Unov2-}}{}%
%echelle globale
\def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}%
%transformation valign en tikz
@@ -181,7 +185,14 @@
{\def\OptionTikzCBB{current bounding box.north}}{}%
%environnement tikzpicture
\begin{tikzpicture}[baseline=(\OptionTikzCBB)]%
- \foreach \i in {1,2,...,\ListeCartesMainlen}{%
+ \ifboolKV[AffMainCartes]{Inverse}%
+ {%
+ \foreach \i in {\ListeCartesMainlen,\inteval{\ListeCartesMainlen-1},...,1}
+ }%
+ {%
+ \foreach \i in {1,2,...,\ListeCartesMainlen}
+ }%
+ {%
\itemtomacro\ListeCartesMain[\i]\CarteMain%
\ifboolKV[AffMainCartes]{Eventail}%
{%
@@ -215,7 +226,8 @@
Rotation=10,%
Eventail=false,%
TypeJeu=Poker,%
- AlignementV=0.5
+ AlignementV=0.5,%
+ Inverse=false
}
\xdef\CartesJeuPoker{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK}%
@@ -238,10 +250,10 @@
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv3}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}%
\IfStrEq{\MainJeuType}{Pokerv4}%pokerv4
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv4}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Pokerv5}%pokerv5
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv5}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}%
\IfStrEq{\MainJeuType}{Uno}%uno
{\def\HauteurGenerique{8.5}\def\CarteMainType{Uno}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
-% \IfStrEq{\MainJeuType}{Unov2}%unov2
-% {\def\HauteurGenerique{8.5}\def\CarteMainType{Unov2}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
\IfStrEq{\MainJeuType}{Bataille}%bataille
{\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}%
\IfStrEq{\MainJeuType}{Bataillev2}%bataillev2
@@ -250,6 +262,8 @@
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv3}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}%
\IfStrEq{\MainJeuType}{Bataillev4}%bataillev4
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv4}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Bataillev5}%bataillev5
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv5}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}%
\IfStrEq{\MainJeuType}{Belote}%belote
{\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}%
\IfStrEq{\MainJeuType}{Belotev2}%belotev2
@@ -258,6 +272,8 @@
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv3}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}%
\IfStrEq{\MainJeuType}{Belotev4}%belotev4
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv4}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Belotev5}%belotev5
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv5}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}%
\IfStrEq{\MainJeuType}{Rami}%rami
{\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
\IfStrEq{\MainJeuType}{Ramiv2}%ramiv2
@@ -266,6 +282,8 @@
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv3}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
\IfStrEq{\MainJeuType}{Ramiv4}%ramiv4
{\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv4}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Ramiv5}%ramiv5
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Pokerv5}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
\IfStrEq{\MainJeuType}{Tarot}%tarot
{\def\HauteurGenerique{6.375}\def\CarteMainType{Tarot}\xdef\CarteDebutRand{\fpeval{randint(0,78-#2)}}}{}%
%échelle relative des cartes
@@ -302,6 +320,12 @@
\do{\InsertRandomItem{CartesJeuMelange}{##1}}%
}%
{}%
+ \IfStrEq{\MainJeuType}{Pokerv5}%si c'est le pokerv5
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuPoker}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
\IfStrEq{\MainJeuType}{Bataille}%si c'est la bataille
{%
\xintFor* ##1 in {\xintCSVtoList{\CartesJeuBataille}}%
@@ -326,6 +350,12 @@
\do{\InsertRandomItem{CartesJeuMelange}{##1}}%
}%
{}%
+ \IfStrEq{\MainJeuType}{Bataillev5}%si c'est la bataillev5
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBataille}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
\IfStrEq{\MainJeuType}{Rami}%si c'est le rami
{%
\xintFor* ##1 in {\xintCSVtoList{\CartesJeuRami}}%
@@ -350,18 +380,18 @@
\do{\InsertRandomItem{CartesJeuMelange}{##1}}%
}%
{}%
+ \IfStrEq{\MainJeuType}{Ramiv5}%si c'est le ramiv5
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuRami}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
\IfStrEq{\MainJeuType}{Uno}%si c'est le uno
{%
\xintFor* ##1 in {\xintCSVtoList{\CartesJeuUno}}%
\do{\InsertRandomItem{CartesJeuMelange}{##1}}%
}%
{}%
-% \IfStrEq{\MainJeuType}{Unov2}%si c'est le unov2
-% {%
-% \xintFor* ##1 in {\xintCSVtoList{\CartesJeuUno}}%
-% \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
-% }%
-% {}%
\IfStrEq{\MainJeuType}{Belote}%si c'est la belote
{%
\xintFor* ##1 in {\xintCSVtoList{\CartesJeuBelote}}%
@@ -386,6 +416,12 @@
\do{\InsertRandomItem{CartesJeuMelange}{##1}}%
}%
{}%
+ \IfStrEq{\MainJeuType}{Belotev5}%si c'est la belotev5
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBelote}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
\IfStrEq{\MainJeuType}{Tarot}%si c'est le tarot
{%
\xintFor* ##1 in {\xintCSVtoList{\CartesJeuTarot}}%
@@ -394,9 +430,16 @@
{}%
%environnement tikzpicture
\begin{tikzpicture}[baseline=(\OptionTikzCBB)]%
- \foreach \i in {1,2,...,#2}{%
+ \ifboolKV[AffMainAleaCartes]{Inverse}%
+ {%
+ \foreach \i in {#2,\inteval{#2-1},...,1}
+ }%
+ {%
+ \foreach \i in {1,2,...,#2}
+ }%
+ {%
+ %\foreach \i in {1,2,...,#2}{%
\GetItem{CartesJeuMelange}{\inteval{\CarteDebutRand+\i-1}}{CarteMainChoisie}%
- %\itemtomacro\ListeCartesMain[\i]\CarteMain%
\ifboolKV[AffMainAleaCartes]{Eventail}%
{%
\def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
diff --git a/macros/latex/contrib/l3build/CHANGELOG.md b/macros/latex/contrib/l3build/CHANGELOG.md
index eda72d0a20..d65bbfc7d0 100644
--- a/macros/latex/contrib/l3build/CHANGELOG.md
+++ b/macros/latex/contrib/l3build/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2023-02-26]
+
+### Changed
+- Run engine sanity check per config
+
+### Fixed
+- Restore epoch settings for `dvitopdf()`
+- Use plural form of variable `ps2pdfopts` consistently in code and doc, and
+ retain compatibility with singular form `ps2pdfopt` (issue #275)
+- Remove the last trace of dropped variable `stdconfig`
+
## [2023-02-20]
### Changed
@@ -629,7 +640,8 @@ this project uses date-based 'snapshot' version identifiers.
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX kernel work
-[Unreleased]: https://github.com/latex3/l3build/compare/2023-02-20...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2023-02-26...HEAD
+[2023-02-26]: https://github.com/latex3/l3build/compare/2023-02-20...2023-02-26
[2023-02-20]: https://github.com/latex3/l3build/compare/2023-02-16...2023-02-20
[2023-02-16]: https://github.com/latex3/l3build/compare/2022-11-10...2023-02-16
[2022-11-10]: https://github.com/latex3/l3build/compare/2022-09-15...2022-11-10
diff --git a/macros/latex/contrib/l3build/CONTRIBUTING.md b/macros/latex/contrib/l3build/CONTRIBUTING.md
deleted file mode 100644
index e85fa762d3..0000000000
--- a/macros/latex/contrib/l3build/CONTRIBUTING.md
+++ /dev/null
@@ -1,52 +0,0 @@
-Thanks for considering contributing to `l3build`: feedback, fixes and ideas are
-all useful. Here, we ([The LaTeX Project](https://www.latex-project.org)) have
-collected together a few pointers to help things along.
-
-## Bugs
-
-Please log bugs using the [issues](https://github.com/latex3/l3build/issues)
-system on GitHub, and choose the 'bug' label. Handy information that you might
-include, depending on the nature of the issue, includes
-
-- Your version of `l3build` (`texlua l3build.lua version`)
-- Your TeX system details (for example 'TeX Live 2017')
-- Your operating system
-- The contents of your `build.lua` file
-- An 'ASCII art' explanation of your directory layout
-
-## Feature requests
-
-Feature requests are welcome: log them in the same way as bugs and pick
-the 'Enhancement' label. We welcome feature requests for the test set up,
-the build process, _etc._
-
-## Code contributions
-
-If you want to discuss a possible contribution before (or instead of)
-making a pull request, drop a line to
-[the team](mailto:latex-team@latex-project.org).
-
-There are a few things that might look non-standard to most Lua programmers,
-which come about as `l3build`'s focus is testing and building LaTeX packages:
-
-- Our target Lua set up is `texlua` (part of LuaTeX), not standalone `lua`
-- The main `l3build.lua` file is self-contained as this helps with
- bootstrapping LaTeX: we are aiming to maintain a single file with no
- `.lua` dependencies
-- The primary documentation is aimed at the TeX world, so is in PDF format
- and generated from `l3build.dtx`; documentation in the `.lua` file is
- also welcome, but anything for general use does need to be in the `.dtx`
-- As far as possible, everything is done within `l3build` itself or tools
- directly available in a TeX system or as standard in the supported
- systems (Windows, MacOS, Linux)
-- The `l3build` interfaces should be platform-agnostic (though it may be
- necessary of course to branch inside particular functions)
-
-If you are submitting a pull request, notice that
-
-- We use Travis-CI for (light) testing so add `[ci skip]` to documentation-only
- commit messages
-- We favour a single linear history so will rebase agreed pull requests on to
- the `master` branch
-- Where a commit fixes or closes an issue, please include this information
- in the first line of the commit message
diff --git a/macros/latex/contrib/l3build/README.md b/macros/latex/contrib/l3build/README.md
index 40741a74ed..d66bf91b0f 100644
--- a/macros/latex/contrib/l3build/README.md
+++ b/macros/latex/contrib/l3build/README.md
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX
=================================================
-Release 2023-02-20
+Release 2023-02-26
Overview
--------
@@ -31,6 +31,6 @@ The LaTeX kernel is developed by [The LaTeX Project](https://latex-project.org).
-----
-<p>Copyright (C) 2014-2022 The LaTeX Project <br />
+<p>Copyright (C) 2014-2023 The LaTeX Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
diff --git a/macros/latex/contrib/l3build/l3build-arguments.lua b/macros/latex/contrib/l3build/l3build-arguments.lua
index 49c80a7596..76b661e26c 100644
--- a/macros/latex/contrib/l3build/l3build-arguments.lua
+++ b/macros/latex/contrib/l3build/l3build-arguments.lua
@@ -291,16 +291,16 @@ end
options = argparse()
-- Sanity check
-function check_engines()
+function check_engines(config)
if options["engine"] and not options["force"] then
- -- Make a lookup table
- local t = { }
+ -- Make a lookup table
+ local t = { }
for _, engine in pairs(checkengines) do
t[engine] = true
end
for _, engine in pairs(options["engine"]) do
if not t[engine] then
- print("\n! Error: Engine \"" .. engine .. "\" not set up for testing!")
+ print("\n! Error: Engine \"" .. engine .. "\" not set up for testing with configuration " .. config .. "!")
print("\n Valid values are:")
for _, engine in ipairs(checkengines) do
print(" - " .. engine)
diff --git a/macros/latex/contrib/l3build/l3build-check.lua b/macros/latex/contrib/l3build/l3build-check.lua
index b77a7e26cc..8c3afa4a7e 100644
--- a/macros/latex/contrib/l3build/l3build-check.lua
+++ b/macros/latex/contrib/l3build/l3build-check.lua
@@ -791,7 +791,7 @@ function runtest(name, engine, hide, ext, test_type, breakout)
.. (checksearch and os_pathsep or "")
.. os_concat ..
-- ensure epoch settings
- set_epoch_cmd(epoch, forcecheckepoch) ..
+ set_epoch_cmd(epoch, forcecheckepoch) ..
-- Ensure lines are of a known length
os_setenv .. " max_print_line=" .. maxprintline
.. os_concat ..
diff --git a/macros/latex/contrib/l3build/l3build-typesetting.lua b/macros/latex/contrib/l3build/l3build-typesetting.lua
index 7f5327b5a2..2a7dbad510 100644
--- a/macros/latex/contrib/l3build/l3build-typesetting.lua
+++ b/macros/latex/contrib/l3build/l3build-typesetting.lua
@@ -57,10 +57,11 @@ end
function dvitopdf(name, dir, engine, hide)
runcmd(
+ set_epoch_cmd(epoch, forcecheckepoch) ..
"dvips " .. name .. dviext
.. (hide and (" > " .. os_null) or "")
.. os_concat ..
- "ps2pdf " .. ps2pdfopt .. name .. psext
+ "ps2pdf " .. ps2pdfopts .. name .. psext
.. (hide and (" > " .. os_null) or ""),
dir
)
diff --git a/macros/latex/contrib/l3build/l3build-variables.lua b/macros/latex/contrib/l3build/l3build-variables.lua
index 51f927019a..ce07d1f815 100644
--- a/macros/latex/contrib/l3build/l3build-variables.lua
+++ b/macros/latex/contrib/l3build/l3build-variables.lua
@@ -193,7 +193,8 @@ if flattentds == nil then
end
maxprintline = maxprintline or 79
packtdszip = packtdszip or false
-ps2pdfopt = ps2pdfopt or ""
+-- support "ps2pdfopt" for backward compatibility, gh issue #275
+ps2pdfopts = ps2pdfopts or ps2pdfopt or ""
typesetcmds = typesetcmds or ""
typesetruns = typesetruns or 3
recordstatus = recordstatus or false
diff --git a/macros/latex/contrib/l3build/l3build.1 b/macros/latex/contrib/l3build/l3build.1
index f9738ed8d9..2044b290a6 100644
--- a/macros/latex/contrib/l3build/l3build.1
+++ b/macros/latex/contrib/l3build/l3build.1
@@ -1,4 +1,4 @@
-.TH l3build 1 "2023-02-20"
+.TH l3build 1 "2023-02-26"
.SH NAME
l3build \- Checking and building packages
.SH SYNOPSIS
diff --git a/macros/latex/contrib/l3build/l3build.dtx b/macros/latex/contrib/l3build/l3build.dtx
index 085ac1d022..6df655fb98 100644
--- a/macros/latex/contrib/l3build/l3build.dtx
+++ b/macros/latex/contrib/l3build/l3build.dtx
@@ -236,7 +236,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-20}
+% \date{Released 2023-02-26}
%
% \maketitle
% \tableofcontents
diff --git a/macros/latex/contrib/l3build/l3build.lua b/macros/latex/contrib/l3build/l3build.lua
index ff80523b17..0aead12f95 100755
--- a/macros/latex/contrib/l3build/l3build.lua
+++ b/macros/latex/contrib/l3build/l3build.lua
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2023-02-20"
+release_date = "2023-02-26"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
@@ -118,17 +118,14 @@ if options["epoch"] then
end
epoch = normalise_epoch(epoch)
--- Sanity check
-check_engines()
-
--
-- Deal with multiple configs for tests
--
-- When we have specific files to deal with, only use explicit configs
--- (or just the std one)
+-- (or just the default one)
if options["names"] then
- checkconfigs = options["config"] or {stdconfig}
+ checkconfigs = options["config"] or {"build"}
else
checkconfigs = options["config"] or checkconfigs
end
@@ -205,22 +202,28 @@ if #checkconfigs > 1 then
end
end
if #checkconfigs == 1 and
- checkconfigs[1] ~= "build" and
(options["target"] == "check" or options["target"] == "save" or options["target"] == "clean") then
- local configname = gsub(checkconfigs[1], "%.lua$", "")
- local config = "./" .. configname .. ".lua"
- if fileexists(config) then
- local savedtestfiledir = testfiledir
- dofile(config)
- testdir = testdir .. "-" .. configname
- -- Reset testsuppdir if required
- if savedtestfiledir ~= testfiledir and
- testsuppdir == savedtestfiledir .. "/support" then
- testsuppdir = testfiledir .. "/support"
- end
+ if checkconfigs[1] == "build" then
+ -- Sanity check for default config
+ check_engines("build.lua")
else
- print("Error: Cannot find configuration " .. checkconfigs[1])
- exit(1)
+ local configname = gsub(checkconfigs[1], "%.lua$", "")
+ local config = "./" .. configname .. ".lua"
+ if fileexists(config) then
+ local savedtestfiledir = testfiledir
+ dofile(config)
+ -- Sanity check for non-default config
+ check_engines(configname .. ".lua")
+ testdir = testdir .. "-" .. configname
+ -- Reset testsuppdir if required
+ if savedtestfiledir ~= testfiledir and
+ testsuppdir == savedtestfiledir .. "/support" then
+ testsuppdir = testfiledir .. "/support"
+ end
+ else
+ print("Error: Cannot find configuration " .. configname .. ".lua")
+ exit(1)
+ end
end
end
diff --git a/macros/latex/contrib/l3build/l3build.pdf b/macros/latex/contrib/l3build/l3build.pdf
index 4afb71bd9b..617ba9b69a 100644
--- a/macros/latex/contrib/l3build/l3build.pdf
+++ b/macros/latex/contrib/l3build/l3build.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/README.md b/macros/latex/contrib/resolsysteme/README.md
index d5227b9250..c2d8fdc4dd 100644
--- a/macros/latex/contrib/resolsysteme/README.md
+++ b/macros/latex/contrib/resolsysteme/README.md
@@ -1,7 +1,7 @@
ResolSysteme is a package to work with Linear Systems and matrix.
--------------------------------------------------------------------------
-ResolSysteme est un package pour travailler avec des systèmes linéaires.
--------------------------------------------------------------------------
+----------------------------------------------------------------------------------------
+ResolSysteme est un package pour travailler avec des systèmes linéaires et des matrices.
+----------------------------------------------------------------------------------------
Author : Cédric Pierquet
email : cpierquet@outlook.fr
Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
index 5b7aad26e7..317157a051 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
index a90b7486a9..b54741a518 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
@@ -3,8 +3,8 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass[french,a4paper,11pt]{article}
-\def\TPversion{0.1.4}
-\def\TPdate{12 Février 2023}
+\def\TPversion{0.1.5}
+\def\TPdate{25 Février 2023}
\usepackage[executable=python.exe]{pyluatex}
\usepackage[table,svgnames]{xcolor}
\usepackage{amsmath,amssymb}
@@ -319,9 +319,15 @@ L'idée est ici de proposer une version, adaptée à des dimensions classiques,
\part{Historique}
-\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans pyton (de taille raisonnable) + commandes pour des graphes probabilistes.
+\verb|v0.1.5|~:~~~~Inverse d'une matrice 4x4 et système 4x4 (même en normal).
-\verb|v0.1.3|~:~~~~Ajout de commandes pour du calcul matriciel (de taille raisonnable) + inversion comportement des commandes étoilées.
+\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans python (de taille raisonnable) ;
+
+\verb| |~~~~~~commandes pour des graphes probabilistes.
+
+\verb|v0.1.3|~:~~~~Ajout de commandes pour du calcul matriciel (de taille raisonnable) ;
+
+\verb| |~~~~~~inversion du comportement des commandes étoilées.
\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2x2, 3x3 ou 4x4.
@@ -655,8 +661,8 @@ est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d'une matrice :
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour la version \textsf{python}.
+ \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
+ \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour la version \textsf{python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -710,6 +716,13 @@ $A^{-1}=\MatriceInversePY[d]<cell-space-limits=2pt>(1,2 § 3,4)[Aff]$.
\end{PresentationCode}
\begin{PresentationCode}{}
+%version normale
+L'inv. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$ est
+$A^{-1}=
+\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$.
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
%version python
L'inv. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$ est
$A^{-1}=
@@ -830,8 +843,8 @@ $P_4 \approx \EtatProbPY[dec=3]
Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'un système linéaire qui s'écrit matriciellement $A\times X=B$:
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package en version \textsf{python}.
+ \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
+ \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour le package en version \textsf{python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -880,6 +893,17 @@ La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=%
\end{PresentationCode}
\begin{PresentationCode}{}
+%version normal
+La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$
+est $\mathcal{S}=%
+ \left\lbrace
+ \SolutionSysteme%
+ [dec]<cell-space-limits=2pt>%
+ (1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)(-10,0,4,7)%
+\right\rbrace$.
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
%version python
La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$
est $\mathcal{S}=%
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
index fd06438fbf..a07a5766a1 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
index 4eddcd7b49..7f92c1e701 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
@@ -2,7 +2,7 @@
% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
\documentclass[french,a4paper,10pt]{article}
-\def\RSver{0.1.4}
+\def\RSver{0.1.5}
\usepackage[margin=1.5cm]{geometry}
\usepackage[executable=python.exe]{pyluatex}
\usepackage[pyluatex]{ResolSysteme}
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
index a7ce9a2562..7189d713dc 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
index 228ca89b5b..9d785b294f 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
@@ -2,14 +2,14 @@
% !TeX TXS-program:compile = txs:///pdflatex
\documentclass[french,a4paper,10pt]{article}
-\def\RSver{0.1.4}
+\def\RSver{0.1.5}
\usepackage[margin=1.5cm]{geometry}
\usepackage{ResolSysteme}
\usepackage{systeme}
\usepackage{babel}
\usepackage[most]{tcolorbox}
\sisetup{locale=FR,output-decimal-marker={,}}
-\newtcblisting{ShowCodeTeX}[1][]{colback=white,colframe=red!75!black,listing options={style=tcblatex},#1}
+\newtcblisting{ShowCodeTeX}[1][]{colback=white,colframe=red!75!black,listing options={style=tcblatex,texcsstyle=*\color{red!70!black}},#1}
\begin{document}
@@ -81,7 +81,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN
est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Inverse d'une matrice, 2x2 ou 3x3}
+\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4}
\begin{ShowCodeTeX}
L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est
@@ -108,7 +108,12 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3\\4&5&6\\7&8&8 \end{pNiceMatrix}$ est
$A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3 § 4,5,6 § 7,8,8)$.
\end{ShowCodeTeX}
-\section*{Résolution d'un système, 2x2 ou 3x3}
+\begin{ShowCodeTeX}
+L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pNiceMatrix}$
+est $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
+\end{ShowCodeTeX}
+
+\section*{Résolution d'un système, 2x2 ou 3x3 ou 4x4}
\begin{ShowCodeTeX}
La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=%
@@ -140,6 +145,19 @@ La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=%
\left\lbrace \SolutionSysteme[d](3,1,-2 § 2,-1,1 § 1,-1,-2)(-1,4,5) \right\rbrace$.
\end{ShowCodeTeX}
+\begin{ShowCodeTeX}
+La solution de $\systeme[xyzt]{y+z+t=1,x+z+t=-1,x+y+t=1,x+y+z=0}$ est $\mathcal{S}=%
+\left\lbrace\SolutionSysteme[d](0,1,1,1 § 1,0,1,1 § 1,1,0,1 § 1,1,1,0)(1,-1,1,0)\right\rbrace$.
+\end{ShowCodeTeX}
+
+\begin{ShowCodeTeX}
+La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$ est $X=
+\SolutionSysteme
+ [dec]<cell-space-limits=2pt>
+ (1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)(-10,0,4,7)
+ [Matrice]$
+\end{ShowCodeTeX}
+
\section{État stable d'une graphe probabiliste, 2x2}
\begin{ShowCodeTeX}
diff --git a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
index dce5dfb6e5..847d00ebe7 100644
--- a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
+++ b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
@@ -2,7 +2,8 @@
% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ResolSysteme}[2023/02/12 v0.1.4 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+\ProvidesPackage{ResolSysteme}[2023/02/25 v0.1.5 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+% 0.1.5 Inverse d'une matrice en 4x4 (même en normal !) + Système 4x4 (en normal !)
% 0.1.4 Travail sur graphe probabiliste (2x2/3x3/4x4 en python, ou 2x2 en normal...) + Calculs 4x4 en normal
% 0.1.3 Produit matriciel + Puissance matricielle (2x2/3x3 carré en normal, 2x2/3x3/4x4 avec python) + Inversion comportement commandes étoilées
% 0.1.2 Ajout pour afficher une matrice, à l'aide d'une syntaxe similaire aux autres commandes
@@ -585,6 +586,94 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\readlist*\MAMATRICEA{#4}%
\def\MatDim{\MAMATRICEAlen}%
%les coeffs de A et le déterminant et les coeff de l'inverse
+ \ifnum \MAMATRICEAlen=4
+ \itemtomacro\MAMATRICEA[1,1]\MatA
+ \itemtomacro\MAMATRICEA[1,2]\MatB
+ \itemtomacro\MAMATRICEA[1,3]\MatC
+ \itemtomacro\MAMATRICEA[1,4]\MatD
+ \itemtomacro\MAMATRICEA[2,1]\MatE
+ \itemtomacro\MAMATRICEA[2,2]\MatF
+ \itemtomacro\MAMATRICEA[2,3]\MatG
+ \itemtomacro\MAMATRICEA[2,4]\MatH
+ \itemtomacro\MAMATRICEA[3,1]\MatI
+ \itemtomacro\MAMATRICEA[3,2]\MatJ
+ \itemtomacro\MAMATRICEA[3,3]\MatK
+ \itemtomacro\MAMATRICEA[3,4]\MatL
+ \itemtomacro\MAMATRICEA[4,1]\MatM
+ \itemtomacro\MAMATRICEA[4,2]\MatN
+ \itemtomacro\MAMATRICEA[4,3]\MatO
+ \itemtomacro\MAMATRICEA[4,4]\MatP
+ %le déterminant
+ \def\DETMATRICE{\xinteval{\MatA*\MatF*\MatK*\MatP-\MatA*\MatF*\MatL*\MatO-\MatA*\MatG*\MatJ*\MatP+\MatA*\MatG*\MatL*\MatN+\MatA*\MatH*\MatJ*\MatO-\MatA*\MatH*\MatK*\MatN-\MatB*\MatE*\MatK*\MatP+\MatB*\MatE*\MatL*\MatO+\MatB*\MatG*\MatI*\MatP-\MatB*\MatG*\MatL*\MatM-\MatB*\MatH*\MatI*\MatO+\MatB*\MatH*\MatK*\MatM+\MatC*\MatE*\MatJ*\MatP-\MatC*\MatE*\MatL*\MatN-\MatC*\MatF*\MatI*\MatP+\MatC*\MatF*\MatL*\MatM+\MatC*\MatH*\MatI*\MatN-\MatC*\MatH*\MatJ*\MatM-\MatD*\MatE*\MatJ*\MatO+\MatD*\MatE*\MatK*\MatN+\MatD*\MatF*\MatI*\MatO-\MatD*\MatF*\MatK*\MatM-\MatD*\MatG*\MatI*\MatN+\MatD*\MatG*\MatJ*\MatM}}%
+ %matrice inverse, si elle existe...
+ \xintifboolexpr{\DETMATRICE == 0}%
+ {\text{Matrice non inversible}}%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}}%
+ \def\MatInvE{\ConvVersFrac*[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}}%
+ \def\MatInvF{\ConvVersFrac*[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}}%
+ \def\MatInvG{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}}%
+ \def\MatInvH{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}}%
+ \def\MatInvI{\ConvVersFrac*[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}}%
+ \def\MatInvJ{\ConvVersFrac*[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}}%
+ \def\MatInvK{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}}%
+ \def\MatInvL{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}}%
+ \def\MatInvM{\ConvVersFrac*[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}}%
+ \def\MatInvN{\ConvVersFrac*[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}}%
+ \def\MatInvO{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}}%
+ \def\MatInvP{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}}%
+ }%
+ {%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}}%
+ \def\MatInvE{\ConvVersFrac[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}}%
+ \def\MatInvF{\ConvVersFrac[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}}%
+ \def\MatInvG{\ConvVersFrac[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}}%
+ \def\MatInvH{\ConvVersFrac[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}}%
+ \def\MatInvI{\ConvVersFrac[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}}%
+ \def\MatInvJ{\ConvVersFrac[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}}%
+ \def\MatInvK{\ConvVersFrac[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}}%
+ \def\MatInvL{\ConvVersFrac[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}}%
+ \def\MatInvM{\ConvVersFrac[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}}%
+ \def\MatInvN{\ConvVersFrac[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}}%
+ \def\MatInvO{\ConvVersFrac[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}}%
+ \def\MatInvP{\ConvVersFrac[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}}%
+ }%
+ \IfStrEq{#5}{Aff}%si matrice
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ {\begin{pNiceMatrix}[#3]
+ \ConvVersFrac*[#2]{\MatA} & \ConvVersFrac*[#2]{\MatB} & \ConvVersFrac*[#2]{\MatC} & \ConvVersFrac*[#2]{\MatD} \\
+ \ConvVersFrac*[#2]{\MatE} & \ConvVersFrac*[#2]{\MatF} & \ConvVersFrac*[#2]{\MatG} & \ConvVersFrac*[#2]{\MatH} \\
+ \ConvVersFrac*[#2]{\MatI} & \ConvVersFrac*[#2]{\MatJ} & \ConvVersFrac*[#2]{\MatK} & \ConvVersFrac*[#2]{\MatL} \\
+ \ConvVersFrac*[#2]{\MatM} & \ConvVersFrac*[#2]{\MatN} & \ConvVersFrac*[#2]{\MatO} & \ConvVersFrac*[#2]{\MatP}
+ \end{pNiceMatrix}}^{-1}=
+ }%
+ {%
+ {\begin{pNiceMatrix}[#3]
+ \ConvVersFrac[#2]{\MatA} & \ConvVersFrac[#2]{\MatB} & \ConvVersFrac[#2]{\MatC} & \ConvVersFrac[#2]{\MatD} \\
+ \ConvVersFrac[#2]{\MatE} & \ConvVersFrac[#2]{\MatF} & \ConvVersFrac[#2]{\MatG} & \ConvVersFrac[#2]{\MatH} \\
+ \ConvVersFrac[#2]{\MatI} & \ConvVersFrac[#2]{\MatJ} & \ConvVersFrac[#2]{\MatK} & \ConvVersFrac[#2]{\MatL} \\
+ \ConvVersFrac[#2]{\MatM} & \ConvVersFrac[#2]{\MatN} & \ConvVersFrac[#2]{\MatO} & \ConvVersFrac[#2]{\MatP}
+ \end{pNiceMatrix}}^{-1}=
+ }%
+ }{}%
+ \begin{pNiceMatrix}[#3]
+ {\MatInvA}&{\MatInvB}&{\MatInvC}&{\MatInvD}\\
+ {\MatInvE}&{\MatInvF}&{\MatInvG}&{\MatInvH}\\
+ {\MatInvI}&{\MatInvJ}&{\MatInvK}&{\MatInvL}\\
+ {\MatInvM}&{\MatInvN}&{\MatInvO}&{\MatInvP}
+ \end{pNiceMatrix}%
+ }%
+ \fi
\ifnum \MAMATRICEAlen=3
\itemtomacro\MAMATRICEA[1,1]\MatA
\itemtomacro\MAMATRICEA[1,2]\MatB
@@ -771,6 +860,78 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\readlist*\MAMATRICEB{#5}%
\def\MatDim{\MAMATRICEAlen}%
%les coeffs de A et le déterminant et les coeff de l'inverse
+ \ifnum \MAMATRICEAlen=4
+ \itemtomacro\MAMATRICEA[1,1]\MatA
+ \itemtomacro\MAMATRICEA[1,2]\MatB
+ \itemtomacro\MAMATRICEA[1,3]\MatC
+ \itemtomacro\MAMATRICEA[1,4]\MatD
+ \itemtomacro\MAMATRICEA[2,1]\MatE
+ \itemtomacro\MAMATRICEA[2,2]\MatF
+ \itemtomacro\MAMATRICEA[2,3]\MatG
+ \itemtomacro\MAMATRICEA[2,4]\MatH
+ \itemtomacro\MAMATRICEA[3,1]\MatI
+ \itemtomacro\MAMATRICEA[3,2]\MatJ
+ \itemtomacro\MAMATRICEA[3,3]\MatK
+ \itemtomacro\MAMATRICEA[3,4]\MatL
+ \itemtomacro\MAMATRICEA[4,1]\MatM
+ \itemtomacro\MAMATRICEA[4,2]\MatN
+ \itemtomacro\MAMATRICEA[4,3]\MatO
+ \itemtomacro\MAMATRICEA[4,4]\MatP
+ %le déterminant
+ \def\DETMATRICE{\xinteval{\MatA*\MatF*\MatK*\MatP-\MatA*\MatF*\MatL*\MatO-\MatA*\MatG*\MatJ*\MatP+\MatA*\MatG*\MatL*\MatN+\MatA*\MatH*\MatJ*\MatO-\MatA*\MatH*\MatK*\MatN-\MatB*\MatE*\MatK*\MatP+\MatB*\MatE*\MatL*\MatO+\MatB*\MatG*\MatI*\MatP-\MatB*\MatG*\MatL*\MatM-\MatB*\MatH*\MatI*\MatO+\MatB*\MatH*\MatK*\MatM+\MatC*\MatE*\MatJ*\MatP-\MatC*\MatE*\MatL*\MatN-\MatC*\MatF*\MatI*\MatP+\MatC*\MatF*\MatL*\MatM+\MatC*\MatH*\MatI*\MatN-\MatC*\MatH*\MatJ*\MatM-\MatD*\MatE*\MatJ*\MatO+\MatD*\MatE*\MatK*\MatN+\MatD*\MatF*\MatI*\MatO-\MatD*\MatF*\MatK*\MatM-\MatD*\MatG*\MatI*\MatN+\MatD*\MatG*\MatJ*\MatM}}%
+ %les coeffs de B
+ \itemtomacro\MAMATRICEB[1]\MatBA
+ \itemtomacro\MAMATRICEB[2]\MatBB
+ \itemtomacro\MAMATRICEB[3]\MatBC
+ \itemtomacro\MAMATRICEB[4]\MatBD
+ %matrice inverse, si elle existe...
+ \xintifboolexpr{\DETMATRICE == 0}%
+ {\text{Matrice non inversible}}%
+ {%
+ \def\MatInvA{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}%
+ \def\MatInvB{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}%
+ \def\MatInvC{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}%
+ \def\MatInvD{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}%
+ \def\MatInvE{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}%
+ \def\MatInvF{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}%
+ \def\MatInvG{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}%
+ \def\MatInvH{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}%
+ \def\MatInvI{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvJ{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}%
+ \def\MatInvK{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}%
+ \def\MatInvL{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}%
+ \def\MatInvM{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}%
+ \def\MatInvN{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvO{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}%
+ \def\MatInvP{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}%
+ %
+ \IfBooleanTF{#1}%version étoilée := moinsdevant
+ {%
+ \def\MatResA{\ConvVersFrac*[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB+\MatInvC*\MatBC+\MatInvD*\MatBD}}%
+ \def\MatResB{\ConvVersFrac*[#2]{\MatInvE*\MatBA+\MatInvF*\MatBB+\MatInvG*\MatBC+\MatInvH*\MatBD}}%
+ \def\MatResC{\ConvVersFrac*[#2]{\MatInvI*\MatBA+\MatInvJ*\MatBB+\MatInvK*\MatBC+\MatInvL*\MatBD}}%
+ \def\MatResD{\ConvVersFrac*[#2]{\MatInvM*\MatBA+\MatInvN*\MatBB+\MatInvO*\MatBC+\MatInvP*\MatBD}}%
+ }%
+ {%
+ \def\MatResA{\ConvVersFrac[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB+\MatInvC*\MatBC+\MatInvD*\MatBD}}%
+ \def\MatResB{\ConvVersFrac[#2]{\MatInvE*\MatBA+\MatInvF*\MatBB+\MatInvG*\MatBC+\MatInvH*\MatBD}}%
+ \def\MatResC{\ConvVersFrac[#2]{\MatInvI*\MatBA+\MatInvJ*\MatBB+\MatInvK*\MatBC+\MatInvL*\MatBD}}%
+ \def\MatResD{\ConvVersFrac[#2]{\MatInvM*\MatBA+\MatInvN*\MatBB+\MatInvO*\MatBC+\MatInvP*\MatBD}}%
+ }%
+ \IfStrEq{#6}{Matrice}%si matrice
+ {%
+ \begin{pNiceMatrix}[#3]
+ {\MatResA} \\
+ {\MatResB} \\
+ {\MatResC} \\
+ {\MatResD}
+ \end{pNiceMatrix}%
+ }%
+ {%
+ \left( {\MatResA} ; {\MatResB} ; {\MatResC} ; {\MatResD} \right)%
+ }%
+ }%
+ \fi
\ifnum \MAMATRICEAlen=3
\itemtomacro\MAMATRICEA[1,1]\MatA
\itemtomacro\MAMATRICEA[1,2]\MatB
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 4a734b08d1..78ef708e33 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,11 @@
+2023-02-25 Michal Hoftich <michal.h21@gmail.com>
+ * tex4ht-4ht.tex (amsart.4ht.4ht, amsbook.4ht, amsproc.4ht,
+ article.4ht, book.4ht, mwart.4ht, mwbk.4ht, mwrep.4ht,
+ report.4ht, scrbook.4ht, scrreprt.4ht): print table of contents when
+ \tableofcontents command is used and the document is split to
+ subpages.
+ https://tex.stackexchange.com/a/676531/2891
+
2023-02-22 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-mathjax.tex (mathjax-latex-4ht.4ht): don't restore the
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index e308f92ae2..57e5e215b9 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1298 2023-02-19 13:05:01Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1300 2023-02-25 21:15:50Z michal_h21 $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2023 TeX Users Group
@@ -15780,7 +15780,7 @@ any of the options is on.
\let\au:StartSec|=\:StartSec
\def\:StartSec{\:tableofcontents
\global\let\auto:toc|=\:UnDef \global\let\:StartSec\au:StartSec\:StartSec}%
- \pend:def\tableofcontents{\gdef\:StartSec{\au:StartSec}}%
+ \append:def\tableofcontents{\gdef\:StartSec{\au:StartSec}}%
\fi \fi
}
>>>
diff --git a/systems/doc/aleph/ChangeLog b/systems/doc/aleph/ChangeLog
new file mode 100644
index 0000000000..0d97ac202d
--- /dev/null
+++ b/systems/doc/aleph/ChangeLog
@@ -0,0 +1,341 @@
+2023-02-21 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * latespecial.ch: reduce memory usage, a la HH/luatex.
+
+2023-02-15 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * latespecial.ch: new change file for "\special shipout".
+ * am/aleph.am (aleph_web_srcs): add latespecial.ch.
+
+2022-10-22 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+
+ * com16bit.ch: Sync with tex.ch changes:
+ - 2022-07-16 r63916 to disallow \noexpand\endwrite.
+ - 2021-07-22 r60013 explicit fmt loading error.
+ - 2022-09-28 r64547 protect against recursive --halt-on-error.
+ * comsrcspec.ch: Sync with tex.ch changes:
+ - 2022-09-28 r64547 protect against recursive --halt-on-error.
+
+2022-03-21 Karl Berry <karl@tug.org>
+
+ * TL'22 release.
+
+2022-01-10 Karl Berry <karl@freefriends.org>
+
+ * am/aleph.am: do not silence tangle-sh.
+
+2021-07-19 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+
+ * com16bit.ch: Sync with tex.ch to initialize limit.
+ https://tug.org/pipermail/tex-k/2021-July/003630.html
+
+2021-05-08 Akira Kakuto <kakuto@w32tex.org>
+
+ * com16bit.ch: Sync sup_param_size and sup_save_size with tex.ch.
+
+2021-03-23 Karl Berry <karl@tug.org>
+
+ * TL'21.
+
+2020-07-07 Akira Kakuto <kakuto@w32tex.org>
+
+ * com16bit.ch: Sync with tex.ch (avoid seg fault in unusual
+ interaction sequence).
+
+2020-02-10 Akira Kakuto <kakuto@w32tex.org>
+
+ * com16bit.ch: Sync with tex.ch for changes by Phelype Oleinik
+ to support \input {...}.
+
+2019-12-18 Akira Kakuto <kakuto@w32tex.org>
+
+ * com16bit.ch: Sync with tex.ch for out_what [1374].
+
+2019-08-10 Akira Kakuto <kakuto@w32tex.org>
+
+ * com16bit.ch: Sync with tex.ch for texmf_yesno('log_openout').
+
+2018-03-24 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+
+ * ceostuff.ch: Recover the right \lastnodetype initialization
+ value ignored by tex.ch.
+
+2017-12-25 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+
+ * omtrans.ch (omega_print): expand \newlinechar for terminal and
+ log output. (Without this, LaTeX error messages contain ^^J.)
+
+2017-12-13 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+
+ * om16bit.ch: \show\odelimiter should be \odelimiter, etc.
+ This is a backport from eptexdir/fam256.ch.
+
+2017-01-28 Karl Berry <karl@freefriends.org>
+
+ * com16bit.ch (texarray): don't mention pool files in error message.
+
+2015-07-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Dependencies for 'make check'.
+
+2015-06-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Use $(tie_c) and $(tie_m).
+
+2015-04-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * alephbis.c: Declare {in,out}_file_fd only when used (!WIN32).
+
+2015-01-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch: Drop intcast().
+
+2014-12-15 Karl Berry <karl@tug.org>
+
+ * alephbis.c (runexternalocp): quote arguments to system()
+ and check string values. Untested, sorry to say.
+
+2014-07-21 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * com16bit.ch: Add a function get_nullstr.
+
+2014-01-20 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ TeX tuneup of 2014.
+ * com16bit.ch, eobase.ch, eoext.ch, eover.ch, omstr.ch,
+ om16bit.ch: Adapt to TeX Version 3.14159265.
+
+2014-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch, comsrcspec.ch: Write dump_name to the terminal.
+
+2014-01-13 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch.ch: Restore the word `preloaded' for
+ format_idents (as in ../tex.ch).
+
+2013-06-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * alephbis.c: Include "alephd.h" before system headers.
+
+2013-04-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * alephextra.h, eover.ch: 0.0-rc4 ---> 0.1 for TL 2013.
+
+2012-12-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Enable silent rules.
+
+2012-12-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * om16bit.ch: fix a delcode bug.
+
+2012-11-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Define al_tangle and use it instead of o_tangle.
+
+2012-10-05 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * aleph.c ({allocate,undump}{font,ocp}table): Correctly specify
+ the new size for xrealloc(). Remove useless casts.
+ ({allocate,{un,}dump}fontsorttable): Drop unused functions.
+ * omocp.ch: Fix the logic of read_ocp_info().
+ Check for ocp table overflow.
+ Avoid segmentation fault (uninitialized use of 'f').
+
+2012-07-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * alephextra.c: Must #define DLLPROC before reading alephd.h.
+
+2012-06-30 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * alephextra.c [W32TeX]: #define DLLPROC for aleph.dll.
+
+2012-06-28 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * om16bit.ch: Aleph uses 256 math font families.
+
+2012-04-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * eobase.ch: Fixed a typo in TeX text (for e-TeX).
+
+2012-02-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch: Remove test for end-of-file after undump.
+
+2012-02-01 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch: Ensure dvi file size < 2GB.
+
+2011-12-13 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch, om16bit.ch: Consistency of `constants':
+ Aleph requires min_halfword==0.
+
+2011-12-08 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch, om16bit.ch: Consistency of `constants'.
+ * omocp.ch: Adjust to null, i.e., min_halfword <0.
+
+ * aleph.test (new): Just testing 'aleph -version'.
+ * Makefile (removed): Unused.
+ * am/aleph.am: Adjusted.
+
+2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch.ch (print_file_line): Bug fix: avoid uninitialized
+ lineno - from ../tex.ch.
+ * eobase.ch: Slightly reformulate printing of current line -
+ from ../etexdir/etex.ch.
+
+2011-09-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * alephbis.c (runexternalocp): Declare tempenv as const.
+
+2011-04-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Avoid 'differ in signedness' warnings.
+ * com16bit.ch: Cast runsystem() arg to string.
+
+2011-03-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Use AM_CFLAGS instead of aleph_CFLAGS.
+
+2011-03-23 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ eobase.ch: Remove unused (commented) e-TeX changes.
+
+2011-03-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * aleph-pool.h, eomega.ech, etex.ch, omega.ch[012], omxml.ch
+ (removed): Obsolete.
+ * am/aleph.am (EXTRA_DIST): Adapt.
+
+2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * eobase.ch: Adapt to ../etexdir/etex.ch:
+ Mention \protected in error and help messages only when in
+ in extended mode.
+
+2011-01-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * aleph.mk (removed): Obsolete.
+
+2011-01-01 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * alephextra.c (new): #include <alephd.h> and <lib/texmfmp.c>.
+
+ * am/aleph.am: alephextra.c is now distributed.
+
+2010-12-31 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am (alephextra.c): Uniform dependencies and rules.
+
+2010-05-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * aleph.c (new_input_line): Cast integer to long for printing
+ to avoid warning on 64Bit systems.
+
+2010-05-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * eobase.ch: Adapt to ../etexdir/etex.ch:
+ More error message with \protected, from Heiko.
+
+2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * eobase.ch: Adapt to ../etexdir/etex.ch:
+ Fixed the error message for improper use of \protected,
+ reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>.
+
+2010-01-03 Karl Berry <karl@tug.org>
+
+ * com16bit.ch: propagate "executed safely" wording change.
+
+2009-11-27 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch (read_font_info): Better wording of error message.
+
+2009-11-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch (read_font_info): Check font name length to avoid
+ broken .dvi files.
+
+2009-11-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch: Check for allowed filename before opening the
+ output file. Better diagnostic when input file not found.
+ From Akira Kakuto <kakuto@fuk.kindai.ac.jp>.
+
+2009-10-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch: Use kpse_{in,out}_name_ok(), now in Kpathsea,
+ instead of open_{in,out}_name_ok().
+
+2009-10-07 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Enable compiler warnings.
+
+ Avoid many (--enable-...=max) compiler warnings.
+ * aleph.c (getc_two_LE, ungetc_two_LE): Declare as static.
+ (createeqtbptr): Comment out unused function.
+ (zpnewinputln, ziniteqtbentry): Drop extern decls; instead use
+ pnewinputln and initeqtbentry as defined in alephcoerce.h.
+ * alephbis.c (runexternalocp): Declare in_file_fd, out_file_fd
+ only when used (HAVE_MKSTEMP).
+ * alephmem.h: ANSI C function prototypes.
+ * com16bit.ch (bound_name, months): Declare as const_cstring.
+ (get_strings_started, open_log_file): Drop unused variables.
+ * eo16bit.ch (show_sa): Drop unused variable.
+ * eomem.ch (box_end): Drop unused variable.
+ * om16bit.ch (set_math_char): Drop unused variables.
+
+2009-09-06 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Adapt to new makecpool with one argument,
+ obsoleting aleph-pool.h.
+
+2009-08-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am: Adapt to tangle-sh and web2c-sh.
+
+2009-08-13 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/aleph.am (aleph_c_h): avoid to split the C code.
+
+2009-06-23 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * aleph.c, alephbis.c: drop P?C, P?H, use ANSI C function
+ declarations.
+
+2009-02-26 Karl Berry <karl@tug.org>
+
+ * alephextra-rc2.h (BANNER, COPYRIGHT_HOLDER, BUG_ADDRESS):
+ make consistent.
+ * eocprt.ch: do not announce copyright on the terminal,
+ but do include full copyright notices in the .log.
+ * com16bit-rc2.ch (banner_k): just make equivalent to banner,
+ since Web2C announces itself.
+
+ * comsrcspec.ch, com16bit-rc2.ch:
+ Use runsystem() instead of system(), etc. See tex.ch entry in
+ ../ChangeLog
+
+2008-03-23 Karl Berry <karl@freefriends.org>
+
+ * Update to TeX 3.1415926; compile in pool files.
+ From Akira.
+
+2006-05-25 Roozbeh Pournader <roozbeh@farsiweb.info>
+
+ * omfilter.ch: fixed a bug in OCP processing, increased
+ active_mem_size from 2000 to 50000.
+
+ * alephbis.c: updated from ../omegadir/omegabis.c: optimized UTF-8
+ read/write code, fixed a macro, closed files and freed memory to
+ avoid a leak.
+
+ * omfilter.ch, eover-rc2.ch: made 'weave'-able.
+
+ * alephbis.c, aleph.c, aleph.defines, alephextra.h,
+ alephextra-rc1.h, alephextra-rc2.h, alephmem.h: fixed copyright
+ lines.
diff --git a/systems/doc/dvipdfmx/README b/systems/doc/dvipdfmx/README
index 2ab97e311a..eb0a0d32b7 100644
--- a/systems/doc/dvipdfmx/README
+++ b/systems/doc/dvipdfmx/README
@@ -1,11 +1,26 @@
+$Id: README 63453 2022-05-31 15:40:57Z karl $
dvipdfmx and xdvipdfmx for TeX Live
===================================
+dvipdfmx is a DVI-to-PDF translator. It requires the Kpathsea library
+for patch searching.
+
+This package is released under the GNU GPL, version 2, or (at your
+option) any later version.
+
+Mailing list for bug reports and all discussion:
+https://lists.tug.org/dvipdfmx; anyone can join the list, but it is not
+necessary to join to post. Archives are public.
+
+dvipdfmx is now maintained as part of TeX Live, https://tug.org/texlive.
+Info on building only one program from TL, like this one:
+ https://tug.org/texinfohtml/tlbuild.html#Build-one-package
+TeX Live general build info:
+ https://tug.org/texlive/build.html
xdvipdfmx
=========
-
xdvipdfmx is an extended version of dvipdfmx, and is now incorporated in
-the same sources.
+the same sources. In the installation, dvipdfmx is a symlink to xdvipdfmx.
The extensions provided by xdvipdfmx provide support for the Extended DVI
(.xdv) format used by xetex, including support for platform-native fonts
@@ -15,8 +30,6 @@ Like its direct ancestor dvipdfmx, this is free software and may be
redistributed under the terms of the GNU General Public License,
version 2 or (at your option) any later version.
-There is a hope to merge xdvipdfmx into dvipdfmx.
-
Jonathan Kew mentions that in the past, XeTeX used a Mac-specific
program xdv2pdf as the backend instead of xdvipdfmx. xdv2pdf supported
a couple of special effects that are not yet available through
@@ -26,71 +39,6 @@ things. It would be nice for those things to continue to be supported,
if anyone is looking for some nontrivial but not-impossible job and
happens across this file.
-The dvipdfmx Project
-====================
-
-Copyright (C) 2002-2014 by Jin-Hwan Cho, Shunsaku Hirata,
-Matthias Franz, and the dvipdfmx project team. This package is released
-under the GNU GPL, version 2, or (at your option) any later version.
-
-dvipdfmx is now maintained as part of TeX Live.
-
-Contents
---------
-
-1. Introduction
-
-2. Installation
-
- 2.1. Compiling and Installation
-
- 2.2. TeX Directory Structure (TDS)
-
- 2.3. Auxiliary Files
-
-3. CJK Support
-
- 3.1. Quick Test of Installation
-
- 3.2. CJK-LaTeX and HLaTeX
-
- 3.3. Omega and Other Extended TeX
-
- 3.4. Vertical Typesetting
-
-4. Unicode Support
-
- 4.1. Unicode Support in General
-
- 4.2. ToUnicode CMap Support
-
- 4.3. OpenType Support and Unicode
-
- 4.4. Type1 Font Support and Unicode
-
-5. Graphics and Image Format
-
- 5.1. Supported Graphics File Format
-
- 5.2. Graphics Extension
-
- 5.3. Using External Programs for Format Conversion
-
-6. DVI Specials
-
- 6.1. Compatibility
-
- 6.2. Additions to Dvipdfm's pdf: Special
-
-7. Font Mapping
-
-8. Incompatible Changes From Dvipdfm
-
-9. Other Improvement Over Dvipdfm
-
-10. Font Licensing and Embedding
-
-
1. Introduction
------------
@@ -106,405 +54,53 @@ Contents
Hirata and its modified one, dvipdfm-kor, by Jin-Hwan Cho.
-2. Installation
- -----------------------
-
- Typical usage and installation steps are not different from the original dvipdfm.
- Please refer documents from dvipdfm distribution for detailed instruction on how
- to install and how to use dvipdfm.
-
-
-2.1. Compiling and Installation
-
-
- If you have obtained older version, please use latest version unless you have a
- clear reason to choose older versions. The latest snapshot of dvipdfmx source is
- available at:
-
- http://project.ktug.or.kr/dvipdfmx/snapshot/
-
- And the CVS repository for this project can be obtained through anonymous CVS
- access with the following command:
-
- cvs -d:pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot login
- cvs -d:pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot co dvipdfmx
-
- When prompted for a password, simply press the Enter key.
-
-
- The kpathsea library is required to compile and install dvipdfmx in UNIX or
- UNIX-like platforms. It is usually included for most of TeX distributions.
- If you already have installed dvipdfm (the original) by yourself, you should
- already have kpathsea library and it's headers. And zlib library is highly
- recommended as dvipdfmx can't compress data without this.
-
-
- Before starting things, you must check the location of your TeX installation.
- If other TeX related programs are installed under, e.g., '/usr/local/TeX/bin',
- you should specify directory '/usr/local/TeX' as an for ./configure script as
-
- ./configure --prefix=/usr/local/TeX --with-kpathsea=/usr/local/TeX
-
- If you are using libpaper to handle paper sizes for various program, you can
- use --with-paper option to ./configure. The location of libpaper library can
- be specified with this option as
-
- --with-paper=DIR
-
- Please note thath dvipdfmx uses JIS paper size for B-series paper instead of
- ISO's one for historical reason. (too late to change the default behavior)
- The most easiest way to fix this is to use libpaper if you already have that,
- otherwise define ISO_PAPERSIZE macro at compilation time.
-
- Dvipdfmx requires libpng library available from
-
- http://www.libpng.org/pub/png/libpng.html
-
- to read PNG format images. To tell dvipdfmx the location of libpng header
- and library, use configure option
-
- --with-png=DIR
-
- After you have finished ./configure, just type
-
- make && make install
-
- then dvipdfmx will be installed under the directory specified by the --prefix
- option to ./configure script. After you have successfully installed dvipdfmx,
- you may need to install various auxiliary files and slightly adjust location
- of files or configuration. Amount of additional files and modification depends
- on your environment, and briefly described in the sections follows.
-
-
-2.2. TeX Directory Structure (TDS)
-
-
- If your TeX installation is conforming with TDS version 1.1 described in
-
- http://www.tug.org/ftp/tex/tds-1.1/
-
- , then you'll need to adjust your dvipdfmx installtion. This also applies when
- you have updated programs without modifying existing platform independent files
- (files in texmf directory). Dvipdfmx installs few files in addition to dvipdfmx
- program itself, dvipdfmx.cnf, cid-x.map and others, but it currently does not
- choose installation directory as appropriate for TDS 1.1.
-
- If your 'kpsewhich' program recognizes '.sfd' file format, i.e.,
-
- kpsewhich --show-path --format=.sfd
-
- does not answer as 'unknown format', then you should move several files under
- appropriate locations or should modify texmf.cnf as follows:
-
- * Subfont Definition (SFD) Files
-
- Recommended location of SFD files (.sfd) is
-
- $TEXMF/fonts/sfd/
-
- and environmental variable for specifying additional search path for this
- file format files is
-
- SFDFONTS
-
- . To make those files visible to dvipdfmx under TDS 1.1 installation, you
- must move all .sfd files to the directory mentioned above or set SFDFONTS
- variable in texmf.cnf. As some programs may not be updated to follow this
- convention yet, it is recommended to preserve old installation directory.
- If you have .sfd files under "$TEXMF/dvipdfm/", please do not use that,
- please move all files to the directory mentioned above.
-
- * PostScript CMap Resources
-
- Recommended location of CMap files (no suffix or with suffix .cmap) is
-
- $TEXMF/fonts/cmap/
-
- and environmental variable for adding extra search path for this format files
- is
-
- CMAPFONTS
-
- You may want to set CMAPFONTS to include GhostScript's Resource path, e.g.,
-
- /usr/share/ghostscript/Resource/CMap//
-
- in your texmf.cnf file as this resource can be used by various programs that
- manipulates PS/PDF files. Dvipdfmx installs few additional files into the
- directory "$TEXMF/dvipdfm/CMap", please move this files to the directory for
- CMap files. But please note that file "Adobe-Identity-UCS2" is not meaningful
- to other programs at all, so you should place at least this file in different
- location than CMap files. (Or you can just remove this unless you see problems
- in copy-and-pasting text from dvipdfmx output PDF.)
-
- * Font Mapping Files
-
- Suggested place for dvipdfm's font mapping files (.map) is
-
- $TEXMF/fonts/map/dvipdfm/
-
- and environmental variable for this format files is
-
- TEXFONTMAPS
-
- For files containing dvipdfmx extension to dvipdfm format, place them into
-
- $TEXMF/fonts/map/dvipdfmx/
-
- instead of sub-directory 'dvipdfm'.
-
- * OpenType Fonts
-
- Appropriate place for OpenType font with PostScript outline (.otf) is
-
- $TEXMF/fonts/opentype/supplier/typeface/
-
- where 'supplier' and 'typeface' should be replaced with font's supplier and
- typeface identifier strings.
-
-
-2.3. Auxiliary Files
-
-
- 1) CMap PostScript Resources
-
- Dvipdfmx internally identifies glyphs in a font with identifier represented
- as numbers ranging from 0 to 65535. CMap PostScript Resources defines how the
- input character codes are translated to those ID's (CID). CID's should be
- uniquely assigned to every glyphs contained in a collection of glyphs. Adobe
- has defined several "character collection"s; Adobe-GB1 (Simplified Chinese),
- Adobe-CNS1 (Traditional Chinese), Adobe-Japan1 (Japanese), and Adobe-Korea1
- (Korean), which contains much of glyphs necessary for publishing for each
- languages. Details on Adobe's character collections can be found at Adobe's
- developer site:
-
- http://partners.adobe.com/public/developer/font/index.html
-
- Please install CMap resource files under the directory
-
- ${TEXMF}/fonts/cmap
-
- , or set CMAPFONTS variable to point the directory containing CMap resource
- in texmf.cnf. If your TeX installation does not conforming TDS 1.1, then you
- should set CMAPINPUTS variable to make those files visible to dvipdfmx. For
- examples,
-
- CMAPINPUTS= .;$TEXMF/fonts/cmap//
-
- Adobe's "CMaps for PDF 1.4 CJK Fonts" are available from:
-
- http://partners.adobe.com/public/developer/acrobat/index_advanced.html
-
- or
-
- ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/
-
- You can find a short explanation of each CMap files in cid2code.txt contained
- in the archive files found at the above FTP site.
-
-
- 2) SubFont Definition Files
-
- .....
-
-
- 3) Adobe Glyph List and ToUnicode Mapping Files
-
- The Adobe glyph list (AGL) file describes correspondence between PostScript
- glyph names (e.g., AE, Aacute, ...) and it's Unicode character sequences.
- Most features described in the section "Unicode Support" requires this file.
-
- Dvipdfmx looks for file "glyphlist.txt" when conversion from PostScript glyph
- names to Unicode is necessary. This conversion is done in various situations;
- when creating ToUnicode CMap for 8bit encoded fonts, finding glyph description
- from TrueType/OpenType fonts supporting Unicode when the font itself does not
- provide the mapping from PostScript glyph names to glyph indices (version 2.0
- "post" table), and when encoding "unicode" is specified for Type 1 font.
-
- The "glyphlist.txt" file written by Adobe is found at
-
- http://partners.adobe.com/asn/tech/type/glyphlist.txt
-
- You should place file "glyphlist.txt" in a directory shown by
-
- kpsewhich --progname=dvipdfm --show-path="other text files"
-
- Please check kpathsea library can find this file by 'kpsewhich' command:
-
- kpsewhich --progname=dvipdfm --format="other text files" glyphlist.txt
-
- The 'progname' is not dvipdfmx but dvipdfm here.
-
- ToUnicode mapping is similar to glyph list file but describes correspondence
- between CID numbers and Unicode values. The content of this file look like a
- CMap files and is contained in "CMaps for PDF 1.4 CJK Fonts" from Adobe (see
- "CMap PostScript Resources" above). This file is required to support TrueType
- font (including OpenType fonts with TrueType outline). Those files should be
- installed same directory as ordinary CMap files.
-
-
-3. CJK Support
-
-3.1. Quick Test of Installation
-
-3.2. CJK-LaTeX and HLaTeX
-
-3.3. Omega and Other Extended TeX
-
-
-4. Unicode Support
-
-4.1. Unicode Support in General
-
-4.2. ToUnicode CMap Support
-
-4.3. OpenType Support and Unicode
-
-4.4. Type1 Font Support and Unicode
-
-
-5. Graphics and Image Format
-
-5.1. Supported Graphics File Format
-
-5.2. Graphics Extension
-
-5.3. Using External Programs for Format Conversion
-
-
-6. DVI Specials
-
-6.1. Compatibility
-
-6.2. Additions to Dvipdfm's pdf: Special
-
-
-7. Font Mapping
-
-
-7.1. Options for CJK Font
-
- Few options are available in dvipdfmx (for CID-keyed fonts) in addition
- to the original dvipdfm.
-
-
- 1) TTC Index
-
- You can specify TrueType Collection index number with :n: option in front
- of TrueType font name.
-
- min10 H :1:mincho
-
- In this example, the option :1: tells dvipdfmx to select TrueType font #1
- from TrueType collection font "mincho.ttc".
-
-
- 2) No-embed Switch
-
- It is possible to block embedding glyph data with the character `!'
- in front of the font name in the font mapping file.
-
- This feature reduces the size of the final PDF output, but the PDF file
- may not be viewed exactly in other systems on which appropriate fonts
- are not installed.
-
- Use of this option is not recommended for fonts that contains unusual
- characters (and characters having different width from default value).
- Please note that glyph metric information is not written in the output
- PDF file for TrueType fonts without embedding. It will be treated as
- fixed-pitch with all widths equal to the default value (will be fixed
- someday).
-
-
- 3) Stylistic Variants
-
- Keywords ",Bold", ",Italic", and ",BoldItalic" can be used to create
- synthetic bold, italic, and bolditalic style variants from other font
- using PDF viewer's (or OS's) function.
-
- jbtmo@UKS@ UniKSCms-UCS2-H :0:!batang,Italic
- jbtb@Unicode@ Identity-H !batang/UCS,Bold
-
- Availability of this feature highly depends on the implementation of PDF
- viewers. This feature is not supported for embedded fonts in the most of
- PDF viewers, like Adobe Acrobat Reader and GNU Ghostscript.
-
- Notice that this option automatically disable font embedding.
-
-
-
-8. Incompatible Changes From Dvipdfm
-
-
-
-9. Other Improvement Over Dvipdfm
-
-
-9.1. Encryption
-
-
-9.2. Font
-
-
-
-10. Font Licensing and Embedding
-
- In OpenType format, information regarding how the font should be treated
- when creating documents can be recorded. Dvipdfmx uses this information
- to decide whether embedding font into the document is permitted.
-
- This font embedding information is indicated by a flag called as "fsType"
- flag; each bit representing different restrictions on font embedding.
- If multiple flag bits are set in fsType, the least restrictive license
- granted takes precedence in dvipdfmx. The fsType flag bits recognized by
- dvipdfmx is as follows:
-
- * Installable embedding
-
- All font with this type of license can be embedded.
-
- * Editable embedding
-
- All font with this type of license can be embedded.
-
- * Embedding for Preview & Print only
+2. Random number generating function
+ ---------------------------------
- Dvipdfmx give the following warning message for fonts with this
- type of license:
+ Prefixes of font names are calculated by using a function which
+ generates pseudo random numbers. In order to obtain a unique
+ prefix on all platforms when current time is common, a special
+ function MT19937, coded by Takuji Nishimura and Makoto Matsumoto,
+ is used. The header of the C program by Takuji Nishimura and
+ Makoto Matsumoto is the following:
- This document contains `Preview & Print' only licensed font
+ A C-program for MT19937, with initialization improved 2002/1/26.
+ Coded by Takuji Nishimura and Makoto Matsumoto.
- For the font with this type of licensing, font embedding is allowed
- solely for the purpose of (on-screen) viewing and/or printing the
- document; further editing of the document or extracting an embedded
- font data for other purpose is not allowed. To ensure this condition,
- you must at least protect your document with non-empty password.
+ Before using, initialize the state by using init_genrand(seed)
+ or init_by_array(init_key, key_length).
- All other flags are treated as more restrictive license than any of the
- above flags and treated as "No embedding allowed"; e.g., if both of the
- editable-embedding flag and unrecognized license flag is set, the font
- is treated as editable-embedding allowed, however, if only unrecognized
- flags are set, the font is not embedded.
+ Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+ All rights reserved.
- Embedding flags are preserved in embedded font if the font is embedded
- as a TrueType font or a CIDFontType 2 CIDFont. For all font embedded as
- a PostScript font (CFF, CIDFontType 0 CIDFont), they are not preserved.
- Only /Copyright and /Notice in the FontInfo dictionary are preserved in
- this case.
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
- Some font vendors put different embedding restrictions for different
- condition; e.g., font embedding might be not permitted for commercial
- materials unless you acquire "commercial license" separately.
- Please read EULA carefully before making decision on font usage.
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
- Adobe provide a font licensing FAQ and a list of embedding permissions
- for Adobe Type Library fonts:
+ 3. The names of its contributors may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
- http://www.adobe.com/type/browser/legal/
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- For Japanese font in general, embedding permission tend to be somewhat
- restrictive. Japanese users should read the statement regarding font
- embedding from Japan Typography Association (in Japanese):
- http://www.typography.or.jp/act/morals/moral4.html
+ Any feedback is very welcome.
+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
+ email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
diff --git a/systems/doc/dvipng/dvipng.html b/systems/doc/dvipng/dvipng.html
index 3c444c6f20..3fbc749c30 100644
--- a/systems/doc/dvipng/dvipng.html
+++ b/systems/doc/dvipng/dvipng.html
@@ -1,6 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
<html>
-<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>A DVI-to-PNG translator</title>
@@ -19,21 +19,17 @@
<link href="#Introduction" rel="next" title="Introduction">
<style type="text/css">
<!--
-a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
-div.display {margin-left: 3.2em}
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
div.example {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-span:hover a.copiable-anchor {visibility: visible}
-ul.no-bullet {list-style: none}
+span.r {font-family: initial; font-weight: normal; font-style: normal}
+span:hover a.copiable-link {visibility: visible}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left}
+ul.mark-bullet {list-style-type: disc}
+ul.toc-numbered-mark {list-style: none}
-->
</style>
@@ -41,7 +37,6 @@ ul.no-bullet {list-style: none}
</head>
<body lang="en">
-<h1 class="settitle" align="center">A DVI-to-PNG translator</h1>
@@ -50,19 +45,19 @@ ul.no-bullet {list-style: none}
-<div class="top" id="Top">
-<div class="header">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
<p>
Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="dvipng"></span><h1 class="top">dvipng</h1>
+<h1 class="top" id="dvipng">dvipng</h1>
<p>This manual documents dvipng, a program to translate a DVI (DeVice
Independent) file into PNG (Portable Network Graphics).
</p>
<p>This file documents dvipng version 1.17
</p>
-<p>Corrections or perhaps rewrites of sections are <em>very welcome</em>.
+<p>Corrections or perhaps rewrites of sections are <em class="emph">very welcome</em>.
</p>
<p>Jan-&Aring;ke Larsson
</p>
@@ -70,15 +65,15 @@ Independent) file into PNG (Portable Network Graphics).
-<div class="Contents_element" id="SEC_Contents">
+<div class="element-contents" id="SEC_Contents">
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
-<ul class="no-bullet">
+<ul class="toc-numbered-mark">
<li><a id="toc-Introduction-1" href="#Introduction">1 Introduction</a></li>
<li><a id="toc-Installation-1" href="#Installation">2 Installation</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Prerequisites-1" href="#Prerequisites">2.1 Prerequisites</a></li>
<li><a id="toc-Configure-1" href="#Configure">2.2 Configure</a></li>
<li><a id="toc-Build_002finstall-1" href="#Build_002finstall">2.3 Build/install</a></li>
@@ -87,23 +82,23 @@ Independent) file into PNG (Portable Network Graphics).
</ul></li>
<li><a id="toc-Basic-usage-of-dvipng" href="#Basic-usage">3 Basic usage of dvipng</a></li>
<li><a id="toc-Command_002dline-options-1" href="#Command_002dline-options">4 Command-line options</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Option-summary-1" href="#Option-summary">4.1 Option summary</a></li>
<li><a id="toc-Option-details-1" href="#Option-details">4.2 Option details</a></li>
</ul></li>
<li><a id="toc-Graphics-1" href="#Graphics">5 Graphics</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Encapsulated-PostScript-1" href="#Encapsulated-PostScript">5.1 Encapsulated PostScript</a></li>
<li><a id="toc-Bitmapped-graphics-1" href="#Bitmapped-graphics">5.2 Bitmapped graphics</a></li>
<li><a id="toc-Raw-PostScript-1" href="#Raw-PostScript">5.3 Raw PostScript</a></li>
</ul></li>
<li><a id="toc-Color-1" href="#Color">6 Color</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Color-specifications-1" href="#Color-specifications">6.1 Color specifications</a></li>
<li><a id="toc-Color-specials-1" href="#Color-specials">6.2 Color specials</a></li>
</ul></li>
<li><a id="toc-Diagnosing-problems-1" href="#Diagnosing-problems">7 Diagnosing problems</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Contact-information-1" href="#Contact-information">7.1 Contact information</a></li>
<li><a id="toc-Debug-options-1" href="#Debug-options">7.2 Debug options</a></li>
</ul></li>
@@ -114,12 +109,12 @@ Independent) file into PNG (Portable Network Graphics).
</div>
</div>
<hr>
-<div class="chapter" id="Introduction">
-<div class="header">
+<div class="chapter-level-extent" id="Introduction">
+<div class="nav-panel">
<p>
Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="#Top" accesskey="p" rel="prev">dvipng</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2>
+<h2 class="chapter" id="Introduction-1">1 Introduction</h2>
@@ -128,7 +123,7 @@ Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previou
from TeX and its relatives.
</p>
<p>If GIF support is enabled, GIF output is chosen by using the
-&lsquo;<samp>dvigif</samp>&rsquo; binary or with the &lsquo;<samp>--gif</samp>&rsquo; option.
+&lsquo;<samp class="samp">dvigif</samp>&rsquo; binary or with the &lsquo;<samp class="samp">--gif</samp>&rsquo; option.
</p>
<p>It is intended to produce anti-aliased screen-resolution images as fast
@@ -136,67 +131,67 @@ as is possible. The target audience is people who need to generate and
regenerate many images again and again. The primary target is the
preview-latex (X)Emacs package, a package to preview formulas from
within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs
-buffer, see <a href="http://www.gnu.org/software/auctex/preview-latex.html">http://www.gnu.org/software/auctex/preview-latex.html</a>.
+buffer, see <a class="url" href="http://www.gnu.org/software/auctex/preview-latex.html">http://www.gnu.org/software/auctex/preview-latex.html</a>.
</p>
<p>Another example is WeBWorK, an internet-based method for delivering
homework problems to students over the internet, giving students
instant feedback as to whether or not their answers are correct, see
-<a href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>.
+<a class="url" href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>.
</p>
<p>A more recent addition to the dvipng-using applications out there is
MediaWiki, the software behind Wikipedia and many other wikis out
there. Dvipng is used to render mathematical formulae from version
-1.8.0 of MediaWiki, see <a href="http://www.mediawiki.org">http://www.mediawiki.org</a>.
+1.8.0 of MediaWiki, see <a class="url" href="http://www.mediawiki.org">http://www.mediawiki.org</a>.
</p>
<p>Other applications may also benefit, like web applications as latex2html
and WYSIWYG editors like LyX.
</p>
-<p>The benefits of &lsquo;<samp>dvipng</samp>&rsquo;/&lsquo;<samp>dvigif</samp>&rsquo; include
+<p>The benefits of &lsquo;<samp class="samp">dvipng</samp>&rsquo;/&lsquo;<samp class="samp">dvigif</samp>&rsquo; include
</p>
-<ul>
-<li> Speed. It is a very fast bitmap-rendering code for DVI files, which
+<ul class="itemize mark-bullet">
+<li>Speed. It is a very fast bitmap-rendering code for DVI files, which
makes it suitable for generating large amounts of images on-the-fly,
as needed in preview-latex, WeBWorK and others.
-</li><li> It does not read the postamble, so it can be started before TeX
-finishes. There is a &lsquo;<samp>--follow</samp>&rsquo; switch that makes dvipng wait at
+</li><li>It does not read the postamble, so it can be started before TeX
+finishes. There is a &lsquo;<samp class="samp">--follow</samp>&rsquo; switch that makes dvipng wait at
end-of-file for further output, unless it finds the POST marker that
indicates the end of the DVI.
-</li><li> Interactive query of options. dvipng can read options interactively
+</li><li>Interactive query of options. dvipng can read options interactively
through stdin, and all options are usable. It is even possible to change
the input file through this interface.
-</li><li> Supports PK, VF, PostScript Type1, and TrueType fonts, subfonts (i.e.,
+</li><li>Supports PK, VF, PostScript Type1, and TrueType fonts, subfonts (i.e.,
as used in CJK-LaTeX), color specials, and inclusion of PostScript,
PNG, JPEG or GIF images.
-</li><li> and more...
+</li><li>and more...
</li></ul>
<hr>
</div>
-<div class="chapter" id="Installation">
-<div class="header">
+<div class="chapter-level-extent" id="Installation">
+<div class="nav-panel">
<p>
Next: <a href="#Basic-usage" accesskey="n" rel="next">Basic usage of dvipng</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2>
+<h2 class="chapter" id="Installation-1">2 Installation</h2>
-<span id="index-configuration_002c-of-dvipng"></span>
-<span id="index-compilation"></span>
-<span id="index-installation_002c-of-dvipng"></span>
+<a class="index-entry-id" id="index-configuration_002c-of-dvipng"></a>
+<a class="index-entry-id" id="index-compilation"></a>
+<a class="index-entry-id" id="index-installation_002c-of-dvipng"></a>
-<p>Installing dvipng should be simple: merely <code>./configure</code>,
-<code>make</code>, and <code>make install</code>.
+<p>Installing dvipng should be simple: merely <code class="code">./configure</code>,
+<code class="code">make</code>, and <code class="code">make install</code>.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Prerequisites" accesskey="1">Prerequisites</a></li>
<li><a href="#Configure" accesskey="2">Configure</a></li>
<li><a href="#Build_002finstall" accesskey="3">Build/install</a></li>
@@ -204,31 +199,31 @@ Next: <a href="#Basic-usage" accesskey="n" rel="next">Basic usage of dvipng</a>,
<li><a href="#Advice-for-non_002dprivileged-users" accesskey="5">Installation for non-privileged users</a></li>
</ul>
<hr>
-<div class="section" id="Prerequisites">
-<div class="header">
+<div class="section-level-extent" id="Prerequisites">
+<div class="nav-panel">
<p>
Next: <a href="#Configure" accesskey="n" rel="next">Configure</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Prerequisites-1"></span><h3 class="section">2.1 Prerequisites</h3>
+<h3 class="section" id="Prerequisites-1">2.1 Prerequisites</h3>
-<ul>
-<li> The GD Graphics Draw library, libgd
+<ul class="itemize mark-bullet">
+<li>The GD Graphics Draw library, libgd
-<p>The drawing library &lsquo;<samp>libgd</samp>&rsquo; is necessary, and is downloadable at
-<a href="https://bitbucket.org/libgd/gd-libgd/downloads">https://bitbucket.org/libgd/gd-libgd/downloads</a>, and there are
+<p>The drawing library &lsquo;<samp class="samp">libgd</samp>&rsquo; is necessary, and is downloadable at
+<a class="uref" href="https://bitbucket.org/libgd/gd-libgd/downloads">https://bitbucket.org/libgd/gd-libgd/downloads</a>, and there are
binary packages for most operating systems from their respective
-distributors. In any case, the library installs using &lsquo;<samp>autoconf</samp>&rsquo; so
+distributors. In any case, the library installs using &lsquo;<samp class="samp">autoconf</samp>&rsquo; so
it should not be difficult for you to install it from source, and then
proceed with installing dvipng.
</p>
-</li><li> The path-searching library kpathsea
+</li><li>The path-searching library kpathsea
<p>Kpathsea is most likely included in your LaTeX installation, but it
may happen that ./configure does not find it; see below. If you do not
-have it, download it from <a href="http://www.ctan.org">http://www.ctan.org</a> and compile it.
+have it, download it from <a class="uref" href="http://www.ctan.org">http://www.ctan.org</a> and compile it.
I have no experience with this, so I cannot help much here.
</p>
-</li><li> The font-rendering library FreeType 2
+</li><li>The font-rendering library FreeType 2
<p>While not strictly necessary, a recent FreeType 2 is recommended since
dvipng currently will produce better-quality images when this library is
@@ -244,81 +239,81 @@ resolutions without cluttering the disk with lots of bitmapped fonts.
<p>Finally, it will enable subfont support in dvipng. That is, if you want
to render CJK-LaTeX characters, you must have FreeType 2 installed.
</p>
-</li><li> libpng and libz
+</li><li>libpng and libz
<p>To be able to compress and write PNG files to disk, dvipng (or really
libgd) uses libpng which in turn uses libz. These should be available on
any modern system, if not, download them and install them.
</p>
-</li><li> The <code>texinfo</code> package
+</li><li>The <code class="code">texinfo</code> package
<p>This is needed for building the documentation.
</p></li></ul>
<hr>
</div>
-<div class="section" id="Configure">
-<div class="header">
+<div class="section-level-extent" id="Configure">
+<div class="nav-panel">
<p>
Next: <a href="#Build_002finstall" accesskey="n" rel="next">Build/install</a>, Previous: <a href="#Prerequisites" accesskey="p" rel="prev">Prerequisites</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Configure-1"></span><h3 class="section">2.2 Configure</h3>
+<h3 class="section" id="Configure-1">2.2 Configure</h3>
<p>The first step is to configure the source code, telling it where
various files will be. To do so, run
</p>
<div class="example">
-<pre class="example">./configure <var>options</var>
+<pre class="example-preformatted">./configure <var class="var">options</var>
</pre></div>
<p>(Note: if you have fetched dvipng from CVS rather than a regular
-release, you will have to first generate <samp>./configure</samp> by running
-<code>autoconf</code> 2.53 or later.)
+release, you will have to first generate <samp class="file">./configure</samp> by running
+<code class="code">autoconf</code> 2.53 or later.)
</p>
<p>On many machines, you will not need to specify any options, but if
-<code>configure</code> cannot determine something on its own, you&rsquo;ll need to
+<code class="code">configure</code> cannot determine something on its own, you&rsquo;ll need to
help it out. For a list of the options type
</p>
<div class="example">
-<pre class="example">./configure --help
+<pre class="example-preformatted">./configure --help
</pre></div>
<p>On some machines, the libraries will be installed in directories that
are not in the linker&rsquo;s search path. This will generate an error when
-running <samp>./configure</samp>, indicating that it cannot find libgd or
+running <samp class="file">./configure</samp>, indicating that it cannot find libgd or
libkpathsea (most likely). You then need to specify the path to the
respective library&rsquo;s object files. They are typically called e.g.,
-<samp>libgd.a</samp> or <samp>libgd.so</samp>. If they are located in e.g.,
-<samp>/sw/local/lib</samp>, do
+<samp class="file">libgd.a</samp> or <samp class="file">libgd.so</samp>. If they are located in e.g.,
+<samp class="file">/sw/local/lib</samp>, do
</p>
<div class="example">
-<pre class="example">./configure LDFLAGS=-L/sw/local/lib
+<pre class="example-preformatted">./configure LDFLAGS=-L/sw/local/lib
</pre></div>
-<p>If the library is available as a shared object file (<samp>.so</samp>), the
+<p>If the library is available as a shared object file (<samp class="file">.so</samp>), the
runtime linker may also need to be told where to find the library,
then use
</p>
<div class="example">
-<pre class="example">./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib'
+<pre class="example-preformatted">./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib'
</pre></div>
<p>When either of these is necessary, it is likely that the C header
files are also installed in directories that are not in the C
preprocessor&rsquo;s search path. This will also generate an error when
-running <samp>./configure</samp>, indicating that it cannot find e.g.,
-<samp>gd.h</samp> or <samp>kpathsea.h</samp> (most likely). You then need to
+running <samp class="file">./configure</samp>, indicating that it cannot find e.g.,
+<samp class="file">gd.h</samp> or <samp class="file">kpathsea.h</samp> (most likely). You then need to
specify the path to the respective library&rsquo;s C header files. If they
-are located in e.g., <samp>/sw/local/include</samp>, do
+are located in e.g., <samp class="file">/sw/local/include</samp>, do
</p>
<div class="example">
-<pre class="example">./configure CPPFLAGS=-I/sw/local/include
+<pre class="example-preformatted">./configure CPPFLAGS=-I/sw/local/include
</pre></div>
<p>On my SUN Solaris workstation, I had to combine this into
</p>
<div class="example">
-<pre class="example">./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\
+<pre class="example-preformatted">./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\
LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/'
</pre></div>
@@ -326,24 +321,24 @@ are located in e.g., <samp>/sw/local/include</samp>, do
</p>
<hr>
</div>
-<div class="section" id="Build_002finstall">
-<div class="header">
+<div class="section-level-extent" id="Build_002finstall">
+<div class="nav-panel">
<p>
Next: <a href="#Installation-outside-the-texmf-tree" accesskey="n" rel="next">Installation outside the texmf tree</a>, Previous: <a href="#Configure" accesskey="p" rel="prev">Configure</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Build_002finstall-1"></span><h3 class="section">2.3 Build/install</h3>
+<h3 class="section" id="Build_002finstall-1">2.3 Build/install</h3>
-<p>Once <samp>configure</samp> has been run, simply enter
+<p>Once <samp class="file">configure</samp> has been run, simply enter
</p>
<div class="example">
-<pre class="example">make
+<pre class="example-preformatted">make
</pre></div>
<p>at the prompt to compile the C code, and build the documentation files.
To install the files into the locations chosen earlier, type
</p>
<div class="example">
-<pre class="example">make install
+<pre class="example-preformatted">make install
</pre></div>
<p>You may need special privileges to install, e.g., if you are installing
@@ -351,69 +346,69 @@ into system directories.
</p>
<hr>
</div>
-<div class="section" id="Installation-outside-the-texmf-tree">
-<div class="header">
+<div class="section-level-extent" id="Installation-outside-the-texmf-tree">
+<div class="nav-panel">
<p>
Next: <a href="#Advice-for-non_002dprivileged-users" accesskey="n" rel="next">Installation for non-privileged users</a>, Previous: <a href="#Build_002finstall" accesskey="p" rel="prev">Build/install</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Installation-outside-the-texmf-tree-1"></span><h3 class="section">2.4 Installation outside the texmf tree</h3>
+<h3 class="section" id="Installation-outside-the-texmf-tree-1">2.4 Installation outside the texmf tree</h3>
<p>In some cases, a dvipng binary installed outside the texmf tree will
not be able to find virtual fonts, or the PostScript font maps
-(normally used by dvips). This may be because <em>only</em>
+(normally used by dvips). This may be because <em class="emph">only</em>
$SELFAUTOLOC, $SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf
-tree configuration file &lsquo;<samp>texmf.cnf</samp>&rsquo;. If so, give the switch
-&lsquo;<samp>--enable-selfauto-set</samp>&rsquo; to &lsquo;<samp>./configure</samp>&rsquo;. This will make
+tree configuration file &lsquo;<samp class="samp">texmf.cnf</samp>&rsquo;. If so, give the switch
+&lsquo;<samp class="samp">--enable-selfauto-set</samp>&rsquo; to &lsquo;<samp class="samp">./configure</samp>&rsquo;. This will make
dvipng adjust these three internally so that kpathsea thinks that
-dvipng <em>is</em> installed in the texmf tree.
+dvipng <em class="emph">is</em> installed in the texmf tree.
</p>
<hr>
</div>
-<div class="section" id="Advice-for-non_002dprivileged-users">
-<div class="header">
+<div class="section-level-extent" id="Advice-for-non_002dprivileged-users">
+<div class="nav-panel">
<p>
Previous: <a href="#Installation-outside-the-texmf-tree" accesskey="p" rel="prev">Installation outside the texmf tree</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Installation-for-non_002dprivileged-users"></span><h3 class="section">2.5 Installation for non-privileged users</h3>
+<h3 class="section" id="Installation-for-non_002dprivileged-users">2.5 Installation for non-privileged users</h3>
<p>Often people without system administration privileges want to install
software for their private use. In that case you need to specify more
-options to the <samp>configure</samp> script, usually this is done by using
-the &lsquo;<samp>--prefix</samp>&rsquo; option to the <samp>configure</samp> script, and let it
+options to the <samp class="file">configure</samp> script, usually this is done by using
+the &lsquo;<samp class="samp">--prefix</samp>&rsquo; option to the <samp class="file">configure</samp> script, and let it
point to the personal home directory. In that way, resulting binaries
-will be installed under the <samp>bin</samp> subdirectory of your home
-directory, manual pages under <samp>man</samp> and so on. That way, it is
+will be installed under the <samp class="file">bin</samp> subdirectory of your home
+directory, manual pages under <samp class="file">man</samp> and so on. That way, it is
reasonably easy to maintain a bunch of additional packages, since the
-prefix argument is supported by most <samp>configure</samp> scripts.
+prefix argument is supported by most <samp class="file">configure</samp> scripts.
</p>
-<p>You&rsquo;ll have to add something like <samp>/home/myself/bin</samp> to your
-<code>PATH</code> shell variable, if it isn&rsquo;t there already, and similarly
-set the <code>INFOPATH</code> and <code>MANPATH</code> variables to be able to
+<p>You&rsquo;ll have to add something like <samp class="file">/home/myself/bin</samp> to your
+<code class="code">PATH</code> shell variable, if it isn&rsquo;t there already, and similarly
+set the <code class="code">INFOPATH</code> and <code class="code">MANPATH</code> variables to be able to
access the documentation.
</p>
<hr>
</div>
</div>
-<div class="chapter" id="Basic-usage">
-<div class="header">
+<div class="chapter-level-extent" id="Basic-usage">
+<div class="nav-panel">
<p>
Next: <a href="#Command_002dline-options" accesskey="n" rel="next">Command-line options</a>, Previous: <a href="#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Basic-usage-of-dvipng"></span><h2 class="chapter">3 Basic usage of dvipng</h2>
+<h2 class="chapter" id="Basic-usage-of-dvipng">3 Basic usage of dvipng</h2>
-<span id="index-invoking-dvipng"></span>
+<a class="index-entry-id" id="index-invoking-dvipng"></a>
<p>To use dvipng at its simplest, simply type
</p>
<div class="example">
-<pre class="example">dvipng foo
+<pre class="example-preformatted">dvipng foo
</pre></div>
-<p>where <samp>foo.dvi</samp> is the output of TeX that you want to convert to
-PNG format. If there are four pages in <samp>foo.dvi</samp>, those pages will
-be output as <samp>foo1.png</samp>, <samp>foo2.png</samp>, <samp>foo3.png</samp>, and
-<samp>foo4.png</samp>, respectively.
+<p>where <samp class="file">foo.dvi</samp> is the output of TeX that you want to convert to
+PNG format. If there are four pages in <samp class="file">foo.dvi</samp>, those pages will
+be output as <samp class="file">foo1.png</samp>, <samp class="file">foo2.png</samp>, <samp class="file">foo3.png</samp>, and
+<samp class="file">foo4.png</samp>, respectively.
</p>
<p>If you have enabled the PostScript font support (via FreeType),
fonts will be rendered as they are needed. Otherwise, dvipng will use
@@ -423,50 +418,50 @@ can take a few minutes, so progress reports appear by default. The next
time the same font is used, it will have been saved on disk, so
rendering will go much faster. (If dvipng tries to endlessly generate
the same fonts over and over again, something is wrong. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to
-generate fonts</a> in <cite>Kpathsea</cite>.)
+generate fonts</a> in <cite class="cite">Kpathsea</cite>.)
</p>
<p>Many options are available (see the next section). For a brief summary
of available options, just type
</p>
<div class="example">
-<pre class="example">dvipng --help
+<pre class="example-preformatted">dvipng --help
</pre></div>
<hr>
</div>
-<div class="chapter" id="Command_002dline-options">
-<div class="header">
+<div class="chapter-level-extent" id="Command_002dline-options">
+<div class="nav-panel">
<p>
Next: <a href="#Graphics" accesskey="n" rel="next">Graphics</a>, Previous: <a href="#Basic-usage" accesskey="p" rel="prev">Basic usage of dvipng</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Command_002dline-options-1"></span><h2 class="chapter">4 Command-line options</h2>
+<h2 class="chapter" id="Command_002dline-options-1">4 Command-line options</h2>
-<span id="index-command_002dline-options"></span>
-<span id="index-options_002c-dvipng"></span>
+<a class="index-entry-id" id="index-command_002dline-options"></a>
+<a class="index-entry-id" id="index-options_002c-dvipng"></a>
<p>dvipng has a plethora of command line options. Reading through this
section will give a good idea of the capabilities of the driver.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Option-summary" accesskey="1">Option summary</a></li>
<li><a href="#Option-details" accesskey="2">Option details</a></li>
</ul>
<hr>
-<div class="section" id="Option-summary">
-<div class="header">
+<div class="section-level-extent" id="Option-summary">
+<div class="nav-panel">
<p>
Next: <a href="#Option-details" accesskey="n" rel="next">Option details</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Option-summary-1"></span><h3 class="section">4.1 Option summary</h3>
+<h3 class="section" id="Option-summary-1">4.1 Option summary</h3>
-<span id="index-options_002c-summary"></span>
+<a class="index-entry-id" id="index-options_002c-summary"></a>
<p>Here is a handy summary of the options; it is printed out when you run
-dvipng with no arguments or with the standard &lsquo;<samp>--help</samp>&rsquo; option.
+dvipng with no arguments or with the standard &lsquo;<samp class="samp">--help</samp>&rsquo; option.
</p>
<div class="example">
-<pre class="example">This is ./dvipng 1.17 Copyright 2002-2015, 2019 Jan-Ake Larsson
+<pre class="example-preformatted">This is ./dvipng 1.17 Copyright 2002-2015, 2019 Jan-Ake Larsson
Usage: ./dvipng [OPTION]... FILENAME[.dvi]
Options are chosen to be similar to dvips' options where possible:
@@ -514,57 +509,57 @@ These do not correspond to dvips options:
<hr>
</div>
-<div class="section" id="Option-details">
-<div class="header">
+<div class="section-level-extent" id="Option-details">
+<div class="nav-panel">
<p>
Previous: <a href="#Option-summary" accesskey="p" rel="prev">Option summary</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Option-details-1"></span><h3 class="section">4.2 Option details</h3>
+<h3 class="section" id="Option-details-1">4.2 Option details</h3>
-<span id="index-option_002c-details-of"></span>
+<a class="index-entry-id" id="index-option_002c-details-of"></a>
<p>Many of the parameterless options listed here can be turned off by
-suffixing the option with a zero (&lsquo;<samp>0</samp>&rsquo;); for instance, to turn off
-page reversal, use &lsquo;<samp>-r0</samp>&rsquo;. Such options are marked with a trailing
-&lsquo;<samp>*</samp>&rsquo;.
+suffixing the option with a zero (&lsquo;<samp class="samp">0</samp>&rsquo;); for instance, to turn off
+page reversal, use &lsquo;<samp class="samp">-r0</samp>&rsquo;. Such options are marked with a trailing
+&lsquo;<samp class="samp">*</samp>&rsquo;.
</p>
-<dl compact="compact">
-<dt id='index-options_002c-reading-from-standard-input'><span>&lsquo;<samp>-</samp>&rsquo;<a href='#index-options_002c-reading-from-standard-input' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-standard-input_002c-reading-options-from"></span>
+<dl class="table">
+<dt id='index-options_002c-reading-from-standard-input'><span>&lsquo;<samp class="samp">-</samp>&rsquo;<a class="copiable-link" href='#index-options_002c-reading-from-standard-input'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-standard-input_002c-reading-options-from"></a>
<p>Read additional options from standard input after processing the command
line.
</p>
</dd>
-<dt><span>&lsquo;<samp>--help</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">--help</samp>&rsquo;</dt>
<dd><p>Print a usage message and exit.
</p>
</dd>
-<dt><span>&lsquo;<samp>--version</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">--version</samp>&rsquo;</dt>
<dd><p>Print the version number and exit.
</p>
</dd>
-<dt><span>&lsquo;<samp>-bd <var>num</var></samp>&rsquo;</span></dt>
-<dt><span>&lsquo;<samp>-bd <var>color_spec</var></samp>&rsquo;</span></dt>
-<dt id='index-transparent-border-width'><span>&lsquo;<samp>-bd '<var>num</var> <var>color_spec</var>'</samp>&rsquo;<a href='#index-transparent-border-width' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-transparent-border-fallback-color"></span>
+<dt>&lsquo;<samp class="samp">-bd <var class="var">num</var></samp>&rsquo;</dt>
+<dt>&lsquo;<samp class="samp">-bd <var class="var">color_spec</var></samp>&rsquo;</dt>
+<dt id='index-transparent-border-width'><span>&lsquo;<samp class="samp">-bd '<var class="var">num</var> <var class="var">color_spec</var>'</samp>&rsquo;<a class="copiable-link" href='#index-transparent-border-width'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-transparent-border-fallback-color"></a>
<p>Set the pixel width of the transparent border (default 0). Using this
option will make the image edges transparent, but it only affects pixels
-with the background color. Giving a <var>color_spec</var> will set the
+with the background color. Giving a <var class="var">color_spec</var> will set the
fallback color, to be used in viewers that cannot handle transparency
(the default is the background color). The color spec should be in
TeX color \special syntax, e.g., &rsquo;rgb 1.0 0.0 0.0&rsquo;. Setting the
-fallback color makes the default border width 1 px. See <a href="#Color">Color</a>.
+fallback color makes the default border width 1 px. See <a class="xref" href="#Color">Color</a>.
</p>
</dd>
-<dt id='index-base-resolution_002c-setting'><span>&lsquo;<samp>--bdpi <var>num</var></samp>&rsquo;<a href='#index-base-resolution_002c-setting' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-base-resolution_002c-setting'><span>&lsquo;<samp class="samp">--bdpi <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-base-resolution_002c-setting'> &para;</a></span></dt>
<dd><p>This option only has an effect when using bitmapped (PK) fonts. The
option sets the base (Metafont) resolution, both horizontal and
-vertical, to <var>num</var> dpi (dots per inch). This option is necessary
+vertical, to <var class="var">num</var> dpi (dots per inch). This option is necessary
when manually selecting Metafont mode with the &ndash;mode option (see
below).
</p>
</dd>
-<dt id='index-background-color-_0028option_0029'><span>&lsquo;<samp>-bg <var>color_spec</var></samp>&rsquo;<a href='#index-background-color-_0028option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-background-color-_0028option_0029'><span>&lsquo;<samp class="samp">-bg <var class="var">color_spec</var></samp>&rsquo;<a class="copiable-link" href='#index-background-color-_0028option_0029'> &para;</a></span></dt>
<dd><p>Choose background color for the images. This option will be ignored if
there is a background color \special in the DVI. The color spec should
be in TeX color \special syntax, e.g., &rsquo;rgb 1.0 0.0 0.0&rsquo;. You can
@@ -575,25 +570,25 @@ all-lowercase &rsquo;transparent&rsquo; will give a simple fully transparent
background with non-transparent antialiased pixels. The latter would be
suitable for viewers who cannot cope with a true alpha channel. GIF
images do not support full alpha transparency, so in case of GIF output,
-both variants will use the latter behaviour. See <a href="#Color">Color</a>.
+both variants will use the latter behaviour. See <a class="xref" href="#Color">Color</a>.
</p>
</dd>
-<dt id='index-debugging'><span>&lsquo;<samp>-d <var>num</var></samp>&rsquo;<a href='#index-debugging' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-debugging'><span>&lsquo;<samp class="samp">-d <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-debugging'> &para;</a></span></dt>
<dd><p>Set the debug flags, showing what dvipng (thinks it) is doing. This will
-work unless dvipng has been compiled without the <code>DEBUG</code> option
-(not recommended). Set the flags as you need them, use &lsquo;<samp>-d -1</samp>&rsquo; as
-the first option for maximum output. See <a href="#Debug-options">Debug options</a>.
+work unless dvipng has been compiled without the <code class="code">DEBUG</code> option
+(not recommended). Set the flags as you need them, use &lsquo;<samp class="samp">-d -1</samp>&rsquo; as
+the first option for maximum output. See <a class="xref" href="#Debug-options">Debug options</a>.
</p>
</dd>
-<dt id='index-output-resolution_002c-setting'><span>&lsquo;<samp>-D <var>num</var></samp>&rsquo;<a href='#index-output-resolution_002c-setting' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the output resolution, both horizontal and vertical, to <var>num</var>
+<dt id='index-output-resolution_002c-setting'><span>&lsquo;<samp class="samp">-D <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-output-resolution_002c-setting'> &para;</a></span></dt>
+<dd><p>Set the output resolution, both horizontal and vertical, to <var class="var">num</var>
dpi (dots per inch).
</p>
<p>One may want to adjust this to fit a certain text font size (e.g., on
-a web page), and for a text font height of <var>font_px</var> pixels (in
+a web page), and for a text font height of <var class="var">font_px</var> pixels (in
Mozilla) the correct formula is
</p><div class="example">
-<pre class="example"><var>dpi</var> = <var>font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt]
+<pre class="example-preformatted"><var class="var">dpi</var> = <var class="var">font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt]
</pre></div>
<p>The last division by ten is due to the standard font height 10pt in
your document, if you use 12pt, divide by 12. Unfortunately, some
@@ -601,52 +596,52 @@ proprietary browsers have font height in pt (points), not pixels. You
have to rescale that to pixels, using the screen resolution (default
is usually 96 dpi) which means the formula is
</p><div class="example">
-<pre class="example"><var>font_px</var> = <var>font_pt</var> * 96 / 72 [pt * px/in / (pt/in)]
+<pre class="example-preformatted"><var class="var">font_px</var> = <var class="var">font_pt</var> * 96 / 72 [pt * px/in / (pt/in)]
</pre></div>
<p>On some high-res screens, the value is instead 120 dpi. Good luck!
</p>
</dd>
-<dt id='index-baseline-reporting'><span>&lsquo;<samp>--depth*</samp>&rsquo;<a href='#index-baseline-reporting' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-depth-reporting"></span>
+<dt id='index-baseline-reporting'><span>&lsquo;<samp class="samp">--depth*</samp>&rsquo;<a class="copiable-link" href='#index-baseline-reporting'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-depth-reporting"></a>
<p>Report the depth of the image. This only works reliably when the
-LaTeX style <samp>preview.sty</samp> from preview-latex is used with
-the &lsquo;<samp>active</samp>&rsquo; option. It reports the number of pixels from the
+LaTeX style <samp class="file">preview.sty</samp> from preview-latex is used with
+the &lsquo;<samp class="samp">active</samp>&rsquo; option. It reports the number of pixels from the
bottom of the image to the baseline of the image. This can be used for
vertical positioning of the image in, e.g., web documents, where one
would use (Cascading StyleSheets 1)
</p><div class="example">
-<pre class="example">&lt;IMG SRC=&quot;<var>filename.png</var>&quot; STYLE=&quot;vertical-align: -<var>depth</var>px&quot;&gt;
+<pre class="example-preformatted">&lt;IMG SRC=&quot;<var class="var">filename.png</var>&quot; STYLE=&quot;vertical-align: -<var class="var">depth</var>px&quot;&gt;
</pre></div>
<p>The depth is a negative offset in this case, so the minus sign is
necessary, and the unit is pixels (px).
</p>
</dd>
-<dt><span>&lsquo;<samp>--dvinum*</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">--dvinum*</samp>&rsquo;</dt>
<dd><p>Set this option to make the output page number be the TeX page
-numbers rather than the physical page number. See the &lsquo;<samp>-o</samp>&rsquo; switch.
+numbers rather than the physical page number. See the &lsquo;<samp class="samp">-o</samp>&rsquo; switch.
</p>
</dd>
-<dt id='index-foreground-color-_0028option_0029'><span>&lsquo;<samp>-fg <var>color_spec</var></samp>&rsquo;<a href='#index-foreground-color-_0028option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-foreground-color-_0028option_0029'><span>&lsquo;<samp class="samp">-fg <var class="var">color_spec</var></samp>&rsquo;<a class="copiable-link" href='#index-foreground-color-_0028option_0029'> &para;</a></span></dt>
<dd><p>Choose foreground color for the images. This option will be ignored if
there is a foreground color \special in the DVI. The color spec should
be in TeX color \special syntax, e.g., &rsquo;rgb 1.0 0.0 0.0&rsquo;.
-See <a href="#Color">Color</a>.
+See <a class="xref" href="#Color">Color</a>.
</p>
</dd>
-<dt id='index-follow-mode'><span>&lsquo;<samp>--follow*</samp>&rsquo;<a href='#index-follow-mode' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-follow-mode'><span>&lsquo;<samp class="samp">--follow*</samp>&rsquo;<a class="copiable-link" href='#index-follow-mode'> &para;</a></span></dt>
<dd><p>Wait for data at end-of-file. One of the benefits of dvipng is that it
does not read the postamble, so it can be started before TeX
finishes. This switch makes dvipng wait at end-of-file for further
output, unless it finds the POST marker that indicates the end of the
-DVI. This is similar to &lsquo;<samp>tail -f</samp>&rsquo; but for DVI-to-PNG conversion.
+DVI. This is similar to &lsquo;<samp class="samp">tail -f</samp>&rsquo; but for DVI-to-PNG conversion.
</p>
</dd>
-<dt id='index-FreeType-font-rendering'><span>&lsquo;<samp>--freetype*</samp>&rsquo;<a href='#index-FreeType-font-rendering' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-FreeType-font-rendering'><span>&lsquo;<samp class="samp">--freetype*</samp>&rsquo;<a class="copiable-link" href='#index-FreeType-font-rendering'> &para;</a></span></dt>
<dd><p>Enable/disable FreeType font rendering (default on). This option is
available if the FreeType2 font library was present at compilation time.
If this is the case, dvipng will have direct support for PostScript
-Type1 and TrueType fonts internally, rather than using &lsquo;<samp>gsftopk</samp>&rsquo;
+Type1 and TrueType fonts internally, rather than using &lsquo;<samp class="samp">gsftopk</samp>&rsquo;
for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (PK)
variants on disk of these. Then, you can render images at different (and
@@ -657,127 +652,127 @@ identical output on different platforms, since FreeType uses the native
renderer and therefore can give slightly different output on each platform.
</p>
</dd>
-<dt id='index-gamma'><span>&lsquo;<samp>--gamma <var>num</var></samp>&rsquo;<a href='#index-gamma' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-dark-fonts"></span>
-<span id="index-light-fonts"></span>
-<span id="index-fuzzy-images"></span>
+<dt id='index-gamma'><span>&lsquo;<samp class="samp">--gamma <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-gamma'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-dark-fonts"></a>
+<a class="index-entry-id" id="index-light-fonts"></a>
+<a class="index-entry-id" id="index-fuzzy-images"></a>
<p>Control the interpolation of colors in the greyscale anti-aliasing
-color palette. Default value is 1.0. For 0 &lt; <var>num</var> &lt; 1, the
-fonts will be lighter (more like the background), and for <var>num</var> &gt;
+color palette. Default value is 1.0. For 0 &lt; <var class="var">num</var> &lt; 1, the
+fonts will be lighter (more like the background), and for <var class="var">num</var> &gt;
1, the fonts will be darker (more like the foreground).
</p>
</dd>
-<dt id='index-GIF-image-format'><span>&lsquo;<samp>--gif*</samp>&rsquo;<a href='#index-GIF-image-format' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-GIF-image-format'><span>&lsquo;<samp class="samp">--gif*</samp>&rsquo;<a class="copiable-link" href='#index-GIF-image-format'> &para;</a></span></dt>
<dd><p>The images are output in the GIF format, if GIF support is enabled.
-This is the default for the &lsquo;<samp>dvigif</samp>&rsquo; binary, which only will be
+This is the default for the &lsquo;<samp class="samp">dvigif</samp>&rsquo; binary, which only will be
available when GIF support is enabled. GIF images are palette images
-(see the &lsquo;<samp>--palette</samp>&rsquo; option) and does not support true alpha
-channels (see the &lsquo;<samp>--bg</samp>&rsquo; option). See also the &lsquo;<samp>--png</samp>&rsquo;
+(see the &lsquo;<samp class="samp">--palette</samp>&rsquo; option) and does not support true alpha
+channels (see the &lsquo;<samp class="samp">--bg</samp>&rsquo; option). See also the &lsquo;<samp class="samp">--png</samp>&rsquo;
option.
</p>
</dd>
-<dt id='index-baseline-reporting-1'><span>&lsquo;<samp>--height*</samp>&rsquo;<a href='#index-baseline-reporting-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-height-reporting"></span>
+<dt id='index-baseline-reporting-1'><span>&lsquo;<samp class="samp">--height*</samp>&rsquo;<a class="copiable-link" href='#index-baseline-reporting-1'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-height-reporting"></a>
<p>Report the height of the image. This only works reliably when the
-LaTeX style <samp>preview.sty</samp> from preview-latex is used with
-the &lsquo;<samp>active</samp>&rsquo; option. It reports the number of pixels from the top
+LaTeX style <samp class="file">preview.sty</samp> from preview-latex is used with
+the &lsquo;<samp class="samp">active</samp>&rsquo; option. It reports the number of pixels from the top
of the image to the baseline of the image. The total height of the
image is obtained as the sum of the values reported from
-&lsquo;<samp>--height</samp>&rsquo; and &lsquo;<samp>--depth</samp>&rsquo;.
+&lsquo;<samp class="samp">--height</samp>&rsquo; and &lsquo;<samp class="samp">--depth</samp>&rsquo;.
</p>
</dd>
-<dt id='index-last-page-printed'><span>&lsquo;<samp>-l [=]<var>num</var></samp>&rsquo;<a href='#index-last-page-printed' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-page_002c-last-printed"></span>
-<span id="index-physical-page-number_002c-and-_002dl"></span>
-<span id="index-absolute-page-number_002c-and-_002dl"></span>
-<p>The last page printed will be the first one numbered <var>num</var>. Default
-is the last page in the document. If <var>num</var> is prefixed by an equals
-sign, then it (and the argument to the &lsquo;<samp>-p</samp>&rsquo; option, if specified)
+<dt id='index-last-page-printed'><span>&lsquo;<samp class="samp">-l [=]<var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-last-page-printed'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-page_002c-last-printed"></a>
+<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dl"></a>
+<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dl"></a>
+<p>The last page printed will be the first one numbered <var class="var">num</var>. Default
+is the last page in the document. If <var class="var">num</var> is prefixed by an equals
+sign, then it (and the argument to the &lsquo;<samp class="samp">-p</samp>&rsquo; option, if specified)
is treated as a physical (absolute) page number, rather than a value to
-compare with the TeX &lsquo;<samp>\count0</samp>&rsquo; values stored in the DVI file.
-Thus, using &lsquo;<samp>-l =9</samp>&rsquo; will end with the ninth page of the document,
+compare with the TeX &lsquo;<samp class="samp">\count0</samp>&rsquo; values stored in the DVI file.
+Thus, using &lsquo;<samp class="samp">-l =9</samp>&rsquo; will end with the ninth page of the document,
no matter what the pages are actually numbered.
</p>
</dd>
-<dt id='index-mode-name_002c-specifying'><span>&lsquo;<samp>--mode <var>mode</var></samp>&rsquo;<a href='#index-mode-name_002c-specifying' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-Metafont-mode_002c-specifying"></span>
+<dt id='index-mode-name_002c-specifying'><span>&lsquo;<samp class="samp">--mode <var class="var">mode</var></samp>&rsquo;<a class="copiable-link" href='#index-mode-name_002c-specifying'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-Metafont-mode_002c-specifying"></a>
<p>This option only has an effect when using bitmapped (PK) fonts. Use
-<var>mode</var> as the Metafont device name for the PK fonts (both for path
+<var class="var">mode</var> as the Metafont device name for the PK fonts (both for path
searching and font generation). This needs to be augmented with the base
-device resolution, given with the &lsquo;<samp>--bdpi</samp>&rsquo; option. See the file
-<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode
-names for most devices. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>.
+device resolution, given with the &lsquo;<samp class="samp">--bdpi</samp>&rsquo; option. See the file
+<a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode
+names for most devices. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite class="cite">Kpathsea</cite>.
</p>
</dd>
-<dt id='index-font-generation_002c-avoiding'><span>&lsquo;<samp>-M*</samp>&rsquo;<a href='#index-font-generation_002c-avoiding' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-mktexpk_002c-avoiding"></span>
+<dt id='index-font-generation_002c-avoiding'><span>&lsquo;<samp class="samp">-M*</samp>&rsquo;<a class="copiable-link" href='#index-font-generation_002c-avoiding'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-mktexpk_002c-avoiding"></a>
<p>This option only has an effect when using bitmapped (PK) fonts. It turns
-off automatic PK font generation (<samp>mktexpk</samp>).
+off automatic PK font generation (<samp class="file">mktexpk</samp>).
</p>
</dd>
-<dt id='index-GhostScript_002c-turning-off'><span>&lsquo;<samp>--nogs*</samp>&rsquo;<a href='#index-GhostScript_002c-turning-off' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-GhostScript_002c-turning-off'><span>&lsquo;<samp class="samp">--nogs*</samp>&rsquo;<a class="copiable-link" href='#index-GhostScript_002c-turning-off'> &para;</a></span></dt>
<dd><p>This switch prohibits the internal call to GhostScript for displaying
-PostScript specials. &lsquo;<samp>--nogs0</samp>&rsquo; turns the call back on.
+PostScript specials. &lsquo;<samp class="samp">--nogs0</samp>&rsquo; turns the call back on.
</p>
</dd>
-<dt id='index-GhostScript-and-_002ddSAFER'><span>&lsquo;<samp>--nogssafer*</samp>&rsquo;<a href='#index-GhostScript-and-_002ddSAFER' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002ddSAFER"></span>
+<dt id='index-GhostScript-and-_002ddSAFER'><span>&lsquo;<samp class="samp">--nogssafer*</samp>&rsquo;<a class="copiable-link" href='#index-GhostScript-and-_002ddSAFER'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002ddSAFER"></a>
<p>Normally, if GhostScript is used to render PostScript specials, the
-GhostScript interpreter is run with the option &lsquo;<samp>-dSAFER</samp>&rsquo;. The
-&lsquo;<samp>--nogssafer</samp>&rsquo; option runs GhostScript without &lsquo;<samp>-dSAFER</samp>&rsquo;. The
-&lsquo;<samp>-dSAFER</samp>&rsquo; option in Ghostscript disables PostScript operators such
+GhostScript interpreter is run with the option &lsquo;<samp class="samp">-dSAFER</samp>&rsquo;. The
+&lsquo;<samp class="samp">--nogssafer</samp>&rsquo; option runs GhostScript without &lsquo;<samp class="samp">-dSAFER</samp>&rsquo;. The
+&lsquo;<samp class="samp">-dSAFER</samp>&rsquo; option in Ghostscript disables PostScript operators such
as deletefile, to prevent possibly malicious PostScript programs from
having any effect.
</p>
</dd>
-<dt id='index-PostScript_002c-turning-off-raw-PostScript-specials'><span>&lsquo;<samp>--norawps*</samp>&rsquo;<a href='#index-PostScript_002c-turning-off-raw-PostScript-specials' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-PostScript_002c-turning-off-raw-PostScript-specials'><span>&lsquo;<samp class="samp">--norawps*</samp>&rsquo;<a class="copiable-link" href='#index-PostScript_002c-turning-off-raw-PostScript-specials'> &para;</a></span></dt>
<dd><p>Some packages generate raw PostScript specials, even non-rendering such
specials. This switch turns off the internal call to GhostScript
-intended to display these raw PostScript specials. &lsquo;<samp>--norawps0</samp>&rsquo;
+intended to display these raw PostScript specials. &lsquo;<samp class="samp">--norawps0</samp>&rsquo;
turns the call back on.
</p>
</dd>
-<dt id='index-output_002c-redirecting'><span>&lsquo;<samp>-o <var>name</var></samp>&rsquo;<a href='#index-output_002c-redirecting' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-standard-output_002c-output-to"></span>
-<p>Send output to the file <var>name</var>. A single occurrence of &lsquo;<samp>%d</samp>&rsquo; or
-&lsquo;<samp>%01d</samp>&rsquo;, &hellip;, &lsquo;<samp>%09d</samp>&rsquo; will be exchanged for the physical
-page number (this can be changed, see the &lsquo;<samp>--dvinum</samp>&rsquo; switch). The
-default output filename is &lsquo;<samp><var>file</var>%d.png</samp>&rsquo; where the input DVI
-file was &lsquo;<samp><var>file</var>.dvi</samp>&rsquo;.
+<dt id='index-output_002c-redirecting'><span>&lsquo;<samp class="samp">-o <var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-output_002c-redirecting'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-standard-output_002c-output-to"></a>
+<p>Send output to the file <var class="var">name</var>. A single occurrence of &lsquo;<samp class="samp">%d</samp>&rsquo; or
+&lsquo;<samp class="samp">%01d</samp>&rsquo;, &hellip;, &lsquo;<samp class="samp">%09d</samp>&rsquo; will be exchanged for the physical
+page number (this can be changed, see the &lsquo;<samp class="samp">--dvinum</samp>&rsquo; switch). The
+default output filename is &lsquo;<samp class="samp"><var class="var">file</var>%d.png</samp>&rsquo; where the input DVI
+file was &lsquo;<samp class="samp"><var class="var">file</var>.dvi</samp>&rsquo;.
</p>
</dd>
-<dt id='index-offset-pages'><span>&lsquo;<samp>-O <var>x-offset</var>,<var>y-offset</var></samp>&rsquo;<a href='#index-offset-pages' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated
-pair of dimensions such as &lsquo;<samp>.1in,-.3cm</samp>&rsquo;.
+<dt id='index-offset-pages'><span>&lsquo;<samp class="samp">-O <var class="var">x-offset</var>,<var class="var">y-offset</var></samp>&rsquo;<a class="copiable-link" href='#index-offset-pages'> &para;</a></span></dt>
+<dd><p>Move the origin by <var class="var">x-offset</var>,<var class="var">y-offset</var>, a comma-separated
+pair of dimensions such as &lsquo;<samp class="samp">.1in,-.3cm</samp>&rsquo;.
The origin of the page is shifted from the default position
(of one inch down, one inch to the right from the upper left corner of
the paper) by this amount.
</p>
</dd>
-<dt id='index-first-page-printed'><span>&lsquo;<samp>-p [=]<var>num</var></samp>&rsquo;<a href='#index-first-page-printed' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-page_002c-first-printed"></span>
-<span id="index-physical-page-number_002c-and-_002dp"></span>
-<span id="index-absolute-page-number_002c-and-_002dp"></span>
-<p>The first page printed will be the first one numbered <var>num</var>. Default
-is the first page in the document. If <var>num</var> is prefixed by an
-equals sign, then it (and the argument to the &lsquo;<samp>-l</samp>&rsquo; option, if
+<dt id='index-first-page-printed'><span>&lsquo;<samp class="samp">-p [=]<var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-first-page-printed'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-page_002c-first-printed"></a>
+<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dp"></a>
+<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dp"></a>
+<p>The first page printed will be the first one numbered <var class="var">num</var>. Default
+is the first page in the document. If <var class="var">num</var> is prefixed by an
+equals sign, then it (and the argument to the &lsquo;<samp class="samp">-l</samp>&rsquo; option, if
specified) is treated as a physical (absolute) page number, rather than
-a value to compare with the TeX &lsquo;<samp>\count0</samp>&rsquo; values stored in the
-DVI file. Thus, using &lsquo;<samp>-p =3</samp>&rsquo; will start with the third page of
+a value to compare with the TeX &lsquo;<samp class="samp">\count0</samp>&rsquo; values stored in the
+DVI file. Thus, using &lsquo;<samp class="samp">-p =3</samp>&rsquo; will start with the third page of
the document, no matter what the pages are actually numbered.
</p>
</dd>
-<dt id='index-forcing-palette-output'><span>&lsquo;<samp>--palette*</samp>&rsquo;<a href='#index-forcing-palette-output' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>When an external image is included, &lsquo;<samp>dvipng</samp>&rsquo; will automatically
+<dt id='index-forcing-palette-output'><span>&lsquo;<samp class="samp">--palette*</samp>&rsquo;<a class="copiable-link" href='#index-forcing-palette-output'> &para;</a></span></dt>
+<dd><p>When an external image is included, &lsquo;<samp class="samp">dvipng</samp>&rsquo; will automatically
switch to truecolor mode, to avoid unnecessary delay and quality
reduction, and enable the EPS translator to draw on a transparent
background and outside of the boundingbox. This switch will force
-palette (256-color) output and make &lsquo;<samp>dvipng</samp>&rsquo; revert to opaque
-clipped image inclusion. This will also override the &lsquo;<samp>--truecolor</samp>&rsquo;
+palette (256-color) output and make &lsquo;<samp class="samp">dvipng</samp>&rsquo; revert to opaque
+clipped image inclusion. This will also override the &lsquo;<samp class="samp">--truecolor</samp>&rsquo;
switch if present.
</p>
</dd>
-<dt id='index-no-erroneous-images'><span>&lsquo;<samp>--picky*</samp>&rsquo;<a href='#index-no-erroneous-images' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-no-erroneous-images'><span>&lsquo;<samp class="samp">--picky*</samp>&rsquo;<a class="copiable-link" href='#index-no-erroneous-images'> &para;</a></span></dt>
<dd><p>No images are output when a warning occurs. Normally, dvipng will
output an image in spite of a warning, but there may be something
missing in this image. One reason to use this option would be if you
@@ -787,108 +782,108 @@ but warnings will also occur for missing or unknown color specs and
missing PK fonts.
</p>
</dd>
-<dt id='index-PNG-image-format'><span>&lsquo;<samp>--png*</samp>&rsquo;<a href='#index-PNG-image-format' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-PNG-image-format'><span>&lsquo;<samp class="samp">--png*</samp>&rsquo;<a class="copiable-link" href='#index-PNG-image-format'> &para;</a></span></dt>
<dd><p>The images are output in the PNG format. This is the default for the
-&lsquo;<samp>dvipng</samp>&rsquo; binary. See also the &lsquo;<samp>--gif</samp>&rsquo; option.
+&lsquo;<samp class="samp">dvipng</samp>&rsquo; binary. See also the &lsquo;<samp class="samp">--gif</samp>&rsquo; option.
</p>
</dd>
-<dt id='index-page-range'><span>&lsquo;<samp>-pp <var>firstpage</var>-<var>lastpage</var></samp>&rsquo;<a href='#index-page-range' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Print pages <var>firstpage</var> through <var>lastpage</var>; but not quite
-equivalent to &lsquo;<samp>-p <var>firstpage</var> -l <var>lastpage</var></samp>&rsquo;. For example,
+<dt id='index-page-range'><span>&lsquo;<samp class="samp">-pp <var class="var">firstpage</var>-<var class="var">lastpage</var></samp>&rsquo;<a class="copiable-link" href='#index-page-range'> &para;</a></span></dt>
+<dd><p>Print pages <var class="var">firstpage</var> through <var class="var">lastpage</var>; but not quite
+equivalent to &lsquo;<samp class="samp">-p <var class="var">firstpage</var> -l <var class="var">lastpage</var></samp>&rsquo;. For example,
when rendering a book, there may be several instances of a page in the
-DVI file (one in <code>\frontmatter</code>, one in <code>\mainmatter</code>, and one
-in <code>\backmatter</code>). In case of several pages matching, &lsquo;<samp>-pp
-<var>firstpage</var>-<var>lastpage</var></samp>&rsquo; will render <em>all</em> pages that
-matches the specified range, while &lsquo;<samp>-p <var>firstpage</var> -l
-<var>lastpage</var></samp>&rsquo; will render the pages from the <em>first</em> occurrence
-of <var>firstpage</var> to the <em>first</em> occurrence of <var>lastpage</var>.
+DVI file (one in <code class="code">\frontmatter</code>, one in <code class="code">\mainmatter</code>, and one
+in <code class="code">\backmatter</code>). In case of several pages matching, &lsquo;<samp class="samp">-pp
+<var class="var">firstpage</var>-<var class="var">lastpage</var></samp>&rsquo; will render <em class="emph">all</em> pages that
+matches the specified range, while &lsquo;<samp class="samp">-p <var class="var">firstpage</var> -l
+<var class="var">lastpage</var></samp>&rsquo; will render the pages from the <em class="emph">first</em> occurrence
+of <var class="var">firstpage</var> to the <em class="emph">first</em> occurrence of <var class="var">lastpage</var>.
This is the (undocumented) behaviour of dvips. In dvipng you can give
both kinds of options, in which case you get all pages that matches the
-range in &lsquo;<samp>-pp</samp>&rsquo; between the pages from &lsquo;<samp>-p</samp>&rsquo; to &lsquo;<samp>-l</samp>&rsquo;. Also
-multiple &lsquo;<samp>-pp</samp>&rsquo; options accumulate, unlike &lsquo;<samp>-p</samp>&rsquo; and &lsquo;<samp>-l</samp>&rsquo;.
-The &lsquo;<samp>-</samp>&rsquo; separator can also be &lsquo;<samp>:</samp>&rsquo;. Note that &lsquo;<samp>-pp -1</samp>&rsquo;
+range in &lsquo;<samp class="samp">-pp</samp>&rsquo; between the pages from &lsquo;<samp class="samp">-p</samp>&rsquo; to &lsquo;<samp class="samp">-l</samp>&rsquo;. Also
+multiple &lsquo;<samp class="samp">-pp</samp>&rsquo; options accumulate, unlike &lsquo;<samp class="samp">-p</samp>&rsquo; and &lsquo;<samp class="samp">-l</samp>&rsquo;.
+The &lsquo;<samp class="samp">-</samp>&rsquo; separator can also be &lsquo;<samp class="samp">:</samp>&rsquo;. Note that &lsquo;<samp class="samp">-pp -1</samp>&rsquo;
will be interpreted as &quot;all pages up to and including 1&quot;, if you want a
-page numbered -1 (only the table of contents, say) put &lsquo;<samp>-pp -1--1</samp>&rsquo;,
-or more readable, &lsquo;<samp>-pp -1:-1</samp>&rsquo;.
+page numbered -1 (only the table of contents, say) put &lsquo;<samp class="samp">-pp -1--1</samp>&rsquo;,
+or more readable, &lsquo;<samp class="samp">-pp -1:-1</samp>&rsquo;.
</p>
</dd>
-<dt id='index-quiet-operation'><span>&lsquo;<samp>-q*</samp>&rsquo;<a href='#index-quiet-operation' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-silent-operation"></span>
-<span id="index-warnings_002c-suppressing"></span>
+<dt id='index-quiet-operation'><span>&lsquo;<samp class="samp">-q*</samp>&rsquo;<a class="copiable-link" href='#index-quiet-operation'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-silent-operation"></a>
+<a class="index-entry-id" id="index-warnings_002c-suppressing"></a>
<p>Run quietly. Don&rsquo;t chatter about pages converted, etc. to standard
output; report no warnings (only errors) to standard error.
</p>
</dd>
-<dt id='index-antialiasing-levels_002c-number-of'><span>&lsquo;<samp>-Q <var>num</var></samp>&rsquo;<a href='#index-antialiasing-levels_002c-number-of' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-quality"></span>
-<p>Set the quality to <var>num</var>. That is, choose the number of antialiasing
+<dt id='index-antialiasing-levels_002c-number-of'><span>&lsquo;<samp class="samp">-Q <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-antialiasing-levels_002c-number-of'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-quality"></a>
+<p>Set the quality to <var class="var">num</var>. That is, choose the number of antialiasing
levels for bitmapped fonts (PK), to be
-<var>num</var>*<var>num</var>+1. The default value is 4 which gives 17 levels of
+<var class="var">num</var>*<var class="var">num</var>+1. The default value is 4 which gives 17 levels of
antialiasing for antialiased fonts from these two. If FreeType is
available, its rendering is unaffected by this option.
</p>
</dd>
-<dt id='index-reverse-pagination'><span>&lsquo;<samp>-r*</samp>&rsquo;<a href='#index-reverse-pagination' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-reverse-pagination'><span>&lsquo;<samp class="samp">-r*</samp>&rsquo;<a class="copiable-link" href='#index-reverse-pagination'> &para;</a></span></dt>
<dd><p>Toggle output of pages in reverse/forward order. By default, the first
page in the DVI is output first.
</p>
</dd>
-<dt id='index-exit-on-erroneous-images'><span>&lsquo;<samp>--strict*</samp>&rsquo;<a href='#index-exit-on-erroneous-images' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-exit-on-erroneous-images'><span>&lsquo;<samp class="samp">--strict*</samp>&rsquo;<a class="copiable-link" href='#index-exit-on-erroneous-images'> &para;</a></span></dt>
<dd><p>The program exits when a warning occurs. Normally, dvipng will output
an image in spite of a warning, but there may be something missing in
this image. One reason to use this option would be if you have a more
-complete but slower fallback converter. See the &lsquo;<samp>--picky</samp>&rsquo; option
+complete but slower fallback converter. See the &lsquo;<samp class="samp">--picky</samp>&rsquo; option
above for a list of when warnings occur.
</p>
</dd>
-<dt><span>&lsquo;<samp>-T <var>image_size</var></samp>&rsquo;</span></dt>
-<dd><p>Set the image size to <var>image_size</var> which can be either of
-&lsquo;<samp>bbox</samp>&rsquo;, &lsquo;<samp>tight</samp>&rsquo;, or a comma-separated pair of dimensions
-<var>hsize</var>,<var>vsize</var> such as &lsquo;<samp>.1in,.3cm</samp>&rsquo;. The default is
-&lsquo;<samp>bbox</samp>&rsquo; which produces a PNG that includes all ink put on the page
+<dt>&lsquo;<samp class="samp">-T <var class="var">image_size</var></samp>&rsquo;</dt>
+<dd><p>Set the image size to <var class="var">image_size</var> which can be either of
+&lsquo;<samp class="samp">bbox</samp>&rsquo;, &lsquo;<samp class="samp">tight</samp>&rsquo;, or a comma-separated pair of dimensions
+<var class="var">hsize</var>,<var class="var">vsize</var> such as &lsquo;<samp class="samp">.1in,.3cm</samp>&rsquo;. The default is
+&lsquo;<samp class="samp">bbox</samp>&rsquo; which produces a PNG that includes all ink put on the page
and in addition the DVI origin, located 1in from the top and 1in from
the left edge of the paper. This usually gives whitespace above and to
-the left in the produced image. The value &lsquo;<samp>tight</samp>&rsquo; will make dvipng
+the left in the produced image. The value &lsquo;<samp class="samp">tight</samp>&rsquo; will make dvipng
only include all ink put on the page, producing neat images.
</p>
</dd>
-<dt id='index-truecolor-output'><span>&lsquo;<samp>--truecolor*</samp>&rsquo;<a href='#index-truecolor-output' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>This will make &lsquo;<samp>dvipng</samp>&rsquo; generate truecolor output. Note that
+<dt id='index-truecolor-output'><span>&lsquo;<samp class="samp">--truecolor*</samp>&rsquo;<a class="copiable-link" href='#index-truecolor-output'> &para;</a></span></dt>
+<dd><p>This will make &lsquo;<samp class="samp">dvipng</samp>&rsquo; generate truecolor output. Note that
truecolor output is automatic if you include an external image in your
-DVI, e.g., via a PostScript special (i.e., the &lsquo;<samp>graphics</samp>&rsquo; or
-&lsquo;<samp>graphicx</samp>&rsquo; package). This switch is overridden by the
-&lsquo;<samp>--palette</samp>&rsquo; switch.
+DVI, e.g., via a PostScript special (i.e., the &lsquo;<samp class="samp">graphics</samp>&rsquo; or
+&lsquo;<samp class="samp">graphicx</samp>&rsquo; package). This switch is overridden by the
+&lsquo;<samp class="samp">--palette</samp>&rsquo; switch.
</p>
</dd>
-<dt><span>&lsquo;<samp>-v*</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">-v*</samp>&rsquo;</dt>
<dd><p>Enable verbose operation. This will currently indicate what fonts is
used, in addition to the usual output.
</p>
</dd>
-<dt id='index-width-reporting'><span>&lsquo;<samp>--width*</samp>&rsquo;<a href='#index-width-reporting' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Report the width of the image. See also &lsquo;<samp>--height</samp>&rsquo; and
-&lsquo;<samp>--depth</samp>&rsquo;.
+<dt id='index-width-reporting'><span>&lsquo;<samp class="samp">--width*</samp>&rsquo;<a class="copiable-link" href='#index-width-reporting'> &para;</a></span></dt>
+<dd><p>Report the width of the image. See also &lsquo;<samp class="samp">--height</samp>&rsquo; and
+&lsquo;<samp class="samp">--depth</samp>&rsquo;.
</p>
</dd>
-<dt id='index-magnification_002c-overriding-DVI'><span>&lsquo;<samp>-x <var>num</var></samp>&rsquo;<a href='#index-magnification_002c-overriding-DVI' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-magnification_002c-overriding-DVI'><span>&lsquo;<samp class="samp">-x <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-magnification_002c-overriding-DVI'> &para;</a></span></dt>
<dd><p>This option is deprecated; it should not be used. It is much better to
-select the output resolution directly with the &lsquo;<samp>-D</samp>&rsquo; option. This
-option sets the magnification ratio to <em class='math'><var>num</var>/1000</em> and
+select the output resolution directly with the &lsquo;<samp class="samp">-D</samp>&rsquo; option. This
+option sets the magnification ratio to <em class="math"><var class="var">num</var>/1000</em> and
overrides the magnification specified in the DVI file. Must be between
10 and 100000. It is recommended that you use standard magstep values
(1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the
-total number of PK files generated. <var>num</var> may be a real number, not
+total number of PK files generated. <var class="var">num</var> may be a real number, not
an integer, for increased precision.
</p>
</dd>
-<dt id='index-compression'><span>&lsquo;<samp>-z <var>num</var></samp>&rsquo;<a href='#index-compression' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the PNG compression level to <var>num</var>. This option is enabled if
-your &lsquo;<samp>libgd</samp>&rsquo; is new enough. The default compression level is 1,
+<dt id='index-compression'><span>&lsquo;<samp class="samp">-z <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-compression'> &para;</a></span></dt>
+<dd><p>Set the PNG compression level to <var class="var">num</var>. This option is enabled if
+your &lsquo;<samp class="samp">libgd</samp>&rsquo; is new enough. The default compression level is 1,
which selects maximum speed at the price of slightly larger PNGs. For an
-older &lsquo;<samp>libgd</samp>&rsquo;, the hard-soldered value 5 is used. The include file
-&lsquo;<samp>png.h</samp>&rsquo; says
-</p><blockquote>
+older &lsquo;<samp class="samp">libgd</samp>&rsquo;, the hard-soldered value 5 is used. The include file
+&lsquo;<samp class="samp">png.h</samp>&rsquo; says
+</p><blockquote class="quotation">
<p>Currently, valid values range from 0 - 9, corresponding directly to the
zlib compression levels 0 - 9 (0 - no compression, 9 - &quot;maximal&quot;
compression). Note that tests have shown that zlib compression levels
@@ -902,34 +897,34 @@ correspond directly to the zlib compression levels.
<hr>
</div>
</div>
-<div class="chapter" id="Graphics">
-<div class="header">
+<div class="chapter-level-extent" id="Graphics">
+<div class="nav-panel">
<p>
Next: <a href="#Color" accesskey="n" rel="next">Color</a>, Previous: <a href="#Command_002dline-options" accesskey="p" rel="prev">Command-line options</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Graphics-1"></span><h2 class="chapter">5 Graphics</h2>
+<h2 class="chapter" id="Graphics-1">5 Graphics</h2>
-<p>&lsquo;<samp>dvipng</samp>&rsquo; attempts to handle graphics as included by the
-&lsquo;<samp>graphicx</samp>&rsquo; and &lsquo;<samp>graphics</samp>&rsquo; packages, without the need of
+<p>&lsquo;<samp class="samp">dvipng</samp>&rsquo; attempts to handle graphics as included by the
+&lsquo;<samp class="samp">graphicx</samp>&rsquo; and &lsquo;<samp class="samp">graphics</samp>&rsquo; packages, without the need of
specifying a driver to these packages. This means that it recognizes
-the encapsulated postscript inclusion meant for &lsquo;<samp>dvips</samp>&rsquo;, but is
+the encapsulated postscript inclusion meant for &lsquo;<samp class="samp">dvips</samp>&rsquo;, but is
also able (from version 1.8) to include bitmapped graphics. It also
tries to handle some of the raw PostScript that is output from various
packages. Some of the possibilities and problems are mentioned below.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Encapsulated-PostScript" accesskey="1">Encapsulated PostScript</a></li>
<li><a href="#Bitmapped-graphics" accesskey="2">Bitmapped graphics</a></li>
<li><a href="#Raw-PostScript" accesskey="3">Raw PostScript</a></li>
</ul>
<hr>
-<div class="section" id="Encapsulated-PostScript">
-<div class="header">
+<div class="section-level-extent" id="Encapsulated-PostScript">
+<div class="nav-panel">
<p>
Next: <a href="#Bitmapped-graphics" accesskey="n" rel="next">Bitmapped graphics</a>, Up: <a href="#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Encapsulated-PostScript-1"></span><h3 class="section">5.1 Encapsulated PostScript</h3>
+<h3 class="section" id="Encapsulated-PostScript-1">5.1 Encapsulated PostScript</h3>
<p>When an EPS file is included, a call to GhostScript is performed to
produce a bitmapped image that can be included. The default is to
@@ -939,43 +934,43 @@ foreground on the PNG. Of course, if the image is to be cropped, that
is done. The included image will be a truecolor image, so for maximum
performance the output PNG will be in truecolor mode as well.
</p>
-<p>This conversion needs the &lsquo;<samp>pngalpha</samp>&rsquo; output device to be present
+<p>This conversion needs the &lsquo;<samp class="samp">pngalpha</samp>&rsquo; output device to be present
in your copy of GhostScript. If that device is not present, or you use
-the &lsquo;<samp>--palette</samp>&rsquo; switch or request GIF output, the fallback is to
-use the &lsquo;<samp>png16m</samp>&rsquo; device to produce a cropped opaque image for
-inclusion. Other relevant switches are &lsquo;<samp>--noghostscript</samp>&rsquo; and
-&lsquo;<samp>--nogssafer</samp>&rsquo;. See <a href="#Option-details">Option details</a>.
+the &lsquo;<samp class="samp">--palette</samp>&rsquo; switch or request GIF output, the fallback is to
+use the &lsquo;<samp class="samp">png16m</samp>&rsquo; device to produce a cropped opaque image for
+inclusion. Other relevant switches are &lsquo;<samp class="samp">--noghostscript</samp>&rsquo; and
+&lsquo;<samp class="samp">--nogssafer</samp>&rsquo;. See <a class="xref" href="#Option-details">Option details</a>.
</p>
-<span id="index-PostScript-inclusion-problems"></span>
+<a class="index-entry-id" id="index-PostScript-inclusion-problems"></a>
<p>The most common problem with including graphics is an incorrect
bounding box. Complain to whoever wrote the software that generated
the file if the bounding box is indeed incorrect. An adjusted
-boundingbox can be specified in the &lsquo;<samp>\includegraphics</samp>&rsquo; call, as
-in this example (using &lsquo;<samp>graphicx</samp>&rsquo;):
+boundingbox can be specified in the &lsquo;<samp class="samp">\includegraphics</samp>&rsquo; call, as
+in this example (using &lsquo;<samp class="samp">graphicx</samp>&rsquo;):
</p>
<div class="example">
-<pre class="example">\includegraphics[bb=10 20 100 200]{imagename.eps}
+<pre class="example-preformatted">\includegraphics[bb=10 20 100 200]{imagename.eps}
</pre></div>
<hr>
</div>
-<div class="section" id="Bitmapped-graphics">
-<div class="header">
+<div class="section-level-extent" id="Bitmapped-graphics">
+<div class="nav-panel">
<p>
Next: <a href="#Raw-PostScript" accesskey="n" rel="next">Raw PostScript</a>, Previous: <a href="#Encapsulated-PostScript" accesskey="p" rel="prev">Encapsulated PostScript</a>, Up: <a href="#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Bitmapped-graphics-1"></span><h3 class="section">5.2 Bitmapped graphics</h3>
+<h3 class="section" id="Bitmapped-graphics-1">5.2 Bitmapped graphics</h3>
<p>dvipng can include PNG, JPEG and GIF graphics. When including such
-images via &lsquo;<samp>\includegraphics</samp>&rsquo; you need to specify the bounding
+images via &lsquo;<samp class="samp">\includegraphics</samp>&rsquo; you need to specify the bounding
box since TeX itself cannot read them from the files in question.
-The bounding box size should be given as &lsquo;<samp>0 0 w h</samp>&rsquo; in pixels,
-e.g., if the file &lsquo;<samp>imagename.png</samp>&rsquo; is 300x400 pixels, the
+The bounding box size should be given as &lsquo;<samp class="samp">0 0 w h</samp>&rsquo; in pixels,
+e.g., if the file &lsquo;<samp class="samp">imagename.png</samp>&rsquo; is 300x400 pixels, the
inclusion would read
</p>
<div class="example">
-<pre class="example">\includegraphics[bb=0 0 300 400]{imagename.png}
+<pre class="example-preformatted">\includegraphics[bb=0 0 300 400]{imagename.png}
</pre></div>
<p>The default size is the image size in bp (&ldquo;big points&rdquo; in TeX
@@ -991,30 +986,30 @@ so on. Simple, eh? The example above at 200 dpi would be 1.5 inches
wide:
</p>
<div class="example">
-<pre class="example">\includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png}
+<pre class="example-preformatted">\includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png}
</pre></div>
<hr>
</div>
-<div class="section" id="Raw-PostScript">
-<div class="header">
+<div class="section-level-extent" id="Raw-PostScript">
+<div class="nav-panel">
<p>
Previous: <a href="#Bitmapped-graphics" accesskey="p" rel="prev">Bitmapped graphics</a>, Up: <a href="#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Raw-PostScript-1"></span><h3 class="section">5.3 Raw PostScript</h3>
+<h3 class="section" id="Raw-PostScript-1">5.3 Raw PostScript</h3>
<p>dvipng attempts to handle raw PostScript. Rendering raw PostScript
specials is done on top of the page by including a transparent image
-generated by the &lsquo;<samp>pngalpha</samp>&rsquo; device in GhostScript (automatically
-selecting &lsquo;<samp>truecolor</samp>&rsquo; mode in dvipng).
+generated by the &lsquo;<samp class="samp">pngalpha</samp>&rsquo; device in GhostScript (automatically
+selecting &lsquo;<samp class="samp">truecolor</samp>&rsquo; mode in dvipng).
</p>
<p>Included PostScript headers are respected, and if the header
-&lsquo;<samp>tex.pro</samp>&rsquo; is included, dvipng also throws in &lsquo;<samp>color.pro</samp>&rsquo; and
-&lsquo;<samp>special.pro</samp>&rsquo;. The package &lsquo;<samp>xcolor</samp>&rsquo; includes its own headers
+&lsquo;<samp class="samp">tex.pro</samp>&rsquo; is included, dvipng also throws in &lsquo;<samp class="samp">color.pro</samp>&rsquo; and
+&lsquo;<samp class="samp">special.pro</samp>&rsquo;. The package &lsquo;<samp class="samp">xcolor</samp>&rsquo; includes its own headers
with color names, and this is not only kept as a PostScript header, but
is also read and interpreted by dvipng itself. An attempt is also made
to respect the PGF header. The non-rendering specials from
-&lsquo;<samp>hyperref</samp>&rsquo; are handled via some heuristics and do not give an
+&lsquo;<samp class="samp">hyperref</samp>&rsquo; are handled via some heuristics and do not give an
error.
</p>
<p>Really rendering and moving things with raw PostScript specials is more
@@ -1026,99 +1021,99 @@ this, at present. An attempt has been made to handle the rendering
specials output by PGF (tikz), and also PSTricks. Some things work, but
others do not. This is especially clear when mixing PostScript and DVI
rendering commands such as glyphs. dvipng cannot at present detect if
-PostScript code moves &lsquo;<samp>currentpoint</samp>&rsquo; or rotates the frame since
+PostScript code moves &lsquo;<samp class="samp">currentpoint</samp>&rsquo; or rotates the frame since
GhostScript does not return such information. A recommendation would be
to produce images from these packages as EPS files and include them into
your document in the standard manner.
</p>
<p>Another way to handle this would be to use a slower fallback (with dvips
and gs, for example). If you want to disable raw PostScript handling in
-dvipng, use the switch &lsquo;<samp>--norawps</samp>&rsquo;. This switch turns off the
+dvipng, use the switch &lsquo;<samp class="samp">--norawps</samp>&rsquo;. This switch turns off the
internal call to GhostScript intended to display these raw PostScript
specials. Further, when dvipng encounters raw PostScript and the gs call
is turned off, it gives a warning. It is now possible to use the switch
-&lsquo;<samp>--picky</samp>&rsquo; to disable page rendering of pages with warnings, and use
+&lsquo;<samp class="samp">--picky</samp>&rsquo; to disable page rendering of pages with warnings, and use
the slower fallback for these pages.
</p>
<hr>
</div>
</div>
-<div class="chapter" id="Color">
-<div class="header">
+<div class="chapter-level-extent" id="Color">
+<div class="nav-panel">
<p>
Next: <a href="#Diagnosing-problems" accesskey="n" rel="next">Diagnosing problems</a>, Previous: <a href="#Graphics" accesskey="p" rel="prev">Graphics</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-1"></span><h2 class="chapter">6 Color</h2>
+<h2 class="chapter" id="Color-1">6 Color</h2>
<p>To support color, dvipng recognizes a certain set of specials as
-generated by the &lsquo;<samp>color</samp>&rsquo; and &lsquo;<samp>xcolor</samp>&rsquo; style files. These
-specials start with the keyword &lsquo;<samp>color</samp>&rsquo; or the keyword
-&lsquo;<samp>background</samp>&rsquo;, followed by a color specification.
+generated by the &lsquo;<samp class="samp">color</samp>&rsquo; and &lsquo;<samp class="samp">xcolor</samp>&rsquo; style files. These
+specials start with the keyword &lsquo;<samp class="samp">color</samp>&rsquo; or the keyword
+&lsquo;<samp class="samp">background</samp>&rsquo;, followed by a color specification.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Color-specifications" accesskey="1">Color specifications</a></li>
<li><a href="#Color-specials" accesskey="2">Color specials</a></li>
</ul>
<hr>
-<div class="section" id="Color-specifications">
-<div class="header">
+<div class="section-level-extent" id="Color-specifications">
+<div class="nav-panel">
<p>
Next: <a href="#Color-specials" accesskey="n" rel="next">Color specials</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-specifications-1"></span><h3 class="section">6.1 Color specifications</h3>
+<h3 class="section" id="Color-specifications-1">6.1 Color specifications</h3>
-<span id="index-color-specifications"></span>
+<a class="index-entry-id" id="index-color-specifications"></a>
<p>The color specification supported by dvipng is by-value or by-name. The
-by-value spec starts with the name of a color model (one of &lsquo;<samp>rgb</samp>&rsquo;,
-&lsquo;<samp>hsb</samp>&rsquo;, &lsquo;<samp>cmy</samp>&rsquo;, &lsquo;<samp>cmyk</samp>&rsquo;, or &lsquo;<samp>gray</samp>&rsquo;) followed by the
+by-value spec starts with the name of a color model (one of &lsquo;<samp class="samp">rgb</samp>&rsquo;,
+&lsquo;<samp class="samp">hsb</samp>&rsquo;, &lsquo;<samp class="samp">cmy</samp>&rsquo;, &lsquo;<samp class="samp">cmyk</samp>&rsquo;, or &lsquo;<samp class="samp">gray</samp>&rsquo;) followed by the
appropriate number of parameters. Thus, the color specification
-&lsquo;<samp>rgb 0.3 0.4 0.5</samp>&rsquo; would correspond to the color that is &lsquo;<samp>0.3
+&lsquo;<samp class="samp">rgb 0.3 0.4 0.5</samp>&rsquo; would correspond to the color that is &lsquo;<samp class="samp">0.3
0.4 0.5</samp>&rsquo; in its red, blue and green values. The color model used
-internally in dvipng is &lsquo;<samp>RGB</samp>&rsquo; (discretized to 256 levels), for
-details on the formulas used in conversion, see the &lsquo;<samp>xcolor</samp>&rsquo;
+internally in dvipng is &lsquo;<samp class="samp">RGB</samp>&rsquo; (discretized to 256 levels), for
+details on the formulas used in conversion, see the &lsquo;<samp class="samp">xcolor</samp>&rsquo;
documentation.
</p>
<p>By-name color specifications are single (case-dependent) words and are
-compared with color names defined in &lsquo;<samp>dvipsnam.def</samp>&rsquo; (from the
-&lsquo;<samp>graphics</samp>&rsquo; bundle), &lsquo;<samp>svgnam.def</samp>&rsquo; and &lsquo;<samp>xcolor.sty</samp>&rsquo; (from
-the &lsquo;<samp>xcolor</samp>&rsquo; bundle). See the &lsquo;<samp>xcolor</samp>&rsquo; documentation for a
+compared with color names defined in &lsquo;<samp class="samp">dvipsnam.def</samp>&rsquo; (from the
+&lsquo;<samp class="samp">graphics</samp>&rsquo; bundle), &lsquo;<samp class="samp">svgnam.def</samp>&rsquo; and &lsquo;<samp class="samp">xcolor.sty</samp>&rsquo; (from
+the &lsquo;<samp class="samp">xcolor</samp>&rsquo; bundle). See the &lsquo;<samp class="samp">xcolor</samp>&rsquo; documentation for a
list of names and the corresponding colors.
</p>
-<p>On the command-line, the name &lsquo;<samp>Transparent</samp>&rsquo; can also be used as
-an argument to &lsquo;<samp>--bg</samp>&rsquo; to choose transparent background.
-See <a href="#Option-details">Option details</a>.
+<p>On the command-line, the name &lsquo;<samp class="samp">Transparent</samp>&rsquo; can also be used as
+an argument to &lsquo;<samp class="samp">--bg</samp>&rsquo; to choose transparent background.
+See <a class="xref" href="#Option-details">Option details</a>.
</p>
<hr>
</div>
-<div class="section" id="Color-specials">
-<div class="header">
+<div class="section-level-extent" id="Color-specials">
+<div class="nav-panel">
<p>
Previous: <a href="#Color-specifications" accesskey="p" rel="prev">Color specifications</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-specials-1"></span><h3 class="section">6.2 Color specials</h3>
+<h3 class="section" id="Color-specials-1">6.2 Color specials</h3>
-<p>We will describe &lsquo;<samp>background</samp>&rsquo; first, since it is the simplest. The
-&lsquo;<samp>background</samp>&rsquo; keyword must be followed by a color specification.
+<p>We will describe &lsquo;<samp class="samp">background</samp>&rsquo; first, since it is the simplest. The
+&lsquo;<samp class="samp">background</samp>&rsquo; keyword must be followed by a color specification.
That color specification is used as a fill color for the background. The
-last &lsquo;<samp>background</samp>&rsquo; special on a page is the one that gets used, and
+last &lsquo;<samp class="samp">background</samp>&rsquo; special on a page is the one that gets used, and
is used for the whole of the page image. (This is possible because the
prescan phase of dvipng notices all of the color specials so that the
appropriate information can be written out during the second phase.)
</p>
-<p>The &lsquo;<samp>color</samp>&rsquo; special itself has three forms. The first is just
-&lsquo;<samp>color</samp>&rsquo; followed by a color specification. In this case, the
+<p>The &lsquo;<samp class="samp">color</samp>&rsquo; special itself has three forms. The first is just
+&lsquo;<samp class="samp">color</samp>&rsquo; followed by a color specification. In this case, the
current global color is set to that color; the color stack must be empty
when such a command is executed.
</p>
-<p>The second form is &lsquo;<samp>color push</samp>&rsquo; followed by a color specification.
+<p>The second form is &lsquo;<samp class="samp">color push</samp>&rsquo; followed by a color specification.
This saves the current color on the color stack and sets the color to be
that given by the color specification. This is the most common way to
set a color.
</p>
-<p>The final form of the &lsquo;<samp>color</samp>&rsquo; special is just &lsquo;<samp>color pop</samp>&rsquo;,
+<p>The final form of the &lsquo;<samp class="samp">color</samp>&rsquo; special is just &lsquo;<samp class="samp">color pop</samp>&rsquo;,
with no color specification; this says to pop the color last pushed on
the color stack from the color stack and set the current color to be
that color.
@@ -1129,16 +1124,16 @@ the pages are rendered repeatedly or in reverse order.
<hr>
</div>
</div>
-<div class="chapter" id="Diagnosing-problems">
-<div class="header">
+<div class="chapter-level-extent" id="Diagnosing-problems">
+<div class="nav-panel">
<p>
Next: <a href="#Credits" accesskey="n" rel="next">Credits</a>, Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Diagnosing-problems-1"></span><h2 class="chapter">7 Diagnosing problems</h2>
+<h2 class="chapter" id="Diagnosing-problems-1">7 Diagnosing problems</h2>
-<span id="index-problems"></span>
-<span id="index-trouble"></span>
-<span id="index-debugging-1"></span>
+<a class="index-entry-id" id="index-problems"></a>
+<a class="index-entry-id" id="index-trouble"></a>
+<a class="index-entry-id" id="index-debugging-1"></a>
<p>You&rsquo;ve gone through all the trouble of installing dvipng, carefully read
all the instructions in this manual, and still can&rsquo;t get something to
@@ -1146,92 +1141,92 @@ work. The following sections provide some helpful hints if you find
yourself in such a situation.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Contact-information" accesskey="1">Contact information</a></li>
<li><a href="#Debug-options" accesskey="2">Debug options</a></li>
</ul>
<hr>
-<div class="section" id="Contact-information">
-<div class="header">
+<div class="section-level-extent" id="Contact-information">
+<div class="nav-panel">
<p>
Next: <a href="#Debug-options" accesskey="n" rel="next">Debug options</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Contact-information-1"></span><h3 class="section">7.1 Contact information</h3>
+<h3 class="section" id="Contact-information-1">7.1 Contact information</h3>
<p>Bug reports should be sent to
-<a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>.
+<a class="email" href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>.
</p>
<p>Questions, suggestions for new features, pleas for help, and/or praise
-should go to <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this
+should go to <a class="email" href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this
mailing list, send a message with just the word &lsquo;help&rsquo; as subject or
-body to <a href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at
-<a href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>.
+body to <a class="email" href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at
+<a class="url" href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>.
</p>
<p>Offers to support further development will be appreciated. For developer
-access, ask on <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>.
+access, ask on <a class="email" href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>.
</p>
-<p>For details on the TeX path-searching library, and <code>mktexpk</code>
-problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Common-problems">Common problems</a> in <cite>Kpathsea</cite>.
+<p>For details on the TeX path-searching library, and <code class="code">mktexpk</code>
+problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Common-problems">Common problems</a> in <cite class="cite">Kpathsea</cite>.
</p>
<hr>
</div>
-<div class="section" id="Debug-options">
-<div class="header">
+<div class="section-level-extent" id="Debug-options">
+<div class="nav-panel">
<p>
Previous: <a href="#Contact-information" accesskey="p" rel="prev">Contact information</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Debug-options-1"></span><h3 class="section">7.2 Debug options</h3>
+<h3 class="section" id="Debug-options-1">7.2 Debug options</h3>
-<p>The &lsquo;<samp>-d</samp>&rsquo; flag to dvipng helps in tracking down certain errors. The
+<p>The &lsquo;<samp class="samp">-d</samp>&rsquo; flag to dvipng helps in tracking down certain errors. The
parameter to this flag is an integer that tells what errors are
currently being tracked. To track a certain class of debug messages,
simply provide the appropriate number given below; if you wish to track
multiple classes, sum the numbers of the classes you wish to track. To
-track all classes, you can use <code>-1</code>.
+track all classes, you can use <code class="code">-1</code>.
</p>
<p>Some of these debugging options are actually provided by Kpathsea
-(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>).
+(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>).
</p>
<p>The classes are:
-</p><dl compact="compact">
-<dt><span>1</span></dt>
+</p><dl class="table">
+<dt>1</dt>
<dd><p>Normal dvi op-codes
</p></dd>
-<dt><span>2</span></dt>
+<dt>2</dt>
<dd><p>Virtual fonts
</p></dd>
-<dt><span>4</span></dt>
+<dt>4</dt>
<dd><p>PK fonts
</p></dd>
-<dt><span>8</span></dt>
+<dt>8</dt>
<dd><p>TFM files
</p></dd>
-<dt><span>16</span></dt>
+<dt>16</dt>
<dd><p>Glyph rendering
</p></dd>
-<dt><span>32</span></dt>
+<dt>32</dt>
<dd><p>FreeType calls
</p></dd>
-<dt><span>64</span></dt>
+<dt>64</dt>
<dd><p>Encoding loads
</p></dd>
-<dt><span>128</span></dt>
+<dt>128</dt>
<dd><p>Color specials
</p></dd>
-<dt><span>256</span></dt>
+<dt>256</dt>
<dd><p>GhostScript specials
</p></dd>
-<dt><span>512</span></dt>
-<dd><p>Kpathsea <code>stat</code> calls
+<dt>512</dt>
+<dd><p>Kpathsea <code class="code">stat</code> calls
</p></dd>
-<dt><span>1024</span></dt>
+<dt>1024</dt>
<dd><p>Kpathsea hash table lookups
</p></dd>
-<dt><span>2048</span></dt>
+<dt>2048</dt>
<dd><p>Kpathsea path element expansion
</p></dd>
-<dt><span>4096</span></dt>
+<dt>4096</dt>
<dd><p>Kpathsea path searches
</p>
</dd>
@@ -1240,12 +1235,12 @@ track all classes, you can use <code>-1</code>.
<hr>
</div>
</div>
-<div class="chapter" id="Credits">
-<div class="header">
+<div class="chapter-level-extent" id="Credits">
+<div class="nav-panel">
<p>
Next: <a href="#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a href="#Diagnosing-problems" accesskey="p" rel="prev">Diagnosing problems</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Credits-1"></span><h2 class="chapter">8 Credits</h2>
+<h2 class="chapter" id="Credits-1">8 Credits</h2>
<p>A number of persons have contributed, if I forget to mention someone,
I apologize. First and foremost we have David Kastrup whose
@@ -1268,12 +1263,12 @@ Waldeck Schutzer, Ahzo, and Andy Nguyen.
<hr>
</div>
-<div class="chapter" id="Copying">
-<div class="header">
+<div class="chapter-level-extent" id="Copying">
+<div class="nav-panel">
<p>
Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#Credits" accesskey="p" rel="prev">Credits</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Copying-1"></span><h2 class="chapter">9 Copying</h2>
+<h2 class="chapter" id="Copying-1">9 Copying</h2>
<p>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -1295,210 +1290,212 @@ License along with this program. If not, see
</p>
<hr>
</div>
-<div class="unnumbered" id="Index">
-<div class="header">
+<div class="unnumbered-level-extent" id="Index">
+<div class="nav-panel">
<p>
Previous: <a href="#Copying" accesskey="p" rel="prev">Copying</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Index-1"></span><h2 class="unnumbered">Index</h2>
+<h2 class="unnumbered" id="Index-1">Index</h2>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>-</b></a>
+<div class="printindex cp-printindex">
+<table class="cp-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>-</b></a>
&nbsp;
<br>
-<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a>
&nbsp;
</td></tr></table>
-<table class="index-cp" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
+<table class="cp-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><td>&nbsp;</td><th class="sections-header-printindex"> Section</th></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-1">-</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ddSAFER">-dSAFER</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ddSAFER">-dSAFER</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and &lsquo;<samp>-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and &lsquo;<samp>-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-antialiasing-levels_002c-number-of">antialiasing levels<span class="roman">, number of</span></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and &lsquo;<samp class="samp">-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and &lsquo;<samp class="samp">-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-antialiasing-levels_002c-number-of">antialiasing levels<span class="r">, number of</span></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-background-color-_0028option_0029">background color (option)</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-base-resolution_002c-setting">base resolution, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-baseline-reporting">baseline reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-baseline-reporting-1">baseline reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-background-color-_0028option_0029">background color (option)</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-base-resolution_002c-setting">base resolution, setting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-baseline-reporting">baseline reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-baseline-reporting-1">baseline reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-specifications">color specifications</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-specifications">Color specifications</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-command_002dline-options">command-line options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Command_002dline-options">Command-line options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compilation">compilation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compression">compression</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration_002c-of-dvipng">configuration, of dvipng</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-specifications">color specifications</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-specifications">Color specifications</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-command_002dline-options">command-line options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Command_002dline-options">Command-line options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation">compilation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compression">compression</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-of-dvipng">configuration, of dvipng</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dark-fonts">dark fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging">debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging-1">debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-depth-reporting">depth reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dark-fonts">dark fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging">debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-1">debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-depth-reporting">depth reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-exit-on-erroneous-images">exit on erroneous images</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-exit-on-erroneous-images">exit on erroneous images</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-first-page-printed">first page printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-follow-mode">follow mode</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-forcing-palette-output">forcing palette output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-foreground-color-_0028option_0029">foreground color (option)</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FreeType-font-rendering">FreeType font rendering</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fuzzy-images">fuzzy images</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-first-page-printed">first page printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-follow-mode">follow mode</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-forcing-palette-output">forcing palette output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-foreground-color-_0028option_0029">foreground color (option)</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FreeType-font-rendering">FreeType font rendering</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fuzzy-images">fuzzy images</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gamma">gamma</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GhostScript-and-_002ddSAFER">GhostScript and -dSAFER</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GhostScript_002c-turning-off">GhostScript, turning off</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GIF-image-format">GIF image format</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gamma">gamma</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GhostScript-and-_002ddSAFER">GhostScript and -dSAFER</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GhostScript_002c-turning-off">GhostScript, turning off</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GIF-image-format">GIF image format</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-height-reporting">height reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-height-reporting">height reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-installation_002c-of-dvipng">installation, of dvipng</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-invoking-dvipng">invoking dvipng</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-usage">Basic usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-installation_002c-of-dvipng">installation, of dvipng</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-invoking-dvipng">invoking dvipng</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-usage">Basic usage</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-last-page-printed">last page printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-light-fonts">light fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-last-page-printed">last page printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-light-fonts">light fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="roman">, avoiding</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="r">, avoiding</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-no-erroneous-images">no erroneous images</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-no-erroneous-images">no erroneous images</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-offset-pages">offset pages</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-option_002c-details-of">option, details of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-dvipng">options, dvipng</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Command_002dline-options">Command-line options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-summary">options, summary</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-summary">Option summary</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output-resolution_002c-setting">output resolution, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-offset-pages">offset pages</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-option_002c-details-of">option, details of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-dvipng">options, dvipng</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Command_002dline-options">Command-line options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-summary">options, summary</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-summary">Option summary</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output-resolution_002c-setting">output resolution, setting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page-range">page range</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and &lsquo;<samp>-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and &lsquo;<samp>-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PNG-image-format">PNG image format</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-inclusion-problems">PostScript inclusion problems</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encapsulated-PostScript">Encapsulated PostScript</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript_002c-turning-off-raw-PostScript-specials">PostScript, turning off raw PostScript specials</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-problems">problems</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page-range">page range</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and &lsquo;<samp class="samp">-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and &lsquo;<samp class="samp">-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PNG-image-format">PNG image format</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-inclusion-problems">PostScript inclusion problems</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encapsulated-PostScript">Encapsulated PostScript</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript_002c-turning-off-raw-PostScript-specials">PostScript, turning off raw PostScript specials</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-problems">problems</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-quality">quality</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-quiet-operation">quiet operation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-quality">quality</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-quiet-operation">quiet operation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-silent-operation">silent operation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-silent-operation">silent operation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-transparent-border-fallback-color">transparent border fallback color</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-transparent-border-width">transparent border width</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trouble">trouble</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-truecolor-output">truecolor output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-transparent-border-fallback-color">transparent border fallback color</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-transparent-border-width">transparent border width</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trouble">trouble</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-truecolor-output">truecolor output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-width-reporting">width reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-width-reporting">width reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>-</b></a>
+<table class="cp-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>-</b></a>
&nbsp;
<br>
-<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a>
&nbsp;
</td></tr></table>
</div>
</div>
+</div>
diff --git a/systems/doc/dvipng/dvipng.pdf b/systems/doc/dvipng/dvipng.pdf
index 028cd521cf..a33c295355 100644
--- a/systems/doc/dvipng/dvipng.pdf
+++ b/systems/doc/dvipng/dvipng.pdf
Binary files differ
diff --git a/systems/doc/dvips/NEWS b/systems/doc/dvips/NEWS
index 5389f7c95b..f301547e26 100644
--- a/systems/doc/dvips/NEWS
+++ b/systems/doc/dvips/NEWS
@@ -1,6 +1,30 @@
-$Id: NEWS 46759 2018-02-27 23:14:55Z karl $
+$Id: NEWS 65770 2023-02-09 21:26:50Z karl $
This file records noteworthy changes. (Public domain.)
+dvips 2023.1 (TeX Live 2023):
+ Check --help and --version early to avoid looking for texmf.cnf.
+
+dvips 2022.1 (TeX Live 2022):
+ New option (and config file directive) -landscaperotate: try to
+ automatically match rotated page content and paper sizes; in the past,
+ this was done by default, but it is generally unnecessary nowadays,
+ and can be troublesome when converting to PDF, so now the default is
+ not to do this. This option re-enables the rotated matching.
+ Use full font path (if specified) for tfm lookups, as with pk.
+
+dvips 2021.1 (TeX Live 2021):
+ Default title is now the basename of the input file instead of the
+ full path, and can be overridden with new option -title.
+ If an .eps or other image file is not found, dvips now exits unsuccessfully.
+ Support new feature of virtual font to fallback Japanese font definition.
+
+dvips 2020.1 (TeX Live 2020):
+ Encodings for bitmap fonts:
+ https://tug.org/TUGboat/tb40-2/tb125rokicki-type3search.pdf
+
+dvips 5.999 (TeX Live 2019):
+ Buffer overflows.
+
dvips 5.998 (TeX Live 2018):
New JFM (Japanese font metrics) spec supported; compiler portability fixes.
diff --git a/systems/doc/dvips/README b/systems/doc/dvips/README
index 8f373b1a03..e661ed7044 100644
--- a/systems/doc/dvips/README
+++ b/systems/doc/dvips/README
@@ -1,13 +1,25 @@
-$Id: README 17566 2010-03-26 17:29:02Z karl $
+$Id: README 63453 2022-05-31 15:40:57Z karl $
This directory contains Dvips, Tom Rokicki's dvips, a DVI-to-PostScript
translator. It requires the Kpathsea library for path searching.
-See `NEWS' for changes by release, `ChangeLog` for all changes.
-See `../kpathsea/BUGS' for details on reporting bugs.
-
Dvips is free software; Tom's original files are public domain. The
files Karl wrote (originally for the Free Software Foundation) are
covered by the GNU General Public License -- see the files COPYING*.
+
+Mailing list for bug reports and all general discussion:
+https://lists.tug.org/tex-k; anyone can join the list, but it is not
+necessary to join to post. Archives are public.
+
+See `NEWS' for changes by release, `ChangeLog` for all changes.
+
+dvips is now maintained as part of TeX Live, https://tug.org/texlive.
+Info on building only one program from TL, like this one:
+ https://tug.org/texinfohtml/tlbuild.html#Build-one-package
+TeX Live general build info:
+ https://tug.org/texlive/build.html
+Mailing list for build issues (same setup as tex-k, above):
+ https://lists.tug.org/tlbuild
+
-------------------------------------------------------------------------
The documentation is in the file dvips.texi.
diff --git a/systems/doc/dvips/dvips.html b/systems/doc/dvips/dvips.html
index 30e59aef42..54d42fa9a5 100644
--- a/systems/doc/dvips/dvips.html
+++ b/systems/doc/dvips/dvips.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
<html>
-<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual documents Dvips version 2022.1
-(January 2022), a program to translate a DVI file into
+<!-- This manual documents Dvips version 2023.1
+(February 2022), a program to translate a DVI file into
PostScript. You may freely use, modify and/or distribute this file. -->
<title>Dvips: A DVI-to-PostScript translator</title>
@@ -22,21 +22,20 @@ PostScript. You may freely use, modify and/or distribute this file. -->
<link href="#Why-Dvips" rel="next" title="Why Dvips">
<style type="text/css">
<!--
-a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-span:hover a.copiable-anchor {visibility: visible}
-ul.no-bullet {list-style: none}
+pre.display-preformatted {font-family: inherit}
+span.r {font-family: initial; font-weight: normal; font-style: normal}
+span:hover a.copiable-link {visibility: visible}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left}
+ul.mark-bullet {list-style-type: disc}
+ul.mark-minus {list-style-type: "\2212"}
+ul.toc-numbered-mark {list-style: none}
-->
</style>
@@ -44,7 +43,6 @@ ul.no-bullet {list-style: none}
</head>
<body lang="en">
-<h1 class="settitle" align="center">Dvips: A DVI-to-PostScript translator</h1>
@@ -53,33 +51,33 @@ ul.no-bullet {list-style: none}
-<div class="top" id="Top">
-<div class="header">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
<p>
Next: <a href="#Why-Dvips" accesskey="n" rel="next">Why use Dvips?</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Dvips"></span><h1 class="top">Dvips</h1>
+<h1 class="top" id="Dvips">Dvips</h1>
-<p>This manual documents Dvips version 2022.1
-(January 2022), a program to translate a DVI file into
+<p>This manual documents Dvips version 2023.1
+(February 2022), a program to translate a DVI file into
PostScript. You may freely use, modify and/or distribute this file.
</p>
-<div class="Contents_element" id="SEC_Contents">
+<div class="element-contents" id="SEC_Contents">
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
-<ul class="no-bullet">
+<ul class="toc-numbered-mark">
<li><a id="toc-Why-use-Dvips_003f" href="#Why-Dvips">1 Why use Dvips?</a></li>
<li><a id="toc-Installation-1" href="#Installation">2 Installation</a>
- <ul class="no-bullet">
- <li><a id="toc-config_002eps-installation-1" href="#config_002eps-installation">2.1 <samp>config.ps</samp> installation</a></li>
+ <ul class="toc-numbered-mark">
+ <li><a id="toc-config_002eps-installation-1" href="#config_002eps-installation">2.1 <samp class="file">config.ps</samp> installation</a></li>
<li><a id="toc-PostScript-font-installation-1" href="#PostScript-font-installation">2.2 PostScript font installation</a></li>
<li><a id="toc-Ghostscript-installation-1" href="#Ghostscript-installation">2.3 Ghostscript installation</a></li>
<li><a id="toc-Diagnosing-problems-1" href="#Diagnosing-problems">2.4 Diagnosing problems</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Debug-options-1" href="#Debug-options">2.4.1 Debug options</a></li>
<li><a id="toc-No-output-at-all" href="#No-output">2.4.2 No output at all</a></li>
<li><a id="toc-Output-too-small-or-inverted" href="#Small-or-inverted">2.4.3 Output too small or inverted</a></li>
@@ -89,65 +87,65 @@ PostScript. You may freely use, modify and/or distribute this file.
</ul></li>
</ul></li>
<li><a id="toc-Invoking-Dvips-1" href="#Invoking-Dvips">3 Invoking Dvips</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Basic-usage-of-Dvips" href="#Basic-usage">3.1 Basic usage of Dvips</a></li>
<li><a id="toc-Command_002dline-options-1" href="#Command_002dline-options">3.2 Command-line options</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Option-summary-1" href="#Option-summary">3.2.1 Option summary</a></li>
<li><a id="toc-Option-details-1" href="#Option-details">3.2.2 Option details</a></li>
</ul></li>
<li><a id="toc-Environment-variables-1" href="#Environment-variables">3.3 Environment variables</a></li>
<li><a id="toc-Dvips-configuration-files" href="#Config-files">3.4 Dvips configuration files</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Configuration-file-searching-1" href="#Configuration-file-searching">3.4.1 Configuration file searching</a></li>
<li><a id="toc-Configuration-file-commands-1" href="#Configuration-file-commands">3.4.2 Configuration file commands</a></li>
</ul></li>
</ul></li>
<li><a id="toc-Paper-size-and-landscape-orientation" href="#Paper-size-and-landscape">4 Paper size and landscape orientation</a>
- <ul class="no-bullet">
- <li><a id="toc-papersize-special-1" href="#papersize-special">4.1 &lsquo;<samp>papersize</samp>&rsquo; special</a></li>
+ <ul class="toc-numbered-mark">
+ <li><a id="toc-papersize-special-1" href="#papersize-special">4.1 &lsquo;<samp class="samp">papersize</samp>&rsquo; special</a></li>
<li><a id="toc-Configuration-file-paper-size-command" href="#Config-file-paper-sizes">4.2 Configuration file paper size command</a></li>
<li><a id="toc-Paper-trays-1" href="#Paper-trays">4.3 Paper trays</a></li>
</ul></li>
<li><a id="toc-Interaction-with-PostScript-1" href="#Interaction-with-PostScript">5 Interaction with PostScript</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-PostScript-figures-1" href="#PostScript-figures">5.1 PostScript figures</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-The-bounding-box-comment" href="#Bounding-box">5.1.1 The bounding box comment</a></li>
<li><a id="toc-The-_005cincludegraphics-macro-for-LaTeX" href="#g_t_005cincludegraphics">5.1.2 The \includegraphics macro for LaTeX</a></li>
<li><a id="toc-Using-the-EPSF-macros" href="#EPSF-macros">5.1.3 Using the EPSF macros</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-EPSF-scaling-1" href="#EPSF-scaling">5.1.3.1 EPSF scaling</a></li>
<li><a id="toc-EPSF-clipping-1" href="#EPSF-clipping">5.1.3.2 EPSF clipping</a></li>
</ul></li>
- <li><a id="toc-psfile-special-1" href="#psfile-special">5.1.4 &lsquo;<samp>psfile</samp>&rsquo; special</a></li>
+ <li><a id="toc-psfile-special-1" href="#psfile-special">5.1.4 &lsquo;<samp class="samp">psfile</samp>&rsquo; special</a></li>
<li><a id="toc-Dynamic-creation-of-PostScript-graphics-files" href="#Dynamic-creation-of-graphics">5.1.5 Dynamic creation of PostScript graphics files</a></li>
<li><a id="toc-Fonts-in-figures-1" href="#Fonts-in-figures">5.1.6 Fonts in figures</a></li>
</ul></li>
<li><a id="toc-PostScript-header-files" href="#Header-files">5.2 PostScript header files</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Including-headers-from-TeX-1" href="#Including-headers-from-TeX">5.2.1 Including headers from TeX</a></li>
<li><a id="toc-Including-headers-from-the-command-line-1" href="#Including-headers-from-the-command-line">5.2.2 Including headers from the command line</a></li>
<li><a id="toc-Headers-and-memory-usage-1" href="#Headers-and-memory-usage">5.2.3 Headers and memory usage</a></li>
</ul></li>
<li><a id="toc-Literal-PostScript" href="#Literal-PS">5.3 Literal PostScript</a>
- <ul class="no-bullet">
- <li><a id="toc-_0022-special_003a-Literal-PostScript" href="#g_t_0022-special">5.3.1 <code>&quot;</code> special: Literal PostScript</a></li>
- <li><a id="toc-ps-special-1" href="#ps-special">5.3.2 &lsquo;<samp>ps</samp>&rsquo; special</a></li>
- <li><a id="toc-Literal-headers_003a-_0021-_005cspecial" href="#Literal-headers">5.3.3 Literal headers: &lsquo;<samp>!</samp>&rsquo; <code>\special</code></a></li>
+ <ul class="toc-numbered-mark">
+ <li><a id="toc-_0022-special_003a-Literal-PostScript" href="#g_t_0022-special">5.3.1 <code class="code">&quot;</code> special: Literal PostScript</a></li>
+ <li><a id="toc-ps-special-1" href="#ps-special">5.3.2 &lsquo;<samp class="samp">ps</samp>&rsquo; special</a></li>
+ <li><a id="toc-Literal-headers_003a-_0021-_005cspecial" href="#Literal-headers">5.3.3 Literal headers: &lsquo;<samp class="samp">!</samp>&rsquo; <code class="code">\special</code></a></li>
<li><a id="toc-PostScript-hooks-1" href="#PostScript-hooks">5.3.4 PostScript hooks</a></li>
<li><a id="toc-Literal-examples-1" href="#Literal-examples">5.3.5 Literal examples</a></li>
</ul></li>
<li><a id="toc-HyperTeXt" href="#Hypertext">5.4 HyperTeXt</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Hypertext-caveats-1" href="#Hypertext-caveats">5.4.1 Hypertext caveats</a></li>
<li><a id="toc-Hypertext-specials-1" href="#Hypertext-specials">5.4.2 Hypertext specials</a></li>
</ul></li>
</ul></li>
<li><a id="toc-PostScript-fonts-1" href="#PostScript-fonts">6 PostScript fonts</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Font-concepts-1" href="#Font-concepts">6.1 Font concepts</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Metric-files-1" href="#Metric-files">6.1.1 Metric files</a></li>
<li><a id="toc-Glyph-files-1" href="#Glyph-files">6.1.2 Glyph files</a></li>
<li><a id="toc-Virtual-fonts-1" href="#Virtual-fonts">6.1.3 Virtual fonts</a></li>
@@ -157,29 +155,29 @@ PostScript. You may freely use, modify and/or distribute this file.
</ul></li>
<li><a id="toc-Making-a-PostScript-font-available" href="#Making-a-font-available">6.2 Making a PostScript font available</a></li>
<li><a id="toc-Invoking-Afm2tfm" href="#Invoking-afm2tfm">6.3 Invoking Afm2tfm</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Changing-font-encodings-1" href="#Changing-font-encodings">6.3.1 Changing font encodings</a>
- <ul class="no-bullet">
- <li><a id="toc-_002dt_003a-Changing-TeX-encodings" href="#Changing-TeX-encodings">6.3.1.1 &lsquo;<samp>-t</samp>&rsquo;: Changing TeX encodings</a></li>
- <li><a id="toc-_002dp_003a-Changing-PostScript-encodings" href="#Changing-PostScript-encodings">6.3.1.2 &lsquo;<samp>-p</samp>&rsquo;: Changing PostScript encodings</a></li>
- <li><a id="toc-_002dT_003a-Changing-both-TeX-and-PostScript-encodings" href="#Changing-both-encodings">6.3.1.3 &lsquo;<samp>-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a></li>
+ <ul class="toc-numbered-mark">
+ <li><a id="toc-_002dt_003a-Changing-TeX-encodings" href="#Changing-TeX-encodings">6.3.1.1 &lsquo;<samp class="samp">-t</samp>&rsquo;: Changing TeX encodings</a></li>
+ <li><a id="toc-_002dp_003a-Changing-PostScript-encodings" href="#Changing-PostScript-encodings">6.3.1.2 &lsquo;<samp class="samp">-p</samp>&rsquo;: Changing PostScript encodings</a></li>
+ <li><a id="toc-_002dT_003a-Changing-both-TeX-and-PostScript-encodings" href="#Changing-both-encodings">6.3.1.3 &lsquo;<samp class="samp">-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a></li>
<li><a id="toc-Reencoding-with-Afm2tfm-1" href="#Reencoding-with-Afm2tfm">6.3.1.4 Reencoding with Afm2tfm</a></li>
<li><a id="toc-Encoding-file-format-1" href="#Encoding-file-format">6.3.1.5 Encoding file format</a></li>
</ul></li>
<li><a id="toc-Special-font-effects-1" href="#Special-font-effects">6.3.2 Special font effects</a></li>
<li><a id="toc-Afm2tfm-options-1" href="#Afm2tfm-options">6.3.3 Afm2tfm options</a></li>
</ul></li>
- <li><a id="toc-psfonts_002emap_003a-PostScript-font-catalog" href="#psfonts_002emap">6.4 <samp>psfonts.map</samp>: PostScript font catalog</a></li>
+ <li><a id="toc-psfonts_002emap_003a-PostScript-font-catalog" href="#psfonts_002emap">6.4 <samp class="file">psfonts.map</samp>: PostScript font catalog</a></li>
</ul></li>
<li><a id="toc-Color-1" href="#Color">7 Color</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Color-macro-files-1" href="#Color-macro-files">7.1 Color macro files</a></li>
<li><a id="toc-User_002ddefinable-colors-1" href="#User_002ddefinable-colors">7.2 User-definable colors</a></li>
<li><a id="toc-Color-subtleties-1" href="#Color-subtleties">7.3 Color subtleties</a></li>
<li><a id="toc-Printing-in-black_002fwhite-after-colorizing" href="#Ted-Turner">7.4 Printing in black/white after colorizing</a></li>
<li><a id="toc-Color-device-configuration-1" href="#Color-device-configuration">7.5 Color device configuration</a></li>
<li><a id="toc-Color-support-details-1" href="#Color-support-details">7.6 Color support details</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Color-specifications-1" href="#Color-specifications">7.6.1 Color specifications</a></li>
<li><a id="toc-Color-specials-1" href="#Color-specials">7.6.2 Color specials</a></li>
</ul></li>
@@ -188,11 +186,11 @@ PostScript. You may freely use, modify and/or distribute this file.
</ul>
</div>
</div>
-<div class="Overview_element" id="SEC_Overview">
+<div class="element-shortcontents" id="SEC_Shortcontents">
<h2 class="shortcontents-heading">Short Table of Contents</h2>
<div class="shortcontents">
-<ul class="no-bullet">
+<ul class="toc-numbered-mark">
<li><a id="stoc-Why-use-Dvips_003f" href="#toc-Why-use-Dvips_003f">1 Why use Dvips?</a></li>
<li><a id="stoc-Installation-1" href="#toc-Installation-1">2 Installation</a></li>
<li><a id="stoc-Invoking-Dvips-1" href="#toc-Invoking-Dvips-1">3 Invoking Dvips</a></li>
@@ -205,17 +203,17 @@ PostScript. You may freely use, modify and/or distribute this file.
</div>
</div>
<hr>
-<div class="chapter" id="Why-Dvips">
-<div class="header">
+<div class="chapter-level-extent" id="Why-Dvips">
+<div class="nav-panel">
<p>
Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Dvips</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Why-use-Dvips_003f"></span><h2 class="chapter">1 Why use Dvips?</h2>
+<h2 class="chapter" id="Why-use-Dvips_003f">1 Why use Dvips?</h2>
<p>The Dvips program has a number of features that set it apart from
other PostScript drivers for TeX. This rather long section describes
the advantages of using Dvips, and may be skipped if you are just
-interested in learning how to use the program. See <a href="#Installation">Installation</a>, for
+interested in learning how to use the program. See <a class="xref" href="#Installation">Installation</a>, for
details of compilation and installation.
</p>
<p>The Dvips driver generates excellent, standard PostScript, that
@@ -259,77 +257,77 @@ files.
is possible. Adding such features is made easier by the highly modular
structure of the program.
</p>
-<span id="index-Rokicki_002c-Tomas"></span>
+<a class="index-entry-id" id="index-Rokicki_002c-Tomas"></a>
<p>Tom Rokicki wrote and maintains the original Dvips program.
</p>
<hr>
</div>
-<div class="chapter" id="Installation">
-<div class="header">
+<div class="chapter-level-extent" id="Installation">
+<div class="nav-panel">
<p>
Next: <a href="#Invoking-Dvips" accesskey="n" rel="next">Invoking Dvips</a>, Previous: <a href="#Why-Dvips" accesskey="p" rel="prev">Why use Dvips?</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2>
+<h2 class="chapter" id="Installation-1">2 Installation</h2>
-<span id="index-configuration_002c-of-Dvips"></span>
-<span id="index-compilation"></span>
-<span id="index-installation_002c-of-Dvips"></span>
+<a class="index-entry-id" id="index-configuration_002c-of-Dvips"></a>
+<a class="index-entry-id" id="index-compilation"></a>
+<a class="index-entry-id" id="index-installation_002c-of-Dvips"></a>
<p>Installing Dvips is mostly the same as installing any Kpathsea-using
program. Therefore, for the basic steps involved,
-see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite>Kpathsea</cite>.
+see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite class="cite">Kpathsea</cite>.
</p>
<p>For solutions to common installation problems and information on how to
-report a bug, see the file <samp>kpathsea/BUGS</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>). For solutions to Dvips-specific problems,
-see <a href="#Debug-options">Debug options</a>.
+report a bug, see the file <samp class="file">kpathsea/BUGS</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>). For solutions to Dvips-specific problems,
+see <a class="pxref" href="#Debug-options">Debug options</a>.
</p>
<p>Dvips does require some additional installation, detailed in the
-sections below. Also, to configure color devices, see <a href="#Color-device-configuration">Color device configuration</a>.
+sections below. Also, to configure color devices, see <a class="pxref" href="#Color-device-configuration">Color device configuration</a>.
</p>
-<ul class="section-toc">
-<li><a href="#config_002eps-installation" accesskey="1"><samp>config.ps</samp> installation</a></li>
+<ul class="mini-toc">
+<li><a href="#config_002eps-installation" accesskey="1"><samp class="file">config.ps</samp> installation</a></li>
<li><a href="#PostScript-font-installation" accesskey="2">PostScript font installation</a></li>
<li><a href="#Ghostscript-installation" accesskey="3">Ghostscript installation</a></li>
<li><a href="#Diagnosing-problems" accesskey="4">Diagnosing problems</a></li>
</ul>
<hr>
-<div class="section" id="config_002eps-installation">
-<div class="header">
+<div class="section-level-extent" id="config_002eps-installation">
+<div class="nav-panel">
<p>
Next: <a href="#PostScript-font-installation" accesskey="n" rel="next">PostScript font installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="config_002eps-installation-1"></span><h3 class="section">2.1 <samp>config.ps</samp> installation</h3>
+<h3 class="section" id="config_002eps-installation-1">2.1 <samp class="file">config.ps</samp> installation</h3>
-<span id="index-config_002eps-installation"></span>
-<span id="index-installation-of-config_002eps"></span>
-<span id="index-printer-configuration"></span>
-<span id="index-paper-size_002c-default"></span>
-<span id="index-configuration-files_002c-creating"></span>
+<a class="index-entry-id" id="index-config_002eps-installation"></a>
+<a class="index-entry-id" id="index-installation-of-config_002eps"></a>
+<a class="index-entry-id" id="index-printer-configuration"></a>
+<a class="index-entry-id" id="index-paper-size_002c-default"></a>
+<a class="index-entry-id" id="index-configuration-files_002c-creating"></a>
-<p>Dvips has its own configuration files: a file <samp>config.ps</samp> for
-sitewide defaults, and a file <samp>config.<var>printer</var></samp> for each
-printer (output device). Since these are site-specific, <code>make
+<p>Dvips has its own configuration files: a file <samp class="file">config.ps</samp> for
+sitewide defaults, and a file <samp class="file">config.<var class="var">printer</var></samp> for each
+printer (output device). Since these are site-specific, <code class="code">make
install</code> does not create them; you must create them yourself.
</p>
<p>(These Dvips configuration files are independent of the Kpathsea
-configuration file <samp>texmf.cnf</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>).
+configuration file <samp class="file">texmf.cnf</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>).
</p>
-<span id="index-config_002eproto"></span>
-<span id="index-prototype-printer-configuration-file"></span>
-<span id="index-printer-configuration-file_002c-prototype"></span>
-<span id="index-configuration-files_002c-prototype"></span>
+<a class="index-entry-id" id="index-config_002eproto"></a>
+<a class="index-entry-id" id="index-prototype-printer-configuration-file"></a>
+<a class="index-entry-id" id="index-printer-configuration-file_002c-prototype"></a>
+<a class="index-entry-id" id="index-configuration-files_002c-prototype"></a>
<p>Dvips configuration files contents and searching are described fully in
-<a href="#Config-files">Dvips configuration files</a>. The simplest way to create a new configuration file
-is to copy and modify the file <samp>dvipsk/contrib/config.proto</samp>,
-seasoning with options to your taste from <a href="#Config-files">Dvips configuration files</a>. Here is
-<samp>config.proto</samp>
+<a class="ref" href="#Config-files">Dvips configuration files</a>. The simplest way to create a new configuration file
+is to copy and modify the file <samp class="file">dvipsk/contrib/config.proto</samp>,
+seasoning with options to your taste from <a class="ref" href="#Config-files">Dvips configuration files</a>. Here is
+<samp class="file">config.proto</samp>
for your reading pleasure:
</p><div class="example">
-<pre class="example">% Prototype Dvips configuration file. (Public domain.)
+<pre class="example-preformatted">% Prototype Dvips configuration file. (Public domain.)
% How to print, maybe with lp instead lpr, etc.
o |lpr
@@ -339,7 +337,7 @@ D 600
% Metafont mode. (This is completely different from the -M command-line
% option, which controls whether MakeTeXPK is invoked.) Get
-% <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of mode names. This mode
+% <a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of mode names. This mode
% and the D number above must agree, or MakeTeXPK will get confused.
M ljfour
@@ -356,7 +354,7 @@ O 0pt,0pt
% Partially download Type 1 fonts by default. Only reason not to do
% this is if you encounter bugs. (Please report them to
-% <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you do.)
+% <a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you do.)
j
% Also look for fonts at these resolutions.
@@ -376,93 +374,93 @@ Z
%c FILENAME
% You will also want definitions for alternative paper sizes -- A4,
-% legal, and such. Examples in <samp>contrib/papersize.level2</samp> and
-% <samp>contrib/papersize.simple</samp>.
+% legal, and such. Examples in <samp class="file">contrib/papersize.level2</samp> and
+% <samp class="file">contrib/papersize.simple</samp>.
</pre></div>
<hr>
</div>
-<div class="section" id="PostScript-font-installation">
-<div class="header">
+<div class="section-level-extent" id="PostScript-font-installation">
+<div class="nav-panel">
<p>
-Next: <a href="#Ghostscript-installation" accesskey="n" rel="next">Ghostscript installation</a>, Previous: <a href="#config_002eps-installation" accesskey="p" rel="prev"><samp>config.ps</samp> installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Ghostscript-installation" accesskey="n" rel="next">Ghostscript installation</a>, Previous: <a href="#config_002eps-installation" accesskey="p" rel="prev"><samp class="file">config.ps</samp> installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="PostScript-font-installation-1"></span><h3 class="section">2.2 PostScript font installation</h3>
+<h3 class="section" id="PostScript-font-installation-1">2.2 PostScript font installation</h3>
-<span id="index-installation-of-PostScript-fonts"></span>
-<span id="index-fonts_002c-installation-of-PostScript"></span>
-<span id="index-PostScript-fonts_002c-installing"></span>
+<a class="index-entry-id" id="index-installation-of-PostScript-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-installation-of-PostScript"></a>
+<a class="index-entry-id" id="index-PostScript-fonts_002c-installing"></a>
<p>To use PostScript fonts with TeX and Dvips, you need both metric
-files (<samp>.tfm</samp> and <samp>.vf</samp>) and the outlines (<samp>.pfa</samp> or
-<samp>.pfb</samp>). See <a href="#Font-concepts">Font concepts</a>. Current TeX systems
+files (<samp class="file">.tfm</samp> and <samp class="file">.vf</samp>) and the outlines (<samp class="file">.pfa</samp> or
+<samp class="file">.pfb</samp>). See <a class="xref" href="#Font-concepts">Font concepts</a>. Current TeX systems
come with support for 35 base PostScript fonts and many more.
</p>
-<span id="index-fonts_002c-system-PostScript"></span>
-<span id="index-PostScript-fonts_002c-on-your-system"></span>
-<span id="index-psfonts_002emap"></span>
+<a class="index-entry-id" id="index-fonts_002c-system-PostScript"></a>
+<a class="index-entry-id" id="index-PostScript-fonts_002c-on-your-system"></a>
+<a class="index-entry-id" id="index-psfonts_002emap"></a>
<p>If you have additional PostScript fonts, you can make them available
to Dvips by (1)&nbsp;giving them appropriate filenames; and
-(2)&nbsp;running Afm2tfm (see <a href="#Making-a-font-available">Making a PostScript font available</a>) to make TFM
+(2)&nbsp;running Afm2tfm (see <a class="pxref" href="#Making-a-font-available">Making a PostScript font available</a>) to make TFM
and VF metrics for TeX and Dvips to use. Also add them to
-<samp>psfonts.map</samp> (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>); this file must contain
-everything available in the system. The <code>updmap</code> program is
-usually used to maintain <samp>psfonts.map</samp>; run &lsquo;<samp>updmap --help</samp>&rsquo;
+<samp class="file">psfonts.map</samp> (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>); this file must contain
+everything available in the system. The <code class="code">updmap</code> program is
+usually used to maintain <samp class="file">psfonts.map</samp>; run &lsquo;<samp class="samp">updmap --help</samp>&rsquo;
for lots of information about how it works.
</p>
<hr>
</div>
-<div class="section" id="Ghostscript-installation">
-<div class="header">
+<div class="section-level-extent" id="Ghostscript-installation">
+<div class="nav-panel">
<p>
Next: <a href="#Diagnosing-problems" accesskey="n" rel="next">Diagnosing problems</a>, Previous: <a href="#PostScript-font-installation" accesskey="p" rel="prev">PostScript font installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Ghostscript-installation-1"></span><h3 class="section">2.3 Ghostscript installation</h3>
+<h3 class="section" id="Ghostscript-installation-1">2.3 Ghostscript installation</h3>
-<span id="index-Ghostscript-installation"></span>
-<span id="index-gs-installation"></span>
+<a class="index-entry-id" id="index-Ghostscript-installation"></a>
+<a class="index-entry-id" id="index-gs-installation"></a>
-<span id="index-Deutsch_002c-Peter"></span>
-<span id="index-Epson-printers"></span>
-<span id="index-previewing-Dvips-output"></span>
-<span id="index-PostScript-previewers"></span>
-<span id="index-PDF-files_002c-making"></span>
-<span id="index-Aladdin-Ghostscript"></span>
+<a class="index-entry-id" id="index-Deutsch_002c-Peter"></a>
+<a class="index-entry-id" id="index-Epson-printers"></a>
+<a class="index-entry-id" id="index-previewing-Dvips-output"></a>
+<a class="index-entry-id" id="index-PostScript-previewers"></a>
+<a class="index-entry-id" id="index-PDF-files_002c-making"></a>
+<a class="index-entry-id" id="index-Aladdin-Ghostscript"></a>
<p>Ghostscript is a PostScript interpreter freely available to end-users,
originally written by Peter Deutsch. It can read the PostScript
produced by Dvips and render it on your monitor, or for another device
(e.g., an Epson printer) that does not support PostScript, or in PDF
format. The latest version is available via
-<a href="https://ghostscript.com">https://ghostscript.com</a>.
-</p>
-<span id="index-Theisen_002c-Tim"></span>
-<span id="index-ghostview"></span>
-<span id="index-Ghostview_002c-and-no-N"></span>
-<span id="index-EPS_002c-and-Ghostview"></span>
-<span id="index-standard-PostScript_002c-required-by-Ghostview"></span>
-<span id="index-_0025_0025Page_002c-required-by-Ghostview"></span>
+<a class="url" href="https://ghostscript.com">https://ghostscript.com</a>.
+</p>
+<a class="index-entry-id" id="index-Theisen_002c-Tim"></a>
+<a class="index-entry-id" id="index-ghostview"></a>
+<a class="index-entry-id" id="index-Ghostview_002c-and-no-N"></a>
+<a class="index-entry-id" id="index-EPS_002c-and-Ghostview"></a>
+<a class="index-entry-id" id="index-standard-PostScript_002c-required-by-Ghostview"></a>
+<a class="index-entry-id" id="index-_0025_0025Page_002c-required-by-Ghostview"></a>
<p>The program Ghostview, originally written by Johannes Plass and Tim
Theisen, provides typical previewing capabilities (next page/previous
page, magnification, etc.). It requires Ghostscript to run, and files
-in structured PostScript, specifically with &lsquo;<samp>%%Page</samp>&rsquo; comments (no
-&lsquo;<samp>N</samp>&rsquo; in <samp>config.ps</samp>). The current version is known as GV,
-and is available from <a href="https://www.gnu.org/software/gv">https://www.gnu.org/software/gv</a>.
+in structured PostScript, specifically with &lsquo;<samp class="samp">%%Page</samp>&rsquo; comments (no
+&lsquo;<samp class="samp">N</samp>&rsquo; in <samp class="file">config.ps</samp>). The current version is known as GV,
+and is available from <a class="url" href="https://www.gnu.org/software/gv">https://www.gnu.org/software/gv</a>.
</p>
<hr>
</div>
-<div class="section" id="Diagnosing-problems">
-<div class="header">
+<div class="section-level-extent" id="Diagnosing-problems">
+<div class="nav-panel">
<p>
Previous: <a href="#Ghostscript-installation" accesskey="p" rel="prev">Ghostscript installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Diagnosing-problems-1"></span><h3 class="section">2.4 Diagnosing problems</h3>
+<h3 class="section" id="Diagnosing-problems-1">2.4 Diagnosing problems</h3>
-<span id="index-problems"></span>
-<span id="index-trouble"></span>
-<span id="index-debugging"></span>
+<a class="index-entry-id" id="index-problems"></a>
+<a class="index-entry-id" id="index-trouble"></a>
+<a class="index-entry-id" id="index-debugging"></a>
<p>You&rsquo;ve gone through all the trouble of installing Dvips, carefully read
all the instructions in this manual, and still can&rsquo;t get something to
@@ -470,16 +468,16 @@ work. The following sections provide some helpful hints if you find
yourself in such a situation.
</p>
<p>For details on effective bug reporting, common installation problems,
-and <code>mktexpk</code> problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>.
+and <code class="code">mktexpk</code> problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>.
</p>
<p>A good first debugging operation is to set the environment variable
-<code>DVIPSDEBUG</code>, which will display any configuration and map files
+<code class="env">DVIPSDEBUG</code>, which will display any configuration and map files
read by Dvips. This way you can be sure it&rsquo;s finding the files and
settings you expect.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Debug-options" accesskey="1">Debug options</a></li>
<li><a href="#No-output" accesskey="2">No output at all</a></li>
<li><a href="#Small-or-inverted" accesskey="3">Output too small or inverted</a></li>
@@ -488,67 +486,67 @@ settings you expect.
<li><a href="#Including-graphics-fails" accesskey="6">Including graphics fails</a></li>
</ul>
<hr>
-<div class="subsection" id="Debug-options">
-<div class="header">
+<div class="subsection-level-extent" id="Debug-options">
+<div class="nav-panel">
<p>
Next: <a href="#No-output" accesskey="n" rel="next">No output at all</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Debug-options-1"></span><h4 class="subsection">2.4.1 Debug options</h4>
+<h4 class="subsection" id="Debug-options-1">2.4.1 Debug options</h4>
-<span id="index-debugging-options"></span>
-<span id="index-options_002c-debugging"></span>
+<a class="index-entry-id" id="index-debugging-options"></a>
+<a class="index-entry-id" id="index-options_002c-debugging"></a>
-<p>The &lsquo;<samp>-d</samp>&rsquo; flag to Dvips helps in tracking down certain errors.
+<p>The &lsquo;<samp class="samp">-d</samp>&rsquo; flag to Dvips helps in tracking down certain errors.
The parameter to this flag is an integer that tells what errors are
currently being tracked. To track a certain class of debug messages,
specify the appropriate number given below; if you wish to track
multiple classes, sum the numbers of the classes you wish to track.
-To track all classes, you can use <code>-1</code>.
+To track all classes, you can use <code class="code">-1</code>.
</p>
-<p>You can also set the environment variable <code>KPATHSEA_DEBUG</code> instead
-of using &lsquo;<samp>-d</samp>&rsquo;. Some of these debugging options are actually
-provided by Kpathsea (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>).
+<p>You can also set the environment variable <code class="env">KPATHSEA_DEBUG</code> instead
+of using &lsquo;<samp class="samp">-d</samp>&rsquo;. Some of these debugging options are actually
+provided by Kpathsea (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>).
</p>
<p>The classes are:
</p>
-<dl compact="compact">
-<dt><span>1</span></dt>
+<dl class="table">
+<dt>1</dt>
<dd><p>specials
</p></dd>
-<dt><span>2</span></dt>
+<dt>2</dt>
<dd><p>paths
</p></dd>
-<dt><span>4</span></dt>
+<dt>4</dt>
<dd><p>fonts
</p></dd>
-<dt><span>8</span></dt>
+<dt>8</dt>
<dd><p>pages
</p></dd>
-<dt><span>16</span></dt>
+<dt>16</dt>
<dd><p>headers
</p></dd>
-<dt><span>32</span></dt>
+<dt>32</dt>
<dd><p>font compression
</p></dd>
-<dt><span>64</span></dt>
+<dt>64</dt>
<dd><p>files
</p></dd>
-<dt><span>128</span></dt>
+<dt>128</dt>
<dd><p>(omitted)
</p></dd>
-<dt><span>256</span></dt>
+<dt>256</dt>
<dd><p>config files
</p></dd>
-<dt><span>512</span></dt>
-<dd><p>Kpathsea <code>stat</code> calls
+<dt>512</dt>
+<dd><p>Kpathsea <code class="code">stat</code> calls
</p></dd>
-<dt><span>1024</span></dt>
+<dt>1024</dt>
<dd><p>Kpathsea hash table lookups
</p></dd>
-<dt><span>2048</span></dt>
+<dt>2048</dt>
<dd><p>Kpathsea path element expansion
</p></dd>
-<dt><span>4096</span></dt>
+<dt>4096</dt>
<dd><p>Kpathsea path searches
</p></dd>
</dl>
@@ -556,29 +554,29 @@ provided by Kpathsea (see <a data-manual="kpathsea" href="https://tug.org/texinf
<hr>
</div>
-<div class="subsection" id="No-output">
-<div class="header">
+<div class="subsection-level-extent" id="No-output">
+<div class="nav-panel">
<p>
Next: <a href="#Small-or-inverted" accesskey="n" rel="next">Output too small or inverted</a>, Previous: <a href="#Debug-options" accesskey="p" rel="prev">Debug options</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="No-output-at-all"></span><h4 class="subsection">2.4.2 No output at all</h4>
+<h4 class="subsection" id="No-output-at-all">2.4.2 No output at all</h4>
-<span id="index-output_002c-none"></span>
-<span id="index-no-output-at-all"></span>
-<span id="index-failure_002c-to-print-at-all"></span>
+<a class="index-entry-id" id="index-output_002c-none"></a>
+<a class="index-entry-id" id="index-no-output-at-all"></a>
+<a class="index-entry-id" id="index-failure_002c-to-print-at-all"></a>
<p>If you are not getting any output at all, even from the simplest
-one-character file (for instance, &lsquo;<samp>\ \bye</samp>&rsquo;), then something is very
+one-character file (for instance, &lsquo;<samp class="samp">\ \bye</samp>&rsquo;), then something is very
wrong. Practically any file sent to a PostScript laser printer should
generate some output, at the very least a page detailing what error
occurred, if any. Talk to your system administrator about downloading a
PostScript error handler. (Adobe distributes a good one called
-&lsquo;<samp>ehandler.ps</samp>&rsquo;.)
-<span id="index-ehandler_002eps"></span>
+&lsquo;<samp class="samp">ehandler.ps</samp>&rsquo;.)
+<a class="index-entry-id" id="index-ehandler_002eps"></a>
</p>
-<span id="index-PowerPage-PostScript-implementation"></span>
-<span id="index-Shinko-CHC_002dS446i-printer"></span>
-<span id="index-Mitsubishi-Shinko-CHC_002dS446i-printer"></span>
+<a class="index-entry-id" id="index-PowerPage-PostScript-implementation"></a>
+<a class="index-entry-id" id="index-Shinko-CHC_002dS446i-printer"></a>
+<a class="index-entry-id" id="index-Mitsubishi-Shinko-CHC_002dS446i-printer"></a>
<p>It is possible, especially if you are using non-Adobe PostScript, that
your PostScript interpreter is broken. Even then it should generate an
error message. Dvips tries to work around as many bugs as possible in
@@ -590,88 +588,88 @@ unable to print with any but builtin fonts.
<p>If Dvips gives any strange error messages, or compilation on your
machine generated a lot of warnings, perhaps the Dvips program itself is
broken. Try using the debug options to determine where the error
-occurred (see <a href="#Debug-options">Debug options</a>).
+occurred (see <a class="pxref" href="#Debug-options">Debug options</a>).
</p>
<p>It is possible your spooler is broken and is misinterpreting the
-structured comments. Try the &lsquo;<samp>-N</samp>&rsquo; flag to turn off structured
+structured comments. Try the &lsquo;<samp class="samp">-N</samp>&rsquo; flag to turn off structured
comments and see what happens.
</p>
<hr>
</div>
-<div class="subsection" id="Small-or-inverted">
-<div class="header">
+<div class="subsection-level-extent" id="Small-or-inverted">
+<div class="nav-panel">
<p>
Next: <a href="#Printer-errors" accesskey="n" rel="next">Error messages from printer</a>, Previous: <a href="#No-output" accesskey="p" rel="prev">No output at all</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Output-too-small-or-inverted"></span><h4 class="subsection">2.4.3 Output too small or inverted</h4>
+<h4 class="subsection" id="Output-too-small-or-inverted">2.4.3 Output too small or inverted</h4>
-<span id="index-output_002c-too-small"></span>
-<span id="index-output_002c-inverted"></span>
-<span id="index-inverted-output"></span>
-<span id="index-too_002dsmall-output"></span>
+<a class="index-entry-id" id="index-output_002c-too-small"></a>
+<a class="index-entry-id" id="index-output_002c-inverted"></a>
+<a class="index-entry-id" id="index-inverted-output"></a>
+<a class="index-entry-id" id="index-too_002dsmall-output"></a>
-<span id="index-save_002frestore_002c-and-inverted-output"></span>
+<a class="index-entry-id" id="index-save_002frestore_002c-and-inverted-output"></a>
<p>If some documents come out inverted or too small, probably your spooler
is not supplying an end of job indicator at the end of each file. (This
commonly happens on small machines that don&rsquo;t have spoolers.) You can
-force Dvips to do this with the &lsquo;<samp>-F</samp>&rsquo; flag (or &lsquo;<samp>F</samp>&rsquo; config file
+force Dvips to do this with the &lsquo;<samp class="samp">-F</samp>&rsquo; flag (or &lsquo;<samp class="samp">F</samp>&rsquo; config file
option), but this generates files with a terminating binary character
-(control-D). You can also try using the &lsquo;<samp>-s</samp>&rsquo; flag (or &lsquo;<samp>s</samp>&rsquo;
+(control-D). You can also try using the &lsquo;<samp class="samp">-s</samp>&rsquo; flag (or &lsquo;<samp class="samp">s</samp>&rsquo;
config file option) to enclose the entire job in a save/restore pair.
-See <a href="#Command_002dline-options">Command-line options</a>, and <a href="#Config-files">Dvips configuration files</a>.
+See <a class="xref" href="#Command_002dline-options">Command-line options</a>, and <a class="ref" href="#Config-files">Dvips configuration files</a>.
</p>
<hr>
</div>
-<div class="subsection" id="Printer-errors">
-<div class="header">
+<div class="subsection-level-extent" id="Printer-errors">
+<div class="nav-panel">
<p>
Next: <a href="#Long-documents-fail" accesskey="n" rel="next">Long documents fail to print</a>, Previous: <a href="#Small-or-inverted" accesskey="p" rel="prev">Output too small or inverted</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Error-messages-from-printer"></span><h4 class="subsection">2.4.4 Error messages from printer</h4>
+<h4 class="subsection" id="Error-messages-from-printer">2.4.4 Error messages from printer</h4>
-<span id="index-printer-errors"></span>
-<span id="index-error-messages-from-printer"></span>
-<span id="index-failure_002c-and-printer-errors"></span>
+<a class="index-entry-id" id="index-printer-errors"></a>
+<a class="index-entry-id" id="index-error-messages-from-printer"></a>
+<a class="index-entry-id" id="index-failure_002c-and-printer-errors"></a>
-<span id="index-bop-undefined-error"></span>
+<a class="index-entry-id" id="index-bop-undefined-error"></a>
<p>If your printer returns error messages, the error message gives very
good information on what might be going wrong. One of the most common
-error messages is &lsquo;<samp>bop undefined</samp>&rsquo;. This is caused by old versions
+error messages is &lsquo;<samp class="samp">bop undefined</samp>&rsquo;. This is caused by old versions
of Transcript and other spoolers that do not properly parse the setup
section of the PostScript. To fix this, turn off structured comments
-with the &lsquo;<samp>-N</samp>&rsquo; option, but it&rsquo;d be best to get your spooling
+with the &lsquo;<samp class="samp">-N</samp>&rsquo; option, but it&rsquo;d be best to get your spooling
software updated.
</p>
-<span id="index-VM-exhausted"></span>
-<span id="index-printer-memory-exhausted"></span>
-<span id="index-memory-of-printer-exhausted"></span>
-<p>Another error message is &lsquo;<samp>VM exhausted</samp>&rsquo;. Some printers indicate
+<a class="index-entry-id" id="index-VM-exhausted"></a>
+<a class="index-entry-id" id="index-printer-memory-exhausted"></a>
+<a class="index-entry-id" id="index-memory-of-printer-exhausted"></a>
+<p>Another error message is &lsquo;<samp class="samp">VM exhausted</samp>&rsquo;. Some printers indicate
this error by locking up, others quietly reset. This is caused by Dvips
thinking that the printer has more memory than it actually does, and
then printing a complicated document. To fix this, try lowering the
-&lsquo;<samp>m</samp>&rsquo; parameter in the configuration file; use the debug option to
+&lsquo;<samp class="samp">m</samp>&rsquo; parameter in the configuration file; use the debug option to
make sure you adjust the correct file.
</p>
<p>Other errors may indicate you are trying to include graphics that don&rsquo;t
nest properly in other PostScript documents, among other things. Try
the PostScript file on a QMS PS-810 or other Adobe PostScript printer if
-you have one, or Ghostscript (see <a href="#Ghostscript-installation">Ghostscript installation</a>); it
+you have one, or Ghostscript (see <a class="pxref" href="#Ghostscript-installation">Ghostscript installation</a>); it
might be a problem with the printer itself.
</p>
<hr>
</div>
-<div class="subsection" id="Long-documents-fail">
-<div class="header">
+<div class="subsection-level-extent" id="Long-documents-fail">
+<div class="nav-panel">
<p>
Next: <a href="#Including-graphics-fails" accesskey="n" rel="next">Including graphics fails</a>, Previous: <a href="#Printer-errors" accesskey="p" rel="prev">Error messages from printer</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Long-documents-fail-to-print"></span><h4 class="subsection">2.4.5 Long documents fail to print</h4>
+<h4 class="subsection" id="Long-documents-fail-to-print">2.4.5 Long documents fail to print</h4>
-<span id="index-long-documents-not-printing"></span>
-<span id="index-failure_002c-of-long-documents"></span>
+<a class="index-entry-id" id="index-long-documents-not-printing"></a>
+<a class="index-entry-id" id="index-failure_002c-of-long-documents"></a>
<p>This is usually caused by incorrectly specifying the amount of memory
the printer has in the configuration file; see the previous section.
@@ -679,36 +677,36 @@ the printer has in the configuration file; see the previous section.
<hr>
</div>
-<div class="subsection" id="Including-graphics-fails">
-<div class="header">
+<div class="subsection-level-extent" id="Including-graphics-fails">
+<div class="nav-panel">
<p>
Previous: <a href="#Long-documents-fail" accesskey="p" rel="prev">Long documents fail to print</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Including-graphics-fails-1"></span><h4 class="subsection">2.4.6 Including graphics fails</h4>
+<h4 class="subsection" id="Including-graphics-fails-1">2.4.6 Including graphics fails</h4>
-<span id="index-including-graphics-fails"></span>
-<span id="index-graphics-inclusion-fails"></span>
-<span id="index-failure_002c-to-include-graphics"></span>
+<a class="index-entry-id" id="index-including-graphics-fails"></a>
+<a class="index-entry-id" id="index-graphics-inclusion-fails"></a>
+<a class="index-entry-id" id="index-failure_002c-to-include-graphics"></a>
<p>The most common problem with including graphics is an incorrect bounding
-box (see <a href="#Bounding-box">The bounding box comment</a>). Complain to whoever wrote the software that
+box (see <a class="pxref" href="#Bounding-box">The bounding box comment</a>). Complain to whoever wrote the software that
generated the file if the bounding box is indeed incorrect.
</p>
-<span id="index-Illustrator_002c-workaround-for"></span>
+<a class="index-entry-id" id="index-Illustrator_002c-workaround-for"></a>
<p>Another possible problem is that the figure you are trying to include
does not nest properly; there are certain rules PostScript applications
must follow when generating files to be included. The Dvips program
includes work-arounds for such errors in Adobe Illustrator and other
programs, but there are certainly applications that haven&rsquo;t been tested.
</p>
-<p>One possible thing to try is the &lsquo;<samp>-K</samp>&rsquo; flag which strips the comments
+<p>One possible thing to try is the &lsquo;<samp class="samp">-K</samp>&rsquo; flag which strips the comments
from an included figure. This might be necessary if the PostScript
spooling software does not read the structured comments correctly. Use
of this flag will break graphics from some applications, though, since
some applications read the PostScript file from the input stream,
looking for a particular comment.
</p>
-<span id="index-binary-files_002c-not-supported"></span>
+<a class="index-entry-id" id="index-binary-files_002c-not-supported"></a>
<p>Any application which generates graphics output containing raw binary
(not ASCII hex) will probably fail with Dvips.
</p>
@@ -717,16 +715,16 @@ looking for a particular comment.
</div>
</div>
</div>
-<div class="chapter" id="Invoking-Dvips">
-<div class="header">
+<div class="chapter-level-extent" id="Invoking-Dvips">
+<div class="nav-panel">
<p>
Next: <a href="#Paper-size-and-landscape" accesskey="n" rel="next">Paper size and landscape orientation</a>, Previous: <a href="#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Invoking-Dvips-1"></span><h2 class="chapter">3 Invoking Dvips</h2>
+<h2 class="chapter" id="Invoking-Dvips-1">3 Invoking Dvips</h2>
-<span id="index-command_002dline-options"></span>
-<span id="index-options_002c-Dvips"></span>
-<span id="index-invoking-Dvips"></span>
+<a class="index-entry-id" id="index-command_002dline-options"></a>
+<a class="index-entry-id" id="index-options_002c-Dvips"></a>
+<a class="index-entry-id" id="index-invoking-Dvips"></a>
<p>Dvips reads a DVI file as output by (for example) TeX, and converts
it to PostScript, taking care of builtin or downloaded PostScript fonts,
@@ -738,30 +736,30 @@ environment variables, and command-line options.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Basic-usage" accesskey="1">Basic usage of Dvips</a></li>
<li><a href="#Command_002dline-options" accesskey="2">Command-line options</a></li>
<li><a href="#Environment-variables" accesskey="3">Environment variables</a></li>
<li><a href="#Config-files" accesskey="4">Dvips configuration files</a></li>
</ul>
<hr>
-<div class="section" id="Basic-usage">
-<div class="header">
+<div class="section-level-extent" id="Basic-usage">
+<div class="nav-panel">
<p>
Next: <a href="#Command_002dline-options" accesskey="n" rel="next">Command-line options</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Basic-usage-of-Dvips"></span><h3 class="section">3.1 Basic usage of Dvips</h3>
+<h3 class="section" id="Basic-usage-of-Dvips">3.1 Basic usage of Dvips</h3>
-<span id="index-usage_002c-basic"></span>
+<a class="index-entry-id" id="index-usage_002c-basic"></a>
<p>To use Dvips at its simplest, simply type
</p>
<div class="example">
-<pre class="example">dvips foo
+<pre class="example-preformatted">dvips foo
</pre></div>
-<p>where <samp>foo.dvi</samp> is the output of TeX that you want to print.
-The default output is to a corresponding file <samp>foo.ps</samp>; Dvips may
+<p>where <samp class="file">foo.dvi</samp> is the output of TeX that you want to print.
+The default output is to a corresponding file <samp class="file">foo.ps</samp>; Dvips may
also have been locally configured to output directly to a printer by
default.
</p>
@@ -771,46 +769,46 @@ progress reports appear by default. The next time that document is
printed, these fonts will have been saved in the proper directories, so
printing will go much faster. (If Dvips tries to endlessly generate the
same fonts over and over again, it hasn&rsquo;t been installed properly.
-See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>.)
+See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite class="cite">Kpathsea</cite>.)
</p>
<p>Many options are available (see the next section). For a brief summary
of available options, run
</p>
<div class="example">
-<pre class="example">dvips --help
+<pre class="example-preformatted">dvips --help
</pre></div>
<hr>
</div>
-<div class="section" id="Command_002dline-options">
-<div class="header">
+<div class="section-level-extent" id="Command_002dline-options">
+<div class="nav-panel">
<p>
Next: <a href="#Environment-variables" accesskey="n" rel="next">Environment variables</a>, Previous: <a href="#Basic-usage" accesskey="p" rel="prev">Basic usage of Dvips</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Command_002dline-options-1"></span><h3 class="section">3.2 Command-line options</h3>
+<h3 class="section" id="Command_002dline-options-1">3.2 Command-line options</h3>
<p>Dvips has a plethora of command line options. Reading through this
section will give a good idea of the capabilities of the driver.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Option-summary" accesskey="1">Option summary</a></li>
<li><a href="#Option-details" accesskey="2">Option details</a></li>
</ul>
<hr>
-<div class="subsection" id="Option-summary">
-<div class="header">
+<div class="subsection-level-extent" id="Option-summary">
+<div class="nav-panel">
<p>
Next: <a href="#Option-details" accesskey="n" rel="next">Option details</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Option-summary-1"></span><h4 class="subsection">3.2.1 Option summary</h4>
+<h4 class="subsection" id="Option-summary-1">3.2.1 Option summary</h4>
-<span id="index-options_002c-summary"></span>
+<a class="index-entry-id" id="index-options_002c-summary"></a>
<p>Here is a handy summary of the options; it is printed out when you run
-Dvips with no arguments or with the standard &lsquo;<samp>--help</samp>&rsquo; option.
-<span id="index-_002d_002dhelp"></span>
+Dvips with no arguments or with the standard &lsquo;<samp class="samp">--help</samp>&rsquo; option.
+<a class="index-entry-id" id="index-_002d_002dhelp"></a>
</p>
<pre class="verbatim">Usage: dvips [OPTION]... FILENAME[.dvi]
Convert DVI input files to PostScript.
@@ -856,118 +854,118 @@ Email bug reports to tex-k@mail.tug.org.
<hr>
</div>
-<div class="subsection" id="Option-details">
-<div class="header">
+<div class="subsection-level-extent" id="Option-details">
+<div class="nav-panel">
<p>
Previous: <a href="#Option-summary" accesskey="p" rel="prev">Option summary</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Option-details-1"></span><h4 class="subsection">3.2.2 Option details</h4>
+<h4 class="subsection" id="Option-details-1">3.2.2 Option details</h4>
-<span id="index-option_002c-details-of"></span>
+<a class="index-entry-id" id="index-option_002c-details-of"></a>
<p>Many of the parameterless options listed here can be turned off by
-suffixing the option with a zero (&lsquo;<samp>0</samp>&rsquo;); for instance, to turn off
-page reversal, use &lsquo;<samp>-r0</samp>&rsquo;. Such options are marked with a trailing
-&lsquo;<samp>*</samp>&rsquo;.
-</p>
-<dl compact="compact">
-<dt id='index-_002d'><span>&lsquo;<samp>-</samp>&rsquo;<a href='#index-_002d' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-options_002c-reading-from-standard-input"></span>
-<span id="index-standard-input_002c-reading-options-from"></span>
+suffixing the option with a zero (&lsquo;<samp class="samp">0</samp>&rsquo;); for instance, to turn off
+page reversal, use &lsquo;<samp class="samp">-r0</samp>&rsquo;. Such options are marked with a trailing
+&lsquo;<samp class="samp">*</samp>&rsquo;.
+</p>
+<dl class="table">
+<dt id='index-_002d'><span>&lsquo;<samp class="samp">-</samp>&rsquo;<a class="copiable-link" href='#index-_002d'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-options_002c-reading-from-standard-input"></a>
+<a class="index-entry-id" id="index-standard-input_002c-reading-options-from"></a>
<p>Read additional options from standard input after processing the command
line.
</p>
</dd>
-<dt id='index-_002d_002dhelp-1'><span>&lsquo;<samp>--help</samp>&rsquo;<a href='#index-_002d_002dhelp-1' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002d_002dhelp-1'><span>&lsquo;<samp class="samp">--help</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dhelp-1'> &para;</a></span></dt>
<dd><p>Print a usage message and exit.
</p>
</dd>
-<dt id='index-_002d_002dversion'><span>&lsquo;<samp>--version</samp>&rsquo;<a href='#index-_002d_002dversion' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002d_002dversion'><span>&lsquo;<samp class="samp">--version</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dversion'> &para;</a></span></dt>
<dd><p>Print the version number and exit.
</p>
</dd>
-<dt id='index-_002da'><span>&lsquo;<samp>-a*</samp>&rsquo;<a href='#index-_002da' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-memory_002c-conserving"></span>
+<dt id='index-_002da'><span>&lsquo;<samp class="samp">-a*</samp>&rsquo;<a class="copiable-link" href='#index-_002da'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-memory_002c-conserving"></a>
<p>Conserve memory by making three passes over the DVI file instead
of two and only loading those characters actually used. Generally only
useful on machines with a very limited amount of memory, like some PCs.
</p>
</dd>
-<dt id='index-_002dA'><span>&lsquo;<samp>-A</samp>&rsquo;<a href='#index-_002dA' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-odd-pages-only"></span>
+<dt id='index-_002dA'><span>&lsquo;<samp class="samp">-A</samp>&rsquo;<a class="copiable-link" href='#index-_002dA'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-odd-pages-only"></a>
<p>Print only the odd pages. This option uses TeX
page numbers, not physical page numbers.
</p>
</dd>
-<dt id='index-_002db-num'><span>&lsquo;<samp>-b <var>num</var></samp>&rsquo;<a href='#index-_002db-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002f_0023copies"></span>
-<span id="index-copies_002c-duplicated-page-bodies"></span>
-<span id="index-color-separations"></span>
-<p>Generate <var>num</var> copies of each page, but duplicating the page body
-rather than using the &lsquo;<samp>/#copies</samp>&rsquo; PostScript variable. This can
-be useful in conjunction with a header file setting &lsquo;<samp>bop-hook</samp>&rsquo; to
+<dt id='index-_002db-num'><span>&lsquo;<samp class="samp">-b <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002db-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002f_0023copies"></a>
+<a class="index-entry-id" id="index-copies_002c-duplicated-page-bodies"></a>
+<a class="index-entry-id" id="index-color-separations"></a>
+<p>Generate <var class="var">num</var> copies of each page, but duplicating the page body
+rather than using the &lsquo;<samp class="samp">/#copies</samp>&rsquo; PostScript variable. This can
+be useful in conjunction with a header file setting &lsquo;<samp class="samp">bop-hook</samp>&rsquo; to
do color separations or other neat tricks.
</p>
</dd>
-<dt id='index-_002dB'><span>&lsquo;<samp>-B</samp>&rsquo;<a href='#index-_002dB' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-even-pages-only"></span>
-<span id="index-double_002dsided-printing"></span>
+<dt id='index-_002dB'><span>&lsquo;<samp class="samp">-B</samp>&rsquo;<a class="copiable-link" href='#index-_002dB'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-even-pages-only"></a>
+<a class="index-entry-id" id="index-double_002dsided-printing"></a>
<p>Print only the even pages. This option uses TeX page numbers, not
physical page numbers.
</p>
</dd>
-<dt id='index-_002dbitmapfontenc-option'><span>&lsquo;<samp>-bitmapfontenc <var>option</var></samp>&rsquo;<a href='#index-_002dbitmapfontenc-option' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-bitmap-font-encoding"></span>
-<p>Turns bitmap font encoding to &lsquo;<samp>off</samp>&rsquo;, &lsquo;<samp>on</samp>&rsquo; (no warnings
-for missing bitmap font encodings), or &lsquo;<samp>strict</samp>&rsquo; (with warnings
+<dt id='index-_002dbitmapfontenc-option'><span>&lsquo;<samp class="samp">-bitmapfontenc <var class="var">option</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dbitmapfontenc-option'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-bitmap-font-encoding"></a>
+<p>Turns bitmap font encoding to &lsquo;<samp class="samp">off</samp>&rsquo;, &lsquo;<samp class="samp">on</samp>&rsquo; (no warnings
+for missing bitmap font encodings), or &lsquo;<samp class="samp">strict</samp>&rsquo; (with warnings
for missing bitmap font encodings).
</p>
</dd>
-<dt id='index-_002dc-num'><span>&lsquo;<samp>-c <var>num</var></samp>&rsquo;<a href='#index-_002dc-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002f_0023copies-1"></span>
-<span id="index-copies_002c-uncollated"></span>
-<span id="index-uncollated-copies"></span>
-<p>Generate <var>num</var> consecutive copies of every page, i.e., the output is
+<dt id='index-_002dc-num'><span>&lsquo;<samp class="samp">-c <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dc-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002f_0023copies-1"></a>
+<a class="index-entry-id" id="index-copies_002c-uncollated"></a>
+<a class="index-entry-id" id="index-uncollated-copies"></a>
+<p>Generate <var class="var">num</var> consecutive copies of every page, i.e., the output is
uncollated. This merely sets the builtin PostScript variable
-&lsquo;<samp>/#copies</samp>&rsquo;.
+&lsquo;<samp class="samp">/#copies</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002dC-num'><span>&lsquo;<samp>-C <var>num</var></samp>&rsquo;<a href='#index-_002dC-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-copies_002c-collated"></span>
-<span id="index-collated-copies"></span>
-<p>Generate <var>num</var> copies, but collated (by replicating the data in the
-PostScript file). Slower than the &lsquo;<samp>-c</samp>&rsquo; option, but easier on the
+<dt id='index-_002dC-num'><span>&lsquo;<samp class="samp">-C <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dC-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-copies_002c-collated"></a>
+<a class="index-entry-id" id="index-collated-copies"></a>
+<p>Generate <var class="var">num</var> copies, but collated (by replicating the data in the
+PostScript file). Slower than the &lsquo;<samp class="samp">-c</samp>&rsquo; option, but easier on the
hands, and faster than resubmitting the same PostScript file multiple
times.
</p>
</dd>
-<dt id='index-_002dd-num'><span>&lsquo;<samp>-d <var>num</var></samp>&rsquo;<a href='#index-_002dd-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-debugging-1"></span>
+<dt id='index-_002dd-num'><span>&lsquo;<samp class="samp">-d <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dd-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-debugging-1"></a>
<p>Set the debug flags, showing what Dvips (thinks it) is doing. This will
-work unless Dvips has been compiled without the &lsquo;<samp>DEBUG</samp>&rsquo; option (not
-recommended). See <a href="#Debug-options">Debug options</a>, for the possible values of
-<var>num</var>. Use &lsquo;<samp>-d -1</samp>&rsquo; as the first option for maximum output.
+work unless Dvips has been compiled without the &lsquo;<samp class="samp">DEBUG</samp>&rsquo; option (not
+recommended). See <a class="xref" href="#Debug-options">Debug options</a>, for the possible values of
+<var class="var">num</var>. Use &lsquo;<samp class="samp">-d -1</samp>&rsquo; as the first option for maximum output.
</p>
</dd>
-<dt id='index-_002dD-num'><span>&lsquo;<samp>-D <var>num</var></samp>&rsquo;<a href='#index-_002dD-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-resolution_002c-setting"></span>
-<p>Set both the horizontal and vertical resolution to <var>num</var>, given in
+<dt id='index-_002dD-num'><span>&lsquo;<samp class="samp">-D <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dD-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-resolution_002c-setting"></a>
+<p>Set both the horizontal and vertical resolution to <var class="var">num</var>, given in
dpi (dots per inch). This affects the choice of bitmap fonts that are
loaded and also the positioning of letters in resident PostScript
fonts. Must be between 10 and 10000. This affects both the horizontal
and vertical resolution. If a high resolution (something greater than
-400 dpi, say) is selected, the &lsquo;<samp>-Z</samp>&rsquo; flag should probably also be
+400 dpi, say) is selected, the &lsquo;<samp class="samp">-Z</samp>&rsquo; flag should probably also be
used. If you are using fonts made with Metafont, such as Computer
-Modern, <samp>mktexpk</samp> needs to know about the value for <var>num</var>
+Modern, <samp class="file">mktexpk</samp> needs to know about the value for <var class="var">num</var>
that you use or Metafont will fail. See the file
-<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode
+<a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode
names for most devices.
</p>
</dd>
-<dt id='index-_002de-num'><span>&lsquo;<samp>-e <var>num</var></samp>&rsquo;<a href='#index-_002de-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-maxdrift"></span>
-<span id="index-accuracy-in-positioning"></span>
-<span id="index-positioning-accuracy"></span>
+<dt id='index-_002de-num'><span>&lsquo;<samp class="samp">-e <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002de-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-maxdrift"></a>
+<a class="index-entry-id" id="index-accuracy-in-positioning"></a>
+<a class="index-entry-id" id="index-positioning-accuracy"></a>
<p>Maximum drift in pixels of each character from its &lsquo;true&rsquo;
resolution-independent position on the page. The default value of this
parameter is resolution dependent (it is the number of entries in the
@@ -979,10 +977,10 @@ position at the beginning of each new word, improves the spacing of
letters in words.
</p>
</dd>
-<dt id='index-_002dE'><span>&lsquo;<samp>-E*</samp>&rsquo;<a href='#index-_002dE' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-EPSF_002c-generating"></span>
-<span id="index-tight-bounding-box_002c-finding"></span>
-<span id="index-bounding-box_002c-finding-tight"></span>
+<dt id='index-_002dE'><span>&lsquo;<samp class="samp">-E*</samp>&rsquo;<a class="copiable-link" href='#index-_002dE'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-EPSF_002c-generating"></a>
+<a class="index-entry-id" id="index-tight-bounding-box_002c-finding"></a>
+<a class="index-entry-id" id="index-bounding-box_002c-finding-tight"></a>
<p>Generate an EPSF file with a tight bounding box. This only looks at
marks made by characters and rules, not by any included graphics. In
addition, it gets the glyph metrics from the TFM file, so characters
@@ -993,32 +991,32 @@ well enough for creating small EPSF files for equations or tables or the
like. (Of course, Dvips output, especially when using bitmap fonts, is
resolution-dependent and thus does not make very good EPSF files,
especially if the images are to be scaled; use these EPSF files with
-care.) For multiple page input files, also specify &lsquo;<samp>-i</samp>&rsquo; to get
+care.) For multiple page input files, also specify &lsquo;<samp class="samp">-i</samp>&rsquo; to get
each page as a separate EPSF file; otherwise, all the pages are overlaid
in the single output file.
</p>
</dd>
-<dt id='index-_002df'><span>&lsquo;<samp>-f*</samp>&rsquo;<a href='#index-_002df' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-filter_002c-running-as-a"></span>
-<span id="index-standard-I_002fO"></span>
-<span id="index-pipes_002c-not-readable"></span>
-<span id="index-PRINTER_002c-avoided-with-_002df"></span>
+<dt id='index-_002df'><span>&lsquo;<samp class="samp">-f*</samp>&rsquo;<a class="copiable-link" href='#index-_002df'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-filter_002c-running-as-a"></a>
+<a class="index-entry-id" id="index-standard-I_002fO"></a>
+<a class="index-entry-id" id="index-pipes_002c-not-readable"></a>
+<a class="index-entry-id" id="index-PRINTER_002c-avoided-with-_002df"></a>
<p>Run as a filter. Read the DVI file from standard input and write the
PostScript to standard output. The standard input must be seekable, so
it cannot be a pipe. If your input must be a pipe, write a shell script
that copies the pipe output to a temporary file and then points Dvips at
this file. This option also disables the automatic reading of the
-<code>PRINTER</code> environment variable; use &lsquo;<samp>-P$PRINTER</samp>&rsquo; after the
-&lsquo;<samp>-f</samp>&rsquo; to read it anyway. It also turns off the automatic sending of
-control-D if it was turned on with the &lsquo;<samp>-F</samp>&rsquo; option or in the
-configuration file; use &lsquo;<samp>-F</samp>&rsquo; after the &lsquo;<samp>-f</samp>&rsquo; to send it anyway.
+<code class="code">PRINTER</code> environment variable; use &lsquo;<samp class="samp">-P$PRINTER</samp>&rsquo; after the
+&lsquo;<samp class="samp">-f</samp>&rsquo; to read it anyway. It also turns off the automatic sending of
+control-D if it was turned on with the &lsquo;<samp class="samp">-F</samp>&rsquo; option or in the
+configuration file; use &lsquo;<samp class="samp">-F</samp>&rsquo; after the &lsquo;<samp class="samp">-f</samp>&rsquo; to send it anyway.
</p>
</dd>
-<dt id='index-_002dF'><span>&lsquo;<samp>-F*</samp>&rsquo;<a href='#index-_002dF' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-EOF"></span>
-<span id="index-control_002dD"></span>
-<span id="index-printer_002c-driving-directly"></span>
-<span id="index-spooler_002c-lacking"></span>
+<dt id='index-_002dF'><span>&lsquo;<samp class="samp">-F*</samp>&rsquo;<a class="copiable-link" href='#index-_002dF'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-EOF"></a>
+<a class="index-entry-id" id="index-control_002dD"></a>
+<a class="index-entry-id" id="index-printer_002c-driving-directly"></a>
+<a class="index-entry-id" id="index-spooler_002c-lacking"></a>
<p>Write control-D (ASCII code 4) as the very last character of the
PostScript file. This is useful when Dvips is driving the printer
directly instead of working through a spooler, as is common on personal
@@ -1026,35 +1024,35 @@ systems. On systems shared by more than one person, this is not
recommended.
</p>
</dd>
-<dt id='index-_002dG'><span>&lsquo;<samp>-G*</samp>&rsquo;<a href='#index-_002dG' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-low-characters_002c-shifting"></span>
-<span id="index-non_002dprinting-characters_002c-shifting"></span>
+<dt id='index-_002dG'><span>&lsquo;<samp class="samp">-G*</samp>&rsquo;<a class="copiable-link" href='#index-_002dG'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-low-characters_002c-shifting"></a>
+<a class="index-entry-id" id="index-non_002dprinting-characters_002c-shifting"></a>
<p>Shift non-printing characters (ASCII 0-32, 127) to higher-numbered positions.
This was useful to work around bugs in old versions of Adobe&rsquo;s PDF
reader. It&rsquo;s more likely to cause problems nowadays.
</p>
</dd>
-<dt id='index-_002dh-name'><span>&lsquo;<samp>-h <var>name</var></samp>&rsquo;<a href='#index-_002dh-name' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-header-file_002c-downloading"></span>
-<span id="index-userdict_002c-used-for-header-files"></span>
-<p>Prepend <var>name</var> as an additional header file, or, if <var>name</var> is
-&lsquo;<samp>-</samp>&rsquo;, suppress inclusion of default header files. If <code>-h</code> is
+<dt id='index-_002dh-name'><span>&lsquo;<samp class="samp">-h <var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dh-name'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-header-file_002c-downloading"></a>
+<a class="index-entry-id" id="index-userdict_002c-used-for-header-files"></a>
+<p>Prepend <var class="var">name</var> as an additional header file, or, if <var class="var">name</var> is
+&lsquo;<samp class="samp">-</samp>&rsquo;, suppress inclusion of default header files. If <code class="code">-h</code> is
given multiple times, the headers are included in the order given.
Any definitions in the header file get added to the PostScript
-&lsquo;<samp>userdict</samp>&rsquo;.
+&lsquo;<samp class="samp">userdict</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002di'><span>&lsquo;<samp>-i*</samp>&rsquo;<a href='#index-_002di' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-sections-output_002c-in-separate-files"></span>
-<span id="index-multiple-output-files"></span>
-<span id="index-output-files_002c-multiple"></span>
-<p>Make each section be a separate file; a <em>section</em> is a part of the
+<dt id='index-_002di'><span>&lsquo;<samp class="samp">-i*</samp>&rsquo;<a class="copiable-link" href='#index-_002di'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-sections-output_002c-in-separate-files"></a>
+<a class="index-entry-id" id="index-multiple-output-files"></a>
+<a class="index-entry-id" id="index-output-files_002c-multiple"></a>
+<p>Make each section be a separate file; a <em class="dfn">section</em> is a part of the
document processed independently, most often created to avoid memory
overflow. The filenames are created replacing the suffix of the
supplied output file name by a three-digit sequence number. This option
-is most often used in conjunction with the &lsquo;<samp>-S</samp>&rsquo; option which sets
-the maximum section length in pages; if &lsquo;<samp>-i</samp>&rsquo; is specified and
-&lsquo;<samp>-S</samp>&rsquo; is not, each page is output as a separate file. For instance,
+is most often used in conjunction with the &lsquo;<samp class="samp">-S</samp>&rsquo; option which sets
+the maximum section length in pages; if &lsquo;<samp class="samp">-i</samp>&rsquo; is specified and
+&lsquo;<samp class="samp">-S</samp>&rsquo; is not, each page is output as a separate file. For instance,
some phototypesetters cannot print more than ten or so consecutive pages
before running out of steam; these options can be used to automatically
split a book into ten-page sections, each to its own file.
@@ -1062,125 +1060,125 @@ split a book into ten-page sections, each to its own file.
<p>On the other hand, if your document uses very large fonts or very
large included figures, Dvips might take it upon itself to split the
output into unwanted sections, to try to avoid overflowing printer
-memory. See <a href="#Headers-and-memory-usage">Headers and memory usage</a>, for ways to handle this.
+memory. See <a class="xref" href="#Headers-and-memory-usage">Headers and memory usage</a>, for ways to handle this.
</p>
</dd>
-<dt id='index-_002dj-for-partial-font-downloading'><span>&lsquo;<samp>-j*</samp>&rsquo;<a href='#index-_002dj-for-partial-font-downloading' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002dj-for-partial-font-downloading'><span>&lsquo;<samp class="samp">-j*</samp>&rsquo;<a class="copiable-link" href='#index-_002dj-for-partial-font-downloading'> &para;</a></span></dt>
<dd><p>Download only needed characters from Type 1 fonts. This is the
default in the current release. Some debugging flags trace this operation
-(see <a href="#Debug-options">Debug options</a>). You can also control partial downloading on a
-per-font basis (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>).
+(see <a class="pxref" href="#Debug-options">Debug options</a>). You can also control partial downloading on a
+per-font basis (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>).
</p>
</dd>
-<dt id='index-_002dk-for-cropmarks'><span>&lsquo;<samp>-k*</samp>&rsquo;<a href='#index-_002dk-for-cropmarks' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-cropmarks"></span>
-<span id="index-crop_002epro"></span>
+<dt id='index-_002dk-for-cropmarks'><span>&lsquo;<samp class="samp">-k*</samp>&rsquo;<a class="copiable-link" href='#index-_002dk-for-cropmarks'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-cropmarks"></a>
+<a class="index-entry-id" id="index-crop_002epro"></a>
<p>Print crop marks. This option increases the paper size (which should be
-specified, either with a paper size special or with the &lsquo;<samp>-T</samp>&rsquo;
+specified, either with a paper size special or with the &lsquo;<samp class="samp">-T</samp>&rsquo;
option) by a half inch in each dimension. It translates each page by a
quarter inch and draws cross-style crop marks. It is mostly useful with
typesetters that can set the page size automatically. This works by
-downloading <samp>crop.pro</samp>.
+downloading <samp class="file">crop.pro</samp>.
</p>
</dd>
-<dt id='index-_002dK'><span>&lsquo;<samp>-K*</samp>&rsquo;<a href='#index-_002dK' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-comments_002c-removing-included"></span>
-<span id="index-_0025_0025Page_002c-removing"></span>
+<dt id='index-_002dK'><span>&lsquo;<samp class="samp">-K*</samp>&rsquo;<a class="copiable-link" href='#index-_002dK'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-comments_002c-removing-included"></a>
+<a class="index-entry-id" id="index-_0025_0025Page_002c-removing"></a>
<p>Remove comments in included PostScript graphics, font files, and
headers; only necessary to get around bugs in spoolers or PostScript
-post-processing programs. Specifically, the &lsquo;<samp>%%Page</samp>&rsquo;
+post-processing programs. Specifically, the &lsquo;<samp class="samp">%%Page</samp>&rsquo;
comments, when left in, often cause difficulties. Use of this flag can
cause other graphics to fail, however, since the PostScript header
macros from some software packages read portion the input stream line by
line, searching for a particular comment.
</p>
</dd>
-<dt id='index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d'><span>&lsquo;<samp>-l [=]<var>num</var>[.<var>pageseq</var>]</samp>&rsquo;<a href='#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-last-page-printed"></span>
-<span id="index-page_002c-last-printed"></span>
-<span id="index-page-numbers_002c-multiple-repetitions-of"></span>
-<span id="index-physical-page-number_002c-and-_002dl"></span>
-<span id="index-absolute-page-number_002c-and-_002dl"></span>
-<p>The last page printed will be the first one numbered <var>num</var>; the
+<dt id='index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d'><span>&lsquo;<samp class="samp">-l [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</samp>&rsquo;<a class="copiable-link" href='#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-last-page-printed"></a>
+<a class="index-entry-id" id="index-page_002c-last-printed"></a>
+<a class="index-entry-id" id="index-page-numbers_002c-multiple-repetitions-of"></a>
+<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dl"></a>
+<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dl"></a>
+<p>The last page printed will be the first one numbered <var class="var">num</var>; the
default is the last page in the document.
</p>
-<p>By default, <var>num</var> is compared to TeX&rsquo;s idea of the page number
-(more precisely, the <code>\count0</code> value written in the DVI file).
-But if <var>num</var> is prefixed by an equals sign, then it (and the
-argument to the &lsquo;<samp>-p</samp>&rsquo; option, if specified) is treated as a
-physical (absolute) page number, Thus, using &lsquo;<samp>-l =9</samp>&rsquo; will end the
+<p>By default, <var class="var">num</var> is compared to TeX&rsquo;s idea of the page number
+(more precisely, the <code class="code">\count0</code> value written in the DVI file).
+But if <var class="var">num</var> is prefixed by an equals sign, then it (and the
+argument to the &lsquo;<samp class="samp">-p</samp>&rsquo; option, if specified) is treated as a
+physical (absolute) page number, Thus, using &lsquo;<samp class="samp">-l =9</samp>&rsquo; will end the
output with the ninth page of the document, no matter what the pages
are actually numbered.
</p>
-<p>On the other hand, if <var>pageseq</var> is specified, the <var>pageseq</var>th
+<p>On the other hand, if <var class="var">pageseq</var> is specified, the <var class="var">pageseq</var>th
occurrence of the given TeX page number is used. For example,
-&lsquo;<samp>-l 99.2</samp>&rsquo; says to end with the second page numbered 99 in the
-document. The &lsquo;<samp>=</samp>&rsquo; and <var>lastseq</var> features aren&rsquo;t useful
+&lsquo;<samp class="samp">-l 99.2</samp>&rsquo; says to end with the second page numbered 99 in the
+document. The &lsquo;<samp class="samp">=</samp>&rsquo; and <var class="var">lastseq</var> features aren&rsquo;t useful
together.
</p>
</dd>
-<dt id='index-_002dL'><span>&lsquo;<samp>-L*</samp>&rsquo;<a href='#index-_002dL' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-papersize-special_002c-first-vs_002e-last"></span>
-<p>By default or with <code>-L1</code>, the last &lsquo;<samp>papersize</samp>&rsquo; special wins;
-with <code>-L0</code>, the first special wins. See <a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a>.
+<dt id='index-_002dL'><span>&lsquo;<samp class="samp">-L*</samp>&rsquo;<a class="copiable-link" href='#index-_002dL'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-papersize-special_002c-first-vs_002e-last"></a>
+<p>By default or with <code class="code">-L1</code>, the last &lsquo;<samp class="samp">papersize</samp>&rsquo; special wins;
+with <code class="code">-L0</code>, the first special wins. See <a class="xref" href="#papersize-special">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a>.
</p>
</dd>
-<dt id='index-_002dlandscaperotate'><span>&lsquo;<samp>-landscaperotate*</samp>&rsquo;<a href='#index-_002dlandscaperotate' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-landscaperotate"></span>
+<dt id='index-_002dlandscaperotate'><span>&lsquo;<samp class="samp">-landscaperotate*</samp>&rsquo;<a class="copiable-link" href='#index-_002dlandscaperotate'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-landscaperotate"></a>
<p>When looking for matching paper sizes, permit rotation of page content
on the page to match the given size; the default, as of Dvips 2022.1,
is not to do this. It should not be needed in modern systems with
normal print spoolers, and can be harmful when converting to PDF
-(see <a href="#Config-file-paper-sizes">Configuration file paper size command</a>). This option accepts an optional
+(see <a class="pxref" href="#Config-file-paper-sizes">Configuration file paper size command</a>). This option accepts an optional
suffix of 0 (to explicitly disable) or 1 (to explicitly enable); if
the option is specified without a suffix, it enables the behavior.
</p>
</dd>
-<dt id='index-_002dm'><span>&lsquo;<samp>-m*</samp>&rsquo;<a href='#index-_002dm' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-manual-feed"></span>
+<dt id='index-_002dm'><span>&lsquo;<samp class="samp">-m*</samp>&rsquo;<a class="copiable-link" href='#index-_002dm'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-manual-feed"></a>
<p>Specify manual feed, if supported by the output device.
</p>
</dd>
-<dt id='index-_002dmode-mode'><span>&lsquo;<samp>-mode <var>mode</var></samp>&rsquo;<a href='#index-_002dmode-mode' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-mode-name_002c-specifying"></span>
-<span id="index-Metafont-mode_002c-specifying"></span>
-<p>Use <var>mode</var> as the Metafont device name for path searching and font
+<dt id='index-_002dmode-mode'><span>&lsquo;<samp class="samp">-mode <var class="var">mode</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dmode-mode'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-mode-name_002c-specifying"></a>
+<a class="index-entry-id" id="index-Metafont-mode_002c-specifying"></a>
+<p>Use <var class="var">mode</var> as the Metafont device name for path searching and font
generation. This overrides any value from configuration files. With
the default paths, explicitly specifying the mode also makes the program
-assume the fonts are in a subdirectory named <var>mode</var>.
-See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#TeX-directory-structure">TeX directory structure</a> in <cite>Kpathsea</cite>. If Metafont does not understand the <var>mode</var> name, see
-<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>.
-</p>
-</dd>
-<dt id='index-_002dM'><span>&lsquo;<samp>-M*</samp>&rsquo;<a href='#index-_002dM' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-font-generation_002c-avoiding"></span>
-<span id="index-mktexpk_002c-avoiding"></span>
-<span id="index-missfont_002elog"></span>
-<p>Turns off automatic font generation (<samp>mktexpk</samp>). If
-<code>mktexpk</code>, the invocation is appended to a file
-<samp>missfont.log</samp> (by default) in the current directory. You can then
+assume the fonts are in a subdirectory named <var class="var">mode</var>.
+See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#TeX-directory-structure">TeX directory structure</a> in <cite class="cite">Kpathsea</cite>. If Metafont does not understand the <var class="var">mode</var> name, see
+<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite class="cite">Kpathsea</cite>.
+</p>
+</dd>
+<dt id='index-_002dM'><span>&lsquo;<samp class="samp">-M*</samp>&rsquo;<a class="copiable-link" href='#index-_002dM'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-font-generation_002c-avoiding"></a>
+<a class="index-entry-id" id="index-mktexpk_002c-avoiding"></a>
+<a class="index-entry-id" id="index-missfont_002elog"></a>
+<p>Turns off automatic font generation (<samp class="file">mktexpk</samp>). If
+<code class="code">mktexpk</code>, the invocation is appended to a file
+<samp class="file">missfont.log</samp> (by default) in the current directory. You can then
execute the log file to create the missing files after fixing the
problem.
-<span id="index-TEXMFOUTPUT"></span>
-<span id="index-MISSFONT_005fLOG"></span>
+<a class="index-entry-id" id="index-TEXMFOUTPUT"></a>
+<a class="index-entry-id" id="index-MISSFONT_005fLOG"></a>
If the current directory is not writable and the environment variable or
-configuration file value &lsquo;<samp>TEXMFOUTPUT</samp>&rsquo; is set, its value is used.
-Otherwise, nothing is written. The name &lsquo;<samp>missfont.log</samp>&rsquo; is
-overridden by the &lsquo;<samp>MISSFONT_LOG</samp>&rsquo; environment variable or
+configuration file value &lsquo;<samp class="samp">TEXMFOUTPUT</samp>&rsquo; is set, its value is used.
+Otherwise, nothing is written. The name &lsquo;<samp class="samp">missfont.log</samp>&rsquo; is
+overridden by the &lsquo;<samp class="samp">MISSFONT_LOG</samp>&rsquo; environment variable or
configuration file value.
</p>
</dd>
-<dt id='index-_002dn-num'><span>&lsquo;<samp>-n <var>num</var></samp>&rsquo;<a href='#index-_002dn-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-maximum-pages-printed"></span>
-<span id="index-pages_002c-maximum-printed"></span>
-<p>Print at most <var>num</var> pages. Default is 100000.
+<dt id='index-_002dn-num'><span>&lsquo;<samp class="samp">-n <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dn-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-maximum-pages-printed"></a>
+<a class="index-entry-id" id="index-pages_002c-maximum-printed"></a>
+<p>Print at most <var class="var">num</var> pages. Default is 100000.
</p>
</dd>
-<dt id='index-_002dN'><span>&lsquo;<samp>-N*</samp>&rsquo;<a href='#index-_002dN' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-structured-comments"></span>
-<span id="index-TranScript"></span>
-<span id="index-_0025_0025Page_002c-not-generating"></span>
-<p>Turns off generation of structured comments such as &lsquo;<samp>%%Page</samp>&rsquo;; this
+<dt id='index-_002dN'><span>&lsquo;<samp class="samp">-N*</samp>&rsquo;<a class="copiable-link" href='#index-_002dN'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-structured-comments"></a>
+<a class="index-entry-id" id="index-TranScript"></a>
+<a class="index-entry-id" id="index-_0025_0025Page_002c-not-generating"></a>
+<p>Turns off generation of structured comments such as &lsquo;<samp class="samp">%%Page</samp>&rsquo;; this
may be necessary on some systems that try to interpret PostScript
comments in weird ways, or on some PostScript printers. Old versions of
TranScript in particular cannot handle modern Encapsulated PostScript.
@@ -1188,21 +1186,21 @@ Beware: This also disables page movement, etc., in PostScript viewers
such as Ghostview.
</p>
</dd>
-<dt id='index-_002dnoomega'><span>&lsquo;<samp>-noomega</samp>&rsquo;<a href='#index-_002dnoomega' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-Omega-extensions"></span>
-<span id="index-pTeX-extensions"></span>
+<dt id='index-_002dnoomega'><span>&lsquo;<samp class="samp">-noomega</samp>&rsquo;<a class="copiable-link" href='#index-_002dnoomega'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-Omega-extensions"></a>
+<a class="index-entry-id" id="index-pTeX-extensions"></a>
<p>Disable the use of Omega extensions when interpreting DVI
-files. By default, the additional opcodes &lsquo;<samp>129</samp>&rsquo; and &lsquo;<samp>134</samp>&rsquo;
+files. By default, the additional opcodes &lsquo;<samp class="samp">129</samp>&rsquo; and &lsquo;<samp class="samp">134</samp>&rsquo;
are recognized by Dvips as Omega or pTeX extensions and interpreted as
requests to set 2-byte characters.
</p>
</dd>
-<dt id='index-_002dnoptex'><span>&lsquo;<samp>-noptex</samp>&rsquo;<a href='#index-_002dnoptex' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-pTeX-extensions-1"></span>
+<dt id='index-_002dnoptex'><span>&lsquo;<samp class="samp">-noptex</samp>&rsquo;<a class="copiable-link" href='#index-_002dnoptex'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-pTeX-extensions-1"></a>
<p>Disable the use of pTeX extensions when interpreting DVI files. By
-default, the additional opcodes &lsquo;<samp>130</samp>&rsquo; and &lsquo;<samp>135</samp>&rsquo; are
+default, the additional opcodes &lsquo;<samp class="samp">130</samp>&rsquo; and &lsquo;<samp class="samp">135</samp>&rsquo; are
recognized by Dvips as Omega extensions and interpreted as requests to
-set 3-byte characters, and &lsquo;<samp>255</samp>&rsquo; as request to change the
+set 3-byte characters, and &lsquo;<samp class="samp">255</samp>&rsquo; as request to change the
typesetting direction.
</p>
<p>The only drawback is that the virtual font array will (at least
@@ -1210,202 +1208,202 @@ temporarily) require 65536 or more positions instead of the default
256 positions, i.e., the memory requirements of Dvips will be somewhat
larger. If you find this unacceptable or encounter another problem
with the Omega or pTeX extensions, you can switch off the pTeX
-extension by using &lsquo;<samp>-noptex</samp>&rsquo;, or both by using &lsquo;<samp>-noomega</samp>&rsquo;
+extension by using &lsquo;<samp class="samp">-noptex</samp>&rsquo;, or both by using &lsquo;<samp class="samp">-noomega</samp>&rsquo;
(but please do send a bug report if you find such problems,
-see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>).
+see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>).
</p>
</dd>
-<dt id='index-_002do-name'><span>&lsquo;<samp>-o <var>name</var></samp>&rsquo;<a href='#index-_002do-name' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-output_002c-redirecting"></span>
-<span id="index-standard-output_002c-output-to"></span>
-<p>Send output to the file <var>name</var>. If &lsquo;<samp>-o</samp>&rsquo; is specified without
-<var>name</var> (i.e., it is the last thing on the command line), the
-default is &lsquo;<samp><var>file</var>.ps</samp>&rsquo; where the input DVI file was
-&lsquo;<samp><var>file</var>.dvi</samp>&rsquo;. If &lsquo;<samp>-o</samp>&rsquo; isn&rsquo;t given at all, the
+<dt id='index-_002do-name'><span>&lsquo;<samp class="samp">-o <var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002do-name'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-output_002c-redirecting"></a>
+<a class="index-entry-id" id="index-standard-output_002c-output-to"></a>
+<p>Send output to the file <var class="var">name</var>. If &lsquo;<samp class="samp">-o</samp>&rsquo; is specified without
+<var class="var">name</var> (i.e., it is the last thing on the command line), the
+default is &lsquo;<samp class="samp"><var class="var">file</var>.ps</samp>&rsquo; where the input DVI file was
+&lsquo;<samp class="samp"><var class="var">file</var>.dvi</samp>&rsquo;. If &lsquo;<samp class="samp">-o</samp>&rsquo; isn&rsquo;t given at all, the
configuration file default is used.
</p>
-<span id="index-popen-for-output"></span>
-<span id="index-_002d-as-output-filename"></span>
-<span id="index-_0021-starting-output-filename"></span>
-<span id="index-_007c-starting-output-filename"></span>
-<span id="index-lpr-spooler_002c-MS_002dDOS-emulation"></span>
-<span id="index-spooling-to-lpr-on-MS_002dDOS"></span>
-<p>If <var>name</var> is &lsquo;<samp>-</samp>&rsquo;, output goes to standard output. If the first
-character of <var>name</var> is &lsquo;<samp>!</samp>&rsquo; or &lsquo;<samp>|</samp>&rsquo;, then the remainder will
-be used as an argument to <code>popen</code>; thus, specifying &lsquo;<samp>|lpr</samp>&rsquo; as
+<a class="index-entry-id" id="index-popen-for-output"></a>
+<a class="index-entry-id" id="index-_002d-as-output-filename"></a>
+<a class="index-entry-id" id="index-_0021-starting-output-filename"></a>
+<a class="index-entry-id" id="index-_007c-starting-output-filename"></a>
+<a class="index-entry-id" id="index-lpr-spooler_002c-MS_002dDOS-emulation"></a>
+<a class="index-entry-id" id="index-spooling-to-lpr-on-MS_002dDOS"></a>
+<p>If <var class="var">name</var> is &lsquo;<samp class="samp">-</samp>&rsquo;, output goes to standard output. If the first
+character of <var class="var">name</var> is &lsquo;<samp class="samp">!</samp>&rsquo; or &lsquo;<samp class="samp">|</samp>&rsquo;, then the remainder will
+be used as an argument to <code class="code">popen</code>; thus, specifying &lsquo;<samp class="samp">|lpr</samp>&rsquo; as
the output file will automatically queue the file for printing as
usual. (The MS-DOS version will print to the local printer device
-<samp>PRN</samp> when <var>name</var> is &lsquo;<samp>|lpr</samp>&rsquo; and a program by that name
+<samp class="file">PRN</samp> when <var class="var">name</var> is &lsquo;<samp class="samp">|lpr</samp>&rsquo; and a program by that name
cannot be found.)
</p>
-<p>&lsquo;<samp>-o</samp>&rsquo; disables the automatic reading of the <code>PRINTER</code>
+<p>&lsquo;<samp class="samp">-o</samp>&rsquo; disables the automatic reading of the <code class="code">PRINTER</code>
environment variable, and turns off the automatic sending of control-D.
-See the &lsquo;<samp>-f</samp>&rsquo; option for how to override this.
+See the &lsquo;<samp class="samp">-f</samp>&rsquo; option for how to override this.
</p>
</dd>
-<dt id='index-_002dO-x_002doffset_002cy_002doffset'><span>&lsquo;<samp>-O <var>x-offset</var>,<var>y-offset</var></samp>&rsquo;<a href='#index-_002dO-x_002doffset_002cy_002doffset' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-offset-pages"></span>
-<span id="index-printer-offset"></span>
-<p>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated
-pair of dimensions such as &lsquo;<samp>.1in,-.3cm</samp>&rsquo; (see <a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a>). The origin of the page is shifted from the default position
+<dt id='index-_002dO-x_002doffset_002cy_002doffset'><span>&lsquo;<samp class="samp">-O <var class="var">x-offset</var>,<var class="var">y-offset</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dO-x_002doffset_002cy_002doffset'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-offset-pages"></a>
+<a class="index-entry-id" id="index-printer-offset"></a>
+<p>Move the origin by <var class="var">x-offset</var>,<var class="var">y-offset</var>, a comma-separated
+pair of dimensions such as &lsquo;<samp class="samp">.1in,-.3cm</samp>&rsquo; (see <a class="pxref" href="#papersize-special">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a>). The origin of the page is shifted from the default position
(of one inch down, one inch to the right from the upper left corner of
the paper) by this amount. This is usually best specified in the
printer-specific configuration file.
</p>
-<span id="index-testpage_002etex"></span>
+<a class="index-entry-id" id="index-testpage_002etex"></a>
<p>This is useful for a printer that consistently offsets output pages by a
-certain amount. You can use the file <samp>testpage.tex</samp> to determine
+certain amount. You can use the file <samp class="file">testpage.tex</samp> to determine
the correct value for your printer. Be sure to do several runs with the
-same <code>O</code> value&mdash;some printers vary widely from run to run.
+same <code class="code">O</code> value&mdash;some printers vary widely from run to run.
</p>
-<span id="index-bop_002dhook_002c-and-offset-pages"></span>
+<a class="index-entry-id" id="index-bop_002dhook_002c-and-offset-pages"></a>
<p>If your printer offsets every other page consistently, instead of every
-page, your best recourse is to use &lsquo;<samp>bop-hook</samp>&rsquo; (see <a href="#PostScript-hooks">PostScript hooks</a>).
+page, your best recourse is to use &lsquo;<samp class="samp">bop-hook</samp>&rsquo; (see <a class="pxref" href="#PostScript-hooks">PostScript hooks</a>).
</p>
</dd>
-<dt id='index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d'><span>&lsquo;<samp>-p [=]<var>num</var>[.<var>pageseq</var>]</samp>&rsquo;<a href='#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-first-page-printed"></span>
-<span id="index-page_002c-first-printed"></span>
-<span id="index-physical-page-number_002c-and-_002dp"></span>
-<span id="index-absolute-page-number_002c-and-_002dp"></span>
-<p>Exactly analogous to <code>-l</code> (q.v.), but specifying the first page
+<dt id='index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d'><span>&lsquo;<samp class="samp">-p [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</samp>&rsquo;<a class="copiable-link" href='#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-first-page-printed"></a>
+<a class="index-entry-id" id="index-page_002c-first-printed"></a>
+<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dp"></a>
+<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dp"></a>
+<p>Exactly analogous to <code class="code">-l</code> (q.v.), but specifying the first page
number to be printed (processed).
</p>
</dd>
-<dt id='index-_002dpp-first_002dlast'><span>&lsquo;<samp>-pp <var>first</var>-<var>last</var></samp>&rsquo;<a href='#index-_002dpp-first_002dlast' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-page-range"></span>
-<span id="index-_002dpp-range"></span>
-<p>Print pages <var>first</var> through <var>last</var>; equivalent to &lsquo;<samp>-p
-<var>first</var> -l <var>last</var></samp>&rsquo;, except that multiple &lsquo;<samp>-pp</samp>&rsquo; options
-accumulate, unlike &lsquo;<samp>-p</samp>&rsquo; and &lsquo;<samp>-l</samp>&rsquo;. The &lsquo;<samp>-</samp>&rsquo; separator can
-also be &lsquo;<samp>:</samp>&rsquo;.
+<dt id='index-_002dpp-first_002dlast'><span>&lsquo;<samp class="samp">-pp <var class="var">first</var>-<var class="var">last</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dpp-first_002dlast'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-page-range"></a>
+<a class="index-entry-id" id="index-_002dpp-range"></a>
+<p>Print pages <var class="var">first</var> through <var class="var">last</var>; equivalent to &lsquo;<samp class="samp">-p
+<var class="var">first</var> -l <var class="var">last</var></samp>&rsquo;, except that multiple &lsquo;<samp class="samp">-pp</samp>&rsquo; options
+accumulate, unlike &lsquo;<samp class="samp">-p</samp>&rsquo; and &lsquo;<samp class="samp">-l</samp>&rsquo;. The &lsquo;<samp class="samp">-</samp>&rsquo; separator can
+also be &lsquo;<samp class="samp">:</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002dP-printer'><span>&lsquo;<samp>-P <var>printer</var></samp>&rsquo;<a href='#index-_002dP-printer' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-config_002eps"></span>
-<p>Read the configuration file <samp>config.<var>printer</var></samp>
-(<samp><var>printer</var>.cfg</samp> on MS-DOS), which typically sets the output
-name (most likely &lsquo;<samp>o |lpr -P<var>printer</var></samp>&rsquo;), resolution, Metafont
+<dt id='index-_002dP-printer'><span>&lsquo;<samp class="samp">-P <var class="var">printer</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dP-printer'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-config_002eps"></a>
+<p>Read the configuration file <samp class="file">config.<var class="var">printer</var></samp>
+(<samp class="file"><var class="var">printer</var>.cfg</samp> on MS-DOS), which typically sets the output
+name (most likely &lsquo;<samp class="samp">o |lpr -P<var class="var">printer</var></samp>&rsquo;), resolution, Metafont
mode, and perhaps other printer-specific defaults. It works best to
-put sitewide defaults in the one master &lsquo;<samp>config.ps</samp>&rsquo; file and only
+put sitewide defaults in the one master &lsquo;<samp class="samp">config.ps</samp>&rsquo; file and only
things that vary from printer to printer in the
-&lsquo;<samp>config.<var>printer</var></samp>&rsquo; files; &lsquo;<samp>config.ps</samp>&rsquo; is read before
-&lsquo;<samp>config.<var>printer</var></samp>&rsquo;.
+&lsquo;<samp class="samp">config.<var class="var">printer</var></samp>&rsquo; files; &lsquo;<samp class="samp">config.ps</samp>&rsquo; is read before
+&lsquo;<samp class="samp">config.<var class="var">printer</var></samp>&rsquo;.
</p>
<p>A configuration file for eventual creation of Adobe PDF files is
-provided in &lsquo;<samp>config.pdf</samp>&rsquo; and thus can be loaded with
-&lsquo;<samp>-Ppdf</samp>&rsquo;. It will try to include Type 1 outline fonts into the
-PostScript file (see <a href="#Hypertext-caveats">Hypertext caveats</a>).
+provided in &lsquo;<samp class="samp">config.pdf</samp>&rsquo; and thus can be loaded with
+&lsquo;<samp class="samp">-Ppdf</samp>&rsquo;. It will try to include Type 1 outline fonts into the
+PostScript file (see <a class="pxref" href="#Hypertext-caveats">Hypertext caveats</a>).
</p>
-<p>If no &lsquo;<samp>-P</samp>&rsquo; or &lsquo;<samp>-o</samp>&rsquo; is given, the environment variable
-<code>PRINTER</code> is checked. If that variable exists, and a corresponding
-<samp>config.<var>printer</var></samp> (<samp><var>printer</var>.cfg</samp> on MS-DOS) file
+<p>If no &lsquo;<samp class="samp">-P</samp>&rsquo; or &lsquo;<samp class="samp">-o</samp>&rsquo; is given, the environment variable
+<code class="code">PRINTER</code> is checked. If that variable exists, and a corresponding
+<samp class="file">config.<var class="var">printer</var></samp> (<samp class="file"><var class="var">printer</var>.cfg</samp> on MS-DOS) file
exists, it is read.
-See <a href="#Configuration-file-searching">Configuration file searching</a>.
+See <a class="xref" href="#Configuration-file-searching">Configuration file searching</a>.
</p>
</dd>
-<dt id='index-_002dq'><span>&lsquo;<samp>-q*</samp>&rsquo;<a href='#index-_002dq' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-quiet-operation"></span>
-<span id="index-silent-operation"></span>
-<span id="index-warnings_002c-suppressing"></span>
+<dt id='index-_002dq'><span>&lsquo;<samp class="samp">-q*</samp>&rsquo;<a class="copiable-link" href='#index-_002dq'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-quiet-operation"></a>
+<a class="index-entry-id" id="index-silent-operation"></a>
+<a class="index-entry-id" id="index-warnings_002c-suppressing"></a>
<p>Run quietly. Don&rsquo;t chatter about pages converted, etc.,
and report no warnings (only errors) to standard error.
</p>
</dd>
-<dt id='index-_002dr'><span>&lsquo;<samp>-r*</samp>&rsquo;<a href='#index-_002dr' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-reverse-pagination"></span>
+<dt id='index-_002dr'><span>&lsquo;<samp class="samp">-r*</samp>&rsquo;<a class="copiable-link" href='#index-_002dr'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-reverse-pagination"></a>
<p>Output pages in reverse order. By default, page 1 is output first.
</p>
</dd>
-<dt id='index-_002dR'><span>&lsquo;<samp>-R</samp>&rsquo;<a href='#index-_002dR' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-security"></span>
-<span id="index-shell-command-execution_002c-disabling"></span>
-<span id="index-absolute-filenames_002c-disabling"></span>
-<span id="index-_002e_002e_002drelative-filenames"></span>
-<p>Run securely. &lsquo;<samp>-R2</samp>&rsquo; disables both shell command execution in
-<code>\special</code> (via &lsquo;<samp>`</samp>&rsquo;, see <a href="#Dynamic-creation-of-graphics">Dynamic creation of PostScript graphics files</a>)
-and config files (via the &lsquo;<samp>E</samp>&rsquo; option, see <a href="#Configuration-file-commands">Configuration file commands</a>) and opening of any absolute or <samp>..</samp>-relative
-filenames. &lsquo;<samp>-R1</samp>&rsquo;, the default, forbids shell escapes but allows
-absolute filenames. &lsquo;<samp>-R0</samp>&rsquo; allows both.
+<dt id='index-_002dR'><span>&lsquo;<samp class="samp">-R</samp>&rsquo;<a class="copiable-link" href='#index-_002dR'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-security"></a>
+<a class="index-entry-id" id="index-shell-command-execution_002c-disabling"></a>
+<a class="index-entry-id" id="index-absolute-filenames_002c-disabling"></a>
+<a class="index-entry-id" id="index-_002e_002e_002drelative-filenames"></a>
+<p>Run securely. &lsquo;<samp class="samp">-R2</samp>&rsquo; disables both shell command execution in
+<code class="code">\special</code> (via &lsquo;<samp class="samp">`</samp>&rsquo;, see <a class="pxref" href="#Dynamic-creation-of-graphics">Dynamic creation of PostScript graphics files</a>)
+and config files (via the &lsquo;<samp class="samp">E</samp>&rsquo; option, see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>) and opening of any absolute or <samp class="file">..</samp>-relative
+filenames. &lsquo;<samp class="samp">-R1</samp>&rsquo;, the default, forbids shell escapes but allows
+absolute filenames. &lsquo;<samp class="samp">-R0</samp>&rsquo; allows both.
</p>
</dd>
-<dt id='index-_002ds'><span>&lsquo;<samp>-s*</samp>&rsquo;<a href='#index-_002ds' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-save_002frestore_002c-generating-global"></span>
+<dt id='index-_002ds'><span>&lsquo;<samp class="samp">-s*</samp>&rsquo;<a class="copiable-link" href='#index-_002ds'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-save_002frestore_002c-generating-global"></a>
<p>Enclose the output in a global save/restore pair. This causes the file
to not be truly conformant, and is thus not recommended, but is useful
if you are driving a deficient printer directly and thus don&rsquo;t care too
much about the portability of the output to other environments.
</p>
</dd>
-<dt id='index-_002dS-num'><span>&lsquo;<samp>-S <var>num</var></samp>&rsquo;<a href='#index-_002dS-num' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002dS-num'><span>&lsquo;<samp class="samp">-S <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dS-num'> &para;</a></span></dt>
<dd><p>Set the maximum number of pages in each &lsquo;section&rsquo;. This option is most
-commonly used with the &lsquo;<samp>-i</samp>&rsquo; option; see its description above for
+commonly used with the &lsquo;<samp class="samp">-i</samp>&rsquo; option; see its description above for
more information.
</p>
</dd>
-<dt id='index-_002dt-papertype'><span>&lsquo;<samp>-t <var>papertype</var></samp>&rsquo;<a href='#index-_002dt-papertype' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-paper-type"></span>
-<span id="index-media"></span>
-<span id="index-letter-papertype"></span>
-<span id="index-legal-papertype"></span>
-<span id="index-ledger-papertype"></span>
-<span id="index-a4-papertype"></span>
-<span id="index-a3-papertype"></span>
-<span id="index-landscape-papertype"></span>
-<span id="index-papersize-special_002c-and-no-_002dt"></span>
-<p>Set the paper type to <var>papertype</var>, usually defined in one of the
+<dt id='index-_002dt-papertype'><span>&lsquo;<samp class="samp">-t <var class="var">papertype</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dt-papertype'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-paper-type"></a>
+<a class="index-entry-id" id="index-media"></a>
+<a class="index-entry-id" id="index-letter-papertype"></a>
+<a class="index-entry-id" id="index-legal-papertype"></a>
+<a class="index-entry-id" id="index-ledger-papertype"></a>
+<a class="index-entry-id" id="index-a4-papertype"></a>
+<a class="index-entry-id" id="index-a3-papertype"></a>
+<a class="index-entry-id" id="index-landscape-papertype"></a>
+<a class="index-entry-id" id="index-papersize-special_002c-and-no-_002dt"></a>
+<p>Set the paper type to <var class="var">papertype</var>, usually defined in one of the
configuration files, along with the appropriate PostScript code to
-select it (see <a href="#Config-file-paper-sizes">Configuration file paper size command</a>).
-</p><ul class="no-bullet">
-<li>- You can also specify a <var>papertype</var> of &lsquo;<samp>landscape</samp>&rsquo;,
+select it (see <a class="pxref" href="#Config-file-paper-sizes">Configuration file paper size command</a>).
+</p><ul class="itemize mark-minus">
+<li>You can also specify a <var class="var">papertype</var> of &lsquo;<samp class="samp">landscape</samp>&rsquo;,
which rotates a document by 90 degrees.
-</li><li>- To rotate a document whose paper type is not the default, you
-can use the &lsquo;<samp>-t</samp>&rsquo; option twice, once for the paper type, and once
-for &lsquo;<samp>landscape</samp>&rsquo;.
-</li><li>- In general, you should not use any &lsquo;<samp>-t</samp>&rsquo; option when
-using a &lsquo;<samp>papersize</samp>&rsquo; special, which some LaTeX packages (e.g.,
-&lsquo;<samp>hyperref</samp>&rsquo;) insert.
-</li><li>- One exception is when using a nonstandard paper size that is not
-already defined in <samp>config.ps</samp>; in this case, you need to specify
-&lsquo;<samp>-t&nbsp;unknown</samp>&rsquo;.
-</li><li>- Another exception is when producing multi-page files for further
-processing; use &lsquo;<samp>-t&nbsp;nopaper</samp>&rsquo; to omit any paper size
+</li><li>To rotate a document whose paper type is not the default, you
+can use the &lsquo;<samp class="samp">-t</samp>&rsquo; option twice, once for the paper type, and once
+for &lsquo;<samp class="samp">landscape</samp>&rsquo;.
+</li><li>In general, you should not use any &lsquo;<samp class="samp">-t</samp>&rsquo; option when
+using a &lsquo;<samp class="samp">papersize</samp>&rsquo; special, which some LaTeX packages (e.g.,
+&lsquo;<samp class="samp">hyperref</samp>&rsquo;) insert.
+</li><li>One exception is when using a nonstandard paper size that is not
+already defined in <samp class="file">config.ps</samp>; in this case, you need to specify
+&lsquo;<samp class="samp">-t&nbsp;unknown</samp>&rsquo;.
+</li><li>Another exception is when producing multi-page files for further
+processing; use &lsquo;<samp class="samp">-t&nbsp;nopaper</samp>&rsquo; to omit any paper size
information in the output. (If you just have a single page document,
-you can use &lsquo;<samp>-E</samp>&rsquo; to get pure EPSF output.)
+you can use &lsquo;<samp class="samp">-E</samp>&rsquo; to get pure EPSF output.)
</li></ul>
</dd>
-<dt id='index-_002dtitle-str'><span>&lsquo;<samp>-title <var>string</var></samp>&rsquo;<a href='#index-_002dtitle-str' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-title_002c-specifying"></span>
-<span id="index-output-title_002c-specifying"></span>
-<span id="index-document-title_002c-specifying"></span>
-<span id="index-_0025_0025Title"></span>
-<p>Use <var>string</var> as the title in the generated PostScript
-(<code>%%Title</code>). If not specified, the default is the basename of the
-input file; for example, running <code>dvips /foo/bar.dvi</code> will have a
-<code>%%Title</code> of &lsquo;<samp>bar.dvi</samp>&rsquo;.
+<dt id='index-_002dtitle-str'><span>&lsquo;<samp class="samp">-title <var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dtitle-str'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-title_002c-specifying"></a>
+<a class="index-entry-id" id="index-output-title_002c-specifying"></a>
+<a class="index-entry-id" id="index-document-title_002c-specifying"></a>
+<a class="index-entry-id" id="index-_0025_0025Title"></a>
+<p>Use <var class="var">string</var> as the title in the generated PostScript
+(<code class="code">%%Title</code>). If not specified, the default is the basename of the
+input file; for example, running <code class="code">dvips /foo/bar.dvi</code> will have a
+<code class="code">%%Title</code> of &lsquo;<samp class="samp">bar.dvi</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002dT-hsize_002cvsize'><span>&lsquo;<samp>-T <var>hsize</var>,<var>vsize</var></samp>&rsquo;<a href='#index-_002dT-hsize_002cvsize' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the paper size to (<var>hsize</var>,<var>vsize</var>), a comma-separated
-pair of dimensions such as &lsquo;<samp>.1in,-.3cm</samp>&rsquo; (see <a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a>). It overrides any paper size special in the DVI file. Be
+<dt id='index-_002dT-hsize_002cvsize'><span>&lsquo;<samp class="samp">-T <var class="var">hsize</var>,<var class="var">vsize</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dT-hsize_002cvsize'> &para;</a></span></dt>
+<dd><p>Set the paper size to (<var class="var">hsize</var>,<var class="var">vsize</var>), a comma-separated
+pair of dimensions such as &lsquo;<samp class="samp">.1in,-.3cm</samp>&rsquo; (see <a class="pxref" href="#papersize-special">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a>). It overrides any paper size special in the DVI file. Be
careful, as the paper size will stick to a predefined size if there is
-one close enough. To disable this behavior, use &lsquo;<samp>-tunknown</samp>&rsquo;.
+one close enough. To disable this behavior, use &lsquo;<samp class="samp">-tunknown</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002du-psmapfile'><span>&lsquo;<samp>-u <var>psmapfile</var></samp>&rsquo;<a href='#index-_002du-psmapfile' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-PostScript-font-alias-file"></span>
-<span id="index-resident-fonts_002c-different-in-different-printers"></span>
-<p>Set <var>psmapfile</var> to be the file that dvips uses for looking up
-PostScript font aliases. If <var>psmapfile</var> begins with a &lsquo;<samp>+</samp>&rsquo;
+<dt id='index-_002du-psmapfile'><span>&lsquo;<samp class="samp">-u <var class="var">psmapfile</var></samp>&rsquo;<a class="copiable-link" href='#index-_002du-psmapfile'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-PostScript-font-alias-file"></a>
+<a class="index-entry-id" id="index-resident-fonts_002c-different-in-different-printers"></a>
+<p>Set <var class="var">psmapfile</var> to be the file that dvips uses for looking up
+PostScript font aliases. If <var class="var">psmapfile</var> begins with a &lsquo;<samp class="samp">+</samp>&rsquo;
character, then the rest of the name is used as the name of the map file,
and the map file is appended to the list of map files (instead of replacing
-the list). In either case, if the name has no extension, then &lsquo;<samp>.map</samp>&rsquo;
+the list). In either case, if the name has no extension, then &lsquo;<samp class="samp">.map</samp>&rsquo;
is added at the end.
</p>
</dd>
-<dt id='index-_002dU'><span>&lsquo;<samp>-U*</samp>&rsquo;<a href='#index-_002dU' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-Xerox-4045"></span>
+<dt id='index-_002dU'><span>&lsquo;<samp class="samp">-U*</samp>&rsquo;<a class="copiable-link" href='#index-_002dU'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-Xerox-4045"></a>
<p>Disable a PostScript virtual memory-saving optimization that stores the
character metric information in the same string that is used to store
the bitmap information. This is only necessary when driving the Xerox
@@ -1414,68 +1412,68 @@ bottom of each character. Not recommended unless you must drive this
printer.
</p>
</dd>
-<dt id='index-_002dv'><span>&lsquo;<samp>-v</samp>&rsquo;<a href='#index-_002dv' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002dv'><span>&lsquo;<samp class="samp">-v</samp>&rsquo;<a class="copiable-link" href='#index-_002dv'> &para;</a></span></dt>
<dd><p>Print the dvips version number and exit.
</p>
</dd>
-<dt id='index-_002dV'><span>&lsquo;<samp>-V*</samp>&rsquo;<a href='#index-_002dV' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002dV'><span>&lsquo;<samp class="samp">-V*</samp>&rsquo;<a class="copiable-link" href='#index-_002dV'> &para;</a></span></dt>
<dd><p>Download non-resident PostScript fonts as bitmaps. This requires use
-<span id="index-mtpk"></span>
-<span id="index-gsftopk"></span>
-<span id="index-pstopk"></span>
-of <code>mtpk</code> or <code>gsftopk</code> or <code>pstopk</code> or some combination
+<a class="index-entry-id" id="index-mtpk"></a>
+<a class="index-entry-id" id="index-gsftopk"></a>
+<a class="index-entry-id" id="index-pstopk"></a>
+of <code class="code">mtpk</code> or <code class="code">gsftopk</code> or <code class="code">pstopk</code> or some combination
thereof to generate the required bitmap fonts; these programs are
-supplied with Dvips. The bitmap must be put into <samp>psfonts.map</samp> as
+supplied with Dvips. The bitmap must be put into <samp class="file">psfonts.map</samp> as
the downloadable file for that font. This is useful only for those
fonts for which you do not have real outlines, being downloaded to
printers that have no resident fonts, i.e., very rarely.
</p>
</dd>
-<dt id='index-_002dx-num'><span>&lsquo;<samp>-x <var>num</var></samp>&rsquo;<a href='#index-_002dx-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-magnification_002c-overriding-DVI"></span>
-<p>Set the magnification ratio to <em class='math'><var>num</var>/1000</em>. Overrides
+<dt id='index-_002dx-num'><span>&lsquo;<samp class="samp">-x <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dx-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-magnification_002c-overriding-DVI"></a>
+<p>Set the magnification ratio to <em class="math"><var class="var">num</var>/1000</em>. Overrides
the magnification specified in the DVI file. Must be between 10 and
100000. It is recommended that you use standard magstep values (1095,
1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the total
-number of PK files generated. <var>num</var> may be a real number, not an
+number of PK files generated. <var class="var">num</var> may be a real number, not an
integer, for increased precision.
</p>
</dd>
-<dt id='index-_002dX-num'><span>&lsquo;<samp>-X <var>num</var></samp>&rsquo;<a href='#index-_002dX-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-resolution"></span>
-<p>Set the horizontal resolution in dots per inch to <var>num</var>.
+<dt id='index-_002dX-num'><span>&lsquo;<samp class="samp">-X <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dX-num'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-resolution"></a>
+<p>Set the horizontal resolution in dots per inch to <var class="var">num</var>.
</p>
</dd>
-<dt id='index-magnification_002c-vertical'><span>&lsquo;<samp>-y <var>num</var></samp>&rsquo;<a href='#index-magnification_002c-vertical' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the magnification ratio to <em class='math'><var>num</var>/1000</em> times the
+<dt id='index-magnification_002c-vertical'><span>&lsquo;<samp class="samp">-y <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-magnification_002c-vertical'> &para;</a></span></dt>
+<dd><p>Set the magnification ratio to <em class="math"><var class="var">num</var>/1000</em> times the
magnification specified in the DVI file. See
-&lsquo;<samp>-x</samp>&rsquo; above.
+&lsquo;<samp class="samp">-x</samp>&rsquo; above.
</p>
</dd>
-<dt id='index-_002dY-num'><span>&lsquo;<samp>-Y <var>num</var></samp>&rsquo;<a href='#index-_002dY-num' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the vertical resolution in dots per inch to <var>num.</var>
-<span id="index-resolution-1"></span>
+<dt id='index-_002dY-num'><span>&lsquo;<samp class="samp">-Y <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dY-num'> &para;</a></span></dt>
+<dd><p>Set the vertical resolution in dots per inch to <var class="var">num.</var>
+<a class="index-entry-id" id="index-resolution-1"></a>
</p>
</dd>
-<dt id='index-_002dz-for-recognizing-hyperdvi'><span>&lsquo;<samp>-z*</samp>&rsquo;<a href='#index-_002dz-for-recognizing-hyperdvi' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-hyperdvi-extensions_002c-enabling"></span>
-<span id="index-distillation_002c-and-_002dz"></span>
-<span id="index-PDF-files_002c-option-for"></span>
-<span id="index-html-specials_002c-and-_002dz"></span>
-<p>Pass &lsquo;<samp>html</samp>&rsquo; hyperdvi specials through to the output for eventual
+<dt id='index-_002dz-for-recognizing-hyperdvi'><span>&lsquo;<samp class="samp">-z*</samp>&rsquo;<a class="copiable-link" href='#index-_002dz-for-recognizing-hyperdvi'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-hyperdvi-extensions_002c-enabling"></a>
+<a class="index-entry-id" id="index-distillation_002c-and-_002dz"></a>
+<a class="index-entry-id" id="index-PDF-files_002c-option-for"></a>
+<a class="index-entry-id" id="index-html-specials_002c-and-_002dz"></a>
+<p>Pass &lsquo;<samp class="samp">html</samp>&rsquo; hyperdvi specials through to the output for eventual
distillation into PDF. This is not enabled by default to avoid
including the header files unnecessarily, and use of temporary files in
-creating the output. See <a href="#Hypertext">HyperTeXt</a>.
+creating the output. See <a class="xref" href="#Hypertext">HyperTeXt</a>.
</p>
</dd>
-<dt id='index-_002dZ-for-compressing-bitmap-fonts'><span>&lsquo;<samp>-Z*</samp>&rsquo;<a href='#index-_002dZ-for-compressing-bitmap-fonts' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-compressing-bitmap-fonts"></span>
+<dt id='index-_002dZ-for-compressing-bitmap-fonts'><span>&lsquo;<samp class="samp">-Z*</samp>&rsquo;<a class="copiable-link" href='#index-_002dZ-for-compressing-bitmap-fonts'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-compressing-bitmap-fonts"></a>
<p>Compress bitmap fonts in the output file, thereby reducing the size of
what gets downloaded. Especially useful at high resolutions or when
very large fonts are used. May slow down printing, especially on early
68000-based PostScript printers. Generally recommend today, and can be
-enabled in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>).
+enabled in the configuration file (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>).
</p>
</dd>
</dl>
@@ -1484,87 +1482,87 @@ enabled in the configuration file (see <a href="#Configuration-file-commands">Co
<hr>
</div>
</div>
-<div class="section" id="Environment-variables">
-<div class="header">
+<div class="section-level-extent" id="Environment-variables">
+<div class="nav-panel">
<p>
Next: <a href="#Config-files" accesskey="n" rel="next">Dvips configuration files</a>, Previous: <a href="#Command_002dline-options" accesskey="p" rel="prev">Command-line options</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Environment-variables-1"></span><h3 class="section">3.3 Environment variables</h3>
+<h3 class="section" id="Environment-variables-1">3.3 Environment variables</h3>
-<span id="index-environment-variables"></span>
+<a class="index-entry-id" id="index-environment-variables"></a>
<p>Dvips looks for many environment variables, to define search paths and
other things. The path variables are read as needed, after all
configuration files are read, so they override values in the
-configuration files. (Except for <code>TEXCONFIG</code>, which defines where
+configuration files. (Except for <code class="code">TEXCONFIG</code>, which defines where
the configuration files themselves are found.)
</p>
-<p>See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Path-specifications">Path specifications</a> in <cite>Kpathsea</cite>, for details of
+<p>See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Path-specifications">Path specifications</a> in <cite class="cite">Kpathsea</cite>, for details of
interpretation of path and other environment variables common to all
Kpathsea-using programs. Only the environment variables specific to
Dvips are mentioned here.
</p>
-<dl compact="compact">
-<dt id='index-DVIPSDEBUG'><span><code>DVIPSDEBUG</code><a href='#index-DVIPSDEBUG' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-KPATHSEA_005fDEBUG"></span>
+<dl class="vtable">
+<dt id='index-DVIPSDEBUG'><span><code class="code">DVIPSDEBUG</code><a class="copiable-link" href='#index-DVIPSDEBUG'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-KPATHSEA_005fDEBUG"></a>
<p>Write the absolute path names of any configuration or map files to
standard output, for debugging. This isn&rsquo;t done by default because
these files are read even before the banner is printed. For
voluminous additional debugging, set the environment variable
-<code>KPATHSEA_DEBUG</code> to &lsquo;<samp>-1</samp>&rsquo;
-(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>). (If <code>KPATHSEA_DEBUG</code> is
-set to any value, it automatically turns on <code>DVIPSDEBUG</code>.)
+<code class="env">KPATHSEA_DEBUG</code> to &lsquo;<samp class="samp">-1</samp>&rsquo;
+(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>). (If <code class="env">KPATHSEA_DEBUG</code> is
+set to any value, it automatically turns on <code class="env">DVIPSDEBUG</code>.)
</p>
</dd>
-<dt id='index-DVIPSFONTS'><span><code>DVIPSFONTS</code><a href='#index-DVIPSFONTS' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-DVIPSFONTS'><span><code class="code">DVIPSFONTS</code><a class="copiable-link" href='#index-DVIPSFONTS'> &para;</a></span></dt>
<dd><p>Default path to search for all fonts. Overrides all the font path
config file options and other environment variables (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported
-file formats</a> in <cite>Kpathsea</cite>).
+file formats</a> in <cite class="cite">Kpathsea</cite>).
</p>
</dd>
-<dt id='index-DVIPSHEADERS'><span><code>DVIPSHEADERS</code><a href='#index-DVIPSHEADERS' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Default path to search for PostScript header files. Overrides the &lsquo;<samp>H</samp>&rsquo;
-config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>).
+<dt id='index-DVIPSHEADERS'><span><code class="code">DVIPSHEADERS</code><a class="copiable-link" href='#index-DVIPSHEADERS'> &para;</a></span></dt>
+<dd><p>Default path to search for PostScript header files. Overrides the &lsquo;<samp class="samp">H</samp>&rsquo;
+config file option (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>).
</p>
</dd>
-<dt id='index-DVIPSMAKEPK'><span><code>DVIPSMAKEPK</code><a href='#index-DVIPSMAKEPK' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-mktexpk_002c-changing-name"></span>
-<p>Overrides &lsquo;<samp>mktexpk</samp>&rsquo; as the name of the program to invoke to
+<dt id='index-DVIPSMAKEPK'><span><code class="code">DVIPSMAKEPK</code><a class="copiable-link" href='#index-DVIPSMAKEPK'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-mktexpk_002c-changing-name"></a>
+<p>Overrides &lsquo;<samp class="samp">mktexpk</samp>&rsquo; as the name of the program to invoke to
create missing PK fonts. You can change the arguments passed to the
-<code>mktexpk</code> program with the <code>MAKETEXPK</code> environment
-variable; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#MakeTeX-script-arguments">MakeTeX script arguments</a> in <cite>Kpathsea</cite>.
+<code class="code">mktexpk</code> program with the <code class="code">MAKETEXPK</code> environment
+variable; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#MakeTeX-script-arguments">MakeTeX script arguments</a> in <cite class="cite">Kpathsea</cite>.
</p>
</dd>
-<dt id='index-DVIPSRC'><span><code>DVIPSRC</code><a href='#index-DVIPSRC' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Specifies the name of the startup file (see <a href="#Configuration-file-searching">Configuration file searching</a>) which is read after <samp>config.ps</samp> but before any
+<dt id='index-DVIPSRC'><span><code class="code">DVIPSRC</code><a class="copiable-link" href='#index-DVIPSRC'> &para;</a></span></dt>
+<dd><p>Specifies the name of the startup file (see <a class="pxref" href="#Configuration-file-searching">Configuration file searching</a>) which is read after <samp class="file">config.ps</samp> but before any
printer-specific configuration files.
</p>
</dd>
-<dt id='index-DVIPSSIZES'><span><code>DVIPSSIZES</code><a href='#index-DVIPSSIZES' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-last_002dresort-font-scaling_002c-with-DVIPSSIZES"></span>
-<p>Last-resort sizes for scaling of unfound fonts. Overrides the &lsquo;<samp>R</samp>&rsquo;
-definition in config files (see <a href="#Configuration-file-commands">Configuration file commands</a>).
+<dt id='index-DVIPSSIZES'><span><code class="code">DVIPSSIZES</code><a class="copiable-link" href='#index-DVIPSSIZES'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-last_002dresort-font-scaling_002c-with-DVIPSSIZES"></a>
+<p>Last-resort sizes for scaling of unfound fonts. Overrides the &lsquo;<samp class="samp">R</samp>&rsquo;
+definition in config files (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>).
</p>
</dd>
-<dt id='index-PRINTER'><span><code>PRINTER</code><a href='#index-PRINTER' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-PRINTER'><span><code class="code">PRINTER</code><a class="copiable-link" href='#index-PRINTER'> &para;</a></span></dt>
<dd><p>Determine the default printer configuration file. (Dvips itself does
-not use <code>PRINTER</code> to determine the output destination in any way.)
+not use <code class="code">PRINTER</code> to determine the output destination in any way.)
</p>
</dd>
-<dt id='index-TEXCONFIG'><span><code>TEXCONFIG</code><a href='#index-TEXCONFIG' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-configuration-file-path"></span>
-<p>Path to search for Dvips&rsquo; <samp>config.<var>printer</var></samp> configuration
-files, including the base <samp>config.ps</samp>. Using this single
+<dt id='index-TEXCONFIG'><span><code class="code">TEXCONFIG</code><a class="copiable-link" href='#index-TEXCONFIG'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-configuration-file-path"></a>
+<p>Path to search for Dvips&rsquo; <samp class="file">config.<var class="var">printer</var></samp> configuration
+files, including the base <samp class="file">config.ps</samp>. Using this single
environment variable, you can override everything else. (The
-printer-specific configuration files are called <samp><var>printer</var>.cfg</samp>
-on MS-DOS, but <samp>config.ps</samp> is called by that name on all
+printer-specific configuration files are called <samp class="file"><var class="var">printer</var>.cfg</samp>
+on MS-DOS, but <samp class="file">config.ps</samp> is called by that name on all
platforms.)
</p>
</dd>
-<dt id='index-TEXPICTS'><span><code>TEXPICTS</code><a href='#index-TEXPICTS' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Path to search for included graphics files. Overrides the &lsquo;<samp>S</samp>&rsquo;
-config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>). If not set,
-<code>TEXINPUTS</code> is looked for. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>.
+<dt id='index-TEXPICTS'><span><code class="code">TEXPICTS</code><a class="copiable-link" href='#index-TEXPICTS'> &para;</a></span></dt>
+<dd><p>Path to search for included graphics files. Overrides the &lsquo;<samp class="samp">S</samp>&rsquo;
+config file option (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>). If not set,
+<code class="code">TEXINPUTS</code> is looked for. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>.
</p>
</dd>
</dl>
@@ -1572,243 +1570,243 @@ config file option (see <a href="#Configuration-file-commands">Configuration fil
<hr>
</div>
-<div class="section" id="Config-files">
-<div class="header">
+<div class="section-level-extent" id="Config-files">
+<div class="nav-panel">
<p>
Previous: <a href="#Environment-variables" accesskey="p" rel="prev">Environment variables</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Dvips-configuration-files"></span><h3 class="section">3.4 Dvips configuration files</h3>
+<h3 class="section" id="Dvips-configuration-files">3.4 Dvips configuration files</h3>
-<span id="index-configuration-files"></span>
+<a class="index-entry-id" id="index-configuration-files"></a>
-<p>This section describes in detail the Dvips-specific <samp>config.*</samp>
-device configuration files (called <samp>*.cfg</samp> on MS-DOS), which
-override the <samp>texmf.cnf</samp>
+<p>This section describes in detail the Dvips-specific <samp class="file">config.*</samp>
+device configuration files (called <samp class="file">*.cfg</samp> on MS-DOS), which
+override the <samp class="file">texmf.cnf</samp>
configuration files generic to Kpathsea which Dvips also reads
-(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>).
+(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>).
</p>
<p>For information about installing these files, including a prototype file
-you can copy, see <a href="#config_002eps-installation"><samp>config.ps</samp> installation</a>.
+you can copy, see <a class="pxref" href="#config_002eps-installation"><samp class="file">config.ps</samp> installation</a>.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Configuration-file-searching" accesskey="1">Configuration file searching</a></li>
<li><a href="#Configuration-file-commands" accesskey="2">Configuration file commands</a></li>
</ul>
<hr>
-<div class="subsection" id="Configuration-file-searching">
-<div class="header">
+<div class="subsection-level-extent" id="Configuration-file-searching">
+<div class="nav-panel">
<p>
Next: <a href="#Configuration-file-commands" accesskey="n" rel="next">Configuration file commands</a>, Up: <a href="#Config-files" accesskey="u" rel="up">Dvips configuration files</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Configuration-file-searching-1"></span><h4 class="subsection">3.4.1 Configuration file searching</h4>
+<h4 class="subsection" id="Configuration-file-searching-1">3.4.1 Configuration file searching</h4>
-<span id="index-configuration-file-searching"></span>
-<span id="index-searching-config-files_002c-order-of"></span>
+<a class="index-entry-id" id="index-configuration-file-searching"></a>
+<a class="index-entry-id" id="index-searching-config-files_002c-order-of"></a>
<p>The Dvips program loads many different configuration files, so that
parameters can be set globally across the system, on a per-device basis,
or individually by each user.
</p>
-<ol>
-<li> <span id="index-config_002eps_002c-searched-for"></span>
-Dvips first reads (if it exists) <samp>config.ps</samp>; it is searched for
+<ol class="enumerate">
+<li> <a class="index-entry-id" id="index-config_002eps_002c-searched-for"></a>
+Dvips first reads (if it exists) <samp class="file">config.ps</samp>; it is searched for
along the path for Dvips configuration files, as described in
-<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>.
+<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>.
-</li><li> <span id="index-_002edvipsrc_002c-searched-for"></span>
+</li><li> <a class="index-entry-id" id="index-_002edvipsrc_002c-searched-for"></a>
A user-specific startup file is loaded, so individual users can override
any options set in the global file. The environment variable
-<code>DVIPSRC</code>, if defined, is used as the specification of the startup
+<code class="code">DVIPSRC</code>, if defined, is used as the specification of the startup
file. If this variable is undefined, Dvips uses a platform-specific
default name. On Unix Dvips looks for the default startup file under
-the name <samp>$HOME/.dvipsrc</samp>, which is in the user&rsquo;s home directory.
+the name <samp class="file">$HOME/.dvipsrc</samp>, which is in the user&rsquo;s home directory.
On MS-DOS and MS-Windows, where users generally don&rsquo;t have their private
-directories, the startup file is called <samp>dvips.ini</samp> and it is
+directories, the startup file is called <samp class="file">dvips.ini</samp> and it is
searched for along the path for Dvips configuration files (as described
-in <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>.); users are
+in <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>.); users are
expected to set this path as they see fit for their taste.
-</li><li> <span id="index-_002dPprinter_002c-and-config-file-searching"></span>
-The command line is read and parsed: if the &lsquo;<samp>-P<var>device</var></samp>&rsquo; option
-is encountered, at that point <samp>config.<var>device</var></samp> is loaded.
+</li><li> <a class="index-entry-id" id="index-_002dPprinter_002c-and-config-file-searching"></a>
+The command line is read and parsed: if the &lsquo;<samp class="samp">-P<var class="var">device</var></samp>&rsquo; option
+is encountered, at that point <samp class="file">config.<var class="var">device</var></samp> is loaded.
Thus, the printer configuration file can override anything in the
site-wide or user configuration file, and it can also override options
-in the command line up to the point that the &lsquo;<samp>-P</samp>&rsquo; option was
+in the command line up to the point that the &lsquo;<samp class="samp">-P</samp>&rsquo; option was
encountered. (On MS-DOS, the printer configuration files are called
-<samp><var>device</var>.cfg</samp>, since DOS doesn&rsquo;t allow more than 3 characters
+<samp class="file"><var class="var">device</var>.cfg</samp>, since DOS doesn&rsquo;t allow more than 3 characters
after the dot in filenames.)
-</li><li> <span id="index-PRINTER_002c-and-config-file-searching"></span>
-If no &lsquo;<samp>-P</samp>&rsquo; option was specified, and also the &lsquo;<samp>-o</samp>&rsquo; and
-&lsquo;<samp>-f</samp>&rsquo; command line options were not used, Dvips checks the
-environment variable <code>PRINTER</code>. If it exists, then
-<samp>config.<var>$PRINTER</var></samp> (<samp><var>$PRINTER</var>.cfg</samp> on MS-DOS) is
+</li><li> <a class="index-entry-id" id="index-PRINTER_002c-and-config-file-searching"></a>
+If no &lsquo;<samp class="samp">-P</samp>&rsquo; option was specified, and also the &lsquo;<samp class="samp">-o</samp>&rsquo; and
+&lsquo;<samp class="samp">-f</samp>&rsquo; command line options were not used, Dvips checks the
+environment variable <code class="code">PRINTER</code>. If it exists, then
+<samp class="file">config.<var class="var">$PRINTER</var></samp> (<samp class="file"><var class="var">$PRINTER</var>.cfg</samp> on MS-DOS) is
loaded (if it exists).
</li></ol>
-<p>Because the <samp>.dvipsrc</samp> file is read before the printer-specific
+<p>Because the <samp class="file">.dvipsrc</samp> file is read before the printer-specific
configuration files, individual users cannot override settings in the
-latter. On the other hand, the <code>TEXCONFIG</code> path can be set to
+latter. On the other hand, the <code class="code">TEXCONFIG</code> path can be set to
anything, so the users can always define their own printer-specific
configuration files to be found before the system&rsquo;s.
</p>
<p>A few command-line options are treated specially, in that they are not
overridden by configuration files:
</p>
-<dl compact="compact">
-<dt><span>&lsquo;<samp>-D</samp>&rsquo;</span></dt>
+<dl class="table">
+<dt>&lsquo;<samp class="samp">-D</samp>&rsquo;</dt>
<dd><p>As well as setting the resolution, this unsets the mode, if the mode was
-previously set from a configuration file. If <samp>config.$PRINTER</samp> is
-read, however, any &lsquo;<samp>D</samp>&rsquo; or &lsquo;<samp>M</samp>&rsquo; lines from there will take
+previously set from a configuration file. If <samp class="file">config.$PRINTER</samp> is
+read, however, any &lsquo;<samp class="samp">D</samp>&rsquo; or &lsquo;<samp class="samp">M</samp>&rsquo; lines from there will take
effect.
</p>
</dd>
-<dt><span>&lsquo;<samp>-mode</samp>&rsquo;</span></dt>
-<dd><p>This overrides any mode setting (&lsquo;<samp>M</samp>&rsquo; line) in configuration files.
-&lsquo;<samp>-mode</samp>&rsquo; does not affect the resolution.
+<dt>&lsquo;<samp class="samp">-mode</samp>&rsquo;</dt>
+<dd><p>This overrides any mode setting (&lsquo;<samp class="samp">M</samp>&rsquo; line) in configuration files.
+&lsquo;<samp class="samp">-mode</samp>&rsquo; does not affect the resolution.
</p>
</dd>
-<dt><span>&lsquo;<samp>-o</samp>&rsquo;</span></dt>
-<dd><p>This overrides any output setting (&lsquo;<samp>o</samp>&rsquo; line) in configuration files.
+<dt>&lsquo;<samp class="samp">-o</samp>&rsquo;</dt>
+<dd><p>This overrides any output setting (&lsquo;<samp class="samp">o</samp>&rsquo; line) in configuration files.
</p>
</dd>
</dl>
<p>The purpose of these special cases is to (1) minimize the chance of
-having a mismatched mode and resolution (which &lsquo;<samp>mktexpk</samp>&rsquo; cannot
+having a mismatched mode and resolution (which &lsquo;<samp class="samp">mktexpk</samp>&rsquo; cannot
resolve), and (2) let command-line options override config files where
possible.
</p>
<hr>
</div>
-<div class="subsection" id="Configuration-file-commands">
-<div class="header">
+<div class="subsection-level-extent" id="Configuration-file-commands">
+<div class="nav-panel">
<p>
Previous: <a href="#Configuration-file-searching" accesskey="p" rel="prev">Configuration file searching</a>, Up: <a href="#Config-files" accesskey="u" rel="up">Dvips configuration files</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Configuration-file-commands-1"></span><h4 class="subsection">3.4.2 Configuration file commands</h4>
+<h4 class="subsection" id="Configuration-file-commands-1">3.4.2 Configuration file commands</h4>
-<span id="index-configuration-file-options"></span>
-<span id="index-Dvips-configuration-file-options"></span>
+<a class="index-entry-id" id="index-configuration-file-options"></a>
+<a class="index-entry-id" id="index-Dvips-configuration-file-options"></a>
<p>Most of the configuration file commands are similar to corresponding
command line options, but there are a few exceptions. When they are the
same, we omit the description here.
</p>
<p>As with command line options, many may be turned off by suffixing the
-letter with a zero (&lsquo;<samp>0</samp>&rsquo;).
+letter with a zero (&lsquo;<samp class="samp">0</samp>&rsquo;).
</p>
-<span id="index-comments_002c-in-configuration-files"></span>
-<span id="index-continuation-lines_002c-not-supported"></span>
+<a class="index-entry-id" id="index-comments_002c-in-configuration-files"></a>
+<a class="index-entry-id" id="index-continuation-lines_002c-not-supported"></a>
<p>Within a configuration file, empty lines, and lines starting with a
space, asterisk, equal sign, percent sign, or pound sign are ignored.
There is no provision for continuation lines.
</p>
-<dl compact="compact">
-<dt id='index-_0040-config-command-_0028define-paper-sizes_0029'><span>&lsquo;<samp>@ <var>name hsize vsize</var></samp>&rsquo;<a href='#index-_0040-config-command-_0028define-paper-sizes_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Define paper sizes. See <a href="#Config-file-paper-sizes">Configuration file paper size command</a>.
+<dl class="table">
+<dt id='index-_0040-config-command-_0028define-paper-sizes_0029'><span>&lsquo;<samp class="samp">@ <var class="var">name hsize vsize</var></samp>&rsquo;<a class="copiable-link" href='#index-_0040-config-command-_0028define-paper-sizes_0029'> &para;</a></span></dt>
+<dd><p>Define paper sizes. See <a class="xref" href="#Config-file-paper-sizes">Configuration file paper size command</a>.
</p>
</dd>
-<dt id='index-a-config-command-_0028conserve-memory_0029'><span>&lsquo;<samp>a*</samp>&rsquo;<a href='#index-a-config-command-_0028conserve-memory_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Memory conservation. Same as &lsquo;<samp>-a</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-a-config-command-_0028conserve-memory_0029'><span>&lsquo;<samp class="samp">a*</samp>&rsquo;<a class="copiable-link" href='#index-a-config-command-_0028conserve-memory_0029'> &para;</a></span></dt>
+<dd><p>Memory conservation. Same as &lsquo;<samp class="samp">-a</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-b-config-command-_0028_0023copies_0029'><span>&lsquo;<samp>b <var>#copies</var></samp>&rsquo;<a href='#index-b-config-command-_0028_0023copies_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Multiple copies. Same as &lsquo;<samp>-b</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-b-config-command-_0028_0023copies_0029'><span>&lsquo;<samp class="samp">b <var class="var">#copies</var></samp>&rsquo;<a class="copiable-link" href='#index-b-config-command-_0028_0023copies_0029'> &para;</a></span></dt>
+<dd><p>Multiple copies. Same as &lsquo;<samp class="samp">-b</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029'><span>&lsquo;<samp>bitmapfontenc <var>option</var></samp>&rsquo;<a href='#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Turns bitmap font encoding to &lsquo;<samp>off</samp>&rsquo;, &lsquo;<samp>on</samp>&rsquo; (no warnings
-for missing bitmap font encodings), or &lsquo;<samp>strict</samp>&rsquo; (with warnings
+<dt id='index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029'><span>&lsquo;<samp class="samp">bitmapfontenc <var class="var">option</var></samp>&rsquo;<a class="copiable-link" href='#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029'> &para;</a></span></dt>
+<dd><p>Turns bitmap font encoding to &lsquo;<samp class="samp">off</samp>&rsquo;, &lsquo;<samp class="samp">on</samp>&rsquo; (no warnings
+for missing bitmap font encodings), or &lsquo;<samp class="samp">strict</samp>&rsquo; (with warnings
for missing bitmap font encodings).
</p>
</dd>
-<dt id='index-c-config-command-_0028include-another-config-file_0029'><span>&lsquo;<samp>c <var>filename</var></samp>&rsquo;<a href='#index-c-config-command-_0028include-another-config-file_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Include <var>filename</var> as an additional configuration file, read
+<dt id='index-c-config-command-_0028include-another-config-file_0029'><span>&lsquo;<samp class="samp">c <var class="var">filename</var></samp>&rsquo;<a class="copiable-link" href='#index-c-config-command-_0028include-another-config-file_0029'> &para;</a></span></dt>
+<dd><p>Include <var class="var">filename</var> as an additional configuration file, read
immediately.
</p>
</dd>
-<dt id='index-D-config-command-_0028dpi_0029'><span>&lsquo;<samp>D <var>dpi</var></samp>&rsquo;<a href='#index-D-config-command-_0028dpi_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Output resolution. Same as &lsquo;<samp>-D</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-D-config-command-_0028dpi_0029'><span>&lsquo;<samp class="samp">D <var class="var">dpi</var></samp>&rsquo;<a class="copiable-link" href='#index-D-config-command-_0028dpi_0029'> &para;</a></span></dt>
+<dd><p>Output resolution. Same as &lsquo;<samp class="samp">-D</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-e-config-command-_0028maxdrift_0029'><span>&lsquo;<samp>e <var>num</var></samp>&rsquo;<a href='#index-e-config-command-_0028maxdrift_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Max drift. Same as &lsquo;<samp>-e</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-e-config-command-_0028maxdrift_0029'><span>&lsquo;<samp class="samp">e <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-e-config-command-_0028maxdrift_0029'> &para;</a></span></dt>
+<dd><p>Max drift. Same as &lsquo;<samp class="samp">-e</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-E-config-command-_0028shell-escape_0029'><span>&lsquo;<samp>E <var>command</var></samp>&rsquo;<a href='#index-E-config-command-_0028shell-escape_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-system-in-config-file"></span>
-<span id="index-datestamp_002c-in-output"></span>
-<span id="index-shell-escape_002c-in-config-file"></span>
-<p>Executes the command listed with <code>system</code>(3); can be used to get
+<dt id='index-E-config-command-_0028shell-escape_0029'><span>&lsquo;<samp class="samp">E <var class="var">command</var></samp>&rsquo;<a class="copiable-link" href='#index-E-config-command-_0028shell-escape_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-system-in-config-file"></a>
+<a class="index-entry-id" id="index-datestamp_002c-in-output"></a>
+<a class="index-entry-id" id="index-shell-escape_002c-in-config-file"></a>
+<p>Executes the command listed with <code class="code">system</code>(3); can be used to get
the current date into a header file for inclusion, for instance.
Possibly dangerous; this may be disabled, in which case a warning will
be printed if the option is used (and warnings are not suppressed).
</p>
</dd>
-<dt id='index-f-config-command-_0028filter_0029'><span>&lsquo;<samp>f*</samp>&rsquo;<a href='#index-f-config-command-_0028filter_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dt><span>&lsquo;<samp>F</samp>&rsquo;</span></dt>
-<dd><span id="index-F-config-command-_0028filter_0029"></span>
-<p>Run as a filter. Same as &lsquo;<samp>-f</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-f-config-command-_0028filter_0029'><span>&lsquo;<samp class="samp">f*</samp>&rsquo;<a class="copiable-link" href='#index-f-config-command-_0028filter_0029'> &para;</a></span></dt>
+<dt>&lsquo;<samp class="samp">F</samp>&rsquo;</dt>
+<dd><a class="index-entry-id" id="index-F-config-command-_0028filter_0029"></a>
+<p>Run as a filter. Same as &lsquo;<samp class="samp">-f</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-G-config-command-_0028character-shifting_0029'><span>&lsquo;<samp>G*</samp>&rsquo;<a href='#index-G-config-command-_0028character-shifting_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Shift low-numbered characters; obsolete. Same as &lsquo;<samp>-G</samp>&rsquo;,
-see <a href="#Option-details">Option details</a>.
+<dt id='index-G-config-command-_0028character-shifting_0029'><span>&lsquo;<samp class="samp">G*</samp>&rsquo;<a class="copiable-link" href='#index-G-config-command-_0028character-shifting_0029'> &para;</a></span></dt>
+<dd><p>Shift low-numbered characters; obsolete. Same as &lsquo;<samp class="samp">-G</samp>&rsquo;,
+see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-h-config-command-_0028download-additional-header_0029'><span>&lsquo;<samp>h <var>header</var></samp>&rsquo;<a href='#index-h-config-command-_0028download-additional-header_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Prepend <var>header</var> to output. Same as &lsquo;<samp>h-</samp>&rsquo;; that is, the
-config file <code>h</code> directive suppresses any inclusion of standard
-headers (see <a href="#Option-details">Option details</a>).
+<dt id='index-h-config-command-_0028download-additional-header_0029'><span>&lsquo;<samp class="samp">h <var class="var">header</var></samp>&rsquo;<a class="copiable-link" href='#index-h-config-command-_0028download-additional-header_0029'> &para;</a></span></dt>
+<dd><p>Prepend <var class="var">header</var> to output. Same as &lsquo;<samp class="samp">h-</samp>&rsquo;; that is, the
+config file <code class="code">h</code> directive suppresses any inclusion of standard
+headers (see <a class="pxref" href="#Option-details">Option details</a>).
</p>
</dd>
-<dt id='index-H-config-command-_0028PostScript-header-path_0029'><span>&lsquo;<samp>H <var>path</var></samp>&rsquo;<a href='#index-H-config-command-_0028PostScript-header-path_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-header-path_002c-defining"></span>
-<span id="index-DVIPSHEADERS_002c-overrides-H"></span>
-<p>Use <var>path</var> to search for PostScript header files. The environment
-variable <code>DVIPSHEADERS</code> overrides this.
+<dt id='index-H-config-command-_0028PostScript-header-path_0029'><span>&lsquo;<samp class="samp">H <var class="var">path</var></samp>&rsquo;<a class="copiable-link" href='#index-H-config-command-_0028PostScript-header-path_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-header-path_002c-defining"></a>
+<a class="index-entry-id" id="index-DVIPSHEADERS_002c-overrides-H"></a>
+<p>Use <var class="var">path</var> to search for PostScript header files. The environment
+variable <code class="code">DVIPSHEADERS</code> overrides this.
</p>
</dd>
-<dt id='index-i-config-command-_0028pages_002fsection_0029'><span>&lsquo;<samp>i <var>n</var></samp>&rsquo;<a href='#index-i-config-command-_0028pages_002fsection_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Make multiple output files. Same as &lsquo;<samp>-i -S <var>n</var></samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-i-config-command-_0028pages_002fsection_0029'><span>&lsquo;<samp class="samp">i <var class="var">n</var></samp>&rsquo;<a class="copiable-link" href='#index-i-config-command-_0028pages_002fsection_0029'> &para;</a></span></dt>
+<dd><p>Make multiple output files. Same as &lsquo;<samp class="samp">-i -S <var class="var">n</var></samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-j-config-command-_0028partial-font-downloading_0029'><span>&lsquo;<samp>j*</samp>&rsquo;<a href='#index-j-config-command-_0028partial-font-downloading_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Partially download Type 1 fonts. Same as &lsquo;<samp>-j</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-j-config-command-_0028partial-font-downloading_0029'><span>&lsquo;<samp class="samp">j*</samp>&rsquo;<a class="copiable-link" href='#index-j-config-command-_0028partial-font-downloading_0029'> &para;</a></span></dt>
+<dd><p>Partially download Type 1 fonts. Same as &lsquo;<samp class="samp">-j</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-K-config-command-_0028comment-removal_0029'><span>&lsquo;<samp>K*</samp>&rsquo;<a href='#index-K-config-command-_0028comment-removal_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Remove comments from included PostScript files. Same as &lsquo;<samp>-K</samp>&rsquo;,
-see <a href="#Option-details">Option details</a>.
+<dt id='index-K-config-command-_0028comment-removal_0029'><span>&lsquo;<samp class="samp">K*</samp>&rsquo;<a class="copiable-link" href='#index-K-config-command-_0028comment-removal_0029'> &para;</a></span></dt>
+<dd><p>Remove comments from included PostScript files. Same as &lsquo;<samp class="samp">-K</samp>&rsquo;,
+see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-L-config-command-_0028last-paper-size-wins_0029'><span>&lsquo;<samp>L*</samp>&rsquo;<a href='#index-L-config-command-_0028last-paper-size-wins_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-L-config-command-_0028last-paper-size-wins_0029'><span>&lsquo;<samp class="samp">L*</samp>&rsquo;<a class="copiable-link" href='#index-L-config-command-_0028last-paper-size-wins_0029'> &para;</a></span></dt>
<dd><p>If zero, the first paper size specified is effective, else the last.
-Same as &lsquo;<samp>-L</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+Same as &lsquo;<samp class="samp">-L</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-landscaperotate-config-command'><span>&lsquo;<samp>landscaperotate</samp>&rsquo;<a href='#index-landscaperotate-config-command' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-landscaperotate-config-command'><span>&lsquo;<samp class="samp">landscaperotate</samp>&rsquo;<a class="copiable-link" href='#index-landscaperotate-config-command'> &para;</a></span></dt>
<dd><p>Permit rotation of page content to match page size.
-Same as &lsquo;<samp>-landscaperotate</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+Same as &lsquo;<samp class="samp">-landscaperotate</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-m-config-command-_0028available-memory_0029'><span>&lsquo;<samp>m <var>num</var></samp>&rsquo;<a href='#index-m-config-command-_0028available-memory_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-memory-available"></span>
-<span id="index-printer-memory"></span>
-<p>Declare <var>num</var> as the memory available for fonts and strings in the
+<dt id='index-m-config-command-_0028available-memory_0029'><span>&lsquo;<samp class="samp">m <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-m-config-command-_0028available-memory_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-memory-available"></a>
+<a class="index-entry-id" id="index-printer-memory"></a>
+<p>Declare <var class="var">num</var> as the memory available for fonts and strings in the
printer. The compile-time default is 180000, but this is typically
-overridden by <samp>config.ps</samp> or other configuration files. This
+overridden by <samp class="file">config.ps</samp> or other configuration files. This
value must be accurate if memory conservation and document splitting
is to work correctly. To determine this value, send the following
file to the printer:
</p>
<div class="example">
-<pre class="example">%! Hey, we're PostScript
+<pre class="example-preformatted">%! Hey, we're PostScript
/Times-Roman findfont 30 scalefont setfont 144 432 moveto
vmstatus exch sub 40 string cvs show pop showpage
</pre></div>
@@ -1822,158 +1820,158 @@ might return a ridiculously low number; for example, the NeXT computer
and Ghostscript. In these cases, a value of, say, 10 million is
likely fine.
</p>
-<p>To go all out: If <var>num</var> is zero or negative, Dvips sets the
+<p>To go all out: If <var class="var">num</var> is zero or negative, Dvips sets the
available memory to a very large number (the maximum integer value in
C), the idea being that output is not to a printer and thus no
splitting of the output is desirable. The Dvips config file
-<samp>config.maxmem</samp> is provided to do this conveniently, namely with
-&lsquo;<samp>dvips -Pmaxmem</samp>&rsquo;.
+<samp class="file">config.maxmem</samp> is provided to do this conveniently, namely with
+&lsquo;<samp class="samp">dvips -Pmaxmem</samp>&rsquo;.
</p>
</dd>
-<dt id='index-M-config-command-_0028mf-mode_0029'><span>&lsquo;<samp>M <var>mode</var></samp>&rsquo;<a href='#index-M-config-command-_0028mf-mode_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Metafont mode. Same as &lsquo;<samp>-mode</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-M-config-command-_0028mf-mode_0029'><span>&lsquo;<samp class="samp">M <var class="var">mode</var></samp>&rsquo;<a class="copiable-link" href='#index-M-config-command-_0028mf-mode_0029'> &para;</a></span></dt>
+<dd><p>Metafont mode. Same as &lsquo;<samp class="samp">-mode</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-N--config-command-_0028disable-EPS_0029'><span>&lsquo;<samp>N*</samp>&rsquo;<a href='#index-N--config-command-_0028disable-EPS_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-N-config-command-_0028disable-EPS_0029'><span>&lsquo;<samp class="samp">N*</samp>&rsquo;<a class="copiable-link" href='#index-N-config-command-_0028disable-EPS_0029'> &para;</a></span></dt>
<dd><p>Disable structured comments. Beware: This also turns off displaying
page numbers or changing to specific page numbers in PostScript viewers.
-Same as &lsquo;<samp>-N</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+Same as &lsquo;<samp class="samp">-N</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-o-config-command-_0028output-destination_0029'><span>&lsquo;<samp>o <var>name</var></samp>&rsquo;<a href='#index-o-config-command-_0028output-destination_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-output-file_002c-setting"></span>
-<p>Send output to <var>name</var>. Same as &lsquo;<samp>-o</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
-In the file <samp>config.foo</samp>, a setting like this is probably
+<dt id='index-o-config-command-_0028output-destination_0029'><span>&lsquo;<samp class="samp">o <var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-o-config-command-_0028output-destination_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-output-file_002c-setting"></a>
+<p>Send output to <var class="var">name</var>. Same as &lsquo;<samp class="samp">-o</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
+In the file <samp class="file">config.foo</samp>, a setting like this is probably
appropriate:
</p><div class="example">
-<pre class="example">o |lpr -Pfoo
+<pre class="example-preformatted">o |lpr -Pfoo
</pre></div>
-<p>The MS-DOS version will emulate spooling to <code>lpr</code> by printing to
-the local printer device <samp>PRN</samp> if it doesn&rsquo;t find an executable
-program by that name in the current directory or along the <code>PATH</code>.
+<p>The MS-DOS version will emulate spooling to <code class="code">lpr</code> by printing to
+the local printer device <samp class="file">PRN</samp> if it doesn&rsquo;t find an executable
+program by that name in the current directory or along the <code class="code">PATH</code>.
</p>
</dd>
-<dt id='index-O-config-command-_0028page-offsets_0029'><span>&lsquo;<samp>O <var>xoff</var>,<var>yoff</var></samp>&rsquo;<a href='#index-O-config-command-_0028page-offsets_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Origin offset. Same as &lsquo;<samp>-O</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-O-config-command-_0028page-offsets_0029'><span>&lsquo;<samp class="samp">O <var class="var">xoff</var>,<var class="var">yoff</var></samp>&rsquo;<a class="copiable-link" href='#index-O-config-command-_0028page-offsets_0029'> &para;</a></span></dt>
+<dd><p>Origin offset. Same as &lsquo;<samp class="samp">-O</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-p-config-command-_0028font-aliases_0029'><span>&lsquo;<samp>p <span class="roman">[+]</span><var>name</var></samp>&rsquo;<a href='#index-p-config-command-_0028font-aliases_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-PostScript-font-alias-file-1"></span>
-<span id="index-resident-fonts_002c-different-in-different-printers-1"></span>
-<span id="index-_002bpsmapfile"></span>
-<p>Examine <var>name</var> for PostScript font aliases. Default is
-<samp>psfonts.map</samp>. This option allows you to specify different resident
-fonts that different printers may have. If <var>name</var> starts with a
-&lsquo;<samp>+</samp>&rsquo; character, then the rest of the name (after any leading spaces)
+<dt id='index-p-config-command-_0028font-aliases_0029'><span>&lsquo;<samp class="samp">p <span class="r">[+]</span><var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-p-config-command-_0028font-aliases_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-PostScript-font-alias-file-1"></a>
+<a class="index-entry-id" id="index-resident-fonts_002c-different-in-different-printers-1"></a>
+<a class="index-entry-id" id="index-_002bpsmapfile"></a>
+<p>Examine <var class="var">name</var> for PostScript font aliases. Default is
+<samp class="file">psfonts.map</samp>. This option allows you to specify different resident
+fonts that different printers may have. If <var class="var">name</var> starts with a
+&lsquo;<samp class="samp">+</samp>&rsquo; character, then the rest of the name (after any leading spaces)
is used as an additional map file; thus, it is possible to have local
map files pointed to by local configuration files that append to the
global map file. This can be used for font families.
</p>
</dd>
-<dt id='index-P-config-command-_0028PK-path_0029'><span>&lsquo;<samp>P <var>path</var></samp>&rsquo;<a href='#index-P-config-command-_0028PK-path_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-PKFONTS_002c-overrides-P"></span>
-<span id="index-TEXPKS_002c-overrides-P"></span>
-<span id="index-GLYPHFONTS_002c-overrides-P"></span>
-<span id="index-TEXFONTS_002c-overrides-P"></span>
-<p>Use <var>path</var> to search for bitmap PK font files is <var>path</var>. The
-<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, and <code>TEXFONTS</code>
-environment variables override this. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>.
+<dt id='index-P-config-command-_0028PK-path_0029'><span>&lsquo;<samp class="samp">P <var class="var">path</var></samp>&rsquo;<a class="copiable-link" href='#index-P-config-command-_0028PK-path_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-PKFONTS_002c-overrides-P"></a>
+<a class="index-entry-id" id="index-TEXPKS_002c-overrides-P"></a>
+<a class="index-entry-id" id="index-GLYPHFONTS_002c-overrides-P"></a>
+<a class="index-entry-id" id="index-TEXFONTS_002c-overrides-P"></a>
+<p>Use <var class="var">path</var> to search for bitmap PK font files is <var class="var">path</var>. The
+<code class="code">PKFONTS</code>, <code class="code">TEXPKS</code>, <code class="code">GLYPHFONTS</code>, and <code class="code">TEXFONTS</code>
+environment variables override this. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>.
</p>
</dd>
-<dt id='index-q-config-command-_0028quiet_0029'><span>&lsquo;<samp>q*</samp>&rsquo;<a href='#index-q-config-command-_0028quiet_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dt><span>&lsquo;<samp>Q</samp>&rsquo;</span></dt>
-<dd><span id="index-Q-config-command-_0028quiet_0029"></span>
-<p>Run quietly. Same as &lsquo;<samp>-q</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-q-config-command-_0028quiet_0029'><span>&lsquo;<samp class="samp">q*</samp>&rsquo;<a class="copiable-link" href='#index-q-config-command-_0028quiet_0029'> &para;</a></span></dt>
+<dt>&lsquo;<samp class="samp">Q</samp>&rsquo;</dt>
+<dd><a class="index-entry-id" id="index-Q-config-command-_0028quiet_0029"></a>
+<p>Run quietly. Same as &lsquo;<samp class="samp">-q</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-r-config-command-_0028page-reversal_0029'><span>&lsquo;<samp>r*</samp>&rsquo;<a href='#index-r-config-command-_0028page-reversal_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Page reversal. Same as &lsquo;<samp>-r</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-r-config-command-_0028page-reversal_0029'><span>&lsquo;<samp class="samp">r*</samp>&rsquo;<a class="copiable-link" href='#index-r-config-command-_0028page-reversal_0029'> &para;</a></span></dt>
+<dd><p>Page reversal. Same as &lsquo;<samp class="samp">-r</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-R-config-command-_0028fallback-resolution_0029'><span>&lsquo;<samp>R <var>num1 num2 &hellip;</var></samp>&rsquo;<a href='#index-R-config-command-_0028fallback-resolution_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-fallback-resolutions"></span>
-<span id="index-default-resolutions"></span>
-<span id="index-last_002dresort-scaling_002c-with-R"></span>
+<dt id='index-R-config-command-_0028fallback-resolution_0029'><span>&lsquo;<samp class="samp">R <var class="var">num1 num2 &hellip;</var></samp>&rsquo;<a class="copiable-link" href='#index-R-config-command-_0028fallback-resolution_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-fallback-resolutions"></a>
+<a class="index-entry-id" id="index-default-resolutions"></a>
+<a class="index-entry-id" id="index-last_002dresort-scaling_002c-with-R"></a>
<p>Define the list of default resolutions for PK fonts. If a font size
actually used in a document is not available and cannot be created,
Dvips will scale the font found at the closest of these resolutions to
the requested size, using PostScript scaling. The resulting output may
be ugly, and thus a warning is issued. To turn this last-resort scaling
-off, use a line with just the &lsquo;<samp>R</samp>&rsquo; and no numbers.
+off, use a line with just the &lsquo;<samp class="samp">R</samp>&rsquo; and no numbers.
</p>
<p>The given numbers must be sorted in increasing order; any number smaller
than the preceding one is ignored. This is because it is better to
scale a font up than down; scaling down can obliterate small features in
the character shape.
</p>
-<span id="index-DVIPSSIZES_002c-overrides-R"></span>
-<span id="index-TEXSIZES_002c-overrides-R"></span>
-<p>The environment and config file values &lsquo;<samp>DVIPSSIZES</samp>&rsquo; or
-&lsquo;<samp>TEXSIZES</samp>&rsquo; override this configuration file setting.
+<a class="index-entry-id" id="index-DVIPSSIZES_002c-overrides-R"></a>
+<a class="index-entry-id" id="index-TEXSIZES_002c-overrides-R"></a>
+<p>The environment and config file values &lsquo;<samp class="samp">DVIPSSIZES</samp>&rsquo; or
+&lsquo;<samp class="samp">TEXSIZES</samp>&rsquo; override this configuration file setting.
</p>
-<span id="index-default_005ftexsizes-Make-variable"></span>
-<p>If no &lsquo;<samp>R</samp>&rsquo; settings or environment variables are specified, a list
+<a class="index-entry-id" id="index-default_005ftexsizes-Make-variable"></a>
+<p>If no &lsquo;<samp class="samp">R</samp>&rsquo; settings or environment variables are specified, a list
compiled in during installation is used. This default list is defined by
-the Makefile variable &lsquo;<samp>default_texsizes</samp>&rsquo;, defined in the file
-<samp>make/paths.make</samp>.
+the Makefile variable &lsquo;<samp class="samp">default_texsizes</samp>&rsquo;, defined in the file
+<samp class="file">make/paths.make</samp>.
</p>
</dd>
-<dt id='index-s-config-command-_0028global-save_002frestore_0029'><span>&lsquo;<samp>s*</samp>&rsquo;<a href='#index-s-config-command-_0028global-save_002frestore_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Output global save/restore. Same as &lsquo;<samp>-s</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-s-config-command-_0028global-save_002frestore_0029'><span>&lsquo;<samp class="samp">s*</samp>&rsquo;<a class="copiable-link" href='#index-s-config-command-_0028global-save_002frestore_0029'> &para;</a></span></dt>
+<dd><p>Output global save/restore. Same as &lsquo;<samp class="samp">-s</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-S-config-command-_0028pict-path_0029'><span>&lsquo;<samp>S <var>path</var></samp>&rsquo;<a href='#index-S-config-command-_0028pict-path_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXPICTS_002c-overrides-S"></span>
-<span id="index-TEXINPUTS_002c-overrides-S"></span>
-<p>Use <var>path</var> to search for special illustrations (Encapsulated
-PostScript files or psfiles). The <code>TEXPICTS</code> and then
-<code>TEXINPUTS</code> environment variables override this.
+<dt id='index-S-config-command-_0028pict-path_0029'><span>&lsquo;<samp class="samp">S <var class="var">path</var></samp>&rsquo;<a class="copiable-link" href='#index-S-config-command-_0028pict-path_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXPICTS_002c-overrides-S"></a>
+<a class="index-entry-id" id="index-TEXINPUTS_002c-overrides-S"></a>
+<p>Use <var class="var">path</var> to search for special illustrations (Encapsulated
+PostScript files or psfiles). The <code class="code">TEXPICTS</code> and then
+<code class="code">TEXINPUTS</code> environment variables override this.
</p>
</dd>
-<dt id='index-T-config-command-_0028TFM-path_0029'><span>&lsquo;<samp>T <var>path</var></samp>&rsquo;<a href='#index-T-config-command-_0028TFM-path_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TFMFONTS_002c-overrides-T"></span>
-<span id="index-TEXFONTS_002c-overrides-T"></span>
-<p>Use <var>path</var> to search for TFM files. The <code>TFMFONTS</code> and then
-<code>TEXFONTS</code> environment variables overrides this. This path is used
+<dt id='index-T-config-command-_0028TFM-path_0029'><span>&lsquo;<samp class="samp">T <var class="var">path</var></samp>&rsquo;<a class="copiable-link" href='#index-T-config-command-_0028TFM-path_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TFMFONTS_002c-overrides-T"></a>
+<a class="index-entry-id" id="index-TEXFONTS_002c-overrides-T"></a>
+<p>Use <var class="var">path</var> to search for TFM files. The <code class="code">TFMFONTS</code> and then
+<code class="code">TEXFONTS</code> environment variables overrides this. This path is used
for resident fonts and fonts that can&rsquo;t otherwise be found.
</p>
</dd>
-<dt id='index-U-config-command-_0028Xerox-4045_0029'><span>&lsquo;<samp>U*</samp>&rsquo;<a href='#index-U-config-command-_0028Xerox-4045_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Work around bug in Xerox 4045 printer. Same as &lsquo;<samp>-U</samp>&rsquo;, see <a href="#Option-details">Option details</a>.
+<dt id='index-U-config-command-_0028Xerox-4045_0029'><span>&lsquo;<samp class="samp">U*</samp>&rsquo;<a class="copiable-link" href='#index-U-config-command-_0028Xerox-4045_0029'> &para;</a></span></dt>
+<dd><p>Work around bug in Xerox 4045 printer. Same as &lsquo;<samp class="samp">-U</samp>&rsquo;, see <a class="pxref" href="#Option-details">Option details</a>.
</p>
</dd>
-<dt id='index-V-config-command-_0028vf-path_0029'><span>&lsquo;<samp>V <var>path</var></samp>&rsquo;<a href='#index-V-config-command-_0028vf-path_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-virtual-font-path"></span>
-<span id="index-device-dependency_002c-and-virtual-fonts"></span>
-<p>Use <var>path</var> to search for virtual font files. This may be
+<dt id='index-V-config-command-_0028vf-path_0029'><span>&lsquo;<samp class="samp">V <var class="var">path</var></samp>&rsquo;<a class="copiable-link" href='#index-V-config-command-_0028vf-path_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-virtual-font-path"></a>
+<a class="index-entry-id" id="index-device-dependency_002c-and-virtual-fonts"></a>
+<p>Use <var class="var">path</var> to search for virtual font files. This may be
device-dependent if you use virtual fonts to simulate actual fonts on
different devices.
</p>
</dd>
-<dt id='index-W-config-command-_0028emit-warning_0029'><span>&lsquo;<samp>W <span class="roman">[<var>string</var>]</span></samp>&rsquo;<a href='#index-W-config-command-_0028emit-warning_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-warning-messages_002c-defining"></span>
-<p>If <var>string</var> is supplied, write it to standard error after reading
-all the configuration files; with no <var>string</var>, cancel any previous
-&lsquo;<samp>W</samp>&rsquo; message. This is useful in the default configuration file to
+<dt id='index-W-config-command-_0028emit-warning_0029'><span>&lsquo;<samp class="samp">W <span class="r">[<var class="var">string</var>]</span></samp>&rsquo;<a class="copiable-link" href='#index-W-config-command-_0028emit-warning_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-warning-messages_002c-defining"></a>
+<p>If <var class="var">string</var> is supplied, write it to standard error after reading
+all the configuration files; with no <var class="var">string</var>, cancel any previous
+&lsquo;<samp class="samp">W</samp>&rsquo; message. This is useful in the default configuration file to
remind users to specify a printer, for instance, or to notify users
about special characteristics of a particular printer.
</p>
</dd>
-<dt id='index-X-config-command-_0028horizontal-resolution_0029'><span>&lsquo;<samp>X <var>num</var></samp>&rsquo;<a href='#index-X-config-command-_0028horizontal-resolution_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Horizontal resolution. Same as &lsquo;<samp>-X</samp>&rsquo; (see <a href="#Option-details">Option details</a>).
+<dt id='index-X-config-command-_0028horizontal-resolution_0029'><span>&lsquo;<samp class="samp">X <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-X-config-command-_0028horizontal-resolution_0029'> &para;</a></span></dt>
+<dd><p>Horizontal resolution. Same as &lsquo;<samp class="samp">-X</samp>&rsquo; (see <a class="pxref" href="#Option-details">Option details</a>).
</p>
</dd>
-<dt id='index-Y-config-command-_0028vertical-resolution_0029'><span>&lsquo;<samp>Y <var>num</var></samp>&rsquo;<a href='#index-Y-config-command-_0028vertical-resolution_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Vertical resolution. Same as &lsquo;<samp>-Y</samp>&rsquo; (see <a href="#Option-details">Option details</a>).
+<dt id='index-Y-config-command-_0028vertical-resolution_0029'><span>&lsquo;<samp class="samp">Y <var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-Y-config-command-_0028vertical-resolution_0029'> &para;</a></span></dt>
+<dd><p>Vertical resolution. Same as &lsquo;<samp class="samp">-Y</samp>&rsquo; (see <a class="pxref" href="#Option-details">Option details</a>).
</p>
</dd>
-<dt id='index-Z-config-command-_0028compress-fonts_0029'><span>&lsquo;<samp>Z*</samp>&rsquo;<a href='#index-Z-config-command-_0028compress-fonts_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Compress bitmap fonts. Same as &lsquo;<samp>-Z</samp>&rsquo; (see <a href="#Option-details">Option details</a>).
+<dt id='index-Z-config-command-_0028compress-fonts_0029'><span>&lsquo;<samp class="samp">Z*</samp>&rsquo;<a class="copiable-link" href='#index-Z-config-command-_0028compress-fonts_0029'> &para;</a></span></dt>
+<dd><p>Compress bitmap fonts. Same as &lsquo;<samp class="samp">-Z</samp>&rsquo; (see <a class="pxref" href="#Option-details">Option details</a>).
</p>
</dd>
-<dt id='index-z-config-command-_0028secure-mode_0029'><span>&lsquo;<samp>z*</samp>&rsquo;<a href='#index-z-config-command-_0028secure-mode_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Disables execution of system commands, like &lsquo;<samp>-R</samp>&rsquo;
-(see <a href="#Option-details">Option details</a>). If &lsquo;<samp>-R</samp>&rsquo; is specified
+<dt id='index-z-config-command-_0028secure-mode_0029'><span>&lsquo;<samp class="samp">z*</samp>&rsquo;<a class="copiable-link" href='#index-z-config-command-_0028secure-mode_0029'> &para;</a></span></dt>
+<dd><p>Disables execution of system commands, like &lsquo;<samp class="samp">-R</samp>&rsquo;
+(see <a class="pxref" href="#Option-details">Option details</a>). If &lsquo;<samp class="samp">-R</samp>&rsquo; is specified
on the command line, that takes precedence.
</p>
</dd>
@@ -1984,148 +1982,148 @@ on the command line, that takes precedence.
</div>
</div>
</div>
-<div class="chapter" id="Paper-size-and-landscape">
-<div class="header">
+<div class="chapter-level-extent" id="Paper-size-and-landscape">
+<div class="nav-panel">
<p>
Next: <a href="#Interaction-with-PostScript" accesskey="n" rel="next">Interaction with PostScript</a>, Previous: <a href="#Invoking-Dvips" accesskey="p" rel="prev">Invoking Dvips</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Paper-size-and-landscape-orientation"></span><h2 class="chapter">4 Paper size and landscape orientation</h2>
+<h2 class="chapter" id="Paper-size-and-landscape-orientation">4 Paper size and landscape orientation</h2>
-<span id="index-paper-size_002c-general"></span>
+<a class="index-entry-id" id="index-paper-size_002c-general"></a>
<p>Most TeX documents at a particular site are designed to use the
local standard paper size (letter size in the United States, A4
elsewhere). The Dvips program can be customized either sitewide or
for a particular printer.
</p>
-<span id="index-landscape-orientation_002c-defined"></span>
-<span id="index-portrait-orientation_002c-defined"></span>
+<a class="index-entry-id" id="index-landscape-orientation_002c-defined"></a>
+<a class="index-entry-id" id="index-portrait-orientation_002c-defined"></a>
<p>On the other hand, plenty of documents are designed for other paper
sizes. For instance, you may want to design a document that has the
long edge of the paper horizontal. This can be useful when
typesetting booklets, brochures, complex tables, or many other
-documents. This type of paper orientation is called <em>landscape</em>
-orientation (the default orientation is called <em>portrait</em>).
+documents. This type of paper orientation is called <em class="dfn">landscape</em>
+orientation (the default orientation is called <em class="dfn">portrait</em>).
Alternatively, a document might be designed for ledger or A3 paper.
</p>
<p>Since the intended paper size in these cases is a document design
decision, not a printing decision, such information should be given in
the TeX file and not on the Dvips command line. For this reason,
-Dvips supports a &lsquo;<samp>papersize</samp>&rsquo; special. It is hoped that this
+Dvips supports a &lsquo;<samp class="samp">papersize</samp>&rsquo; special. It is hoped that this
special will become standard over time for TeX previewers and other
printer drivers.
</p>
-<p>Some LaTeX packages, e.g., &lsquo;<samp>hyperref.sty</samp>&rsquo;, write a
-&lsquo;<samp>papersize</samp>&rsquo; special into the DVI file. In this case, you need
+<p>Some LaTeX packages, e.g., &lsquo;<samp class="samp">hyperref.sty</samp>&rsquo;, write a
+&lsquo;<samp class="samp">papersize</samp>&rsquo; special into the DVI file. In this case, you need
not and should not attempt to override it manually.
</p>
-<ul class="section-toc">
-<li><a href="#papersize-special" accesskey="1">&lsquo;<samp>papersize</samp>&rsquo; special</a></li>
+<ul class="mini-toc">
+<li><a href="#papersize-special" accesskey="1">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a></li>
<li><a href="#Config-file-paper-sizes" accesskey="2">Configuration file paper size command</a></li>
<li><a href="#Paper-trays" accesskey="3">Paper trays</a></li>
</ul>
<hr>
-<div class="section" id="papersize-special">
-<div class="header">
+<div class="section-level-extent" id="papersize-special">
+<div class="nav-panel">
<p>
Next: <a href="#Config-file-paper-sizes" accesskey="n" rel="next">Configuration file paper size command</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="papersize-special-1"></span><h3 class="section">4.1 &lsquo;<samp>papersize</samp>&rsquo; special</h3>
+<h3 class="section" id="papersize-special-1">4.1 &lsquo;<samp class="samp">papersize</samp>&rsquo; special</h3>
-<span id="index-papersize-special"></span>
+<a class="index-entry-id" id="index-papersize-special"></a>
-<p>The format of the &lsquo;<samp>papersize</samp>&rsquo; special is
+<p>The format of the &lsquo;<samp class="samp">papersize</samp>&rsquo; special is
</p>
<div class="example">
-<pre class="example">\special{papersize=<var>width</var>,<var>height</var>}
+<pre class="example-preformatted">\special{papersize=<var class="var">width</var>,<var class="var">height</var>}
</pre></div>
-<p><var>width</var> is the horizontal size of the page, and <var>height</var> is the
+<p><var class="var">width</var> is the horizontal size of the page, and <var class="var">height</var> is the
vertical size. The dimensions supported are the same as for TeX;
namely, in (inches), cm (centimeters), mm (millimeters), pt (points), sp
(scaled points), bp (big points, the same as the default PostScript
unit), pc (picas), dd (didot points), and cc (ciceros).
</p>
-<span id="index-landscape_002c-as-_005cspecial"></span>
-<p>For a US letter size landscape document, the &lsquo;<samp>papersize</samp>&rsquo; would be:
+<a class="index-entry-id" id="index-landscape_002c-as-_005cspecial"></a>
+<p>For a US letter size landscape document, the &lsquo;<samp class="samp">papersize</samp>&rsquo; would be:
</p><div class="example">
-<pre class="example">\special{papersize=11in,8.5in}
+<pre class="example-preformatted">\special{papersize=11in,8.5in}
</pre></div>
-<p>An alternate specification of <code>landscape</code>:
+<p>An alternate specification of <code class="code">landscape</code>:
</p><div class="example">
-<pre class="example">\special{landscape}
+<pre class="example-preformatted">\special{landscape}
</pre></div>
<p>This is supported for backward compatibility, but it is hoped that
-eventually the &lsquo;<samp>papersize</samp>&rsquo; comment will dominate.
+eventually the &lsquo;<samp class="samp">papersize</samp>&rsquo; comment will dominate.
</p>
-<p>Of course, such a <code>\special</code> only informs Dvips of the desired
-paper size; you must also adjust <code>\hsize</code> and <code>\vsize</code> in your
+<p>Of course, such a <code class="code">\special</code> only informs Dvips of the desired
+paper size; you must also adjust <code class="code">\hsize</code> and <code class="code">\vsize</code> in your
TeX document typeset to those dimensions.
</p>
-<span id="index-unknown_002c-paper-format-for-_002dt"></span>
-<p>When using the &lsquo;<samp>papersize</samp>&rsquo; special, you generally should not also
-specify <code>-t</code> on the command line (see <a href="#Option-details">Option details</a>). The
+<a class="index-entry-id" id="index-unknown_002c-paper-format-for-_002dt"></a>
+<p>When using the &lsquo;<samp class="samp">papersize</samp>&rsquo; special, you generally should not also
+specify <code class="code">-t</code> on the command line (see <a class="pxref" href="#Option-details">Option details</a>). The
exception is when using a nonstandard paper size that isn&rsquo;t
-predefined; in this case, use <code>-t&nbsp;unknown</code>.
+predefined; in this case, use <code class="code">-t&nbsp;unknown</code>.
</p>
-<p>The &lsquo;<samp>papersize</samp>&rsquo; special must occur somewhere on the first page of
-the document. Some packages, notably &lsquo;<samp>hyperref</samp>&rsquo;, insert this special.
+<p>The &lsquo;<samp class="samp">papersize</samp>&rsquo; special must occur somewhere on the first page of
+the document. Some packages, notably &lsquo;<samp class="samp">hyperref</samp>&rsquo;, insert this special.
</p>
-<p>By default, if a DVI file contains multiple &lsquo;<samp>papersize</samp>&rsquo; specials,
-the last one wins; this is also the behavior of the <code>dvipdfmx</code>
-driver. If the <code>-L0</code> command line option or <code>L0</code> config
+<p>By default, if a DVI file contains multiple &lsquo;<samp class="samp">papersize</samp>&rsquo; specials,
+the last one wins; this is also the behavior of the <code class="code">dvipdfmx</code>
+driver. If the <code class="code">-L0</code> command line option or <code class="code">L0</code> config
file command is specified, the first special wins&mdash;this was the
behavior of Dvips prior to the 2017 release.
</p>
<hr>
</div>
-<div class="section" id="Config-file-paper-sizes">
-<div class="header">
+<div class="section-level-extent" id="Config-file-paper-sizes">
+<div class="nav-panel">
<p>
-Next: <a href="#Paper-trays" accesskey="n" rel="next">Paper trays</a>, Previous: <a href="#papersize-special" accesskey="p" rel="prev">&lsquo;<samp>papersize</samp>&rsquo; special</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Paper-trays" accesskey="n" rel="next">Paper trays</a>, Previous: <a href="#papersize-special" accesskey="p" rel="prev">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Configuration-file-paper-size-command"></span><h3 class="section">4.2 Configuration file paper size command</h3>
+<h3 class="section" id="Configuration-file-paper-size-command">4.2 Configuration file paper size command</h3>
-<span id="index-paper-size-configuration-file-command"></span>
-<span id="index-configuration-file-paper-size-command"></span>
+<a class="index-entry-id" id="index-paper-size-configuration-file-command"></a>
+<a class="index-entry-id" id="index-configuration-file-paper-size-command"></a>
-<p>The &lsquo;<samp>@</samp>&rsquo; command in a configuration file sets the paper size
-defaults and options. The first &lsquo;<samp>@</samp>&rsquo; command defines the default
+<p>The &lsquo;<samp class="samp">@</samp>&rsquo; command in a configuration file sets the paper size
+defaults and options. The first &lsquo;<samp class="samp">@</samp>&rsquo; command defines the default
paper size. It has three possible parameters:
</p>
<div class="example">
-<pre class="example">@ <span class="roman">[</span><var>name</var> <span class="roman">[</span><var>hsize</var> <var>vsize</var><span class="roman">]]</span>
+<pre class="example-preformatted">@ <span class="r">[</span><var class="var">name</var> <span class="r">[</span><var class="var">hsize</var> <var class="var">vsize</var><span class="r">]]</span>
</pre></div>
-<p>If &lsquo;<samp>@</samp>&rsquo; is specified on a line by itself, with no parameters, it
+<p>If &lsquo;<samp class="samp">@</samp>&rsquo; is specified on a line by itself, with no parameters, it
instructs Dvips to discard all previous paper size information (possibly
from another configuration file).
</p>
<p>If three parameters are given, with the first parameter being a name and
-the second and third being a dimension (as in &lsquo;<samp>8.5in</samp>&rsquo; or
-&lsquo;<samp>3.2cc</samp>&rsquo;, just like in the &lsquo;<samp>papersize</samp>&rsquo; special), then the
+the second and third being a dimension (as in &lsquo;<samp class="samp">8.5in</samp>&rsquo; or
+&lsquo;<samp class="samp">3.2cc</samp>&rsquo;, just like in the &lsquo;<samp class="samp">papersize</samp>&rsquo; special), then the
option is interpreted as starting a new paper size description, where
-<var>name</var> is the name and <var>hsize</var> and <var>vsize</var> define the
+<var class="var">name</var> is the name and <var class="var">hsize</var> and <var class="var">vsize</var> define the
horizontal and vertical size of the sheet of paper, respectively. For
example:
</p>
<div class="example">
-<pre class="example">@ letterSize 8.5in 11in
+<pre class="example-preformatted">@ letterSize 8.5in 11in
</pre></div>
-<p>If both <var>hsize</var> and <var>vsize</var> are zero (you must still specify
-units!) then any page size will match. If the &lsquo;<samp>@</samp>&rsquo; character is
-immediately followed by a &lsquo;<samp>+</samp>&rsquo; sign, then the remainder of the line
+<p>If both <var class="var">hsize</var> and <var class="var">vsize</var> are zero (you must still specify
+units!) then any page size will match. If the &lsquo;<samp class="samp">@</samp>&rsquo; character is
+immediately followed by a &lsquo;<samp class="samp">+</samp>&rsquo; sign, then the remainder of the line
(after skipping any leading blanks) is treated as PostScript code to
send to the printer, presumably to select that particular paper size:
</p>
<div class="example">
-<pre class="example">@ letter 8.5in 11in
+<pre class="example-preformatted">@ letter 8.5in 11in
@+ %%BeginPaperSize: Letter
@+ letter
@+ %%EndPaperSize
@@ -2137,7 +2135,7 @@ output file; else, it is put in the setup section of the output file.
For example:
</p>
<div class="example">
-<pre class="example">@ legal 8.5in 14in
+<pre class="example-preformatted">@ legal 8.5in 14in
@+ ! %%DocumentPaperSizes: Legal
@+ %%BeginPaperSize: Legal
@+ legal
@@ -2145,23 +2143,23 @@ For example:
</pre></div>
<p>When Dvips has a paper format name given on the command line, it looks
-for a match by the <var>name</var>; when it has a &lsquo;<samp>papersize</samp>&rsquo; special,
+for a match by the <var class="var">name</var>; when it has a &lsquo;<samp class="samp">papersize</samp>&rsquo; special,
it looks for a match by dimensions. The best match found (from the
paper size information in the configuration file) is used. The
dimensions must match within 5bp.
</p>
<p>If nothing matches, a warning is printed and the first paper size with
-zero dimensions is used; this should be the <code>unknown</code> paper size
+zero dimensions is used; this should be the <code class="code">unknown</code> paper size
definition mentioned below, resulting in the actual dimensions being
used.
</p>
-<span id="index-landscaperotate-configuration-file-command"></span>
-<span id="index-landscaperotate-command-line-option"></span>
+<a class="index-entry-id" id="index-landscaperotate-configuration-file-command"></a>
+<a class="index-entry-id" id="index-landscaperotate-command-line-option"></a>
<p>In versions of Dvips prior to 2022.1, if the paper size specified did
not match one of the defined paper sizes, Dvips considered rotated
page content and rotated paper sizes for a match. This provided some
automatic support for landscape mode on raw printers, but today it can
-be harmful when generating PDF. (Specifically, the &lsquo;<samp>/MediaBox</samp>&rsquo;
+be harmful when generating PDF. (Specifically, the &lsquo;<samp class="samp">/MediaBox</samp>&rsquo;
then ends up with rotated values, which is not expected by PDF
viewers, e.g., when a document intentionally has a single page
rotated.)
@@ -2171,101 +2169,101 @@ provided instead by a print spooler that considers the bounding box of
the document and inserts appropriate media selection commands as part
of the print job. So, this automatic rotation is no longer done by
default by Dvips. If you want to enable it, the
-&lsquo;<samp>-landscaperotate</samp>&rsquo; command line option or &lsquo;<samp>landscaperotate</samp>&rsquo;
-configuration file option can be used. See <a href="#Option-details">Option details</a>.
+&lsquo;<samp class="samp">-landscaperotate</samp>&rsquo; command line option or &lsquo;<samp class="samp">landscaperotate</samp>&rsquo;
+configuration file option can be used. See <a class="xref" href="#Option-details">Option details</a>.
</p>
-<span id="index-zero-dimensions-and-setting-paper-size"></span>
+<a class="index-entry-id" id="index-zero-dimensions-and-setting-paper-size"></a>
<p>If your printer has a command to set a special paper size, then give
-dimensions of &lsquo;<samp>0in 0in</samp>&rsquo;; the PostScript code that sets the paper
-size can refer to the dimensions the user requested as &lsquo;<samp>hsize</samp>&rsquo;
-and &lsquo;<samp>vsize</samp>&rsquo;; these will be macros defined in the PostScript that
+dimensions of &lsquo;<samp class="samp">0in 0in</samp>&rsquo;; the PostScript code that sets the paper
+size can refer to the dimensions the user requested as &lsquo;<samp class="samp">hsize</samp>&rsquo;
+and &lsquo;<samp class="samp">vsize</samp>&rsquo;; these will be macros defined in the PostScript that
return the requested size in default PostScript units. Also, some
-printers want &lsquo;<samp>BeginPaperSize</samp>&rsquo; comments and paper size setting
-commands; others (such as the NeXT) want &lsquo;<samp>PaperSize</samp>&rsquo; comments and
+printers want &lsquo;<samp class="samp">BeginPaperSize</samp>&rsquo; comments and paper size setting
+commands; others (such as the NeXT) want &lsquo;<samp class="samp">PaperSize</samp>&rsquo; comments and
they will handle setting the paper size. So paper size entries should
typically specify both.
</p>
-<span id="index-unknown_002c-paper-format-for-_002dt-1"></span>
+<a class="index-entry-id" id="index-unknown_002c-paper-format-for-_002dt-1"></a>
<p>When using a paper size that is not already defined in
-<samp>config.ps</samp>, you probably want to say &lsquo;<samp>-t&nbsp;unknown</samp>&rsquo; on
-the command line; the <code>unknown</code> paper size definition in
-<samp>config.ps</samp> has the requisite PostScript incantation to set the
+<samp class="file">config.ps</samp>, you probably want to say &lsquo;<samp class="samp">-t&nbsp;unknown</samp>&rsquo; on
+the command line; the <code class="code">unknown</code> paper size definition in
+<samp class="file">config.ps</samp> has the requisite PostScript incantation to set the
PostScript page size, as just described.
</p>
-<span id="index-nopaper_002c-paper-format-for-_002dt"></span>
+<a class="index-entry-id" id="index-nopaper_002c-paper-format-for-_002dt"></a>
<p>If you want no paper size information in the output at all, use
-&lsquo;<samp>-t&nbsp;nopaper</samp>&rsquo;. This is useful with multi-page output that
+&lsquo;<samp class="samp">-t&nbsp;nopaper</samp>&rsquo;. This is useful with multi-page output that
will be processed further. If you just have a single page document,
-you can use &lsquo;<samp>-E</samp>&rsquo; to get pure EPSF output.
+you can use &lsquo;<samp class="samp">-E</samp>&rsquo; to get pure EPSF output.
</p>
-<span id="index-mkdvipspapers"></span>
-<p>The Perl 5 script <samp>contrib/configs/mkdvipspapers</samp> in the
+<a class="index-entry-id" id="index-mkdvipspapers"></a>
+<p>The Perl 5 script <samp class="file">contrib/configs/mkdvipspapers</samp> in the
distribution directory may help in determining appropriate paper size
definitions.
</p>
-<span id="index-config_002eps-paper-sizes"></span>
-<span id="index-letter-paper-size"></span>
-<span id="index-a4-paper-size"></span>
-<p>Notwithstanding the above, the default <code>letter</code> and <code>a4</code>
-paper size definitions in <samp>config.ps</samp> execute the
-<code>setpagedevice</code> operator if it exists (it was defined in
-PostScript Level&nbsp;2), or the &lsquo;<samp>letter</samp>&rsquo; or &lsquo;<samp>a4</samp>&rsquo; operator
+<a class="index-entry-id" id="index-config_002eps-paper-sizes"></a>
+<a class="index-entry-id" id="index-letter-paper-size"></a>
+<a class="index-entry-id" id="index-a4-paper-size"></a>
+<p>Notwithstanding the above, the default <code class="code">letter</code> and <code class="code">a4</code>
+paper size definitions in <samp class="file">config.ps</samp> execute the
+<code class="code">setpagedevice</code> operator if it exists (it was defined in
+PostScript Level&nbsp;2), or the &lsquo;<samp class="samp">letter</samp>&rsquo; or &lsquo;<samp class="samp">a4</samp>&rsquo; operator
if they exist (they are nonstandard and thus perhaps cause failures on
certain (unknown) printers). Not executing any page size definition
at all confuses PostScript conversion programs such as
-<code>ps2pdf</code>, so we want to execute one if we can.
+<code class="command">ps2pdf</code>, so we want to execute one if we can.
</p>
-<span id="index-letterSize-paper-size"></span>
-<span id="index-A4size-paper-size"></span>
-<p>The <code>letterSize</code> and <code>A4Size</code> paper size definitions are now
-synonyms for <code>letter</code> and <code>a4</code>.
+<a class="index-entry-id" id="index-letterSize-paper-size"></a>
+<a class="index-entry-id" id="index-A4size-paper-size"></a>
+<p>The <code class="code">letterSize</code> and <code class="code">A4Size</code> paper size definitions are now
+synonyms for <code class="code">letter</code> and <code class="code">a4</code>.
</p>
<hr>
</div>
-<div class="section" id="Paper-trays">
-<div class="header">
+<div class="section-level-extent" id="Paper-trays">
+<div class="nav-panel">
<p>
Previous: <a href="#Config-file-paper-sizes" accesskey="p" rel="prev">Configuration file paper size command</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Paper-trays-1"></span><h3 class="section">4.3 Paper trays</h3>
+<h3 class="section" id="Paper-trays-1">4.3 Paper trays</h3>
-<span id="index-paper-trays"></span>
-<span id="index-dual-paper-trays"></span>
-<span id="index-multiple-paper-trays"></span>
-<span id="index-HP4Si-printer-and-paper-trays"></span>
+<a class="index-entry-id" id="index-paper-trays"></a>
+<a class="index-entry-id" id="index-dual-paper-trays"></a>
+<a class="index-entry-id" id="index-multiple-paper-trays"></a>
+<a class="index-entry-id" id="index-HP4Si-printer-and-paper-trays"></a>
-<span id="index-bop_002dhook"></span>
+<a class="index-entry-id" id="index-bop_002dhook"></a>
<p>Some printers, such as the Hewlett-Packard HP4si, have multiple paper
trays. You can set up Dvips to take advantage of this using the
-<code>bop-hook</code> PostScript variable (see <a href="#PostScript-hooks">PostScript hooks</a>).
+<code class="code">bop-hook</code> PostScript variable (see <a class="pxref" href="#PostScript-hooks">PostScript hooks</a>).
</p>
-<span id="index-letterhead-tray"></span>
+<a class="index-entry-id" id="index-letterhead-tray"></a>
<p>For example, suppose you have an alternate tray stocked with letterhead
paper; the usual tray has the usual paper. You have a document where
you want the first page printed on letterhead, and the remaining pages
on the usual paper. You can create a header file, say
-<samp>firstletterhead.PS</samp>, with the following (PostScript) code
-(<code>bop-hook</code> is passed the current physical page number, which
+<samp class="file">firstletterhead.PS</samp>, with the following (PostScript) code
+(<code class="code">bop-hook</code> is passed the current physical page number, which
starts at zero):
</p>
<div class="example">
-<pre class="example">/bop-hook { dup 0 eq { <var>alternatetray</var> } { <var>normaltray</var> } ifelse } def
+<pre class="example-preformatted">/bop-hook { dup 0 eq { <var class="var">alternatetray</var> } { <var class="var">normaltray</var> } ifelse } def
</pre></div>
-<p>where <var>alternatetray</var> and <var>normaltray</var> are the appropriate
-commands to select the paper trays. On the 4SI, <var>alternatetray</var> is
-&lsquo;<samp>statusdict begin 1 setpapertray end</samp>&rsquo; and <var>normaltray</var> is
-&lsquo;<samp>statusdict begin 0 setpapertray end</samp>&rsquo;.
+<p>where <var class="var">alternatetray</var> and <var class="var">normaltray</var> are the appropriate
+commands to select the paper trays. On the 4SI, <var class="var">alternatetray</var> is
+&lsquo;<samp class="samp">statusdict begin 1 setpapertray end</samp>&rsquo; and <var class="var">normaltray</var> is
+&lsquo;<samp class="samp">statusdict begin 0 setpapertray end</samp>&rsquo;.
</p>
<p>Then, include the file with either
-</p><ul>
-<li> the &lsquo;<samp>-h</samp>&rsquo; command-line option (see <a href="#Option-details">Option details</a>); or
+</p><ul class="itemize mark-bullet">
+<li>the &lsquo;<samp class="samp">-h</samp>&rsquo; command-line option (see <a class="pxref" href="#Option-details">Option details</a>); or
-</li><li> the &lsquo;<samp>h</samp>&rsquo; config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>); or
+</li><li>the &lsquo;<samp class="samp">h</samp>&rsquo; config file option (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>); or
-</li><li> &lsquo;<samp>\special{header=<var>file</var>}</samp>&rsquo; in your TeX document
-(see <a href="#Including-headers-from-TeX">Including headers from TeX</a>).
+</li><li>&lsquo;<samp class="samp">\special{header=<var class="var">file</var>}</samp>&rsquo; in your TeX document
+(see <a class="pxref" href="#Including-headers-from-TeX">Including headers from TeX</a>).
</li></ul>
@@ -2273,15 +2271,15 @@ commands to select the paper trays. On the 4SI, <var>alternatetray</var> is
<hr>
</div>
</div>
-<div class="chapter" id="Interaction-with-PostScript">
-<div class="header">
+<div class="chapter-level-extent" id="Interaction-with-PostScript">
+<div class="nav-panel">
<p>
Next: <a href="#PostScript-fonts" accesskey="n" rel="next">PostScript fonts</a>, Previous: <a href="#Paper-size-and-landscape" accesskey="p" rel="prev">Paper size and landscape orientation</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Interaction-with-PostScript-1"></span><h2 class="chapter">5 Interaction with PostScript</h2>
+<h2 class="chapter" id="Interaction-with-PostScript-1">5 Interaction with PostScript</h2>
-<span id="index-interaction-with-PostScript"></span>
-<span id="index-PostScript-interaction"></span>
+<a class="index-entry-id" id="index-interaction-with-PostScript"></a>
+<a class="index-entry-id" id="index-PostScript-interaction"></a>
<p>Dvips supports inclusion of PostScript figure files (e.g., Encapsulated
PostScript), downloading other header files (e.g., fonts), including
@@ -2289,19 +2287,19 @@ literal PostScript code, and hypertext.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#PostScript-figures" accesskey="1">PostScript figures</a></li>
<li><a href="#Header-files" accesskey="2">PostScript header files</a></li>
<li><a href="#Literal-PS" accesskey="3">Literal PostScript</a></li>
<li><a href="#Hypertext" accesskey="4">HyperTeXt</a></li>
</ul>
<hr>
-<div class="section" id="PostScript-figures">
-<div class="header">
+<div class="section-level-extent" id="PostScript-figures">
+<div class="nav-panel">
<p>
Next: <a href="#Header-files" accesskey="n" rel="next">PostScript header files</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="PostScript-figures-1"></span><h3 class="section">5.1 PostScript figures</h3>
+<h3 class="section" id="PostScript-figures-1">5.1 PostScript figures</h3>
<p>Scaling and including PostScript graphics is a breeze&mdash;if the PostScript
file is correctly formed. Even if it is not, however, the file can usually
@@ -2309,57 +2307,57 @@ be accommodated with just a little more work.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Bounding-box" accesskey="1">The bounding box comment</a></li>
<li><a href="#g_t_005cincludegraphics" accesskey="2">The \includegraphics macro for LaTeX</a></li>
<li><a href="#EPSF-macros" accesskey="3">Using the EPSF macros</a></li>
-<li><a href="#psfile-special" accesskey="4">&lsquo;<samp>psfile</samp>&rsquo; special</a></li>
+<li><a href="#psfile-special" accesskey="4">&lsquo;<samp class="samp">psfile</samp>&rsquo; special</a></li>
<li><a href="#Dynamic-creation-of-graphics" accesskey="5">Dynamic creation of PostScript graphics files</a></li>
<li><a href="#Fonts-in-figures" accesskey="6">Fonts in figures</a></li>
</ul>
<hr>
-<div class="subsection" id="Bounding-box">
-<div class="header">
+<div class="subsection-level-extent" id="Bounding-box">
+<div class="nav-panel">
<p>
Next: <a href="#g_t_005cincludegraphics" accesskey="n" rel="next">The \includegraphics macro for LaTeX</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="The-bounding-box-comment"></span><h4 class="subsection">5.1.1 The bounding box comment</h4>
+<h4 class="subsection" id="The-bounding-box-comment">5.1.1 The bounding box comment</h4>
-<span id="index-bounding-box_002c-comment-for"></span>
+<a class="index-entry-id" id="index-bounding-box_002c-comment-for"></a>
<p>The most important feature of a good PostScript file from the standpoint
of including it in another document is an accurate bounding box comment.
Every well-formed PostScript file has a comment describing where on the
page the graphic is located, and how big that graphic is.
</p>
-<span id="index-big-points"></span>
-<span id="index-PostScript-units"></span>
-<span id="index-bounding-box_002c-defined"></span>
+<a class="index-entry-id" id="index-big-points"></a>
+<a class="index-entry-id" id="index-PostScript-units"></a>
+<a class="index-entry-id" id="index-bounding-box_002c-defined"></a>
<p>This information is given as the lower left and upper right corners of
the box just enclosing the graphic, and is thus referred to as the
-<em>bounding box</em>. These coordinates are given in the default
+<em class="dfn">bounding box</em>. These coordinates are given in the default
PostScript units (there are precisely 72 PostScript units to the inch,
like TeX big points) with respect to the lower left corner of the
sheet of paper.
</p>
-<span id="index-_0025_0025BoundingBox"></span>
+<a class="index-entry-id" id="index-_0025_0025BoundingBox"></a>
<p>To see if a PostScript file has a bounding box comment, just look at the
first few lines of the file. PostScript files are standard ASCII, so
you can use any text editor to do this. If within the first few dozen
lines there is a line like
</p>
<div class="example">
-<pre class="example">%%BoundingBox: 25 50 400 300
+<pre class="example-preformatted">%%BoundingBox: 25 50 400 300
</pre></div>
<p>(with any reasonable numbers), chances are very good that the file is
Encapsulated PostScript and will work easily with Dvips. If the file
contains instead a line like
</p>
-<span id="index-atend_002c-bounding-box-specification"></span>
-<span id="index-_0028atend_0029_002c-bounding-box-specification"></span>
+<a class="index-entry-id" id="index-atend_002c-bounding-box-specification"></a>
+<a class="index-entry-id" id="index-_0028atend_0029_002c-bounding-box-specification"></a>
<div class="example">
-<pre class="example">%%BoundingBox: (atend)
+<pre class="example-preformatted">%%BoundingBox: (atend)
</pre></div>
<p>the file is still probably Encapsulated PostScript, but the bounding box
@@ -2369,18 +2367,18 @@ bounding box is given in this way when the program that generated the
PostScript couldn&rsquo;t know the size in advance, or was too lazy to compute
it.)
</p>
-<span id="index-bbfig"></span>
-<span id="index-bounding-box_002c-determining"></span>
-<p>If the document lacks a &lsquo;<samp>%%BoundingBox:</samp>&rsquo; altogether, you can
-determine one in a couple of ways. One is to use the &lsquo;<samp>bbfig</samp>&rsquo;
-program distributed with Dvips in the <samp>contrib</samp> directory. This can
+<a class="index-entry-id" id="index-bbfig"></a>
+<a class="index-entry-id" id="index-bounding-box_002c-determining"></a>
+<p>If the document lacks a &lsquo;<samp class="samp">%%BoundingBox:</samp>&rsquo; altogether, you can
+determine one in a couple of ways. One is to use the &lsquo;<samp class="samp">bbfig</samp>&rsquo;
+program distributed with Dvips in the <samp class="file">contrib</samp> directory. This can
usually find the correct bounding box automatically; it works best with
Ghostscript.
</p>
-<span id="index-612-792-bounding-box-size"></span>
+<a class="index-entry-id" id="index-612-792-bounding-box-size"></a>
<p>If the comment looks like this:
</p><div class="example">
-<pre class="example">%%BoundingBox: 0 0 612 792
+<pre class="example-preformatted">%%BoundingBox: 0 0 612 792
</pre></div>
<p>the graphic claims to take up an entire sheet of paper. This is
@@ -2389,20 +2387,20 @@ usually a symptom of a bug in the program that generated it.
<p>The other is to do it yourself: print the file. Now, take a ruler, and
make the following measurements (in PostScript units, so measure in
inches and multiply by 72): From the left edge of the paper to the
-leftmost mark on the paper is <var>llx</var>, the first number. From the
+leftmost mark on the paper is <var class="var">llx</var>, the first number. From the
bottom edge of the paper to the bottommost mark on the paper is
-<var>lly</var>, the second number. From the left edge of the paper to the
-rightmost mark on the paper is <var>urx</var>, the third number. The fourth
-and final number, <var>ury</var>, is the distance from the bottom of the page
+<var class="var">lly</var>, the second number. From the left edge of the paper to the
+rightmost mark on the paper is <var class="var">urx</var>, the third number. The fourth
+and final number, <var class="var">ury</var>, is the distance from the bottom of the page
to the uppermost mark on the paper.
</p>
<p>Once you have the numbers, add a comment of the following form as the
second line of the document. (The first line should already be a line
-starting with the two characters &lsquo;<samp>%!</samp>&rsquo;; if it is not, the file
+starting with the two characters &lsquo;<samp class="samp">%!</samp>&rsquo;; if it is not, the file
probably isn&rsquo;t PostScript.)
</p>
<div class="example">
-<pre class="example">%%BoundingBox: <var>llx</var> <var>lly</var> <var>urx</var> <var>ury</var>
+<pre class="example-preformatted">%%BoundingBox: <var class="var">llx</var> <var class="var">lly</var> <var class="var">urx</var> <var class="var">ury</var>
</pre></div>
<p>Or, if you don&rsquo;t want to modify the file, you can simply write these
@@ -2417,63 +2415,63 @@ the file.
<hr>
</div>
-<div class="subsection" id="g_t_005cincludegraphics">
-<div class="header">
+<div class="subsection-level-extent" id="g_t_005cincludegraphics">
+<div class="nav-panel">
<p>
Next: <a href="#EPSF-macros" accesskey="n" rel="next">Using the EPSF macros</a>, Previous: <a href="#Bounding-box" accesskey="p" rel="prev">The bounding box comment</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="The-_005cincludegraphics-macro-for-LaTeX"></span><h4 class="subsection">5.1.2 The \includegraphics macro for LaTeX</h4>
+<h4 class="subsection" id="The-_005cincludegraphics-macro-for-LaTeX">5.1.2 The \includegraphics macro for LaTeX</h4>
-<span id="index-_005cincludegraphics-LaTeX-macro"></span>
-<span id="index-macros-for-epsf-inclusion"></span>
+<a class="index-entry-id" id="index-_005cincludegraphics-LaTeX-macro"></a>
+<a class="index-entry-id" id="index-macros-for-epsf-inclusion"></a>
<p>Once the figure file has a bounding box comment (see the previous
section) you are ready to import the graphic into a LaTeX
document. For LaTeX2e, you can use the epsf, graphics or graphicx
packages, but the last is recommended&mdash;it has the most flexible
syntax, and is briefly described here. Further information can be
-found in <samp>grfguide</samp> or <samp>epslatex</samp>, which should be included
+found in <samp class="file">grfguide</samp> or <samp class="file">epslatex</samp>, which should be included
in your LaTeX distribution in DVI, PDF, or other formats. (If you
are still using LaTeX 2.09, use epsf.sty).
</p>
<p>Just put the following command into your preamble:
</p>
<div class="example">
-<pre class="example">\usepackage[dvips]{graphicx}
+<pre class="example-preformatted">\usepackage[dvips]{graphicx}
</pre></div>
<p>Depending on your system, a suitable driver setup may already be
present, so that LaTeX automatically produces DVI files suitable for
-Dvips. In this case you can leave out the &lsquo;<samp>[dvips]</samp>&rsquo; parameter.
+Dvips. In this case you can leave out the &lsquo;<samp class="samp">[dvips]</samp>&rsquo; parameter.
</p>
-<p>Now, at the point you want to include a file <samp>foo.eps</samp>, enter a
+<p>Now, at the point you want to include a file <samp class="file">foo.eps</samp>, enter a
line such as:
</p>
<div class="example">
-<pre class="example">\includegraphics{foo.eps}
+<pre class="example-preformatted">\includegraphics{foo.eps}
</pre></div>
<p>However, it is usually best to omit the file extension and only use
</p>
<div class="example">
-<pre class="example">\includegraphics{foo}
+<pre class="example-preformatted">\includegraphics{foo}
</pre></div>
<p>because then you can process the same LaTeX file with
different TeX engines or DVI converters if you also provide
-suitable graphics files for them, e.g., <samp>foo.pdf</samp> or
-<samp>foo.png</samp>.
+suitable graphics files for them, e.g., <samp class="file">foo.pdf</samp> or
+<samp class="file">foo.png</samp>.
</p>
-<span id="index-bounding-box_002c-supplying-to-TeX"></span>
+<a class="index-entry-id" id="index-bounding-box_002c-supplying-to-TeX"></a>
<p>The \includegraphics command has many options, specified in
-&lsquo;<samp>key=value</samp>&rsquo; syntax, to allow you to resize, rotate or trim the
-included graphic&mdash;see <samp>grfguide</samp> or <samp>epslatex</samp>. If your
+&lsquo;<samp class="samp">key=value</samp>&rsquo; syntax, to allow you to resize, rotate or trim the
+included graphic&mdash;see <samp class="file">grfguide</samp> or <samp class="file">epslatex</samp>. If your
file does not have a bounding box comment, you can supply the numbers
as determined in the previous section, in the same order they would
have been in a normal bounding box comment:
</p>
<div class="example">
-<pre class="example">\includegraphics[bb=100 100 500 500]{foo.ps}
+<pre class="example-preformatted">\includegraphics[bb=100 100 500 500]{foo.ps}
</pre></div>
<p>Now, save your changes and run LaTeX and Dvips; the output should
@@ -2483,40 +2481,40 @@ occupying the proper amount of space.
<p>PostScript graphics have their origin in the lower left
corner. Therefore, in TeX, a graphic will occupy a box that extends
far above the line where it is put in, but has depth zero below it.
-Combining &lsquo;<samp>\includegraphics</samp>&rsquo; with &lsquo;<samp>\parbox</samp>&rsquo; commands or
+Combining &lsquo;<samp class="samp">\includegraphics</samp>&rsquo; with &lsquo;<samp class="samp">\parbox</samp>&rsquo; commands or
minipages can sometimes be confusing when this is not taken into
account.
</p>
<hr>
</div>
-<div class="subsection" id="EPSF-macros">
-<div class="header">
+<div class="subsection-level-extent" id="EPSF-macros">
+<div class="nav-panel">
<p>
-Next: <a href="#psfile-special" accesskey="n" rel="next">&lsquo;<samp>psfile</samp>&rsquo; special</a>, Previous: <a href="#g_t_005cincludegraphics" accesskey="p" rel="prev">The \includegraphics macro for LaTeX</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#psfile-special" accesskey="n" rel="next">&lsquo;<samp class="samp">psfile</samp>&rsquo; special</a>, Previous: <a href="#g_t_005cincludegraphics" accesskey="p" rel="prev">The \includegraphics macro for LaTeX</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Using-the-EPSF-macros"></span><h4 class="subsection">5.1.3 Using the EPSF macros</h4>
+<h4 class="subsection" id="Using-the-EPSF-macros">5.1.3 Using the EPSF macros</h4>
-<span id="index-EPSF-macros"></span>
-<span id="index-macros-for-epsf-inclusion-1"></span>
+<a class="index-entry-id" id="index-EPSF-macros"></a>
+<a class="index-entry-id" id="index-macros-for-epsf-inclusion-1"></a>
-<p>If you are using LaTeX2e, use the &lsquo;<samp>graphics</samp>&rsquo; or &lsquo;<samp>graphicx</samp>&rsquo;
-package. See <a href="#g_t_005cincludegraphics">The \includegraphics macro for LaTeX</a>.
+<p>If you are using LaTeX2e, use the &lsquo;<samp class="samp">graphics</samp>&rsquo; or &lsquo;<samp class="samp">graphicx</samp>&rsquo;
+package. See <a class="xref" href="#g_t_005cincludegraphics">The \includegraphics macro for LaTeX</a>.
</p>
-<p>If you are using plain TeX or LaTeX 2.09, you need <samp>epsf.tex</samp>
-(for plain TeX) and <samp>epsf.sty</samp> (for LaTeX). For plain
+<p>If you are using plain TeX or LaTeX 2.09, you need <samp class="file">epsf.tex</samp>
+(for plain TeX) and <samp class="file">epsf.sty</samp> (for LaTeX). For plain
TeX, add a line like this near the top of your input file:
</p>
-<span id="index-epsf_002etex"></span>
+<a class="index-entry-id" id="index-epsf_002etex"></a>
<div class="example">
-<pre class="example">\input epsf
+<pre class="example-preformatted">\input epsf
</pre></div>
-<p><span id="index-epsf_002esty"></span>
-If you are using LaTeX 2.09, add the &lsquo;<samp>epsf</samp>&rsquo; style option, as in:
+<a class="index-entry-id" id="index-epsf_002esty"></a>
+<p>If you are using LaTeX 2.09, add the &lsquo;<samp class="samp">epsf</samp>&rsquo; style option, as in:
</p>
<div class="example">
-<pre class="example">\documentstyle[12pt,epsf]{article}
+<pre class="example-preformatted">\documentstyle[12pt,epsf]{article}
</pre></div>
<p>In any case, the above only needs to be done once, no matter how many
@@ -2525,29 +2523,29 @@ figures you plan to include.
<p>Now, at the point you want to include a file, enter a line such as:
</p>
<div class="example">
-<pre class="example">\epsffile{foo.eps}
+<pre class="example-preformatted">\epsffile{foo.eps}
</pre></div>
-<span id="index-_005cleavevmode"></span>
-<span id="index-bounding-box_002c-supplying-to-TeX-1"></span>
-<p>If you are using LaTeX, you may need to add <code>\leavevmode</code>
-immediately before the <code>\epsffile</code> command to get certain
+<a class="index-entry-id" id="index-_005cleavevmode"></a>
+<a class="index-entry-id" id="index-bounding-box_002c-supplying-to-TeX-1"></a>
+<p>If you are using LaTeX, you may need to add <code class="code">\leavevmode</code>
+immediately before the <code class="code">\epsffile</code> command to get certain
environments to work correctly. If your file does not have a bounding
box comment, you can supply the numbers as determined in the previous
section, in the same order they would have been in a normal bounding box
comment:
</p>
<div class="example">
-<pre class="example">\epsffile[100 100 500 500]{foo.ps}
+<pre class="example-preformatted">\epsffile[100 100 500 500]{foo.ps}
</pre></div>
<p>Now, save your changes and run TeX and Dvips; the output should have
your graphic positioned at precisely the point you indicated, occupying
the proper amount of space.
</p>
-<span id="index-_005cepsffile-macro"></span>
-<span id="index-figures_002c-natural-size"></span>
-<p>The <code>\epsffile</code> macro typesets the figure as a TeX <code>\vbox</code>
+<a class="index-entry-id" id="index-_005cepsffile-macro"></a>
+<a class="index-entry-id" id="index-figures_002c-natural-size"></a>
+<p>The <code class="code">\epsffile</code> macro typesets the figure as a TeX <code class="code">\vbox</code>
at the point of the page that the command is executed. By default, the
graphic will have its &lsquo;natural&rsquo; width (namely, the width of its bounding
box). The TeX box will have depth zero and its natural height. By
@@ -2555,52 +2553,52 @@ default, the graphic will be scaled by any DVI magnification in effect,
just as is everything else in your document. See the next section for
more information on scaling.
</p>
-<span id="index-_005cepsfverbosetrue"></span>
-<span id="index-verbose-EPSF-processing"></span>
+<a class="index-entry-id" id="index-_005cepsfverbosetrue"></a>
+<a class="index-entry-id" id="index-verbose-EPSF-processing"></a>
<p>If you want TeX to report the size of the figure as a message on your
terminal when it processes each figure, give the command:
</p>
<div class="example">
-<pre class="example">\epsfverbosetrue
+<pre class="example-preformatted">\epsfverbosetrue
</pre></div>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#EPSF-scaling" accesskey="1">EPSF scaling</a></li>
<li><a href="#EPSF-clipping" accesskey="2">EPSF clipping</a></li>
</ul>
<hr>
-<div class="subsubsection" id="EPSF-scaling">
-<div class="header">
+<div class="subsubsection-level-extent" id="EPSF-scaling">
+<div class="nav-panel">
<p>
Next: <a href="#EPSF-clipping" accesskey="n" rel="next">EPSF clipping</a>, Up: <a href="#EPSF-macros" accesskey="u" rel="up">Using the EPSF macros</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="EPSF-scaling-1"></span><h4 class="subsubsection">5.1.3.1 EPSF scaling</h4>
+<h4 class="subsubsection" id="EPSF-scaling-1">5.1.3.1 EPSF scaling</h4>
-<span id="index-scaling-of-figures"></span>
-<span id="index-figures_002c-scaling"></span>
+<a class="index-entry-id" id="index-scaling-of-figures"></a>
+<a class="index-entry-id" id="index-figures_002c-scaling"></a>
<p>Usually, you will want to scale an EPSF figure to some size appropriate
for your document, since its natural size is determined by the creator
of the EPS file.
</p>
<p>The best way to do this is to assign the desired size to the TeX
-<code>\epsfxsize</code> or <code>\epsfysize</code> variables, whichever is more
+<code class="code">\epsfxsize</code> or <code class="code">\epsfysize</code> variables, whichever is more
convenient for you. That is, put
</p>
-<span id="index-_005cepsfxsize"></span>
+<a class="index-entry-id" id="index-_005cepsfxsize"></a>
<div class="example">
-<pre class="example">\epsfxsize=<var>dimen</var>
+<pre class="example-preformatted">\epsfxsize=<var class="var">dimen</var>
</pre></div>
-<p>right before the call to <code>\epsffile</code>. Then the width of the TeX
-box will be <var>dimen</var> and its height will be scaled proportionately.
+<p>right before the call to <code class="code">\epsffile</code>. Then the width of the TeX
+box will be <var class="var">dimen</var> and its height will be scaled proportionately.
Similarly, you can set the vertical size with
</p>
-<span id="index-_005cepsfysize"></span>
+<a class="index-entry-id" id="index-_005cepsfysize"></a>
<div class="example">
-<pre class="example">\epsfysize=<var>dimen</var>
+<pre class="example-preformatted">\epsfysize=<var class="var">dimen</var>
</pre></div>
<p>in which case the height will be set and the width scaled
@@ -2610,87 +2608,87 @@ proportionally.
included graphic may necessarily be distorted, i.e., its contents
stretched in one direction or the other.
</p>
-<span id="index-_005cepsfsize"></span>
+<a class="index-entry-id" id="index-_005cepsfsize"></a>
<p>You can resize graphics in a more general way by redefining the
-<code>\epsfsize</code> macro. <code>\epsffile</code> calls this with two
+<code class="code">\epsfsize</code> macro. <code class="code">\epsffile</code> calls this with two
parameters: the natural horizontal and vertical sizes of the PostScript
-graphic. <code>\epsfsize</code> must expand to the desired horizontal size,
-that is, the width of the <code>\vbox</code>. Schematically:
+graphic. <code class="code">\epsfsize</code> must expand to the desired horizontal size,
+that is, the width of the <code class="code">\vbox</code>. Schematically:
</p>
<div class="example">
-<pre class="example">\def\epsfsize#1#2{<var>body</var>}
+<pre class="example-preformatted">\def\epsfsize#1#2{<var class="var">body</var>}
</pre></div>
-<p>Some useful definitions of <var>body</var>:
+<p>Some useful definitions of <var class="var">body</var>:
</p>
-<dl compact="compact">
-<dt><span>&lsquo;<samp>\epsfxsize</samp>&rsquo;</span></dt>
+<dl class="table">
+<dt>&lsquo;<samp class="samp">\epsfxsize</samp>&rsquo;</dt>
<dd><p>This definition (the default) enables the default features listed above,
-by setting <code>\epsfxsize</code> to the same value it had before the macro
+by setting <code class="code">\epsfxsize</code> to the same value it had before the macro
was called.
</p>
</dd>
-<dt><span>&lsquo;<samp>#1</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">#1</samp>&rsquo;</dt>
<dd><p>Force the natural size by returning the first parameter (the original
width).
</p>
</dd>
-<dt><span>&lsquo;<samp>0pt</samp>&rsquo;</span></dt>
-<dd><p>A special case, equivalent to &lsquo;<samp>#1</samp>&rsquo;.
+<dt>&lsquo;<samp class="samp">0pt</samp>&rsquo;</dt>
+<dd><p>A special case, equivalent to &lsquo;<samp class="samp">#1</samp>&rsquo;.
</p>
</dd>
-<dt><span>&lsquo;<samp>0.5#1</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">0.5#1</samp>&rsquo;</dt>
<dd><p>Scale to half the natural size.
</p>
</dd>
-<dt><span>&lsquo;<samp>\hsize</samp>&rsquo;</span></dt>
-<dd><p>Scale to the current <code>\hsize</code>. (In LaTeX, use <code>\textwidth</code>
-instead of <code>\hsize</code>.)
+<dt>&lsquo;<samp class="samp">\hsize</samp>&rsquo;</dt>
+<dd><p>Scale to the current <code class="code">\hsize</code>. (In LaTeX, use <code class="code">\textwidth</code>
+instead of <code class="code">\hsize</code>.)
</p>
</dd>
-<dt><span>&lsquo;<samp>\ifnum#1&gt;\hsize\hsize\else#1\fi</samp>&rsquo;</span></dt>
-<dd><p>If the natural width is greater than the current <code>\hsize</code>, scale to
-<code>\hsize</code>, otherwise use the natural width.
+<dt>&lsquo;<samp class="samp">\ifnum#1&gt;\hsize\hsize\else#1\fi</samp>&rsquo;</dt>
+<dd><p>If the natural width is greater than the current <code class="code">\hsize</code>, scale to
+<code class="code">\hsize</code>, otherwise use the natural width.
</p>
</dd>
</dl>
-<span id="index-DVI-magnification"></span>
-<span id="index-magnification_002c-DVI"></span>
-<span id="index-_005cmagnification"></span>
+<a class="index-entry-id" id="index-DVI-magnification"></a>
+<a class="index-entry-id" id="index-magnification_002c-DVI"></a>
+<a class="index-entry-id" id="index-_005cmagnification"></a>
<p>For compatibility with other PostScript drivers, it is possible to turn
off the default scaling of included figures by the DVI magnification
with the following TeX command:
</p>
-<span id="index-_002fmagscale"></span>
+<a class="index-entry-id" id="index-_002fmagscale"></a>
<div class="example">
-<pre class="example">\special{! /magscale false def}
+<pre class="example-preformatted">\special{! /magscale false def}
</pre></div>
<p>Use of this command is not recommended because it will make the
-<code>\epsffile</code> graphics the &ldquo;wrong&rdquo; size if global magnification is
+<code class="code">\epsffile</code> graphics the &ldquo;wrong&rdquo; size if global magnification is
being used, and it will cause any PostScript graphics to appear
improperly scaled and out of position if a DVI to DVI program is used to
scale or otherwise modify the document.
</p>
-<span id="index-bop_002dhook-1"></span>
+<a class="index-entry-id" id="index-bop_002dhook-1"></a>
<p>DVI magnification is not applied to any output from code you write in
-&lsquo;<samp>bop-hook</samp>&rsquo; or its ilk (see <a href="#PostScript-hooks">PostScript hooks</a>),
+&lsquo;<samp class="samp">bop-hook</samp>&rsquo; or its ilk (see <a class="pxref" href="#PostScript-hooks">PostScript hooks</a>),
</p>
<hr>
</div>
-<div class="subsubsection" id="EPSF-clipping">
-<div class="header">
+<div class="subsubsection-level-extent" id="EPSF-clipping">
+<div class="nav-panel">
<p>
Previous: <a href="#EPSF-scaling" accesskey="p" rel="prev">EPSF scaling</a>, Up: <a href="#EPSF-macros" accesskey="u" rel="up">Using the EPSF macros</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="EPSF-clipping-1"></span><h4 class="subsubsection">5.1.3.2 EPSF clipping</h4>
+<h4 class="subsubsection" id="EPSF-clipping-1">5.1.3.2 EPSF clipping</h4>
-<span id="index-clipping-of-EPSF"></span>
-<span id="index-bounding-box_002c-inaccurate"></span>
-<span id="index-text-in-figures_002c-chopped-off"></span>
-<span id="index-lines-in-figures_002c-wrong-width"></span>
+<a class="index-entry-id" id="index-clipping-of-EPSF"></a>
+<a class="index-entry-id" id="index-bounding-box_002c-inaccurate"></a>
+<a class="index-entry-id" id="index-text-in-figures_002c-chopped-off"></a>
+<a class="index-entry-id" id="index-lines-in-figures_002c-wrong-width"></a>
<p>By default, clipping is disabled for included EPSF images. This is
because clipping to the bounding box dimensions often cuts off a
@@ -2701,90 +2699,90 @@ bottoms of some text annotations might be sliced off. If you want to
turn clipping on, just use the command
</p>
<div class="example">
-<pre class="example">\epsfclipon
+<pre class="example-preformatted">\epsfclipon
</pre></div>
<p>and to turn clipping back off, use
</p>
<div class="example">
-<pre class="example">\epsfclipoff
+<pre class="example-preformatted">\epsfclipoff
</pre></div>
<hr>
</div>
</div>
-<div class="subsection" id="psfile-special">
-<div class="header">
+<div class="subsection-level-extent" id="psfile-special">
+<div class="nav-panel">
<p>
Next: <a href="#Dynamic-creation-of-graphics" accesskey="n" rel="next">Dynamic creation of PostScript graphics files</a>, Previous: <a href="#EPSF-macros" accesskey="p" rel="prev">Using the EPSF macros</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="psfile-special-1"></span><h4 class="subsection">5.1.4 &lsquo;<samp>psfile</samp>&rsquo; special</h4>
+<h4 class="subsection" id="psfile-special-1">5.1.4 &lsquo;<samp class="samp">psfile</samp>&rsquo; special</h4>
-<span id="index-psfile-special"></span>
+<a class="index-entry-id" id="index-psfile-special"></a>
<p>The basic special for file inclusion is as follows:
</p>
<div class="example">
-<pre class="example">\special{psfile=<var>filename</var>.ps <span class="roman">[</span><var>key</var>=<var>value</var><span class="roman">]</span> &hellip; }
+<pre class="example-preformatted">\special{psfile=<var class="var">filename</var>.ps <span class="r">[</span><var class="var">key</var>=<var class="var">value</var><span class="r">]</span> &hellip; }
</pre></div>
-<p>This downloads the PostScript file <samp><var>filename</var>.ps</samp> such that
+<p>This downloads the PostScript file <samp class="file"><var class="var">filename</var>.ps</samp> such that
the current point will be the origin of the PostScript coordinate
-system. The optional <var>key</var><tt>=</tt><var>value</var> assignments allow you to
+system. The optional <var class="var">key</var><code class="t">=</code><var class="var">value</var> assignments allow you to
specify transformations on the PostScript.
</p>
-<p>The possible <var>key</var>s are:
+<p>The possible <var class="var">key</var>s are:
</p>
-<dl compact="compact">
-<dt id='index-hoffset-_0028psfile-special-option_0029'><span>&lsquo;<samp>hoffset</samp>&rsquo;<a href='#index-hoffset-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="table">
+<dt id='index-hoffset-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">hoffset</samp>&rsquo;<a class="copiable-link" href='#index-hoffset-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The horizontal offset (default 0).
</p>
</dd>
-<dt id='index-voffset-_0028psfile-special-option_0029'><span>&lsquo;<samp>voffset</samp>&rsquo;<a href='#index-voffset-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-voffset-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">voffset</samp>&rsquo;<a class="copiable-link" href='#index-voffset-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The vertical offset (default 0).
</p>
</dd>
-<dt id='index-hsize-_0028psfile-special-option_0029'><span>&lsquo;<samp>hsize</samp>&rsquo;<a href='#index-hsize-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-hsize-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">hsize</samp>&rsquo;<a class="copiable-link" href='#index-hsize-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The horizontal clipping size (default 612).
</p>
</dd>
-<dt id='index-vsize-_0028psfile-special-option_0029'><span>&lsquo;<samp>vsize</samp>&rsquo;<a href='#index-vsize-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-vsize-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">vsize</samp>&rsquo;<a class="copiable-link" href='#index-vsize-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The vertical clipping size (default 792).
</p>
</dd>
-<dt id='index-hscale-_0028psfile-special-option_0029'><span>&lsquo;<samp>hscale</samp>&rsquo;<a href='#index-hscale-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-hscale-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">hscale</samp>&rsquo;<a class="copiable-link" href='#index-hscale-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The horizontal scaling factor, as a percentage (default 100).
</p>
</dd>
-<dt id='index-vscale-_0028psfile-special-option_0029'><span>&lsquo;<samp>vscale</samp>&rsquo;<a href='#index-vscale-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-vscale-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">vscale</samp>&rsquo;<a class="copiable-link" href='#index-vscale-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The vertical scaling factor, as a percentage (default 100).
</p>
</dd>
-<dt id='index-angle-_0028psfile-special-option_0029'><span>&lsquo;<samp>angle</samp>&rsquo;<a href='#index-angle-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-angle-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">angle</samp>&rsquo;<a class="copiable-link" href='#index-angle-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>The rotation, in degrees (default 0).
</p>
</dd>
-<dt id='index-clip-_0028psfile-special-option_0029'><span>&lsquo;<samp>clip</samp>&rsquo;<a href='#index-clip-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-clip-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">clip</samp>&rsquo;<a class="copiable-link" href='#index-clip-_0028psfile-special-option_0029'> &para;</a></span></dt>
<dd><p>Enable clipping to the bounding box (default disabled).
</p>
</dd>
-<dt id='index-llx-_0028psfile-special-option_0029'><span>&lsquo;<samp>llx, lly, urx, ury</samp>&rsquo;<a href='#index-llx-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-lly-_0028psfile-special-option_0029"></span>
-<span id="index-urx-_0028psfile-special-option_0029"></span>
-<span id="index-ury-_0028psfile-special-option_0029"></span>
-<p>Bounding box of the included image, just as in a <code>%%BoundingBox</code>
+<dt id='index-llx-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">llx, lly, urx, ury</samp>&rsquo;<a class="copiable-link" href='#index-llx-_0028psfile-special-option_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-lly-_0028psfile-special-option_0029"></a>
+<a class="index-entry-id" id="index-urx-_0028psfile-special-option_0029"></a>
+<a class="index-entry-id" id="index-ury-_0028psfile-special-option_0029"></a>
+<p>Bounding box of the included image, just as in a <code class="code">%%BoundingBox</code>
comment. Values are in big points, and may be fractional.
</p>
</dd>
-<dt id='index-rhi-_0028psfile-special-option_0029'><span>&lsquo;<samp>rhi, rwi</samp>&rsquo;<a href='#index-rhi-_0028psfile-special-option_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-rwi-_0028psfile-special-option_0029"></span>
+<dt id='index-rhi-_0028psfile-special-option_0029'><span>&lsquo;<samp class="samp">rhi, rwi</samp>&rsquo;<a class="copiable-link" href='#index-rhi-_0028psfile-special-option_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-rwi-_0028psfile-special-option_0029"></a>
<p>Desired width and height of the resulting figure in the output, in
tenths of big points (720 to the inch); may be fractional.
</p>
-<p>If both <code>rwi</code> and <code>rhi</code> are nonzero, the picture is scaled,
-possibly losing aspect ratio. If only one of <code>rwi</code> and
-<code>rhi</code> is nonzero, the picture is scaled, preserving aspect ratio.
+<p>If both <code class="code">rwi</code> and <code class="code">rhi</code> are nonzero, the picture is scaled,
+possibly losing aspect ratio. If only one of <code class="code">rwi</code> and
+<code class="code">rhi</code> is nonzero, the picture is scaled, preserving aspect ratio.
</p>
</dd>
</dl>
@@ -2793,231 +2791,231 @@ possibly losing aspect ratio. If only one of <code>rwi</code> and
Thus, for example:
</p>
<div class="example">
-<pre class="example">\special{psfile=foo.ps hoffset=72 hscale=90 vscale=90}
+<pre class="example-preformatted">\special{psfile=foo.ps hoffset=72 hscale=90 vscale=90}
</pre></div>
-<p>will shift the graphics produced by file <samp>foo.ps</samp> right by one inch
+<p>will shift the graphics produced by file <samp class="file">foo.ps</samp> right by one inch
and will draw it at 0.9 times normal size. Offsets are given relative
to the point of the special command, and are unaffected by scaling or
rotation. Rotation is counterclockwise about the origin. The order of
operations is to rotate the figure, scale it, then offset it.
</p>
<p>For compatibility with older PostScript drivers, it is possible to change
-the units that &lsquo;<samp>hscale</samp>&rsquo; and &lsquo;<samp>vscale</samp>&rsquo; are given in. This can be
-done by redefining &lsquo;<samp>@scaleunit</samp>&rsquo;
-<span id="index-scaleunit"></span>
-in &lsquo;<samp>SDict</samp>&rsquo;
-<span id="index-SDict"></span>
+the units that &lsquo;<samp class="samp">hscale</samp>&rsquo; and &lsquo;<samp class="samp">vscale</samp>&rsquo; are given in. This can be
+done by redefining &lsquo;<samp class="samp">@scaleunit</samp>&rsquo;
+<a class="index-entry-id" id="index-scaleunit"></a>
+in &lsquo;<samp class="samp">SDict</samp>&rsquo;
+<a class="index-entry-id" id="index-SDict"></a>
by a TeX command such as
</p>
<div class="example">
-<pre class="example">\special{! /@scaleunit 1 def}
+<pre class="example-preformatted">\special{! /@scaleunit 1 def}
</pre></div>
-<p>The &lsquo;<samp>@scaleunit</samp>&rsquo; variable, which is by default 100, is what
-&lsquo;<samp>hscale</samp>&rsquo; and &lsquo;<samp>vscale</samp>&rsquo; are divided by to yield an absolute
+<p>The &lsquo;<samp class="samp">@scaleunit</samp>&rsquo; variable, which is by default 100, is what
+&lsquo;<samp class="samp">hscale</samp>&rsquo; and &lsquo;<samp class="samp">vscale</samp>&rsquo; are divided by to yield an absolute
scale factor.
</p>
<hr>
</div>
-<div class="subsection" id="Dynamic-creation-of-graphics">
-<div class="header">
+<div class="subsection-level-extent" id="Dynamic-creation-of-graphics">
+<div class="nav-panel">
<p>
-Next: <a href="#Fonts-in-figures" accesskey="n" rel="next">Fonts in figures</a>, Previous: <a href="#psfile-special" accesskey="p" rel="prev">&lsquo;<samp>psfile</samp>&rsquo; special</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Fonts-in-figures" accesskey="n" rel="next">Fonts in figures</a>, Previous: <a href="#psfile-special" accesskey="p" rel="prev">&lsquo;<samp class="samp">psfile</samp>&rsquo; special</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Dynamic-creation-of-PostScript-graphics-files"></span><h4 class="subsection">5.1.5 Dynamic creation of PostScript graphics files</h4>
+<h4 class="subsection" id="Dynamic-creation-of-PostScript-graphics-files">5.1.5 Dynamic creation of PostScript graphics files</h4>
-<span id="index-dynamic-creation-of-graphics"></span>
-<span id="index-compressed-PostScript"></span>
-<span id="index-uncompressing-PostScript"></span>
+<a class="index-entry-id" id="index-dynamic-creation-of-graphics"></a>
+<a class="index-entry-id" id="index-compressed-PostScript"></a>
+<a class="index-entry-id" id="index-uncompressing-PostScript"></a>
<p>PostScript is an excellent page description language&mdash;but it does tend
to be rather verbose. Compressing PostScript graphics files can reduce
them by factor of five or more. For this reason, if the name of an
-included PostScript file ends with <samp>.Z</samp> or <samp>.gz</samp>, Dvips
-automatically runs &lsquo;<samp>gzip -d</samp>&rsquo;. For example:
+included PostScript file ends with <samp class="file">.Z</samp> or <samp class="file">.gz</samp>, Dvips
+automatically runs &lsquo;<samp class="samp">gzip -d</samp>&rsquo;. For example:
</p>
<div class="example">
-<pre class="example">\epsffile[72 72 540 720]{foo.ps.gz}
+<pre class="example-preformatted">\epsffile[72 72 540 720]{foo.ps.gz}
</pre></div>
<p>Since the results of such a command are not accessible to TeX, if you
-use this facility with the <samp>epsf</samp> macros, you need to supply the
+use this facility with the <samp class="file">epsf</samp> macros, you need to supply the
bounding box parameter yourself, as shown.
</p>
<p>More generally, if the filename parameter to one of the graphics
-inclusion techniques starts with a left quote (&lsquo;<samp>`</samp>&rsquo;), the parameter
+inclusion techniques starts with a left quote (&lsquo;<samp class="samp">`</samp>&rsquo;), the parameter
is instead interpreted as a command to execute that will send the actual
file to standard output. For example:
</p>
<div class="example">
-<pre class="example">\special{psfile=&quot;`gnuplot foo&quot;}
+<pre class="example-preformatted">\special{psfile=&quot;`gnuplot foo&quot;}
</pre></div>
-<p><span id="index-gnuplot"></span>
-to include the file <samp>foo</samp>. Of course, the command to be executed
+<a class="index-entry-id" id="index-gnuplot"></a>
+<p>to include the file <samp class="file">foo</samp>. Of course, the command to be executed
can be anything, including using a file conversion utility such as
-<samp>tek2ps</samp> or whatever is appropriate. This feature can be disabled
-with the &lsquo;<samp>-R</samp>&rsquo; command-line option or &lsquo;<samp>R</samp>&rsquo; configuration option.
+<samp class="file">tek2ps</samp> or whatever is appropriate. This feature can be disabled
+with the &lsquo;<samp class="samp">-R</samp>&rsquo; command-line option or &lsquo;<samp class="samp">R</samp>&rsquo; configuration option.
</p>
<hr>
</div>
-<div class="subsection" id="Fonts-in-figures">
-<div class="header">
+<div class="subsection-level-extent" id="Fonts-in-figures">
+<div class="nav-panel">
<p>
Previous: <a href="#Dynamic-creation-of-graphics" accesskey="p" rel="prev">Dynamic creation of PostScript graphics files</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Fonts-in-figures-1"></span><h4 class="subsection">5.1.6 Fonts in figures</h4>
+<h4 class="subsection" id="Fonts-in-figures-1">5.1.6 Fonts in figures</h4>
-<span id="index-figures-and-fonts"></span>
-<span id="index-fonts_002c-in-PostScript-figures"></span>
-<span id="index-_0025_002aFont"></span>
+<a class="index-entry-id" id="index-figures-and-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-in-PostScript-figures"></a>
+<a class="index-entry-id" id="index-_0025_002aFont"></a>
<p>You can use any font available to TeX and Dvips within a graphics
-file by putting a <code>%*Font:</code> line in the leading commentary of the
+file by putting a <code class="code">%*Font:</code> line in the leading commentary of the
file. Schematically, this looks like:
</p>
<div class="example">
-<pre class="example">%*Font: <var>tfmname</var> <var>scaledbp</var> <var>designbp</var> <var>hex-start</var>:<var>hex-bitstring</var>
+<pre class="example-preformatted">%*Font: <var class="var">tfmname</var> <var class="var">scaledbp</var> <var class="var">designbp</var> <var class="var">hex-start</var>:<var class="var">hex-bitstring</var>
</pre></div>
<p>Here is the meaning of each of these elements:
</p>
-<dl compact="compact">
-<dt><span><var>tfmname</var></span></dt>
-<dd><p>The TeX TFM filename, e.g., <samp>cmr10</samp>. You can give the same
-<var>tfmname</var> on more than one &lsquo;<samp>%*Font</samp>&rsquo; line; this is useful when
+<dl class="table">
+<dt><var class="var">tfmname</var></dt>
+<dd><p>The TeX TFM filename, e.g., <samp class="file">cmr10</samp>. You can give the same
+<var class="var">tfmname</var> on more than one &lsquo;<samp class="samp">%*Font</samp>&rsquo; line; this is useful when
the number of characters from the font used needs a longer
-<var>hex-bitstring</var> (see item below) than conveniently fits on one line.
+<var class="var">hex-bitstring</var> (see item below) than conveniently fits on one line.
</p>
</dd>
-<dt><span><var>scaledbp</var></span></dt>
+<dt><var class="var">scaledbp</var></dt>
<dd><p>The size at which you are using the font, in PostScript points (TeX
-big points). 72bp = 72.27pt = 1in.
+big points). 72<span class="dmn">bp</span> = 72.27<span class="dmn">pt</span> = 1<span class="dmn">in</span>.
</p>
</dd>
-<dt><span><var>designbp</var></span></dt>
+<dt><var class="var">designbp</var></dt>
<dd><p>The designsize of the font, again in PostScript points. This should
-match the value in the TFM file <var>tfmname</var>. Thus, for <samp>cmr10</samp>,
-it should be &lsquo;<samp>9.96265</samp>&rsquo;.
+match the value in the TFM file <var class="var">tfmname</var>. Thus, for <samp class="file">cmr10</samp>,
+it should be &lsquo;<samp class="samp">9.96265</samp>&rsquo;.
</p>
</dd>
-<dt><span><var>hex-start</var></span></dt>
+<dt><var class="var">hex-start</var></dt>
<dd><p>The character code of the first character used from the font, specified
-as two ASCII hexadecimal characters, e.g., &lsquo;<samp>4b</samp>&rsquo; or &lsquo;<samp>4B</samp>&rsquo; for
-&lsquo;<samp>K</samp>&rsquo;.
+as two ASCII hexadecimal characters, e.g., &lsquo;<samp class="samp">4b</samp>&rsquo; or &lsquo;<samp class="samp">4B</samp>&rsquo; for
+&lsquo;<samp class="samp">K</samp>&rsquo;.
</p>
</dd>
-<dt><span><var>hex-bitstring</var></span></dt>
+<dt><var class="var">hex-bitstring</var></dt>
<dd><p>An arbitrary number of ASCII hexadecimal digits specifying which
-characters following (and including) <var>hex-start</var> are used. This is
+characters following (and including) <var class="var">hex-start</var> are used. This is
treated as a bitmap. For example, if your figure used the single letter
-&lsquo;<samp>K</samp>&rsquo;, you would use &lsquo;<samp>4b:8</samp>&rsquo; for <var>hex-start</var> and
-<var>hex-bitstring</var>. If it used &lsquo;<samp>KLMNP</samp>&rsquo;, you would use
-&lsquo;<samp>4b:f4</samp>&rsquo;.
+&lsquo;<samp class="samp">K</samp>&rsquo;, you would use &lsquo;<samp class="samp">4b:8</samp>&rsquo; for <var class="var">hex-start</var> and
+<var class="var">hex-bitstring</var>. If it used &lsquo;<samp class="samp">KLMNP</samp>&rsquo;, you would use
+&lsquo;<samp class="samp">4b:f4</samp>&rsquo;.
</p>
</dd>
</dl>
<p>MetaPost&rsquo;s output figures contain lines like this for bitmap fonts used
-in a MetaPost label (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#MetaPost">MetaPost</a> in <cite>Web2c</cite>).
+in a MetaPost label (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#MetaPost">MetaPost</a> in <cite class="cite">Web2c</cite>).
</p>
<hr>
</div>
</div>
-<div class="section" id="Header-files">
-<div class="header">
+<div class="section-level-extent" id="Header-files">
+<div class="nav-panel">
<p>
Next: <a href="#Literal-PS" accesskey="n" rel="next">Literal PostScript</a>, Previous: <a href="#PostScript-figures" accesskey="p" rel="prev">PostScript figures</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="PostScript-header-files"></span><h3 class="section">5.2 PostScript header files</h3>
+<h3 class="section" id="PostScript-header-files">5.2 PostScript header files</h3>
-<span id="index-header-files_002c-defined"></span>
-<span id="index-PostScript-header-files"></span>
+<a class="index-entry-id" id="index-header-files_002c-defined"></a>
+<a class="index-entry-id" id="index-PostScript-header-files"></a>
-<p><em>Header files</em> are bits of PostScript included in the output file;
+<p><em class="dfn">Header files</em> are bits of PostScript included in the output file;
generally they provide support for special features, rather than
producing any printed output themselves. You can explicitly request
downloading header files if necessary for some figure, or to achieve
some special effect.
</p>
-<span id="index-psheaderdir"></span>
-<span id="index-_002epro-prologue-files"></span>
-<span id="index-_002elpro-long-prologue-files"></span>
+<a class="index-entry-id" id="index-psheaderdir"></a>
+<a class="index-entry-id" id="index-_002epro-prologue-files"></a>
+<a class="index-entry-id" id="index-_002elpro-long-prologue-files"></a>
<p>Dvips includes some headers on its own initiative, to implement features
such as PostScript font reencoding, bitmap font downloading, handling of
-<code>\special</code>&rsquo;s, and so on. These standard headers are the
-<samp>.pro</samp> files (for &ldquo;prologue&rdquo;) in the installation directory
-&lsquo;<samp>$(psheaderdir)</samp>&rsquo;; they are created from the <samp>.lpro</samp> (&ldquo;long
+<code class="code">\special</code>&rsquo;s, and so on. These standard headers are the
+<samp class="file">.pro</samp> files (for &ldquo;prologue&rdquo;) in the installation directory
+&lsquo;<samp class="samp">$(psheaderdir)</samp>&rsquo;; they are created from the <samp class="file">.lpro</samp> (&ldquo;long
prologue&rdquo;) files in the distribution by stripping
comments, squeezing blank lines, etc., for maximum efficiency. If you
-want to peruse one of the standard header files, read the <samp>.lpro</samp>
+want to peruse one of the standard header files, read the <samp class="file">.lpro</samp>
version.
</p>
-<span id="index-userdict_002c-and-dictionary-files"></span>
-<span id="index-dictionary_002c-userdict"></span>
-<p>The PostScript dictionary stack will be at the &lsquo;<samp>userdict</samp>&rsquo; level
+<a class="index-entry-id" id="index-userdict_002c-and-dictionary-files"></a>
+<a class="index-entry-id" id="index-dictionary_002c-userdict"></a>
+<p>The PostScript dictionary stack will be at the &lsquo;<samp class="samp">userdict</samp>&rsquo; level
when header files are included.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Including-headers-from-TeX" accesskey="1">Including headers from TeX</a></li>
<li><a href="#Including-headers-from-the-command-line" accesskey="2">Including headers from the command line</a></li>
<li><a href="#Headers-and-memory-usage" accesskey="3">Headers and memory usage</a></li>
</ul>
<hr>
-<div class="subsection" id="Including-headers-from-TeX">
-<div class="header">
+<div class="subsection-level-extent" id="Including-headers-from-TeX">
+<div class="nav-panel">
<p>
Next: <a href="#Including-headers-from-the-command-line" accesskey="n" rel="next">Including headers from the command line</a>, Up: <a href="#Header-files" accesskey="u" rel="up">PostScript header files</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Including-headers-from-TeX-1"></span><h4 class="subsection">5.2.1 Including headers from TeX</h4>
+<h4 class="subsection" id="Including-headers-from-TeX-1">5.2.1 Including headers from TeX</h4>
-<span id="index-including-headers-in-TeX"></span>
-<span id="index-header_003dfile-_005cspecial"></span>
-<span id="index-TeX_002c-including-headers-in"></span>
+<a class="index-entry-id" id="index-including-headers-in-TeX"></a>
+<a class="index-entry-id" id="index-header_003dfile-_005cspecial"></a>
+<a class="index-entry-id" id="index-TeX_002c-including-headers-in"></a>
-<span id="index-headers_002c-including-in-TeX"></span>
+<a class="index-entry-id" id="index-headers_002c-including-in-TeX"></a>
<p>In order to get a particular graphic file to work, a certain font or
header file might need to be sent first. The Dvips program provides
-support for this with the &lsquo;<samp>header</samp>&rsquo; <code>\special</code>. For instance,
-to ensure that <samp>foo.ps</samp> gets downloaded:
+support for this with the &lsquo;<samp class="samp">header</samp>&rsquo; <code class="code">\special</code>. For instance,
+to ensure that <samp class="file">foo.ps</samp> gets downloaded:
</p>
<div class="example">
-<pre class="example">\special{header=foo.ps}
+<pre class="example-preformatted">\special{header=foo.ps}
</pre></div>
-<span id="index-fonts_002c-as-header-files"></span>
+<a class="index-entry-id" id="index-fonts_002c-as-header-files"></a>
<p>As another example, if you have some PostScript code that uses a
PostScript font not built into your printer, you must download it to the
printer. If the font isn&rsquo;t used elsewhere in the document, Dvips can&rsquo;t
know you&rsquo;ve used it, so you must include it in the same way, as in:
</p>
<div class="example">
-<pre class="example">\special{header=putr.pfa}
+<pre class="example-preformatted">\special{header=putr.pfa}
</pre></div>
<p>to include the font definition file for Adobe Utopia Roman.
</p>
-<p>The <code>header</code> also special allows for specifying some additional
+<p>The <code class="code">header</code> also special allows for specifying some additional
code that should be inserted into the PostScript document before and after
the file itself, as follows:
</p>
<div class="example">
-<pre class="example">\special{header={foo.ps} pre={pre code} post={post code}}
+<pre class="example-preformatted">\special{header={foo.ps} pre={pre code} post={post code}}
</pre></div>
-<span id="index-before-header_002c-inserting-code"></span>
-<span id="index-after-header_002c-inserting-code"></span>
-<span id="index-pre-code-before-headers"></span>
-<span id="index-post-code-after-headers"></span>
-<p>This will insert <code>pre code</code> just before <samp>foo.ps</samp> and
-<code>post code</code> just after. It is required to use the (balanced)
-braces in <em>all</em> of the arguments, including the <code>header</code>,
+<a class="index-entry-id" id="index-before-header_002c-inserting-code"></a>
+<a class="index-entry-id" id="index-after-header_002c-inserting-code"></a>
+<a class="index-entry-id" id="index-pre-code-before-headers"></a>
+<a class="index-entry-id" id="index-post-code-after-headers"></a>
+<p>This will insert <code class="code">pre code</code> just before <samp class="file">foo.ps</samp> and
+<code class="code">post code</code> just after. It is required to use the (balanced)
+braces in <em class="emph">all</em> of the arguments, including the <code class="code">header</code>,
when using this extended syntax.
</p>
<p>This allows, for instance, dynamic headers, where some of the content
@@ -3025,125 +3023,125 @@ depends on settings from the user in (La)TeX. Another application
is the inclusion of graphics inside the PostScript header, so that
they can be reused throughout the document, as with logs. That avoids
including the same graphic several times. This is implemented in the
-<samp>graphics/graphicx-psmin</samp> package.
+<samp class="file">graphics/graphicx-psmin</samp> package.
</p>
<p>This extended syntax has one additional feature. When Dvips finds the
-extended syntax, it will also look in the installed <samp>tex/</samp>
-tree(s) for the header file (<samp>foo.ps</samp> in our example), and not
+extended syntax, it will also look in the installed <samp class="file">tex/</samp>
+tree(s) for the header file (<samp class="file">foo.ps</samp> in our example), and not
only in the current directory and dvips tree as the original syntax
does. This is because common graphics may well come with packages
-which are installed in the <samp>tex/</samp> tree.
+which are installed in the <samp class="file">tex/</samp> tree.
</p>
<hr>
</div>
-<div class="subsection" id="Including-headers-from-the-command-line">
-<div class="header">
+<div class="subsection-level-extent" id="Including-headers-from-the-command-line">
+<div class="nav-panel">
<p>
Next: <a href="#Headers-and-memory-usage" accesskey="n" rel="next">Headers and memory usage</a>, Previous: <a href="#Including-headers-from-TeX" accesskey="p" rel="prev">Including headers from TeX</a>, Up: <a href="#Header-files" accesskey="u" rel="up">PostScript header files</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Including-headers-from-the-command-line-1"></span><h4 class="subsection">5.2.2 Including headers from the command line</h4>
+<h4 class="subsection" id="Including-headers-from-the-command-line-1">5.2.2 Including headers from the command line</h4>
-<span id="index-including-headers-from-the-command-line"></span>
-<span id="index-command-line_002c-including-headers-from"></span>
-<span id="index-headers_002c-including-from-the-command-line"></span>
+<a class="index-entry-id" id="index-including-headers-from-the-command-line"></a>
+<a class="index-entry-id" id="index-command-line_002c-including-headers-from"></a>
+<a class="index-entry-id" id="index-headers_002c-including-from-the-command-line"></a>
<p>You can include headers when you run Dvips, as well as from your
document (see the previous section). To do this, run Dvips with the
-option &lsquo;<samp>-P <var>header</var></samp>&rsquo;; this will read the file
-<samp>config.<var>header</var></samp>, which in turn can specify a header file to
-be downloaded with the &lsquo;<samp>h</samp>&rsquo; option. See <a href="#Configuration-file-commands">Configuration file commands</a>. These files are called <samp><var>header</var>.cfg</samp> on MS-DOS.
-</p>
-<span id="index-duplex-printers"></span>
-<span id="index-simplex-mode-on-duplex-printers"></span>
-<span id="index-screen-frequencies_002c-setting"></span>
-<p>You can arrange for the same file to serve as a &lsquo;<samp>-P</samp>&rsquo; config file
+option &lsquo;<samp class="samp">-P <var class="var">header</var></samp>&rsquo;; this will read the file
+<samp class="file">config.<var class="var">header</var></samp>, which in turn can specify a header file to
+be downloaded with the &lsquo;<samp class="samp">h</samp>&rsquo; option. See <a class="xref" href="#Configuration-file-commands">Configuration file commands</a>. These files are called <samp class="file"><var class="var">header</var>.cfg</samp> on MS-DOS.
+</p>
+<a class="index-entry-id" id="index-duplex-printers"></a>
+<a class="index-entry-id" id="index-simplex-mode-on-duplex-printers"></a>
+<a class="index-entry-id" id="index-screen-frequencies_002c-setting"></a>
+<p>You can arrange for the same file to serve as a &lsquo;<samp class="samp">-P</samp>&rsquo; config file
and the downloadable header file, by starting the lines of PostScript
-code with a space, leaving only the &lsquo;<samp>h</samp>&rsquo; line and any comments
+code with a space, leaving only the &lsquo;<samp class="samp">h</samp>&rsquo; line and any comments
starting in the first column. As an example, see
-<samp>contrib/volker/config.*</samp> (<samp>contrib/volker/*.cfg</samp> on MS-DOS).
+<samp class="file">contrib/volker/config.*</samp> (<samp class="file">contrib/volker/*.cfg</samp> on MS-DOS).
(These files also perform useful functions: controlling duplex/simplex
mode on duplex printers, and setting various screen frequencies;
-<samp>contrib/volker/README</samp> explains further.)
+<samp class="file">contrib/volker/README</samp> explains further.)
</p>
<hr>
</div>
-<div class="subsection" id="Headers-and-memory-usage">
-<div class="header">
+<div class="subsection-level-extent" id="Headers-and-memory-usage">
+<div class="nav-panel">
<p>
Previous: <a href="#Including-headers-from-the-command-line" accesskey="p" rel="prev">Including headers from the command line</a>, Up: <a href="#Header-files" accesskey="u" rel="up">PostScript header files</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Headers-and-memory-usage-1"></span><h4 class="subsection">5.2.3 Headers and memory usage</h4>
+<h4 class="subsection" id="Headers-and-memory-usage-1">5.2.3 Headers and memory usage</h4>
-<span id="index-headers-and-memory-usage"></span>
-<span id="index-memory-usage_002c-and-headers"></span>
+<a class="index-entry-id" id="index-headers-and-memory-usage"></a>
+<a class="index-entry-id" id="index-memory-usage_002c-and-headers"></a>
-<span id="index-sections-of-output-file_002c-and-memory"></span>
-<span id="index-output-file_002c-sectioning-of"></span>
+<a class="index-entry-id" id="index-sections-of-output-file_002c-and-memory"></a>
+<a class="index-entry-id" id="index-output-file_002c-sectioning-of"></a>
<p>Dvips tries to avoid overflowing the printer&rsquo;s memory by splitting the
-output files into &ldquo;sections&rdquo; (see the &lsquo;<samp>-i</samp>&rsquo; option in <a href="#Option-details">Option details</a>). Therefore, for all header files, Dvips debits the printer VM
+output files into &ldquo;sections&rdquo; (see the &lsquo;<samp class="samp">-i</samp>&rsquo; option in <a class="ref" href="#Option-details">Option details</a>). Therefore, for all header files, Dvips debits the printer VM
budget by some value. If the header file has, in its leading
commentary a line of the form
</p>
-<span id="index-VMusage"></span>
-<span id="index-_0025_0025VMusage"></span>
+<a class="index-entry-id" id="index-VMusage"></a>
+<a class="index-entry-id" id="index-_0025_0025VMusage"></a>
<div class="example">
-<pre class="example">%%VMusage: <var>min</var> <var>max</var>
+<pre class="example-preformatted">%%VMusage: <var class="var">min</var> <var class="var">max</var>
</pre></div>
-<p>then <var>max</var> is used. If there is no <code>%%VMusage</code> line, then
+<p>then <var class="var">max</var> is used. If there is no <code class="code">%%VMusage</code> line, then
the size (in bytes) of the header file is used as an approximation.
If you want a file to be ignored in the sectioning calculations, use
-&lsquo;<samp>%%VMusage: 0 0</samp>&rsquo;.
+&lsquo;<samp class="samp">%%VMusage: 0 0</samp>&rsquo;.
</p>
-<p>Illustrations (figure files) are also checked for <code>%%VMusage</code> line.
+<p>Illustrations (figure files) are also checked for <code class="code">%%VMusage</code> line.
</p>
<p>Therefore, if your document uses very large fonts or very large
included figures, Dvips might take it upon itself to split the output
into unwanted sections. If this causes problems, the simplest
-solution is to use &lsquo;<samp>dvips -Pmaxmem</samp>&rsquo;, which reads the Dvips file
-<samp>config.maxmem</samp>, which sets Dvips&rsquo;s idea of the memory available
-to a very large number. (See the &lsquo;<samp>m</samp>&rsquo; item in <a href="#Configuration-file-commands">Configuration file commands</a>.)
+solution is to use &lsquo;<samp class="samp">dvips -Pmaxmem</samp>&rsquo;, which reads the Dvips file
+<samp class="file">config.maxmem</samp>, which sets Dvips&rsquo;s idea of the memory available
+to a very large number. (See the &lsquo;<samp class="samp">m</samp>&rsquo; item in <a class="ref" href="#Configuration-file-commands">Configuration file commands</a>.)
</p>
<hr>
</div>
</div>
-<div class="section" id="Literal-PS">
-<div class="header">
+<div class="section-level-extent" id="Literal-PS">
+<div class="nav-panel">
<p>
Next: <a href="#Hypertext" accesskey="n" rel="next">HyperTeXt</a>, Previous: <a href="#Header-files" accesskey="p" rel="prev">PostScript header files</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Literal-PostScript"></span><h3 class="section">5.3 Literal PostScript</h3>
+<h3 class="section" id="Literal-PostScript">5.3 Literal PostScript</h3>
-<span id="index-literal-PostScript_002c-using"></span>
-<span id="index-PostScript-code_002c-literal"></span>
+<a class="index-entry-id" id="index-literal-PostScript_002c-using"></a>
+<a class="index-entry-id" id="index-PostScript-code_002c-literal"></a>
<p>You can include literal PostScript code in your document in several ways.
</p>
-<ul class="section-toc">
-<li><a href="#g_t_0022-special" accesskey="1"><code>&quot;</code> special: Literal PostScript</a></li>
-<li><a href="#ps-special" accesskey="2">&lsquo;<samp>ps</samp>&rsquo; special</a></li>
-<li><a href="#Literal-headers" accesskey="3">Literal headers: &lsquo;<samp>!</samp>&rsquo; <code>\special</code></a></li>
+<ul class="mini-toc">
+<li><a href="#g_t_0022-special" accesskey="1"><code class="code">&quot;</code> special: Literal PostScript</a></li>
+<li><a href="#ps-special" accesskey="2">&lsquo;<samp class="samp">ps</samp>&rsquo; special</a></li>
+<li><a href="#Literal-headers" accesskey="3">Literal headers: &lsquo;<samp class="samp">!</samp>&rsquo; <code class="code">\special</code></a></li>
<li><a href="#PostScript-hooks" accesskey="4">PostScript hooks</a></li>
<li><a href="#Literal-examples" accesskey="5">Literal examples</a></li>
</ul>
<hr>
-<div class="subsection" id="g_t_0022-special">
-<div class="header">
+<div class="subsection-level-extent" id="g_t_0022-special">
+<div class="nav-panel">
<p>
-Next: <a href="#ps-special" accesskey="n" rel="next">&lsquo;<samp>ps</samp>&rsquo; special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#ps-special" accesskey="n" rel="next">&lsquo;<samp class="samp">ps</samp>&rsquo; special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="g_t_0022-special_003a-Literal-PostScript"></span><h4 class="subsection">5.3.1 <code>&quot;</code> special: Literal PostScript</h4>
+<h4 class="subsection" id="g_t_0022-special_003a-Literal-PostScript">5.3.1 <code class="code">&quot;</code> special: Literal PostScript</h4>
-<span id="index-_0022-special-_0028literal-PostScript_0029"></span>
+<a class="index-entry-id" id="index-_0022-special-_0028literal-PostScript_0029"></a>
<p>For simple graphics, or just for experimentation, literal PostScript
-code can be included. Simply use a <code>\special</code> beginning with a
-double quote character &lsquo;<samp>&quot;</samp>&rsquo;; there is no matching closing &lsquo;<samp>&quot;</samp>&rsquo;.
+code can be included. Simply use a <code class="code">\special</code> beginning with a
+double quote character &lsquo;<samp class="samp">&quot;</samp>&rsquo;; there is no matching closing &lsquo;<samp class="samp">&quot;</samp>&rsquo;.
</p>
<p>For instance, the following (simple) graphic:
</p>
@@ -3151,30 +3149,30 @@ double quote character &lsquo;<samp>&quot;</samp>&rsquo;; there is no matching c
<p>was created by typing:
</p>
<div class="example">
-<pre class="example">\vbox to 100bp{\vss % a bp is the same as a PostScript unit
+<pre class="example-preformatted">\vbox to 100bp{\vss % a bp is the same as a PostScript unit
\special{&quot; newpath 0 0 moveto 100 100 lineto 394 0 lineto
closepath gsave 0.8 setgray fill grestore stroke}}
</pre></div>
<p>You are responsible for leaving space for such literal graphics, as with
-the <code>\vbox</code> above.
+the <code class="code">\vbox</code> above.
</p>
<hr>
</div>
-<div class="subsection" id="ps-special">
-<div class="header">
+<div class="subsection-level-extent" id="ps-special">
+<div class="nav-panel">
<p>
-Next: <a href="#Literal-headers" accesskey="n" rel="next">Literal headers: &lsquo;<samp>!</samp>&rsquo; <code>\special</code></a>, Previous: <a href="#g_t_0022-special" accesskey="p" rel="prev"><code>&quot;</code> special: Literal PostScript</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Literal-headers" accesskey="n" rel="next">Literal headers: &lsquo;<samp class="samp">!</samp>&rsquo; <code class="code">\special</code></a>, Previous: <a href="#g_t_0022-special" accesskey="p" rel="prev"><code class="code">&quot;</code> special: Literal PostScript</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="ps-special-1"></span><h4 class="subsection">5.3.2 &lsquo;<samp>ps</samp>&rsquo; special</h4>
+<h4 class="subsection" id="ps-special-1">5.3.2 &lsquo;<samp class="samp">ps</samp>&rsquo; special</h4>
-<span id="index-ps-special"></span>
+<a class="index-entry-id" id="index-ps-special"></a>
-<span id="index-save_002frestore_002c-and-specials"></span>
+<a class="index-entry-id" id="index-save_002frestore_002c-and-specials"></a>
<p>Generally, Dvips encloses specials in a PostScript save/restore pair,
guaranteeing that the special will have no effect on the rest of the
-document. The &lsquo;<samp>ps</samp>&rsquo; special, however, allows you to insert literal
+document. The &lsquo;<samp class="samp">ps</samp>&rsquo; special, however, allows you to insert literal
PostScript instructions without this protective shield; you should
understand what you&rsquo;re doing (and you shouldn&rsquo;t change the PostScript
graphics state unless you are willing to take the consequences). This
@@ -3182,96 +3180,96 @@ command can take many forms because it has had a torturous history; any
of the following will work:
</p>
<div class="example">
-<pre class="example">\special{ps:<var>text</var>}
-\special{ps::<var>text</var>}
-\special{ps::[begin]<var>text</var>}
-\special{ps::[end]<var>text</var>}
-\special{ps::[nobreak]<var>text</var>}
+<pre class="example-preformatted">\special{ps:<var class="var">text</var>}
+\special{ps::<var class="var">text</var>}
+\special{ps::[begin]<var class="var">text</var>}
+\special{ps::[end]<var class="var">text</var>}
+\special{ps::[nobreak]<var class="var">text</var>}
</pre></div>
<p>(with longer forms taking precedence over shorter forms, when they are
-present). &lsquo;<samp>ps::</samp>&rsquo; and &lsquo;<samp>ps::[end]</samp>&rsquo; do no positioning, so they
-can be used to continue PostScript literals started with &lsquo;<samp>ps:</samp>&rsquo; or
-&lsquo;<samp>ps::[begin]</samp>&rsquo;.
+present). &lsquo;<samp class="samp">ps::</samp>&rsquo; and &lsquo;<samp class="samp">ps::[end]</samp>&rsquo; do no positioning, so they
+can be used to continue PostScript literals started with &lsquo;<samp class="samp">ps:</samp>&rsquo; or
+&lsquo;<samp class="samp">ps::[begin]</samp>&rsquo;.
</p>
-<p>Literal PostScript instructions after &lsquo;<samp>ps::[nobreak]</samp>&rsquo; are
-<em>not</em> broken into lines. This feature may be used to include
+<p>Literal PostScript instructions after &lsquo;<samp class="samp">ps::[nobreak]</samp>&rsquo; are
+<em class="emph">not</em> broken into lines. This feature may be used to include
PostScript comments, for example.
</p>
-<span id="index-plotfile_002c-ps-subspecial"></span>
+<a class="index-entry-id" id="index-plotfile_002c-ps-subspecial"></a>
<p>In addition, the variant
</p>
<div class="example">
-<pre class="example">\special{ps: plotfile <var>filename</var>}
+<pre class="example-preformatted">\special{ps: plotfile <var class="var">filename</var>}
</pre></div>
-<p><span id="index-rotate_002etex"></span>
-inserts the contents of <var>filename</var> verbatim into the output (except
+<a class="index-entry-id" id="index-rotate_002etex"></a>
+<p>inserts the contents of <var class="var">filename</var> verbatim into the output (except
for omitting lines that begin with %). An example of the proper use of
-literal specials can be found in the file <samp>rotate.tex</samp>, which makes
+literal specials can be found in the file <samp class="file">rotate.tex</samp>, which makes
it easy to typeset text turned in multiples of 90 degrees.
</p>
<hr>
</div>
-<div class="subsection" id="Literal-headers">
-<div class="header">
+<div class="subsection-level-extent" id="Literal-headers">
+<div class="nav-panel">
<p>
-Next: <a href="#PostScript-hooks" accesskey="n" rel="next">PostScript hooks</a>, Previous: <a href="#ps-special" accesskey="p" rel="prev">&lsquo;<samp>ps</samp>&rsquo; special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#PostScript-hooks" accesskey="n" rel="next">PostScript hooks</a>, Previous: <a href="#ps-special" accesskey="p" rel="prev">&lsquo;<samp class="samp">ps</samp>&rsquo; special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Literal-headers_003a-_0021-_005cspecial"></span><h4 class="subsection">5.3.3 Literal headers: &lsquo;<samp>!</samp>&rsquo; <code>\special</code></h4>
+<h4 class="subsection" id="Literal-headers_003a-_0021-_005cspecial">5.3.3 Literal headers: &lsquo;<samp class="samp">!</samp>&rsquo; <code class="code">\special</code></h4>
-<span id="index-literal-headers"></span>
-<span id="index-SDict-dictionary"></span>
+<a class="index-entry-id" id="index-literal-headers"></a>
+<a class="index-entry-id" id="index-SDict-dictionary"></a>
-<span id="index-_0021-special-_0028literal-PS-header_0029"></span>
-<span id="index-dictionary_002c-SDict"></span>
+<a class="index-entry-id" id="index-_0021-special-_0028literal-PS-header_0029"></a>
+<a class="index-entry-id" id="index-dictionary_002c-SDict"></a>
<p>You can download literal PostScript header code in your TeX document,
for use with (for example) literal graphics code that you include later.
-The text of a <code>\special</code> beginning with an &lsquo;<samp>!</samp>&rsquo; is copied into
-the output file. A dictionary <code>SDict</code> will be current when this
-code is executed; Dvips arranges for <code>SDict</code> to be first on the
+The text of a <code class="code">\special</code> beginning with an &lsquo;<samp class="samp">!</samp>&rsquo; is copied into
+the output file. A dictionary <code class="code">SDict</code> will be current when this
+code is executed; Dvips arranges for <code class="code">SDict</code> to be first on the
dictionary stack when any PostScript graphic is included, whether
-literally (the &lsquo;<samp>&quot;</samp>&rsquo; special) or through macros (e.g.,
-<samp>epsf.tex</samp>).
+literally (the &lsquo;<samp class="samp">&quot;</samp>&rsquo; special) or through macros (e.g.,
+<samp class="file">epsf.tex</samp>).
</p>
<p>For example:
</p>
<div class="example">
-<pre class="example">\special{! /reset { 0 0 moveto} def}
+<pre class="example-preformatted">\special{! /reset { 0 0 moveto} def}
</pre></div>
<hr>
</div>
-<div class="subsection" id="PostScript-hooks">
-<div class="header">
+<div class="subsection-level-extent" id="PostScript-hooks">
+<div class="nav-panel">
<p>
-Next: <a href="#Literal-examples" accesskey="n" rel="next">Literal examples</a>, Previous: <a href="#Literal-headers" accesskey="p" rel="prev">Literal headers: &lsquo;<samp>!</samp>&rsquo; <code>\special</code></a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Literal-examples" accesskey="n" rel="next">Literal examples</a>, Previous: <a href="#Literal-headers" accesskey="p" rel="prev">Literal headers: &lsquo;<samp class="samp">!</samp>&rsquo; <code class="code">\special</code></a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="PostScript-hooks-1"></span><h4 class="subsection">5.3.4 PostScript hooks</h4>
+<h4 class="subsection" id="PostScript-hooks-1">5.3.4 PostScript hooks</h4>
-<span id="index-PostScript-hooks"></span>
+<a class="index-entry-id" id="index-PostScript-hooks"></a>
<p>Besides including literal PostScript at a particular place in your
document (as described in the previous section), you can also arrange to
execute arbitrary PostScript code at particular times while the
PostScript is printing.
</p>
-<span id="index-bop_002dhook-2"></span>
-<span id="index-eop_002dhook"></span>
-<span id="index-start_002dhook"></span>
-<span id="index-end_002dhook"></span>
-<p>If any of the PostScript names <code>bop-hook</code>, <code>eop-hook</code>,
-<code>start-hook</code>, or <code>end-hook</code> are defined in <code>userdict</code>,
+<a class="index-entry-id" id="index-bop_002dhook-2"></a>
+<a class="index-entry-id" id="index-eop_002dhook"></a>
+<a class="index-entry-id" id="index-start_002dhook"></a>
+<a class="index-entry-id" id="index-end_002dhook"></a>
+<p>If any of the PostScript names <code class="code">bop-hook</code>, <code class="code">eop-hook</code>,
+<code class="code">start-hook</code>, or <code class="code">end-hook</code> are defined in <code class="code">userdict</code>,
they will be executed at the beginning of a page, end of a page, start
of the document, and end of a document, respectively.
</p>
-<span id="index-draft-copies"></span>
-<span id="index-dated-output"></span>
+<a class="index-entry-id" id="index-draft-copies"></a>
+<a class="index-entry-id" id="index-dated-output"></a>
<p>When these macros are executed, the default PostScript coordinate system
and origin is in effect. Such macros can be defined in headers added by
-the &lsquo;<samp>-h</samp>&rsquo; option or the &lsquo;<samp>header=</samp>&rsquo; special, and might be useful
+the &lsquo;<samp class="samp">-h</samp>&rsquo; option or the &lsquo;<samp class="samp">header=</samp>&rsquo; special, and might be useful
for writing, for instance, &lsquo;DRAFT&rsquo; across the entire page, or, with the
aid of a shell script, dating the document. These macros are executed
outside of the save/restore context of the individual pages, so it is
@@ -3279,46 +3277,46 @@ possible for them to accumulate information, but if a document must be
divided into sections because of memory constraints, such added
information will be lost across section breaks.
</p>
-<span id="index-physical-page-number_002c-and-bop_002dhook"></span>
-<p>The single argument to <code>bop-hook</code> is the physical page number; the
-first page gets zero, the second one, etc. <code>bop-hook</code> must leave
+<a class="index-entry-id" id="index-physical-page-number_002c-and-bop_002dhook"></a>
+<p>The single argument to <code class="code">bop-hook</code> is the physical page number; the
+first page gets zero, the second one, etc. <code class="code">bop-hook</code> must leave
this number on the stack. None of the other hooks are passed arguments.
</p>
<p>As an example of what can be done, the following special will write
a light grey &lsquo;DRAFT&rsquo; across each page in the document:
</p>
<div class="example">
-<pre class="example">\special{!userdict begin /bop-hook{gsave 200 30 translate
+<pre class="example-preformatted">\special{!userdict begin /bop-hook{gsave 200 30 translate
65 rotate /Times-Roman findfont 216 scalefont setfont
0 0 moveto 0.7 setgray (DRAFT) show grestore}def end}
</pre></div>
-<span id="index-_0025_0025Page_002c-and-multi_002dpage-information"></span>
-<p>Using <code>bop-hook</code> or <code>eop-hook</code> to preserve information across
+<a class="index-entry-id" id="index-_0025_0025Page_002c-and-multi_002dpage-information"></a>
+<p>Using <code class="code">bop-hook</code> or <code class="code">eop-hook</code> to preserve information across
pages breaks compliance with the Adobe document structuring conventions,
-so if you use any such tricks, you may also want to use the &lsquo;<samp>-N</samp>&rsquo;
-option to turn off structured comments (such as &lsquo;<samp>%%Page</samp>&rsquo;).
+so if you use any such tricks, you may also want to use the &lsquo;<samp class="samp">-N</samp>&rsquo;
+option to turn off structured comments (such as &lsquo;<samp class="samp">%%Page</samp>&rsquo;).
Otherwise, programs that read your file will assume its pages are
independent.
</p>
<hr>
</div>
-<div class="subsection" id="Literal-examples">
-<div class="header">
+<div class="subsection-level-extent" id="Literal-examples">
+<div class="nav-panel">
<p>
Previous: <a href="#PostScript-hooks" accesskey="p" rel="prev">PostScript hooks</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Literal-examples-1"></span><h4 class="subsection">5.3.5 Literal examples</h4>
+<h4 class="subsection" id="Literal-examples-1">5.3.5 Literal examples</h4>
-<span id="index-literal-PostScript_002c-examples"></span>
-<span id="index-examples-of-literal-PostScript"></span>
+<a class="index-entry-id" id="index-literal-PostScript_002c-examples"></a>
+<a class="index-entry-id" id="index-examples-of-literal-PostScript"></a>
<p>To finish off this section, the following examples of literal PostScript
are presented without explanation:
</p>
<div class="example">
-<pre class="example">\def\rotninety{\special{ps:currentpoint currentpoint translate 90
+<pre class="example-preformatted">\def\rotninety{\special{ps:currentpoint currentpoint translate 90
rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept
\setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0
\special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety
@@ -3328,7 +3326,7 @@ rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept
<div class="example">
-<pre class="example">\vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in
+<pre class="example-preformatted">\vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in
width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big
\vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt
\line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}%
@@ -3336,78 +3334,78 @@ width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big
</pre></div>
-<span id="index-_005crotninety"></span>
-<span id="index-gsave_002fgrestore_002c-and-literal-PS"></span>
-<span id="index-save_002frestore_002c-and-literal-PS"></span>
-<p>Some caveats are in order, however. Make sure that each <code>gsave</code> is
-matched with a <code>grestore</code> on the same page. Do not use <code>save</code>
-and <code>restore</code>; they can interact with the PostScript generated by
+<a class="index-entry-id" id="index-_005crotninety"></a>
+<a class="index-entry-id" id="index-gsave_002fgrestore_002c-and-literal-PS"></a>
+<a class="index-entry-id" id="index-save_002frestore_002c-and-literal-PS"></a>
+<p>Some caveats are in order, however. Make sure that each <code class="code">gsave</code> is
+matched with a <code class="code">grestore</code> on the same page. Do not use <code class="code">save</code>
+and <code class="code">restore</code>; they can interact with the PostScript generated by
Dvips if care is not taken. Try to understand what the above macros are
-doing before writing your own. The <code>\rotninety</code> macro especially
+doing before writing your own. The <code class="code">\rotninety</code> macro especially
has a useful trick that appears again and again.
</p>
<hr>
</div>
</div>
-<div class="section" id="Hypertext">
-<div class="header">
+<div class="section-level-extent" id="Hypertext">
+<div class="nav-panel">
<p>
Previous: <a href="#Literal-PS" accesskey="p" rel="prev">Literal PostScript</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="HyperTeXt"></span><h3 class="section">5.4 HyperTeXt</h3>
+<h3 class="section" id="HyperTeXt">5.4 HyperTeXt</h3>
-<span id="index-hypertext-support"></span>
+<a class="index-entry-id" id="index-hypertext-support"></a>
-<span id="index-_002dz"></span>
-<span id="index-html-specials"></span>
-<span id="index-pdfmark"></span>
+<a class="index-entry-id" id="index-_002dz"></a>
+<a class="index-entry-id" id="index-html-specials"></a>
+<a class="index-entry-id" id="index-pdfmark"></a>
<p>Dvips has support for producing hypertext PostScript documents. If you
-specify the &lsquo;<samp>-z</samp>&rsquo; option, the <samp>html:</samp> specials described below
-will be converted into &lsquo;<samp>pdfmark</samp>&rsquo; PostScript operators to specify
-links. Without &lsquo;<samp>-z</samp>&rsquo;, <samp>html:</samp> specials are ignored.
+specify the &lsquo;<samp class="samp">-z</samp>&rsquo; option, the <samp class="file">html:</samp> specials described below
+will be converted into &lsquo;<samp class="samp">pdfmark</samp>&rsquo; PostScript operators to specify
+links. Without &lsquo;<samp class="samp">-z</samp>&rsquo;, <samp class="file">html:</samp> specials are ignored.
</p>
-<span id="index-distiller_002c-for-PDF-files"></span>
-<span id="index-PDF-files_002c-making-1"></span>
+<a class="index-entry-id" id="index-distiller_002c-for-PDF-files"></a>
+<a class="index-entry-id" id="index-PDF-files_002c-making-1"></a>
<p>The resulting PostScript can then be processed by a distiller program to
make a PDF file. (It can still be handled by ordinary PostScript
interpreters as well.) Various versions of both PC and Unix distillers
are supported; Ghostscript includes limited distiller support
-(see <a href="#Ghostscript-installation">Ghostscript installation</a>).
+(see <a class="pxref" href="#Ghostscript-installation">Ghostscript installation</a>).
</p>
<p>By far the most common LaTeX package used to create hyperlinked
-output is <code>hyperref</code> (<a href="https://ctan.org/pkg/hyperref">https://ctan.org/pkg/hyperref</a>). For
+output is <code class="code">hyperref</code> (<a class="url" href="https://ctan.org/pkg/hyperref">https://ctan.org/pkg/hyperref</a>). For
plain TeX, the Eplain package has some hyperlink support
-(<a href="https://tug.org/eplain">https://tug.org/eplain</a>).
+(<a class="url" href="https://tug.org/eplain">https://tug.org/eplain</a>).
</p>
-<span id="index-Doyle_002c-Mark"></span>
-<span id="index-Bhattacharya_002c-Tanmoy"></span>
-<span id="index-dvihps_002c-hyperdvi-to-PostScript"></span>
+<a class="index-entry-id" id="index-Doyle_002c-Mark"></a>
+<a class="index-entry-id" id="index-Bhattacharya_002c-Tanmoy"></a>
+<a class="index-entry-id" id="index-dvihps_002c-hyperdvi-to-PostScript"></a>
<p>This hypertext support (and original form of the documentation) was
-written by Mark Doyle and Tanmoy Bhattacharya as the &lsquo;<samp>dvihps</samp>&rsquo;
+written by Mark Doyle and Tanmoy Bhattacharya as the &lsquo;<samp class="samp">dvihps</samp>&rsquo;
program.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Hypertext-caveats" accesskey="1">Hypertext caveats</a></li>
<li><a href="#Hypertext-specials" accesskey="2">Hypertext specials</a></li>
</ul>
<hr>
-<div class="subsection" id="Hypertext-caveats">
-<div class="header">
+<div class="subsection-level-extent" id="Hypertext-caveats">
+<div class="nav-panel">
<p>
Next: <a href="#Hypertext-specials" accesskey="n" rel="next">Hypertext specials</a>, Up: <a href="#Hypertext" accesskey="u" rel="up">HyperTeXt</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Hypertext-caveats-1"></span><h4 class="subsection">5.4.1 Hypertext caveats</h4>
+<h4 class="subsection" id="Hypertext-caveats-1">5.4.1 Hypertext caveats</h4>
-<span id="index-hypertext-caveats"></span>
+<a class="index-entry-id" id="index-hypertext-caveats"></a>
-<span id="index-Computer-Modern-in-PostScript"></span>
-<span id="index-hypertext-and-bitmap-fonts"></span>
-<span id="index-hypertext-caveats-1"></span>
-<span id="index-embedding-Type-1-fonts"></span>
-<span id="index-PDF-files_002c-font-quality"></span>
+<a class="index-entry-id" id="index-Computer-Modern-in-PostScript"></a>
+<a class="index-entry-id" id="index-hypertext-and-bitmap-fonts"></a>
+<a class="index-entry-id" id="index-hypertext-caveats-1"></a>
+<a class="index-entry-id" id="index-embedding-Type-1-fonts"></a>
+<a class="index-entry-id" id="index-PDF-files_002c-font-quality"></a>
<p>If you intend to go all the way to PDF, you may want to use the standard
35 PostScript fonts exclusively, since other fonts are embedded as
bitmaps by default. The Adobe PDF readers are extremely slow when
@@ -3420,11 +3418,11 @@ They can also be converted to PDF files that can be used effectively at
any screen or printer resolution.
</p>
<p>To get the TeX fonts embedded in the PostScript file as Type 1 fonts,
-add &lsquo;<samp>-Ppdf</samp>&rsquo; to the dvips command line switches. The printout
+add &lsquo;<samp class="samp">-Ppdf</samp>&rsquo; to the dvips command line switches. The printout
for a run should look something like this:
</p>
-<div class="example">
-<pre class="example"> dvips report -Ppdf -o report.ps
+<div class="example smallexample">
+<pre class="example-preformatted"> dvips report -Ppdf -o report.ps
This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
' TeX output 2001.06.15:0837' -&gt; report.ps
&lt;tex.pro&gt;&lt;alt-rule.pro&gt;&lt;texc.pro&gt;&lt;texps.pro&gt;&lt;special.pro&gt;.
@@ -3438,33 +3436,33 @@ for a run should look something like this:
Modern Roman 10 point font in a PostScript Font Binary file, translated
it to an ASCII encoding, and embedded it. You can confirm this by
examining the PostScript output file, looking for the section starting
-<code>%%BeginFont: CMR10</code> followed by an entry <code>/FontType 1 def</code>.
+<code class="code">%%BeginFont: CMR10</code> followed by an entry <code class="code">/FontType 1 def</code>.
</p>
-<p>The &lsquo;<samp>-Ppdf</samp>&rsquo; option requires that the relevant outline
-(<samp>.pfa</samp> or <samp>.pfb</samp>) files be installed (see <a href="#Font-concepts">Font concepts</a>). For example, the <samp>cmr10</samp> file might be in
-<samp>/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb</samp>. Your TeX
+<p>The &lsquo;<samp class="samp">-Ppdf</samp>&rsquo; option requires that the relevant outline
+(<samp class="file">.pfa</samp> or <samp class="file">.pfb</samp>) files be installed (see <a class="pxref" href="#Font-concepts">Font concepts</a>). For example, the <samp class="file">cmr10</samp> file might be in
+<samp class="file">/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb</samp>. Your TeX
distribution may make those fonts available in a separate optional
-package (e.g., <code>tetex-extra</code> in Debian). Failing that,
+package (e.g., <code class="code">tetex-extra</code> in Debian). Failing that,
commercial versions of the Computer Modern fonts are available from
Blue Sky; public domain versions, in particular, the lm
and cm-super font families, are available from CTAN and in TeX
distributions.
</p>
-<p>You can convert a PostScript file to PDF using <code>distill</code>, which
-comes with Adobe Acrobat, or <code>ps2pdf</code>, which comes with
-Ghostscript. The <code>ps2pdf</code> that comes with <code>Ghostscript</code>
+<p>You can convert a PostScript file to PDF using <code class="code">distill</code>, which
+comes with Adobe Acrobat, or <code class="code">ps2pdf</code>, which comes with
+Ghostscript. The <code class="code">ps2pdf</code> that comes with <code class="code">Ghostscript</code>
version 6.0 or earlier will not embed Type 1 fonts. Current
recommendations are GNU Ghostscript 6.51 or Aladdin Ghostscript 7.0.
You can check the fonts in a PDF file with Acrobat Reader by selecting
-the menu entries &lsquo;<samp>File|Document Info|Fonts</samp>&rsquo;.
+the menu entries &lsquo;<samp class="samp">File|Document Info|Fonts</samp>&rsquo;.
</p>
-<span id="index-psi-character-missing"></span>
-<span id="index-trailing-spaces_002c-dropped"></span>
-<span id="index-spaces_002c-dropped-trailing"></span>
+<a class="index-entry-id" id="index-psi-character-missing"></a>
+<a class="index-entry-id" id="index-trailing-spaces_002c-dropped"></a>
+<a class="index-entry-id" id="index-spaces_002c-dropped-trailing"></a>
<p>Also, the Adobe distillers prior to 2.1 drop trailing space characters
(character code 32) from strings. Unfortunately, the PostScript fonts
use this character code for characters other than space (notably the
-Greek letter psi in the <code>Symbol</code> font), and so these characters are
+Greek letter psi in the <code class="code">Symbol</code> font), and so these characters are
dropped. This bug is fixed in version 2.1.
</p>
<p>If you can&rsquo;t upgrade, one workaround is to change all the trailing
@@ -3472,7 +3470,7 @@ blanks in strings to a character code that isn&rsquo;t in the font. This works
because the default behavior is to substitute a blank for a missing
character, i.e., the distiller is fooled into substituting the right
character. For instance, with the Blue Sky fonts, you can globally
-replace &lsquo;<samp> )</samp>&rsquo; with &lsquo;<samp>\200)</samp>&rsquo; (with <code>sed</code>, for example) and
+replace &lsquo;<samp class="samp"> )</samp>&rsquo; with &lsquo;<samp class="samp">\200)</samp>&rsquo; (with <code class="code">sed</code>, for example) and
get the desired result. With the public domain fonts, you will probably
have to use a character code in the range 128 to 191 since these fonts
duplicate the first 32 characters starting at 192 to avoid MS-DOS
@@ -3483,102 +3481,102 @@ article &ldquo;Creating quality Adobe PDF files from TeX with DVIPS&rdquo; by
Kendall Whitehouse of Adobe. Adobe seems not to offer the article any
more, but copies are available elsewhere:
</p><div class="display">
-<pre class="display"><a href="http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html">http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html</a>
-<a href="http://www.utdallas.edu/~cantrell/online/543e.html">http://www.utdallas.edu/~cantrell/online/543e.html</a>
+<pre class="display-preformatted"><a class="url" href="http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html">http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html</a>
+<a class="url" href="http://www.utdallas.edu/~cantrell/online/543e.html">http://www.utdallas.edu/~cantrell/online/543e.html</a>
</pre></div>
<hr>
</div>
-<div class="subsection" id="Hypertext-specials">
-<div class="header">
+<div class="subsection-level-extent" id="Hypertext-specials">
+<div class="nav-panel">
<p>
Previous: <a href="#Hypertext-caveats" accesskey="p" rel="prev">Hypertext caveats</a>, Up: <a href="#Hypertext" accesskey="u" rel="up">HyperTeXt</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Hypertext-specials-1"></span><h4 class="subsection">5.4.2 Hypertext specials</h4>
+<h4 class="subsection" id="Hypertext-specials-1">5.4.2 Hypertext specials</h4>
-<span id="index-hypertext-specials"></span>
-<span id="index-specials_002c-hypertext"></span>
+<a class="index-entry-id" id="index-hypertext-specials"></a>
+<a class="index-entry-id" id="index-specials_002c-hypertext"></a>
-<span id="index-Smith_002c-Arthur"></span>
+<a class="index-entry-id" id="index-Smith_002c-Arthur"></a>
<p>Current support for the World Wide Web in the TeX system does not
involve modifying TeX itself. We need only define some specials;
-Arthur Smith (<a href="mailto:apsmith@aps.org">apsmith@aps.org</a>), Tanmoy Bhattacharya, and Paul
+Arthur Smith (<a class="email" href="mailto:apsmith@aps.org">apsmith@aps.org</a>), Tanmoy Bhattacharya, and Paul
Ginsparg originally proposed and implemented the following:
</p><div class="example">
-<pre class="example">html:&lt;a href=&quot;<var>xurl</var>&quot;&gt;
-html:&lt;a name=&quot;<var>name</var>&quot;&gt;
+<pre class="example-preformatted">html:&lt;a href=&quot;<var class="var">xurl</var>&quot;&gt;
+html:&lt;a name=&quot;<var class="var">name</var>&quot;&gt;
html:&lt;/a&gt;
-html:&lt;img src=&quot;<var>xurl</var>&quot;&gt;
-html:&lt;base href=&quot;<var>xurl</var>&quot;&gt;
+html:&lt;img src=&quot;<var class="var">xurl</var>&quot;&gt;
+html:&lt;base href=&quot;<var class="var">xurl</var>&quot;&gt;
</pre></div>
-<p>Like all TeX <code>\special</code>&rsquo;s, these produce no visible output, and
+<p>Like all TeX <code class="code">\special</code>&rsquo;s, these produce no visible output, and
are uninterpreted by TeX itself. They are instructions to DVI
processors only.
</p>
-<span id="index-uniform-resource-locator"></span>
-<span id="index-extended-URL"></span>
-<span id="index-URL_002c-extended-for-TeX"></span>
-<span id="index-Murphy_002c-Tim"></span>
-<p>Here, <var>xurl</var> is a standard WWW uniform resource locator (URL),
-possibly extended with a &lsquo;<samp>#<var>type</var>.<var>string</var></samp>&rsquo; construct,
-where <var>type</var> is &lsquo;<samp>page</samp>&rsquo;, &lsquo;<samp>section</samp>&rsquo;, &lsquo;<samp>equation</samp>&rsquo;,
-&lsquo;<samp>reference</samp>&rsquo; (for bibliographic references), &lsquo;<samp>figure</samp>&rsquo;,
-&lsquo;<samp>table</samp>&rsquo;, etc. For example,
-</p><div class="example">
-<pre class="example">\special{html:&lt;a href=&quot;http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1&quot;&gt;}
+<a class="index-entry-id" id="index-uniform-resource-locator"></a>
+<a class="index-entry-id" id="index-extended-URL"></a>
+<a class="index-entry-id" id="index-URL_002c-extended-for-TeX"></a>
+<a class="index-entry-id" id="index-Murphy_002c-Tim"></a>
+<p>Here, <var class="var">xurl</var> is a standard WWW uniform resource locator (URL),
+possibly extended with a &lsquo;<samp class="samp">#<var class="var">type</var>.<var class="var">string</var></samp>&rsquo; construct,
+where <var class="var">type</var> is &lsquo;<samp class="samp">page</samp>&rsquo;, &lsquo;<samp class="samp">section</samp>&rsquo;, &lsquo;<samp class="samp">equation</samp>&rsquo;,
+&lsquo;<samp class="samp">reference</samp>&rsquo; (for bibliographic references), &lsquo;<samp class="samp">figure</samp>&rsquo;,
+&lsquo;<samp class="samp">table</samp>&rsquo;, etc. For example,
+</p><div class="example smallexample">
+<pre class="example-preformatted">\special{html:&lt;a href=&quot;http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1&quot;&gt;}
</pre></div>
<p>is a link to equation (1.1) in an example document by Tim Murphy.
</p>
-<span id="index-URL_002c-definition"></span>
-<p>See the URL <a href="http://www.w3.org/hypertext/WWW/Addressing/Addressing.html">http://www.w3.org/hypertext/WWW/Addressing/Addressing.html</a>
+<a class="index-entry-id" id="index-URL_002c-definition"></a>
+<p>See the URL <a class="url" href="http://www.w3.org/hypertext/WWW/Addressing/Addressing.html">http://www.w3.org/hypertext/WWW/Addressing/Addressing.html</a>
for a precise description of base URL&rsquo;s.
</p>
-<p>Descriptions of the <code>\special</code>&rsquo;s:
-</p><dl compact="compact">
-<dt id='index-href'><span>&lsquo;<samp>href</samp>&rsquo;<a href='#index-href' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-links_002c-hypertext"></span>
+<p>Descriptions of the <code class="code">\special</code>&rsquo;s:
+</p><dl class="ftable">
+<dt id='index-href'><span>&lsquo;<samp class="samp">href</samp>&rsquo;<a class="copiable-link" href='#index-href'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-links_002c-hypertext"></a>
<p>Creates links in your TeX document. For example:
</p><div class="example">
-<pre class="example">\special{html:&lt;a href=&quot;http://www.tug.org/&quot;&gt;}\TeX\ Users
+<pre class="example-preformatted">\special{html:&lt;a href=&quot;http://www.tug.org/&quot;&gt;}\TeX\ Users
Group\special{html:&lt;/a&gt;}
</pre></div>
<p>The user will be able to click on the text &lsquo;TeX Users
Group&rsquo; while running Xdvi and get to the TUG home page. (By the way,
this is for illustration. In practice, you most likely want to use
-macros to insert the <code>\special</code> commands; reference above.)
+macros to insert the <code class="code">\special</code> commands; reference above.)
</p>
</dd>
-<dt id='index-name'><span>&lsquo;<samp>name</samp>&rsquo;<a href='#index-name' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-Anderson_002c-Laurie"></span>
+<dt id='index-name'><span>&lsquo;<samp class="samp">name</samp>&rsquo;<a class="copiable-link" href='#index-name'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-Anderson_002c-Laurie"></a>
<p>Defines URL targets in your TeX documents, so links can be
resolved. For example:
</p><div class="example">
-<pre class="example">\special{html:&lt;a name=&quot;paradise&quot;&gt;}Paradise\special{html:&lt;/a&gt;}
+<pre class="example-preformatted">\special{html:&lt;a name=&quot;paradise&quot;&gt;}Paradise\special{html:&lt;/a&gt;}
is exactly where you are right now.
</pre></div>
-<p>This will resolve an &lsquo;<samp>href=&quot;#paradise&quot;</samp>&rsquo;. You&rsquo;ll also have to
-change the catcode of &lsquo;<samp>#</samp>&rsquo;, etc. It&rsquo;s usually easiest to use
+<p>This will resolve an &lsquo;<samp class="samp">href=&quot;#paradise&quot;</samp>&rsquo;. You&rsquo;ll also have to
+change the catcode of &lsquo;<samp class="samp">#</samp>&rsquo;, etc. It&rsquo;s usually easiest to use
existing macro packages which take care of all the details, such as
-<samp>hyperref</samp> for LaTeX. The <a href="http://arxiv.org/hypertex/">HyperTeX FAQ</a> has more information.
+<samp class="file">hyperref</samp> for LaTeX. The <a class="url" href="http://arxiv.org/hypertex/">HyperTeX FAQ</a> has more information.
</p>
</dd>
-<dt id='index-img'><span>&lsquo;<samp>img</samp>&rsquo;<a href='#index-img' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-mailcap-and-hypertext"></span>
+<dt id='index-img'><span>&lsquo;<samp class="samp">img</samp>&rsquo;<a class="copiable-link" href='#index-img'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-mailcap-and-hypertext"></a>
<p>Links to an arbitrary external file. Interactively, a viewer is spawned
-to read the file according to the file extension and your <samp>mailcap</samp>
+to read the file according to the file extension and your <samp class="file">mailcap</samp>
file (see the Xdvi documentation).
</p>
</dd>
-<dt id='index-base'><span>&lsquo;<samp>base</samp>&rsquo;<a href='#index-base' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Defines a base URL that is prepended to all the <code>name</code> targets.
+<dt id='index-base'><span>&lsquo;<samp class="samp">base</samp>&rsquo;<a class="copiable-link" href='#index-base'> &para;</a></span></dt>
+<dd><p>Defines a base URL that is prepended to all the <code class="code">name</code> targets.
Typically unnecessary, as the name of the DVI file being read is used by
default.
</p></dd>
</dl>
-<p>The &lsquo;<samp>img</samp>&rsquo; and &lsquo;<samp>base</samp>&rsquo; tags are not yet implemented in Dvips or
+<p>The &lsquo;<samp class="samp">img</samp>&rsquo; and &lsquo;<samp class="samp">base</samp>&rsquo; tags are not yet implemented in Dvips or
the NeXTSTEP DVI viewer.
</p>
@@ -3586,14 +3584,14 @@ the NeXTSTEP DVI viewer.
</div>
</div>
</div>
-<div class="chapter" id="PostScript-fonts">
-<div class="header">
+<div class="chapter-level-extent" id="PostScript-fonts">
+<div class="nav-panel">
<p>
Next: <a href="#Color" accesskey="n" rel="next">Color</a>, Previous: <a href="#Interaction-with-PostScript" accesskey="p" rel="prev">Interaction with PostScript</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="PostScript-fonts-1"></span><h2 class="chapter">6 PostScript fonts</h2>
+<h2 class="chapter" id="PostScript-fonts-1">6 PostScript fonts</h2>
-<span id="index-PostScript-fonts"></span>
+<a class="index-entry-id" id="index-PostScript-fonts"></a>
<p>Dvips supports the use of PostScript fonts in TeX documents. To use
a PostScript font conveniently, you need to prepare a corresponding
@@ -3601,47 +3599,47 @@ virtual font; the program Afm2tfm, supplied with Dvips, helps
with that.
</p>
<p>All the necessary support for the standard 35 PostScript fonts
-(&lsquo;<samp>AvantGarde-Book</samp>&rsquo; through &lsquo;<samp>ZapfDingbats</samp>&rsquo;), plus other freely
+(&lsquo;<samp class="samp">AvantGarde-Book</samp>&rsquo; through &lsquo;<samp class="samp">ZapfDingbats</samp>&rsquo;), plus other freely
or commonly available PostScript fonts is available along with Dvips.
To use these fonts, you need do nothing beyond what is mentioned in the
-installation procedure (see <a href="#Installation">Installation</a>). This chapter is
+installation procedure (see <a class="pxref" href="#Installation">Installation</a>). This chapter is
therefore relevant only if you are installing new PostScript fonts not
supplied with Dvips. (Or if you&rsquo;re curious.)
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Font-concepts" accesskey="1">Font concepts</a></li>
<li><a href="#Making-a-font-available" accesskey="2">Making a PostScript font available</a></li>
<li><a href="#Invoking-afm2tfm" accesskey="3">Invoking Afm2tfm</a></li>
-<li><a href="#psfonts_002emap" accesskey="4"><samp>psfonts.map</samp>: PostScript font catalog</a></li>
+<li><a href="#psfonts_002emap" accesskey="4"><samp class="file">psfonts.map</samp>: PostScript font catalog</a></li>
</ul>
<hr>
-<div class="section" id="Font-concepts">
-<div class="header">
+<div class="section-level-extent" id="Font-concepts">
+<div class="nav-panel">
<p>
Next: <a href="#Making-a-font-available" accesskey="n" rel="next">Making a PostScript font available</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Font-concepts-1"></span><h3 class="section">6.1 Font concepts</h3>
+<h3 class="section" id="Font-concepts-1">6.1 Font concepts</h3>
-<span id="index-font-concepts"></span>
+<a class="index-entry-id" id="index-font-concepts"></a>
<p>The information needed to typeset using a particular font is contained
-in two files: a <em>metric file</em> that contains shape-independent
-information and a <em>glyph file</em> that contains the actual shapes of
-the font&rsquo;s characters. A <em>virtual font</em> is an optional additional
+in two files: a <em class="dfn">metric file</em> that contains shape-independent
+information and a <em class="dfn">glyph file</em> that contains the actual shapes of
+the font&rsquo;s characters. A <em class="dfn">virtual font</em> is an optional additional
file that can specify special ways to construct the characters. TeX
itself (or LaTeX) look only at the metric file, but DVI drivers such
as Dvips look at all three of these files.
</p>
-<p>An <em>encoding file</em> defines the correspondence between the code
+<p>An <em class="dfn">encoding file</em> defines the correspondence between the code
numbers of the characters in a font and their descriptive names. Two
encoding files used together can describe a reencoding that rearranges,
i.e., renumbers, the characters of a font.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Metric-files" accesskey="1">Metric files</a></li>
<li><a href="#Glyph-files" accesskey="2">Glyph files</a></li>
<li><a href="#Virtual-fonts" accesskey="3">Virtual fonts</a></li>
@@ -3650,16 +3648,16 @@ i.e., renumbers, the characters of a font.
<li><a href="#PostScript-typesetting" accesskey="6">How PostScript typesets a character</a></li>
</ul>
<hr>
-<div class="subsection" id="Metric-files">
-<div class="header">
+<div class="subsection-level-extent" id="Metric-files">
+<div class="nav-panel">
<p>
Next: <a href="#Glyph-files" accesskey="n" rel="next">Glyph files</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Metric-files-1"></span><h4 class="subsection">6.1.1 Metric files</h4>
+<h4 class="subsection" id="Metric-files-1">6.1.1 Metric files</h4>
-<span id="index-metric-files"></span>
+<a class="index-entry-id" id="index-metric-files"></a>
-<p>A <em>metric file</em> describes properties of the font that are
+<p>A <em class="dfn">metric file</em> describes properties of the font that are
independent of what the characters actually look like. Aside from
general information about the font itself, a metric file has two kinds
of information: information about individual characters, organized by
@@ -3668,53 +3666,53 @@ character code, and information about sequences of characters.
<p>The per-character information specifies the width, height, depth, and
italic correction of each character in the font. Any might be zero.
</p>
-<span id="index-kerning_002c-defined"></span>
-<span id="index-ligature_002c-defined"></span>
+<a class="index-entry-id" id="index-kerning_002c-defined"></a>
+<a class="index-entry-id" id="index-ligature_002c-defined"></a>
<p>In addition to information on individual characters, the metric file
-specifies <em>kerning</em>, i.e., adding or removing space between
-particular character pairs. It further specifies <em>ligature</em>
+specifies <em class="dfn">kerning</em>, i.e., adding or removing space between
+particular character pairs. It further specifies <em class="dfn">ligature</em>
information: when a sequence of input characters should be typeset as a
single (presumably different) &ldquo;ligature&rdquo; character. For example, it&rsquo;s
-traditional for the input &lsquo;<samp>fi</samp>&rsquo; to be typeset as &lsquo;fi&rsquo;, not as
-&lsquo;<span class="roman">f</span><span class="roman">i</span>&rsquo; (with the dot of the &lsquo;i&rsquo; colliding with &lsquo;f&rsquo;). (In English,
+traditional for the input &lsquo;<samp class="samp">fi</samp>&rsquo; to be typeset as &lsquo;fi&rsquo;, not as
+&lsquo;<span class="r">f</span><span class="r">i</span>&rsquo; (with the dot of the &lsquo;i&rsquo; colliding with &lsquo;f&rsquo;). (In English,
the only common ligatures are fi, fl, ff, ffi, and ffl.)
</p>
<p>Different typesetting systems use different metric file formats:
</p>
-<ul>
-<li> <span id="index-afm-files"></span>
-<span id="index-_002eafm-Adobe-metric-files"></span>
-Each PostScript font has an <em>Adobe font metrics</em> (&lsquo;<samp>.afm</samp>&rsquo;)
+<ul class="itemize mark-bullet">
+<li><a class="index-entry-id" id="index-afm-files"></a>
+<a class="index-entry-id" id="index-_002eafm-Adobe-metric-files"></a>
+Each PostScript font has an <em class="dfn">Adobe font metrics</em> (&lsquo;<samp class="samp">.afm</samp>&rsquo;)
file. These files are plain text, so you can inspect them easily. You
can get AFM files for Adobe&rsquo;s fonts from
-<a href="ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs">ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs</a>.
-
-</li><li> <span id="index-tfm-files"></span>
-<span id="index-_002etfm-TeX-font-metric-files"></span>
-TeX uses <em>TeX font metrics</em> (&lsquo;<samp>.tfm</samp>&rsquo;) files. When you say
-&lsquo;<samp>\font = <var>font</var></samp>&rsquo; in your TeX document, TeX reads a file
-named &lsquo;<samp><var>font</var>.tfm</samp>&rsquo;. (Well, except for the <samp>texfonts.map</samp>
-feature; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Fontmap">Fontmap</a> in <cite>Kpathsea</cite>). TeX can then
+<a class="url" href="ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs">ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs</a>.
+
+</li><li><a class="index-entry-id" id="index-tfm-files"></a>
+<a class="index-entry-id" id="index-_002etfm-TeX-font-metric-files"></a>
+TeX uses <em class="dfn">TeX font metrics</em> (&lsquo;<samp class="samp">.tfm</samp>&rsquo;) files. When you say
+&lsquo;<samp class="samp">\font = <var class="var">font</var></samp>&rsquo; in your TeX document, TeX reads a file
+named &lsquo;<samp class="samp"><var class="var">font</var>.tfm</samp>&rsquo;. (Well, except for the <samp class="file">texfonts.map</samp>
+feature; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Fontmap">Fontmap</a> in <cite class="cite">Kpathsea</cite>). TeX can then
calculate the space occupied by characters from the font when
typesetting. In addition, the DVI drivers you use to print or view the
DVI file produced by TeX may need to look at the TFM file.
-<span id="index-property-list-files"></span>
-<span id="index-tftopl"></span>
-<span id="index-pltotf"></span>
-<span id="index-_002epl-property-list-files"></span>
+<a class="index-entry-id" id="index-property-list-files"></a>
+<a class="index-entry-id" id="index-tftopl"></a>
+<a class="index-entry-id" id="index-pltotf"></a>
+<a class="index-entry-id" id="index-_002epl-property-list-files"></a>
<p>TFM files are binary (and hence are typically much smaller than AFM
-files). You can use the <code>tftopl</code> program (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tftopl-invocation">tftopl
-invocation</a> in <cite>Web2c</cite>) that comes with TeX to transform a TFM
-file into a human-readable &ldquo;property list&rdquo; (&lsquo;<samp>.pl</samp>&rsquo;) file. You can
+files). You can use the <code class="code">tftopl</code> program (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tftopl-invocation">tftopl
+invocation</a> in <cite class="cite">Web2c</cite>) that comes with TeX to transform a TFM
+file into a human-readable &ldquo;property list&rdquo; (&lsquo;<samp class="samp">.pl</samp>&rsquo;) file. You can
also edit a PL file and transform it back to a TeX-readable TFM with
-the companion program <code>pltotf</code> (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pltotf-invocation">pltotf invocation</a> in <cite>Web2c</cite>). Editing metrics by hand is not something you&rsquo;re likely to want
+the companion program <code class="code">pltotf</code> (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pltotf-invocation">pltotf invocation</a> in <cite class="cite">Web2c</cite>). Editing metrics by hand is not something you&rsquo;re likely to want
to do often, but the capability is there.
</p>
-</li><li> <span id="index-pfm-files"></span>
-<span id="index-_002epfm-printer-font-metric-files"></span>
-ATM and other typesetting systems use <em>printer font metric</em>
-(&lsquo;<samp>.pfm</samp>&rsquo;) files. These are binary files. They are irrelevant in the
+</li><li><a class="index-entry-id" id="index-pfm-files"></a>
+<a class="index-entry-id" id="index-_002epfm-printer-font-metric-files"></a>
+ATM and other typesetting systems use <em class="dfn">printer font metric</em>
+(&lsquo;<samp class="samp">.pfm</samp>&rsquo;) files. These are binary files. They are irrelevant in the
TeX world, and not freely available, so we will not discuss them
further.
@@ -3722,19 +3720,19 @@ further.
<p>The Afm2tfm program distributed with Dvips converts an AFM file
to a TFM file and performs other useful transformations as well.
-See <a href="#Invoking-afm2tfm">Invoking Afm2tfm</a>.
+See <a class="xref" href="#Invoking-afm2tfm">Invoking Afm2tfm</a>.
</p>
<hr>
</div>
-<div class="subsection" id="Glyph-files">
-<div class="header">
+<div class="subsection-level-extent" id="Glyph-files">
+<div class="nav-panel">
<p>
Next: <a href="#Virtual-fonts" accesskey="n" rel="next">Virtual fonts</a>, Previous: <a href="#Metric-files" accesskey="p" rel="prev">Metric files</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Glyph-files-1"></span><h4 class="subsection">6.1.2 Glyph files</h4>
+<h4 class="subsection" id="Glyph-files-1">6.1.2 Glyph files</h4>
-<span id="index-glyph-files"></span>
+<a class="index-entry-id" id="index-glyph-files"></a>
<p>Although a metric file (see the previous section) contains information
about the spatial and other properties of the character at position 75,
@@ -3744,141 +3742,141 @@ in a font&mdash;are defined by other files, which we call glyph files.
TeX itself only reads the TFM file for a font; it does not need to
know character shapes.
</p>
-<p>A <em>glyph file</em> is a file that defines the shapes of the characters
+<p>A <em class="dfn">glyph file</em> is a file that defines the shapes of the characters
in a font. The shapes can be defined either by outlines or by bitmaps.
</p>
-<span id="index-outline-fonts"></span>
-<span id="index-arcs"></span>
-<span id="index-splines"></span>
-<p>PostScript fonts are defined as <em>outline fonts</em>: Each character in
+<a class="index-entry-id" id="index-outline-fonts"></a>
+<a class="index-entry-id" id="index-arcs"></a>
+<a class="index-entry-id" id="index-splines"></a>
+<p>PostScript fonts are defined as <em class="dfn">outline fonts</em>: Each character in
the font is defined by giving the mathematical curves (lines, arcs, and
splines) that define its contours. Different sizes of a character are
generated by linearly scaling a single shape. For example, a 10-point
&lsquo;A&rsquo; is simply half the size of a 20-point &lsquo;A&rsquo;. Nowadays, outline fonts
-usually also contain <em>hints</em>&mdash;additional information to improve the
+usually also contain <em class="dfn">hints</em>&mdash;additional information to improve the
appearance of the font at small sizes or low resolutions.
</p>
-<span id="index-Type-1-fonts"></span>
-<span id="index-pfa-files"></span>
-<span id="index-pfb-files"></span>
-<span id="index-_002epfa-printer-font-ascii-files"></span>
-<span id="index-_002epfb-printer-font-binary-files"></span>
+<a class="index-entry-id" id="index-Type-1-fonts"></a>
+<a class="index-entry-id" id="index-pfa-files"></a>
+<a class="index-entry-id" id="index-pfb-files"></a>
+<a class="index-entry-id" id="index-_002epfa-printer-font-ascii-files"></a>
+<a class="index-entry-id" id="index-_002epfb-printer-font-binary-files"></a>
<p>Although various kinds of PostScript outline fonts exist, by far the
-most common, and the only one we will consider, is called <em>Type 1</em>.
+most common, and the only one we will consider, is called <em class="dfn">Type 1</em>.
The glyph files for PostScript Type 1 fonts typically have names ending
-in &lsquo;<samp>.pfa</samp>&rsquo; (&ldquo;printer font ASCII&rdquo;) or &lsquo;<samp>.pfb</samp>&rsquo; (&ldquo;printer font
+in &lsquo;<samp class="samp">.pfa</samp>&rsquo; (&ldquo;printer font ASCII&rdquo;) or &lsquo;<samp class="samp">.pfb</samp>&rsquo; (&ldquo;printer font
binary&rdquo;).
</p>
-<span id="index-bitmap-fonts"></span>
-<span id="index-_002emf-Metafont-source-files"></span>
-<span id="index-Metafont-source-files"></span>
+<a class="index-entry-id" id="index-bitmap-fonts"></a>
+<a class="index-entry-id" id="index-_002emf-Metafont-source-files"></a>
+<a class="index-entry-id" id="index-Metafont-source-files"></a>
<p>In contrast, glyph files for Computer Modern and the other standard
-TeX fonts are <em>bitmap fonts</em>, generated from Metafont
-(&lsquo;<samp>.mf</samp>&rsquo;) descriptions. The Metafont program distributed with TeX
+TeX fonts are <em class="dfn">bitmap fonts</em>, generated from Metafont
+(&lsquo;<samp class="samp">.mf</samp>&rsquo;) descriptions. The Metafont program distributed with TeX
generates bitmaps from these descriptions.
</p>
-<span id="index-pk-files"></span>
-<span id="index-_002ennnpk-packed-font-bitmaps"></span>
+<a class="index-entry-id" id="index-pk-files"></a>
+<a class="index-entry-id" id="index-_002ennnpk-packed-font-bitmaps"></a>
<p>The glyph files for TeX bitmap fonts are usually stored in
-<em>packed font</em> (PK) files. The names of these files end in
-&lsquo;<samp>.<var>nnn</var>pk</samp>&rsquo;, where <var>nnn</var> is the resolution of the font in
-dots per inch. For example, <samp>cmr10.600pk</samp> contains the bitmaps for
-the &lsquo;<samp>cmr10</samp>&rsquo; font at a resolution of 600dpi. (On DOS
-filesystems, it&rsquo;s more likely <samp>dpi600\cmr10.pk</samp>.)
-</p>
-<span id="index-gf-files"></span>
-<span id="index-gftopk"></span>
-<p>Metafont actually outputs <em>generic font</em> (GF) files, e.g.,
-<samp>cmr10.600gf</samp>, but the GF files are usually converted immediately
-to PK format (using the <code>gftopk</code> utility that comes with TeX)
+<em class="dfn">packed font</em> (PK) files. The names of these files end in
+&lsquo;<samp class="samp">.<var class="var">nnn</var>pk</samp>&rsquo;, where <var class="var">nnn</var> is the resolution of the font in
+dots per inch. For example, <samp class="file">cmr10.600pk</samp> contains the bitmaps for
+the &lsquo;<samp class="samp">cmr10</samp>&rsquo; font at a resolution of 600<span class="dmn">dpi</span>. (On DOS
+filesystems, it&rsquo;s more likely <samp class="file">dpi600\cmr10.pk</samp>.)
+</p>
+<a class="index-entry-id" id="index-gf-files"></a>
+<a class="index-entry-id" id="index-gftopk"></a>
+<p>Metafont actually outputs <em class="dfn">generic font</em> (GF) files, e.g.,
+<samp class="file">cmr10.600gf</samp>, but the GF files are usually converted immediately
+to PK format (using the <code class="code">gftopk</code> utility that comes with TeX)
since PK files are smaller and contain the same information. (The GF
format is a historical artifact.)
</p>
<hr>
</div>
-<div class="subsection" id="Virtual-fonts">
-<div class="header">
+<div class="subsection-level-extent" id="Virtual-fonts">
+<div class="nav-panel">
<p>
Next: <a href="#Encodings" accesskey="n" rel="next">Encodings</a>, Previous: <a href="#Glyph-files" accesskey="p" rel="prev">Glyph files</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Virtual-fonts-1"></span><h4 class="subsection">6.1.3 Virtual fonts</h4>
+<h4 class="subsection" id="Virtual-fonts-1">6.1.3 Virtual fonts</h4>
-<span id="index-virtual-fonts"></span>
+<a class="index-entry-id" id="index-virtual-fonts"></a>
-<p>A <em>virtual font</em> is constructed by extracting characters from one
+<p>A <em class="dfn">virtual font</em> is constructed by extracting characters from one
or more existing fonts and rearranging them, or synthesizing new
characters in various ways. The explanation in this manual is
intended to suffice for understanding enough about virtual fonts to
use them with Dvips. It isn&rsquo;t a reference manual on virtual fonts.
For more information: The primary document on virtual fonts is
-Donald&nbsp;E. Knuth, <cite>TUGboat</cite> 11(1), Apr. 1990, pp. 13&ndash;23,
+Donald&nbsp;E. Knuth, <cite class="cite">TUGboat</cite> 11(1), Apr. 1990, pp. 13&ndash;23,
&ldquo;Virtual Fonts: More Fun for Grand Wizards&rdquo;
-(<a href="mirror.ctan.org/info/virtual-fonts.knuth">mirror.ctan.org/info/virtual-fonts.knuth</a>). (Don&rsquo;t be
+(<a class="url" href="mirror.ctan.org/info/virtual-fonts.knuth">mirror.ctan.org/info/virtual-fonts.knuth</a>). (Don&rsquo;t be
intimidated by the subtitle.)
</p>
-<span id="index-vf-files"></span>
-<span id="index-vpl-files"></span>
-<p>A virtual font (&lsquo;<samp>.vf</samp>&rsquo;) file specifies, for each character in the
+<a class="index-entry-id" id="index-vf-files"></a>
+<a class="index-entry-id" id="index-vpl-files"></a>
+<p>A virtual font (&lsquo;<samp class="samp">.vf</samp>&rsquo;) file specifies, for each character in the
virtual font, a recipe for typesetting that character. A VF file, like
-a TFM file, is in a compressed binary format. The <code>vftovp</code> and
-<code>vptovf</code> programs convert a VF file to a human-readable VPL
+a TFM file, is in a compressed binary format. The <code class="code">vftovp</code> and
+<code class="code">vptovf</code> programs convert a VF file to a human-readable VPL
(virtual property list) format and back again. See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#vftovp-invocation">vftovp
-invocation</a> in <cite>Web2c</cite>, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#vptovf-invocation">vptovf invocation</a> in <cite>Web2c</cite>.
+invocation</a> in <cite class="cite">Web2c</cite>, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#vptovf-invocation">vptovf invocation</a> in <cite class="cite">Web2c</cite>.
</p>
-<span id="index-base-fonts"></span>
-<p>In the case of a PostScript font <var>f</var> being used in a straightforward
-way, the recipe says: character <var>i</var> in the VF font is character
-<var>j</var> in font <var>f</var>. The font <var>f</var> is called a <em>base font</em>.
+<a class="index-entry-id" id="index-base-fonts"></a>
+<p>In the case of a PostScript font <var class="var">f</var> being used in a straightforward
+way, the recipe says: character <var class="var">i</var> in the VF font is character
+<var class="var">j</var> in font <var class="var">f</var>. The font <var class="var">f</var> is called a <em class="dfn">base font</em>.
For example, the VF file could remap the characters of the PostScript
font to the positions where TeX expects to find them.
-See <a href="#Encodings">Encodings</a>.
+See <a class="xref" href="#Encodings">Encodings</a>.
</p>
<p>Since TeX reads only TFM files, not VF&rsquo;s, each VF must have a
corresponding TFM for use with TeX. This corresponding TFM is
-created when you run <code>vptovf</code>.
+created when you run <code class="code">vptovf</code>.
</p>
-<span id="index-expansion_002c-of-virtual-fonts"></span>
-<span id="index-virtual-font-expansion"></span>
-<p>You can <em>expand</em> virtual fonts into their base fonts with DVIcopy
-(see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dvicopy-invocation">dvicopy invocation</a> in <cite>Web2c</cite>). This is useful if you are
+<a class="index-entry-id" id="index-expansion_002c-of-virtual-fonts"></a>
+<a class="index-entry-id" id="index-virtual-font-expansion"></a>
+<p>You can <em class="dfn">expand</em> virtual fonts into their base fonts with DVIcopy
+(see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dvicopy-invocation">dvicopy invocation</a> in <cite class="cite">Web2c</cite>). This is useful if you are
using a DVI translator that doesn&rsquo;t itself understand vf&rsquo;s.
</p>
-<span id="index-ptex-JFM"></span>
-<span id="index-uptex-JFM"></span>
-<span id="index-Japanese-font-metric-file"></span>
-<span id="index-JFM-file_002c-and-virtual-font-fallback"></span>
+<a class="index-entry-id" id="index-ptex-JFM"></a>
+<a class="index-entry-id" id="index-uptex-JFM"></a>
+<a class="index-entry-id" id="index-Japanese-font-metric-file"></a>
+<a class="index-entry-id" id="index-JFM-file_002c-and-virtual-font-fallback"></a>
<p>If a virtual font has no entry at a given codepoint and the first
-<code>MAPFONT</code> designates an (u)pTeX JFM, we designate the glyph of
+<code class="code">MAPFONT</code> designates an (u)pTeX JFM, we designate the glyph of
the same codepoint in the TFM(JFM) with the smallest font ID. This
feature helps to reduce the size of Japanese virtual fonts. For more
information about the extensive support of Japanese in TeX, see
-<a href="https://github.com/texjporg">https://github.com/texjporg</a>.
+<a class="url" href="https://github.com/texjporg">https://github.com/texjporg</a>.
</p>
<hr>
</div>
-<div class="subsection" id="Encodings">
-<div class="header">
+<div class="subsection-level-extent" id="Encodings">
+<div class="nav-panel">
<p>
Next: <a href="#Bitmap-font-encodings" accesskey="n" rel="next">Bitmap font encodings</a>, Previous: <a href="#Virtual-fonts" accesskey="p" rel="prev">Virtual fonts</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Encodings-1"></span><h4 class="subsection">6.1.4 Encodings</h4>
+<h4 class="subsection" id="Encodings-1">6.1.4 Encodings</h4>
-<span id="index-encodings"></span>
+<a class="index-entry-id" id="index-encodings"></a>
-<p>Every font, whatever its type, has an <em>encoding</em>, that specifies the
+<p>Every font, whatever its type, has an <em class="dfn">encoding</em>, that specifies the
correspondence between &ldquo;logical&rdquo; characters and character codes. For
example, the ASCII encoding specifies that the character numbered 65
(decimal) is an uppercase &lsquo;A&rsquo;. The encoding does not specify what the
character at that position looks like; there are lots of ways to draw an
-&lsquo;A&rsquo;, and a glyph file (see <a href="#Glyph-files">Glyph files</a>) tells how. Nor does it
+&lsquo;A&rsquo;, and a glyph file (see <a class="pxref" href="#Glyph-files">Glyph files</a>) tells how. Nor does it
specify how much space that character occupies; that information is in a
-metric file (see <a href="#Metric-files">Metric files</a>).
+metric file (see <a class="pxref" href="#Metric-files">Metric files</a>).
</p>
-<span id="index-Computer-Modern_002c-encoding-of"></span>
+<a class="index-entry-id" id="index-Computer-Modern_002c-encoding-of"></a>
<p>TeX implicitly assumes a particular encoding for the fonts you use
-with it. For example, the plain TeX macro <code>\'</code>, which typesets
+with it. For example, the plain TeX macro <code class="code">\'</code>, which typesets
an acute accent over the following letter, assumes the acute accent is
at position 19 (decimal). This happens to be true of standard TeX
fonts such as Computer Modern, as you might expect, but it is not true
@@ -3887,50 +3885,50 @@ of normal PostScript fonts.
<p>It&rsquo;s possible but painful to change all the macros that assume
particular character positions. A better solution is to create a new
font with the information for the acute accent at position 19, where
-TeX expects it to be. See <a href="#Making-a-font-available">Making a PostScript font available</a>.
+TeX expects it to be. See <a class="xref" href="#Making-a-font-available">Making a PostScript font available</a>.
</p>
-<span id="index-PostScript-encoding"></span>
-<span id="index-encoding-files"></span>
-<span id="index-encoding-vectors_002c-defined"></span>
+<a class="index-entry-id" id="index-PostScript-encoding"></a>
+<a class="index-entry-id" id="index-encoding-files"></a>
+<a class="index-entry-id" id="index-encoding-vectors_002c-defined"></a>
<p>PostScript represents encodings as a sequence of 256 character names
-called an <em>encoding vector</em>. An <em>encoding file</em> (&lsquo;<samp>.enc</samp>&rsquo;)
+called an <em class="dfn">encoding vector</em>. An <em class="dfn">encoding file</em> (&lsquo;<samp class="samp">.enc</samp>&rsquo;)
gives such a vector, together with ligature and kerning information
(with which we are not concerned at the moment). These encoding files
are used by the Afm2tfm program. Encoding files are also downloaded to
the PostScript interpreter in your printer if you use one of them in
place of the default encoding vector for a particular PostScript font.
</p>
-<span id="index-dvips_002eenc"></span>
-<span id="index-8r_002eenc"></span>
-<span id="index-texmext_002eenc"></span>
-<span id="index-texmital_002eenc"></span>
-<span id="index-texmsym_002eenc"></span>
-<span id="index-reencode_002f_002a_002eenc"></span>
-<p>Examples of encodings: the <samp>dvips.enc</samp> encoding file that comes
-with the Fontname distribution (<a href="http://tug.org/fontname">http://tug.org/fontname</a>) is a
+<a class="index-entry-id" id="index-dvips_002eenc"></a>
+<a class="index-entry-id" id="index-8r_002eenc"></a>
+<a class="index-entry-id" id="index-texmext_002eenc"></a>
+<a class="index-entry-id" id="index-texmital_002eenc"></a>
+<a class="index-entry-id" id="index-texmsym_002eenc"></a>
+<a class="index-entry-id" id="index-reencode_002f_002a_002eenc"></a>
+<p>Examples of encodings: the <samp class="file">dvips.enc</samp> encoding file that comes
+with the Fontname distribution (<a class="url" href="http://tug.org/fontname">http://tug.org/fontname</a>) is a
good (but not perfect) approximation to the TeX encoding for
TeX&rsquo;s Computer Modern text fonts. This is the encoding of the
-fonts that originated with Dvips, such as <samp>ptmr.tfm</samp>. The
+fonts that originated with Dvips, such as <samp class="file">ptmr.tfm</samp>. The
distribution includes many other encoding files; for example,
-<samp>8r.enc</samp>, which is the base font for the current PostScript font
+<samp class="file">8r.enc</samp>, which is the base font for the current PostScript font
distribution, and three corresponding to the TeX mathematics fonts:
-<samp>texmext.enc</samp> for math extensions, <samp>texmital.enc</samp> for math
-italics, and <samp>texmsym.enc</samp> for math symbols.
+<samp class="file">texmext.enc</samp> for math extensions, <samp class="file">texmital.enc</samp> for math
+italics, and <samp class="file">texmsym.enc</samp> for math symbols.
</p>
<hr>
</div>
-<div class="subsection" id="Bitmap-font-encodings">
-<div class="header">
+<div class="subsection-level-extent" id="Bitmap-font-encodings">
+<div class="nav-panel">
<p>
Next: <a href="#PostScript-typesetting" accesskey="n" rel="next">How PostScript typesets a character</a>, Previous: <a href="#Encodings" accesskey="p" rel="prev">Encodings</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Bitmap-font-encodings-1"></span><h4 class="subsection">6.1.5 Bitmap font encodings</h4>
+<h4 class="subsection" id="Bitmap-font-encodings-1">6.1.5 Bitmap font encodings</h4>
-<span id="index-bitmap-font-encodings"></span>
-<span id="index-font-encodings_002c-bitmap"></span>
-<span id="index-encodings_002c-for-bitmap-fonts"></span>
+<a class="index-entry-id" id="index-bitmap-font-encodings"></a>
+<a class="index-entry-id" id="index-font-encodings_002c-bitmap"></a>
+<a class="index-entry-id" id="index-encodings_002c-for-bitmap-fonts"></a>
<p>To dvips, bitmapped fonts do not have any notion of linguistics; they
are simply a vector of glyphs. By comparison, PostScript fonts are
@@ -3942,17 +3940,17 @@ extract legible text from PostScript and PDF output.
naming information to Type 3 bitmapped fonts (if they can locate such
information) as an Encoding vector. This provides some support for
search, for copy and paste, and even some limited support for
-accessibility. The &lsquo;<samp>bitmapfontenc</samp>&rsquo; command line option
-(see <a href="#Option-details">Option details</a> and <code>bitmapfontenc</code> configuration option
-(see <a href="#Configuration-file-commands">Configuration file commands</a>) enable and disable this
+accessibility. The &lsquo;<samp class="samp">bitmapfontenc</samp>&rsquo; command line option
+(see <a class="pxref" href="#Option-details">Option details</a> and <code class="code">bitmapfontenc</code> configuration option
+(see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>) enable and disable this
functionality; by default it is set to enabled, without warnings.
</p>
-<span id="index-dvips_002dall_002eenc"></span>
+<a class="index-entry-id" id="index-dvips_002dall_002eenc"></a>
<p>To do this, dvips must find encoding information for the bitmapped
fonts. It does this by first searching for a font-specific encoding
-file; for instance, for cmr10, it will search for <samp>dvips-cmr10.enc</samp>
+file; for instance, for cmr10, it will search for <samp class="file">dvips-cmr10.enc</samp>
in the standard encoding path. If it does not find such a file, it
-will search for a <samp>dvips-all.enc</samp> file which contains a base set of
+will search for a <samp class="file">dvips-all.enc</samp> file which contains a base set of
encodings for many fonts.
</p>
<p>The specific syntax of an encoding file is unspecified, except that it
@@ -3966,13 +3964,13 @@ on the stack. This second option is made available to support future
enhancements that may add additional constructs to the font dictionary
to enhance the interpretation of font characters.
</p>
-<p>The <samp>dvips-all.enc</samp> file contains encodings for many fonts, and
+<p>The <samp class="file">dvips-all.enc</samp> file contains encodings for many fonts, and
it is loaded by dvips at most once. The format is just a sequence of
font names, one per line, each terminated by a colon, followed by the
encoding to use for those files.
</p>
-<span id="index-bounding-box_002c-for-bitmap-fonts"></span>
-<span id="index-coordinate-system_002c-for-bitmap-fonts"></span>
+<a class="index-entry-id" id="index-bounding-box_002c-for-bitmap-fonts"></a>
+<a class="index-entry-id" id="index-coordinate-system_002c-for-bitmap-fonts"></a>
<p>As part of its operation, to enable heuristics in PostScript and
PDF viewers to properly identify word breaks and column gutters,
dvips also generates a modified font bounding box and a modified
@@ -3981,15 +3979,15 @@ font coordinate system.
<hr>
</div>
-<div class="subsection" id="PostScript-typesetting">
-<div class="header">
+<div class="subsection-level-extent" id="PostScript-typesetting">
+<div class="nav-panel">
<p>
Previous: <a href="#Bitmap-font-encodings" accesskey="p" rel="prev">Bitmap font encodings</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="How-PostScript-typesets-a-character"></span><h4 class="subsection">6.1.6 How PostScript typesets a character</h4>
+<h4 class="subsection" id="How-PostScript-typesets-a-character">6.1.6 How PostScript typesets a character</h4>
-<span id="index-typesetting-in-PostScript"></span>
-<span id="index-character-lookup-procedure-in-PostScript"></span>
+<a class="index-entry-id" id="index-typesetting-in-PostScript"></a>
+<a class="index-entry-id" id="index-character-lookup-procedure-in-PostScript"></a>
<p>The output of Dvips is a program in the PostScript language that
instructs your (presumably PostScript-capable) printer how to typeset
@@ -3999,9 +3997,9 @@ instructions in this typesetting program.
</p>
<p>The program must include the definition of any PostScript fonts that you
use in your document. Fonts built into your printer (probably the
-standard 35: &lsquo;<samp>Times-Roman</samp>&rsquo;, &lsquo;<samp>ZapfDingbats</samp>&rsquo;, &hellip;) are
+standard 35: &lsquo;<samp class="samp">Times-Roman</samp>&rsquo;, &lsquo;<samp class="samp">ZapfDingbats</samp>&rsquo;, &hellip;) are
defined within the interpreter itself. Other fonts must be downloaded
-as pfa or pfb files (see <a href="#Glyph-files">Glyph files</a>) from your host (the computer
+as pfa or pfb files (see <a class="pxref" href="#Glyph-files">Glyph files</a>) from your host (the computer
on which you&rsquo;re running Dvips).
</p>
<p>You may be wondering exactly how a PostScript interpreter figures out
@@ -4009,27 +4007,27 @@ what character to typeset, with this mass of metrics, glyphs, encodings,
and other information. (If you&rsquo;re not wondering, skip this section
&hellip;)
</p>
-<span id="index-show-PostScript-operator"></span>
+<a class="index-entry-id" id="index-show-PostScript-operator"></a>
<p>The basic PostScript operator for imaging characters is
-<code>show</code>. Suppose you&rsquo;ve asked TeX to typeset an &lsquo;S&rsquo;. This will
+<code class="code">show</code>. Suppose you&rsquo;ve asked TeX to typeset an &lsquo;S&rsquo;. This will
eventually wind up in the Dvips output as the equivalent of this
PostScript operation:
</p>
<div class="example">
-<pre class="example">(S) show
+<pre class="example-preformatted">(S) show
</pre></div>
<p>Here is how PostScript typesets the &lsquo;S&rsquo;:
</p>
-<ol>
-<li> <span id="index-ASCII-character-codes_002c-used-by-PostScript"></span>
+<ol class="enumerate">
+<li> <a class="index-entry-id" id="index-ASCII-character-codes_002c-used-by-PostScript"></a>
PostScript interpreters use ASCII; therefore &lsquo;S&rsquo; is represented as the
integer 83. (Any of the 256 possible characters representable in a
standard 8-bit byte can be typeset.)
-</li><li> <span id="index-current-font_002c-in-PostScript"></span>
-<span id="index-dictionary_002c-PostScript-language"></span>
-A PostScript <em>dictionary</em> is a mapping of names to arbitrary values.
+</li><li> <a class="index-entry-id" id="index-current-font_002c-in-PostScript"></a>
+<a class="index-entry-id" id="index-dictionary_002c-PostScript-language"></a>
+A PostScript <em class="dfn">dictionary</em> is a mapping of names to arbitrary values.
A font, to the interpreter, is a dictionary which contains entries for
certain names. (If these entries are missing, the interpreter refuses
to do anything with that font.)
@@ -4037,28 +4035,28 @@ to do anything with that font.)
<p>PostScript has a notion of &ldquo;the current font&rdquo;&mdash;whatever font is
currently being typeset in.
</p>
-</li><li> <span id="index-encoding-vectors_002c-in-Type-1-fonts"></span>
-<span id="index-Encoding-Type-1-dictionary"></span>
-One of the mandatory entries in a font dictionary is &lsquo;<samp>Encoding</samp>&rsquo;,
-which defines the encoding vector (see <a href="#Encodings">Encodings</a>) for that font.
+</li><li> <a class="index-entry-id" id="index-encoding-vectors_002c-in-Type-1-fonts"></a>
+<a class="index-entry-id" id="index-Encoding-Type-1-dictionary"></a>
+One of the mandatory entries in a font dictionary is &lsquo;<samp class="samp">Encoding</samp>&rsquo;,
+which defines the encoding vector (see <a class="pxref" href="#Encodings">Encodings</a>) for that font.
This vector of 256 names maps each possible input character to a name.
</li><li> The interpreter retrieves the entry at position 83 of the encoding
-vector. This value is a PostScript name: <code>/S</code>.
+vector. This value is a PostScript name: <code class="code">/S</code>.
-</li><li> <span id="index-CharStrings-Type-1-dictionary"></span>
-<span id="index-dictionary_002c-CharStrings"></span>
+</li><li> <a class="index-entry-id" id="index-CharStrings-Type-1-dictionary"></a>
+<a class="index-entry-id" id="index-dictionary_002c-CharStrings"></a>
For Type 1 fonts (we&rsquo;re not going to discuss anything else), the
-interpreter now looks up <code>/S</code> as a key in a dictionary named
-<code>CharStrings</code>, another mandatory entry in a font dictionary.
-
-</li><li> <span id="index-hints"></span>
-<span id="index-character-definitions-in-PostScript"></span>
-The value of <code>S</code> in <code>CharStrings</code> is the equivalent of a
-series of standard PostScript commands like &lsquo;<samp>curveto</samp>&rsquo;,
-&lsquo;<samp>lineto</samp>&rsquo;, &lsquo;<samp>fill</samp>&rsquo;, and so on. These commands are executed to
-draw the character. There can also be <em>hint information</em> that helps
-adapt the character to low-resolution rasters. (See <a href="#Glyph-files">Glyph files</a>.)
+interpreter now looks up <code class="code">/S</code> as a key in a dictionary named
+<code class="code">CharStrings</code>, another mandatory entry in a font dictionary.
+
+</li><li> <a class="index-entry-id" id="index-hints"></a>
+<a class="index-entry-id" id="index-character-definitions-in-PostScript"></a>
+The value of <code class="code">S</code> in <code class="code">CharStrings</code> is the equivalent of a
+series of standard PostScript commands like &lsquo;<samp class="samp">curveto</samp>&rsquo;,
+&lsquo;<samp class="samp">lineto</samp>&rsquo;, &lsquo;<samp class="samp">fill</samp>&rsquo;, and so on. These commands are executed to
+draw the character. There can also be <em class="dfn">hint information</em> that helps
+adapt the character to low-resolution rasters. (See <a class="xref" href="#Glyph-files">Glyph files</a>.)
The commands are actually represented in a more compact way than
standard PostScript source; see the Type 1 book for details.
@@ -4072,15 +4070,15 @@ information.
<hr>
</div>
</div>
-<div class="section" id="Making-a-font-available">
-<div class="header">
+<div class="section-level-extent" id="Making-a-font-available">
+<div class="nav-panel">
<p>
Next: <a href="#Invoking-afm2tfm" accesskey="n" rel="next">Invoking Afm2tfm</a>, Previous: <a href="#Font-concepts" accesskey="p" rel="prev">Font concepts</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Making-a-PostScript-font-available"></span><h3 class="section">6.2 Making a PostScript font available</h3>
+<h3 class="section" id="Making-a-PostScript-font-available">6.2 Making a PostScript font available</h3>
-<span id="index-installing-fonts"></span>
-<span id="index-fonts_002c-installing"></span>
+<a class="index-entry-id" id="index-installing-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-installing"></a>
<p>To make a PostScript font available in a TeX document, you need to
install the font on your system and then define it within the document.
@@ -4089,97 +4087,97 @@ document thereafter and you don&rsquo;t need to reinstall it. You must have
an AFM file for any font you install. Unless the font is built into your
printer, you must also have a PFA or PFB file.
</p>
-<p>In the following examples, we use the font &lsquo;<samp>Times-Roman</samp>&rsquo; to
+<p>In the following examples, we use the font &lsquo;<samp class="samp">Times-Roman</samp>&rsquo; to
illustrate the process. But you should use the prebuilt fonts for Times
and the other standard fonts, rather than rebuilding them. The prebuilt
fonts are made using a more complicated process than that described
here, to make them work as well as possible with TeX. So following
the steps in this manual will not generate files identical to the
-distributed ones. See <a href="#PostScript-font-installation">PostScript font installation</a>, for pointers to
+distributed ones. See <a class="xref" href="#PostScript-font-installation">PostScript font installation</a>, for pointers to
the prebuilt fonts.
</p>
-<p>Installation of a PostScript font proceeds in three steps. See <a href="#Font-concepts">Font concepts</a>, for descriptions of the various files involved.
+<p>Installation of a PostScript font proceeds in three steps. See <a class="xref" href="#Font-concepts">Font concepts</a>, for descriptions of the various files involved.
</p>
-<ol>
-<li> Run <code>afm2tfm</code> to create a TFM file for the original font,
+<ol class="enumerate">
+<li> Run <code class="code">afm2tfm</code> to create a TFM file for the original font,
and the VPL form of the virtual font:
<div class="example">
-<pre class="example">afm2tfm Times-Roman -v ptmr rptmr
+<pre class="example-preformatted">afm2tfm Times-Roman -v ptmr rptmr
</pre></div>
-</li><li> Run <code>vptovf</code> to generate a VF and TFM file for the virtual font
+</li><li> Run <code class="code">vptovf</code> to generate a VF and TFM file for the virtual font
from the VPL file:
<div class="example">
-<pre class="example">vptovf ptmr.vpl ptmr.vf ptmr.tfm
+<pre class="example-preformatted">vptovf ptmr.vpl ptmr.vf ptmr.tfm
</pre></div>
-</li><li> Insert an entry for the font in <samp>psfonts.map</samp> (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>):
+</li><li> Insert an entry for the font in <samp class="file">psfonts.map</samp> (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>):
<div class="example">
-<pre class="example">rptmr Times-Roman &lt;ptmr8a.pfa
+<pre class="example-preformatted">rptmr Times-Roman &lt;ptmr8a.pfa
</pre></div>
</li><li> Install the files in the standard locations, as in:
<div class="example">
-<pre class="example">cp ptmr.vf <var>fontdir</var>/vf/&hellip;
-cp *ptmr.tfm <var>fontdir</var>/tfm/&hellip;
-cp ptmr.afm <var>fontdir</var>/afm/&hellip;
-cp ptmr.pf? <var>fontdir</var>/type1/&hellip;
+<pre class="example-preformatted">cp ptmr.vf <var class="var">fontdir</var>/vf/&hellip;
+cp *ptmr.tfm <var class="var">fontdir</var>/tfm/&hellip;
+cp ptmr.afm <var class="var">fontdir</var>/afm/&hellip;
+cp ptmr.pf? <var class="var">fontdir</var>/type1/&hellip;
</pre></div>
</li></ol>
<p>The simplest invocation of Afm2tfm to make virtual fonts goes something
like this:
</p>
-<span id="index-afm2tfm"></span>
+<a class="index-entry-id" id="index-afm2tfm"></a>
<div class="example">
-<pre class="example">afm2tfm Times-Roman -v ptmr rptmr
+<pre class="example-preformatted">afm2tfm Times-Roman -v ptmr rptmr
</pre></div>
-<p>This reads the file <samp>Times-Roman.afm</samp>, and produces two files as
-output, namely the virtual property list file <samp>ptmr.vpl</samp>, and the
-&ldquo;raw&rdquo; font metric file <samp>rptmr.tfm</samp>. To use the font in TeX,
+<p>This reads the file <samp class="file">Times-Roman.afm</samp>, and produces two files as
+output, namely the virtual property list file <samp class="file">ptmr.vpl</samp>, and the
+&ldquo;raw&rdquo; font metric file <samp class="file">rptmr.tfm</samp>. To use the font in TeX,
you first run
</p>
-<span id="index-vptovf"></span>
+<a class="index-entry-id" id="index-vptovf"></a>
<div class="example">
-<pre class="example">vptovf ptmr.vpl ptmr.vf ptmr.tfm
+<pre class="example-preformatted">vptovf ptmr.vpl ptmr.vf ptmr.tfm
</pre></div>
-<p>You should then install the virtual font file <samp>ptmr.vf</samp> where Dvips
-will see it and install <samp>ptmr.tfm</samp> and <samp>rptmr.tfm</samp> where
+<p>You should then install the virtual font file <samp class="file">ptmr.vf</samp> where Dvips
+will see it and install <samp class="file">ptmr.tfm</samp> and <samp class="file">rptmr.tfm</samp> where
TeX and Dvips will see them.
</p>
<p>Using these raw fonts is not recommended; there are no raw fonts in the
prebuilt PostScript fonts distributed along with Dvips. But
nevertheless, that&rsquo;s how Afm2tfm presently operates, so that&rsquo;s what we
-document here. The &lsquo;<samp>r</samp>&rsquo; prefix convention is likewise historical
+document here. The &lsquo;<samp class="samp">r</samp>&rsquo; prefix convention is likewise historical
accident.
</p>
-<p>You can also make more complex virtual fonts by editing <samp>ptmr.vpl</samp>
-before running &lsquo;<samp>vptovf</samp>&rsquo;; such editing might add the uppercase Greek
+<p>You can also make more complex virtual fonts by editing <samp class="file">ptmr.vpl</samp>
+before running &lsquo;<samp class="samp">vptovf</samp>&rsquo;; such editing might add the uppercase Greek
characters in the standard TeX positions, for instance. (This has
already been done for the prebuilt fonts.)
</p>
<p>Once the files have been installed, you&rsquo;re all set. You can now do
things like this in TeX:
</p><div class="example">
-<pre class="example">\font\myfont = ptmr at 12pt
+<pre class="example-preformatted">\font\myfont = ptmr at 12pt
\myfont Hello, I am being typeset in 12-point Times-Roman.
</pre></div>
-<p>Thus, we have two fonts, one actual (&lsquo;<samp>rptmr</samp>&rsquo;, which is analogous to
-the font in the printer) and one virtual (&lsquo;<samp>ptmr</samp>&rsquo;, which has been
+<p>Thus, we have two fonts, one actual (&lsquo;<samp class="samp">rptmr</samp>&rsquo;, which is analogous to
+the font in the printer) and one virtual (&lsquo;<samp class="samp">ptmr</samp>&rsquo;, which has been
remapped to the standard TeX encoding (almost)), and has typesetting
know-how added. You could also say
</p>
<div class="example">
-<pre class="example">\font\raw = rptmr at 10pt
+<pre class="example-preformatted">\font\raw = rptmr at 10pt
</pre></div>
<p>and typeset directly with that, but then you would have no ligatures or
kerning, and you would have to use Adobe character positions for special
letters like
-The virtual font &lsquo;<samp>ptmr</samp>&rsquo; not only has ligatures and kerning, and
+The virtual font &lsquo;<samp class="samp">ptmr</samp>&rsquo; not only has ligatures and kerning, and
most of the standard accent conventions of TeX, it also has a few
additional features not present in the Computer Modern fonts. For
example, it includes all the Adobe characters (such as the Polish ogonek
@@ -4187,40 +4185,40 @@ and the French guillemots). The only things you lose from ordinary
TeX text fonts are the dotless &lsquo;j&rsquo; (which can be hacked into the VPL
file with literal PostScript specials if you have the patience) and
uppercase Greek letters (which just don&rsquo;t exist unless you buy them
-separately). See <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>.
+separately). See <a class="xref" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>.
</p>
<p>As a final step you need to record information about both the virtual
font and the original font (if you ever might want to use it) in the
-<samp>psfonts.map</samp> file (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>). For our example, you&rsquo;d
-insert the following into <samp>psfonts.map</samp>:
+<samp class="file">psfonts.map</samp> file (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>). For our example, you&rsquo;d
+insert the following into <samp class="file">psfonts.map</samp>:
</p><div class="example">
-<pre class="example">rptmr Times-Roman &lt;ptmr8a.pfa
+<pre class="example-preformatted">rptmr Times-Roman &lt;ptmr8a.pfa
</pre></div>
-<p>Of course, <code>Times-Roman</code> is already built in to most every
+<p>Of course, <code class="code">Times-Roman</code> is already built in to most every
printer, so there&rsquo;s no need to download any Type 1 file for it. But if
you are actually following these instructions for new fonts, most likely
they are not built in to the printer.
</p>
-<span id="index-memory_002c-used-by-PostScript-fonts"></span>
-<span id="index-efficiency_002c-and-fonts"></span>
+<a class="index-entry-id" id="index-memory_002c-used-by-PostScript-fonts"></a>
+<a class="index-entry-id" id="index-efficiency_002c-and-fonts"></a>
<p>These PostScript fonts can be scaled to any size. Go wild! Using
PostScript fonts, however, does use up a great deal of the printer&rsquo;s
memory and it does take time. You may find downloading bitmap fonts
-(possibly compressed, with the &lsquo;<samp>Z</samp>&rsquo; option) to be faster than using
+(possibly compressed, with the &lsquo;<samp class="samp">Z</samp>&rsquo; option) to be faster than using
the built-in PostScript fonts.
</p>
<hr>
</div>
-<div class="section" id="Invoking-afm2tfm">
-<div class="header">
+<div class="section-level-extent" id="Invoking-afm2tfm">
+<div class="nav-panel">
<p>
-Next: <a href="#psfonts_002emap" accesskey="n" rel="next"><samp>psfonts.map</samp>: PostScript font catalog</a>, Previous: <a href="#Making-a-font-available" accesskey="p" rel="prev">Making a PostScript font available</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#psfonts_002emap" accesskey="n" rel="next"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>, Previous: <a href="#Making-a-font-available" accesskey="p" rel="prev">Making a PostScript font available</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Invoking-Afm2tfm"></span><h3 class="section">6.3 Invoking Afm2tfm</h3>
+<h3 class="section" id="Invoking-Afm2tfm">6.3 Invoking Afm2tfm</h3>
-<span id="index-afm2tfm-1"></span>
+<a class="index-entry-id" id="index-afm2tfm-1"></a>
<p>The Afm2tfm program converts an AFM file for a PostScript font to a TFM
file and a VPL file for a corresponding virtual font (or, in its
@@ -4229,135 +4227,135 @@ results of the conversion are affected by the command-line options and
especially by the reencodings you can specify with those options. You
can also obtain special effects such as an oblique font.
</p>
-<span id="index-fontinst"></span>
-<span id="index-virtual-fonts_002c-creating"></span>
-<span id="index-Jeffrey_002c-Alan"></span>
+<a class="index-entry-id" id="index-fontinst"></a>
+<a class="index-entry-id" id="index-virtual-fonts_002c-creating"></a>
+<a class="index-entry-id" id="index-Jeffrey_002c-Alan"></a>
<p>Alternatives to Afm2tfm for creating virtual fonts include
-<code>fontinst</code> <a href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>,
-<code>lcdf-typetools</code>, particularly <code>otftotfm</code>
-(<a href="https://ctan.org/pkg/lcdf-typetools">https://ctan.org/pkg/lcdf-typetools</a>), and <code>afm2pl</code>
-(<a href="http://tex.aanhet.net/afm2pl/">http://tex.aanhet.net/afm2pl/</a>), among others.
+<code class="code">fontinst</code> <a class="url" href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>,
+<code class="code">lcdf-typetools</code>, particularly <code class="code">otftotfm</code>
+(<a class="url" href="https://ctan.org/pkg/lcdf-typetools">https://ctan.org/pkg/lcdf-typetools</a>), and <code class="code">afm2pl</code>
+(<a class="url" href="http://tex.aanhet.net/afm2pl/">http://tex.aanhet.net/afm2pl/</a>), among others.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Changing-font-encodings" accesskey="1">Changing font encodings</a></li>
<li><a href="#Special-font-effects" accesskey="2">Special font effects</a></li>
<li><a href="#Afm2tfm-options" accesskey="3">Afm2tfm options</a></li>
</ul>
<hr>
-<div class="subsection" id="Changing-font-encodings">
-<div class="header">
+<div class="subsection-level-extent" id="Changing-font-encodings">
+<div class="nav-panel">
<p>
Next: <a href="#Special-font-effects" accesskey="n" rel="next">Special font effects</a>, Up: <a href="#Invoking-afm2tfm" accesskey="u" rel="up">Invoking Afm2tfm</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Changing-font-encodings-1"></span><h4 class="subsection">6.3.1 Changing font encodings</h4>
+<h4 class="subsection" id="Changing-font-encodings-1">6.3.1 Changing font encodings</h4>
-<span id="index-encoding-changes"></span>
-<span id="index-fonts_002c-changing-encoding-of"></span>
+<a class="index-entry-id" id="index-encoding-changes"></a>
+<a class="index-entry-id" id="index-fonts_002c-changing-encoding-of"></a>
<p>Afm2tfm allows you to specify a different encoding for a PostScript font
-(for a general introduction to encodings, see <a href="#Encodings">Encodings</a>). The
-&lsquo;<samp>-t</samp>&rsquo; option changes the TeX encoding, &lsquo;<samp>-p</samp>&rsquo; changes the
-PostScript encoding, and &lsquo;<samp>-T</samp>&rsquo; changes both simultaneously, as
+(for a general introduction to encodings, see <a class="pxref" href="#Encodings">Encodings</a>). The
+&lsquo;<samp class="samp">-t</samp>&rsquo; option changes the TeX encoding, &lsquo;<samp class="samp">-p</samp>&rsquo; changes the
+PostScript encoding, and &lsquo;<samp class="samp">-T</samp>&rsquo; changes both simultaneously, as
detailed in the sections below.
</p>
-<ul class="section-toc">
-<li><a href="#Changing-TeX-encodings" accesskey="1">&lsquo;<samp>-t</samp>&rsquo;: Changing TeX encodings</a></li>
-<li><a href="#Changing-PostScript-encodings" accesskey="2">&lsquo;<samp>-p</samp>&rsquo;: Changing PostScript encodings</a></li>
-<li><a href="#Changing-both-encodings" accesskey="3">&lsquo;<samp>-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a></li>
+<ul class="mini-toc">
+<li><a href="#Changing-TeX-encodings" accesskey="1">&lsquo;<samp class="samp">-t</samp>&rsquo;: Changing TeX encodings</a></li>
+<li><a href="#Changing-PostScript-encodings" accesskey="2">&lsquo;<samp class="samp">-p</samp>&rsquo;: Changing PostScript encodings</a></li>
+<li><a href="#Changing-both-encodings" accesskey="3">&lsquo;<samp class="samp">-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a></li>
<li><a href="#Reencoding-with-Afm2tfm" accesskey="4">Reencoding with Afm2tfm</a></li>
<li><a href="#Encoding-file-format" accesskey="5">Encoding file format</a></li>
</ul>
<hr>
-<div class="subsubsection" id="Changing-TeX-encodings">
-<div class="header">
+<div class="subsubsection-level-extent" id="Changing-TeX-encodings">
+<div class="nav-panel">
<p>
-Next: <a href="#Changing-PostScript-encodings" accesskey="n" rel="next">&lsquo;<samp>-p</samp>&rsquo;: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Changing-PostScript-encodings" accesskey="n" rel="next">&lsquo;<samp class="samp">-p</samp>&rsquo;: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="g_t_002dt_003a-Changing-TeX-encodings"></span><h4 class="subsubsection">6.3.1.1 &lsquo;<samp>-t</samp>&rsquo;: Changing TeX encodings</h4>
+<h4 class="subsubsection" id="g_t_002dt_003a-Changing-TeX-encodings">6.3.1.1 &lsquo;<samp class="samp">-t</samp>&rsquo;: Changing TeX encodings</h4>
-<span id="index-changing-TeX-encodings"></span>
-<span id="index-TeX-encoding_002c-changing"></span>
+<a class="index-entry-id" id="index-changing-TeX-encodings"></a>
+<a class="index-entry-id" id="index-TeX-encoding_002c-changing"></a>
-<span id="index-_002dt-tex_002denc"></span>
-<p>To build a virtual font with Afm2tfm, you specify the &lsquo;<samp>-v</samp>&rsquo; or
-&lsquo;<samp>-V</samp>&rsquo; option. You can then specify an encoding for that virtual font
-with &lsquo;<samp>-t <var>tex-enc</var></samp>&rsquo;. (&lsquo;<samp>-t</samp>&rsquo; is ignored if neither
-&lsquo;<samp>-v</samp>&rsquo; nor &lsquo;<samp>-V</samp>&rsquo; is present.) Any ligature and kerning
-information you specify in <var>tex-enc</var> will be used in the VPL, in
+<a class="index-entry-id" id="index-_002dt-tex_002denc"></a>
+<p>To build a virtual font with Afm2tfm, you specify the &lsquo;<samp class="samp">-v</samp>&rsquo; or
+&lsquo;<samp class="samp">-V</samp>&rsquo; option. You can then specify an encoding for that virtual font
+with &lsquo;<samp class="samp">-t <var class="var">tex-enc</var></samp>&rsquo;. (&lsquo;<samp class="samp">-t</samp>&rsquo; is ignored if neither
+&lsquo;<samp class="samp">-v</samp>&rsquo; nor &lsquo;<samp class="samp">-V</samp>&rsquo; is present.) Any ligature and kerning
+information you specify in <var class="var">tex-enc</var> will be used in the VPL, in
addition to the ligature and kerning information from the AFM file.
</p>
-<p>If the AFM file has no entry for a character specified in <var>tex-enc</var>,
+<p>If the AFM file has no entry for a character specified in <var class="var">tex-enc</var>,
that character will be omitted from the output VPL.
</p>
-<span id="index-texmsym_002eenc-1"></span>
-<p>The &lsquo;<samp>-t</samp>&rsquo; option is likely to be needed when you have a PostScript
+<a class="index-entry-id" id="index-texmsym_002eenc-1"></a>
+<p>The &lsquo;<samp class="samp">-t</samp>&rsquo; option is likely to be needed when you have a PostScript
font corresponding to a TeX font other than a normal text font such
as Computer Modern. For instance, if you have a PostScript font that
contains math symbols, you&rsquo;d probably want to use the encoding in the
-<samp>texmsym.enc</samp> file supplied with Dvips. (For a start; to actually
+<samp class="file">texmsym.enc</samp> file supplied with Dvips. (For a start; to actually
get usable math fonts, you have to define much more than just an
encoding.)
</p>
<hr>
</div>
-<div class="subsubsection" id="Changing-PostScript-encodings">
-<div class="header">
+<div class="subsubsection-level-extent" id="Changing-PostScript-encodings">
+<div class="nav-panel">
<p>
-Next: <a href="#Changing-both-encodings" accesskey="n" rel="next">&lsquo;<samp>-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a>, Previous: <a href="#Changing-TeX-encodings" accesskey="p" rel="prev">&lsquo;<samp>-t</samp>&rsquo;: Changing TeX encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Changing-both-encodings" accesskey="n" rel="next">&lsquo;<samp class="samp">-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a>, Previous: <a href="#Changing-TeX-encodings" accesskey="p" rel="prev">&lsquo;<samp class="samp">-t</samp>&rsquo;: Changing TeX encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="g_t_002dp_003a-Changing-PostScript-encodings"></span><h4 class="subsubsection">6.3.1.2 &lsquo;<samp>-p</samp>&rsquo;: Changing PostScript encodings</h4>
+<h4 class="subsubsection" id="g_t_002dp_003a-Changing-PostScript-encodings">6.3.1.2 &lsquo;<samp class="samp">-p</samp>&rsquo;: Changing PostScript encodings</h4>
-<span id="index-changing-PostScript-encodings"></span>
-<span id="index-PostScript-encoding_002c-changing"></span>
-<span id="index-_002dp-ps_002denc"></span>
+<a class="index-entry-id" id="index-changing-PostScript-encodings"></a>
+<a class="index-entry-id" id="index-PostScript-encoding_002c-changing"></a>
+<a class="index-entry-id" id="index-_002dp-ps_002denc"></a>
<p>By default, Afm2tfm uses the encoding it finds in the AFM file. You can
-specify a different PostScript encoding with &lsquo;<samp>-p <var>ps-enc</var></samp>&rsquo;.
+specify a different PostScript encoding with &lsquo;<samp class="samp">-p <var class="var">ps-enc</var></samp>&rsquo;.
This makes the raw TFM file (the one output by Afm2tfm) have the
-encoding specified in the encoding file <var>ps-enc</var>. Any ligature or
-kern information specified in <var>ps-enc</var> is ignored by Afm2tfm, since
+encoding specified in the encoding file <var class="var">ps-enc</var>. Any ligature or
+kern information specified in <var class="var">ps-enc</var> is ignored by Afm2tfm, since
ligkern info is always omitted from the raw TFM.
</p>
-<p>If you use this option, you must also arrange to download <var>ps-enc</var>
+<p>If you use this option, you must also arrange to download <var class="var">ps-enc</var>
as part of any document that uses this font. You do this by adding a
-line like the following one to <samp>psfonts.map</samp> (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>):
+line like the following one to <samp class="file">psfonts.map</samp> (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>):
</p><div class="example">
-<pre class="example">zpopr Optima &quot;MyEncoding ReEncodeFont&quot; &lt;myenc.enc
+<pre class="example-preformatted">zpopr Optima &quot;MyEncoding ReEncodeFont&quot; &lt;myenc.enc
</pre></div>
-<span id="index-trademark-character_002c-accessing"></span>
-<span id="index-registered-character_002c-accessing"></span>
-<span id="index-extra-characters_002c-accessing"></span>
-<p>Using &lsquo;<samp>-p</samp>&rsquo; is the only way to access characters in a PostScript
+<a class="index-entry-id" id="index-trademark-character_002c-accessing"></a>
+<a class="index-entry-id" id="index-registered-character_002c-accessing"></a>
+<a class="index-entry-id" id="index-extra-characters_002c-accessing"></a>
+<p>Using &lsquo;<samp class="samp">-p</samp>&rsquo; is the only way to access characters in a PostScript
font that are neither encoded in the AFM file nor constructed from other
-characters. For instance, Adobe&rsquo;s &lsquo;<samp>Times-Roman</samp>&rsquo; font contains the
-extra characters &lsquo;<samp>trademark</samp>&rsquo; and &lsquo;<samp>registered</samp>&rsquo; (among others);
+characters. For instance, Adobe&rsquo;s &lsquo;<samp class="samp">Times-Roman</samp>&rsquo; font contains the
+extra characters &lsquo;<samp class="samp">trademark</samp>&rsquo; and &lsquo;<samp class="samp">registered</samp>&rsquo; (among others);
these can only be accessed through such a PostScript reencoding.
</p>
-<span id="index-8r-encoding_002c-and-extra-characters"></span>
+<a class="index-entry-id" id="index-8r-encoding_002c-and-extra-characters"></a>
<p>The &lsquo;8r&rsquo; base encoding used for the current PostScript font
distribution does do this reencoding, for precisely this reason.
</p>
<hr>
</div>
-<div class="subsubsection" id="Changing-both-encodings">
-<div class="header">
+<div class="subsubsection-level-extent" id="Changing-both-encodings">
+<div class="nav-panel">
<p>
-Next: <a href="#Reencoding-with-Afm2tfm" accesskey="n" rel="next">Reencoding with Afm2tfm</a>, Previous: <a href="#Changing-PostScript-encodings" accesskey="p" rel="prev">&lsquo;<samp>-p</samp>&rsquo;: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Reencoding-with-Afm2tfm" accesskey="n" rel="next">Reencoding with Afm2tfm</a>, Previous: <a href="#Changing-PostScript-encodings" accesskey="p" rel="prev">&lsquo;<samp class="samp">-p</samp>&rsquo;: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="g_t_002dT_003a-Changing-both-TeX-and-PostScript-encodings"></span><h4 class="subsubsection">6.3.1.3 &lsquo;<samp>-T</samp>&rsquo;: Changing both TeX and PostScript encodings</h4>
+<h4 class="subsubsection" id="g_t_002dT_003a-Changing-both-TeX-and-PostScript-encodings">6.3.1.3 &lsquo;<samp class="samp">-T</samp>&rsquo;: Changing both TeX and PostScript encodings</h4>
-<span id="index-_002dT-enc_002dfile"></span>
+<a class="index-entry-id" id="index-_002dT-enc_002dfile"></a>
-<p>The option &lsquo;<samp>-T <var>enc-file</var></samp>&rsquo; is equivalent to &lsquo;<samp>-p
-<var>enc-file</var> -t <var>enc-file</var></samp>&rsquo;. If you make regular use of a private
-non-standard reencoding &lsquo;<samp>-T</samp>&rsquo; is usually a better idea than the
+<p>The option &lsquo;<samp class="samp">-T <var class="var">enc-file</var></samp>&rsquo; is equivalent to &lsquo;<samp class="samp">-p
+<var class="var">enc-file</var> -t <var class="var">enc-file</var></samp>&rsquo;. If you make regular use of a private
+non-standard reencoding &lsquo;<samp class="samp">-T</samp>&rsquo; is usually a better idea than the
individual options, to avoid unexpected inconsistencies in mapping
otherwise. An example of when you might use this option is a dingbats
font: when you have a TeX encoding that is designed to be used with a
@@ -4366,18 +4364,18 @@ particular PostScript font.
<hr>
</div>
-<div class="subsubsection" id="Reencoding-with-Afm2tfm">
-<div class="header">
+<div class="subsubsection-level-extent" id="Reencoding-with-Afm2tfm">
+<div class="nav-panel">
<p>
-Next: <a href="#Encoding-file-format" accesskey="n" rel="next">Encoding file format</a>, Previous: <a href="#Changing-both-encodings" accesskey="p" rel="prev">&lsquo;<samp>-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Encoding-file-format" accesskey="n" rel="next">Encoding file format</a>, Previous: <a href="#Changing-both-encodings" accesskey="p" rel="prev">&lsquo;<samp class="samp">-T</samp>&rsquo;: Changing both TeX and PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Reencoding-with-Afm2tfm-1"></span><h4 class="subsubsection">6.3.1.4 Reencoding with Afm2tfm</h4>
+<h4 class="subsubsection" id="Reencoding-with-Afm2tfm-1">6.3.1.4 Reencoding with Afm2tfm</h4>
-<span id="index-reencoding"></span>
-<span id="index-remapping"></span>
+<a class="index-entry-id" id="index-reencoding"></a>
+<a class="index-entry-id" id="index-remapping"></a>
<p>The Afm2tfm program creates the TFM and VF files for the virtual font
-corresponding to a PostScript font by <em>reencoding</em> the PostScript
+corresponding to a PostScript font by <em class="dfn">reencoding</em> the PostScript
font. Afm2tfm generates these files from two encodings: one for TeX
and one for PostScript. The TeX encoding is used to map character
numbers to character names while the PostScript encoding is used to map
@@ -4385,46 +4383,46 @@ each character name to a possibly different number. In combination, you
can get access to any character of a PostScript font at any position for
TeX typesetting.
</p>
-<p>In the default case, when you specify none of the <code>-t</code>, <code>-p</code>,
-or <code>-T</code> options, Afm2tfm uses a default TeX encoding (which
+<p>In the default case, when you specify none of the <code class="code">-t</code>, <code class="code">-p</code>,
+or <code class="code">-T</code> options, Afm2tfm uses a default TeX encoding (which
mostly corresponds to the Computer Modern text fonts) and the PostScript
encoding found in the AFM file being read. The reencoding is also
-sometimes called a <em>remapping</em>.
+sometimes called a <em class="dfn">remapping</em>.
</p>
<p>For example, the default encodings reencode the acute accent in two
steps: first the default TeX encoding maps the number 19 to the
-character name &lsquo;<samp>acute</samp>&rsquo;; then the default PostScript encoding, as
+character name &lsquo;<samp class="samp">acute</samp>&rsquo;; then the default PostScript encoding, as
found in the AFM file for an ordinary PostScript font, maps the
-character name &lsquo;<samp>acute</samp>&rsquo; to the number 194. (The PostScript encoding
+character name &lsquo;<samp class="samp">acute</samp>&rsquo; to the number 194. (The PostScript encoding
works in reverse, by looking in the encoding vector for the name and
then yielding the corresponding number.) The combined mapping of 19 to
194 shows up explicitly in the VF file and also implicitly in the fact
that the properties of PostScript character 194 appear in position 19 of
the TFM file for the virtual font.
</p>
-<span id="index-accents_002c-in-wrong-position"></span>
-<span id="index-Hungarian-umlaut"></span>
-<span id="index-dot-accent"></span>
-<span id="index-Scandinavian-A-ring"></span>
-<span id="index-A-ring_002c-Scandinavian-letter"></span>
-<p>The default encoding of the distributed fonts (e.g., <samp>ptmr.tfm</samp>)
+<a class="index-entry-id" id="index-accents_002c-in-wrong-position"></a>
+<a class="index-entry-id" id="index-Hungarian-umlaut"></a>
+<a class="index-entry-id" id="index-dot-accent"></a>
+<a class="index-entry-id" id="index-Scandinavian-A-ring"></a>
+<a class="index-entry-id" id="index-A-ring_002c-Scandinavian-letter"></a>
+<p>The default encoding of the distributed fonts (e.g., <samp class="file">ptmr.tfm</samp>)
mostly follows plain TeX conventions for accents. The exceptions:
-the Hungarian umlaut (which is at position <code>0x7D</code> in &lsquo;<samp>cmr10</samp>&rsquo;,
-but position <code>0xCD</code> in &lsquo;<samp>ptmr</samp>&rsquo;); the dot accent (at positions
-<code>0x5F</code> and <code>0xC7</code>, respectively); and the Scandinavian A ring
-<code>\AA</code>, whose definition needs different tweaking. In order to use
+the Hungarian umlaut (which is at position <code class="code">0x7D</code> in &lsquo;<samp class="samp">cmr10</samp>&rsquo;,
+but position <code class="code">0xCD</code> in &lsquo;<samp class="samp">ptmr</samp>&rsquo;); the dot accent (at positions
+<code class="code">0x5F</code> and <code class="code">0xC7</code>, respectively); and the Scandinavian A ring
+<code class="code">\AA</code>, whose definition needs different tweaking. In order to use
these accents with PostScript fonts or in math mode when
-<code>\textfont0</code> is a PostScript font, you will need to use the
+<code class="code">\textfont0</code> is a PostScript font, you will need to use the
following definitions. These definitions will not work with the
Computer Modern fonts for the relevant accents. They are already part
-of the distributed <samp>psfonts.sty</samp> for use with LaTeX.
+of the distributed <samp class="file">psfonts.sty</samp> for use with LaTeX.
</p>
-<span id="index-_005cH"></span>
-<span id="index-_005c_002e"></span>
-<span id="index-_005cdot"></span>
-<span id="index-_005cAA"></span>
+<a class="index-entry-id" id="index-_005cH"></a>
+<a class="index-entry-id" id="index-_005c_002e"></a>
+<a class="index-entry-id" id="index-_005cdot"></a>
+<a class="index-entry-id" id="index-_005cAA"></a>
<div class="example">
-<pre class="example">\def\H#1{{\accent&quot;CD #1}}
+<pre class="example-preformatted">\def\H#1{{\accent&quot;CD #1}}
\def\.#1{{\accent&quot;C7 #1}}
\def\dot{\mathaccent&quot;70C7 }
\newdimen\aadimen
@@ -4433,59 +4431,59 @@ of the distributed <samp>psfonts.sty</samp> for use with LaTeX.
\hbox to \wd0{\hss\char'27\hss}}A}
</pre></div>
-<span id="index-CODINGSCHEME"></span>
-<p>As a kind of summary, here are the &lsquo;<samp>CODINGSCHEME</samp>&rsquo;s that result from
+<a class="index-entry-id" id="index-CODINGSCHEME"></a>
+<p>As a kind of summary, here are the &lsquo;<samp class="samp">CODINGSCHEME</samp>&rsquo;s that result from
the various possible choices for reencoding.
</p>
-<dl compact="compact">
-<dt><span>default encoding</span></dt>
+<dl class="table">
+<dt>default encoding</dt>
<dd><div class="example">
-<pre class="example">(CODINGSCHEME TeX text + AdobeStandardEncoding)
+<pre class="example-preformatted">(CODINGSCHEME TeX text + AdobeStandardEncoding)
</pre></div>
</dd>
-<dt><span>&lsquo;<samp>-p dc.enc</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">-p dc.enc</samp>&rsquo;</dt>
<dd><div class="example">
-<pre class="example">(CODINGSCHEME TeX text + DCEncoding)
+<pre class="example-preformatted">(CODINGSCHEME TeX text + DCEncoding)
</pre></div>
</dd>
-<dt><span>&lsquo;<samp>-t dc.enc</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">-t dc.enc</samp>&rsquo;</dt>
<dd><div class="example">
-<pre class="example">(CODINGSCHEME DCEncoding + AdobeStandardEncoding)
+<pre class="example-preformatted">(CODINGSCHEME DCEncoding + AdobeStandardEncoding)
</pre></div>
</dd>
-<dt><span>&lsquo;<samp>-T dc.enc</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">-T dc.enc</samp>&rsquo;</dt>
<dd><div class="example">
-<pre class="example">(CODINGSCHEME DCEncoding + DCEncoding)
+<pre class="example-preformatted">(CODINGSCHEME DCEncoding + DCEncoding)
</pre></div>
</dd>
</dl>
-<p>The &lsquo;<samp>CODINGSCHEME</samp>&rsquo; line appears in the VPL file but is
+<p>The &lsquo;<samp class="samp">CODINGSCHEME</samp>&rsquo; line appears in the VPL file but is
ignored by Dvips.
</p>
<hr>
</div>
-<div class="subsubsection" id="Encoding-file-format">
-<div class="header">
+<div class="subsubsection-level-extent" id="Encoding-file-format">
+<div class="nav-panel">
<p>
Previous: <a href="#Reencoding-with-Afm2tfm" accesskey="p" rel="prev">Reencoding with Afm2tfm</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Encoding-file-format-1"></span><h4 class="subsubsection">6.3.1.5 Encoding file format</h4>
+<h4 class="subsubsection" id="Encoding-file-format-1">6.3.1.5 Encoding file format</h4>
-<span id="index-encoding-file-format"></span>
+<a class="index-entry-id" id="index-encoding-file-format"></a>
<p>Afm2tfm&rsquo;s encoding files have the same format as an encoding vector in a
PostScript font. Here is a skeletal example:
</p>
<div class="example">
-<pre class="example">% <span class="roman">Comments are ignored, unless the first word after the percent sign</span>
-% <span class="roman">is &lsquo;<samp>LIGKERN</samp>&rsquo;; see below.</span>
-/MyEncoding [ % <span class="roman">exactly 256 entries follow, each with a leading &lsquo;<samp>/</samp>&rsquo;</span>
+<pre class="example-preformatted">% <span class="r">Comments are ignored, unless the first word after the percent sign</span>
+% <span class="r">is &lsquo;<samp class="samp">LIGKERN</samp>&rsquo;; see below.</span>
+/MyEncoding [ % <span class="r">exactly 256 entries follow, each with a leading &lsquo;<samp class="samp">/</samp>&rsquo;</span>
/Alpha /Beta /Gamma /Delta &hellip;
/A /B &hellip; /Z
&hellip; /.notdef /xfooaccent /yfooaccent /zfooaccent
@@ -4495,77 +4493,77 @@ PostScript font. Here is a skeletal example:
<p>These encoding files are downloaded as part of changing the encoding at
the PostScript level (see the previous section).
</p>
-<span id="index-comments_002c-in-encoding-files"></span>
+<a class="index-entry-id" id="index-comments_002c-in-encoding-files"></a>
<p>Comments, which start with a percent sign and continue until the end
-of the line, are ignored unless they start with &lsquo;<samp>LIGKERN</samp>&rsquo; (see below).
+of the line, are ignored unless they start with &lsquo;<samp class="samp">LIGKERN</samp>&rsquo; (see below).
</p>
<p>The first non-comment word of the file must start with a forward slash
-&lsquo;<samp>/</samp>&rsquo; (i.e., a PostScript literal name) and defines the name of the
-encoding. The next word must be an left bracket &lsquo;<samp>[</samp>&rsquo;. Following
-that must be precisely 256 character names; use &lsquo;<samp>/.notdef</samp>&rsquo; for any
+&lsquo;<samp class="samp">/</samp>&rsquo; (i.e., a PostScript literal name) and defines the name of the
+encoding. The next word must be an left bracket &lsquo;<samp class="samp">[</samp>&rsquo;. Following
+that must be precisely 256 character names; use &lsquo;<samp class="samp">/.notdef</samp>&rsquo; for any
that you want to leave undefined. Then there must be a matching right
-bracket <code>]</code>. A final &lsquo;<samp>def</samp>&rsquo; token is optional. All names are
+bracket <code class="code">]</code>. A final &lsquo;<samp class="samp">def</samp>&rsquo; token is optional. All names are
case-sensitive.
</p>
<p>Any ligature or kern information is given as a comment. If the first
-word after the &lsquo;<samp>%</samp>&rsquo; is &lsquo;<samp>LIGKERN</samp>&rsquo;, then the entire rest of the
+word after the &lsquo;<samp class="samp">%</samp>&rsquo; is &lsquo;<samp class="samp">LIGKERN</samp>&rsquo;, then the entire rest of the
line is parsed for ligature and kern information. This ligature and
kern information is given in groups of words: each group is terminated
by a space and a semicolon and (unless the semicolon is at the end of a
line) another space.
</p>
-<span id="index-LIGKERN-encoding-file-command"></span>
-<p>In these <code>LIGKERN</code> statements, three types of information may be
+<a class="index-entry-id" id="index-LIGKERN-encoding-file-command"></a>
+<p>In these <code class="code">LIGKERN</code> statements, three types of information may be
specified. These three types are ligature pairs, kerns to ignore, and
the character value of this font&rsquo;s boundary character.
</p>
-<span id="index-boundary-character"></span>
-<p>Throughout a <code>LIGKERN</code> statement, the boundary character is
-specified as &lsquo;<samp>||</samp>&rsquo;. To set the font&rsquo;s boundary character value for
+<a class="index-entry-id" id="index-boundary-character"></a>
+<p>Throughout a <code class="code">LIGKERN</code> statement, the boundary character is
+specified as &lsquo;<samp class="samp">||</samp>&rsquo;. To set the font&rsquo;s boundary character value for
TeX:
</p>
<div class="example">
-<pre class="example">% LIGKERN || = 39 ;
+<pre class="example-preformatted">% LIGKERN || = 39 ;
</pre></div>
<p>To indicate a kern to remove, give the names of the two characters
-(without the leading slash) separated by &lsquo;<samp>{}</samp>&rsquo;, as in &lsquo;<samp>one
+(without the leading slash) separated by &lsquo;<samp class="samp">{}</samp>&rsquo;, as in &lsquo;<samp class="samp">one
{} one ;</samp>&rsquo;. This is intended to be reminiscent of the way you might
-use &lsquo;<samp>{}</samp>&rsquo; in a TeX file to turn off ligatures or kerns at a
+use &lsquo;<samp class="samp">{}</samp>&rsquo; in a TeX file to turn off ligatures or kerns at a
particular location. Either or both of the character names can be given
-as &lsquo;<samp>*</samp>&rsquo;, which is a wild card matching any character; thus, all
-kerns can be removed with &lsquo;<samp>* {} * ;</samp>&rsquo;.
+as &lsquo;<samp class="samp">*</samp>&rsquo;, which is a wild card matching any character; thus, all
+kerns can be removed with &lsquo;<samp class="samp">* {} * ;</samp>&rsquo;.
</p>
-<span id="index-ligature-operations"></span>
-<span id="index-Metafont-ligature-operations"></span>
+<a class="index-entry-id" id="index-ligature-operations"></a>
+<a class="index-entry-id" id="index-Metafont-ligature-operations"></a>
<p>To specify a ligature, specify the names of the pair of characters,
followed by the ligature operation (as in Metafont), followed by the
replacing character name. Either (but not both) of the first two
-characters can be &lsquo;<samp>||</samp>&rsquo; to indicate a word boundary.
+characters can be &lsquo;<samp class="samp">||</samp>&rsquo; to indicate a word boundary.
</p>
-<span id="index-_003d_003a-ligature-operation"></span>
-<p>The most common operation is &lsquo;<samp>=:</samp>&rsquo; meaning that both characters are
-removed and replaced by the third character, but by adding the &lsquo;<samp>|</samp>&rsquo;
-character on either side of the &lsquo;<samp>=:</samp>&rsquo;, you can retain either or both
+<a class="index-entry-id" id="index-_003d_003a-ligature-operation"></a>
+<p>The most common operation is &lsquo;<samp class="samp">=:</samp>&rsquo; meaning that both characters are
+removed and replaced by the third character, but by adding the &lsquo;<samp class="samp">|</samp>&rsquo;
+character on either side of the &lsquo;<samp class="samp">=:</samp>&rsquo;, you can retain either or both
of the two leading characters. In addition, by suffixing the ligature
-operation with one or two &lsquo;<samp>&gt;</samp>&rsquo; signs, you can make the ligature
+operation with one or two &lsquo;<samp class="samp">&gt;</samp>&rsquo; signs, you can make the ligature
scanning operation skip that many resulting characters before
proceeding. This works just like in Metafont. For example, the &lsquo;fi&rsquo;
-ligature is specified with &lsquo;<samp>f&nbsp;i&nbsp;=:&nbsp;fi&nbsp;;</samp>&rsquo;<!-- /@w -->. A more convoluted
-ligature is &lsquo;<samp>one one |=:|&gt;&gt; exclam ;</samp>&rsquo; which separates a pair of
-adjacent <code>1</code>&rsquo;s with an exclamation point, and then skips over two
+ligature is specified with &lsquo;<samp class="samp">f&nbsp;i&nbsp;=:&nbsp;fi&nbsp;;</samp>&rsquo;<!-- /@w -->. A more convoluted
+ligature is &lsquo;<samp class="samp">one one |=:|&gt;&gt; exclam ;</samp>&rsquo; which separates a pair of
+adjacent <code class="code">1</code>&rsquo;s with an exclamation point, and then skips over two
of the resulting characters before continuing searching for ligatures
-and kerns. You cannot give more <tt>&gt;</tt>&rsquo;s than <tt>|</tt>&rsquo;s in an ligature
+and kerns. You cannot give more <code class="t">&gt;</code>&rsquo;s than <code class="t">|</code>&rsquo;s in an ligature
operation, so there are a total of eight possibilities:
</p>
<div class="example">
-<pre class="example">=: |=: |=:&gt; =:| =:|&gt; |=:| |=:|&gt; |=:|&gt;&gt;
+<pre class="example-preformatted">=: |=: |=:&gt; =:| =:|&gt; |=:| |=:|&gt; |=:|&gt;&gt;
</pre></div>
<p>The default set of ligatures and kerns built in to Afm2tfm is:
</p>
<div class="example">
-<pre class="example">% LIGKERN question quoteleft =: questiondown ;
+<pre class="example-preformatted">% LIGKERN question quoteleft =: questiondown ;
% LIGKERN exclam quoteleft =: exclamdown ;
% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
% LIGKERN quoteleft quoteleft =: quotedblleft ;
@@ -4580,63 +4578,63 @@ operation, so there are a total of eight possibilities:
<hr>
</div>
</div>
-<div class="subsection" id="Special-font-effects">
-<div class="header">
+<div class="subsection-level-extent" id="Special-font-effects">
+<div class="nav-panel">
<p>
Next: <a href="#Afm2tfm-options" accesskey="n" rel="next">Afm2tfm options</a>, Previous: <a href="#Changing-font-encodings" accesskey="p" rel="prev">Changing font encodings</a>, Up: <a href="#Invoking-afm2tfm" accesskey="u" rel="up">Invoking Afm2tfm</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Special-font-effects-1"></span><h4 class="subsection">6.3.2 Special font effects</h4>
+<h4 class="subsection" id="Special-font-effects-1">6.3.2 Special font effects</h4>
-<span id="index-oblique-fonts"></span>
-<span id="index-slanted-fonts"></span>
-<span id="index-fonts_002c-slanted"></span>
+<a class="index-entry-id" id="index-oblique-fonts"></a>
+<a class="index-entry-id" id="index-slanted-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-slanted"></a>
<p>Besides the reencodings described in the previous section, Afm2tfm can
do other manipulations. (Again, it&rsquo;s best to use the prebuilt fonts
rather than attempting to remake them.)
</p>
-<p>&lsquo;<samp>-s <var>slant</var></samp>&rsquo; makes an obliqued variant, as in:
+<p>&lsquo;<samp class="samp">-s <var class="var">slant</var></samp>&rsquo; makes an obliqued variant, as in:
</p>
<div class="example">
-<pre class="example">afm2tfm Times-Roman -s .167 -v ptmro rptmro
+<pre class="example-preformatted">afm2tfm Times-Roman -s .167 -v ptmro rptmro
</pre></div>
-<p>This creates <samp>ptmro.vpl</samp> and <samp>rptmro.tfm</samp>. To use this font,
+<p>This creates <samp class="file">ptmro.vpl</samp> and <samp class="file">rptmro.tfm</samp>. To use this font,
put the line
</p>
-<span id="index-SlantFont"></span>
+<a class="index-entry-id" id="index-SlantFont"></a>
<div class="example">
-<pre class="example">rptmro Times-Roman &quot;.167 SlantFont&quot;
+<pre class="example-preformatted">rptmro Times-Roman &quot;.167 SlantFont&quot;
</pre></div>
-<p><span id="index-psfonts_002emap-1"></span>
-into <samp>psfonts.map</samp>. Then &lsquo;<samp>rptmro</samp>&rsquo; (our name for the obliqued
+<a class="index-entry-id" id="index-psfonts_002emap-1"></a>
+<p>into <samp class="file">psfonts.map</samp>. Then &lsquo;<samp class="samp">rptmro</samp>&rsquo; (our name for the obliqued
Times) will act as if it were a resident font, although it is actually
-constructed from Times-Roman via the PostScript routine <code>SlantFont</code>
+constructed from Times-Roman via the PostScript routine <code class="code">SlantFont</code>
(which will slant everything 1/6 to the right, in this case).
</p>
-<span id="index-expanded-fonts"></span>
-<span id="index-fonts_002c-expanded"></span>
+<a class="index-entry-id" id="index-expanded-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-expanded"></a>
<p>Similarly, you can get an expanded font with
</p>
<div class="example">
-<pre class="example">afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre
+<pre class="example-preformatted">afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre
</pre></div>
<p>and by recording the pseudo-resident font
-<span id="index-ExtendFont"></span>
+<a class="index-entry-id" id="index-ExtendFont"></a>
</p>
<div class="example">
-<pre class="example">rptmrre Times-Roman &quot;1.2 ExtendFont&quot;
+<pre class="example-preformatted">rptmrre Times-Roman &quot;1.2 ExtendFont&quot;
</pre></div>
-<p>in <samp>psfonts.map</samp>.
+<p>in <samp class="file">psfonts.map</samp>.
</p>
<p>You can also create a small caps font with a command such as
-<span id="index-small-caps-fonts"></span>
-<span id="index-fonts_002c-small-caps"></span>
+<a class="index-entry-id" id="index-small-caps-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-small-caps"></a>
</p>
<div class="example">
-<pre class="example">afm2tfm Times-Roman -V ptmrc rptmrc
+<pre class="example-preformatted">afm2tfm Times-Roman -V ptmrc rptmrc
</pre></div>
<p>This will generate a set of pseudo-small caps mapped into the usual
@@ -4645,7 +4643,7 @@ dimensions. You can also specify the scaling as something other than
the default 0.8:
</p>
<div class="example">
-<pre class="example">afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc
+<pre class="example-preformatted">afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc
</pre></div>
<p>It is unfortunately not possible to increase the width of the small caps
@@ -4653,142 +4651,142 @@ independently of the rest of the font. If you want a really
professional looking set of small caps, you need to acquire a small caps
font.
</p>
-<span id="index-PaintType"></span>
-<span id="index-outline-fonts-1"></span>
-<span id="index-fonts_002c-outlined"></span>
-<p>To change the <code>PaintType</code> in a font from filled (0) to outlined
-(2), you can add <code>&quot;/PaintType 2 store&quot;</code> to <samp>psfonts.map</samp>, as
+<a class="index-entry-id" id="index-PaintType"></a>
+<a class="index-entry-id" id="index-outline-fonts-1"></a>
+<a class="index-entry-id" id="index-fonts_002c-outlined"></a>
+<p>To change the <code class="code">PaintType</code> in a font from filled (0) to outlined
+(2), you can add <code class="code">&quot;/PaintType 2 store&quot;</code> to <samp class="file">psfonts.map</samp>, as
in the following:
</p>
<div class="example">
-<pre class="example">rphvrl Helvetica &quot;/PaintType 2 store&quot;
+<pre class="example-preformatted">rphvrl Helvetica &quot;/PaintType 2 store&quot;
</pre></div>
<p>Afm2tfm writes to standard output the line you need to add to
-<samp>psfonts.map</samp> to use that font, assuming the font is resident in
+<samp class="file">psfonts.map</samp> to use that font, assuming the font is resident in
the printer; if the font is not resident, you must add the
-&lsquo;<samp>&lt;<var>filename</var></samp>&rsquo; command to download the font. Each identical
-line only needs to be specified once in the &lsquo;<samp>psfonts.map</samp>&rsquo; file,
+&lsquo;<samp class="samp">&lt;<var class="var">filename</var></samp>&rsquo; command to download the font. Each identical
+line only needs to be specified once in the &lsquo;<samp class="samp">psfonts.map</samp>&rsquo; file,
even though many different fonts (small caps variants, or ones with
different output encodings) may be based on it.
</p>
<hr>
</div>
-<div class="subsection" id="Afm2tfm-options">
-<div class="header">
+<div class="subsection-level-extent" id="Afm2tfm-options">
+<div class="nav-panel">
<p>
Previous: <a href="#Special-font-effects" accesskey="p" rel="prev">Special font effects</a>, Up: <a href="#Invoking-afm2tfm" accesskey="u" rel="up">Invoking Afm2tfm</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Afm2tfm-options-1"></span><h4 class="subsection">6.3.3 Afm2tfm options</h4>
+<h4 class="subsection" id="Afm2tfm-options-1">6.3.3 Afm2tfm options</h4>
-<span id="index-options_002c-to-Afm2tfm"></span>
-<span id="index-afm2tfm-options"></span>
+<a class="index-entry-id" id="index-options_002c-to-Afm2tfm"></a>
+<a class="index-entry-id" id="index-afm2tfm-options"></a>
<p>Synopsis:
</p><div class="example">
-<pre class="example">afm2tfm [<var>option</var>]&hellip; <var>afmfile</var>[.afm] [<var>tfmfile</var>[.tfm]]
+<pre class="example-preformatted">afm2tfm [<var class="var">option</var>]&hellip; <var class="var">afmfile</var>[.afm] [<var class="var">tfmfile</var>[.tfm]]
</pre></div>
-<p>Afm2tfm reads <var>afmfile</var> and writes a corresponding (but &ldquo;raw&rdquo;,
-see below) TFM file. If <var>tfmfile</var> is not supplied, the base name
-of the AFM file is extended with &lsquo;<samp>.tfm</samp>&rsquo; to get the output
+<p>Afm2tfm reads <var class="var">afmfile</var> and writes a corresponding (but &ldquo;raw&rdquo;,
+see below) TFM file. If <var class="var">tfmfile</var> is not supplied, the base name
+of the AFM file is extended with &lsquo;<samp class="samp">.tfm</samp>&rsquo; to get the output
filename.
</p>
<p>The simplest example:
</p>
<div class="example">
-<pre class="example">afm2tfm Times-Roman rptmr
+<pre class="example-preformatted">afm2tfm Times-Roman rptmr
</pre></div>
-<span id="index-accents_002c-wrong"></span>
-<span id="index-raw-tfm-files"></span>
-<p>The TFM file thus created is <em>raw</em> because it omits ligature and
+<a class="index-entry-id" id="index-accents_002c-wrong"></a>
+<a class="index-entry-id" id="index-raw-tfm-files"></a>
+<p>The TFM file thus created is <em class="dfn">raw</em> because it omits ligature and
kern information, and does no character remapping; it contains only
the character information in the AFM file in TFM format, which is the form
that TeX understands. The characters have the same code in the TFM
file as in the AFM file. For text fonts, this means printable ASCII
characters will work ok, but little else, because standard PostScript
fonts have a different encoding scheme than the one that plain TeX
-expects (see <a href="#Encodings">Encodings</a>). Although the encodings agree for most
+expects (see <a class="pxref" href="#Encodings">Encodings</a>). Although the encodings agree for most
printable ASCII characters, other characters such as ligatures and
accents vary. Thus, in practice, it&rsquo;s almost always desirable to create
-a virtual font as well with the &lsquo;<samp>-v</samp>&rsquo; or &lsquo;<samp>-V</samp>&rsquo; option.
-See <a href="#Making-a-font-available">Making a PostScript font available</a>.
+a virtual font as well with the &lsquo;<samp class="samp">-v</samp>&rsquo; or &lsquo;<samp class="samp">-V</samp>&rsquo; option.
+See <a class="xref" href="#Making-a-font-available">Making a PostScript font available</a>.
</p>
<p>The command line options to Afm2tfm:
</p>
-<dl compact="compact">
-<dt id='index-_002da-1'><span>&lsquo;<samp>-a</samp>&rsquo;<a href='#index-_002da-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-accent-height-adjustment_002c-omitting"></span>
+<dl class="table">
+<dt id='index-_002da-1'><span>&lsquo;<samp class="samp">-a</samp>&rsquo;<a class="copiable-link" href='#index-_002da-1'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-accent-height-adjustment_002c-omitting"></a>
<p>By default, Afm2tfm looks for precomposed accented characters, such as
tdieresis, and possibly adjusts the height of the basic letter (t)
-upward so that the result of using <code>\accent</code> (as in <code>\&quot;t</code>)
-is visually the same as the precomposed characters. The <code>-a</code>
+upward so that the result of using <code class="code">\accent</code> (as in <code class="code">\&quot;t</code>)
+is visually the same as the precomposed characters. The <code class="code">-a</code>
option omits such adjustments, so that all characters&rsquo; heights remain
as they are given in the AFM file. (Until Afm2tfm 8.4, released in
2016, heights could also be adjusted downward, but this is no longer
the case.)
</p>
</dd>
-<dt id='index-_002dc-ratio'><span>&lsquo;<samp>-c <var>ratio</var></samp>&rsquo;<a href='#index-_002dc-ratio' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-scaling-small-caps"></span>
-<p>See &lsquo;<samp>-V</samp>&rsquo;; overrides the default ratio of 0.8 for the
+<dt id='index-_002dc-ratio'><span>&lsquo;<samp class="samp">-c <var class="var">ratio</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dc-ratio'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-scaling-small-caps"></a>
+<p>See &lsquo;<samp class="samp">-V</samp>&rsquo;; overrides the default ratio of 0.8 for the
scaling of small caps.
</p>
</dd>
-<dt id='index-_002de-ratio'><span>&lsquo;<samp>-e <var>ratio</var></samp>&rsquo;<a href='#index-_002de-ratio' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-expanded-fonts-1"></span>
-<span id="index-condensed-fonts"></span>
-<p>Stretch characters horizontally by <var>ratio</var>; if less than 1.0, you
+<dt id='index-_002de-ratio'><span>&lsquo;<samp class="samp">-e <var class="var">ratio</var></samp>&rsquo;<a class="copiable-link" href='#index-_002de-ratio'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-expanded-fonts-1"></a>
+<a class="index-entry-id" id="index-condensed-fonts"></a>
+<p>Stretch characters horizontally by <var class="var">ratio</var>; if less than 1.0, you
get a condensed font.
</p>
</dd>
-<dt id='index-_002dO'><span>&lsquo;<samp>-O</samp>&rsquo;<a href='#index-_002dO' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-octal-character-codes"></span>
-<p>Output all character codes in the &lsquo;<samp>vpl</samp>&rsquo; file as octal numbers, not
+<dt id='index-_002dO'><span>&lsquo;<samp class="samp">-O</samp>&rsquo;<a class="copiable-link" href='#index-_002dO'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-octal-character-codes"></a>
+<p>Output all character codes in the &lsquo;<samp class="samp">vpl</samp>&rsquo; file as octal numbers, not
names; this is useful for symbol or other special-purpose fonts where
-character names such as &lsquo;<samp>A</samp>&rsquo; have no meaning.
+character names such as &lsquo;<samp class="samp">A</samp>&rsquo; have no meaning.
</p>
</dd>
-<dt id='index-_002dp-ps_002denc-1'><span>&lsquo;<samp>-p <var>ps-enc</var></samp>&rsquo;<a href='#index-_002dp-ps_002denc-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Use <var>ps-enc</var> for the destination (PostScript) encoding of the font;
-<var>ps-enc</var> must be mentioned as a header file for the font in
-&lsquo;<samp>psfonts.map</samp>&rsquo;.
-See <a href="#Changing-PostScript-encodings">&lsquo;<samp>-p</samp>&rsquo;: Changing PostScript encodings</a>.
+<dt id='index-_002dp-ps_002denc-1'><span>&lsquo;<samp class="samp">-p <var class="var">ps-enc</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dp-ps_002denc-1'> &para;</a></span></dt>
+<dd><p>Use <var class="var">ps-enc</var> for the destination (PostScript) encoding of the font;
+<var class="var">ps-enc</var> must be mentioned as a header file for the font in
+&lsquo;<samp class="samp">psfonts.map</samp>&rsquo;.
+See <a class="xref" href="#Changing-PostScript-encodings">&lsquo;<samp class="samp">-p</samp>&rsquo;: Changing PostScript encodings</a>.
</p>
</dd>
-<dt id='index-_002ds-slant'><span>&lsquo;<samp>-s <var>slant</var></samp>&rsquo;<a href='#index-_002ds-slant' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-slanted-fonts_002c-making"></span>
-<p>Slant characters to the right by <var>slant</var>. If <var>slant</var> is
+<dt id='index-_002ds-slant'><span>&lsquo;<samp class="samp">-s <var class="var">slant</var></samp>&rsquo;<a class="copiable-link" href='#index-_002ds-slant'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-slanted-fonts_002c-making"></a>
+<p>Slant characters to the right by <var class="var">slant</var>. If <var class="var">slant</var> is
negative, the letters slope to the left (or they might be upright if you
start with an italic font).
</p>
</dd>
-<dt id='index-_002dt-tex_002denc-1'><span>&lsquo;<samp>-t <var>tex-enc</var></samp>&rsquo;<a href='#index-_002dt-tex_002denc-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Use <var>tex-enc</var> for the target (TeX) encoding of the font.
-Ligature and kern information may also be specified in <var>file</var>.
-<var>file</var> is not mentioned in <samp>psfonts.map</samp>.
+<dt id='index-_002dt-tex_002denc-1'><span>&lsquo;<samp class="samp">-t <var class="var">tex-enc</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dt-tex_002denc-1'> &para;</a></span></dt>
+<dd><p>Use <var class="var">tex-enc</var> for the target (TeX) encoding of the font.
+Ligature and kern information may also be specified in <var class="var">file</var>.
+<var class="var">file</var> is not mentioned in <samp class="file">psfonts.map</samp>.
</p>
</dd>
-<dt id='index-_002dT-ps_002dtex_002denc'><span>&lsquo;<samp>-T <var>ps-tex-enc</var></samp>&rsquo;<a href='#index-_002dT-ps_002dtex_002denc' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Use <var>ps-tex-enc</var> for both the PostScript and target TeX encodings
-of the font. Equivalent to &lsquo;<samp>-p <var>file</var> -t <var>file</var></samp>&rsquo;.
+<dt id='index-_002dT-ps_002dtex_002denc'><span>&lsquo;<samp class="samp">-T <var class="var">ps-tex-enc</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dT-ps_002dtex_002denc'> &para;</a></span></dt>
+<dd><p>Use <var class="var">ps-tex-enc</var> for both the PostScript and target TeX encodings
+of the font. Equivalent to &lsquo;<samp class="samp">-p <var class="var">file</var> -t <var class="var">file</var></samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002du'><span>&lsquo;<samp>-u</samp>&rsquo;<a href='#index-_002du' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002du'><span>&lsquo;<samp class="samp">-u</samp>&rsquo;<a class="copiable-link" href='#index-_002du'> &para;</a></span></dt>
<dd><p>Use only those characters specified in the TeX encoding, and no
others. By default, Afm2tfm tries to include all characters in the
input font, even those not present in the TeX encoding (it puts them
into otherwise-unused positions, arbitrarily).
</p>
</dd>
-<dt id='index-_002dv-vpl_002dfile'><span>&lsquo;<samp>-v <var>vpl-file</var></samp>&rsquo;<a href='#index-_002dv-vpl_002dfile' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002dv-vpl_002dfile'><span>&lsquo;<samp class="samp">-v <var class="var">vpl-file</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dv-vpl_002dfile'> &para;</a></span></dt>
<dd><p>Output a VPL (virtual property list) file, as well as a TFM file.
</p>
</dd>
-<dt id='index-_002dV-vpl_002dfile'><span>&lsquo;<samp>-V <var>vpl-file</var></samp>&rsquo;<a href='#index-_002dV-vpl_002dfile' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Same as &lsquo;<samp>-v</samp>&rsquo;, but the virtual font generated is a pseudo small caps
+<dt id='index-_002dV-vpl_002dfile'><span>&lsquo;<samp class="samp">-V <var class="var">vpl-file</var></samp>&rsquo;<a class="copiable-link" href='#index-_002dV-vpl_002dfile'> &para;</a></span></dt>
+<dd><p>Same as &lsquo;<samp class="samp">-v</samp>&rsquo;, but the virtual font generated is a pseudo small caps
font obtained by scaling uppercase letters by 0.8 to typeset
lowercase. This font handles accented letters and retains proper
kerning.
@@ -4799,112 +4797,112 @@ kerning.
<hr>
</div>
</div>
-<div class="section" id="psfonts_002emap">
-<div class="header">
+<div class="section-level-extent" id="psfonts_002emap">
+<div class="nav-panel">
<p>
Previous: <a href="#Invoking-afm2tfm" accesskey="p" rel="prev">Invoking Afm2tfm</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="psfonts_002emap_003a-PostScript-font-catalog"></span><h3 class="section">6.4 <samp>psfonts.map</samp>: PostScript font catalog</h3>
+<h3 class="section" id="psfonts_002emap_003a-PostScript-font-catalog">6.4 <samp class="file">psfonts.map</samp>: PostScript font catalog</h3>
-<span id="index-psfonts_002emap-2"></span>
-<span id="index-non_002dresident-fonts"></span>
-<span id="index-downloading-PostScript-fonts"></span>
-<span id="index-fonts_002c-downloading"></span>
+<a class="index-entry-id" id="index-psfonts_002emap-2"></a>
+<a class="index-entry-id" id="index-non_002dresident-fonts"></a>
+<a class="index-entry-id" id="index-downloading-PostScript-fonts"></a>
+<a class="index-entry-id" id="index-fonts_002c-downloading"></a>
-<p>The <samp>psfonts.map</samp> file associates a PostScript font with related
+<p>The <samp class="file">psfonts.map</samp> file associates a PostScript font with related
files and constructs. Each line has the format:
</p>
<div class="example">
-<pre class="example"><var>filename</var> <var>PostScript-name</var> <var>options</var>
+<pre class="example-preformatted"><var class="var">filename</var> <var class="var">PostScript-name</var> <var class="var">options</var>
</pre></div>
-<span id="index-_003c-font-downloading"></span>
+<a class="index-entry-id" id="index-_003c-font-downloading"></a>
<p>For example, the line
</p><div class="example">
-<pre class="example">rpstrn StoneInformal &lt;StoneInformal.pfb
+<pre class="example-preformatted">rpstrn StoneInformal &lt;StoneInformal.pfb
</pre></div>
-<p>causes Dvips to download <samp>StoneInformal.pfb</samp> (just as if it were
-a header file, see <a href="#Header-files">PostScript header files</a>) if the DVI file (or a virtual
-font, see <a href="#Virtual-fonts">Virtual fonts</a>) references the TFM file &lsquo;<samp>rpstrn</samp>&rsquo;.
-The PostScript <code>/FontName</code> of the font defined inside the &lsquo;<samp>pfb</samp>&rsquo;
-file should be <code>StoneInformal</code>.
-</p>
-<span id="index-transforming-downloaded-fonts"></span>
-<span id="index-expanded-fonts-2"></span>
-<span id="index-wide-fonts"></span>
-<span id="index-narrow-fonts"></span>
+<p>causes Dvips to download <samp class="file">StoneInformal.pfb</samp> (just as if it were
+a header file, see <a class="pxref" href="#Header-files">PostScript header files</a>) if the DVI file (or a virtual
+font, see <a class="pxref" href="#Virtual-fonts">Virtual fonts</a>) references the TFM file &lsquo;<samp class="samp">rpstrn</samp>&rsquo;.
+The PostScript <code class="code">/FontName</code> of the font defined inside the &lsquo;<samp class="samp">pfb</samp>&rsquo;
+file should be <code class="code">StoneInformal</code>.
+</p>
+<a class="index-entry-id" id="index-transforming-downloaded-fonts"></a>
+<a class="index-entry-id" id="index-expanded-fonts-2"></a>
+<a class="index-entry-id" id="index-wide-fonts"></a>
+<a class="index-entry-id" id="index-narrow-fonts"></a>
<p>You can generate transformed fonts with a line like this:
</p><div class="example">
-<pre class="example">rpstrc StoneInformal &lt;StoneInformal.pfb &quot;.8 ExtendFont&quot;
+<pre class="example-preformatted">rpstrc StoneInformal &lt;StoneInformal.pfb &quot;.8 ExtendFont&quot;
</pre></div>
-<p>See <a href="#Special-font-effects">Special font effects</a>, for a
+<p>See <a class="xref" href="#Special-font-effects">Special font effects</a>, for a
complete list of font effects.
</p>
-<span id="index-reencoding-PostScript-fonts"></span>
+<a class="index-entry-id" id="index-reencoding-PostScript-fonts"></a>
<p>You can change the encoding of the Type 1 font at the PostScript
-level with a &lsquo;<samp>ReEncodeFont</samp>&rsquo; instruction, plus the name of the
+level with a &lsquo;<samp class="samp">ReEncodeFont</samp>&rsquo; instruction, plus the name of the
encoding file. This allows you access to characters that may be present
in the Type 1 font file, but not encoded by default&mdash;most of the
preaccented characters, for example. An example:
-</p><div class="example">
-<pre class="example">pstrn8r StoneInformal &quot;TeXBase1Encoding ReEncodeFont&quot; &lt;8r.enc &lt;pstrn8a.pfb
+</p><div class="example smallexample">
+<pre class="example-preformatted">pstrn8r StoneInformal &quot;TeXBase1Encoding ReEncodeFont&quot; &lt;8r.enc &lt;pstrn8a.pfb
</pre></div>
-<span id="index-8r-font-encoding"></span>
-<span id="index-base-encoding_002c-recommended"></span>
-<p>The &lsquo;<samp>8r</samp>&rsquo; encoding mentioned here has been designed to serve as a
+<a class="index-entry-id" id="index-8r-font-encoding"></a>
+<a class="index-entry-id" id="index-base-encoding_002c-recommended"></a>
+<p>The &lsquo;<samp class="samp">8r</samp>&rsquo; encoding mentioned here has been designed to serve as a
base for all downloadable fonts; it allows access to all the characters
commonly present in a Type 1 font. For more details, see the
-<samp>8r.enc</samp> source file that comes with (and is installed with) Dvips.
+<samp class="file">8r.enc</samp> source file that comes with (and is installed with) Dvips.
</p>
-<span id="index-_003c_005b-encoding-vector-downloading"></span>
+<a class="index-entry-id" id="index-_003c_005b-encoding-vector-downloading"></a>
<p>You may notice that the same syntax is used for downloading encoding
vectors and Type 1 font files. To make your intentions clear, you can
-also use &lsquo;<samp>&lt;[</samp>&rsquo; to explicitly indicate you are downloading an
+also use &lsquo;<samp class="samp">&lt;[</samp>&rsquo; to explicitly indicate you are downloading an
encoding vector, as in:
-</p><div class="example">
-<pre class="example">pstrn8r StoneInformal &quot;TeXBase1Encoding ReEncodeFont&quot; &lt;[8r.enc &lt;pstrn8a.pfb
+</p><div class="example smallexample">
+<pre class="example-preformatted">pstrn8r StoneInformal &quot;TeXBase1Encoding ReEncodeFont&quot; &lt;[8r.enc &lt;pstrn8a.pfb
</pre></div>
-<span id="index-_002eenc-extension-for-encoding-vectors"></span>
-<p>If the filename of your encoding vector does not end in &lsquo;<samp>.enc</samp>&rsquo;, and
-you are using partial font downloading, you must use the &lsquo;<samp>&lt;[</samp>&rsquo;
+<a class="index-entry-id" id="index-_002eenc-extension-for-encoding-vectors"></a>
+<p>If the filename of your encoding vector does not end in &lsquo;<samp class="samp">.enc</samp>&rsquo;, and
+you are using partial font downloading, you must use the &lsquo;<samp class="samp">&lt;[</samp>&rsquo;
syntax, or Dvips will not download the font properly.
</p>
-<span id="index-_002epfa-extension-required-for-partial-downloading"></span>
-<span id="index-_002epfb-extension-required-for-partial-downloading"></span>
+<a class="index-entry-id" id="index-_002epfa-extension-required-for-partial-downloading"></a>
+<a class="index-entry-id" id="index-_002epfb-extension-required-for-partial-downloading"></a>
<p>Similarly, the name of the Type 1 font file itself must have extension
-<samp>.pfa</samp> or <samp>.pfb</samp> for partial downloading to work properly.
+<samp class="file">.pfa</samp> or <samp class="file">.pfb</samp> for partial downloading to work properly.
</p>
-<span id="index-pfb-files_002c-automatically-unpacked"></span>
+<a class="index-entry-id" id="index-pfb-files_002c-automatically-unpacked"></a>
<p>When using PFB files, Dvips is smart enough to unpack the binary PFB
format into printable ASCII so there is no need to perform this
conversion yourself. In addition, Dvips scans the font to determine its
-memory usage, just as it does for other header files (see <a href="#Header-files">PostScript header files</a>).
+memory usage, just as it does for other header files (see <a class="pxref" href="#Header-files">PostScript header files</a>).
</p>
-<span id="index-partial-font-downloading"></span>
-<span id="index-downloading-fonts-partially"></span>
-<p>If the &lsquo;<samp>j</samp>&rsquo; config file or command-line option is enabled (as it
-is by default), <samp>StoneInformal.pfb</samp> will be <em>partially
+<a class="index-entry-id" id="index-partial-font-downloading"></a>
+<a class="index-entry-id" id="index-downloading-fonts-partially"></a>
+<p>If the &lsquo;<samp class="samp">j</samp>&rsquo; config file or command-line option is enabled (as it
+is by default), <samp class="file">StoneInformal.pfb</samp> will be <em class="dfn">partially
downloaded</em>&mdash;only those characters your document actually uses will
be extracted and downloaded, and the remainder discarded.
-See <a href="#Option-details">Option details</a>.
+See <a class="xref" href="#Option-details">Option details</a>.
</p>
-<span id="index-whole-font-downloading"></span>
-<span id="index-multiple-master-fonts"></span>
-<span id="index-Minion-typeface-family"></span>
-<span id="index-_003c_003c-whole-font-downloading"></span>
+<a class="index-entry-id" id="index-whole-font-downloading"></a>
+<a class="index-entry-id" id="index-multiple-master-fonts"></a>
+<a class="index-entry-id" id="index-Minion-typeface-family"></a>
+<a class="index-entry-id" id="index-_003c_003c-whole-font-downloading"></a>
<p>Adobe Multiple Master fonts, such as Minion, cannot be partially
downloaded. To partially download in general, but avoid partial
-downloading for individual fonts, use &lsquo;<samp>&lt;&lt;</samp>&rsquo; instead &lsquo;<samp>&lt;</samp>&rsquo;:
+downloading for individual fonts, use &lsquo;<samp class="samp">&lt;&lt;</samp>&rsquo; instead &lsquo;<samp class="samp">&lt;</samp>&rsquo;:
</p><div class="example">
-<pre class="example">pmnr8r Minion &lt;&lt;Minion.pfb
+<pre class="example-preformatted">pmnr8r Minion &lt;&lt;Minion.pfb
</pre></div>
-<p>Here is a brief summary of how <samp>psfonts.map</samp> is read:
+<p>Here is a brief summary of how <samp class="file">psfonts.map</samp> is read:
</p>
-<ol>
+<ol class="enumerate">
<li> If a line is empty or begins with a space, percent, asterisk,
semicolon, or hash mark, it is ignored.
@@ -4912,22 +4910,22 @@ semicolon, or hash mark, it is ignored.
separated by spaces or tabs, except that if a word begins with a double
quote, it extends until the next double quote or the end of the line.
-</li><li> If a word starts with &lsquo;<samp>&lt;&lt;</samp>&rsquo;, it is taken as a font file to be
+</li><li> If a word starts with &lsquo;<samp class="samp">&lt;&lt;</samp>&rsquo;, it is taken as a font file to be
wholly downloaded. Use this to avoid partial downloading, as described
above.
-</li><li> If a word starts with &lsquo;<samp>&lt;[</samp>&rsquo;, it is taken as an encoding file
+</li><li> If a word starts with &lsquo;<samp class="samp">&lt;[</samp>&rsquo;, it is taken as an encoding file
to be downloaded. Use this if the name of the encoding file does end in
-&lsquo;<samp>.enc</samp>&rsquo;, also as described above.
+&lsquo;<samp class="samp">.enc</samp>&rsquo;, also as described above.
-</li><li> If a word starts with a &lsquo;<samp>&lt;</samp>&rsquo; character, it is
+</li><li> If a word starts with a &lsquo;<samp class="samp">&lt;</samp>&rsquo; character, it is
treated as a header file that needs to be downloaded. If the name ends
-in &lsquo;<samp>.pfa</samp>&rsquo; or &lsquo;<samp>.pfb</samp>&rsquo;, it is taken as Type 1 font file that will
-be partially downloaded if the &lsquo;<samp>j</samp>&rsquo; option is in effect. There can
-be more than one such header for a given font. If a &lsquo;<samp>&lt;</samp>&rsquo; is a word
+in &lsquo;<samp class="samp">.pfa</samp>&rsquo; or &lsquo;<samp class="samp">.pfb</samp>&rsquo;, it is taken as Type 1 font file that will
+be partially downloaded if the &lsquo;<samp class="samp">j</samp>&rsquo; option is in effect. There can
+be more than one such header for a given font. If a &lsquo;<samp class="samp">&lt;</samp>&rsquo; is a word
by itself, the next word is taken as the name of the header file.
-</li><li> If a word starts with a &lsquo;<samp>&quot;</samp>&rsquo; character, it is taken as PostScript
+</li><li> If a word starts with a &lsquo;<samp class="samp">&quot;</samp>&rsquo; character, it is taken as PostScript
code used in generating that font, and is inserted into the output
verbatim at the appropriate point. (And the double quotes beginning and
ending the word are removed.)
@@ -4944,22 +4942,22 @@ name, it is used for both the TeX name and the PostScript name.
<hr>
</div>
</div>
-<div class="chapter" id="Color">
-<div class="header">
+<div class="chapter-level-extent" id="Color">
+<div class="nav-panel">
<p>
Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#PostScript-fonts" accesskey="p" rel="prev">PostScript fonts</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-1"></span><h2 class="chapter">7 Color</h2>
+<h2 class="chapter" id="Color-1">7 Color</h2>
-<span id="index-color"></span>
+<a class="index-entry-id" id="index-color"></a>
-<span id="index-Hafner_002c-Jim"></span>
+<a class="index-entry-id" id="index-Hafner_002c-Jim"></a>
<p>Dvips supports one-pass multi-color printing of TeX documents on any
color PostScript device. Initially added by Jim Hafner, IBM Research,
-<a href="mailto:hafner@almaden.ibm.com">hafner@almaden.ibm.com</a>, the color support has gone through many
+<a class="email" href="mailto:hafner@almaden.ibm.com">hafner@almaden.ibm.com</a>, the color support has gone through many
changes by Tomas Rokicki. Besides the source code support itself, there
-are additional TeX macro files: &lsquo;<samp>colordvi.tex</samp>&rsquo; and
-&lsquo;<samp>blackdvi.tex</samp>&rsquo;, and corresponding &lsquo;<samp>.sty</samp>&rsquo; versions for use with
+are additional TeX macro files: &lsquo;<samp class="samp">colordvi.tex</samp>&rsquo; and
+&lsquo;<samp class="samp">blackdvi.tex</samp>&rsquo;, and corresponding &lsquo;<samp class="samp">.sty</samp>&rsquo; versions for use with
LaTeX.
</p>
<p>In this section we describe the use of color from the document
@@ -4968,7 +4966,7 @@ for the TeX administrator.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Color-macro-files" accesskey="1">Color macro files</a></li>
<li><a href="#User_002ddefinable-colors" accesskey="2">User-definable colors</a></li>
<li><a href="#Color-subtleties" accesskey="3">Color subtleties</a></li>
@@ -4977,81 +4975,81 @@ for the TeX administrator.
<li><a href="#Color-support-details" accesskey="6">Color support details</a></li>
</ul>
<hr>
-<div class="section" id="Color-macro-files">
-<div class="header">
+<div class="section-level-extent" id="Color-macro-files">
+<div class="nav-panel">
<p>
Next: <a href="#User_002ddefinable-colors" accesskey="n" rel="next">User-definable colors</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-macro-files-1"></span><h3 class="section">7.1 Color macro files</h3>
+<h3 class="section" id="Color-macro-files-1">7.1 Color macro files</h3>
-<span id="index-macros-for-color"></span>
-<span id="index-color-macros"></span>
+<a class="index-entry-id" id="index-macros-for-color"></a>
+<a class="index-entry-id" id="index-color-macros"></a>
-<p>All the color macro commands are defined in &lsquo;<samp>colordvi.tex</samp>&rsquo; (or
-&lsquo;<samp>colordvi.sty</samp>&rsquo;). To access these macros simply add to the top of
+<p>All the color macro commands are defined in &lsquo;<samp class="samp">colordvi.tex</samp>&rsquo; (or
+&lsquo;<samp class="samp">colordvi.sty</samp>&rsquo;). To access these macros simply add to the top of
your plain TeX file the command:
</p><div class="example">
-<pre class="example">\input colordvi
+<pre class="example-preformatted">\input colordvi
</pre></div>
-<p>For (the obsolete) LaTeX 2.09, add the &lsquo;<samp>colordvi</samp>&rsquo; style option as in:
+<p>For (the obsolete) LaTeX 2.09, add the &lsquo;<samp class="samp">colordvi</samp>&rsquo; style option as in:
</p><div class="example">
-<pre class="example">\documentstyle[12pt,colordvi]{article}
+<pre class="example-preformatted">\documentstyle[12pt,colordvi]{article}
</pre></div>
<p>For LaTeX2e, these examples are not applicable. Instead, please see
the documentation for the graphics package
-(<a href="https://ctan.org/pkg/graphics">https://ctan.org/pkg/graphics</a>), and the epslatex document
-(<a href="https://ctan.org/pkg/epslatex">https://ctan.org/pkg/epslatex</a>).
+(<a class="url" href="https://ctan.org/pkg/graphics">https://ctan.org/pkg/graphics</a>), and the epslatex document
+(<a class="url" href="https://ctan.org/pkg/epslatex">https://ctan.org/pkg/epslatex</a>).
</p>
-<span id="index-Crayola-crayon-box"></span>
-<span id="index-Pantone-colors"></span>
-<span id="index-color-names_002c-mixed-case"></span>
+<a class="index-entry-id" id="index-Crayola-crayon-box"></a>
+<a class="index-entry-id" id="index-Pantone-colors"></a>
+<a class="index-entry-id" id="index-color-names_002c-mixed-case"></a>
<p>These macros provide two basic kinds of color macros: ones for local
color changes (a few words, a single symbol) and one for global color
changes (the whole document). All the color names use a mixed case
scheme to avoid conflicts with other macros. There are 68 predefined
colors, with names taken primarily from the Crayola crayon box of 64
colors, and one pair of macros for the user to set his own color pattern
-(see <a href="#User_002ddefinable-colors">User-definable colors</a>). You can browse the file
-&lsquo;<samp>colordvi.tex</samp>&rsquo; for a list of the predefined colors. The comments
+(see <a class="pxref" href="#User_002ddefinable-colors">User-definable colors</a>). You can browse the file
+&lsquo;<samp class="samp">colordvi.tex</samp>&rsquo; for a list of the predefined colors. The comments
in this file also show a rough correspondence between the crayon names
and Pantones.
</p>
<p>A local color command has the form
</p>
<div class="example">
-<pre class="example">\<var>ColorName</var>{this is the color <var>ColorName</var>}
+<pre class="example-preformatted">\<var class="var">ColorName</var>{this is the color <var class="var">ColorName</var>}
</pre></div>
-<span id="index-_005cColorName"></span>
-<p>where <var>ColorName</var> is the name of a predefined color, e.g.,
-&lsquo;<samp>Blue</samp>&rsquo;. As shown, these macros take one argument, the text to
+<a class="index-entry-id" id="index-_005cColorName"></a>
+<p>where <var class="var">ColorName</var> is the name of a predefined color, e.g.,
+&lsquo;<samp class="samp">Blue</samp>&rsquo;. As shown, these macros take one argument, the text to
print in the specified color. This can be used for nested color changes
since it restores the original color state when it completes. For
example:
</p>
<div class="example">
-<pre class="example">This text is normal but here we are \Red{switching to red,
+<pre class="example-preformatted">This text is normal but here we are \Red{switching to red,
\Blue{nesting blue}, recovering the red} and back to original.
</pre></div>
-<p><span id="index-color-nesting-level"></span>
-The color nesting level has no hard limit, but it is not advisable to
+<a class="index-entry-id" id="index-color-nesting-level"></a>
+<p>The color nesting level has no hard limit, but it is not advisable to
nest too deeply lest you and the reader lose track of the color history.
</p>
<p>The global color command has the form
</p>
<div class="example">
-<pre class="example">\text<var>ColorName</var>
+<pre class="example-preformatted">\text<var class="var">ColorName</var>
</pre></div>
-<p><span id="index-_005ctextColorName"></span>
-These macros take no arguments and changes the default color from that
-point on to <var>ColorName</var>. This of course can be overridden globally
+<a class="index-entry-id" id="index-_005ctextColorName"></a>
+<p>These macros take no arguments and changes the default color from that
+point on to <var class="var">ColorName</var>. This of course can be overridden globally
by another such command or locally by local color commands. For example,
expanding on the example above, we might have
</p>
<div class="example">
-<pre class="example">\textGreen
+<pre class="example-preformatted">\textGreen
This text is green but here we are \Red{switching to red,
\Blue{nesting blue}, recovering the red} and back to
original green.
@@ -5063,7 +5061,7 @@ The text from here on will be cyan until
<p>The color commands will even work in math mode and across math mode
boundaries. This means that if you have a color before going into math
mode, the mathematics will be set in that color as well. In alignment
-environments like <code>\halign</code>, &lsquo;<samp>tabular</samp>&rsquo; or &lsquo;<samp>eqnarray</samp>&rsquo;,
+environments like <code class="code">\halign</code>, &lsquo;<samp class="samp">tabular</samp>&rsquo; or &lsquo;<samp class="samp">eqnarray</samp>&rsquo;,
local color commands cannot extend beyond the alignment characters.
</p>
<p>Because local color commands respect only some environment and
@@ -5077,18 +5075,18 @@ and LaTeX use compatible.
<hr>
</div>
-<div class="section" id="User_002ddefinable-colors">
-<div class="header">
+<div class="section-level-extent" id="User_002ddefinable-colors">
+<div class="nav-panel">
<p>
Next: <a href="#Color-subtleties" accesskey="n" rel="next">Color subtleties</a>, Previous: <a href="#Color-macro-files" accesskey="p" rel="prev">Color macro files</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="User_002ddefinable-colors-1"></span><h3 class="section">7.2 User-definable colors</h3>
+<h3 class="section" id="User_002ddefinable-colors-1">7.2 User-definable colors</h3>
-<span id="index-user_002ddefinable-colors"></span>
-<span id="index-colors_002c-user_002ddefinable"></span>
+<a class="index-entry-id" id="index-user_002ddefinable-colors"></a>
+<a class="index-entry-id" id="index-colors_002c-user_002ddefinable"></a>
<p>There are two ways for the user to specify colors not already defined.
-For local changes, there is the command <code>\Color</code> which takes two
+For local changes, there is the command <code class="code">\Color</code> which takes two
arguments. The first argument is four numbers between zero and one and
specifies the intensity of cyan, magenta, yellow and black (CMYK) in
that order. The second argument is the text that should appear in the
@@ -5097,16 +5095,16 @@ pretty&rdquo; to appear in a color which is 50% cyan, 85% magenta, 40% yellow
and 20% black. You would use the command
</p>
<div class="example">
-<pre class="example">\Color{.5 .85 .4 .2}{this color is pretty}
+<pre class="example-preformatted">\Color{.5 .85 .4 .2}{this color is pretty}
</pre></div>
-<p>For global color changes, there is a command <code>\textColor</code> which
+<p>For global color changes, there is a command <code class="code">\textColor</code> which
takes one argument, the CMYK quadruple of relative color intensities.
For example, if you want the default color to be as above, then the
command
</p>
<div class="example">
-<pre class="example">\textColor{.5 .85 .4 .2}
+<pre class="example-preformatted">\textColor{.5 .85 .4 .2}
The text from now on will be this pretty color
</pre></div>
@@ -5119,17 +5117,17 @@ and do its best to recover by discarding the current color history.
<hr>
</div>
-<div class="section" id="Color-subtleties">
-<div class="header">
+<div class="section-level-extent" id="Color-subtleties">
+<div class="nav-panel">
<p>
Next: <a href="#Ted-Turner" accesskey="n" rel="next">Printing in black/white after colorizing</a>, Previous: <a href="#User_002ddefinable-colors" accesskey="p" rel="prev">User-definable colors</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-subtleties-1"></span><h3 class="section">7.3 Color subtleties</h3>
+<h3 class="section" id="Color-subtleties-1">7.3 Color subtleties</h3>
-<span id="index-color-subtleties"></span>
+<a class="index-entry-id" id="index-color-subtleties"></a>
-<p>Color macros are defined via <code>\special</code> keywords. As such, they
-are put in the &lsquo;<samp>.dvi</samp>&rsquo; file only as explicit message strings to the
+<p>Color macros are defined via <code class="code">\special</code> keywords. As such, they
+are put in the &lsquo;<samp class="samp">.dvi</samp>&rsquo; file only as explicit message strings to the
driver. The (unpleasant) result is that certain unprotected regions of
the text can have unwanted color side effects. For example, if a color
region is split by TeX across a page boundary, then the footers of
@@ -5140,7 +5138,7 @@ their own local color commands. For example, to protect the
header and footer in plain TeX, use
</p>
<div class="example">
-<pre class="example">\headline{\Black{My Header}}
+<pre class="example-preformatted">\headline{\Black{My Header}}
\footline{\Black{\hss\tenrm\folio\hss}}
</pre></div>
@@ -5153,31 +5151,31 @@ not written with color in mind.
</p>
<p>Even when writing your own macros, much care must be taken. The macros
that &lsquo;colorize&rsquo; a portion of the text work prefix the text work by
-outputting one <code>\special</code> command to turn the color on before the
-text, and outputting another <code>\special</code> command afterwards to
+outputting one <code class="code">\special</code> command to turn the color on before the
+text, and outputting another <code class="code">\special</code> command afterwards to
restore the original color. It is often useful to ensure that TeX is
in horizontal mode before the first special command is issued; this can
-be done by prefixing the color command with <code>\leavevmode</code>.
+be done by prefixing the color command with <code class="code">\leavevmode</code>.
</p>
<hr>
</div>
-<div class="section" id="Ted-Turner">
-<div class="header">
+<div class="section-level-extent" id="Ted-Turner">
+<div class="nav-panel">
<p>
Next: <a href="#Color-device-configuration" accesskey="n" rel="next">Color device configuration</a>, Previous: <a href="#Color-subtleties" accesskey="p" rel="prev">Color subtleties</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Printing-in-black_002fwhite-after-colorizing"></span><h3 class="section">7.4 Printing in black/white after colorizing</h3>
+<h3 class="section" id="Printing-in-black_002fwhite-after-colorizing">7.4 Printing in black/white after colorizing</h3>
<p>If you have a TeX or LaTeX document written with color macros and
you want to print it in black and white there are two options. On all
(good) PostScript devices, printing a color file will print in
corresponding gray levels. This is useful to get a rough idea of the
colors without using expensive color printing devices. The second
-option is to replace the call to input <samp>colordvi.tex</samp> with
-&lsquo;<samp>blackdvi.tex</samp>&rsquo; (and similarly for the &lsquo;<samp>.sty</samp>&rsquo; files). So in
-the above example, replacing the word &lsquo;<samp>colordvi</samp>&rsquo; with
-&lsquo;<samp>blackdvi</samp>&rsquo; suffices. <samp>blackdvi.tex</samp> defines the color macros
+option is to replace the call to input <samp class="file">colordvi.tex</samp> with
+&lsquo;<samp class="samp">blackdvi.tex</samp>&rsquo; (and similarly for the &lsquo;<samp class="samp">.sty</samp>&rsquo; files). So in
+the above example, replacing the word &lsquo;<samp class="samp">colordvi</samp>&rsquo; with
+&lsquo;<samp class="samp">blackdvi</samp>&rsquo; suffices. <samp class="file">blackdvi.tex</samp> defines the color macros
as no-ops, and so will produce normal black/white printing. By this
simple mechanism, the user can switch to all black/white printing
without having to ferret out the color commands. Also, some device
@@ -5189,152 +5187,152 @@ compatible with some form of color support.
<hr>
</div>
-<div class="section" id="Color-device-configuration">
-<div class="header">
+<div class="section-level-extent" id="Color-device-configuration">
+<div class="nav-panel">
<p>
Next: <a href="#Color-support-details" accesskey="n" rel="next">Color support details</a>, Previous: <a href="#Ted-Turner" accesskey="p" rel="prev">Printing in black/white after colorizing</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-device-configuration-1"></span><h3 class="section">7.5 Color device configuration</h3>
+<h3 class="section" id="Color-device-configuration-1">7.5 Color device configuration</h3>
-<span id="index-color-configuration"></span>
-<span id="index-configuration_002c-of-color-devices"></span>
+<a class="index-entry-id" id="index-color-configuration"></a>
+<a class="index-entry-id" id="index-configuration_002c-of-color-devices"></a>
<p>To configure Dvips for a particular color device you need to fine tune
the color parameters to match your device&rsquo;s color rendition. To do this,
you will need a Pantone chart for your device. The header file
-&lsquo;<samp>color.lpro</samp>&rsquo; shows a (rough) correspondence between the Crayola
+&lsquo;<samp class="samp">color.lpro</samp>&rsquo; shows a (rough) correspondence between the Crayola
crayon names and the Pantone numbers and also defines default CMYK
values for each of the colors. Note that these colors must be defined
in CMYK terms and not RGB, as Dvips outputs PostScript color commands in
CMYK. This header file also defines (if they are not known to the
-interpreter) the PostScript commands &lsquo;<samp>setcmykcolor</samp>&rsquo; and
-&lsquo;<samp>currentcmykcolor</samp>&rsquo; in terms of a RGB equivalent so if your device
+interpreter) the PostScript commands &lsquo;<samp class="samp">setcmykcolor</samp>&rsquo; and
+&lsquo;<samp class="samp">currentcmykcolor</samp>&rsquo; in terms of a RGB equivalent so if your device
only understands RGB, there should be no problem.
</p>
-<span id="index-Phaser-printer_002c-used-for-color-calibration"></span>
-<span id="index-Tektronix-Phaser-printer_002c-used-for-color-calibration"></span>
+<a class="index-entry-id" id="index-Phaser-printer_002c-used-for-color-calibration"></a>
+<a class="index-entry-id" id="index-Tektronix-Phaser-printer_002c-used-for-color-calibration"></a>
<p>The parameters set in this file were determined by comparing the Pantone
chart of a Tektronix Phaser printer with the actual Crayola Crayons.
Because these were defined for a particular device, the actual color
rendition on your device may be very different. There are two ways to
adjust this. One is to use the PAntone chart for your device to rewrite
-&lsquo;<samp>color.lpro</samp>&rsquo; prior to compilation and installation. A better
+&lsquo;<samp class="samp">color.lpro</samp>&rsquo; prior to compilation and installation. A better
alternative, which supports multiple devices, is to add a header file
-option in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>)
-for each device that defines, in &lsquo;<samp>userdict</samp>&rsquo;, the color parameters
+option in the configuration file (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>)
+for each device that defines, in &lsquo;<samp class="samp">userdict</samp>&rsquo;, the color parameters
for those colors that need redefining.
</p>
<p>For example, if you need to change the parameters defining
-&lsquo;<samp>Goldenrod</samp>&rsquo; (approximately Pantone 109 on the Phaser) for your
-device &lsquo;<samp>mycolordev</samp>&rsquo;, do the following. In the Pantone chart for
+&lsquo;<samp class="samp">Goldenrod</samp>&rsquo; (approximately Pantone 109 on the Phaser) for your
+device &lsquo;<samp class="samp">mycolordev</samp>&rsquo;, do the following. In the Pantone chart for
your device, find the CMYK values for Pantone 109. Let&rsquo;s say they are
-&lsquo;<samp>{\ 0 0.10 0.75 0.03 }</samp>&rsquo;. Then create a header file named
-&lsquo;<samp>mycolordev.pro</samp>&rsquo; with the commands
+&lsquo;<samp class="samp">{\ 0 0.10 0.75 0.03 }</samp>&rsquo;. Then create a header file named
+&lsquo;<samp class="samp">mycolordev.pro</samp>&rsquo; with the commands
</p>
<div class="example">
-<pre class="example">userdict begin
+<pre class="example-preformatted">userdict begin
/Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def
</pre></div>
-<p>Finally, in &lsquo;<samp>config.mycolordev</samp>&rsquo; add the line
+<p>Finally, in &lsquo;<samp class="samp">config.mycolordev</samp>&rsquo; add the line
</p>
<div class="example">
-<pre class="example">h mycolordev.pro
+<pre class="example-preformatted">h mycolordev.pro
</pre></div>
-<p>This will then define &lsquo;<samp>Goldenrod</samp>&rsquo; in your device&rsquo;s CMYK values in
-<samp>userdict</samp> which is checked before defining it in <samp>TeXdict</samp> by
-<samp>color.pro</samp>. (On MS-DOS, you will have to call this file
-<samp>mycolordev.cfg</samp>.)
+<p>This will then define &lsquo;<samp class="samp">Goldenrod</samp>&rsquo; in your device&rsquo;s CMYK values in
+<samp class="file">userdict</samp> which is checked before defining it in <samp class="file">TeXdict</samp> by
+<samp class="file">color.pro</samp>. (On MS-DOS, you will have to call this file
+<samp class="file">mycolordev.cfg</samp>.)
</p>
-<p>This mechanism, together with additions to <samp>colordvi.tex</samp> and
-<samp>blackdvi.tex</samp> (and the &lsquo;<samp>.sty</samp>&rsquo; files), can also be used to
+<p>This mechanism, together with additions to <samp class="file">colordvi.tex</samp> and
+<samp class="file">blackdvi.tex</samp> (and the &lsquo;<samp class="samp">.sty</samp>&rsquo; files), can also be used to
predefine other colors for your users.
</p>
<hr>
</div>
-<div class="section" id="Color-support-details">
-<div class="header">
+<div class="section-level-extent" id="Color-support-details">
+<div class="nav-panel">
<p>
Previous: <a href="#Color-device-configuration" accesskey="p" rel="prev">Color device configuration</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-support-details-1"></span><h3 class="section">7.6 Color support details</h3>
+<h3 class="section" id="Color-support-details-1">7.6 Color support details</h3>
<p>To support color, Dvips recognizes a certain set of specials. These
-specials start with the keyword &lsquo;<samp>color</samp>&rsquo; or the keyword
-&lsquo;<samp>background</samp>&rsquo;, followed by a color specification.
+specials start with the keyword &lsquo;<samp class="samp">color</samp>&rsquo; or the keyword
+&lsquo;<samp class="samp">background</samp>&rsquo;, followed by a color specification.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Color-specifications" accesskey="1">Color specifications</a></li>
<li><a href="#Color-specials" accesskey="2">Color specials</a></li>
</ul>
<hr>
-<div class="subsection" id="Color-specifications">
-<div class="header">
+<div class="subsection-level-extent" id="Color-specifications">
+<div class="nav-panel">
<p>
Next: <a href="#Color-specials" accesskey="n" rel="next">Color specials</a>, Up: <a href="#Color-support-details" accesskey="u" rel="up">Color support details</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-specifications-1"></span><h4 class="subsection">7.6.1 Color specifications</h4>
+<h4 class="subsection" id="Color-specifications-1">7.6.1 Color specifications</h4>
-<span id="index-color-specifications"></span>
+<a class="index-entry-id" id="index-color-specifications"></a>
<p>What is a color specification? One of three things. First, it might be
a PostScript procedure as defined in a PostScript header file. The
-<samp>color.pro</samp> file defines 64 of these, including &lsquo;<samp>Maroon</samp>&rsquo;.
+<samp class="file">color.pro</samp> file defines 64 of these, including &lsquo;<samp class="samp">Maroon</samp>&rsquo;.
This PostScript procedure must set the current color to be some value;
-in this case, &lsquo;<samp>Maroon</samp>&rsquo; is defined as &lsquo;<samp>0 0.87 0.68 0.32
+in this case, &lsquo;<samp class="samp">Maroon</samp>&rsquo; is defined as &lsquo;<samp class="samp">0 0.87 0.68 0.32
setcmykcolor</samp>&rsquo;.
</p>
<p>The second possibility is the name of a color model (initially, one of
-&lsquo;<samp>rgb</samp>&rsquo;, &lsquo;<samp>hsb</samp>&rsquo;, &lsquo;<samp>cmyk</samp>&rsquo;, or &lsquo;<samp>gray</samp>&rsquo;) followed by the
+&lsquo;<samp class="samp">rgb</samp>&rsquo;, &lsquo;<samp class="samp">hsb</samp>&rsquo;, &lsquo;<samp class="samp">cmyk</samp>&rsquo;, or &lsquo;<samp class="samp">gray</samp>&rsquo;) followed by the
appropriate number of parameters. When Dvips encounters such a macro,
it sends out the parameters first, followed by the string created by
-prefixing &lsquo;<samp>TeXcolor</samp>&rsquo; to the color model. Thus, the color
-specification &lsquo;<samp>rgb 0.3 0.4 0.5</samp>&rsquo; would generate the PostScript code
-&lsquo;<samp>0.3 0.4 0.5 TeXrgbcolor</samp>&rsquo;. Note that the case of zero arguments is
+prefixing &lsquo;<samp class="samp">TeXcolor</samp>&rsquo; to the color model. Thus, the color
+specification &lsquo;<samp class="samp">rgb 0.3 0.4 0.5</samp>&rsquo; would generate the PostScript code
+&lsquo;<samp class="samp">0.3 0.4 0.5 TeXrgbcolor</samp>&rsquo;. Note that the case of zero arguments is
disallowed, as that is handled by the single keyword case
-(&lsquo;<samp>Maroon</samp>&rsquo;) above, where no changes to the name are made before it
+(&lsquo;<samp class="samp">Maroon</samp>&rsquo;) above, where no changes to the name are made before it
is sent to the PostScript file.
</p>
<p>The third and final type of color specification is a double quote
followed by any sequence of PostScript. The double quote is stripped
from the output. For instance, the color specification
-&lsquo;<samp>&quot;AggiePattern setpattern</samp>&rsquo; will set the &lsquo;color&rsquo; to the Aggie logo
+&lsquo;<samp class="samp">&quot;AggiePattern setpattern</samp>&rsquo; will set the &lsquo;color&rsquo; to the Aggie logo
pattern (assuming such exists.)
</p>
<hr>
</div>
-<div class="subsection" id="Color-specials">
-<div class="header">
+<div class="subsection-level-extent" id="Color-specials">
+<div class="nav-panel">
<p>
Previous: <a href="#Color-specifications" accesskey="p" rel="prev">Color specifications</a>, Up: <a href="#Color-support-details" accesskey="u" rel="up">Color support details</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Color-specials-1"></span><h4 class="subsection">7.6.2 Color specials</h4>
+<h4 class="subsection" id="Color-specials-1">7.6.2 Color specials</h4>
-<p>We will describe &lsquo;<samp>background</samp>&rsquo; first, since it is the simplest. The
-&lsquo;<samp>background</samp>&rsquo; keyword must be followed by a color specification.
+<p>We will describe &lsquo;<samp class="samp">background</samp>&rsquo; first, since it is the simplest. The
+&lsquo;<samp class="samp">background</samp>&rsquo; keyword must be followed by a color specification.
That color specification is used as a fill color for the background.
-The last &lsquo;<samp>background</samp>&rsquo; special on a page is the one that gets
+The last &lsquo;<samp class="samp">background</samp>&rsquo; special on a page is the one that gets
issued, and it gets issued at the very beginning of the page, before any
text or specials are sent. (This is possible because the prescan phase
of Dvips notices all of the color specials so that the appropriate
information can be written out during the second phase.)
</p>
-<p>The &lsquo;<samp>color</samp>&rsquo; special itself has three forms.
-The first is just &lsquo;<samp>color</samp>&rsquo; followed by a color specification. In
+<p>The &lsquo;<samp class="samp">color</samp>&rsquo; special itself has three forms.
+The first is just &lsquo;<samp class="samp">color</samp>&rsquo; followed by a color specification. In
this case, the current global color is set to that color; the color stack
must be empty when such a command is executed.
</p>
-<p>The second form is &lsquo;<samp>color push</samp>&rsquo; followed by a color specification.
+<p>The second form is &lsquo;<samp class="samp">color push</samp>&rsquo; followed by a color specification.
This saves the current color on the color stack and sets the color to be
that given by the color specification. This is the most common way to
set a color.
</p>
-<p>The final version of the &lsquo;<samp>color</samp>&rsquo; special is just &lsquo;<samp>color pop</samp>&rsquo;,
+<p>The final version of the &lsquo;<samp class="samp">color</samp>&rsquo; special is just &lsquo;<samp class="samp">color pop</samp>&rsquo;,
with no color specification; this says to pop the color last pushed on
the color stack from the color stack and set the current color to be
that color.
@@ -5347,9 +5345,9 @@ as well as simple colors. However, note that in the PostScript, only
one color specification can be active at a time. For instance, at the
beginning of a page, only the bottommost entry on the color stack is
sent; also, when a color is popped, all that is done is that the color
-specification from the previous stack entry is sent. No &lsquo;<samp>gsave</samp>&rsquo; or
-&lsquo;<samp>grestore</samp>&rsquo; is used. This means that you cannot easily mix usage of
-the &lsquo;<samp>color</samp>&rsquo; specials for screens and colors, just one or the other.
+specification from the previous stack entry is sent. No &lsquo;<samp class="samp">gsave</samp>&rsquo; or
+&lsquo;<samp class="samp">grestore</samp>&rsquo; is used. This means that you cannot easily mix usage of
+the &lsquo;<samp class="samp">color</samp>&rsquo; specials for screens and colors, just one or the other.
This may be addressed in the future by adding support for different
categories of color-like state.
</p>
@@ -5358,967 +5356,969 @@ categories of color-like state.
</div>
</div>
</div>
-<div class="unnumbered" id="Index">
-<div class="header">
+<div class="unnumbered-level-extent" id="Index">
+<div class="nav-panel">
<p>
Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Index-1"></span><h2 class="unnumbered">Index</h2>
+<h2 class="unnumbered" id="Index-1">Index</h2>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a>
+<div class="printindex cp-printindex">
+<table class="cp-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-2"><b>&quot;</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>&quot;</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-3"><b>%</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>%</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-4"><b>(</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>(</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-5"><b>+</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>+</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-6"><b>-</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>-</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-7"><b>.</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>.</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-8"><b>/</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>/</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-9"><b>6</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>6</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-10"><b>8</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>8</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-11"><b>&lt;</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>&lt;</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-12"><b>=</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>=</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-13"><b>@</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>@</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-14"><b>\</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-14"><b>\</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-15"><b>|</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-15"><b>|</b></a>
&nbsp;
<br>
-<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-J"><b>J</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-J"><b>J</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Y"><b>Y</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Y"><b>Y</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a>
&nbsp;
</td></tr></table>
-<table class="index-cp" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
+<table class="cp-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><td>&nbsp;</td><th class="sections-header-printindex"> Section</th></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-1">!</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0021-special-_0028literal-PS-header_0029"><code>! <span class="roman">special (literal PS header)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0021-starting-output-filename"><code>! <span class="roman">starting output filename</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021-special-_0028literal-PS-header_0029"><code>! <span class="r">special (literal PS header)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021-starting-output-filename"><code>! <span class="r">starting output filename</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-2">&quot;</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0022-special-_0028literal-PostScript_0029"><code>&quot; <span class="roman">special (literal PostScript)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#g_t_0022-special">&quot; special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0022-special-_0028literal-PostScript_0029"><code>&quot; <span class="r">special (literal PostScript)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#g_t_0022-special">&quot; special</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-3">%</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025BoundingBox"><code>%%BoundingBox</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-and-multi_002dpage-information"><code>%%Page<span class="roman">, and multi-page information</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-not-generating"><code>%%Page<span class="roman">, not generating</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-removing"><code>%%Page<span class="roman">, removing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-required-by-Ghostview"><code>%%Page<span class="roman">, required by Ghostview</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025Title"><code>%%Title</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_0025VMusage"><code>%%VMusage</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0025_002aFont"><code>%*Font</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025BoundingBox"><code>%%BoundingBox</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-and-multi_002dpage-information"><code>%%Page<span class="r">, and multi-page information</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-not-generating"><code>%%Page<span class="r">, not generating</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-removing"><code>%%Page<span class="r">, removing</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-required-by-Ghostview"><code>%%Page<span class="r">, required by Ghostview</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Title"><code>%%Title</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025VMusage"><code>%%VMusage</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_002aFont"><code>%*Font</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-4">(</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0028atend_0029_002c-bounding-box-specification"><code>(atend)<span class="roman">, bounding box specification</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0028atend_0029_002c-bounding-box-specification"><code>(atend)<span class="r">, bounding box specification</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-5">+</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002bpsmapfile"><code>+<var>psmapfile</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002bpsmapfile"><code>+<var class="var">psmapfile</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-6">-</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d"><code>-</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d-as-output-filename"><code>- <span class="roman">as output filename</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-summary">Option summary</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp-1"><code>--help</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002da"><code>-a</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dA"><code>-A</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002da-1"><code>-a</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dB"><code>-B</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002db-num"><code>-b <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dbitmapfontenc-option"><code>-bitmapfontenc <var>option</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dc-num"><code>-c <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dC-num"><code>-C <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dc-ratio"><code>-c <var>ratio</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dd-num"><code>-d <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dD-num"><code>-D <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dE"><code>-E</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002de-num"><code>-e <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002de-ratio"><code>-e <var>ratio</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002df"><code>-f</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dF"><code>-F</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dG"><code>-G</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dh-name"><code>-h <var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002di"><code>-i</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dj-for-partial-font-downloading"><code>-j <span class="roman">for partial font downloading</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dK"><code>-K</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dk-for-cropmarks"><code>-k <span class="roman">for cropmarks</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dL"><code>-L</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d"><code>-l [=]<var>num</var>[.<var>pageseq</var>]</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dlandscaperotate"><code>-landscaperotate</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dm"><code>-m</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dM"><code>-M</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dmode-mode"><code>-mode <var>mode</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dN"><code>-N</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dn-num"><code>-n <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dnoomega"><code>-noomega</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dnoptex"><code>-noptex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dO"><code>-O</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002do-name"><code>-o <var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dO-x_002doffset_002cy_002doffset"><code>-O <var>x-offset</var>,<var>y-offset</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dP-printer"><code>-P <var>printer</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dp-ps_002denc"><code>-p <var>ps-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dp-ps_002denc-1"><code>-p <var>ps-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d"><code>-p [=]<var>num</var>[.<var>pageseq</var>]</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dpp-first_002dlast"><code>-pp <var>first</var>-<var>last</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dpp-range"><code>-pp <var>range</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dPprinter_002c-and-config-file-searching"><code>-P<var>printer</var><span class="roman">, and config file searching</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dq"><code>-q</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dr"><code>-r</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dR"><code>-R</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ds"><code>-s</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dS-num"><code>-S <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ds-slant"><code>-s <var>slant</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dT-enc_002dfile"><code>-T <var>enc-file</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-both-encodings">Changing both encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dT-hsize_002cvsize"><code>-T <var>hsize</var>,<var>vsize</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dt-papertype"><code>-t <var>papertype</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dT-ps_002dtex_002denc"><code>-T <var>ps-tex-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dt-tex_002denc"><code>-t <var>tex-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dt-tex_002denc-1"><code>-t <var>tex-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dtitle-str"><code>-title <var>str</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dU"><code>-U</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002du"><code>-u</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002du-psmapfile"><code>-u <var>psmapfile</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dv"><code>-v</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dV"><code>-V</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dv-vpl_002dfile"><code>-v <var>vpl-file</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dV-vpl_002dfile"><code>-V <var>vpl-file</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dx-num"><code>-x <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dX-num"><code>-X <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dY-num"><code>-Y <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dz"><code>-z</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dZ-for-compressing-bitmap-fonts"><code>-Z <span class="roman">for compressing bitmap fonts</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dz-for-recognizing-hyperdvi"><code>-z <span class="roman">for recognizing hyperdvi</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d"><code>-</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d-as-output-filename"><code>- <span class="r">as output filename</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-summary">Option summary</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp-1"><code>--help</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002da"><code>-a</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dA"><code>-A</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002da-1"><code>-a</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dB"><code>-B</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002db-num"><code>-b <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dbitmapfontenc-option"><code>-bitmapfontenc <var class="var">option</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dc-num"><code>-c <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dC-num"><code>-C <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dc-ratio"><code>-c <var class="var">ratio</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dd-num"><code>-d <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dD-num"><code>-D <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dE"><code>-E</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002de-num"><code>-e <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002de-ratio"><code>-e <var class="var">ratio</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002df"><code>-f</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dF"><code>-F</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dG"><code>-G</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dh-name"><code>-h <var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002di"><code>-i</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dj-for-partial-font-downloading"><code>-j <span class="r">for partial font downloading</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dK"><code>-K</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dk-for-cropmarks"><code>-k <span class="r">for cropmarks</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dL"><code>-L</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d"><code>-l [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dlandscaperotate"><code>-landscaperotate</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dm"><code>-m</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dM"><code>-M</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmode-mode"><code>-mode <var class="var">mode</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dN"><code>-N</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dn-num"><code>-n <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dnoomega"><code>-noomega</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dnoptex"><code>-noptex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dO"><code>-O</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002do-name"><code>-o <var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dO-x_002doffset_002cy_002doffset"><code>-O <var class="var">x-offset</var>,<var class="var">y-offset</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dP-printer"><code>-P <var class="var">printer</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dp-ps_002denc"><code>-p <var class="var">ps-enc</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dp-ps_002denc-1"><code>-p <var class="var">ps-enc</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d"><code>-p [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dpp-first_002dlast"><code>-pp <var class="var">first</var>-<var class="var">last</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dpp-range"><code>-pp <var class="var">range</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dPprinter_002c-and-config-file-searching"><code>-P<var class="var">printer</var><span class="r">, and config file searching</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dq"><code>-q</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dr"><code>-r</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dR"><code>-R</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ds"><code>-s</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dS-num"><code>-S <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ds-slant"><code>-s <var class="var">slant</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT-enc_002dfile"><code>-T <var class="var">enc-file</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-both-encodings">Changing both encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT-hsize_002cvsize"><code>-T <var class="var">hsize</var>,<var class="var">vsize</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dt-papertype"><code>-t <var class="var">papertype</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT-ps_002dtex_002denc"><code>-T <var class="var">ps-tex-enc</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dt-tex_002denc"><code>-t <var class="var">tex-enc</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dt-tex_002denc-1"><code>-t <var class="var">tex-enc</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dtitle-str"><code>-title <var class="var">str</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dU"><code>-U</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002du"><code>-u</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002du-psmapfile"><code>-u <var class="var">psmapfile</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dv"><code>-v</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dV"><code>-V</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dv-vpl_002dfile"><code>-v <var class="var">vpl-file</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dV-vpl_002dfile"><code>-V <var class="var">vpl-file</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dx-num"><code>-x <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dX-num"><code>-X <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dY-num"><code>-Y <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dz"><code>-z</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dZ-for-compressing-bitmap-fonts"><code>-Z <span class="r">for compressing bitmap fonts</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dz-for-recognizing-hyperdvi"><code>-z <span class="r">for recognizing hyperdvi</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-7">.</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002e_002e_002drelative-filenames"><samp>..</samp>-relative filenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eafm-Adobe-metric-files"><code>.afm <span class="roman">Adobe metric files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002edvipsrc_002c-searched-for"><code>.dvipsrc<span class="roman">, searched for</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eenc-extension-for-encoding-vectors"><code>.enc <span class="roman">extension for encoding vectors</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002elpro-long-prologue-files"><code>.lpro <span class="roman">long prologue files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emf-Metafont-source-files"><code>.mf <span class="roman">Metafont source files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ennnpk-packed-font-bitmaps"><code>.<var>nnn</var>pk <span class="roman">packed font bitmaps</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfa-extension-required-for-partial-downloading"><code>.pfa <span class="roman">extension required for partial downloading</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfa-printer-font-ascii-files"><code>.pfa <span class="roman">printer font ascii files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfb-extension-required-for-partial-downloading"><code>.pfb <span class="roman">extension required for partial downloading</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfb-printer-font-binary-files"><code>.pfb <span class="roman">printer font binary files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfm-printer-font-metric-files"><code>.pfm <span class="roman">printer font metric files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epl-property-list-files"><code>.pl <span class="roman">property list files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epro-prologue-files"><code>.pro <span class="roman">prologue files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002etfm-TeX-font-metric-files"><code>.tfm <span class="roman">TeX font metric files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e_002e_002drelative-filenames"><samp class="file">..</samp>-relative filenames</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eafm-Adobe-metric-files"><code>.afm <span class="r">Adobe metric files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002edvipsrc_002c-searched-for"><code>.dvipsrc<span class="r">, searched for</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eenc-extension-for-encoding-vectors"><code>.enc <span class="r">extension for encoding vectors</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002elpro-long-prologue-files"><code>.lpro <span class="r">long prologue files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emf-Metafont-source-files"><code>.mf <span class="r">Metafont source files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ennnpk-packed-font-bitmaps"><code>.<var class="var">nnn</var>pk <span class="r">packed font bitmaps</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfa-extension-required-for-partial-downloading"><code>.pfa <span class="r">extension required for partial downloading</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfa-printer-font-ascii-files"><code>.pfa <span class="r">printer font ascii files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfb-extension-required-for-partial-downloading"><code>.pfb <span class="r">extension required for partial downloading</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfb-printer-font-binary-files"><code>.pfb <span class="r">printer font binary files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfm-printer-font-metric-files"><code>.pfm <span class="r">printer font metric files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epl-property-list-files"><code>.pl <span class="r">property list files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epro-prologue-files"><code>.pro <span class="r">prologue files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etfm-TeX-font-metric-files"><code>.tfm <span class="r">TeX font metric files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-8">/</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002f_0023copies"><code>/#copies</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002f_0023copies-1"><code>/#copies</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002fmagscale"><code>/magscale</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_0023copies"><code>/#copies</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_0023copies-1"><code>/#copies</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fmagscale"><code>/magscale</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-9">6</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-612-792-bounding-box-size"><code>612 792 <span class="roman">bounding box size</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-612-792-bounding-box-size"><code>612 792 <span class="r">bounding box size</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-10">8</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-8r-encoding_002c-and-extra-characters"><code>8r <span class="roman">encoding, and extra characters</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-8r-font-encoding">8r font encoding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-8r_002eenc"><code>8r.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-8r-encoding_002c-and-extra-characters"><code>8r <span class="r">encoding, and extra characters</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-8r-font-encoding">8r font encoding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-8r_002eenc"><code>8r.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-11">&lt;</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003c-font-downloading"><code>&lt; <span class="roman">font downloading</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003c_003c-whole-font-downloading"><code>&lt;&lt; <span class="roman">whole font downloading</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003c_005b-encoding-vector-downloading"><code>&lt;[ <span class="roman">encoding vector downloading</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003c-font-downloading"><code>&lt; <span class="r">font downloading</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003c_003c-whole-font-downloading"><code>&lt;&lt; <span class="r">whole font downloading</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003c_005b-encoding-vector-downloading"><code>&lt;[ <span class="r">encoding vector downloading</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-12">=</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003d_003a-ligature-operation"><code>=: <span class="roman">ligature operation</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003d_003a-ligature-operation"><code>=: <span class="r">ligature operation</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-13">@</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0040-config-command-_0028define-paper-sizes_0029"><code>@ <span class="roman">config command (define paper sizes)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0040-config-command-_0028define-paper-sizes_0029"><code>@ <span class="r">config command (define paper sizes)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-14">\</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005c_002e"><code>\.</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cAA"><code>\AA</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cColorName"><code>\<var>ColorName</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cdot"><code>\dot</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cepsffile-macro"><code>\epsffile <span class="roman">macro</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cepsfsize"><code>\epsfsize</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cepsfverbosetrue"><code>\epsfverbosetrue</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cepsfxsize"><code>\epsfxsize</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cepsfysize"><code>\epsfysize</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cH"><code>\H</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cincludegraphics-LaTeX-macro">\includegraphics LaTeX macro</a>:</td><td>&nbsp;</td><td valign="top"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cleavevmode"><code>\leavevmode</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cmagnification"><code>\magnification</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005crotninety"><code>\rotninety</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005ctextColorName"><code>\text<var>ColorName</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005c_002e"><code>\.</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cAA"><code>\AA</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cColorName"><code>\<var class="var">ColorName</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cdot"><code>\dot</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsffile-macro"><code>\epsffile <span class="r">macro</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfsize"><code>\epsfsize</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfverbosetrue"><code>\epsfverbosetrue</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfxsize"><code>\epsfxsize</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfysize"><code>\epsfysize</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cH"><code>\H</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cincludegraphics-LaTeX-macro">\includegraphics LaTeX macro</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cleavevmode"><code>\leavevmode</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cmagnification"><code>\magnification</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005crotninety"><code>\rotninety</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ctextColorName"><code>\text<var class="var">ColorName</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-15">|</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_007c-starting-output-filename"><code>| <span class="roman">starting output filename</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_007c-starting-output-filename"><code>| <span class="r">starting output filename</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-a-config-command-_0028conserve-memory_0029"><code>a <span class="roman">config command (conserve memory)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-A-ring_002c-Scandinavian-letter">A ring, Scandinavian letter</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-a3-papertype">a3 papertype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-a4-paper-size"><code>a4 <span class="roman">paper size</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-a4-papertype">a4 papertype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-A4size-paper-size"><code>A4size <span class="roman">paper size</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-absolute-filenames_002c-disabling">absolute filenames, disabling</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and &lsquo;<samp>-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and &lsquo;<samp>-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-accent-height-adjustment_002c-omitting">accent height adjustment, omitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-accents_002c-in-wrong-position">accents, in wrong position</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-accents_002c-wrong">accents, wrong</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-accuracy-in-positioning">accuracy in positioning</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-afm-files">afm files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-afm2tfm"><code>afm2tfm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-afm2tfm-1"><code>afm2tfm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-afm2tfm-options">afm2tfm options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-after-header_002c-inserting-code">after header, inserting code</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Aladdin-Ghostscript">Aladdin Ghostscript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Anderson_002c-Laurie">Anderson, Laurie</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-angle-_0028psfile-special-option_0029"><code>angle <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-arcs">arcs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ASCII-character-codes_002c-used-by-PostScript">ASCII character codes, used by PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-atend_002c-bounding-box-specification"><code>atend<span class="roman">, bounding box specification</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-a-config-command-_0028conserve-memory_0029"><code>a <span class="r">config command (conserve memory)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-A-ring_002c-Scandinavian-letter">A ring, Scandinavian letter</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-a3-papertype">a3 papertype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-a4-paper-size"><code>a4 <span class="r">paper size</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-a4-papertype">a4 papertype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-A4size-paper-size"><code>A4size <span class="r">paper size</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-filenames_002c-disabling">absolute filenames, disabling</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and &lsquo;<samp class="samp">-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and &lsquo;<samp class="samp">-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-accent-height-adjustment_002c-omitting">accent height adjustment, omitting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-accents_002c-in-wrong-position">accents, in wrong position</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-accents_002c-wrong">accents, wrong</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-accuracy-in-positioning">accuracy in positioning</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-afm-files">afm files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm"><code>afm2tfm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm-1"><code>afm2tfm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm-options">afm2tfm options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-after-header_002c-inserting-code">after header, inserting code</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Aladdin-Ghostscript">Aladdin Ghostscript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Anderson_002c-Laurie">Anderson, Laurie</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-angle-_0028psfile-special-option_0029"><code>angle <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-arcs">arcs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ASCII-character-codes_002c-used-by-PostScript">ASCII character codes, used by PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-atend_002c-bounding-box-specification"><code>atend<span class="r">, bounding box specification</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-b-config-command-_0028_0023copies_0029"><code>b <span class="roman">config command (#copies)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-base"><code>base</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-base-encoding_002c-recommended">base encoding, recommended</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-base-fonts">base fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bbfig"><code>bbfig</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-before-header_002c-inserting-code">before header, inserting code</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Bhattacharya_002c-Tanmoy">Bhattacharya, Tanmoy</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-big-points">big points</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-binary-files_002c-not-supported">binary files, not supported</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bitmap-font-encoding">bitmap font encoding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bitmap-font-encodings">bitmap font encodings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bitmap-fonts">bitmap fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029"><code>bitmapfontenc <span class="roman">config command (bitmap font encoding)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bop-undefined-error"><tt>bop undefined</tt> error</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bop_002dhook"><code>bop-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bop_002dhook-1"><code>bop-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bop_002dhook-2"><code>bop-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bop_002dhook_002c-and-offset-pages"><code>bop-hook<span class="roman">, and offset pages</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-boundary-character">boundary character</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-comment-for">bounding box, comment for</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-defined">bounding box, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-determining">bounding box, determining</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-finding-tight">bounding box, finding tight</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-for-bitmap-fonts">bounding box, for bitmap fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-inaccurate">bounding box, inaccurate</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-supplying-to-TeX">bounding box, supplying to TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-supplying-to-TeX-1">bounding box, supplying to TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-b-config-command-_0028_0023copies_0029"><code>b <span class="r">config command (#copies)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-base"><code>base</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-base-encoding_002c-recommended">base encoding, recommended</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-base-fonts">base fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bbfig"><code>bbfig</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-before-header_002c-inserting-code">before header, inserting code</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Bhattacharya_002c-Tanmoy">Bhattacharya, Tanmoy</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-big-points">big points</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-binary-files_002c-not-supported">binary files, not supported</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmap-font-encoding">bitmap font encoding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmap-font-encodings">bitmap font encodings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmap-fonts">bitmap fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029"><code>bitmapfontenc <span class="r">config command (bitmap font encoding)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bop-undefined-error"><code class="t">bop undefined</code> error</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook"><code>bop-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook-1"><code>bop-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook-2"><code>bop-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook_002c-and-offset-pages"><code>bop-hook<span class="r">, and offset pages</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-boundary-character">boundary character</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-comment-for">bounding box, comment for</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-defined">bounding box, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-determining">bounding box, determining</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-finding-tight">bounding box, finding tight</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-for-bitmap-fonts">bounding box, for bitmap fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-inaccurate">bounding box, inaccurate</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-supplying-to-TeX">bounding box, supplying to TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-supplying-to-TeX-1">bounding box, supplying to TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-c-config-command-_0028include-another-config-file_0029"><code>c <span class="roman">config command (include another config file)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-changing-PostScript-encodings">changing PostScript encodings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-changing-TeX-encodings">changing TeX encodings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-character-definitions-in-PostScript">character definitions in PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-character-lookup-procedure-in-PostScript">character lookup procedure in PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-CharStrings-Type-1-dictionary"><code>CharStrings <span class="roman">Type 1 dictionary</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-clip-_0028psfile-special-option_0029"><code>clip <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-clipping-of-EPSF">clipping of EPSF</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-CODINGSCHEME"><code>CODINGSCHEME</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-collated-copies">collated copies</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color">color</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color">Color</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-configuration">color configuration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-macros">color macros</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-names_002c-mixed-case">color names, mixed case</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-nesting-level">color nesting level</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-separations">color separations</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-specifications">color specifications</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-specifications">Color specifications</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-color-subtleties">color subtleties</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-subtleties">Color subtleties</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-colors_002c-user_002ddefinable">colors, user-definable</a>:</td><td>&nbsp;</td><td valign="top"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-command-line_002c-including-headers-from">command line, including headers from</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-command_002dline-options">command-line options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-comments_002c-in-configuration-files">comments, in configuration files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-comments_002c-in-encoding-files">comments, in encoding files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-comments_002c-removing-included">comments, removing included</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compilation">compilation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compressed-PostScript">compressed PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compressing-bitmap-fonts">compressing bitmap fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Computer-Modern-in-PostScript">Computer Modern in PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Computer-Modern_002c-encoding-of">Computer Modern, encoding of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-condensed-fonts">condensed fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eproto"><code>config.proto</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eps-installation"><code>config.ps <span class="roman">installation</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eps-paper-sizes"><code>config.ps <span class="roman">paper sizes</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eps_002c-searched-for"><code>config.ps<span class="roman">, searched for</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-file-options">configuration file options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-file-paper-size-command">configuration file paper size command</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-file-path">configuration file path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-file-searching">configuration file searching</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-files">configuration files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-files_002c-creating">configuration files, creating</a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-files_002c-prototype">configuration files, prototype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration_002c-of-color-devices">configuration, of color devices</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration_002c-of-Dvips">configuration, of Dvips</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-continuation-lines_002c-not-supported">continuation lines, not supported</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-control_002dD">control-D</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-coordinate-system_002c-for-bitmap-fonts">coordinate system, for bitmap fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-copies_002c-collated">copies, collated</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-copies_002c-duplicated-page-bodies">copies, duplicated page bodies</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-copies_002c-uncollated">copies, uncollated</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Crayola-crayon-box">Crayola crayon box</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-crop_002epro"><code>crop.pro</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-cropmarks">cropmarks</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-current-font_002c-in-PostScript">current font, in PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-c-config-command-_0028include-another-config-file_0029"><code>c <span class="r">config command (include another config file)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-changing-PostScript-encodings">changing PostScript encodings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-changing-TeX-encodings">changing TeX encodings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-character-definitions-in-PostScript">character definitions in PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-character-lookup-procedure-in-PostScript">character lookup procedure in PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-CharStrings-Type-1-dictionary"><code>CharStrings <span class="r">Type 1 dictionary</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-clip-_0028psfile-special-option_0029"><code>clip <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-clipping-of-EPSF">clipping of EPSF</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-CODINGSCHEME"><code>CODINGSCHEME</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-collated-copies">collated copies</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color">color</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color">Color</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-configuration">color configuration</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-macros">color macros</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-names_002c-mixed-case">color names, mixed case</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-nesting-level">color nesting level</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-separations">color separations</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-specifications">color specifications</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-specifications">Color specifications</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-color-subtleties">color subtleties</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-subtleties">Color subtleties</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-colors_002c-user_002ddefinable">colors, user-definable</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-command-line_002c-including-headers-from">command line, including headers from</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-command_002dline-options">command-line options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-configuration-files">comments, in configuration files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-encoding-files">comments, in encoding files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-removing-included">comments, removing included</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation">compilation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compressed-PostScript">compressed PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compressing-bitmap-fonts">compressing bitmap fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern-in-PostScript">Computer Modern in PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern_002c-encoding-of">Computer Modern, encoding of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-condensed-fonts">condensed fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eproto"><code>config.proto</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps-installation"><code>config.ps <span class="r">installation</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps-paper-sizes"><code>config.ps <span class="r">paper sizes</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps_002c-searched-for"><code>config.ps<span class="r">, searched for</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-options">configuration file options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-paper-size-command">configuration file paper size command</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-path">configuration file path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-searching">configuration file searching</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-files">configuration files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-files_002c-creating">configuration files, creating</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-files_002c-prototype">configuration files, prototype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-of-color-devices">configuration, of color devices</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-of-Dvips">configuration, of Dvips</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-continuation-lines_002c-not-supported">continuation lines, not supported</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-control_002dD">control-D</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-coordinate-system_002c-for-bitmap-fonts">coordinate system, for bitmap fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-copies_002c-collated">copies, collated</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-copies_002c-duplicated-page-bodies">copies, duplicated page bodies</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-copies_002c-uncollated">copies, uncollated</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Crayola-crayon-box">Crayola crayon box</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-crop_002epro"><code>crop.pro</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-cropmarks">cropmarks</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-current-font_002c-in-PostScript">current font, in PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-D-config-command-_0028dpi_0029"><code>D <span class="roman">config command (dpi)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dated-output">dated output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-datestamp_002c-in-output">datestamp, in output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging">debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging-1">debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging-options">debugging options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debug-options">Debug options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-default-resolutions">default resolutions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-default_005ftexsizes-Make-variable"><code>default_texsizes <span class="roman">Make variable</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Deutsch_002c-Peter">Deutsch, Peter</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-device-dependency_002c-and-virtual-fonts">device dependency, and virtual fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dictionary_002c-CharStrings">dictionary, <code>CharStrings</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dictionary_002c-PostScript-language">dictionary, PostScript language</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dictionary_002c-SDict">dictionary, <code>SDict</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dictionary_002c-userdict">dictionary, <code>userdict</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-distillation_002c-and-_002dz">distillation, and &lsquo;<samp>-z</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-distiller_002c-for-PDF-files">distiller, for PDF files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-document-title_002c-specifying">document title, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dot-accent">dot accent</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-double_002dsided-printing">double-sided printing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-downloading-fonts-partially">downloading fonts partially</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-downloading-PostScript-fonts">downloading PostScript fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Doyle_002c-Mark">Doyle, Mark</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-draft-copies">draft copies</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dual-paper-trays">dual paper trays</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-duplex-printers">duplex printers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVI-magnification">DVI magnification</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dvihps_002c-hyperdvi-to-PostScript"><code>dvihps<span class="roman">, hyperdvi to PostScript</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Dvips-configuration-file-options">Dvips configuration file options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dvips_002dall_002eenc"><code>dvips-all.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dvips_002eenc"><code>dvips.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSDEBUG"><code>DVIPSDEBUG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSHEADERS_002c-overrides-H"><code>DVIPSHEADERS<span class="roman">, overrides</span> H</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSRC"><code>DVIPSRC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSSIZES_002c-overrides-R"><code>DVIPSSIZES<span class="roman">, overrides</span> R</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dynamic-creation-of-graphics">dynamic creation of graphics</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-D-config-command-_0028dpi_0029"><code>D <span class="r">config command (dpi)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dated-output">dated output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-datestamp_002c-in-output">datestamp, in output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging">debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-1">debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-options">debugging options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debug-options">Debug options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-default-resolutions">default resolutions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-default_005ftexsizes-Make-variable"><code>default_texsizes <span class="r">Make variable</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Deutsch_002c-Peter">Deutsch, Peter</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-device-dependency_002c-and-virtual-fonts">device dependency, and virtual fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-CharStrings">dictionary, <code class="code">CharStrings</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-PostScript-language">dictionary, PostScript language</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-SDict">dictionary, <code class="code">SDict</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-userdict">dictionary, <code class="code">userdict</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-distillation_002c-and-_002dz">distillation, and &lsquo;<samp class="samp">-z</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-distiller_002c-for-PDF-files">distiller, for PDF files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-document-title_002c-specifying">document title, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dot-accent">dot accent</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-double_002dsided-printing">double-sided printing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-downloading-fonts-partially">downloading fonts partially</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-downloading-PostScript-fonts">downloading PostScript fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Doyle_002c-Mark">Doyle, Mark</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-draft-copies">draft copies</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dual-paper-trays">dual paper trays</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-duplex-printers">duplex printers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-magnification">DVI magnification</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dvihps_002c-hyperdvi-to-PostScript"><code>dvihps<span class="r">, hyperdvi to PostScript</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Dvips-configuration-file-options">Dvips configuration file options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dvips_002dall_002eenc"><code>dvips-all.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dvips_002eenc"><code>dvips.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSDEBUG"><code>DVIPSDEBUG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSHEADERS_002c-overrides-H"><code>DVIPSHEADERS<span class="r">, overrides</span> H</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSRC"><code>DVIPSRC</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSSIZES_002c-overrides-R"><code>DVIPSSIZES<span class="r">, overrides</span> R</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-creation-of-graphics">dynamic creation of graphics</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-e-config-command-_0028maxdrift_0029"><code>e <span class="roman">config command (maxdrift)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-E-config-command-_0028shell-escape_0029"><code>E <span class="roman">config command (shell escape)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-efficiency_002c-and-fonts">efficiency, and fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ehandler_002eps"><code>ehandler.ps</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-embedding-Type-1-fonts">embedding Type 1 fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encoding-changes">encoding changes</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encoding-file-format">encoding file format</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encoding-files">encoding files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Encoding-Type-1-dictionary"><code>Encoding <span class="roman">Type 1 dictionary</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encoding-vectors_002c-defined">encoding vectors, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encoding-vectors_002c-in-Type-1-fonts">encoding vectors, in Type 1 fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encodings">encodings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-encodings_002c-for-bitmap-fonts">encodings, for bitmap fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-end_002dhook"><code>end-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-environment-variables">environment variables</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-EOF">EOF</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-eop_002dhook"><code>eop-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-EPS_002c-and-Ghostview">EPS, and Ghostview</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-EPSF-macros">EPSF macros</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-EPSF_002c-generating">EPSF, generating</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-epsf_002esty"><code>epsf.sty</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-epsf_002etex"><code>epsf.tex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Epson-printers">Epson printers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-error-messages-from-printer">error messages from printer</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-even-pages-only">even pages only</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-examples-of-literal-PostScript">examples of literal PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expanded-fonts">expanded fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expanded-fonts-1">expanded fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expanded-fonts-2">expanded fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-of-virtual-fonts">expansion, of virtual fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-extended-URL">extended URL</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ExtendFont"><code>ExtendFont</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-extra-characters_002c-accessing">extra characters, accessing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-e-config-command-_0028maxdrift_0029"><code>e <span class="r">config command (maxdrift)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-E-config-command-_0028shell-escape_0029"><code>E <span class="r">config command (shell escape)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-efficiency_002c-and-fonts">efficiency, and fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ehandler_002eps"><code>ehandler.ps</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-embedding-Type-1-fonts">embedding Type 1 fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-changes">encoding changes</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-file-format">encoding file format</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-files">encoding files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Encoding-Type-1-dictionary"><code>Encoding <span class="r">Type 1 dictionary</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-vectors_002c-defined">encoding vectors, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-vectors_002c-in-Type-1-fonts">encoding vectors, in Type 1 fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encodings">encodings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-encodings_002c-for-bitmap-fonts">encodings, for bitmap fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-end_002dhook"><code>end-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables">environment variables</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-EOF">EOF</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-eop_002dhook"><code>eop-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-EPS_002c-and-Ghostview">EPS, and Ghostview</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-EPSF-macros">EPSF macros</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-EPSF_002c-generating">EPSF, generating</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-epsf_002esty"><code>epsf.sty</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-epsf_002etex"><code>epsf.tex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Epson-printers">Epson printers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-error-messages-from-printer">error messages from printer</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-even-pages-only">even pages only</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-examples-of-literal-PostScript">examples of literal PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-fonts">expanded fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-fonts-1">expanded fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-fonts-2">expanded fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-of-virtual-fonts">expansion, of virtual fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-extended-URL">extended URL</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ExtendFont"><code>ExtendFont</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-extra-characters_002c-accessing">extra characters, accessing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-f-config-command-_0028filter_0029"><code>f <span class="roman">config command (filter)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-F-config-command-_0028filter_0029"><code>F <span class="roman">config command (filter)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-failure_002c-and-printer-errors">failure, and printer errors</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-failure_002c-of-long-documents">failure, of long documents</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Long-documents-fail">Long documents fail</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-failure_002c-to-include-graphics">failure, to include graphics</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-failure_002c-to-print-at-all">failure, to print at all</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-figures-and-fonts">figures and fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-figures_002c-natural-size">figures, natural size</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-figures_002c-scaling">figures, scaling</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-filter_002c-running-as-a">filter, running as a</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-first-page-printed">first page printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-concepts">font concepts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Font-concepts">Font concepts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-encodings_002c-bitmap">font encodings, bitmap</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fontinst"><code>fontinst</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-as-header-files">fonts, as header files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-changing-encoding-of">fonts, changing encoding of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-downloading">fonts, downloading</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-expanded">fonts, expanded</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-in-PostScript-figures">fonts, in PostScript figures</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-installation-of-PostScript">fonts, installation of PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-installing">fonts, installing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-outlined">fonts, outlined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-slanted">fonts, slanted</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-small-caps">fonts, small caps</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fonts_002c-system-PostScript">fonts, system PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-f-config-command-_0028filter_0029"><code>f <span class="r">config command (filter)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-F-config-command-_0028filter_0029"><code>F <span class="r">config command (filter)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-and-printer-errors">failure, and printer errors</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-of-long-documents">failure, of long documents</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Long-documents-fail">Long documents fail</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-to-include-graphics">failure, to include graphics</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-to-print-at-all">failure, to print at all</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-figures-and-fonts">figures and fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-figures_002c-natural-size">figures, natural size</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-figures_002c-scaling">figures, scaling</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-filter_002c-running-as-a">filter, running as a</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-first-page-printed">first page printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-concepts">font concepts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Font-concepts">Font concepts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-encodings_002c-bitmap">font encodings, bitmap</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fontinst"><code>fontinst</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-as-header-files">fonts, as header files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-changing-encoding-of">fonts, changing encoding of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-downloading">fonts, downloading</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-expanded">fonts, expanded</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-in-PostScript-figures">fonts, in PostScript figures</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-installation-of-PostScript">fonts, installation of PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-installing">fonts, installing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-outlined">fonts, outlined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-slanted">fonts, slanted</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-small-caps">fonts, small caps</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-system-PostScript">fonts, system PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-G-config-command-_0028character-shifting_0029"><code>G <span class="roman">config command (character shifting)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gf-files">gf files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gftopk"><code>gftopk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Ghostscript-installation">Ghostscript installation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ghostview"><code>ghostview</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Ghostview_002c-and-no-N">Ghostview, and no &lsquo;<samp>N</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-glyph-files">glyph files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GLYPHFONTS_002c-overrides-P"><code>GLYPHFONTS<span class="roman">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gnuplot"><code>gnuplot</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-graphics-inclusion-fails">graphics inclusion fails</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gs-installation"><code>gs <span class="roman">installation</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gsave_002fgrestore_002c-and-literal-PS"><code>gsave<span class="roman">/</span>grestore<span class="roman">, and literal PS</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gsftopk"><code>gsftopk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-G-config-command-_0028character-shifting_0029"><code>G <span class="r">config command (character shifting)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gf-files">gf files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gftopk"><code>gftopk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Ghostscript-installation">Ghostscript installation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ghostview"><code>ghostview</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Ghostview_002c-and-no-N">Ghostview, and no &lsquo;<samp class="samp">N</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-files">glyph files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GLYPHFONTS_002c-overrides-P"><code>GLYPHFONTS<span class="r">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gnuplot"><code>gnuplot</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-graphics-inclusion-fails">graphics inclusion fails</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gs-installation"><code>gs <span class="r">installation</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gsave_002fgrestore_002c-and-literal-PS"><code>gsave<span class="r">/</span>grestore<span class="r">, and literal PS</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gsftopk"><code>gsftopk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-h-config-command-_0028download-additional-header_0029"><code>h <span class="roman">config command (download additional header)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-H-config-command-_0028PostScript-header-path_0029"><code>H <span class="roman">config command (PostScript header path)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Hafner_002c-Jim">Hafner, Jim</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color">Color</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-header-file_002c-downloading">header file, downloading</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-header-files_002c-defined">header files, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-header-path_002c-defining">header path, defining</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-header_003dfile-_005cspecial"><code>header=<var>file</var> \special</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-headers-and-memory-usage">headers and memory usage</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-headers_002c-including-from-the-command-line">headers, including from the command line</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-headers_002c-including-in-TeX">headers, including in TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hints">hints</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hoffset-_0028psfile-special-option_0029"><code>hoffset <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-HP4Si-printer-and-paper-trays">HP4Si printer and paper trays</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-href"><code>href</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hscale-_0028psfile-special-option_0029"><code>hscale <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hsize-_0028psfile-special-option_0029"><code>hsize <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-html-specials"><code>html <span class="roman">specials</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-html-specials_002c-and-_002dz"><code>html <span class="roman">specials, and &lsquo;<samp>-z</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Hungarian-umlaut">Hungarian umlaut</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hyperdvi-extensions_002c-enabling">hyperdvi extensions, enabling</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hypertext-and-bitmap-fonts">hypertext and bitmap fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hypertext-caveats">hypertext caveats</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hypertext-caveats-1">hypertext caveats</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hypertext-specials">hypertext specials</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hypertext-support">hypertext support</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-h-config-command-_0028download-additional-header_0029"><code>h <span class="r">config command (download additional header)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-H-config-command-_0028PostScript-header-path_0029"><code>H <span class="r">config command (PostScript header path)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Hafner_002c-Jim">Hafner, Jim</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color">Color</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-header-file_002c-downloading">header file, downloading</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-header-files_002c-defined">header files, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-header-path_002c-defining">header path, defining</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-header_003dfile-_005cspecial"><code>header=<var class="var">file</var> \special</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-headers-and-memory-usage">headers and memory usage</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-headers_002c-including-from-the-command-line">headers, including from the command line</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-headers_002c-including-in-TeX">headers, including in TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hints">hints</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hoffset-_0028psfile-special-option_0029"><code>hoffset <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-HP4Si-printer-and-paper-trays">HP4Si printer and paper trays</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-href"><code>href</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hscale-_0028psfile-special-option_0029"><code>hscale <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hsize-_0028psfile-special-option_0029"><code>hsize <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-html-specials"><code>html <span class="r">specials</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-html-specials_002c-and-_002dz"><code>html <span class="r">specials, and &lsquo;<samp class="samp">-z</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Hungarian-umlaut">Hungarian umlaut</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hyperdvi-extensions_002c-enabling">hyperdvi extensions, enabling</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-and-bitmap-fonts">hypertext and bitmap fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-caveats">hypertext caveats</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-caveats-1">hypertext caveats</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-specials">hypertext specials</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-support">hypertext support</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-i-config-command-_0028pages_002fsection_0029"><code>i <span class="roman">config command (pages/section)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Illustrator_002c-workaround-for">Illustrator, workaround for</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-img"><code>img</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-including-graphics-fails">including graphics fails</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-including-headers-from-the-command-line">including headers from the command line</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-including-headers-in-TeX">including headers in TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-installation-of-config_002eps">installation of <samp>config.ps</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-installation-of-PostScript-fonts">installation of PostScript fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-installation_002c-of-Dvips">installation, of Dvips</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-installing-fonts">installing fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-interaction-with-PostScript">interaction with PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-inverted-output">inverted output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-invoking-Dvips">invoking Dvips</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-i-config-command-_0028pages_002fsection_0029"><code>i <span class="r">config command (pages/section)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Illustrator_002c-workaround-for">Illustrator, workaround for</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-img"><code>img</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-including-graphics-fails">including graphics fails</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-including-headers-from-the-command-line">including headers from the command line</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-including-headers-in-TeX">including headers in TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-installation-of-config_002eps">installation of <samp class="file">config.ps</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-installation-of-PostScript-fonts">installation of PostScript fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-installation_002c-of-Dvips">installation, of Dvips</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-installing-fonts">installing fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-interaction-with-PostScript">interaction with PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-inverted-output">inverted output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-invoking-Dvips">invoking Dvips</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-J">J</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-j-config-command-_0028partial-font-downloading_0029"><code>j <span class="roman">config command (partial font downloading)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Japanese-font-metric-file">Japanese font metric file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Jeffrey_002c-Alan">Jeffrey, Alan</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-JFM-file_002c-and-virtual-font-fallback">JFM file, and virtual font fallback</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-j-config-command-_0028partial-font-downloading_0029"><code>j <span class="r">config command (partial font downloading)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Japanese-font-metric-file">Japanese font metric file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Jeffrey_002c-Alan">Jeffrey, Alan</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-JFM-file_002c-and-virtual-font-fallback">JFM file, and virtual font fallback</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-K-config-command-_0028comment-removal_0029"><code>K <span class="roman">config command (comment removal)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kerning_002c-defined">kerning, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-K-config-command-_0028comment-removal_0029"><code>K <span class="r">config command (comment removal)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kerning_002c-defined">kerning, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-L-config-command-_0028last-paper-size-wins_0029"><code>L <span class="roman">config command (last paper size wins)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscape-orientation_002c-defined">landscape orientation, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscape-papertype">landscape papertype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscape_002c-as-_005cspecial"><code>landscape<span class="roman">, as <code>\special</code></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscaperotate">landscaperotate</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscaperotate-command-line-option">landscaperotate command line option</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscaperotate-config-command"><code>landscaperotate <span class="roman">config command</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-landscaperotate-configuration-file-command">landscaperotate configuration file command</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-last-page-printed">last page printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-last_002dresort-font-scaling_002c-with-DVIPSSIZES">last-resort font scaling, with <code>DVIPSSIZES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-last_002dresort-scaling_002c-with-R">last-resort scaling, with <code>R</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ledger-papertype">ledger papertype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-legal-papertype">legal papertype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-letter-paper-size"><code>letter <span class="roman">paper size</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-letter-papertype">letter papertype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-letterhead-tray">letterhead tray</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-letterSize-paper-size"><code>letterSize <span class="roman">paper size</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ligature-operations">ligature operations</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ligature_002c-defined">ligature, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LIGKERN-encoding-file-command"><code>LIGKERN <span class="roman">encoding file command</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lines-in-figures_002c-wrong-width">lines in figures, wrong width</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-links_002c-hypertext">links, hypertext</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-literal-headers">literal headers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-literal-PostScript_002c-examples">literal PostScript, examples</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-literal-PostScript_002c-using">literal PostScript, using</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-PS">Literal PS</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-llx-_0028psfile-special-option_0029"><code>llx <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lly-_0028psfile-special-option_0029"><code>lly <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-long-documents-not-printing">long documents not printing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Long-documents-fail">Long documents fail</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-low-characters_002c-shifting">low characters, shifting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lpr-spooler_002c-MS_002dDOS-emulation">lpr spooler, MS-DOS emulation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-L-config-command-_0028last-paper-size-wins_0029"><code>L <span class="r">config command (last paper size wins)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscape-orientation_002c-defined">landscape orientation, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscape-papertype">landscape papertype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscape_002c-as-_005cspecial"><code>landscape<span class="r">, as <code class="code">\special</code></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#papersize-special">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate">landscaperotate</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate-command-line-option">landscaperotate command line option</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate-config-command"><code>landscaperotate <span class="r">config command</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate-configuration-file-command">landscaperotate configuration file command</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-last-page-printed">last page printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-last_002dresort-font-scaling_002c-with-DVIPSSIZES">last-resort font scaling, with <code class="code">DVIPSSIZES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-last_002dresort-scaling_002c-with-R">last-resort scaling, with <code class="code">R</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ledger-papertype">ledger papertype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-legal-papertype">legal papertype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-letter-paper-size"><code>letter <span class="r">paper size</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-letter-papertype">letter papertype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-letterhead-tray">letterhead tray</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-letterSize-paper-size"><code>letterSize <span class="r">paper size</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ligature-operations">ligature operations</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ligature_002c-defined">ligature, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LIGKERN-encoding-file-command"><code>LIGKERN <span class="r">encoding file command</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lines-in-figures_002c-wrong-width">lines in figures, wrong width</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-links_002c-hypertext">links, hypertext</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-literal-headers">literal headers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-literal-PostScript_002c-examples">literal PostScript, examples</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-literal-PostScript_002c-using">literal PostScript, using</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-PS">Literal PS</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-llx-_0028psfile-special-option_0029"><code>llx <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lly-_0028psfile-special-option_0029"><code>lly <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-long-documents-not-printing">long documents not printing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Long-documents-fail">Long documents fail</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-low-characters_002c-shifting">low characters, shifting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lpr-spooler_002c-MS_002dDOS-emulation">lpr spooler, MS-DOS emulation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-m-config-command-_0028available-memory_0029"><code>m <span class="roman">config command (available memory)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-M-config-command-_0028mf-mode_0029"><code>M <span class="roman">config command (mf mode)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-macros-for-color">macros for color</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-macros-for-epsf-inclusion">macros for epsf inclusion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-macros-for-epsf-inclusion-1">macros for epsf inclusion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-magnification_002c-DVI">magnification, DVI</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-magnification_002c-vertical">magnification, vertical</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mailcap-and-hypertext"><code>mailcap <span class="roman">and hypertext</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-manual-feed">manual feed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-maxdrift">maxdrift</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-maximum-pages-printed">maximum pages printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-media">media</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-memory-available">memory available</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-memory-of-printer-exhausted">memory of printer exhausted</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-memory-usage_002c-and-headers">memory usage, and headers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-memory_002c-conserving">memory, conserving</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-memory_002c-used-by-PostScript-fonts">memory, used by PostScript fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-ligature-operations">Metafont ligature operations</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-source-files">Metafont source files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-metric-files">metric files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Minion-typeface-family">Minion typeface family</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Mitsubishi-Shinko-CHC_002dS446i-printer">Mitsubishi Shinko CHC-S446i printer</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mkdvipspapers"><code>mkdvipspapers</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="roman">, avoiding</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexpk_002c-changing-name"><code>mktexpk<span class="roman">, changing name</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mtpk"><code>mtpk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-multiple-master-fonts">multiple master fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-multiple-output-files">multiple output files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-multiple-paper-trays">multiple paper trays</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Murphy_002c-Tim">Murphy, Tim</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-m-config-command-_0028available-memory_0029"><code>m <span class="r">config command (available memory)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-M-config-command-_0028mf-mode_0029"><code>M <span class="r">config command (mf mode)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-macros-for-color">macros for color</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-macros-for-epsf-inclusion">macros for epsf inclusion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-macros-for-epsf-inclusion-1">macros for epsf inclusion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-DVI">magnification, DVI</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-vertical">magnification, vertical</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mailcap-and-hypertext"><code>mailcap <span class="r">and hypertext</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-manual-feed">manual feed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-maxdrift">maxdrift</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-maximum-pages-printed">maximum pages printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-media">media</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-available">memory available</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-of-printer-exhausted">memory of printer exhausted</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-usage_002c-and-headers">memory usage, and headers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-memory_002c-conserving">memory, conserving</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-memory_002c-used-by-PostScript-fonts">memory, used by PostScript fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-ligature-operations">Metafont ligature operations</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-source-files">Metafont source files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-metric-files">metric files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Minion-typeface-family">Minion typeface family</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Mitsubishi-Shinko-CHC_002dS446i-printer">Mitsubishi Shinko CHC-S446i printer</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mkdvipspapers"><code>mkdvipspapers</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="r">, avoiding</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk_002c-changing-name"><code>mktexpk<span class="r">, changing name</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mtpk"><code>mtpk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-master-fonts">multiple master fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-output-files">multiple output files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-paper-trays">multiple paper trays</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Murphy_002c-Tim">Murphy, Tim</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-N--config-command-_0028disable-EPS_0029"><code>N <span class="roman"> config command (disable EPS)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-name"><code>name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-narrow-fonts">narrow fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-no-output-at-all">no output at all</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-non_002dprinting-characters_002c-shifting">non-printing characters, shifting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-non_002dresident-fonts">non-resident fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-nopaper_002c-paper-format-for-_002dt"><code>nopaper<span class="roman">, paper format for &lsquo;<samp>-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-N-config-command-_0028disable-EPS_0029"><code>N <span class="r"> config command (disable EPS)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-name"><code>name</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-narrow-fonts">narrow fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-no-output-at-all">no output at all</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-non_002dprinting-characters_002c-shifting">non-printing characters, shifting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-non_002dresident-fonts">non-resident fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-nopaper_002c-paper-format-for-_002dt"><code>nopaper<span class="r">, paper format for &lsquo;<samp class="samp">-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-o-config-command-_0028output-destination_0029"><code>o <span class="roman">config command (output destination)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-O-config-command-_0028page-offsets_0029"><code>O <span class="roman">config command (page offsets)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-oblique-fonts">oblique fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-octal-character-codes">octal character codes</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-odd-pages-only">odd pages only</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-offset-pages">offset pages</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Omega-extensions">Omega extensions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-option_002c-details-of">option, details of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-debugging">options, debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debug-options">Debug options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-Dvips">options, Dvips</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-summary">options, summary</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-summary">Option summary</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options_002c-to-Afm2tfm">options, to Afm2tfm</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-outline-fonts">outline fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-outline-fonts-1">outline fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output-file_002c-sectioning-of">output file, sectioning of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output-file_002c-setting">output file, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output-files_002c-multiple">output files, multiple</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output-title_002c-specifying">output title, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output_002c-inverted">output, inverted</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output_002c-none">output, none</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-output_002c-too-small">output, too small</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-o-config-command-_0028output-destination_0029"><code>o <span class="r">config command (output destination)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-O-config-command-_0028page-offsets_0029"><code>O <span class="r">config command (page offsets)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-oblique-fonts">oblique fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-octal-character-codes">octal character codes</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-odd-pages-only">odd pages only</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-offset-pages">offset pages</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Omega-extensions">Omega extensions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-option_002c-details-of">option, details of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-debugging">options, debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debug-options">Debug options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-Dvips">options, Dvips</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-summary">options, summary</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-summary">Option summary</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-to-Afm2tfm">options, to Afm2tfm</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-outline-fonts">outline fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-outline-fonts-1">outline fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output-file_002c-sectioning-of">output file, sectioning of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output-file_002c-setting">output file, setting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output-files_002c-multiple">output files, multiple</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output-title_002c-specifying">output title, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-inverted">output, inverted</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-none">output, none</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-too-small">output, too small</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-p-config-command-_0028font-aliases_0029"><code>p <span class="roman">config command (font aliases)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-P-config-command-_0028PK-path_0029"><code>P <span class="roman">config command (PK path)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page-numbers_002c-multiple-repetitions-of">page numbers, multiple repetitions of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page-range">page range</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pages_002c-maximum-printed">pages, maximum printed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PaintType"><code>PaintType</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Pantone-colors">Pantone colors</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-paper-size-configuration-file-command">paper size configuration file command</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-paper-size_002c-default">paper size, default</a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-paper-size_002c-general">paper size, general</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-paper-trays">paper trays</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-paper-type">paper type</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-papersize-special"><code>papersize <span class="roman">special</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-papersize-special_002c-and-no-_002dt">papersize special, and no &lsquo;<samp>-t</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-papersize-special_002c-first-vs_002e-last">&lsquo;<samp>papersize</samp>&rsquo; special, first vs. last</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-partial-font-downloading">partial font downloading</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-font-quality">PDF files, font quality</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-making">PDF files, making</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-making-1">PDF files, making</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-option-for">PDF files, option for</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pdfmark"><code>pdfmark</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pfa-files">pfa files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pfb-files">pfb files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pfb-files_002c-automatically-unpacked">pfb files, automatically unpacked</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pfm-files">pfm files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Phaser-printer_002c-used-for-color-calibration">Phaser printer, used for color calibration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and &lsquo;<samp>-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and &lsquo;<samp>-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-bop_002dhook">physical page number, and <code>bop-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pipes_002c-not-readable">pipes, not readable</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pk-files">pk files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PKFONTS_002c-overrides-P"><code>PKFONTS<span class="roman">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-plotfile_002c-ps-subspecial"><code>plotfile<span class="roman">, &lsquo;<samp>ps</samp>&rsquo; subspecial</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ps-special">ps special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pltotf"><code>pltotf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-popen-for-output"><code>popen <span class="roman">for output</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-portrait-orientation_002c-defined">portrait orientation, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-positioning-accuracy">positioning accuracy</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-post-code-after-headers"><code>post <span class="roman">code after headers</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-code_002c-literal">PostScript code, literal</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-PS">Literal PS</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-encoding">PostScript encoding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-encoding_002c-changing">PostScript encoding, changing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-font-alias-file">PostScript font alias file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-font-alias-file-1">PostScript font alias file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-fonts">PostScript fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-fonts">PostScript fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-fonts_002c-installing">PostScript fonts, installing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-fonts_002c-on-your-system">PostScript fonts, on your system</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-header-files">PostScript header files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-hooks">PostScript hooks</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-interaction">PostScript interaction</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-previewers">PostScript previewers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PostScript-units">PostScript units</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PowerPage-PostScript-implementation">PowerPage PostScript implementation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pre-code-before-headers"><code>pre <span class="roman">code before headers</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-previewing-Dvips-output">previewing Dvips output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PRINTER"><code>PRINTER</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer-configuration">printer configuration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer-configuration-file_002c-prototype">printer configuration file, prototype</a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer-errors">printer errors</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer-memory">printer memory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer-memory-exhausted">printer memory exhausted</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer-offset">printer offset</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PRINTER_002c-and-config-file-searching"><code>PRINTER<span class="roman">, and config file searching</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PRINTER_002c-avoided-with-_002df"><code>PRINTER<span class="roman">, avoided with &lsquo;<samp>-f</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-printer_002c-driving-directly">printer, driving directly</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-problems">problems</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-property-list-files">property list files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-prototype-printer-configuration-file">prototype printer configuration file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ps-special"><code>ps <span class="roman">special</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ps-special">ps special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-psfile-special"><code>psfile <span class="roman">special</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-psfonts_002emap"><code>psfonts.map</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-psfonts_002emap-1"><code>psfonts.map</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-psfonts_002emap-2"><code>psfonts.map</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-psheaderdir"><code>psheaderdir</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-psi-character-missing">psi character missing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pstopk"><code>pstopk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pTeX-extensions">pTeX extensions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pTeX-extensions-1">pTeX extensions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ptex-JFM"><code>ptex <span class="roman">JFM</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-p-config-command-_0028font-aliases_0029"><code>p <span class="r">config command (font aliases)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-P-config-command-_0028PK-path_0029"><code>P <span class="r">config command (PK path)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page-numbers_002c-multiple-repetitions-of">page numbers, multiple repetitions of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page-range">page range</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pages_002c-maximum-printed">pages, maximum printed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PaintType"><code>PaintType</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Pantone-colors">Pantone colors</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-size-configuration-file-command">paper size configuration file command</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-size_002c-default">paper size, default</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-size_002c-general">paper size, general</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-trays">paper trays</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-type">paper type</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-papersize-special"><code>papersize <span class="r">special</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#papersize-special">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-papersize-special_002c-and-no-_002dt">papersize special, and no &lsquo;<samp class="samp">-t</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-papersize-special_002c-first-vs_002e-last">&lsquo;<samp class="samp">papersize</samp>&rsquo; special, first vs. last</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-partial-font-downloading">partial font downloading</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-font-quality">PDF files, font quality</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-making">PDF files, making</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-making-1">PDF files, making</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-option-for">PDF files, option for</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pdfmark"><code>pdfmark</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pfa-files">pfa files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pfb-files">pfb files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pfb-files_002c-automatically-unpacked">pfb files, automatically unpacked</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pfm-files">pfm files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Phaser-printer_002c-used-for-color-calibration">Phaser printer, used for color calibration</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and &lsquo;<samp class="samp">-l</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and &lsquo;<samp class="samp">-p</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-bop_002dhook">physical page number, and <code class="code">bop-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pipes_002c-not-readable">pipes, not readable</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pk-files">pk files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PKFONTS_002c-overrides-P"><code>PKFONTS<span class="r">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-plotfile_002c-ps-subspecial"><code>plotfile<span class="r">, &lsquo;<samp class="samp">ps</samp>&rsquo; subspecial</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pltotf"><code>pltotf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-popen-for-output"><code>popen <span class="r">for output</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-portrait-orientation_002c-defined">portrait orientation, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-positioning-accuracy">positioning accuracy</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-post-code-after-headers"><code>post <span class="r">code after headers</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-code_002c-literal">PostScript code, literal</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-PS">Literal PS</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-encoding">PostScript encoding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-encoding_002c-changing">PostScript encoding, changing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-font-alias-file">PostScript font alias file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-font-alias-file-1">PostScript font alias file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts">PostScript fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-fonts">PostScript fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts_002c-installing">PostScript fonts, installing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts_002c-on-your-system">PostScript fonts, on your system</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-header-files">PostScript header files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-hooks">PostScript hooks</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-interaction">PostScript interaction</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-previewers">PostScript previewers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-units">PostScript units</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PowerPage-PostScript-implementation">PowerPage PostScript implementation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pre-code-before-headers"><code>pre <span class="r">code before headers</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-previewing-Dvips-output">previewing Dvips output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PRINTER"><code>PRINTER</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-configuration">printer configuration</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-configuration-file_002c-prototype">printer configuration file, prototype</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-errors">printer errors</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-memory">printer memory</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-memory-exhausted">printer memory exhausted</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-offset">printer offset</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PRINTER_002c-and-config-file-searching"><code>PRINTER<span class="r">, and config file searching</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PRINTER_002c-avoided-with-_002df"><code>PRINTER<span class="r">, avoided with &lsquo;<samp class="samp">-f</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-printer_002c-driving-directly">printer, driving directly</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-problems">problems</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-property-list-files">property list files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-prototype-printer-configuration-file">prototype printer configuration file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ps-special"><code>ps <span class="r">special</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-psfile-special"><code>psfile <span class="r">special</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap"><code>psfonts.map</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap-1"><code>psfonts.map</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap-2"><code>psfonts.map</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-psheaderdir"><code>psheaderdir</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-psi-character-missing">psi character missing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pstopk"><code>pstopk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pTeX-extensions">pTeX extensions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pTeX-extensions-1">pTeX extensions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ptex-JFM"><code>ptex <span class="r">JFM</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-q-config-command-_0028quiet_0029"><code>q <span class="roman">config command (quiet)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Q-config-command-_0028quiet_0029"><code>Q <span class="roman">config command (quiet)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-quiet-operation">quiet operation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-q-config-command-_0028quiet_0029"><code>q <span class="r">config command (quiet)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Q-config-command-_0028quiet_0029"><code>Q <span class="r">config command (quiet)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-quiet-operation">quiet operation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R-config-command-_0028fallback-resolution_0029"><code>R <span class="roman">config command (fallback resolution)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-r-config-command-_0028page-reversal_0029"><code>r <span class="roman">config command (page reversal)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-raw-tfm-files">raw tfm files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reencode_002f_002a_002eenc"><code>reencode/*.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reencoding">reencoding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reencoding-PostScript-fonts">reencoding PostScript fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-registered-character_002c-accessing"><code>registered <span class="roman">character, accessing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-remapping">remapping</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resident-fonts_002c-different-in-different-printers">resident fonts, different in different printers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resident-fonts_002c-different-in-different-printers-1">resident fonts, different in different printers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resolution">resolution</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resolution-1">resolution</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-rhi-_0028psfile-special-option_0029"><code>rhi <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Rokicki_002c-Tomas">Rokicki, Tomas</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Why-Dvips">Why Dvips</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-rotate_002etex"><code>rotate.tex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ps-special">ps special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-rwi-_0028psfile-special-option_0029"><code>rwi <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R-config-command-_0028fallback-resolution_0029"><code>R <span class="r">config command (fallback resolution)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-r-config-command-_0028page-reversal_0029"><code>r <span class="r">config command (page reversal)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-raw-tfm-files">raw tfm files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reencode_002f_002a_002eenc"><code>reencode/*.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reencoding">reencoding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reencoding-PostScript-fonts">reencoding PostScript fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-registered-character_002c-accessing"><code>registered <span class="r">character, accessing</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-remapping">remapping</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resident-fonts_002c-different-in-different-printers">resident fonts, different in different printers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resident-fonts_002c-different-in-different-printers-1">resident fonts, different in different printers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution">resolution</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution-1">resolution</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-rhi-_0028psfile-special-option_0029"><code>rhi <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Rokicki_002c-Tomas">Rokicki, Tomas</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Why-Dvips">Why Dvips</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-rotate_002etex"><code>rotate.tex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-rwi-_0028psfile-special-option_0029"><code>rwi <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-s-config-command-_0028global-save_002frestore_0029"><code>s <span class="roman">config command (global save/restore)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-S-config-command-_0028pict-path_0029"><code>S <span class="roman">config command (pict path)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-and-inverted-output">save/restore, and inverted output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-and-literal-PS"><code>save<span class="roman">/</span>restore<span class="roman">, and literal PS</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-and-specials">save/restore, and specials</a>:</td><td>&nbsp;</td><td valign="top"><a href="#ps-special">ps special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-generating-global">save/restore, generating global</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-scaleunit"><code>scaleunit</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-scaling-of-figures">scaling of figures</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-scaling-small-caps">scaling small caps</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Scandinavian-A-ring">Scandinavian A ring</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-screen-frequencies_002c-setting">screen frequencies, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SDict"><code>SDict</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SDict-dictionary"><code>SDict <span class="roman">dictionary</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-searching-config-files_002c-order-of">searching config files, order of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-sections-of-output-file_002c-and-memory">sections of output file, and memory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-sections-output_002c-in-separate-files">sections output, in separate files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-security">security</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-shell-command-execution_002c-disabling">shell command execution, disabling</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-shell-escape_002c-in-config-file">shell escape, in config file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Shinko-CHC_002dS446i-printer">Shinko CHC-S446i printer</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-show-PostScript-operator"><code>show <span class="roman">PostScript operator</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-silent-operation">silent operation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-simplex-mode-on-duplex-printers">simplex mode on duplex printers</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-slanted-fonts">slanted fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-slanted-fonts_002c-making">slanted fonts, making</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SlantFont"><code>SlantFont</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-small-caps-fonts">small caps fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Smith_002c-Arthur">Smith, Arthur</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-spaces_002c-dropped-trailing">spaces, dropped trailing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-specials_002c-hypertext">specials, hypertext</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-splines">splines</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-spooler_002c-lacking">spooler, lacking</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-spooling-to-lpr-on-MS_002dDOS">spooling to lpr on MS-DOS</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-I_002fO">standard I/O</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-PostScript_002c-required-by-Ghostview">standard PostScript, required by Ghostview</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-start_002dhook"><code>start-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-structured-comments">structured comments</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-system-in-config-file"><code>system <span class="roman">in config file</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-s-config-command-_0028global-save_002frestore_0029"><code>s <span class="r">config command (global save/restore)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-S-config-command-_0028pict-path_0029"><code>S <span class="r">config command (pict path)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-and-inverted-output">save/restore, and inverted output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-and-literal-PS"><code>save<span class="r">/</span>restore<span class="r">, and literal PS</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-and-specials">save/restore, and specials</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-generating-global">save/restore, generating global</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-scaleunit"><code>scaleunit</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-scaling-of-figures">scaling of figures</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-scaling-small-caps">scaling small caps</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Scandinavian-A-ring">Scandinavian A ring</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-screen-frequencies_002c-setting">screen frequencies, setting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SDict"><code>SDict</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SDict-dictionary"><code>SDict <span class="r">dictionary</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-config-files_002c-order-of">searching config files, order of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-sections-of-output-file_002c-and-memory">sections of output file, and memory</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-sections-output_002c-in-separate-files">sections output, in separate files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-security">security</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-command-execution_002c-disabling">shell command execution, disabling</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-escape_002c-in-config-file">shell escape, in config file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Shinko-CHC_002dS446i-printer">Shinko CHC-S446i printer</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-show-PostScript-operator"><code>show <span class="r">PostScript operator</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-silent-operation">silent operation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-simplex-mode-on-duplex-printers">simplex mode on duplex printers</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-slanted-fonts">slanted fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-slanted-fonts_002c-making">slanted fonts, making</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SlantFont"><code>SlantFont</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-small-caps-fonts">small caps fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Smith_002c-Arthur">Smith, Arthur</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-spaces_002c-dropped-trailing">spaces, dropped trailing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-specials_002c-hypertext">specials, hypertext</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-splines">splines</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-spooler_002c-lacking">spooler, lacking</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-spooling-to-lpr-on-MS_002dDOS">spooling to lpr on MS-DOS</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-I_002fO">standard I/O</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-PostScript_002c-required-by-Ghostview">standard PostScript, required by Ghostview</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-start_002dhook"><code>start-hook</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-structured-comments">structured comments</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-system-in-config-file"><code>system <span class="r">in config file</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-T-config-command-_0028TFM-path_0029"><code>T <span class="roman">config command (TFM path)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Tektronix-Phaser-printer_002c-used-for-color-calibration">Tektronix Phaser printer, used for color calibration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-testpage_002etex"><code>testpage.tex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-encoding_002c-changing">TeX encoding, changing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX_002c-including-headers-in">TeX, including headers in</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTS_002c-overrides-P"><code>TEXFONTS<span class="roman">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTS_002c-overrides-T"><code>TEXFONTS<span class="roman">, overrides</span> T</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXINPUTS_002c-overrides-S"><code>TEXINPUTS<span class="roman">, overrides</span> S</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmext_002eenc"><code>texmext.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmital_002eenc"><code>texmital.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmsym_002eenc"><code>texmsym.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Encodings">Encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmsym_002eenc-1"><code>texmsym.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPICTS_002c-overrides-S"><code>TEXPICTS<span class="roman">, overrides</span> S</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPKS_002c-overrides-P"><code>TEXPKS<span class="roman">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXSIZES_002c-overrides-R"><code>TEXSIZES<span class="roman">, overrides</span> R</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-text-in-figures_002c-chopped-off">text in figures, chopped off</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tfm-files">tfm files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TFMFONTS_002c-overrides-T"><code>TFMFONTS<span class="roman">, overrides</span> T</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Theisen_002c-Tim">Theisen, Tim</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tight-bounding-box_002c-finding">tight bounding box, finding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-title_002c-specifying">title, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-too_002dsmall-output">too-small output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trademark-character_002c-accessing"><code>trademark <span class="roman">character, accessing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trailing-spaces_002c-dropped">trailing spaces, dropped</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TranScript">TranScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-transforming-downloaded-fonts">transforming downloaded fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trouble">trouble</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Type-1-fonts">Type 1 fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-typesetting-in-PostScript">typesetting in PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-T-config-command-_0028TFM-path_0029"><code>T <span class="r">config command (TFM path)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Tektronix-Phaser-printer_002c-used-for-color-calibration">Tektronix Phaser printer, used for color calibration</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-testpage_002etex"><code>testpage.tex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-encoding_002c-changing">TeX encoding, changing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-including-headers-in">TeX, including headers in</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS_002c-overrides-P"><code>TEXFONTS<span class="r">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS_002c-overrides-T"><code>TEXFONTS<span class="r">, overrides</span> T</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINPUTS_002c-overrides-S"><code>TEXINPUTS<span class="r">, overrides</span> S</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmext_002eenc"><code>texmext.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmital_002eenc"><code>texmital.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmsym_002eenc"><code>texmsym.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmsym_002eenc-1"><code>texmsym.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPICTS_002c-overrides-S"><code>TEXPICTS<span class="r">, overrides</span> S</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPKS_002c-overrides-P"><code>TEXPKS<span class="r">, overrides</span> P</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXSIZES_002c-overrides-R"><code>TEXSIZES<span class="r">, overrides</span> R</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-text-in-figures_002c-chopped-off">text in figures, chopped off</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tfm-files">tfm files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TFMFONTS_002c-overrides-T"><code>TFMFONTS<span class="r">, overrides</span> T</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Theisen_002c-Tim">Theisen, Tim</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tight-bounding-box_002c-finding">tight bounding box, finding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-title_002c-specifying">title, specifying</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-too_002dsmall-output">too-small output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trademark-character_002c-accessing"><code>trademark <span class="r">character, accessing</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trailing-spaces_002c-dropped">trailing spaces, dropped</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TranScript">TranScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-transforming-downloaded-fonts">transforming downloaded fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trouble">trouble</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Type-1-fonts">Type 1 fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-typesetting-in-PostScript">typesetting in PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-U">U</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-U-config-command-_0028Xerox-4045_0029"><code>U <span class="roman">config command (Xerox 4045)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-uncollated-copies">uncollated copies</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-uncompressing-PostScript">uncompressing PostScript</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-uniform-resource-locator">uniform resource locator</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unknown_002c-paper-format-for-_002dt"><code>unknown<span class="roman">, paper format for &lsquo;<samp>-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unknown_002c-paper-format-for-_002dt-1"><code>unknown<span class="roman">, paper format for &lsquo;<samp>-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-uptex-JFM"><code>uptex <span class="roman">JFM</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-URL_002c-definition">URL, definition</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-URL_002c-extended-for-TeX">URL, extended for TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-urx-_0028psfile-special-option_0029"><code>urx <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ury-_0028psfile-special-option_0029"><code>ury <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-usage_002c-basic">usage, basic</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-usage">Basic usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-user_002ddefinable-colors">user-definable colors</a>:</td><td>&nbsp;</td><td valign="top"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-userdict_002c-and-dictionary-files"><code>userdict<span class="roman">, and dictionary files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-userdict_002c-used-for-header-files">userdict<span class="roman">, used for header files</span></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-U-config-command-_0028Xerox-4045_0029"><code>U <span class="r">config command (Xerox 4045)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-uncollated-copies">uncollated copies</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-uncompressing-PostScript">uncompressing PostScript</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-uniform-resource-locator">uniform resource locator</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unknown_002c-paper-format-for-_002dt"><code>unknown<span class="r">, paper format for &lsquo;<samp class="samp">-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#papersize-special">&lsquo;<samp class="samp">papersize</samp>&rsquo; special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unknown_002c-paper-format-for-_002dt-1"><code>unknown<span class="r">, paper format for &lsquo;<samp class="samp">-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-uptex-JFM"><code>uptex <span class="r">JFM</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-URL_002c-definition">URL, definition</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-URL_002c-extended-for-TeX">URL, extended for TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-urx-_0028psfile-special-option_0029"><code>urx <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ury-_0028psfile-special-option_0029"><code>ury <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-usage_002c-basic">usage, basic</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-usage">Basic usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-user_002ddefinable-colors">user-definable colors</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-userdict_002c-and-dictionary-files"><code>userdict<span class="r">, and dictionary files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-userdict_002c-used-for-header-files">userdict<span class="r">, used for header files</span></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-V">V</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-V-config-command-_0028vf-path_0029"><code>V <span class="roman">config command (vf path)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-verbose-EPSF-processing">verbose EPSF processing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-vf-files">vf files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-virtual-font-expansion">virtual font expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-virtual-font-path">virtual font path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-virtual-fonts">virtual fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-virtual-fonts_002c-creating">virtual fonts, creating</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-VM-exhausted">VM exhausted</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-VMusage"><code>VMusage</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-voffset-_0028psfile-special-option_0029"><code>voffset <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-vpl-files">vpl files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-vptovf"><code>vptovf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-vscale-_0028psfile-special-option_0029"><code>vscale <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-vsize-_0028psfile-special-option_0029"><code>vsize <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-V-config-command-_0028vf-path_0029"><code>V <span class="r">config command (vf path)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-verbose-EPSF-processing">verbose EPSF processing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-vf-files">vf files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-font-expansion">virtual font expansion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-font-path">virtual font path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-fonts">virtual fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-fonts_002c-creating">virtual fonts, creating</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-VM-exhausted">VM exhausted</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-VMusage"><code>VMusage</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-voffset-_0028psfile-special-option_0029"><code>voffset <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-vpl-files">vpl files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-vptovf"><code>vptovf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-vscale-_0028psfile-special-option_0029"><code>vscale <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-vsize-_0028psfile-special-option_0029"><code>vsize <span class="r">(&lsquo;<samp class="samp">psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-W-config-command-_0028emit-warning_0029"><code>W <span class="roman">config command (emit warning)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warning-messages_002c-defining">warning messages, defining</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-whole-font-downloading">whole font downloading</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-wide-fonts">wide fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-W-config-command-_0028emit-warning_0029"><code>W <span class="r">config command (emit warning)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warning-messages_002c-defining">warning messages, defining</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-whole-font-downloading">whole font downloading</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-wide-fonts">wide fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-X-config-command-_0028horizontal-resolution_0029"><code>X <span class="roman">config command (horizontal resolution)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Xerox-4045">Xerox 4045</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-X-config-command-_0028horizontal-resolution_0029"><code>X <span class="r">config command (horizontal resolution)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Xerox-4045">Xerox 4045</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Y">Y</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Y-config-command-_0028vertical-resolution_0029"><code>Y <span class="roman">config command (vertical resolution)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Y-config-command-_0028vertical-resolution_0029"><code>Y <span class="r">config command (vertical resolution)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Z">Z</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Z-config-command-_0028compress-fonts_0029"><code>Z <span class="roman">config command (compress fonts)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-z-config-command-_0028secure-mode_0029"><code>z <span class="roman">config command (secure mode)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-zero-dimensions-and-setting-paper-size">zero dimensions and setting paper size</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Z-config-command-_0028compress-fonts_0029"><code>Z <span class="r">config command (compress fonts)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-z-config-command-_0028secure-mode_0029"><code>z <span class="r">config command (secure mode)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-zero-dimensions-and-setting-paper-size">zero dimensions and setting paper size</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a>
+<table class="cp-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-2"><b>&quot;</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>&quot;</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-3"><b>%</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>%</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-4"><b>(</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>(</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-5"><b>+</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>+</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-6"><b>-</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>-</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-7"><b>.</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>.</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-8"><b>/</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>/</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-9"><b>6</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>6</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-10"><b>8</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>8</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-11"><b>&lt;</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>&lt;</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-12"><b>=</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>=</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-13"><b>@</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>@</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-14"><b>\</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-14"><b>\</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-15"><b>|</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-15"><b>|</b></a>
&nbsp;
<br>
-<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-J"><b>J</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-J"><b>J</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Y"><b>Y</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Y"><b>Y</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a>
&nbsp;
</td></tr></table>
+</div>
</div>
</div>
diff --git a/systems/doc/dvips/dvips.pdf b/systems/doc/dvips/dvips.pdf
index 84c433c214..32789cfdd2 100644
--- a/systems/doc/dvips/dvips.pdf
+++ b/systems/doc/dvips/dvips.pdf
Binary files differ
diff --git a/systems/doc/etex/ChangeLog b/systems/doc/etex/ChangeLog
new file mode 100644
index 0000000000..3ce0229b37
--- /dev/null
+++ b/systems/doc/etex/ChangeLog
@@ -0,0 +1,619 @@
+2022-03-21 Karl Berry <karl@tug.org>
+
+ * TL'22 release.
+
+2022-01-10 Karl Berry <karl@freefriends.org>
+
+ * am/etex.am: do not silence tangle-sh.
+
+2021-03-23 Karl Berry <karl@tug.org>
+
+ * TL'21.
+
+2021-02-22 Phelype Oleinik <phe.h.o1@gmail.com>
+
+ * etex.ch: avoid "expansion depth" overflow with \numexpr.
+
+2021-02-13 Karl Berry <karl@freefriends.org>
+
+ * am/etex.am (etex_ch_srcs): adjust for split enctex changes.
+
+2019-12-10 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * am/etex.am (etex_CPPFLAGS): append $(ZLIB_INCLUDES).
+ (etex_LDADD): include $(ZLIB_LIBS.)
+ (etex_DEPENDENCIES): define as $(ZLIB_DEPEND)
+ (etex_web_srcs): include zlib-fmt.ch.
+
+2018-03-24 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+ Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * tex.ech: Recover the right \lastnodetype initialization
+ value ignored by tex.ch.
+
+2016-04-06 Karl Berry <karl@tug.org>
+
+ * etexextra.h (COPYRIGHT_HOLDER): add et al. since
+ peb passed away in 2015 so can't hold later copyrights.
+
+2015-09-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etriptest.test: Also check tripos.tex and etrip.out.
+
+2015-07-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Fixed a stupid typo that caused 'make dist' to
+ create e-TeX.
+
+2015-07-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etriptest (removed): Renamed ...
+ * etriptest.test (new): ... into this.
+ * am/etex.am: Better dependencies for 'make check'.
+
+2015-06-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Use $(tie_c) and $(tie_m).
+
+2015-04-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip/etrip.diffs: Updated for TL 2015.
+
+2014-12-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etriptest: Complain early if (e)trip.fmt is not created.
+ Inspired by report from vvv, tlbuild 14 Jun 2011 10:25:47.
+
+2014-05-02 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip/etrip.diffs: Updated for TL14.
+
+2014-01-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip/etrip.{diffs,fot,log,tex,typ}, etrip/etripin.log:
+ Updated for e-TeX 3.14159265.
+
+2014-01-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etexextra.h: Adapt to TeX Version 3.14159265.
+
+2014-01-20 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ TeX tuneup of 2014.
+ * etex.ch, tex.ch0, tex.ech: Adapt to TeX Version 3.14159265.
+
+2014-01-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip.test (removed): Renamed ...
+ * etriptest (new): ... into this.
+ * am/etex.am: Adapted.
+
+2013-11-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Enable hyphenation of text between \beginL and \endL or
+ between \beginR and \endR.
+ * etrip/etrip.diffs, etrip/etrip.fot, etrip/etrip.log,
+ etrip/etrip.tex, etrip/etrip.typ, etrip/etripin.log:
+ Version 2.6 [2013-11-21] for TL 2014.
+
+2013-04-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip/etrip.diffs, etrip/etrip.fot, etrip/etrip.typ,
+ etrip/etripin.log: Update for TL 2013.
+
+2013-03-08 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Towards better handling of right-to-left text.
+
+2013-03-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Better rule for etex_version.h.
+
+2013-03-01 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch, etex_version.h: Version 2.6.
+ Better handling of right-to-left text.
+ * etrip/etrip.diffs, etrip/etrip.fot, etrip/etrip.log,
+ etrip/etrip.tex, etrip/etripin.log: Version 2.6 [2013-03-01].
+
+2013-02-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Version 2.5, dated February 28, 2013.
+
+2013-01-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * wprob.test: Avoid spurious failure of parallel-tests.
+ * am/etex.am: Renamed wprob.{tex,log} => ewprob.{tex,log}.
+
+2013-01-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am, etrip.test: Enable parallel-tests.
+
+2012-12-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etex_version.h): Enable silent rules.
+
+2012-08-02 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch, etex_version.h: Version 2.5.
+ Better tracing of font definitions, reported by
+ Bruno Le Floch <blflatex@@gmail.com>, Jul 2012.
+ * etrip/etrip.tex: Test the additional tracing.
+
+2012-07-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Distribute etex_version.h.
+
+2012-07-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * etexextra.c: Must #define DLLPROC before reading etexd.h.
+
+2012-06-30 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etexextra.c [W32TeX]: #define DLLPROC for etex.dll.
+
+2012-05-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Version 2.4, dated May 11, 2012.
+ * etrip/etrip.tex, etrip/etripin.log, etrip/etrip.log,
+ etrip/etrip.fot, etrip/etrip.typ, etrip/etrip.diffs: Adapted.
+
+2012-04-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Fixed a typo in TeX text.
+
+ * INSTALL, README: Removed these obsolete files.
+ * am/etex.am (EXTRA_DIST): Removed INSTALL and README.
+
+2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * wprob.test: New shell script to test for uninitialized line.
+ * am/etex.am: Add the new test.
+
+2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Slightly reformulate printing of current line.
+
+2011-04-07 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Version 2.3, dated April 7, 2011.
+ * etrip/etrip.tex, etrip/etripin.log, etrip/etrip.log,
+ etrip/etrip.fot, etrip/etrip.typ, etrip/etrip.diffs: Adapted.
+
+2011-04-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Remove remove_end_M and insert_end_M (now unused).
+
+2011-03-31 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * etex.ch: TeX formatting.
+
+2011-03-30 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Further reduce e-pTeX interferences.
+
+2011-03-29 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Rename box_lrstat into box_lr and define to also work
+ for min_quarterword<0.
+
+2011-03-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Use AM_CFLAGS instead of etex_CFLAGS.
+
+2011-03-27 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Reformulate @<Fetch an item in the current node...@>,
+ begin_box, and delete_last to fix a bug in \lastpenalty & Co;
+ further reduce e-pTeX interferences.
+
+2011-03-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Reformulate begin_box and delete_last to reduce
+ interferences between e-TeX and pTeX.
+
+2011-03-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Reformulate @<Fetch an item in the current node...@>
+ to reduce interferences between e-TeX and pTeX.
+
+2011-03-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Define and use the Web macros box_lr and set_box_lr
+ to reduce interferences between e-TeX and pTeX.
+
+2011-01-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etrip.diffs): Use $(triptrap_diffs).
+
+2011-01-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip/etrip.tex: Fixed 'wrong last node type' diagnostic.
+
+2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etrip-clean): Use TRIPTRAP_CLEAN.
+
+2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Mention \protected in error and help messages only
+ when in extended mode.
+ * etrip/etrip.tex: Fixed a typo currentgroup{type => level}.
+
+2011-01-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.mak, etex.mk (removed): Obsolete.
+
+2011-01-08 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etex_web_srcs): Removed etex.fix.
+ (etex_ch_srcs): Added enctex.ch.
+ * etex.fix: Deleted.
+
+2011-01-01 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etexextra.in: Renamed ...
+ * etexextra.h: ... into this; #include etex_version.h
+ for ETEX_VERSION.
+
+ * etexextra.c (new): #include <etexd.h> and <lib/texmfmp.c>.
+
+ * am/etex.am: etexextra.[ch] are now distributed;
+ create etex_version.h instead of etex.version.
+
+2010-06-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etex_CPPFLAGS): Add $(AM_CPPFLAGS).
+
+2010-05-25 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (EXTRA_DIST): Remove tmf-pool.h.
+
+2010-05-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: More error message with \protected, from Heiko.
+
+2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Checked and adjusted tex.web line numbers.
+ Fixed the error message for improper use of \protected,
+ reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>.
+
+2010-04-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etex_ch_srcs): Use tex-binpool.ch as for TeX.
+
+2010-03-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (TRIPTRAP): Add etrip.diffs.
+
+2009-12-23 Karl Berry <karl@tug.org>
+
+ * etexextra.in (BUG_ADDRESS): tex-k@tug.org, not @mail.
+
+2009-12-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Replace the obsolete $(mkdir_p) by $(MKDIR_P).
+
+2009-10-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Enable compiler warnings.
+ * etex-binpool.ch (get_strings_started): Drop unused variables.
+
+2009-09-06 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Adapt to new makecpool with one argument.
+
+2009-09-04 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Prepare compiler warnings.
+
+2009-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: SyncTeX now integrated into ../texmfmp.h.
+
+2009-08-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am: Adapt to tangle-sh and web2c-sh.
+
+2009-08-13 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etex_c_h): avoid to split the C code.
+
+2009-05-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip.test (new): Shell script for e-TRIP tests.
+ * etrip/texmf.cnf (main_memory): Increased from 2999 to 3999
+ required due to increased node sizes for syncTeX extensions.
+
+2008-05-15 Karl Berry <karl@tug.org>
+
+ * etex.mk (etex-pool.c): the input is etex.pool. From Akira.
+
+2008-05-13 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex-mk: Use $(makecpool) instead of ./tex-mkcpool.
+
+2008-03-24 Karl Berry <karl@tug.org>
+
+ * tex.ch0,
+ * etex.ch,
+ * tex.ech: update for 3.1415926.
+
+2008-02-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Fixed a bug in hyph_code handling (\savinghyphcodes)
+ reported by Vladimir Volovich <vvv@vsu.ru>.
+ Corrected a few typos in TeX text.
+
+2005-08-03 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * tex.ech: Implement -etex switch.
+
+2004-12-19 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk (etexextra.c): Depends on etexdir/etexextra.h.
+
+ * etex.mk (etex-check): Add TEXMFCNF=../kpathsea to the mltex
+ test, so the right files are found when the installation is not
+ yet done. From Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+2004-10-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Fixed a bug in the revised glue rounding code
+ (detected by Tigran Aivazian <tigran@aivazian.fsnet.co.uk>).
+ Version 2.2, dated October 12, 2004.
+
+2004-09-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Fixed a typo in TeX text, found by Giuseppe
+ Bilotta <bilotta78@hotpop.com>.
+
+2004-09-06 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Incorporated register recycling bug fix from Bernd
+ Raichle <bernd@dante.de>.
+ Final Version 2.2 (hopefully).
+
+ * etrip/etrip.{fot,log,tex,typ}, etrip/etripin.log:
+ Updated for current version.
+
+ * etex.mk: Modified rule for etex.version.
+
+2004-08-26 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.mk (etrip): Use etex with "--progname=einitex --ini" or
+ "--progname=etex".
+
+2004-08-26 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.fix: Include fix for register recycling bug from Bernd
+ Raichle <bernd@dante.de>.
+
+2004-08-25 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etrip/etripman.tex: Updated to Version 2.2
+
+2004-08-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Version 2.2.
+
+2004-08-20 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etexextra.in: Peter holds copyright now.
+
+2004-08-26 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.version: Is from now on a generated file.
+
+ * etexextra.in: renamed from etexextra.h. The current e-TeX
+ version is substituted from etex.version. Variant of code
+ supplied by Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+ * etex.mk: Added rules to extract current e-TeX version from
+ etex.ch and insert into etex.version and etexextra.h. Variant of
+ code supplied by Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+2004-08-17 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk, etex.fix: Resurrected etex.fix, there is again a need
+ to include late-breaking changes.
+
+2004-07-29 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Somewhat rearrange mixed direction typesetting code
+ in order to reduce interference between eTeX and pdfTeX change
+ files.
+
+2004-07-25 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Reorganize additional command codes for convert
+ and last_item in order to reduce interference between eTeX and
+ pdfTeX change files.
+
+2004-07-23 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch, tex.ch[01], tex.ech: Reorganize handling of banner
+ string in order to reduce interference between eTeX, pdfTeX,
+ and web2c change files.
+
+2004-07-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Reorganize handling of additional token types.
+ This also fixed a bug in error context for additional token list
+ parameters, introduced by their reorganization.
+
+2004-07-21 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etrip/etripin.log: Update from Preter Breitenlohner.
+
+ * etrip/etrip.tex: Update from Peter Breitenlohner.
+
+ * etrip/etrip.fot: Update from Peter Breitenlohner.
+
+2004-07-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch, tex.ch[01]: Reorganize handling of additional token
+ list and integer parameters and e-TeX's additional penalties in
+ order to reduce interference between eTeX, pdfTeX, and web2c
+ change files.
+
+ * etex.ch: Add a note that this file not only defines etex.web
+ in terms of changes to be applies to tex.web, but in addition
+ is used to define pdfetex.web.
+
+ * tex.ech: Add a note that this file is used to construct the
+ web2c change files for both e-TeX and pdfeTeX.
+
+2004-07-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Towards etex-2.2: Adapt to TeX 3.141592; this is still
+ somewhat preliminary; do_glue still needs to be adapted to the new
+ glue rounding algorithm of TeX 3.141592.
+ Incorporate bug fixes from etex.fix.
+
+ * etex.ch0, etrip/etrip.{fot,tex}, etrip/etripin.log: Adapted
+ to TeX 3.141592.
+
+ * tex.ch1, tex.ech: Change the xmalloc_array calls to the `new'
+ interface (from 2001-11-10).
+
+ * etex.ch0, etex.ch1, etex.fix, tex.ch2: Removed.
+
+ * etex.mk: Rewrite build rules for etex.{web,ch}, add
+ etexdir/etex.mk and remove etex.{ch0,ch1,fix}, tex.ch2.
+
+ * etex.version: add newline.
+
+ * etrip/etrip.log, etrip.diffs: changed due to bug fix.
+
+2004-07-14 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.fix: Add fix for typo on line 2737 of etex.ch. From Peter
+ Breitenlohner.
+
+ * etexextra.h: Add BUG_ADDRESS.
+
+2004-07-04 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk: Move the creation of the format-related links to
+ format-related install rules; this seems to be a better place for
+ them, as the links are pointless without the corresponding
+ formats. Make the install-*-pool rules depend on the pool file in
+ question.
+
+2004-07-03 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk: Set up the make rules so that if etex isn't built (by
+ default) we do not forward from the general to the etex-specific
+ rules. But the etex-specific rules can be used.
+
+ * etex.mk: Use $(TANGLE), $(TIE) instead ./tangle, ./tie to
+ support cross-compiling.
+
+2004-05-10 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk (install-etex-programs): Typo resulted in no etex binary
+ being installed.
+
+2004-05-08 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk (install-etex-programs): This rule didn't have a command
+ attached, so etex didn't get installed.
+ (install-etex-links): Dont install einitex, evirtex links.
+
+ * etex.mk: Formats are now parked in a subdirectory of
+ $(web2cdir).
+
+ * etex.mk: Change the .efmt extension to .fmt. One consequence is
+ that we don't want to build tex.fmt, where we could safely build
+ tex.efmt.
+
+ * etexextra.h: .efmt -> .fmt.
+
+ * tex.ech: .efmt -> .fmt.
+
+2004-01-27 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.fix: The assignment to cur_val instead of cur_val_level
+ would result in \lastnodetype getting confused about what type of
+ value it was supposed to be. Reported by Hartmut Henkel
+ <hartmut_henkel@gmx.de>, fix found by Fabrice Popineau
+ <Fabrice.Popineau@supelec.fr>.
+
+2003-02-19 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk: Installation of formats is no longer done via
+ install-data in this file, but just from the install-data ->
+ install-dumps -> install-fmts in the main Makefile. That way we
+ can prevent automatic installation with a single change in that
+ Makefile.
+ (etex.p): Depend on tangle.
+ (triptrap): Depend on etrip.
+ (install-etex-data): Double-colon rule.
+ (install-data): Combine with install-etex-data.
+
+2003-02-17 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.ch1: Reduce to banner changes.
+
+ * etex.ch0: Slightly extend the reverted bits here, so they can be
+ cleared out of etex.ch1 and are now all in one file.
+
+2003-02-16 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.ch1: Correct the banners, and revert a final few bits of
+ TeX that use a variable that doesn't exist in e-TeX.
+
+ * etex.ch0: TeX 3.141592 and e-TeX 2.1 require reconciliation.
+ Revert some of TeX's code to 3.14159 to get e-TeX 2.1 to tangle.
+
+ * etexextra.h: Update banner for 3.141592-2.1.
+
+ * etex.mk (etex.web): Add etex.ch0 and etex.ch1 to build rules.
+
+2003-02-15 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk: From klibtool to libtool. Based on patches from Albert
+ Chin-A-Young <china@thewrittenword.com>.
+
+ * etex.mk: Changes to make e-TeX, in extended mode, the engine
+ under LaTeX2e.
+
+2003-02-07 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk: Reorganized to match the new Makefile.in.
+
+2003-01-15 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * etex.mk (etestenv): Add LC_ALL=C to the etrip environment.
+
+2002-10-11 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * tex.ch1: Settle on a text for the not-TeX banner.
+
+2002-06-02 Olaf Weber <olaf@infovore.xs4all.nl>
+
+ * tex.ch0, tex.ch1: Changes to account for the banner changing
+ when certain options are specified that make the program
+ not-strictly TeX.
+
+ * tex.ch2: Commented-out changes deleted. These changes became
+ active in tex.ch1.
+
+Mon Feb 01 18:35:30 1999 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Version 2.1 for Web2c Version 7.2
+
+Thu Feb 19 18:03:12 1998 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Version 2.0 for Web2c Version 7.2
+
+Sat Aug 23 14:14:12 1997 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Integrated e-TeX Version 1.1 into Web2c Version 7.0
+ (by Karl Berry, as of Feb 7 1997.
+
+ All e-TeX (and e-TRIP) source files as well as a Makefile fragment
+ are in a separate directory: web2c/etexdir. This will certainly make
+ it easier to switch to e-TeX Version 2.
diff --git a/systems/doc/kpathsea/NEWS b/systems/doc/kpathsea/NEWS
new file mode 100644
index 0000000000..1df4a908c4
--- /dev/null
+++ b/systems/doc/kpathsea/NEWS
@@ -0,0 +1,407 @@
+$Id: NEWS 65770 2023-02-09 21:26:50Z karl $
+This file records noteworthy changes. (Public domain.)
+
+6.3.5 (for TeX Live 2023)
+* Support guessing input file encodings for Unix-ish platforms, as on
+ Windows; enabled for (e)p(la)tex, pbibtex, mendex.
+
+6.3.4 (for TeX Live 2022)
+* First return path from kpsewhich -all is now the same as non-all.
+ (Internally, str_list_uniqify retains ordering.)
+
+6.3.3 (for TeX Live 2021, 23 March 2021)
+* The library does not emit warnings for unrecognized filenames,
+ leaving it up to the caller.
+* Double save_size limit to 200,000 for tex4ht, l3regex, etc.
+
+6.3.2 (for TeX Live 2020, 27 March 2020)
+* New option --cnf-line for kpsewhich (and tex and mf) to support
+ arbitrary configuration settings on the command line.
+* Warn about unusual program name qualifiers.
+* The mktex* programs are no longer maintained or present here, but in
+ TeX Live's Master/texmf-dist/scripts/texlive (with copies in
+ Build/source/texk/texlive/linked_scripts as usual).
+
+6.3.1 (for TeX Live 2019, 7 April 2019)
+* kpsewhich --var-value does brace expansion as well as variable and
+ tilde expansion.
+* The kpathsea_path_search() and related functions always recognize either
+ common path separator (: or ;) when splitting paths into elements.
+ (Before, there were some unusual contexts where this did not happen.)
+
+6.3.0 (for TeX Live 2018, 14 April 2018)
+* New configuration value texmf_casefold_search to fall back to
+ case-insensitive search in non-system directories if there is no exact
+ match; only relevant on Unix.
+
+6.2.3 (for TeX Live 2017, 19 May 2017)
+* .OTF treated like .otf.
+* texmf.cnf: mpost removed from default shell_escape_commands.
+* texmf.cnf: TEXINPUTS.luajitlatex added.
+* texmf.cnf: default bibtex capacities increased.
+
+6.2.2 (for TeX Live 2016, 21 May 2016)
+* gregorio added to default shell_escape_commands.
+
+6.2.1 (for TeX Live 2015, 21 May 2015)
+* search path information output with new option --help-formats to kpsewhich,
+ no longer with --help.
+* install <kpathsea/c-auto.h> in an architecture dependent location
+ and use pkg-config to get the required flags.
+
+6.2.0 (for TeX Live 2014, 30 May 2013)
+* mktexlsr outputs normal msgs to stdout instead of stderr.
+* do not ignore a non-terminated last line of a file.
+* new texmf.cnf variables SELFAUTOGRANDPARENT, guess_input_kanji_encoding.
+* Numerous changes for Windows.
+
+6.1.1 (for TeX Live 2013, 30 May 2013)
+* just one tree: merge texmf into texmf-dist.
+
+6.1.0 (for TeX Live 2012, 1 July 2012)
+* texmf.cnf is found in the great-grandparent's texmf-local,
+ corresponding to the default TeX Live installation.
+* New formats for .ris, .bltxml.
+* Merge with W32TeX.
+
+6.0.1 (for TeX Live 2011, 5 July 2011)
+* Trailing comments and whitespace omitted from config values.
+* Add .tlu to type lua suffixes, and .dfont to truetype suffixes.
+* Prefix program_invocation{,_short}_name with kpse_.
+* Finally remove kpse_set_progname (deprecated since 1998).
+
+6.0.0 (for TeX Live 2010, 4 June 2010)
+* Change xmalloc and friends to use size_t, unfortunately changing the ABI.
+
+5.0.0 (for TeX Live 2009, 13 October 2009)
+* Make shared library version and general package version the same.
+* Make library re-entrant, thus unavoidable binary API changes.
+* Change build system to Automake.
+
+3.5.7 (for TeX Live 2008, 8 July 2008)
+* kpsewhich has new options --all (to report all matches) and --subdir
+ (to limit matches).
+* more file suffixes (.dtx, et al.) and special files (updmap.cfg, et al.)
+ found automatically.
+* add basic Lua support.
+* add 64-bit functions for pdftex.
+* autoconf support finally modernized.
+
+3.5.6 (for TeX Live 2006-07, 30 December 2006)
+* longstanding minor portability/warnings problems.
+
+3.5.5
+* Copyrights of some source files were erroneously attributed to FSF.
+* On Unix, accept the semicolon as well as the colon in environment
+ variables like TEXINPUTS.
+* Keep metafont from choking on large literals (> 4000) when calling
+ mktexpk.
+
+3.5.4 (7 March 2005)
+* Change of some standard environment/texmf.cnf variables:
+ HOMETEXMF -> TEXMFHOME
+ VARTEXMF -> TEXMFVAR
+ TEXMFVAR, TEXMFCONFIG: Always defined for the sake of teTeX 3.0.
+ TEXMFSYSVAR, TEXMFSYSCONFIG: Added for the sake of teTeX 3.0.
+* mktex*: A new option for MT_FEATURES in mktex.cnf: texmfvar. If
+ selected, files that would be written into a system texmf tree go
+ to the TEXMFVAR tree. Overriden by varfonts.
+
+3.5.3 (28 November 2004)
+* New options for kpsewhich
+ -var-value=VARIABLE to expand $VARIABLE without having to give an $
+ on the command line.
+ -engine=ENGINE to set the engine name, used in some search paths.
+* New formats: kpse_enc_format, kpse_cmap_format, kpse_sfd_format,
+ kpse_opentype_fomat, kpse_pdftex_config_format, kpse_lig_format,
+ kpse_texmfscript_format.
+* Add .afmt to the suffixes for kpse_fmt_format. Aleph uses this.
+* Rename access to kpseaccess.
+* Rename readlink to kpsereadlink.
+* Stop search early if we're given absolute or explicit relative names.
+* Add 'angle(0,0)' to the metafont errors mktexpk will ignore.
+* The withenable.ac script (used in configure) will fall back on using
+ kpsewhich to look for texmf trees.
+* If ls-R is not found check for ls-r as well.
+* kpsewhich: add -var-value option.
+
+3.5.2 (19 February 2003)
+* Critical bugfix to db.c.
+
+3.5.1 (17 February 2003)
+* No news.
+
+3.5.0 (15 February 2003)
+* Use libtool.
+* Do absolute searches again.
+* Retain '${prefix}' in Makefile for texmf if that's how we found the tree.
+
+3.4.6 (7 February 2003)
+* Support for e-Omega.
+* Change to the search algorithm: when there are several possibilities, look
+ for all of them in one directory before moving to the next directory.
+
+3.4.5 (28 January 2003)
+* Remove "." from the TEXCONFIG path.
+
+3.4.4 (16 January 2003)
+* Add VARTEXMF HOMETEXMF to the default paths of texmf.in.
+
+3.4.3 (11 January 2003)
+* Minor fixes.
+* Use both .w and .web suffixes for cweb.
+
+3.4.2 (23 December 2002)
+* Minor fixes to makefiles.
+* A Win32 implementation of the fork/exec path in mktex. This leaves
+ MSDOS to be done.
+
+3.4.1 (20 December 2002)
+* A couple of fixes for the fork/exec code.
+
+3.4.0 (14 December 2002)
+* 3.4.x number as ABI is certainly broken now.
+* Change the way the mktex* command lines are set up on unix systems.
+ Now we call fork/exec directly instead of using popen.
+ This code is not yet implemented for Windows/DOS.
+* We're now (un?)fairly restrictive on what names are allowed for fonts.
+ That part of the code probably need improvement.
+* When reading names from the ls-R file, they are no longer case-smashed.
+ So on platforms where this matters, the case-smashing should occur before
+ names are inserted into the ls-R file -- only lowercase should be used in
+ that file.
+
+3.3.11 (13 November 2002)
+* Minor fixes.
+
+3.3.10 (11 November 2002)
+* Minor fixes.
+
+3.3.9 (22 October 2002)
+* New extension: .oft for Omega formats.
+
+3.3.8 (11 October 2002)
+* Add support for mktexfmt (which is normally a link to fmtutil).
+* Check both VAR.progname and VAR_progname in the environment.
+
+3.3.7 (27 November 2001)
+* Minor fixes/changes to assist Omega development.
+
+3.3.6 (18 November 2001)
+* Minor fixes/changes to assist Omega development.
+
+3.3.5 (10 November 2001)
+* Minor bug fixes.
+
+3.3.4 (30 October 2001)
+* Minor bug fixes.
+
+3.3.3 (5 August 2000)
+* On NeXT, 'rm -rf' will not fail, but uses the cwd as its argument.
+ mktexlsr counted on it to fail, with sometimes disastrous results.
+
+3.3.2 (25 April 1999)
+* Minor bug fixes.
+
+3.3.1 (29 May 1999)
+* Minor bug fixes.
+
+3.3 (26 March 1999)
+* Minor bugfixes.
+
+3.2 (15 March 1998)
+* Brace expansion will accept the path separator as well as the comma,
+ e.g., {foo:bar}.
+* For TeX, we only recognize one suffix, because there is no such thing
+ as a canonical list of TeX suffixes.
+* We distinguish between two kinds of suffixes in the code: the standard
+ suffixes which may be appended to filenames when searching; and the
+ alternative suffixes which are never appended, but when found this
+ prevents a search with one of the standard suffixes.
+* kpse_reset_program_name: change assumed program name, resets the search
+ paths, so that searches will work as expected for the new name.
+* kpse_set_program_name: new function, replaces kpse_set_progname.
+* The MakeTeX* scripts have been renamed to mktex* forms.
+
+3.1 (10 November 1997)
+* The support for multiple texmf trees is much improved.
+* New MakeTeX* scripts, based on teTeX's. These scripts now use
+ heuristics to decide where generated files are placed and which
+ permissions they should have.
+* The varfonts feature is enabled by default.
+* Some MSDOS/Win32 support added to the sources.
+* Change in searching algorithm: if a name doesn't have the default suffix
+ we append it for the first search. Then we search for the bare name.
+ Thus if you have foo.bar and foo.bar.tex, the latter will now be found
+ first. Under the old system, you had to specify boo.bar.tex.tex to get
+ foo.bar.tex instead of foo.bar.
+* Prepend the value of KPSE_DOT to relative paths from texmf.cnf if it
+ defined in the environment. This means we can use . instead of
+ $KPSE_DOT in paths.
+* Define brace expansion so that {a,b}{1,2} expands to a1:b1:a2:b2. This
+ is different from how shells do it, and exploited in texmf.in.
+* Renamed texmf.cnf.in to texmf.in.
+* New value for debugging: DEBUG_VARS, equal to 64.
+* If a file format has no suffix, allow its long name as the argument to
+ kpsewhich --format.
+
+3.0 (7 February 1997)
+* Distribution terms changed to the GNU Library General Public License.
+* Default directory structure matches the TDS standard. The most
+ important change is in the fonts/ directory: the file type (tfm, pk)
+ is now directly underneath fonts/. Also, mft/ is now at the top level.
+ `modeless' is used for gsftopk/ps2pk/etc.-generated fonts.
+* Change in searching algorithm: if the name already has a suffix
+ (foo.sty), search for it by itself first, before appending the default
+ suffix (foo.sty.tex). This loses if you have an executable named
+ foo.bar, with documentation in foo.bar.tex (foo.bar will be found
+ first). But this is unusual, and the other case is common.
+* Environment variables PATH_program (e.g., TEXINPUTS_latex) checked
+ for, as with configuration file values (TEXINPUTS.latex).
+* Multiple TEXMF trees supported, via the following new facility:
+* Shell brace expansion {foo,bar} implemented, thanks to Bash.
+* Multiple ls-R files supported via the TEXMFDBS path.
+* An ``alias'' database for files in ls-R supported, to handle 8.3 problems.
+* Directories in the ls-R file can be relative (./) as well as absolute (/).
+* New MakeTeX{PK,TFM,MF} scripts with more features, based on teTeX's.
+* DVIPSMAKEPK (etc.) actually overrides the name `MakeTeXPK', as documented.
+* MakeTeX* can be globally disabled via configure options.
+* Support for building as a shared library with configure --enable-shared.
+* Directories whose names begin with `.' are ignored.
+* Some warnings can be suppressed by TEX_HUSH cnf value or envvar.
+* kpsewhich has many new capabilities, documented via --help and in the manual.
+* texfonts.map parsing has an include directive, and @c is a comment.
+* Input lines in texmf.cnf can be continued with \.
+* TEXMFLOG can be set in texmf.cnf, as previously documented.
+* SELFAUTODIR and SELFAUTOPARENT are defined according to the location
+ of the binary, and used to search for texmf.cnf.
+* /// (or more) is equivalent to //.
+* If $HOME = / (as with root on some systems), avoid creating // in paths.
+* Support for AFM, PostScript Type 1 font, source, documentation, Omega,
+ and MetaPost-related file formats.
+* New header kpathsea.h with all #include files.
+* Under DOS, ls-R lines need not start with . or / or \ (e.g., c:).
+* Amiga support.
+
+2.6 (9 January 1995)
+* MakeTeXPK installed from kpathsea, instead of each driver.
+* MakeTeXPK.site looked for in texmf/web2c, instead of texmf/dvips.
+* texmf.cnf installed and looked for in texmf/web2c, instead of texmf.
+* If a mode is not explicitly specified, search all subdirectories (this
+ was actually in a previous release).
+* install-sh only looked for in the top-level directory.
+* kpsewhich replaces and generalizes kpsexpand.
+
+2.5 (15 December 1994)
+* Go back to calling db_insert after a successful MakeTeXPK, and check
+ for lack of an ls-R.
+* Handle case of magstep -.5 for MakeTeXPK properly.
+
+2.4 (28 October 1994)
+* Avoid calling db_insert, which caused a segmentation fault.
+
+2.3 (26 October 1994)
+* Extra :'s in an envvar value, referring to the texmf.cnf value, work.
+* Names like dpi600/cmr10.pk can be found in ls-R.
+* KPATHSEA_DEBUG environment variable checked.
+* Directories like pk/ljfour directly under $TEXMF/fonts are found.
+* New standalone program, kpsexpand, optionally compiled and installed,
+ to do variable expansion (not path searching).
+* Debugging output written to stderr instead of stdout.
+* pxlNNN support removed; I never intended to support `pxl1500', and
+ pxl300 is never used.
+
+2.2 (14 October 1994)
+* MakeTeXPK invoked for the any_glyph type; this is for xdvik.
+* MakeTeXPK sources $(psheaderdir)/MakeTeXPK.site if it exists.
+* pxlNNN/cmr10.pk searched for (as well as dpiNNN/cmr10.pk and cmr10.NNNpk)
+
+2.1 (12 September 1994)
+* Manual goes through TeX, and .cps/.aux files are in the distribution.
+* INSTALL* variables set at the top level.
+* Dependency on GNU tr making paths.h and texmf.sed (->texmf.cnf) removed.
+* texmf.cnf installed if it didn't previously exist.
+
+2.0 (8 September 1994)
+* Runtime configuration file support; see the manual.
+* Both dpi600/cmr10.pk and cmr10.600pk are searched for.
+* ls-R matches $TEXMF//latex2e vs. $TEXMF//latex209.
+* $TEXMFLOG, if set, specifies a filename for logging successful searches.
+* All directory entries beginning with `.' are ignored, not just `.' and `..'.
+* Default path for PK and GF fonts includes the mode name.
+* ls-R is in $TEXMFROOT instead of hardwired at compile time.
+* More debugging flags, and they can be set with client program options.
+* If MakeTeX{PK,TFM} fail, or aren't invoked, a file missfont.log is
+ written with the requisite commands, as in dvips.
+* More 328/329/330 fixes, maybe for the last time.
+* The override font paths (XDVIFONTS etc.) apply only to glyph (PK/GF)
+ searches, not TFM or VF.
+* -g is not the default when linking, to avoid unnecessarily large binaries
+ (due to static libraries) under Linux.
+* configure checks for a smart putenv.
+* Stat results are cached to speed up disk searches.
+
+1.8 (2 April 1994)
+* New target install-info, so the documentation can be installed without
+ the headers.
+* Existing but unreadable files are complained about, instead of just ignored.
+* A leading %% in a path element forbids searching the disk for that
+ element; only a db will be searched (if it exists).
+* The db is only used if it might be relevant to a given path element,
+ not searched first regardless.
+
+1.7 (1 March 1994)
+* Searches can use an externally-built ls-R ``database'', for speed.
+* `VPATH = .' lines removed from generated Makefile, for broken Sun make.
+* A path foo//tfm finds foo/tfm as well as foo/*/tfm.
+
+1.6 (3 February 1994)
+* Memory fault in copying long paths fixed.
+* More variables passed down from the top-level Makefile.
+* Mention SMART_PUTENV in the INSTALL file, and fix bug in xputenv.c
+ when one envvar is a proper prefix of another.
+* More attempts at eliminating magstephalf annoyances.
+* Directory name substitutions are done globally when creating paths.h.
+* Various changes for DOS.
+
+1.5 (24 January 1994)
+* Default paths changed.
+* Defining GCC_WCHAR lets GCC define wchar_t.
+* EXIT_FAILURE and EXIT_SUCCESS defined in all cases (if they're not already).
+* str[r]chr never redefined (I hope).
+
+1.4 (3 November 1993)
+* Check closest fallback font size.
+* All default paths (including dvips') in paths.h.in, not the Makefile.
+* Rearrange directory lists so that dirs in which a file is found
+ migrate to the top.
+* Update for Autoconf 1.7.
+
+1.3 (6 October 1993)
+* Fix free of non-malloced memory bug.
+* Fix uninitialized gf path bug.
+* mkdirchain invoked as an absolute filename.
+
+1.2 (27 September 1993)
+* Running MakeTeXPK is tried before the fallback resolutions.
+* The final bitmap name uses a variable spec, so DOS & OS/2 can get
+ dpi300/cmr10.pk.
+* Document TeX-specific features.
+* Dpi passed to MakeTeXPK via the envvar KPATHSEA_DPI instead of MAKETEX_DPI.
+
+1.1 (26 August 1993)
+* Installation fixes.
+
+1.0 (5 August 1993)
+* Routines to look up TeX font files, default path specifications, etc.
+* Sort-of pattern matching: /foo//bar matches subdirectories
+ /foo/a/bar, /foo/b/bar, /foo/a1/a2/bar, etc.
+* $var and ${var} expansion.
+* Support for MakeTeX... scripts.
+* Support for fallback resolutions and font.
+* Lazy evaluation of path elements.
+* Some runtime debugging support.
+
+0.2 (12 May 1993)
+
+First general release as a standalone library.
diff --git a/systems/doc/kpathsea/kpathsea.html b/systems/doc/kpathsea/kpathsea.html
index 807fa6091a..28781fe2d0 100644
--- a/systems/doc/kpathsea/kpathsea.html
+++ b/systems/doc/kpathsea/kpathsea.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
<html>
-<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This file documents the Kpathsea library for path searching.
-Copyright (C) 1996-2022 Karl Berry & Olaf Weber.
+Copyright © 1996-2023 Karl Berry & Olaf Weber.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -37,21 +37,17 @@ approved by the TeX Users Group. -->
<link href="#Introduction" rel="next" title="Introduction">
<style type="text/css">
<!--
-a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
-div.display {margin-left: 3.2em}
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
div.example {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-span:hover a.copiable-anchor {visibility: visible}
-ul.no-bullet {list-style: none}
+span.r {font-family: initial; font-weight: normal; font-style: normal}
+span:hover a.copiable-link {visibility: visible}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left}
+ul.mark-bullet {list-style-type: disc}
+ul.toc-numbered-mark {list-style: none}
-->
</style>
@@ -59,7 +55,6 @@ ul.no-bullet {list-style: none}
</head>
<body lang="en">
-<h1 class="settitle" align="center">Kpathsea: A library for path searching</h1>
@@ -71,100 +66,100 @@ ul.no-bullet {list-style: none}
-<div class="top" id="Top">
-<div class="header">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
<p>
Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Kpathsea-library"></span><h1 class="top">Kpathsea library</h1>
+<h1 class="top" id="Kpathsea-library">Kpathsea library</h1>
<p>This manual documents the Kpathsea library for path searching. It
-corresponds to version 6.3.4, released in
-January 2022.
+corresponds to version 6.3.5, released in
+February 2023.
</p>
-<div class="Contents_element" id="SEC_Contents">
+<div class="element-contents" id="SEC_Contents">
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
-<ul class="no-bullet">
+<ul class="toc-numbered-mark">
<li><a id="toc-Introduction-1" href="#Introduction">1 Introduction</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-History-1" href="#History">1.1 History</a></li>
</ul></li>
- <li><a id="toc-unixtex_002eftp_003a-Obtaining-TeX" href="#unixtex_002eftp">2 <samp>unixtex.ftp</samp>: Obtaining TeX</a></li>
+ <li><a id="toc-unixtex_002eftp_003a-Obtaining-TeX" href="#unixtex_002eftp">2 <samp class="file">unixtex.ftp</samp>: Obtaining TeX</a></li>
<li><a id="toc-Security-1" href="#Security">3 Security</a></li>
<li><a id="toc-TeX-directory-structure-1" href="#TeX-directory-structure">4 TeX directory structure</a></li>
<li><a id="toc-Path-searching-1" href="#Path-searching">5 Path searching</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Searching-overview-1" href="#Searching-overview">5.1 Searching overview</a></li>
<li><a id="toc-Path-sources-1" href="#Path-sources">5.2 Path sources</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Config-files-1" href="#Config-files">5.2.1 Config files</a></li>
</ul></li>
<li><a id="toc-Path-expansion-1" href="#Path-expansion">5.3 Path expansion</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Default-expansion-1" href="#Default-expansion">5.3.1 Default expansion</a></li>
<li><a id="toc-Variable-expansion-1" href="#Variable-expansion">5.3.2 Variable expansion</a></li>
<li><a id="toc-Tilde-expansion-1" href="#Tilde-expansion">5.3.3 Tilde expansion</a></li>
<li><a id="toc-Brace-expansion-1" href="#Brace-expansion">5.3.4 Brace expansion</a></li>
- <li><a id="toc-KPSE_005fDOT-expansion-1" href="#KPSE_005fDOT-expansion">5.3.5 <code>KPSE_DOT</code> expansion</a></li>
+ <li><a id="toc-KPSE_005fDOT-expansion-1" href="#KPSE_005fDOT-expansion">5.3.5 <code class="code">KPSE_DOT</code> expansion</a></li>
<li><a id="toc-Subdirectory-expansion-1" href="#Subdirectory-expansion">5.3.6 Subdirectory expansion</a></li>
</ul></li>
<li><a id="toc-Casefolding-search-1" href="#Casefolding-search">5.4 Casefolding search</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Casefolding-rationale-1" href="#Casefolding-rationale">5.4.1 Casefolding rationale</a></li>
<li><a id="toc-Casefolding-examples-1" href="#Casefolding-examples">5.4.2 Casefolding examples</a></li>
</ul></li>
- <li><a id="toc-Filename-database-_0028ls_002dR_0029" href="#Filename-database">5.5 Filename database (<code>ls-R</code>)</a>
- <ul class="no-bullet">
- <li><a id="toc-ls_002dR-1" href="#ls_002dR">5.5.1 <samp>ls-R</samp></a></li>
+ <li><a id="toc-Filename-database-_0028ls_002dR_0029" href="#Filename-database">5.5 Filename database (<code class="code">ls-R</code>)</a>
+ <ul class="toc-numbered-mark">
+ <li><a id="toc-ls_002dR-1" href="#ls_002dR">5.5.1 <samp class="file">ls-R</samp></a></li>
<li><a id="toc-Filename-aliases-1" href="#Filename-aliases">5.5.2 Filename aliases</a></li>
<li><a id="toc-Database-format-1" href="#Database-format">5.5.3 Database format</a></li>
</ul></li>
- <li><a id="toc-kpsewhich_003a-Standalone-path-searching" href="#Invoking-kpsewhich">5.6 <code>kpsewhich</code>: Standalone path searching</a>
- <ul class="no-bullet">
+ <li><a id="toc-kpsewhich_003a-Standalone-path-searching" href="#Invoking-kpsewhich">5.6 <code class="code">kpsewhich</code>: Standalone path searching</a>
+ <ul class="toc-numbered-mark">
<li><a id="toc-Path-searching-options-1" href="#Path-searching-options">5.6.1 Path searching options</a></li>
- <li><a id="toc-Specially_002drecognized-files-for-kpsewhich" href="#Specially_002drecognized-files">5.6.2 Specially-recognized files for <code>kpsewhich</code></a></li>
+ <li><a id="toc-Specially_002drecognized-files-for-kpsewhich" href="#Specially_002drecognized-files">5.6.2 Specially-recognized files for <code class="command">kpsewhich</code></a></li>
<li><a id="toc-Auxiliary-tasks-1" href="#Auxiliary-tasks">5.6.3 Auxiliary tasks</a></li>
<li><a id="toc-Standard-options-1" href="#Standard-options">5.6.4 Standard options</a></li>
</ul></li>
</ul></li>
<li><a id="toc-TeX-support-1" href="#TeX-support">6 TeX support</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Supported-file-formats-1" href="#Supported-file-formats">6.1 Supported file formats</a></li>
<li><a id="toc-File-lookup-1" href="#File-lookup">6.2 File lookup</a></li>
<li><a id="toc-Glyph-lookup-1" href="#Glyph-lookup">6.3 Glyph lookup</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Basic-glyph-lookup-1" href="#Basic-glyph-lookup">6.3.1 Basic glyph lookup</a></li>
<li><a id="toc-Fontmap-1" href="#Fontmap">6.3.2 Fontmap</a></li>
<li><a id="toc-Fallback-font-1" href="#Fallback-font">6.3.3 Fallback font</a></li>
</ul></li>
<li><a id="toc-Suppressing-warnings-1" href="#Suppressing-warnings">6.4 Suppressing warnings</a></li>
- <li><a id="toc-mktex-scripts-1" href="#mktex-scripts">6.5 <samp>mktex</samp> scripts</a>
- <ul class="no-bullet">
- <li><a id="toc-mktex-configuration-1" href="#mktex-configuration">6.5.1 <samp>mktex</samp> configuration</a></li>
- <li><a id="toc-mktex-script-names-1" href="#mktex-script-names">6.5.2 <samp>mktex</samp> script names</a></li>
- <li><a id="toc-mktex-script-arguments-1" href="#mktex-script-arguments">6.5.3 <samp>mktex</samp> script arguments</a></li>
+ <li><a id="toc-mktex-scripts-1" href="#mktex-scripts">6.5 <samp class="file">mktex</samp> scripts</a>
+ <ul class="toc-numbered-mark">
+ <li><a id="toc-mktex-configuration-1" href="#mktex-configuration">6.5.1 <samp class="file">mktex</samp> configuration</a></li>
+ <li><a id="toc-mktex-script-names-1" href="#mktex-script-names">6.5.2 <samp class="file">mktex</samp> script names</a></li>
+ <li><a id="toc-mktex-script-arguments-1" href="#mktex-script-arguments">6.5.3 <samp class="file">mktex</samp> script arguments</a></li>
</ul></li>
</ul></li>
<li><a id="toc-Programming-1" href="#Programming">7 Programming</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Programming-overview-1" href="#Programming-overview">7.1 Programming overview</a></li>
<li><a id="toc-Calling-sequence-1" href="#Calling-sequence">7.2 Calling sequence</a></li>
<li><a id="toc-Program_002dspecific-files-1" href="#Program_002dspecific-files">7.3 Program-specific files</a></li>
<li><a id="toc-Programming-with-config-files-1" href="#Programming-with-config-files">7.4 Programming with config files</a></li>
</ul></li>
<li><a id="toc-Reporting-bugs-1" href="#Reporting-bugs">8 Reporting bugs</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Bug-checklist-1" href="#Bug-checklist">8.1 Bug checklist</a></li>
<li><a id="toc-Mailing-lists-1" href="#Mailing-lists">8.2 Mailing lists</a></li>
<li><a id="toc-Debugging-1" href="#Debugging">8.3 Debugging</a></li>
<li><a id="toc-Logging-1" href="#Logging">8.4 Logging</a></li>
<li><a id="toc-Common-problems-1" href="#Common-problems">8.5 Common problems</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Unable-to-find-files-1" href="#Unable-to-find-files">8.5.1 Unable to find files</a></li>
<li><a id="toc-Slow-path-searching-1" href="#Slow-path-searching">8.5.2 Slow path searching</a></li>
<li><a id="toc-Unable-to-generate-fonts-1" href="#Unable-to-generate-fonts">8.5.3 Unable to generate fonts</a></li>
@@ -176,51 +171,51 @@ January 2022.
</div>
</div>
<hr>
-<div class="chapter" id="Introduction">
-<div class="header">
+<div class="chapter-level-extent" id="Introduction">
+<div class="nav-panel">
<p>
-Next: <a href="#unixtex_002eftp" accesskey="n" rel="next"><samp>unixtex.ftp</samp>: Obtaining TeX</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Kpathsea library</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#unixtex_002eftp" accesskey="n" rel="next"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Kpathsea library</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2>
+<h2 class="chapter" id="Introduction-1">1 Introduction</h2>
-<span id="index-introduction"></span>
-<span id="index-fundamental-purpose-of-Kpathsea"></span>
+<a class="index-entry-id" id="index-introduction"></a>
+<a class="index-entry-id" id="index-fundamental-purpose-of-Kpathsea"></a>
-<p>This manual corresponds to version 6.3.4 of the Kpathsea
-library, released in January 2022.
+<p>This manual corresponds to version 6.3.5 of the Kpathsea
+library, released in February 2023.
</p>
<p>The library&rsquo;s fundamental purpose is to return a filename from a list of
directories specified by the user, similar to what shells do when
looking up program names to execute.
</p>
-<span id="index-programs-using-the-library"></span>
+<a class="index-entry-id" id="index-programs-using-the-library"></a>
<p>The following software, all of which is maintained in parallel, uses
this library:
</p>
-<ul>
-<li> Dviljk (see the &lsquo;<samp>dvilj</samp>&rsquo; man page)
-</li><li> Dvipsk (see <cite><a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Dvips: A DVI driver</a></cite>)
-</li><li> GNU font utilities (see <cite><a data-manual="fontu" href="fontu.html#Top">GNU font utilities</a></cite>)
-</li><li> Web2c (see <cite><a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Top">Web2c: A TeX implementation</a></cite>)
-</li><li> Xdvik (see the &lsquo;<samp>xdvi</samp>&rsquo; man page)
+<ul class="itemize mark-bullet">
+<li>Dviljk (see the &lsquo;<samp class="samp">dvilj</samp>&rsquo; man page)
+</li><li>Dvipsk (see <cite class="cite"><a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Dvips: A DVI driver</a></cite>)
+</li><li>GNU font utilities (see <cite class="cite"><a data-manual="fontu" href="fontu.html#Top">GNU font utilities</a></cite>)
+</li><li>Web2c (see <cite class="cite"><a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Top">Web2c: A TeX implementation</a></cite>)
+</li><li>Xdvik (see the &lsquo;<samp class="samp">xdvi</samp>&rsquo; man page)
</li></ul>
<p>Other software that we do not maintain also uses it.
</p>
<p>Kpathsea is now maintained as part of the TeX Live distribution
-(<a href="https://tug.org/texlive">https://tug.org/texlive</a>), which includes several more
+(<a class="url" href="https://tug.org/texlive">https://tug.org/texlive</a>), which includes several more
Kpathsea-using programs. For information on configuration, building,
-installing, and more, see <cite><a data-manual="tlbuild" href="https://tug.org/texinfohtml/tlbuild.html#Top">Building TeX Live</a></cite>.
+installing, and more, see <cite class="cite"><a data-manual="tlbuild" href="https://tug.org/texinfohtml/tlbuild.html#Top">Building TeX Live</a></cite>.
</p>
-<span id="index-interface_002c-not-frozen"></span>
-<span id="index-comments_002c-making"></span>
-<span id="index-suggestions_002c-making"></span>
+<a class="index-entry-id" id="index-interface_002c-not-frozen"></a>
+<a class="index-entry-id" id="index-comments_002c-making"></a>
+<a class="index-entry-id" id="index-suggestions_002c-making"></a>
<p>The library is still actively maintained. If you have comments or
-suggestions, please send along (see <a href="#Reporting-bugs">Reporting bugs</a>).
+suggestions, please send along (see <a class="pxref" href="#Reporting-bugs">Reporting bugs</a>).
</p>
-<span id="index-conditions-for-use"></span>
-<span id="index-license-for-using-the-library"></span>
-<span id="index-GNU-General-Public-License"></span>
+<a class="index-entry-id" id="index-conditions-for-use"></a>
+<a class="index-entry-id" id="index-license-for-using-the-library"></a>
+<a class="index-entry-id" id="index-GNU-General-Public-License"></a>
<p>The Kpathsea library is distributed under the GNU Library General
Public License (LGPL), version&nbsp;2.1 or (at your option) any later
version. In short, this means if you write a program using the
@@ -229,65 +224,65 @@ along with any changes you have made, and allow anyone to modify the
library source and distribute their modifications. It does not mean
you have to distribute the source to your program using the library,
although we hope you will. See accompanying files for the text of the
-GNU licenses, or <a href="https://gnu.org/licenses">https://gnu.org/licenses</a>.
+GNU licenses, or <a class="url" href="https://gnu.org/licenses">https://gnu.org/licenses</a>.
</p>
-<span id="index-TeX-Users-Group"></span>
+<a class="index-entry-id" id="index-TeX-Users-Group"></a>
<p>If you know enough about TeX to be reading this manual, then you (or
your institution) should consider joining the TeX Users Group (if
you&rsquo;re already a member, thanks!). TUG produces the periodical
-<cite>TUGboat</cite>, sponsors an annual meeting and publishes the
+<cite class="cite">TUGboat</cite>, sponsors an annual meeting and publishes the
proceedings, and arranges courses on TeX for all levels of users
-throughout the world. See <a href="https://tug.org">https://tug.org</a> for information.
+throughout the world. See <a class="url" href="https://tug.org">https://tug.org</a> for information.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#History" accesskey="1">History</a></li>
</ul>
<hr>
-<div class="section" id="History">
-<div class="header">
+<div class="section-level-extent" id="History">
+<div class="nav-panel">
<p>
Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-1"></span><h3 class="section">1.1 History</h3>
+<h3 class="section" id="History-1">1.1 History</h3>
-<span id="index-history-of-Kpathsea"></span>
+<a class="index-entry-id" id="index-history-of-Kpathsea"></a>
-<span id="index-Knuth_002c-Donald-E_002e"></span>
+<a class="index-entry-id" id="index-Knuth_002c-Donald-E_002e"></a>
<p>This section is for those people who are curious about how the library
came about. If you like to read historical accounts of software, we
urge you to seek out the GNU Autoconf manual and the &ldquo;Errors of
-TeX&rdquo; paper by Don Knuth, published in his book <cite>Digital
+TeX&rdquo; paper by Don Knuth, published in his book <cite class="cite">Digital
Typography</cite>, among other places.
</p>
-<span id="index-Morgan_002c-Tim"></span>
-<span id="index-Rokicki_002c-Tom"></span>
-<span id="index-Berry_002c-Karl"></span>
-<span id="index-VAX-11_002f750"></span>
-<span id="index-Sun-2"></span>
-<span id="index-pxp-Pascal-preprocessor"></span>
-<span id="index-pc-Pascal-compiler"></span>
+<a class="index-entry-id" id="index-Morgan_002c-Tim"></a>
+<a class="index-entry-id" id="index-Rokicki_002c-Tom"></a>
+<a class="index-entry-id" id="index-Berry_002c-Karl"></a>
+<a class="index-entry-id" id="index-VAX-11_002f750"></a>
+<a class="index-entry-id" id="index-Sun-2"></a>
+<a class="index-entry-id" id="index-pxp-Pascal-preprocessor"></a>
+<a class="index-entry-id" id="index-pc-Pascal-compiler"></a>
<p>[Karl writes.] My first ChangeLog entry for Web2c seems to be
February 1990, but I may have done some work before then. In any
case, Tim Morgan and I were jointly maintaining it for a time. (I
should mention here that Tim had made Web2c into a real distribution
long before I had ever used it or even heard of it, and Tom Rokicki
did the original implementation. When I started, I was using
-<code>pxp</code> and <code>pc</code> on VAX 11/750&rsquo;s and the hot new Sun 2
+<code class="code">pxp</code> and <code class="code">pc</code> on VAX 11/750&rsquo;s and the hot new Sun 2
machines.)
</p>
<p>It must have been later in 1990 and 1991 that I started working on
-<cite>TeX for the Impatient</cite>. Dvips, Xdvi, Web2c, and the GNU
+<cite class="cite">TeX for the Impatient</cite>. Dvips, Xdvi, Web2c, and the GNU
fontutils (which I was also writing at the time) all used different
environment variables, and, more importantly, had different bugs in
their path searching. This became extremely painful, as I was stressing
everything to the limit working on the book. I also desperately wanted
to implement subdirectory searching, since I couldn&rsquo;t stand putting
everything in one big directory, and also couldn&rsquo;t stand having to
-explicitly specify <samp>cm</samp>, <samp>pandora</samp>, &hellip; in a path.
+explicitly specify <samp class="file">cm</samp>, <samp class="file">pandora</samp>, &hellip; in a path.
</p>
-<span id="index-Vojta_002c-Paul"></span>
+<a class="index-entry-id" id="index-Vojta_002c-Paul"></a>
<p>In the first incarnation, I just hacked separately on each
program&mdash;that was the original subdirectory searching code in both
Xdvi and Dvips. That is, I tried to go with the flow in each program,
@@ -302,22 +297,22 @@ They weren&rsquo;t yet a library, though. I just kept things up to date
with shell scripts. (I was developing on a 386 running ISC 2.2 at the
time, and so didn&rsquo;t have symbolic links. An awful experience.)
</p>
-<span id="index-MacKenzie_002c-David"></span>
+<a class="index-entry-id" id="index-MacKenzie_002c-David"></a>
<p>The ChangeLogs for Xdvik and Dvipsk record initial releases of those
distributions in May and June 1992. I think it was because I was tired
of the different configuration strategies of each program, not so much
because of the path searching. Autoconf was being developed by David
MacKenzie and others, and I was adapting it to TeX and friends.
</p>
-<span id="index-zuhn_002c-david"></span>
+<a class="index-entry-id" id="index-zuhn_002c-david"></a>
<p>I started to make a separate library that other programs could link with
on my birthday in April 1993, according to the ChangeLog. I don&rsquo;t
remember exactly why I finally took the time to make it a separate
library; a conversation with david zuhn initiated it. Just seemed
like it was time.
</p>
-<span id="index-Walsh_002c-Norman"></span>
-<span id="index-Neumann_002c-Gustaf"></span>
+<a class="index-entry-id" id="index-Walsh_002c-Norman"></a>
+<a class="index-entry-id" id="index-Neumann_002c-Gustaf"></a>
<p>Dviljk got started in March 1994 after I bought a Laserjet 4. (Kpathsea
work got suspended while Norm Walsh and I, with Gustaf Neumann&rsquo;s help,
implemented a way for TeX to get at all those neat builtin LJ4 fonts
@@ -334,20 +329,20 @@ smaller than a company with a million-dollar-a-year legal budget. Which
is actually what I think is likely to happen, but that&rsquo;s another
story&hellip;)
</p>
-<span id="index-Weber_002c-Olaf"></span>
+<a class="index-entry-id" id="index-Weber_002c-Olaf"></a>
<p>[Olaf writes.] At the end of 1997, Unix is still alive and kicking,
individuals still develop software, and Web2c development still
continues. Karl had been looking for some time for someone to take up
part of the burden, and I volunteered.
</p>
-<span id="index-Hoekwater_002c-Taco"></span>
-<span id="index-Breitenlohner_002c-Peter"></span>
+<a class="index-entry-id" id="index-Hoekwater_002c-Taco"></a>
+<a class="index-entry-id" id="index-Breitenlohner_002c-Peter"></a>
<p>[Karl writes again.] Indeed, time goes on. As of 2006 or so, Olaf&rsquo;s
available time for Kpathsea was reduced, and I started taking overall
care of it again, although I did not do any significant new
development. In 2009, Taco Hoekwater implemented a major
rearrangement to make the library suitable for use within the MetaPost
-library (see <a href="#Programming-overview">Programming overview</a>). Also, for some years now,
+library (see <a class="pxref" href="#Programming-overview">Programming overview</a>). Also, for some years now,
Peter Breitenlohner has made many improvements to the infrastructure
and kept it up-to-date with respect to the overall TeX Live build,
where Kpathsea is now maintained.
@@ -357,27 +352,27 @@ where Kpathsea is now maintained.
<hr>
</div>
</div>
-<div class="chapter" id="unixtex_002eftp">
-<div class="header">
+<div class="chapter-level-extent" id="unixtex_002eftp">
+<div class="nav-panel">
<p>
Next: <a href="#Security" accesskey="n" rel="next">Security</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="unixtex_002eftp_003a-Obtaining-TeX"></span><h2 class="chapter">2 <samp>unixtex.ftp</samp>: Obtaining TeX</h2>
+<h2 class="chapter" id="unixtex_002eftp_003a-Obtaining-TeX">2 <samp class="file">unixtex.ftp</samp>: Obtaining TeX</h2>
-<span id="index-obtaining-TeX"></span>
-<span id="index-retrieving-TeX"></span>
+<a class="index-entry-id" id="index-obtaining-TeX"></a>
+<a class="index-entry-id" id="index-retrieving-TeX"></a>
-<span id="index-unixtex_002eftp"></span>
-<span id="index-tug_002eorg"></span>
-<span id="index-www_002etug_002eorg"></span>
-<span id="index-ftp_002etug_002eorg"></span>
+<a class="index-entry-id" id="index-unixtex_002eftp"></a>
+<a class="index-entry-id" id="index-tug_002eorg"></a>
+<a class="index-entry-id" id="index-www_002etug_002eorg"></a>
+<a class="index-entry-id" id="index-ftp_002etug_002eorg"></a>
<p>This
-is <a href="ftp://tug.org/tex/unixtex.ftp">ftp://tug.org/tex/unixtex.ftp</a>, a.k.a.
-<a href="https://tug.org/unixtex.ftp">https://tug.org/unixtex.ftp</a>, last updated 29 February 2020.
-Email <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions.
+is <a class="uref" href="ftp://tug.org/tex/unixtex.ftp">ftp://tug.org/tex/unixtex.ftp</a>, a.k.a.
+<a class="uref" href="https://tug.org/unixtex.ftp">https://tug.org/unixtex.ftp</a>, last updated 29 February 2020.
+Email <a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions.
</p>
<p>The principal free TeX distribution for Unix-like systems is TeX
-Live, on the web at <a href="http://tug.org/texlive">http://tug.org/texlive</a>. The pages there
+Live, on the web at <a class="url" href="http://tug.org/texlive">http://tug.org/texlive</a>. The pages there
describe many ways to acquire and/or build TeX, over the Internet
or on physical media, both the sources and precompiled binaries for
many systems, either standalone or as part of various operating system
@@ -387,12 +382,12 @@ distributions.
released as a separate packages. Their sources are now maintained as
part of TeX Live.
</p>
-<span id="index-ftp_002ecs_002estanford_002eedu"></span>
-<span id="index-tex_002eweb"></span>
-<span id="index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by"></span>
-<p>The host <tt>ftp.cs.stanford.edu</tt> is the original source for the files
-for which Donald Knuth is directly responsible: <samp>tex.web</samp>,
-<samp>plain.tex</samp>, etc. However, unless you want to undertake the
+<a class="index-entry-id" id="index-ftp_002ecs_002estanford_002eedu"></a>
+<a class="index-entry-id" id="index-tex_002eweb"></a>
+<a class="index-entry-id" id="index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by"></a>
+<p>The host <code class="t">ftp.cs.stanford.edu</code> is the original source for the files
+for which Donald Knuth is directly responsible: <samp class="file">tex.web</samp>,
+<samp class="file">plain.tex</samp>, etc. However, unless you want to undertake the
project of building your TeX system from scratch, it is more
reliable and less work to retrieve these files as part of a larger
package.
@@ -401,164 +396,164 @@ package.
anything except what was created as part of Knuth&rsquo;s original TeX,
so do not rely on any other files available there being up-to-date.
The best place to check for up-to-date files is CTAN (the
-Comprehensive TeX Archive Network), <a href="https://ctan.org">https://ctan.org</a>.
+Comprehensive TeX Archive Network), <a class="url" href="https://ctan.org">https://ctan.org</a>.
</p>
<hr>
</div>
-<div class="chapter" id="Security">
-<div class="header">
+<div class="chapter-level-extent" id="Security">
+<div class="nav-panel">
<p>
-Next: <a href="#TeX-directory-structure" accesskey="n" rel="next">TeX directory structure</a>, Previous: <a href="#unixtex_002eftp" accesskey="p" rel="prev"><samp>unixtex.ftp</samp>: Obtaining TeX</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#TeX-directory-structure" accesskey="n" rel="next">TeX directory structure</a>, Previous: <a href="#unixtex_002eftp" accesskey="p" rel="prev"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Security-1"></span><h2 class="chapter">3 Security</h2>
+<h2 class="chapter" id="Security-1">3 Security</h2>
-<span id="index-security-considerations"></span>
+<a class="index-entry-id" id="index-security-considerations"></a>
<p>None of the programs in the TeX system require any special system
privileges, so there&rsquo;s no first-level security concern of people gaining
illegitimate root access.
</p>
-<span id="index-trojan-horse-attack"></span>
-<span id="index-_002erhosts_002c-writable-by-TeX"></span>
+<a class="index-entry-id" id="index-trojan-horse-attack"></a>
+<a class="index-entry-id" id="index-_002erhosts_002c-writable-by-TeX"></a>
<p>A TeX document, however, can write to arbitrary files, e.g.,
-<samp>~/.rhosts</samp>, and thus an unwitting user who runs TeX on a random
+<samp class="file">~/.rhosts</samp>, and thus an unwitting user who runs TeX on a random
document is vulnerable to a trojan horse attack. This loophole is
closed by default, but you can be permissive if you so desire in
-<samp>texmf.cnf</samp>. See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite>Web2c</cite>. MetaPost has
+<samp class="file">texmf.cnf</samp>. See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite class="cite">Web2c</cite>. MetaPost has
the same issue.
</p>
<p>Dvips, Xdvi, and TeX can also execute shell commands under some
-circumstances. To disable this, see the &lsquo;<samp>-R</samp>&rsquo; option in <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Option-details">Option
-details</a> in <cite>Dvips</cite>, the xdvi man page, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex
-invocation</a> in <cite>Web2c</cite>, respectively.
+circumstances. To disable this, see the &lsquo;<samp class="samp">-R</samp>&rsquo; option in <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Option-details">Option
+details</a> in <cite class="cite">Dvips</cite>, the xdvi man page, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex
+invocation</a> in <cite class="cite">Web2c</cite>, respectively.
</p>
-<span id="index-local-cache-of-fonts"></span>
-<span id="index-cache-of-fonts_002c-local"></span>
+<a class="index-entry-id" id="index-local-cache-of-fonts"></a>
+<a class="index-entry-id" id="index-cache-of-fonts_002c-local"></a>
<p>Another security issue arises because it&rsquo;s very useful&mdash;almost
-necessary&mdash;to make arbitrary fonts on user demand with <code>mktexpk</code>
+necessary&mdash;to make arbitrary fonts on user demand with <code class="code">mktexpk</code>
and friends. Where do these files get installed? By default, the
-<code>mktexpk</code> distributed with Kpathsea assumes a world-writable
-<samp>/var/tmp</samp> directory; this is a simple and convenient approach, but
+<code class="code">mktexpk</code> distributed with Kpathsea assumes a world-writable
+<samp class="file">/var/tmp</samp> directory; this is a simple and convenient approach, but
it may not suit your situation because it means that a local cache of
fonts is created on every machine.
</p>
-<span id="index-globally-writable-directories"></span>
+<a class="index-entry-id" id="index-globally-writable-directories"></a>
<p>To avoid this duplication, many people consider a shared, globally
writable font tree desirable, in spite of the potential security
-problems. To do this you should change the value of <code>VARTEXFONTS</code>
-in <samp>texmf.cnf</samp> to refer to some globally known directory.
-See <a href="#mktex-configuration"><samp>mktex</samp> configuration</a>.
+problems. To do this you should change the value of <code class="code">VARTEXFONTS</code>
+in <samp class="file">texmf.cnf</samp> to refer to some globally known directory.
+See <a class="xref" href="#mktex-configuration"><samp class="file">mktex</samp> configuration</a>.
</p>
-<span id="index-append_002donly-directories-and-mktexpk"></span>
+<a class="index-entry-id" id="index-append_002donly-directories-and-mktexpk"></a>
<p>The first restriction you can apply is to make newly-created directories
-under <samp>texmf</samp> be append-only with an option in <samp>mktex.cnf</samp>.
-See <a href="#mktex-configuration"><samp>mktex</samp> configuration</a>.
+under <samp class="file">texmf</samp> be append-only with an option in <samp class="file">mktex.cnf</samp>.
+See <a class="xref" href="#mktex-configuration"><samp class="file">mktex</samp> configuration</a>.
</p>
-<span id="index-group_002dwritable-directories"></span>
-<span id="index-setgid-scripts"></span>
+<a class="index-entry-id" id="index-group_002dwritable-directories"></a>
+<a class="index-entry-id" id="index-setgid-scripts"></a>
<p>Another approach is to establish a group (or user) for TeX files,
-make the <samp>texmf</samp> tree writable only to that group (or user), and
-make <code>mktexpk</code> et al. setgid to that group (or setuid to that
+make the <samp class="file">texmf</samp> tree writable only to that group (or user), and
+make <code class="code">mktexpk</code> et al. setgid to that group (or setuid to that
user). Then users must invoke the scripts to install things. (If
you&rsquo;re worried about the inevitable security holes in scripts, then you
could write a C wrapper to exec the script.)
</p>
-<span id="index-file-permissions"></span>
-<span id="index-permissions_002c-file"></span>
-<p>The <samp>mktex&hellip;</samp> scripts install files with the same read and
+<a class="index-entry-id" id="index-file-permissions"></a>
+<a class="index-entry-id" id="index-permissions_002c-file"></a>
+<p>The <samp class="file">mktex&hellip;</samp> scripts install files with the same read and
write permissions as the directory they are installed in. The
executable, sgid, suid, and sticky bits are always cleared.
</p>
-<span id="index-directory-permissions"></span>
-<span id="index-permissions_002c-directory"></span>
-<p>Any directories created by the <samp>mktex&hellip;</samp> scripts have the
+<a class="index-entry-id" id="index-directory-permissions"></a>
+<a class="index-entry-id" id="index-permissions_002c-directory"></a>
+<p>Any directories created by the <samp class="file">mktex&hellip;</samp> scripts have the
same permissions as their parent directory, unless the
-<code>appendonlydir</code> feature is used, in which case the sticky bit is
+<code class="code">appendonlydir</code> feature is used, in which case the sticky bit is
always set.
</p>
<hr>
</div>
-<div class="chapter" id="TeX-directory-structure">
-<div class="header">
+<div class="chapter-level-extent" id="TeX-directory-structure">
+<div class="nav-panel">
<p>
Next: <a href="#Path-searching" accesskey="n" rel="next">Path searching</a>, Previous: <a href="#Security" accesskey="p" rel="prev">Security</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="TeX-directory-structure-1"></span><h2 class="chapter">4 TeX directory structure</h2>
+<h2 class="chapter" id="TeX-directory-structure-1">4 TeX directory structure</h2>
-<span id="index-TEXMF"></span>
-<span id="index-TeX-directory-structure"></span>
-<span id="index-directory-structure_002c-for-TeX-files"></span>
-<span id="index-skeleton-TeX-directory"></span>
-<span id="index-TDS"></span>
+<a class="index-entry-id" id="index-TEXMF"></a>
+<a class="index-entry-id" id="index-TeX-directory-structure"></a>
+<a class="index-entry-id" id="index-directory-structure_002c-for-TeX-files"></a>
+<a class="index-entry-id" id="index-skeleton-TeX-directory"></a>
+<a class="index-entry-id" id="index-TDS"></a>
<p>This section describes the default installation hierarchy of the
distribution. It conforms to both the GNU coding standards and the
TeX directory structure (TDS) standard. For rationale and further
explanation, please see those documents. The GNU document is
-available from <a href="https://gnu.org/prep/standards">https://gnu.org/prep/standards</a>. The TDS
-document is available from <a href="https://ctan.org/pkg/tds">https://ctan.org/pkg/tds</a>
-(see <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>).
+available from <a class="url" href="https://gnu.org/prep/standards">https://gnu.org/prep/standards</a>. The TDS
+document is available from <a class="url" href="https://ctan.org/pkg/tds">https://ctan.org/pkg/tds</a>
+(see <a class="pxref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>).
</p>
<p>In short, here is a skeleton of the default directory structure,
extracted from the TDS document:
</p>
<div class="example">
-<pre class="example"><var>prefix</var>/ <span class="roman">installation root (<samp>/usr/local</samp> by default)</span>
- bin/ <span class="roman">executables</span>
- man/ <span class="roman">man pages</span>
- include/ <span class="roman">C header files</span>
- info/ <span class="roman">GNU info files</span>
- lib/ <span class="roman">libraries (<samp>libkpathsea.*</samp>)</span>
- share/ <span class="roman">architecture-independent files</span>
- texmf/ <span class="roman">TDS root</span>
- bibtex/ <span class="roman">BibTeX input files</span>
- bib/ <span class="roman">BibTeX databases</span>
- base/ <span class="roman">base distribution (e.g., &lsquo;<samp>xampl.bib</samp>&rsquo;)</span>
- misc/ <span class="roman">single-file databases</span>
- <var>pkg</var>/ <span class="roman">name of a package</span>
- bst/ <span class="roman">BibTeX style files</span>
- base/ <span class="roman">base distribution (e.g., &lsquo;<samp>plain.bst</samp>&rsquo;, &lsquo;<samp>acm.bst</samp>&rsquo;)</span>
- misc/ <span class="roman">single-file styles</span>
- <var>pkg</var>/ <span class="roman">name of a package</span>
- doc/ <span class="roman">additional documentation</span>
- dvips/ <span class="roman">&lsquo;<samp>.pro</samp>&rsquo;, &lsquo;<samp>.ps</samp>&rsquo;, &lsquo;<samp>psfonts.map</samp>&rsquo;</span>
- fonts/ <span class="roman">font-related files</span>
- <var>type</var>/ <span class="roman">file type (e.g., &lsquo;<samp>tfm</samp>&rsquo;, &lsquo;<samp>pk</samp>&rsquo;)</span>
- <var>mode</var>/ <span class="roman">type of output device (types &lsquo;<samp>pk</samp>&rsquo; and &lsquo;<samp>gf</samp>&rsquo; only)</span>
- <var>supplier</var>/ <span class="roman">name of a font supplier (e.g., &lsquo;<samp>public</samp>&rsquo;)</span>
- <var>typeface</var>/ <span class="roman">name of a typeface (e.g., &lsquo;<samp>cm</samp>&rsquo;)</span>
- dpi<var>nnn</var>/ <span class="roman">font resolution (types &lsquo;<samp>pk</samp>&rsquo; and &lsquo;<samp>gf</samp>&rsquo; only)</span>
- metafont/ <span class="roman">Metafont (non-font) input files</span>
- base/ <span class="roman">base distribution (e.g., &lsquo;<samp>plain.mf</samp>&rsquo;)</span>
- misc/ <span class="roman">single-file packages (e.g., &lsquo;<samp>modes.mf</samp>&rsquo;)</span>
- <var>pkg</var>/ <span class="roman">name of a package (e.g., &lsquo;<samp>mfpic</samp>&rsquo;)</span>
- metapost/ <span class="roman">MetaPost input files</span>
- base/ <span class="roman">base distribution (e.g., &lsquo;<samp>plain.mp</samp>&rsquo;)</span>
- misc/ <span class="roman">single-file packages</span>
- <var>pkg</var>/ <span class="roman">name of a package</span>
- support/ <span class="roman">support files for MetaPost-related utilities (e.g., &lsquo;<samp>trfonts.map</samp>&rsquo;)</span>
- mft/ <span class="roman">&lsquo;<samp>MFT</samp>&rsquo; inputs (e.g., &lsquo;<samp>plain.mft</samp>&rsquo;)</span>
- tex/ <span class="roman">TeX input files</span>
- <var>format</var>/ <span class="roman">name of a format (e.g., &lsquo;<samp>plain</samp>&rsquo;)</span>
- base/ <span class="roman">base distribution for <var>format</var> (e.g., &lsquo;<samp>plain.tex</samp>&rsquo;)</span>
- misc/ <span class="roman">single-file packages (e.g., &lsquo;<samp>webmac.tex</samp>&rsquo;)</span>
- local/ <span class="roman">local additions to or local configuration files for <var>format</var></span>
- <var>pkg</var>/ <span class="roman">name of a package (e.g., &lsquo;<samp>graphics</samp>&rsquo;, &lsquo;<samp>mfnfss</samp>&rsquo;)</span>
- generic/ <span class="roman">format-independent packages</span>
- hyphen/ <span class="roman">hyphenation patterns (e.g., &lsquo;<samp>hyphen.tex</samp>&rsquo;)</span>
- images/ <span class="roman">image input files (e.g., Encapsulated PostScript)</span>
- misc/ <span class="roman">single-file format-independent packages (e.g., &lsquo;<samp>null.tex</samp>&rsquo;).</span>
- <var>pkg</var>/ <span class="roman">name of a package (e.g., &lsquo;<samp>babel</samp>&rsquo;)</span>
- web2c/ <span class="roman">implementation-dependent files (<samp>.pool</samp>, <samp>.fmt</samp>, <samp>texmf.cnf</samp>, etc.)</span>
+<pre class="example-preformatted"><var class="var">prefix</var>/ <span class="r">installation root (<samp class="file">/usr/local</samp> by default)</span>
+ bin/ <span class="r">executables</span>
+ man/ <span class="r">man pages</span>
+ include/ <span class="r">C header files</span>
+ info/ <span class="r">GNU info files</span>
+ lib/ <span class="r">libraries (<samp class="file">libkpathsea.*</samp>)</span>
+ share/ <span class="r">architecture-independent files</span>
+ texmf/ <span class="r">TDS root</span>
+ bibtex/ <span class="r">BibTeX input files</span>
+ bib/ <span class="r">BibTeX databases</span>
+ base/ <span class="r">base distribution (e.g., &lsquo;<samp class="samp">xampl.bib</samp>&rsquo;)</span>
+ misc/ <span class="r">single-file databases</span>
+ <var class="var">pkg</var>/ <span class="r">name of a package</span>
+ bst/ <span class="r">BibTeX style files</span>
+ base/ <span class="r">base distribution (e.g., &lsquo;<samp class="samp">plain.bst</samp>&rsquo;, &lsquo;<samp class="samp">acm.bst</samp>&rsquo;)</span>
+ misc/ <span class="r">single-file styles</span>
+ <var class="var">pkg</var>/ <span class="r">name of a package</span>
+ doc/ <span class="r">additional documentation</span>
+ dvips/ <span class="r">&lsquo;<samp class="samp">.pro</samp>&rsquo;, &lsquo;<samp class="samp">.ps</samp>&rsquo;, &lsquo;<samp class="samp">psfonts.map</samp>&rsquo;</span>
+ fonts/ <span class="r">font-related files</span>
+ <var class="var">type</var>/ <span class="r">file type (e.g., &lsquo;<samp class="samp">tfm</samp>&rsquo;, &lsquo;<samp class="samp">pk</samp>&rsquo;)</span>
+ <var class="var">mode</var>/ <span class="r">type of output device (types &lsquo;<samp class="samp">pk</samp>&rsquo; and &lsquo;<samp class="samp">gf</samp>&rsquo; only)</span>
+ <var class="var">supplier</var>/ <span class="r">name of a font supplier (e.g., &lsquo;<samp class="samp">public</samp>&rsquo;)</span>
+ <var class="var">typeface</var>/ <span class="r">name of a typeface (e.g., &lsquo;<samp class="samp">cm</samp>&rsquo;)</span>
+ dpi<var class="var">nnn</var>/ <span class="r">font resolution (types &lsquo;<samp class="samp">pk</samp>&rsquo; and &lsquo;<samp class="samp">gf</samp>&rsquo; only)</span>
+ metafont/ <span class="r">Metafont (non-font) input files</span>
+ base/ <span class="r">base distribution (e.g., &lsquo;<samp class="samp">plain.mf</samp>&rsquo;)</span>
+ misc/ <span class="r">single-file packages (e.g., &lsquo;<samp class="samp">modes.mf</samp>&rsquo;)</span>
+ <var class="var">pkg</var>/ <span class="r">name of a package (e.g., &lsquo;<samp class="samp">mfpic</samp>&rsquo;)</span>
+ metapost/ <span class="r">MetaPost input files</span>
+ base/ <span class="r">base distribution (e.g., &lsquo;<samp class="samp">plain.mp</samp>&rsquo;)</span>
+ misc/ <span class="r">single-file packages</span>
+ <var class="var">pkg</var>/ <span class="r">name of a package</span>
+ support/ <span class="r">support files for MetaPost-related utilities (e.g., &lsquo;<samp class="samp">trfonts.map</samp>&rsquo;)</span>
+ mft/ <span class="r">&lsquo;<samp class="samp">MFT</samp>&rsquo; inputs (e.g., &lsquo;<samp class="samp">plain.mft</samp>&rsquo;)</span>
+ tex/ <span class="r">TeX input files</span>
+ <var class="var">format</var>/ <span class="r">name of a format (e.g., &lsquo;<samp class="samp">plain</samp>&rsquo;)</span>
+ base/ <span class="r">base distribution for <var class="var">format</var> (e.g., &lsquo;<samp class="samp">plain.tex</samp>&rsquo;)</span>
+ misc/ <span class="r">single-file packages (e.g., &lsquo;<samp class="samp">webmac.tex</samp>&rsquo;)</span>
+ local/ <span class="r">local additions to or local configuration files for <var class="var">format</var></span>
+ <var class="var">pkg</var>/ <span class="r">name of a package (e.g., &lsquo;<samp class="samp">graphics</samp>&rsquo;, &lsquo;<samp class="samp">mfnfss</samp>&rsquo;)</span>
+ generic/ <span class="r">format-independent packages</span>
+ hyphen/ <span class="r">hyphenation patterns (e.g., &lsquo;<samp class="samp">hyphen.tex</samp>&rsquo;)</span>
+ images/ <span class="r">image input files (e.g., Encapsulated PostScript)</span>
+ misc/ <span class="r">single-file format-independent packages (e.g., &lsquo;<samp class="samp">null.tex</samp>&rsquo;).</span>
+ <var class="var">pkg</var>/ <span class="r">name of a package (e.g., &lsquo;<samp class="samp">babel</samp>&rsquo;)</span>
+ web2c/ <span class="r">implementation-dependent files (<samp class="file">.pool</samp>, <samp class="file">.fmt</samp>, <samp class="file">texmf.cnf</samp>, etc.)</span>
</pre></div>
<p>Some concrete examples for most file types:
</p>
<div class="example">
-<pre class="example">/usr/local/bin/tex
+<pre class="example-preformatted">/usr/local/bin/tex
/usr/local/man/man1/xdvi.1
/usr/local/info/kpathsea.info
/usr/local/lib/libkpathsea.a
@@ -579,91 +574,91 @@ extracted from the TDS document:
<hr>
</div>
-<div class="chapter" id="Path-searching">
-<div class="header">
+<div class="chapter-level-extent" id="Path-searching">
+<div class="nav-panel">
<p>
Next: <a href="#TeX-support" accesskey="n" rel="next">TeX support</a>, Previous: <a href="#TeX-directory-structure" accesskey="p" rel="prev">TeX directory structure</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Path-searching-1"></span><h2 class="chapter">5 Path searching</h2>
+<h2 class="chapter" id="Path-searching-1">5 Path searching</h2>
-<span id="index-path-searching"></span>
+<a class="index-entry-id" id="index-path-searching"></a>
<p>This chapter describes the generic path searching mechanism Kpathsea
provides. For information about searching for particular file types
(e.g., TeX fonts), see the next chapter.
</p>
-<span id="index-translations_002c-of-path-searching-description"></span>
+<a class="index-entry-id" id="index-translations_002c-of-path-searching-description"></a>
<p>This section, with minor differences, has been translated into several
other languages (Chinese, Spanish, Russian, Japanese, French, German,
&hellip;) as part of the TeX Live guide; see
-<a href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a> for links.
+<a class="url" href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a> for links.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Searching-overview" accesskey="1">Searching overview</a></li>
<li><a href="#Path-sources" accesskey="2">Path sources</a></li>
<li><a href="#Path-expansion" accesskey="3">Path expansion</a></li>
<li><a href="#Casefolding-search" accesskey="4">Casefolding search</a></li>
-<li><a href="#Filename-database" accesskey="5">Filename database (<code>ls-R</code>)</a></li>
-<li><a href="#Invoking-kpsewhich" accesskey="6"><code>kpsewhich</code>: Standalone path searching</a></li>
+<li><a href="#Filename-database" accesskey="5">Filename database (<code class="code">ls-R</code>)</a></li>
+<li><a href="#Invoking-kpsewhich" accesskey="6"><code class="code">kpsewhich</code>: Standalone path searching</a></li>
</ul>
<hr>
-<div class="section" id="Searching-overview">
-<div class="header">
+<div class="section-level-extent" id="Searching-overview">
+<div class="nav-panel">
<p>
Next: <a href="#Path-sources" accesskey="n" rel="next">Path sources</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Searching-overview-1"></span><h3 class="section">5.1 Searching overview</h3>
+<h3 class="section" id="Searching-overview-1">5.1 Searching overview</h3>
-<span id="index-searching-overview"></span>
-<span id="index-path-searching_002c-overview"></span>
-<span id="index-overview-of-path-searching"></span>
+<a class="index-entry-id" id="index-searching-overview"></a>
+<a class="index-entry-id" id="index-path-searching_002c-overview"></a>
+<a class="index-entry-id" id="index-overview-of-path-searching"></a>
-<span id="index-search-path_002c-defined"></span>
-<p>A <em>search path</em> is a colon-separated list of <em>path elements</em>,
+<a class="index-entry-id" id="index-search-path_002c-defined"></a>
+<p>A <em class="dfn">search path</em> is a colon-separated list of <em class="dfn">path elements</em>,
which are directory names with a few extra frills. A search path can
come from (a combination of) many sources; see below. To look up a file
-&lsquo;<samp>foo</samp>&rsquo; along a path &lsquo;<samp>.:/dir</samp>&rsquo;, Kpathsea checks each element of
-the path in turn: first <samp>./foo</samp>, then <samp>/dir/foo</samp>, returning
+&lsquo;<samp class="samp">foo</samp>&rsquo; along a path &lsquo;<samp class="samp">.:/dir</samp>&rsquo;, Kpathsea checks each element of
+the path in turn: first <samp class="file">./foo</samp>, then <samp class="file">/dir/foo</samp>, returning
the first match (or possibly all matches).
</p>
-<span id="index-magic-characters"></span>
-<span id="index-_003a-may-not-be-_003a"></span>
-<span id="index-_002f-may-not-be-_002f"></span>
-<p>The &ldquo;colon&rdquo; and &ldquo;slash&rdquo; mentioned here aren&rsquo;t necessarily &lsquo;<samp>:</samp>&rsquo;
-and &lsquo;<samp>/</samp>&rsquo; on non-Unix systems. Kpathsea tries to adapt to other
+<a class="index-entry-id" id="index-magic-characters"></a>
+<a class="index-entry-id" id="index-_003a-may-not-be-_003a"></a>
+<a class="index-entry-id" id="index-_002f-may-not-be-_002f"></a>
+<p>The &ldquo;colon&rdquo; and &ldquo;slash&rdquo; mentioned here aren&rsquo;t necessarily &lsquo;<samp class="samp">:</samp>&rsquo;
+and &lsquo;<samp class="samp">/</samp>&rsquo; on non-Unix systems. Kpathsea tries to adapt to other
operating systems&rsquo; conventions.
</p>
-<span id="index-database-search"></span>
-<span id="index-searching-the-database"></span>
-<p>To check a particular path element <var>e</var>, Kpathsea first sees if a
-prebuilt database (see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>) applies to <var>e</var>, i.e.,
-if the database is in a directory that is a prefix of <var>e</var>. If so,
+<a class="index-entry-id" id="index-database-search"></a>
+<a class="index-entry-id" id="index-searching-the-database"></a>
+<p>To check a particular path element <var class="var">e</var>, Kpathsea first sees if a
+prebuilt database (see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>) applies to <var class="var">e</var>, i.e.,
+if the database is in a directory that is a prefix of <var class="var">e</var>. If so,
the path specification is matched against the contents of the database.
</p>
-<span id="index-floating-directories"></span>
-<span id="index-filesystem-search"></span>
-<span id="index-disk-search"></span>
-<span id="index-searching-the-disk"></span>
+<a class="index-entry-id" id="index-floating-directories"></a>
+<a class="index-entry-id" id="index-filesystem-search"></a>
+<a class="index-entry-id" id="index-disk-search"></a>
+<a class="index-entry-id" id="index-searching-the-disk"></a>
<p>If the database does not exist, or does not apply to this path element,
or contains no matches, the filesystem is searched (if this was not
-forbidden by the specification with &lsquo;<samp>!!</samp>&rsquo; and if the file being
+forbidden by the specification with &lsquo;<samp class="samp">!!</samp>&rsquo; and if the file being
searched for must exist). Kpathsea constructs the list of directories
that correspond to this path element, and then checks in each for the
file being searched for. (To help speed future lookups of files in the
same directory, the directory in which a file is found is floated to the
top of the directory list.)
</p>
-<span id="index-must-exist"></span>
-<span id="index-VF-files_002c-not-found"></span>
-<span id="index-cmr10_002evf"></span>
-<span id="index-_005copenin"></span>
+<a class="index-entry-id" id="index-must-exist"></a>
+<a class="index-entry-id" id="index-VF-files_002c-not-found"></a>
+<a class="index-entry-id" id="index-cmr10_002evf"></a>
+<a class="index-entry-id" id="index-_005copenin"></a>
<p>The &ldquo;file must exist&rdquo; condition comes into play with VF files and
-input files read by the TeX &lsquo;<samp>\openin</samp>&rsquo; command. These files
-might very well not exist (consider <samp>cmr10.vf</samp>), and so it would
+input files read by the TeX &lsquo;<samp class="samp">\openin</samp>&rsquo; command. These files
+might very well not exist (consider <samp class="file">cmr10.vf</samp>), and so it would
be wrong to search the disk for them. Therefore, if you fail to
-update <samp>ls-R</samp> when you install a new VF file, it will not be
+update <samp class="file">ls-R</samp> when you install a new VF file, it will not be
found.
</p>
<p>Each path element is checked in turn: first the database, then the
@@ -675,196 +670,196 @@ never needed on a particular run.
<p>On Unix-like systems, if no match is found by any of the above, and
the path element allows checking the filesystem (per the above), a
final check is made for a case-insensitive match. Thus, looking for a
-name like &lsquo;<samp>./FooBar.TeX</samp>&rsquo; will match a file &lsquo;<samp>./foobar.tex</samp>&rsquo;,
-and vice versa. This is not done on Windows. See <a href="#Casefolding-search">Casefolding search</a>.
+name like &lsquo;<samp class="samp">./FooBar.TeX</samp>&rsquo; will match a file &lsquo;<samp class="samp">./foobar.tex</samp>&rsquo;,
+and vice versa. This is not done on Windows. See <a class="xref" href="#Casefolding-search">Casefolding search</a>.
</p>
-<span id="index-expansion_002c-path-element"></span>
+<a class="index-entry-id" id="index-expansion_002c-path-element"></a>
<p>Although the simplest and most common path element is a directory name,
Kpathsea supports additional features in search paths: layered default
values, environment variable names, config file values, users&rsquo; home
directories, and recursive subdirectory searching. Thus, we say that
-Kpathsea <em>expands</em> a path element, meaning transforming all the
+Kpathsea <em class="dfn">expands</em> a path element, meaning transforming all the
magic specifications into the basic directory name or names. This
process is described in the sections below. It happens in the same
order as the sections.
</p>
-<span id="index-absolute-filenames"></span>
-<span id="index-relative-filenames"></span>
-<span id="index-explicitly-relative-filenames"></span>
-<span id="index-filenames_002c-absolute-or-explicitly-relative"></span>
+<a class="index-entry-id" id="index-absolute-filenames"></a>
+<a class="index-entry-id" id="index-relative-filenames"></a>
+<a class="index-entry-id" id="index-explicitly-relative-filenames"></a>
+<a class="index-entry-id" id="index-filenames_002c-absolute-or-explicitly-relative"></a>
<p>Exception to all of the above: If the filename being searched for is
-absolute or explicitly relative, i.e., starts with &lsquo;<samp>/</samp>&rsquo; or &lsquo;<samp>./</samp>&rsquo;
-or &lsquo;<samp>../</samp>&rsquo;, Kpathsea simply checks if that file exists, with a
+absolute or explicitly relative, i.e., starts with &lsquo;<samp class="samp">/</samp>&rsquo; or &lsquo;<samp class="samp">./</samp>&rsquo;
+or &lsquo;<samp class="samp">../</samp>&rsquo;, Kpathsea simply checks if that file exists, with a
fallback to a casefolding match if needed and enabled, as described above.
</p>
-<span id="index-permission-denied"></span>
-<span id="index-unreadable-files"></span>
-<span id="index-access-warnings"></span>
-<span id="index-warnings_002c-file-access"></span>
-<span id="index-lost_002bfound-directory"></span>
-<span id="index-TEX_005fHUSH"></span>
+<a class="index-entry-id" id="index-permission-denied"></a>
+<a class="index-entry-id" id="index-unreadable-files"></a>
+<a class="index-entry-id" id="index-access-warnings"></a>
+<a class="index-entry-id" id="index-warnings_002c-file-access"></a>
+<a class="index-entry-id" id="index-lost_002bfound-directory"></a>
+<a class="index-entry-id" id="index-TEX_005fHUSH"></a>
<p>Ordinarily, if Kpathsea tries to access a file or directory that
cannot be read, it gives a warning. This is so you will be alerted to
directories or files that accidentally lack any read permission (for
-example, a <samp>lost+found</samp> directory). If you prefer not to see
-these warnings, include the value &lsquo;<samp>readable</samp>&rsquo; in the
-<code>TEX_HUSH</code> environment variable or config file value.
+example, a <samp class="file">lost+found</samp> directory). If you prefer not to see
+these warnings, include the value &lsquo;<samp class="samp">readable</samp>&rsquo; in the
+<code class="code">TEX_HUSH</code> environment variable or config file value.
</p>
<p>This generic path searching algorithm is implemented in
-<samp>kpathsea/pathsearch.c</samp>. It is employed by a higher-level
-algorithm when searching for a file of a particular type (see <a href="#File-lookup">File lookup</a>, and <a href="#Glyph-lookup">Glyph lookup</a>).
+<samp class="file">kpathsea/pathsearch.c</samp>. It is employed by a higher-level
+algorithm when searching for a file of a particular type (see <a class="pxref" href="#File-lookup">File lookup</a>, and <a class="ref" href="#Glyph-lookup">Glyph lookup</a>).
</p>
<hr>
</div>
-<div class="section" id="Path-sources">
-<div class="header">
+<div class="section-level-extent" id="Path-sources">
+<div class="nav-panel">
<p>
Next: <a href="#Path-expansion" accesskey="n" rel="next">Path expansion</a>, Previous: <a href="#Searching-overview" accesskey="p" rel="prev">Searching overview</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Path-sources-1"></span><h3 class="section">5.2 Path sources</h3>
+<h3 class="section" id="Path-sources-1">5.2 Path sources</h3>
-<span id="index-path-sources"></span>
-<span id="index-sources-for-search-paths"></span>
+<a class="index-entry-id" id="index-path-sources"></a>
+<a class="index-entry-id" id="index-sources-for-search-paths"></a>
<p>A search path or other configuration value can come from many sources.
In the order in which Kpathsea looks for them:
</p>
-<ol>
-<li> <span id="index-_002d_002dcnf_002dline_002c-source-for-path"></span>
-A command-line option such as <code>--cnf-line</code>, available in
-<samp>kpsewhich</samp> and most TeX engines. See <a href="#Path-searching-options">Path searching options</a>.
+<ol class="enumerate">
+<li> <a class="index-entry-id" id="index-_002d_002dcnf_002dline_002c-source-for-path"></a>
+A command-line option such as <code class="code">--cnf-line</code>, available in
+<samp class="file">kpsewhich</samp> and most TeX engines. See <a class="xref" href="#Path-searching-options">Path searching options</a>.
-<span id="index-environment-variable_002c-source-for-path"></span>
-<p>A user-set environment variable, e.g., <code>TEXINPUTS</code>.
+<a class="index-entry-id" id="index-environment-variable_002c-source-for-path"></a>
+<p>A user-set environment variable, e.g., <code class="code">TEXINPUTS</code>.
Environment variables with an underscore and the program name appended
-override; for example, <code>TEXINPUTS_latex</code> overrides <code>TEXINPUTS</code>
-if the program being run is named &lsquo;<samp>latex</samp>&rsquo;.
+override; for example, <code class="code">TEXINPUTS_latex</code> overrides <code class="code">TEXINPUTS</code>
+if the program being run is named &lsquo;<samp class="samp">latex</samp>&rsquo;.
</p>
-</li><li> A program-specific configuration file, e.g., an &lsquo;<samp>S /a:/b</samp>&rsquo; line in
-Dvips&rsquo; <samp>config.ps</samp> (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config files</a> in <cite>Dvips</cite>).
+</li><li> A program-specific configuration file, e.g., an &lsquo;<samp class="samp">S /a:/b</samp>&rsquo; line in
+Dvips&rsquo; <samp class="file">config.ps</samp> (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config files</a> in <cite class="cite">Dvips</cite>).
-</li><li> <span id="index-configuration-file_002c-source-for-path"></span>
-<span id="index-Kpathsea-config-file_002c-source-for-path"></span>
-<span id="index-texmf_002ecnf_002c-source-for-path"></span>
-A line in a Kpathsea configuration file <samp>texmf.cnf</samp>, e.g.,
-&lsquo;<samp>TEXINPUTS=/c:/d</samp>&rsquo; (see below).
+</li><li> <a class="index-entry-id" id="index-configuration-file_002c-source-for-path"></a>
+<a class="index-entry-id" id="index-Kpathsea-config-file_002c-source-for-path"></a>
+<a class="index-entry-id" id="index-texmf_002ecnf_002c-source-for-path"></a>
+A line in a Kpathsea configuration file <samp class="file">texmf.cnf</samp>, e.g.,
+&lsquo;<samp class="samp">TEXINPUTS=/c:/d</samp>&rsquo; (see below).
-</li><li> <span id="index-compilation-value_002c-source-for-path"></span>
-The compile-time default (specified in <samp>kpathsea/paths.h</samp>).
+</li><li> <a class="index-entry-id" id="index-compilation-value_002c-source-for-path"></a>
+The compile-time default (specified in <samp class="file">kpathsea/paths.h</samp>).
</li></ol>
<p>You can see each of these values for a given search path by using the
-debugging options (see <a href="#Debugging">Debugging</a>).
+debugging options (see <a class="pxref" href="#Debugging">Debugging</a>).
</p>
-<p>These sources may be combined via default expansion (see <a href="#Default-expansion">Default expansion</a>).
+<p>These sources may be combined via default expansion (see <a class="pxref" href="#Default-expansion">Default expansion</a>).
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Config-files" accesskey="1">Config files</a></li>
</ul>
<hr>
-<div class="subsection" id="Config-files">
-<div class="header">
+<div class="subsection-level-extent" id="Config-files">
+<div class="nav-panel">
<p>
Up: <a href="#Path-sources" accesskey="u" rel="up">Path sources</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Config-files-1"></span><h4 class="subsection">5.2.1 Config files</h4>
+<h4 class="subsection" id="Config-files-1">5.2.1 Config files</h4>
-<span id="index-config-files"></span>
-<span id="index-texmf_002ecnf_002c-definition-for"></span>
+<a class="index-entry-id" id="index-config-files"></a>
+<a class="index-entry-id" id="index-texmf_002ecnf_002c-definition-for"></a>
-<span id="index-runtime-configuration-files"></span>
-<span id="index-TEXMFCNF"></span>
-<p>As mentioned above, Kpathsea reads <em>runtime configuration files</em>
-named <samp>texmf.cnf</samp> for search path and other definitions. The
+<a class="index-entry-id" id="index-runtime-configuration-files"></a>
+<a class="index-entry-id" id="index-TEXMFCNF"></a>
+<p>As mentioned above, Kpathsea reads <em class="dfn">runtime configuration files</em>
+named <samp class="file">texmf.cnf</samp> for search path and other definitions. The
search path used to look for these configuration files is named
-<code>TEXMFCNF</code>, and is constructed in the usual way, as described
+<code class="code">TEXMFCNF</code>, and is constructed in the usual way, as described
above, except that configuration files cannot be used to define the
-path, naturally; also, an <samp>ls-R</samp> database is not used to search for
+path, naturally; also, an <samp class="file">ls-R</samp> database is not used to search for
them.
</p>
-<p>Kpathsea reads <em>all</em> <samp>texmf.cnf</samp> files in the search path, not
+<p>Kpathsea reads <em class="emph">all</em> <samp class="file">texmf.cnf</samp> files in the search path, not
just the first one found; definitions in earlier files override those in
-later files. Thus, if the search path is &lsquo;<samp>.:$TEXMF</samp>&rsquo;, values from
-<samp>./texmf.cnf</samp> override those from <samp>$TEXMF/texmf.cnf</samp>.
+later files. Thus, if the search path is &lsquo;<samp class="samp">.:$TEXMF</samp>&rsquo;, values from
+<samp class="file">./texmf.cnf</samp> override those from <samp class="file">$TEXMF/texmf.cnf</samp>.
</p>
-<span id="index-KPATHSEA_005fWARNING"></span>
-<span id="index-warning_002c-about-missing-texmf_002ecnf"></span>
-<span id="index-texmf_002ecnf-missing_002c-warning-about"></span>
-<p>If Kpathsea cannot find any <samp>texmf.cnf</samp> file, it reports a
+<a class="index-entry-id" id="index-KPATHSEA_005fWARNING"></a>
+<a class="index-entry-id" id="index-warning_002c-about-missing-texmf_002ecnf"></a>
+<a class="index-entry-id" id="index-texmf_002ecnf-missing_002c-warning-about"></a>
+<p>If Kpathsea cannot find any <samp class="file">texmf.cnf</samp> file, it reports a
warning including all the directories it checked. If you don&rsquo;t want
to see this warning, set the environment variable
-<code>KPATHSEA_WARNING</code> to the single character &lsquo;<samp>0</samp>&rsquo; (zero, not
+<code class="env">KPATHSEA_WARNING</code> to the single character &lsquo;<samp class="samp">0</samp>&rsquo; (zero, not
oh).
</p>
<p>While (or instead of) reading this description, you may find it helpful
-to look at the distributed <samp>texmf.cnf</samp>, which uses or at least
-mentions most features. The format of <samp>texmf.cnf</samp> files follows:
+to look at the distributed <samp class="file">texmf.cnf</samp>, which uses or at least
+mentions most features. The format of <samp class="file">texmf.cnf</samp> files follows:
</p>
-<ul>
-<li> <span id="index-comments_002c-in-texmf_002ecnf"></span>
-Comments start with &lsquo;<samp>%</samp>&rsquo; or &lsquo;<samp>#</samp>&rsquo;, either at the beginning of a
+<ul class="itemize mark-bullet">
+<li><a class="index-entry-id" id="index-comments_002c-in-texmf_002ecnf"></a>
+Comments start with &lsquo;<samp class="samp">%</samp>&rsquo; or &lsquo;<samp class="samp">#</samp>&rsquo;, either at the beginning of a
line or preceded by whitespace, and continue to the end of the line.
That is, similar to most shells, a comment character in the &ldquo;middle&rdquo;
of a value does not start a comment. Examples:
<div class="example">
-<pre class="example">% this is a comment
+<pre class="example-preformatted">% this is a comment
var = a%b % but the value of var will be &quot;a%b&quot;
</pre></div>
-</li><li> <span id="index-blank-lines_002c-in-texmf_002ecnf"></span>
+</li><li><a class="index-entry-id" id="index-blank-lines_002c-in-texmf_002ecnf"></a>
Blank lines are ignored.
-</li><li> <span id="index-backslash_002dnewline"></span>
-<span id="index-continuation-character"></span>
-<span id="index-whitespace_002c-not-ignored-on-continuation-lines"></span>
-<span id="index-_005c_002c-line-continuation-in-texmf_002ecnf"></span>
-A &lsquo;<samp>\</samp>&rsquo; at the end of a line acts as a continuation character, i.e.,
+</li><li><a class="index-entry-id" id="index-backslash_002dnewline"></a>
+<a class="index-entry-id" id="index-continuation-character"></a>
+<a class="index-entry-id" id="index-whitespace_002c-not-ignored-on-continuation-lines"></a>
+<a class="index-entry-id" id="index-_005c_002c-line-continuation-in-texmf_002ecnf"></a>
+A &lsquo;<samp class="samp">\</samp>&rsquo; at the end of a line acts as a continuation character, i.e.,
the next line is appended. Whitespace at the beginning of continuation
lines is not ignored.
-</li><li> Each remaining line will look like:
+</li><li>Each remaining line will look like:
<div class="example">
-<pre class="example"><var>variable</var> <span class="roman">[</span>. <var>progname</var><span class="roman">]</span> <span class="roman">[</span>=<span class="roman">]</span> <var>value</var>
+<pre class="example-preformatted"><var class="var">variable</var> <span class="r">[</span>. <var class="var">progname</var><span class="r">]</span> <span class="r">[</span>=<span class="r">]</span> <var class="var">value</var>
</pre></div>
-<p>where the &lsquo;<samp>=</samp>&rsquo; and surrounding whitespace is optional.
+<p>where the &lsquo;<samp class="samp">=</samp>&rsquo; and surrounding whitespace is optional.
</p>
-</li><li> <span id="index-identifiers_002c-characters-valid-in"></span>
-The <var>variable</var> name may contain any character other than whitespace,
-&lsquo;<samp>=</samp>&rsquo;, or &lsquo;<samp>.</samp>&rsquo;, but sticking to &lsquo;<samp>A-Za-z_</samp>&rsquo; is safest.
+</li><li><a class="index-entry-id" id="index-identifiers_002c-characters-valid-in"></a>
+The <var class="var">variable</var> name may contain any character other than whitespace,
+&lsquo;<samp class="samp">=</samp>&rsquo;, or &lsquo;<samp class="samp">.</samp>&rsquo;, but sticking to &lsquo;<samp class="samp">A-Za-z_</samp>&rsquo; is safest.
-</li><li> <span id="index-_002eprogname-qualifier-in-texmf_002ecnf"></span>
-If &lsquo;<samp>.<var>progname</var></samp>&rsquo; is present (preceding spaces are
+</li><li><a class="index-entry-id" id="index-_002eprogname-qualifier-in-texmf_002ecnf"></a>
+If &lsquo;<samp class="samp">.<var class="var">progname</var></samp>&rsquo; is present (preceding spaces are
ignored), the definition only applies if the program that is running
-is named (i.e., the last component of <code>argv[0]</code> is)
-<var>progname</var> or <samp><var>progname</var>.{exe,bat,cmd,...}</samp>. Most
+is named (i.e., the last component of <code class="code">argv[0]</code> is)
+<var class="var">progname</var> or <samp class="file"><var class="var">progname</var>.{exe,bat,cmd,...}</samp>. Most
notably, this allows different flavors of TeX to have different
-search paths. The <var>progname</var> value is used literally, without
+search paths. The <var class="var">progname</var> value is used literally, without
variable or other expansions.
-</li><li> <span id="index-right_002dhand-side-of-variable-assignments"></span>
-Considered as strings, <var>value</var> may contain any character.
-However, in practice most <samp>texmf.cnf</samp> values are related to path
+</li><li><a class="index-entry-id" id="index-right_002dhand-side-of-variable-assignments"></a>
+Considered as strings, <var class="var">value</var> may contain any character.
+However, in practice most <samp class="file">texmf.cnf</samp> values are related to path
expansion, and since various special characters are used in expansion,
such as braces and commas, they cannot be used in directory names.
-<p>The &lsquo;<samp>$<var>var</var>.<var>prog</var></samp>&rsquo; feature is not available on the
+<p>The &lsquo;<samp class="samp">$<var class="var">var</var>.<var class="var">prog</var></samp>&rsquo; feature is not available on the
right-hand side; instead, you must use an additional variable (see
below for example).
</p>
-<span id="index-_003b-translated-to-_003a-in-texmf_002ecnf"></span>
-<p>A &lsquo;<samp>;</samp>&rsquo; in <var>value</var> is translated to &lsquo;<samp>:</samp>&rsquo; if running under
-Unix, in order to have a single <samp>texmf.cnf</samp> that can support both
+<a class="index-entry-id" id="index-_003b-translated-to-_003a-in-texmf_002ecnf"></a>
+<p>A &lsquo;<samp class="samp">;</samp>&rsquo; in <var class="var">value</var> is translated to &lsquo;<samp class="samp">:</samp>&rsquo; if running under
+Unix, in order to have a single <samp class="file">texmf.cnf</samp> that can support both
Unix and Windows systems. This translation happens with any value, not
-just search paths, but fortunately in practice &lsquo;<samp>;</samp>&rsquo; is not needed
+just search paths, but fortunately in practice &lsquo;<samp class="samp">;</samp>&rsquo; is not needed
in other values.
</p>
-</li><li> All definitions are read before anything is expanded, so you can
+</li><li>All definitions are read before anything is expanded, so you can
use variables before they are defined (like Make, unlike most other
programs).
</li></ul>
@@ -873,7 +868,7 @@ programs).
these points:
</p>
<div class="example">
-<pre class="example">% TeX input files -- i.e., anything to be found by \input or \openin ...
+<pre class="example-preformatted">% TeX input files -- i.e., anything to be found by \input or \openin ...
latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex//
latex2e_inputs = .:$TEXMF/tex/latex//:$TEXMF/tex//
TEXINPUTS = .:$TEXMF/tex//
@@ -882,79 +877,79 @@ TEXINPUTS.latex2e = $latex2e_inputs
TEXINPUTS.latex = $latex2e_inputs
</pre></div>
-<span id="index-_003d-omitted-in-texmf_002ecnf-and-misparsing"></span>
-<p>The combination of spaces being ignored before the <code>.</code> of a
-program name qualifer and the optional &lsquo;<samp>=</samp>&rsquo; for the assignment has
-an unexpected consequence: if the value begins with a literal &lsquo;<samp>.</samp>&rsquo;
-and the &lsquo;<samp>=</samp>&rsquo; is omitted, the intended value is interpreted as a
-program name. For example, a line <code>var .;/some/path</code> is taken as
-an empty value for <code>var</code> running under the program named
-&lsquo;<samp>;/some/path</samp>&rsquo;. To diagnose this, Kpathsea warns if the program
+<a class="index-entry-id" id="index-_003d-omitted-in-texmf_002ecnf-and-misparsing"></a>
+<p>The combination of spaces being ignored before the <code class="code">.</code> of a
+program name qualifer and the optional &lsquo;<samp class="samp">=</samp>&rsquo; for the assignment has
+an unexpected consequence: if the value begins with a literal &lsquo;<samp class="samp">.</samp>&rsquo;
+and the &lsquo;<samp class="samp">=</samp>&rsquo; is omitted, the intended value is interpreted as a
+program name. For example, a line <code class="code">var .;/some/path</code> is taken as
+an empty value for <code class="code">var</code> running under the program named
+&lsquo;<samp class="samp">;/some/path</samp>&rsquo;. To diagnose this, Kpathsea warns if the program
name contains a path separator or other special character. The
-simplest way to avoid the problem is to use the <code>=</code>.
+simplest way to avoid the problem is to use the <code class="code">=</code>.
</p>
<p>Exactly when a character will be considered special or act as itself
depends on the context in which it is used. The rules are inherent in
the multiple levels of interpretation of the configuration (parsing,
expansion, search, &hellip;) and so cannot be concisely stated,
unfortunately. There is no general escape mechanism; in particular,
-&lsquo;<samp>\</samp>&rsquo; is not an &ldquo;escape character&rdquo; in <samp>texmf.cnf</samp> files.
+&lsquo;<samp class="samp">\</samp>&rsquo; is not an &ldquo;escape character&rdquo; in <samp class="file">texmf.cnf</samp> files.
When it comes choosing directory names for installation, it is safest to
avoid them all.
</p>
-<span id="index-cnf_002ec"></span>
-<p>The implementation of all this is in <samp>kpathsea/cnf.c</samp>.
+<a class="index-entry-id" id="index-cnf_002ec"></a>
+<p>The implementation of all this is in <samp class="file">kpathsea/cnf.c</samp>.
</p>
<hr>
</div>
</div>
-<div class="section" id="Path-expansion">
-<div class="header">
+<div class="section-level-extent" id="Path-expansion">
+<div class="nav-panel">
<p>
Next: <a href="#Casefolding-search" accesskey="n" rel="next">Casefolding search</a>, Previous: <a href="#Path-sources" accesskey="p" rel="prev">Path sources</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Path-expansion-1"></span><h3 class="section">5.3 Path expansion</h3>
+<h3 class="section" id="Path-expansion-1">5.3 Path expansion</h3>
-<span id="index-path-expansion"></span>
-<span id="index-expansion_002c-search-path"></span>
+<a class="index-entry-id" id="index-path-expansion"></a>
+<a class="index-entry-id" id="index-expansion_002c-search-path"></a>
<p>Kpathsea recognizes certain special characters and constructions in
search paths, similar to that in shells. As a general example:
-&lsquo;<samp>~$USER/{foo,bar}//baz</samp>&rsquo; expands to all subdirectories under
-directories <samp>foo</samp> and <samp>bar</samp> in <tt>$USER</tt>&rsquo;s home directory that
-contain a directory or file <samp>baz</samp>.
+&lsquo;<samp class="samp">~$USER/{foo,bar}//baz</samp>&rsquo; expands to all subdirectories under
+directories <samp class="file">foo</samp> and <samp class="file">bar</samp> in <code class="t">$USER</code>&rsquo;s home directory that
+contain a directory or file <samp class="file">baz</samp>.
</p>
<p>These expansions are explained in the sections below.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Default-expansion" accesskey="1">Default expansion</a></li>
<li><a href="#Variable-expansion" accesskey="2">Variable expansion</a></li>
<li><a href="#Tilde-expansion" accesskey="3">Tilde expansion</a></li>
<li><a href="#Brace-expansion" accesskey="4">Brace expansion</a></li>
-<li><a href="#KPSE_005fDOT-expansion" accesskey="5"><code>KPSE_DOT</code> expansion</a></li>
+<li><a href="#KPSE_005fDOT-expansion" accesskey="5"><code class="code">KPSE_DOT</code> expansion</a></li>
<li><a href="#Subdirectory-expansion" accesskey="6">Subdirectory expansion</a></li>
</ul>
<hr>
-<div class="subsection" id="Default-expansion">
-<div class="header">
+<div class="subsection-level-extent" id="Default-expansion">
+<div class="nav-panel">
<p>
Next: <a href="#Variable-expansion" accesskey="n" rel="next">Variable expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Default-expansion-1"></span><h4 class="subsection">5.3.1 Default expansion</h4>
-
-<span id="index-_003a_003a-expansion"></span>
-<span id="index-doubled-colons"></span>
-<span id="index-leading-colons"></span>
-<span id="index-trailing-colons"></span>
-<span id="index-extra-colons"></span>
-<span id="index-default-expansion"></span>
-<span id="index-expansion_002c-default"></span>
-
-<p>If the highest-priority search path (see <a href="#Path-sources">Path sources</a>) contains an
-<em>extra colon</em> (i.e., leading, trailing, or doubled), Kpathsea
+<h4 class="subsection" id="Default-expansion-1">5.3.1 Default expansion</h4>
+
+<a class="index-entry-id" id="index-_003a_003a-expansion"></a>
+<a class="index-entry-id" id="index-doubled-colons"></a>
+<a class="index-entry-id" id="index-leading-colons"></a>
+<a class="index-entry-id" id="index-trailing-colons"></a>
+<a class="index-entry-id" id="index-extra-colons"></a>
+<a class="index-entry-id" id="index-default-expansion"></a>
+<a class="index-entry-id" id="index-expansion_002c-default"></a>
+
+<p>If the highest-priority search path (see <a class="pxref" href="#Path-sources">Path sources</a>) contains an
+<em class="dfn">extra colon</em> (i.e., leading, trailing, or doubled), Kpathsea
inserts at that point the next-highest-priority search path that is
defined. If that inserted path has an extra colon, the same happens
with the next-highest. (An extra colon in the compile-time default
@@ -963,27 +958,27 @@ value has unpredictable results, so installers beware.)
<p>For example, given an environment variable setting
</p>
<div class="example">
-<pre class="example">setenv TEXINPUTS /home/karl:
+<pre class="example-preformatted">setenv TEXINPUTS /home/karl:
</pre></div>
-<p>and a <code>TEXINPUTS</code> value from <samp>texmf.cnf</samp> of
+<p>and a <code class="code">TEXINPUTS</code> value from <samp class="file">texmf.cnf</samp> of
</p>
<div class="example">
-<pre class="example">.:$TEXMF//tex
+<pre class="example-preformatted">.:$TEXMF//tex
</pre></div>
<p>then the final value used for searching will be:
</p>
<div class="example">
-<pre class="example">/home/karl:.:$TEXMF//tex
+<pre class="example-preformatted">/home/karl:.:$TEXMF//tex
</pre></div>
<p>Put another way, default expansion works on &ldquo;formats&rdquo; (search
paths), and not directly on environment variables. Example, showing
-the trailing &lsquo;<samp>:</samp>&rsquo; ignored in the first case and expanded in the second:
+the trailing &lsquo;<samp class="samp">:</samp>&rsquo; ignored in the first case and expanded in the second:
</p>
<div class="example">
-<pre class="example">$ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS'
+<pre class="example-preformatted">$ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS'
/tmp
$ env TTFONTS=/tmp: kpsewhich --show-path=.ttf
/tmp:.:/home/olaf/texmf/fonts/truetype//:...
@@ -991,267 +986,267 @@ $ env TTFONTS=/tmp: kpsewhich --show-path=.ttf
<p>Since Kpathsea looks for multiple configuration files, it would be
natural to expect that (for example) an extra colon in
-<samp>./texmf.cnf</samp> would expand to the path in <samp>$TEXMF/texmf.cnf</samp>.
+<samp class="file">./texmf.cnf</samp> would expand to the path in <samp class="file">$TEXMF/texmf.cnf</samp>.
Or, with Dvips&rsquo; configuration files, that an extra colon in
-<samp>config.$PRINTER</samp> would expand to the path in <samp>config.ps</samp>.
+<samp class="file">config.$PRINTER</samp> would expand to the path in <samp class="file">config.ps</samp>.
This doesn&rsquo;t happen. It&rsquo;s not clear this would be desirable in all
cases, and trying to devise a way to specify the path to which the extra
colon should expand seemed truly baroque.
-<span id="index-Bach_002c-Johann-Sebastian"></span>
+<a class="index-entry-id" id="index-Bach_002c-Johann-Sebastian"></a>
</p>
<p>Technicality: Since it would be useless to insert the default value in
-more than one place, Kpathsea changes only one extra &lsquo;<samp>:</samp>&rsquo; and leaves
+more than one place, Kpathsea changes only one extra &lsquo;<samp class="samp">:</samp>&rsquo; and leaves
any others in place (they will eventually be ignored). Kpathsea checks
-first for a leading &lsquo;<samp>:</samp>&rsquo;, then a trailing &lsquo;<samp>:</samp>&rsquo;, then a doubled
-&lsquo;<samp>:</samp>&rsquo;.
+first for a leading &lsquo;<samp class="samp">:</samp>&rsquo;, then a trailing &lsquo;<samp class="samp">:</samp>&rsquo;, then a doubled
+&lsquo;<samp class="samp">:</samp>&rsquo;.
</p>
-<span id="index-kdefault_002ec"></span>
-<p>You can trace this by debugging &ldquo;paths&rdquo; (see <a href="#Debugging">Debugging</a>).
+<a class="index-entry-id" id="index-kdefault_002ec"></a>
+<p>You can trace this by debugging &ldquo;paths&rdquo; (see <a class="pxref" href="#Debugging">Debugging</a>).
Default expansion is implemented in the source file
-<samp>kpathsea/kdefault.c</samp>.
+<samp class="file">kpathsea/kdefault.c</samp>.
</p>
<hr>
</div>
-<div class="subsection" id="Variable-expansion">
-<div class="header">
+<div class="subsection-level-extent" id="Variable-expansion">
+<div class="nav-panel">
<p>
Next: <a href="#Tilde-expansion" accesskey="n" rel="next">Tilde expansion</a>, Previous: <a href="#Default-expansion" accesskey="p" rel="prev">Default expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Variable-expansion-1"></span><h4 class="subsection">5.3.2 Variable expansion</h4>
+<h4 class="subsection" id="Variable-expansion-1">5.3.2 Variable expansion</h4>
-<span id="index-_0024-expansion"></span>
-<span id="index-environment-variables-in-paths"></span>
-<span id="index-variable-expansion"></span>
-<span id="index-expansion_002c-variable"></span>
-<span id="index-texmf_002ecnf_002c-and-variable-expansion"></span>
+<a class="index-entry-id" id="index-_0024-expansion"></a>
+<a class="index-entry-id" id="index-environment-variables-in-paths"></a>
+<a class="index-entry-id" id="index-variable-expansion"></a>
+<a class="index-entry-id" id="index-expansion_002c-variable"></a>
+<a class="index-entry-id" id="index-texmf_002ecnf_002c-and-variable-expansion"></a>
-<p>&lsquo;<samp>$foo</samp>&rsquo; or &lsquo;<samp>${foo}</samp>&rsquo; in a path element is replaced by (1) the
-value of an environment variable &lsquo;<samp>foo</samp>&rsquo; (if defined); (2) the value
-of &lsquo;<samp>foo</samp>&rsquo; from <samp>texmf.cnf</samp> (if defined); (3) the empty string.
+<p>&lsquo;<samp class="samp">$foo</samp>&rsquo; or &lsquo;<samp class="samp">${foo}</samp>&rsquo; in a path element is replaced by (1) the
+value of an environment variable &lsquo;<samp class="samp">foo</samp>&rsquo; (if defined); (2) the value
+of &lsquo;<samp class="samp">foo</samp>&rsquo; from <samp class="file">texmf.cnf</samp> (if defined); (3) the empty string.
</p>
-<p>If the character after the &lsquo;<samp>$</samp>&rsquo; is alphanumeric or &lsquo;<samp>_</samp>&rsquo;, the
+<p>If the character after the &lsquo;<samp class="samp">$</samp>&rsquo; is alphanumeric or &lsquo;<samp class="samp">_</samp>&rsquo;, the
variable name consists of all consecutive such characters. If the
-character after the &lsquo;<samp>$</samp>&rsquo; is a &lsquo;<samp>{</samp>&rsquo;, the variable name consists
-of everything up to the next &lsquo;<samp>}</samp>&rsquo; (braces may not be nested around
+character after the &lsquo;<samp class="samp">$</samp>&rsquo; is a &lsquo;<samp class="samp">{</samp>&rsquo;, the variable name consists
+of everything up to the next &lsquo;<samp class="samp">}</samp>&rsquo; (braces may not be nested around
variable names). Otherwise, Kpathsea gives a warning and ignores the
-&lsquo;<samp>$</samp>&rsquo; and its following character.
+&lsquo;<samp class="samp">$</samp>&rsquo; and its following character.
</p>
-<span id="index-quoting-variable-values"></span>
-<span id="index-shell-variables"></span>
-<p>You must quote the <tt>$</tt>&rsquo;s and braces as necessary for your shell.
-<em>Shell</em> variable values cannot be seen by Kpathsea, i.e., ones
-defined by <code>set</code> in C shells and without <code>export</code> in Bourne
+<a class="index-entry-id" id="index-quoting-variable-values"></a>
+<a class="index-entry-id" id="index-shell-variables"></a>
+<p>You must quote the <code class="t">$</code>&rsquo;s and braces as necessary for your shell.
+<em class="emph">Shell</em> variable values cannot be seen by Kpathsea, i.e., ones
+defined by <code class="code">set</code> in C shells and without <code class="code">export</code> in Bourne
shells.
</p>
<p>For example, given
</p><div class="example">
-<pre class="example">setenv tex /home/texmf
+<pre class="example-preformatted">setenv tex /home/texmf
setenv TEXINPUTS .:$tex:${tex}prev
</pre></div>
-<p>the final <code>TEXINPUTS</code> path is the three directories:
+<p>the final <code class="code">TEXINPUTS</code> path is the three directories:
</p><div class="example">
-<pre class="example">.:/home/texmf:/home/texmfprev
+<pre class="example-preformatted">.:/home/texmf:/home/texmfprev
</pre></div>
-<p>The &lsquo;<samp>.<var>progname</var></samp>&rsquo; suffix on variables and
-&lsquo;<samp>_<var>progname</var></samp>&rsquo; on environment variable names are not implemented
+<p>The &lsquo;<samp class="samp">.<var class="var">progname</var></samp>&rsquo; suffix on variables and
+&lsquo;<samp class="samp">_<var class="var">progname</var></samp>&rsquo; on environment variable names are not implemented
for general variable expansions. These are only recognized when search
-paths are initialized (see <a href="#Path-sources">Path sources</a>).
+paths are initialized (see <a class="pxref" href="#Path-sources">Path sources</a>).
</p>
-<span id="index-variable_002ec"></span>
+<a class="index-entry-id" id="index-variable_002ec"></a>
<p>Variable expansion is implemented in the source file
-<samp>kpathsea/variable.c</samp>.
+<samp class="file">kpathsea/variable.c</samp>.
</p>
<hr>
</div>
-<div class="subsection" id="Tilde-expansion">
-<div class="header">
+<div class="subsection-level-extent" id="Tilde-expansion">
+<div class="nav-panel">
<p>
Next: <a href="#Brace-expansion" accesskey="n" rel="next">Brace expansion</a>, Previous: <a href="#Variable-expansion" accesskey="p" rel="prev">Variable expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Tilde-expansion-1"></span><h4 class="subsection">5.3.3 Tilde expansion</h4>
+<h4 class="subsection" id="Tilde-expansion-1">5.3.3 Tilde expansion</h4>
-<span id="index-_007e-expansion"></span>
-<span id="index-home-directories-in-paths"></span>
-<span id="index-tilde-expansion"></span>
-<span id="index-expansion_002c-tilde"></span>
+<a class="index-entry-id" id="index-_007e-expansion"></a>
+<a class="index-entry-id" id="index-home-directories-in-paths"></a>
+<a class="index-entry-id" id="index-tilde-expansion"></a>
+<a class="index-entry-id" id="index-expansion_002c-tilde"></a>
-<span id="index-HOME_002c-as-_007e-expansion"></span>
-<span id="index-USERPROFILE_002c-as-_007e-expansion"></span>
-<p>A leading &lsquo;<samp>~</samp>&rsquo; in a path element is replaced by the value of the
-environment variable <code>HOME</code>, or <samp>.</samp> if <code>HOME</code> is not
-set. On Windows, the environment variable <code>USERPROFILE</code> is
-checked instead of <code>HOME</code>.
+<a class="index-entry-id" id="index-HOME_002c-as-_007e-expansion"></a>
+<a class="index-entry-id" id="index-USERPROFILE_002c-as-_007e-expansion"></a>
+<p>A leading &lsquo;<samp class="samp">~</samp>&rsquo; in a path element is replaced by the value of the
+environment variable <code class="code">HOME</code>, or <samp class="file">.</samp> if <code class="code">HOME</code> is not
+set. On Windows, the environment variable <code class="code">USERPROFILE</code> is
+checked instead of <code class="code">HOME</code>.
</p>
-<p>A leading &lsquo;<samp>~<var>user</var></samp>&rsquo; in a path element is replaced by
-<var>user</var>&rsquo;s home directory from the system <samp>passwd</samp> database.
+<p>A leading &lsquo;<samp class="samp">~<var class="var">user</var></samp>&rsquo; in a path element is replaced by
+<var class="var">user</var>&rsquo;s home directory from the system <samp class="file">passwd</samp> database.
</p>
<p>For example,
</p><div class="example">
-<pre class="example">setenv TEXINPUTS ~/mymacros:
+<pre class="example-preformatted">setenv TEXINPUTS ~/mymacros:
</pre></div>
-<p>will prepend a directory <samp>mymacros</samp> in your home
+<p>will prepend a directory <samp class="file">mymacros</samp> in your home
directory to the default path.
</p>
-<span id="index-root-user"></span>
-<span id="index-trailing-_002f-in-home-directory"></span>
-<span id="index-_002f_002c-trailing-in-home-directory"></span>
-<p>As a special case, if a home directory ends in &lsquo;<samp>/</samp>&rsquo;, the trailing
-slash is dropped, to avoid inadvertently creating a &lsquo;<samp>//</samp>&rsquo; construct
-in the path. For example, if the home directory of the user &lsquo;<samp>root</samp>&rsquo;
-is &lsquo;<samp>/</samp>&rsquo;, the path element &lsquo;<samp>~root/mymacros</samp>&rsquo; expands to just
-&lsquo;<samp>/mymacros</samp>&rsquo;, not &lsquo;<samp>//mymacros</samp>&rsquo;.
+<a class="index-entry-id" id="index-root-user"></a>
+<a class="index-entry-id" id="index-trailing-_002f-in-home-directory"></a>
+<a class="index-entry-id" id="index-_002f_002c-trailing-in-home-directory"></a>
+<p>As a special case, if a home directory ends in &lsquo;<samp class="samp">/</samp>&rsquo;, the trailing
+slash is dropped, to avoid inadvertently creating a &lsquo;<samp class="samp">//</samp>&rsquo; construct
+in the path. For example, if the home directory of the user &lsquo;<samp class="samp">root</samp>&rsquo;
+is &lsquo;<samp class="samp">/</samp>&rsquo;, the path element &lsquo;<samp class="samp">~root/mymacros</samp>&rsquo; expands to just
+&lsquo;<samp class="samp">/mymacros</samp>&rsquo;, not &lsquo;<samp class="samp">//mymacros</samp>&rsquo;.
</p>
-<span id="index-tilde_002ec"></span>
-<p>Tilde expansion is implemented in the source file <samp>kpathsea/tilde.c</samp>.
+<a class="index-entry-id" id="index-tilde_002ec"></a>
+<p>Tilde expansion is implemented in the source file <samp class="file">kpathsea/tilde.c</samp>.
</p>
<hr>
</div>
-<div class="subsection" id="Brace-expansion">
-<div class="header">
+<div class="subsection-level-extent" id="Brace-expansion">
+<div class="nav-panel">
<p>
-Next: <a href="#KPSE_005fDOT-expansion" accesskey="n" rel="next"><code>KPSE_DOT</code> expansion</a>, Previous: <a href="#Tilde-expansion" accesskey="p" rel="prev">Tilde expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#KPSE_005fDOT-expansion" accesskey="n" rel="next"><code class="code">KPSE_DOT</code> expansion</a>, Previous: <a href="#Tilde-expansion" accesskey="p" rel="prev">Tilde expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Brace-expansion-1"></span><h4 class="subsection">5.3.4 Brace expansion</h4>
+<h4 class="subsection" id="Brace-expansion-1">5.3.4 Brace expansion</h4>
-<span id="index-_007b-expansion"></span>
-<span id="index-brace-expansion"></span>
+<a class="index-entry-id" id="index-_007b-expansion"></a>
+<a class="index-entry-id" id="index-brace-expansion"></a>
-<p>&lsquo;<samp>x{<var>a</var>,<var>b</var>}y</samp>&rsquo; expands to &lsquo;<samp>x<var>a</var>y:x<var>b</var>y</samp>&rsquo;.
+<p>&lsquo;<samp class="samp">x{<var class="var">a</var>,<var class="var">b</var>}y</samp>&rsquo; expands to &lsquo;<samp class="samp">x<var class="var">a</var>y:x<var class="var">b</var>y</samp>&rsquo;.
For example:
</p>
<div class="example">
-<pre class="example">foo/{1,2}/baz
+<pre class="example-preformatted">foo/{1,2}/baz
</pre></div>
-<p>expands to &lsquo;<samp>foo/1/baz:foo/2/baz</samp>&rsquo;. &lsquo;<samp>:</samp>&rsquo; is the path
-separator on the current system; e.g., on a Windows system, it&rsquo;s &lsquo;<samp>;</samp>&rsquo;.
+<p>expands to &lsquo;<samp class="samp">foo/1/baz:foo/2/baz</samp>&rsquo;. &lsquo;<samp class="samp">:</samp>&rsquo; is the path
+separator on the current system; e.g., on a Windows system, it&rsquo;s &lsquo;<samp class="samp">;</samp>&rsquo;.
</p>
-<p>Braces can be nested; for example, &lsquo;<samp>x{A,B{1,2}}y</samp>&rsquo; expands to
-&lsquo;<samp>xAy:xB1y:xB2y</samp>&rsquo;.
+<p>Braces can be nested; for example, &lsquo;<samp class="samp">x{A,B{1,2}}y</samp>&rsquo; expands to
+&lsquo;<samp class="samp">xAy:xB1y:xB2y</samp>&rsquo;.
</p>
<p>Multiple non-nested braces are expanded from right to left; for example,
-&lsquo;<samp>x{A,B}{1,2}y</samp>&rsquo; expands to &lsquo;<samp>x{A,B}1y:x{A,B}2y</samp>&rsquo;, which
-expands to &lsquo;<samp>xA1y:xB1y:xA2y:xB2y</samp>&rsquo;.
+&lsquo;<samp class="samp">x{A,B}{1,2}y</samp>&rsquo; expands to &lsquo;<samp class="samp">x{A,B}1y:x{A,B}2y</samp>&rsquo;, which
+expands to &lsquo;<samp class="samp">xA1y:xB1y:xA2y:xB2y</samp>&rsquo;.
</p>
-<span id="index-multiple-TeX-hierarchies"></span>
+<a class="index-entry-id" id="index-multiple-TeX-hierarchies"></a>
<p>This feature can be used to implement multiple TeX hierarchies, by
-assigning a brace list to <code>$TEXMF</code>, as mentioned in
-<samp>texmf.in</samp>.
+assigning a brace list to <code class="code">$TEXMF</code>, as mentioned in
+<samp class="file">texmf.in</samp>.
</p>
<p>You can also use the path separator instead of the comma. The last
-example could have been written &lsquo;<samp>x{A:B}{1:2}y</samp>&rsquo; (on Unix).
+example could have been written &lsquo;<samp class="samp">x{A:B}{1:2}y</samp>&rsquo; (on Unix).
</p>
-<span id="index-expand_002ec"></span>
+<a class="index-entry-id" id="index-expand_002ec"></a>
<p>Brace expansion is implemented in the source file
-<samp>kpathsea/expand.c</samp>.
+<samp class="file">kpathsea/expand.c</samp>.
</p>
<hr>
</div>
-<div class="subsection" id="KPSE_005fDOT-expansion">
-<div class="header">
+<div class="subsection-level-extent" id="KPSE_005fDOT-expansion">
+<div class="nav-panel">
<p>
Next: <a href="#Subdirectory-expansion" accesskey="n" rel="next">Subdirectory expansion</a>, Previous: <a href="#Brace-expansion" accesskey="p" rel="prev">Brace expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="KPSE_005fDOT-expansion-1"></span><h4 class="subsection">5.3.5 <code>KPSE_DOT</code> expansion</h4>
+<h4 class="subsection" id="KPSE_005fDOT-expansion-1">5.3.5 <code class="code">KPSE_DOT</code> expansion</h4>
-<span id="index-KPSE_005fDOT-expansion"></span>
+<a class="index-entry-id" id="index-KPSE_005fDOT-expansion"></a>
-<p>When <code>KPSE_DOT</code> is defined in the environment, it names a directory
+<p>When <code class="code">KPSE_DOT</code> is defined in the environment, it names a directory
that should be considered the current directory for the purpose of
looking up files in the search paths. This feature is needed by the
-&lsquo;<samp>mktex&hellip;</samp>&rsquo; scripts <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>, because these
+&lsquo;<samp class="samp">mktex&hellip;</samp>&rsquo; scripts <a class="ref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>, because these
change the working directory. You should not ever define it yourself.
</p>
<hr>
</div>
-<div class="subsection" id="Subdirectory-expansion">
-<div class="header">
+<div class="subsection-level-extent" id="Subdirectory-expansion">
+<div class="nav-panel">
<p>
-Previous: <a href="#KPSE_005fDOT-expansion" accesskey="p" rel="prev"><code>KPSE_DOT</code> expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#KPSE_005fDOT-expansion" accesskey="p" rel="prev"><code class="code">KPSE_DOT</code> expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Subdirectory-expansion-1"></span><h4 class="subsection">5.3.6 Subdirectory expansion</h4>
+<h4 class="subsection" id="Subdirectory-expansion-1">5.3.6 Subdirectory expansion</h4>
-<span id="index-_002f_002f"></span>
-<span id="index-subdirectory-searching"></span>
-<span id="index-expansion_002c-subdirectory"></span>
+<a class="index-entry-id" id="index-_002f_002f"></a>
+<a class="index-entry-id" id="index-subdirectory-searching"></a>
+<a class="index-entry-id" id="index-expansion_002c-subdirectory"></a>
-<span id="index-alphabetical-order_002c-not"></span>
+<a class="index-entry-id" id="index-alphabetical-order_002c-not"></a>
<p>Two or more consecutive slashes in a path element following a directory
-<var>d</var> is replaced by all subdirectories of <var>d</var>: first those
-subdirectories directly under <var>d</var>, then the subsubdirectories under
+<var class="var">d</var> is replaced by all subdirectories of <var class="var">d</var>: first those
+subdirectories directly under <var class="var">d</var>, then the subsubdirectories under
those, and so on. At each level, the order in which the directories are
searched is unspecified. (It&rsquo;s &ldquo;directory order&rdquo;, and definitely not
alphabetical.)
</p>
-<p>If you specify any filename components after the &lsquo;<samp>//</samp>&rsquo;, only
+<p>If you specify any filename components after the &lsquo;<samp class="samp">//</samp>&rsquo;, only
subdirectories which match those components are included. For example,
-&lsquo;<samp>/a//b</samp>&rsquo; would expand into directories <samp>/a/1/b</samp>, <samp>/a/2/b</samp>,
-<samp>/a/1/1/b</samp>, and so on, but not <samp>/a/b/c</samp> or <samp>/a/1</samp>.
+&lsquo;<samp class="samp">/a//b</samp>&rsquo; would expand into directories <samp class="file">/a/1/b</samp>, <samp class="file">/a/2/b</samp>,
+<samp class="file">/a/1/1/b</samp>, and so on, but not <samp class="file">/a/b/c</samp> or <samp class="file">/a/1</samp>.
</p>
-<p>You can include multiple &lsquo;<samp>//</samp>&rsquo; constructs in the path.
+<p>You can include multiple &lsquo;<samp class="samp">//</samp>&rsquo; constructs in the path.
</p>
-<p>&lsquo;<samp>//</samp>&rsquo; at the beginning of a path is ignored; you didn&rsquo;t really want
+<p>&lsquo;<samp class="samp">//</samp>&rsquo; at the beginning of a path is ignored; you didn&rsquo;t really want
to search every directory on the system, did you?
</p>
-<span id="index-trick-for-detecting-leaf-directories"></span>
-<span id="index-leaf-directory-trick"></span>
-<span id="index-Farwell_002c-Matthew"></span>
-<span id="index-MacKenzie_002c-David-1"></span>
+<a class="index-entry-id" id="index-trick-for-detecting-leaf-directories"></a>
+<a class="index-entry-id" id="index-leaf-directory-trick"></a>
+<a class="index-entry-id" id="index-Farwell_002c-Matthew"></a>
+<a class="index-entry-id" id="index-MacKenzie_002c-David-1"></a>
<p>I should mention one related implementation trick, which I took from GNU
find. Matthew Farwell suggested it, and David MacKenzie implemented it.
</p>
-<span id="index-st_005fnlink"></span>
+<a class="index-entry-id" id="index-st_005fnlink"></a>
<p>The trick is that in every real Unix implementation (as opposed to the
POSIX specification), a directory which contains no subdirectories will
-have exactly two links (namely, one for <samp>.</samp> and one for <samp>..</samp>).
-That is to say, the <code>st_nlink</code> field in the &lsquo;<samp>stat</samp>&rsquo; structure
+have exactly two links (namely, one for <samp class="file">.</samp> and one for <samp class="file">..</samp>).
+That is to say, the <code class="code">st_nlink</code> field in the &lsquo;<samp class="samp">stat</samp>&rsquo; structure
will be two. Thus, we don&rsquo;t have to stat everything in the bottom-level
-(leaf) directories&mdash;we can just check <code>st_nlink</code>, notice it&rsquo;s two,
+(leaf) directories&mdash;we can just check <code class="code">st_nlink</code>, notice it&rsquo;s two,
and do no more work.
</p>
<p>But if you have a directory that contains a single subdirectory and 500
-regular files, <code>st_nlink</code> will be 3, and Kpathsea has to stat every
+regular files, <code class="code">st_nlink</code> will be 3, and Kpathsea has to stat every
one of those 501 entries. Therein lies slowness.
</p>
-<span id="index-ST_005fNLINK_005fTRICK"></span>
-<p>You can disable the trick by undefining <code>ST_NLINK_TRICK</code> in
-<samp>kpathsea/config.h</samp>. (It is undefined by default except under Unix.)
+<a class="index-entry-id" id="index-ST_005fNLINK_005fTRICK"></a>
+<p>You can disable the trick by undefining <code class="code">ST_NLINK_TRICK</code> in
+<samp class="file">kpathsea/config.h</samp>. (It is undefined by default except under Unix.)
</p>
-<span id="index-elt_002ddirs_002ec"></span>
+<a class="index-entry-id" id="index-elt_002ddirs_002ec"></a>
<p>Unfortunately, in some cases files in leaf directories are
-<code>stat</code>&rsquo;d: if the path specification is, say,
-&lsquo;<samp>$TEXMF/fonts//pk//</samp>&rsquo;, then files in a subdirectory
-&lsquo;<samp>&hellip;/pk</samp>&rsquo;, even if it is a leaf, are checked. The reason
+<code class="code">stat</code>&rsquo;d: if the path specification is, say,
+&lsquo;<samp class="samp">$TEXMF/fonts//pk//</samp>&rsquo;, then files in a subdirectory
+&lsquo;<samp class="samp">&hellip;/pk</samp>&rsquo;, even if it is a leaf, are checked. The reason
cannot be explained without reference to the implementation, so read
-<samp>kpathsea/elt-dirs.c</samp> (search for &lsquo;<samp>may descend</samp>&rsquo;) if you are
+<samp class="file">kpathsea/elt-dirs.c</samp> (search for &lsquo;<samp class="samp">may descend</samp>&rsquo;) if you are
curious. And if you find a way to solve the problem, please let me
know.
</p>
-<span id="index-elt_002ddirs_002ec-1"></span>
+<a class="index-entry-id" id="index-elt_002ddirs_002ec-1"></a>
<p>Subdirectory expansion is implemented in the source file
-<samp>kpathsea/elt-dirs.c</samp>.
+<samp class="file">kpathsea/elt-dirs.c</samp>.
</p>
<hr>
</div>
</div>
-<div class="section" id="Casefolding-search">
-<div class="header">
+<div class="section-level-extent" id="Casefolding-search">
+<div class="nav-panel">
<p>
-Next: <a href="#Filename-database" accesskey="n" rel="next">Filename database (<code>ls-R</code>)</a>, Previous: <a href="#Path-expansion" accesskey="p" rel="prev">Path expansion</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Filename-database" accesskey="n" rel="next">Filename database (<code class="code">ls-R</code>)</a>, Previous: <a href="#Path-expansion" accesskey="p" rel="prev">Path expansion</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Casefolding-search-1"></span><h3 class="section">5.4 Casefolding search</h3>
+<h3 class="section" id="Casefolding-search-1">5.4 Casefolding search</h3>
-<span id="index-casefolding-search"></span>
-<span id="index-search_002c-case_002dinsensitive"></span>
+<a class="index-entry-id" id="index-casefolding-search"></a>
+<a class="index-entry-id" id="index-search_002c-case_002dinsensitive"></a>
<p>In Kpathsea version 6.3.0 (released with TeX Live 2018), a new
fallback search was implemented on Unix-like systems, including Macs:
@@ -1259,39 +1254,39 @@ for each path element in turn, if no match is found by the normal
search, and the path element allows for checking the filesystem, a
second check is made for a case-insensitive match.
</p>
-<span id="index-texmf_005fcasefold_005fsearch"></span>
+<a class="index-entry-id" id="index-texmf_005fcasefold_005fsearch"></a>
<p>This is enabled at compile-time on Unix systems, and enabled at
runtime by setting the configuration variable
-<code>texmf_casefold_search</code>, to a true value, e.g., &lsquo;<samp>1</samp>&rsquo;; this is
+<code class="code">texmf_casefold_search</code>, to a true value, e.g., &lsquo;<samp class="samp">1</samp>&rsquo;; this is
done by default in TeX Live.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Casefolding-rationale" accesskey="1">Casefolding rationale</a></li>
<li><a href="#Casefolding-examples" accesskey="2">Casefolding examples</a></li>
</ul>
<hr>
-<div class="subsection" id="Casefolding-rationale">
-<div class="header">
+<div class="subsection-level-extent" id="Casefolding-rationale">
+<div class="nav-panel">
<p>
Next: <a href="#Casefolding-examples" accesskey="n" rel="next">Casefolding examples</a>, Up: <a href="#Casefolding-search" accesskey="u" rel="up">Casefolding search</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Casefolding-rationale-1"></span><h4 class="subsection">5.4.1 Casefolding rationale</h4>
+<h4 class="subsection" id="Casefolding-rationale-1">5.4.1 Casefolding rationale</h4>
-<span id="index-casefolding-fallback-rationale"></span>
-<span id="index-rationale-for-casefolding-fallback"></span>
-<span id="index-system_002ddependent-casefolding-behavior"></span>
+<a class="index-entry-id" id="index-casefolding-fallback-rationale"></a>
+<a class="index-entry-id" id="index-rationale-for-casefolding-fallback"></a>
+<a class="index-entry-id" id="index-system_002ddependent-casefolding-behavior"></a>
-<span id="index-filesystem_002c-case_002d_0028in_0029sensitive"></span>
-<span id="index-Apple-filesystem_002c-case_002dinsensitive"></span>
-<span id="index-Mac-filesystem_002c-case_002dinsensitive"></span>
+<a class="index-entry-id" id="index-filesystem_002c-case_002d_0028in_0029sensitive"></a>
+<a class="index-entry-id" id="index-Apple-filesystem_002c-case_002dinsensitive"></a>
+<a class="index-entry-id" id="index-Mac-filesystem_002c-case_002dinsensitive"></a>
<p>The purpose of the fallback casefolding search is to ease moving
complex documents between case-insensitive (file)systems and
case-sensitive ones. In particular, Apple decided to make the default
filesystem on Macs be case-insensitive some years ago, and this has
exacerbated a problem of people creating documents that use, say, an
-image under the name <samp>foo.jpg</samp>, while the actual file is named
-<samp>foo.JPG</samp> or <samp>Foo.jpg</samp>. It works on the Mac but if the
+image under the name <samp class="file">foo.jpg</samp>, while the actual file is named
+<samp class="file">foo.JPG</samp> or <samp class="file">Foo.jpg</samp>. It works on the Mac but if the
document is transferred and run on a standard case-sensitive Unix
(file)system, the file can&rsquo;t be found, due only to differences in
case.
@@ -1301,7 +1296,7 @@ whatever reason, it has become much more common since Apple also went
to a case-insensitive filesystem. Hence the relatively late change
to the Kpathsea behavior.
</p>
-<span id="index-Windows-and-casefolding"></span>
+<a class="index-entry-id" id="index-Windows-and-casefolding"></a>
<p>The fallback case-insensitive search is omitted at compile-time on
Windows, where (for practical purposes) all file names are
case-insensitive at the kernel level, and so the normal search will
@@ -1312,15 +1307,15 @@ always been true.
<hr>
</div>
-<div class="subsection" id="Casefolding-examples">
-<div class="header">
+<div class="subsection-level-extent" id="Casefolding-examples">
+<div class="nav-panel">
<p>
Previous: <a href="#Casefolding-rationale" accesskey="p" rel="prev">Casefolding rationale</a>, Up: <a href="#Casefolding-search" accesskey="u" rel="up">Casefolding search</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Casefolding-examples-1"></span><h4 class="subsection">5.4.2 Casefolding examples</h4>
+<h4 class="subsection" id="Casefolding-examples-1">5.4.2 Casefolding examples</h4>
-<span id="index-casefolding-examples"></span>
-<span id="index-examples_002c-of-casefolding-searches"></span>
+<a class="index-entry-id" id="index-casefolding-examples"></a>
+<a class="index-entry-id" id="index-examples_002c-of-casefolding-searches"></a>
<p>The casefolding implementation prefers exact matches to casefolded
matches within a given path element, so as to retain most
@@ -1335,95 +1330,95 @@ that it will not cause difficulties in practice.
</p>
<p>If it&rsquo;s desirable in a given situation to have the exact same search
behavior as previously, that can be accomplished by setting the
-configuration variable <code>texmf_casefold_search</code> to &lsquo;<samp>0</samp>&rsquo;
-(see <a href="#Path-sources">Path sources</a>).
+configuration variable <code class="code">texmf_casefold_search</code> to &lsquo;<samp class="samp">0</samp>&rsquo;
+(see <a class="pxref" href="#Path-sources">Path sources</a>).
</p>
<p>Some examples to illustrate the new behavior follow.
</p>
-<p>Example #1: suppose the file <samp>./foobar.tex</samp> exists. Now,
-searching for <samp>./FooBar.TeX</samp> (or any other case variation) will
-succeed, returning <samp>./foobar.tex</samp>&mdash;the name as stored on disk.
-In previous releases, or if <code>texmf_casefold_search</code> is false, the
+<p>Example #1: suppose the file <samp class="file">./foobar.tex</samp> exists. Now,
+searching for <samp class="file">./FooBar.TeX</samp> (or any other case variation) will
+succeed, returning <samp class="file">./foobar.tex</samp>&mdash;the name as stored on disk.
+In previous releases, or if <code class="code">texmf_casefold_search</code> is false, the
search would fail.
</p>
<p>Example #2: suppose we are using a case-sensitive (file)system, and
-the search path is &lsquo;<samp>.:/somedir</samp>&rsquo;, and the files
-<samp>./foobar.tex</samp> and <samp>/somedir/FooBar.TeX</samp> both exist. Both
-now and previously, searching for <samp>foobar.tex</samp> returns
-<samp>./foobar.tex</samp>. However, searching for <samp>FooBar.TeX</samp> now
-returns <samp>./foobar.tex</samp> instead of <samp>/somedir/FooBar.TeX</samp>;
+the search path is &lsquo;<samp class="samp">.:/somedir</samp>&rsquo;, and the files
+<samp class="file">./foobar.tex</samp> and <samp class="file">/somedir/FooBar.TeX</samp> both exist. Both
+now and previously, searching for <samp class="file">foobar.tex</samp> returns
+<samp class="file">./foobar.tex</samp>. However, searching for <samp class="file">FooBar.TeX</samp> now
+returns <samp class="file">./foobar.tex</samp> instead of <samp class="file">/somedir/FooBar.TeX</samp>;
this is the incompatibility mentioned above. Also (as expected),
-searching for <samp>FOOBAR.TEX</samp> (or whatever variation) will now
-return <samp>./foobar.tex</samp>, whereas before it would fail. Searching
-for all (&lsquo;<samp>kpsewhich --all</samp>&rsquo;) <samp>foobar.tex</samp> will return both
+searching for <samp class="file">FOOBAR.TEX</samp> (or whatever variation) will now
+return <samp class="file">./foobar.tex</samp>, whereas before it would fail. Searching
+for all (&lsquo;<samp class="samp">kpsewhich --all</samp>&rsquo;) <samp class="file">foobar.tex</samp> will return both
matches.
</p>
<p>Example #3: same as example #2, but on a case-insensitive
-(file)system: both now and previously, searching for <samp>FooBar.TeX</samp>
-returns <samp>./foobar.tex</samp>, since the system considers that a match.
+(file)system: both now and previously, searching for <samp class="file">FooBar.TeX</samp>
+returns <samp class="file">./foobar.tex</samp>, since the system considers that a match.
The Kpathsea casefolding never comes into play.
</p>
<p>Example #4: if we have (on a case-sensitive system) both
-<samp>./foobar.tex</samp> and <samp>./FOOBAR.TEX</samp>, searching with the exact
+<samp class="file">./foobar.tex</samp> and <samp class="file">./FOOBAR.TEX</samp>, searching with the exact
case returns that exact match, now and previously. Searching for
-<samp>FooBar.tex</samp> will now return one or the other (chosen
+<samp class="file">FooBar.tex</samp> will now return one or the other (chosen
arbitrarily), rather than failing. Perhaps unexpectedly, searching
-for all <samp>foobar.tex</samp> or <samp>FooBar.tex</samp> will also return only
+for all <samp class="file">foobar.tex</samp> or <samp class="file">FooBar.tex</samp> will also return only
one or the other, not both (see more below).
</p>
-<p>Example #5: the font file <samp>STIX-Regular.otf</samp> is included in
+<p>Example #5: the font file <samp class="file">STIX-Regular.otf</samp> is included in
TeX Live in the system directory
-<samp>texmf-dist/fonts/opentype/public/stix</samp>. Because Kpathsea never
+<samp class="file">texmf-dist/fonts/opentype/public/stix</samp>. Because Kpathsea never
searches the disk in the big system directory, the casefolding is not
-done, and a search for &lsquo;<samp>stix-regular.otf</samp>&rsquo; will fail (on
+done, and a search for &lsquo;<samp class="samp">stix-regular.otf</samp>&rsquo; will fail (on
case-sensitive systems), as it always has.
</p>
-<span id="index-_0021_0021-and-casefolding"></span>
+<a class="index-entry-id" id="index-_0021_0021-and-casefolding"></a>
<p>The caveat about not searching the disk amounts to saying that
-casefolding does not happen in the trees specified with &lsquo;<samp>!!</samp>&rsquo;
-(see <a href="#ls_002dR"><samp>ls-R</samp></a>), that is, where only database (<samp>ls-R</samp>) searching
-is done. In TeX Live, that is the &lsquo;<samp>texmf-local</samp>&rsquo; and
-&lsquo;<samp>texmf-dist</samp>&rsquo; trees (also <code>$TEXMFSYSCONFIG</code> and
-<code>$TEXMFSYSVAR</code>, but those are rarely noticed). The rationale for
+casefolding does not happen in the trees specified with &lsquo;<samp class="samp">!!</samp>&rsquo;
+(see <a class="pxref" href="#ls_002dR"><samp class="file">ls-R</samp></a>), that is, where only database (<samp class="file">ls-R</samp>) searching
+is done. In TeX Live, that is the &lsquo;<samp class="samp">texmf-local</samp>&rsquo; and
+&lsquo;<samp class="samp">texmf-dist</samp>&rsquo; trees (also <code class="code">$TEXMFSYSCONFIG</code> and
+<code class="code">$TEXMFSYSVAR</code>, but those are rarely noticed). The rationale for
this is that in practice, case mangling happens with user-created
files, not with packages distributed as part of the TeX system.
</p>
-<p>One more caveat: the purpose of <code>kpsewhich</code> is to exercise the
+<p>One more caveat: the purpose of <code class="code">kpsewhich</code> is to exercise the
path searching in Kpathsea as it is actually done. Therefore, as
-shown above, &lsquo;<samp>kpsewhich --all</samp>&rsquo; will not return all matches
+shown above, &lsquo;<samp class="samp">kpsewhich --all</samp>&rsquo; will not return all matches
regardless of case within a given path element. If you want to find
-all matches in all directories, <code>find</code> is the best tool, although
+all matches in all directories, <code class="code">find</code> is the best tool, although
the setup takes a couple steps:
</p>
<div class="example">
-<pre class="example">kpsewhich -show-path=tex &gt;/tmp/texpath # search path specification
+<pre class="example-preformatted">kpsewhich -show-path=tex &gt;/tmp/texpath # search path specification
kpsewhich -expand-path=&quot;`cat /tmp/texpath`&quot; &gt;/tmp/texdirs # all dirs
tr ':' '\n' &lt;/tmp/texdirs &gt;/tmp/texdirlist # colons to newlines
find `cat /tmp/texdirlist` -iname somefile.tex -print &lt;/tmp/texdirlist
</pre></div>
-<span id="index-Findutils_002c-GNU-package"></span>
-<span id="index-_002diname_002c-find-predicate"></span>
+<a class="index-entry-id" id="index-Findutils_002c-GNU-package"></a>
+<a class="index-entry-id" id="index-_002diname_002c-find-predicate"></a>
<p>Sorry that it&rsquo;s annoyingly lengthy, but implementing this inside
Kpathsea would be a lot of error-prone trouble for something that is
-only useful for debugging. If your <code>find</code> does not support
-<code>-iname</code>, you can get GNU Find from
-<a href="https://gnu.org/software/findutils">https://gnu.org/software/findutils</a>.
+only useful for debugging. If your <code class="code">find</code> does not support
+<code class="code">-iname</code>, you can get GNU Find from
+<a class="url" href="https://gnu.org/software/findutils">https://gnu.org/software/findutils</a>.
</p>
<p>The casefolding search is implemented in the source file
-<samp>kpathsea/pathsearch.c</samp>. Two implementation points:
+<samp class="file">kpathsea/pathsearch.c</samp>. Two implementation points:
</p>
-<ul>
-<li> <span id="index-access-system-call"></span>
+<ul class="itemize mark-bullet">
+<li><a class="index-entry-id" id="index-access-system-call"></a>
Kpathsea never tries to check if a given directory resides on a
case-insensitive filesystem, because there is no efficient and
portable way to do so. All it does is try to see if a potential file
-name is a readable normal file (with, usually, the <code>access</code>
+name is a readable normal file (with, usually, the <code class="code">access</code>
system call).
-</li><li> Kpathsea does not do any case-insensitive matching of the directories
-along the path. It&rsquo;s not going to find <samp>/Some/Random/file.tex</samp>
-when looking for <samp>/some/random/file.tex</samp>. The casefolding only
+</li><li>Kpathsea does not do any case-insensitive matching of the directories
+along the path. It&rsquo;s not going to find <samp class="file">/Some/Random/file.tex</samp>
+when looking for <samp class="file">/some/random/file.tex</samp>. The casefolding only
happens with the elements of the leaf directory.
</li></ul>
@@ -1432,141 +1427,141 @@ happens with the elements of the leaf directory.
<hr>
</div>
</div>
-<div class="section" id="Filename-database">
-<div class="header">
+<div class="section-level-extent" id="Filename-database">
+<div class="nav-panel">
<p>
-Next: <a href="#Invoking-kpsewhich" accesskey="n" rel="next"><code>kpsewhich</code>: Standalone path searching</a>, Previous: <a href="#Casefolding-search" accesskey="p" rel="prev">Casefolding search</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Invoking-kpsewhich" accesskey="n" rel="next"><code class="code">kpsewhich</code>: Standalone path searching</a>, Previous: <a href="#Casefolding-search" accesskey="p" rel="prev">Casefolding search</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Filename-database-_0028ls_002dR_0029"></span><h3 class="section">5.5 Filename database (<code>ls-R</code>)</h3>
+<h3 class="section" id="Filename-database-_0028ls_002dR_0029">5.5 Filename database (<code class="code">ls-R</code>)</h3>
-<span id="index-filename-database"></span>
-<span id="index-database_002c-for-filenames"></span>
-<span id="index-externally_002dbuilt-filename-database"></span>
+<a class="index-entry-id" id="index-filename-database"></a>
+<a class="index-entry-id" id="index-database_002c-for-filenames"></a>
+<a class="index-entry-id" id="index-externally_002dbuilt-filename-database"></a>
<p>Kpathsea goes to some lengths to minimize disk accesses for searches
-(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). Nevertheless, in practice searching
+(see <a class="pxref" href="#Subdirectory-expansion">Subdirectory expansion</a>). Nevertheless, in practice searching
every possible directory in typical TeX installations takes an
excessively long time.
</p>
-<p>Therefore, Kpathsea can use an externally-built <em>filename
-database</em> file named <samp>ls-R</samp> that maps files to directories, thus
+<p>Therefore, Kpathsea can use an externally-built <em class="dfn">filename
+database</em> file named <samp class="file">ls-R</samp> that maps files to directories, thus
avoiding the need to exhaustively search the disk.
</p>
-<p>A second database file <samp>aliases</samp> allows you to give additional
-names to the files listed in <samp>ls-R</samp>.
+<p>A second database file <samp class="file">aliases</samp> allows you to give additional
+names to the files listed in <samp class="file">ls-R</samp>.
</p>
-<p>The <samp>ls-R</samp> and <samp>aliases</samp> features are implemented in the
-source file <samp>kpathsea/db.c</samp>.
+<p>The <samp class="file">ls-R</samp> and <samp class="file">aliases</samp> features are implemented in the
+source file <samp class="file">kpathsea/db.c</samp>.
</p>
-<ul class="section-toc">
-<li><a href="#ls_002dR" accesskey="1"><samp>ls-R</samp></a></li>
+<ul class="mini-toc">
+<li><a href="#ls_002dR" accesskey="1"><samp class="file">ls-R</samp></a></li>
<li><a href="#Filename-aliases" accesskey="2">Filename aliases</a></li>
<li><a href="#Database-format" accesskey="3">Database format</a></li>
</ul>
<hr>
-<div class="subsection" id="ls_002dR">
-<div class="header">
+<div class="subsection-level-extent" id="ls_002dR">
+<div class="nav-panel">
<p>
-Next: <a href="#Filename-aliases" accesskey="n" rel="next">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code>ls-R</code>)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Filename-aliases" accesskey="n" rel="next">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code class="code">ls-R</code>)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="ls_002dR-1"></span><h4 class="subsection">5.5.1 <samp>ls-R</samp></h4>
+<h4 class="subsection" id="ls_002dR-1">5.5.1 <samp class="file">ls-R</samp></h4>
-<span id="index-ls_002dR-database-file"></span>
+<a class="index-entry-id" id="index-ls_002dR-database-file"></a>
<p>As mentioned above, you must name the main filename database
-<samp>ls-R</samp>. You can put one at the root of each TeX installation
-hierarchy you wish to search (<code>$TEXMF</code> by default, which expands
+<samp class="file">ls-R</samp>. You can put one at the root of each TeX installation
+hierarchy you wish to search (<code class="code">$TEXMF</code> by default, which expands
to a braced list of several hierarchies in TeX Live).
</p>
-<span id="index-TEXMFDBS"></span>
-<span id="index-_0021_0021-in-TEXMFDBS"></span>
-<p>Kpathsea looks for <samp>ls-R</samp> files along the <code>TEXMFDBS</code>
+<a class="index-entry-id" id="index-TEXMFDBS"></a>
+<a class="index-entry-id" id="index-_0021_0021-in-TEXMFDBS"></a>
+<p>Kpathsea looks for <samp class="file">ls-R</samp> files along the <code class="code">TEXMFDBS</code>
path. It is best for this to contain all and only those hierarchies
-from <code>$TEXMF</code> which are specified with <code>!!</code>&mdash;and also to
-specify them with <code>!!</code> in <code>TEXMFDBS</code>. (See the end of this
-section for more on <code>!!</code>.)
+from <code class="code">$TEXMF</code> which are specified with <code class="code">!!</code>&mdash;and also to
+specify them with <code class="code">!!</code> in <code class="code">TEXMFDBS</code>. (See the end of this
+section for more on <code class="code">!!</code>.)
</p>
-<p>The recommended way to create and maintain &lsquo;<samp>ls-R</samp>&rsquo; is to run the
-<code>mktexlsr</code> script, which is installed in &lsquo;<samp>$(bindir)</samp>&rsquo;
-(<samp>/usr/local/bin</samp> by default). That script goes to some trouble to
+<p>The recommended way to create and maintain &lsquo;<samp class="samp">ls-R</samp>&rsquo; is to run the
+<code class="code">mktexlsr</code> script, which is installed in &lsquo;<samp class="samp">$(bindir)</samp>&rsquo;
+(<samp class="file">/usr/local/bin</samp> by default). That script goes to some trouble to
follow symbolic links as necessary, etc. It&rsquo;s also invoked by the
-distributed &lsquo;<samp>mktex&hellip;</samp>&rsquo; scripts.
+distributed &lsquo;<samp class="samp">mktex&hellip;</samp>&rsquo; scripts.
</p>
-<span id="index-ls_002dR_002c-simplest-build"></span>
-<p>At its simplest, though, you can build <samp>ls-R</samp> with the command
+<a class="index-entry-id" id="index-ls_002dR_002c-simplest-build"></a>
+<p>At its simplest, though, you can build <samp class="file">ls-R</samp> with the command
</p><div class="example">
-<pre class="example">cd <var>/your/texmf/root</var> &amp;&amp; ls -LAR ./ &gt;ls-R
+<pre class="example-preformatted">cd <var class="var">/your/texmf/root</var> &amp;&amp; ls -LAR ./ &gt;ls-R
</pre></div>
-<p><span id="index-_002d_002dcolor_003dtty"></span>
-<span id="index-_002fetc_002fprofile-and-aliases"></span>
-presuming your <code>ls</code> produces the right output format (see the
-section below). GNU <code>ls</code>, for example, outputs in this format.
-Also presuming your <code>ls</code> hasn&rsquo;t been aliased in a system file
-(e.g., <samp>/etc/profile</samp>) to something problematic, e.g., &lsquo;<samp>ls
+<a class="index-entry-id" id="index-_002d_002dcolor_003dtty"></a>
+<a class="index-entry-id" id="index-_002fetc_002fprofile-and-aliases"></a>
+<p>presuming your <code class="code">ls</code> produces the right output format (see the
+section below). GNU <code class="code">ls</code>, for example, outputs in this format.
+Also presuming your <code class="code">ls</code> hasn&rsquo;t been aliased in a system file
+(e.g., <samp class="file">/etc/profile</samp>) to something problematic, e.g., &lsquo;<samp class="samp">ls
--color=tty</samp>&rsquo;. In that case, you will have to disable the alias before
-generating <samp>ls-R</samp>. For the precise definition of the file format,
-see <a href="#Database-format">Database format</a>.
+generating <samp class="file">ls-R</samp>. For the precise definition of the file format,
+see <a class="ref" href="#Database-format">Database format</a>.
</p>
<p>Regardless of whether you use the supplied script or your own, you
-will almost certainly want to invoke it via <code>cron</code>, so when you
+will almost certainly want to invoke it via <code class="code">cron</code>, so when you
make changes in the installed files (say if you install a new LaTeX
-package), <samp>ls-R</samp> will be automatically updated. However, for
+package), <samp class="file">ls-R</samp> will be automatically updated. However, for
those using TeX Live or system distributions, the package managers
-should run <code>mktexlsr</code> as needed.
-</p>
-<span id="index-_002dA-option-to-ls"></span>
-<span id="index-dot-files"></span>
-<span id="index-_002e-files"></span>
-<span id="index-_002e-directories_002c-ignored"></span>
-<span id="index-_002etex-file_002c-included-in-ls_002dR"></span>
-<p>The &lsquo;<samp>-A</samp>&rsquo; option to <code>ls</code> includes files beginning with &lsquo;<samp>.</samp>&rsquo;
-(except for <samp>.</samp> and <samp>..</samp>), such as the file <samp>.tex</samp>
+should run <code class="code">mktexlsr</code> as needed.
+</p>
+<a class="index-entry-id" id="index-_002dA-option-to-ls"></a>
+<a class="index-entry-id" id="index-dot-files"></a>
+<a class="index-entry-id" id="index-_002e-files"></a>
+<a class="index-entry-id" id="index-_002e-directories_002c-ignored"></a>
+<a class="index-entry-id" id="index-_002etex-file_002c-included-in-ls_002dR"></a>
+<p>The &lsquo;<samp class="samp">-A</samp>&rsquo; option to <code class="code">ls</code> includes files beginning with &lsquo;<samp class="samp">.</samp>&rsquo;
+(except for <samp class="file">.</samp> and <samp class="file">..</samp>), such as the file <samp class="file">.tex</samp>
included with the LaTeX tools package. (On the other hand,
-<em>directories</em> whose names begin with &lsquo;<samp>.</samp>&rsquo; are always ignored.)
+<em class="emph">directories</em> whose names begin with &lsquo;<samp class="samp">.</samp>&rsquo; are always ignored.)
</p>
-<span id="index-symbolic-links_002c-and-ls_002dR"></span>
-<span id="index-_002dL-option-to-ls"></span>
-<p>If your system does not support symbolic links, omit the &lsquo;<samp>-L</samp>&rsquo;.
+<a class="index-entry-id" id="index-symbolic-links_002c-and-ls_002dR"></a>
+<a class="index-entry-id" id="index-_002dL-option-to-ls"></a>
+<p>If your system does not support symbolic links, omit the &lsquo;<samp class="samp">-L</samp>&rsquo;.
</p>
-<span id="index-automounter_002c-and-ls_002dR"></span>
-<span id="index-NFS-and-ls_002dR"></span>
-<p><code>ls -LAR <var>/your/texmf/root</var></code> will also work. But using
-&lsquo;<samp>./</samp>&rsquo; avoids embedding absolute pathnames, so the hierarchy can be
+<a class="index-entry-id" id="index-automounter_002c-and-ls_002dR"></a>
+<a class="index-entry-id" id="index-NFS-and-ls_002dR"></a>
+<p><code class="code">ls -LAR <var class="var">/your/texmf/root</var></code> will also work. But using
+&lsquo;<samp class="samp">./</samp>&rsquo; avoids embedding absolute pathnames, so the hierarchy can be
easily transported. It also avoids possible trouble with automounters
or other network filesystem conventions.
</p>
-<span id="index-warning-about-unusable-ls_002dR"></span>
-<span id="index-unusable-ls_002dR-warning"></span>
-<p>Kpathsea warns you if it finds an <samp>ls-R</samp> file, but the file does
+<a class="index-entry-id" id="index-warning-about-unusable-ls_002dR"></a>
+<a class="index-entry-id" id="index-unusable-ls_002dR-warning"></a>
+<p>Kpathsea warns you if it finds an <samp class="file">ls-R</samp> file, but the file does
not contain any usable entries. The usual culprit is running plain
-&lsquo;<samp>ls -R</samp>&rsquo; instead of &lsquo;<samp>ls -LR ./</samp>&rsquo; or &lsquo;<samp>ls -R
-<var>/your/texmf/root</var></samp>&rsquo;. Another possibility is some system directory
-name starting with a &lsquo;<samp>.</samp>&rsquo; (perhaps if you are using AFS); Kpathsea
+&lsquo;<samp class="samp">ls -R</samp>&rsquo; instead of &lsquo;<samp class="samp">ls -LR ./</samp>&rsquo; or &lsquo;<samp class="samp">ls -R
+<var class="var">/your/texmf/root</var></samp>&rsquo;. Another possibility is some system directory
+name starting with a &lsquo;<samp class="samp">.</samp>&rsquo; (perhaps if you are using AFS); Kpathsea
ignores everything under such directories.
</p>
-<span id="index-_0021_0021-in-path-specifications"></span>
-<span id="index-disk-searching_002c-avoiding"></span>
-<p>If a particular path element begins with &lsquo;<samp>!!</samp>&rsquo;, <em>only</em> the
+<a class="index-entry-id" id="index-_0021_0021-in-path-specifications"></a>
+<a class="index-entry-id" id="index-disk-searching_002c-avoiding"></a>
+<p>If a particular path element begins with &lsquo;<samp class="samp">!!</samp>&rsquo;, <em class="emph">only</em> the
database will be searched for that element, never the disk; and if the
database does not exist, nothing at all will be searched. In TeX
-Live, most of the trees are specified with &lsquo;<samp>!!</samp>&rsquo;.
+Live, most of the trees are specified with &lsquo;<samp class="samp">!!</samp>&rsquo;.
</p>
-<p>For path elements that do not begin with &lsquo;<samp>!!</samp>&rsquo;, if the database
+<p>For path elements that do not begin with &lsquo;<samp class="samp">!!</samp>&rsquo;, if the database
exists, it will be used, and the disk will not be searched. However,
in this case, if the database does not exist, the disk will be
searched. In TeX Live, the most notable case of this is the
-<code>TEXMFHOME</code> tree, to allow users to add and remove files from
-their own tree without having to worry about <code>ls-R</code>.
+<code class="code">TEXMFHOME</code> tree, to allow users to add and remove files from
+their own tree without having to worry about <code class="code">ls-R</code>.
</p>
-<p>(Aside: there are uncommon cases where a &lsquo;<samp>!!</samp>&rsquo; tree will be
-searched on disk even if the <code>ls-R</code> file exists; they are too
-obscure to try to explain here. See <samp>pathsearch.c</samp> in the source
+<p>(Aside: there are uncommon cases where a &lsquo;<samp class="samp">!!</samp>&rsquo; tree will be
+searched on disk even if the <code class="code">ls-R</code> file exists; they are too
+obscure to try to explain here. See <samp class="file">pathsearch.c</samp> in the source
if you need to know.)
</p>
-<p>To sum up: do not create an <code>ls-R</code> file unless you also take care
+<p>To sum up: do not create an <code class="code">ls-R</code> file unless you also take care
to keep it up to date. Otherwise newly-installed files will not be
found.
</p>
@@ -1574,75 +1569,75 @@ found.
<hr>
</div>
-<div class="subsection" id="Filename-aliases">
-<div class="header">
+<div class="subsection-level-extent" id="Filename-aliases">
+<div class="nav-panel">
<p>
-Next: <a href="#Database-format" accesskey="n" rel="next">Database format</a>, Previous: <a href="#ls_002dR" accesskey="p" rel="prev"><samp>ls-R</samp></a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code>ls-R</code>)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Database-format" accesskey="n" rel="next">Database format</a>, Previous: <a href="#ls_002dR" accesskey="p" rel="prev"><samp class="file">ls-R</samp></a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code class="code">ls-R</code>)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Filename-aliases-1"></span><h4 class="subsection">5.5.2 Filename aliases</h4>
+<h4 class="subsection" id="Filename-aliases-1">5.5.2 Filename aliases</h4>
-<span id="index-filename-aliases"></span>
-<span id="index-aliases_002c-for-filenames"></span>
+<a class="index-entry-id" id="index-filename-aliases"></a>
+<a class="index-entry-id" id="index-aliases_002c-for-filenames"></a>
<p>In some circumstances, you may wish to find a file under several names.
For example, suppose a TeX document was created using a DOS system
-and tries to read <samp>longtabl.sty</samp>. But now it&rsquo;s being run on a Unix
-system, and the file has its original name, <samp>longtable.sty</samp>. The
+and tries to read <samp class="file">longtabl.sty</samp>. But now it&rsquo;s being run on a Unix
+system, and the file has its original name, <samp class="file">longtable.sty</samp>. The
file won&rsquo;t be found. You need to give the actual file
-<samp>longtable.sty</samp> an alias &lsquo;<samp>longtabl.sty</samp>&rsquo;.
+<samp class="file">longtable.sty</samp> an alias &lsquo;<samp class="samp">longtabl.sty</samp>&rsquo;.
</p>
-<p>You can handle this by creating a file <samp>aliases</samp> as a companion to
-the <samp>ls-R</samp> for the hierarchy containing the file in question. (You
-must have an <samp>ls-R</samp> for the alias feature to work.)
+<p>You can handle this by creating a file <samp class="file">aliases</samp> as a companion to
+the <samp class="file">ls-R</samp> for the hierarchy containing the file in question. (You
+must have an <samp class="file">ls-R</samp> for the alias feature to work.)
</p>
-<p>The format of <samp>aliases</samp> is simple: two whitespace-separated words
-per line; the first is the real name <samp>longtable.sty</samp>, and second is
-the alias (<samp>longtabl.sty</samp>). These must be base filenames, with no
-directory components. <samp>longtable.sty</samp> must be in the sibling
-<samp>ls-R</samp>.
+<p>The format of <samp class="file">aliases</samp> is simple: two whitespace-separated words
+per line; the first is the real name <samp class="file">longtable.sty</samp>, and second is
+the alias (<samp class="file">longtabl.sty</samp>). These must be base filenames, with no
+directory components. <samp class="file">longtable.sty</samp> must be in the sibling
+<samp class="file">ls-R</samp>.
</p>
-<p>Also, blank lines and lines starting with &lsquo;<samp>%</samp>&rsquo; or &lsquo;<samp>#</samp>&rsquo; are
-ignored in <samp>aliases</samp>, to allow for comments.
+<p>Also, blank lines and lines starting with &lsquo;<samp class="samp">%</samp>&rsquo; or &lsquo;<samp class="samp">#</samp>&rsquo; are
+ignored in <samp class="file">aliases</samp>, to allow for comments.
</p>
-<p>If a real file <samp>longtabl.sty</samp> exists, it is used regardless of any
+<p>If a real file <samp class="file">longtabl.sty</samp> exists, it is used regardless of any
aliases.
</p>
<hr>
</div>
-<div class="subsection" id="Database-format">
-<div class="header">
+<div class="subsection-level-extent" id="Database-format">
+<div class="nav-panel">
<p>
-Previous: <a href="#Filename-aliases" accesskey="p" rel="prev">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code>ls-R</code>)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#Filename-aliases" accesskey="p" rel="prev">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code class="code">ls-R</code>)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Database-format-1"></span><h4 class="subsection">5.5.3 Database format</h4>
+<h4 class="subsection" id="Database-format-1">5.5.3 Database format</h4>
-<span id="index-format-of-external-database"></span>
-<span id="index-database_002c-format-of"></span>
+<a class="index-entry-id" id="index-format-of-external-database"></a>
+<a class="index-entry-id" id="index-database_002c-format-of"></a>
<p>The &ldquo;database&rdquo; read by Kpathsea is a line-oriented file of plain
-text. The format is that generated by GNU (and most other) <code>ls</code>
-programs given the &lsquo;<samp>-R</samp>&rsquo; option, as follows.
+text. The format is that generated by GNU (and most other) <code class="code">ls</code>
+programs given the &lsquo;<samp class="samp">-R</samp>&rsquo; option, as follows.
</p>
-<ul>
-<li> Blank lines are ignored.
+<ul class="itemize mark-bullet">
+<li>Blank lines are ignored.
-</li><li> If a line begins with &lsquo;<samp>/</samp>&rsquo; or &lsquo;<samp>./</samp>&rsquo; or &lsquo;<samp>../</samp>&rsquo; and ends with
-a colon, it&rsquo;s the name of a directory. (&lsquo;<samp>../</samp>&rsquo; lines aren&rsquo;t useful,
+</li><li>If a line begins with &lsquo;<samp class="samp">/</samp>&rsquo; or &lsquo;<samp class="samp">./</samp>&rsquo; or &lsquo;<samp class="samp">../</samp>&rsquo; and ends with
+a colon, it&rsquo;s the name of a directory. (&lsquo;<samp class="samp">../</samp>&rsquo; lines aren&rsquo;t useful,
however, and should not be generated.)
-</li><li> All other lines define entries in the most recently seen directory.
-<tt>/</tt>&rsquo;s in such lines will produce possibly-strange results.
+</li><li>All other lines define entries in the most recently seen directory.
+<code class="t">/</code>&rsquo;s in such lines will produce possibly-strange results.
-</li><li> Files with no preceding directory line are ignored.
+</li><li>Files with no preceding directory line are ignored.
</li></ul>
-<p>For example, here&rsquo;s the first few lines of <samp>ls-R</samp> (which totals
+<p>For example, here&rsquo;s the first few lines of <samp class="file">ls-R</samp> (which totals
about 30K bytes) on my system:
</p>
<div class="example">
-<pre class="example">bibtex
+<pre class="example-preformatted">bibtex
dvips
fonts
ls-R
@@ -1666,146 +1661,146 @@ btxdoc.bib
<hr>
</div>
</div>
-<div class="section" id="Invoking-kpsewhich">
-<div class="header">
+<div class="section-level-extent" id="Invoking-kpsewhich">
+<div class="nav-panel">
<p>
-Previous: <a href="#Filename-database" accesskey="p" rel="prev">Filename database (<code>ls-R</code>)</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#Filename-database" accesskey="p" rel="prev">Filename database (<code class="code">ls-R</code>)</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="kpsewhich_003a-Standalone-path-searching"></span><h3 class="section">5.6 <code>kpsewhich</code>: Standalone path searching</h3>
+<h3 class="section" id="kpsewhich_003a-Standalone-path-searching">5.6 <code class="code">kpsewhich</code>: Standalone path searching</h3>
-<span id="index-kpsewhich"></span>
-<span id="index-path-searching_002c-standalone"></span>
-<span id="index-standalone-path-searching"></span>
+<a class="index-entry-id" id="index-kpsewhich"></a>
+<a class="index-entry-id" id="index-path-searching_002c-standalone"></a>
+<a class="index-entry-id" id="index-standalone-path-searching"></a>
<p>The Kpsewhich program exercises the path searching functionality
independent of any particular application. This can also be useful as a
-sort of <code>find</code> program to locate files in your TeX hierarchies,
+sort of <code class="code">find</code> program to locate files in your TeX hierarchies,
perhaps in administrative scripts. It is used heavily in the
-distributed &lsquo;<samp>mktex&hellip;</samp>&rsquo; scripts.
+distributed &lsquo;<samp class="samp">mktex&hellip;</samp>&rsquo; scripts.
</p>
<p>Synopsis:
</p>
<div class="example">
-<pre class="example">kpsewhich <var>option</var>&hellip; <var>filename</var>&hellip;
+<pre class="example-preformatted">kpsewhich <var class="var">option</var>&hellip; <var class="var">filename</var>&hellip;
</pre></div>
<p>The options and filename(s) to look up can be intermixed.
-Options can start with either &lsquo;<samp>-</samp>&rsquo; or &lsquo;<samp>--</samp>&rsquo;, and any unambiguous
+Options can start with either &lsquo;<samp class="samp">-</samp>&rsquo; or &lsquo;<samp class="samp">--</samp>&rsquo;, and any unambiguous
abbreviation is accepted.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Path-searching-options" accesskey="1">Path searching options</a></li>
-<li><a href="#Specially_002drecognized-files" accesskey="2">Specially-recognized files for <code>kpsewhich</code></a></li>
+<li><a href="#Specially_002drecognized-files" accesskey="2">Specially-recognized files for <code class="command">kpsewhich</code></a></li>
<li><a href="#Auxiliary-tasks" accesskey="3">Auxiliary tasks</a></li>
<li><a href="#Standard-options" accesskey="4">Standard options</a></li>
</ul>
<hr>
-<div class="subsection" id="Path-searching-options">
-<div class="header">
+<div class="subsection-level-extent" id="Path-searching-options">
+<div class="nav-panel">
<p>
-Next: <a href="#Specially_002drecognized-files" accesskey="n" rel="next">Specially-recognized files for <code>kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Specially_002drecognized-files" accesskey="n" rel="next">Specially-recognized files for <code class="command">kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Path-searching-options-1"></span><h4 class="subsection">5.6.1 Path searching options</h4>
+<h4 class="subsection" id="Path-searching-options-1">5.6.1 Path searching options</h4>
-<span id="index-path-searching-options"></span>
+<a class="index-entry-id" id="index-path-searching-options"></a>
<p>Kpsewhich looks up each non-option argument on the command line as a
filename, and returns the first file found.
</p>
<p>Various options alter the path searching behavior:
</p>
-<dl compact="compact">
-<dt id='index-_002d_002dall'><span>&lsquo;<samp>--all</samp>&rsquo;<a href='#index-_002d_002dall' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-all-matches_002c-finding"></span>
+<dl class="table">
+<dt id='index-_002d_002dall'><span>&lsquo;<samp class="samp">--all</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dall'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-all-matches_002c-finding"></a>
<p>Report all matches found, one per line. By default, if there is more
than one match, just one will be reported (chosen effectively at
-random). Exception: with the glyph formats (<code>pk</code>, <code>gf</code>),
+random). Exception: with the glyph formats (<code class="code">pk</code>, <code class="code">gf</code>),
this option has no effect and only the first match is returned.
</p>
</dd>
-<dt id='index-_002d_002dcasefold_002dsearch'><span>&lsquo;<samp>--casefold-search</samp>&rsquo;<a href='#index-_002d_002dcasefold_002dsearch' class='copiable-anchor'> &para;</a></span></dt>
-<dt><span>&lsquo;<samp>--no-casefold-search</samp>&rsquo;</span></dt>
-<dd><span id="index-_002d_002dno_002dcasefold_002dsearch"></span>
+<dt id='index-_002d_002dcasefold_002dsearch'><span>&lsquo;<samp class="samp">--casefold-search</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dcasefold_002dsearch'> &para;</a></span></dt>
+<dt>&lsquo;<samp class="samp">--no-casefold-search</samp>&rsquo;</dt>
+<dd><a class="index-entry-id" id="index-_002d_002dno_002dcasefold_002dsearch"></a>
<p>Explicitly enable or disable the fallback to a case-insensitive search
-on Unix platforms (see <a href="#Casefolding-search">Casefolding search</a>); no effect on Windows.
-The default is enabled, set in <code>texmf.cnf</code>. Disabling
-(<code>--no-casefold-search</code>) does not mean that searches magically
+on Unix platforms (see <a class="pxref" href="#Casefolding-search">Casefolding search</a>); no effect on Windows.
+The default is enabled, set in <code class="code">texmf.cnf</code>. Disabling
+(<code class="code">--no-casefold-search</code>) does not mean that searches magically
become case-sensitive when the underlying (file)system is
case-insensitive, it merely means that Kpathsea does not do any
casefolding itself.
</p>
</dd>
-<dt id='index-_002d_002dcnf_002dline'><span>&lsquo;<samp>--cnf-line=<var>str</var></samp>&rsquo;<a href='#index-_002d_002dcnf_002dline' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Parse <var>str</var> as if it were a line in the <samp>texmf.cnf</samp>
-configuration file (see <a href="#Config-files">Config files</a>), overriding settings in the
-actual configuration files, and also in the environment (see <a href="#Path-sources">Path sources</a>). This is implemented by making any settings from <var>str</var>
+<dt id='index-_002d_002dcnf_002dline'><span>&lsquo;<samp class="samp">--cnf-line=<var class="var">str</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dcnf_002dline'> &para;</a></span></dt>
+<dd><p>Parse <var class="var">str</var> as if it were a line in the <samp class="file">texmf.cnf</samp>
+configuration file (see <a class="pxref" href="#Config-files">Config files</a>), overriding settings in the
+actual configuration files, and also in the environment (see <a class="pxref" href="#Path-sources">Path sources</a>). This is implemented by making any settings from <var class="var">str</var>
in the environment, overwriting any value already there. Thus, an
-extra colon in a &lsquo;<samp>--cnf-line</samp>&rsquo; value will refer to the value from
+extra colon in a &lsquo;<samp class="samp">--cnf-line</samp>&rsquo; value will refer to the value from
a configuration file, not a user-set environment variable.
</p>
-<p>Furthermore, any variable set from <var>str</var> will also be set with the
-program name suffix. For example, <code>pdftex
---cnf-line=TEXINPUTS=/foo:</code> will set both <code>TEXINPUTS</code> and
-<code>TEXINPUTS_pdftex</code> in the environment (and the value will be
-<samp>/foo</samp> followed by the setting from <samp>texmf.cnf</samp>, ignoring
-any user-set <code>TEXINPUTS</code>).
+<p>Furthermore, any variable set from <var class="var">str</var> will also be set with the
+program name suffix. For example, <code class="code">pdftex
+--cnf-line=TEXINPUTS=/foo:</code> will set both <code class="code">TEXINPUTS</code> and
+<code class="code">TEXINPUTS_pdftex</code> in the environment (and the value will be
+<samp class="file">/foo</samp> followed by the setting from <samp class="file">texmf.cnf</samp>, ignoring
+any user-set <code class="code">TEXINPUTS</code>).
</p>
<p>This behavior is desirable because, in practice, many variables in the
-distributed <samp>texmf.cnf</samp> are program-specific, and the intuitive
-behavior is for values set on the command line with <code>--cnf-line</code>
+distributed <samp class="file">texmf.cnf</samp> are program-specific, and the intuitive
+behavior is for values set on the command line with <code class="code">--cnf-line</code>
to override them.
</p>
</dd>
-<dt id='index-_002d_002ddpi_003dnum'><span>&lsquo;<samp>--dpi=<var>num</var></samp>&rsquo;<a href='#index-_002d_002ddpi_003dnum' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002dD-num"></span>
-<span id="index-resolution_002c-setting"></span>
-<p>Set the resolution to <var>num</var>; this only affects &lsquo;<samp>gf</samp>&rsquo; and
-&lsquo;<samp>pk</samp>&rsquo; lookups. &lsquo;<samp>-D</samp>&rsquo; is a synonym, for compatibility with
+<dt id='index-_002d_002ddpi_003dnum'><span>&lsquo;<samp class="samp">--dpi=<var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002ddpi_003dnum'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002dD-num"></a>
+<a class="index-entry-id" id="index-resolution_002c-setting"></a>
+<p>Set the resolution to <var class="var">num</var>; this only affects &lsquo;<samp class="samp">gf</samp>&rsquo; and
+&lsquo;<samp class="samp">pk</samp>&rsquo; lookups. &lsquo;<samp class="samp">-D</samp>&rsquo; is a synonym, for compatibility with
Dvips. Default is 600.
</p>
</dd>
-<dt id='index-_002d_002dengine_003dname'><span>&lsquo;<samp>--engine=<var>name</var></samp>&rsquo;<a href='#index-_002d_002dengine_003dname' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-engine-name"></span>
-<p>Set the engine name to <var>name</var>. By default it is not set. The
+<dt id='index-_002d_002dengine_003dname'><span>&lsquo;<samp class="samp">--engine=<var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dengine_003dname'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-engine-name"></a>
+<p>Set the engine name to <var class="var">name</var>. By default it is not set. The
engine name is used in some search paths to allow files with the same
name but used by different engines to coexist.
</p>
<p>In particular, since the memory dump files
-(<samp>.fmt</samp>/<samp>.base</samp>/<samp>.mem</samp>) are now stored in
-subdirectories named for the engine (<samp>tex</samp>, <samp>pdftex</samp>,
-<samp>xetex</samp>, etc.), you must specify an engine name in order to find
-them. For example, <samp>cont-en.fmt</samp> typically exists for both
-<samp>pdftex</samp> and <samp>xetex</samp>. With the default path settings, you
-can use &lsquo;<samp>--engine=/</samp>&rsquo; to look for any dump file, regardless of
+(<samp class="file">.fmt</samp>/<samp class="file">.base</samp>/<samp class="file">.mem</samp>) are now stored in
+subdirectories named for the engine (<samp class="file">tex</samp>, <samp class="file">pdftex</samp>,
+<samp class="file">xetex</samp>, etc.), you must specify an engine name in order to find
+them. For example, <samp class="file">cont-en.fmt</samp> typically exists for both
+<samp class="file">pdftex</samp> and <samp class="file">xetex</samp>. With the default path settings, you
+can use &lsquo;<samp class="samp">--engine=/</samp>&rsquo; to look for any dump file, regardless of
engine; if a dump file exists for more than one engine, it&rsquo;s
-indeterminate which one is returned. (The &lsquo;<samp>/</samp>&rsquo; ends up specifying
+indeterminate which one is returned. (The &lsquo;<samp class="samp">/</samp>&rsquo; ends up specifying
a normal recursive search along the path where the dumps are stored,
-namely &lsquo;<samp>$TEXMF/web2c{/$engine,}</samp>&rsquo;.)
+namely &lsquo;<samp class="samp">$TEXMF/web2c{/$engine,}</samp>&rsquo;.)
</p>
</dd>
-<dt id='index-_002d_002dformat_003dname'><span>&lsquo;<samp>--format=<var>name</var></samp>&rsquo;<a href='#index-_002d_002dformat_003dname' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the format for lookup to <var>name</var>. By default, the format is
-guessed from the filename, with &lsquo;<samp>tex</samp>&rsquo; being used if nothing else
+<dt id='index-_002d_002dformat_003dname'><span>&lsquo;<samp class="samp">--format=<var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dformat_003dname'> &para;</a></span></dt>
+<dd><p>Set the format for lookup to <var class="var">name</var>. By default, the format is
+guessed from the filename, with &lsquo;<samp class="samp">tex</samp>&rsquo; being used if nothing else
fits. The recognized filename extensions (including any leading
-&lsquo;<samp>.</samp>&rsquo;) are also allowable <var>name</var>s.
+&lsquo;<samp class="samp">.</samp>&rsquo;) are also allowable <var class="var">name</var>s.
</p>
<p>All formats also have a name, which is the only way to specify formats
with no associated suffix. For example, for Dvips configuration files
-you can use &lsquo;<samp>--format=&quot;dvips config&quot;</samp>&rsquo;. (The quotes are for the
+you can use &lsquo;<samp class="samp">--format=&quot;dvips config&quot;</samp>&rsquo;. (The quotes are for the
sake of the shell.)
</p>
<p>Here&rsquo;s the current list of recognized names and the associated suffixes.
-See <a href="#Supported-file-formats">Supported file formats</a>, for more information on each of these.
+See <a class="xref" href="#Supported-file-formats">Supported file formats</a>, for more information on each of these.
</p>
<p>The strings in parentheses are abbreviations recognized only by
-<code>kpsewhich</code> (not the underlying library calls). They are
+<code class="code">kpsewhich</code> (not the underlying library calls). They are
provided when it would otherwise require an argument containing a
space to specify the format, to simplify quoting of calls from shells.
</p>
<div class="example">
-<pre class="example">gf: gf
+<pre class="example-preformatted">gf: gf
pk: pk
bitmap font (bitmapfont):
tfm: .tfm
@@ -1852,7 +1847,7 @@ cweb: .w .web .ch
enc files: .enc
cmap files (cmap):
subfont definition files: .sfd
-opentype fonts: .otf
+opentype fonts: .otf .OTF
pdftex config (pdftexconfig):
lig files: .lig
texmfscripts:
@@ -1866,68 +1861,68 @@ ris: .ris
bltxml: .bltxml
</pre></div>
-<p>This option and &lsquo;<samp>--path</samp>&rsquo; are mutually exclusive.
+<p>This option and &lsquo;<samp class="samp">--path</samp>&rsquo; are mutually exclusive.
</p>
</dd>
-<dt id='index-_002d_002dinteractive'><span>&lsquo;<samp>--interactive</samp>&rsquo;<a href='#index-_002d_002dinteractive' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-interactive-query"></span>
+<dt id='index-_002d_002dinteractive'><span>&lsquo;<samp class="samp">--interactive</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dinteractive'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-interactive-query"></a>
<p>After processing the command line, read additional filenames to look up
from standard input.
</p>
</dd>
-<dt id='index-_002d_002dmktex_003dfiletype'><span>&lsquo;<samp>--mktex=<var>filetype</var></samp>&rsquo;<a href='#index-_002d_002dmktex_003dfiletype' class='copiable-anchor'> &para;</a></span></dt>
-<dt><span>&lsquo;<samp>--no-mktex=<var>filetype</var></samp>&rsquo;</span></dt>
-<dd><span id="index-_002d_002dno_002dmktex_003dfiletype"></span>
-<p>Turn on or off the &lsquo;<samp>mktex</samp>&rsquo; script associated with <var>filetype</var>.
-Usual values for <var>filetype</var> are &lsquo;<samp>pk</samp>&rsquo;, &lsquo;<samp>mf</samp>&rsquo;, &lsquo;<samp>tex</samp>&rsquo;,
-and &lsquo;<samp>tfm</samp>&rsquo;. By default, all are off in Kpsewhich, even if they
+<dt id='index-_002d_002dmktex_003dfiletype'><span>&lsquo;<samp class="samp">--mktex=<var class="var">filetype</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dmktex_003dfiletype'> &para;</a></span></dt>
+<dt>&lsquo;<samp class="samp">--no-mktex=<var class="var">filetype</var></samp>&rsquo;</dt>
+<dd><a class="index-entry-id" id="index-_002d_002dno_002dmktex_003dfiletype"></a>
+<p>Turn on or off the &lsquo;<samp class="samp">mktex</samp>&rsquo; script associated with <var class="var">filetype</var>.
+Usual values for <var class="var">filetype</var> are &lsquo;<samp class="samp">pk</samp>&rsquo;, &lsquo;<samp class="samp">mf</samp>&rsquo;, &lsquo;<samp class="samp">tex</samp>&rsquo;,
+and &lsquo;<samp class="samp">tfm</samp>&rsquo;. By default, all are off in Kpsewhich, even if they
are enabled for TeX. This option implies setting
-<code>--must-exist</code>. See <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>.
+<code class="code">--must-exist</code>. See <a class="xref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>.
</p>
</dd>
-<dt id='index-_002d_002dmode_003dstring'><span>&lsquo;<samp>--mode=<var>string</var></samp>&rsquo;<a href='#index-_002d_002dmode_003dstring' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the mode name to <var>string</var>; this also only affects &lsquo;<samp>gf</samp>&rsquo; and
-&lsquo;<samp>pk</samp>&rsquo; lookups. No default: any mode will be found. See <a href="#mktex-script-arguments"><samp>mktex</samp> script arguments</a>.
+<dt id='index-_002d_002dmode_003dstring'><span>&lsquo;<samp class="samp">--mode=<var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dmode_003dstring'> &para;</a></span></dt>
+<dd><p>Set the mode name to <var class="var">string</var>; this also only affects &lsquo;<samp class="samp">gf</samp>&rsquo; and
+&lsquo;<samp class="samp">pk</samp>&rsquo; lookups. No default: any mode will be found. See <a class="xref" href="#mktex-script-arguments"><samp class="file">mktex</samp> script arguments</a>.
</p>
</dd>
-<dt id='index-_002d_002dmust_002dexist'><span>&lsquo;<samp>--must-exist</samp>&rsquo;<a href='#index-_002d_002dmust_002dexist' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002d_002dmust_002dexist'><span>&lsquo;<samp class="samp">--must-exist</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dmust_002dexist'> &para;</a></span></dt>
<dd><p>Do everything possible to find the files, notably including searching
-the disk and running the &lsquo;<samp>mktex</samp>&rsquo; scripts. By default, only the
-<samp>ls-R</samp> database is checked, in the interest of efficiency.
+the disk and running the &lsquo;<samp class="samp">mktex</samp>&rsquo; scripts. By default, only the
+<samp class="file">ls-R</samp> database is checked, in the interest of efficiency.
</p>
</dd>
-<dt id='index-_002d_002dpath_003dstring'><span>&lsquo;<samp>--path=<var>string</var></samp>&rsquo;<a href='#index-_002d_002dpath_003dstring' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Search along the path <var>string</var> (colon-separated as usual), instead
-of guessing the search path from the filename. &lsquo;<samp>//</samp>&rsquo; and all the
-usual expansions are supported (see <a href="#Path-expansion">Path expansion</a>). This option
-and &lsquo;<samp>--format</samp>&rsquo; are mutually exclusive. To output the complete
+<dt id='index-_002d_002dpath_003dstring'><span>&lsquo;<samp class="samp">--path=<var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dpath_003dstring'> &para;</a></span></dt>
+<dd><p>Search along the path <var class="var">string</var> (colon-separated as usual), instead
+of guessing the search path from the filename. &lsquo;<samp class="samp">//</samp>&rsquo; and all the
+usual expansions are supported (see <a class="pxref" href="#Path-expansion">Path expansion</a>). This option
+and &lsquo;<samp class="samp">--format</samp>&rsquo; are mutually exclusive. To output the complete
directory expansion of a path, instead of doing a one-shot lookup, see
-&lsquo;<samp>--expand-path</samp>&rsquo; and &lsquo;<samp>--show-path</samp>&rsquo; in the following section.
+&lsquo;<samp class="samp">--expand-path</samp>&rsquo; and &lsquo;<samp class="samp">--show-path</samp>&rsquo; in the following section.
</p>
</dd>
-<dt id='index-_002d_002dprogname_003dname'><span>&lsquo;<samp>--progname=<var>name</var></samp>&rsquo;<a href='#index-_002d_002dprogname_003dname' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the program name to <var>name</var>; default is &lsquo;<samp>kpsewhich</samp>&rsquo;. This
-can affect the search paths via the &lsquo;<samp>.<var>prognam</var></samp>&rsquo; feature in
-configuration files (see <a href="#Config-files">Config files</a>).
+<dt id='index-_002d_002dprogname_003dname'><span>&lsquo;<samp class="samp">--progname=<var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dprogname_003dname'> &para;</a></span></dt>
+<dd><p>Set the program name to <var class="var">name</var>; default is &lsquo;<samp class="samp">kpsewhich</samp>&rsquo;. This
+can affect the search paths via the &lsquo;<samp class="samp">.<var class="var">prognam</var></samp>&rsquo; feature in
+configuration files (see <a class="pxref" href="#Config-files">Config files</a>).
</p>
</dd>
-<dt id='index-_002d_002dsubdir_003dstring'><span>&lsquo;<samp>--subdir=<var>string</var></samp>&rsquo;<a href='#index-_002d_002dsubdir_003dstring' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Report only those matches whose directory part <em>ends</em> with
-<var>string</var> (compared literally, except case is ignored on a
+<dt id='index-_002d_002dsubdir_003dstring'><span>&lsquo;<samp class="samp">--subdir=<var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dsubdir_003dstring'> &para;</a></span></dt>
+<dd><p>Report only those matches whose directory part <em class="emph">ends</em> with
+<var class="var">string</var> (compared literally, except case is ignored on a
case-insensitive operating system). For example, suppose there are
two matches for a given name:
</p>
<div class="example">
-<pre class="example">kpsewhich foo.sty
+<pre class="example-preformatted">kpsewhich foo.sty
&rArr; /some/where/foo.sty
/another/place/foo.sty
</pre></div>
<p>Then we can narrow the result to what we are interested in with
-<samp>--subdir</samp>:
+<samp class="option">--subdir</samp>:
</p>
<div class="example">
-<pre class="example">kpsewhich --subdir=where foo.sty
+<pre class="example-preformatted">kpsewhich --subdir=where foo.sty
&rArr; /some/where/foo.sty
kpsewhich --subdir=place foo.sty
@@ -1938,53 +1933,53 @@ kpsewhich --subdir=place foo.sty
match, and it is taken literally, with no pattern matching:
</p>
<div class="example">
-<pre class="example">kpsewhich --subdir=another foo.sty
+<pre class="example-preformatted">kpsewhich --subdir=another foo.sty
&rArr;
</pre></div>
<p>The string to match may cross directory components:
</p>
<div class="example">
-<pre class="example">kpsewhich --subdir=some/where foo.sty
+<pre class="example-preformatted">kpsewhich --subdir=some/where foo.sty
&rArr; /some/where/foo.sty
</pre></div>
-<p><samp>--subdir</samp> implies <samp>--all</samp>; if there is more than one
-match, they will all be reported (in our example, both &lsquo;<samp>where</samp>&rsquo;
-and &lsquo;<samp>place</samp>&rsquo; end in &lsquo;<samp>e</samp>&rsquo;):
+<p><samp class="option">--subdir</samp> implies <samp class="option">--all</samp>; if there is more than one
+match, they will all be reported (in our example, both &lsquo;<samp class="samp">where</samp>&rsquo;
+and &lsquo;<samp class="samp">place</samp>&rsquo; end in &lsquo;<samp class="samp">e</samp>&rsquo;):
</p>
<div class="example">
-<pre class="example">kpsewhich --subdir=e
+<pre class="example-preformatted">kpsewhich --subdir=e
&rArr; /some/where/foo.sty
/another/place/foo.sty
</pre></div>
-<p>Because of the above rules, the presence of a leading &lsquo;<samp>/</samp>&rsquo; is
+<p>Because of the above rules, the presence of a leading &lsquo;<samp class="samp">/</samp>&rsquo; is
important, since it &ldquo;anchors&rdquo; the match to a full component name:
</p>
<div class="example">
-<pre class="example">kpsewhich --subdir=/lace foo.sty
+<pre class="example-preformatted">kpsewhich --subdir=/lace foo.sty
&rArr;
</pre></div>
-<p>However, a trailing &lsquo;<samp>/</samp>&rsquo; is immaterial (and ignored), since the
+<p>However, a trailing &lsquo;<samp class="samp">/</samp>&rsquo; is immaterial (and ignored), since the
match always takes place at the end of the directory part:
</p>
<div class="example">
-<pre class="example">kpsewhich --subdir=lace/ foo.sty
+<pre class="example-preformatted">kpsewhich --subdir=lace/ foo.sty
&rArr; /another/place/foo.sty
</pre></div>
<p>The purpose of these rules is to make it convenient to find results
only within a particular area of the tree. For instance, a given
-script named <samp>foo.lua</samp> might exist within both
-<samp>texmf-dist/scripts/pkg1/</samp> and <samp>texmf-dist/scripts/pkg2/</samp>.
-By specifying, say, &lsquo;<samp>--subdir=/pkg1</samp>&rsquo;, you can be sure of getting
+script named <samp class="file">foo.lua</samp> might exist within both
+<samp class="file">texmf-dist/scripts/pkg1/</samp> and <samp class="file">texmf-dist/scripts/pkg2/</samp>.
+By specifying, say, &lsquo;<samp class="samp">--subdir=/pkg1</samp>&rsquo;, you can be sure of getting
the one you are interested in.
</p>
<p>We only match at the end because a site might happen to install TeX
-in <samp>/some/coincidental/pkg1/path/</samp>, and we wouldn&rsquo;t want to match
-<samp>texmf-dist/scripts/pkg2/</samp> that when searching for &lsquo;<samp>/pkg1</samp>&rsquo;.
+in <samp class="file">/some/coincidental/pkg1/path/</samp>, and we wouldn&rsquo;t want to match
+<samp class="file">texmf-dist/scripts/pkg2/</samp> that when searching for &lsquo;<samp class="samp">/pkg1</samp>&rsquo;.
</p>
</dd>
</dl>
@@ -1992,184 +1987,184 @@ in <samp>/some/coincidental/pkg1/path/</samp>, and we wouldn&rsquo;t want to mat
<hr>
</div>
-<div class="subsection" id="Specially_002drecognized-files">
-<div class="header">
+<div class="subsection-level-extent" id="Specially_002drecognized-files">
+<div class="nav-panel">
<p>
-Next: <a href="#Auxiliary-tasks" accesskey="n" rel="next">Auxiliary tasks</a>, Previous: <a href="#Path-searching-options" accesskey="p" rel="prev">Path searching options</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Auxiliary-tasks" accesskey="n" rel="next">Auxiliary tasks</a>, Previous: <a href="#Path-searching-options" accesskey="p" rel="prev">Path searching options</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Specially_002drecognized-files-for-kpsewhich"></span><h4 class="subsection">5.6.2 Specially-recognized files for <code>kpsewhich</code></h4>
+<h4 class="subsection" id="Specially_002drecognized-files-for-kpsewhich">5.6.2 Specially-recognized files for <code class="command">kpsewhich</code></h4>
-<p><code>kpsewhich</code> recognizes a few special filenames on the command
+<p><code class="command">kpsewhich</code> recognizes a few special filenames on the command
line and defaults to using the &lsquo;known&rsquo; file formats for them, merely
to save the time and trouble of specifying the format. This is only a
-feature of <code>kpsewhich</code>; when using the Kpathsea library
+feature of <code class="command">kpsewhich</code>; when using the Kpathsea library
itself, none of these special filenames are recognized, and it&rsquo;s still
up to the caller to specify the desired format.
</p>
-<p>Here is the list of special filenames to <code>kpsewhich</code>, along
+<p>Here is the list of special filenames to <code class="command">kpsewhich</code>, along
with their corresponding format:
</p>
-<dl compact="compact">
+<dl class="table">
<dd>
-<span id="index-config_002eps"></span>
+<a class="index-entry-id" id="index-config_002eps"></a>
</dd>
-<dt><span><samp>config.ps</samp></span></dt>
-<dd><p><code>dvips config</code>
+<dt><samp class="file">config.ps</samp></dt>
+<dd><p><code class="code">dvips config</code>
</p>
-<span id="index-dvipdfmx_002ecfg"></span>
+<a class="index-entry-id" id="index-dvipdfmx_002ecfg"></a>
</dd>
-<dt><span><samp>dvipdfmx.cfg</samp></span></dt>
-<dd><p>&lsquo;<samp>other text files</samp>&rsquo;
+<dt><samp class="file">dvipdfmx.cfg</samp></dt>
+<dd><p>&lsquo;<samp class="samp">other text files</samp>&rsquo;
</p>
-<span id="index-fmtutil_002ecnf"></span>
+<a class="index-entry-id" id="index-fmtutil_002ecnf"></a>
</dd>
-<dt><span><samp>fmtutil.cnf</samp></span></dt>
-<dd><p>&lsquo;<samp>web2c files</samp>&rsquo;
+<dt><samp class="file">fmtutil.cnf</samp></dt>
+<dd><p>&lsquo;<samp class="samp">web2c files</samp>&rsquo;
</p>
-<span id="index-glyphlist_002etxt"></span>
+<a class="index-entry-id" id="index-glyphlist_002etxt"></a>
</dd>
-<dt><span><samp>glyphlist.txt</samp></span></dt>
-<dd><p>&lsquo;<samp>map</samp>&rsquo;
+<dt><samp class="file">glyphlist.txt</samp></dt>
+<dd><p>&lsquo;<samp class="samp">map</samp>&rsquo;
</p>
-<span id="index-mktex_002ecnf"></span>
+<a class="index-entry-id" id="index-mktex_002ecnf"></a>
</dd>
-<dt><span><samp>mktex.cnf</samp></span></dt>
-<dd><p>&lsquo;<samp>web2c files</samp>&rsquo;
+<dt><samp class="file">mktex.cnf</samp></dt>
+<dd><p>&lsquo;<samp class="samp">web2c files</samp>&rsquo;
</p>
-<span id="index-pdfglyphlist_002etxt"></span>
+<a class="index-entry-id" id="index-pdfglyphlist_002etxt"></a>
</dd>
-<dt><span><samp>pdfglyphlist.txt</samp></span></dt>
-<dd><p>&lsquo;<samp>map</samp>&rsquo;
+<dt><samp class="file">pdfglyphlist.txt</samp></dt>
+<dd><p>&lsquo;<samp class="samp">map</samp>&rsquo;
</p>
-<span id="index-pdftex_002ecfg"></span>
-<span id="index-pdftexconfig_002etex"></span>
+<a class="index-entry-id" id="index-pdftex_002ecfg"></a>
+<a class="index-entry-id" id="index-pdftexconfig_002etex"></a>
</dd>
-<dt><span><samp>pdftex.cfg</samp></span></dt>
-<dd><p>&lsquo;<samp>pdftex config</samp>&rsquo; (although <samp>pdftex.cfg</samp> is not used any more;
-look for the file <samp>pdftexconfig.tex</samp> instead.)
+<dt><samp class="file">pdftex.cfg</samp></dt>
+<dd><p>&lsquo;<samp class="samp">pdftex config</samp>&rsquo; (although <samp class="file">pdftex.cfg</samp> is not used any more;
+look for the file <samp class="file">pdftexconfig.tex</samp> instead.)
</p>
-<span id="index-texmf_002ecnf"></span>
+<a class="index-entry-id" id="index-texmf_002ecnf"></a>
</dd>
-<dt><span><samp>texmf.cnf</samp></span></dt>
-<dd><p>&lsquo;<samp>cnf</samp>&rsquo;
+<dt><samp class="file">texmf.cnf</samp></dt>
+<dd><p>&lsquo;<samp class="samp">cnf</samp>&rsquo;
</p>
-<span id="index-XDvi"></span>
+<a class="index-entry-id" id="index-XDvi"></a>
</dd>
-<dt><span><samp>XDvi</samp></span></dt>
-<dd><p>&lsquo;<samp>other text files</samp>&rsquo;
+<dt><samp class="file">XDvi</samp></dt>
+<dd><p>&lsquo;<samp class="samp">other text files</samp>&rsquo;
</p>
</dd>
</dl>
<p>A user-specified format will override the above defaults.
</p>
-<span id="index-tcfmgr_002emap"></span>
-<p>Another useful configuration file in this regard is <samp>tcfmgr.map</samp>,
-found in <samp>texmf/texconfig/tcfmgr.map</samp>, which records various
+<a class="index-entry-id" id="index-tcfmgr_002emap"></a>
+<p>Another useful configuration file in this regard is <samp class="file">tcfmgr.map</samp>,
+found in <samp class="file">texmf/texconfig/tcfmgr.map</samp>, which records various
information about the above configuration files (among others).
</p>
<hr>
</div>
-<div class="subsection" id="Auxiliary-tasks">
-<div class="header">
+<div class="subsection-level-extent" id="Auxiliary-tasks">
+<div class="nav-panel">
<p>
-Next: <a href="#Standard-options" accesskey="n" rel="next">Standard options</a>, Previous: <a href="#Specially_002drecognized-files" accesskey="p" rel="prev">Specially-recognized files for <code>kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Standard-options" accesskey="n" rel="next">Standard options</a>, Previous: <a href="#Specially_002drecognized-files" accesskey="p" rel="prev">Specially-recognized files for <code class="command">kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Auxiliary-tasks-1"></span><h4 class="subsection">5.6.3 Auxiliary tasks</h4>
+<h4 class="subsection" id="Auxiliary-tasks-1">5.6.3 Auxiliary tasks</h4>
-<span id="index-auxiliary-tasks"></span>
+<a class="index-entry-id" id="index-auxiliary-tasks"></a>
<p>Kpsewhich provides some features in addition to path lookup as such:
</p>
-<dl compact="compact">
-<dt id='index-_002d_002ddebug_003dnum'><span>&lsquo;<samp>--debug=<var>num</var></samp>&rsquo;<a href='#index-_002d_002ddebug_003dnum' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set debugging options to <var>num</var>. See <a href="#Debugging">Debugging</a>.
+<dl class="table">
+<dt id='index-_002d_002ddebug_003dnum'><span>&lsquo;<samp class="samp">--debug=<var class="var">num</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002ddebug_003dnum'> &para;</a></span></dt>
+<dd><p>Set debugging options to <var class="var">num</var>. See <a class="xref" href="#Debugging">Debugging</a>.
</p>
</dd>
-<dt id='index-_002d_002dexpand_002dbraces_003dstring'><span>&lsquo;<samp>--expand-braces=<var>string</var></samp>&rsquo;<a href='#index-_002d_002dexpand_002dbraces_003dstring' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Output variable, tilde, and brace expansion of <var>string</var>, which is
-assumed to be a single path element. See <a href="#Path-expansion">Path expansion</a>.
+<dt id='index-_002d_002dexpand_002dbraces_003dstring'><span>&lsquo;<samp class="samp">--expand-braces=<var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dexpand_002dbraces_003dstring'> &para;</a></span></dt>
+<dd><p>Output variable, tilde, and brace expansion of <var class="var">string</var>, which is
+assumed to be a single path element. See <a class="xref" href="#Path-expansion">Path expansion</a>.
</p>
</dd>
-<dt id='index-_002d_002dexpand_002dpath_003dstring'><span>&lsquo;<samp>--expand-path=<var>string</var></samp>&rsquo;<a href='#index-_002d_002dexpand_002dpath_003dstring' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Output the complete expansion of <var>string</var>, with each element
-separated by the usual path separator on the current system (&lsquo;<samp>;</samp>&rsquo;
-on Windows, &lsquo;<samp>:</samp>&rsquo; otherwise). This may be useful to construct a
+<dt id='index-_002d_002dexpand_002dpath_003dstring'><span>&lsquo;<samp class="samp">--expand-path=<var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dexpand_002dpath_003dstring'> &para;</a></span></dt>
+<dd><p>Output the complete expansion of <var class="var">string</var>, with each element
+separated by the usual path separator on the current system (&lsquo;<samp class="samp">;</samp>&rsquo;
+on Windows, &lsquo;<samp class="samp">:</samp>&rsquo; otherwise). This may be useful to construct a
custom search path for a format not otherwise supported. To retrieve
the search path for a format that is already supported, see
-&lsquo;<samp>--show-path</samp>&rsquo;.
+&lsquo;<samp class="samp">--show-path</samp>&rsquo;.
</p>
<p>Nonexistent directories are culled from the output:
</p>
<div class="example">
-<pre class="example">$ kpsewhich --expand-path '/tmp'
+<pre class="example-preformatted">$ kpsewhich --expand-path '/tmp'
&rArr; /tmp
$ kpsewhich --expand-path '/nonesuch'
&rArr;
</pre></div>
<p>For one-shot uses of an arbitrary (not built in to Kpathsea) path, see
-&lsquo;<samp>--path</samp>&rsquo; (see <a href="#Path-searching-options">Path searching options</a>).
+&lsquo;<samp class="samp">--path</samp>&rsquo; (see <a class="pxref" href="#Path-searching-options">Path searching options</a>).
</p>
</dd>
-<dt id='index-_002d_002dexpand_002dvar_003dstring'><span>&lsquo;<samp>--expand-var=<var>string</var></samp>&rsquo;<a href='#index-_002d_002dexpand_002dvar_003dstring' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Output the variable and tilde expansion of <var>string</var>. For example,
-with the usual <samp>texmf.cnf</samp>, &lsquo;<samp>kpsewhich
+<dt id='index-_002d_002dexpand_002dvar_003dstring'><span>&lsquo;<samp class="samp">--expand-var=<var class="var">string</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dexpand_002dvar_003dstring'> &para;</a></span></dt>
+<dd><p>Output the variable and tilde expansion of <var class="var">string</var>. For example,
+with the usual <samp class="file">texmf.cnf</samp>, &lsquo;<samp class="samp">kpsewhich
--expand-var='$TEXMF'</samp>&rsquo; returns the TeX system hierarchy root(s).
-See <a href="#Path-expansion">Path expansion</a>. The specified <var>string</var> can contain
+See <a class="xref" href="#Path-expansion">Path expansion</a>. The specified <var class="var">string</var> can contain
anything, though, not just variable references. This calls
-<code>kpse_var_expand</code> (see <a href="#Programming-with-config-files">Programming with config files</a>).
+<code class="code">kpse_var_expand</code> (see <a class="pxref" href="#Programming-with-config-files">Programming with config files</a>).
</p>
</dd>
-<dt id='index-_002d_002dhelp_002dformats'><span>&lsquo;<samp>--help-formats</samp>&rsquo;<a href='#index-_002d_002dhelp_002dformats' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Output information about each supported format (see <a href="#Supported-file-formats">Supported file formats</a>), including the names and abbreviations, variables
+<dt id='index-_002d_002dhelp_002dformats'><span>&lsquo;<samp class="samp">--help-formats</samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dhelp_002dformats'> &para;</a></span></dt>
+<dd><p>Output information about each supported format (see <a class="pxref" href="#Supported-file-formats">Supported file formats</a>), including the names and abbreviations, variables
looked for, and the original path.
</p>
</dd>
-<dt id='index-_002d_002dsafe_002din_002dname_003dname'><span>&lsquo;<samp>--safe-in-name=<var>name</var></samp>&rsquo;<a href='#index-_002d_002dsafe_002din_002dname_003dname' class='copiable-anchor'> &para;</a></span></dt>
-<dt><span>&lsquo;<samp>--safe-out-name=<var>name</var></samp>&rsquo;</span></dt>
-<dd><span id="index-_002d_002dsafe_002dout_002dname_003dname"></span>
-<p>Exit successfully if <var>name</var> is safe to open for reading or
+<dt id='index-_002d_002dsafe_002din_002dname_003dname'><span>&lsquo;<samp class="samp">--safe-in-name=<var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dsafe_002din_002dname_003dname'> &para;</a></span></dt>
+<dt>&lsquo;<samp class="samp">--safe-out-name=<var class="var">name</var></samp>&rsquo;</dt>
+<dd><a class="index-entry-id" id="index-_002d_002dsafe_002dout_002dname_003dname"></a>
+<p>Exit successfully if <var class="var">name</var> is safe to open for reading or
writing, respectively, else unsuccessfully. No output is written.
These tests take account of the related Kpathsea configuration
-settings (see <a href="#Calling-sequence">Calling sequence</a>).
+settings (see <a class="pxref" href="#Calling-sequence">Calling sequence</a>).
</p>
</dd>
-<dt id='index-_002d_002dshow_002dpath_003dname'><span>&lsquo;<samp>--show-path=<var>name</var></samp>&rsquo;<a href='#index-_002d_002dshow_002dpath_003dname' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002d_002dshow_002dpath_003dname'><span>&lsquo;<samp class="samp">--show-path=<var class="var">name</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dshow_002dpath_003dname'> &para;</a></span></dt>
<dd><p>Show the path that would be used for file lookups of file type
-<var>name</var>. Either a filename extension (&lsquo;<samp>pk</samp>&rsquo;, &lsquo;<samp>.vf</samp>&rsquo;, etc.)
-or an integer can be used, just as with &lsquo;<samp>--format</samp>&rsquo;, described in
+<var class="var">name</var>. Either a filename extension (&lsquo;<samp class="samp">pk</samp>&rsquo;, &lsquo;<samp class="samp">.vf</samp>&rsquo;, etc.)
+or an integer can be used, just as with &lsquo;<samp class="samp">--format</samp>&rsquo;, described in
the previous section.
</p>
</dd>
-<dt id='index-_002d_002dvar_002dbrace_002dvalue_003dvariable'><span>&lsquo;<samp>--var-brace-value=<var>variable</var></samp>&rsquo;<a href='#index-_002d_002dvar_002dbrace_002dvalue_003dvariable' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Like &lsquo;<samp>--var-value</samp>&rsquo; (next), but also expands &lsquo;<samp>{...}</samp>&rsquo;
-constructs. (see <a href="#Brace-expansion">Brace expansion</a>). Thus, the value is assumed to
-possibly be several path elements, and &lsquo;<samp>~</samp>&rsquo; is expanded at the
+<dt id='index-_002d_002dvar_002dbrace_002dvalue_003dvariable'><span>&lsquo;<samp class="samp">--var-brace-value=<var class="var">variable</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dvar_002dbrace_002dvalue_003dvariable'> &para;</a></span></dt>
+<dd><p>Like &lsquo;<samp class="samp">--var-value</samp>&rsquo; (next), but also expands &lsquo;<samp class="samp">{...}</samp>&rsquo;
+constructs. (see <a class="pxref" href="#Brace-expansion">Brace expansion</a>). Thus, the value is assumed to
+possibly be several path elements, and &lsquo;<samp class="samp">~</samp>&rsquo; is expanded at the
beginning of each. The path separator is changed to that of the
current system in the expansion.
</p>
-<p>Example: &lsquo;<samp>FOO='.;~' kpsewhich --var-brace-value=FOO</samp>&rsquo; outputs (on
-a Unix-ish system) &lsquo;<samp>.:/home/karl</samp>&rsquo;, supposing the latter is the
-current user&rsquo;s home directory. Note that the &lsquo;<samp>;</samp>&rsquo; in the source
-value, as commonly used in <samp>texmf.cnf</samp>, has changed to a
-&lsquo;<samp>:</samp>&rsquo;, as the normal path separator on the current system. On a
-Windows-ish system, the &lsquo;<samp>;</samp>&rsquo; would remain.
+<p>Example: &lsquo;<samp class="samp">FOO='.;~' kpsewhich --var-brace-value=FOO</samp>&rsquo; outputs (on
+a Unix-ish system) &lsquo;<samp class="samp">.:/home/karl</samp>&rsquo;, supposing the latter is the
+current user&rsquo;s home directory. Note that the &lsquo;<samp class="samp">;</samp>&rsquo; in the source
+value, as commonly used in <samp class="file">texmf.cnf</samp>, has changed to a
+&lsquo;<samp class="samp">:</samp>&rsquo;, as the normal path separator on the current system. On a
+Windows-ish system, the &lsquo;<samp class="samp">;</samp>&rsquo; would remain.
</p>
</dd>
-<dt id='index-_002d_002dvar_002dvalue_003dvariable'><span>&lsquo;<samp>--var-value=<var>variable</var></samp>&rsquo;<a href='#index-_002d_002dvar_002dvalue_003dvariable' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Outputs the value of <var>variable</var> (a simple identifier like
-&lsquo;<samp>TEXMFDIST</samp>&rsquo;, with no &lsquo;<samp>$</samp>&rsquo; or other constructs), expanding
-&lsquo;<samp>$</samp>&rsquo; (see <a href="#Variable-expansion">Variable expansion</a>) and &lsquo;<samp>~</samp>&rsquo; (see <a href="#Tilde-expansion">Tilde expansion</a>) constructs in the value. &lsquo;<samp>~</samp>&rsquo; expansion happens at the
+<dt id='index-_002d_002dvar_002dvalue_003dvariable'><span>&lsquo;<samp class="samp">--var-value=<var class="var">variable</var></samp>&rsquo;<a class="copiable-link" href='#index-_002d_002dvar_002dvalue_003dvariable'> &para;</a></span></dt>
+<dd><p>Outputs the value of <var class="var">variable</var> (a simple identifier like
+&lsquo;<samp class="samp">TEXMFDIST</samp>&rsquo;, with no &lsquo;<samp class="samp">$</samp>&rsquo; or other constructs), expanding
+&lsquo;<samp class="samp">$</samp>&rsquo; (see <a class="pxref" href="#Variable-expansion">Variable expansion</a>) and &lsquo;<samp class="samp">~</samp>&rsquo; (see <a class="pxref" href="#Tilde-expansion">Tilde expansion</a>) constructs in the value. &lsquo;<samp class="samp">~</samp>&rsquo; expansion happens at the
beginning of the overall value and at the beginning of a variable
expansion, but not arbitrarily within the string. Braces are not expanded.
</p>
-<p>Example: &lsquo;<samp>--var-value=texmf_casefold_search</samp>&rsquo; outputs (if the
-default is not changed) &lsquo;<samp>1</samp>&rsquo;.
+<p>Example: &lsquo;<samp class="samp">--var-value=texmf_casefold_search</samp>&rsquo; outputs (if the
+default is not changed) &lsquo;<samp class="samp">1</samp>&rsquo;.
</p>
-<p>Example to contrast with &lsquo;<samp>--var-brace-value</samp>&rsquo;: &lsquo;<samp>FOO='.;~'
-kpsewhich --var-value=FOO</samp>&rsquo; outputs &lsquo;<samp>.;~</samp>&rsquo;, i.e., the same as the
+<p>Example to contrast with &lsquo;<samp class="samp">--var-brace-value</samp>&rsquo;: &lsquo;<samp class="samp">FOO='.;~'
+kpsewhich --var-value=FOO</samp>&rsquo; outputs &lsquo;<samp class="samp">.;~</samp>&rsquo;, i.e., the same as the
input value, on all systems.
</p>
</dd>
@@ -2178,24 +2173,24 @@ input value, on all systems.
<hr>
</div>
-<div class="subsection" id="Standard-options">
-<div class="header">
+<div class="subsection-level-extent" id="Standard-options">
+<div class="nav-panel">
<p>
-Previous: <a href="#Auxiliary-tasks" accesskey="p" rel="prev">Auxiliary tasks</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#Auxiliary-tasks" accesskey="p" rel="prev">Auxiliary tasks</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Standard-options-1"></span><h4 class="subsection">5.6.4 Standard options</h4>
+<h4 class="subsection" id="Standard-options-1">5.6.4 Standard options</h4>
-<span id="index-standard-options"></span>
+<a class="index-entry-id" id="index-standard-options"></a>
<p>Kpsewhich accepts the standard GNU options:
</p>
-<ul>
-<li> <span id="index-_002d_002dhelp"></span>
-&lsquo;<samp>--help</samp>&rsquo; prints a help message on standard output and exits
+<ul class="itemize mark-bullet">
+<li><a class="index-entry-id" id="index-_002d_002dhelp"></a>
+&lsquo;<samp class="samp">--help</samp>&rsquo; prints a help message on standard output and exits
successfully.
-</li><li> <span id="index-_002d_002dversion"></span>
-&lsquo;<samp>--version</samp>&rsquo; prints the Kpathsea version number and exits successfully.
+</li><li><a class="index-entry-id" id="index-_002d_002dversion"></a>
+&lsquo;<samp class="samp">--version</samp>&rsquo; prints the Kpathsea version number and exits successfully.
</li></ul>
@@ -2203,14 +2198,14 @@ successfully.
</div>
</div>
</div>
-<div class="chapter" id="TeX-support">
-<div class="header">
+<div class="chapter-level-extent" id="TeX-support">
+<div class="nav-panel">
<p>
Next: <a href="#Programming" accesskey="n" rel="next">Programming</a>, Previous: <a href="#Path-searching" accesskey="p" rel="prev">Path searching</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="TeX-support-1"></span><h2 class="chapter">6 TeX support</h2>
+<h2 class="chapter" id="TeX-support-1">6 TeX support</h2>
-<span id="index-TeX-support"></span>
+<a class="index-entry-id" id="index-TeX-support"></a>
<p>Although the basic features in Kpathsea can be used for any type of
path searching, it came about, as usual, with a specific application
@@ -2227,31 +2222,31 @@ features were provided because they seemed useful in that conTeXt
<p>Kpathsea provides a standard way to search for files of any of the
supported file types; glyph fonts are a bit different than all the
rest. Searches are based solely on names of files, not their
-contents&mdash;if a GF file is (mis)named <samp>cmr10.600pk</samp>, it will be
+contents&mdash;if a GF file is (mis)named <samp class="file">cmr10.600pk</samp>, it will be
found as a PK file.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Supported-file-formats" accesskey="1">Supported file formats</a></li>
<li><a href="#File-lookup" accesskey="2">File lookup</a></li>
<li><a href="#Glyph-lookup" accesskey="3">Glyph lookup</a></li>
<li><a href="#Suppressing-warnings" accesskey="4">Suppressing warnings</a></li>
-<li><a href="#mktex-scripts" accesskey="5"><samp>mktex</samp> scripts</a></li>
+<li><a href="#mktex-scripts" accesskey="5"><samp class="file">mktex</samp> scripts</a></li>
</ul>
<hr>
-<div class="section" id="Supported-file-formats">
-<div class="header">
+<div class="section-level-extent" id="Supported-file-formats">
+<div class="nav-panel">
<p>
Next: <a href="#File-lookup" accesskey="n" rel="next">File lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Supported-file-formats-1"></span><h3 class="section">6.1 Supported file formats</h3>
+<h3 class="section" id="Supported-file-formats-1">6.1 Supported file formats</h3>
-<span id="index-supported-file-formats"></span>
-<span id="index-file-formats_002c-supported"></span>
+<a class="index-entry-id" id="index-supported-file-formats"></a>
+<a class="index-entry-id" id="index-file-formats_002c-supported"></a>
-<span id="index-environment-variables-for-TeX"></span>
-<span id="index-TeX-environment-variables"></span>
+<a class="index-entry-id" id="index-environment-variables-for-TeX"></a>
+<a class="index-entry-id" id="index-TeX-environment-variables"></a>
<p>Kpathsea has support for a number of file types. Each file type has a
list of environment and config file variables that are checked to define
@@ -2259,626 +2254,640 @@ the search path, and most have a default suffix that plays a role in
finding files (see the next section). Some also define additional
suffixes, and/or a program to be run to create missing files on the fly.
</p>
-<span id="index-program_002dvarying-paths"></span>
+<a class="index-entry-id" id="index-program_002dvarying-paths"></a>
<p>Since environment variables containing periods, such as
-&lsquo;<samp>TEXINPUTS.latex</samp>&rsquo;, are not allowed on some systems, Kpathsea looks
+&lsquo;<samp class="samp">TEXINPUTS.latex</samp>&rsquo;, are not allowed on some systems, Kpathsea looks
for environment variables with an underscore, e.g.,
-&lsquo;<samp>TEXINPUTS_latex</samp>&rsquo; (see <a href="#Config-files">Config files</a>).
+&lsquo;<samp class="samp">TEXINPUTS_latex</samp>&rsquo; (see <a class="pxref" href="#Config-files">Config files</a>).
</p>
<p>The following table lists the above information. You can also get the
-list by giving the &lsquo;<samp>--help-formats</samp>&rsquo; option to <code>kpsewhich</code>
-(see <a href="#Auxiliary-tasks">Auxiliary tasks</a>).
+list by giving the &lsquo;<samp class="samp">--help-formats</samp>&rsquo; option to <code class="code">kpsewhich</code>
+(see <a class="pxref" href="#Auxiliary-tasks">Auxiliary tasks</a>).
</p>
-<dl compact="compact">
-<dt id='index-_002eafm'><span>&lsquo;<samp>afm</samp>&rsquo;<a href='#index-_002eafm' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-AFMFONTS"></span>
-<p>(Adobe font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>)
-<code>AFMFONTS</code>;
-suffix &lsquo;<samp>.afm</samp>&rsquo;.
+<dl class="table">
+<dt id='index-_002eafm'><span>&lsquo;<samp class="samp">afm</samp>&rsquo;<a class="copiable-link" href='#index-_002eafm'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-AFMFONTS"></a>
+<p>(Adobe font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>)
+<code class="code">AFMFONTS</code>;
+suffix &lsquo;<samp class="samp">.afm</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ebase'><span>&lsquo;<samp>base</samp>&rsquo;<a href='#index-_002ebase' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MFBASES"></span>
-<span id="index-TEXMFINI"></span>
-<p>(Metafont memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite>Web2c</cite>)
-<code>MFBASES</code>, <code>TEXMFINI</code>;
-suffix &lsquo;<samp>.base</samp>&rsquo;.
+<dt id='index-_002ebase'><span>&lsquo;<samp class="samp">base</samp>&rsquo;<a class="copiable-link" href='#index-_002ebase'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MFBASES"></a>
+<a class="index-entry-id" id="index-TEXMFINI"></a>
+<p>(Metafont memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MFBASES</code>, <code class="code">TEXMFINI</code>;
+suffix &lsquo;<samp class="samp">.base</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ebib'><span>&lsquo;<samp>bib</samp>&rsquo;<a href='#index-_002ebib' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-BIBINPUTS"></span>
-<span id="index-TEXBIB"></span>
-<p>(BibTeX bibliography source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#bibtex-invocation">bibtex invocation</a> in <cite>Web2c</cite>)
-<code>BIBINPUTS</code>, <code>TEXBIB</code>;
-suffix &lsquo;<samp>.bib</samp>&rsquo;.
+<dt id='index-_002ebib'><span>&lsquo;<samp class="samp">bib</samp>&rsquo;<a class="copiable-link" href='#index-_002ebib'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-BIBINPUTS"></a>
+<a class="index-entry-id" id="index-TEXBIB"></a>
+<p>(BibTeX bibliography source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#bibtex-invocation">bibtex invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">BIBINPUTS</code>, <code class="code">TEXBIB</code>;
+suffix &lsquo;<samp class="samp">.bib</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ebltxml'><span>&lsquo;<samp>bltxml</samp>&rsquo;<a href='#index-_002ebltxml' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-BLTXMLINPUTS"></span>
-<p>(BibLaTeXML bibliography files for Biber, <a href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>)
-<code>BLTXMLINPUTS</code>
-suffix &lsquo;<samp>.bltxml</samp>&rsquo;.
+<dt id='index-_002ebltxml'><span>&lsquo;<samp class="samp">bltxml</samp>&rsquo;<a class="copiable-link" href='#index-_002ebltxml'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-BLTXMLINPUTS"></a>
+<p>(BibLaTeXML bibliography files for Biber, <a class="url" href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>)
+<code class="code">BLTXMLINPUTS</code>
+suffix &lsquo;<samp class="samp">.bltxml</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ebst'><span>&lsquo;<samp>bst</samp>&rsquo;<a href='#index-_002ebst' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-BSTINPUTS"></span>
+<dt id='index-_002ebst'><span>&lsquo;<samp class="samp">bst</samp>&rsquo;<a class="copiable-link" href='#index-_002ebst'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-BSTINPUTS"></a>
<p>(BibTeX style, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Basic-BibTeX-style-files">Basic BibTeX
-style files</a> in <cite>Web2c</cite>)
-<code>BSTINPUTS</code>;
-suffix &lsquo;<samp>.bst</samp>&rsquo;.
+style files</a> in <cite class="cite">Web2c</cite>)
+<code class="code">BSTINPUTS</code>;
+suffix &lsquo;<samp class="samp">.bst</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002edll'><span>&lsquo;<samp>clua</samp>&rsquo;<a href='#index-_002edll' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002eso"></span>
-<span id="index-CLUAINPUTS"></span>
-<p>(dynamic libraries for Lua, <a href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>)
-<code>CLUAINPUTS</code>
-suffixes &lsquo;<samp>.dll</samp>&rsquo; and &lsquo;<samp>.so</samp>&rsquo;.
+<dt id='index-_002edll'><span>&lsquo;<samp class="samp">clua</samp>&rsquo;<a class="copiable-link" href='#index-_002edll'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002eso"></a>
+<a class="index-entry-id" id="index-CLUAINPUTS"></a>
+<p>(dynamic libraries for Lua, <a class="url" href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>)
+<code class="code">CLUAINPUTS</code>
+suffixes &lsquo;<samp class="samp">.dll</samp>&rsquo; and &lsquo;<samp class="samp">.so</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ecmap'><span>&lsquo;<samp>cmap</samp>&rsquo;<a href='#index-_002ecmap' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-CMAPFONTS"></span>
+<dt id='index-_002ecmap'><span>&lsquo;<samp class="samp">cmap</samp>&rsquo;<a class="copiable-link" href='#index-_002ecmap'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-CMAPFONTS"></a>
<p>(character map files)
-<code>CMAPFONTS</code>;
-suffix &lsquo;<samp>.cmap</samp>&rsquo;.
+<code class="code">CMAPFONTS</code>;
+suffix &lsquo;<samp class="samp">.cmap</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ecnf'><span>&lsquo;<samp>cnf</samp>&rsquo;<a href='#index-_002ecnf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXMFCNF-1"></span>
-<p>(Runtime configuration files, see <a href="#Config-files">Config files</a>)
-<code>TEXMFCNF</code>;
-suffix &lsquo;<samp>.cnf</samp>&rsquo;.
+<dt id='index-_002ecnf'><span>&lsquo;<samp class="samp">cnf</samp>&rsquo;<a class="copiable-link" href='#index-_002ecnf'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXMFCNF-1"></a>
+<p>(Runtime configuration files, see <a class="pxref" href="#Config-files">Config files</a>)
+<code class="code">TEXMFCNF</code>;
+suffix &lsquo;<samp class="samp">.cnf</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ew'><span>&lsquo;<samp>cweb</samp>&rsquo;<a href='#index-_002ew' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002eweb"></span>
-<span id="index-CWEBINPUTS"></span>
+<dt id='index-_002ew'><span>&lsquo;<samp class="samp">cweb</samp>&rsquo;<a class="copiable-link" href='#index-_002ew'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002eweb"></a>
+<a class="index-entry-id" id="index-CWEBINPUTS"></a>
<p>(CWEB input files)
-<code>CWEBINPUTS</code>;
-suffixes &lsquo;<samp>.w</samp>&rsquo;, &lsquo;<samp>.web</samp>&rsquo;;
-additional suffix &lsquo;<samp>.ch</samp>&rsquo;.
+<code class="code">CWEBINPUTS</code>;
+suffixes &lsquo;<samp class="samp">.w</samp>&rsquo;, &lsquo;<samp class="samp">.web</samp>&rsquo;;
+additional suffix &lsquo;<samp class="samp">.ch</samp>&rsquo;.
</p>
</dd>
-<dt id='index-TEXCONFIG'><span>&lsquo;<samp>dvips config</samp>&rsquo;<a href='#index-TEXCONFIG' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-config_002eps_002c-search-path-for"></span>
-<p>(Dvips &lsquo;<samp>config.*</samp>&rsquo; files, such as <samp>config.ps</samp>, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config
-files</a> in <cite>Dvips</cite>)
-<code>TEXCONFIG</code>.
+<dt id='index-TEXCONFIG'><span>&lsquo;<samp class="samp">dvips config</samp>&rsquo;<a class="copiable-link" href='#index-TEXCONFIG'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-config_002eps_002c-search-path-for"></a>
+<p>(Dvips &lsquo;<samp class="samp">config.*</samp>&rsquo; files, such as <samp class="file">config.ps</samp>, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config
+files</a> in <cite class="cite">Dvips</cite>)
+<code class="code">TEXCONFIG</code>.
</p>
</dd>
-<dt id='index-_002eenc'><span>&lsquo;<samp>enc files</samp>&rsquo;<a href='#index-_002eenc' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-ENCFONTS"></span>
+<dt id='index-_002eenc'><span>&lsquo;<samp class="samp">enc files</samp>&rsquo;<a class="copiable-link" href='#index-_002eenc'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-ENCFONTS"></a>
<p>(encoding vectors)
-<code>ENCFONTS</code>;
-suffix &lsquo;<samp>.enc</samp>&rsquo;.
+<code class="code">ENCFONTS</code>;
+suffix &lsquo;<samp class="samp">.enc</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002efmt'><span>&lsquo;<samp>fmt</samp>&rsquo;<a href='#index-_002efmt' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXFORMATS"></span>
-<span id="index-TEXMFINI-1"></span>
-<p>(TeX memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite>Web2c</cite>)
-<code>TEXFORMATS</code>, <code>TEXMFINI</code>;
-suffix &lsquo;<samp>.fmt</samp>&rsquo;.
+<dt id='index-_002efmt'><span>&lsquo;<samp class="samp">fmt</samp>&rsquo;<a class="copiable-link" href='#index-_002efmt'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXFORMATS"></a>
+<a class="index-entry-id" id="index-TEXMFINI-1"></a>
+<p>(TeX memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite class="cite">Web2c</cite>)
+<code class="code">TEXFORMATS</code>, <code class="code">TEXMFINI</code>;
+suffix &lsquo;<samp class="samp">.fmt</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002ecid'><span>&lsquo;<samp>font cid map</samp>&rsquo;<a href='#index-_002ecid' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-FONTCIDMAPS"></span>
+<dt id='index-_002ecid'><span>&lsquo;<samp class="samp">font cid map</samp>&rsquo;<a class="copiable-link" href='#index-_002ecid'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-FONTCIDMAPS"></a>
<p>(CJK mapping)
-<code>FONTCIDMAPS</code>
-suffix &lsquo;<samp>.cid</samp>&rsquo;.
+<code class="code">FONTCIDMAPS</code>
+suffix &lsquo;<samp class="samp">.cid</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002efea'><span>&lsquo;<samp>font feature files</samp>&rsquo;<a href='#index-_002efea' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-FONTFEATURES"></span>
+<dt id='index-_002efea'><span>&lsquo;<samp class="samp">font feature files</samp>&rsquo;<a class="copiable-link" href='#index-_002efea'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-FONTFEATURES"></a>
<p>(primarily for OpenType font features)
-<code>FONTFEATURES</code>
-suffix &lsquo;<samp>.fea</samp>&rsquo;.
+<code class="code">FONTFEATURES</code>
+suffix &lsquo;<samp class="samp">.fea</samp>&rsquo;.
</p>
</dd>
-<dt id='index-gf'><span>&lsquo;<samp>gf</samp>&rsquo;<a href='#index-gf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-GFFONTS"></span>
-<span id="index-GLYPHFONTS"></span>
-<span id="index-TEXFONTS"></span>
-<p>(generic font bitmap, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite>Dvips</cite>)
-<code><var>program</var>FONTS</code>, <code>GFFONTS</code>, <code>GLYPHFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>gf</samp>&rsquo;.
+<dt id='index-gf'><span>&lsquo;<samp class="samp">gf</samp>&rsquo;<a class="copiable-link" href='#index-gf'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-GFFONTS"></a>
+<a class="index-entry-id" id="index-GLYPHFONTS"></a>
+<a class="index-entry-id" id="index-TEXFONTS"></a>
+<p>(generic font bitmap, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite class="cite">Dvips</cite>)
+<code class="code"><var class="var">program</var>FONTS</code>, <code class="code">GFFONTS</code>, <code class="code">GLYPHFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">gf</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eeps'><span>&lsquo;<samp>graphic/figure</samp>&rsquo;<a href='#index-_002eeps' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002eepsi"></span>
-<span id="index-TEXPICTS"></span>
-<span id="index-TEXINPUTS"></span>
-<p>(Encapsulated PostScript figures, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#PostScript-figures">PostScript figures</a> in <cite>Dvips</cite>)
-<code>TEXPICTS</code>, <code>TEXINPUTS</code>;
-additional suffixes: &lsquo;<samp>.eps</samp>&rsquo;, &lsquo;<samp>.epsi</samp>&rsquo;.
+<dt id='index-_002eeps'><span>&lsquo;<samp class="samp">graphic/figure</samp>&rsquo;<a class="copiable-link" href='#index-_002eeps'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002eepsi"></a>
+<a class="index-entry-id" id="index-TEXPICTS"></a>
+<a class="index-entry-id" id="index-TEXINPUTS"></a>
+<p>(Encapsulated PostScript figures, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#PostScript-figures">PostScript figures</a> in <cite class="cite">Dvips</cite>)
+<code class="code">TEXPICTS</code>, <code class="code">TEXINPUTS</code>;
+additional suffixes: &lsquo;<samp class="samp">.eps</samp>&rsquo;, &lsquo;<samp class="samp">.epsi</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eist'><span>&lsquo;<samp>ist</samp>&rsquo;<a href='#index-_002eist' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXINDEXSTYLE"></span>
-<span id="index-INDEXSTYLE"></span>
+<dt id='index-_002eist'><span>&lsquo;<samp class="samp">ist</samp>&rsquo;<a class="copiable-link" href='#index-_002eist'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXINDEXSTYLE"></a>
+<a class="index-entry-id" id="index-INDEXSTYLE"></a>
<p>(makeindex style files)
-<code>TEXINDEXSTYLE</code>, <code>INDEXSTYLE</code>;
-suffix &lsquo;<samp>.ist</samp>&rsquo;.
+<code class="code">TEXINDEXSTYLE</code>, <code class="code">INDEXSTYLE</code>;
+suffix &lsquo;<samp class="samp">.ist</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002elig'><span>&lsquo;<samp>lig files</samp>&rsquo;<a href='#index-_002elig' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-LIGFONTS"></span>
+<dt id='index-_002elig'><span>&lsquo;<samp class="samp">lig files</samp>&rsquo;<a class="copiable-link" href='#index-_002elig'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-LIGFONTS"></a>
<p>(ligature definition files)
-<code>LIGFONTS</code>;
-suffix &lsquo;<samp>.lig</samp>&rsquo;.
+<code class="code">LIGFONTS</code>;
+suffix &lsquo;<samp class="samp">.lig</samp>&rsquo;.
</p>
</dd>
-<dt id='index-ls_002dR'><span>&lsquo;<samp>ls-R</samp>&rsquo;<a href='#index-ls_002dR' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXMFDBS-1"></span>
-<p>(Filename databases, see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>)
-<code>TEXMFDBS</code>.
+<dt id='index-ls_002dR'><span>&lsquo;<samp class="samp">ls-R</samp>&rsquo;<a class="copiable-link" href='#index-ls_002dR'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXMFDBS-1"></a>
+<p>(Filename databases, see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>)
+<code class="code">TEXMFDBS</code>.
</p>
</dd>
-<dt id='index-_002emap'><span>&lsquo;<samp>map</samp>&rsquo;<a href='#index-_002emap' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXFONTMAPS"></span>
-<p>(Fontmaps, see <a href="#Fontmap">Fontmap</a>)
-<code>TEXFONTMAPS</code>;
-suffix &lsquo;<samp>.map</samp>&rsquo;.
+<dt id='index-_002elua'><span>&lsquo;<samp class="samp">lua</samp>&rsquo;<a class="copiable-link" href='#index-_002elua'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002eluatex"></a>
+<a class="index-entry-id" id="index-_002eluc"></a>
+<a class="index-entry-id" id="index-_002eluctex"></a>
+<a class="index-entry-id" id="index-_002etexlua"></a>
+<a class="index-entry-id" id="index-_002etexluc"></a>
+<a class="index-entry-id" id="index-_002etlu"></a>
+<a class="index-entry-id" id="index-LUAINPUTS"></a>
+<p>(Lua scripts, <a class="url" href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>)
+<code class="code">LUAINPUTS</code>
+suffixes &lsquo;<samp class="samp">.lua</samp>&rsquo;, &lsquo;<samp class="samp">.luatex</samp>&rsquo;, &lsquo;<samp class="samp">.luc</samp>&rsquo;, &lsquo;<samp class="samp">.luctex</samp>&rsquo;,
+&lsquo;<samp class="samp">.texlua</samp>&rsquo;, &lsquo;<samp class="samp">.texluc</samp>&rsquo;, &lsquo;<samp class="samp">.tlu</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002emem'><span>&lsquo;<samp>mem</samp>&rsquo;<a href='#index-_002emem' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MPMEMS"></span>
-<span id="index-TEXMFINI-2"></span>
-<p>(MetaPost memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite>Web2c</cite>)
-<code>MPMEMS</code>, <code>TEXMFINI</code>;
-suffix &lsquo;<samp>.mem</samp>&rsquo;.
+<dt id='index-_002emap'><span>&lsquo;<samp class="samp">map</samp>&rsquo;<a class="copiable-link" href='#index-_002emap'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXFONTMAPS"></a>
+<p>(Fontmaps, see <a class="pxref" href="#Fontmap">Fontmap</a>)
+<code class="code">TEXFONTMAPS</code>;
+suffix &lsquo;<samp class="samp">.map</samp>&rsquo;.
</p>
</dd>
-<dt id='index-MPSUPPORT'><span>&lsquo;<samp><span class="roman">MetaPost support</span></samp>&rsquo;<a href='#index-MPSUPPORT' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(MetaPost support files, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dmp-invocation">dmp invocation</a> in <cite>Web2c</cite>)
-<code>MPSUPPORT</code>.
+<dt id='index-_002emem'><span>&lsquo;<samp class="samp">mem</samp>&rsquo;<a class="copiable-link" href='#index-_002emem'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MPMEMS"></a>
+<a class="index-entry-id" id="index-TEXMFINI-2"></a>
+<p>(MetaPost memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MPMEMS</code>, <code class="code">TEXMFINI</code>;
+suffix &lsquo;<samp class="samp">.mem</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002emf'><span>&lsquo;<samp>mf</samp>&rsquo;<a href='#index-_002emf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MFINPUTS"></span>
-<p>(Metafont source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mf-invocation">mf invocation</a> in <cite>Web2c</cite>)
-<code>MFINPUTS</code>;
-suffix &lsquo;<samp>.mf</samp>&rsquo;;
-dynamic creation program: <code>mktexmf</code>.
+<dt id='index-MPSUPPORT'><span>&lsquo;<samp class="samp"><span class="r">MetaPost support</span></samp>&rsquo;<a class="copiable-link" href='#index-MPSUPPORT'> &para;</a></span></dt>
+<dd><p>(MetaPost support files, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dmp-invocation">dmp invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MPSUPPORT</code>.
</p>
</dd>
-<dt id='index-_002epool'><span>&lsquo;<samp>mfpool</samp>&rsquo;<a href='#index-_002epool' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MFPOOL"></span>
-<p>(Metafont program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite>Web2c</cite>)
-<code>MFPOOL</code>, <code>TEXMFINI</code>;
-suffix &lsquo;<samp>.pool</samp>&rsquo;.
+<dt id='index-_002emf'><span>&lsquo;<samp class="samp">mf</samp>&rsquo;<a class="copiable-link" href='#index-_002emf'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MFINPUTS"></a>
+<p>(Metafont source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mf-invocation">mf invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MFINPUTS</code>;
+suffix &lsquo;<samp class="samp">.mf</samp>&rsquo;;
+dynamic creation program: <code class="code">mktexmf</code>.
</p>
</dd>
-<dt id='index-_002emft'><span>&lsquo;<samp>mft</samp>&rsquo;<a href='#index-_002emft' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MFTINPUTS"></span>
-<p>(<code>MFT</code> style file, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mft-invocation">mft invocation</a> in <cite>Web2c</cite>)
-<code>MFTINPUTS</code>;
-suffix &lsquo;<samp>.mft</samp>&rsquo;.
+<dt id='index-_002epool'><span>&lsquo;<samp class="samp">mfpool</samp>&rsquo;<a class="copiable-link" href='#index-_002epool'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MFPOOL"></a>
+<p>(Metafont program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MFPOOL</code>, <code class="code">TEXMFINI</code>;
+suffix &lsquo;<samp class="samp">.pool</samp>&rsquo;.
</p>
</dd>
-<dt id='index-MISCFONTS'><span>&lsquo;<samp>misc fonts</samp>&rsquo;<a href='#index-MISCFONTS' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002emft'><span>&lsquo;<samp class="samp">mft</samp>&rsquo;<a class="copiable-link" href='#index-_002emft'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MFTINPUTS"></a>
+<p>(<code class="code">MFT</code> style file, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mft-invocation">mft invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MFTINPUTS</code>;
+suffix &lsquo;<samp class="samp">.mft</samp>&rsquo;.
+</p>
+</dd>
+<dt id='index-MISCFONTS'><span>&lsquo;<samp class="samp">misc fonts</samp>&rsquo;<a class="copiable-link" href='#index-MISCFONTS'> &para;</a></span></dt>
<dd><p>(font-related files that don&rsquo;t fit the other categories)
-<code>MISCFONTS</code>
+<code class="code">MISCFONTS</code>
</p>
</dd>
-<dt id='index-_002emlbib'><span>&lsquo;<samp>mlbib</samp>&rsquo;<a href='#index-_002emlbib' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MLBIBINPUTS"></span>
-<span id="index-BIBINPUTS-1"></span>
-<span id="index-TEXBIB-1"></span>
+<dt id='index-_002emlbib'><span>&lsquo;<samp class="samp">mlbib</samp>&rsquo;<a class="copiable-link" href='#index-_002emlbib'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MLBIBINPUTS"></a>
+<a class="index-entry-id" id="index-BIBINPUTS-1"></a>
+<a class="index-entry-id" id="index-TEXBIB-1"></a>
<p>(MlBibTeX bibliography source)
-<code>MLBIBINPUTS</code>, <code>BIBINPUTS</code>, <code>TEXBIB</code>;
-suffixes &lsquo;<samp>.mlbib</samp>&rsquo;, &lsquo;<samp>.mlbib</samp>&rsquo;.
+<code class="code">MLBIBINPUTS</code>, <code class="code">BIBINPUTS</code>, <code class="code">TEXBIB</code>;
+suffixes &lsquo;<samp class="samp">.mlbib</samp>&rsquo;, &lsquo;<samp class="samp">.mlbib</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002emlbst'><span>&lsquo;<samp>mlbst</samp>&rsquo;<a href='#index-_002emlbst' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MLBSTINPUTS"></span>
-<span id="index-BSTINPUTS-1"></span>
+<dt id='index-_002emlbst'><span>&lsquo;<samp class="samp">mlbst</samp>&rsquo;<a class="copiable-link" href='#index-_002emlbst'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MLBSTINPUTS"></a>
+<a class="index-entry-id" id="index-BSTINPUTS-1"></a>
<p>(MlBibTeX style)
-<code>MLBSTINPUTS</code>, <code>BSTINPUTS</code>;
-suffixes &lsquo;<samp>.mlbst</samp>&rsquo;, &lsquo;<samp>.bst</samp>&rsquo;.
+<code class="code">MLBSTINPUTS</code>, <code class="code">BSTINPUTS</code>;
+suffixes &lsquo;<samp class="samp">.mlbst</samp>&rsquo;, &lsquo;<samp class="samp">.bst</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002emp'><span>&lsquo;<samp>mp</samp>&rsquo;<a href='#index-_002emp' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MPINPUTS"></span>
-<p>(MetaPost source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mpost-invocation">mpost invocation</a> in <cite>Web2c</cite>)
-<code>MPINPUTS</code>;
-suffix &lsquo;<samp>.mp</samp>&rsquo;.
+<dt id='index-_002emp'><span>&lsquo;<samp class="samp">mp</samp>&rsquo;<a class="copiable-link" href='#index-_002emp'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MPINPUTS"></a>
+<p>(MetaPost source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mpost-invocation">mpost invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MPINPUTS</code>;
+suffix &lsquo;<samp class="samp">.mp</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002epool-1'><span>&lsquo;<samp>mppool</samp>&rsquo;<a href='#index-_002epool-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-MPPOOL"></span>
-<p>(MetaPost program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite>Web2c</cite>)
-<code>MPPOOL</code>, <code>TEXMFINI</code>;
-suffix &lsquo;<samp>.pool</samp>&rsquo;.
+<dt id='index-_002epool-1'><span>&lsquo;<samp class="samp">mppool</samp>&rsquo;<a class="copiable-link" href='#index-_002epool-1'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-MPPOOL"></a>
+<p>(MetaPost program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">MPPOOL</code>, <code class="code">TEXMFINI</code>;
+suffix &lsquo;<samp class="samp">.pool</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eocp'><span>&lsquo;<samp>ocp</samp>&rsquo;<a href='#index-_002eocp' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-OCPINPUTS"></span>
+<dt id='index-_002eocp'><span>&lsquo;<samp class="samp">ocp</samp>&rsquo;<a class="copiable-link" href='#index-_002eocp'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-OCPINPUTS"></a>
<p>(Omega compiled process files)
-<code>OCPINPUTS</code>; <br>
-suffix &lsquo;<samp>.ocp</samp>&rsquo;;
-dynamic creation program: <code>MakeOmegaOCP</code>.
+<code class="code">OCPINPUTS</code>; <br>
+suffix &lsquo;<samp class="samp">.ocp</samp>&rsquo;;
+dynamic creation program: <code class="code">MakeOmegaOCP</code>.
</p>
</dd>
-<dt id='index-_002eofm'><span>&lsquo;<samp>ofm</samp>&rsquo;<a href='#index-_002eofm' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-OFMFONTS"></span>
+<dt id='index-_002eofm'><span>&lsquo;<samp class="samp">ofm</samp>&rsquo;<a class="copiable-link" href='#index-_002eofm'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-OFMFONTS"></a>
<p>(Omega font metrics)
-<code>OFMFONTS</code>, <code>TEXFONTS</code>; <br>
-suffixes &lsquo;<samp>.ofm</samp>&rsquo;, &lsquo;<samp>.tfm</samp>&rsquo;;
-dynamic creation program: <code>MakeOmegaOFM</code>.
+<code class="code">OFMFONTS</code>, <code class="code">TEXFONTS</code>; <br>
+suffixes &lsquo;<samp class="samp">.ofm</samp>&rsquo;, &lsquo;<samp class="samp">.tfm</samp>&rsquo;;
+dynamic creation program: <code class="code">MakeOmegaOFM</code>.
</p>
</dd>
-<dt id='index-OPENTYPEFONTS'><span>&lsquo;<samp>opentype fonts</samp>&rsquo;<a href='#index-OPENTYPEFONTS' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-OPENTYPEFONTS'><span>&lsquo;<samp class="samp">opentype fonts</samp>&rsquo;<a class="copiable-link" href='#index-OPENTYPEFONTS'> &para;</a></span></dt>
<dd><p>(OpenType fonts)
-<code>OPENTYPEFONTS</code>.
+<code class="code">OPENTYPEFONTS</code>.
</p>
</dd>
-<dt id='index-_002eopl'><span>&lsquo;<samp>opl</samp>&rsquo;<a href='#index-_002eopl' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-_002eopl'><span>&lsquo;<samp class="samp">opl</samp>&rsquo;<a class="copiable-link" href='#index-_002eopl'> &para;</a></span></dt>
<dd><p>(Omega property lists)
-<code>OPLFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>.opl</samp>&rsquo;.
+<code class="code">OPLFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">.opl</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eotp'><span>&lsquo;<samp>otp</samp>&rsquo;<a href='#index-_002eotp' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-OTPINPUTS"></span>
+<dt id='index-_002eotp'><span>&lsquo;<samp class="samp">otp</samp>&rsquo;<a class="copiable-link" href='#index-_002eotp'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-OTPINPUTS"></a>
<p>(Omega translation process files)
-<code>OTPINPUTS</code>;
-suffix &lsquo;<samp>.otp</samp>&rsquo;.
+<code class="code">OTPINPUTS</code>;
+suffix &lsquo;<samp class="samp">.otp</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eovf'><span>&lsquo;<samp>ovf</samp>&rsquo;<a href='#index-_002eovf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-OVFFONTS"></span>
+<dt id='index-_002eovf'><span>&lsquo;<samp class="samp">ovf</samp>&rsquo;<a class="copiable-link" href='#index-_002eovf'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-OVFFONTS"></a>
<p>(Omega virtual fonts)
-<code>OVFFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>.ovf</samp>&rsquo;.
+<code class="code">OVFFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">.ovf</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eovp'><span>&lsquo;<samp>ovp</samp>&rsquo;<a href='#index-_002eovp' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-OVPFONTS"></span>
+<dt id='index-_002eovp'><span>&lsquo;<samp class="samp">ovp</samp>&rsquo;<a class="copiable-link" href='#index-_002eovp'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-OVPFONTS"></a>
<p>(Omega virtual property lists)
-<code>OVPFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>.ovp</samp>&rsquo;.
+<code class="code">OVPFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">.ovp</samp>&rsquo;.
</p>
</dd>
-<dt id='index-PDFTEXCONFIG'><span>&lsquo;<samp>pdftex config</samp>&rsquo;<a href='#index-PDFTEXCONFIG' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-PDFTEXCONFIG'><span>&lsquo;<samp class="samp">pdftex config</samp>&rsquo;<a class="copiable-link" href='#index-PDFTEXCONFIG'> &para;</a></span></dt>
<dd><p>(PDFTeX-specific configuration files)
-<code>PDFTEXCONFIG</code>.
+<code class="code">PDFTEXCONFIG</code>.
</p>
</dd>
-<dt id='index-_002epk'><span>&lsquo;<samp>pk</samp>&rsquo;<a href='#index-_002epk' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-PKFONTS"></span>
-<span id="index-TEXPKS"></span>
-<span id="index-GLYPHFONTS-1"></span>
-<span id="index-TEXFONTS-1"></span>
-<p>(packed bitmap fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite>Dvips</cite>)
-<code><var>PROGRAM</var>FONTS</code> (<var>program</var> being &lsquo;<samp>XDVI</samp>&rsquo;, etc.),
-<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>pk</samp>&rsquo;;
-dynamic creation program: <code>mktexpk</code>.
+<dt id='index-_002epk'><span>&lsquo;<samp class="samp">pk</samp>&rsquo;<a class="copiable-link" href='#index-_002epk'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-PKFONTS"></a>
+<a class="index-entry-id" id="index-TEXPKS"></a>
+<a class="index-entry-id" id="index-GLYPHFONTS-1"></a>
+<a class="index-entry-id" id="index-TEXFONTS-1"></a>
+<p>(packed bitmap fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite class="cite">Dvips</cite>)
+<code class="code"><var class="var">PROGRAM</var>FONTS</code> (<var class="var">program</var> being &lsquo;<samp class="samp">XDVI</samp>&rsquo;, etc.),
+<code class="code">PKFONTS</code>, <code class="code">TEXPKS</code>, <code class="code">GLYPHFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">pk</samp>&rsquo;;
+dynamic creation program: <code class="code">mktexpk</code>.
</p>
</dd>
-<dt id='index-_002epro'><span>&lsquo;<samp>PostScript header</samp>&rsquo;<a href='#index-_002epro' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXPSHEADERS"></span>
-<span id="index-PSHEADERS"></span>
-<p>(downloadable PostScript, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Header-files">Header files</a> in <cite>Dvips</cite>)
-<code>TEXPSHEADERS</code>, <code>PSHEADERS</code>;
-additional suffix &lsquo;<samp>.pro</samp>&rsquo;.
+<dt id='index-_002epro'><span>&lsquo;<samp class="samp">PostScript header</samp>&rsquo;<a class="copiable-link" href='#index-_002epro'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXPSHEADERS"></a>
+<a class="index-entry-id" id="index-PSHEADERS"></a>
+<p>(downloadable PostScript, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Header-files">Header files</a> in <cite class="cite">Dvips</cite>)
+<code class="code">TEXPSHEADERS</code>, <code class="code">PSHEADERS</code>;
+additional suffix &lsquo;<samp class="samp">.pro</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eris'><span>&lsquo;<samp>ris</samp>&rsquo;<a href='#index-_002eris' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-RISINPUTS"></span>
-<p>(RIS bibliography files, primarily for Biber, <a href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>)
-<code>RISINPUTS</code>
-suffix &lsquo;<samp>.ris</samp>&rsquo;.
+<dt id='index-_002eris'><span>&lsquo;<samp class="samp">ris</samp>&rsquo;<a class="copiable-link" href='#index-_002eris'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-RISINPUTS"></a>
+<p>(RIS bibliography files, primarily for Biber, <a class="url" href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>)
+<code class="code">RISINPUTS</code>
+suffix &lsquo;<samp class="samp">.ris</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002esfd'><span>&lsquo;<samp>subfont definition files</samp>&rsquo;<a href='#index-_002esfd' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-SFDFONTS"></span>
+<dt id='index-_002esfd'><span>&lsquo;<samp class="samp">subfont definition files</samp>&rsquo;<a class="copiable-link" href='#index-_002esfd'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-SFDFONTS"></a>
<p>(subfont definition files)
-<code>SFDFONTS</code>
-suffix &lsquo;<samp>.sfd</samp>&rsquo;.
+<code class="code">SFDFONTS</code>
+suffix &lsquo;<samp class="samp">.sfd</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002etex'><span>&lsquo;<samp>tex</samp>&rsquo;<a href='#index-_002etex' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXINPUTS-1"></span>
-<p>(TeX source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite>Web2c</cite>)
-<code>TEXINPUTS</code>;
-suffix &lsquo;<samp>.tex</samp>&rsquo;;
+<dt id='index-_002etex'><span>&lsquo;<samp class="samp">tex</samp>&rsquo;<a class="copiable-link" href='#index-_002etex'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXINPUTS-1"></a>
+<p>(TeX source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">TEXINPUTS</code>;
+suffix &lsquo;<samp class="samp">.tex</samp>&rsquo;;
additional suffixes: none, because such a list cannot be complete;
-dynamic creation program: <code>mktextex</code>.
+dynamic creation program: <code class="code">mktextex</code>.
</p>
</dd>
-<dt id='index-doc-files'><span>&lsquo;<samp>TeX system documentation</samp>&rsquo;<a href='#index-doc-files' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXDOCS"></span>
+<dt id='index-doc-files'><span>&lsquo;<samp class="samp">TeX system documentation</samp>&rsquo;<a class="copiable-link" href='#index-doc-files'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXDOCS"></a>
<p>(Documentation files for the TeX system)
-<code>TEXDOCS</code>.
+<code class="code">TEXDOCS</code>.
</p>
</dd>
-<dt id='index-source-files'><span>&lsquo;<samp>TeX system sources</samp>&rsquo;<a href='#index-source-files' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXSOURCES"></span>
+<dt id='index-source-files'><span>&lsquo;<samp class="samp">TeX system sources</samp>&rsquo;<a class="copiable-link" href='#index-source-files'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXSOURCES"></a>
<p>(Source files for the TeX system)
-<code>TEXSOURCES</code>.
+<code class="code">TEXSOURCES</code>.
</p>
</dd>
-<dt id='index-TEXMFSCRIPTS'><span>&lsquo;<samp>texmfscripts</samp>&rsquo;<a href='#index-TEXMFSCRIPTS' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-TEXMFSCRIPTS'><span>&lsquo;<samp class="samp">texmfscripts</samp>&rsquo;<a class="copiable-link" href='#index-TEXMFSCRIPTS'> &para;</a></span></dt>
<dd><p>(Architecture-independent executables distributed in the texmf trees)
-<code>TEXMFSCRIPTS</code>.
+<code class="code">TEXMFSCRIPTS</code>.
</p>
</dd>
-<dt id='index-_002epool-2'><span>&lsquo;<samp>texpool</samp>&rsquo;<a href='#index-_002epool-2' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXPOOL"></span>
-<p>(TeX program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite>Web2c</cite>)
-<code>TEXPOOL</code>, <code>TEXMFINI</code>;
-suffix &lsquo;<samp>.pool</samp>&rsquo;.
+<dt id='index-_002epool-2'><span>&lsquo;<samp class="samp">texpool</samp>&rsquo;<a class="copiable-link" href='#index-_002epool-2'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXPOOL"></a>
+<p>(TeX program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">TEXPOOL</code>, <code class="code">TEXMFINI</code>;
+suffix &lsquo;<samp class="samp">.pool</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002etfm'><span>&lsquo;<samp>tfm</samp>&rsquo;<a href='#index-_002etfm' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TFMFONTS"></span>
-<span id="index-TEXFONTS-2"></span>
-<p>(TeX font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>)
-<code>TFMFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>.tfm</samp>&rsquo;;
-dynamic creation program: <code>mktextfm</code>.
+<dt id='index-_002etfm'><span>&lsquo;<samp class="samp">tfm</samp>&rsquo;<a class="copiable-link" href='#index-_002etfm'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TFMFONTS"></a>
+<a class="index-entry-id" id="index-TEXFONTS-2"></a>
+<p>(TeX font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>)
+<code class="code">TFMFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">.tfm</samp>&rsquo;;
+dynamic creation program: <code class="code">mktextfm</code>.
</p>
</dd>
-<dt id='index-TRFONTS'><span>&lsquo;<samp>Troff fonts</samp>&rsquo;<a href='#index-TRFONTS' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(Troff fonts, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#DMP-invocation">DMP invocation</a> in <cite>Web2c</cite>)
-<code>TRFONTS</code>.
+<dt id='index-TRFONTS'><span>&lsquo;<samp class="samp">Troff fonts</samp>&rsquo;<a class="copiable-link" href='#index-TRFONTS'> &para;</a></span></dt>
+<dd><p>(Troff fonts, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#DMP-invocation">DMP invocation</a> in <cite class="cite">Web2c</cite>)
+<code class="code">TRFONTS</code>.
</p>
</dd>
-<dt id='index-_002ettf'><span>&lsquo;<samp>truetype fonts</samp>&rsquo;<a href='#index-_002ettf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002ettc"></span>
-<span id="index-TTFONTS"></span>
-<p>(TrueType outline fonts) <code>TTFONTS</code>; suffixes &lsquo;<samp>.ttf</samp>&rsquo; and
-&lsquo;<samp>.TTF</samp>&rsquo;, &lsquo;<samp>.ttc</samp>&rsquo; and &lsquo;<samp>.TTC</samp>&rsquo;, &lsquo;<samp>.dfont</samp>&rsquo;.
+<dt id='index-_002ettf'><span>&lsquo;<samp class="samp">truetype fonts</samp>&rsquo;<a class="copiable-link" href='#index-_002ettf'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002ettc"></a>
+<a class="index-entry-id" id="index-TTFONTS"></a>
+<p>(TrueType outline fonts) <code class="code">TTFONTS</code>; suffixes &lsquo;<samp class="samp">.ttf</samp>&rsquo; and
+&lsquo;<samp class="samp">.TTF</samp>&rsquo;, &lsquo;<samp class="samp">.ttc</samp>&rsquo; and &lsquo;<samp class="samp">.TTC</samp>&rsquo;, &lsquo;<samp class="samp">.dfont</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002epfa'><span>&lsquo;<samp>type1 fonts</samp>&rsquo;<a href='#index-_002epfa' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002epfb"></span>
-<span id="index-T1FONTS"></span>
-<span id="index-T1INPUTS"></span>
-<span id="index-TEXPSHEADERS-1"></span>
-<span id="index-DVIPSHEADERS"></span>
-<p>(Type 1 PostScript outline fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite>Dvips</cite>)
-<code>T1FONTS</code>, <code>T1INPUTS</code>, <code>TEXPSHEADERS</code>, <code>DVIPSHEADERS</code>;
-suffixes &lsquo;<samp>.pfa</samp>&rsquo;, &lsquo;<samp>.pfb</samp>&rsquo;.
+<dt id='index-_002epfa'><span>&lsquo;<samp class="samp">type1 fonts</samp>&rsquo;<a class="copiable-link" href='#index-_002epfa'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002epfb"></a>
+<a class="index-entry-id" id="index-T1FONTS"></a>
+<a class="index-entry-id" id="index-T1INPUTS"></a>
+<a class="index-entry-id" id="index-TEXPSHEADERS-1"></a>
+<a class="index-entry-id" id="index-DVIPSHEADERS"></a>
+<p>(Type 1 PostScript outline fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite class="cite">Dvips</cite>)
+<code class="code">T1FONTS</code>, <code class="code">T1INPUTS</code>, <code class="code">TEXPSHEADERS</code>, <code class="code">DVIPSHEADERS</code>;
+suffixes &lsquo;<samp class="samp">.pfa</samp>&rsquo;, &lsquo;<samp class="samp">.pfb</samp>&rsquo;.
</p>
</dd>
-<dt id='index-T42FONTS'><span>&lsquo;<samp>type42 fonts</samp>&rsquo;<a href='#index-T42FONTS' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(Type 42 PostScript outline fonts) <code>T42FONTS</code>.
+<dt id='index-T42FONTS'><span>&lsquo;<samp class="samp">type42 fonts</samp>&rsquo;<a class="copiable-link" href='#index-T42FONTS'> &para;</a></span></dt>
+<dd><p>(Type 42 PostScript outline fonts) <code class="code">T42FONTS</code>.
</p>
</dd>
-<dt id='index-_002evf'><span>&lsquo;<samp>vf</samp>&rsquo;<a href='#index-_002evf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-VFFONTS"></span>
-<span id="index-TEXFONTS-3"></span>
-<p>(virtual fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite>Dvips</cite>)
-<code>VFFONTS</code>, <code>TEXFONTS</code>;
-suffix &lsquo;<samp>.vf</samp>&rsquo;.
+<dt id='index-_002evf'><span>&lsquo;<samp class="samp">vf</samp>&rsquo;<a class="copiable-link" href='#index-_002evf'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-VFFONTS"></a>
+<a class="index-entry-id" id="index-TEXFONTS-3"></a>
+<p>(virtual fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite class="cite">Dvips</cite>)
+<code class="code">VFFONTS</code>, <code class="code">TEXFONTS</code>;
+suffix &lsquo;<samp class="samp">.vf</samp>&rsquo;.
</p>
</dd>
-<dt id='index-_002eweb-1'><span>&lsquo;<samp>web</samp>&rsquo;<a href='#index-_002eweb-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-WEBINPUTS"></span>
+<dt id='index-_002eweb-1'><span>&lsquo;<samp class="samp">web</samp>&rsquo;<a class="copiable-link" href='#index-_002eweb-1'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-WEBINPUTS"></a>
<p>(WEB input files)
-<code>WEBINPUTS</code>;
-suffix &lsquo;<samp>.web</samp>&rsquo;;
-additional suffix &lsquo;<samp>.ch</samp>&rsquo;.
+<code class="code">WEBINPUTS</code>;
+suffix &lsquo;<samp class="samp">.web</samp>&rsquo;;
+additional suffix &lsquo;<samp class="samp">.ch</samp>&rsquo;.
</p>
</dd>
-<dt id='index-WEB2C'><span>&lsquo;<samp>web2c files</samp>&rsquo;<a href='#index-WEB2C' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-WEB2C'><span>&lsquo;<samp class="samp">web2c files</samp>&rsquo;<a class="copiable-link" href='#index-WEB2C'> &para;</a></span></dt>
<dd><p>(files specific to the web2c implementation)
-<code>WEB2C</code>.
+<code class="code">WEB2C</code>.
</p></dd>
</dl>
<p>There are two special cases, because the paths and environment variables
always depend on the name of the program: the variable name is
constructed by converting the program name to upper case, and then
-appending &lsquo;<samp>INPUTS</samp>&rsquo;. Assuming the program is called &lsquo;<samp>foo</samp>&rsquo;,
+appending &lsquo;<samp class="samp">INPUTS</samp>&rsquo;. Assuming the program is called &lsquo;<samp class="samp">foo</samp>&rsquo;,
this gives us the following table.
</p>
-<dl compact="compact">
-<dt id='index-FOOINPUTS'><span>&lsquo;<samp>other text files</samp>&rsquo;<a href='#index-FOOINPUTS' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(text files used by &lsquo;<samp>foo</samp>&rsquo;)
-<code>FOOINPUTS</code>.
+<dl class="table">
+<dt id='index-FOOINPUTS'><span>&lsquo;<samp class="samp">other text files</samp>&rsquo;<a class="copiable-link" href='#index-FOOINPUTS'> &para;</a></span></dt>
+<dd><p>(text files used by &lsquo;<samp class="samp">foo</samp>&rsquo;)
+<code class="code">FOOINPUTS</code>.
</p>
</dd>
-<dt id='index-FOOINPUTS-1'><span>&lsquo;<samp>other binary files</samp>&rsquo;<a href='#index-FOOINPUTS-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(binary files used by &lsquo;<samp>foo</samp>&rsquo;)
-<code>FOOINPUTS</code>.
+<dt id='index-FOOINPUTS-1'><span>&lsquo;<samp class="samp">other binary files</samp>&rsquo;<a class="copiable-link" href='#index-FOOINPUTS-1'> &para;</a></span></dt>
+<dd><p>(binary files used by &lsquo;<samp class="samp">foo</samp>&rsquo;)
+<code class="code">FOOINPUTS</code>.
</p></dd>
</dl>
<p>If an environment variable by these names are set, the corresponding
-<samp>texmf.cnf</samp> definition won&rsquo;t be looked at (unless, as usual, the
-environment variable value has an extra &lsquo;<samp>:</samp>&rsquo;). See <a href="#Default-expansion">Default expansion</a>.
+<samp class="file">texmf.cnf</samp> definition won&rsquo;t be looked at (unless, as usual, the
+environment variable value has an extra &lsquo;<samp class="samp">:</samp>&rsquo;). See <a class="xref" href="#Default-expansion">Default expansion</a>.
</p>
<p>For the font variables, the intent is that:
-</p><ul>
-<li> <code>TEXFONTS</code> is the default for everything.
+</p><ul class="itemize mark-bullet">
+<li><code class="code">TEXFONTS</code> is the default for everything.
-</li><li> <code>GLYPHFONTS</code> is the default for bitmap (or, more precisely,
+</li><li><code class="code">GLYPHFONTS</code> is the default for bitmap (or, more precisely,
non-metric) files.
-</li><li> Each font format has a variable of its own.
+</li><li>Each font format has a variable of its own.
-</li><li> <span id="index-XDVIFONTS"></span>
-<span id="index-DVIPSFONTS"></span>
+</li><li><a class="index-entry-id" id="index-XDVIFONTS"></a>
+<a class="index-entry-id" id="index-DVIPSFONTS"></a>
Each program has its own font override path as well; e.g.,
-<code>DVIPSFONTS</code> for Dvipsk. Again, this is for bitmaps, not metrics.
+<code class="code">DVIPSFONTS</code> for Dvipsk. Again, this is for bitmaps, not metrics.
</li></ul>
<hr>
</div>
-<div class="section" id="File-lookup">
-<div class="header">
+<div class="section-level-extent" id="File-lookup">
+<div class="nav-panel">
<p>
Next: <a href="#Glyph-lookup" accesskey="n" rel="next">Glyph lookup</a>, Previous: <a href="#Supported-file-formats" accesskey="p" rel="prev">Supported file formats</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="File-lookup-1"></span><h3 class="section">6.2 File lookup</h3>
+<h3 class="section" id="File-lookup-1">6.2 File lookup</h3>
-<span id="index-file-lookup"></span>
-<span id="index-searching-for-files"></span>
-<span id="index-TeX-file-lookup"></span>
+<a class="index-entry-id" id="index-file-lookup"></a>
+<a class="index-entry-id" id="index-searching-for-files"></a>
+<a class="index-entry-id" id="index-TeX-file-lookup"></a>
<p>This section describes how Kpathsea searches for most files (bitmap font
searches are the exception, as described in the next section).
</p>
-<p>Here is the search strategy for a file <var>name</var>:
+<p>Here is the search strategy for a file <var class="var">name</var>:
</p>
-<ol>
+<ol class="enumerate">
<li> If the file format defines default suffixes, and the suffix of
-<var>name</var> name is not already a known suffix for that format, try the
+<var class="var">name</var> name is not already a known suffix for that format, try the
name with each default appended, and use alternative names found in
-the fontmaps if necessary. Example: given &lsquo;<samp>foo.bar</samp>&rsquo;, look for
-&lsquo;<samp>foo.bar.tex</samp>&rsquo;.
+the fontmaps if necessary. Example: given &lsquo;<samp class="samp">foo.bar</samp>&rsquo;, look for
+&lsquo;<samp class="samp">foo.bar.tex</samp>&rsquo;.
-</li><li> Search for <var>name</var>, and if necessary for alternative names found in
-the fontmaps. Example: given &lsquo;<samp>foo.bar</samp>&rsquo;, we also look for
-&lsquo;<samp>foo.bar</samp>&rsquo;.
+</li><li> Search for <var class="var">name</var>, and if necessary for alternative names found in
+the fontmaps. Example: given &lsquo;<samp class="samp">foo.bar</samp>&rsquo;, we also look for
+&lsquo;<samp class="samp">foo.bar</samp>&rsquo;.
</li><li> If the file format defines a program to invoke to create missing files,
-run it (see <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>).
+run it (see <a class="pxref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>).
</li></ol>
-<span id="index-extensions_002c-filename"></span>
-<span id="index-suffixes_002c-filename"></span>
-<span id="index-try_005fstd_005fextension_005ffirst"></span>
+<a class="index-entry-id" id="index-extensions_002c-filename"></a>
+<a class="index-entry-id" id="index-suffixes_002c-filename"></a>
+<a class="index-entry-id" id="index-try_005fstd_005fextension_005ffirst"></a>
<p>The order in which we search for &ldquo;suffixed&rdquo; name (item&nbsp;1) or
the &ldquo;as-is&rdquo; name (item&nbsp;2) is controlled by the
-<samp>try_std_extension_first</samp> configuration value. The default set
-in <samp>texmf.cnf</samp> is true, since common suffixes are already
-recognized: &lsquo;<samp>babel.sty</samp>&rsquo; will only look for &lsquo;<samp>babel.sty</samp>&rsquo;, not
-&lsquo;<samp>babel.sty.tex</samp>&rsquo;, regardless of this setting.
+<samp class="file">try_std_extension_first</samp> configuration value. The default set
+in <samp class="file">texmf.cnf</samp> is true, since common suffixes are already
+recognized: &lsquo;<samp class="samp">babel.sty</samp>&rsquo; will only look for &lsquo;<samp class="samp">babel.sty</samp>&rsquo;, not
+&lsquo;<samp class="samp">babel.sty.tex</samp>&rsquo;, regardless of this setting.
</p>
-<p>When the suffix is unknown (e.g., &lsquo;<samp>foo.bar</samp>&rsquo;), both names are
+<p>When the suffix is unknown (e.g., &lsquo;<samp class="samp">foo.bar</samp>&rsquo;), both names are
always tried; the difference is the order in which they are tried.
</p>
-<p><samp>try_std_extension_first</samp> only affects names being looked up
+<p><samp class="file">try_std_extension_first</samp> only affects names being looked up
which *already* have an extension. A name without an extension (e.g.,
-&lsquo;<samp>tex story</samp>&rsquo;) will always have an extension added first.
+&lsquo;<samp class="samp">tex story</samp>&rsquo;) will always have an extension added first.
</p>
-<span id="index-tex_002dfile_002ec"></span>
-<span id="index-kpathsea_005ffind_005ffile"></span>
+<a class="index-entry-id" id="index-tex_002dfile_002ec"></a>
+<a class="index-entry-id" id="index-kpathsea_005ffind_005ffile"></a>
<p>This algorithm is implemented in the function
-<code>kpathsea_find_file</code> in the source file
-<samp>kpathsea/tex-file.c</samp>. You can watch it in action with the
-debugging options (see <a href="#Debugging">Debugging</a>).
+<code class="code">kpathsea_find_file</code> in the source file
+<samp class="file">kpathsea/tex-file.c</samp>. You can watch it in action with the
+debugging options (see <a class="pxref" href="#Debugging">Debugging</a>).
</p>
<hr>
</div>
-<div class="section" id="Glyph-lookup">
-<div class="header">
+<div class="section-level-extent" id="Glyph-lookup">
+<div class="nav-panel">
<p>
Next: <a href="#Suppressing-warnings" accesskey="n" rel="next">Suppressing warnings</a>, Previous: <a href="#File-lookup" accesskey="p" rel="prev">File lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Glyph-lookup-1"></span><h3 class="section">6.3 Glyph lookup</h3>
+<h3 class="section" id="Glyph-lookup-1">6.3 Glyph lookup</h3>
-<span id="index-glyph-lookup"></span>
-<span id="index-searching-for-glyphs"></span>
-<span id="index-TeX-glyph-lookup"></span>
+<a class="index-entry-id" id="index-glyph-lookup"></a>
+<a class="index-entry-id" id="index-searching-for-glyphs"></a>
+<a class="index-entry-id" id="index-TeX-glyph-lookup"></a>
<p>This section describes how Kpathsea searches for a bitmap font in GF or
-PK format (or either) given a font name (e.g., &lsquo;<samp>cmr10</samp>&rsquo;) and a
+PK format (or either) given a font name (e.g., &lsquo;<samp class="samp">cmr10</samp>&rsquo;) and a
resolution (e.g., 600).
</p>
<p>Here is an outline of the search strategy (details in the sections
-below) for a file <var>name</var> at resolution <var>dpi</var>. The search stops
+below) for a file <var class="var">name</var> at resolution <var class="var">dpi</var>. The search stops
at the first successful lookup.
</p>
-<ol>
-<li> Look for an existing file <var>name</var>.<var>dpi</var><var>format</var> in the
+<ol class="enumerate">
+<li> Look for an existing file <var class="var">name</var>.<var class="var">dpi</var><var class="var">format</var> in the
specified format(s).
-</li><li> If <var>name</var> is an alias for a file <var>f</var> in the fontmap
-file <samp>texfonts.map</samp>, look for <var>f</var>.<var>dpi</var>.
+</li><li> If <var class="var">name</var> is an alias for a file <var class="var">f</var> in the fontmap
+file <samp class="file">texfonts.map</samp>, look for <var class="var">f</var>.<var class="var">dpi</var>.
-</li><li> Run an external program (typically named &lsquo;<samp>mktexpk</samp>&rsquo;) to
-generate the font (see <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>)
+</li><li> Run an external program (typically named &lsquo;<samp class="samp">mktexpk</samp>&rsquo;) to
+generate the font (see <a class="pxref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>)
-</li><li> Look for <var>fallback</var>.<var>dpi</var>, where <var>fallback</var> is some
-last-resort font (typically &lsquo;<samp>cmr10</samp>&rsquo;).
+</li><li> Look for <var class="var">fallback</var>.<var class="var">dpi</var>, where <var class="var">fallback</var> is some
+last-resort font (typically &lsquo;<samp class="samp">cmr10</samp>&rsquo;).
</li></ol>
-<span id="index-tex_002dglyph_002ec"></span>
-<span id="index-kpathsea_005ffind_005fglyph"></span>
-<p>This is implemented in <code>kpathsea_find_glyph</code> in
-<samp>kpathsea/tex-glyph.c</samp>.
+<a class="index-entry-id" id="index-tex_002dglyph_002ec"></a>
+<a class="index-entry-id" id="index-kpathsea_005ffind_005fglyph"></a>
+<p>This is implemented in <code class="code">kpathsea_find_glyph</code> in
+<samp class="file">kpathsea/tex-glyph.c</samp>.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Basic-glyph-lookup" accesskey="1">Basic glyph lookup</a></li>
<li><a href="#Fontmap" accesskey="2">Fontmap</a></li>
<li><a href="#Fallback-font" accesskey="3">Fallback font</a></li>
</ul>
<hr>
-<div class="subsection" id="Basic-glyph-lookup">
-<div class="header">
+<div class="subsection-level-extent" id="Basic-glyph-lookup">
+<div class="nav-panel">
<p>
Next: <a href="#Fontmap" accesskey="n" rel="next">Fontmap</a>, Up: <a href="#Glyph-lookup" accesskey="u" rel="up">Glyph lookup</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Basic-glyph-lookup-1"></span><h4 class="subsection">6.3.1 Basic glyph lookup</h4>
+<h4 class="subsection" id="Basic-glyph-lookup-1">6.3.1 Basic glyph lookup</h4>
-<span id="index-basic-glyph-lookup"></span>
-<span id="index-common-features-in-glyph-lookup"></span>
+<a class="index-entry-id" id="index-basic-glyph-lookup"></a>
+<a class="index-entry-id" id="index-common-features-in-glyph-lookup"></a>
-<p>When Kpathsea looks for a bitmap font <var>name</var> at resolution <var>dpi</var>
-in a format <var>format</var>, it first checks each directory in the search
-path for a file &lsquo;<samp><var>name</var>.<var>dpi</var><var>format</var></samp>&rsquo;; for example,
-&lsquo;<samp>cmr10.600pk</samp>&rsquo;. Kpathsea looks for a PK file first, then a GF file.
+<p>When Kpathsea looks for a bitmap font <var class="var">name</var> at resolution <var class="var">dpi</var>
+in a format <var class="var">format</var>, it first checks each directory in the search
+path for a file &lsquo;<samp class="samp"><var class="var">name</var>.<var class="var">dpi</var><var class="var">format</var></samp>&rsquo;; for example,
+&lsquo;<samp class="samp">cmr10.600pk</samp>&rsquo;. Kpathsea looks for a PK file first, then a GF file.
</p>
<p>If that fails, Kpathsea looks for
-&lsquo;<samp>dpi<var>dpi</var>/<var>name</var>.<var>format</var></samp>&rsquo;; for example,
-&lsquo;<samp>dpi600/cmr10.pk</samp>&rsquo;. This is how fonts are typically stored on
+&lsquo;<samp class="samp">dpi<var class="var">dpi</var>/<var class="var">name</var>.<var class="var">format</var></samp>&rsquo;; for example,
+&lsquo;<samp class="samp">dpi600/cmr10.pk</samp>&rsquo;. This is how fonts are typically stored on
filesystems (such as DOS) that permit only three-character extensions.
</p>
-<span id="index-tolerance-for-glyph-lookup"></span>
-<span id="index-glyph-lookup-bitmap-tolerance"></span>
-<span id="index-KPSE_005fBITMAP_005fTOLERANCE"></span>
-<p>If that fails, Kpathsea looks for a font with a close-enough <var>dpi</var>.
-&ldquo;Close enough&rdquo; is defined by the macro <code>KPSE_BITMAP_TOLERANCE</code> in
-<samp>kpathsea/tex-glyph.h</samp> to be <code><var>dpi</var> / 500 + 1</code>. This is
+<a class="index-entry-id" id="index-tolerance-for-glyph-lookup"></a>
+<a class="index-entry-id" id="index-glyph-lookup-bitmap-tolerance"></a>
+<a class="index-entry-id" id="index-KPSE_005fBITMAP_005fTOLERANCE"></a>
+<p>If that fails, Kpathsea looks for a font with a close-enough <var class="var">dpi</var>.
+&ldquo;Close enough&rdquo; is defined by the macro <code class="code">KPSE_BITMAP_TOLERANCE</code> in
+<samp class="file">kpathsea/tex-glyph.h</samp> to be <code class="code"><var class="var">dpi</var> / 500 + 1</code>. This is
slightly more than the 0.2% minimum allowed by the DVI standard
-(<a href="CTAN:/dviware/driv-standard/level-0">CTAN:/dviware/driv-standard/level-0</a>).
+(<a class="url" href="CTAN:/dviware/driv-standard/level-0">CTAN:/dviware/driv-standard/level-0</a>).
</p>
<hr>
</div>
-<div class="subsection" id="Fontmap">
-<div class="header">
+<div class="subsection-level-extent" id="Fontmap">
+<div class="nav-panel">
<p>
Next: <a href="#Fallback-font" accesskey="n" rel="next">Fallback font</a>, Previous: <a href="#Basic-glyph-lookup" accesskey="p" rel="prev">Basic glyph lookup</a>, Up: <a href="#Glyph-lookup" accesskey="u" rel="up">Glyph lookup</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Fontmap-1"></span><h4 class="subsection">6.3.2 Fontmap</h4>
+<h4 class="subsection" id="Fontmap-1">6.3.2 Fontmap</h4>
-<span id="index-fontmap-files"></span>
-<span id="index-font-alias-files"></span>
-<span id="index-aliases-for-fonts"></span>
+<a class="index-entry-id" id="index-fontmap-files"></a>
+<a class="index-entry-id" id="index-font-alias-files"></a>
+<a class="index-entry-id" id="index-aliases-for-fonts"></a>
-<span id="index-texfonts_002emap"></span>
+<a class="index-entry-id" id="index-texfonts_002emap"></a>
<p>If a bitmap font or metric file is not found with the original name (see
-the previous section), Kpathsea looks through any <em>fontmap</em> files
-for an <em>alias</em> for the original font name. These files are named
-<samp>texfonts.map</samp> and searched for along the <code>TEXFONTMAPS</code>
-environment/config file variable. All <samp>texfonts.map</samp> files that
+the previous section), Kpathsea looks through any <em class="dfn">fontmap</em> files
+for an <em class="dfn">alias</em> for the original font name. These files are named
+<samp class="file">texfonts.map</samp> and searched for along the <code class="code">TEXFONTMAPS</code>
+environment/config file variable. All <samp class="file">texfonts.map</samp> files that
are found are read; earlier definitions override later ones.
</p>
<p>This feature is intended to help in two respects:
</p>
-<ol>
-<li> <span id="index-fontnames_002c-arbitrary-length"></span>
+<ol class="enumerate">
+<li> <a class="index-entry-id" id="index-fontnames_002c-arbitrary-length"></a>
An alias name is limited in length only by available memory, not by your
-filesystem. Therefore, if you want to ask for &lsquo;<samp>Times-Roman</samp>&rsquo;
-instead of <samp>ptmr</samp>, you can (you get &lsquo;<samp>ptmr8r</samp>&rsquo;).
+filesystem. Therefore, if you want to ask for &lsquo;<samp class="samp">Times-Roman</samp>&rsquo;
+instead of <samp class="file">ptmr</samp>, you can (you get &lsquo;<samp class="samp">ptmr8r</samp>&rsquo;).
-</li><li> <span id="index-circle-fonts"></span>
-<span id="index-lcircle10"></span>
+</li><li> <a class="index-entry-id" id="index-circle-fonts"></a>
+<a class="index-entry-id" id="index-lcircle10"></a>
A few fonts have historically had multiple names: specifically,
-LaTeX&rsquo;s &ldquo;circle font&rdquo; has variously been known as <samp>circle10</samp>,
-<samp>lcircle10</samp>, and <samp>lcirc10</samp>. Aliases can make all the names
+LaTeX&rsquo;s &ldquo;circle font&rdquo; has variously been known as <samp class="file">circle10</samp>,
+<samp class="file">lcircle10</samp>, and <samp class="file">lcirc10</samp>. Aliases can make all the names
equivalent, so that it no longer matters what the name of the installed
file is; TeX documents will find their favorite name.
@@ -2886,41 +2895,41 @@ file is; TeX documents will find their favorite name.
<p>The format of fontmap files:
</p>
-<ul>
-<li> <span id="index-comments_002c-in-fontmap-files"></span>
-Comments start with the last &lsquo;<samp>%</samp>&rsquo; on a line and continue to
+<ul class="itemize mark-bullet">
+<li><a class="index-entry-id" id="index-comments_002c-in-fontmap-files"></a>
+Comments start with the last &lsquo;<samp class="samp">%</samp>&rsquo; on a line and continue to
the end of the line. (This provides for names that include a %,
ill-advised as that may be.)
-</li><li> <span id="index-whitespace_002c-in-fontmap-files"></span>
+</li><li><a class="index-entry-id" id="index-whitespace_002c-in-fontmap-files"></a>
Blank lines are ignored.
-</li><li> Each nonblank line is broken up into a series of <em>words</em>:
+</li><li>Each nonblank line is broken up into a series of <em class="dfn">words</em>:
a sequence of non-whitespace characters.
-</li><li> <span id="index-include-fontmap-directive"></span>
-If the first word is &lsquo;<samp>include</samp>&rsquo;, the second word is used as
+</li><li><a class="index-entry-id" id="index-include-fontmap-directive"></a>
+If the first word is &lsquo;<samp class="samp">include</samp>&rsquo;, the second word is used as
a filename, and it is searched for and read.
-</li><li> Otherwise, the first word on each line is the true filename;
+</li><li>Otherwise, the first word on each line is the true filename;
-</li><li> the second word is the alias;
+</li><li>the second word is the alias;
-</li><li> subsequent words are ignored.
+</li><li>subsequent words are ignored.
</li></ul>
<p>If an alias has an extension, it matches only those files with that
extension; otherwise, it matches anything with the same root, regardless
-of extension. For example, an alias &lsquo;<samp>foo.tfm</samp>&rsquo; matches only when
-<samp>foo.tfm</samp> is being searched for; but an alias &lsquo;<samp>foo</samp>&rsquo; matches
-<samp>foo.vf</samp>, <samp>foo.600pk</samp>, etc.
+of extension. For example, an alias &lsquo;<samp class="samp">foo.tfm</samp>&rsquo; matches only when
+<samp class="file">foo.tfm</samp> is being searched for; but an alias &lsquo;<samp class="samp">foo</samp>&rsquo; matches
+<samp class="file">foo.vf</samp>, <samp class="file">foo.600pk</samp>, etc.
</p>
-<p>As an example, here is an excerpt from the <samp>texfonts.map</samp> in the
+<p>As an example, here is an excerpt from the <samp class="file">texfonts.map</samp> in the
Web2c distribution. It makes the old and new names of the LaTeX
circle fonts equivalent.
</p>
<div class="example">
-<pre class="example">circle10 lcircle10
+<pre class="example-preformatted">circle10 lcircle10
circle10 lcirc10
lcircle10 circle10
lcircle10 lcirc10
@@ -2929,129 +2938,129 @@ lcirc10 lcircle10
&hellip;
</pre></div>
-<p>Fontmaps are implemented in the file <samp>kpathsea/fontmap.c</samp>.
+<p>Fontmaps are implemented in the file <samp class="file">kpathsea/fontmap.c</samp>.
The Fontname distribution has much more information on font naming
-(see <cite><a data-manual="fontname" href="fontname.html#Top">Filenames for TeX fonts</a></cite>).
+(see <cite class="cite"><a data-manual="fontname" href="fontname.html#Top">Filenames for TeX fonts</a></cite>).
</p>
<hr>
</div>
-<div class="subsection" id="Fallback-font">
-<div class="header">
+<div class="subsection-level-extent" id="Fallback-font">
+<div class="nav-panel">
<p>
Previous: <a href="#Fontmap" accesskey="p" rel="prev">Fontmap</a>, Up: <a href="#Glyph-lookup" accesskey="u" rel="up">Glyph lookup</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Fallback-font-1"></span><h4 class="subsection">6.3.3 Fallback font</h4>
-
-<span id="index-fallback-font"></span>
-<span id="index-fallback-resolutions"></span>
-<span id="index-font-of-last-resort"></span>
-<span id="index-resolutions_002c-last_002dresort"></span>
-<span id="index-last_002dresort-font"></span>
-
-<span id="index-DVIPSSIZES"></span>
-<span id="index-XDVISIZES"></span>
-<span id="index-DVILJSIZES"></span>
-<span id="index-TEXSIZES"></span>
-<span id="index-default_005ftexsizes"></span>
+<h4 class="subsection" id="Fallback-font-1">6.3.3 Fallback font</h4>
+
+<a class="index-entry-id" id="index-fallback-font"></a>
+<a class="index-entry-id" id="index-fallback-resolutions"></a>
+<a class="index-entry-id" id="index-font-of-last-resort"></a>
+<a class="index-entry-id" id="index-resolutions_002c-last_002dresort"></a>
+<a class="index-entry-id" id="index-last_002dresort-font"></a>
+
+<a class="index-entry-id" id="index-DVIPSSIZES"></a>
+<a class="index-entry-id" id="index-XDVISIZES"></a>
+<a class="index-entry-id" id="index-DVILJSIZES"></a>
+<a class="index-entry-id" id="index-TEXSIZES"></a>
+<a class="index-entry-id" id="index-default_005ftexsizes"></a>
<p>If a bitmap font cannot be found or created at the requested size,
-Kpathsea looks for the font at a set of <em>fallback resolutions</em>. You
+Kpathsea looks for the font at a set of <em class="dfn">fallback resolutions</em>. You
specify these resolutions as a colon-separated list (like search paths).
Kpathsea looks first for a program-specific environment variable (e.g.,
-<code>DVIPSSIZES</code> for Dvipsk), then the environment variable
-<code>TEXSIZES</code>, then a default specified at compilation time (the Make
-variable <code>default_texsizes</code>). You can set this list to be empty if
+<code class="code">DVIPSSIZES</code> for Dvipsk), then the environment variable
+<code class="code">TEXSIZES</code>, then a default specified at compilation time (the Make
+variable <code class="code">default_texsizes</code>). You can set this list to be empty if
you prefer to find fonts at their stated size or not at all.
</p>
-<span id="index-cmr10_002c-as-fallback-font"></span>
-<span id="index-kpathsea_005finit_005fprog"></span>
+<a class="index-entry-id" id="index-cmr10_002c-as-fallback-font"></a>
+<a class="index-entry-id" id="index-kpathsea_005finit_005fprog"></a>
<p>Finally, if the font cannot be found even at the fallback resolutions,
-Kpathsea looks for a fallback font, typically <samp>cmr10</samp>. Programs
-must enable this feature by calling <code>kpathsea_init_prog</code>
-(see <a href="#Calling-sequence">Calling sequence</a>); the default is no fallback font.
+Kpathsea looks for a fallback font, typically <samp class="file">cmr10</samp>. Programs
+must enable this feature by calling <code class="code">kpathsea_init_prog</code>
+(see <a class="pxref" href="#Calling-sequence">Calling sequence</a>); the default is no fallback font.
</p>
<hr>
</div>
</div>
-<div class="section" id="Suppressing-warnings">
-<div class="header">
+<div class="section-level-extent" id="Suppressing-warnings">
+<div class="nav-panel">
<p>
-Next: <a href="#mktex-scripts" accesskey="n" rel="next"><samp>mktex</samp> scripts</a>, Previous: <a href="#Glyph-lookup" accesskey="p" rel="prev">Glyph lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#mktex-scripts" accesskey="n" rel="next"><samp class="file">mktex</samp> scripts</a>, Previous: <a href="#Glyph-lookup" accesskey="p" rel="prev">Glyph lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Suppressing-warnings-1"></span><h3 class="section">6.4 Suppressing warnings</h3>
+<h3 class="section" id="Suppressing-warnings-1">6.4 Suppressing warnings</h3>
-<span id="index-warnings_002c-suppressing"></span>
-<span id="index-suppressing-warnings"></span>
+<a class="index-entry-id" id="index-warnings_002c-suppressing"></a>
+<a class="index-entry-id" id="index-suppressing-warnings"></a>
-<span id="index-TEX_005fHUSH-1"></span>
+<a class="index-entry-id" id="index-TEX_005fHUSH-1"></a>
<p>Kpathsea provides a way to suppress selected usually-harmless warnings;
this is useful at large sites where most users are not administrators,
and thus the warnings are merely a source of confusion, not a help. To
do this, you set the environment variable or configuration file value
-<code>TEX_HUSH</code> to a colon-separated list of values. Here are the
+<code class="code">TEX_HUSH</code> to a colon-separated list of values. Here are the
possibilities:
</p>
-<dl compact="compact">
-<dt id='index-all'><span>&lsquo;<samp>all</samp>&rsquo;<a href='#index-all' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="vtable">
+<dt id='index-all'><span>&lsquo;<samp class="samp">all</samp>&rsquo;<a class="copiable-link" href='#index-all'> &para;</a></span></dt>
<dd><p>Suppress everything possible.
</p>
</dd>
-<dt id='index-checksum'><span>&lsquo;<samp>checksum</samp>&rsquo;<a href='#index-checksum' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-mismatched-checksum-warnings"></span>
+<dt id='index-checksum'><span>&lsquo;<samp class="samp">checksum</samp>&rsquo;<a class="copiable-link" href='#index-checksum'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-mismatched-checksum-warnings"></a>
<p>Suppress mismatched font checksum warnings.
</p>
</dd>
-<dt id='index-lostchar'><span>&lsquo;<samp>lostchar</samp>&rsquo;<a href='#index-lostchar' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-missing-character-warnings"></span>
+<dt id='index-lostchar'><span>&lsquo;<samp class="samp">lostchar</samp>&rsquo;<a class="copiable-link" href='#index-lostchar'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-missing-character-warnings"></a>
<p>Suppress warnings when a character is missing from a font that a DVI or
VF file tries to typeset.
</p>
</dd>
-<dt id='index-none'><span>&lsquo;<samp>none</samp>&rsquo;<a href='#index-none' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-none'><span>&lsquo;<samp class="samp">none</samp>&rsquo;<a class="copiable-link" href='#index-none'> &para;</a></span></dt>
<dd><p>Don&rsquo;t suppress any warnings.
</p>
</dd>
-<dt id='index-readable'><span>&lsquo;<samp>readable</samp>&rsquo;<a href='#index-readable' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-unreadable-file-warnings"></span>
+<dt id='index-readable'><span>&lsquo;<samp class="samp">readable</samp>&rsquo;<a class="copiable-link" href='#index-readable'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-unreadable-file-warnings"></a>
<p>Suppress warnings about attempts to access a file whose permissions
render it unreadable.
</p>
</dd>
-<dt id='index-special'><span>&lsquo;<samp>special</samp>&rsquo;<a href='#index-special' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-unknown-special-warnings"></span>
-<span id="index-_005cspecial_002c-suppressing-warnings-about"></span>
+<dt id='index-special'><span>&lsquo;<samp class="samp">special</samp>&rsquo;<a class="copiable-link" href='#index-special'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-unknown-special-warnings"></a>
+<a class="index-entry-id" id="index-_005cspecial_002c-suppressing-warnings-about"></a>
<p>Suppresses warnings about an unimplemented or unparsable
-&lsquo;<samp>\special</samp>&rsquo; command.
+&lsquo;<samp class="samp">\special</samp>&rsquo; command.
</p></dd>
</dl>
-<p><samp>tex-hush.c</samp> defines the function that checks the
+<p><samp class="file">tex-hush.c</samp> defines the function that checks the
variable value. Each driver implements its own checks where
appropriate.
</p>
<hr>
</div>
-<div class="section" id="mktex-scripts">
-<div class="header">
+<div class="section-level-extent" id="mktex-scripts">
+<div class="nav-panel">
<p>
Previous: <a href="#Suppressing-warnings" accesskey="p" rel="prev">Suppressing warnings</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="mktex-scripts-1"></span><h3 class="section">6.5 <samp>mktex</samp> scripts</h3>
+<h3 class="section" id="mktex-scripts-1">6.5 <samp class="file">mktex</samp> scripts</h3>
-<span id="index-mktex-scripts"></span>
-<span id="index-scripts-for-file-creation"></span>
+<a class="index-entry-id" id="index-mktex-scripts"></a>
+<a class="index-entry-id" id="index-scripts-for-file-creation"></a>
-<span id="index-font-set_002c-infinite"></span>
-<span id="index-dynamic-creation-of-files"></span>
-<span id="index-Sauter-fonts_002c-and-dynamic-source-creation"></span>
-<span id="index-EC-fonts_002c-and-dynamic-source-creation"></span>
+<a class="index-entry-id" id="index-font-set_002c-infinite"></a>
+<a class="index-entry-id" id="index-dynamic-creation-of-files"></a>
+<a class="index-entry-id" id="index-Sauter-fonts_002c-and-dynamic-source-creation"></a>
+<a class="index-entry-id" id="index-EC-fonts_002c-and-dynamic-source-creation"></a>
<p>If Kpathsea cannot otherwise find a file, for some file types it is
configured by default to invoke an external program to create it
-dynamically (see <a href="#mktex-configuration"><samp>mktex</samp> configuration</a>). These are collectively
-known as <em><code>mktex</code> scripts</em>, since most of them are named
-<code>mktex...</code>.
+dynamically (see <a class="pxref" href="#mktex-configuration"><samp class="file">mktex</samp> configuration</a>). These are collectively
+known as <em class="dfn"><code class="code">mktex</code> scripts</em>, since most of them are named
+<code class="code">mktex...</code>.
</p>
<p>For example, this is useful for fonts (bitmaps, TFM&rsquo;s, and
arbitrarily-sizable Metafont sources such as the Sauter and EC fonts),
@@ -3059,9 +3068,9 @@ since any given document can use fonts never before referenced.
Building all fonts in advance is therefore impractical, if not
impossible.
</p>
-<p>It is also useful for the TeX &lsquo;<samp>.fmt</samp>&rsquo; (and Metafont
-&lsquo;<samp>.base</samp>&rsquo; and Metapost &lsquo;<samp>.mem</samp>&rsquo; files, see <a data-manual="Web2c" href="Web2c.html#Memory-dumps">Memory
-dumps</a> in <cite>web2c</cite>), where pre-generating every format consumes a
+<p>It is also useful for the TeX &lsquo;<samp class="samp">.fmt</samp>&rsquo; (and Metafont
+&lsquo;<samp class="samp">.base</samp>&rsquo; and Metapost &lsquo;<samp class="samp">.mem</samp>&rsquo; files, see <a data-manual="Web2c" href="Web2c.html#Memory-dumps">Memory
+dumps</a> in <cite class="cite">web2c</cite>), where pre-generating every format consumes a
lot of both time and space.
</p>
<p>The script is passed the name of the file to create and possibly other
@@ -3071,40 +3080,40 @@ diagnostics to standard error.
</p>
-<ul class="section-toc">
-<li><a href="#mktex-configuration" accesskey="1"><samp>mktex</samp> configuration</a></li>
-<li><a href="#mktex-script-names" accesskey="2"><samp>mktex</samp> script names</a></li>
-<li><a href="#mktex-script-arguments" accesskey="3"><samp>mktex</samp> script arguments</a></li>
+<ul class="mini-toc">
+<li><a href="#mktex-configuration" accesskey="1"><samp class="file">mktex</samp> configuration</a></li>
+<li><a href="#mktex-script-names" accesskey="2"><samp class="file">mktex</samp> script names</a></li>
+<li><a href="#mktex-script-arguments" accesskey="3"><samp class="file">mktex</samp> script arguments</a></li>
</ul>
<hr>
-<div class="subsection" id="mktex-configuration">
-<div class="header">
+<div class="subsection-level-extent" id="mktex-configuration">
+<div class="nav-panel">
<p>
-Next: <a href="#mktex-script-names" accesskey="n" rel="next"><samp>mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp>mktex</samp> scripts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#mktex-script-names" accesskey="n" rel="next"><samp class="file">mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp class="file">mktex</samp> scripts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="mktex-configuration-1"></span><h4 class="subsection">6.5.1 <samp>mktex</samp> configuration</h4>
+<h4 class="subsection" id="mktex-configuration-1">6.5.1 <samp class="file">mktex</samp> configuration</h4>
-<span id="index-mktex-script-configuration"></span>
-<span id="index-configuration-of-mktex-scripts"></span>
-<span id="index-enabling-mktex-scripts"></span>
-<span id="index-disabling-mktex-scripts"></span>
+<a class="index-entry-id" id="index-mktex-script-configuration"></a>
+<a class="index-entry-id" id="index-configuration-of-mktex-scripts"></a>
+<a class="index-entry-id" id="index-enabling-mktex-scripts"></a>
+<a class="index-entry-id" id="index-disabling-mktex-scripts"></a>
<p>The list of file types and program names that can run an external
program to create missing files is listed in the next section. In the
-absence of <code>configure</code> options specifying otherwise, everything
-but <samp>mktextex</samp> will be enabled by default. The <code>configure</code>
+absence of <code class="code">configure</code> options specifying otherwise, everything
+but <samp class="file">mktextex</samp> will be enabled by default. The <code class="code">configure</code>
options to change the defaults are:
</p>
-<span id="index-configure-options-for-mktex-scripts"></span>
-<span id="index-_002d_002dwithout_002dmktexfmt_002ddefault"></span>
-<span id="index-_002d_002dwithout_002dmktexmf_002ddefault"></span>
-<span id="index-_002d_002dwithout_002dmktexocp_002ddefault"></span>
-<span id="index-_002d_002dwithout_002dmktexofm_002ddefault"></span>
-<span id="index-_002d_002dwithout_002dmktexpk_002ddefault"></span>
-<span id="index-_002d_002dwithout_002dmktextfm_002ddefault"></span>
-<span id="index-_002d_002dwith_002dmktextex_002ddefault"></span>
+<a class="index-entry-id" id="index-configure-options-for-mktex-scripts"></a>
+<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexfmt_002ddefault"></a>
+<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexmf_002ddefault"></a>
+<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexocp_002ddefault"></a>
+<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexofm_002ddefault"></a>
+<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexpk_002ddefault"></a>
+<a class="index-entry-id" id="index-_002d_002dwithout_002dmktextfm_002ddefault"></a>
+<a class="index-entry-id" id="index-_002d_002dwith_002dmktextex_002ddefault"></a>
<div class="example">
-<pre class="example">--without-mktexfmt-default
+<pre class="example-preformatted">--without-mktexfmt-default
--without-mktexmf-default
--without-mktexocp-default
--without-mktexofm-default
@@ -3113,264 +3122,264 @@ options to change the defaults are:
--with-mktextex-default
</pre></div>
-<p>The <code>configure</code> setting is overridden if the environment variable
+<p>The <code class="code">configure</code> setting is overridden if the environment variable
or configuration file value named for the script is set; e.g.,
-<samp>MKTEXPK</samp> (see <a href="#mktex-script-arguments"><samp>mktex</samp> script arguments</a>).
+<samp class="file">MKTEXPK</samp> (see <a class="pxref" href="#mktex-script-arguments"><samp class="file">mktex</samp> script arguments</a>).
</p>
-<span id="index-fmtutils_002ecnf"></span>
-<p><code>mktexfmt</code> reads a file <samp>fmtutil.cnf</samp>, typically located in
-<samp>texmf/web2c/</samp> to glean its configuration information. The rest
+<a class="index-entry-id" id="index-fmtutils_002ecnf"></a>
+<p><code class="code">mktexfmt</code> reads a file <samp class="file">fmtutil.cnf</samp>, typically located in
+<samp class="file">texmf/web2c/</samp> to glean its configuration information. The rest
of the files and features in this section are primarily intended for
the font generation scripts.
</p>
-<span id="index-mktex_002ecnf-1"></span>
-<span id="index-mktex_002eopt"></span>
-<span id="index-site-overrides-for-mktex_2026"></span>
+<a class="index-entry-id" id="index-mktex_002ecnf-1"></a>
+<a class="index-entry-id" id="index-mktex_002eopt"></a>
+<a class="index-entry-id" id="index-site-overrides-for-mktex_2026"></a>
<p>As distributed, all the scripts source a file
-<samp>texmf/web2c/mktex.cnf</samp> if it exists, so you can override various
+<samp class="file">texmf/web2c/mktex.cnf</samp> if it exists, so you can override various
defaults.
-See <samp>mktex.opt</samp>, for instance, which defines the default mode,
+See <samp class="file">mktex.opt</samp>, for instance, which defines the default mode,
resolution, some special directory names, etc. If you prefer not to
-change the distributed scripts, you can simply create <samp>mktex.cnf</samp>
+change the distributed scripts, you can simply create <samp class="file">mktex.cnf</samp>
with the appropriate definitions (you do not need to create it if you
-have nothing to put in it). <samp>mktex.cnf</samp> has no special syntax;
+have nothing to put in it). <samp class="file">mktex.cnf</samp> has no special syntax;
it&rsquo;s an arbitrary Bourne shell script. The distribution contains a
-sample <samp>mktex.cnf</samp> for you to copy and modify as you please (it
+sample <samp class="file">mktex.cnf</samp> for you to copy and modify as you please (it
is not installed anywhere).
</p>
-<span id="index-mktex_002eopt-1"></span>
-<span id="index-MT_005fFEATURES"></span>
+<a class="index-entry-id" id="index-mktex_002eopt-1"></a>
+<a class="index-entry-id" id="index-MT_005fFEATURES"></a>
<p>In addition, you can configure a number of features with the
-<code>MT_FEATURES</code> variable, which you can define:
+<code class="code">MT_FEATURES</code> variable, which you can define:
</p>
-<ul>
-<li> in <samp>mktex.opt</samp>, as just mentioned;
+<ul class="itemize mark-bullet">
+<li>in <samp class="file">mktex.opt</samp>, as just mentioned;
-</li><li> by editing the file <samp>mktex.opt</samp>, either before &lsquo;<samp>make
+</li><li>by editing the file <samp class="file">mktex.opt</samp>, either before &lsquo;<samp class="samp">make
install</samp>&rsquo; (in the source hierarchy) or after (in the installed
hierarchy);
-</li><li> or in the environment.
+</li><li>or in the environment.
</li></ul>
-<p>If none of the options below are enabled, <code>mktexpk</code>,
-<code>mktextfm</code>, and <code>mktexmf</code> follow the following procedure to
+<p>If none of the options below are enabled, <code class="code">mktexpk</code>,
+<code class="code">mktextfm</code>, and <code class="code">mktexmf</code> follow the following procedure to
decide where fonts should be installed. Find the tree where the font&rsquo;s
-sources are, and test the permissions of the &lsquo;<samp>fonts</samp>&rsquo; directory of
+sources are, and test the permissions of the &lsquo;<samp class="samp">fonts</samp>&rsquo; directory of
that tree to determine whether it is writable. If it is, put the files
in the tree in appropriate locations. If it isn&rsquo;t writable, see whether
-the tree is a system tree (named in <code>SYSTEXMF</code>). If so, the
-<code>VARTEXFONTS</code> tree is used. In all other cases the working
+the tree is a system tree (named in <code class="code">SYSTEXMF</code>). If so, the
+<code class="code">VARTEXFONTS</code> tree is used. In all other cases the working
directory is used.
</p>
-<p>The &lsquo;<samp>appendonlydir</samp>&rsquo; option is enabled by default.
+<p>The &lsquo;<samp class="samp">appendonlydir</samp>&rsquo; option is enabled by default.
</p>
-<dl compact="compact">
-<dt id='index-appendonlydir'><span>&lsquo;<samp>appendonlydir</samp>&rsquo;<a href='#index-appendonlydir' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-directories_002c-making-append_002donly"></span>
-<span id="index-mktexdir"></span>
-<p>Tell <code>mktexdir</code> to create directories append-only, i.e., set
-their sticky bit (see <a data-manual="coreutils" href="https://www.gnu.org/software/coreutils/manual/coreutils#Mode-Structure">Mode Structure</a> in <cite>GNU Core
+<dl class="vtable">
+<dt id='index-appendonlydir'><span>&lsquo;<samp class="samp">appendonlydir</samp>&rsquo;<a class="copiable-link" href='#index-appendonlydir'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-directories_002c-making-append_002donly"></a>
+<a class="index-entry-id" id="index-mktexdir"></a>
+<p>Tell <code class="code">mktexdir</code> to create directories append-only, i.e., set
+their sticky bit (see <a data-manual="coreutils" href="https://www.gnu.org/software/coreutils/manual/coreutils.html#Mode-Structure">Mode Structure</a> in <cite class="cite">GNU Core
Utilities</cite>). This feature is silently ignored on non-Unix platforms
(e.g. Windows/NT and MS-DOS) which don&rsquo;t support similar functionality.
This feature is enabled by default.
</p>
</dd>
-<dt id='index-dosnames'><span>&lsquo;<samp>dosnames</samp>&rsquo;<a href='#index-dosnames' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-8_002e3-filenames_002c-using"></span>
-<span id="index-DOS-compatible-names"></span>
-<span id="index-dpinnn-directories"></span>
-<p>Use 8.3 names; e.g., <samp>dpi600/cmr10.pk</samp> instead of
-<samp>cmr10.600pk</samp>. Note that this feature only affects filenames that
-would otherwise clash with other TeX-related filenames; <samp>mktex</samp>
+<dt id='index-dosnames'><span>&lsquo;<samp class="samp">dosnames</samp>&rsquo;<a class="copiable-link" href='#index-dosnames'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-8_002e3-filenames_002c-using"></a>
+<a class="index-entry-id" id="index-DOS-compatible-names"></a>
+<a class="index-entry-id" id="index-dpinnn-directories"></a>
+<p>Use 8.3 names; e.g., <samp class="file">dpi600/cmr10.pk</samp> instead of
+<samp class="file">cmr10.600pk</samp>. Note that this feature only affects filenames that
+would otherwise clash with other TeX-related filenames; <samp class="file">mktex</samp>
scripts do nothing about filenames which exceed the 8+3 MS-DOS limits
but remain unique when truncated (by the OS) to these limits, and nether
do the scripts care about possible clashes with files which aren&rsquo;t
-related with TeX. For example, <samp>cmr10.600pk</samp> would clash with
-<samp>cmr10.600gf</samp> and is therefore changed when &lsquo;<samp>dosnames</samp>&rsquo; is in
-effect, but <samp>mf.pool</samp> and <samp>mp.base</samp> don&rsquo;t clash with any
+related with TeX. For example, <samp class="file">cmr10.600pk</samp> would clash with
+<samp class="file">cmr10.600gf</samp> and is therefore changed when &lsquo;<samp class="samp">dosnames</samp>&rsquo; is in
+effect, but <samp class="file">mf.pool</samp> and <samp class="file">mp.base</samp> don&rsquo;t clash with any
TeX-related files and are therefore unchanged.
</p>
<p>This feature is turned on by default on MS-DOS. If you do not wish
-&lsquo;<samp>dosnames</samp>&rsquo; to be set on an MS-DOS platform, you need to set the
-<code>MT_FEATURES</code> environment variable to a value that doesn&rsquo;t include
-&lsquo;<samp>dosnames</samp>&rsquo;. You can also change the default setting by editing
-<samp>mktex.opt</samp>, but only if you use the <samp>mktex</samp> shell scripts;
-the emulation programs don&rsquo;t consult <samp>mktex.opt</samp>.
+&lsquo;<samp class="samp">dosnames</samp>&rsquo; to be set on an MS-DOS platform, you need to set the
+<code class="code">MT_FEATURES</code> environment variable to a value that doesn&rsquo;t include
+&lsquo;<samp class="samp">dosnames</samp>&rsquo;. You can also change the default setting by editing
+<samp class="file">mktex.opt</samp>, but only if you use the <samp class="file">mktex</samp> shell scripts;
+the emulation programs don&rsquo;t consult <samp class="file">mktex.opt</samp>.
</p>
</dd>
-<dt id='index-fontmaps-1'><span>&lsquo;<samp>fontmaps</samp>&rsquo;<a href='#index-fontmaps-1' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-fontmaps"></span>
-<span id="index-fontname"></span>
+<dt id='index-fontmaps-1'><span>&lsquo;<samp class="samp">fontmaps</samp>&rsquo;<a class="copiable-link" href='#index-fontmaps-1'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-fontmaps"></a>
+<a class="index-entry-id" id="index-fontname"></a>
<p>Instead of deriving the location of a font in the destination tree from
the location of the sources, the aliases and directory names from the
-Fontname distribution are used. (see <a data-manual="fontname" href="fontname.html#Top">Introduction</a> in <cite>Fontname</cite>).
+Fontname distribution are used. (see <a data-manual="fontname" href="fontname.html#Top">Introduction</a> in <cite class="cite">Fontname</cite>).
</p>
</dd>
-<dt id='index-nomfdrivers'><span>&lsquo;<samp>nomfdrivers</samp>&rsquo;<a href='#index-nomfdrivers' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-metafont-driver-files"></span>
+<dt id='index-nomfdrivers'><span>&lsquo;<samp class="samp">nomfdrivers</samp>&rsquo;<a class="copiable-link" href='#index-nomfdrivers'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-metafont-driver-files"></a>
<p>Let mktexpk and mktextfm create metafont driver files in a temporary
directory. These will be used for just one metafont run and not
installed permanently.
</p>
</dd>
-<dt id='index-nomode'><span>&lsquo;<samp>nomode</samp>&rsquo;<a href='#index-nomode' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-mode-directory_002c-omitting"></span>
+<dt id='index-nomode'><span>&lsquo;<samp class="samp">nomode</samp>&rsquo;<a class="copiable-link" href='#index-nomode'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-mode-directory_002c-omitting"></a>
<p>Omit the directory level for the mode name; this is fine as long as
you generate fonts for only one mode.
</p>
</dd>
-<dt id='index-stripsupplier'><span>&lsquo;<samp>stripsupplier</samp>&rsquo;<a href='#index-stripsupplier' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-supplier-directory_002c-omitting"></span>
+<dt id='index-stripsupplier'><span>&lsquo;<samp class="samp">stripsupplier</samp>&rsquo;<a class="copiable-link" href='#index-stripsupplier'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-supplier-directory_002c-omitting"></a>
<p>Omit the font supplier name directory level.
</p>
</dd>
-<dt id='index-striptypeface'><span>&lsquo;<samp>striptypeface</samp>&rsquo;<a href='#index-striptypeface' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-typeface-directory_002c-omitting"></span>
+<dt id='index-striptypeface'><span>&lsquo;<samp class="samp">striptypeface</samp>&rsquo;<a class="copiable-link" href='#index-striptypeface'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-typeface-directory_002c-omitting"></a>
<p>Omit the font typeface name directory level.
</p>
</dd>
-<dt id='index-strip'><span>&lsquo;<samp>strip</samp>&rsquo;<a href='#index-strip' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-supplier-directory_002c-omitting-1"></span>
-<span id="index-typeface-directory_002c-omitting-1"></span>
+<dt id='index-strip'><span>&lsquo;<samp class="samp">strip</samp>&rsquo;<a class="copiable-link" href='#index-strip'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-supplier-directory_002c-omitting-1"></a>
+<a class="index-entry-id" id="index-typeface-directory_002c-omitting-1"></a>
<p>Omit the font supplier and typeface name directory levels. This feature
-is deprecated in favour of &lsquo;<samp>stripsupplier</samp>&rsquo; and &lsquo;<samp>striptypeface</samp>&rsquo;.
+is deprecated in favour of &lsquo;<samp class="samp">stripsupplier</samp>&rsquo; and &lsquo;<samp class="samp">striptypeface</samp>&rsquo;.
</p>
</dd>
-<dt id='index-varfonts'><span>&lsquo;<samp>varfonts</samp>&rsquo;<a href='#index-varfonts' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-_002fvar_002ftmp_002ftexfonts"></span>
-<span id="index-VARTEXFONTS"></span>
-<span id="index-Linux-File-System-Standard"></span>
+<dt id='index-varfonts'><span>&lsquo;<samp class="samp">varfonts</samp>&rsquo;<a class="copiable-link" href='#index-varfonts'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-_002fvar_002ftmp_002ftexfonts"></a>
+<a class="index-entry-id" id="index-VARTEXFONTS"></a>
+<a class="index-entry-id" id="index-Linux-File-System-Standard"></a>
<p>When this option is enabled, fonts that would otherwise be written in
-system texmf tree go to the <code>VARTEXFONTS</code> tree instead. The
-default value in <samp>kpathsea/Makefile.in</samp> is
-<samp>/var/tmp/texfonts</samp>. The <cite>Linux File System Standard</cite>
-recommends <samp>/var/tex/fonts</samp>.
+system texmf tree go to the <code class="code">VARTEXFONTS</code> tree instead. The
+default value in <samp class="file">kpathsea/Makefile.in</samp> is
+<samp class="file">/var/tmp/texfonts</samp>. The <cite class="cite">Linux File System Standard</cite>
+recommends <samp class="file">/var/tex/fonts</samp>.
</p>
-<span id="index-USE_005fVARTEXFONTS"></span>
-<p>The &lsquo;<samp>varfonts</samp>&rsquo; setting in <code>MT_FEATURES</code> is overridden by the
-<code>USE_VARTEXFONTS</code> environment variable: if set to &lsquo;<samp>1</samp>&rsquo;, the
-feature is enabled, and if set to &lsquo;<samp>0</samp>&rsquo;, the feature is disabled.
+<a class="index-entry-id" id="index-USE_005fVARTEXFONTS"></a>
+<p>The &lsquo;<samp class="samp">varfonts</samp>&rsquo; setting in <code class="code">MT_FEATURES</code> is overridden by the
+<code class="code">USE_VARTEXFONTS</code> environment variable: if set to &lsquo;<samp class="samp">1</samp>&rsquo;, the
+feature is enabled, and if set to &lsquo;<samp class="samp">0</samp>&rsquo;, the feature is disabled.
</p>
</dd>
-<dt id='index-texmfvar'><span>&lsquo;<samp>texmfvar</samp>&rsquo;<a href='#index-texmfvar' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-TEXMFVAR"></span>
+<dt id='index-texmfvar'><span>&lsquo;<samp class="samp">texmfvar</samp>&rsquo;<a class="copiable-link" href='#index-texmfvar'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-TEXMFVAR"></a>
<p>Force generated files that would go into a system tree (as defined by
-<code>SYSTEXMF</code>) into <code>TEXMFVAR</code>. Starting with teTeX-3.0, the
-variable <code>TEXMFVAR</code> is always set. The &lsquo;<samp>varfonts</samp>&rsquo; feature takes
+<code class="code">SYSTEXMF</code>) into <code class="code">TEXMFVAR</code>. Starting with teTeX-3.0, the
+variable <code class="code">TEXMFVAR</code> is always set. The &lsquo;<samp class="samp">varfonts</samp>&rsquo; feature takes
precedence if also set.
</p>
-<span id="index-USE_005fTEXMFVAR"></span>
-<p>The &lsquo;<samp>texmfvar</samp>&rsquo; setting in <code>MT_FEATURES</code> is overridden by the
-<code>USE_TEXMFVAR</code> environment variable: if set to &lsquo;<samp>1</samp>&rsquo;, the
-feature is enabled, and if set to &lsquo;<samp>0</samp>&rsquo;, the feature is disabled.
+<a class="index-entry-id" id="index-USE_005fTEXMFVAR"></a>
+<p>The &lsquo;<samp class="samp">texmfvar</samp>&rsquo; setting in <code class="code">MT_FEATURES</code> is overridden by the
+<code class="code">USE_TEXMFVAR</code> environment variable: if set to &lsquo;<samp class="samp">1</samp>&rsquo;, the
+feature is enabled, and if set to &lsquo;<samp class="samp">0</samp>&rsquo;, the feature is disabled.
</p></dd>
</dl>
<hr>
</div>
-<div class="subsection" id="mktex-script-names">
-<div class="header">
+<div class="subsection-level-extent" id="mktex-script-names">
+<div class="nav-panel">
<p>
-Next: <a href="#mktex-script-arguments" accesskey="n" rel="next"><samp>mktex</samp> script arguments</a>, Previous: <a href="#mktex-configuration" accesskey="p" rel="prev"><samp>mktex</samp> configuration</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp>mktex</samp> scripts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#mktex-script-arguments" accesskey="n" rel="next"><samp class="file">mktex</samp> script arguments</a>, Previous: <a href="#mktex-configuration" accesskey="p" rel="prev"><samp class="file">mktex</samp> configuration</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp class="file">mktex</samp> scripts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="mktex-script-names-1"></span><h4 class="subsection">6.5.2 <samp>mktex</samp> script names</h4>
+<h4 class="subsection" id="mktex-script-names-1">6.5.2 <samp class="file">mktex</samp> script names</h4>
-<span id="index-mktex-script-names"></span>
-<span id="index-names-for-mktex-scripts"></span>
+<a class="index-entry-id" id="index-mktex-script-names"></a>
+<a class="index-entry-id" id="index-names-for-mktex-scripts"></a>
<p>The following table shows the default name of the script for each
of the file types which support runtime generation.
</p>
-<dl compact="compact">
-<dt id='index-mktexfmt'><span><samp>mktexfmt</samp><a href='#index-mktexfmt' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-fmtutil"></span>
-<p>(&lsquo;<samp>.fmt</samp>&rsquo;, &lsquo;<samp>.base</samp>&rsquo;, &lsquo;<samp>.mem</samp>&rsquo;) TeX/Metafont/MetaPost
-formats. This script is also named <code>fmtutil</code>, and reads
-<samp>fmtutil.cnf</samp> for configuration information.
+<dl class="table">
+<dt id='index-mktexfmt'><span><samp class="file">mktexfmt</samp><a class="copiable-link" href='#index-mktexfmt'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-fmtutil"></a>
+<p>(&lsquo;<samp class="samp">.fmt</samp>&rsquo;, &lsquo;<samp class="samp">.base</samp>&rsquo;, &lsquo;<samp class="samp">.mem</samp>&rsquo;) TeX/Metafont/MetaPost
+formats. This script is also named <code class="command">fmtutil</code>, and reads
+<samp class="file">fmtutil.cnf</samp> for configuration information.
</p>
</dd>
-<dt id='index-mktexmf'><span><samp>mktexmf</samp><a href='#index-mktexmf' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(&lsquo;<samp>.mf</samp>&rsquo;) Metafont input files.
+<dt id='index-mktexmf'><span><samp class="file">mktexmf</samp><a class="copiable-link" href='#index-mktexmf'> &para;</a></span></dt>
+<dd><p>(&lsquo;<samp class="samp">.mf</samp>&rsquo;) Metafont input files.
</p>
</dd>
-<dt id='index-mkocp'><span><samp>mkocp</samp><a href='#index-mkocp' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(&lsquo;<samp>.ocp</samp>&rsquo;) Omega compiled process files.
+<dt id='index-mkocp'><span><samp class="file">mkocp</samp><a class="copiable-link" href='#index-mkocp'> &para;</a></span></dt>
+<dd><p>(&lsquo;<samp class="samp">.ocp</samp>&rsquo;) Omega compiled process files.
</p>
</dd>
-<dt id='index-mkofm'><span><samp>mkofm</samp><a href='#index-mkofm' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(&lsquo;<samp>.ofm</samp>&rsquo;) Omega font metric files.
+<dt id='index-mkofm'><span><samp class="file">mkofm</samp><a class="copiable-link" href='#index-mkofm'> &para;</a></span></dt>
+<dd><p>(&lsquo;<samp class="samp">.ofm</samp>&rsquo;) Omega font metric files.
</p>
</dd>
-<dt id='index-mktexpk'><span><samp>mktexpk</samp><a href='#index-mktexpk' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(&lsquo;<samp>pk</samp>&rsquo;) Glyph fonts.
+<dt id='index-mktexpk'><span><samp class="file">mktexpk</samp><a class="copiable-link" href='#index-mktexpk'> &para;</a></span></dt>
+<dd><p>(&lsquo;<samp class="samp">pk</samp>&rsquo;) Glyph fonts.
</p>
</dd>
-<dt id='index-mktextex'><span><samp>mktextex</samp><a href='#index-mktextex' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(&lsquo;<samp>.tex</samp>&rsquo;) TeX input files (disabled by default).
+<dt id='index-mktextex'><span><samp class="file">mktextex</samp><a class="copiable-link" href='#index-mktextex'> &para;</a></span></dt>
+<dd><p>(&lsquo;<samp class="samp">.tex</samp>&rsquo;) TeX input files (disabled by default).
</p>
</dd>
-<dt id='index-mktextfm'><span><samp>mktextfm</samp><a href='#index-mktextfm' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>(&lsquo;<samp>.tfm</samp>&rsquo;) TFM files.
+<dt id='index-mktextfm'><span><samp class="file">mktextfm</samp><a class="copiable-link" href='#index-mktextfm'> &para;</a></span></dt>
+<dd><p>(&lsquo;<samp class="samp">.tfm</samp>&rsquo;) TFM files.
</p></dd>
</dl>
-<span id="index-DVIPSMAKEPK"></span>
-<span id="index-XDVIMAKEPK"></span>
-<span id="index-DVILJMAKEPK"></span>
+<a class="index-entry-id" id="index-DVIPSMAKEPK"></a>
+<a class="index-entry-id" id="index-XDVIMAKEPK"></a>
+<a class="index-entry-id" id="index-DVILJMAKEPK"></a>
<p>These names can be overridden by an environment variable specific
-to the program&mdash;for example, <code>DVIPSMAKEPK</code> for Dvipsk.
+to the program&mdash;for example, <code class="code">DVIPSMAKEPK</code> for Dvipsk.
</p>
-<span id="index-missfont_002elog"></span>
-<span id="index-failed-mktex_2026-script-invocation"></span>
-<p>If a <code>mktex&hellip;</code> script fails, the invocation is appended to a
-file <samp>missfont.log</samp> (by default) in the current directory. You can
+<a class="index-entry-id" id="index-missfont_002elog"></a>
+<a class="index-entry-id" id="index-failed-mktex_2026-script-invocation"></a>
+<p>If a <code class="code">mktex&hellip;</code> script fails, the invocation is appended to a
+file <samp class="file">missfont.log</samp> (by default) in the current directory. You can
then execute the log file to create the missing files after fixing the
problem.
</p>
-<span id="index-TEXMFOUTPUT"></span>
-<span id="index-MISSFONT_005fLOG"></span>
+<a class="index-entry-id" id="index-TEXMFOUTPUT"></a>
+<a class="index-entry-id" id="index-MISSFONT_005fLOG"></a>
<p>If the current directory is not writable and the environment variable or
-configuration file value <code>TEXMFOUTPUT</code> is set, its value is
-used. Otherwise, nothing is written. The name &lsquo;<samp>missfont.log</samp>&rsquo; is
-overridden by the <code>MISSFONT_LOG</code> environment variable or
+configuration file value <code class="code">TEXMFOUTPUT</code> is set, its value is
+used. Otherwise, nothing is written. The name &lsquo;<samp class="samp">missfont.log</samp>&rsquo; is
+overridden by the <code class="code">MISSFONT_LOG</code> environment variable or
configuration file value.
</p>
<hr>
</div>
-<div class="subsection" id="mktex-script-arguments">
-<div class="header">
+<div class="subsection-level-extent" id="mktex-script-arguments">
+<div class="nav-panel">
<p>
-Previous: <a href="#mktex-script-names" accesskey="p" rel="prev"><samp>mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp>mktex</samp> scripts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#mktex-script-names" accesskey="p" rel="prev"><samp class="file">mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp class="file">mktex</samp> scripts</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="mktex-script-arguments-1"></span><h4 class="subsection">6.5.3 <samp>mktex</samp> script arguments</h4>
+<h4 class="subsection" id="mktex-script-arguments-1">6.5.3 <samp class="file">mktex</samp> script arguments</h4>
-<span id="index-arguments-to-mktex"></span>
+<a class="index-entry-id" id="index-arguments-to-mktex"></a>
-<p>The first argument to a <samp>mktex</samp> script is always the name
+<p>The first argument to a <samp class="file">mktex</samp> script is always the name
of the file to be created.
</p>
-<p>In the default <samp>mktexpk</samp> implementation, additional arguments may
+<p>In the default <samp class="file">mktexpk</samp> implementation, additional arguments may
also be passed:
</p>
-<dl compact="compact">
-<dt><span>&lsquo;<samp>--dpi <var>num</var></samp>&rsquo;</span></dt>
-<dd><p>Sets the resolution of the generated font to <var>num</var>.
+<dl class="table">
+<dt>&lsquo;<samp class="samp">--dpi <var class="var">num</var></samp>&rsquo;</dt>
+<dd><p>Sets the resolution of the generated font to <var class="var">num</var>.
</p></dd>
-<dt><span>&lsquo;<samp>--mfmode <var>name</var></samp>&rsquo;</span></dt>
-<dd><p>Sets the Metafont mode to <var>name</var>.
+<dt>&lsquo;<samp class="samp">--mfmode <var class="var">name</var></samp>&rsquo;</dt>
+<dd><p>Sets the Metafont mode to <var class="var">name</var>.
</p></dd>
-<dt><span>&lsquo;<samp>--bdpi <var>num</var></samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">--bdpi <var class="var">num</var></samp>&rsquo;</dt>
<dd><p>Sets the &ldquo;base dpi&rdquo; for the font. This must match the mode being
used.
</p></dd>
-<dt><span>&lsquo;<samp>--mag <var>string</var></samp>&rsquo;</span></dt>
-<dd><p>A &ldquo;magstep&rdquo; string suitable for the Metafont <code>mag</code> variable.
-This must match the combination of <var>bdpi</var> and <var>dpi</var> being used.
+<dt>&lsquo;<samp class="samp">--mag <var class="var">string</var></samp>&rsquo;</dt>
+<dd><p>A &ldquo;magstep&rdquo; string suitable for the Metafont <code class="code">mag</code> variable.
+This must match the combination of <var class="var">bdpi</var> and <var class="var">dpi</var> being used.
</p></dd>
-<dt><span>&lsquo;<samp>--destdir <var>string</var></samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">--destdir <var class="var">string</var></samp>&rsquo;</dt>
<dd><p>A directory name. If the directory is absolute, it is used as-is.
Otherwise, it is appended to the root destination directory set in the
script.
@@ -3382,38 +3391,38 @@ script.
</div>
</div>
</div>
-<div class="chapter" id="Programming">
-<div class="header">
+<div class="chapter-level-extent" id="Programming">
+<div class="nav-panel">
<p>
Next: <a href="#Reporting-bugs" accesskey="n" rel="next">Reporting bugs</a>, Previous: <a href="#TeX-support" accesskey="p" rel="prev">TeX support</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Programming-1"></span><h2 class="chapter">7 Programming</h2>
+<h2 class="chapter" id="Programming-1">7 Programming</h2>
<p>This chapter is for programmers who wish to use Kpathsea.
-See <a href="#Introduction">Introduction</a>, for the conditions under which you may do so (in
+See <a class="xref" href="#Introduction">Introduction</a>, for the conditions under which you may do so (in
short, it is released under LGPLv2.1 or later).
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Programming-overview" accesskey="1">Programming overview</a></li>
<li><a href="#Calling-sequence" accesskey="2">Calling sequence</a></li>
<li><a href="#Program_002dspecific-files" accesskey="3">Program-specific files</a></li>
<li><a href="#Programming-with-config-files" accesskey="4">Programming with config files</a></li>
</ul>
<hr>
-<div class="section" id="Programming-overview">
-<div class="header">
+<div class="section-level-extent" id="Programming-overview">
+<div class="nav-panel">
<p>
Next: <a href="#Calling-sequence" accesskey="n" rel="next">Calling sequence</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Programming-overview-1"></span><h3 class="section">7.1 Programming overview</h3>
+<h3 class="section" id="Programming-overview-1">7.1 Programming overview</h3>
-<span id="index-programming-overview"></span>
-<span id="index-overview-of-programming-with-Kpathsea"></span>
+<a class="index-entry-id" id="index-programming-overview"></a>
+<a class="index-entry-id" id="index-overview-of-programming-with-Kpathsea"></a>
<p>Aside from this manual, your best source of information is the source
-to the programs that use Kpathsea (see <a href="#Introduction">Introduction</a>). First,
+to the programs that use Kpathsea (see <a class="pxref" href="#Introduction">Introduction</a>). First,
Kpsewhich is a small utility program whose sole purpose is to exercise
the main path-searching functionality. Of the drivers, Dviljk is
probably the simplest full application program. Xdvik adds VF support
@@ -3422,46 +3431,46 @@ its own config files. Web2c is source code I also maintain, so it
uses Kpathsea rather straightforwardly, but is of course complicated
by the Web to C translation.
</p>
-<span id="index-re_002dentrant-API"></span>
-<span id="index-API_002c-re_002dentrant"></span>
+<a class="index-entry-id" id="index-re_002dentrant-API"></a>
+<a class="index-entry-id" id="index-API_002c-re_002dentrant"></a>
<p>When looking at these program sources, you should know that previous
versions of the library had a different programming interface; the
current interface supports re-entrancy. Historically, the library
-function names were prefixed with <code>kpse_</code> instead of
-<code>kpathsea_</code>, and they did not need an instance variable as first
+function names were prefixed with <code class="code">kpse_</code> instead of
+<code class="code">kpathsea_</code>, and they did not need an instance variable as first
argument. This change was made in 2009. The old functions will never
disappear, and can reliably continue to be used when they suffice, as
they do for the programs above. The main application using the
re-entrant API is the MetaPost library used by MetaPost and LuaTeX.
</p>
-<span id="index-pathsearch_002eh"></span>
-<span id="index-tex_002dfile_002eh"></span>
-<span id="index-tex_002dglyph_002eh"></span>
-<span id="index-kpathsea_002eh"></span>
-<p>Beyond these examples, the <samp>.h</samp> files in the Kpathsea source
-describe the interfaces and functionality (and of course the <samp>.c</samp>
+<a class="index-entry-id" id="index-pathsearch_002eh"></a>
+<a class="index-entry-id" id="index-tex_002dfile_002eh"></a>
+<a class="index-entry-id" id="index-tex_002dglyph_002eh"></a>
+<a class="index-entry-id" id="index-kpathsea_002eh"></a>
+<p>Beyond these examples, the <samp class="file">.h</samp> files in the Kpathsea source
+describe the interfaces and functionality (and of course the <samp class="file">.c</samp>
files define the actual routines, which are the ultimate documentation).
-<samp>pathsearch.h</samp> declares the basic searching routine.
-<samp>tex-file.h</samp> and <samp>tex-glyph.h</samp> define the interfaces for
+<samp class="file">pathsearch.h</samp> declares the basic searching routine.
+<samp class="file">tex-file.h</samp> and <samp class="file">tex-glyph.h</samp> define the interfaces for
looking up particular kinds of files. In view of the way the headers
-depend on each other, it is recommended to use <code>#include
+depend on each other, it is recommended to use <code class="code">#include
&lt;kpathsea/kpathsea.h&gt;</code>, which includes every Kpathsea header.
</p>
-<span id="index-config_002eh"></span>
-<span id="index-c_002dauto_002eh"></span>
+<a class="index-entry-id" id="index-config_002eh"></a>
+<a class="index-entry-id" id="index-c_002dauto_002eh"></a>
<p>If you want to include only specific headers, you should still consider
-including <samp>kpathsea/config.h</samp> before including any other Kpathsea
+including <samp class="file">kpathsea/config.h</samp> before including any other Kpathsea
header, as it provides symbols used in the other headers. Note that
-<samp>kpathsea/config.h</samp> includes <samp>kpathsea/c-auto.h</samp>, which is
+<samp class="file">kpathsea/config.h</samp> includes <samp class="file">kpathsea/c-auto.h</samp>, which is
generated by Autoconf.
</p>
-<span id="index-file-types_002c-registering-new"></span>
+<a class="index-entry-id" id="index-file-types_002c-registering-new"></a>
<p>The library provides no way for an external program to register new file
-types: <samp>tex-file.[ch]</samp> must be modified to do this. For example,
+types: <samp class="file">tex-file.[ch]</samp> must be modified to do this. For example,
Kpathsea has support for looking up Dvips config files, even though no
program other than Dvips will likely ever want to do so. I felt this
was acceptable, since along with new file types should also come new
-defaults in <samp>texmf.cnf</samp> (and its descendant <samp>paths.h</samp>), since
+defaults in <samp class="file">texmf.cnf</samp> (and its descendant <samp class="file">paths.h</samp>), since
it&rsquo;s simplest for users if they can modify one configuration file for
all kinds of paths.
</p>
@@ -3473,84 +3482,84 @@ above, of course.
<hr>
</div>
-<div class="section" id="Calling-sequence">
-<div class="header">
+<div class="section-level-extent" id="Calling-sequence">
+<div class="nav-panel">
<p>
Next: <a href="#Program_002dspecific-files" accesskey="n" rel="next">Program-specific files</a>, Previous: <a href="#Programming-overview" accesskey="p" rel="prev">Programming overview</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Calling-sequence-1"></span><h3 class="section">7.2 Calling sequence</h3>
+<h3 class="section" id="Calling-sequence-1">7.2 Calling sequence</h3>
-<span id="index-programming-with-Kpathsea"></span>
-<span id="index-calling-sequence"></span>
+<a class="index-entry-id" id="index-programming-with-Kpathsea"></a>
+<a class="index-entry-id" id="index-calling-sequence"></a>
<p>The typical way to use Kpathsea in your program goes something like this:
</p>
-<ol>
-<li> <span id="index-kpathsea_005fnew"></span>
-Call <code>kpathsea_new</code> to create a new library instance. This variable
+<ol class="enumerate">
+<li> <a class="index-entry-id" id="index-kpathsea_005fnew"></a>
+Call <code class="code">kpathsea_new</code> to create a new library instance. This variable
must be passed as the first argument to all the following library functions.
-The rest of this manual will be using <code>kpse</code> as a placeholder for
+The rest of this manual will be using <code class="code">kpse</code> as a placeholder for
the name of this variable.
-</li><li> <span id="index-kpathsea_005fset_005fprogram_005fname"></span>
-<span id="index-argv_005b0_005d"></span>
-Call <code>kpathsea_set_program_name</code> with <code>argv[0]</code> as the second
-argument; the third argument is a string or <code>NULL</code>. The third
+</li><li> <a class="index-entry-id" id="index-kpathsea_005fset_005fprogram_005fname"></a>
+<a class="index-entry-id" id="index-argv_005b0_005d"></a>
+Call <code class="code">kpathsea_set_program_name</code> with <code class="code">argv[0]</code> as the second
+argument; the third argument is a string or <code class="code">NULL</code>. The third
argument is used by Kpathsea as the program name for the
-<code>.<var>program</var></code> feature of config files (see <a href="#Config-files">Config files</a>).
-If the third argument is <code>NULL</code>, the value of the second argument
+<code class="code">.<var class="var">program</var></code> feature of config files (see <a class="pxref" href="#Config-files">Config files</a>).
+If the third argument is <code class="code">NULL</code>, the value of the second argument
is used. This function must be called before any other use of the
Kpathsea library.
-<span id="index-kpse_002d_003einvocation_005fname"></span>
-<span id="index-kpse_002d_003einvocation_005fshort_005fname"></span>
-<span id="index-kpse_002d_003eprogram_005fname"></span>
-<span id="index-error-message-macros"></span>
-<p><code>kpathsea_set_program_name</code> always sets the variables
-<code>kpse-&gt;invocation_name</code> and <code>kpse-&gt;invocation_short_name</code>.
+<a class="index-entry-id" id="index-kpse_002d_003einvocation_005fname"></a>
+<a class="index-entry-id" id="index-kpse_002d_003einvocation_005fshort_005fname"></a>
+<a class="index-entry-id" id="index-kpse_002d_003eprogram_005fname"></a>
+<a class="index-entry-id" id="index-error-message-macros"></a>
+<p><code class="code">kpathsea_set_program_name</code> always sets the variables
+<code class="code">kpse-&gt;invocation_name</code> and <code class="code">kpse-&gt;invocation_short_name</code>.
These variables are used in the error message macros defined in
-<samp>kpathsea/lib.h</samp>. It sets the variable
-<code>kpse-&gt;program_name</code> to the program name it uses.
+<samp class="file">kpathsea/lib.h</samp>. It sets the variable
+<code class="code">kpse-&gt;program_name</code> to the program name it uses.
</p>
-<span id="index-KPATHSEA_005fDEBUG"></span>
+<a class="index-entry-id" id="index-KPATHSEA_005fDEBUG"></a>
<p>It also initializes debugging options based on the environment
-variable <code>KPATHSEA_DEBUG</code> (if that is set).
-</p>
-<span id="index-SELFAUTOLOC"></span>
-<span id="index-SELFAUTODIR"></span>
-<span id="index-SELFAUTOPARENT"></span>
-<span id="index-symlinks_002c-resolving"></span>
-<span id="index-expanding-symlinks"></span>
-<p>Finally, it sets the environment variables <code>SELFAUTOLOC</code>, <code>SELFAUTODIR</code>
-and <code>SELFAUTOPARENT</code> to the location, parent and grandparent
-directory of the executable, removing <samp>.</samp> and <samp>..</samp> path
+variable <code class="code">KPATHSEA_DEBUG</code> (if that is set).
+</p>
+<a class="index-entry-id" id="index-SELFAUTOLOC"></a>
+<a class="index-entry-id" id="index-SELFAUTODIR"></a>
+<a class="index-entry-id" id="index-SELFAUTOPARENT"></a>
+<a class="index-entry-id" id="index-symlinks_002c-resolving"></a>
+<a class="index-entry-id" id="index-expanding-symlinks"></a>
+<p>Finally, it sets the environment variables <code class="code">SELFAUTOLOC</code>, <code class="code">SELFAUTODIR</code>
+and <code class="code">SELFAUTOPARENT</code> to the location, parent and grandparent
+directory of the executable, removing <samp class="file">.</samp> and <samp class="file">..</samp> path
elements and resolving symbolic links. These are used in the default
configuration file to allow people to invoke TeX from anywhere. You
-can use &lsquo;<samp>kpsewhich --expand-var=\$SELFAUTOLOC</samp>&rsquo;, etc., to see the
+can use &lsquo;<samp class="samp">kpsewhich --expand-var=\$SELFAUTOLOC</samp>&rsquo;, etc., to see the
values.
</p>
-</li><li> <span id="index-kpse_002d_003edebug-variable"></span>
-<span id="index-debugging-options_002c-in-Kpathsea_002dusing-program"></span>
-Set debugging options. See <a href="#Debugging">Debugging</a>. If your program doesn&rsquo;t have a
+</li><li> <a class="index-entry-id" id="index-kpse_002d_003edebug-variable"></a>
+<a class="index-entry-id" id="index-debugging-options_002c-in-Kpathsea_002dusing-program"></a>
+Set debugging options. See <a class="xref" href="#Debugging">Debugging</a>. If your program doesn&rsquo;t have a
debugging option already, you can define one and set
-<code>kpse-&gt;debug</code> to the number that the user supplies (as in Dviljk
+<code class="code">kpse-&gt;debug</code> to the number that the user supplies (as in Dviljk
and Web2c), or you can just omit this altogether (people can always set
-<code>KPATHSEA_DEBUG</code>). If you do have runtime debugging already, you
+<code class="code">KPATHSEA_DEBUG</code>). If you do have runtime debugging already, you
need to merge Kpathsea&rsquo;s options with yours (as in Dvipsk and Xdvik).
-</li><li> <span id="index-client_005fpath-in-kpse_002d_003eformat_005finfo"></span>
-<span id="index-kpse_002d_003eformat_005finfo"></span>
-<span id="index-resident_002ec"></span>
-<span id="index-config-files_002c-for-Kpathsea_002dusing-programs"></span>
+</li><li> <a class="index-entry-id" id="index-client_005fpath-in-kpse_002d_003eformat_005finfo"></a>
+<a class="index-entry-id" id="index-kpse_002d_003eformat_005finfo"></a>
+<a class="index-entry-id" id="index-resident_002ec"></a>
+<a class="index-entry-id" id="index-config-files_002c-for-Kpathsea_002dusing-programs"></a>
If your program has its own configuration files that can define search
-paths, you should assign those paths to the <code>client_path</code> member in
-the appropriate element of the <code>kpse-&gt;format_info</code> array. (This
-array is indexed by file type; see <samp>tex-file.h</samp>.) See
-<samp>resident.c</samp> in Dvipsk for an example.
-
-</li><li> <span id="index-kpathsea_005finit_005fprog-1"></span>
-<span id="index-proginit_002eh"></span>
-Call <code>kpathsea_init_prog</code> (see <samp>proginit.c</samp>). It&rsquo;s useful for the
+paths, you should assign those paths to the <code class="code">client_path</code> member in
+the appropriate element of the <code class="code">kpse-&gt;format_info</code> array. (This
+array is indexed by file type; see <samp class="file">tex-file.h</samp>.) See
+<samp class="file">resident.c</samp> in Dvipsk for an example.
+
+</li><li> <a class="index-entry-id" id="index-kpathsea_005finit_005fprog-1"></a>
+<a class="index-entry-id" id="index-proginit_002eh"></a>
+Call <code class="code">kpathsea_init_prog</code> (see <samp class="file">proginit.c</samp>). It&rsquo;s useful for the
DVI drivers, at least, but for other programs it may be simpler to
extract the parts of it that actually apply. This does not initialize
any paths, it just looks for (and sets) certain environment variables
@@ -3558,155 +3567,155 @@ and other random information. (A search path is always initialized at
the first call to find a file of that type; this eliminates much useless
work, e.g., initializing the BibTeX search paths in a DVI driver.)
-</li><li> <span id="index-kpathsea_005ffind_005ffile-1"></span>
-The routine to actually find a file of type <var>format</var> is
-<samp>kpathsea_find_file</samp>. You can call
-<code>kpathsea_find_file</code> after doing only the first and second of the
+</li><li> <a class="index-entry-id" id="index-kpathsea_005ffind_005ffile-1"></a>
+The routine to actually find a file of type <var class="var">format</var> is
+<samp class="file">kpathsea_find_file</samp>. You can call
+<code class="code">kpathsea_find_file</code> after doing only the first and second of the
initialization steps above&mdash;Kpathsea automatically reads the
-<samp>texmf.cnf</samp> generic config files, looks for environment variables,
+<samp class="file">texmf.cnf</samp> generic config files, looks for environment variables,
and does expansions at the first lookup.
</li><li> To find PK and/or GF bitmap fonts, the routine
-is <code>kpathsea_find_glyph</code>, defined in
-<samp>tex-glyph.h</samp>. This returns a structure in addition to the
+is <code class="code">kpathsea_find_glyph</code>, defined in
+<samp class="file">tex-glyph.h</samp>. This returns a structure in addition to the
resultant filename, because fonts can be found in so many ways. See the
documentation in the source.
-</li><li> <span id="index-kpathsea_005fopen_005ffile"></span>
+</li><li> <a class="index-entry-id" id="index-kpathsea_005fopen_005ffile"></a>
To actually open a file, not just return a filename, call
-<code>kpathsea_open_file</code>. This function takes the name to look up and a
-Kpathsea file format as arguments, and returns the usual <code>FILE *</code>.
+<code class="code">kpathsea_open_file</code>. This function takes the name to look up and a
+Kpathsea file format as arguments, and returns the usual <code class="code">FILE *</code>.
It always assumes the file must exist, and thus will search the disk if
-necessary (unless the search path specified &lsquo;<samp>!!</samp>&rsquo;, etc.). In other
+necessary (unless the search path specified &lsquo;<samp class="samp">!!</samp>&rsquo;, etc.). In other
words, if you are looking up a VF or some other file that need not
exist, don&rsquo;t use this.
-</li><li> <span id="index-kpathsea_005fout_005fname_005fok"></span>
-TeX can write output files, via the <code>\openout</code> primitive; this opens
+</li><li> <a class="index-entry-id" id="index-kpathsea_005fout_005fname_005fok"></a>
+TeX can write output files, via the <code class="code">\openout</code> primitive; this opens
a security hole vulnerable to Trojan horse attack: an unwitting user could
-run a TeX program that overwrites, say, <samp>~/.rhosts</samp>. Analogous
+run a TeX program that overwrites, say, <samp class="file">~/.rhosts</samp>. Analogous
security holes exist for many other programs. To alleviate this, there is a
-configuration variable <code>openout_any</code>, which selects one of three levels
-of security. When it is set to &lsquo;<samp>a</samp>&rsquo; (for &ldquo;any&rdquo;), no restrictions are
-imposed. When it is set to &lsquo;<samp>r</samp>&rsquo; (for &ldquo;restricted&rdquo;), filenames
-beginning with &lsquo;<samp>.</samp>&rsquo; are disallowed (except <samp>.tex</samp> because LaTeX
-needs it). When it is set to &lsquo;<samp>p</samp>&rsquo; (for &ldquo;paranoid&rdquo;) additional
+configuration variable <code class="code">openout_any</code>, which selects one of three levels
+of security. When it is set to &lsquo;<samp class="samp">a</samp>&rsquo; (for &ldquo;any&rdquo;), no restrictions are
+imposed. When it is set to &lsquo;<samp class="samp">r</samp>&rsquo; (for &ldquo;restricted&rdquo;), filenames
+beginning with &lsquo;<samp class="samp">.</samp>&rsquo; are disallowed (except <samp class="file">.tex</samp> because LaTeX
+needs it). When it is set to &lsquo;<samp class="samp">p</samp>&rsquo; (for &ldquo;paranoid&rdquo;) additional
restrictions are imposed: an absolute filename must refer to a file in (a
-subdirectory) of <code>TEXMFOUTPUT</code>, and any attempt to go up a directory
-level is forbidden (that is, paths may not contain a &lsquo;<samp>..</samp>&rsquo; component).
-The paranoid setting is the default. (For backwards compatibility, &lsquo;<samp>y</samp>&rsquo;
-and &lsquo;<samp>1</samp>&rsquo; are synonyms of &lsquo;<samp>a</samp>&rsquo;, while &lsquo;<samp>n</samp>&rsquo; and &lsquo;<samp>0</samp>&rsquo; are
-synonyms for &lsquo;<samp>r</samp>&rsquo;.) The function <code>kpathsea_out_name_ok</code>, with a
-filename as second argument, returns <code>true</code> if that filename is
-acceptable to be opend for output or <code>false</code> otherwise.
-
-</li><li> <span id="index-kpathsea_005fin_005fname_005fok"></span>
-Similarly, the function <code>kpathsea_in_name_ok</code>, with a filename as
-second argument, returns <code>true</code> if that filename is acceptable to be
-opend for input or <code>false</code> otherwise, depending on the value of the
-configuration variable <code>openin_any</code> (with &lsquo;<samp>a</samp>&rsquo; as default).
-
-</li><li> <span id="index-kpathsea_005ffinish"></span>
+subdirectory) of <code class="code">TEXMFOUTPUT</code>, and any attempt to go up a directory
+level is forbidden (that is, paths may not contain a &lsquo;<samp class="samp">..</samp>&rsquo; component).
+The paranoid setting is the default. (For backwards compatibility, &lsquo;<samp class="samp">y</samp>&rsquo;
+and &lsquo;<samp class="samp">1</samp>&rsquo; are synonyms of &lsquo;<samp class="samp">a</samp>&rsquo;, while &lsquo;<samp class="samp">n</samp>&rsquo; and &lsquo;<samp class="samp">0</samp>&rsquo; are
+synonyms for &lsquo;<samp class="samp">r</samp>&rsquo;.) The function <code class="code">kpathsea_out_name_ok</code>, with a
+filename as second argument, returns <code class="code">true</code> if that filename is
+acceptable to be opend for output or <code class="code">false</code> otherwise.
+
+</li><li> <a class="index-entry-id" id="index-kpathsea_005fin_005fname_005fok"></a>
+Similarly, the function <code class="code">kpathsea_in_name_ok</code>, with a filename as
+second argument, returns <code class="code">true</code> if that filename is acceptable to be
+opend for input or <code class="code">false</code> otherwise, depending on the value of the
+configuration variable <code class="code">openin_any</code> (with &lsquo;<samp class="samp">a</samp>&rsquo; as default).
+
+</li><li> <a class="index-entry-id" id="index-kpathsea_005ffinish"></a>
To close the kpathsea library instance you are using, call
-<code>kpathsea_finish</code>. This function closes any open log files and
+<code class="code">kpathsea_finish</code>. This function closes any open log files and
frees the memory used by the instance.
</li></ol>
-<span id="index-hash-table-routines"></span>
-<span id="index-memory-allocation-routines"></span>
-<span id="index-string-routines"></span>
-<span id="index-reading-arbitrary_002dlength-lines"></span>
-<span id="index-input-lines_002c-reading"></span>
-<span id="index-lines_002c-reading-arbitrary_002dlength"></span>
+<a class="index-entry-id" id="index-hash-table-routines"></a>
+<a class="index-entry-id" id="index-memory-allocation-routines"></a>
+<a class="index-entry-id" id="index-string-routines"></a>
+<a class="index-entry-id" id="index-reading-arbitrary_002dlength-lines"></a>
+<a class="index-entry-id" id="index-input-lines_002c-reading"></a>
+<a class="index-entry-id" id="index-lines_002c-reading-arbitrary_002dlength"></a>
<p>Kpathsea also provides many utility routines. Some are generic: hash
tables, memory allocation, string concatenation and copying, string
lists, reading input lines of arbitrary length, etc. Others are
filename-related: default path, tilde, and variable expansion,
-<code>stat</code> calls, etc. (Perhaps someday I&rsquo;ll move the former to a
+<code class="code">stat</code> calls, etc. (Perhaps someday I&rsquo;ll move the former to a
separate library.)
</p>
-<span id="index-c_002d_002a_002eh"></span>
-<span id="index-autoconf_002c-recommended"></span>
-<p>The <samp>c-*.h</samp> header files can also help your program adapt to many
+<a class="index-entry-id" id="index-c_002d_002a_002eh"></a>
+<a class="index-entry-id" id="index-autoconf_002c-recommended"></a>
+<p>The <samp class="file">c-*.h</samp> header files can also help your program adapt to many
different systems. You will almost certainly want to use Autoconf and
probably Automake for configuring and building your software if you use
Kpathsea; I strongly recommend using Autoconf and Automake regardless.
-They are available from <a href="https://gnu.org/software">https://gnu.org/software</a>.
+They are available from <a class="url" href="https://gnu.org/software">https://gnu.org/software</a>.
</p>
<hr>
</div>
-<div class="section" id="Program_002dspecific-files">
-<div class="header">
+<div class="section-level-extent" id="Program_002dspecific-files">
+<div class="nav-panel">
<p>
Next: <a href="#Programming-with-config-files" accesskey="n" rel="next">Programming with config files</a>, Previous: <a href="#Calling-sequence" accesskey="p" rel="prev">Calling sequence</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Program_002dspecific-files-1"></span><h3 class="section">7.3 Program-specific files</h3>
+<h3 class="section" id="Program_002dspecific-files-1">7.3 Program-specific files</h3>
<p>Many programs will need to find some configuration files. Kpathsea
contains some support to make it easy to place them in their own
-directories. The Standard TeX directory structure (see <a data-manual="tds" href="tds.html#Top">Introduction</a> in <cite>A Directory Structure for TeX files</cite>), specifies
+directories. The Standard TeX directory structure (see <a data-manual="tds" href="tds.html#Top">Introduction</a> in <cite class="cite">A Directory Structure for TeX files</cite>), specifies
that such files should go into a subdirectory named after the program,
-like &lsquo;<samp>texmf/ttf2pk</samp>&rsquo;.
+like &lsquo;<samp class="samp">texmf/ttf2pk</samp>&rsquo;.
</p>
-<p>Two formats, &lsquo;<samp>kpse_program_text_format</samp>&rsquo; and
-&lsquo;<samp>kpse_program_binary_format</samp>&rsquo;, use <code>.:$TEXMF/<var>program</var>//</code>
+<p>Two formats, &lsquo;<samp class="samp">kpse_program_text_format</samp>&rsquo; and
+&lsquo;<samp class="samp">kpse_program_binary_format</samp>&rsquo;, use <code class="code">.:$TEXMF/<var class="var">program</var>//</code>
as their compiled-in search path. To override this default, you can
-use the variable <code><var>PROGRAM</var>INPUTS</code> in the environment and/or
-&lsquo;<samp>texmf.cnf</samp>&rsquo;. That is to say, the name of the variable is
+use the variable <code class="code"><var class="var">PROGRAM</var>INPUTS</code> in the environment and/or
+&lsquo;<samp class="samp">texmf.cnf</samp>&rsquo;. That is to say, the name of the variable is
constructed by converting the name of the program to upper case, and
-appending <code>INPUTS</code>.
+appending <code class="code">INPUTS</code>.
</p>
<p>The only difference between these two formats is whether
-<code>kpathsea_open_file</code> will open the files it finds in text or binary
+<code class="code">kpathsea_open_file</code> will open the files it finds in text or binary
mode.
</p>
<hr>
</div>
-<div class="section" id="Programming-with-config-files">
-<div class="header">
+<div class="section-level-extent" id="Programming-with-config-files">
+<div class="nav-panel">
<p>
Previous: <a href="#Program_002dspecific-files" accesskey="p" rel="prev">Program-specific files</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Programming-with-config-files-1"></span><h3 class="section">7.4 Programming with config files</h3>
+<h3 class="section" id="Programming-with-config-files-1">7.4 Programming with config files</h3>
-<span id="index-programming-with-config-files"></span>
-<span id="index-config-files_002c-programming-with"></span>
+<a class="index-entry-id" id="index-programming-with-config-files"></a>
+<a class="index-entry-id" id="index-config-files_002c-programming-with"></a>
-<p>You can (and probably should) use the same <code>texmf.cnf</code>
+<p>You can (and probably should) use the same <code class="code">texmf.cnf</code>
configuration file that Kpathsea uses for your program. This helps
installers by keeping all configuration in one place.
</p>
-<span id="index-kpathsea_005fvar_005fvalue"></span>
-<span id="index-variable_002eh"></span>
-<span id="index-shell_005fescape_002c-example-for-code"></span>
-<p>To retrieve a value for a configuration variable <var>var</var>, the best
-way is to call <code>kpathsea_var_value</code> on the string
-<code><var>var</var></code>. This will look first for an environment variable
-<var>var</var>, then a config file value. The result will be the value
-found or &lsquo;<samp>NULL</samp>&rsquo;. This function is declared in
-<samp>kpathsea/variable.h</samp>. For an example, see the
-<code>shell_escape</code> code in <samp>web2c/lib/texmfmp.c</samp>.
+<a class="index-entry-id" id="index-kpathsea_005fvar_005fvalue"></a>
+<a class="index-entry-id" id="index-variable_002eh"></a>
+<a class="index-entry-id" id="index-shell_005fescape_002c-example-for-code"></a>
+<p>To retrieve a value for a configuration variable <var class="var">var</var>, the best
+way is to call <code class="code">kpathsea_var_value</code> on the string
+<code class="code"><var class="var">var</var></code>. This will look first for an environment variable
+<var class="var">var</var>, then a config file value. The result will be the value
+found or &lsquo;<samp class="samp">NULL</samp>&rsquo;. This function is declared in
+<samp class="file">kpathsea/variable.h</samp>. For an example, see the
+<code class="code">shell_escape</code> code in <samp class="file">web2c/lib/texmfmp.c</samp>.
</p>
<p>The routine to do full variable and tilde expansion of an arbitrary
string in the context of a search path (as opposed to simply
-retrieving a value) is <code>kpathsea_var_expand</code>, also declared in
-<samp>kpathsea/variable.h</samp>. However, it&rsquo;s generally only necessary to
+retrieving a value) is <code class="code">kpathsea_var_expand</code>, also declared in
+<samp class="file">kpathsea/variable.h</samp>. However, it&rsquo;s generally only necessary to
set the search path structure components as explained in the previous
section instead of using this directly. Because of its usage with any
-input string, undefined <code>$FOO</code> constructs in the argument to
-<code>kpathsea_var_expand</code> are returned literally (<code>&quot;$FOO&quot;</code>),
-while undefined <code>${FOO}</code> constructs are expanded to the empty
+input string, undefined <code class="code">$FOO</code> constructs in the argument to
+<code class="code">kpathsea_var_expand</code> are returned literally (<code class="code">&quot;$FOO&quot;</code>),
+while undefined <code class="code">${FOO}</code> constructs are expanded to the empty
string.
</p>
-<span id="index-kpathsea_005fcnf_005fget"></span>
-<span id="index-cnf_002eh"></span>
-<p>If for some reason you want to retrieve a value <em>only</em> from a
+<a class="index-entry-id" id="index-kpathsea_005fcnf_005fget"></a>
+<a class="index-entry-id" id="index-cnf_002eh"></a>
+<p>If for some reason you want to retrieve a value <em class="emph">only</em> from a
config file, not automatically looking for a corresponding environment
-variable, call <code>kpathsea_cnf_get</code> (declared in <samp>kpathsea/cnf.h</samp>)
-with the string <var>var</var>.
+variable, call <code class="code">kpathsea_cnf_get</code> (declared in <samp class="file">kpathsea/cnf.h</samp>)
+with the string <var class="var">var</var>.
</p>
<p>No initialization calls are needed.
</p>
@@ -3714,20 +3723,20 @@ with the string <var>var</var>.
<hr>
</div>
</div>
-<div class="chapter" id="Reporting-bugs">
-<div class="header">
+<div class="chapter-level-extent" id="Reporting-bugs">
+<div class="nav-panel">
<p>
Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#Programming" accesskey="p" rel="prev">Programming</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Reporting-bugs-1"></span><h2 class="chapter">8 Reporting bugs</h2>
+<h2 class="chapter" id="Reporting-bugs-1">8 Reporting bugs</h2>
-<span id="index-reporting-bugs"></span>
-<span id="index-bugs_002c-reporting"></span>
+<a class="index-entry-id" id="index-reporting-bugs"></a>
+<a class="index-entry-id" id="index-bugs_002c-reporting"></a>
-<span id="index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"></span>
-<span id="index-bug-address"></span>
+<a class="index-entry-id" id="index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"></a>
+<a class="index-entry-id" id="index-bug-address"></a>
<p>If you have problems or suggestions, please report them to
-<a href="mailto:tex-k@tug.org">tex-k@tug.org</a> using the bug checklist below.
+<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a> using the bug checklist below.
</p>
<p>Please report bugs in the documentation; not only factual errors or
inconsistent behavior, but unclear or incomplete explanations, typos,
@@ -3735,7 +3744,7 @@ wrong fonts, &hellip;
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Bug-checklist" accesskey="1">Bug checklist</a></li>
<li><a href="#Mailing-lists" accesskey="2">Mailing lists</a></li>
<li><a href="#Debugging" accesskey="3">Debugging</a></li>
@@ -3743,116 +3752,116 @@ wrong fonts, &hellip;
<li><a href="#Common-problems" accesskey="5">Common problems</a></li>
</ul>
<hr>
-<div class="section" id="Bug-checklist">
-<div class="header">
+<div class="section-level-extent" id="Bug-checklist">
+<div class="nav-panel">
<p>
Next: <a href="#Mailing-lists" accesskey="n" rel="next">Mailing lists</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Bug-checklist-1"></span><h3 class="section">8.1 Bug checklist</h3>
+<h3 class="section" id="Bug-checklist-1">8.1 Bug checklist</h3>
-<span id="index-checklist-for-bug-reports"></span>
-<span id="index-bug-checklist"></span>
+<a class="index-entry-id" id="index-checklist-for-bug-reports"></a>
+<a class="index-entry-id" id="index-bug-checklist"></a>
<p>Before reporting a bug, please check below to be sure it isn&rsquo;t already
-known (see <a href="#Common-problems">Common problems</a>).
+known (see <a class="pxref" href="#Common-problems">Common problems</a>).
</p>
<p>Bug reports should be sent via electronic mail to
-<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>.
+<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a>.
</p>
<p>The general principle is that a good bug report includes all the
information necessary for reproduction. Therefore, to enable
investigation, your report should include the following:
</p>
-<ul>
-<li> <span id="index-version-numbers_002c-determining"></span>
+<ul class="itemize mark-bullet">
+<li><a class="index-entry-id" id="index-version-numbers_002c-determining"></a>
The version number(s) of the program(s) involved, and of Kpathsea
-itself. You can get the former by giving a sole option &lsquo;<samp>--version</samp>&rsquo;
-to the program, and the latter by running &lsquo;<samp>kpsewhich --version</samp>&rsquo;.
-The <samp>NEWS</samp> and <samp>ChangeLog</samp> files also contain the version
+itself. You can get the former by giving a sole option &lsquo;<samp class="samp">--version</samp>&rsquo;
+to the program, and the latter by running &lsquo;<samp class="samp">kpsewhich --version</samp>&rsquo;.
+The <samp class="file">NEWS</samp> and <samp class="file">ChangeLog</samp> files also contain the version
number.
-</li><li> <span id="index-uname"></span>
+</li><li><a class="index-entry-id" id="index-uname"></a>
The hardware, operating system (including version), compiler, and
-<code>make</code> program you are using (the output of <code>uname -a</code> is a
+<code class="code">make</code> program you are using (the output of <code class="code">uname -a</code> is a
start on the first two, though incomplete).
-</li><li> <span id="index-config_002elog"></span>
-Any options you gave to <code>configure</code>. This is recorded in the
-<samp>config.status</samp> files.
+</li><li><a class="index-entry-id" id="index-config_002elog"></a>
+Any options you gave to <code class="code">configure</code>. This is recorded in the
+<samp class="file">config.status</samp> files.
-<span id="index-configuration-bugs"></span>
-<span id="index-config_002estatus"></span>
-<p>If you are reporting a bug in &lsquo;<samp>configure</samp>&rsquo; itself, it&rsquo;s probably
+<a class="index-entry-id" id="index-configuration-bugs"></a>
+<a class="index-entry-id" id="index-config_002estatus"></a>
+<p>If you are reporting a bug in &lsquo;<samp class="samp">configure</samp>&rsquo; itself, it&rsquo;s probably
system-dependent, and it will be unlikely the maintainers can do
anything useful if you merely report that thus-and-such is broken.
Therefore, you need to do some additional work: for some bugs, you can
-look in the file <samp>config.log</samp> where the test that failed should
+look in the file <samp class="file">config.log</samp> where the test that failed should
appear, along with the compiler invocation and source program in
question. You can then compile it yourself by hand, and discover why
-the test failed. Other &lsquo;<samp>configure</samp>&rsquo; bugs do not involve the
+the test failed. Other &lsquo;<samp class="samp">configure</samp>&rsquo; bugs do not involve the
compiler; in that case, the only recourse is to inspect the
-<code>configure</code> shell script itself, or the Autoconf macros that
-generated <code>configure</code>.
+<code class="code">configure</code> shell script itself, or the Autoconf macros that
+generated <code class="code">configure</code>.
</p>
-</li><li> The log of all debugging output, if the bug is in path searching. You
-can get this by setting the environment variable <code>KPATHSEA_DEBUG</code>
-to &lsquo;<samp>-1</samp>&rsquo; before running the program. Please look at the log
+</li><li>The log of all debugging output, if the bug is in path searching. You
+can get this by setting the environment variable <code class="code">KPATHSEA_DEBUG</code>
+to &lsquo;<samp class="samp">-1</samp>&rsquo; before running the program. Please look at the log
yourself to make sure the behavior is really a bug before reporting it;
perhaps &ldquo;old&rdquo; environment variable settings are causing files not to
be found, for example.
-</li><li> The contents of any input files necessary to reproduce the bug. For
+</li><li>The contents of any input files necessary to reproduce the bug. For
bugs in DVI-reading programs, for example, this generally means a DVI
file (and any EPS or other files it uses)&mdash;TeX source files are
helpful, but the DVI file is required, because that&rsquo;s the actual
program input.
-</li><li> <span id="index-context-diff"></span>
-<span id="index-sending-patches"></span>
-<span id="index-ChangeLog-entry"></span>
+</li><li><a class="index-entry-id" id="index-context-diff"></a>
+<a class="index-entry-id" id="index-sending-patches"></a>
+<a class="index-entry-id" id="index-ChangeLog-entry"></a>
If you are sending a patch (do so if you can!), please do so in the form
-of a context diff (&lsquo;<samp>diff -c</samp>&rsquo;) against the original distribution
+of a context diff (&lsquo;<samp class="samp">diff -c</samp>&rsquo;) against the original distribution
source. Any other form of diff is either not as complete or harder for
-me to understand. Please also include a <samp>ChangeLog</samp> entry.
-
-</li><li> <span id="index-stack-trace"></span>
-<span id="index-debugger"></span>
-<span id="index-crashes_002c-reporting"></span>
-<span id="index-core-dumps_002c-reporting"></span>
-<span id="index-null-pointers_002c-dereferencing"></span>
-<span id="index-gdb_002c-recommended"></span>
+me to understand. Please also include a <samp class="file">ChangeLog</samp> entry.
+
+</li><li><a class="index-entry-id" id="index-stack-trace"></a>
+<a class="index-entry-id" id="index-debugger"></a>
+<a class="index-entry-id" id="index-crashes_002c-reporting"></a>
+<a class="index-entry-id" id="index-core-dumps_002c-reporting"></a>
+<a class="index-entry-id" id="index-null-pointers_002c-dereferencing"></a>
+<a class="index-entry-id" id="index-gdb_002c-recommended"></a>
If the bug involved is an actual crash (i.e., core dump), it is easy
and useful to include a stack trace from a debugger (I recommend the
-GNU debugger GDB (<a href="https://gnu.org/software/gdb">https://gnu.org/software/gdb</a>). If the
-cause is apparent (a <code>NULL</code> value being dereferenced, for
+GNU debugger GDB (<a class="url" href="https://gnu.org/software/gdb">https://gnu.org/software/gdb</a>). If the
+cause is apparent (a <code class="code">NULL</code> value being dereferenced, for
example), please send the details along. If the program involved is
TeX or Metafont, and the crash is happening at apparently-sound
code, however, the bug may well be in the compiler, rather than in the
-program or the library (see <a href="#TeX-or-Metafont-failing">TeX or
+program or the library (see <a class="pxref" href="#TeX-or-Metafont-failing">TeX or
Metafont failing</a>).
-</li><li> Any additional information that will be helpful in reproducing,
+</li><li>Any additional information that will be helpful in reproducing,
diagnosing, or fixing the bug.
</li></ul>
<hr>
</div>
-<div class="section" id="Mailing-lists">
-<div class="header">
+<div class="section-level-extent" id="Mailing-lists">
+<div class="nav-panel">
<p>
Next: <a href="#Debugging" accesskey="n" rel="next">Debugging</a>, Previous: <a href="#Bug-checklist" accesskey="p" rel="prev">Bug checklist</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Mailing-lists-1"></span><h3 class="section">8.2 Mailing lists</h3>
+<h3 class="section" id="Mailing-lists-1">8.2 Mailing lists</h3>
-<span id="index-mailing-lists"></span>
-<span id="index-bug-mailing-list"></span>
-<span id="index-announcement-mailing-list"></span>
+<a class="index-entry-id" id="index-mailing-lists"></a>
+<a class="index-entry-id" id="index-bug-mailing-list"></a>
+<a class="index-entry-id" id="index-announcement-mailing-list"></a>
-<span id="index-tex_002dk_0040tug_002eorg"></span>
+<a class="index-entry-id" id="index-tex_002dk_0040tug_002eorg"></a>
<p>Web2c and Kpathsea in general are discussed on the mailing list
-<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>. You can subscribe and peruse the archives on
-the web <a href="https://lists.tug.org/tex-k">https://lists.tug.org/tex-k</a>.
+<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a>. You can subscribe and peruse the archives on
+the web <a class="url" href="https://lists.tug.org/tex-k">https://lists.tug.org/tex-k</a>.
</p>
<p>You do not need to join to submit a report, nor will it affect whether
you get a response. Be aware that large data files are sometimes
@@ -3861,191 +3870,191 @@ the list.
</p>
<p>If you are looking for general TeX help, such as how to install a
full TeX system or how to use LaTeX, please see
-<a href="https://tug.org/begin.html">https://tug.org/begin.html</a>.
+<a class="url" href="https://tug.org/begin.html">https://tug.org/begin.html</a>.
</p>
<hr>
</div>
-<div class="section" id="Debugging">
-<div class="header">
+<div class="section-level-extent" id="Debugging">
+<div class="nav-panel">
<p>
Next: <a href="#Logging" accesskey="n" rel="next">Logging</a>, Previous: <a href="#Mailing-lists" accesskey="p" rel="prev">Mailing lists</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Debugging-1"></span><h3 class="section">8.3 Debugging</h3>
+<h3 class="section" id="Debugging-1">8.3 Debugging</h3>
-<span id="index-debugging"></span>
-<span id="index-runtime-debugging"></span>
-<span id="index-options-for-debugging"></span>
+<a class="index-entry-id" id="index-debugging"></a>
+<a class="index-entry-id" id="index-runtime-debugging"></a>
+<a class="index-entry-id" id="index-options-for-debugging"></a>
-<span id="index-kpse_002d_003edebug"></span>
-<span id="index-debug_002eh"></span>
+<a class="index-entry-id" id="index-kpse_002d_003edebug"></a>
+<a class="index-entry-id" id="index-debug_002eh"></a>
<p>Kpathsea provides a number of runtime debugging options, detailed below
by their names and corresponding numeric values. When the files you
expect aren&rsquo;t being found, the thing to do is enable these options and
examine the output.
</p>
-<p>You can set these with some runtime argument (e.g., &lsquo;<samp>-d</samp>&rsquo;) to the
+<p>You can set these with some runtime argument (e.g., &lsquo;<samp class="samp">-d</samp>&rsquo;) to the
program; in that case, you should use the numeric values described in
the program&rsquo;s documentation (which, for Dvipsk and Xdvik, are different
-than those below). It&rsquo;s best to give the &lsquo;<samp>-d</samp>&rsquo; (or whatever) option
+than those below). It&rsquo;s best to give the &lsquo;<samp class="samp">-d</samp>&rsquo; (or whatever) option
first, for maximal output. Dvipsk and Xdvik have additional
program-specific debugging options as well.
</p>
-<span id="index-KPATHSEA_005fDEBUG-1"></span>
-<span id="index-kpse_002d_003edebug-1"></span>
-<p>You can also set the environment variable <code>KPATHSEA_DEBUG</code>; in this
+<a class="index-entry-id" id="index-KPATHSEA_005fDEBUG-1"></a>
+<a class="index-entry-id" id="index-kpse_002d_003edebug-1"></a>
+<p>You can also set the environment variable <code class="code">KPATHSEA_DEBUG</code>; in this
case, you should use the numbers below. If you run the program under a
-debugger and set the instance variable <code>kpse-&gt;debug</code>, also use the numbers
+debugger and set the instance variable <code class="code">kpse-&gt;debug</code>, also use the numbers
below.
</p>
-<span id="index-_002d1-debugging-value"></span>
-<p>In any case, by far the simplest value to use is &lsquo;<samp>-1</samp>&rsquo;, which will
+<a class="index-entry-id" id="index-_002d1-debugging-value"></a>
+<p>In any case, by far the simplest value to use is &lsquo;<samp class="samp">-1</samp>&rsquo;, which will
turn on all debugging output. This is usually better than guessing
which particular values will yield the output you need.
</p>
-<span id="index-debugging-output"></span>
-<span id="index-standard-error-and-debugging-output"></span>
+<a class="index-entry-id" id="index-debugging-output"></a>
+<a class="index-entry-id" id="index-standard-error-and-debugging-output"></a>
<p>Debugging output always goes to standard error, so you can redirect it
easily. For example, in Bourne-compatible shells:
</p><div class="example">
-<pre class="example">dvips -d -1 &hellip; 2&gt;/tmp/debug
+<pre class="example-preformatted">dvips -d -1 &hellip; 2&gt;/tmp/debug
</pre></div>
-<span id="index-Kpsewhich_002c-and-debugging"></span>
+<a class="index-entry-id" id="index-Kpsewhich_002c-and-debugging"></a>
<p>It is sometimes helpful to run the standalone Kpsewhich utility
-(see <a href="#Invoking-kpsewhich"><code>kpsewhich</code>: Standalone path searching</a>), instead of the original program.
+(see <a class="pxref" href="#Invoking-kpsewhich"><code class="code">kpsewhich</code>: Standalone path searching</a>), instead of the original program.
</p>
-<span id="index-numeric-debugging-values"></span>
+<a class="index-entry-id" id="index-numeric-debugging-values"></a>
<p>In any case, you cannot use the names below; you must always use
somebody&rsquo;s numbers. (Sorry.) To set more than one option, just sum
the corresponding numbers.
</p>
-<dl compact="compact">
-<dt id='index-KPSE_005fDEBUG_005fSTAT-_00281_0029'><span><code>KPSE_DEBUG_STAT <span class="roman">(1)</span></code><a href='#index-KPSE_005fDEBUG_005fSTAT-_00281_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Report &lsquo;<samp>stat</samp>&rsquo;(2) calls. This is useful for verifying that your
+<dl class="vtable">
+<dt id='index-KPSE_005fDEBUG_005fSTAT-_00281_0029'><span><code class="code">KPSE_DEBUG_STAT <span class="r">(1)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fSTAT-_00281_0029'> &para;</a></span></dt>
+<dd><p>Report &lsquo;<samp class="samp">stat</samp>&rsquo;(2) calls. This is useful for verifying that your
directory structure is not forcing Kpathsea to do many additional file
-tests (see <a href="#Slow-path-searching">Slow path searching</a>, and see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). If you are using an up-to-date <samp>ls-R</samp> database
-(see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>), this should produce no output unless a
+tests (see <a class="pxref" href="#Slow-path-searching">Slow path searching</a>, and see <a class="pxref" href="#Subdirectory-expansion">Subdirectory expansion</a>). If you are using an up-to-date <samp class="file">ls-R</samp> database
+(see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>), this should produce no output unless a
nonexistent file that must exist is searched for.
</p>
</dd>
-<dt id='index-KPSE_005fDEBUG_005fHASH-_00282_0029'><span><code>KPSE_DEBUG_HASH <span class="roman">(2)</span></code><a href='#index-KPSE_005fDEBUG_005fHASH-_00282_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Report lookups in all hash tables: <samp>ls-R</samp> and <samp>aliases</samp>
-(see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>); font aliases (see <a href="#Fontmap">Fontmap</a>); and config
-file values (see <a href="#Config-files">Config files</a>). Useful when expected values are not
+<dt id='index-KPSE_005fDEBUG_005fHASH-_00282_0029'><span><code class="code">KPSE_DEBUG_HASH <span class="r">(2)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fHASH-_00282_0029'> &para;</a></span></dt>
+<dd><p>Report lookups in all hash tables: <samp class="file">ls-R</samp> and <samp class="file">aliases</samp>
+(see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>); font aliases (see <a class="pxref" href="#Fontmap">Fontmap</a>); and config
+file values (see <a class="pxref" href="#Config-files">Config files</a>). Useful when expected values are not
being found, e.g.., file searches are looking at the disk instead of
-using <samp>ls-R</samp>.
+using <samp class="file">ls-R</samp>.
</p>
</dd>
-<dt id='index-KPSE_005fDEBUG_005fFOPEN-_00284_0029'><span><code>KPSE_DEBUG_FOPEN <span class="roman">(4)</span></code><a href='#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-fopen_002c-redefined"></span>
+<dt id='index-KPSE_005fDEBUG_005fFOPEN-_00284_0029'><span><code class="code">KPSE_DEBUG_FOPEN <span class="r">(4)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-fopen_002c-redefined"></a>
<p>Report file openings and closings. Especially useful when your system&rsquo;s
file table is full, for seeing which files have been opened but never
closed. In case you want to set breakpoints in a debugger: this works by
-redefining &lsquo;<samp>fopen</samp>&rsquo; (&lsquo;<samp>fclose</samp>&rsquo;) to be &lsquo;<samp>kpse_fopen_trace</samp>&rsquo;
-(&lsquo;<samp>kpse_fclose_trace</samp>&rsquo;).
+redefining &lsquo;<samp class="samp">fopen</samp>&rsquo; (&lsquo;<samp class="samp">fclose</samp>&rsquo;) to be &lsquo;<samp class="samp">kpse_fopen_trace</samp>&rsquo;
+(&lsquo;<samp class="samp">kpse_fclose_trace</samp>&rsquo;).
</p>
</dd>
-<dt id='index-KPSE_005fDEBUG_005fPATHS-_00288_0029'><span><code>KPSE_DEBUG_PATHS <span class="roman">(8)</span></code><a href='#index-KPSE_005fDEBUG_005fPATHS-_00288_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><span id="index-kpse_005fformat_005finfo_005ftype"></span>
+<dt id='index-KPSE_005fDEBUG_005fPATHS-_00288_0029'><span><code class="code">KPSE_DEBUG_PATHS <span class="r">(8)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fPATHS-_00288_0029'> &para;</a></span></dt>
+<dd><a class="index-entry-id" id="index-kpse_005fformat_005finfo_005ftype"></a>
<p>Report general path information for each file type Kpathsea is asked to
search. This is useful when you are trying to track down how a
-particular path got defined&mdash;from <samp>texmf.cnf</samp>, <samp>config.ps</samp>,
+particular path got defined&mdash;from <samp class="file">texmf.cnf</samp>, <samp class="file">config.ps</samp>,
an environment variable, the compile-time default, etc. This is the
-contents of the <code>kpse_format_info_type</code> structure defined in
-<samp>tex-file.h</samp>.
+contents of the <code class="code">kpse_format_info_type</code> structure defined in
+<samp class="file">tex-file.h</samp>.
</p>
</dd>
-<dt id='index-KPSE_005fDEBUG_005fEXPAND-_002816_0029'><span><code>KPSE_DEBUG_EXPAND <span class="roman">(16)</span></code><a href='#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-KPSE_005fDEBUG_005fEXPAND-_002816_0029'><span><code class="code">KPSE_DEBUG_EXPAND <span class="r">(16)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029'> &para;</a></span></dt>
<dd><p>Report the directory list corresponding to each path element Kpathsea
searches. This is only relevant when Kpathsea searches the disk, since
-<samp>ls-R</samp> searches don&rsquo;t look through directory lists in this way.
+<samp class="file">ls-R</samp> searches don&rsquo;t look through directory lists in this way.
</p>
</dd>
-<dt id='index-KPSE_005fDEBUG_005fSEARCH-_002832_0029'><span><code>KPSE_DEBUG_SEARCH <span class="roman">(32)</span></code><a href='#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-KPSE_005fDEBUG_005fSEARCH-_002832_0029'><span><code class="code">KPSE_DEBUG_SEARCH <span class="r">(32)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029'> &para;</a></span></dt>
<dd><p>Report on each file search: the name of the file searched for, the path
searched in, whether or not the file must exist (when drivers search for
-<samp>cmr10.vf</samp>, it need not exist), and whether or not we are
+<samp class="file">cmr10.vf</samp>, it need not exist), and whether or not we are
collecting all occurrences of the file in the path (as with, e.g.,
-<samp>texmf.cnf</samp> and <samp>texfonts.map</samp>), or just the first (as with
+<samp class="file">texmf.cnf</samp> and <samp class="file">texfonts.map</samp>), or just the first (as with
most lookups). This can help you correlate what Kpathsea is doing with
what is in your input file.
</p>
</dd>
-<dt id='index-KPSE_005fDEBUG_005fVARS-_002864_0029'><span><code>KPSE_DEBUG_VARS <span class="roman">(64)</span></code><a href='#index-KPSE_005fDEBUG_005fVARS-_002864_0029' class='copiable-anchor'> &para;</a></span></dt>
+<dt id='index-KPSE_005fDEBUG_005fVARS-_002864_0029'><span><code class="code">KPSE_DEBUG_VARS <span class="r">(64)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fVARS-_002864_0029'> &para;</a></span></dt>
<dd><p>Report the value of each variable Kpathsea looks up. This is useful for
verifying that variables do indeed obtain their correct values.
</p>
</dd>
-<dt id='index-GSFTOPK_005fDEBUG-_0028128_0029'><span><code>GSFTOPK_DEBUG <span class="roman">(128)</span></code><a href='#index-GSFTOPK_005fDEBUG-_0028128_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Activates debugging printout specific to <code>gsftopk</code> program.
+<dt id='index-GSFTOPK_005fDEBUG-_0028128_0029'><span><code class="code">GSFTOPK_DEBUG <span class="r">(128)</span></code><a class="copiable-link" href='#index-GSFTOPK_005fDEBUG-_0028128_0029'> &para;</a></span></dt>
+<dd><p>Activates debugging printout specific to <code class="code">gsftopk</code> program.
</p>
</dd>
-<dt id='index-MAKETEX_005fDEBUG-_0028512_0029'><span><code>MAKETEX_DEBUG <span class="roman">(512)</span></code><a href='#index-MAKETEX_005fDEBUG-_0028512_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>If you use the optional <code>mktex</code> programs instead of the
+<dt id='index-MAKETEX_005fDEBUG-_0028512_0029'><span><code class="code">MAKETEX_DEBUG <span class="r">(512)</span></code><a class="copiable-link" href='#index-MAKETEX_005fDEBUG-_0028512_0029'> &para;</a></span></dt>
+<dd><p>If you use the optional <code class="code">mktex</code> programs instead of the
traditional shell scripts, this will report the name of the site file
-(<samp>mktex.cnf</samp> by default) which is read, directories created by
-<code>mktexdir</code>, the full path of the <samp>ls-R</samp> database built by
-<code>mktexlsr</code>, font map searches, <code>MT_FEATURES</code> in effect,
-parameters from <code>mktexnam</code>, filenames added by
-<code>mktexupd</code>, and some subsidiary commands run by the programs.
+(<samp class="file">mktex.cnf</samp> by default) which is read, directories created by
+<code class="code">mktexdir</code>, the full path of the <samp class="file">ls-R</samp> database built by
+<code class="code">mktexlsr</code>, font map searches, <code class="code">MT_FEATURES</code> in effect,
+parameters from <code class="code">mktexnam</code>, filenames added by
+<code class="code">mktexupd</code>, and some subsidiary commands run by the programs.
</p>
</dd>
-<dt id='index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029'><span><code>MAKETEX_FINE_DEBUG <span class="roman">(1024)</span></code><a href='#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>When the optional <code>mktex</code> programs are used, this will print
+<dt id='index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029'><span><code class="code">MAKETEX_FINE_DEBUG <span class="r">(1024)</span></code><a class="copiable-link" href='#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029'> &para;</a></span></dt>
+<dd><p>When the optional <code class="code">mktex</code> programs are used, this will print
additional debugging info from functions internal to these programs.
</p></dd>
</dl>
-<span id="index-kdebug_003a"></span>
-<span id="index-hash_005fsummary_005fonly-variable-for-debugging"></span>
-<span id="index-hash-table-buckets_002c-printing"></span>
+<a class="index-entry-id" id="index-kdebug_003a"></a>
+<a class="index-entry-id" id="index-hash_005fsummary_005fonly-variable-for-debugging"></a>
+<a class="index-entry-id" id="index-hash-table-buckets_002c-printing"></a>
<p>Debugging output from Kpathsea is always written to standard error, and
-begins with the string &lsquo;<samp>kdebug:</samp>&rsquo;. (Except for hash table buckets,
+begins with the string &lsquo;<samp class="samp">kdebug:</samp>&rsquo;. (Except for hash table buckets,
which just start with the number, but you can only get that output
-running under a debugger. See comments at the <code>hash_summary_only</code>
-variable in <samp>kpathsea/db.c</samp>.)
+running under a debugger. See comments at the <code class="code">hash_summary_only</code>
+variable in <samp class="file">kpathsea/db.c</samp>.)
</p>
<hr>
</div>
-<div class="section" id="Logging">
-<div class="header">
+<div class="section-level-extent" id="Logging">
+<div class="nav-panel">
<p>
Next: <a href="#Common-problems" accesskey="n" rel="next">Common problems</a>, Previous: <a href="#Debugging" accesskey="p" rel="prev">Debugging</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Logging-1"></span><h3 class="section">8.4 Logging</h3>
+<h3 class="section" id="Logging-1">8.4 Logging</h3>
-<span id="index-log-file"></span>
+<a class="index-entry-id" id="index-log-file"></a>
-<span id="index-logging-successful-searches"></span>
-<span id="index-recording-successful-searches"></span>
-<span id="index-usage-patterns_002c-finding"></span>
-<span id="index-disk-usage_002c-reducing"></span>
+<a class="index-entry-id" id="index-logging-successful-searches"></a>
+<a class="index-entry-id" id="index-recording-successful-searches"></a>
+<a class="index-entry-id" id="index-usage-patterns_002c-finding"></a>
+<a class="index-entry-id" id="index-disk-usage_002c-reducing"></a>
<p>Kpathsea can record the time and filename found for each successful
search. This may be useful in finding good candidates for deletion when
your filesystem is full, or in discovering usage patterns
at your site.
</p>
-<span id="index-TEXMFLOG"></span>
+<a class="index-entry-id" id="index-TEXMFLOG"></a>
<p>To do this, define the environment or config file variable
-<code>TEXMFLOG</code>. The value is the name of the file to append the
+<code class="code">TEXMFLOG</code>. The value is the name of the file to append the
information to. The file is created if it doesn&rsquo;t exist, and appended
to if it does.
</p>
-<span id="index-epoch_002c-seconds-since"></span>
-<span id="index-time-system-call"></span>
+<a class="index-entry-id" id="index-epoch_002c-seconds-since"></a>
+<a class="index-entry-id" id="index-time-system-call"></a>
<p>Each successful search turns into one line in the log file: two words
separated by a space. The first word is the time of the search, as the
integer number of seconds since &ldquo;the epoch&rdquo;, i.e., UTC midnight 1
-January 1970 (more precisely, the result of the <code>time</code> system
+January 1970 (more precisely, the result of the <code class="code">time</code> system
call). The second word is the filename.
</p>
-<p>For example, after <code>setenv TEXMFLOG /tmp/log</code>, running Dvips on
-<samp>story.dvi</samp> appends the following lines:
+<p>For example, after <code class="code">setenv TEXMFLOG /tmp/log</code>, running Dvips on
+<samp class="file">story.dvi</samp> appends the following lines:
</p>
<div class="example">
-<pre class="example">774455887 /usr/local/share/texmf/dvips/config.ps
+<pre class="example-preformatted">774455887 /usr/local/share/texmf/dvips/config.ps
774455887 /usr/local/share/texmf/dvips/psfonts.map
774455888 /usr/local/share/texmf/dvips/texc.pro
774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk
@@ -4054,154 +4063,154 @@ call). The second word is the filename.
774455889 /usr/local/share/texmf/dvips/texc.pro
</pre></div>
-<span id="index-privacy_002c-semblance-of"></span>
+<a class="index-entry-id" id="index-privacy_002c-semblance-of"></a>
<p>Only filenames that are absolute are recorded, to preserve
some semblance of privacy.
</p>
-<p>In addition to this Kpathsea-specific logging, <code>pdftex</code>
-provides an option <samp>-recorder</samp> to write the names of all files
-accessed during a run to the file <samp><var>basefile</var>.fls</samp>.
+<p>In addition to this Kpathsea-specific logging, <code class="command">pdftex</code>
+provides an option <samp class="option">-recorder</samp> to write the names of all files
+accessed during a run to the file <samp class="file"><var class="var">basefile</var>.fls</samp>.
</p>
<p>Finally, most systems provide a general tool to output each system
call, thus including opening and closing files. It might be named
-<code>strace</code>, <code>truss</code>, <code>struss</code>, or something
+<code class="command">strace</code>, <code class="command">truss</code>, <code class="command">struss</code>, or something
else.
</p>
<hr>
</div>
-<div class="section" id="Common-problems">
-<div class="header">
+<div class="section-level-extent" id="Common-problems">
+<div class="nav-panel">
<p>
Previous: <a href="#Logging" accesskey="p" rel="prev">Logging</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Common-problems-1"></span><h3 class="section">8.5 Common problems</h3>
+<h3 class="section" id="Common-problems-1">8.5 Common problems</h3>
-<span id="index-common-problems"></span>
-<span id="index-problems_002c-common"></span>
-<span id="index-FAQ_002c-Kpathsea"></span>
+<a class="index-entry-id" id="index-common-problems"></a>
+<a class="index-entry-id" id="index-problems_002c-common"></a>
+<a class="index-entry-id" id="index-FAQ_002c-Kpathsea"></a>
<p>Here are some common problems with configuration, compilation, linking,
execution, &hellip;
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Unable-to-find-files" accesskey="1">Unable to find files</a></li>
<li><a href="#Slow-path-searching" accesskey="2">Slow path searching</a></li>
<li><a href="#Unable-to-generate-fonts" accesskey="3">Unable to generate fonts</a></li>
<li><a href="#TeX-or-Metafont-failing" accesskey="4">TeX or Metafont failing</a></li>
</ul>
<hr>
-<div class="subsection" id="Unable-to-find-files">
-<div class="header">
+<div class="subsection-level-extent" id="Unable-to-find-files">
+<div class="nav-panel">
<p>
Next: <a href="#Slow-path-searching" accesskey="n" rel="next">Slow path searching</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Unable-to-find-files-1"></span><h4 class="subsection">8.5.1 Unable to find files</h4>
+<h4 class="subsection" id="Unable-to-find-files-1">8.5.1 Unable to find files</h4>
-<span id="index-unable-to-find-files"></span>
-<span id="index-files_002c-unable-to-find"></span>
+<a class="index-entry-id" id="index-unable-to-find-files"></a>
+<a class="index-entry-id" id="index-files_002c-unable-to-find"></a>
<p>If a program complains it cannot find fonts (or other input files), any
of several things might be wrong. In any case, you may find the
-debugging options helpful. See <a href="#Debugging">Debugging</a>.
+debugging options helpful. See <a class="xref" href="#Debugging">Debugging</a>.
</p>
-<ul>
-<li> Perhaps you simply haven&rsquo;t installed all the necessary files; the basic
+<ul class="itemize mark-bullet">
+<li>Perhaps you simply haven&rsquo;t installed all the necessary files; the basic
fonts and input files are distributed separately from the programs.
-See <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>.
+See <a class="xref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>.
-</li><li> <span id="index-_002fetc_002fprofile"></span>
-<span id="index-environment-variables_002c-old"></span>
+</li><li><a class="index-entry-id" id="index-_002fetc_002fprofile"></a>
+<a class="index-entry-id" id="index-environment-variables_002c-old"></a>
You have (perhaps unknowingly) told Kpathsea to use search paths that
don&rsquo;t reflect where the files actually are. One common cause is having
environment variables set from a previous installation, thus overriding
-what you carefully set in <samp>texmf.cnf</samp> (see <a href="#Supported-file-formats">Supported file formats</a>). System <samp>/etc/profile</samp> or other files such may be the
+what you carefully set in <samp class="file">texmf.cnf</samp> (see <a class="pxref" href="#Supported-file-formats">Supported file formats</a>). System <samp class="file">/etc/profile</samp> or other files such may be the
culprit.
-</li><li> <span id="index-symbolic-links-not-found"></span>
-<span id="index-leaf-directories-wrongly-guessed"></span>
+</li><li><a class="index-entry-id" id="index-symbolic-links-not-found"></a>
+<a class="index-entry-id" id="index-leaf-directories-wrongly-guessed"></a>
Your files reside in a directory that is only pointed to via a symbolic
-link, in a leaf directory and is not listed in <samp>ls-R</samp>.
+link, in a leaf directory and is not listed in <samp class="file">ls-R</samp>.
<p>Unfortunately, Kpathsea&rsquo;s subdirectory searching has an irremediable
-deficiency: If a directory <var>d</var> being searched for subdirectories
+deficiency: If a directory <var class="var">d</var> being searched for subdirectories
contains plain files and symbolic links to other directories, but no
-true subdirectories, <var>d</var> will be considered a leaf directory, i.e.,
-the symbolic links will not be followed. See <a href="#Subdirectory-expansion">Subdirectory expansion</a>.
+true subdirectories, <var class="var">d</var> will be considered a leaf directory, i.e.,
+the symbolic links will not be followed. See <a class="xref" href="#Subdirectory-expansion">Subdirectory expansion</a>.
</p>
<p>You can work around this problem by creating an empty dummy subdirectory
-in <var>d</var>. Then <var>d</var> will no longer be a leaf, and the symlinks will
+in <var class="var">d</var>. Then <var class="var">d</var> will no longer be a leaf, and the symlinks will
be followed.
</p>
-<p>The directory immediately followed by the &lsquo;<samp>//</samp>&rsquo; in the path
+<p>The directory immediately followed by the &lsquo;<samp class="samp">//</samp>&rsquo; in the path
specification, however, is always searched for subdirectories, even if
it is a leaf. Presumably you would not have asked for the directory to
be searched for subdirectories if you didn&rsquo;t want it to be.
</p>
-</li><li> If the fonts (or whatever) don&rsquo;t already exist, <code>mktexpk</code> (or
-<code>mktexmf</code> or <code>mktextfm</code>) will try to create them. If
+</li><li>If the fonts (or whatever) don&rsquo;t already exist, <code class="code">mktexpk</code> (or
+<code class="code">mktexmf</code> or <code class="code">mktextfm</code>) will try to create them. If
these rather complicated shell scripts fail, you&rsquo;ll eventually get an
-error message saying something like &lsquo;<samp>Can't find font
-<var>fontname</var></samp>&rsquo;. The best solution is to fix (or at least report) the
-bug in <code>mktexpk</code>; the workaround is to generate the necessary
+error message saying something like &lsquo;<samp class="samp">Can't find font
+<var class="var">fontname</var></samp>&rsquo;. The best solution is to fix (or at least report) the
+bug in <code class="code">mktexpk</code>; the workaround is to generate the necessary
fonts by hand with Metafont, or to grab them from a CTAN site
-(see <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>).
+(see <a class="pxref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>).
-</li><li> There is a bug in the library. See <a href="#Reporting-bugs">Reporting bugs</a>.
+</li><li>There is a bug in the library. See <a class="xref" href="#Reporting-bugs">Reporting bugs</a>.
</li></ul>
<hr>
</div>
-<div class="subsection" id="Slow-path-searching">
-<div class="header">
+<div class="subsection-level-extent" id="Slow-path-searching">
+<div class="nav-panel">
<p>
Next: <a href="#Unable-to-generate-fonts" accesskey="n" rel="next">Unable to generate fonts</a>, Previous: <a href="#Unable-to-find-files" accesskey="p" rel="prev">Unable to find files</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Slow-path-searching-1"></span><h4 class="subsection">8.5.2 Slow path searching</h4>
+<h4 class="subsection" id="Slow-path-searching-1">8.5.2 Slow path searching</h4>
-<span id="index-excessive-startup-time"></span>
-<span id="index-slow-startup-time"></span>
-<span id="index-startup-time_002c-excessive"></span>
+<a class="index-entry-id" id="index-excessive-startup-time"></a>
+<a class="index-entry-id" id="index-slow-startup-time"></a>
+<a class="index-entry-id" id="index-startup-time_002c-excessive"></a>
<p>If your program takes an excessively long time to find fonts or other
input files, but does eventually succeed, here are some possible culprits:
</p>
-<ul>
-<li> Most likely, you just have a lot of directories to search, and that
+<ul class="itemize mark-bullet">
+<li>Most likely, you just have a lot of directories to search, and that
takes a noticeable time. The solution is to create and maintain a
-separate <samp>ls-R</samp> file that lists all the files in your main TeX
-hierarchy. See <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>. Kpathsea always uses <samp>ls-R</samp>
+separate <samp class="file">ls-R</samp> file that lists all the files in your main TeX
+hierarchy. See <a class="xref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>. Kpathsea always uses <samp class="file">ls-R</samp>
if it&rsquo;s present; there&rsquo;s no need to recompile or reconfigure any of the
programs.
-</li><li> Your recursively-searched directories (e.g.,
-<samp>/usr/local/share/texmf/fonts//</samp>), contain a mixture of files and
+</li><li>Your recursively-searched directories (e.g.,
+<samp class="file">/usr/local/share/texmf/fonts//</samp>), contain a mixture of files and
directories. This prevents Kpathsea from using a useful optimization
-(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>).
+(see <a class="pxref" href="#Subdirectory-expansion">Subdirectory expansion</a>).
-<p>It is best to have only directories (and perhaps a <samp>README</samp>) in the
+<p>It is best to have only directories (and perhaps a <samp class="file">README</samp>) in the
upper levels of the directory structure, and it&rsquo;s very important to have
-<em>only</em> files, and no subdirectories, in the leaf directories where
+<em class="emph">only</em> files, and no subdirectories, in the leaf directories where
the dozens of TFM, PK, or whatever files reside.
</p></li></ul>
<p>In any case, you may find the debugging options helpful in determining
-precisely when the disk or network is being pounded. See <a href="#Debugging">Debugging</a>.
+precisely when the disk or network is being pounded. See <a class="xref" href="#Debugging">Debugging</a>.
</p>
<hr>
</div>
-<div class="subsection" id="Unable-to-generate-fonts">
-<div class="header">
+<div class="subsection-level-extent" id="Unable-to-generate-fonts">
+<div class="nav-panel">
<p>
Next: <a href="#TeX-or-Metafont-failing" accesskey="n" rel="next">TeX or Metafont failing</a>, Previous: <a href="#Slow-path-searching" accesskey="p" rel="prev">Slow path searching</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Unable-to-generate-fonts-1"></span><h4 class="subsection">8.5.3 Unable to generate fonts</h4>
+<h4 class="subsection" id="Unable-to-generate-fonts-1">8.5.3 Unable to generate fonts</h4>
-<span id="index-unable-to-generate-fonts"></span>
-<span id="index-font-generation-failures"></span>
+<a class="index-entry-id" id="index-unable-to-generate-fonts"></a>
+<a class="index-entry-id" id="index-font-generation-failures"></a>
<p>Metafont outputs fonts in bitmap format, tuned for a particular
device at a particular resolution, in order to allow for the
@@ -4209,98 +4218,98 @@ highest-possible quality of output. Some DVI-to-whatever programs,
such as Dvips, try to generate these on the fly when they are needed,
but this generation may fail in several cases.
</p>
-<span id="index-mktexpk-can_0027t-guess-mode"></span>
-<p>If <code>mktexpk</code> runs, but fails with this error:
+<a class="index-entry-id" id="index-mktexpk-can_0027t-guess-mode"></a>
+<p>If <code class="code">mktexpk</code> runs, but fails with this error:
</p><div class="example">
-<pre class="example">mktexpk: Can't guess mode for <var>nnn</var> dpi devices.
+<pre class="example-preformatted">mktexpk: Can't guess mode for <var class="var">nnn</var> dpi devices.
mktexpk: Use a config file to specify the mode, or update me.
</pre></div>
<p>you need to ensure the resolution and mode match; just
-specifying the resolution, as in <code>-D 360</code>, is not enough.
+specifying the resolution, as in <code class="code">-D 360</code>, is not enough.
</p>
-<p>You can specify the mode name with the <code>-mode</code> option on the
+<p>You can specify the mode name with the <code class="code">-mode</code> option on the
Dvips command line, or in a Dvips configuration file (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config
-files</a> in <cite>Dvips</cite>), such as <samp>config.ps</samp> in your document
-directory, <samp>~/.dvipsrc</samp> in your home directory, or in a system
-directory (again named <samp>config.ps</samp>). (Other drivers use other
+files</a> in <cite class="cite">Dvips</cite>), such as <samp class="file">config.ps</samp> in your document
+directory, <samp class="file">~/.dvipsrc</samp> in your home directory, or in a system
+directory (again named <samp class="file">config.ps</samp>). (Other drivers use other
files, naturally.)
</p>
-<p>For example, if you need 360dpi fonts, you could include this in
+<p>For example, if you need 360<span class="dmn">dpi</span> fonts, you could include this in
a configuration file:
</p><div class="example">
-<pre class="example">D 360
+<pre class="example-preformatted">D 360
M lqmed
</pre></div>
-<span id="index-Metafont-using-the-wrong-device"></span>
-<span id="index-device_002c-wrong"></span>
+<a class="index-entry-id" id="index-Metafont-using-the-wrong-device"></a>
+<a class="index-entry-id" id="index-device_002c-wrong"></a>
<p>If Metafont runs, but generates fonts at the wrong resolution or for
-the wrong device, most likely <code>mktexpk</code>&rsquo;s built-in guess for the
+the wrong device, most likely <code class="code">mktexpk</code>&rsquo;s built-in guess for the
mode is wrong, and you should override it as above.
</p>
-<p>See <a href="https://ctan.org/pkg/modes">https://ctan.org/pkg/modes</a> for a list of resolutions and mode
+<p>See <a class="url" href="https://ctan.org/pkg/modes">https://ctan.org/pkg/modes</a> for a list of resolutions and mode
names for most devices (additional submissions are welcome).
</p>
-<span id="index-_002e2602gf"></span>
-<span id="index-2602gf"></span>
-<span id="index-Metafont-making-too_002dlarge-fonts"></span>
-<span id="index-proof-mode"></span>
-<span id="index-online-Metafont-display_002c-spurious"></span>
-<p>If Metafont runs but generates fonts at a resolution of 2602dpi
+<a class="index-entry-id" id="index-_002e2602gf"></a>
+<a class="index-entry-id" id="index-2602gf"></a>
+<a class="index-entry-id" id="index-Metafont-making-too_002dlarge-fonts"></a>
+<a class="index-entry-id" id="index-proof-mode"></a>
+<a class="index-entry-id" id="index-online-Metafont-display_002c-spurious"></a>
+<p>If Metafont runs but generates fonts at a resolution of 2602<span class="dmn">dpi</span>
(and prints out the name of each character as well as just a character
number, and maybe tries to display the characters), then your Metafont
base file probably hasn&rsquo;t been made properly. (It&rsquo;s using the default
-<code>proof</code> mode, instead of an actual device mode.) To make a proper
-<samp>plain.base</samp>, assuming the local mode definitions are contained in
-a file <samp>modes.mf</samp>, run the following command (assuming Unix):
+<code class="code">proof</code> mode, instead of an actual device mode.) To make a proper
+<samp class="file">plain.base</samp>, assuming the local mode definitions are contained in
+a file <samp class="file">modes.mf</samp>, run the following command (assuming Unix):
</p>
<div class="example">
-<pre class="example">inimf &quot;plain; input modes; dump&quot;
+<pre class="example-preformatted">inimf &quot;plain; input modes; dump&quot;
</pre></div>
-<p><span id="index-plain_002ebase"></span>
-Then copy the <samp>plain.base</samp> file from the current directory to where
+<a class="index-entry-id" id="index-plain_002ebase"></a>
+<p>Then copy the <samp class="file">plain.base</samp> file from the current directory to where
the base files are stored on your system
-(<samp>/usr/local/share/texmf/web2c</samp> by default), and make a link
-(either hard or soft) from <samp>plain.base</samp> to <samp>mf.base</samp> in that
+(<samp class="file">/usr/local/share/texmf/web2c</samp> by default), and make a link
+(either hard or soft) from <samp class="file">plain.base</samp> to <samp class="file">mf.base</samp> in that
directory.
-See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#inimf-invocation">inimf invocation</a> in <cite>Web2c</cite>.
+See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#inimf-invocation">inimf invocation</a> in <cite class="cite">Web2c</cite>.
</p>
-<span id="index-Metafont-installation"></span>
-<p>If <code>mf</code> is a command not found at all by <code>mktexpk</code>, then you
-need to install Metafont (see <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>).
+<a class="index-entry-id" id="index-Metafont-installation"></a>
+<p>If <code class="code">mf</code> is a command not found at all by <code class="code">mktexpk</code>, then you
+need to install Metafont (see <a class="pxref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>).
</p>
<hr>
</div>
-<div class="subsection" id="TeX-or-Metafont-failing">
-<div class="header">
+<div class="subsection-level-extent" id="TeX-or-Metafont-failing">
+<div class="nav-panel">
<p>
Previous: <a href="#Unable-to-generate-fonts" accesskey="p" rel="prev">Unable to generate fonts</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="TeX-or-Metafont-failing-1"></span><h4 class="subsection">8.5.4 TeX or Metafont failing</h4>
+<h4 class="subsection" id="TeX-or-Metafont-failing-1">8.5.4 TeX or Metafont failing</h4>
-<span id="index-TeX-failures"></span>
-<span id="index-Metafont-failures"></span>
-<span id="index-compiler-bugs"></span>
+<a class="index-entry-id" id="index-TeX-failures"></a>
+<a class="index-entry-id" id="index-Metafont-failures"></a>
+<a class="index-entry-id" id="index-compiler-bugs"></a>
<p>If TeX or Metafont get a segmentation fault or otherwise fail while
running a normal input file, the problem is usually a compiler bug
(unlikely as that may sound). Even if the trip and trap tests are
passed, problems may lurk. Optimization occasionally causes trouble in
programs other than TeX and Metafont themselves, too.
</p>
-<span id="index-optimization-caveat"></span>
+<a class="index-entry-id" id="index-optimization-caveat"></a>
<p>For a workaround, if you enabled any optimization flags, it&rsquo;s best to
omit optimization entirely. In any case, the way to find the facts is
to run the program under the debugger and see where it&rsquo;s failing.
</p>
-<span id="index-GNU-C-compiler-bugs"></span>
-<span id="index-system-C-compiler-bugs"></span>
+<a class="index-entry-id" id="index-GNU-C-compiler-bugs"></a>
+<a class="index-entry-id" id="index-system-C-compiler-bugs"></a>
<p>Also, if you have trouble with a system C compiler, I advise trying the
GNU C compiler. And vice versa, unfortunately; but in that case I also
-recommend reporting a bug to the GCC mailing list; see <a data-manual="gcc" href="https://gcc.gnu.org/onlinedocs/gcc/Bugs.html#Bugs">Bugs</a> in <cite>Using and Porting GNU CC</cite>.
+recommend reporting a bug to the GCC mailing list; see <a data-manual="gcc" href="https://gcc.gnu.org/onlinedocs/gcc/Bugs.html#Bugs">Bugs</a> in <cite class="cite">Using and Porting GNU CC</cite>.
</p>
-<span id="index-compiler-bugs_002c-finding"></span>
+<a class="index-entry-id" id="index-compiler-bugs_002c-finding"></a>
<p>To report compiler bugs effectively requires perseverance and
perspicacity: you must find the miscompiled line, and that usually
involves delving backwards in time from the point of error, checking
@@ -4311,897 +4320,907 @@ through TeX&rsquo;s (or whatever program&rsquo;s) data structures. Good luck.
</div>
</div>
</div>
-<div class="unnumbered" id="Index">
-<div class="header">
+<div class="unnumbered-level-extent" id="Index">
+<div class="nav-panel">
<p>
Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Index-1"></span><h2 class="unnumbered">Index</h2>
+<h2 class="unnumbered" id="Index-1">Index</h2>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a>
+<div class="printindex cp-printindex">
+<table class="cp-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-2"><b>$</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>$</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-3"><b>-</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>-</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-4"><b>.</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>.</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-5"><b>/</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>/</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-6"><b>2</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>2</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-7"><b>8</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>8</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-8"><b>:</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>:</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-9"><b>;</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>;</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-10"><b>=</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>=</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>\</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-12"><b>{</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>{</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>~</b></a>
&nbsp;
<br>
-<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a>
&nbsp;
</td></tr></table>
-<table class="index-cp" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
+<table class="cp-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><td>&nbsp;</td><th class="sections-header-printindex"> Section</th></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-1">!</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0021_0021-and-casefolding"><code>!! <span class="roman">and casefolding</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0021_0021-in-path-specifications"><code>!! <span class="roman">in path specifications</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0021_0021-in-TEXMFDBS"><code>!! <span class="roman">in <code>TEXMFDBS</code></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021_0021-and-casefolding"><code>!! <span class="r">and casefolding</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021_0021-in-path-specifications"><code>!! <span class="r">in path specifications</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021_0021-in-TEXMFDBS"><code>!! <span class="r">in <code class="code">TEXMFDBS</code></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-2">$</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_0024-expansion"><code>$ <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_0024-expansion"><code>$ <span class="r">expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-3">-</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dall"><code>--all</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dcasefold_002dsearch"><code>--casefold-search</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dcnf_002dline"><code>--cnf-line</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dcnf_002dline_002c-source-for-path"><code>&lsquo;<samp>--cnf-line</samp>&rsquo;, source for path</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dcolor_003dtty"><code>--color=tty</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002ddebug_003dnum"><code>--debug=<var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002ddpi_003dnum"><code>--dpi=<var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dengine_003dname"><code>--engine=<var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dexpand_002dbraces_003dstring"><code>--expand-braces=<var>string</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dexpand_002dpath_003dstring"><code>--expand-path=<var>string</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dexpand_002dvar_003dstring"><code>--expand-var=<var>string</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dformat_003dname"><code>--format=<var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Standard-options">Standard options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp_002dformats"><code>--help-formats</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dinteractive"><code>--interactive</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dmktex_003dfiletype"><code>--mktex=<var>filetype</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dmode_003dstring"><code>--mode=<var>string</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dmust_002dexist"><code>--must-exist</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dcasefold_002dsearch"><code>--no-casefold-search</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dmktex_003dfiletype"><code>--no-mktex=<var>filetype</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dpath_003dstring"><code>--path=<var>string</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dprogname_003dname"><code>--progname=<var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dsafe_002din_002dname_003dname"><code>--safe-in-name=<var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dsafe_002dout_002dname_003dname"><code>--safe-out-name=<var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dshow_002dpath_003dname"><code>--show-path=<var>name</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dsubdir_003dstring"><code>--subdir=<var>string</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dvar_002dbrace_002dvalue_003dvariable"><code>--var-brace-value=<var>variable</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dvar_002dvalue_003dvariable"><code>--var-value=<var>variable</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Standard-options">Standard options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dmktextex_002ddefault"><code>--with-mktextex-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexfmt_002ddefault"><code>--without-mktexfmt-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexmf_002ddefault"><code>--without-mktexmf-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexocp_002ddefault"><code>--without-mktexocp-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexofm_002ddefault"><code>--without-mktexofm-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexpk_002ddefault"><code>--without-mktexpk-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktextfm_002ddefault"><code>--without-mktextfm-default</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d1-debugging-value"><code>-1 <span class="roman">debugging value</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dA-option-to-ls"><code>-A <span class="roman">option to <code>ls</code></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dD-num"><code>-D <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002diname_002c-find-predicate"><code>-iname<span class="roman">, find predicate</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dL-option-to-ls"><code>-L <span class="roman">option to <code>ls</code></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dall"><code>--all</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcasefold_002dsearch"><code>--casefold-search</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcnf_002dline"><code>--cnf-line</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcnf_002dline_002c-source-for-path"><code>&lsquo;<samp class="samp">--cnf-line</samp>&rsquo;, source for path</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcolor_003dtty"><code>--color=tty</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddebug_003dnum"><code>--debug=<var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddpi_003dnum"><code>--dpi=<var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dengine_003dname"><code>--engine=<var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dexpand_002dbraces_003dstring"><code>--expand-braces=<var class="var">string</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dexpand_002dpath_003dstring"><code>--expand-path=<var class="var">string</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dexpand_002dvar_003dstring"><code>--expand-var=<var class="var">string</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dformat_003dname"><code>--format=<var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Standard-options">Standard options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp_002dformats"><code>--help-formats</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dinteractive"><code>--interactive</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dmktex_003dfiletype"><code>--mktex=<var class="var">filetype</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dmode_003dstring"><code>--mode=<var class="var">string</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dmust_002dexist"><code>--must-exist</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dno_002dcasefold_002dsearch"><code>--no-casefold-search</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dno_002dmktex_003dfiletype"><code>--no-mktex=<var class="var">filetype</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dpath_003dstring"><code>--path=<var class="var">string</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dprogname_003dname"><code>--progname=<var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dsafe_002din_002dname_003dname"><code>--safe-in-name=<var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dsafe_002dout_002dname_003dname"><code>--safe-out-name=<var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dshow_002dpath_003dname"><code>--show-path=<var class="var">name</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dsubdir_003dstring"><code>--subdir=<var class="var">string</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dvar_002dbrace_002dvalue_003dvariable"><code>--var-brace-value=<var class="var">variable</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dvar_002dvalue_003dvariable"><code>--var-value=<var class="var">variable</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Standard-options">Standard options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dmktextex_002ddefault"><code>--with-mktextex-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexfmt_002ddefault"><code>--without-mktexfmt-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexmf_002ddefault"><code>--without-mktexmf-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexocp_002ddefault"><code>--without-mktexocp-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexofm_002ddefault"><code>--without-mktexofm-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexpk_002ddefault"><code>--without-mktexpk-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktextfm_002ddefault"><code>--without-mktextfm-default</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d1-debugging-value"><code>-1 <span class="r">debugging value</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dA-option-to-ls"><code>-A <span class="r">option to <code class="code">ls</code></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dD-num"><code>-D <var class="var">num</var></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002diname_002c-find-predicate"><code>-iname<span class="r">, find predicate</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dL-option-to-ls"><code>-L <span class="r">option to <code class="code">ls</code></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-4">.</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002e-directories_002c-ignored"><code>. <span class="roman">directories, ignored</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002e-files"><code>. <span class="roman">files</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002e2602gf"><code>.2602gf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eafm"><code>.afm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ebase"><code>.base</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ebib"><code>.bib</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ebltxml"><code>.bltxml</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ebst"><code>.bst</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ecid"><code>.cid</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ecmap"><code>.cmap</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ecnf"><code>.cnf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002edll"><code>.dll</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eenc"><code>.enc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eeps"><code>.eps</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eepsi"><code>.epsi</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002efea"><code>.fea</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002efmt"><code>.fmt</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eist"><code>.ist</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002elig"><code>.lig</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emap"><code>.map</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emem"><code>.mem</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emf"><code>.mf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emft"><code>.mft</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emlbib"><code>.mlbib</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emlbst"><code>.mlbst</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002emp"><code>.mp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eocp"><code>.ocp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eofm"><code>.ofm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eopl"><code>.opl</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eotp"><code>.otp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eovf"><code>.ovf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eovp"><code>.ovp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfa"><code>.pfa</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epfb"><code>.pfb</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epk"><code>.pk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epool"><code>.pool</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epool-1"><code>.pool</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epool-2"><code>.pool</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002epro"><code>.pro</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eprogname-qualifier-in-texmf_002ecnf"><code>.<var>progname</var> <span class="roman">qualifier in <samp>texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002erhosts_002c-writable-by-TeX"><code>.rhosts<span class="roman">, writable by TeX</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eris"><code>.ris</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002esfd"><code>.sfd</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eso"><code>.so</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002etex"><code>.tex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002etex-file_002c-included-in-ls_002dR"><code>.tex <span class="roman">file, included in <samp>ls-R</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002etfm"><code>.tfm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ettc"><code>.ttc</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ettf"><code>.ttf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002evf"><code>.vf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002ew"><code>.w</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eweb"><code>.web</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002eweb-1"><code>.web</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e-directories_002c-ignored"><code>. <span class="r">directories, ignored</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e-files"><code>. <span class="r">files</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e2602gf"><code>.2602gf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eafm"><code>.afm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebase"><code>.base</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebib"><code>.bib</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebltxml"><code>.bltxml</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebst"><code>.bst</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ecid"><code>.cid</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ecmap"><code>.cmap</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ecnf"><code>.cnf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002edll"><code>.dll</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eenc"><code>.enc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eeps"><code>.eps</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eepsi"><code>.epsi</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002efea"><code>.fea</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002efmt"><code>.fmt</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eist"><code>.ist</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002elig"><code>.lig</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002elua"><code>.lua</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eluatex"><code>.luatex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eluc"><code>.luc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eluctex"><code>.luctex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emap"><code>.map</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emem"><code>.mem</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emf"><code>.mf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emft"><code>.mft</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emlbib"><code>.mlbib</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emlbst"><code>.mlbst</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emp"><code>.mp</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eocp"><code>.ocp</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eofm"><code>.ofm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eopl"><code>.opl</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eotp"><code>.otp</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eovf"><code>.ovf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eovp"><code>.ovp</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfa"><code>.pfa</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfb"><code>.pfb</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epk"><code>.pk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epool"><code>.pool</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epool-1"><code>.pool</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epool-2"><code>.pool</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epro"><code>.pro</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eprogname-qualifier-in-texmf_002ecnf"><code>.<var class="var">progname</var> <span class="r">qualifier in <samp class="file">texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002erhosts_002c-writable-by-TeX"><code>.rhosts<span class="r">, writable by TeX</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eris"><code>.ris</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002esfd"><code>.sfd</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eso"><code>.so</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etex"><code>.tex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etex-file_002c-included-in-ls_002dR"><code>.tex <span class="r">file, included in <samp class="file">ls-R</samp></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etexlua"><code>.texlua</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etexluc"><code>.texluc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etfm"><code>.tfm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etlu"><code>.tlu</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ettc"><code>.ttc</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ettf"><code>.ttf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002evf"><code>.vf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ew"><code>.w</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eweb"><code>.web</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eweb-1"><code>.web</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-5">/</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002f-may-not-be-_002f"><code>/ <span class="roman">may not be /</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002f_002c-trailing-in-home-directory"><code>/<span class="roman">, trailing in home directory</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002f_002f"><code>//</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002fetc_002fprofile"><code>/etc/profile</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002fetc_002fprofile-and-aliases"><code>/etc/profile <span class="roman">and aliases</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002fvar_002ftmp_002ftexfonts"><code>/var/tmp/texfonts</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f-may-not-be-_002f"><code>/ <span class="r">may not be /</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_002c-trailing-in-home-directory"><code>/<span class="r">, trailing in home directory</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_002f"><code>//</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fetc_002fprofile"><code>/etc/profile</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fetc_002fprofile-and-aliases"><code>/etc/profile <span class="r">and aliases</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fvar_002ftmp_002ftexfonts"><code>/var/tmp/texfonts</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-6">2</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-2602gf"><code>2602gf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-2602gf"><code>2602gf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-7">8</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-8_002e3-filenames_002c-using">8.3 filenames, using</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-8_002e3-filenames_002c-using">8.3 filenames, using</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-8">:</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003a-may-not-be-_003a"><code>: <span class="roman">may not be :</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003a_003a-expansion"><code>:: <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003a-may-not-be-_003a"><code>: <span class="r">may not be :</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003a_003a-expansion"><code>:: <span class="r">expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-9">;</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003b-translated-to-_003a-in-texmf_002ecnf"><code>; <span class="roman">translated to &lsquo;<samp>:</samp>&rsquo; in <samp>texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003b-translated-to-_003a-in-texmf_002ecnf"><code>; <span class="r">translated to &lsquo;<samp class="samp">:</samp>&rsquo; in <samp class="file">texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-10">=</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_003d-omitted-in-texmf_002ecnf-and-misparsing"><code>= <span class="roman">omitted in <samp>texmf.cnf</samp> and misparsing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_003d-omitted-in-texmf_002ecnf-and-misparsing"><code>= <span class="r">omitted in <samp class="file">texmf.cnf</samp> and misparsing</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-11">\</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005c_002c-line-continuation-in-texmf_002ecnf"><code>\<span class="roman">, line continuation in <samp>texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005copenin"><code>\openin</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_005cspecial_002c-suppressing-warnings-about"><code>\special<span class="roman">, suppressing warnings about</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005c_002c-line-continuation-in-texmf_002ecnf"><code>\<span class="r">, line continuation in <samp class="file">texmf.cnf</samp></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005copenin"><code>\openin</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cspecial_002c-suppressing-warnings-about"><code>\special<span class="r">, suppressing warnings about</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-12">{</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_007b-expansion"><code>{ <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_007b-expansion"><code>{ <span class="r">expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_symbol-13">~</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_007e-expansion"><code>~ <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-_007e-expansion"><code>~ <span class="r">expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-absolute-filenames">absolute filenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-access-system-call"><code>access <span class="roman">system call</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-access-warnings">access warnings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-AFMFONTS"><code>AFMFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aliases-for-fonts">aliases for fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-aliases_002c-for-filenames">aliases, for filenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Filename-aliases">Filename aliases</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-all"><code>all</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-all-matches_002c-finding">all matches, finding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-alphabetical-order_002c-not">alphabetical order, not</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-announcement-mailing-list">announcement mailing list</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-API_002c-re_002dentrant">API, re-entrant</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-append_002donly-directories-and-mktexpk">append-only directories and <code>mktexpk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-appendonlydir"><code>appendonlydir</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Apple-filesystem_002c-case_002dinsensitive">Apple filesystem, case-insensitive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-arguments-to-mktex">arguments to <samp>mktex</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-arguments">mktex script arguments</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-argv_005b0_005d"><code>argv[0]</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-autoconf_002c-recommended"><code>autoconf<span class="roman">, recommended</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-automounter_002c-and-ls_002dR">automounter, and <samp>ls-R</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-auxiliary-tasks">auxiliary tasks</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-filenames">absolute filenames</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-access-system-call"><code>access <span class="r">system call</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-access-warnings">access warnings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-AFMFONTS"><code>AFMFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-aliases-for-fonts">aliases for fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-aliases_002c-for-filenames">aliases, for filenames</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Filename-aliases">Filename aliases</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-all"><code>all</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-all-matches_002c-finding">all matches, finding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-alphabetical-order_002c-not">alphabetical order, not</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-announcement-mailing-list">announcement mailing list</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-API_002c-re_002dentrant">API, re-entrant</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-append_002donly-directories-and-mktexpk">append-only directories and <code class="code">mktexpk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-appendonlydir"><code>appendonlydir</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Apple-filesystem_002c-case_002dinsensitive">Apple filesystem, case-insensitive</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-arguments-to-mktex">arguments to <samp class="file">mktex</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-arguments">mktex script arguments</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-argv_005b0_005d"><code>argv[0]</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-autoconf_002c-recommended"><code>autoconf<span class="r">, recommended</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-automounter_002c-and-ls_002dR">automounter, and <samp class="file">ls-R</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-auxiliary-tasks">auxiliary tasks</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Bach_002c-Johann-Sebastian">Bach, Johann Sebastian</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-backslash_002dnewline">backslash-newline</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-basic-glyph-lookup">basic glyph lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BIBINPUTS"><code>BIBINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BIBINPUTS-1"><code>BIBINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-blank-lines_002c-in-texmf_002ecnf">blank lines, in <samp>texmf.cnf</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BLTXMLINPUTS"><code>BLTXMLINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-brace-expansion">brace expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Breitenlohner_002c-Peter">Breitenlohner, Peter</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BSTINPUTS"><code>BSTINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BSTINPUTS-1"><code>BSTINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bug-address">bug address</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bug-checklist">bug checklist</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bug-mailing-list">bug mailing list</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-bugs_002c-reporting">bugs, reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Bach_002c-Johann-Sebastian">Bach, Johann Sebastian</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-backslash_002dnewline">backslash-newline</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-basic-glyph-lookup">basic glyph lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BIBINPUTS"><code>BIBINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BIBINPUTS-1"><code>BIBINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-blank-lines_002c-in-texmf_002ecnf">blank lines, in <samp class="file">texmf.cnf</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BLTXMLINPUTS"><code>BLTXMLINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-brace-expansion">brace expansion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Breitenlohner_002c-Peter">Breitenlohner, Peter</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BSTINPUTS"><code>BSTINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BSTINPUTS-1"><code>BSTINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bug-address">bug address</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bug-checklist">bug checklist</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bug-mailing-list">bug mailing list</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-bugs_002c-reporting">bugs, reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-c_002d_002a_002eh"><code>c-*.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-c_002dauto_002eh"><code>c-auto.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-cache-of-fonts_002c-local">cache of fonts, local</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-calling-sequence">calling sequence</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-casefolding-examples">casefolding examples</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-casefolding-fallback-rationale">casefolding fallback rationale</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-casefolding-search">casefolding search</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-search">Casefolding search</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ChangeLog-entry"><code>ChangeLog <span class="roman">entry</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-checklist-for-bug-reports">checklist for bug reports</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-checksum"><code>checksum</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-circle-fonts">circle fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-client_005fpath-in-kpse_002d_003eformat_005finfo"><code>client_path <span class="roman">in <code>kpse-&gt;format_info</code></span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-CLUAINPUTS"><code>CLUAINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-CMAPFONTS"><code>CMAPFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-cmr10_002c-as-fallback-font"><code>cmr10<span class="roman">, as fallback font</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-cmr10_002evf"><code>cmr10.vf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-cnf_002ec"><code>cnf.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-cnf_002eh"><code>cnf.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-comments_002c-in-fontmap-files">comments, in fontmap files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-comments_002c-in-texmf_002ecnf">comments, in <samp>texmf.cnf</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-comments_002c-making">comments, making</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-common-features-in-glyph-lookup">common features in glyph lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-common-problems">common problems</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Common-problems">Common problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compilation-value_002c-source-for-path">compilation value, source for path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compiler-bugs">compiler bugs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-compiler-bugs_002c-finding">compiler bugs, finding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-conditions-for-use">conditions for use</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config-files">config files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config-files_002c-for-Kpathsea_002dusing-programs">config files, for Kpathsea-using programs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config-files_002c-programming-with">config files, programming with</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eh"><code>config.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002elog"><code>config.log</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002eps_002c-search-path-for"><code>config.ps<span class="roman">, search path for</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-config_002estatus"><code>config.status</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-bugs">configuration bugs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-file_002c-source-for-path">configuration file, source for path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configuration-of-mktex-scripts">configuration of <samp>mktex</samp> scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure-options-for-mktex-scripts"><code>configure</code> options for <samp>mktex</samp> scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-context-diff">context diff</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-continuation-character">continuation character</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-core-dumps_002c-reporting">core dumps, reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-crashes_002c-reporting">crashes, reporting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-CWEBINPUTS"><code>CWEBINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-c_002d_002a_002eh"><code>c-*.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-c_002dauto_002eh"><code>c-auto.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-cache-of-fonts_002c-local">cache of fonts, local</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-calling-sequence">calling sequence</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-casefolding-examples">casefolding examples</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-casefolding-fallback-rationale">casefolding fallback rationale</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-casefolding-search">casefolding search</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-search">Casefolding search</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ChangeLog-entry"><code>ChangeLog <span class="r">entry</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-checklist-for-bug-reports">checklist for bug reports</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-checksum"><code>checksum</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-circle-fonts">circle fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-client_005fpath-in-kpse_002d_003eformat_005finfo"><code>client_path <span class="r">in <code class="code">kpse-&gt;format_info</code></span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-CLUAINPUTS"><code>CLUAINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-CMAPFONTS"><code>CMAPFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-cmr10_002c-as-fallback-font"><code>cmr10<span class="r">, as fallback font</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-cmr10_002evf"><code>cmr10.vf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-cnf_002ec"><code>cnf.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-cnf_002eh"><code>cnf.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-fontmap-files">comments, in fontmap files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-texmf_002ecnf">comments, in <samp class="file">texmf.cnf</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-making">comments, making</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-common-features-in-glyph-lookup">common features in glyph lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-common-problems">common problems</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Common-problems">Common problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation-value_002c-source-for-path">compilation value, source for path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compiler-bugs">compiler bugs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-compiler-bugs_002c-finding">compiler bugs, finding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-conditions-for-use">conditions for use</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config-files">config files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config-files_002c-for-Kpathsea_002dusing-programs">config files, for Kpathsea-using programs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config-files_002c-programming-with">config files, programming with</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eh"><code>config.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002elog"><code>config.log</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps_002c-search-path-for"><code>config.ps<span class="r">, search path for</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002estatus"><code>config.status</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-bugs">configuration bugs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file_002c-source-for-path">configuration file, source for path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-of-mktex-scripts">configuration of <samp class="file">mktex</samp> scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options-for-mktex-scripts"><code class="code">configure</code> options for <samp class="file">mktex</samp> scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-context-diff">context diff</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-continuation-character">continuation character</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-core-dumps_002c-reporting">core dumps, reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-crashes_002c-reporting">crashes, reporting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-CWEBINPUTS"><code>CWEBINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-database-search">database search</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-database_002c-for-filenames">database, for filenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Filename-database">Filename database</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-database_002c-format-of">database, format of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Database-format">Database format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debug_002eh"><code>debug.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugger">debugger</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging">debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging-options_002c-in-Kpathsea_002dusing-program">debugging options, in Kpathsea-using program</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-debugging-output">debugging output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-default-expansion">default expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-default_005ftexsizes"><code>default_texsizes</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-device_002c-wrong">device, wrong</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-directories_002c-making-append_002donly">directories, making append-only</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-directory-permissions">directory permissions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-directory-structure_002c-for-TeX-files">directory structure, for TeX files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-disabling-mktex-scripts">disabling <samp>mktex</samp> scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-disk-search">disk search</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-disk-searching_002c-avoiding">disk searching, avoiding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-disk-usage_002c-reducing">disk usage, reducing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-doc-files"><code>doc files</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DOS-compatible-names">DOS compatible names</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dosnames"><code>dosnames</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dot-files">dot files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-doubled-colons">doubled colons</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dpinnn-directories"><code>dpi<var>nnn</var> directories</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVILJMAKEPK"><code>DVILJMAKEPK</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVILJSIZES"><code>DVILJSIZES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dvipdfmx_002ecfg"><code>dvipdfmx.cfg</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-dynamic-creation-of-files">dynamic creation of files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-database-search">database search</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-database_002c-for-filenames">database, for filenames</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Filename-database">Filename database</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-database_002c-format-of">database, format of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Database-format">Database format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debug_002eh"><code>debug.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugger">debugger</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging">debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-options_002c-in-Kpathsea_002dusing-program">debugging options, in Kpathsea-using program</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-output">debugging output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-default-expansion">default expansion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-default_005ftexsizes"><code>default_texsizes</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-device_002c-wrong">device, wrong</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-directories_002c-making-append_002donly">directories, making append-only</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-directory-permissions">directory permissions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-directory-structure_002c-for-TeX-files">directory structure, for TeX files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-disabling-mktex-scripts">disabling <samp class="file">mktex</samp> scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-disk-search">disk search</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-disk-searching_002c-avoiding">disk searching, avoiding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-disk-usage_002c-reducing">disk usage, reducing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-doc-files"><code>doc files</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DOS-compatible-names">DOS compatible names</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dosnames"><code>dosnames</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dot-files">dot files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-doubled-colons">doubled colons</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dpinnn-directories"><code>dpi<var class="var">nnn</var> directories</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVILJMAKEPK"><code>DVILJMAKEPK</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVILJSIZES"><code>DVILJSIZES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dvipdfmx_002ecfg"><code>dvipdfmx.cfg</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-creation-of-files">dynamic creation of files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-EC-fonts_002c-and-dynamic-source-creation">EC fonts, and dynamic source creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-elt_002ddirs_002ec"><code>elt-dirs.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-elt_002ddirs_002ec-1"><code>elt-dirs.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-enabling-mktex-scripts">enabling <samp>mktex</samp> scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ENCFONTS"><code>ENCFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-engine-name">engine name</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-environment-variable_002c-source-for-path">environment variable, source for path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-environment-variables-for-TeX">environment variables for TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-environment-variables-in-paths">environment variables in paths</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-environment-variables_002c-old">environment variables, old</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-epoch_002c-seconds-since">epoch, seconds since</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-error-message-macros">error message macros</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-examples_002c-of-casefolding-searches">examples, of casefolding searches</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-excessive-startup-time">excessive startup time</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Slow-path-searching">Slow path searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expand_002ec"><code>expand.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expanding-symlinks">expanding symlinks</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-default">expansion, default</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-path-element">expansion, path element</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-search-path">expansion, search path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-expansion">Path expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-subdirectory">expansion, subdirectory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-tilde">expansion, tilde</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-expansion_002c-variable">expansion, variable</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-explicitly-relative-filenames">explicitly relative filenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-extensions_002c-filename">extensions, filename</a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-externally_002dbuilt-filename-database">externally-built filename database</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Filename-database">Filename database</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-extra-colons">extra colons</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-EC-fonts_002c-and-dynamic-source-creation">EC fonts, and dynamic source creation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-elt_002ddirs_002ec"><code>elt-dirs.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-elt_002ddirs_002ec-1"><code>elt-dirs.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-enabling-mktex-scripts">enabling <samp class="file">mktex</samp> scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ENCFONTS"><code>ENCFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-engine-name">engine name</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variable_002c-source-for-path">environment variable, source for path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables-for-TeX">environment variables for TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables-in-paths">environment variables in paths</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables_002c-old">environment variables, old</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-epoch_002c-seconds-since">epoch, seconds since</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-error-message-macros">error message macros</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-examples_002c-of-casefolding-searches">examples, of casefolding searches</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-excessive-startup-time">excessive startup time</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Slow-path-searching">Slow path searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expand_002ec"><code>expand.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expanding-symlinks">expanding symlinks</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-default">expansion, default</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-path-element">expansion, path element</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-search-path">expansion, search path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-expansion">Path expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-subdirectory">expansion, subdirectory</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-tilde">expansion, tilde</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-variable">expansion, variable</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-explicitly-relative-filenames">explicitly relative filenames</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-extensions_002c-filename">extensions, filename</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-externally_002dbuilt-filename-database">externally-built filename database</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Filename-database">Filename database</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-extra-colons">extra colons</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-failed-mktex_2026-script-invocation">failed <code>mktex&hellip;</code> script invocation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fallback-font">fallback font</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FAQ_002c-Kpathsea">FAQ, Kpathsea</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Common-problems">Common problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Farwell_002c-Matthew">Farwell, Matthew</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-file-formats_002c-supported">file formats, supported</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-file-lookup">file lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-file-permissions">file permissions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-file-types_002c-registering-new">file types, registering new</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-filename-aliases">filename aliases</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Filename-aliases">Filename aliases</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-filename-database">filename database</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Filename-database">Filename database</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-filenames_002c-absolute-or-explicitly-relative">filenames, absolute or explicitly relative</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-files_002c-unable-to-find">files, unable to find</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-filesystem-search">filesystem search</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-filesystem_002c-case_002d_0028in_0029sensitive">filesystem, case-(in)sensitive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Findutils_002c-GNU-package">Findutils, GNU package</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-floating-directories">floating directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fmtutil"><code>fmtutil</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fmtutil_002ecnf"><code>fmtutil.cnf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fmtutils_002ecnf"><code>fmtutils.cnf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-alias-files">font alias files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-generation-failures">font generation failures</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-of-last-resort">font of last resort</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-font-set_002c-infinite">font set, infinite</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FONTCIDMAPS"><code>FONTCIDMAPS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FONTFEATURES"><code>FONTFEATURES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fontmap-files">fontmap files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fontmaps-1"><code>fontmaps</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fontmaps">fontmaps</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fontname">fontname</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fontnames_002c-arbitrary-length">fontnames, arbitrary length</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FOOINPUTS"><code>FOOINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FOOINPUTS-1"><code>FOOINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fopen_002c-redefined"><code>fopen<span class="roman">, redefined</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-format-of-external-database">format of external database</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Database-format">Database format</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ftp_002ecs_002estanford_002eedu"><code>ftp.cs.stanford.edu</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ftp_002etug_002eorg"><code>ftp.tug.org</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-fundamental-purpose-of-Kpathsea">fundamental purpose of Kpathsea</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-failed-mktex_2026-script-invocation">failed <code class="code">mktex&hellip;</code> script invocation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fallback-font">fallback font</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FAQ_002c-Kpathsea">FAQ, Kpathsea</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Common-problems">Common problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Farwell_002c-Matthew">Farwell, Matthew</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-file-formats_002c-supported">file formats, supported</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-file-lookup">file lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-file-permissions">file permissions</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-file-types_002c-registering-new">file types, registering new</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-filename-aliases">filename aliases</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Filename-aliases">Filename aliases</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-filename-database">filename database</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Filename-database">Filename database</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-filenames_002c-absolute-or-explicitly-relative">filenames, absolute or explicitly relative</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-files_002c-unable-to-find">files, unable to find</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-filesystem-search">filesystem search</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-filesystem_002c-case_002d_0028in_0029sensitive">filesystem, case-(in)sensitive</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Findutils_002c-GNU-package">Findutils, GNU package</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-floating-directories">floating directories</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fmtutil"><code>fmtutil</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fmtutil_002ecnf"><code>fmtutil.cnf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fmtutils_002ecnf"><code>fmtutils.cnf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-alias-files">font alias files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-generation-failures">font generation failures</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-of-last-resort">font of last resort</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-font-set_002c-infinite">font set, infinite</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FONTCIDMAPS"><code>FONTCIDMAPS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FONTFEATURES"><code>FONTFEATURES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fontmap-files">fontmap files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fontmaps-1"><code>fontmaps</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fontmaps">fontmaps</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fontname">fontname</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fontnames_002c-arbitrary-length">fontnames, arbitrary length</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FOOINPUTS"><code>FOOINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FOOINPUTS-1"><code>FOOINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fopen_002c-redefined"><code>fopen<span class="r">, redefined</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-format-of-external-database">format of external database</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Database-format">Database format</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ftp_002ecs_002estanford_002eedu"><code>ftp.cs.stanford.edu</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ftp_002etug_002eorg"><code>ftp.tug.org</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-fundamental-purpose-of-Kpathsea">fundamental purpose of Kpathsea</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gdb_002c-recommended"><code>gdb<span class="roman">, recommended</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-gf"><code>gf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GFFONTS"><code>GFFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-globally-writable-directories">globally writable directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-glyph-lookup">glyph lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-glyph-lookup-bitmap-tolerance">glyph lookup bitmap tolerance</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GLYPHFONTS"><code>GLYPHFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GLYPHFONTS-1"><code>GLYPHFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-glyphlist_002etxt"><code>glyphlist.txt</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GNU-C-compiler-bugs">GNU C compiler bugs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GNU-General-Public-License">GNU General Public License</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-group_002dwritable-directories">group-writable directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-GSFTOPK_005fDEBUG-_0028128_0029"><code>GSFTOPK_DEBUG <span class="roman">(128)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gdb_002c-recommended"><code>gdb<span class="r">, recommended</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-gf"><code>gf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GFFONTS"><code>GFFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-globally-writable-directories">globally writable directories</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-lookup">glyph lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-lookup-bitmap-tolerance">glyph lookup bitmap tolerance</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GLYPHFONTS"><code>GLYPHFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GLYPHFONTS-1"><code>GLYPHFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-glyphlist_002etxt"><code>glyphlist.txt</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU-C-compiler-bugs">GNU C compiler bugs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU-General-Public-License">GNU General Public License</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-group_002dwritable-directories">group-writable directories</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-GSFTOPK_005fDEBUG-_0028128_0029"><code>GSFTOPK_DEBUG <span class="r">(128)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hash-table-buckets_002c-printing">hash table buckets, printing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hash-table-routines">hash table routines</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-hash_005fsummary_005fonly-variable-for-debugging"><code>hash_summary_only <span class="roman">variable for debugging</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history-of-Kpathsea">history of Kpathsea</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Hoekwater_002c-Taco">Hoekwater, Taco</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-home-directories-in-paths">home directories in paths</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-HOME_002c-as-_007e-expansion"><code>HOME<span class="roman">, as ~ expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hash-table-buckets_002c-printing">hash table buckets, printing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hash-table-routines">hash table routines</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-hash_005fsummary_005fonly-variable-for-debugging"><code>hash_summary_only <span class="r">variable for debugging</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history-of-Kpathsea">history of Kpathsea</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Hoekwater_002c-Taco">Hoekwater, Taco</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-home-directories-in-paths">home directories in paths</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-HOME_002c-as-_007e-expansion"><code>HOME<span class="r">, as ~ expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-identifiers_002c-characters-valid-in">identifiers, characters valid in</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-include-fontmap-directive"><code>include <span class="roman">fontmap directive</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-INDEXSTYLE"><code>INDEXSTYLE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-input-lines_002c-reading">input lines, reading</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-interactive-query">interactive query</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-interface_002c-not-frozen">interface, not frozen</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-introduction">introduction</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-identifiers_002c-characters-valid-in">identifiers, characters valid in</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-include-fontmap-directive"><code>include <span class="r">fontmap directive</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-INDEXSTYLE"><code>INDEXSTYLE</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-input-lines_002c-reading">input lines, reading</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-interactive-query">interactive query</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-interface_002c-not-frozen">interface, not frozen</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-introduction">introduction</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kdebug_003a">&lsquo;<samp>kdebug:</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kdefault_002ec"><code>kdefault.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-E_002e">Knuth, Donald E.</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by">Knuth, Donald E., archive of programs by</a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Kpathsea-config-file_002c-source-for-path">Kpathsea config file, source for path</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_002eh"><code>kpathsea.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fcnf_005fget"><code>kpathsea_cnf_get</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG-1"><code>KPATHSEA_DEBUG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffind_005ffile"><code>kpathsea_find_file</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffind_005ffile-1"><code>kpathsea_find_file</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffind_005fglyph"><code>kpathsea_find_glyph</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffinish"><code>kpathsea_finish</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005finit_005fprog"><code>kpathsea_init_prog</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005finit_005fprog-1"><code>kpathsea_init_prog</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fin_005fname_005fok"><code>kpathsea_in_name_ok</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fnew"><code>kpathsea_new</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fopen_005ffile"><code>kpathsea_open_file</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fout_005fname_005fok"><code>kpathsea_out_name_ok</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fset_005fprogram_005fname"><code>kpathsea_set_program_name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpathsea_005fvar_005fvalue"><code>kpathsea_var_value</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fWARNING"><code>KPATHSEA_WARNING</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003edebug"><code>kpse-&gt;debug</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003edebug-1"><code>kpse-&gt;debug</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003edebug-variable"><code>kpse-&gt;debug <span class="roman">variable</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003eformat_005finfo"><code>kpse-&gt;format_info</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003einvocation_005fname"><code>kpse-&gt;invocation_name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003einvocation_005fshort_005fname"><code>kpse-&gt;invocation_short_name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_002d_003eprogram_005fname"><code>kpse-&gt;program_name</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpsewhich"><code>kpsewhich</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Kpsewhich_002c-and-debugging">Kpsewhich, and debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fBITMAP_005fTOLERANCE"><code>KPSE_BITMAP_TOLERANCE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029"><code>KPSE_DEBUG_EXPAND <span class="roman">(16)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029"><code>KPSE_DEBUG_FOPEN <span class="roman">(4)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fHASH-_00282_0029"><code>KPSE_DEBUG_HASH <span class="roman">(2)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fPATHS-_00288_0029"><code>KPSE_DEBUG_PATHS <span class="roman">(8)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029"><code>KPSE_DEBUG_SEARCH <span class="roman">(32)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fSTAT-_00281_0029"><code>KPSE_DEBUG_STAT <span class="roman">(1)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fVARS-_002864_0029"><code>KPSE_DEBUG_VARS <span class="roman">(64)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-KPSE_005fDOT-expansion"><code>KPSE_DOT <span class="roman">expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-kpse_005fformat_005finfo_005ftype"><code>kpse_format_info_type</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kdebug_003a">&lsquo;<samp class="samp">kdebug:</samp>&rsquo;</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kdefault_002ec"><code>kdefault.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Knuth_002c-Donald-E_002e">Knuth, Donald E.</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by">Knuth, Donald E., archive of programs by</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Kpathsea-config-file_002c-source-for-path">Kpathsea config file, source for path</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_002eh"><code>kpathsea.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fcnf_005fget"><code>kpathsea_cnf_get</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG-1"><code>KPATHSEA_DEBUG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffind_005ffile"><code>kpathsea_find_file</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffind_005ffile-1"><code>kpathsea_find_file</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffind_005fglyph"><code>kpathsea_find_glyph</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffinish"><code>kpathsea_finish</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005finit_005fprog"><code>kpathsea_init_prog</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005finit_005fprog-1"><code>kpathsea_init_prog</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fin_005fname_005fok"><code>kpathsea_in_name_ok</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fnew"><code>kpathsea_new</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fopen_005ffile"><code>kpathsea_open_file</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fout_005fname_005fok"><code>kpathsea_out_name_ok</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fset_005fprogram_005fname"><code>kpathsea_set_program_name</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fvar_005fvalue"><code>kpathsea_var_value</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fWARNING"><code>KPATHSEA_WARNING</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003edebug"><code>kpse-&gt;debug</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003edebug-1"><code>kpse-&gt;debug</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003edebug-variable"><code>kpse-&gt;debug <span class="r">variable</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003eformat_005finfo"><code>kpse-&gt;format_info</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003einvocation_005fname"><code>kpse-&gt;invocation_name</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003einvocation_005fshort_005fname"><code>kpse-&gt;invocation_short_name</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003eprogram_005fname"><code>kpse-&gt;program_name</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpsewhich"><code>kpsewhich</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Kpsewhich_002c-and-debugging">Kpsewhich, and debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fBITMAP_005fTOLERANCE"><code>KPSE_BITMAP_TOLERANCE</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029"><code>KPSE_DEBUG_EXPAND <span class="r">(16)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029"><code>KPSE_DEBUG_FOPEN <span class="r">(4)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fHASH-_00282_0029"><code>KPSE_DEBUG_HASH <span class="r">(2)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fPATHS-_00288_0029"><code>KPSE_DEBUG_PATHS <span class="r">(8)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029"><code>KPSE_DEBUG_SEARCH <span class="r">(32)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fSTAT-_00281_0029"><code>KPSE_DEBUG_STAT <span class="r">(1)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fVARS-_002864_0029"><code>KPSE_DEBUG_VARS <span class="r">(64)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDOT-expansion"><code>KPSE_DOT <span class="r">expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005fformat_005finfo_005ftype"><code>kpse_format_info_type</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-last_002dresort-font">last-resort font</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lcircle10"><code>lcircle10</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-leading-colons">leading colons</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-leaf-directories-wrongly-guessed">leaf directories wrongly guessed</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-leaf-directory-trick">leaf directory trick</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-license-for-using-the-library">license for using the library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LIGFONTS"><code>LIGFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lines_002c-reading-arbitrary_002dlength">lines, reading arbitrary-length</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Linux-File-System-Standard">Linux File System Standard</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-local-cache-of-fonts">local cache of fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-log-file">log file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-logging-successful-searches">logging successful searches</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lost_002bfound-directory"><code>lost+found <span class="roman">directory</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-lostchar"><code>lostchar</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ls_002dR"><code>ls-R</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ls_002dR-database-file"><code>ls-R <span class="roman">database file</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ls_002dR_002c-simplest-build"><code>ls-R<span class="roman">, simplest build</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-last_002dresort-font">last-resort font</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lcircle10"><code>lcircle10</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-leading-colons">leading colons</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-leaf-directories-wrongly-guessed">leaf directories wrongly guessed</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-leaf-directory-trick">leaf directory trick</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-license-for-using-the-library">license for using the library</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LIGFONTS"><code>LIGFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lines_002c-reading-arbitrary_002dlength">lines, reading arbitrary-length</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Linux-File-System-Standard">Linux File System Standard</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-local-cache-of-fonts">local cache of fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-log-file">log file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-logging-successful-searches">logging successful searches</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lost_002bfound-directory"><code>lost+found <span class="r">directory</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-lostchar"><code>lostchar</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ls_002dR"><code>ls-R</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ls_002dR-database-file"><code>ls-R <span class="r">database file</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ls_002dR_002c-simplest-build"><code>ls-R<span class="r">, simplest build</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LUAINPUTS"><code>LUAINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Mac-filesystem_002c-case_002dinsensitive">Mac filesystem, case-insensitive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MacKenzie_002c-David">MacKenzie, David</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MacKenzie_002c-David-1">MacKenzie, David</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-magic-characters">magic characters</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mailing-lists">mailing lists</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MAKETEX_005fDEBUG-_0028512_0029"><code>MAKETEX_DEBUG <span class="roman">(512)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029"><code>MAKETEX_FINE_DEBUG <span class="roman">(1024)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-memory-allocation-routines">memory allocation routines</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-metafont-driver-files">metafont driver files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-failures">Metafont failures</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-installation">Metafont installation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-making-too_002dlarge-fonts">Metafont making too-large fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Metafont-using-the-wrong-device">Metafont using the wrong device</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MFBASES"><code>MFBASES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MFINPUTS"><code>MFINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MFPOOL"><code>MFPOOL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MFTINPUTS"><code>MFTINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MISCFONTS"><code>MISCFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mismatched-checksum-warnings">mismatched checksum warnings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-missing-character-warnings">missing character warnings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mkocp"><code>mkocp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mkofm"><code>mkofm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex-script-configuration"><samp>mktex</samp> script configuration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex-script-names"><samp>mktex</samp> script names</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex-scripts"><samp>mktex</samp> scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex_002ecnf"><code>mktex.cnf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex_002ecnf-1"><code>mktex.cnf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex_002eopt"><code>mktex.opt</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktex_002eopt-1"><code>mktex.opt</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexdir"><code>mktexdir</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexfmt"><code>mktexfmt</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexmf"><code>mktexmf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexpk"><code>mktexpk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktexpk-can_0027t-guess-mode"><code>mktexpk</code> can&rsquo;t guess mode</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktextex"><code>mktextex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mktextfm"><code>mktextfm</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MLBIBINPUTS"><code>MLBIBINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MLBSTINPUTS"><code>MLBSTINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mode-directory_002c-omitting">mode directory, omitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Morgan_002c-Tim">Morgan, Tim</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MPINPUTS"><code>MPINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MPMEMS"><code>MPMEMS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MPPOOL"><code>MPPOOL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MPSUPPORT"><code>MPSUPPORT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-MT_005fFEATURES"><code>MT_FEATURES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-multiple-TeX-hierarchies">multiple TeX hierarchies</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-must-exist">must exist</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Mac-filesystem_002c-case_002dinsensitive">Mac filesystem, case-insensitive</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MacKenzie_002c-David">MacKenzie, David</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MacKenzie_002c-David-1">MacKenzie, David</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-magic-characters">magic characters</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mailing-lists">mailing lists</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MAKETEX_005fDEBUG-_0028512_0029"><code>MAKETEX_DEBUG <span class="r">(512)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029"><code>MAKETEX_FINE_DEBUG <span class="r">(1024)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-allocation-routines">memory allocation routines</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-metafont-driver-files">metafont driver files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-failures">Metafont failures</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-installation">Metafont installation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-making-too_002dlarge-fonts">Metafont making too-large fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-using-the-wrong-device">Metafont using the wrong device</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MFBASES"><code>MFBASES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MFINPUTS"><code>MFINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MFPOOL"><code>MFPOOL</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MFTINPUTS"><code>MFTINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MISCFONTS"><code>MISCFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mismatched-checksum-warnings">mismatched checksum warnings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-missing-character-warnings">missing character warnings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mkocp"><code>mkocp</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mkofm"><code>mkofm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex-script-configuration"><samp class="file">mktex</samp> script configuration</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex-script-names"><samp class="file">mktex</samp> script names</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex-scripts"><samp class="file">mktex</samp> scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002ecnf"><code>mktex.cnf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002ecnf-1"><code>mktex.cnf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002eopt"><code>mktex.opt</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002eopt-1"><code>mktex.opt</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexdir"><code>mktexdir</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexfmt"><code>mktexfmt</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexmf"><code>mktexmf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk"><code>mktexpk</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk-can_0027t-guess-mode"><code class="code">mktexpk</code> can&rsquo;t guess mode</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktextex"><code>mktextex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mktextfm"><code>mktextfm</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MLBIBINPUTS"><code>MLBIBINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MLBSTINPUTS"><code>MLBSTINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-directory_002c-omitting">mode directory, omitting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Morgan_002c-Tim">Morgan, Tim</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MPINPUTS"><code>MPINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MPMEMS"><code>MPMEMS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MPPOOL"><code>MPPOOL</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MPSUPPORT"><code>MPSUPPORT</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-MT_005fFEATURES"><code>MT_FEATURES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-TeX-hierarchies">multiple TeX hierarchies</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-must-exist">must exist</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-names-for-mktex-scripts">names for <samp>mktex</samp> scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Neumann_002c-Gustaf">Neumann, Gustaf</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-NFS-and-ls_002dR">NFS and <samp>ls-R</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-nomfdrivers"><code>nomfdrivers</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-nomode"><code>nomode</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-none"><code>none</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-null-pointers_002c-dereferencing">null pointers, dereferencing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-numeric-debugging-values">numeric debugging values</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-names-for-mktex-scripts">names for <samp class="file">mktex</samp> scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Neumann_002c-Gustaf">Neumann, Gustaf</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-NFS-and-ls_002dR">NFS and <samp class="file">ls-R</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-nomfdrivers"><code>nomfdrivers</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-nomode"><code>nomode</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-none"><code>none</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-null-pointers_002c-dereferencing">null pointers, dereferencing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-numeric-debugging-values">numeric debugging values</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-obtaining-TeX">obtaining TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OCPINPUTS"><code>OCPINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OFMFONTS"><code>OFMFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-online-Metafont-display_002c-spurious">online Metafont display, spurious</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OPENTYPEFONTS"><code>OPENTYPEFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-optimization-caveat">optimization caveat</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-options-for-debugging">options for debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OTPINPUTS"><code>OTPINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-overview-of-path-searching">overview of path searching</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-overview-of-programming-with-Kpathsea">overview of programming with Kpathsea</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OVFFONTS"><code>OVFFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OVPFONTS"><code>OVPFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-obtaining-TeX">obtaining TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OCPINPUTS"><code>OCPINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OFMFONTS"><code>OFMFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-online-Metafont-display_002c-spurious">online Metafont display, spurious</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OPENTYPEFONTS"><code>OPENTYPEFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-optimization-caveat">optimization caveat</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-options-for-debugging">options for debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OTPINPUTS"><code>OTPINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-overview-of-path-searching">overview of path searching</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-overview-of-programming-with-Kpathsea">overview of programming with Kpathsea</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OVFFONTS"><code>OVFFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OVPFONTS"><code>OVPFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-path-expansion">path expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-expansion">Path expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-path-searching">path searching</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-path-searching-options">path searching options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-path-searching_002c-overview">path searching, overview</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-path-searching_002c-standalone">path searching, standalone</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-path-sources">path sources</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pathsearch_002eh"><code>pathsearch.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pc-Pascal-compiler"><code>pc <span class="roman">Pascal compiler</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pdfglyphlist_002etxt"><code>pdfglyphlist.txt</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pdftex_002ecfg"><code>pdftex.cfg</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PDFTEXCONFIG"><code>PDFTEXCONFIG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pdftexconfig_002etex"><code>pdftexconfig.tex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-permission-denied">permission denied</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-permissions_002c-directory">permissions, directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-permissions_002c-file">permissions, file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PKFONTS"><code>PKFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-plain_002ebase"><code>plain.base</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-privacy_002c-semblance-of">privacy, semblance of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-problems_002c-common">problems, common</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Common-problems">Common problems</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-proginit_002eh"><code>proginit.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-program_002dvarying-paths">program-varying paths</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-programming-overview">programming overview</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-programming-with-config-files">programming with config files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-programming-with-Kpathsea">programming with Kpathsea</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-programs-using-the-library">programs using the library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-proof-mode">proof mode</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PSHEADERS"><code>PSHEADERS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-pxp-Pascal-preprocessor"><code>pxp <span class="roman">Pascal preprocessor</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-path-expansion">path expansion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-expansion">Path expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching">path searching</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching-options">path searching options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching_002c-overview">path searching, overview</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching_002c-standalone">path searching, standalone</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-path-sources">path sources</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pathsearch_002eh"><code>pathsearch.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pc-Pascal-compiler"><code>pc <span class="r">Pascal compiler</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pdfglyphlist_002etxt"><code>pdfglyphlist.txt</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pdftex_002ecfg"><code>pdftex.cfg</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PDFTEXCONFIG"><code>PDFTEXCONFIG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pdftexconfig_002etex"><code>pdftexconfig.tex</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-permission-denied">permission denied</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-permissions_002c-directory">permissions, directory</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-permissions_002c-file">permissions, file</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PKFONTS"><code>PKFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002ebase"><code>plain.base</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-privacy_002c-semblance-of">privacy, semblance of</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-problems_002c-common">problems, common</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Common-problems">Common problems</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-proginit_002eh"><code>proginit.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-program_002dvarying-paths">program-varying paths</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-programming-overview">programming overview</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-programming-with-config-files">programming with config files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-programming-with-Kpathsea">programming with Kpathsea</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-programs-using-the-library">programs using the library</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-proof-mode">proof mode</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PSHEADERS"><code>PSHEADERS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-pxp-Pascal-preprocessor"><code>pxp <span class="r">Pascal preprocessor</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-quoting-variable-values">quoting variable values</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-quoting-variable-values">quoting variable values</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-rationale-for-casefolding-fallback">rationale for casefolding fallback</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-re_002dentrant-API">re-entrant API</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-readable"><code>readable</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reading-arbitrary_002dlength-lines">reading arbitrary-length lines</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-recording-successful-searches">recording successful searches</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-relative-filenames">relative filenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-reporting-bugs">reporting bugs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resident_002ec"><code>resident.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-resolutions_002c-last_002dresort">resolutions, last-resort</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-retrieving-TeX">retrieving TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-right_002dhand-side-of-variable-assignments">right-hand side of variable assignments</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-RISINPUTS"><code>RISINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Rokicki_002c-Tom">Rokicki, Tom</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-root-user"><tt>root</tt> user</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-runtime-configuration-files">runtime configuration files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-runtime-debugging">runtime debugging</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-rationale-for-casefolding-fallback">rationale for casefolding fallback</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-re_002dentrant-API">re-entrant API</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-readable"><code>readable</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reading-arbitrary_002dlength-lines">reading arbitrary-length lines</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-recording-successful-searches">recording successful searches</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-relative-filenames">relative filenames</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-reporting-bugs">reporting bugs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resident_002ec"><code>resident.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-resolutions_002c-last_002dresort">resolutions, last-resort</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-retrieving-TeX">retrieving TeX</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-right_002dhand-side-of-variable-assignments">right-hand side of variable assignments</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-RISINPUTS"><code>RISINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Rokicki_002c-Tom">Rokicki, Tom</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-root-user"><code class="t">root</code> user</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-runtime-configuration-files">runtime configuration files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-runtime-debugging">runtime debugging</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Sauter-fonts_002c-and-dynamic-source-creation">Sauter fonts, and dynamic source creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-scripts-for-file-creation">scripts for file creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-search-path_002c-defined">search path, defined</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-search_002c-case_002dinsensitive">search, case-insensitive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-search">Casefolding search</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-searching-for-files">searching for files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-searching-for-glyphs">searching for glyphs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-searching-overview">searching overview</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-searching-the-database">searching the database</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-searching-the-disk">searching the disk</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-security-considerations">security considerations</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SELFAUTODIR">SELFAUTODIR</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SELFAUTOLOC">SELFAUTOLOC</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SELFAUTOPARENT">SELFAUTOPARENT</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-sending-patches">sending patches</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-setgid-scripts">setgid scripts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-SFDFONTS"><code>SFDFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-shell-variables">shell variables</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-shell_005fescape_002c-example-for-code"><code>shell_escape<span class="roman">, example for code</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-site-overrides-for-mktex_2026">site overrides for <code>mktex&hellip;</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-skeleton-TeX-directory">skeleton TeX directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-slow-startup-time">slow startup time</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Slow-path-searching">Slow path searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-source-files"><code>source files</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-sources-for-search-paths">sources for search paths</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-special"><code>special</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-stack-trace">stack trace</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standalone-path-searching">standalone path searching</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-error-and-debugging-output">standard error and debugging output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Debugging">Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-standard-options">standard options</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Standard-options">Standard options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-startup-time_002c-excessive">startup time, excessive</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Slow-path-searching">Slow path searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-string-routines">string routines</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-strip"><code>strip</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-stripsupplier"><code>stripsupplier</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-striptypeface"><code>striptypeface</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-st_005fnlink"><code>st_nlink</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ST_005fNLINK_005fTRICK"><code>ST_NLINK_TRICK</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-subdirectory-searching">subdirectory searching</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-suffixes_002c-filename">suffixes, filename</a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-suggestions_002c-making">suggestions, making</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Sun-2">Sun 2</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-supplier-directory_002c-omitting">supplier directory, omitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-supplier-directory_002c-omitting-1">supplier directory, omitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-supported-file-formats">supported file formats</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-suppressing-warnings">suppressing warnings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-symbolic-links-not-found">symbolic links not found</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-symbolic-links_002c-and-ls_002dR">symbolic links, and <samp>ls-R</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-symlinks_002c-resolving">symlinks, resolving</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-system-C-compiler-bugs">system C compiler bugs</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-system_002ddependent-casefolding-behavior">system-dependent casefolding behavior</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Sauter-fonts_002c-and-dynamic-source-creation">Sauter fonts, and dynamic source creation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-scripts-for-file-creation">scripts for file creation</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-search-path_002c-defined">search path, defined</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-search_002c-case_002dinsensitive">search, case-insensitive</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-search">Casefolding search</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-for-files">searching for files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-for-glyphs">searching for glyphs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-overview">searching overview</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-the-database">searching the database</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-the-disk">searching the disk</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-security-considerations">security considerations</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SELFAUTODIR">SELFAUTODIR</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SELFAUTOLOC">SELFAUTOLOC</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SELFAUTOPARENT">SELFAUTOPARENT</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-sending-patches">sending patches</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-setgid-scripts">setgid scripts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-SFDFONTS"><code>SFDFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-variables">shell variables</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-shell_005fescape_002c-example-for-code"><code>shell_escape<span class="r">, example for code</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-site-overrides-for-mktex_2026">site overrides for <code class="code">mktex&hellip;</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-skeleton-TeX-directory">skeleton TeX directory</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-slow-startup-time">slow startup time</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Slow-path-searching">Slow path searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-source-files"><code>source files</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-sources-for-search-paths">sources for search paths</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-special"><code>special</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-stack-trace">stack trace</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standalone-path-searching">standalone path searching</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-error-and-debugging-output">standard error and debugging output</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-options">standard options</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Standard-options">Standard options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-startup-time_002c-excessive">startup time, excessive</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Slow-path-searching">Slow path searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-string-routines">string routines</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-strip"><code>strip</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-stripsupplier"><code>stripsupplier</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-striptypeface"><code>striptypeface</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-st_005fnlink"><code>st_nlink</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-ST_005fNLINK_005fTRICK"><code>ST_NLINK_TRICK</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-subdirectory-searching">subdirectory searching</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-suffixes_002c-filename">suffixes, filename</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-suggestions_002c-making">suggestions, making</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Sun-2">Sun 2</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-supplier-directory_002c-omitting">supplier directory, omitting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-supplier-directory_002c-omitting-1">supplier directory, omitting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-supported-file-formats">supported file formats</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-suppressing-warnings">suppressing warnings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-symbolic-links-not-found">symbolic links not found</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-symbolic-links_002c-and-ls_002dR">symbolic links, and <samp class="file">ls-R</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-symlinks_002c-resolving">symlinks, resolving</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-system-C-compiler-bugs">system C compiler bugs</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-system_002ddependent-casefolding-behavior">system-dependent casefolding behavior</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-T1FONTS"><code>T1FONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-T1INPUTS"><code>T1INPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-T42FONTS"><code>T42FONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tcfmgr_002emap"><code>tcfmgr.map</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TDS">TDS</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-directory-structure">TeX directory structure</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-environment-variables">TeX environment variables</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-failures">TeX failures</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-file-lookup">TeX file lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-glyph-lookup">TeX glyph lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-support">TeX support</a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-support">TeX support</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TeX-Users-Group">TeX Users Group</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002dfile_002ec"><code>tex-file.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002dfile_002eh"><code>tex-file.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002dglyph_002ec"><code>tex-glyph.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002dglyph_002eh"><code>tex-glyph.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002dk_0040tug_002eorg"><code>tex-k@tug.org</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"><code>tex-k@tug.org <span class="roman">(bug address)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tex_002eweb"><code>tex.web</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXBIB"><code>TEXBIB</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXBIB-1"><code>TEXBIB</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXDOCS"><code>TEXDOCS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTMAPS"><code>TEXFONTMAPS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTS"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTS-1"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTS-2"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFONTS-3"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texfonts_002emap"><code>texfonts.map</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXFORMATS"><code>TEXFORMATS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXINDEXSTYLE"><code>TEXINDEXSTYLE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXINPUTS"><code>TEXINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXINPUTS-1"><code>TEXINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMF"><code>TEXMF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf"><code>texmf.cnf</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf-missing_002c-warning-about"><samp>texmf.cnf</samp> missing, warning about</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf_002c-and-variable-expansion"><code>texmf.cnf<span class="roman">, and variable expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf_002c-definition-for"><code>texmf.cnf<span class="roman">, definition for</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf_002c-source-for-path"><code>texmf.cnf<span class="roman">, source for path</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFCNF"><code>TEXMFCNF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFCNF-1"><code>TEXMFCNF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFDBS"><code>TEXMFDBS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFDBS-1"><code>TEXMFDBS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFINI"><code>TEXMFINI</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFINI-1"><code>TEXMFINI</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFINI-2"><code>TEXMFINI</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFLOG"><code>TEXMFLOG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFSCRIPTS"><code>TEXMFSCRIPTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmfvar"><code>texmfvar</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXMFVAR"><code>TEXMFVAR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texmf_005fcasefold_005fsearch"><code>texmf_casefold_search</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-search">Casefolding search</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPKS"><code>TEXPKS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPOOL"><code>TEXPOOL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPSHEADERS"><code>TEXPSHEADERS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXPSHEADERS-1"><code>TEXPSHEADERS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXSIZES"><code>TEXSIZES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEXSOURCES"><code>TEXSOURCES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEX_005fHUSH"><code>TEX_HUSH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEX_005fHUSH-1"><code>TEX_HUSH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TFMFONTS"><code>TFMFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tilde-expansion">tilde expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tilde_002ec"><code>tilde.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-time-system-call"><code>time <span class="roman">system call</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tolerance-for-glyph-lookup">tolerance for glyph lookup</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trailing-_002f-in-home-directory">trailing &lsquo;<samp>/</samp>&rsquo; in home directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trailing-colons">trailing colons</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-translations_002c-of-path-searching-description">translations, of path searching description</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TRFONTS"><code>TRFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trick-for-detecting-leaf-directories">trick for detecting leaf directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-trojan-horse-attack">trojan horse attack</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Security">Security</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-try_005fstd_005fextension_005ffirst"><code>try_std_extension_first</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TTFONTS"><code>TTFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-tug_002eorg"><code>tug.org</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-typeface-directory_002c-omitting">typeface directory, omitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-typeface-directory_002c-omitting-1">typeface directory, omitting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-T1FONTS"><code>T1FONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-T1INPUTS"><code>T1INPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-T42FONTS"><code>T42FONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tcfmgr_002emap"><code>tcfmgr.map</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TDS">TDS</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-directory-structure">TeX directory structure</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-environment-variables">TeX environment variables</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-failures">TeX failures</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-file-lookup">TeX file lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-glyph-lookup">TeX glyph lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-support">TeX support</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-support">TeX support</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-Users-Group">TeX Users Group</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dfile_002ec"><code>tex-file.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dfile_002eh"><code>tex-file.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dglyph_002ec"><code>tex-glyph.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dglyph_002eh"><code>tex-glyph.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dk_0040tug_002eorg"><code>tex-k@tug.org</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"><code>tex-k@tug.org <span class="r">(bug address)</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002eweb"><code>tex.web</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXBIB"><code>TEXBIB</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXBIB-1"><code>TEXBIB</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXDOCS"><code>TEXDOCS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTMAPS"><code>TEXFONTMAPS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS-1"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS-2"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS-3"><code>TEXFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texfonts_002emap"><code>texfonts.map</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFORMATS"><code>TEXFORMATS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINDEXSTYLE"><code>TEXINDEXSTYLE</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINPUTS"><code>TEXINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINPUTS-1"><code>TEXINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMF"><code>TEXMF</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf"><code>texmf.cnf</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf-missing_002c-warning-about"><samp class="file">texmf.cnf</samp> missing, warning about</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf_002c-and-variable-expansion"><code>texmf.cnf<span class="r">, and variable expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf_002c-definition-for"><code>texmf.cnf<span class="r">, definition for</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf_002c-source-for-path"><code>texmf.cnf<span class="r">, source for path</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFCNF"><code>TEXMFCNF</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFCNF-1"><code>TEXMFCNF</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFDBS"><code>TEXMFDBS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFDBS-1"><code>TEXMFDBS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFINI"><code>TEXMFINI</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFINI-1"><code>TEXMFINI</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFINI-2"><code>TEXMFINI</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFLOG"><code>TEXMFLOG</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFSCRIPTS"><code>TEXMFSCRIPTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmfvar"><code>texmfvar</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFVAR"><code>TEXMFVAR</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_005fcasefold_005fsearch"><code>texmf_casefold_search</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-search">Casefolding search</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPKS"><code>TEXPKS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPOOL"><code>TEXPOOL</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPSHEADERS"><code>TEXPSHEADERS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPSHEADERS-1"><code>TEXPSHEADERS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXSIZES"><code>TEXSIZES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXSOURCES"><code>TEXSOURCES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEX_005fHUSH"><code>TEX_HUSH</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEX_005fHUSH-1"><code>TEX_HUSH</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TFMFONTS"><code>TFMFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tilde-expansion">tilde expansion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tilde_002ec"><code>tilde.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-time-system-call"><code>time <span class="r">system call</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tolerance-for-glyph-lookup">tolerance for glyph lookup</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trailing-_002f-in-home-directory">trailing &lsquo;<samp class="samp">/</samp>&rsquo; in home directory</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trailing-colons">trailing colons</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-translations_002c-of-path-searching-description">translations, of path searching description</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TRFONTS"><code>TRFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trick-for-detecting-leaf-directories">trick for detecting leaf directories</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-trojan-horse-attack">trojan horse attack</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-try_005fstd_005fextension_005ffirst"><code>try_std_extension_first</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TTFONTS"><code>TTFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-tug_002eorg"><code>tug.org</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-typeface-directory_002c-omitting">typeface directory, omitting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-typeface-directory_002c-omitting-1">typeface directory, omitting</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-U">U</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unable-to-find-files">unable to find files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unable-to-generate-fonts">unable to generate fonts</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-uname"><code>uname</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unixtex_002eftp"><code>unixtex.ftp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unknown-special-warnings">unknown special warnings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unreadable-file-warnings">unreadable file warnings</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unreadable-files">unreadable files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unusable-ls_002dR-warning">unusable <samp>ls-R</samp> warning</a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-usage-patterns_002c-finding">usage patterns, finding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Logging">Logging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-USERPROFILE_002c-as-_007e-expansion"><code>USERPROFILE<span class="roman">, as ~ expansion</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-USE_005fTEXMFVAR"><code>USE_TEXMFVAR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-USE_005fVARTEXFONTS"><code>USE_VARTEXFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unable-to-find-files">unable to find files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unable-to-generate-fonts">unable to generate fonts</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-uname"><code>uname</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unixtex_002eftp"><code>unixtex.ftp</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unknown-special-warnings">unknown special warnings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unreadable-file-warnings">unreadable file warnings</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unreadable-files">unreadable files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unusable-ls_002dR-warning">unusable <samp class="file">ls-R</samp> warning</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-usage-patterns_002c-finding">usage patterns, finding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-USERPROFILE_002c-as-_007e-expansion"><code>USERPROFILE<span class="r">, as ~ expansion</span></code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-USE_005fTEXMFVAR"><code>USE_TEXMFVAR</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-USE_005fVARTEXFONTS"><code>USE_VARTEXFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-V">V</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-varfonts"><code>varfonts</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-variable-expansion">variable expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-variable_002ec"><code>variable.c</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-variable_002eh"><code>variable.h</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-VARTEXFONTS"><code>VARTEXFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-VAX-11_002f750">VAX 11/750</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-version-numbers_002c-determining">version numbers, determining</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-VF-files_002c-not-found">VF files, not found</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-VFFONTS"><code>VFFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Vojta_002c-Paul">Vojta, Paul</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-varfonts"><code>varfonts</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-variable-expansion">variable expansion</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-variable_002ec"><code>variable.c</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-variable_002eh"><code>variable.h</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-VARTEXFONTS"><code>VARTEXFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-VAX-11_002f750">VAX 11/750</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-version-numbers_002c-determining">version numbers, determining</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-VF-files_002c-not-found">VF files, not found</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-VFFONTS"><code>VFFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Vojta_002c-Paul">Vojta, Paul</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Walsh_002c-Norman">Walsh, Norman</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warning-about-unusable-ls_002dR">warning about unusable <samp>ls-R</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warning_002c-about-missing-texmf_002ecnf">warning, about missing <samp>texmf.cnf</samp></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warnings_002c-file-access">warnings, file access</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-WEB2C"><code>WEB2C</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Weber_002c-Olaf">Weber, Olaf</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-WEBINPUTS"><code>WEBINPUTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-whitespace_002c-in-fontmap-files">whitespace, in fontmap files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-whitespace_002c-not-ignored-on-continuation-lines">whitespace, not ignored on continuation lines</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-files">Config files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Windows-and-casefolding">Windows and casefolding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-www_002etug_002eorg"><code>www.tug.org</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Walsh_002c-Norman">Walsh, Norman</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warning-about-unusable-ls_002dR">warning about unusable <samp class="file">ls-R</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warning_002c-about-missing-texmf_002ecnf">warning, about missing <samp class="file">texmf.cnf</samp></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-file-access">warnings, file access</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB2C"><code>WEB2C</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Weber_002c-Olaf">Weber, Olaf</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-WEBINPUTS"><code>WEBINPUTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-whitespace_002c-in-fontmap-files">whitespace, in fontmap files</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-whitespace_002c-not-ignored-on-continuation-lines">whitespace, not ignored on continuation lines</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Windows-and-casefolding">Windows and casefolding</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-www_002etug_002eorg"><code>www.tug.org</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-X">X</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-XDvi"><code>XDvi</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-XDVIFONTS"><code>XDVIFONTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-XDVIMAKEPK"><code>XDVIMAKEPK</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-XDVISIZES"><code>XDVISIZES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-XDvi"><code>XDvi</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-XDVIFONTS"><code>XDVIFONTS</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-XDVIMAKEPK"><code>XDVIMAKEPK</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-XDVISIZES"><code>XDVISIZES</code></a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Z">Z</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-zuhn_002c-david">zuhn, david</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History">History</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-zuhn_002c-david">zuhn, david</a>:</td><td>&nbsp;</td><td class="printindex-index-section"><a href="#History">History</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a>
+<table class="cp-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-2"><b>$</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>$</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-3"><b>-</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>-</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-4"><b>.</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>.</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-5"><b>/</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>/</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-6"><b>2</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>2</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-7"><b>8</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>8</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-8"><b>:</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>:</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-9"><b>;</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>;</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-10"><b>=</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>=</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>\</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-12"><b>{</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>{</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>~</b></a>
&nbsp;
<br>
-<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a>
&nbsp;
-<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a>
+<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a>
&nbsp;
</td></tr></table>
+</div>
</div>
</div>
diff --git a/systems/doc/kpathsea/kpathsea.pdf b/systems/doc/kpathsea/kpathsea.pdf
index a189490124..a2f30dd70c 100644
--- a/systems/doc/kpathsea/kpathsea.pdf
+++ b/systems/doc/kpathsea/kpathsea.pdf
Binary files differ
diff --git a/systems/doc/luatex/NEWS b/systems/doc/luatex/NEWS
new file mode 100644
index 0000000000..8557c139df
--- /dev/null
+++ b/systems/doc/luatex/NEWS
@@ -0,0 +1,4848 @@
+==============================================================
+LuaTeX 1.16.0 2023-02-19
+==============================================================
+
+- new "late special" feature by Phelype Oleinik, adapted and
+ extended by H.Hagen.
+- new primitive \variablefam: use a family number as signal
+ for using the current family. This permits classifying
+ characters with a class and still let the family adapt.
+ \variablefam"24
+ \Umathchardef\foo "3 "24 123
+ \foo \fam9
+ results in a curly left brace taken from family 9 with class
+ ‘relation’ and spacing around it will be accordingly.
+- improved r2l annotation areas
+
+Several bug fixes (see ChangeLog).
+
+
+
+==============================================================
+LuaTeX 1.15.0 2021-12-31
+==============================================================
+
+New primitive \matheqdirmode.
+By default the short skip detection is not adapted to r2l typesetting and that
+hasn't been the case since the start of the project. Changing it could break
+hacks that users came up with but when you set \matheqdirmode to a positive
+value direction will be taken into account.
+
+Several bug fixes (see ChangeLog).
+
+
+
+==============================================================
+LuaTeX 1.14.1 2021-12-30
+==============================================================
+
+struct dest (M.F. Krüger);
+
+Ignore paragraphs with only a local par node followed by
+direction synchronization nodes (paragraphs like that are seen
+as empty paragraphs) (Hans Hagen);
+
+more efficient fontdimen allocation (Hans Hagen);
+
+improvements for glyph_stream_provider with TTF fonts (M.F. Krüger);
+
+provide interface for variable fonts in luaharfbuzz (M.F. Krüger);
+
+partoken primitives (Hans Hagen & Petr Olsak);
+
+PNG /Smask for pdf 2.0;
+
+\discretionaryligaturemode: optionally block select disc creation
+(see [Dev-luatex] [PATCH] Nested discretionaries M.F. Krüger) (Hans Hagen);
+
+different radical style defaults in mathdefaultsmode
+(see [Dev-luatex] Uunderdelimiter & friends and mathstyles by M.F. Krüger) (Hans Hagen).
+
+
+Several bug fixes (see ChangeLog).
+
+
+
+
+==============================================================
+LuaTeX 1.13.2 2021-04-10
+==============================================================
+
+MetaPost 2.01 (to mark the patch on the unwanted space in
+btex etex).
+
+
+
+==============================================================
+LuaTeX 1.13.1 2021-04-02
+==============================================================
+
+Fixed an unwanted space in btex etex in metapost, introduced
+after a patch for troff.
+
+
+
+
+==============================================================
+LuaTeX 1.13.0 2021-03-12
+==============================================================
+
+This is the release for TeX live 2021.
+Callback for nesting level used in tracingmacros.
+It is is a variant of \tracingstacklevels
+by Petr Olsak implemented in pdftex and xetex.
+Two TeX January 2021 DEK buglet fixes (H.Hagen)
+Mark math glyphs as protected (in order to prevent processing
+as text in base mode).
+Removed width/ic compensation for traditional math code path.
+When restricted system commands is enabled os.setenv has no effect.
+Minor clean-up and bugs fixed (see ChangeLog)
+
+
+
+==============================================================
+LuaTeX 1.12.0 2020-03-15
+==============================================================
+
+This is the release for TeX live 2020.
+--shell-restricted now forbids loading of dso (dll/so object)
+Scaled virtual font
+Aadditional primitives \eTeXglue[stretch|shrink]order for querying order the etex way.
+Extra features runtoks
+tex.getmodenames() (as these can differ per engine/version)
+Permit nested runtoks in more complex situations of nesting (HH)
+More accurate and correct test for tex.[set|get]math
+Minor clean-up and bugs fixed
+
+
+
+==============================================================
+LuaTeX 1.11.1 2019-10-28
+==============================================================
+
+First release of luahbtex / luajithbtex,
+luatex / luajittex with harfbuzz.
+Small bug fixes, code clean up and a couple of new primitives
+to match eTeX.
+A new callback lua.getcodepage() for diagnostic purposes.
+*** DROPPED the "page_objnum_provider" callback, replaced with "page_order_index". ***
+See ChangeLog and the manual.
+
+
+
+==============================================================
+LuaTeX 1.10.0 2019-03-15
+==============================================================
+
+This the release for TeX Live 2019.
+Small bug fixes, code clean up.
+This is a stable release: only bug-fixes until the next TeX Live.
+
+
+
+==============================================================
+LuaTeX 1.09.2 2019-01-19
+==============================================================
+
+This is a transitional release to LuaTeX 1.10 for TeX Live 2019
+
+
+
+==============================================================
+LuaTeX 1.09 2018-10-23
+==============================================================
+
+(1) This is a release that fixed some bugs, and the latest
+with lua 5.2.
+
+(2) luaffi is still incomplete, so very likely there will be
+a new release 1.09.1 before the next year.
+
+
+
+==============================================================
+LuaTeX 1.08 2018-08-28
+==============================================================
+
+
+(1) This release is a prelude to 1.10, the next stable iteration of LuaTeX
+after version 1.00.
+
+(2) Lua 5.3 is now considered to be default and we might use 5.4 in version
+1.10. There are no real functional changed expected. You still need to rename
+the binary for 5.3!
+
+(3) Binary mode is no longer available in MPlib but it is still available in
+stand alone MetaPost. This simplifies compilation and reduces dependencies.
+
+(4) The dependency on Poppler for pdf image inclusion has been removed. We
+now use a small dedicated library written by Pawel Jakowski. We no longer
+need c++ compilers. We're in the process of making it behave well on all
+platforms. It has been tested on intel platforms.
+
+(5) We know that there can be some (alignment) issues with the arm platform
+but these are looked into. Therefore, later this year we will release 1.09.
+Version 1.10 is planned for TeXlive. We hope that ffi works ok on intel and
+arm platforms at that point.
+
+(6) There have been some extensions to the Lua libraries and some callbacks
+have been added. Also, a few new primitives have been introduced. The
+documentation mentions the stable extensions.
+
+(7) There are the usual bug fixes and cleanups but there have been no real
+fundamental changes in the API.
+
+
+
+
+==============================================================
+LuaTeX 1.07 2018-01-17
+==============================================================
+
+(1) This release brings Lua 5.3 to LuaTeX. We have tested an experimental version
+for a few months and not encountered issues.
+
+(2) If you use Lua 5.3 you should be aware of a few changes in the language and
+its implementation. Numbers are now either integers or floats but are cast
+automatically.
+
+(3) In some cases (e.g. string.format) there is a more strict check. A float always
+has a decimal appended when serialized, so 1 becomes 1.0 as string.
+
+(4) We keep supporting the bit32 library on top of the new bit operators. Be aware
+of the fact that currently LuajitTeX does not have these operators.
+
+(5) Performance of LuaTeX with Lua 5.3 can be slightly better than with 5.2 but this
+really depends on your usage of Lua. In practice there should be no slowdown.
+
+(6) We are aware of possible substantial slowdown of string.format depending on the
+platform and compiler. This depends on Lua too and will be resolved in due time.
+
+(7) If you want to test with Lua 5.3 then have to build LuaTeX with --lua53. Because
+ConTeXt will switch to 5.3 after this release there will be binaries available at the
+ConTeXt garden.
+
+(8) The 2018 TeXlive distribution will ship with LuaTeX using Lua 5.2 but there will
+likely be an additional binary LuaTeX53 available.
+
+(9) From 2019 TeXlive will ship with LuaTeX and Lua 5.3 as default. We provide --lua52
+as build flag for a while. By then we might be looking at Lua 5.4 already.
+
+(10) There are the usual patches and cleanups and a few small additions (mentioned
+in the manual) but there have been no fundamental changes in the API (apart from
+removing depricated and undocumented functionality).
+
+
+
+==============================================================
+LuaTeX Release 1.0.4 was released 2017033109
+==============================================================
+
+Several small fixes. This version will go on texlive.
+
+
+
+
+==============================================================
+LuaTeX Release 1.0.3 was released 2017021514
+==============================================================
+
+This is a minor upgrade and probably this version will go on texlive. There are a couple
+of fixes and additions.
+- We added a few a few more helpers in the pdf namespace (like set|get]gentounicode,
+ [set|get]omitcidset and set|get]decimaldigits. Some helpers were moved from the tex
+ to the pdf namespace.
+
+- We added a build_page_insert callback for inserts so that one can for instance adapt
+ spacing on demand.
+
+- On the agenda has been some more control over word start and end in hyphenation and
+ this is now possible via hyphenationbounds. We also updated the manual with some more
+ details.
+
+- An old tracker item with respect to control over spacing around math was revived and
+ has resulted in mathsurroundmode (one can wonder how useful this is).
+
+- We improved the resolution detection in included jpeg images.
+
+
+- An ffi library has been added to luatex so that it is more in sync with luajittex. This
+ permits easy and flexible loading of libraries. Our policy is to make luatex as lean
+ as possible with no dependencies and this is a step towards that. Eventually we hope
+ to support all relevant platforms.
+
+- The glue and skip register accessors have been improved as a step in freeing the user
+ from glue spec management.
+
+- We added a few more getters and setters for nodes in order to get a more consistent
+ set.
+
+- Irrelevant fields have been removed from the status table and an engine identifier
+ has been added.
+
+- Of course there are numerous fixes and improvements but none of these have consequences
+ for the interfaces.
+
+- The manual has been updated but will be improved over time.
+
+
+
+
+==============================================================
+LuaTeX Release 0.95 for TeX Live 2016 was released 2016042515
+==============================================================
+
+This is the official frozen TeXlive 2016 version.
+- deleted 'beta' from the luatex_version_string
+
+
+
+
+==============================================================
+LuaTeX Release 0.95 was released 2016040415
+==============================================================
+
+This is a prerelease of the stable 1.0 version.
+
+- glues now have gluespec merged in (idem math and insert)
+- registers are still glue specs
+- the spec field in glues are gone
+- extra tex.setglue and tex.setmuglue
+- obsolete dvi related dir fields removed
+
+(if we are in time, it will be included in TeX Live 2016)
+
+
+==============================================================
+LuaTeX Release 0.90.0 was released 2016032512
+==============================================================
+
+This is the version that will go on TeX Live 2016
+
+- mostly small bug fixes
+- a few setters/getters added to the pdf namespace (were in the tex one before)
+- a few patches to the lua interface macros
+- a bit more control over protrusion edges
+- no fundamental changes
+
+
+
+==============================================================
+Luatex Release 0.89.4 was released 2016031100
+==============================================================
+
+Intermediary release. Several bugs fixed.
+
+
+
+==============================================================
+Luatex Release 0.89.2 was released 2016022700
+==============================================================
+
+Intermediary release. Several bugs fixed.
+
+
+==============================================================
+Luatex Release 0.89.0 was released 2016020500
+==============================================================
+
+No fundamental changes, just some fixes / improvements (and of course new bugglets).
+
+- New backend things:
+ \pdfvariable pkfixeddpi = integer % > 0 : use only default dpi (so one can do with one high res instance)
+ \pdfvariable ignoreunknownimages = integer % > 0 : ignore missing and inject something empty (to be used with care)
+ and one can do this:
+ \edef\foo{\pdfvariable foo}
+ \def \oof{foo}
+ \ifx\foo\oof don't fool me\fi
+ (side effect of no longer aborting on missing, so one implement a catch)
+
+
+
+
+==============================================================
+Luatex Release 0.88.0 was released 2016011500
+==============================================================
+
+This is a next step upto 0.90 and it has the following changes:
+
+- mostly small bug fixes
+
+- a few setters/getters added to the pdf namespace (were in the tex one before)
+
+- The current libraries under libs are now:
+ * poppler-0.40.0
+ * mpfr-3.1.3
+ * luajit-2.1.0-beta1
+ * gmp-6.1.0
+ * zziplib-0.13.62
+ * zlib-1.2.8
+ * lua52-5.2.4
+ * pixman-0.32.8
+ * libpng-1.6.21
+ * cairo-1.14.6
+
+
+
+==============================================================
+Luatex beta-0.87.0 was released 2015121700
+==============================================================
+
+
+
+This is a next step upto 0.90 and it has the following changes:
+
+- image data is no longer stored in the format (it was fragile anyway)
+
+- pdf backend data generated when in ini mode is no longer stored in the format
+
+- (incomplete) \mag support removed from pdf backend (this functionality is
+ kept in dvi mode)
+
+- there are a couple of improvements that should make luatex run a little bit faster
+ (but of course that depends on the job at hand)
+
+- some further pending issues / cleanup has been done (but this is not reflected in the
+ interface)
+
+- there is a new primitive \nospace:
+
+ \nospace=1 do now not inject glue for spaces (not even zero glue)
+ \nospace=2 inject zero glue for spaces
+
+- there are new primitives \hpack, \vpack and \tpack that are like \hbox, \vbox and
+ \vtop but they don't trigger callbacks
+
+- we no longer keep track of older math character and delimiter definition states,
+ but this should normally go unnoticed
+
+- from now on only ^^XX, ^^C, ^^^^XXXX and ^^^^^^XXXXXX are supported so no funny odd
+ values (three and five)
+
+- texio.setescape(0) disables escaping to terminal (a matter of taste)
+
+- the (current) lc codes are now saved with the (current) language when patterns are
+ loaded unless one hs used \hjcode instead of \lccode; overloading of \hjcodes is
+ possible (but of course goes ahead of hyphenation which is delayed till parbuilding or
+ packaging
+
+- active characters can now be set with: \letcharcode123=\foo (experimental)
+
+- there are some experimental new primitives but these will be described when they are
+ stable (currently being tested)
+
+- there is more backend error reporting and all error messages adn warnings (the non-tex
+ ones) have been normalized
+
+- of course there are the usual small fixes and additional setters and getters in libraries
+ (see manual)
+
+
+==============================================================
+Luatex beta-0.85.0 was released 2015111400 (5550)
+==============================================================
+-- roadmap
+
+The 0.85 release is has a lot of changes. It is the prelude to 0.90 which itself is
+a prelude to the 0.95 that will go on texlive 2016. The 1.00 release will happen
+around the 2016 context meeting. After that 2.* will become the next experimental
+branch (leading to 3.*). The most important changes between 0.80 and 0.85 are mentioned
+below. For more information consult the manual.
+
+-- the backend commands
+
+There is a better separation between front- and backend code. Some of the generic
+\pdf* commands have been promoted to core primitives (with different names), some
+have been removes like ximagecolordepth and ximagebbox have been removed and
+all that are left have been organized differently. The backend is now more abstract
+and provides three primitives only
+
+ \pdfextension <keyword> <optional spec>
+ \pdfvariable <keyword>
+ \pdffeedback <keyword>
+
+The first replaces \pdfannot and alike, the second replaces the variables that can
+be sused to control behaviour, and the third accesses the read only variables. See
+luatex-pdf.tex in the context distribution for a plain definition file.
+
+The big advantage of the separation (basically core (lua)tex + extensions) is that
+changes in the backend don't have consequences for the frontend and it's easier to
+locate possible issues in the code. We might split a bit more at the lua end too.
+
+-- nodes
+
+The boundary, dir and localpar whatsits are now normal nodes. The xforms and ximage
+whatsits are now a special kind of rule nodes (subtypes 1 and 2) and known as box-
+and image resources (see manual). Also, empty rules are now a valid subtype (subtype
+3) with related commands \nohrule and \novrule.
+
+At the lua end one can now access the fields of a spec subnode directly in the parent,
+which has the benefit of more control and robust assignments (no need to check for
+writeability) while we keep the concept of shared glue specs (tex internals). By
+staying close to traditional TeX the Knuthian documentation still applies in most
+cases.
+
+The pdf action nodes are now pdf_action whatsit nodes (so no longer a pseudo core
+node).
+
+You can get the node subtypes with the node.subtypes function which adds a layer
+of abstraction (foo.subtype = "string" might be added in the future).
+
+-- expansion
+
+The hz optimization already only supported level 2 optimization, but now has a variant
+3 that does only stretch glyphs and not kerns. Pending is a change where we go back to
+percentages instead of fractions of em.
+
+-- math
+
+The old/new codepath has been checked and italic correction which is fundamental
+different between the engines has been (partially) redone.
+
+We now have \mathsurroundskip that replaces mathsurround when it's non zero.
+
+The \mathtoptions (old 1) directive can be used for testing. This primitive is mostly for
+ourselves and used for development.
+
+The \Umathcharclass, \Umathcharfam and \Umathcharslot primitives can be used to fetch
+properties of a math character.
+
+The new \Uleft, \Uright and \Umiddle fence operators accept "height <dimen>", "depth
+<dimen>" and the "noaxis" keyword as well the "exact" keyword for non-fitting ones. There
+is also \Uvextension. Optionally one can specify a 'class'.
+
+The \Udelimiter[under|over] and \U[under|over]delimiter primitives accept a width as well
+as left, middle and right keywords (for non fitting ones). There is also \Uhextension.
+
+The \abovewithdelimiter command accepts 'exact' as keyword (before the dimension) which nils
+the excessive spacing. The normal vgaps still apply.
+
+We have a new fraction primitive \Uskewed with a companion \Uskewedwithdelims. Optional
+keywords are 'noaxis' and 'exact'.
+
+There is a new directive \mathdisplayskipmode (esp for controlling the > 0 below skip check).
+
+With \mathscriptsmode you can fix anchoring of scripts (as needed for chemistry).
+
+The \Umathaccent commands accept a width and fraction argument.
+
+-- hyhenation
+
+The discretionary command now accept an optional "penalty <number>" specification
+where the penalty will be stored with the node. Default is hyphenpenalty.
+
+-- file io
+
+texio.write/write_nl now writes to file if the first argument is a (valid) number
+reference to a file opened at the tex end; you can now open 128 files from the tex end
+(0..127) and the system command is no longer executed with 18
+
+-- lua interface
+
+The tex.<internal variable> is hopefully better now. The tex.get* also can handle
+the built in registers. Especially prevdepth access should work out ok now.
+
+-- and ...
+
+As usual there are lots of small fixes, improvements, overhauls, small additions,
+hopefully all mentioned in the manual.
+
+-- warning
+
+This version is probably not compatible with the macro package that you use as some
+engine specific initializations need to take place (\pdf commands) and some node types
+have been changed. We now have separated pdf backend commands and the only left
+primitive categories are: core, (tex), etex and luatex, so no more pdftex, omega and
+umath (where the distinction became to fuzzy). Of course you can still prefix.
+
+
+
+==============================================================
+Luatex beta-0.81.0 was released 2015100722 (5350)
+==============================================================
+
+
+
+* A couple of primitives are removed, renamed and/or promoted to core (luatex) primitives.
+Here's a summary. It might demand some adaption in the way macro packages initialize so we will mention them here explicitly in advance. As shown below, a simple way to get backward compatibility is to \let old ones to new ones. So,
+
+ Updating to this version also might demand an update in the
+ macro package that you use!
+
+Here we go:
+
+% removed, can be done with callbacks if needed, one can define dimen dummies, like
+
+\newdimen\pdfeachlineheight
+\newdimen\pdfeachlinedepth
+\newdimen\pdflastlinedepth
+\newdimen\pdffirstlineheight
+\newdimen\pdfignoreddimen
+
+% removed, were already obsolete, one can \let them
+
+\let\pdftexversion \luatexversion
+\let\pdftexrevision\luatexrevision
+\let\pdftexbanner \luatexbanner
+
+% promoted (from pdftex), so pdf prefix gone, one can \let them
+
+\let\pdfnormaldeviate \normaldeviate
+\let\pdfuniformdeviate\uniformdeviate
+\let\pdfsetrandomseed \setrandomseed
+\let\pdfrandomseed \randomseed
+
+% promoted (from omega), so pdf prefix gone, one can \let them
+
+\let\pdfpagewidth \pagewidth
+\let\pdfpageheight\pageheight
+
+% redundant (etex wins over omega), so \font-less ones gone, one can \let them
+
+\let\chardp\fontchardp
+\let\charht\fontcharht
+\let\charit\fontcharit
+\let\charwd\fontcharwd
+
+% promoted (from aleph)
+
+\pagerightoffset
+\pagebottomoffset
+
+% promoted (from pdftex)
+
+\ifincsname
+\expanded
+\quitvmode
+
+% removed (from pdftex), so *pdf* ones gone, one can \let them
+
+\let\ifpdfabsnum \ifabsnum
+\let\ifpdfabsdim \ifabsdim
+\let\ifpdfprimitive\ifprimitive
+\let\pdfprimitive \primitive
+
+% promoted (from omega)
+
+\pagedir
+\bodydir
+\pardir
+\textdir
+\mathdir
+
+% promoted (from aleph)
+
+\boxdir
+
+% promoted (from pdftex)
+
+\lpcode
+\rpcode
+\efcode
+\leftmarginkern
+\rightmarginkern
+
+\tagcode
+\letterspacefont
+
+% promoted (from pdftex), so *pdf* ones gone, one can \let them
+
+\let\pdfprotrudechars\protrudechars
+\let\pdfadjustspacing\adjustspacing
+
+\let\pdfnoligatures \ignoreligaturesinfont
+\let\pdffontexpand \expandglyphsinfont
+
+% promoted (from pdftex), so *pdf* ones gone, one can \let them
+
+\let\pdfsavepos \savepos
+\let\pdflastxpos\lastxpos
+\let\pdflastypos\lastypos
+
+% on the todo list are:
+
+\pdfoutput : \outputmode
+\pdfmatrix : will get a normal syntax, no weird { } parsing
+
+\pdfcolorstackinit : might become obsolete
+\pdfcolorstack : might become obsolete
+
+So, apart from a few, the \pdf* primitives now relate to the backend only.
+
+% There is also a new primitive:
+
+\hyphenationmin
+
+This one determines the minimum word length (per language).
+ At the same time we moved the (ex)hyphenpenalties
+in the disc nodes so you can inject discretionaries with specific penalties.
+
+There will also be an updated manual.
+Hans
+
+
+* new epdf.openMemStream(s,l,docid)
+to create a pdf from a lightuserdata or string.
+(experimental, do not use in production.)
+
+* uniform random generator in mplib is now specific for each numbersystem;
+
+* too_precise implemented for binary number system;
+
+* several bug fixes.
+
+
+==============================================================
+Luatex beta-0.80.0 was released 20150319 (5195)
+==============================================================
+
+* New library newtokenlib. It will replace the current token lib.
+* Fixed a bug on the normal random generator for double/decimal/binary
+ number systems.
+* Several others bugs fixed.
+
+
+==============================================================
+Luatex beta-0.79.3.1 was released 20150122 (5140)
+==============================================================
+
+* Fixed a bug in mp.w with a wrong input that gives a seg. fault.
+
+
+
+==============================================================
+Luatex beta-0.79.3 was released 20150121 (5130)
+==============================================================
+
+
+* It's now possible with the MinGW compilers to build luatex and luajittex as DLL
+ for Windows 32bit/64bit. The files are:
+ libkpathsea-6.dll luajittex.exe luatex.exe texlua52.dll texluajit.dll
+ In the next release the build.sh script be updated; for the moment just add
+ "--enable-shared -disable-native-texlive-build " after --disable-all-pkgs
+ in TL_MAKE.
+ Building as DLL was tested only for Windows.
+
+* When possibile symbols in the exe are now hidden:
+ this should avoid conflicts with the loading of dynamic shared object.
+
+* several bugfixes and improvements. The patches for MetaPost
+ fix seg. faults occourred with wrong inputs.
+ The functions:
+ mp_get_numeric_value, mp_get_string_value, mp_get_boolean_value
+ works if the value is a variable (i.e. not an internal variable,
+ a loop variable and a macro argument);
+ only mp_get_numeric_value now has support for loop variable
+ and internal variable (but still not for macro arguments).
+
+
+==============================================================
+Luatex beta-0.79.2 was released 20141111 (5082)
+==============================================================
+
+
+* WARNING: the structure of the format file is changed.
+ After the Web2C \TeX's magic constant: "W2TX" there is now
+ a FORMAT_ID, a 32bit field that cannot be between 0 and 256 (included)
+ so that there are no conflicts with the preexisting structure
+ of the format.
+ The value can be seen with --debug-format and currently is
+ 907 (the sum of the values of the bytes of the ASCII string "don knuth").
+
+* There is a new set of lua functions for StructElement and Attribute,
+ convenient (even if not indispensable) for tagged pdf.
+
+
+* several bugfixes and improvements.
+
+
+==============================================================
+Luatex beta-0.79.0 was released 20140328 (4960)
+==============================================================
+
+* The luafontloader now returns 'tsidebearing' glyph values
+ for OT/TT fonts, if applicable.
+
+* new lua variables: stats.luatex_hashtype, stats.luatex_hashchars,
+ stats.lastluaerrorstring; the luajittex string hash method is now
+ lua 5.1 compliant which gives better results for similar strings
+
+* new lua functions: tex.init_rand(), tex.uniform_rand(),
+ tex.normal_rand(), tex.lua_math_randomseed(), tex.lua_math_random(),
+ tex.show_context(); these helpers make luatex and luajittex compatible
+
+* In the lua node interface, there were often issues with rubbish
+ in (especially) 'prev' fields because luatex itself never looks
+ at those values. This is now cleaned up to prevent weird stuff
+ happening inside lua node processing code.
+
+* pdf.pageattributes, pdf.pagesattributes, pdf.info, pdf.catalog,
+ pdf.names and pdf.trailer now behave consistent and can be used
+ to add these properties at the lua end in addition to their \pdf*
+ counterparts atthe tex end; there are now pdf.get* and pdf.set*
+ commands for them too (in future versions the old ways can become
+ obsolete)
+
+* new accessors pdf.geth, pdfgetv, pdfgetpos, getgetmatrix as well
+ as pdfhasmatrix helpers (in future versions the direct pdf.h and
+ pdf.v accessor can become obsolete)
+
+* the pdf.pdf* variables have been removed (they were already
+ obsolete for some years)
+
+* a new properties mechanism for associating lua tables with nodes
+ that get cleaned up when nodes a freed (see manual for details)
+
+* several improvements to the way temporary (backend) data is stored
+ at the lua end (better protection, more consistent)
+
+* a 'l' type for user nodes that holds a lua variable (can be set
+ at the lua end)
+
+* if a late lua node is set at the lua end the string value can be
+ a function as well which is then executed during serialization to
+ the backend stream
+
+* Various small speedups
+
+* Various smallish fixes to the node direct interface
+
+* LPeg is now at version 0.12
+
+* Some small fixes to the CFF (font) parsing
+
+* Font file inclusion reporting messages on the terminal now
+ comply to the texconfig.trace_file_names setting
+
+* Removed some of the additional luafontloader.info() return
+ information that was added in 0.78.2, but could not work
+ properly.
+
+* new primitive \luafunction (see manual), with associated
+ lua.get_functions_table() function
+
+* lua error message reporting has been altered a bit to make
+ the distinction between \directlua and other lua source code
+ sources clearer
+
+* Additional pdf document data functionality in the 'pdf' table
+ has been cleaned up internally
+
+* Additional pdf destination names can now be set via lua.
+
+* New callbacks: finish_pdfpage, show_error_message,
+ show_lua_error_hook, start_file, stop_file
+
+* Handling of \tracinglostchars is fixed
+
+* Embedded metapost library version is now 1.900
+
+* luajittex is now included in the distribution. One can use
+ buildjit.sh to build both luatex and luajittex, where
+ supported by the platform
+
+* Synchronization with the TeXLive sources updated the following
+ libraries:
+ * libpng is now 1.6.10
+ * poppler is now 0.25.2
+
+==============================================================
+Luatex beta-0.78.2 was released 20140113 (4748)
+==============================================================
+
+* Extended luafontloader's info() function to include data
+ from the 'pfminfo' and 'names' structure.
+
+* Fixed a bug in the luafontloader library that made loading
+ some fonts extremely slow (LastResort.ttf)
+
+* Removed a recent extension in the luafontloader library that
+ made loading fonts with lots of glyphs slow (ArialUnicoce.ttf).
+ Note: the extension made sure that there were no duplicate
+ glyph names in the font after loading.
+
+* Restored --recorder output for lua files (dofile/loadfile/io.open)
+
+* One-at-a-time pattern adding from lua used to require enormous
+ amounts of memory
+
+* luatex's fontloader.to_table() no longer reports 'altuni' table
+ information for alternates that are solely driven by the font
+ encoding. This fixes loading time issues for fonts that fill
+ encodings by copying a single glyph many times, like e.g.
+ LastResort.ttf from Apple.
+
+* The datestamp no longer appears in any banners. The associated
+ \luatexdatestamp primitive is deprecated and will be removed
+ in 0.80.0.
+
+* Synchronization with the TeXLive sources updated the following
+ libraries:
+ * cairo is now 1.12.16
+ * pixman is now 0.32.4
+ * lua is now 5.2.3
+ * zlib is now 1.2.8
+ * poppler is now 0.25.0
+
+* That same TL synchronization also fixes these issues:
+ * Always write "\nendstream" to the PDF for PDF/A-1b compliance.
+ * Large file support (>4GB) in Lua
+ * Big images could overflow on systems where sizeof(long)=4.
+ * In writing CID CFF fonts to the PDF, and end_dict() was missing.
+ * Unknown 'post' table versions (found in some broken ttf/otf
+ fonts) are now treated as-if they specified version 3.0.
+ * Fix crashes on 32-bit systems caused by bad C header inclusion
+ order
+ * Handle '--luac' and '--luaconly' properly
+ * luatex is now released under GPLv2+, not just GPLv2.
+ * luatex can now find .ofm metric files even if the extension
+ is not given explicitly.
+
+* node.unset_attribute() was broken in 0.78.0
+
+* The UTF-8 commandline patch from 0.78.0 for Win32 was removed
+ again (did not work properly)
+
+==============================================================
+Luatex beta-0.78.0 was released 20131231
+==============================================================
+
+* Instead of using expanded fonts, just calculate the expanded
+ width of glyphs where needed, and carry expand info in the
+ glyph nodes (all based on Hans' suggestions). All font expansion
+ functions are disabled and most are removed.
+
+* New, faster (but limited) direct node access from lua, see
+ the manual for details
+
+* Support for Apple Advanced Typography (AAT) information in
+ fonts is dropped
+
+* Extended build script for mingw/msys (includes 64-bit support)
+
+* Various patches from/via Akira Kakuta for better Win32
+ integration
+
+* Fixes for some bugs in de pdfscanner library (mostly related
+ to inline images)
+
+* Maximum hyphenated word length is now 64Kb characters.
+
+* Various patches from Khaled Hosny and Luigi Scarso for the
+ luafontloader subsystem
+
+* Fix for a crash when re-dumping formats
+
+* Fix for a Selene unicode library bug where some characters in
+ UTF-8 were incorrectly flagged as having the 'Space' property
+
+* Some smaller fixes
+
+==============================================================
+Luatex beta-0.76.0 was released 20130405
+==============================================================
+
+* Metapost 1.801.
+
+* Small patches from TeXLive 2013, as well as an update to the
+ latest libraries (libpng, poppler, etc.)
+
+* Speed up printing (of TeX strings) to the terminal and log.
+
+* New lua function node.end_of_math().
+
+* Fixed a memory leak in the lua function pdfscanner.scan().
+
+==============================================================
+Luatex beta-0.75.0 was released 20130301
+==============================================================
+
+News:
+
+* New expandable primitive \Uchar.
+
+* Metapost 1.790.
+
+* New version of lnodelib.c with speedups by Hans and Luigi.
+ Also added some extra sanity checks to the Lua node field
+ setting functions.
+
+* Support 'umath' in tex.extraprimitives(), so that formats can
+ make the \Umath* primitives unprefixed, now that they will be
+ provided by XeTeX as well.
+
+* Removed a bunch of deprecated primitives
+ * \AlephVersion, \Alephrevision, \Alephversion, \Alephminorversion
+ * \OmegaVersion, \Omegarevision, \Omegaversion, \Omegaminorversion
+ * \omathcode, \odelcode, \omathchardef, \omathchar, \omathaccent,
+ \odelimiter, \oradical
+ * \Umathbotaccent, \Umathaccents
+
+* Fix large file support.
+
+* Fix Lua's loadfile().
+
+* Removed the cidmap callbacks again (let that be done by user lua
+ code after the fact).
+
+* Removed the fatal error on fonts where num_glyphs is too high,
+ as that problem is actually harmless.
+
+* Some compilation issues under Win32 and Solaris resolved.
+
+* Allow math extender objects to be zero width.
+
+* The 'epdf' library has been extended to deal with finding and
+ saving embedded files (catalog:numEmbeddedFiles() and catalog:
+ embeddedFile, new EmbFile object).
+
+==============================================================
+Luatex beta-0.74.0 was released 20121224
+==============================================================
+
+News:
+
+* lua 5.2
+ There are no patches to the core Lua files; a future version
+ of luatex will switch to loading the regular lua 5.2 dynamic
+ library instead of depending on a statically compiled
+ one.
+
+* A bleeding-edge version of luasocket is included, as there
+ is no 5.2-compatible official release yet.
+
+* A new lua extension is the two-argument version of
+ string.dump from Luajit:
+
+ string.dump(function f, [boolean strip])
+
+* mpost 1.780
+
+* The implied existence of the following lua libraries is now
+ deprecated:
+
+ debug, unicode.*, luazip, lfs, lpeg, zlib, gzip, md5,
+ socket.*, profiler, epdf, fontloader, mplib, and
+ pdfscanner.
+
+ Future versions of luatex will load these modules on demand
+ from dynamic libraries.
+
+ Please update your sources to include a 'require' line for
+ each of the library modules mentioned.
+
+* Two new callbacks: find_cidmap_file and load_cidmap_file
+ (used by the fontloader to discover .cidmaps)
+
+==============================================================
+Luatex beta-0.72.0 was released 20121210
+==============================================================
+
+News:
+
+* update various used libraries, including mplib 1.770,
+ poppler 0.21, libpng 1.5, and lpeg 0.10.2.
+
+* new 'pdfscanner' lua library.
+
+* various OpenType math fixes, including \Umathcharnumdef.
+
+* improved placement of bottom accents.
+
+* various other small fixes that have accumulated over the past
+ year-and-a-half.
+
+==============================================================
+Luatex beta-0.70.1 was released 20110519
+==============================================================
+
+News:
+
+* fixed: recorder file location from TL (Akira).
+
+* fixed: missing newline on 'No output' line.
+
+* fixed: relative names in synctex file.
+
+* fixed: 16bit png images in generated %!PDF-1.4.
+
+* fixed: building with (installed) libpng < 1.5.0
+
+* fixed: year in --version output.
+
+* fixed: box output to synctex.
+
+* fixed: FontDescriptor for non-embedded OpenType fonts has an
+ invalid FontFile3 entry (#654)
+
+* fixed: crash on non-existent images.
+
+* fixed: small memory leak in the ipc code.
+
+* fixed: tex.print() and tex.sprint() don't recognize -2 as the
+ first argument (#659)
+
+==============================================================
+Luatex beta-0.70.0 was released 20110506
+==============================================================
+
+News:
+
+* fixed: various changes needed for libpng 1.5.2.
+
+* fixed: node.fields() for nodes without subtype.
+
+* fixed: non-argument use of os.execute().
+
+* fixed: tex.[s|t|]print() with invalid catcode table arguments.
+
+* fixed: recorder filename location with --output-directory.
+
+* fixed: display alignment in TRT mode.
+
+* luatex now uses the standard synctex files from Jrome Laurens.
+
+
+==============================================================
+Luatex beta-0.66.0 was released 20110412
+==============================================================
+
+News:
+
+* fixed: linebreak_filter doesn't do its default job when
+ tex.linebreak is used
+
+* fixed: \escapechar ignored by \meaning
+
+* fixed: wrong px default
+
+* fixed: font kern attribute inheritance
+
+* fixed: "nop" unrecognized in virtual fonts
+
+* fixed: assertion failure in dviluatex when font ptmr8t used
+
+* fixed: tex.settoks for with strings with embedded zeroes
+
+* fixed: an indexing problem with nonexistent font glyphs
+
+* fixed: some crashes and other bugs on the 'subtype' and 'prev'
+ fields (not all node types have those fields)
+
+* fixed: crash on token.csname_id ("")
+
+* fixed: initialize the statically allocated node's type ids
+
+* fixed: fencepost error in math parameter counting
+
+* fixed: math family numbers > 255 are allowed
+
+* fixed: compilation failure on Hurd
+
+* fixed: a small bug leading to displacements when reading
+ the AccentTop table
+
+* fixed: \directlua followed by \pdfximage generates error if
+ draft mode is active
+
+* fixed: a problem with \vadjust pre in alignments
+
+* fixed: a lua stack growing problem in the backend in 0.65.0,
+ resulting in an inability to create more than a few thousand
+ generated pages
+
+* fixed: inclusion of Scribus-generated pdfs
+
+* adapt: the default form margin is now zero (was 1bp before)
+
+* adapt: libpng 1.4.4, zzuplib 0.13.60, mplib 1.504
+
+* adapt: small changes to the build system and new imports from
+ the texlive repository
+
+* feature: new function node.currentattr() queries the current
+ active attribute list
+
+* feature: Lua font loading; ignore unknown enumeration keys in
+ MathConstants
+
+* feature: JPEG 2000 image support
+
+* feature: continuing work on the 'epdf' library
+
+* doc: the 'epdf' lua library is now documented
+
+* doc: various other manual corrections
+
+
+==============================================================
+Luatex beta-0.65.0 was released 20101213
+==============================================================
+
+News:
+
+* The Aleph and Omega version primitives are deprecated.
+
+* The Apple Snow Leopard Truetype font collections now work
+ properly.
+
+* Libpng has been updated to 1.4.4, and zlib to 1.2.5.
+
+* New lua functions node.next() and node.prev().
+
+* The already deprecated for some time node.protrusion_skipable()
+ function has been removed.
+
+* fontloader.apply_featurefile() and fontloader.apply_afmfile()
+ now return nil,<errortable> on failure.
+
+* The various node list fields in the lua node interface have
+ been renamed from 'list' to 'head', e.g. tex.box[0].head,
+ and the 'list' name is deprecated. For now, the deprecation
+ is silent, as 'list' will stay for quite some time. Please
+ update your lua source as soon as possible, though.
+
+* The call node.type(<node>) now returns "node". The existing
+ functionality is otherwise unchanged.
+
+* Luafilesystem has been updated to 1.5.0. NOTE: there is an
+ incompatible change in the directory iterator method.
+
+* The restriction on linebreak_filter has been eased: at least one
+ horizontal box should be returned, but that is not necessarily
+ the last node any more.
+
+* Backward compatibility has been restored for \meaning\mathchar
+
+* node.first_character() has been renamed to node.first_glyph()
+ to better match its actual functionality.
+
+* The \Umathaccent primitive now supports both/bottom keywords,
+ and \Umathbotaccent / \Umathaccents are now deprecated.
+
+* The \Umathaccent primitive now also supports the fixed keyword,
+ which supports non-growing math accents even if the font says
+ there are extensible variants.
+
+* Ongoing work on the epdf library.
+
+Bugfixes:
+
+* Assignment to \dimen65535 was broken earlier.
+
+* <box>.head.prev is now always initialized to null (0).
+
+* luatex -lua=<script> '\relax' no longer exits immediately,
+ instead going into interactive mode as it should.
+
+* The \jobname was initialized wrongly for input file names
+ with multiple dots in them.
+
+* The synctex file is now written in the right place when
+ --output-directory is given.
+
+* \letterspacefont could cause crashes, especially when combined
+ with font expansion.
+
+* Luatex would crash on linux32 systems if it was build in an
+ environment where LFS (>2GB files) was enabled by default.
+
+* Node lists created by node.copy_list() could not be hyphenated
+ due to an assertion error.
+
+* Synctex support was partially broken since 0.60.0.
+
+* With OpenType math fonts, accents with multiple parts
+ (like the \vec arrow) forgot to include all parts if the
+ accentee was too narrow.
+
+* With OpenType math fonts, accents over any class except 0 and 7
+ were misplaced.
+
+* kpse.lookup("plain", {all = true}) was broken in kpathsea
+ itself (no extension given as well as --all specified).
+
+* A FontForge bug made Cambria Math accents look bad, and the
+ placement of math top accents did not allow a marker at the
+ origin (patches by Stefan Philipp)
+
+* Cut&Paste from PDF was sometimes broken due to bad ToUnicode map.
+
+* Many small manual improvements (thanks to Paul Isambert)
+
+* An other bugfix to lpeg 0.9 (from Roberto Ierusalimsky)
+
+* Some small fixes to writet1.w (from Han The Thanh)
+
+* A build failure because of bad libz configuration on Win32
+
+==============================================================
+Luatex beta-0.64.0 was released 20101112
+==============================================================
+
+News:
+
+* New lua functions pdf.refobj(), pdf.maxobjnum() and pdf.objtype()
+
+* New lua function node.is_node()
+
+* The max_strings configuration variable's maximum value is
+ raised to be identical to texlive's maximum (2097151), and
+ same for param_size (32767).
+
+* The embedded mplib is now 1.503.
+
+* Minor cleanups in the output of fontloader.to_table():
+
+ - removed out-of-range altuni's from the output
+ - don't dump the extra encodings, just the actual font encoding
+ - export the encoding's name also as 'enc_name' at one level up
+ - no longer exporting unset macstyles, nor zero uniqueids
+ - fix creationtime and modification time
+
+* Ongoing work on the epdf library
+
+Bugfixes:
+
+* Fix a bug where an explicit hyphen prevented hyphenation for the
+ whole rest of the paragraph
+
+* Internal font copying forgot to copy the last font dimen
+
+* os.selfdir() is now documented
+
+* patch quad (\fontdimen6) in \letterspacefont to be compatible
+ with pdftex
+
+* Multi-page pdf inclusion was very slow in 0.63.0
+
+* Some extra checks added to the handling of glue_spec node
+ objects in lua code.
+
+* Some node.prev pointers have been corrected (but this is not
+ quite finished).
+
+* A small fix to lpeg 0.9.
+
+
+==============================================================
+Luatex beta-0.63.0 was released 20100909
+==============================================================
+
+News:
+
+* Drop tex.ht[], tex.wd[], tex.dp[].
+
+* Drop OCP support (and associated primitives).
+
+* Add tex.catcode[], tex.lccode[], tex.sfcode[], tex.uccode[],
+ tex.mathcode[] and tex.delcode[] and associated functions.
+
+* Add CIDset tables to the output pdf where appropriate.
+
+* Added a 'string' field to late_lua nodes on the lua side. This
+ field does not convert the assigned string to a tokenlist.
+
+* The result of fontloader.open() now has some virtual accessors
+ (as well as fontloader.to_table).
+
+* There is now a `short reference' in the manual folder
+ (functionref.pdf)
+
+Bugfixes:
+
+* Fix a crash on an empty font (bugreport #468).
+
+* Fix a crash for extremely long pattern arguments.
+
+* Fix a crash on bad virtual character arguments in lua.
+
+* Fix hyphenation exceptions.
+
+* Prevent linebreak between initial local_par paragraph whatsit
+ and a following skip (bugreport #437).
+
+* Fix placement of scripts on textstyle big operators in MATH
+ fonts (bugreport #466).
+
+* Fix a crash on the return value of MPlib's 'postscript'
+ operation on images.
+
+* Fix a crash on \leftghost & \rightghost in math mode.
+
+==============================================================
+Luatex beta-0.62.0 was released 20100823
+==============================================================
+
+News:
+
+* LuaTeX now uses libpoppler (0.12.4) instead of xpdf.
+
+* All backend functions now report what file they were searching
+ for whenever a file cannot be found.
+
+* Input-ed lua files are now mentioned in the fls file if
+ the --recorder switch is specified on the command line.
+
+* Paragraph indentation hlist nodes and hlist and vlist nodes
+ generated by alignment rows and cells now have a subtype
+ (3 for indent box, 4 for rows/columns, 5 for cells).
+
+* The 'epdf' lib is in active development and still growing.
+
+* The 'fontforge' table is finally removed (was deprecated
+ since 0.40).
+
+Bugfixes:
+
+* A new mplib import fixes two bad bugs in mplib:
+ - string equality test was wrong
+ - type declarations could delete pre-existing variables
+
+* PNG images with transparency could create random size
+ differences in the generated PDF.
+
+* In some special cases, font expansion could cause wrong
+ spacing in the generated PDF.
+
+* \letterspacefont was broken since a very long time.
+
+* The node subtype of the \leftskip and \rightskip glues was
+ wrong.
+
+* Some memory leaks have been removed.
+
+* Various manual fixes.
+
+==============================================================
+Luatex beta-0.61.0 was released 20100728
+==============================================================
+
+New features:
+
+* New lua library 'epdf' for introspection of PDF inclusions,
+ see the manual for details.
+
+* Mplib version 1.502 is now included (which is still beta,
+ so be careful).
+
+* new "finish_pdffile" and "pre_dump" callbacks.
+
+* new function pdf.pageref()
+
+* In the lua 'tex' library: assignment to internal glue
+ parameters is now allowed.
+
+* New lua function tex.error().
+
+Bugfixes:
+
+* Fix for crashes on fonts with bad Panose values.
+
+* Fix for a box placement bug that could sometimes cause text
+ to overlap.
+
+* Fix for a few small PDF/A1-a compatibility bugs.
+
+* Fix \letterspacefont.
+
+* Fix \Ustopdisplaymath in combination with aligned displays.
+
+* In math delimiters, the last of a chain of predefined sizes
+ was always ignored if there were also extensible parts.
+
+==============================================================
+Luatex beta-0.60.2 was released 20100701
+==============================================================
+
+Bugfixes:
+
+* Various small portability fixes, especially for non-gcc
+ compilers.
+
+* Updated synctex from Jerome Laurens.
+
+* fix bug #406: \pdfliteral hinders hyphenation.
+
+* fix pdf overprinting bug (related to \pdfliteral).
+
+* patch from Akira Kakuto that ensures that only absolute commands
+that are inside the %PATH% will be executed in win32's restricted
+\write18
+
+* fix a buffer overflow in luafontloader.
+
+* fix cross-platform share-ability of generated formats.
+
+* fix a few typos in the manual.
+
+* fix trashing of the null glue spec by attribute reference code.
+
+* documented the deprecated state and brokenness of otp processing.
+
+
+==============================================================
+Luatex beta-0.60.1 was released 20100428
+==============================================================
+
+New features:
+
+* renamed node.skipable() to node.skippable().
+
+* More git discovery patches in getluatexsvnversion.sh.
+
+* Added --warnings=[no|min|yes|max|all] option to build.sh.
+
+* While cross-compiling, build.sh now adds an extra linker switch
+ to allow win32 exes to use 3G instead of 2G of virtual memory.
+
+Bugfixes:
+
+* os.exec() & os.spawn() handled the environment differently from
+ os.execute() on Win32 (patch from Tomek)
+
+* Builds with --enable-ipc were broken.
+
+* Assigning and acquiring \fontdimen s from TeX code was broken.
+
+* An initial attempt at fixing bug #372 (\predisplaydirection).
+
+* An attempt to fix \eqno/\leqno placements in mixed direction
+ \mathdir/\textdir.
+
+* Our local xpdf patch is reverted, it is not needed any more.
+
+* The os.selfdir variable was not documented, as well as broken
+ on WIN32.
+
+* Fix "\input tikz hello \bye" bug, plus fix one sign error.
+
+* Fix handling of lua script files with UNC names.
+
+==============================================================
+Luatex beta-0.60.0 was released 20100404
+==============================================================
+
+New features:
+
+* os.name now knows about CYGWIN (from Elie Roux)
+
+* Internal handling of direction specifiers is faster now.
+
+* Each glyph node now has three new virtual read-only fields:
+ width, height, and depth (values in scaled points, of course)
+
+* There are new functions node.protrusion_skipable() and
+ tex.badness() (useful for paragraph breaking in lua)
+
+* Also new: tex.linebreak(). See the manual for details.
+
+* All lua errors now report file and line numbers to aid in
+ debugging.
+
+* Import of metapost 1.211.
+
+* pdf.pdfcatalog will be replaced soon by the new pdf.catalog
+ pdf.pdfinfo will be replaced soon by the new pdf.info
+ pdf.pdfnames will be replaced soon by the new pdf.names
+ pdf.pdftrailer will be replaced soon by the new pdf.trailer
+
+* pdf.pdfmapfile and pdf.pdfmapline are replaced by the new
+ pdf.mapfile() and pdf.mapline() functions. (a function interface
+ fits these parameters better because they never return anything).
+
+* New read-write lua variables: pdf.pageattributes, pdf.pageresources,
+ pdf.pagesresources
+
+* getluatexsvnversion.sh now correctly detects git-svn and still
+ manages to find a valid SVN revision number (from Patrick Gundlach)
+
+* Many of the source files have been converted to CWEB.
+
+Bug fixes:
+
+* GNU libtool is now used to solve the various technical issues with
+ dynamic loading of lua modules.
+
+* Error detection in scan_integer_part was wrong due to missing
+ initialization of OK_so_far (spotted by Javier Mugica)
+
+* Synctex was broken in 0.51-0.52.
+
+* \lastlinefit was broken since ... well, nearly forever.
+
+* Reading of binary files with length zero was broken.
+
+* Trapping of unitialized rules (this was for sloppily created
+ rule nodes from lua)
+
+* pdf.immediateobj('streamfile') was broken on 64-bit platforms.
+
+* tex.linebreak did not take the given left and right skip, but
+ instead used the current TeX-side values (bug #356).
+
+* the found 'MAKE' command in build.sh is now fed into configure to fix
+ problems with that not finding GNU make even when it is actually
+ installed.
+
+* dofile(<nil>) and loadfile(<nil>) in batch mode now give an
+ error and continue instead of pointlessly waiting for user input.
+
+* Reverted commit #3417 (the buildpage experiment) as it causes bad
+ things to happen when items are waiting during page breaks.
+
+* Overrule loaders[4] in --safer mode, make require() behave
+ closer to normal lua 5.1, and add some nicer error messages
+ (based on an email and patches from Manuel Pegourie-Gonnard)
+
+* Added an extra sanity check for GDEF loading in luafontloader,
+ based on a crash caused by Linux' AkaashNormal.ttf.
+
+
+==============================================================
+Luatex beta-0.52.0 was released 20100316
+==============================================================
+
+New features:
+
+* Various small manual improvements.
+
+* A better version of getluatexsvnversion.sh, from Tomek.
+
+* node.copy_list() now allows the second (optional) argument to
+ be nil.
+
+* An import of the current state of the texlive repository
+ (kpathsea and build system).
+
+Bug fixes:
+
+* An attempt fix for bug #345 (math kerning is not perfect): when the
+ current math font is a new math font, check against \catcode <cur_c>
+ == 11 to suppress the italic correction, instead of looking at
+ the value of space(<cur_f>).
+
+* There is a new <tfmtable> key: 'units_per_em' (defaults to 0).
+ This is part of a fix for bug #200 (Problem with CFF fonts having
+ em-size other than 1000): there is a special correction to the
+ embedded cff font itself and the font scale if the font to be output
+ is opentype or type1 in unicode encoding and the 'units_per_em
+ differs' from zero.
+ <tfmtable>.units_per_em has to be passed back to luatex from
+ the lua font loading code for this to work.
+
+* A fix for bug #314 (problem with pk file).
+
+* lua code can no longer change the internal preallocated glue_spec
+ nodes (as that resulted in weird spacing bugs). For this, glue_specs
+ now have a new field: 'writable'. If that field is false, a copy
+ has to be made of the glue_spec instead of doing an assignment
+ to it.
+
+* Setting of \textdir inside the output routine could trash output
+ on following pages due to a lingering internal variable.
+
+* \pdfthread crashed because the arguments were handled in reverse
+ order.
+
+==============================================================
+Luatex beta-0.51.0 was released 20100312
+==============================================================
+
+New features:
+
+* Various small manual improvements.
+* The backend message "cannot open Type 1 font file for reading"
+ now reports which Type1 font it was looking for.
+* Fontforge clears some font names at loading time that will be
+ refilled in at font generation time, but the fontloader should not
+ do that. Patch from Khaled Hosny.
+* New synctex code imported from TeXLive.
+* luamd5/md5.h is renamed to luamd5/luamd5.h to avoid confusion.
+* Embedded mplib is now 1.209.
+* Some experimental tweaking of buildpage_filter, see the manual
+ for details.
+* Luatex now detects kfreebsd (from Alan Braslau)
+* The new lua function tex.sp() converts a string to a number
+ representing scaled points.
+* There is now support for revision numbers in the banner and stats
+ library again.
+* The command line help and manual documentation page is extended.
+* node.hpack() now also accepts "cal_expand_ratio" and "subst_ex_font"
+ modifiers.
+* node.hpack() and node.vpack() now give back the badness of the box
+ as second return value.
+* node.copy_list() now allows a second (stop) argument, this stopper
+ is not copied.
+* new lua functions in lfs: lfs.readlink() and lfs.shortname().
+* new lua function tex.tprint() that can combine multiple catcode
+ regime prints in one function call.
+* new lua sub-table: tex.nest[] (read/write access to the semantic
+ nest state).
+* New lua functions in kpse: kpse.lookup() and kpse.version(). See
+ the manual for more details.
+* New lua function tex.shipout().
+
+Bug fixes:
+
+* There problems in the pdf output for Type3 (pk) fonts.
+* Fix a bug that allowed bad commandline quoting.
+* Fix a bug that sometimes caused crashes when \pdfprotrudechars.
+* The build script now exports CONFIG_SHELL to avoid problems with
+ /bin/dash.
+* The was a bug in the generated /Image /ProcSet.
+* status.font_bytes reported the wrong value.
+* Lots of compiler warnings are removed (thanks Javier Mugica).
+* Patch to fontloader.info() to accept filenames with embedded
+ parentheses.
+* Fix a \write error with docstrip package.
+* Fixed a crash on AdobeMyungjoStd-Medium.otf.
+* Fix coco stack overflows, needed for lpeg.
+* \pdfcompresslevel wasn't initialized for early immediate objects.
+* Fix for slanted fonts when HZ was on (slant angle was multiplied).
+* When concatenating content streams, put a space between them.
+* Allow pfb lines to end with \r as well as \n (for msam10.pfb).
+* Fix the internal string->scaled point conversion in the lua
+ interface.
+* Memory leaks in the fontloader removed, thanks to patches from
+ Elie Roux.
+* Fix a crash caused by the combination of coroutines and font.each().
+
+Removed features:
+
+* Support for Type3 .pgc files (nobody used them).
+
+==============================================================
+Luatex beta-0.50.0 was released 20091224
+==============================================================
+
+New features:
+
+* Fonts now listen also to the 'extend' key in the lua font
+ metrics table, and the processing for this is done via de
+ pdf text matrix instead of via the font matrix, which means
+ it now works for all font types.
+
+* The embedded Metapost library is now at version 1.209.
+
+Dropped features:
+
+* It is no longer possible for fonts from embedded pdf files
+ to be replaced by / merged with the document fonts of the
+ enveloping pdf. This regression may be temporary, depending
+ on how the rewritten font backend will look after beta 0.60.
+
+Bug fixes:
+
+* Use of \middle confused the \mathstyle operation.
+
+* \pdfcolorstack handling was broken.
+
+* node.unset_attribute() had a bug whereby it inverted the
+ requested result in some cases (the node on which the unset
+ was called was sometimes the only node at the current level
+ that *kept* the attribute).
+
+* During font expansion, the internal font copy had one character
+ information object less than the original, resulting in the
+ disappearance of a glyph in some fonts when font expansion
+ was active.
+
+* Placement of operator scripts of OT MATH fonts is adjusted
+ to be conformant with Word's logic where the italic correction
+ is only used to tuck in the subscript and for nothing else.
+
+* luafontloader.open() no longer writes directly to stderr in
+ case of internal font errors.
+
+* Any <pdf_refobj_node>.objnum could not be assigned to.
+
+* The lua 'pdf' table could not be assigned to.
+
+* The lua 'md5' library was returning incorrect results on
+ 64-bit architectures.
+
+* Luatex now compiles on GNU Hurd systems.
+
+* Fix segfault when embedding stream file object (these
+ backend segfaults were a side-effect of the string pool
+ patches).
+
+==============================================================
+Luatex beta-0.47.0 was released 20091218
+==============================================================
+
+New features:
+
+* New read-write lua variables pdf.pdfcatalog, pdf.pdfnames,
+ pdf.pdfinfo, pdf.pdftrailer
+
+* The horizontal mode nodes that are added to lines during line
+ breaking now inherit the attributes from the first and last node
+ inside the created line.
+
+* The new function pdf.registerannot(<number>) registers an
+ annotation object number to be included in the current
+ page's /Annots list.
+
+* The variables <metrics>.Mathconstants.FractionDelimiterSize
+ and <metrics>.Mathconstants.FractionDelimiterDisplayStyleSize
+ are added to the font table. This allows proper setting of the
+ size parameters for TeX's ...withdelims math primitives.
+
+* The internal representation of the string pool is reorganized
+ (the pool of string characters is now allocated dynamically),
+ and as a side-effect the lua variable status.init_pool_ptr
+ is deprecated and will be removed in a later version. Also,
+ status.pool_ptr now simply returns the current number of bytes
+ in use for string characters.
+
+* There are new lua variables pdf.pdfmapline and pdf.pdfmapfile
+ (write-only strings that mimic \pdfmapline and \pdfmapfile).
+
+* \pdfobj data and attribute are now stored as C strings instead
+ of as token lists (this should speed up cases with a lot of data).
+
+* Artificially slanted fonts now work via the pdf text matrix
+ (instead of adjusting the actual font) so that it now also
+ works for non-Type1 fonts. The lua <metrics>.slant font key is
+ now obeyed in all cases.
+
+* The lua function font.id(<string>) returns the internal font id
+ number belonging to a control sequence name.
+
+* Pdf image inclusion is optimized such that objects from an
+ external pdf will now be included only once even if they are
+ referenced from multiple inclusions.
+
+Bug fixes:
+
+* Protrusion for non-TLT documents did not work properly for
+ the hyphenation character.
+
+* \lastbox could not remove the paragraph indent box for non-TLT
+ documents.
+
+* Pdf images (\pdfximage) are no longer kept open during the
+ whole run, but closed and reopened. An error is raised if
+ the file has changed between \pdfximage and \pdfrefximage.
+ This prevents the 'too many open files' error when lots of
+ images are included.
+
+* On Win32 Pdf image files are locked during the time that it is
+ open, to prevent unnoticed file changes by external sources.
+
+* Compilation now again works on FreeBSD.
+
+* Format sharing between 32-bit and 64-bit architectures was
+ broken.
+
+* Unsetting attributes from lua could sometimes result in
+ the unset state persisting beyond the current group level.
+
+* If something went wrong in the scanning of pdf action items,
+ the error message reported the current primitive name
+ incorrectly.
+
+* Luatex would crash on non-existant pdfs that were referenced
+ from map file entries.
+
+==============================================================
+Luatex beta-0.46.0 was released 20091126
+==============================================================
+
+New features:
+
+* The build.sh script now has better support for new MacOSX-es
+ (patch from Mojca).
+
+* Luatex now has experimental support for dynamic loading of
+ external compiled lua libraries. Building luatex and loading
+ external .so/.dll files is reported to work on Windows,
+ linux and osx, other platforms are still unknown.
+
+* pdf.obj{type="stream"} no longer converts its argument to and
+ from a tokenlist. This allows the use of binary data in the
+ "string" argument. Such data does still have to hidden from
+ the normal file parser by putting the code in a dofile()
+ or by using string.char(), though.
+
+Bug fixes:
+
+* Luatex 0.45.0 was not able to find truetype nor opentype fonts
+ if there were no callbacks defined (patch from Pawel).
+
+* 0.45.0 printed the user input instead of the full pathname
+ for \input-ed tex files.
+
+* The TFM reader now rejects fonts with tfm names that are
+ longer than 255 characters because such font names cannot
+ be stored in a DVI file.
+
+* The combination of \immediate\pdfxform followed by a later
+ \pdfrefxform could cause broken pdf output files because
+ the box used for the form could have been freed and even
+ reused already at that moment in time, sometimes resulting
+ in an invalid transformation matrix.
+
+* The placement of super- and subscripts for displaystyle
+ \int's in CambriaMath is now better than before. It still
+ needs a tweak to the metrics though: in the current version,
+ the italic correction has to be substracted from the width
+ of the integral sign to get correct placement (context mkiv
+ does this). to be continued ...
+
+==============================================================
+Luatex beta-0.45.0 was released 20091118
+==============================================================
+
+New features:
+
+* Loading big OTF fonts via lua is now much faster than before,
+ at the expense of a bit of precision loss in the calculated
+ bounding boxes.
+
+* Two new token lists are provided: \pdfxformresources and
+ \pdfxformattr, as an alternative to \pdfxform keywords.
+
+* \input and \openin now accept braced filenames.
+
+* The \endlinechar can now be set to any value between 0 and 127.
+
+* Luatex can now optionally use kpathsea to find lua require()
+ files.
+
+* The new primitives \aligntab and \alignmark are aliases for
+ the use of & and # in alignments.
+
+* \pdfrefximage [width <dimen>] [height <dimen>] [depth <dimen>] <imageref>
+ overrules settings from \pdfximage for this \pdfrefximage call only
+
+* The print precision for small numbers in lua code (tostring)
+ has been improved.
+
+* Akira Kakuto suppled a patch that restricts writing to files
+ with names such as latex.bat etc. (on windows only)
+
+* (un-feature): from now on luatex now only handles 4 direction
+ specifiers: TLT (latin), TRT (arabic), RTT (cjk), and LTL
+ (mongolian). The other directions now generate an error.
+
+* (un-feature): xpdf's automatic lower- and uppercasing retry attempts
+ for nonfound image pdf files has been removed.
+
+* The callbacks hpack_filter, vpack_filter and pre_output_filter
+ pass on an extra string argument for the direction, when known
+ (nil == use default).
+
+* The lua functions node.hpack(), node.vpack() and node.dimensions()
+ now accept an optional direction argument (not given == use default).
+
+* \pdfrefxform [width <dimen>] [height <dimen>] [depth <dimen>] <formref>
+ scales a form object; similar principle as with \pdfximage: depth alone
+ doesn't scale, it shifts vertically.
+
+* A change to the relative ordering inside font name discovery for use
+ by the backend: now it tries <f>.psname first, as that is much less
+ likely to contain spaces.
+
+* For ttc fonts, now the used subfont name and its index id are printed
+ to the terminal, and if the backend cannot find a ttc subfont, the
+ run is aborted.
+
+Bug fixes:
+
+* Prevent crashes for lua-loaded fonts without a (tfm) name.
+
+* Remove spurious newlines in the output pdf that could be the
+ result of using \pdfximage for an included pdf figure too early.
+
+* Full font embedding for wide otf and ttf fonts now really
+ works (older versions only pretended that it did work).
+
+* node.dimensions() sometimes continued past the 'stop' node.
+
+* Images inside virtual fonts were broken.
+
+* The processing of \language=-1 was wrong, resulting in
+ hyphenation attempts even though there was no proper language
+ set up.
+
+* Fix for finding files in --output-directory.
+
+* Fix for handling of --file-line-error.
+
+* tex.box[] assingments are now checked to make sure the assigned
+ node has the right id (hlist or vlist).
+
+* show_node_list (as in \showbox) produced spurious local_par
+ whatsit prints in the output after direction nodes.
+
+* The handling of pdf literals has been sped up.
+
+==============================================================
+Luatex beta-0.44.0 was released 20091027
+==============================================================
+
+New features:
+
+* libpng is now 1.2.40.
+
+* hlist nodes now have a subtype to distinguish hlists generated
+ by the paragraph breaking, explicit \hbox commands, and other
+ (as-yet-undefined) sources.
+
+* \pdfobj now has an extra optional keyword: 'uncompressed',
+ which forces the object to be written to the PDF in plain
+ text (see the manual for the exact details).
+
+* The lua file from the luamd5 library (which provides the
+ md5.hexsuma() function) is now embedded in the executable.
+
+Bug fixes:
+
+* \latelua now works in DVI mode again.
+
+* status.output_file_name could crash when used too soon.
+
+* In 0.43, rules were not output at all in DVI mode.
+
+* \leavevmode\penalty-10000\penalty-10000 crashed luatex.
+
+* the API of margin kern nodes to lua was using the wrong
+ fields in the nodes.
+
+* A few fixes to the manual.
+
+* PDF Xref stream dicts were slightly non-conformant.
+
+* There was too much space between two consecutive math displays
+ (this bug was inherited from Aleph)
+
+* Synctex was broken (thanks, Akira)
+
+* Font mark classes were handled incorrectly by the fontloader
+ code.
+
+* There was a crash possible with certain types of named PDF
+ destinations.
+
+* Math delimiters and large operators in new MATH fonts no
+ longer apply the italic correction (this fixes placements
+ of super- and subscripts on such items for those fonts).
+
+* The converter from lua strings to token lists (for the node
+ interface) sometimes generated invalid tokens.
+
+* CFF (OpenType) fonts now listen to 'embedding="full"'. TTF
+ is still todo.
+
+* Font tables with 'embedding="no"' would cause luatex to crash.
+
+* \pdfobj file {} failed to find the file if there was no lua
+ callback in place.
+
+* An optimization in MS Mincho caused luatex to crash.
+
+==============================================================
+Luatex beta-0.43.0 was released 20090819
+==============================================================
+
+New features:
+
+* There is a new allowed key in the table trhat is returned
+ by lua-loaded fonts: <f>.psname. This value should be set
+ to the original PostScript font name of the font. Fonts inside
+ dfont and ttc collections are fetched using this field
+ (if it is missing, <f>.fullname will be used instead).
+
+* It is now possible to use Apple dfont font files
+ (those that contain at least one outline font).
+
+* \latelua is now allowed inside leaders.
+
+* There is a new callback: process_output_buffer, from Manuel
+ Pgouri-Gonnard. This callback is called just before
+ \write acts, so it can be used to alter the file encoding
+ of text output files.
+
+* There is a new node.dimensions() function, which calculates
+ the natural size of (part of) a list of nodes.
+
+* The new primitive \gleaders provides 'globally aligned'
+ leaders.
+
+* The DVI and PDF backends now share much code internally.
+
+* The embedded MPlib is now 1.207.
+
+* libpng is now 1.2.39.
+
+Bugfixes:
+
+* We fixed lots of anonymous bugs introduced in 0.42.0 (as expected)
+
+* fontloader.info() errors are no longer fatal, the function now
+ just returns a nil,"error string" pair.
+
+* Automatically inserted kerns for \accents are now once again
+ valid word ends, as in \TEX.
+
+* Fixed the placement of math displays in mixed direction
+ settings.
+
+* The \pdfcompresslevel is now dynamic again.
+
+==============================================================
+Luatex beta-0.42.0 was released 20090717
+==============================================================
+
+* There is a new node.tail() function
+
+* lua-loaded fonts now support a 'nomath' key to speed up
+ loading the lua table.
+
+* A bugfix in the ttf reader for the inclusion backend, and
+ (also in the backend) support for treating ttc files by
+ pretending they are single ttf fonts (both patches from pdftex)
+
+* Add Khaled Hosny's man page to the repository
+
+* The \pdfcompresslevel is now effectively fixed as soon as
+ output to the pdf file has occurred.
+
+* Patched status.filename so that it (nearly) always returns a
+ file name.
+
+* fix '\the\delcode' and disable '\the\odelcode', '\the\Udelcode',
+ and '\the\Udelcodenum'
+
+* Handle jfifs where either xres or yres is 0 and the other
+ res is != 0 (from pdftex)
+
+* The single-argument version of lang.hyphenate() was broken.
+
+* Get rid of the \directlua/\latelua number warning.
+
+* The Lua coroutine patch (coco) is now disabled on linux
+ powerpc architectures (because it caused crashes)
+
+* Removed obsolete pdftex primitives:
+ \pdfoptionalwaysusepdfpagebox
+ \pdfoptionpdfinclusionerrorlevel
+ \pdfforcepagebox
+ \pdfmovechars
+
+* The loading speed of large fonts (especially ttf) via the
+ fontloader library, and the inclusion speed for subsetting
+ in the backend have both been improved.
+
+* The 'pdf' lua library has been enhanced with various new
+ functions, see the manual for details.
+
+* BLT and BRT glyph position fixed.
+
+* Various fixes for synctex offsets.
+
+* Support for exotic font string encodings has been removed
+ from the fontloader library.
+
+* The embedded MPlib is now 1.205.
+
+* libpng is now 1.2.38.
+
+==============================================================
+Luatex beta-0.40.6 was released 20090625
+==============================================================
+
+* Fix two string vs. toks bugs in the lua node interface:
+ whatsit,annot and whatsit,startlink data assignments were
+ made directly as strings instead of being converted to tokens.
+
+* Sometimes pdf.print() could be used before the proper structures
+ were initialized.
+
+* There was a bug in the type codes for the lua package filter
+ callback: wrong extra info was passed to lua for the alignment
+ and vsplit cases.
+
+* The math parameters \Umathlimitdownvgap, \Umathlimitdownbgap,
+ and \Umathlimitdownkern have been renamed to \Umathlimitbelowbgap,
+ \Umathlimitbelowvgap, and \Umathlimitbelowkern to be more
+ consistent with the other parameter names.
+
+* The embedded MPlib is now 1.204.
+
+* Handling of UTF-8 hyphenation exceptions has been fixed.
+
+* There were a number of typos in the manual.
+
+==============================================================
+Luatex beta-0.40.5 was released 20090610
+==============================================================
+
+* One of the internal print functions accidentally encoded its
+ argument string to UTF-8 even though it was already UTF-8.
+
+* Some of the log and terminal UTF-8 output was gibberish.
+
+==============================================================
+Luatex beta-0.40.4 was released 20090609
+==============================================================
+
+* \the\textfont0 returned a number instead of doing a font
+ switch.
+
+* The embedded MPlib is now 1.203.
+
+==============================================================
+Luatex beta-0.40.3 was released 20090608
+==============================================================
+
+* A set of portability fixes for the AIX compiler from Vladimir
+ Volovich.
+
+* A set of fixes to the synctex support.
+
+* A patch to the build script to prevent installed X11 headers
+ from being required.
+
+* Some weave (web syntax) fixes from Manuel Pgouri-Gonnard.
+
+* A simplification in luatex.ch (it is now less verbose
+ about the web2c-specific extensions) from Karl Berry.
+
+* A fix in the handling of UTF-8 (input) file names.
+
+* Hyphenation exceptions were case sensitive in 0.40.2.
+
+* libpng is now 1.2.37.
+
+==============================================================
+Luatex beta-0.40.2 was released 20090603
+==============================================================
+
+* Fix for a compilation warning under Cygwin.
+
+* A complicated bugfix by Hartmut for a rounding problem in the
+ VF loading that resulted in 'character width mismatch in font
+ XY.vf ignored' messages at large load sizes
+
+* The embedded MPlib is now 1.202.
+
+* The post_page_number callback was accidentally run when
+ shipping out xforms as well as during actual pages.
+
+* When a math accent char doesn't have a bot_accent placer,
+ luatex now uses the top_accent placer, if present.
+
+* A crash caused by \Uroot .. {<list>}{...} is fixed
+
+* A portability fix for solaris 8 sparc using sun studio
+ compiler, and one for glibc > 2.9.90
+
+* luatex -ini now sets the \catcode of the BOM character to
+ ignore
+
+* Kpathsea is updated from TeXLive, giving four extra types of
+ searchable files: 'font feature files','cid maps','mlbib',
+ and 'mlbst'.
+
+* libpng is now 1.2.36
+
+==============================================================
+Luatex beta-0.40.1 was released 20090508
+==============================================================
+
+* Vertical placement of root radicals and degrees is fixed.
+
+* The use of \pageleftoffset could deviate from \hoffset
+ if \mag != 1000.
+
+* LuaTeX now issues a warning if \pagedir !- \bodydir during
+ shipout.
+
+* The previous crash in font.read_tfm() was still not quite
+ correct.
+
+* The Web2C version is now also printed in the --version
+ and --credits output.
+
+
+* There is a new MPlib 1.200 release candidate with a few minor
+ fixes included.
+
+* The xpdf library is updated to patch level 3.
+
+* New imports to the build system, from texlive. In particular,
+ there is now configure-level support for building with
+ libpoppler and support for building under cygwin 1.7 is added.
+
+==============================================================
+Luatex beta-0.40.0 was released 20090422
+==============================================================
+
+* The embedded MPlib is updated to version 1.200.
+
+* Texlua would crash if run font.read_tfm() was used.
+
+* Luatex would crash on empty \patterns.
+
+* Lots of small C code cleanups.
+
+* \textdir inside a \hbox dir *** was wrong earlier.
+
+* 0.39.0 introduced a bug that would make luatex crash whenever
+ font expansion was used.
+
+* Font tables returned by define_font can now have a key named
+ 'cache' that controls the internal lua font table caching.
+
+* There is no longer a need for an explicit --progname if there
+ is no input file given.
+
+==============================================================
+Luatex beta-0.39.0 was released 20090415
+==============================================================
+
+* iniluatex will from now on start up with only the TeX82 primitives
+ and \directlua, everything else has to be bootstrapped via
+ tex.enableprimitives(). This change was planned for 0.40.0,
+ but *now* is the time to test it.
+
+* A bugfix for \primitive in various expandable contexts,
+ and \primitive now generates an error message when the
+ argument is not actually a primitive's name.
+
+* There was a bug found in the math accent handling.
+
+* Large math operators are now treated like extensible characters
+ in the sense that they can be composed of segments.
+
+* The extra assign- and restore tracing information from eTeX
+ had a massive bug because of a dangling else in the pascal web.
+ As a side-effect of fixing this bugs, all such potential errors
+ in the pascal web have been fixed (for now).
+
+* The math parameters can now be set and queried from lua code
+ via the new tex.setmath() and tex.getmath() functions.
+
+* Reflection in a \hbox was broken.
+
+* There was a leak of direction nodes in the paragraph builder.
+
+* The font backend now does a small peek to differentiate
+ truetype and postscript style opentype fonts. This fixes
+ the "Can't find CFF table" bug for otf's with truetype outlines.
+
+* Parameters and registers can now also be assinged to globally
+ from lua (see the manual for details).
+
+* It is now possible to query the current math style while a
+ formula is still being constructed by using the new read-only
+ value \mathstyle. Associated is the new command \Ustack that
+ is to be used as a prefix for {.. \over ..} and friends.
+ See the manual for more information.
+
+* The embedded MPLib is brought up to date with the current
+ metapost repository (version 1.110 and a few small patches).
+
+* Luatex can now handle two breakpoints inside a single ligature
+ (like for the functional word of-f-ice). The solution is not
+ perfect yet, but the chance of missed hyphenation points in
+ actual documents should now be negligible.
+
+* Some speedups in the font loading code, and in the handling of
+ pdf_literal nodes that are set from within Lua code.
+
+* Some source code and manual cleanup, as usual.
+
+==============================================================
+Luatex beta-0.38.0 was released 20090410
+==============================================================
+
+* tex.enableprimitives() had a bug were previously defined (but
+ currently undefined) control sequences prevented the creation
+ of the new csname.
+
+* The special calling format callback.register('name', false)
+ not only disables the callback, but also the builtin code it
+ is supposed to replace.
+
+* Empty \localleftbox and \localrightbox -es are now suppressed.
+
+* Support for <f>.MathConstants.SubscriptShiftDownWithSuperscript
+ was added, to solve the lack of "sub2" in OpenType math.
+
+* Luatex now supports horizontal super- and subscript placement
+ corrections via the OpenType MATH mathkern table. See the
+ manual for details.
+
+* node.write() no longer copies its argument node list before
+ appending it.
+
+* There are six new primitives that are verbose forms
+ of one and two byte special tokens:
+ \Usuperscript \Usubscript
+ \Ustartmath \Ustopmath
+ \Ustartdisplaymath \Ustopdisplaymath
+
+* The attribute node leaks in math mode and alignmetns have been
+ fixed.
+
+* The 11 simple math noads are now combined into a single "noad"
+ node type.
+
+* Static linking against libstdc++ is working once again.
+
+* There is a small fix in the keyword scanner to solve the
+ problem of 'Runaway ... while scanning ???' that could happen
+ for some primitives.
+
+* Lua now also has the "architecture independent bytecode"
+ patch applied.
+
+* Lua is updated to version 5.1.4 with coco patches 1.1.5, and
+ lpeg is now 0.9.
+
+* Some TRT/TLT backend bugs are fixed.
+
+* Various manual updates.
+
+==============================================================
+Luatex beta-0.37.0 was released 20090331
+==============================================================
+
+* Luatex now implements shell_escape = 'p', a new feature
+ in web2c that intends to make \write18 more secure. As
+ a side-effect, if luatex is used for typesetting, it will
+ now also apply shell_escape = 'p' and shell_escape = 'f'
+ to the lua functions io.popen(), os.execute(), os.exec(),
+ and os.spawn().
+ Nothing has changed for the case where luatex is used as
+ a script interpreter.
+
+* Attributes can now have negative values. The special value
+ for 'unset' is lowered to -0x7FFFFFFF (it used to be -1).
+
+* The lua 'kpse' library now has an object-oriented interface
+ as companion to the procedural interface. This is useful for
+ e.g. controlling the discovery of mplib files.
+
+* The new internal integer parameter \outputbox allows setting
+ of the output box number (default: 255, max: 65535)
+
+* The new primitives \Udelimiterunder and \Udelimiterover
+ complete the set of 'StretchStacks' for OpenType Math.
+
+* Fixed a bug in font string conversions on the Macintosh that
+ resulted in warnings about 'unaligned pointers being freed'.
+
+* Khaled Hosny spotted a bunch of manual errors.
+
+* There was bug in the width of math_accent objects when
+ there were super- or subscripts attached to the accentee.
+
+* In PDF mode, TRT \leaders were bugged.
+
+* The source tree now uses the new texlive build system that
+ Peter Breitenlohner created.
+
+* There is now a single build.sh instead of four separate
+ ones. It has a few options:
+ --make : only make, no make distclean; configure
+ --parallel : make -j 2 -l 3.0
+ --nostrip : do not strip binary
+ --mingw : crosscompile for mingw32 from i386-linux
+ --ppc : crosscompile for ppc osx on intel osx
+
+ Note: --parallel still sometimes causes crashes due to
+ timing errors, so use that option with care.
+
+* Many compiler warnings have been removed (but not all yet).
+
+==============================================================
+Luatex beta-0.36.0 was released 20090323
+==============================================================
+
+* The included fontforge code is stripped considerably, and
+ the lua table to access the code is renamed to 'fontloader'.
+ The old name ('fontforge') will remain present for a while,
+ but will eventually go away.
+
+* New lua functions: tex.primitives(), tex.extraprimitives,
+ tex.enableprimitives(). This is a prelude to a big change
+ in the next beta: iniluatex will from now on start up with
+ only the TeX82 primitives and \directlua, everything else
+ has to be bootstrapped via tex.enableprimitives().
+ See the manual for more details.
+
+* Support for multiple lua states has been removed, and at the
+ same time support for adding name ids to lua chunks has been
+ added. See the manual for more details.
+
+* More changes to the PDF backend to make it support non-latin
+ directions (form and image placement, vertical typesetting,
+ synctex).
+
+* The kpathsea library is updated. Highlights: cleaner build
+ process (thanks to Peter Breitenlohner), cleaner mingw32
+ (cross)compilation support, and a new reentrant API.
+
+* Some possible endless loops within extended delimiters in
+ math mode are now trapped.
+
+* Movements inside VF font characters were considerably off
+ due to a wrong conversion routine.
+
+* Error handling for \outer has been reinstated, but can be
+ suppressed via the new primitive \suppressoutererror.
+
+* The new primitives: \suppresslongerror and \suppressifcsnameerror
+ that can be used to suppress errors for \par in non-long macros
+ and for non-expandable objects inside \ifcsname ... \endcsname,
+ respectively.
+
+* New lua function: node.vpack() via a patch from Khaled Hosny
+ that also improves error handling in node.hpack().
+
+* Fix the typo that caused \charic (instead of \charit)
+ to be defined as a primitive.
+
+* Suppression of hyphenation via \hyphenchar\font=-1 now works
+ again.
+
+* The lua functions tex.print(), tex.sprint(), tex.write() now
+ accept an array of strings as well as vararg list of strings
+ to print.
+
+* A change to be build process: luatex.p is no longer split
+ int smaller pieces before running the C compiler.
+
+* Melissa O'Neill contributed a bugfix to the Type1 font
+ subsetting code.
+
+* A bunch of smaller bugfixes and cleanups (as usual).
+
+==============================================================
+Luatex beta-0.35.0 was released 20090224
+==============================================================
+
+* The math handling portions of LuaTeX are converted to C code,
+ and extended to support Unicode math. There are a great many
+ related changes, see the new Math chapter in the manual for
+ details.
+
+* A nasty bug in the paragraph breaking routine was fixed.
+ (All lines except the first one were believed to be wider then
+ they really were. This affected which nodes were considered
+ as active breakpoints)
+
+* Various changes to the PDF backend to make it support non-latin
+ directions.
+
+* Fixed the behaviour of the page offsets. Placement of the output
+ on the physical page should now work correctly in all directions,
+ both in DVI and PDF.
+ There now are \pageleftoffset and \pagetopoffset primitives,
+ as well as
+
+* fontforge.apply_featurefile() was broken since 0.31.0
+
+* The lua profiler library is added.
+
+* The included lua filesystem library is now 1.4.1.
+
+* Reading of pk files fixed.
+
+* An optional space afer a <direction specifier> for \textdir c.s.
+ is ignored from now on.
+
+* \bodydir and \pagedir can now be (re)set even after the first
+ page has been output.
+
+* The new callback mlist_to_hlist can be used to intercept the
+ normal conversion of math lists to horizontal lists.
+
+* The programs ttf2afm and pdftosrc are removed from the luatex
+ distribution (these belong to pdftex).
+
+* fontforge.open() now uses much less memory when opening large
+ (CJK) fonts.
+
+* The included libpng is now 1.2.35.
+
+* Quite a lot of smaller bugfixes and cleanups (as usual).
+
+
+==============================================================
+Luatex beta-0.31.3 was released 20081229
+==============================================================
+
+This release has a bunch of updates from the development trunk
+(#1657-1670,1677,1678,1680,1685,1687).
+
+ * Closing of files opened by \externalocp.
+
+ * Fix for a locale-related bug that make PDF generation fail
+ with a "Parsing CFF Dict failed" message when including
+ opentype fonts.
+
+ * The included metapost is now version 1.102.
+
+ * PDF rules in vertical modes in RL direction where output
+ in the wrong direction
+
+ * Fix for a crash on Apple fonts that contain a 'bsln' table.
+
+ * The handling of the second argument to fontforge.open() was
+ broken
+
+ * The included libpng is now 1.2.34
+
+ * Handling of ttc files on Windows was broken
+
+
+==============================================================
+Luatex beta-0.31.2 was released 20081209
+==============================================================
+
+Besides fixing building issues, this release has
+
+ * A small fix for a crash that could happen when using
+ external OCPs.
+
+ * A fix in the format of fontforge.to_table output.
+ (In 0.31.1 <font>.lookups was near-empty; the lookups
+ were accidentally output as part of the gpos table).
+
+==============================================================
+Luatex beta-0.31.1 was released 20081209
+==============================================================
+
+fixed a bunch of compilation errors on various platforms, but
+with no other visible changes.
+
+
+==============================================================
+Luatex beta-0.31.0 was released 20081205
+==============================================================
+
+This is just an intermediate release so that some testing can be
+done on the updated fontforge embedding.
+
+* There are new fields being generated by fontforge.to_table(),
+ and one or two old ones have been removed. These fields are /
+ will be documented in the manual, but very briefly:
+
+ - MATH table and associated information are now exported
+ (the main reason for the new fontforge code)
+ - Baseline data is now exported
+ (perhaps usable in lua code)
+ - Multiple Master / Glyph variation data is now exported
+ (but useless, for now)
+ - Mac Feature (AAT) information is now exported
+ (perhaps usable in lua code)
+ - If (lookup) names were saved via the PfED table, these
+ will the exported instead of the default, generated names.
+ (as requested by Yannis)
+
+* dfont is now treated as an archive format just like ttc
+ when it comes to fontforge.info(). NOTE: that does not mean you
+ can actually use them, because the backend doesn't know
+ yet how to embed dfont fonts in the PDF, that is on the
+ TODO list for the next big beta (0.40.0).
+
+* The executables are a lot larger than before. That is because
+ much more of fontforge is included than before. Likely this
+ will stay this way, because this makes upgrading the ff code
+ much easier, and it means that luatex/FF potentially
+ understands more font formats (after upgrading the backend,
+ of course)
+
+
+==============================================================
+Luatex beta-0.30.3 was released 20081128
+==============================================================
+
+This release fixes a really big bug, a few smaller ones,
+and has updates of png and mplib:
+
+* All hyphenation patterns that were anchored at the start or
+ end of a word were ignored in luatex versions 0.25.X and 0.30.X
+ (and possibly even earlier).
+
+* Repeated use of \language=-1 could result in "There is not room
+ for another language".
+
+* The lua true coroutines patch (Coco) is now disabled on OpenBSD
+ running on non-intel platforms.
+
+* The lua socket library is patched so that it will now compile on
+ OpenSolaris.
+
+* Luatex now has libpng 1.2.33 and mplib 1.100
+
+==============================================================
+Luatex beta-0.30.2 was released 20081020
+==============================================================
+
+* The Lua coco change from 0.30.1 is reverted as it gave
+ trouble on MacOSX. Lua coco on non-intel OpenBSD platforms
+ is now explicitly turned off.
+
+* The lua file reading speedup in 0.30.1 broke reading of
+ files larger than 100MB.
+
+* Reading of font-related files was broken when there was a find
+ callback, but no read callback.
+
+* The texmf.cnf array size setup values were ignored whenever
+ --lua was given on the commandline (instead of only when
+ texconfig.kpse_init is set to false).
+
+* glyphs with negative widths resulted in incorrect horizontal
+ placement (overlapping) of the string in the output PDF.
+
+* Using \latelua could sometimes result in an invalid output PDF,
+ and the argument token list was expanded too early
+
+* There was a read buffer overrun in the mapfile parser
+
+* There are two new variables in the status table:
+ status.callbacks and status.indirect_callbacks (execution counts).
+
+==============================================================
+Luatex beta-0.30.1 was released 20081009
+==============================================================
+
+* Invalid return values from the linebreak_filter callback
+ are now handled gracefully (was crashing)
+* a preinstalled ctangle is no longer needed except when
+ cross-compiling
+* In 0.30.0, the .notdef fix was incorrectly applied to
+ truetype / opentype fonts.
+* A bunch of all memory leaks is fixed
+* In lua, f:read('*a') now uses signicantly less memory
+* The number of \catcodetables is now limited to 64KB
+ (for speed reasons)
+* Luatex could crash if there were PDF images with and
+ without page /Group included on the same page
+* Lua coco now always uses setjmp (for OpenBSD compatibility)
+* The embedded mplib is updated to the latest svn version
+* # marks (characters with catcode 6) are no longer doubled
+ inside \directlua
+* Handling the nul character (U+0000) with catcode 13
+ (active) was broken
+* Luatex could crash on win32 with an access violation
+ because there was one predefined language too few
+ (the one matching \language=-1)
+
+==============================================================
+Luatex beta-0.30.0 was released 20080930
+==============================================================
+
+New features:
+
+* Readable \tex internal params that are counts, attrs, or dimens are
+ now returned as numbers instead of strings, and skips as node objects.
+ Read-write access to tex's skip registers added: tex.skip[0] etc.
+* new callback: 'linebreak_callback' to replace the internal paragraph
+ breaking code
+* the tex table now supports more readable 'convert' values:
+ tex.fontname, tex.pdffontname, tex.pdffontobjnum, tex.pdffontsize,
+ tex.uniformdeviate, tex.number, tex.romannumeral, tex.pdfpageref,
+ tex.pdfxformname (each takes a number as argument)
+* new readable parameter: tex.fontidentifier(number) returns the
+ \csname associated with that font id
+* luatex now outputs \FONT<nr> instead of \^^@ in Overfull/Underfull
+ messages if the font's id text is zero (like for expanded fonts) (#77)
+ * luatex --version is split into --version and --credits
+* There is now (again) an svn revision number in luatex --version (#91)
+* Add support for more read-only internal access from lua:
+ tex.lastpenalty, tex.lastkern, tex.lastskip, tex.lastnodetype,
+ tex.inputlineno, tex.badness, tex.pdftexversion, tex.pdflastobj,
+ tex.pdflastxform, tex.pdflastximage, tex.pdflastximagepages,
+ tex.pdflastannot, tex.pdflastxpos, tex.pdflastypos, tex.pdfrandomseed,
+ tex.pdflastlink, tex.luatexversion, tex.Alephversion,
+ tex.Omegaversion, tex.Alephminorversion, tex.Omegaminorversion,
+ tex.eTeXminorversion, tex.eTeXversion, tex.currentgrouplevel,
+ tex.currentgrouptype, tex.currentiflevel, tex.currentiftype,
+ tex.currentifbranch, tex.pdflastximagecolordepth (#81)
+* the old --src-specials are replaced by --synctex (#63)
+* the \expanded primitive is backported from pdftex 1.50 (#43)
+* luatex now comes with libpng 1.2.32
+* experimental: tex.definefont(string, number) associates a
+ csname string with a font id number
+
+Bugs fixed compared to 0.29.0:
+
+* dashes were exported wrongly by MPlib
+* multi-item \discretionaries were broken in various ways (#78, mailinglist)
+* read_font_info was sometimes called recursively from lua-loaded
+ virtual fonts
+* do_vf was sometimes called on lua-loaded fonts that where
+ already known to be virtual
+* trailing junk in tfm files is now ignored (needed for ecrm fonts)
+* pdf_ignored_dimen was initialized too late, breaking \prevdepth
+ handling and causing output lines to overlap eachother (#72)
+* pdf.immediateobj() had a printf-related bug
+* the fontname terminal logging is fixed for strange font file names
+* lua tex array assignments now listen to the globaldefs setting
+ (tex.count[0] etc) (#92,partial)
+* \parshape was broken (#70)
+* there is no longer a ".tex" extension forced on very input file (#74)
+* eof() for mapfiles was true one byte too soon (#76)
+* out of range \lefthyphenmin and \righthyphenmin settings now actually
+ disable hyphenation (#90)
+* tex.unset_attribute() looked too far ahead when a to-be-unset
+ attribute id not only did not exist in the node, but was also
+ higher than the highest set attribute on the node. (#65)
+* the parameters attr and page_name of read_image() were swapped
+ (this broke \pdfimage with attributes)
+* tex filenames with spaces in them on the command line are now
+ allowed again (#30)
+* sometimes pfb fonts were included multiple times without valid
+ reason (#29)
+* some parts of the pdftex 1.40.9 PNG transparancy hack were still
+ present and caused transparant png handling to fail
+* \localinterlinepenalty and \localbrokenpenalty were broken
+* special case catcode tables are now handled better (#23)
+* the handling of missing .notdef charstrings in old pfb fonts
+ is fixed (#27)
+
+==============================================================
+Luatex beta-0.29.0 was released 20080718
+==============================================================
+
+
+New features:
+
+* The embedded pdftex is now 1.40.9 (forthcoming) except for the
+ following:
+ - the png transparancy fix is skipped because it is in conflict
+ with a macro-based solution offered by context mkiv.
+ - LFS (PDF files > 2GiB) is not working yet.
+ - Synctex is still missing
+
+* libpng, xpdf, and zlib are updated to their pdftex 1.0.9 levels
+
+* MPlib is updated to 1.090
+
+* The syntax of buildpage_filter is changed to avoid confusion
+ (and crashes). See the manual for the new calling convention.
+
+Bugs fixed compared to 0.28.0:
+
+* The previous bugfix for \languages skipping numbers was wrong.
+
+* Various compile-time warnings are suppressed
+
+* \pdfsetmatrix was broken
+
+* \pdfsave and \pdfrestore were broken
+
+* Valid user_defined whatsits nevertheless were generating errors.
+
+
+==============================================================
+Luatex beta-0.28.0 was released 20080630
+==============================================================
+
+There is one new feature:
+
+There is now experimental support for non-trivial discretionaries
+following explicit hyphens. In analogy to \prehyphenchar and
+\posthyphenchar, there are two new parameters \preexhyphenchar en
+\postexhyphenchar. Both new parameters default to zero (nothing).
+When set to a nonzero value, the parameter is added to either the
+pre- or post- break text. Note that this is *in addition to* the
+hyphen already in the input. Testing and comments are very welcome.
+
+Here is a short example (no idea what is says):
+
+ \pdfoutput=1
+ \hsize=2in
+ \postexhyphenchar=`-
+ Seria bom se eu
+ pudesse t\^e-lo mantido como amigo, mas por
+ mais bem-intencionado que eu fosse, n\~ao
+ foi possivel
+ \bye
+
+
+
+Bugs fixed compared to 0.27.0:
+
+* Words that started off with a character with a zero \lccode
+ were never hyphenated at all.
+
+* There was a bug in the new active characters code that prevented
+ the latex format from being built (with Invalid character error).
+
+* There is a temporary fix for the sometimes appearing "Font has a
+ bad FontBB" message from Acrobat.
+
+* \leaders did not actually stretch enough (the last bit of glue
+ that has to line up the line endings was never output to the PDF).
+
+* Bad paragraph-related callbacks could result in luatex crashing.
+
+* The pre_linebreak and post_linebreak filters were never called
+ when \output was active (this was a leftover of a superceded
+ optimization).
+
+* 'skipping' language codes when setting up \patterns c.s. did not
+ work (it used the next empty slot instead of the actual value of
+ \language).
+
+* Using multiple 'attr' keywords on box items could cause random
+ crashes.
+
+* Calling lang.hyphenate() with one argument (without specifying a
+ tail node) could crash.
+
+* The luatex pdf banner and version reporting is cleaned up a bit.
+
+* Conflicting patterns inside \patterns now give an error:
+ ! Conflicting pattern ignored.
+ (duplicate identical patterns are ignored without error).
+
+==============================================================
+Luatex beta-0.27.0 was released 20080624
+==============================================================
+
+Bugs fixed compared to 0.25.3:
+
+* Unicode reencoding support for non-standard (i.e. older)
+ Type1 fonts is now somewhat less broken than it was (#25)
+
+* .vf fonts using specials crashed luatex
+
+* luatex would crash on --\par (#33)
+
+* An attempt is made to get a sane default value for StemV in
+ the created pdf (#32)
+
+* We can now guarantee that %PDF-1.* header is printed before
+ the first pdf.print() output
+
+* lang.hyphenate() was broken
+
+* insert_before(a,a,b) was broken (#37)
+
+* argv[0] is now cleaned up before being used as a default for
+ mem_name and prog_name (#28).
+
+* luatex would crash on loading extended fonts (fonts loaded
+ via lua callbacks) from a format file.
+
+* The fix for pdftex bug #799 is backported from pdftex 1.40.4.
+
+* slnunicode had a bug in the unicode.utf8.gmatch iterator.
+
+* Queries of nonexisting fontdimens could cause a crash.
+
+* luatex would crash on {\textdir TLT\pardir TLT x\break\par }
+
+* Fixed wrong placement of lines in mixed-direction paragraphs
+ that could happen in some situations.
+
+Other news:
+* Luatex now includes luasocket (#35)
+ See http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/
+ for usage.
+ There is a new commandline option: --nosocket to disable this,
+ and that is also implied by --safer.
+
+ NOTE to the binary builders: there are some unfixed configure
+ problems when you need to add a specific library to get socket
+ support on your platform. You probably will have to edit the
+ generated Makefile by hand (search for 'socketlib').
+
+* There is ongoing development to the 'img' and 'mplib' libraries.
+ See the reference manual for details.
+
+* The 'character commands' in virtual fonts now support image
+ inclusion. See the reference manual for details.
+
+* Lua error messages now include the call stack.
+
+* \directlua and \latelua have been extended to accept a 'name'
+ keyword. The argument is a token list that is used as the lua
+ name of this chunk in lua error messages and call stack prints.
+ (#42)
+
+* The lua chunk names can be interfaced via a new virtual
+ table called lua.instancename, the values in that function as
+ defaults in the absence of 'name' keywords.
+
+* The 2-plane limit on active character range is removed (#12).
+
+* Subsetted TTF fonts in the PDF now retain the cmap table.
+
+* There is a new Lua variable os.selfdir. This contains the
+ full absolute pathname of the directory that the executable
+ resides in (with symlinks resolved)
+
+* There is a new function os.uname() this returns a lua
+ table containing various platform information items.
+
+* The node library now uses text strings for direction specifiers
+ instead of numbers. See the reference manual for details.
+
+* The 'E' (edit) as error response functionality is now a noop.
+
+* Adding luatex 0.25.3 to texlive resulted in a few minor backports,
+ in particular: Support for mktexfmt is added, and luatangle now
+ identifies itself as such (instead of calling itself otangle).
+
+* We fixed a whole series of portability problems (but
+ we probably introduced new problems as well).
+
+* Most (all?) files now have a corrected Copyright header,
+ and link in NEWS source/texk/web2c/luatexdir/NEWS into the object file.
+
+* Some unnecessary files were removed from the distribution.
+
+==============================================================
+Luatex beta-0.25.3 was released 20080418
+==============================================================
+
+Bugs fixed:
+* Pdftex bug no. 936 (sarovar) regarding vertical
+ positioning of embedded PDF files if depth parameter is given.
+* Luatex gave bogus lua return values for the tex.wd/hd/dp
+ values of void boxes
+* A few bugfixes in mplib (square pens caused hangs, elliptical
+ pens caused confused output)
+* Hyphenation of uppercase words (\uchyph) was broken
+* Output image placements corrected for all 8 transform cases
+ also when artbox etc. is used
+* There were missing maketexstring() calls in error messages
+* Math display contents were sometimes prematurely freed during
+ the placement of the equation number
+* Setting \language=-1 could cause crashes due to an array
+ index going out-of-bounds
+
+Other news:
+* build.sh.ppc is added to the source distribution. This is a
+ script that crosscompiles osx ppc binaries from osx intel
+* tex.box[<chardef name>] is now supported (but still experimental)
+* a bunch of compiler warnings are removed
+* The fontforge library now dump AAT feature tags as and
+ "<id,flags>" string
+* The new function font.nextid() predicts the next assigned font id
+* Some source code changes are backported from texlive
+
+==============================================================
+Luatex beta-0.25.2 was released 20080410
+==============================================================
+
+* Updated to MPlib 0.40
+* Bugfixes and cleanup in the lua img table code
+* Fix \pdflastximagepages bug from pdftex
+* Fix for very large tex.print strings
+* Update to Lpeg 0.8.1
+* &D Bugfix for Type1 fonts when out-of-range characters
+ are marked as 'used'
+
+==============================================================
+Luatex beta-0.25.1 was released 20080321
+==============================================================
+
+* Updated to MPlib 0.30 (that is now becoming usable)
+* The build requirement for a pre-installed ctangle is gone
+ (thanks to Martin)
+
+==============================================================
+Luatex beta-0.25.0 was released 20080311
+==============================================================
+
+New:
+
+* mplib library:
+ This version features an embedded MP interpreter whose output
+ can be directly accessed from lua code (mplib), without calls
+ to an external "mpost" command. Of course it has bugs and
+ limitations (makempx does not work, for example) but keep in
+ mind that it is only an initial attempt.
+ See the manual for more details.
+* img library:
+ ** img.immediatewrite() is added
+ ** images now accept a 'transform' key
+ ** widths etc. can now be given as width="100mm"
+
+Fixed:
+
+* \parshape handling was completely broken since 0.20.0+
+* when \pdfprotrudechars was in effect, an assertion failure
+ could happen when embedded \hboxes in the paragraph appeared
+ at the end of a line.
+* import of otf fonts with contextual lookups has been debugged,
+ thanks to a patch by GW himself.
+* compiling with gcc 4.2.3 is now supported
+* if you want to build from source, you need a pre-installed ctangle.
+
+
+==============================================================
+Luatex beta-0.22.1 was released 20080227
+==============================================================
+
+* The macnames.c source file for building ttf2afm is restored.
+* "make depend" in luatexdir now works again
+* luatex sometimes crashed because it attempted to expand an
+ already expanded font
+* luatex aborted when --progname was given but no format name.
+ It now sets the format name to the given progname in that case
+* sometimes paragraphs with near-empty lines could cause a crash
+* img.supportedtypes() had a bug causing it to crash
+* img.supportedtypes() has been renamed to img.types for consistency
+* img.boxes() added, returns strings representing bounding boxes
+* img.node() added, returns a whatsit node cf. \pdfrefximage
+* node.write() now accepts multiple arguments
+* the program_name_set switch was not set automatically from C,
+ causing errors unless lua code called kpse.set_program_name()
+ explicitly
+* kpse.set_program_name() can now be called more than once
+ in a single run.
+* os.spawn{...} and os.exec{...} could cause crashes because of
+ a memory allocation error
+
+==============================================================
+Luatex beta-0.22.0 was released 20080215
+==============================================================
+
+* We now have an official bug tracker: http://tracker.luatex.org
+* A new lua library (img) is added that allows a direct
+ interface to the image handling of luatex. You can use this
+ to include images from lua code instead of via the more
+ traditional \pdfximage cs. See the manual.
+* An optional equal sign after \{pre,post}hyphenchar is now
+ allowed.
+* os.exec() has been extended, and os.spawn() added. These
+ functions have support for quoted strings, and they
+ also accept a table with preseparated command arguments.
+* New string constants os.type and os.name are provided.
+* node.last_node() is added. This pops and returns the last
+ node from luatex's 'current list'
+* node.write() is added. This appends a node to the end of
+ luatex's 'current list' (experimental).
+* The strict check on unicode compliance in pattern files
+ is dropped. Patterns files still have to be in proper UTF-8
+ encoding, but the error for non-Unicode character values
+ (like 0 - 31 and 127 - 159) is dropped.
+* \pdfadjustinterwordglue, \prependkern, \appendkern
+ and associated \XXXXcode arrays are gone.
+* The rest of the pdftex font arrays are now merged into
+ the new luatex font data structure. This means that you
+ can now set up font expansion from lua code, and that a few
+ font-related limits are gone.
+* The 'top_skip' field in 'insert' nodes is renamed to 'spec',
+ for improved consistency.
+* kpse.show_path() added. This behaves just like
+ $ kpsewhich --show-path
+* The unicode.utf8 functions now also accept values in the range
+ 1.114.112 - 1.114.367 that is used by LUATEX for raw byte output.
+
+What's been fixed:
+
+* Better node memory (de)allocation error tracking and messages
+* Compilation on MacOSX 10.5 was broken
+* There was a bug in node.insert_after
+* Use of \{pre,post}hyphenchar was broken
+* lfs.permissions was leaking memory
+* Some warning and error messages are improved a bit
+* A set of bugs in character protrusion, this seems to be working
+ ok now.
+* Also, a set of bugs in font expansion. This now works in most
+ cases but is not quite bugfree yet (problematic files for testing
+ are welcomed).
+* The functions in the kpse library would crash luatex if
+ kpse.set_program_name() was not yet called. gives an error now.
+* Alignments with spanned columns could cause crashes
+* A patch is added for problems with filename parsing on the
+ "first input line" (by Jonathan Kew)
+* The hpack_filter and vpack_filter were only called for lists longer
+ than one node.
+* Luatex is now more forgiving about font subsets being smaller
+ than their expected size (issues a warning instead of aborts now)
+* A "double-free ignored" error for paragraphs with lines starting
+ with discarded items was fixed.
+
+==============================================================
+Luatex beta-0.20.2 was released 20071217
+==============================================================
+
+* some portability fixes to the build scripts
+* a fix for multi-\span in alignments causing unbreakable
+ loops
+* manual improvements from Jonathan Sauer
+* fix for undefined csnames in \directlua if
+ web2c's hash_extra is nonzero
+* fix for LR text inside of a RL document
+* fix for open_read_file callback not being called
+ unless find_read_file was also registered
+* removed the ocp status message when \ocps are not
+ actually used
+* "unicodeenc" in the fontforge to_table renamed to
+ "unicode" for improved consistency
+
+==============================================================
+Luatex beta-0.20.1 was released 20071207
+==============================================================
+
+* texlua was broken on Solaris because the some C header
+ files were loaded in the wrong order.
+* os.tmpdir() now accepts an argument, making it easier
+ to use. It now generates more unique filenames when
+ it is called repeatedly in one run.
+* The --luaconly commandline switch is now documented
+ in the --help text.
+* The new extended hyphenation exceptions were severely
+ broken.
+* \pdfprotrudechars could cause luatex to abort with an
+ assertion failure.
+* There was a bug in the \span code that could cause endless
+ loops.
+* The simple forms of \leaders were messed up on windows
+ because a variable was not properly initialized.
+* Non-grouped \textdir commands created invalid output.
+* e-TeX's pseudo files were not closed properly in ini mode.
+* The luatex.web now weaves properly again.
+* I made some small improvements to the manual.
+
+==============================================================
+Luatex beta-0.20.0 was released 20071205
+==============================================================
+
+News compared to the last beta (0.11.2) is as follows:
+
+* Completely overhauled hyphenation and ligkern application,
+ including the addition of a new "lang" table in lua to
+ interface to the language parameters, some extra functions
+ in the "node" table, and a few extra callbacks ("hyphenate",
+ "ligaturing", "kerning", "post_linebreak_filter").
+
+ There is a new chapter in the manual to document all the
+ changes to the hyphenation and line breaking algorithms,
+ it is simply too much to list here.
+
+* the interface of the pre_linebreak_filter,hpack_filter,
+ vpack_filter, and pre_output_filter has changed slightly.
+
+* boxes can now get explicit attributes different from the
+ currently active set, using a syntax like
+
+ \hbox attr2=12 attr3=-1 to 12pt {Hi!}
+
+* lpeg is now at version 0.7
+
+* a whole series of exotic bugs and compiler warnings are
+ fixed, mostly thanks to the watchful eye of Fabrice.
+
+* texio.print now accepts multiple strings as arguments.
+
+* the lua functions os.sleep(), os.times(), os.gettimeofday()
+ and os.tmpdir() have been added.
+
+* lua now comes with the coroutine (coco) patches from the
+ luajit project applied.
+
+* the banner line no longer claims to be TeX.
+
+* a bunch of bugs reported on the mailing list have been
+ fixed (I hope all of them).
+
+* (internal) we found lots of small ways to speed up lua
+ node processing.
+
+* (internal) the node (de)allocation functions have been
+ rewritten, so that absolutely all nodes now have a type,
+ even the ones with variable sizes.
+
+
+==============================================================
+Luatex snapshot-20071029 was released 20071029
+==============================================================
+
+* Completely overhauled hyphenation and ligkern application.
+
+ There is a new chapter in the manual to document all the
+ changes to the hyphenation and line breaking algorithms,
+ it is simply too much to list here.
+
+* the interface of the pre_linebreak_filter,hpack_filter,
+ vpack_filter, and pre_output_filter has changed slightly.
+
+* lpeg is now at version 0.7
+
+* a whole series of exotic bugs and compiler warnings are
+ fixed thanks to the watchful eye of Fabrice.
+
+* texio.print now accepts multiple strings as arguments.
+
+* The lua function os.sleep() is added
+
+==============================================================
+Luatex beta-0.11.2 was released 20070918
+==============================================================
+
+* Pdf inclusion and subsetting of CID-based opentype fonts
+ now works as it should.
+
+==============================================================
+Luatex beta-0.11.1 was released 20070918
+==============================================================
+
+A quick list of what is new and fixed since beta 0.10.2:
+
+New:
+* pfb+afm fonts can now be used in 'wide' (encodingbytes=2) mode
+* searching in PDFS using 'wide' fonts now works reasonably well
+ (based on the tounicode feature)
+* related to that, tounicode information can now be passed
+ on inside the font metrics table
+* font subsetting is now supported for CID-based OpenType fonts
+ (however, there is a known bug with KpozMinProVI-Regular.otf)
+* fontforge's warning and error messages are now intercepted
+ and passed on to the lua code as a second return value of
+ the fontforge.open() function
+* the new primitive \suppressfontnotfounderror can suppress
+ the TeX error for "Font not found"
+* The lua function font.current can now be used to set TeX's
+ current font
+
+Fixes:
+* set_attribute(-1) is now the same as unset_attribute()
+* OpenType lookups with glyph classes would crash luatex
+* luazlib would not compile on debian (fix from Norbert)
+* CID-based fonts would crash luatex
+* Bare CFF should be read in binary mode (fix from Akira)
+* VF processing did not process packets containing zero bytes properly
+* the truetype collection (.ttc) handling is fixed, so that all
+ of the fonts inside a collection can now be used reliably
+* application segfaults and stack overflows are intercepted
+ so that luatex can quit a bit more gracefully
+* an assertion failuer on systems with signed chars (linux-powerpc)
+ is fixed
+* a crash on AMD64 linux was fixed
+* the lua "pdf" table code was wrong
+* \ifcsname did not work properly for UTF-8 characters
+* Use of the math-related functions using make_fraction (like \atop)
+ caused a crash
+* \handling of \if\noexpand was wrong
+* applied a patch that cleans up XForm and page calculations
+* "autoconf" support from zziplib is stripped
+
+==============================================================
+Luatex beta-0.10.2 was released 20070814
+==============================================================
+
+Bugs fixed:
+
+* the primitive \span was completely broken
+* \pdfexpandfont (font expansion) misbehaved if it was used more
+ than once
+* virtual fonts: sometimes they used the wrong internal font id,
+ loading vf fonts via fonts.read_vf() was impossible, and sometimes
+ virtual fonts created segfaults
+* while dumping formats, the last font parameter for each font was not
+ dumped at all
+* zziplib was always compiled with pre-installed zlib headers, instead
+ of the ones in the build tree
+* lua 5.1.2 has trouble quoting ^Z characters etc, the tentative patch
+ for lua 5.2 from Luiz fixes that, hopefully
+* fontforge.font('font.pfb') now properly parses AFM boundingboxes
+* non-existing files in the argument for fontforge.open() or
+ fontforge.info() could cause segfaults, now it generates an error
+ instead
+* fontforge.open() did not return character widths for vertical fonts
+ as it should
+* on Windows, fontforge believed that ttc files (TrueType Collections)
+ were actually directories. ttc processing is still not 100% correct,
+ but it is getting better
+* the build system used explicit 'make' sometimes
+* the auto-growing string pool was not used everywhere
+* there were some typos in the documentation parts of the pascal web
+* use of \parshape could easily exhaust all available memory
+
+
+New features:
+
+* support for applying Adobe Feature files (.fea) and Adobe Font
+ Metrics (.afm) is added to the fontforge library
+* fontforge.info() will now return an array of tables for the contents
+ for ttc files
+* support for a 'texluac' personality was added, to replace the 'luac'
+ command from the official Lua distribution
+
+==============================================================
+Luatex beta-0.10.1 was released 20070719
+==============================================================
+
+This was a hotfix because beta-0.10.0 was completely broken.
+
+==============================================================
+Luatex beta-0.10.0 was released 20070718
+==============================================================
+
+The latest version of the manual is included in the package, and I
+am not going to repeat all of that. There were some minor changes
+compared to the previous snapshot, but mostly just bugfixes and
+documentation improvements.
+
+==============================================================
+Luatex snapshot-20070626 was released 20070626
+==============================================================
+
+* Integrated the lua library lzlib, this defines tables with
+ bindings for zlib (including eazy-to-use gzip support)
+* Updated to slnunicode version 1.1
+* Some small cleanups in the sparse array handling
+* Moved the raw byte support out of the valid unicode range
+* Fixed a bug in the OFM font reader
+* Removed the pdftex snap nodes (and associated primitives)
+
+
+==============================================================
+Luatex snapshot-20070622 was released 20070622
+==============================================================
+
+Not a lot of news, but it fixes a few important bugs in the lua
+node processing. Also a few utility functions are added:
+
+* tex.round()
+ rounds and bounds checks a lua number to make sure it is
+ a valid tex integer.
+* tex.scale()
+ multiplies a number (or the numeric values in a table)
+ with a fixed quantity, and calls tex.round() on the result.
+* node.has_field()
+ Test if a node has a specified field name
+* node.remove()
+ removes a node from a nodelist, while keeping the list intact
+* node.insert_before()
+ inserts a new node into a nodelist, just before a specified
+ location node
+* node.insert_before()
+ inserts a new node into a nodelist, just after a specified
+ location node
+* node.hpack()
+ packages a nodelist into a hlist node
+
+
+==============================================================
+Luatex snapshot-20070619 was released 20070619
+==============================================================
+
+* The lua node processing interface is completely reworked.
+ It is now completely based on userdata, and uses a new lua table
+ called 'node' to hold the methods. More detailed information
+ is in the manual (of course).
+
+* There is a fifth node processing callback:
+ pre_output_filter
+ this is executed just before the packaging of \box 255.
+
+* The hpack_filter and pre_linebreak_filter callbacks now
+ receive an extra argument indicating the number of top-level
+ glyphs in the node list.
+
+* Virtual fonts can now contain a 'node' key in the glyph
+ commands: the value should be a hlist node (i.e.: a horizontal
+ box), and that will then be output for each character access
+ in that font.
+
+* A new set of registers is added, called \attribute. These are
+ values that will be automatically attached to nodes created in
+ their scope. More information in the manual.
+
+* Direct read/write access to TeX's box registers is addded to
+ the lua 'tex' table.
+
+* TeX's main memory now grows dynamically, and the (de)allocation
+ routines have been rewritten completely.
+
+* The 'kpse' table is extended with extra interface functions, to
+ allow texlua to be used as a scripting engine.
+
+* The \pdftexversion command now returns 200, not 140.
+
+* The displayed banner and --version screens are cleaned up.
+
+* The format file is now RLE compressed. Not as small as before,
+ but unpacking is much faster.
+
+
+==============================================================
+Luatex snapshot-20070426 was released 20070426
+==============================================================
+
+This past month I have been busy with nodes and lists of nodes,
+so the big new feature in this release is that there are four
+callbacks that operate on node lists:
+
+ buildpage_filter
+ pre_linebreak_filter
+ hpack_filter
+ vpack_filter
+
+The preliminary documentation for these is in the manual, but the basic
+idea is that you can filter a node list just before LuaTeX starts doing
+something with it (like line breaking). This functionality is not stable
+yet: the node presentation of the various node types is pretty much OK
+now, but keep in mind the following:
+
+ * math noads and math typesetting are not handled at all (yet)
+ * not all hpacks and vpacks are intercepted (yet)
+ * the nested node list handling will probably change
+ * A conversion tool for nodes to/from dictionaries is planned,
+ but not done yet
+
+The other changes in this snapshot are various bugfixes (for builds
+on various platforms as well as font issues) and speedups (in the
+execution of callbacks and the creation of lua font representations).
+
+
+==============================================================
+Luatex snapshot-20070322 was released 20070322
+==============================================================
+
+* I have changed the token_filter callback quite rigorously,
+ mostly because of speed issues. The raw speed of trivial
+ lua token handling is now only about 20 times slower than
+ the native handling. Not bad at all, considering it has to move
+ between interpreted and compiled code for each and every
+ token. If you do not run the token filter inside \output,
+ the effective run speed difference should not be much more
+ than a factor 1.5.
+
+ Two big differences: you have to call token.get_next()
+ yourself, and the token table is now a three-item array
+ instead of a five-key hash. The minimal example changes to
+
+ \directlua0{
+ callback.register('token_filter', function ()
+ return token.get_next()
+ end)
+ }
+
+ more details are in the manual.
+
+* I've fixed a few bugs in the handling of Opentype TTF, and added
+ a new key in the font definition table:
+
+ f.encodingbytes = (1|2)
+
+ The default is 2 for opentype and truetype format, 1 otherwise.
+ Later on, it will become possible to have a type1 font in 2-byte
+ (CID) encoding or a truetype font in traditional encoding (1-byte),
+ but I have not covered all cases yet.
+
+
+
+==============================================================
+Luatex snapshot-20070309 was released 20070309
+==============================================================
+
+* The OCP debug information is removed again.
+
+* There is a new callback that I am quite excited about myself:
+ 'token_filter'.
+
+
+A bit of text from the reference manual:
+--------------------
+This callback allows you to change the modify any lexical token that
+enters the \type{main_control} function before \LUATEX\ executes the
+associated command.
+
+Note: not all tokens can be intercepted yet, only those that are `seen'
+by \LUATEX's main control function. Supplemental tokens like the bodies
+of macro definitions and the right-hand side of register assignments
+are not seen. For now, this is intentional.
+
+\startfunctioncall
+ function (table <token>)
+ return table <token>
+ end
+\stopfunctioncall
+
+Calling convention for this callback is bit more complicated then for
+most other callbacks. Initially, lua function will be called with the
+next token from \type{get_next()} as argument, represented as a small
+lua table. The function should either return a lua table representing
+a valid to-be-processed token, or something else like nil or an empty
+table.
+
+If your lua function does not return a table representing a valid
+token, it will be immediately called again with yet another token
+from \type{get_next()} as argument, until it eventually does return
+a useful token.
+
+But if the function does return a usable token, then that token will
+be processed by \LUATEX. Afterwards, the function will be called
+again, but now without an argument. This is repeated until it stops
+returning tokens. Then processing reverts back to the other branch.
+
+The point behind that roundabout calling convention is that it
+allows the lua function to buffer tokens for various uses. That in
+turn makes it possible to do some really advanced things like
+replacing OTPs.
+
+Now about that table. The table that the function will receive
+contains four fields:
+
+\starttabulate[|l|i|p|]
+\NC Key \NC type \NC Explanation \NC\FR
+\NC cmd \NC string \NC A representation of \LUATEX's internal
+ command code\NC\NR
+\NC chr \NC number \NC The command code modifier\NC\NR
+\NC cs \NC string \NC If the token came from a csname, this
+ is that csname\NC\NR
+\NC mod \NC character \NC A single character string representing
+the current processing mode. One of {\bf v}ertical, {\bf h}orizontal,
+display {\bf m}ath, {\bf n}o, internal {\bf V}ertical,
+ restricted {\bf H}orizontal, or inline {\bf M}ath mode.\NC\LR
+\stoptabulate
+
+If you modify the table before returning it, then it is wise to return
+either a (\type{cmd}, \type{chr}) pair, or a \type{cs} string. That is
+because if both options are present, the pair has precedence and the
+string is ignored. On the return table, {\bf mod} is ignored always.
+--------------
+
+I have no long example code yet and it is not as complete as one
+would want it to be because it is not intercepting everything that
+comes in, only the bits that are triggered by the main control
+loop.
+
+I decided to do a fast snapshot release for two reasons:
+
+* It is one of the easier extensions to get started with if you want
+ to learn a bit about lua programming
+
+* I would welcome feedback on the token interface, because it will
+ be needed in other places as well, soon. I am still not sure
+ whether converting the command to/from strings is worth it, for
+ example. And maybe it would be less confusing if you could return
+ a list of tokens instead of being called repeatedly?
+
+Here is the trivial example to get you started:
+
+ \directlua0{
+ callback.register('token_filter', function (t) return t end)
+ }
+
+
+==============================================================
+Luatex snapshot-20070307 was released 20070307
+==============================================================
+
+
+* Non-CID PostScript-based Opentype fonts are now combined over
+ the entire document, and properly subsetted. The code is
+ borrowed from xdvipdfmx with some minor adjustments
+
+ Adding support for CID-keyed OpenType fonts would not be hard
+ but at the moment I lack example input (and incentive).
+
+* A small extension to the virtual fonts structure: you can use
+
+ f.fonts[1] = { 'id' = 38}
+
+ to do a backreference to a previously defined font. This saves quite
+ a few computations
+
+* There was a bug in the handling of \leaders in the output whereby
+ it's width was taken to be twice what it should be while writing
+ to the PDF, fixed now.
+
+* The font inclusion code is cleaned up a bit by Hartmut.
+
+* Some compilation problems were fixed.
+
+* There is (quite a bit of) debugging information printed out when
+ OTPs are in use, because I am tracking down a bug reported by Idris.
+
+ The input of each and every OTP step is shown on the terminal in
+ a line line this:
+
+ [57902][1568][58423][1568][58408][1568][58921]
+
+ those are the decimal values of ocp i/o characters. If you don't
+ need them, don't worry about it.
+
+==============================================================
+Luatex snapshot-20070302 was released 20070302
+==============================================================
+
+* The 'snapshot version' banner is now calculated dynamically
+ at build time. This aids in figuring out what binary people
+ are actually running, but it can possibly break the build on
+ systems that do not have a `date` command.
+
+* The do_vf() function that checks for virtual font existance
+ is now run immediately after the font definition instead of
+ being postponed until characters are output.
+
+* The 'define_font' callback interface has changed a little.
+ It is now:
+ retval = function (name,size,fontid)
+
+ where fontid is the internal font number of the font that
+ is currently being defined, and retval can be either a table
+ (as before) or a different, previously defined fontid. This is
+ useful if a previous definition can be reused instead of
+ creating a whole new font structure.
+
+* The internal font data structure has been redone. Glyph index
+ inside a font is now handled by a sparse array, so that use
+ of e.g. 0xFB01 (fi-ligature) no longer creates a 64000+ entries
+ character array.
+
+* The internal cache-ing of font metric information is turned
+ off completely, because it was based on the assumption that
+ name + size were a unique identifier for a font. This can no
+ longer be guaranteed.
+
+* word boundary processing now works OK again, thanks to the
+ introduction of two virtual characters in the font table
+ definition. Besides the normal numeric entries in the
+ f.characters table, there can now also be two string keys:
+ "left_boundary" and "right_boundary". The ligatures and kerns
+ of the 'left_boundary' character are used for the pre-word
+ boundary processing, ligatures and kerns between characters
+ and 'right_boundary' are used for the post-word processing.
+
+* Lua font table references are no longer cached by the
+ executable ,in order to preserve memory. (the only downside
+ is that font.fonts[] access is now slower because of the need
+ to recreate the lua table).
+
+* There are other some small changes to the font table formats.
+ Please see the manual for details.
+
+* A 'real' font can now still have virtual characters if they
+ are loaded via lua. Just set the 'commands' section and/or
+ the 'fonts' array to your liking, and it should work out.
+
+ If you have created no 'fonts' array at all, then the default
+ font (indentifier '1') is the current font, so that you
+ can create virtual duplicates of already existing characters.
+
+ Note: this does not work the other way. There can not be
+ 'real' characters in a virtual font!
+
+* Truetype-based opentype fonts no longer require Acrobat 7
+ t(hey are now written out as if they are normal truetype).
+
+* A lua init script can now set 'texconfig.formatname' and/or
+ 'texconfig.jobname'. If ther is no file or format specified
+ on the commandline, then, if, one of those keys is present,
+ that key will be used instead of simply quitting with an
+ error.
+
+* Placement of boxes and rules in right-to-left mode is debugged,
+ and now seems to work ok.
+
+* Virtual font loading is debugged.
+
+* Some memory leaks are resolved
+
+* HZ font expansion should work ok again, but is not tested.
+
+* a few of the warning during opentype loading have been removed
+ because the problems are rather harmless and turned out to be
+ triggered by almost every font.
+
+
+==============================================================
+Luatex snapshot-20070218 was released 20070218
+==============================================================
+
+* The pdftex stuff is now updated to 1.40.3
+ (and on top of that, it still has those extra patches announced in
+ snapshot 20070202)
+
+* The virtual font parser is debugged and now appears rather stable.
+
+* There is one extra virtual command:
+
+ "commands" = {
+ {"slot", 1, 97}, -- place character 97 'a' in local font 1.
+ }
+
+ This is just a shortcut for {"font",1}, {"char", 97}
+
+* Some small memory leaks have been fixed. Luatex does not leak big
+ time, but I'd like to get back to valgrind reporting '0 out of 0',
+ instead of the current 800 bytes or so (that is a slow process).
+
+* You can read a truetype or opentype font from within lua code
+ using font.read_ttf() or font.read_otf(), respectively.
+
+ This feature uses a fair bit of the fontforge code, making the
+ binary rather a bit larger than before. Just so you know.
+
+ Apple (AAT, as well as encoding) support is still largely missing,
+ and bitmap-only and old Multiple-Master truetype fonts are not
+ supported at all (and never will be).
+
+ The output format is (shadily) documented in the reference manual.
+ At the moment, it very closely resembles the internal font stucture
+ that is used by fontforge.
+
+* LuaTeX can now write wide OpenType fonts to the PDF file.
+
+ There is no subsetting support yet, and a ToUnicode CMap is also
+ still missing, but nevertheless it is already somewhat useful. The
+ rule is very simple: if a font uses code points above 255, then it
+ is considered to be a `wide' font, and it will be written out as
+ a Type0 CID-keyed font to the PDF.
+
+ Caveat: Getting suitable metrics into LuaTeX can be a bit of problem
+ right now, because font.read_otf() does not produce anything that
+ can be fed back into define_font without extra processing. Hans has
+ some experimental Lua code for ConTeXt (of course :-)) and that is
+ how I know it works. You can expect a nicer interface soon,
+ hopefully next week, in the form of a simplistic table conversion
+ routine.
+
+* I have started work on supporting Aleph's bidi typesetting in PDF
+ mode as well, simple text seems to be largely ok. More complicated
+ documents will no doubt still show some bugs, but fixing those will
+ be easy (once they are discovered). Exactly what happens with specials
+ is not yet investigated.
+
+* Omega's (16-bit) wide virtual fonts now work OK in PDF mode. This
+ means that many Aleph files can now be run in PDF mode directly.
+ (the documents that use UTF-8 input encoding)
+
+
+==============================================================
+Luatex snapshot-20070202 was released 20070202
+==============================================================
+
+
+* The pdftex stuff is now updated to 1.40.2, and on top of that, it has
+
+ - an extra patch from Han The Thanh that adds a primitive to control
+ the merging of fonts from external pdf images (\pdfreplacefonts),
+ and a bugfix for virtual font handling.
+
+ - an extra patch by Hartmut Henkel that removes a number of malloc()s
+ and free()s from the calls to the compression library, thereby
+ making luatex run a bit faster.
+
+* luatex now happily accepts the following low-level syntax:
+
+ \font\myfont = <general text> <at specifier>
+
+ It feeds the <general text> to either kpathsea or a lua script for
+ further processing after stripping the braces.
+
+ In itself, this is not all that useful, but the reason for this
+ syntax extension is that it paves the road for a macro package
+ to do something like this:
+
+ \font\myfont = {font="Times New Roman", color="\darkred",
+ encoding="ec", features="liga", size=10bp}
+
+ without having to resort to system-specific quoting mechanisms.
+ Macro (and other) expansion takes inside the braced argument.
+
+ (I am considering adding this extension to \input as well).
+
+* It is now possible to define a font into the font.fonts[]
+ directly from lua, but becayse use is limited, I am only
+ mentioning it to be complete.
+
+ Syntax:
+ <number> id = font.define(<table> font)
+
+* There is a (not very reliable yet) virtual font parser accessible
+ from lua.
+
+ Syntax:
+ <table> vfdata = font.read_vf(<string> name, <number> size)
+
+ The interpreter tries to give a reasonable representation of a
+ virtual font file (the .vf file). Besides a few simple top-level
+ items:
+
+ designsize -- in scaled points
+ size -- also in sp
+ name -- the file name
+ checksum -- the vf checksum
+ header -- the header comment (if any)
+
+ it also has a top-level array 'fonts' wherein each item is a mini-
+ array describing one of te mapped fonts. An example makes this
+ easy to understand
+
+ "fonts" = { {"ptmr8a",655360}, {"psyr", 600000} }
+
+ says that the first referenced font (index 1) in this virtual font
+ is ptrmr8a.tfm loaded at 10pt, and the second is psyr.tfm loaded
+ at a little over 9pt. These index numbers are used by the character
+ command definitions that follow.
+
+ At top level, there is a 'characters' array, just as for a normal
+ font, except that each item has only two keys:
+
+ "width" -- the tfm width (as stored in the .vf)
+ "commands" -- an array of virtual font commands for a character.
+
+ each of the items in the 'commands' array is itself a tiny hash.
+
+ Each of those mini-hashes represents a single character packet
+ command. Here is a 'commands' entry that contains every possible
+ one at least once:
+
+ "commands" = {
+ {"push"}, -- remember where we are
+ {"right", 5000}, -- move right 0.08pt
+ {"font", 1}, -- select the fonts[1] entry
+ {"setchar", 97}, -- place character 97 'a'
+ {"pop"}, -- go all the way back
+ {"down", -200000}, -- move *up* about 3pt
+ {"special", "pdf: 1 0 0 rg"} -- switch to red color
+ {"rule", 500000, 20000} -- draw a bar
+ {'special',"pdf: 0 g"} -- back to black
+ }
+
+
+* But the big news is that you can now define your own virtual fonts
+ on the fly, by adding a few statements to the table returned to
+ the 'define_font' callback.
+
+ There are a few requirements:
+
+ - The table has to have a top-level key 'type', and it's value
+ must be 'virtual'.
+
+ The presence of this key with the specific value 'virtual'
+ will trigger handling of the rest of the special virtual font
+ fields in the table, but the mere existance of 'type' is
+ enough to prevent luatex from looking for a virtual font
+ on its own.
+
+ Therefore, this also works 'in reverse': if you are absolutely
+ certain that a font is not a virtual font, assigning the value
+ 'base' or 'real' to 'type' will inhibit tex from looking for a
+ virtual font file, thereby saving you a disk search.
+
+ - There must be a top-level 'fonts' array, as explained above.
+ Any fonts that are not yet known to luatex at that moment,
+ will be loaded automatically (Warning: do not ever use a font
+ in 'fonts' with the same name you will return in the table you
+ are defining right now!).
+
+ - Each and every character in the fonts needs to have a 'commands'
+ key, as explained above.
+
+ The main point behind these restrictions is that a font is
+ *either* a base font *or* a virtual font. It cannot be both
+ at the same time.
+
+
+==============================================================
+Luatex snapshot-20070126 was released 20070126
+==============================================================
+
+
+* Underscores in pascal identifiers are now retained.
+
+ This took quite a bit of work. The web2c conversion tools
+ needed only small adjustments, but most of the existing C
+ code depended on the removal of the underscores. I had to
+ go through changing many lines. 99% of all identifiers are
+ now written the same on the pascal side as on the C side.
+ This makes writing interface code quite a bit less confusing.
+
+ Not everything is completely clean yet, because I did
+ not want to change the web2c-specific C files. I often
+ took the other approach and removed the underscores
+ from the web2c options (like 'parsefirstlinep') in the
+ change file instead. Ugly, but predictable.
+
+ There is about a dozen or so of #defines left, that map
+ memoryword -> memory_word
+ strpool -> str_pool
+ etc.
+
+* The virtual font parsing and interpreting is now done in C.
+ (this is because it needs to be interfaced with the lua-based
+ font loader)
+
+* I am in the process of merging: the VF stuff; the TFM stuff;
+ the lua font loading; and the pdftex font backend into one
+ interface, so there were some smallish changes relating to
+ that as well. Nothing worth mentioning just yet except that
+ luatex now will read "ovf" files as well as "vf" files.
+
+* There are a few really small bugfixes for bug reports I received
+ on this list and by email.
+
+==============================================================
+Luatex snapshot-20070119 was released 20070119
+==============================================================
+
+The largest new bit is the existence of a font.fonts array, that you
+can use to query/adjust the internal defined tex fonts. See the manual
+for more details.
+
+Two small new lua extensions are added as well:
+
+ * os.setenv() -- to change the environment
+ * os.exec() -- a non-returning os.execute()
+
+And a bit of cleanup in the commandline processing.
+
+
+==============================================================
+Luatex snapshot-20070117 was released 20070117
+==============================================================
+
+* the pdftex core is updated to 1.40.1, and web2c to 7.5.6
+
+* the pdftex-specific documentation is removed
+
+* lua lpeg library updated to 0.4
+ ( http://www.inf.puc-rio.br/~roberto/lpeg.html )
+
+* the C part of the lua md5 library is added to the binary
+ ( http://www.inf.puc-rio.br/~roberto/md5/md5-5/md5.html )
+
+* --luaonly now puts the script itself at arg[0], and
+ preceding commandline items in the negative indices
+ (instead of starting the count at zero).
+ This new approach is compatible with the standalone lua
+ interpreter.
+
+
+==============================================================
+Luatex snapshot-20070107 was released 20070107
+==============================================================
+
+Hot on the heels of 20070105, a new snapshot. It turns out
+that using the callback to define a font broke all ligatures.
+This snapshot fixes that, and it has a few minor updates to
+the manual. Next shapshot will be after the inclusion of
+pdftex 1.40.1.
+
+==============================================================
+Luatex snapshot-20070105 was released 20070105
+==============================================================
+
+ * the calculations that converted lua strings into tex units
+ were horrendously wrong, this was discovered by Pawel.
+
+ * io.lines() was still using the old, line ending sensitive,
+ code from the lua core distribution
+
+ * The main font memory is allocated as needed^(1) instead of
+ statically pre-allocated.
+
+ * ligatures and kerns are separated completely from each other,
+ so use of \noligatures no longer inhibits kerning as well
+
+ * Metrics can be loaded using a callback: 'define_font'.
+ The value returned should be a lua table representing a tfm
+ file.
+
+ * there is a new lua table: font. It has one function:
+ font.read_tfm() that returns a table reprentation of the tfm
+ contents, for use with the above mentioned callback
+
+ * I dropped suppport for "Level 1" OFM files. I would like
+ to have a try at those extended font files, but I lack
+ examples (fonts nor documents). I am not even sure such
+ fonts have ever existed in the 'real world'.
+
+
+
+==============================================================
+Luatex snapshot-20061208 was released 20061208
+==============================================================
+
+* There is a new switch: --safer. This disables a number of lua
+ functions that are more or less dangerous (a detailed list is
+ in the manual)
+
+* Two longstanding bugs have been fixed: \latelua works once
+ again (patch by Hartmut) and a bug that caused mysterious crashes
+ turned out to be a problem inside the paragraph builder
+ (reconstitution of ligatures)
+
+* Six new string iterators have been added to the string library:
+ string.characters (one 1-letter string)
+ string.bytes (one byte)
+ string.characterpairs (two 1-letter strings)
+ string.bytepairs (two bytes)
+ string.utfcharacters (a one-character utf-8 string)
+ string.utfvalues (a unicode code point number)
+
+* The top 256 values of the unicode range (starting at hex
+ value "10FF00) are now reserved for byte output. Characters
+ in that range will be written by luatex after substracting
+ that offset. The net result is that \char"10FFA9 is written
+ as byte value hex A9 = decimal 169 = copyright sign in latin1
+
+ This trick allows byte-oriented output to \pdfliterals and
+ \specials, but should be considered very experimental.
+
+* There is a new callback called 'process_input_buffer' that can
+ be used to mutate the line buffer just before LuaTeX actually
+ starts looking at it.
+
+* The statistics table now has readable items
+ statistics.inputid
+ statistics.lasterrorstring
+ that represent TeX's current input id and the last error string
+
+* The show_error_hook callback no longer receives any arguments
+* There is a new switch: --safer. This disables a number of lua
+ functions that are more or less dangerous (a detailed list is
+ in the manual)
+
+* Two longstanding bugs have been fixed: \latelua works once
+ again (patch by Hartmut) and a bug that caused mysterious crashes
+ turned out to be a problem inside the paragraph builder
+ (reconstitution of ligatures)
+
+* Six new string iterators have been added to the string library:
+ string.characters (one 1-letter string)
+ string.bytes (one byte)
+ string.characterpairs (two 1-letter strings)
+ string.bytepairs (two bytes)
+ string.utfcharacters (a one-character utf-8 string)
+ string.utfvalues (a unicode code point number)
+
+* The top 256 values of the unicode range (starting at hex
+ value "10FF00) are now reserved for byte output. Characters
+ in that range will be written by luatex after substracting
+ that offset. The net result is that \char"10FFA9 is written
+ as byte value hex A9 = decimal 169 = copyright sign in latin1
+
+ This trick allows byte-oriented output to \pdfliterals and
+ \specials, but should be considered very experimental.
+
+* There is a new callback called 'process_input_buffer' that can
+ be used to mutate the line buffer just before LuaTeX actually
+ starts looking at it.
+
+* The statistics table now has readable items
+ statistics.inputid
+ statistics.lasterrorstring
+ that represent TeX's current input id and the last error string
+
+* The show_error_hook callback no longer receives any arguments
+
+* The statistics table now has readable items
+ statistics.luabytecodes
+ statistics.luastates
+ statistics.luabytecode_bytes
+ statistics.luastate_bytes
+ for memory statistics reporting
+
+
+* The statistics table now has readable items
+ statistics.luabytecodes
+ statistics.luastates
+ statistics.luabytecode_bytes
+ statistics.luastate_bytes
+ for memory statistics reporting
+
+
+==============================================================
+Luatex snapshot-20061204 was released 20061204
+==============================================================
+
+* The LuaTeX interpreter can now be run as a standalone lua script
+ processor, by using a commandline like this:
+
+ luatex --luaonly=luatools.lua
+
+* Luafilesystem (http://www.keplerproject.org/luafilesystem/ ) is
+ included.
+
+* There are a total of eight new file discovery callbacks:
+ find_vf_file
+ find_ocp_file
+ find_map_file
+ find_enc_file
+ find_sfd_file
+ find_pk_file
+ find_data_file
+ find_opentype_file
+ this enhances the orthogonality of the callback system, nothing
+ fundamental is changed.
+
+* There is a new callback called 'process_input_buffer' that can
+ be used to mutate the line buffer just before LuaTeX actually
+ starts looking at it.
+
+* The 'reader' and 'close' functions from 'open_read_file' now
+ receive the table they are defined in as a function argument,
+ that can be used as a per file localized data store.
+
+* Updated the Lua to the latest 5.1.1, with all known bug patches
+ from the website applied as well
+
+* Runtime autoloading of lua .so files is now off on all platforms.
+
+* The statistics table now has readable items
+ statistics.filename
+ statistics.linenumber
+ that represent TeX's current file name and line number
+
+* The support for user-defined type3 font .pgc files and the
+ associated 'read_miscfonts_file' callback has been removed.
+ (nobody used it anyway)
+
+* General cleanups to the source tree and build process.
+
+==============================================================
+Luatex snapshot-20061023 was released 20061023
+==============================================================
+
+* there was a missing callback: find_font_file
+* program_invocation_name was not set
+* buf_size could not be more that 300k
+
+
+==============================================================
+Luatex snapshot-20061013 was released 20061013
+==============================================================
+
+Last friday I uploaded a new snapshot and today I finally
+finished updating the manual to go with it. The changes all
+relate to startup, file i/o, and callbacks. The main achievement
+is: you can now run luatex without it *ever* initializing kpathsea.
+
+Because I am lazy, I have checked in the pdf of the manual
+as well, so that I can say: Please look at
+
+ https://foundry.supelec.fr/plugins/scmsvn/viewcvs.php/manual/
+ /luatexref-t.pdf?root=luatex&rev=148&view=log
+
+for all the details. :-)
+
+==============================================================
+Luatex snapshot-20061002 was released 20061002
+==============================================================
+
+
+* Some infrastructure changes:
+
+ libs/slnunicode-0.9.1/ renamed to libs/slnunicode/
+ libs/zziplib added
+ libs/luazip added
+
+ (zziplib is using a different version of autofoo. I know I have
+ messed up something in the build process, but the bit we need
+ compiles ok so I've postponed attempting to fix it)
+
+* The callback logic has changed quite a bit.
+
+ - all callbacks are now only possible in lua state 0.
+
+ - The callback 'input_line' has disappeared, and is replaced by
+ 'open_read_file'. One of the return values of that callback
+ is a table that defines a 'reader' function for line reading.
+
+ See the manual for further information on this.
+
+ - There are some new callbacks for the reading of various binary
+ files. The current ones are:
+
+ "read_ocp_file", "read_vf_file", "read_data_file", "read_font_file",
+ "read_map_file".
+
+ The rest of the file types will follow soon (fonts, enc files, and
+ images).
+
+ - There are also some new callbacks that 'find' a file's pathname:
+
+ "find_truetype_file", "find_type1_file", "find_image_file"
+
+ here too, more will follow later.
+
+ - the functions from io. that were copied to texio have been removed
+ again. The new callbacks do not pass file pointers around, so
+ they ere not longer needed
+
+ - the 'open_write_file' is temporarily unavailable
+
+* startup.lua is now always loaded into lua state 0
+
+* The luazip library from kepler is linked in, so there the table 'zip'
+ is accessible from all lua states.
+
+==============================================================
+Luatex snapshot-20060922 was released 20060922
+==============================================================
+
+* The texio table has gained a new function:
+
+ tex_file = texio.open(filename)
+
+ returns a file handle of a type that luatex can use
+ internally (the return of io.open is unusable in callbacks
+ because it will be garbage-collected at a random time)
+
+
+* In related news, there are two new callbacks you can define:
+
+ callback.register('open_read_file', f)
+ callback.register('open_write_file', f)
+
+ where your function should have the following conventions:
+
+ function f (number id_number, string asked_name)
+ return boolean success, string actual_name, tex_file filep
+ end
+
+ id_number: zero for the log or \input files or TeX's \read
+ number incremented by one (\read0 becomes 1).
+ asked_name: the user-supplied filename
+
+ success: return false for error, true otherwise.
+
+ The remaining two items are only looked at if you return true:
+
+ actual_name: the true filename used (with extension!)
+ filep: a file object opened though texio.open()
+
+
+* The tex.print function has an extra optional parameter:
+
+ tex.print(ctt_id n, strings ...)
+
+ This prints the strings using the catcode regime defined by
+ \catcodetable n (assuming n is valid, see below)
+
+* The new function tex.sprint has the same lua conventions as
+ tex.print, but behaces slightly different on the tex side:
+
+ ** tex does not switch to the 'new_line' state (this implies
+ that leading spaces are not ignored)
+ ** no \endlinechars are inserted
+ ** trailing spaces are not removed from the argument
+
+* Catcode tables are a completely new feature, that allows
+ you to switch the current catcode regime in one simple
+ statement:
+
+ \catcodetable <count>
+
+ Switches to the use of a different set of catcodes (table),
+ that is stored under the number <count>. Such a table has to
+ be previously created using one of the two command below, or
+ the number 0 (which is pre-inititialized)
+
+ This command obeys normal grouping rules.
+
+ \initcatcodetable <count>
+
+ creates a new, global, independent catcode table with catcodes
+ matching the code that are predefined by initex (tex -ini).
+
+ This allocation is global
+
+ \savecatcodetable <count>
+
+ copies the current set of catcodes to a new, global, table
+ with id number <count>. The definitions in this new table
+ are all treated as if they were made in the outermost level.
+
+ This allocation is global
+
+ At the end of each grouping level, items within all existing
+ catcodetables are restored, regardless of which one is the
+ currently active table.
+
+ Catcode table numbers cannot be larger than 0xFFFFFFF (228-1)
+
+* There is a new lua table: lua. It contains three read-only
+ items:
+
+ lua.id -- the id number of the instance
+ lua.version -- a luatex version identifier string
+ lua.startupfile -- the full filename (+path) of startup.lua
+
+ and it also contains a read/write array:
+
+ lua.bytecode[] -- lua executable bytecode
+
+ This array can be used to save and restore lua functions
+ across lua states. The accepted values are for assignments
+ are functions and nil. Likewise, the retrieved value is
+ either a function or nil.
+
+ The contents of the lua.bytecode array is stored inside the
+ format file, so it can also be used to preload lua code.
+
+
+* The format files are quire a bit smaller than before
+
+
+==============================================================
+Luatex snapshot-20060915 was released 20060915
+==============================================================
+
+* There is a new TEX primitive: \formatname. It is similar
+ to \jobname (read-only). In initex, the expansion is empty,
+ otherwise the expansion is the same as the \jobname from
+ the initex run.
+
+* the lua "tex" table has been expanded with a few of the 'convert'
+ codes (read-only). The supported ones at this moment are:
+
+ tex.eTeXVersion
+ tex.OmegaVersion
+ tex.AlephVersion
+ tex.pdftexrevision
+ tex.pdftexbanner
+ tex.pdfnormaldeviate
+ tex.jobname
+ tex.formatname
+ tex.eTeXrevision
+ tex.Omegarevision
+ tex.Alephrevision
+
+ This list looks haphazard, but it really is not. These are
+ all the cases of the 'convert' internal command that do not
+ require an argument.
+
+* The metatables of the subtables like tex.dimen[] etc. are now
+ adjustable from lua (not that I recommend doing that;-)).
+
+* On the lua side, there is a new global value: "luaid"
+ It holds the internal id number of this \directlua instance.
+
+* There is a new lua table, "callback", that has the single function
+ "callback.register", used to register callbacks. This replaces
+ the previous concoction (see my message about snapshot 20060901).
+ Syntax is :
+
+ callback.register(<callback name>,function (f) ... end)
+
+ where the <callback name> is for the moment, either "input_line"
+ or "show_error_hook".
+
+ This function internalizes the callback function in such a way
+ that you no longer have to worry about \luacallback (which has
+ been removed), nor does it matter if you redefine a function
+ accidentally.
+
+ The internal testing for callback presence is also quite a bit
+ faster, thanks to this change. Callback assignments are global
+ and the "input_line" always takes effect starting on the next
+ input line to be read from an actual file.
+
+
+* \detokenizedlua has been removed. It is functionally replaced by
+ the new function call tex.write("").
+
+ Each argument to each call of tex.write () counts as an input
+ line, but:
+ ** all catcodes on that line are either 'space' (for " ") or
+ 'character' for all others.
+ ** there is no \newlinechar appended.
+
+* The implementation of tex.print() has changed as well:
+
+ ** the very last tex.print() line from a \directlua
+ will no longer have a trailing \newlinechar
+ (this is very convenient when \directlua is used
+ within an \edef)
+ ** tex.print() is quite a lot faster than before, and the total amount
+ of returnable text from a \directlua is now only limited by
+ available system RAM. However, each separate tex.print ()
+ argument has to fit in TeX's input buffer.
+
+* The new primitive \luastartup can be set inside the format file
+ to specify the lua instance number in which a possible runtime
+ startup.lua script is executed (initex always uses 0)
+
+* There is a new primitive \scantextokens. Differences with
+ eTeX's \scantokens are:
+
+ ** the last line (usually only) from \scantextokens
+ does not have a \newlinechar
+
+ ** \scantextokens never raises an eof error.
+
+ This means things like
+
+ \edef\testone
+ {\scantextokens{\ifnum1=1 true}\else false\fi}
+
+ are legal input (but potentially dangerous!).
+
+* If you say
+ local d = tex.dimen["unknowndimen"]
+ 'd' will now become "nil" instead of raising an error
+
+ However,
+ tex.dimen["unknowndimen"] = d
+ is still (and probably will remain) illegal
+
+==============================================================
+Luatex snapshot-20060908 was released 20060908
+==============================================================
+
+* BIG CHANGE: \directlua now runs \scantokens internally.
+
+ There is no longer a need to call scantokens yourself, the
+ tex.print() output is now fed straight into a pseudo file.
+ This is quite a bit faster as well as easier to use, but
+ just in case you want it, the old behaviour is still present,
+ under the new name
+
+ \detokenizedlua
+
+
+* The texio library now has its own (partial) set of I/O commands,
+ so that the standard lua io library is back to the distributed
+ state (no more patched garbage collector)
+
+ Note: This is really a very small change (it should not have any
+ impact on wellbehaved input files), but I attempt to be complete
+ in these notes, since there is no official documentation yet.
+
+
+* There is a new standard library available: kpse
+
+ The most important function in that library is find_file:
+
+ string = kpse.find_file(string filename
+ [,string type]
+ [,boolean mustexist])
+
+ both "type" and "mustexist" are optional, so the function
+ has from one upto three arguments.
+
+ "type" is like the '-format' argument of kpsewhich. You can
+ run 'kpsewich -h' for a list. The default type is "tex".
+
+ "mustexist" is like '-must-exist', and the default is false.
+ If you specify "true" (or a nonzero integer), then the kpse
+ library will search the disk as well as the ls-R databases
+
+ The new library also has three other functions that map
+ straight to kpsewhich commandline options:
+
+ string = kpse.expand_path(string)
+ string = kpse.expand_var(string)
+ string = kpse.expand_braces(string)
+
+* There is a second callback possibility:
+
+ texio.show_error_hook(string message,
+ string|number indicator,
+ number lineno)
+
+ This command is run from inside the TeX error function, and the
+ idea is to allow you to do some extra reporting on top of what
+ TeX already does (none of the normal actions are removed).
+
+ "message" is the formal error message tex has given to the
+ user (the line after the "! ")
+ "indicator" is either a filename (when it is a string) or a
+ location indicator (a number) that can means lots of different
+ things like a token list id or a \read number.
+ "lineno" is the current line number
+
+ This is an investigative item only, comments are welcome but do
+ not take the syntax seriously.
+
+ The final goal IMO is the total replacement of TeX's error
+ handling routines, but that needs lots of adjustments
+ in the web source because TeX deals with errors in a somewhat
+ haphazard fashion (it needs unification first). The current
+ hook is only for 'testing the water'.
+
+* It is now possible to use named items in the
+
+ tex.count[]
+ tex.dimen[]
+ tex.toks[]
+
+ subtables, so you can have
+
+ tex.count.scratchcounter = 0
+ local enormous = tex.dimen["maxdimen"]
+
+ Luatex looks up the value for you on the fly. You have to use a
+ valid \countdef (or \dimendef, or \toksdef), anything else will
+ generate an error.
+
+ In a normal TeX file, you don't do \dimen\maxdimen, but the
+ lua syntax seems to be a bit cleaner to me. The intention is
+ to evntually also allow \chardefs and macros that expand
+ into a number (todo)
+
+
+* The tex table has also been extended with a large list of internal
+ parameters (partially read/write). It is possible to access
+ about every primitive that you can use after \the *and* is a
+ single token. So there is
+
+ integer = tex.tracingcommands (\the\tracingcommands)
+ integer = tex.prevgraf (\the\prevgraf)
+ string = tex.output (\the\output)
+
+ etc. for all of the internal parameters, but not the items
+ that need extra arguments (like \the\scriptfont )
+
+ The subset comprising simple integer and dimension registers
+ are writable as well as readable (stuff like \tracingcommands
+ and \parindent).
+
+ The fact that both lists are still quite limited is a result of
+ the very different types of things that can occur after \the and
+ also on the LHS of an assignment. The remaining primitives will
+ be filled in when there is a real need or implementation becomes
+ simple, whichever comes first.
+
+
+
+==============================================================
+Luatex snapshot-20060901 was released 20060901
+==============================================================
+
+All changes are related to lua this time, and most are quite unstable
+/ experimental. But first the things that are stabel/fixed bugs:
+
+* A VF loading bug that turned up in some of Hans' fonts
+ has been fixed
+
+* A small series of bounds checking fixes to \ocplist has been
+ added to prevent the system from crashing due to array indexes
+ running out of bounds.
+
+* The Lua file searching paths are now fixed. The search path for lua
+ script files now contains the following items (tried in order)
+ 1. the local directory:
+ ./?.lua
+ (for document-specific files)
+ 2. the items from the expansion of kpathsea's $TEXMFSCRIPTS variable,
+ but only the parts containing 'lua' as a subpath:
+ $TEXMFSCRIPTS<lua>/?.lua
+ $TEXMFSCRIPTS<lua>/?/init.lua
+ (for format-specific files)
+ 3. the $SELFAUTOPARENT sibling directory named 'lib'.
+ $SELFAUTOPARENT/lib/lua/5.1/?.lua
+ $SELFAUTOPARENT/lib/lua/5.1/?/init.lua
+ (for files that are not related to tex)
+
+ The search path for dynamic libraries has only
+ 1. the local directory:
+ ./?.so
+ (for document-specific files)
+ 2. and the $SELFAUTOPARENT sibling directory named 'lib'.
+ $SELFAUTOPARENT/lib/lua/5.1/?.so
+
+ (of course the extension is .dll on windows, but .dlls do not
+ work at the moment so it will not do you much good)
+
+* There are two functions available within a new table called
+ texio:
+ texio.write (luastring)
+ texio.write_nl (luastring)
+ both write the luastring to the same location(s) TeX writes
+ its stuff. So if \batchmode is on, it writes only to the
+ log, inside a \write, it prints to the current write file,
+ etc.
+
+ A read|write interface to TeX's "file selector" will
+ follow shortly.
+
+* At startup, luatex searches for a script named
+ startup.lua
+ in the path list I explained above. If such a file exists, it is
+ loaded.
+
+ This happens right before the first input file needs to be opened
+ (that is after format loading, but before any \everyjob tokens).
+
+ From within the script, you can check the value of
+
+ tex.formatname
+
+ that is the 'format identification' as used by TEX. When the variable
+ is equal to nil, luatex in in 'initex' mode, otherwise it will be
+ something like: " (format=plain 2006.9.1)"
+
+
+Now for the experimental portion: callbacks. Here is what I have done
+so far:
+
+* The main reason for wanting startup.lua is file (input) re-encoding.
+ For this purpose, it is now possible to set up a callback for
+ luatex to execute.
+
+ If you attach a Lua function to
+
+ texio.input_line
+
+ then from the next input line onwards, luatex will run that
+ function whenever it needs a new input line from a text file.
+
+ Your function will receive a file handle as argument, and
+ should return either a string or nil (with nil signalling that
+ the end of file has occurred).
+
+ The trivial case is simply this:
+
+ function reader (f)
+ return f:read()
+ end
+ texio.input_line = reader
+
+
+ Warning: The implementation is not totally finished yet. For the
+ moment the file handle ("f" in the example) is a normal lua file,
+ with a simple but important restriction: you cannot alter its value.
+ You cannot f:close() it, or assign it a different value. luatex
+ will eventually close the file itself.
+
+ The restriction is a side-effect of a synchronisation problem with
+ the lua garbage collector. Because of this, it also was necessary
+ to turn off the automatic file closing code for normal lua io
+ files (In other words: you have to close yourself all the files
+ you opened yourself, and you should not close any files you did
+ not open yourself).
+
+ In the near future, "f" will become a special 'texio' file object
+ and the needed functionality from the normal io library will be
+ reimplemented. Along with that change, there will also be a callback
+ to open (i.e. find) files, and a simple interface to the compiled-in
+ kpathsea to use within that callback.
+
+
+==============================================================
+Luatex snapshot-20060825 was released 20060825
+==============================================================
+
+The main change in this snapshot is that it uses far less memory.
+luatex -ini on my linux machine went from 326Mb (last week) to
+93Mb (now), and "texexec luatex" now ends at 184Mb instead of
+over 1/2Gb.
+
+This is achieved by two big changes:
+
+* The \mathcode, \delcode, \catcode, \sfcode, \lccode and \uccode
+ tables are now sparse arrays that are implemented in C. They
+ are no longer part of the TeX "equivalence table" and because
+ each had 1.1 million entries with a few memory words each, this
+ makes a major difference.
+
+ See mathcodes.c and textcodes.c if you are interested in the
+ gory details, but be warned: the code is still extremely
+ rough and ugly. In particular, the dump and undump routines
+ are far from optimal, resulting in somewhat larger format files
+ than before (approx 1.3Mb larger with unicode-letters loaded,
+ 10k without); and the assignments do not show up when using
+ the etex tracing routines \tracingassigns and \tracingrestores
+ (code simply not written yet)
+
+* Single-character commands are no longer "special" internally,
+ they are stored in the hash just like the multiletter csnames.
+
+
+==============================================================
+Luatex snapshot-20060818 was released 20060818
+==============================================================
+
+The snapshot is up to par with Aleph-RC4 (from texlive devel)
+and the latest pdftex beta (even newer than 20060811). However,
+there are some differences, to summarize:
+
+* There is no pool file (all strings are embedded)
+
+* -8bit and -translate-file are silently ignored
+
+* There is no mltex nor enctex (conflicts with aleph)
+
+* The tex functionality is always present and enabled
+ (but see below about TeXXeT), so the asterisk or
+ -etex switch for initex is not needed
+
+* "plus 1 filllllllll" does not generate any errors from TeX
+
+* TeXXeT (from eTeX) is not present, so the primives
+ \TeXXeTstate
+ \beginR
+ \beginL
+ \endR
+ \endL
+ are missing
+
+* The experimental pdftex regex match operations are removed,
+ because that feature does not make much sense when lua is
+ available so the primitives
+ \pdfmatch
+ \pdflastmatch
+ are missing
+
+* The input translations from Aleph are not implemented, the
+ 16 related primitives are all missing
+ \DefaultInputMode
+ \noDefaultInputMode
+ \noInputMode
+ \InputMode
+ \DefaultOutputMode
+ \noDefaultOutputMode
+ \noOutputMode
+ \OutputMode
+ \DefaultInputTranslation
+ \noDefaultInputTranslation
+ \noInputTranslation
+ \InputTranslation
+ \DefaultOutputTranslation
+ \noDefaultOutputTranslation
+ \noOutputTranslation
+ \OutputTranslation
+ All file IO assumes UTF-8, except that all the low-ascii
+ controls except TAB, CR en LF are written to the terminal
+ using ^^ notation (even these are binary in the log file).
+
+* Input characters can use the full range of Unicode,
+ but it probably only makes sense to use values above
+ the base plane for \mathcode and \catcode assignments,
+ since the fonts as well as the hyphenation patterns
+ are strictly 16-bit still.
+
+* The primitives
+ \pdfpagewidth and \pagewidth,
+ \pdfpageheight and \pageheight,
+ \fontcharwd and \charwd,
+ \fontcharht and \charht,
+ \fontchardp and \chardp,
+ \fontcharic and \charic,
+ are all aliases of eachother.
+
+* The new primitive
+ \clearmarks<number>
+ clears a marks class completely.
+
+* The experimental pdftex primitives
+ \pdfprimitive
+ \ifpdfprimitive
+ \ifpdfabsnum
+ \ifpdfabsdim
+ and provided without the extra 'pdf' prefix, so they are
+ simply called
+ \primitive
+ \ifprimitive
+ \ifabsnum
+ \ifabsdim
+ instead.
+
+* I probably forgot to mention some things :-)
diff --git a/systems/doc/pdftex/manual/ChangeLog b/systems/doc/pdftex/manual/ChangeLog
index 70cf61a930..af506f2082 100644
--- a/systems/doc/pdftex/manual/ChangeLog
+++ b/systems/doc/pdftex/manual/ChangeLog
@@ -1,3 +1,33 @@
+2023-02-26 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\introducedplural): new macro.
+ (\pdfinterwordspaceon,off, \pdfspacefont): tweak Thanh's description.
+ Use \Lbrace, \Rbrace outside of \type.
+
+2023-01-20 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfliteral, \special): document new shipout keyword.
+ From Phelype Oleinik <phe.h.o1@gmail.com>, 16 Jan 2023 20:51:33,
+ mail to latex-team + karl.
+
+2022-12-22 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfomitprocset): document.
+
+2022-06-08 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (Graphics): never mind about "encapsulated PDF";
+ mention supp-pdf.tex and supp-pdf.mkii.
+
+2022-04-26 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex (\pdfinfoomitdict): document.
+
+ * pdfhelp-help.txt: regenerate for mailing list url.
+
+ * Makefile (pdftex-w.pdf): set KPATHSEA_WARNING=0 since we run
+ this with -ini.
+
2022-02-28 Karl Berry <karl@freefriends.org>
* pdftex-t.tex (ptex_devel): svn://tug.org url.
diff --git a/systems/doc/pdftex/manual/Makefile b/systems/doc/pdftex/manual/Makefile
index adbb1c7c95..481b8567b9 100644
--- a/systems/doc/pdftex/manual/Makefile
+++ b/systems/doc/pdftex/manual/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile 875 2022-03-01 02:08:10Z karl $
+# $Id: Makefile 879 2022-04-26 16:19:17Z karl $
# Makefile for pdfTeX documentation. Public domain.
# Get version we're documenting from the \def in the manual.
@@ -60,6 +60,7 @@ pdftex-w.txt: pdftex-w.pdf
pdftex_binary = ../../source/build-pdftex/texk/web2c/pdftex
pdftex-w.pdf: pdftex-w.tex Makefile
TEXFONTS=/usr/local/texlive/dev/texmf-dist/fonts// \
+ KPATHSEA_WARNING=0 \
$(pdftex_binary) -ini '$<'
@@ -68,7 +69,7 @@ pdftex-help.txt: force
$(pdftex_binary) --help >$@ || rm -f $@
force:
-# if we don't have a build tree around, just try from the path.
+# if we don't have a build tree around, try from PATH.
build_binary := ../../source/build-pdftex/texk/web2c/pdftex
ifneq "$(realpath $(build_binary))" ""
pdftex_binary := $(build_binary)
diff --git a/systems/doc/pdftex/manual/pdftex-a.pdf b/systems/doc/pdftex/manual/pdftex-a.pdf
index 4fa8985b52..6a03bc138c 100644
--- a/systems/doc/pdftex/manual/pdftex-a.pdf
+++ b/systems/doc/pdftex/manual/pdftex-a.pdf
Binary files differ
diff --git a/systems/doc/pdftex/manual/pdftex-syntax.txt b/systems/doc/pdftex/manual/pdftex-syntax.txt
index 31b92f29e9..6e8a42a305 100644
--- a/systems/doc/pdftex/manual/pdftex-syntax.txt
+++ b/systems/doc/pdftex/manual/pdftex-syntax.txt
@@ -27,10 +27,12 @@
\pdfinclusioncopyfonts (integer)
\pdfinclusionerrorlevel (integer)
\pdfinfoomitdate (integer)
+\pdfinfoomitdict (integer)
\pdfmajorversion (integer)
\pdfminorversion (integer)
\pdfobjcompresslevel (integer)
\pdfomitcharset (integer)
+\pdfomitprocset (integer)
\pdfoutput (integer)
\pdfpagebox (integer)
\pdfpkresolution (integer)
@@ -139,7 +141,7 @@
\pdfinfo <general text>
\pdfinterwordspaceoff
\pdfinterwordspaceon
-\pdfliteral [<pdfliteral spec>] <general text> (h, v, m)
+\pdfliteral [shipout] [direct | page] <general text> (h, v, m)
\pdfmapfile <map spec>
\pdfmapline <map spec>
\pdfnames <general text>
@@ -159,6 +161,7 @@
\pdfsavepos (h, v, m)
\pdfsetmatrix
\pdfsetrandomseed <number>
+\pdfspacefont <general text>
\pdfstartlink [<rule spec>] [<attr spec>] <action spec> (h, m)
\pdfthread [<rule spec>] [<attr spec>] <id spec> (h, v, m)
\pdftrailer <general text>
@@ -170,6 +173,7 @@
\special {pdf: <text> }
\special {pdf:direct: <text> }
\special {pdf:page: <text> }
+\special [shipout] {<general text> }
\vadjust [<pre spec>] <filler> { <vertical mode material> } (h, m)
%% Syntax rules:
@@ -225,7 +229,6 @@
<shrink> --> <number>
<step> --> <number>
<pre spec> --> pre
-<pdfliteral spec> --> direct | page
<pdfspecial spec> --> { [<pdfspecial id> [<pdfspecial modifier>]] <balanced text> }
<pdfspecial id> --> pdf: | PDF:
<pdfspecial modifier> --> direct:
@@ -235,3 +238,547 @@
| [<file spec>] [<goto-action struct spec>] [<page spec>] <general text>
| <file spec> [<goto-action struct spec>] <nameid> <newwindow spec>
| <file spec> [<goto-action struct spec>] [<page spec>] <general text> <newwindow spec>
+<text> }} is equivalent to \Syntax{\pdfliteral
+shipout { <text> }}.
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Strings}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfescapestring <general text>
+ (expandable)}}
+\bookmark{\pdfescapestring}
+================= ERROR
+Starting with version 1.30.0, \PDFTEX\ provides a mechanism for converting
+a general text into \PDF\ string. Many characters that may be needed inside
+such a text (especially parenthesis), have a special meaning inside a \PDF\
+string object and thus, can't be used literally. The primitive replaces each
+special \PDF\ character by its literal representation by inserting a backslash
+before that character. Some characters (\eg\ space) are also converted into
+3-digit octal number. In example, \type{\pdfescapestring{Text (1)}} will be
+expanded to \type{Text\040\(1\)}. This ensures a literal interpretation of the
+text by the \PDF\ viewer.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfescapename <general text>
+ (expandable)}}
+\bookmark{\pdfescapename}
+================= ERROR
+In analogy to \type{\pdfescapestring}, \type{\pdfescapename} replaces each
+special \PDF\ character inside the general text by its hexadecimal
+representation preceded by \type{#} character. This ensures the proper
+interpretation of the text if used as a \PDF\ name object. In example,
+\type{Text (1)} will be replaced by \type{Text#20#281#29}.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfescapehex <general text>
+ (expandable)}}
+\bookmark{\pdfescapehex}
+================= ERROR
+This command converts each character of <general text> into its
+hexadecimal representation. Each character of the argument becomes a pair of
+hexadecimal digits. \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfunescapehex <general text>
+ (expandable)}}
+\bookmark{\pdfunescapehex}
+================= ERROR
+This command treats each character pair of <general text> as
+a hexadecimal number and returns an \ASCII\ character of this code.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfstrcmp <general text>
+ <general text> (expandable)}}
+\bookmark{\pdfstrcmp}
+================= ERROR
+This command compares two strings and expands to \type{0} if the strings
+are equal, to \type{-1} if the first string ranks before the second, and
+to \type{1} otherwise. \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfmatch [icase]
+ [subcount <integer>] <general text>
+ <general text> (expandable)}}
+\bookmark{\pdfmatch}
+================= ERROR
+This command implements pattern matching (using the syntax of \POSIX\
+extended regular expressions). The first <general text> is a
+pattern and the second is a string. The command expands to \type{-1} if
+the pattern is invalid, to \type{0} if no match is found, and to
+\type{1} if a match is found. With the \type{icase} option, the matching
+is case-insensitive. The \type{subcount} option sets the size of the
+table storing the found (sub)patterns; its default is 10.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdflastmatch <integer>
+ (expandable)}}
+\bookmark{\pdflastmatch}
+================= ERROR
+The matches found with \type{\pdfmatch} are stored in a table. This
+command returns the entry for <integer>, in the format
+<position>\type{->}<string>; <position> is
+the position of the match (starting at zero) or \type{-1} if no match
+was found, and <string> is the matched substring.
+================= ERROR
+Entry~0 contains the match as a whole; the subsequent entries contain
+submatches corresponding to the subpatterns, up to \type{subcount-1}.
+================= ERROR
+If <integer> is less than zero, an error is given.
+================= ERROR
+For instance:
+================= ERROR
+\starttyping
+\pdfmatch subcount 3 {ab(cd)*ef(gh)(ij)}{abefghij}
+\pdflastmatch0 % "0->abefghij"
+\pdflastmatch1 % "-1->"
+\pdflastmatch2 % "4->gh"
+\pdflastmatch3 % "-1->"
+\stoptyping
+================= ERROR
+Entry~1 is empty because no match was found for \type{cd}, and entry~3
+is empty because it exceeds the table's size as set by \type{subcount}.
+\introduced{1.30.0}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Numbers}
+================= ERROR
+\pdftexprimitive{\Syntax{\ifpdfabsnum (expandable)}}
+\bookmark{\ifpdfabsnum}
+================= ERROR
+This conditional works like the standard \type{\ifnum}, except that it
+compares absolute values of numbers. Although it seems to be a trivial
+shortcut for a couple of \type{\ifnum x<0} tests, as a primitive it is
+considerably more friendly in usage and works a bit faster.
+\introduced{1.40.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\ifpdfabsdim (expandable)}}
+\bookmark{\ifpdfabsdim}
+================= ERROR
+Analogous to \type{\ifpdfabsnum}, this conditional works like
+\type{\ifdim}, except that it compares absolute values of
+dimensions. \introduced{1.40.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfuniformdeviate <number>
+ (expandable)}}
+\bookmark{\pdfuniformdeviate}
+================= ERROR
+Generate a uniformly-distributed random integer value between 0
+(inclusive) and <number> (exclusive). This primitive expands
+to a list of tokens. \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfnormaldeviate (expandable)}}
+\bookmark{\pdfnormaldeviate}
+================= ERROR
+Generate a normally-distributed random integer with a mean of~0 and
+standard deviation 65\,536. That is, about 68\% of the time, the result
+will be between $-65536$ and $65536$ (one standard deviation away from
+the mean). About 95\% of results will be within two standard
+deviations, and 99.7\% within three. This primitive expands to a list
+of tokens. \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfrandomseed (read-only integer)}}
+\bookmark{\pdfrandomseed}
+================= ERROR
+You can use \type{\the\pdfrandomseed} to query the current seed value,
+so you can \eg\ write the value to the log file. The initial value of
+the seed is derived from the system time, and is not more than
+1\,000\,999\,999 (this ensures that the value can be used with commands
+like \type{\count}). \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfsetrandomseed <number>}}
+\bookmark{\pdfsetrandomseed}
+================= ERROR
+Set the random seed (\type{\pdfrandomseed}) to a specific value,
+allowing you to replay sequences of semi-randoms at a later moment.
+\introduced{1.30.0}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Timekeeping}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfelapsedtime (read-only integer)}}
+\bookmark{\pdfelapsedtime}
+================= ERROR
+Return a number that represents the time elapsed from the moment of the
+start of the run. The elapsed time is returned in `scaled seconds',
+meaning seconds divided by 65536, \eg\ \PDFTEX\ has run for
+\the\pdfelapsedtime\ `scaled seconds' when this paragraph was
+typeset. Of course, the command will never return a value greater than
+the highest number available in \TeX: if the time exceeds 32767 seconds,
+the constant value $2^{31}-1$ will be returned. \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfresettimer}}
+\bookmark{\pdfresettimer}
+================= ERROR
+Reset the internal timer so that \type{\pdfelapsedtime}
+starts returning micro-time from~0 again. \introduced{1.30.0}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Files}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdffilemoddate <general text>
+ (expandable)}}
+\bookmark{\pdffilemoddate}
+================= ERROR
+Expands to the modification date of file <general text> in the
+same format as for \type{\pdfcreationdate}, \eg\ it's {\tt
+\pdffilemoddate {./pdftex-t.tex}} for the source of this manual. As of
+version 1.40.20, if the \type{SOURCE_DATE_EPOCH} and
+\type{FORCE_SOURCE_DATE} environment variables are both set,
+\type{\pdffilemoddate} returns a value in UTC, ending in \type{Z}.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdffilesize <general text>
+ (expandable)}}
+\bookmark{\pdffilesize}
+================= ERROR
+Expands to the size of file <general text>, \eg\ it's {\tt
+\pdffilesize {./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfmdfivesum
+ [file]
+ <general text> (expandable)}}
+\bookmark{\pdfmdfivesum\ file}
+================= ERROR
+If the keyword \type{file} is given, expands to the \MDFIVE\ of file
+\Somethingtext{general text} in uppercase hexadecimal format (same as
+\type{\pdfescapehex}). Without \type{file}, expands to the \MDFIVE\ of
+the \Somethingtext{generaltext} taken as a string. For example, it's
+{\tt \pdfmdfivesum file {./pdftex-t.tex}} for the source of this manual.
+\introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdffiledump
+ [offset <integer>]
+ [length <integer>]
+ <general text> (expandable)}}
+\bookmark{\pdffiledump}
+================= ERROR
+Expands to the dump of the first \type{length} \Somethingtext{integer}
+bytes of the file \Somethingtext{general text}, in uppercase hexadecimal
+format (same as \type{\pdfescapehex}), starting at offset
+\type{offset}~\Somethingtext{number}, or the beginning of the file if
+\type{offset}. If \type{length} is not given, the default is zero, so
+expands to nothing. Both \Somethingtext{integer}s must be $\ge0$. For
+example, the first ten bytes of the source of this manual are {\tt
+\pdffiledump length 10 {./pdftex-t.tex}}. \introduced{1.30.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\input <general text>
+ (expandable)}}
+\bookmark{\input}
+================= ERROR
+As of \TEXLIVE\ 2020, the \type{\input} primitive in all \TEX\ engines,
+including \PDFTEX, now also accepts a group-delimited filename argument,
+as a system-dependent extension, as in \type{\input} {
+\type{foo.tex} }. The usage of \type{\input} with a standard
+space/token-delimited filename is completely unchanged.
+================= ERROR
+This group-delimited argument was previously implemented in Lua\TEX; now
+it is available in all engines. \ASCII\ double quote characters
+(\type{"}) are removed from the filename, but it is otherwise left
+unchanged after tokenization.
+================= ERROR
+This extension is unlike most others in that it affects a primitive in
+standard \TEX\ (\type{\input}), rather than being related to a new
+primitive, command line option, etc. This is allowed because additional
+methods of recognizing filenames are explicitly mentioned in
+\type{tex.web} as acceptable system-dependent extensions.
+================= ERROR
+Incidentally, this does not directly affect \LATEX's \type{\input}
+command, as that is a macro redefinition of the standard \type{\input}
+primitive.
+================= ERROR
+\introduced{1.40.21}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Color stack}
+================= ERROR
+\PDFTEX\ 1.40.0 comes with color stack support (actually any graphic state
+stack).
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfcolorstackinit [page]
+ [direct] <general text> (expandable)}}
+\bookmark{\pdfcolorstackinit}
+================= ERROR
+The primitive initializes a new graphic stack and returns its number. Optional
+page keyword instructs \PDFTEX\ to restore the graphic at the
+beginning of every new page. Also optional direct has the same effect
+as for \pdfliteral primitive. \introduced{1.40.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfcolorstack <stack number>
+ <stack action> <general text>}}
+\bookmark{\pdfcolorstack}
+================= ERROR
+The command operates on the stack of a given number. If \Something{stack
+action} is push keyword, the new value provided as
+<general text> is inserted into the top of the graphic stack
+and becomes the current stack value. If followed by pop, the
+top value is removed from the stack and the new top value becomes the
+current. set keyword replaces the current value with
+<general text> without changing the stack size.
+current keyword instructs just to use the current stack value
+without modifying the stack at all. \introduced{1.40.0}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Transformations}
+================= ERROR
+Since the content of \pdfliteral is not interpreted anyhow, any
+transformation inserted directly into the content stream, as well as saving
+and restoring the current transformation matrix, remains unnoticed by
+\PDFTEX\ positioning mechanism. As a consequence, links and other annotations
+(that are formed in \PDF\ as different layer then the page content) are not
+affected by such user-defined transformations. \PDFTEX\ 1.40.0 solves this
+problem with three new primitives.
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfsetmatrix}}
+\bookmark{\pdfsetmatrix}
+================= ERROR
+Afine transformations are normally expressed with six numbers. First
+four (no unit) values defining scaling, rotating and skewing, plus two
+extra dimensions for shifting. Since the translation is handled by \TeX\
+itself, \pdfsetmatrix primitive expects as an argument a string
+containing just the first four numbers of the transformation separated
+by a space and assumes two position coordinates to be~0. In example,
+\type{\pdfsetmatrix{0.87 -0.5 0.5 0.87}} rotates the current space by 30
+degrees, inserting \type{0.87 -0.5 0.5 0.87 0 0 cm} into the content
+stream. \introduced{1.40.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfsave}}
+\bookmark{\pdfsave}
+================= ERROR
+The command saves the current transformation by inserting \type{q}
+operator into the content stream. \introduced{1.40.0}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfrestore}}
+\bookmark{\pdfrestore}
+================= ERROR
+The command restores previously saved transformation by inserting \type{Q}
+operator into the content stream. One should keep in mind that \pdfsave
+and \pdfrestore pairs should always be properly nested and should start
+and end at the same group level. \introduced{1.40.0}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Macro programming}
+================= ERROR
+Expansion-related.
+================= ERROR
+\pdftexprimitive{\Syntax{\expanded <tokens>
+ (expandable)}}
+\bookmark{\expanded}
+================= ERROR
+Expands <tokens> in exactly the same way as \type{\message}.
+In contrast to \type{\edef}, macro parameter characters do not need to
+be doubled. \type{\protected} macros are not expanded.
+\introduced{1.40.20}
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\ifincsname (expandable)}}
+\bookmark{\ifincsname}
+================= ERROR
+This conditional is true if evaluated inside \type{\csname ... \endcsname},
+and false otherwise.
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\ifpdfprimitive <control sequence>
+ (expandable)}}
+\bookmark{\ifpdfprimitive}
+================= ERROR
+This condition checks if the following control sequence has its
+primitive meaning. If it has, \type{\ifpdfprimitive} returns true. In
+any other case (redefined, made \type{\undefined}, has never been
+primitive) false is returned. \introduced{1.40.0}
+================= ERROR
+================= ERROR
+flapping\pdftexprimitive{\Syntax{\partokencontext <number>}}
+\bookmark{\partokencontext}
+================= ERROR
+The {\em par-token} (i.e., the token with the name given by
+\type{\partokenname}, or \type{\par} by default; see
+\type{\partokenname}, next) is inserted into the input stream in
+different places, according to the \type{\partokencontext} value. This
+value can be:
+================= ERROR
+0: {\em par-token} is inserted at empty lines (more exactly, when a
+ token category~5 is seen in state~$N$, reading a line); before
+ \type{\end}, \type{\vskip}, \type{\hrule}, \type{\unvbox}, and
+ \type{\halign}, if \TeX{} is in horizontal mode when those commands
+ are seen; and in various error recovery situations. These are the
+ standard cases, and this is the default value.
+================= ERROR
+1: {\em par-token} is inserted as above, and also at the end of
+ \type{\vbox}, \type{\vtop}, and \type{\vcenter}, if \TeX{} is in
+ horizontal mode at the time.
+================= ERROR
+2: {\em par-token} is inserted as above, and also at the end of
+ \type{\insert}, \type{\vadjust}, \type{\output}, \type{\noalign}, and
+ items of \type{\valign}, again if \TeX{} is in horizontal mode at the
+ time.
+================= ERROR
+With the default \type{\partokencontext=0}, \TEX\ behaves in its normal
+way: the situations in cases 1 and 2 are processed by a direct call of
+{\em end-paragraph} routine, with no emitted {\em par-token}.
+================= ERROR
+If \type{\partokencontext=1} then \TeX\ inserts the {\em par-token} in
+additional cases: when vertical boxes are completed but horizontal mode
+is not finished. Since vboxes are not uncommonly inserted directly by
+users, with horizontal mode material, this allows macro programmers to
+control all such boxes being finished by a {\em par-token}. An example:
+================= ERROR
+\starttyping
+\partokenname\_mypar
+\partokencontext=1
+\def\_mypar{Hi there!\endgraf}
+\vbox{Vbox text.}
+\stoptyping
+================= ERROR
+This will output ``\type{Hi there!''}\ after ``\type{Vbox text.}''.
+================= ERROR
+Finally, with \type{\partokencontext=2}, all cases where classical \TeX\
+uses the direct {\em end-paragraph} routine are changed to emit the {\em
+par-token} instead. In contrast to case~1, these commands are rarely
+invoked directly by users with horizontal mode material.
+================= ERROR
+The setting of the register \type{\partokencontext} is local.
+\introduced{1.40.24}
+================= ERROR
+\pdftexprimitive{\Syntax{\partokenname <control sequence>}}
+\bookmark{\partokenname}
+================= ERROR
+\TeX{} internally inserts a control sequence, named \type{\par} by
+default, into the input stream at empty lines, the end of vboxes, and
+various other places (see \type{\partokencontext}, above). Let's call this
+control sequence the {\em par-token}.
+================= ERROR
+Executing \type{\partokenname}<control-sequence> changes the
+name of the {\em par-token} from \type{\par} to the given
+<control-sequence>. The setting performed by
+\type{\partokenname} is global.
+================= ERROR
+This makes it possible to release the name \type{\par} to the ``user's
+name space'', i.e., after \type{\partokenname}, users can define and use
+\type{\par} as they wish without changing the behavior of anything
+internal to \TeX{}. For example:
+================= ERROR
+\starttyping
+\catcode`\_=11
+\partokenname\_mypar % use \_mypar at user level
+\let\_mypar=\par % make \_mypar equivalent to built-in \par
+\def\par{some random text} % redefine \par
+Hello world.
+================= ERROR
+Goodbye.
+\end
+\stoptyping
+================= ERROR
+This will not output ``\type{some random text}'' (the definition of
+\type{\par}), due to the \type{\partokenname} setting.
+================= ERROR
+By default, the meaning of the {\em par-token} is to end a paragraph
+(also named as \type{\endgraf} in the plain \TEX\ format). It can be
+changed as usual with, for example, \type{\def}. Naturally, it is the
+control sequence name given to \type{\partokenname} that must be
+redefined. Continuing the previous example (prior to the \type{\end}):
+================= ERROR
+\starttyping
+\def\_mypar{Hi there!\endgraf}
+Paragraph one.
+================= ERROR
+Paragraph two.\let\_mypar=\endgraf
+\stoptyping
+================= ERROR
+This will output ``\type{Hi there!''}\ after ``\type{Paragraph one.}'',
+before ending the paragraph.
+================= ERROR
+Another behavior of the {\em par-token} built into \TEX\ is that macros
+not defined as \type{\long} cause the error ``runaway argument'' if the
+{\em par-token} is scanned as a parameter. After
+\type{\setpartokenname}, it will be the new control sequence name that
+triggers this error, not \type{\par}. For example (still continuing the
+same example):
+================= ERROR
+\starttyping
+\def\amac#1{}
+\amac{long test, no error: \par}
+\amac{long test, gives error: \_mypar}
+\stoptyping
+================= ERROR
+\introduced{1.40.24}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfprimitive <control sequence>}}
+\bookmark{\pdfprimitive}
+================= ERROR
+This command executes the primitive meaning of the following control
+sequence, regardless of whether the control sequence has been redefined
+or made undefined. If the primitive was expandable, \type{\pdfprimitive}
+expands also. On the other hand, if the following control sequence never
+was a primitive, nothing happens and no error is raised. (In some
+versions of \PDFTEX\ prior to 1.40.19, an error was wrongly given.)
+\introduced{1.40.0}
+================= ERROR
+%***********************************************************************
+================= ERROR
+\subsection{Typesetting}
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfinsertht <integer>
+ (expandable)}}
+\bookmark{\pdfinsertht}
+================= ERROR
+If <integer> is the number of an insertion class, this command
+returns the height of the corresponding box at the current time.
+For instance, the following returns \type{12pt} in plain \TEX:
+================= ERROR
+\starttyping
+Abc\footnote*{Whatever.}\par
+\pdfinsertht\footins
+\stoptyping
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\pdflastxpos (read-only integer)}}
+\bookmark{\pdflastxpos}
+================= ERROR
+This primitive returns an integer number representing the absolute $x$
+coordinate of the last point marked by \type{\pdfsavepos}. The unit is
+`scaled points' (sp).
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\pdflastypos (read-only integer)}}
+\bookmark{\pdflastypos}
+================= ERROR
+Completely analogous to \type{\pdflastxpos}, returning the $y$ coordinate.
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\pdfsavepos (h, v, m)}}
+\bookmark{\pdfsavepos}
+================= ERROR
+This primitive marks the current absolute ($x,y$) position on the
+media, with the reference point in the lower left corner. It is active
+only during page shipout, when the page is finally assembled. The
+position coordinates can then be retrieved by the \type{\pdflastxpos}
+and \type{\pdflastypos} primitives, and \eg\ written out to some
+auxiliary file. The coordinates can be used only after the current
+\type{\shipout} has been finalized, therefore normally two \PDFTEX\
+runs are required to utilize these primitives. Starting with
+\PDFTEX\ 1.40.0, this mechanism can be used also while running
+in \DVI\ mode.
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\quitvmode}}
+\bookmark{\quitvmode}
+================= ERROR
+The primitive instructs \PDFTEX\ to quit vertical mode and start
+typesetting a paragraph. Thus, \type{\quitvmode} has the same basic
+effect as the \type{\leavevmode} macro from \type{plain.tex}. However,
+\type{\leavevmode} expands the \type{\everypar} tokens list, which may
+or may not be desired. \type{\quitvmode} does not expand
+\type{\everypar}. \introduced{1.21a}
+================= ERROR
+================= ERROR
+\pdftexprimitive{\Syntax{\vadjust
+ [<pre spec>]
+ <filler>
+ { <vertical mode material> }
+ (h, m)
diff --git a/systems/doc/pdftex/manual/pdftex-t.tex b/systems/doc/pdftex/manual/pdftex-t.tex
index 02af91417f..3df8c28ed7 100644
--- a/systems/doc/pdftex/manual/pdftex-t.tex
+++ b/systems/doc/pdftex/manual/pdftex-t.tex
@@ -1,7 +1,7 @@
% interface=english modes=letter,screen output=pdftex
% vim: tw=79
-% $Id: pdftex-t.tex 875 2022-03-01 02:08:10Z karl $
+% $Id: pdftex-t.tex 904 2023-02-26 18:01:11Z karl $
% The number of lines on the title page depends on exactly
% what \PDF\ code is generated.
@@ -38,9 +38,10 @@
August\or September\or October\or November\or December\else ERROR\fi}
}
-\svnscan $Id: pdftex-t.tex 875 2022-03-01 02:08:10Z karl $
+\svnscan $Id: pdftex-t.tex 904 2023-02-26 18:01:11Z karl $
-\def\currentpdftex{1.40.22}
+\def\versplit#1#2#3{#1.#2#3}% 140 -> 1.40
+\def\currentpdftex{\expandafter\versplit\the\pdftexversion.\pdftexrevision}
%***********************************************************************
@@ -181,6 +182,7 @@
% introduced
\def\introduced#1{The primitive was introduced in \PDFTEX\ #1.}
+\def\introducedplural#1{The primitives were introduced in \PDFTEX\ #1.}
% to get bookmarks for primitives like \ifpdfprimitive
\appendtoks\def\tex#1{\string\\#1}\to\simplifiedcommands
@@ -729,9 +731,9 @@ unused). The actual starting point of the file's object structure is
defined after the \type{trailer}: the \type{/Root} entry points to the
\type{/Catalog} object (no.~9). In this object the viewer can find the
pointer \type{/Pages} to the page list object (no.~5). In our example we
-have only one page. The trailer also holds an \type{/Info} entry, which
-points to an object (no.~10) with a bit more about the document. Just
-follow the thread:
+have only one page. The trailer also usually holds an \type{/Info}
+entry, which points to an object (no.~10) with a bit more about the
+document. We can follow the thread:
\startnarrower
\type{/Root} $\longrightarrow$ object~9 $\longrightarrow$
@@ -771,18 +773,19 @@ example only a \type{/Font} object (no.~4) is referenced, which in turn
tells that the text is typeset in \type{/Font} \type{/Times-Roman}. The
\type{/Font} object points also to a \type{/Widths} array (object no.~7)
that tells for each character by how much the viewer must move forward
-horizontally after typesetting a glyph. More details about the font
-can be found in the \type{/FontDescriptor} object (no.~8); if a font
-file is embedded, this object points to the font program stream. But as
-the Times-Roman font used for our example is one of the 14 so||called
-standard fonts that should always be present in any \PDF\ viewer and
-therefore need not be embedded in the \PDF\ file, it is left out here
-for brevity. However, when we use for instance a Computer Modern Roman
-font, we have to make sure that this font is later available to the \PDF\
-viewer, and the best way to do this is to embed the font.
-It's highly recommended nowadays to embed even the standard fonts;
-you can't know how it looks exactly at the viewer side unless you embed
-every font.
+horizontally after typesetting a glyph.
+
+More details about the font can be found in the \type{/FontDescriptor}
+object (no.~8); if a font file is embedded, this object points to the
+font program stream. But as the Times-Roman font used for our example is
+one of the 14 so||called standard fonts that should always be present in
+any \PDF\ viewer and therefore need not be embedded in the \PDF\ file,
+it is left out here for brevity. However, when we use for instance a
+Computer Modern Roman font, we have to make sure that this font is later
+available to the \PDF\ viewer, and the best way to do this is to embed
+the font. It's highly recommended nowadays to embed even the standard
+fonts; you can't know how it looks exactly at the viewer side unless you
+embed every font.
In this simple file we don't specify in what way the file should be opened,
for instance full screen or clipped. A closer look at the page object no.~2
@@ -955,7 +958,7 @@ Some nice samples of \PDFTEX\ output can be found at
\PDFTEX\ can work with Type~1 and TrueType fonts (and to some extent
also with OpenType fonts). Font files should be available and embedded
-for all fonts used in the generated PDF. It is possible to use
+for all fonts used in the generated \PDF. It is possible to use
\METAFONT||generated fonts in \PDFTEX\ --- but it is strongly
recommended not to use these fonts if an equivalent is available in
Type~1 or TrueType format, if only because bitmap Type~3 fonts render
@@ -1574,11 +1577,6 @@ new Didot (1\,nd~=~0.375\,mm) and the new Cicero (1\,nc~=~12\,nd)
}
\Syntax{
-\Something{pdfliteral spec} \Means %
- \Literal{direct} \Or \Literal{page}
-}
-
-\Syntax{
\Something{pdfspecial spec} \Means %
\Lbrace \Optional{\Something{pdfspecial id} %
\Optional{\Something{pdfspecial modifier}}} %
@@ -1782,7 +1780,7 @@ precision. This parameter is read when \PDFTEX\ writes a real number to
the \PDF\ output.
When including huge \METAPOST\ images using \filename {supp-pdf.tex}, one can
-limit the accuracy to two digits by typing: \type{\twodigitMPoutput}.
+limit the accuracy to two digits with: \type{\twodigitMPoutput}.
\pdftexprimitive{\Syntax{\Tex{\pdfhorigin} \Whatever{dimen}}}
\bookmark{\tex{pdfhorigin}}
@@ -1838,6 +1836,12 @@ the wished true page height.
\subsection[sec.docinfocatalog]{Document info and catalog}
+\pdftexprimitive{\Syntax{\Tex{\pdfinfoomitdict} \Whatever{integer}}}
+\bookmark{\tex{pdfinfoomitdict}}
+
+If nonzero, omit the \type{/Info} dictionary completely, as required by
+the \PDF\ A-4 standard. \introduced{1.40.25}
+
\pdftexprimitive{\Syntax{\Tex{\pdfinfo} \Something{general text}}}
\bookmark{\tex{pdfinfo}}
@@ -2631,23 +2635,78 @@ Minimal example:
\bookmark{\tex{pdfinterwordspaceon}}
\pdftexprimitive{\Syntax{\Tex{\pdfinterwordspaceoff}}}
\bookmark{\tex{pdfinterwordspaceoff}}
+\pdftexprimitive{\Syntax{\Tex{\pdfspacefont} \Something{general text}}}
+\bookmark{\tex{pdfspacefont}}
+
+The first two commands insert corresponding whatsit nodes which turn
+on/off generation of faked interword spaces in the \PDF\ output (they
+cause errors in \DVI\ output). This allows for better reflowing of text
+on the fly by \PDF\ readers, better extraction of textual content, and
+is required by \PDF/A. It does not affect the normal \TeX\ justification
+with glue of the typeset output.
+
+This works roughly as follows: with \type{\pdfinterwordspaceon},
+\PDFTEX\ will guess when an interword space should be inserted, based on
+movement within some limits in horizontal direction. When found,
+\PDFTEX\ inserts a true space character into the \PDF\ page description
+for the viewers, and adjusts the next movement so that the next
+character will be in the expected position, according to normal \TEX\
+behavior.
+
+Where does that \quotation{true space character} come from?
+There are two possibilities.
+
+\startitemize
+\item If the current font has a real space character, it is used.
+\PDFTEX\ considers a font to have such a space character if 1)~the font
+has an encoding vector (\type{.enc} file) specified in its map entry,
+and 2)~the encoding has a glyph named \type{space} (that is, the
+PostScript name \type{/space}) at slot 32. For example, the font
+\type{texnansi-lmr10} uses the encoding file \type{lm-texnansi.enc},
+which has such an entry.
+
+\item
+If the current font does not have such a space character (this is the
+case for most traditional \TEX\ fonts, such as \type{cmr10} and
+\type{ec-lmr10}), \PDFTEX\ will use the space character from a special
+fallback font named (by default) \type{pdftexspace}[\type{.tfm}].
+\PDFTEX\ automatically defines a map entry for this font which looks as
+follows:
+
+\starttyping
+\pdfmapline{=pdftexspace PdfTeX-Space <pdftexspace.pfb}
+\stoptyping
-These commands create corresponding whatsit nodes which turn on/off
-generation of faked interword spaces in the output. This allows for
-better reflowing of text on the fly by \PDF\ readers, better extraction
-of textual content, and is required by \PDF/A. It does not affect the
-normal \TeX\ justification with glue.
+The \type{pdftexspace.tfm} and \type{pdftexspace.pfb} files are expected
+to be available to \PDFTEX\ just like any other font. (They are
+distributed with \PDFTEX.) The \type{pdftexspace} font was constructed
+by hand; it has a space character that is .333em (and no other
+characters).
+
+It is possible to use a different fallback font for the space character
+by specifying \type{\pdfspacefont}\Lbrace \Something{somefont}\Rbrace.
+(This is most likely to be useful for testing or debugging.) In this
+case, \PDFTEX\ assumes that the given font has a real space character at
+slot 32, and that any necessary corresponding map entry exists. For
+example:
-This requires finding and reading font files \type{dummy-space.tfm} and
-\type{pfb}; the font is included in the \PDF\ output and character 32 is
-inserted from it as the ``fake'' space.
+\starttyping
+\pdfspacefont{texnansi-lmr10} % use space char from this font if
+ % current font has no space char
+\stoptyping
+\stopitemize
+
+History: Before \PDFTEX\ version 1.40.25, no check was made for a
+\type{space} character in the current font, the fallback font was named
+\type{dummy-space}, and its space character was tiny, 0.001em. It turned
+out that \PDF\ viewers were unhappy with this tiny space, especially
+with tagged \PDF.
Example of usage (see also the \type{fake-interword-space.tex} test file):
\starttyping
Text with no interword spaces.
-\pdfmapline{+dummy-space <dummy-space.pfb}
\pdfglyphtounicode{space}{0020}
\pdfinterwordspaceon
@@ -2657,7 +2716,7 @@ Switch to text with faked interword spaces.
Back to text with no interword spaces.
\stoptyping
-\introduced{1.40.15}
+\introducedplural{1.40.15, 1.40.25}
\pdftexprimitive{\Syntax{\Tex{\pdffakespace}}}
\bookmark{\tex{pdffakespace}}
@@ -2888,7 +2947,7 @@ page\_height}\type{]}). (This behavior was introduced in version
\bookmark{\tex{pdfpageresources}}
These tokens are added to the resource dictionary for all pages, before
-the font, XOBject, and other resources.
+the font, XOBject, and ProcSet resources.
\starttyping
\pdfpageresources{/MyPageResourceAttribute /MyValue}
@@ -2907,6 +2966,20 @@ will expand to that object number.
\Eg, if the dictionary for page~5 of the \TEX\ document is contained in
\PDF\ object no.~18, \tex{pdfpageref5} expands to the number 18.
+\pdftexprimitive{\Syntax{\Tex{\pdfomitprocset} \Whatever{integer}}}
+\bookmark{\tex{pdfomitprocset}}
+
+If this primitive parameter is zero (the default), the \type{/ProcSet}
+array is included if \type{\pdfmajorversion} is~1, and omitted if
+\type{\pdfmajorversion}$\,\ge\,2$. If this parameter is $>0$,
+\type{/ProcSet} is always omitted. And if it is $<0$, \type{/ProcSet} is
+always included. For information about what \type{/ProcSet} is, see the
+\PDFReference\ or other documentation.
+
+\type{\ProcSet} was considered obsolete as of \PDF~1.4, but conforming
+writers should continue to output it. It was formally deprecated in
+\PDF~2.0.\introduced{1.40.25}
+
%***********************************************************************
\subsection{Form XObjects}
@@ -3424,7 +3497,7 @@ While all graphics and text in a \PDF\ document have relative positions,
annotations have internally hard||coded absolute positions. Again this
is for the sake of speed optimization. The main disadvantage is that these
annotations do {\em not} obey transformations issued by \type
-{\pdfliteral}'s.
+{\pdfliteral}s.
The \Something{action spec} specifies the action that should be
performed when the hyperlink is activated, one of (see the syntax
@@ -3627,33 +3700,39 @@ an article thread.
\subsection{Literals and specials}
\pdftexprimitive{\Syntax{\Tex{\pdfliteral}
- \Optional{\Something{pdfliteral spec}}
+ \Optional{\Literal{shipout}}
+ \Optional{\Literal{direct} \Or \Literal{page}}
\Something{general text}
\Modelist{h, v, m}
}}
\bookmark{\tex{pdfliteral}}
-Like \type{\special} in normal \TEX, this command inserts raw
-\PDF\ code into the output. This allows support of color and text
-transformation. This primitive is heavily used in the \METAPOST\
-inclusion macros. Normally \PDFTEX\ ends a text section in the \PDF\
-output and sets the transformation matrix to the current location on the
-page before inserting \Something{general text}\unkern, however this can be
-turned off by giving the optional keyword \Literal{direct}. This command
-appends a whatsit node to the list being built. \Something{general text}
-is expanded when the whatsit node is created and not when it is shipped
-out, as with \type{\special}.
-
-Starting with version 1.30.0, \PDFTEX\ allows to use a new keyword
-\type{page} instead of \type{direct}. Both modify the default behavior
-of \type{\pdfliteral}, avoiding translation of the coordinates space
-before inserting the literal code. The difference is that the \type{page}
+Analogous to \type{\special} in the original \TEX, this command inserts
+raw \PDF\ code into the output, appending a whatsit node to the list
+being built. This allows support of color and text transformation, among
+other things.
+
+By default, \Something{general text} is expanded immediately, when the
+whatsit node is created, as with \type{\special}. Starting with version
+1.40.25, the optional keyword \Literal{shipout} can be used to delay
+expansion of \Something{general text} until the whatsit node is shipped
+out, as with non-\type{\immediate} \type{\write}.
+
+Normally, \PDFTEX\ ends a text section in the \PDF\ output and sets the
+transformation matrix to the current location on the page before
+inserting \Something{general text}\unkern; this can be turned off by
+giving the optional keyword \Literal{direct}.
+
+Starting with version 1.30.0, \PDFTEX\ supports the keyword \type{page}
+in addition to \type{direct}. Both modify the default behavior of
+\type{\pdfliteral}, avoiding translation of the coordinate space before
+inserting the literal code. The difference is that the \type{page}
keyword instructs \PDFTEX\ to close a \type{BT ET} text block before
-inserting anything. It means that the literal code inserted refers to the
-origin (lower||left corner of the page) and can be safely enclosed with
-\type{q Q}. Note, that in most cases using \type{q Q} operators inside
-\type{\pdfliteral} with \type{direct} keyword will produce corrupted
-\PDF\ output, as the \PDF\ standard doesn't allow to do anything like
+inserting anything. This means that the literal code inserted refers to
+the \PDF\ origin (lower-left corner of the page) and can be safely
+enclosed with \type{q Q}. In contrast, using \type{q Q} operators inside
+\type{\pdfliteral} with the \type{direct} keyword will produce corrupted
+\PDF\ output, as the \PDF\ standard doesn't allow doing anything like
this within a \type{BT ET} block.
% HE: \unkern is a kludge here; wanted to have tight "{pdf:"
@@ -3678,6 +3757,20 @@ This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{direct} \Lbrace
This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{page} \Lbrace
\Something{text} \Rbrace}.
+\pdftexprimitive{\Syntax{\Tex{\special} \Optional{\Literal{shipout}}
+ \Lbrace\unkern \Something{general text} \Rbrace}}
+\bookmark{\tex{special\ shipout}}
+
+Starting with version 1.40.25, \PDFTEX\ extends the \type{\special}
+primitive to support the optional keyword \Literal{shipout}. This delays
+expansion of \Something{general text} until the page is shipped out, as
+with non-\type{\immediate} \type{\write}. By default, \Something{general
+text} is expanded immediately.
+
+\Syntax{\Tex{\special} \Literal{shipout} \Lbrace \unkern\Literal{pdf:}
+\Something{text} \Rbrace} is equivalent to \Syntax{\Tex{\pdfliteral}
+\Literal{shipout} \Lbrace \Something{text} \Rbrace}.
+
%***********************************************************************
\subsection{Strings}
@@ -3907,8 +4000,8 @@ example, the first ten bytes of the source of this manual are {\tt
As of \TEXLIVE\ 2020, the \type{\input} primitive in all \TEX\ engines,
including \PDFTEX, now also accepts a group-delimited filename argument,
-as a system-dependent extension, as in \type{\input\Lbrace
-foo.tex\Rbrace}. The usage of \type{\input} with a standard
+as a system-dependent extension, as in \type{\input} \Lbrace
+\type{foo.tex} \Rbrace. The usage of \type{\input} with a standard
space/token-delimited filename is completely unchanged.
This group-delimited argument was previously implemented in Lua\TEX; now
@@ -4315,11 +4408,10 @@ Now the \type{\b} expansion is not logged either, since the expansion
depth is higher than the \type{\tracingstacklevels} value.
The intended use of \type{\tracingstacklevels} is not so much to
-truncate logging as to indicate the expansion levels for detailed
-debugging. Thus normally it would be set to a large number
-(\type{\maxdimen}, say), so that everything is fully logged, with the
-addition of the expansion level indication with the number of dots in
-the prefix.
+truncate logging as to indicate expansion levels for detailed debugging.
+Thus normally it would be set to a large number (\type{\maxdimen}, say),
+so that everything is fully logged, with the addition of the expansion
+level indication with the number of dots in the prefix.
The behavior is the same in all \TeX\ engines except the original \TEX\
and \eTeX, where \type{\tracingstacklevels} remains undefined.
@@ -4331,8 +4423,8 @@ and \eTeX, where \type{\tracingstacklevels} remains undefined.
If this primitive parameter has a value corresponding to an open output
stream (which has been opened with \type{\openout}), then any
\type{\show}, \type{\showthe}, \type{\showbox} or \type{\showlists}
-commands do not write output to the terminal, but instead write to only
-the referenced output stream, as if they were written with
+commands do not write output to the terminal, but instead write to the
+referenced output stream only, as if they were written with
\type{\immediate\write}.
For example:
@@ -4397,19 +4489,17 @@ Returns the \PDFTEX\ banner message, \eg\ for the version used here:
\pdftexprimitive{\Syntax{\Tex{\pdftexrevision} \Whatever{expandable}}}
\bookmark{\tex{pdftexrevision}}
-\def\versplit#1#2#3{#1.#2#3}
-
Returns the revision number of \PDFTEX, \eg\ for \PDFTEX\ version
-\expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to produce
-this document), it returns the number {\tt \pdftexrevision}.
+\currentpdftex\ (used to produce this document), it returns the number
+{\tt \pdftexrevision}.
\pdftexprimitive{\Syntax{\Tex{\pdftexversion} \Whatever{read||only integer}}}
\bookmark{\tex{pdftexversion}}
Returns the version of \PDFTEX\ multiplied by 100, \eg\ for \PDFTEX\
-version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to
-produce this document), it returns {\tt \number\pdftexversion}.
+version \currentpdftex\ (used to produce this document), it returns {\tt
+\number\pdftexversion}.
%***********************************************************************
@@ -4494,19 +4584,16 @@ uses its own Type~1 fonts, and needs no special attention.
macro packages) can be redefined to produce literal \PDF, using some macros
written by Hans Hagen.
-\description {\METAPOST} Although the output of \METAPOST\ is \POSTSCRIPT,
-it is in a highly simplified form, and a \METAPOST\ to \PDF\ conversion
-(\MPTOPDF, written by Hans Hagen and Tanmoy Bhattacharya) is implemented
-as a set of macros which reads \METAPOST\ output and supports all of
-its features.
-
-For new work, the \METAPOST\ route is highly recommended. For the future,
-Adobe has announced that they will define a specification for \quote
-{encapsulated \PDF}.
+\description {\METAPOST} Although the output of \METAPOST\ is
+\POSTSCRIPT, it is in a highly simplified form, and a \METAPOST\ to
+\PDF\ conversion (\MPTOPDF, available as \type{supp-pdf.tex} and
+\type{supp-pdf.mkii}, written by Hans Hagen and Tanmoy Bhattacharya) is
+implemented as a set of macros which reads \METAPOST\ output and
+supports all of its features.
The inclusion of raw \POSTSCRIPT\ commands |<|a technique utilized
by for instance the \type{pstricks} package|>| cannot directly be
-supported. Although \PDF\ is direct a descendant of \POSTSCRIPT, it
+supported. Although \PDF\ is a direct descendant of \POSTSCRIPT, it
lacks any programming language commands, and cannot deal with arbitrary
\POSTSCRIPT.
@@ -5155,7 +5242,7 @@ the source code by typing:
texexec --result=pdftex-a.pdf pdftex-t
\stoptyping
-Or in letter size:
+Or for letter size:
\starttyping
texexec --mode=letter --result=pdftex-l.pdf pdftex-t
diff --git a/systems/doc/xetex/NEWS b/systems/doc/xetex/NEWS
index aec8a2fcb4..154e222c31 100644
--- a/systems/doc/xetex/NEWS
+++ b/systems/doc/xetex/NEWS
@@ -1,8 +1,121 @@
==============================================================
-XeTeX 0.99992 was released 2015
+XeTeX 0.999995 (February 2023)
+
+* new keyword `shipout' for \special and \pdfliteral, delaying
+ expansion until the node is shipped out, like non-\immediate \write.
+
+==============================================================
+XeTeX 0.999994 (February 2022)
+
+* New wrapper scripts xetex-unsafe and xelatex-unsafe for XeTeX
+ documents requiring PSTricks transparency. For safety, use LuaTeX instead.
+
+==============================================================
+XeTeX 0.999993 (February 2021)
+
+* Fix several bugs in Unicode math kerning implementation.
+
+==============================================================
+XeTeX 0.999992 (January 2020)
+
+* Merged various minor fixes from TeX Live svn sources
+ - includes new \filedump primitive
+* Merged new feature:
+ - new \input{...} group-delimited syntax (cross-engine).
+
+==============================================================
+XeTeX 0.999991 (January 2019)
+
+* Merged various minor fixes from TeX Live svn sources
+* Merged new features implemented by Joseph Wright, see:
+ - https://sourceforge.net/p/xetex/code/merge-requests/1/
+ Reorder lines (internal rearrangement, no functional change)
+ - https://sourceforge.net/p/xetex/code/merge-requests/2/
+ Round out pdfTeX-derived utilities: adds pdfTeX-based primitives
+ for RNG, timer, file data, \filedump
+ - https://sourceforge.net/p/xetex/code/merge-requests/3/
+ Add \expanded to XeTeX
+ - https://sourceforge.net/p/xetex/code/merge-requests/4/
+ Extend \Ucharcat to produce \active chars
+* Fix \lastnodetype initialization bug (patch from Hironobu Yamashita)
+* Fix logic typo in discretionary-skipping (reported by Peter Williams)
+ https://sourceforge.net/p/xetex/bugs/149/
+
+==============================================================
+XeTeX 0.99999 (February 2018, for TeX Live 2018)
+
+* Fix bug that could cause text after a \discretionary{...}{...}{...}
+ line-break to be dropped.
+* Avoid risk of generating broken UTF-8 in error context messages.
+* Interpret optical size info in OpenType 'size' feature as "big
+ points" units, rather than TeX points.
+* Set a non-zero exit code if the pipe to the output driver returns
+ an error.
+* Correction for longstanding input_ln bug (stripping trailing tabs).
+ (Karl Berry)
+* Guard against out-of-range result from UTF-8 decoding, and return
+ U+FFFD Replacement Character instead. (Akira Kakuto)
+* Fix bugs involving \strcmp and \mdfivesum primitives. (Hironobu
+ Yamashita)
+* Fixes issue where \primitive\vrule\q incorrectly swallows the \q
+ instead of giving an error. (Hironori Kitagawa)
+* Properly close input pipes used in \input or \openin. (Hironobu
+ Yamashita)
+* Make \uchyph work with native fonts. (Hironobu Yamashita)
+* Fixed bug in \ifprimitive. (Hironori Kitagawa)
+* Support /Rotate in PDF image inclusion. (Akira Kakuto)
+* If DPI info is missing in JPEG files, assume 72.0 to avoid
+ division by zero. (Akira Kakuto)
+
==============================================================
+XeTeX 0.99998 (April 22, 2016)
-XeTeX:
+* Fixed long-standing bug that made \ifcat\span...\fi (and similar
+ constructions with \cr, \crcr) behave incorrectly.
+* Also fixed initialization of \delcode values for supplementary-
+ plane characters.
+
+==============================================================
+XeTeX 0.99997 (March 2016, for TeX Live 2017)
+
+* Unicode/OpenType math implementation now based on HarfBuzz's MATH
+ table support, for easier ongoing maintenance.
+* Minor bug fixes (revision history available at xetex.sf.net).
+
+==============================================================
+XeTeX 0.99996 (March 2016, for TeX Live 2016)
+
+* Added \XeTeXhyphenatablelength primitive that sets the maximum
+ length of word that XeTeX will attempt to hyphenate (default: 63).
+
+==============================================================
+XeTeX 0.99995 (targeting TeX Live 2016)
+
+* Added \XeTeXgenerateactualtext primitive to record original Unicode
+ text in /ActualText annotations.
+* Bumped the DVI id byte to 7, as this uses a new opcode that requires
+ support in the driver.
+
+==============================================================
+XeTeX 0.99994 (unreleased experimental version)
+
+* Increased character class limit to 4096.
+* Added \XeTeXinterwordspaceshaping primitive, for contextual
+ measurement (when set to 1) or full glyph shaping (when set to 2) of
+ interword space with smart-enough fonts.
+
+==============================================================
+XeTeX 0.99993 (July 2015)
+
+* Added \mdfivesum primitive
+* Removed -q from the default xdvipdfmx output-driver command line
+ (reverted 20160209, r39630 in TeX Live).
+
+==============================================================
+XeTeX 0.99992 was released 20150507 (in TeX Live 2015)
+
+* New \Uchar and \Ucharcat primitives
+* Fix various issues with UTF-16 and characters >= U+10000.
* Various image handling fixes by Akira Kakuto.
* Fix off-by-one error in display of \every... token registers, thanks to Bruno
Le Floch.
@@ -14,9 +127,7 @@ XeTeX:
==============================================================
XeTeX 0.99991 was released 20140614
-==============================================================
-XeTeX:
* Drop build date from “--version” output.
* Drop Mac-specific image loading code, as it makes little sense after we
dropped xdv2pdf. Supported image formats are the same on all platforms now.
@@ -36,9 +147,7 @@ XeTeX:
==============================================================
XeTeX 0.9999.3 was released 20130528
-==============================================================
-XeTeX:
* Fix bug with extensible accents resulting in invalid glyph id some times.
* Fix alternate index in multiple alternates features to be start from zero
like pre-0.9999 XeTeX.
@@ -46,9 +155,7 @@ XeTeX:
==============================================================
XeTeX 0.9999.2 was released 20130406
-==============================================================
-XeTeX:
* Fix regression in \XeTeXOT* primitives with fonts where the number of
languages in a given script is not the same in both GSUB and GPOS tables.
@@ -70,9 +177,7 @@ xdvipdfmx:
==============================================================
XeTeX 0.9999.1 was released 20130322
-==============================================================
-XeTeX:
* Fix loading font files on PPC Mac OS 10.5 (and potentially other versions of
Mac).
@@ -96,7 +201,6 @@ xdvipdfmx:
==============================================================
XeTeX 0.9999.0 was released 20130311
-==============================================================
* Port OpenType layout from ICU LayoutEngine to HarfBuzz.
HarfBuzz is actively maintained and generally have much wider support for
@@ -169,7 +273,6 @@ XeTeX 0.9999.0 was released 20130311
==============================================================
XeTeX 0.9998 was released 20120708
-==============================================================
* Fix mismatch between fonts loaded by XeTeX and xdvipdfmx when multiple
versions of the font exist.
diff --git a/systems/doc/xetex/README b/systems/doc/xetex/README
index 35af46b298..c3c7806250 100644
--- a/systems/doc/xetex/README
+++ b/systems/doc/xetex/README
@@ -1,4 +1,4 @@
-$Id: README 37058 2015-04-26 18:13:32Z karl $
+$Id: README 66203 2023-02-26 21:56:36Z karl $
XeTeX is an extension of Donald Knuth's TeX, originally and primarily
written by Jonathan Kew. It natively supports UTF-8 Unicode input and
@@ -6,10 +6,12 @@ TrueType and OpenType fonts, mainly via external third-party libraries.
(Run xetex --version to see a list of the principal ones.)
XeTeX's user-level output is a PDF file; it does not support standard
-DVI output.
+DVI output, but an extended DVI format which is converted to PDF by
+xdvipdfmx.
-The XeTeX home page: http://tug.org/xetex
-The CTAN Catalogue entry: http://ctan.org/pkg/xetex
+XeTeX home page: https://tug.org/xetex
+CTAN Catalogue entry: https://ctan.org/pkg/xetex
+XeTeX reference manual (unofficial): https://ctan.org/pkg/xetexref
(This tiny README file is public domain, originally written by
Karl Berry, 2015.)
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index c2bfcdebf6..f1000cb8d8 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -178,12 +178,14 @@ $mirrors = {
'https://mirror.its.dal.ca/ctan/' => 1,
'https://muug.ca/mirror/ctan/' => 1,
},
+ 'Costa Rica' => {
+ 'https://mirrors.ucr.ac.cr/CTAN/' => 1,
+ },
'USA' => {
'http://bay.uchicago.edu/CTAN/' => 1,
'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
'https://ctan.math.illinois.edu/' => 1,
'https://ctan.math.utah.edu/ctan/tex-archive/' => 1,
- 'https://ctan.math.washington.edu/tex-archive/' => 1,
'https://ctan.mirrors.hoobly.com/' => 1,
'https://mirror.las.iastate.edu/tex-archive/' => 1,
'https://mirror.math.princeton.edu/pub/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index dfbe6c7dc3..227e1a3f83 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2022
-depend revision/66142
+depend revision/66168
name 00texlive.image
category TLCore
@@ -4707,7 +4707,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 66121
+revision 66144
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
@@ -34890,16 +34890,16 @@ catalogue-topics class book-pub chinese multilingual expl3
name beebe
category Package
-revision 65525
+revision 66144
catalogue biblio
shortdesc A collection of bibliographies
relocated 1
longdesc A collection of BibTeX bibliographies on TeX-related topics
longdesc (including, for example, spell-checking and SGML). Each
longdesc includes a LaTeX wrapper file to typeset the bibliography.
-containersize 900220
-containerchecksum 96a7b596875db914fd2ac61daeb5930d1a34bb968cbd732a121458dda230f498ae92e48bb1e072b19408054a045b0aa1acd8c6126756bd426e2a2a50d2ac11c6
-runfiles size=2209
+containersize 900568
+containerchecksum 5c9c7459d39e1225ef306103eaf86189fadbf7ac3a0ab6e56155ea88a17c8536d993be2cb5178b561e981a48d7129cc94ff05a7bb0eb673c37144068c3d23a02
+runfiles size=2212
RELOC/bibtex/bib/beebe/epodd.bib
RELOC/bibtex/bib/beebe/font.bib
RELOC/bibtex/bib/beebe/printing-history.bib
@@ -45827,16 +45827,16 @@ catalogue-version 0.2
name bxghost
category Package
-revision 63354
+revision 66158
shortdesc Ghost insertion for proper xkanjiskip
relocated 1
longdesc The package provides two commands to help authors for documents
longdesc in Japanese to insert proper xkanjiskips. It supports LuaTeX,
longdesc XeTeX, pTeX, upTeX, and ApTeX (pTeX-ng).
-containersize 2012
-containerchecksum aad0d3f278c32a4699339785dd28b6ac7dd626a53659aeffe77414dcc8d22f96a43efcee41bd77354f57a2702f610bff4742bd8dc558d2494e909b3ad7b1062f
-doccontainersize 1980
-doccontainerchecksum 0e4af87e981c02415a13bd6d1be74552c1ab039acfca35736e8cc51b4c4f442c9e0073070fbd002050749d59a69eac64ad1e264e16281f4dd399e9f0ceabafce
+containersize 2016
+containerchecksum ea52e53228cb79a5f3aa5dea1c85bbe19a4fb1d397d6da113b360b5a6fae384174a5ca79f4f00bca2f011a484e529991c9d7c4856060fe47b9ff1d42edbba20f
+doccontainersize 2012
+doccontainerchecksum a158433c89401dc345997e9a29ea0eab432e9ed22f5a150025371ad2d7d038073cf49371415443c7f1dea7d48b1506208461bd6d46d502e4c630385486dde509
docfiles size=2
RELOC/doc/latex/bxghost/LICENSE
RELOC/doc/latex/bxghost/README.md details="Readme"
@@ -45848,7 +45848,7 @@ catalogue-contact-repository https://github.com/wtsnjp/BXghost
catalogue-ctan /language/japanese/BX/bxghost
catalogue-license mit
catalogue-topics japanese macro-supp
-catalogue-version 0.5.0
+catalogue-version 0.5.1
name bxjaholiday
category Package
@@ -128768,7 +128768,7 @@ catalogue-version 1.1e
name footnoterange
category Package
-revision 52910
+revision 66156
shortdesc References to ranges of footnotes
relocated 1
longdesc The package provides the environments footnoterange and
@@ -128779,17 +128779,17 @@ longdesc given. If the hyperref package is loaded with enabled
longdesc hyperfootnotes-option, then the references are hyperlinked.
longdesc (References to footnotes in footnoterange* environments are
longdesc never hyperlinked.)
-containersize 2624
-containerchecksum 6d1a5ae7982aa9f928d09dbe0dc8cb3fcae5894bd8d0eace4590a7627d476dd32c9c91dd2d68aa9a9428b7258b305b13911421f0834b694fe828654aafcc4eb7
-doccontainersize 402812
-doccontainerchecksum eb31ded0bf2112afd6c278456701690a0a7d846af6bd1f28721bb6db4e67b8a83e2ec67b6876fb05315430d9d1d400ae4b5dd7e04f5bfeecde322ec6aa84e30d
-docfiles size=102
+containersize 2644
+containerchecksum f62bcf48415528645d20d9be9ee1a185ce4a27224509c26ea94efec3541e3f3e1e69bfc6b4ac8e7e4d15248dab32e9cfb072dc81c25c60a8179c6ad60eafef25
+doccontainersize 457728
+doccontainerchecksum 5c69a9077656b3cc81a3dc564bc5049a5783ab0d276fe6b71291f43a99cb94ed199edfba3b56eb20cac698c9a44d812f4b101858f43a1698180bd63175e2c9d1
+docfiles size=118
RELOC/doc/latex/footnoterange/README details="Readme"
RELOC/doc/latex/footnoterange/footnoterange-example.pdf
RELOC/doc/latex/footnoterange/footnoterange.pdf details="Package documentation"
-srccontainersize 10844
-srccontainerchecksum 1cd3a85585772bfe701cbd25f45ed5a94e476d48c9c2efe5868b4d7d2a41c3add423a51238ee793c0cf8d4f65767e9c2b9e0c0c19603259f61e221aa40935b35
-srcfiles size=13
+srccontainersize 11568
+srccontainerchecksum b5b2db4c757707283c345bd67a27c1d3def510205d38470f7b4ec08343c6f7faa5b3ef0b2ff7d67d0e3a9d7d55e0db3a4fe04d48e85f375c3a7ec1cb76d8177e
+srcfiles size=14
RELOC/source/latex/footnoterange/footnoterange.drv
RELOC/source/latex/footnoterange/footnoterange.dtx
RELOC/source/latex/footnoterange/footnoterange.ins
@@ -128799,7 +128799,7 @@ catalogue-also footmisc
catalogue-ctan /macros/latex/contrib/footnoterange
catalogue-license lppl1.3c
catalogue-topics footnote label-ref
-catalogue-version 1.0c
+catalogue-version 1.1a
name footnpag
category Package
@@ -130399,7 +130399,7 @@ catalogue-version 1.3
name frenchmath
category Package
-revision 65677
+revision 66155
shortdesc Typesetting mathematics according to French rules
relocated 1
longdesc The package provides: capital letters in roman (upright shape)
@@ -130410,15 +130410,15 @@ longdesc before a semicolon and around square brackets, some useful
longdesc macros and aliases for symbols used in France: \infeg, \supeg,
longdesc \paral, ... several macros for writing french operator names
longdesc like pgcd, ppcm, Card, rg, Vect, ...
-containersize 2864
-containerchecksum 24497200f1bd536c8ab9cafd7adb15ad65ae9e7f6ec65156b9c906dd674aaa7c57d40a9bf95ffdbe029ba06b6ed6726d573e4678b362e8ab6ee68738f612d10d
-doccontainersize 230616
-doccontainerchecksum ba0cad9cd8c65ac2557458ccbb2c9dd5c336283ba0bd8fa7261a6bcf70a415e2bb98d63348f8eb3b5b5b7ad06eebaa9dcb04416408fd9a84d9d1c52832ab5345
-docfiles size=65
+containersize 2832
+containerchecksum da1c5297a436f6efa55050b23415c3115126a2c4c8beeda7478e5ca6aaa64eb11c26decc438c28f26379d112b0ba37789302fd6b403beca4d8b3f0dfc2c06db9
+doccontainersize 234988
+doccontainerchecksum 7d94fa856ae1621b6438025e9d01223b2e81b6cdf206f1e27ad648a75523403f1d1589a819b0333088ed7df7501c07b55367058b06c310e281e367c56531d359
+docfiles size=67
RELOC/doc/latex/frenchmath/README.md details="Readme"
RELOC/doc/latex/frenchmath/frenchmath.pdf details="Package documentation" language="fr"
-srccontainersize 13224
-srccontainerchecksum da9759ecdef9d4873e8661573934a8a77013591f1743efe7656a581df545eb9e7a72058930984ba23a444924ec00b9b7147e1836c81117b69ec9fabea90d7d21
+srccontainersize 13552
+srccontainerchecksum 762c83b6ea85ea0565ec7a604c181b2b5f4fdd7c00e2972429d8060f187e1ab21d230b08d1a5b2f397de090aef111b7698ef3440db3173f6662eb19898df2aa0
srcfiles size=12
RELOC/source/latex/frenchmath/frenchmath.dtx
RELOC/source/latex/frenchmath/frenchmath.ins
@@ -130427,7 +130427,7 @@ runfiles size=3
catalogue-ctan /macros/latex/contrib/frenchmath
catalogue-license lppl1.3
catalogue-topics maths french
-catalogue-version 2.4
+catalogue-version 2.5
name frimurer
category Package
@@ -225758,7 +225758,7 @@ catalogue-topics font font-type1 font-decor
name nicematrix
category Package
-revision 65902
+revision 66154
shortdesc Improve the typesetting of mathematical matrices with PGF
relocated 1
longdesc This package is based on the package array. It creates PGF/TikZ
@@ -225770,18 +225770,18 @@ longdesc border matrices); control of the width of the columns; tools to
longdesc color rows and columns with a good PDF result; blocks of cells;
longdesc etc. The package requires and loads l3keys2e, xparse, array,
longdesc amsmath, pgfcore, and the module shapes of PGF.
-containersize 38492
-containerchecksum 29273684bb0ac76cd82836ea7658f15a3268fbf7dee4a3414a12862eb55c8c181de673c410cdd4f4db835be25d3d9182cf2c65dc689344ac084f25bc4a6d32b6
-doccontainersize 1853384
-doccontainerchecksum d5b8c7b79b6549c9c8df0856eed9b97a07c4087e4cc51d173d6cd4e706f2f373be0d3e9ab2bba9bb862661d533d37aac45de4e6673d73ab6e9de8e4606cde4b9
-docfiles size=508
+containersize 38596
+containerchecksum 104ffd479c2844d392708c37c9d3972c7b4ad15afed1dcba62b7bffff1bb78dacaa95aef5aa422f8404ed8e7b27a396b072f617b0bf6e52923d0cfb650f056f3
+doccontainersize 1860836
+doccontainerchecksum 02d861e1d0215005c2e1219ed63354797b640b0d7cd8d4bdb76dacd4ac017ce8262c1839b1e8145679f4ab22bd38e2322bbda3d1bd4748215140b4837502433e
+docfiles size=511
RELOC/doc/latex/nicematrix/README.md details="Readme"
RELOC/doc/latex/nicematrix/nicematrix-french.pdf details="Package documentation in French" language="fr"
RELOC/doc/latex/nicematrix/nicematrix-french.tex
RELOC/doc/latex/nicematrix/nicematrix.pdf details="Package documentation"
-srccontainersize 121644
-srccontainerchecksum bd1353b12025fbfc7900b807d657c70a69ad069ca3d7706d4b8f734aef2d8852d54f094772d358d73a6eaf53c308fccedb095d3a5026af28dbe4703c81957042
-srcfiles size=188
+srccontainersize 122040
+srccontainerchecksum 2c661b5e9a9b67f4a395f0caeb15206c959c61ad5fc172c9343dd00481fd518afc0d3e5d68f9bb879c6d89a62629ea1ad3fe001d04f03268ee48b335de66e443
+srcfiles size=189
RELOC/source/latex/nicematrix/nicematrix.dtx
RELOC/source/latex/nicematrix/nicematrix.ins
runfiles size=85
@@ -225789,7 +225789,7 @@ runfiles size=85
catalogue-ctan /macros/latex/contrib/nicematrix
catalogue-license lppl1.3
catalogue-topics maths matrix pgf-tikz expl3
-catalogue-version 6.14
+catalogue-version 6.15
name nicetext
category Package
@@ -253473,7 +253473,7 @@ catalogue-version 1.0
name pmhanguljamo
category Package
-revision 65943
+revision 66157
shortdesc Poor man's Hangul Jamo input method
relocated 1
longdesc This package provides a Hangul transliteration input method
@@ -253481,12 +253481,13 @@ longdesc that allows to typeset Korean letters (Hangul) using the proper
longdesc fonts. The name is derived from "Poor man's Hangul Jamo Input
longdesc Method". The use of XeLaTeX is recommended. pdfTeX is not
longdesc supported.
-containersize 8796
-containerchecksum 5b20ab5c90acabe257d90488f67aaead319629ea8a6990b2fc4d9cd7ea99bcd75d4a247fd3d6fd02e9312703e75a6ebb6637aa2afcf3e0bbd89ddcba229ebe67
-doccontainersize 929916
-doccontainerchecksum c4a4ecaf7c63554878a5fb8587bb77e98b3965da7eeadf96c17a9f1d0c8f150b73ef86dc2b68411419eadb100b9ddad40e177554898d2b4ea965e8755b0bfe27
-docfiles size=293
+containersize 8964
+containerchecksum 2263e3f996cae1c9e6910d7266d0117f52b8328dc47e8162ca6ccac691a0103f57a16cf9256aec699db24c1a0f2b63ac89023050bb985603d25f0ebc6fa8bc7c
+doccontainersize 936280
+doccontainerchecksum dc842f5329c2e1b16e3b1e385d78880e0a5b4f780c1e677fb88a4f7c4bbf00eed38103d305424832d26d22bba33d1df0095cb2b98731f0cfd2412c44093ff215
+docfiles size=296
RELOC/doc/latex/pmhanguljamo/README.md details="Readme"
+ RELOC/doc/latex/pmhanguljamo/frkjamofull.data.tex
RELOC/doc/latex/pmhanguljamo/munjangganghwa.jpg
RELOC/doc/latex/pmhanguljamo/pmhanguljamo-doc.pdf details="Package documentation (English)"
RELOC/doc/latex/pmhanguljamo/pmhanguljamo-doc.tex
@@ -253501,7 +253502,7 @@ catalogue-also kotex-utf
catalogue-ctan /language/korean/pmhanguljamo
catalogue-license lppl1.3
catalogue-topics korean xetex expl3
-catalogue-version 1.0
+catalogue-version 1.0.1
name pmx
category Package
@@ -267565,7 +267566,7 @@ catalogue-version 1.3i
name ragged2e
category Package
-revision 66070
+revision 66153
shortdesc Alternative versions of "ragged"-type commands
relocated 1
longdesc The package defines new commands \Centering, \RaggedLeft, and
@@ -267573,16 +267574,16 @@ longdesc \RaggedRight and new environments Center, FlushLeft, and
longdesc FlushRight, which set ragged text and are easily configurable
longdesc to allow hyphenation (the corresponding commands in LaTeX, all
longdesc of whose names are lower-case, prevent hyphenation altogether).
-containersize 3012
-containerchecksum 55b66d709957cc58e6027cae47124dd3287d2864804862b8946fe5a83ca59a1e5a85e898f5e0fcab93fb79ed2a90ff5932b4ba6210662f7d60f798374237e19b
-doccontainersize 687072
-doccontainerchecksum 178f1935fedeab9470dff2ee31be66ef8110496e5ca7318a7de444d4fa8f68389b6be3ab484cf3689e6ad3e651012355ec55e4449c6487d246107634ca0987fe
+containersize 3020
+containerchecksum df8a7a358d8529123ce5c4baaa0f2a49d39a7a1846c5cbfbd96a3f13e56baf27a84a7fde148cf58dd2ae0b353994b53188aae747e3fe41d565d19daa1e779d80
+doccontainersize 687788
+doccontainerchecksum 0520c2eafc27a21639ea1d8ea11871ff609e43804d6ecd1acb43fae9a214aece0c1cee8aa30b42ca110898cdb2ebecb133e1b6fd704b1fb336d892e6b7006a8d
docfiles size=177
RELOC/doc/latex/ragged2e/LICENSE.md
RELOC/doc/latex/ragged2e/README.md details="Readme"
RELOC/doc/latex/ragged2e/ragged2e.pdf details="Package documentation"
-srccontainersize 11892
-srccontainerchecksum 2389bc54d3a5c7f4abb0796e18743713777790200f1fcda3bcf6a01f4a35dd52cef107663d94ae681f91d63f966ec60c88cebaf53da886889461c8c2494c768e
+srccontainersize 11920
+srccontainerchecksum 08550854e8aa13a0e29f2733965e730af339591d94942941d986f6b70ebad74b13b6885fae2d1809dd9397f11be352d6eceb3b127ec323df81cad4febe5e2a07
srcfiles size=14
RELOC/source/latex/ragged2e/ragged2e.dtx
RELOC/source/latex/ragged2e/ragged2e.ins
@@ -267594,7 +267595,7 @@ catalogue-contact-repository https://gitlab.com/TeXhackse/ragged2e
catalogue-ctan /macros/latex/contrib/ragged2e
catalogue-license lppl1.3c
catalogue-topics layout parshape
-catalogue-version 3.3
+catalogue-version 3.4
name raleway
category Package
@@ -301210,7 +301211,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 66109
+revision 66162
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
@@ -301231,10 +301232,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 1103292
-containerchecksum b2e1555c7861e7b72f4945730d828ca0a0c02cb2848f7faa281b9a00aeddd4748051bb71a57a96a82bf461903fdec73d6322efc8e8bfc80b037a30eaabcc572d
+containersize 1103224
+containerchecksum 41d14e3afbd13da0cd6ebb823c2d15f40c9f56e3d309722778be8ba0a81c61bf2f8e0e28919ac19ee450734ef4ff88c60d18dbe6f8e488eb3ef2debc3d2de31e
doccontainersize 136384
-doccontainerchecksum b1e4939f55fcd905026bf16f08fc1346ec8286132888ea118237810b38e2d2da5aa71d01a27e555c63fdad9774699de81a537cf0d7fc8cd2746e5a3be1f79fea
+doccontainerchecksum 21d132066089ff3a41155274fb2fcd1f3e53ad1fb007a851afd23c2705ab6d90e255648310baf29c593b5a26fe3b85974335c00803964772c82e30aeebeecf3c
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -301306,8 +301307,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 1445696
-srccontainerchecksum 68a4f9e34f10a7e20304a2330be78620f532c364f93536b3f11507f89de8e74f4ac2edf1650f0f4b1719ac2694c8da318b2db5a24d1bc28d98eb2431ea767b13
+srccontainersize 1446084
+srccontainerchecksum 4556b908824579f5fc356fce3a8269751e358d3e00429c4a8f65f8729837a232848f1d09829484bf93bec2c9d1ffca3972e8d8987ad6462b85fdd00e722e5ae5
srcfiles size=4378
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -312712,7 +312713,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 66121
+revision 66144
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.
@@ -312720,10 +312721,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 113796
-containerchecksum 5d5fccff8ff6948fe1f151fa47f99f8b05d00ad6f25b11d004c2774e1dfad539fa4d4bec6a197bd72240b1f5f3c09dc87f5ba3f58470476e41ea5d6e7b861d7f
+containersize 113800
+containerchecksum 43264c342a800fb20e2717095f2da0b70bec65ab9a12261c7ebf96b5bae8d5d54e579154be3b14d512682ec6bbd39c3d4e4526725d913568d876655862f72c73
doccontainersize 424664
-doccontainerchecksum c5b7b672476f3eb919e933119bdfbd06c97bdd12b52187cad3dd3a93584a4b94d67e6a15a5d472f9741dfe7f4eb2ea618d2f586a9e2e70475cbae64373fbd48c
+doccontainerchecksum 358d445d1ba042f222db7ddc6101ee932f8f3415f70ea220b47c302b40b69b39db1a0c4e326dec3aa9a241870ba1d72d064cac78e9a22a4168c253083f04ac27
docfiles size=534
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -356752,7 +356753,7 @@ catalogue-topics font font-mf font-greek greek
name yathesis
category Package
-revision 63576
+revision 66159
shortdesc A LaTeX class for writing a thesis following French rules
relocated 1
longdesc The purpose of yathesis is to facilitate the typesetting of
@@ -356771,10 +356772,10 @@ longdesc distribution. They can also be tested on ShareLaTeX (template
longdesc and specimen) and on Overleaf (template and specimen). Note:
longdesc The "ya" in the package name stands for "yet another".
containersize 23656
-containerchecksum f8fc05aae6153e097f3328126a55b0bd255bef6446978235dbac453a0ee34185c7191aa7b9360ace22ef6f0c96dcb9ab67aac2cf479cdac709b4afd68b9a07c3
-doccontainersize 5190296
-doccontainerchecksum 877b7b2fd5e06016b145b66a4d2d0f8a0fb5f39b1efc28e01429a844bd3a06d4a21796015b57eaa6b7a37826831d49faadff4451cb8b4d4ace56d912c7cc2cb4
-docfiles size=3342
+containerchecksum fab5b280fe45504c54cd599d5b4e1e99936d3373ded66f4b63d781866271b79f56179668b4bd4c2dc6daf5754ae732737e946da763cb1e7018cd5908a70b3efb
+doccontainersize 5200912
+doccontainerchecksum 70bdd373a8816ec6eed800cc233a407d6cb668382ea05efc1df3f604a9ba266dd8799086e7ed33df80ba4e876cd4c86fe52df1de31cd99a0b88aedfdb54315f1
+docfiles size=3336
RELOC/doc/latex/yathesis/CHANGELOG.md
RELOC/doc/latex/yathesis/README.md details="Readme"
RELOC/doc/latex/yathesis/addons/completion/yathesis.cwl
@@ -356847,8 +356848,8 @@ docfiles size=3342
RELOC/doc/latex/yathesis/french/exemples/specimen/a-plat/these.tex
RELOC/doc/latex/yathesis/french/exemples/specimen/a-plat/tiger.pdf
RELOC/doc/latex/yathesis/french/exemples/specimen/a-plat/ulco.pdf
-srccontainersize 54632
-srccontainerchecksum a6485ab26928fd8c883654085af733559d5bbf01828b5048788d73e1b34cfaa2b53988f763eadf61b01cca82d2a70ee188fd04d1835530d9a8766b2463e7605c
+srccontainersize 54668
+srccontainerchecksum 0d2c339bec5d3c4d3e2e7bea9a3735e4a5e697df35690ab54333181bf2157706d3989ca590dbd7fff0f104c4776bf80f13c976e0c7e4515de2111aae60f1ca34
srcfiles size=71
RELOC/source/latex/yathesis/yathesis-samples-templates.dtx
RELOC/source/latex/yathesis/yathesis.dtx
@@ -356861,7 +356862,7 @@ catalogue-contact-repository https://github.com/dbitouze/yathesis
catalogue-ctan /macros/latex/contrib/yathesis
catalogue-license lppl1.3c
catalogue-topics class dissertation french
-catalogue-version 1.0.10
+catalogue-version 1.0.11
name yax
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 7d05844c03..eab2ffc068 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-d39a7bd9b7c25c64056af1bdaa0daac9 texlive.tlpdb
+03fcf411360d41f3b1ded933d89183f2 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 83874f7fb7..11ef1f2928 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-c86b37e2f469d62e0f4cca3b49e4f0b00dd67d0fabfde3f4914080540854067aa88149e3670d424ae0d3c5bc589aceca5dd592cece2f67b771dc62cfeb619e2d texlive.tlpdb
+ee574fe1c4c4b24a70bb9b04d0145968047050cf181c7929d822ccf8656da33efcff0d22ff0c9c1d9c0ebc9a0bcf30a5bdea3c872c2b9c6c3aa37442b27e5841 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 2edca17c61..f4c30d574c 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-----
-iQEcBAEBCgAGBQJj+XRNAAoJEEzhh34ZQ4xwriwIAKvNw6TC5SBtOyLwFaJXbTZD
-HsIk/mcTvAwcmt3V4aLTLsFBEQuJpbAFU4uMRAG2fzGfST59mc6xdpoub6AlKedH
-Rf3NI/uspa6pnF5B5lSCse54HEVcKIBLQYwdasAjtfbmASbDnV4m7LBSLBxDkxYE
-RO/bvZUAiUzelE/HfJR5krGXHyH1p6xY6UuCLaPtF1svsWQHVJuyNY64XugTwBQb
-Hfx3L9vZjRTzrDdWfh04DL/Kmx1MueU6TEB/qB/w8tdmcj0vF107tUehxVYpknyE
-B7DFLw3Vr1c4u9iddW380boPGOJwAhFRvZsU3ewBxnFkyVbY8qn88ImAYdM3AwM=
-=z2HJ
+iQEcBAEBCgAGBQJj+sWZAAoJEEzhh34ZQ4xw56oH/30z4Gco3ZtTAM0xKjKxLnOF
+6ShCtmuZigvviwEa2boIPj7QjcsSqgULl5v5nO7GQ6I98Sx3zXYd3awDRSADU5NL
+9gwI2ldUKVgc5x2A2JoRD6xiJOyw8zu9Be5VsmKx+VOcAQMAZLBPgteoHkLM5zwS
+U5CsFySSkpjQmPnqyVQvfsCn2+g1x1rq5pRCInw5JeRMzfGNelErSJI2j39OZ3aD
+mFrFzyW93D/6yGEuVBSJiefLv5bN1kj2v97VqT5dEnY+le2FfYda2GIqx3H8Y8ef
+WBv2zRVFHR6p/hLi+vxm1hyqYuonf00k6HVnJl+jTJnW6xRmiIFjPz9jOuYp+LU=
+=qA4b
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 6186c3e0b3..efbe8b3b34 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 0281a9e597..cc1a16e263 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:
-2023-02-26-02-02
+2023-02-27-02-02