summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname853
-rw-r--r--FILES.byname.gzbin2290133 -> 2290249 bytes
-rw-r--r--FILES.last07days733
-rw-r--r--fonts/cm/mf/README2
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/README.md9
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx290
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins3
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.pdfbin0 -> 370603 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.tex232
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdfbin464340 -> 719107 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex217
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.tex312
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.pdfbin70199 -> 0 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex18
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdfbin763806 -> 794029 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex63
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex26
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdfbin256560 -> 261015 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex24
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdfbin713378 -> 719343 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex2
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.pdfbin0 -> 26192 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdfbin19205 -> 26896 bytes
-rw-r--r--macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex11
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.pdfbin297365 -> 297366 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.tex7
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.pdfbin225630 -> 225794 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.tex18
-rw-r--r--macros/latex/contrib/easybook/easybook.cls74
-rw-r--r--macros/latex/contrib/hyperref/ChangeLog.txt8
-rw-r--r--macros/latex/contrib/hyperref/README.md2
-rw-r--r--macros/latex/contrib/hyperref/doc/backref.pdfbin198815 -> 198298 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.html920
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.pdfbin296810 -> 298373 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.tex24
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref.pdfbin2421160 -> 2396661 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/manual.css296
-rw-r--r--macros/latex/contrib/hyperref/doc/manual.html7468
-rw-r--r--macros/latex/contrib/hyperref/doc/manual2.html20
-rw-r--r--macros/latex/contrib/hyperref/doc/manual3.html18
-rw-r--r--macros/latex/contrib/hyperref/doc/manual4.html24
-rw-r--r--macros/latex/contrib/hyperref/doc/manual5.html18
-rw-r--r--macros/latex/contrib/hyperref/doc/manual6.html18
-rw-r--r--macros/latex/contrib/hyperref/doc/manual7.html18
-rw-r--r--macros/latex/contrib/hyperref/doc/nameref.pdfbin188802 -> 188032 bytes
-rw-r--r--macros/latex/contrib/hyperref/hluatex.dtx4
-rw-r--r--macros/latex/contrib/hyperref/hyperref.dtx47
-rw-r--r--macros/latex/contrib/hyperref/hyperref.ins1
-rw-r--r--macros/latex/contrib/hyperref/manifest.txt2
-rw-r--r--macros/latex/contrib/hyperref/xr-hyper.sty2
-rw-r--r--macros/luatex/optex/README9
-rw-r--r--macros/luatex/optex/base/basic-macros.opm37
-rw-r--r--macros/luatex/optex/base/cite-bib.opm2
-rw-r--r--macros/luatex/optex/base/doc.opm2
-rw-r--r--macros/luatex/optex/base/fonts-select.opm6
-rw-r--r--macros/luatex/optex/base/hyperlinks.opm5
-rw-r--r--macros/luatex/optex/base/if-macros.opm14
-rw-r--r--macros/luatex/optex/base/languages.opm24
-rw-r--r--macros/luatex/optex/base/makeindex.opm11
-rw-r--r--macros/luatex/optex/base/maketoc.opm49
-rw-r--r--macros/luatex/optex/base/math-macros.opm32
-rw-r--r--macros/luatex/optex/base/math-preload.opm24
-rw-r--r--macros/luatex/optex/base/math-unicode.opm6
-rw-r--r--macros/luatex/optex/base/more-macros.opm2
-rw-r--r--macros/luatex/optex/base/optex.ini2
-rw-r--r--macros/luatex/optex/base/others.opm2
-rw-r--r--macros/luatex/optex/base/outlines.opm42
-rw-r--r--macros/luatex/optex/base/parameters.opm42
-rw-r--r--macros/luatex/optex/base/pdfuni-string.opm71
-rw-r--r--macros/luatex/optex/base/ref-file.opm14
-rw-r--r--macros/luatex/optex/base/references.opm5
-rw-r--r--macros/luatex/optex/base/sections.opm52
-rw-r--r--macros/luatex/optex/base/slides.opm6
-rw-r--r--macros/luatex/optex/base/table.opm19
-rw-r--r--macros/luatex/optex/base/unimath-codes.opm40
-rw-r--r--macros/luatex/optex/base/unimath-table.opm3
-rw-r--r--macros/luatex/optex/base/verbatim.opm16
-rw-r--r--macros/luatex/optex/demo/op-demo.tex4
-rw-r--r--macros/luatex/optex/demo/op-slides.tex2
-rw-r--r--macros/luatex/optex/doc/omls.tex832
-rw-r--r--macros/luatex/optex/doc/optex-doc.pdfbin1362584 -> 1366580 bytes
-rw-r--r--macros/luatex/optex/doc/optex-doc.tex4
-rw-r--r--macros/luatex/optex/doc/optex-math.tex6
-rw-r--r--macros/luatex/optex/doc/optex-techdoc.tex2
-rw-r--r--macros/luatex/optex/doc/optex-userdoc.tex45
-rw-r--r--macros/unicodetex/latex/texnegar/INSTALL.txt2
-rw-r--r--macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdfbin13141 -> 13142 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/doc-ligature-xep.pdfbin10116 -> 10117 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/doc-samples-glyph.pdfbin63436 -> 63437 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/doc-samples-hrule.pdfbin62969 -> 62969 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/doc-samples-xep.pdfbin65544 -> 65546 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-doc.ltx8
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-doc.pdfbin2873970 -> 2874338 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdfbin878555 -> 878555 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdfbin278471 -> 278471 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdfbin169438 -> 169438 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdfbin157990 -> 157989 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdfbin212553 -> 212547 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdfbin156635 -> 156643 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdfbin156636 -> 156634 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdfbin194661 -> 194660 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdfbin155945 -> 155937 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar.dtx106
-rw-r--r--macros/unicodetex/latex/texnegar/texnegar.pdfbin563702 -> 568634 bytes
-rw-r--r--macros/unicodetex/latex/texnegar/xepersian-XB.pdfbin106691 -> 106690 bytes
-rw-r--r--systems/knuth/dist/errata/errata.nine2
-rw-r--r--systems/knuth/dist/errata/errata.tex2474
-rw-r--r--systems/knuth/dist/errata/errata.three2
-rw-r--r--systems/knuth/dist/errata/errata.twelve1709
-rw-r--r--systems/knuth/dist/errata/errorlog.tex25
-rw-r--r--systems/knuth/dist/errata/mf84.bug109
-rw-r--r--systems/knuth/dist/errata/tex82.bug180
-rw-r--r--systems/knuth/dist/etc/vftovp.web4
-rw-r--r--systems/knuth/dist/etc/vptovf.web8
-rw-r--r--systems/knuth/dist/lib/grayf.mf2
-rw-r--r--systems/knuth/dist/lib/plain.tex6
-rw-r--r--systems/knuth/dist/lib/slant.mf4
-rw-r--r--systems/knuth/dist/lib/webmac.tex22
-rw-r--r--systems/knuth/dist/mf/mf.web139
-rw-r--r--systems/knuth/dist/mf/mfbook.tex755
-rw-r--r--systems/knuth/dist/mf/trap.72270gfbin0 -> 1028 bytes
-rw-r--r--systems/knuth/dist/mf/trap.fot4
-rw-r--r--systems/knuth/dist/mf/trap.log90
-rwxr-xr-x[-rw-r--r--]systems/knuth/dist/mf/trap.pl0
-rw-r--r--systems/knuth/dist/mf/trap.typ2
-rw-r--r--systems/knuth/dist/mf/trapin.fot78
-rw-r--r--systems/knuth/dist/mf/trapin.log8
-rw-r--r--systems/knuth/dist/mfware/gftodvi.web4
-rw-r--r--systems/knuth/dist/mfware/gftopk.web18
-rw-r--r--systems/knuth/dist/mfware/gftype.web4
-rw-r--r--systems/knuth/dist/mfware/mft.web22
-rw-r--r--systems/knuth/dist/tex/glue.web2
-rw-r--r--systems/knuth/dist/tex/tex.web213
-rw-r--r--systems/knuth/dist/tex/texbook.tex393
-rw-r--r--systems/knuth/dist/tex/trip.dvibin0 -> 2920 bytes
-rw-r--r--systems/knuth/dist/tex/trip.fot2
-rw-r--r--systems/knuth/dist/tex/trip.log16
-rw-r--r--systems/knuth/dist/tex/trip.tex2
-rw-r--r--systems/knuth/dist/tex/trip.typ2
-rw-r--r--systems/knuth/dist/tex/tripin.fot89
-rw-r--r--systems/knuth/dist/tex/tripin.log6
-rw-r--r--systems/knuth/dist/texware/dvitype.web6
-rw-r--r--systems/knuth/dist/texware/pltotf.web10
-rw-r--r--systems/knuth/dist/texware/pooltype.web8
-rw-r--r--systems/knuth/dist/texware/tftopl.web4
-rw-r--r--systems/knuth/dist/web/tangle.web35
-rw-r--r--systems/knuth/dist/web/weave.web33
-rw-r--r--systems/knuth/dist/web/webman.tex10
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb87
-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.xzbin2278700 -> 2277040 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--systems/win32/w32tex/ChangeLog33
-rw-r--r--timestamp2
157 files changed, 16080 insertions, 3910 deletions
diff --git a/FILES.byname b/FILES.byname
index 36ceb8bb7f..4e3b720ee6 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5087,7 +5087,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2021/02/08 | 99323 | FILES.last07days
+2021/02/09 | 392640 | FILES.last07days
2020/08/14 | 104065 | fonts/academicons/academicons.pdf
2020/08/14 | 17247 | fonts/academicons/academicons.sty
2020/08/14 | 6546 | fonts/academicons/academicons.tex
@@ -20846,7 +20846,7 @@
1996/07/15 | 1115 | fonts/cm/mf_optimized_kerning/readme
2005/11/06 | 4357 | fonts/cm/mf_optimized_kerning.zip
1996/07/26 | 12115 | fonts/cm/mf/punct.mf
-1993/06/27 | 3607 | fonts/cm/mf/README
+2021/01/11 | 3608 | fonts/cm/mf/README
1998/08/10 | 14874 | fonts/cm/mf/romand.mf
1998/05/11 | 39963 | fonts/cm/mf/romanl.mf
1996/07/26 | 3058 | fonts/cm/mf/roman.mf
@@ -20864,7 +20864,7 @@
1996/07/26 | 1165 | fonts/cm/mf/title.mf
1996/07/26 | 3015 | fonts/cm/mf/tset.mf
1998/05/10 | 6331 | fonts/cm/mf/tsetsl.mf
-2014/01/19 | 249739 | fonts/cm/mf.zip
+2021/02/09 | 249739 | fonts/cm/mf.zip
1991/06/20 | 3714 | fonts/cmoefont/cmoebx10.mf
1991/06/20 | 3850 | fonts/cmoefont/cmoer10.mf
1991/06/20 | 5434 | fonts/cmoefont/cmoesc10.mf
@@ -131928,7 +131928,7 @@
2016/02/01 | 1345 | fonts/utilities/ps2pk/mag.1
2021/02/06 | 3357 | fonts/utilities/ps2pk/mag.c
2017/03/27 | 2500 | fonts/utilities/ps2pk/Makefile.am
-2020/11/19 | 52183 | fonts/utilities/ps2pk/Makefile.in
+2021/02/08 | 52214 | fonts/utilities/ps2pk/Makefile.in
2014/10/13 | 38542 | fonts/utilities/ps2pk/objects.c
2018/01/19 | 9794 | fonts/utilities/ps2pk/objects.h
2014/10/14 | 48512 | fonts/utilities/ps2pk/paths.c
@@ -131991,7 +131991,7 @@
2014/10/13 | 4430 | fonts/utilities/ps2pk/util.c
2014/10/13 | 8833 | fonts/utilities/ps2pk/util.h
2006/01/17 | 730 | fonts/utilities/ps2pk/Xstuff.h
-2021/02/07 | 496907 | fonts/utilities/ps2pk.zip
+2021/02/09 | 496914 | fonts/utilities/ps2pk.zip
1995/08/31 | 3714 | fonts/utilities/ps4mf-dos/ps4mf28.txt
1995/08/31 | 587539 | fonts/utilities/ps4mf-dos/ps4mf28.zip
1996/06/05 | 13889 | fonts/utilities/ps4mf/ps4mf.txt
@@ -148870,8 +148870,8 @@
1997/10/07 | 2953 | info/biblio/texbook1.ltx
2019/04/27 | 456277 | info/biblio/texbook2.bib
2019/03/04 | 2877 | info/biblio/texbook2.ltx
-2020/10/03 | 976783 | info/biblio/texbook3.bib
-2020/10/03 | 3914 | info/biblio/texbook3.ltx
+2021/02/08 | 978231 | info/biblio/texbook3.bib
+2021/02/08 | 3916 | info/biblio/texbook3.ltx
2019/03/04 | 179842 | info/biblio/texgraph.bib
2019/03/04 | 4179 | info/biblio/texgraph.ltx
2018/02/07 | 61457 | info/biblio/texjourn.bib
@@ -172083,7 +172083,7 @@
2019/12/05 | 583460 | install/macros/latex/contrib/hologo.tds.zip
2011/04/29 | 449052 | install/macros/latex/contrib/hrefhide.tds.zip
2016/11/20 | 951051 | install/macros/latex/contrib/hustthesis.tds.zip
-2021/02/07 | 4084065 | install/macros/latex/contrib/hyperref.tds.zip
+2021/02/08 | 4141373 | install/macros/latex/contrib/hyperref.tds.zip
2020/11/22 | 1380823 | install/macros/latex/contrib/hyperxmp.tds.zip
2009/09/02 | 167274 | install/macros/latex/contrib/hyphenat.tds.zip
2009/04/05 | 198256 | install/macros/latex/contrib/IEEEconf.tds.zip
@@ -172303,7 +172303,7 @@
2020/02/21 | 1370731 | install/macros/unicodetex/latex/fontspec.tds.zip
2020/12/08 | 1020393 | install/macros/unicodetex/latex/polyglossia.tds.zip
2016/02/13 | 111305 | install/macros/unicodetex/latex/realscripts.tds.zip
-2021/01/31 | 4918660 | install/macros/unicodetex/latex/texnegar.tds.zip
+2021/02/09 | 4924350 | install/macros/unicodetex/latex/texnegar.tds.zip
2020/01/31 | 1873940 | install/macros/unicodetex/latex/unicode-math.tds.zip
2016/05/14 | 185871 | install/macros/xetex/generic/zhspacing.tds.zip
2015/09/04 | 718623 | install/macros/xetex/latex/arabxetex.tds.zip
@@ -185157,7 +185157,7 @@
2013/04/01 | 14776 | macros/context/contrib/context-visualcounter/tex/context/third/visualcounter/t-visualcounter.mkvi
2018/03/05 | 11 | macros/context/contrib/context-visualcounter/VERSION
2018/03/22 | 276789 | macros/context/contrib/context-visualcounter.zip
-2021/02/05 | 119700949 | macros/context/latest/cont-tmf.zip
+2021/02/08 | 119756931 | macros/context/latest/cont-tmf.zip
2016/04/21 | 32846 | macros/cstex/base/cmexb.tar.gz
2016/06/26 | 1728262 | macros/cstex/base/csfonts-t1.tar.gz
2007/03/01 | 187106 | macros/cstex/base/csfonts.tar.gz
@@ -188791,42 +188791,45 @@
2007/05/17 | 96164 | macros/latex/contrib/aeb_pro/aebenvelope/examples/dearmom.pdf
2007/05/17 | 991 | macros/latex/contrib/aeb_pro/aebenvelope/ReadMe.txt
2012/01/01 | 932279 | macros/latex/contrib/aeb_pro/aebenvelope.zip
-2019/06/04 | 547 | macros/latex/contrib/aeb_pro/aeb_pro/aeb.js
-2019/06/04 | 439 | macros/latex/contrib/aeb_pro/aeb_pro/aebpro.cfg
-2019/06/04 | 195770 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx
-2019/06/04 | 2391 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins
-2019/06/04 | 3567 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.js
-2019/06/04 | 464340 | macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf
-2019/06/04 | 175120 | macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex
+2021/02/09 | 547 | macros/latex/contrib/aeb_pro/aeb_pro/aeb.js
+2021/02/09 | 439 | macros/latex/contrib/aeb_pro/aeb_pro/aebpro.cfg
+2021/02/09 | 197447 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx
+2021/02/09 | 2454 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins
+2021/02/09 | 3567 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.js
+2021/02/05 | 370603 | macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.pdf
+2021/02/09 | 9405 | macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.tex
+2021/02/09 | 719107 | macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf
+2021/02/09 | 176042 | macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex
2016/09/14 | 220856 | macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.pdf
-2016/08/03 | 70199 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.pdf
-2019/06/04 | 13094 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex
+2021/02/09 | 13105 | macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.tex
+2021/02/09 | 13073 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex
2016/08/03 | 50752 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex2.pdf
-2019/06/04 | 8352 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex2.tex
-2017/08/26 | 763806 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf
-2019/06/04 | 13735 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex
+2021/02/09 | 8352 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex2.tex
+2021/02/09 | 794029 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf
+2021/02/09 | 13997 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex
2017/10/08 | 175005 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.pdf
-2019/06/04 | 13557 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex
+2021/02/09 | 13544 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex
2017/08/26 | 254257 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex5.pdf
-2019/06/04 | 19568 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex5.tex
-2017/08/26 | 256560 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf
-2019/06/04 | 5770 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex
+2021/02/09 | 19568 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex5.tex
+2021/02/09 | 261015 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf
+2021/02/09 | 5870 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex
2017/08/26 | 50592 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex7.pdf
-2019/06/04 | 5734 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex7.tex
-2019/03/20 | 713378 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf
-2019/06/04 | 6865 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex
-2019/06/04 | 1441 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.tex
+2021/02/09 | 5734 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex7.tex
+2021/02/09 | 719343 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf
+2021/02/09 | 6866 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex
+2021/02/05 | 26192 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.pdf
+2021/02/09 | 1441 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.tex
2007/01/12 | 49193 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/explog.pdf
2016/08/03 | 29562 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target1.pdf
-2019/06/04 | 2201 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target1.tex
+2021/02/09 | 2201 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target1.tex
2016/08/03 | 24149 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target2.pdf
-2019/06/04 | 1107 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target2.tex
+2021/02/09 | 1107 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target2.tex
2007/01/12 | 43410 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/theeuro.pdf
2016/01/28 | 434167 | macros/latex/contrib/aeb_pro/aeb_pro/examples/extras.zip.txt
2016/01/28 | 9068 | macros/latex/contrib/aeb_pro/aeb_pro/examples/myCoverPage.pdf
-2019/06/04 | 256 | macros/latex/contrib/aeb_pro/aeb_pro/examples/myCoverPage.tex
-2019/06/04 | 19205 | macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf
-2019/06/04 | 1037 | macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex
+2021/02/09 | 256 | macros/latex/contrib/aeb_pro/aeb_pro/examples/myCoverPage.tex
+2021/02/05 | 26896 | macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf
+2021/02/09 | 1542 | macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex
2006/12/28 | 25733 | macros/latex/contrib/aeb_pro/aeb_pro/extras/AeB_Logo_bw15.pdf
2006/12/28 | 30674 | macros/latex/contrib/aeb_pro/aeb_pro/extras/AeB_Logo_bw50.pdf
2006/12/28 | 289706 | macros/latex/contrib/aeb_pro/aeb_pro/extras/AeB_Logo.eps
@@ -188837,10 +188840,10 @@
2006/06/24 | 27099 | macros/latex/contrib/aeb_pro/aeb_pro/extras/Manual_BG_Print_AeB.pdf
2017/08/29 | 95261 | macros/latex/contrib/aeb_pro/aeb_pro/extras/robot_man.pdf
1998/10/18 | 89864 | macros/latex/contrib/aeb_pro/aeb_pro/extras/trek.wav
-2019/06/04 | 2161 | macros/latex/contrib/aeb_pro/aeb_pro/fsprodef.js
+2021/02/09 | 2161 | macros/latex/contrib/aeb_pro/aeb_pro/fsprodef.js
2010/07/02 | 15812 | macros/latex/contrib/aeb_pro/aeb_pro/icons/btn_anime_icons1.pdf
-2019/06/04 | 2286 | macros/latex/contrib/aeb_pro/aeb_pro/README.md
-2019/06/04 | 3669432 | macros/latex/contrib/aeb_pro/aeb_pro.zip
+2021/02/09 | 2659 | macros/latex/contrib/aeb_pro/aeb_pro/README.md
+2021/02/09 | 4108999 | macros/latex/contrib/aeb_pro/aeb_pro.zip
2007/03/13 | 13062 | macros/latex/contrib/aeb_pro/aebslicing/aebslice.js
2006/11/23 | 3412 | macros/latex/contrib/aeb_pro/aebslicing/AeB Slicing.sequ
2006/11/24 | 67532 | macros/latex/contrib/aeb_pro/aebslicing/aebslicing_sequ_doc.pdf
@@ -196155,18 +196158,18 @@
2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt
2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README
2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip
-2021/02/08 | 297365 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
-2021/02/07 | 2517 | macros/latex/contrib/easybook/doc/easybook-demo.tex
-2021/02/08 | 225630 | macros/latex/contrib/easybook/doc/easybook.pdf
-2021/02/08 | 26206 | macros/latex/contrib/easybook/doc/easybook.tex
+2021/02/09 | 297366 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
+2021/02/09 | 2494 | macros/latex/contrib/easybook/doc/easybook-demo.tex
+2021/02/09 | 225794 | macros/latex/contrib/easybook/doc/easybook.pdf
+2021/02/09 | 26162 | macros/latex/contrib/easybook/doc/easybook.tex
2021/02/07 | 99 | macros/latex/contrib/easybook/doc/pages/appendix.tex
-2021/02/07 | 4108 | macros/latex/contrib/easybook/doc/pages/chapter1.tex
-2021/02/07 | 3806 | macros/latex/contrib/easybook/doc/pages/chapter2.tex
+2021/02/09 | 4108 | macros/latex/contrib/easybook/doc/pages/chapter1.tex
+2021/02/09 | 3806 | macros/latex/contrib/easybook/doc/pages/chapter2.tex
2021/02/07 | 2768 | macros/latex/contrib/easybook/doc/pages/chapter3.tex
2020/12/23 | 794 | macros/latex/contrib/easybook/doc/ref/refs.bib
-2021/02/07 | 42960 | macros/latex/contrib/easybook/easybook.cls
+2021/02/09 | 44204 | macros/latex/contrib/easybook/easybook.cls
2021/01/14 | 3005 | macros/latex/contrib/easybook/README.md
-2021/02/07 | 524918 | macros/latex/contrib/easybook.zip
+2021/02/09 | 525274 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -200879,35 +200882,43 @@
2010/03/06 | 1833 | macros/latex/contrib/hypernat/hypernat.tex
2010/03/06 | 187989 | macros/latex/contrib/hypernat.zip
1999/03/09 | 1563 | macros/latex/contrib/hyper/README
-2021/02/07 | 28408 | macros/latex/contrib/hyperref/backref.dtx
-2021/02/07 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty
-2021/02/07 | 116152 | macros/latex/contrib/hyperref/ChangeLog.txt
-2021/02/07 | 198815 | macros/latex/contrib/hyperref/doc/backref.pdf
-2021/02/07 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
-2021/02/07 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
-2021/02/07 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
-2021/02/07 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
-2021/02/07 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
-2021/02/07 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
-2021/02/07 | 14442 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
-2021/02/07 | 467300 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
-2021/02/07 | 296810 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
-2021/02/07 | 151901 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
-2021/02/07 | 2421160 | macros/latex/contrib/hyperref/doc/hyperref.pdf
-2021/02/07 | 188802 | macros/latex/contrib/hyperref/doc/nameref.pdf
-2018/11/18 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf
-2018/11/18 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf
-2021/02/07 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
-2021/02/07 | 892909 | macros/latex/contrib/hyperref/hyperref.dtx
-2021/02/07 | 3962 | macros/latex/contrib/hyperref/hyperref.ins
-2021/02/07 | 1680 | macros/latex/contrib/hyperref/manifest.txt
-2021/02/07 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty
-2021/02/07 | 23652 | macros/latex/contrib/hyperref/nameref.dtx
-2021/02/07 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty
-2018/11/18 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip
-2021/02/07 | 4479 | macros/latex/contrib/hyperref/README.md
-2021/02/07 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
-2021/02/07 | 3902555 | macros/latex/contrib/hyperref.zip
+2021/02/08 | 28408 | macros/latex/contrib/hyperref/backref.dtx
+2021/02/08 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty
+2021/02/08 | 116476 | macros/latex/contrib/hyperref/ChangeLog.txt
+2021/02/08 | 198298 | macros/latex/contrib/hyperref/doc/backref.pdf
+2021/02/08 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
+2021/02/08 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
+2021/02/08 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
+2021/02/08 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
+2021/02/08 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
+2021/02/08 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
+2021/02/08 | 14442 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
+2021/02/08 | 469210 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
+2021/02/08 | 298373 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+2021/02/08 | 152872 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+2021/02/08 | 2396661 | macros/latex/contrib/hyperref/doc/hyperref.pdf
+2021/02/05 | 892 | macros/latex/contrib/hyperref/doc/manual2.html
+2021/02/05 | 759 | macros/latex/contrib/hyperref/doc/manual3.html
+2021/02/05 | 994 | macros/latex/contrib/hyperref/doc/manual4.html
+2021/02/05 | 756 | macros/latex/contrib/hyperref/doc/manual5.html
+2021/02/05 | 756 | macros/latex/contrib/hyperref/doc/manual6.html
+2021/02/05 | 756 | macros/latex/contrib/hyperref/doc/manual7.html
+2021/02/05 | 14442 | macros/latex/contrib/hyperref/doc/manual.css
+2021/02/05 | 468117 | macros/latex/contrib/hyperref/doc/manual.html
+2021/02/08 | 188032 | macros/latex/contrib/hyperref/doc/nameref.pdf
+2020/10/12 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf
+2020/10/12 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf
+2021/02/08 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
+2021/02/08 | 893466 | macros/latex/contrib/hyperref/hyperref.dtx
+2021/02/08 | 4017 | macros/latex/contrib/hyperref/hyperref.ins
+2021/02/08 | 1695 | macros/latex/contrib/hyperref/manifest.txt
+2021/02/08 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty
+2021/02/08 | 23652 | macros/latex/contrib/hyperref/nameref.dtx
+2021/02/08 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty
+2020/10/12 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip
+2021/02/08 | 4479 | macros/latex/contrib/hyperref/README.md
+2021/02/08 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
+2021/02/09 | 3958553 | macros/latex/contrib/hyperref.zip
1997/08/24 | 1034 | macros/latex/contrib/hyper/scontrib/harvard.hyp
1997/08/24 | 297 | macros/latex/contrib/hyper/scontrib/README
1997/08/24 | 1381 | macros/latex/contrib/hyper/TODO
@@ -221833,12 +221844,12 @@
2017/10/17 | 2896302 | macros/luatex/latex/wallcalendar/wallcalendar.pdf
2017/10/21 | 9209120 | macros/luatex/latex/wallcalendar.zip
2021/01/06 | 6123 | macros/luatex/optex/base/alloc.opm
-2021/01/14 | 4534 | macros/luatex/optex/base/basic-macros.opm
+2021/02/06 | 5044 | macros/luatex/optex/base/basic-macros.opm
2021/01/11 | 33232 | macros/luatex/optex/base/bib-iso690.opm
2021/01/07 | 5794 | macros/luatex/optex/base/bib-simple.opm
-2021/01/07 | 12234 | macros/luatex/optex/base/cite-bib.opm
+2021/02/04 | 12235 | macros/luatex/optex/base/cite-bib.opm
2021/01/11 | 17869 | macros/luatex/optex/base/colors.opm
-2021/01/07 | 10465 | macros/luatex/optex/base/doc.opm
+2021/01/22 | 10461 | macros/luatex/optex/base/doc.opm
2021/01/07 | 654 | macros/luatex/optex/base/f-adventor.opm
2021/01/06 | 8751 | macros/luatex/optex/base/fams-ini.opm
2021/01/07 | 1153 | macros/luatex/optex/base/f-antt.opm
@@ -221864,7 +221875,7 @@
2021/01/06 | 6716 | macros/luatex/optex/base/fonts-opmac.opm
2021/01/06 | 1668 | macros/luatex/optex/base/fonts-preload.opm
2021/01/11 | 14049 | macros/luatex/optex/base/fonts-resize.opm
-2021/01/13 | 36673 | macros/luatex/optex/base/fonts-select.opm
+2021/01/27 | 36628 | macros/luatex/optex/base/fonts-select.opm
2021/01/07 | 691 | macros/luatex/optex/base/f-pagella.opm
2021/01/07 | 1512 | macros/luatex/optex/base/f-poltawski.opm
2021/01/07 | 2614 | macros/luatex/optex/base/f-roboto.opm
@@ -221873,69 +221884,70 @@
2021/01/07 | 1107 | macros/luatex/optex/base/f-technika.opm
2021/01/07 | 681 | macros/luatex/optex/base/f-termes.opm
2021/01/07 | 759 | macros/luatex/optex/base/f-xcharter.opm
-2021/01/07 | 19607 | macros/luatex/optex/base/graphics.opm
+2021/02/05 | 19607 | macros/luatex/optex/base/graphics.opm
2021/01/07 | 2741 | macros/luatex/optex/base/hisyntax-c.opm
2021/01/07 | 1005 | macros/luatex/optex/base/hisyntax-html.opm
2021/01/11 | 9690 | macros/luatex/optex/base/hi-syntax.opm
2021/01/07 | 3018 | macros/luatex/optex/base/hisyntax-python.opm
2021/01/07 | 1566 | macros/luatex/optex/base/hisyntax-tex.opm
-2021/01/07 | 6981 | macros/luatex/optex/base/hyperlinks.opm
+2021/01/27 | 7045 | macros/luatex/optex/base/hyperlinks.opm
2021/01/07 | 11686 | macros/luatex/optex/base/hyphen-lan.opm
-2021/01/14 | 12183 | macros/luatex/optex/base/if-macros.opm
+2021/02/08 | 12374 | macros/luatex/optex/base/if-macros.opm
2021/01/06 | 3270 | macros/luatex/optex/base/keyval.opm
-2021/01/07 | 9556 | macros/luatex/optex/base/languages.opm
+2021/01/22 | 9395 | macros/luatex/optex/base/languages.opm
2021/01/13 | 5117 | macros/luatex/optex/base/lists.opm
2021/01/11 | 2377 | macros/luatex/optex/base/logos.opm
2021/01/06 | 7416 | macros/luatex/optex/base/luatex-ini.opm
-2021/01/07 | 19092 | macros/luatex/optex/base/makeindex.opm
-2021/01/11 | 5390 | macros/luatex/optex/base/maketoc.opm
+2021/02/05 | 19109 | macros/luatex/optex/base/makeindex.opm
+2021/02/09 | 6432 | macros/luatex/optex/base/maketoc.opm
2021/01/07 | 3635 | macros/luatex/optex/base/margins.opm
2020/05/16 | 13569 | macros/luatex/optex/base/mathclass.opm
-2021/01/06 | 43406 | macros/luatex/optex/base/math-macros.opm
-2021/01/06 | 9336 | macros/luatex/optex/base/math-preload.opm
-2021/01/10 | 10738 | macros/luatex/optex/base/math-unicode.opm
-2021/01/11 | 12375 | macros/luatex/optex/base/more-macros.opm
+2021/02/04 | 43726 | macros/luatex/optex/base/math-macros.opm
+2021/01/26 | 9694 | macros/luatex/optex/base/math-preload.opm
+2021/01/25 | 10894 | macros/luatex/optex/base/math-unicode.opm
+2021/02/06 | 12371 | macros/luatex/optex/base/more-macros.opm
2021/01/07 | 4756 | macros/luatex/optex/base/multicolumns.opm
-2021/01/14 | 4035 | macros/luatex/optex/base/optex.ini
+2021/02/09 | 4030 | macros/luatex/optex/base/optex.ini
2021/01/12 | 12637 | macros/luatex/optex/base/optex.lua
-2021/01/14 | 3748 | macros/luatex/optex/base/others.opm
-2021/01/11 | 4361 | macros/luatex/optex/base/outlines.opm
+2021/02/06 | 3741 | macros/luatex/optex/base/others.opm
+2021/02/09 | 4540 | macros/luatex/optex/base/outlines.opm
2021/01/07 | 11462 | macros/luatex/optex/base/output.opm
-2021/01/11 | 25067 | macros/luatex/optex/base/parameters.opm
-2021/01/07 | 4675 | macros/luatex/optex/base/pdfuni-string.opm
+2021/01/22 | 25140 | macros/luatex/optex/base/parameters.opm
+2021/02/08 | 5319 | macros/luatex/optex/base/pdfuni-string.opm
2021/01/06 | 13702 | macros/luatex/optex/base/plain-macros.opm
2021/01/11 | 12531 | macros/luatex/optex/base/prefixed.opm
2021/01/07 | 2203 | macros/luatex/optex/base/print-unimath.opm
-2021/01/07 | 3622 | macros/luatex/optex/base/references.opm
-2021/01/07 | 5591 | macros/luatex/optex/base/ref-file.opm
-2021/01/11 | 19172 | macros/luatex/optex/base/sections.opm
-2021/01/07 | 9220 | macros/luatex/optex/base/slides.opm
+2021/02/05 | 3587 | macros/luatex/optex/base/references.opm
+2021/02/09 | 5869 | macros/luatex/optex/base/ref-file.opm
+2021/02/09 | 20176 | macros/luatex/optex/base/sections.opm
+2021/01/16 | 9320 | macros/luatex/optex/base/slides.opm
2021/01/07 | 3766 | macros/luatex/optex/base/styles.opm
-2021/01/14 | 24189 | macros/luatex/optex/base/table.opm
+2021/02/07 | 24276 | macros/luatex/optex/base/table.opm
2021/01/07 | 121749 | macros/luatex/optex/base/uni-lcuc.opm
-2021/01/14 | 16978 | macros/luatex/optex/base/unimath-codes.opm
-2020/06/13 | 241372 | macros/luatex/optex/base/unimath-table.opm
+2021/02/03 | 18490 | macros/luatex/optex/base/unimath-codes.opm
+2021/01/31 | 241445 | macros/luatex/optex/base/unimath-table.opm
2021/01/11 | 16007 | macros/luatex/optex/base/usebib.opm
-2021/01/10 | 16231 | macros/luatex/optex/base/verbatim.opm
+2021/02/06 | 16310 | macros/luatex/optex/base/verbatim.opm
2020/12/05 | 9599 | macros/luatex/optex/demo/op-biblist.bib
-2021/01/07 | 3502 | macros/luatex/optex/demo/op-demo.tex
+2021/01/22 | 3498 | macros/luatex/optex/demo/op-demo.tex
2021/01/07 | 1192 | macros/luatex/optex/demo/op-letter-cs.tex
2021/01/07 | 573 | macros/luatex/optex/demo/op-letter-en.tex
2020/05/16 | 512984 | macros/luatex/optex/demo/op-ring.png
2020/05/17 | 62385 | macros/luatex/optex/demo/op-slides-bg.png
-2021/01/07 | 9012 | macros/luatex/optex/demo/op-slides.tex
+2021/01/22 | 9012 | macros/luatex/optex/demo/op-slides.tex
+2021/02/09 | 34531 | macros/luatex/optex/doc/omls.tex
2020/05/16 | 1460 | macros/luatex/optex/doc/optex.1
-2021/01/14 | 1362584 | macros/luatex/optex/doc/optex-doc.pdf
-2021/01/14 | 3923 | macros/luatex/optex/doc/optex-doc.tex
-2021/01/06 | 68869 | macros/luatex/optex/doc/optex-math.tex
-2021/01/07 | 8043 | macros/luatex/optex/doc/optex-techdoc.tex
-2021/01/14 | 84930 | macros/luatex/optex/doc/optex-userdoc.tex
+2021/02/09 | 1366580 | macros/luatex/optex/doc/optex-doc.pdf
+2021/02/09 | 3958 | macros/luatex/optex/doc/optex-doc.tex
+2021/02/06 | 68866 | macros/luatex/optex/doc/optex-math.tex
+2021/02/09 | 8083 | macros/luatex/optex/doc/optex-techdoc.tex
+2021/02/09 | 85414 | macros/luatex/optex/doc/optex-userdoc.tex
2021/01/10 | 1858 | macros/luatex/optex/pkg/emoji.opm
2020/12/20 | 1087 | macros/luatex/optex/pkg/plain-at.opm
2020/11/11 | 85045 | macros/luatex/optex/pkg/qrcode.opm
2021/01/08 | 7598 | macros/luatex/optex/pkg/vlna.opm
-2021/01/14 | 4569 | macros/luatex/optex/README
-2021/01/14 | 2281399 | macros/luatex/optex.zip
+2021/02/09 | 4873 | macros/luatex/optex/README
+2021/02/09 | 2299817 | macros/luatex/optex.zip
1993/02/12 | 2330 | macros/mathematica/CHANGES
1993/02/12 | 7699 | macros/mathematica/README
1993/02/12 | 40574 | macros/mathematica/tex-mma-j.ps.gz
@@ -229549,39 +229561,39 @@
2016/02/13 | 1755 | macros/unicodetex/latex/realscripts/realscripts.ins
2016/02/13 | 106569 | macros/unicodetex/latex/realscripts/realscripts.pdf
2016/02/13 | 108915 | macros/unicodetex/latex/realscripts.zip
-2021/01/31 | 13141 | macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
-2021/01/31 | 10116 | macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
-2021/01/31 | 63436 | macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
-2021/01/31 | 62969 | macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf
-2021/01/31 | 65544 | macros/unicodetex/latex/texnegar/doc-samples-xep.pdf
-2021/01/31 | 1551 | macros/unicodetex/latex/texnegar/INSTALL.txt
-2021/01/31 | 1142 | macros/unicodetex/latex/texnegar/README.txt
-2021/01/31 | 28671 | macros/unicodetex/latex/texnegar/texnegar-doc.ltx
-2021/01/31 | 2873970 | macros/unicodetex/latex/texnegar/texnegar-doc.pdf
-2021/01/31 | 95053 | macros/unicodetex/latex/texnegar/texnegar.dtx
-2021/01/31 | 2628 | macros/unicodetex/latex/texnegar/texnegar.ins
-2021/01/31 | 878555 | macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf
-2021/01/31 | 3519 | macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.tex
-2021/01/31 | 278471 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf
-2021/01/31 | 3615 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.tex
-2021/01/31 | 169438 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf
-2021/01/31 | 3615 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.tex
-2021/01/31 | 563702 | macros/unicodetex/latex/texnegar/texnegar.pdf
-2021/01/31 | 157990 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf
-2021/01/31 | 3804 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.tex
-2021/01/31 | 212553 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf
-2021/01/31 | 3900 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.tex
-2021/01/31 | 156635 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf
-2021/01/31 | 3900 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.tex
-2021/01/31 | 156636 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf
-2021/01/31 | 3608 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.tex
-2021/01/31 | 194661 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf
-2021/01/31 | 3693 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.tex
-2021/01/31 | 155945 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf
-2021/01/31 | 3694 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.tex
-2021/01/31 | 106691 | macros/unicodetex/latex/texnegar/xepersian-XB.pdf
-2021/01/31 | 3113 | macros/unicodetex/latex/texnegar/xepersian-XB.tex
-2021/01/31 | 4893277 | macros/unicodetex/latex/texnegar.zip
+2021/02/09 | 13142 | macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
+2021/02/09 | 10117 | macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
+2021/02/09 | 63437 | macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
+2021/02/09 | 62969 | macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf
+2021/02/09 | 65546 | macros/unicodetex/latex/texnegar/doc-samples-xep.pdf
+2021/02/09 | 1551 | macros/unicodetex/latex/texnegar/INSTALL.txt
+2021/02/09 | 1142 | macros/unicodetex/latex/texnegar/README.txt
+2021/02/09 | 28889 | macros/unicodetex/latex/texnegar/texnegar-doc.ltx
+2021/02/09 | 2874338 | macros/unicodetex/latex/texnegar/texnegar-doc.pdf
+2021/02/09 | 98376 | macros/unicodetex/latex/texnegar/texnegar.dtx
+2021/02/09 | 2628 | macros/unicodetex/latex/texnegar/texnegar.ins
+2021/02/09 | 878555 | macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf
+2021/02/09 | 3519 | macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.tex
+2021/02/09 | 278471 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf
+2021/02/09 | 3615 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.tex
+2021/02/09 | 169438 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf
+2021/02/09 | 3615 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.tex
+2021/02/09 | 568634 | macros/unicodetex/latex/texnegar/texnegar.pdf
+2021/02/09 | 157989 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf
+2021/02/09 | 3804 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.tex
+2021/02/09 | 212547 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf
+2021/02/09 | 3900 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.tex
+2021/02/09 | 156643 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf
+2021/02/09 | 3900 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.tex
+2021/02/09 | 156634 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf
+2021/02/09 | 3608 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.tex
+2021/02/09 | 194660 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf
+2021/02/09 | 3693 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.tex
+2021/02/09 | 155937 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf
+2021/02/09 | 3694 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.tex
+2021/02/09 | 106690 | macros/unicodetex/latex/texnegar/xepersian-XB.pdf
+2021/02/09 | 3113 | macros/unicodetex/latex/texnegar/xepersian-XB.tex
+2021/02/09 | 4898310 | macros/unicodetex/latex/texnegar.zip
2020/01/31 | 15419 | macros/unicodetex/latex/unicode-math/CHANGES.md
2020/01/31 | 19106 | macros/unicodetex/latex/unicode-math/LICENSE
2020/01/31 | 9203 | macros/unicodetex/latex/unicode-math/MANIFEST.md
@@ -261509,27 +261521,28 @@
2008/03/02 | 9646 | systems/knuth/dist/errata/errata.eleven
1995/03/05 | 42967 | systems/knuth/dist/errata/errata.five
1992/08/18 | 31881 | systems/knuth/dist/errata/errata.four
-2014/01/03 | 7465 | systems/knuth/dist/errata/errata.nine
+2021/01/10 | 7465 | systems/knuth/dist/errata/errata.nine
1989/08/12 | 24569 | systems/knuth/dist/errata/errata.one
1993/02/27 | 29653 | systems/knuth/dist/errata/errata.seven
1992/05/18 | 15837 | systems/knuth/dist/errata/errata.six
2008/03/02 | 39164 | systems/knuth/dist/errata/errata.ten
-2014/01/20 | 54149 | systems/knuth/dist/errata/errata.tex
-1989/08/12 | 60085 | systems/knuth/dist/errata/errata.three
+2021/02/05 | 61293 | systems/knuth/dist/errata/errata.tex
+2021/01/11 | 60093 | systems/knuth/dist/errata/errata.three
+2021/02/05 | 54394 | systems/knuth/dist/errata/errata.twelve
1989/08/12 | 15006 | systems/knuth/dist/errata/errata.two
-2014/01/20 | 152869 | systems/knuth/dist/errata/errorlog.tex
+2021/02/05 | 153618 | systems/knuth/dist/errata/errorlog.tex
1991/10/19 | 4110 | systems/knuth/dist/errata/logmac.tex
-2014/01/07 | 92212 | systems/knuth/dist/errata/mf84.bug
-2014/01/20 | 322806 | systems/knuth/dist/errata/tex82.bug
-2014/01/23 | 328734 | systems/knuth/dist/errata.zip
-2014/01/07 | 89201 | systems/knuth/dist/etc/vftovp.web
-2014/01/07 | 123024 | systems/knuth/dist/etc/vptovf.web
-2014/01/19 | 68388 | systems/knuth/dist/etc.zip
+2021/02/05 | 95990 | systems/knuth/dist/errata/mf84.bug
+2021/02/05 | 327993 | systems/knuth/dist/errata/tex82.bug
+2021/02/09 | 351653 | systems/knuth/dist/errata.zip
+2021/01/11 | 89194 | systems/knuth/dist/etc/vftovp.web
+2021/01/11 | 123010 | systems/knuth/dist/etc/vptovf.web
+2021/02/09 | 68386 | systems/knuth/dist/etc.zip
1992/01/13 | 1734 | systems/knuth/dist/lib/3test.mf
1989/08/15 | 1836 | systems/knuth/dist/lib/6test.mf
1990/09/06 | 3765 | systems/knuth/dist/lib/cmbase.mft
1992/03/16 | 183 | systems/knuth/dist/lib/expr.mf
-1989/08/15 | 2881 | systems/knuth/dist/lib/grayf.mf
+2021/01/10 | 2882 | systems/knuth/dist/lib/grayf.mf
2002/12/19 | 27860 | systems/knuth/dist/lib/hyphen.tex
1992/03/16 | 857 | systems/knuth/dist/lib/io.mf
1989/08/15 | 367 | systems/knuth/dist/lib/logo10.mf
@@ -261545,54 +261558,58 @@
1989/08/13 | 212 | systems/knuth/dist/lib/null.tex
2002/12/19 | 22889 | systems/knuth/dist/lib/plain.mf
1990/09/06 | 1668 | systems/knuth/dist/lib/plain.mft
-2008/02/29 | 44616 | systems/knuth/dist/lib/plain.tex
+2021/01/17 | 44615 | systems/knuth/dist/lib/plain.tex
1986/06/08 | 326 | systems/knuth/dist/lib/rtest.mf
-1986/01/17 | 929 | systems/knuth/dist/lib/slant.mf
+2021/01/10 | 931 | systems/knuth/dist/lib/slant.mf
1992/03/16 | 412 | systems/knuth/dist/lib/story.tex
1996/10/09 | 9226 | systems/knuth/dist/lib/testfont.tex
1989/08/13 | 1187 | systems/knuth/dist/lib/test.mf
1992/03/16 | 6510 | systems/knuth/dist/lib/waits.mf
-1990/09/07 | 10084 | systems/knuth/dist/lib/webmac.tex
-2014/01/19 | 78411 | systems/knuth/dist/lib.zip
+2021/01/11 | 10398 | systems/knuth/dist/lib/webmac.tex
+2021/02/09 | 78539 | systems/knuth/dist/lib.zip
1986/06/08 | 332 | systems/knuth/dist/lib/ztest.mf
-2014/01/11 | 942014 | systems/knuth/dist/mf/mfbook.tex
-2014/01/08 | 918634 | systems/knuth/dist/mf/mf.web
-2014/01/08 | 1710 | systems/knuth/dist/mf/trap.fot
-2014/01/11 | 4592 | systems/knuth/dist/mf/trapin.log
-2014/01/08 | 121713 | systems/knuth/dist/mf/trap.log
+2021/01/25 | 944165 | systems/knuth/dist/mf/mfbook.tex
+2021/02/05 | 919408 | systems/knuth/dist/mf/mf.web
+2021/01/26 | 1028 | systems/knuth/dist/mf/trap.72270gf
+2021/01/26 | 1711 | systems/knuth/dist/mf/trap.fot
+2021/01/26 | 2303 | systems/knuth/dist/mf/trapin.fot
+2021/01/26 | 4593 | systems/knuth/dist/mf/trapin.log
+2021/01/26 | 121710 | systems/knuth/dist/mf/trap.log
1993/09/22 | 18248 | systems/knuth/dist/mf/trapman.tex
1998/08/09 | 11899 | systems/knuth/dist/mf/trap.mf
2008/03/17 | 10388 | systems/knuth/dist/mf/trap.pl
-2014/01/11 | 4552 | systems/knuth/dist/mf/trap.typ
-1991/03/26 | 186555 | systems/knuth/dist/mfware/gftodvi.web
-2014/01/11 | 92356 | systems/knuth/dist/mfware/gftopk.web
-1991/03/26 | 54857 | systems/knuth/dist/mfware/gftype.web
-1990/09/06 | 74976 | systems/knuth/dist/mfware/mft.web
-2014/01/19 | 132759 | systems/knuth/dist/mfware.zip
-2014/01/19 | 654860 | systems/knuth/dist/mf.zip
-1991/05/25 | 17110 | systems/knuth/dist/tex/glue.web
-2014/01/11 | 1384511 | systems/knuth/dist/tex/texbook.tex
-2014/01/08 | 1030715 | systems/knuth/dist/tex/tex.web
-2014/01/08 | 2444 | systems/knuth/dist/tex/trip.fot
-2014/01/11 | 12899 | systems/knuth/dist/tex/tripin.log
-2014/01/07 | 183969 | systems/knuth/dist/tex/trip.log
+2021/01/26 | 4552 | systems/knuth/dist/mf/trap.typ
+2021/01/11 | 186549 | systems/knuth/dist/mfware/gftodvi.web
+2021/01/11 | 92350 | systems/knuth/dist/mfware/gftopk.web
+2021/01/11 | 54851 | systems/knuth/dist/mfware/gftype.web
+2021/01/26 | 75023 | systems/knuth/dist/mfware/mft.web
+2021/02/09 | 132761 | systems/knuth/dist/mfware.zip
+2021/02/09 | 657293 | systems/knuth/dist/mf.zip
+2021/01/11 | 17104 | systems/knuth/dist/tex/glue.web
+2021/01/26 | 1386369 | systems/knuth/dist/tex/texbook.tex
+2021/02/05 | 1031999 | systems/knuth/dist/tex/tex.web
+2021/01/26 | 2920 | systems/knuth/dist/tex/trip.dvi
+2021/01/26 | 2445 | systems/knuth/dist/tex/trip.fot
+2021/01/26 | 2834 | systems/knuth/dist/tex/tripin.fot
+2021/01/26 | 12900 | systems/knuth/dist/tex/tripin.log
+2021/02/06 | 184018 | systems/knuth/dist/tex/trip.log
1992/01/14 | 19342 | systems/knuth/dist/tex/tripman.tex
1992/01/26 | 59 | systems/knuth/dist/tex/tripos.tex
1989/10/06 | 16990 | systems/knuth/dist/tex/trip.pl
-2002/12/23 | 22676 | systems/knuth/dist/tex/trip.tex
+2021/01/14 | 22677 | systems/knuth/dist/tex/trip.tex
2002/12/21 | 3116 | systems/knuth/dist/tex/trip.tfm
-2014/01/11 | 18060 | systems/knuth/dist/tex/trip.typ
-1995/12/28 | 103962 | systems/knuth/dist/texware/dvitype.web
-2014/01/07 | 97503 | systems/knuth/dist/texware/pltotf.web
-1989/09/16 | 16035 | systems/knuth/dist/texware/pooltype.web
-2014/01/07 | 60100 | systems/knuth/dist/texware/tftopl.web
-2014/01/19 | 92448 | systems/knuth/dist/texware.zip
-2014/01/19 | 855010 | systems/knuth/dist/tex.zip
-2002/12/23 | 130376 | systems/knuth/dist/web/tangle.web
-2002/12/23 | 187245 | systems/knuth/dist/web/weave.web
-1990/09/06 | 89145 | systems/knuth/dist/web/webman.tex
-2008/07/10 | 131362 | systems/knuth/dist/web.zip
-2014/01/19 | 2601308 | systems/knuth/dist.zip
+2021/01/26 | 18060 | systems/knuth/dist/tex/trip.typ
+2021/01/11 | 103952 | systems/knuth/dist/texware/dvitype.web
+2021/01/12 | 97482 | systems/knuth/dist/texware/pltotf.web
+2021/01/11 | 16024 | systems/knuth/dist/texware/pooltype.web
+2021/01/11 | 60093 | systems/knuth/dist/texware/tftopl.web
+2021/02/09 | 92436 | systems/knuth/dist/texware.zip
+2021/02/09 | 858846 | systems/knuth/dist/tex.zip
+2021/01/26 | 130406 | systems/knuth/dist/web/tangle.web
+2021/01/31 | 187257 | systems/knuth/dist/web/weave.web
+2021/01/11 | 89227 | systems/knuth/dist/web/webman.tex
+2021/02/09 | 131405 | systems/knuth/dist/web.zip
+2021/02/09 | 4995205 | systems/knuth/dist.zip
2000/04/29 | 1685 | systems/knuth/local/bdemo_ext.c
1989/10/19 | 1592 | systems/knuth/local/bdemo_ext.c-sparc
2000/04/29 | 493 | systems/knuth/local/bdemo_ext.h
@@ -265673,7 +265690,7 @@
2020/03/02 | 132068 | systems/texlive/tlnet/archive/cweb.amd64-freebsd.r53999.tar.xz
2020/03/02 | 109228 | systems/texlive/tlnet/archive/cweb.amd64-netbsd.r53995.tar.xz
2020/03/04 | 86904 | systems/texlive/tlnet/archive/cweb.armhf-linux.r54033.tar.xz
-2020/07/06 | 428876 | systems/texlive/tlnet/archive/cweb.doc.r55757.tar.xz
+2021/02/09 | 428876 | systems/texlive/tlnet/archive/cweb.doc.r57677.tar.xz
2020/06/02 | 64164 | systems/texlive/tlnet/archive/cweb.i386-cygwin.r55384.tar.xz
2020/03/02 | 100396 | systems/texlive/tlnet/archive/cweb.i386-freebsd.r53999.tar.xz
2020/03/02 | 110428 | systems/texlive/tlnet/archive/cweb.i386-linux.r53999.tar.xz
@@ -265682,7 +265699,7 @@
2019/02/28 | 240884 | systems/texlive/tlnet/archive/cweb-latex.doc.r28878.tar.xz
2019/02/28 | 36236 | systems/texlive/tlnet/archive/cweb-latex.r28878.tar.xz
2019/02/28 | 9720 | systems/texlive/tlnet/archive/cweb-old.r49271.tar.xz
-2020/07/06 | 23636 | systems/texlive/tlnet/archive/cweb.r55757.tar.xz
+2021/02/09 | 23636 | systems/texlive/tlnet/archive/cweb.r57677.tar.xz
2020/03/02 | 71020 | systems/texlive/tlnet/archive/cweb.win32.r53994.tar.xz
2020/06/02 | 73320 | systems/texlive/tlnet/archive/cweb.x86_64-cygwin.r55384.tar.xz
2020/03/02 | 103824 | systems/texlive/tlnet/archive/cweb.x86_64-darwinlegacy.r53999.tar.xz
@@ -270509,9 +270526,9 @@
2019/02/28 | 1612052 | systems/texlive/tlnet/archive/montex.r29349.tar.xz
2020/03/24 | 490212 | systems/texlive/tlnet/archive/montserrat.doc.r54512.tar.xz
2020/03/24 | 13215444 | systems/texlive/tlnet/archive/montserrat.r54512.tar.xz
-2021/01/06 | 287728 | systems/texlive/tlnet/archive/moodle.doc.r57334.tar.xz
-2021/01/06 | 27944 | systems/texlive/tlnet/archive/moodle.r57334.tar.xz
-2021/01/06 | 56656 | systems/texlive/tlnet/archive/moodle.source.r57334.tar.xz
+2021/02/09 | 313796 | systems/texlive/tlnet/archive/moodle.doc.r57683.tar.xz
+2021/02/09 | 29392 | systems/texlive/tlnet/archive/moodle.r57683.tar.xz
+2021/02/09 | 60312 | systems/texlive/tlnet/archive/moodle.source.r57683.tar.xz
2019/02/28 | 220832 | systems/texlive/tlnet/archive/moreenum.doc.r24479.tar.xz
2019/02/28 | 2708 | systems/texlive/tlnet/archive/moreenum.r24479.tar.xz
2019/02/28 | 555528 | systems/texlive/tlnet/archive/morefloats.doc.r37927.tar.xz
@@ -273712,9 +273729,9 @@
2019/09/30 | 51648 | systems/texlive/tlnet/archive/testidx.source.r52213.tar.xz
2019/02/28 | 108080 | systems/texlive/tlnet/archive/tetragonos.doc.r49732.tar.xz
2019/02/28 | 207756 | systems/texlive/tlnet/archive/tetragonos.r49732.tar.xz
-2021/01/22 | 1049744 | systems/texlive/tlnet/archive/teubner.doc.r57486.tar.xz
-2021/01/22 | 9624 | systems/texlive/tlnet/archive/teubner.r57486.tar.xz
-2021/01/22 | 40432 | systems/texlive/tlnet/archive/teubner.source.r57486.tar.xz
+2021/02/09 | 1051276 | systems/texlive/tlnet/archive/teubner.doc.r57684.tar.xz
+2021/02/09 | 9644 | systems/texlive/tlnet/archive/teubner.r57684.tar.xz
+2021/02/09 | 40464 | systems/texlive/tlnet/archive/teubner.source.r57684.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.aarch64-linux.r46208.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-freebsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-netbsd.r37771.tar.xz
@@ -273737,13 +273754,13 @@
2020/03/02 | 109508 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r53999.tar.xz
2020/03/02 | 87376 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r53995.tar.xz
2020/03/04 | 72564 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r54033.tar.xz
-2021/02/08 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r57671.tar.xz
+2021/02/09 | 136160 | systems/texlive/tlnet/archive/tex4ht.doc.r57685.tar.xz
2020/06/02 | 51092 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r55384.tar.xz
2020/03/02 | 90676 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r53999.tar.xz
2020/03/02 | 89232 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r53999.tar.xz
2020/03/06 | 76276 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r54104.tar.xz
2020/03/02 | 83968 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r53999.tar.xz
-2021/02/08 | 903956 | systems/texlive/tlnet/archive/tex4ht.r57671.tar.xz
+2021/02/09 | 903960 | systems/texlive/tlnet/archive/tex4ht.r57685.tar.xz
2020/10/29 | 57840 | systems/texlive/tlnet/archive/tex4ht.win32.r56792.tar.xz
2020/06/02 | 57936 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r55384.tar.xz
2020/03/02 | 85024 | systems/texlive/tlnet/archive/tex4ht.x86_64-darwinlegacy.r53999.tar.xz
@@ -273921,8 +273938,8 @@
2020/03/24 | 280 | systems/texlive/tlnet/archive/texlive-cz.r54496.tar.xz
2020/12/26 | 1338744 | systems/texlive/tlnet/archive/texlive-de.doc.r57223.tar.xz
2020/12/26 | 272 | systems/texlive/tlnet/archive/texlive-de.r57223.tar.xz
-2021/02/07 | 172912 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57631.tar.xz
-2021/02/07 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57631.tar.xz
+2021/02/09 | 172916 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57674.tar.xz
+2021/02/09 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57674.tar.xz
2020/04/16 | 1891392 | systems/texlive/tlnet/archive/texlive-en.doc.r54755.tar.xz
2020/04/16 | 272 | systems/texlive/tlnet/archive/texlive-en.r54755.tar.xz
2020/03/22 | 3090144 | systems/texlive/tlnet/archive/texlive-es.doc.r54465.tar.xz
@@ -275670,16 +275687,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2021/02/03 | 106037 | systems/texlive/tlnet/install-tl
-2021/02/08 | 5826027 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/02/08 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/02/08 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/02/09 | 5825929 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/02/09 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/02/09 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/08/23 | 4889 | systems/texlive/tlnet/install-tl-windows.bat
-2021/02/08 | 19658083 | systems/texlive/tlnet/install-tl-windows.exe
-2021/02/08 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/02/08 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/02/08 | 24615867 | systems/texlive/tlnet/install-tl.zip
-2021/02/08 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/02/08 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/02/09 | 19658035 | systems/texlive/tlnet/install-tl-windows.exe
+2021/02/09 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/02/09 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/02/09 | 24615867 | systems/texlive/tlnet/install-tl.zip
+2021/02/09 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/02/09 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2020/03/05 | 1215 | systems/texlive/tlnet/README.md
2020/04/06 | 5961 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed
@@ -275735,12 +275752,12 @@
2020/05/17 | 20322 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2020/05/03 | 4786 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2020/09/22 | 27563 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/02/08 | 17029360 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/02/08 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/02/09 | 17030733 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/02/09 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/05/13 | 86417 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/02/08 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/02/08 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/02/08 | 2278700 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/02/09 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/02/09 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/02/09 | 2277040 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/04/15 | 58761 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2020/03/20 | 41736 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2020/05/11 | 15010 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -280330,7 +280347,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2021/02/08 | 563993 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/02/09 | 563993 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -281514,9 +281531,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/01/16 | 39515 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/01/16 | 43377 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/02/08 | 206640 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/02/08 | 1249997 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/02/08 | 1166370 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/02/09 | 206622 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/02/09 | 1248636 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/02/09 | 1165173 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/01/16 | 13454 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/01/16 | 14322 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -281674,187 +281691,187 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2020/09/06 | 231669 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/02/08 | 564663 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/02/08 | 50705 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/02/08 | 56455 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/02/08 | 969229 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/02/08 | 1078967 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/02/08 | 29023 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/02/08 | 31344 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/02/08 | 29513 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/02/08 | 34306 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/02/08 | 50032 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/02/08 | 57611 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/02/08 | 85305 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/02/08 | 94599 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/02/08 | 67497 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/02/08 | 75342 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/02/08 | 27204 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/02/08 | 30873 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/02/08 | 329920 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/02/08 | 392683 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/02/08 | 32545 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/02/08 | 36677 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/02/08 | 51409 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/02/08 | 56601 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/02/08 | 231665 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/02/08 | 254184 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/02/08 | 179468 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/02/08 | 195676 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/02/08 | 52498 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/02/08 | 59146 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/02/08 | 21129 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/02/08 | 23313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/02/08 | 461384 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/02/08 | 45637 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/02/08 | 51184 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/02/08 | 281362 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/02/08 | 320797 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/02/08 | 40965 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/02/08 | 45272 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/02/08 | 116935 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/02/08 | 131490 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/02/08 | 1281723 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/02/08 | 1417678 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/02/08 | 87639 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/02/08 | 99483 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/02/08 | 43072 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/02/08 | 47904 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/02/08 | 25129 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/02/08 | 28007 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/02/08 | 55852 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/02/08 | 62741 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/02/08 | 135013 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/02/08 | 152747 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/02/08 | 73324 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/02/08 | 77840 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/02/08 | 71575 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/02/08 | 80640 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/02/08 | 258631 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/02/08 | 295625 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/02/08 | 22045 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/02/08 | 25039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/02/08 | 97401 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/02/08 | 112281 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/02/08 | 63832 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/02/08 | 72843 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/02/08 | 94789 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/02/08 | 113935 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/02/08 | 38059 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/02/08 | 42663 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/02/08 | 484328 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/02/08 | 568175 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/02/08 | 147188 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/02/08 | 159864 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/02/08 | 94804 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/02/08 | 109150 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/02/08 | 16340 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/02/08 | 17959 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/02/08 | 28231 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/02/08 | 30032 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/02/08 | 624932 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/02/08 | 680062 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/02/08 | 531717 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/02/08 | 596721 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/02/08 | 475816 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/02/08 | 514088 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/02/08 | 94378 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/02/08 | 103332 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/02/08 | 1685640 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/02/08 | 2002729 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/02/08 | 67685 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/02/08 | 74159 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/02/08 | 27464 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/02/08 | 31543 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/02/08 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/02/08 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/02/08 | 195627 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/02/08 | 213739 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/02/08 | 250203 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/02/08 | 283982 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/02/08 | 97123 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/02/08 | 101862 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/02/08 | 60606 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/02/08 | 67915 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/02/08 | 124939 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/02/08 | 136346 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/02/08 | 147087 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/02/08 | 163794 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/02/08 | 199587 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/02/08 | 180162 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/02/08 | 67357 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/02/08 | 77430 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/02/08 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/02/08 | 35067 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/02/08 | 38071 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/02/08 | 42551 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/02/08 | 42872 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/02/08 | 46959 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/02/08 | 45899 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/02/08 | 52403 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/02/08 | 193759 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/02/08 | 210932 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/02/08 | 35425 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/02/08 | 40230 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/02/08 | 740142 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/02/08 | 813999 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/02/08 | 198081 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/02/08 | 202649 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/02/08 | 208089 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/02/08 | 243512 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/02/08 | 78749 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/02/08 | 87770 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/02/08 | 1171818 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/02/08 | 1307388 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/02/08 | 20119 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/02/08 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/02/08 | 31550 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/02/08 | 37250 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/02/08 | 63928 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/02/08 | 71968 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/02/08 | 43563 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/02/08 | 52056 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/02/08 | 1291601 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/02/08 | 1421911 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/02/08 | 42399 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/02/08 | 51864 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/02/08 | 56326 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/02/08 | 59809 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/02/08 | 25333 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/02/08 | 27442 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/02/08 | 16112 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/02/08 | 18107 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/02/08 | 63765 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/02/08 | 70204 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/02/08 | 153807 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/02/08 | 167738 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/02/08 | 56979 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/02/08 | 65323 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/02/08 | 99607 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/02/08 | 104760 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/02/08 | 2495614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/02/08 | 2617422 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/02/08 | 55375 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/02/08 | 62081 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/02/08 | 33533 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/02/08 | 37309 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/02/08 | 27217 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/02/08 | 33143 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/02/08 | 65816 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/02/08 | 70425 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/02/08 | 310964 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/02/08 | 345232 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/02/08 | 583742 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/02/08 | 619144 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/02/08 | 39537 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/02/08 | 43384 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/02/08 | 206627 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/02/08 | 1249104 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/02/08 | 1166442 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/02/08 | 13465 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/02/08 | 14343 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/02/09 | 564663 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/02/09 | 50705 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/02/09 | 56455 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/02/09 | 969230 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/02/09 | 1078967 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/02/09 | 29022 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/02/09 | 31345 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/02/09 | 29512 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/02/09 | 34306 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/02/09 | 50032 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/02/09 | 57611 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/02/09 | 85305 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/02/09 | 94600 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/02/09 | 67498 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/02/09 | 75342 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/02/09 | 27204 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/02/09 | 30874 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/02/09 | 329920 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/02/09 | 392681 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/02/09 | 32545 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/02/09 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/02/09 | 51409 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/02/09 | 56599 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/02/09 | 231670 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/02/09 | 254186 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/02/09 | 179468 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/02/09 | 195676 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/02/09 | 52498 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/02/09 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/02/09 | 21129 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/02/09 | 23313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/02/09 | 461387 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/02/09 | 45637 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/02/09 | 51186 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/02/09 | 281362 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/02/09 | 320796 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/02/09 | 40964 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/02/09 | 45272 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/02/09 | 116935 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/02/09 | 131491 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/02/09 | 1281723 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/02/09 | 1417674 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/02/09 | 87638 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/02/09 | 99482 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/02/09 | 43071 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/02/09 | 47903 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/02/09 | 25129 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/02/09 | 28007 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/02/09 | 55853 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/02/09 | 62741 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/02/09 | 135013 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/02/09 | 152746 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/02/09 | 73324 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/02/09 | 77840 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/02/09 | 71575 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/02/09 | 80640 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/02/09 | 258630 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/02/09 | 295623 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/02/09 | 22044 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/02/09 | 25039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/02/09 | 97402 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/02/09 | 112280 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/02/09 | 63831 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/02/09 | 72840 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/02/09 | 94789 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/02/09 | 113936 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/02/09 | 38059 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/02/09 | 42664 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/02/09 | 484327 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/02/09 | 568173 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/02/09 | 147188 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/02/09 | 159865 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/02/09 | 94804 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/02/09 | 109150 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/02/09 | 16340 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/02/09 | 17959 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/02/09 | 28229 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/02/09 | 30030 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/02/09 | 624933 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/02/09 | 680061 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/02/09 | 531717 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/02/09 | 596721 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/02/09 | 475820 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/02/09 | 514088 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/02/09 | 94376 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/02/09 | 103331 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/02/09 | 1685637 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/02/09 | 2002730 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/02/09 | 67685 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/02/09 | 74159 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/02/09 | 27462 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/02/09 | 31542 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/02/09 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/02/09 | 8773 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/02/09 | 195625 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/02/09 | 213739 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/02/09 | 250204 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/02/09 | 283983 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/02/09 | 97122 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/02/09 | 101860 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/02/09 | 60608 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/02/09 | 67916 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/02/09 | 124941 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/02/09 | 136346 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/02/09 | 147087 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/02/09 | 163796 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/02/09 | 199586 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/02/09 | 180161 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/02/09 | 67357 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/02/09 | 77431 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/02/09 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/02/09 | 35066 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/02/09 | 38070 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/02/09 | 42551 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/02/09 | 42872 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/02/09 | 46960 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/02/09 | 45899 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/02/09 | 52404 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/02/09 | 193759 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/02/09 | 210931 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/02/09 | 35426 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/02/09 | 40231 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/02/09 | 740142 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/02/09 | 813998 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/02/09 | 198080 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/02/09 | 202649 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/02/09 | 208088 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/02/09 | 243512 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/02/09 | 78749 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/02/09 | 87770 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/02/09 | 1171817 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/02/09 | 1307387 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/02/09 | 20119 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/02/09 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/02/09 | 31548 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/02/09 | 37251 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/02/09 | 63929 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/02/09 | 71967 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/02/09 | 43565 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/02/09 | 52058 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/02/09 | 1291602 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/02/09 | 1421910 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/02/09 | 42399 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/02/09 | 51864 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/02/09 | 56325 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/02/09 | 59810 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/02/09 | 25332 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/02/09 | 27443 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/02/09 | 16113 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/02/09 | 18107 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/02/09 | 63764 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/02/09 | 70203 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/02/09 | 153808 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/02/09 | 167737 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/02/09 | 56978 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/02/09 | 65323 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/02/09 | 99606 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/02/09 | 104761 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/02/09 | 2495614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/02/09 | 2617420 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/02/09 | 55374 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/02/09 | 62080 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/02/09 | 33534 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/02/09 | 37311 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/02/09 | 27219 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/02/09 | 33143 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/02/09 | 65816 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/02/09 | 70425 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/02/09 | 310965 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/02/09 | 345232 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/02/09 | 583741 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/02/09 | 619143 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/02/09 | 39536 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/02/09 | 43386 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/02/09 | 206638 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/02/09 | 1248312 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/02/09 | 1166304 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/02/09 | 13466 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/02/09 | 14342 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2021/02/08 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/02/09 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -282184,7 +282201,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2020/10/27 | 357822 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/02/08 | 851 | systems/win32/miktex/tm/packages/pr.ini
+2021/02/09 | 851 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -283360,7 +283377,7 @@
2021/02/06 | 5175496 | systems/win32/w32tex/aleph-w32.tar.xz
2021/02/02 | 66704360 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2021/02/07 | 780255 | systems/win32/w32tex/ChangeLog
+2021/02/08 | 781100 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -283369,7 +283386,7 @@
2021/02/06 | 23449624 | systems/win32/w32tex/cjkzr.tar.xz
2013/04/27 | 15858676 | systems/win32/w32tex/context-doc.tar.xz
2021/02/06 | 141896316 | systems/win32/w32tex/context.tar.xz
-2021/01/13 | 911488 | systems/win32/w32tex/cweb-w32.tar.xz
+2021/02/08 | 911344 | systems/win32/w32tex/cweb-w32.tar.xz
2020/09/21 | 6434128 | systems/win32/w32tex/datetime2.tar.xz
2021/02/06 | 844612 | systems/win32/w32tex/dvi2ps-w32.tar.xz
2021/01/13 | 484204 | systems/win32/w32tex/dvi2tty-w32.tar.xz
@@ -283380,19 +283397,19 @@
2020/12/05 | 17348896 | systems/win32/w32tex/gregorio-w32.tar.xz
2009/08/03 | 1072620 | systems/win32/w32tex/gtftex.zip
2021/01/27 | 1828768 | systems/win32/w32tex/jtex-w32.tar.xz
-2021/02/06 | 47699980 | systems/win32/w32tex/latex-dev.tar.xz
+2021/02/08 | 46585492 | systems/win32/w32tex/latex-dev.tar.xz
2021/01/09 | 34772856 | systems/win32/w32tex/latex.tar.xz
2020/12/05 | 1008204 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2020/12/18 | 403185380 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2021/02/07 | 33961984 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/02/08 | 33964484 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/02/02 | 3821648 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2021/02/02 | 3811536 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2021/02/02 | 3819316 | systems/win32/w32tex/luajittex-w32.tar.xz
2020/12/09 | 837408 | systems/win32/w32tex/luasec-w32.tar.xz
-2021/02/03 | 18727968 | systems/win32/w32tex/luatex-dev-w32.tar.xz
-2021/02/03 | 18725648 | systems/win32/w32tex/luatex-exp-w32.tar.xz
+2021/02/08 | 18734744 | systems/win32/w32tex/luatex-dev-w32.tar.xz
+2021/02/08 | 18735756 | systems/win32/w32tex/luatex-exp-w32.tar.xz
2021/02/02 | 69098260 | systems/win32/w32tex/luatexja.tar.xz
-2021/02/03 | 18715252 | systems/win32/w32tex/luatex-w32.tar.xz
+2021/02/08 | 18720624 | systems/win32/w32tex/luatex-w32.tar.xz
2021/01/13 | 1609236 | systems/win32/w32tex/makeindex-w32.tar.xz
2015/05/26 | 1542676 | systems/win32/w32tex/manual.tar.xz
2021/02/06 | 439144 | systems/win32/w32tex/mftools.tar.xz
@@ -283402,20 +283419,20 @@
2020/12/22 | 9801176 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
2021/01/13 | 1232056 | systems/win32/w32tex/omegaj-w32.tar.xz
2020/11/16 | 324540 | systems/win32/w32tex/otfbeta.tar.xz
-2021/02/06 | 21344100 | systems/win32/w32tex/pdftex-w32.tar.xz
+2021/02/08 | 21408168 | systems/win32/w32tex/pdftex-w32.tar.xz
2021/02/07 | 90487044 | systems/win32/w32tex/pgfcontrib.tar.xz
2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz
2020/11/27 | 2807432 | systems/win32/w32tex/platex.tar.xz
-2021/01/31 | 1598692 | systems/win32/w32tex/pmx.tar.xz
+2021/02/08 | 1726052 | systems/win32/w32tex/pmx.tar.xz
2021/02/03 | 1171184 | systems/win32/w32tex/pstoedit-w32.tar.xz
2020/10/25 | 274208000 | systems/win32/w32tex/pstricks.tar.xz
2021/01/13 | 517756 | systems/win32/w32tex/psutils-w32.tar.xz
-2021/02/07 | 6622728 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2021/02/06 | 10607728 | systems/win32/w32tex/ptex-w32.tar.xz
+2021/02/08 | 6621848 | systems/win32/w32tex/ptex-ng-w32.tar.xz
+2021/02/08 | 10616904 | systems/win32/w32tex/ptex-w32.tar.xz
2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz
2020/10/14 | 87958692 | systems/win32/w32tex/t1fonts.tar.xz
2020/10/31 | 142032 | systems/win32/w32tex/t1utils-w32.tar.xz
-2021/02/07 | 2603404 | systems/win32/w32tex/tex4htk-w32.tar.xz
+2021/02/08 | 2599700 | systems/win32/w32tex/tex4htk-w32.tar.xz
2018/06/20 | 15940044 | systems/win32/w32tex/tex-gyre.tar.xz
2021/01/18 | 4485396 | systems/win32/w32tex/texinfo-w32.tar.xz
2021/01/03 | 2050496 | systems/win32/w32tex/texinstwin.zip
@@ -283435,7 +283452,7 @@
2020/01/19 | 5856 | systems/win32/w32tex/txtutil.tar.xz
2013/04/08 | 71588 | systems/win32/w32tex/ums.tar.xz
2012/05/28 | 233472 | systems/win32/w32tex/unzip.exe
-2021/02/06 | 8387292 | systems/win32/w32tex/uptex-w32.tar.xz
+2021/02/08 | 8387500 | systems/win32/w32tex/uptex-w32.tar.xz
2013/04/08 | 722652 | systems/win32/w32tex/utf.tar.xz
2013/04/08 | 13748 | systems/win32/w32tex/vf-n2bk.tar.xz
2020/12/24 | 52763124 | systems/win32/w32tex/w32tex-src.tar.xz
@@ -283444,7 +283461,7 @@
2021/02/06 | 811184 | systems/win32/w32tex/win64/aleph-w64.tar.xz
2020/08/20 | 22351540 | systems/win32/w32tex/win64/biblatex-biber-w64.tar.xz
2021/02/04 | 2204180 | systems/win32/w32tex/win64/context-w64.tar.xz
-2021/01/13 | 440824 | systems/win32/w32tex/win64/cweb-w64.tar.xz
+2021/02/08 | 440976 | systems/win32/w32tex/win64/cweb-w64.tar.xz
2021/02/06 | 758944 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz
2021/01/13 | 448292 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz
2021/01/31 | 808528 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
@@ -283469,7 +283486,7 @@
2021/01/13 | 407560 | systems/win32/w32tex/win64/omegaj-w64.tar.xz
2021/02/06 | 6900844 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
2015/01/26 | 41440 | systems/win32/w32tex/win64/plain2-2.54-w64.tar.xz
-2021/01/31 | 557292 | systems/win32/w32tex/win64/pmx-w64.tar.xz
+2021/02/08 | 651576 | systems/win32/w32tex/win64/pmx-w64.tar.xz
2021/02/03 | 790992 | systems/win32/w32tex/win64/pstoedit-w64.tar.xz
2021/01/13 | 386240 | systems/win32/w32tex/win64/psutils-w64.tar.xz
2021/02/07 | 1714796 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
@@ -283484,7 +283501,7 @@
2021/02/06 | 1805412 | systems/win32/w32tex/win64/uptex-w64.tar.xz
2021/02/07 | 3383392 | systems/win32/w32tex/win64/web2c-w64.tar.xz
2021/02/06 | 11108260 | systems/win32/w32tex/win64/xetex-w64.tar.xz
-2021/02/06 | 49056144 | systems/win32/w32tex/xetex-w32.tar.xz
+2021/02/08 | 49056600 | systems/win32/w32tex/xetex-w32.tar.xz
2020/05/29 | 2936068 | systems/win32/w32tex/xindy-w32.tar.xz
2013/11/19 | 11356248 | systems/win32/w32tex/xymtex.tar.xz
2016/09/09 | 4334636 | systems/win32/w32tex/xypic.tar.xz
@@ -283581,7 +283598,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/02/09 | 186 | timestamp
+2021/02/10 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index d155b1bef2..26b072f6fa 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 4c4cf58611..443dd96208 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,96 +1,354 @@
+2021/02/09 | 99606 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/02/09 | 99482 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/02/09 | 98376 | macros/unicodetex/latex/texnegar/texnegar.dtx
+2021/02/09 | 97402 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/02/09 | 97122 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/02/09 | 969230 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/02/09 | 9644 | systems/texlive/tlnet/archive/teubner.r57684.tar.xz
+2021/02/09 | 94804 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/02/09 | 94789 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/02/09 | 94600 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/02/09 | 94376 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/02/09 | 9405 | macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.tex
+2021/02/09 | 92436 | systems/knuth/dist/texware.zip
+2021/02/09 | 903960 | systems/texlive/tlnet/archive/tex4ht.r57685.tar.xz
+2021/02/09 | 878555 | macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf
+2021/02/09 | 87770 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/02/09 | 8773 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/02/09 | 87638 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/02/09 | 858846 | systems/knuth/dist/tex.zip
+2021/02/09 | 85414 | macros/luatex/optex/doc/optex-userdoc.tex
+2021/02/09 | 85305 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/02/09 | 851 | systems/win32/miktex/tm/packages/pr.ini
+2021/02/09 | 8352 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex2.tex
+2021/02/09 | 813998 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/02/09 | 8083 | macros/luatex/optex/doc/optex-techdoc.tex
+2021/02/09 | 80640 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/02/09 | 794029 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf
+2021/02/09 | 78749 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/02/09 | 78539 | systems/knuth/dist/lib.zip
+2021/02/09 | 77840 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/02/09 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/02/09 | 77431 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/02/09 | 75342 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/02/09 | 74159 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/02/09 | 740142 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/02/09 | 73324 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/02/09 | 72840 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/02/09 | 71967 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/02/09 | 719343 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf
+2021/02/09 | 719107 | macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf
+2021/02/09 | 71575 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/02/09 | 70425 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/02/09 | 70203 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/02/09 | 6866 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex
+2021/02/09 | 68386 | systems/knuth/dist/etc.zip
+2021/02/09 | 680061 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/02/09 | 67916 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/02/09 | 67685 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/02/09 | 67498 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/02/09 | 67357 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/02/09 | 65816 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/02/09 | 657293 | systems/knuth/dist/mf.zip
+2021/02/09 | 65546 | macros/unicodetex/latex/texnegar/doc-samples-xep.pdf
+2021/02/09 | 65323 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/02/09 | 6432 | macros/luatex/optex/base/maketoc.opm
+2021/02/09 | 63929 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/02/09 | 63831 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/02/09 | 63764 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/02/09 | 63437 | macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
+2021/02/09 | 62969 | macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf
+2021/02/09 | 62741 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/02/09 | 624933 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/02/09 | 62080 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/02/09 | 619143 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/02/09 | 60608 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/02/09 | 60312 | systems/texlive/tlnet/archive/moodle.source.r57683.tar.xz
+2021/02/09 | 59810 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/02/09 | 596721 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/02/09 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/02/09 | 5870 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex
+2021/02/09 | 5869 | macros/luatex/optex/base/ref-file.opm
+2021/02/09 | 583741 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/02/09 | 5825929 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/02/09 | 57611 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/02/09 | 5734 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex7.tex
+2021/02/09 | 56978 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/02/09 | 568634 | macros/unicodetex/latex/texnegar/texnegar.pdf
+2021/02/09 | 568173 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/02/09 | 56599 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/02/09 | 564663 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/02/09 | 56455 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/02/09 | 563993 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/02/09 | 56325 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/02/09 | 55853 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/02/09 | 55374 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/02/09 | 547 | macros/latex/contrib/aeb_pro/aeb_pro/aeb.js
+2021/02/09 | 531717 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/02/09 | 525274 | macros/latex/contrib/easybook.zip
+2021/02/09 | 52498 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/02/09 | 52404 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/02/09 | 52058 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/02/09 | 51864 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/02/09 | 51409 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/02/09 | 514088 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/02/09 | 51186 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/02/09 | 50705 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/02/09 | 50032 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/02/09 | 4995205 | systems/knuth/dist.zip
+2021/02/09 | 496914 | fonts/utilities/ps2pk.zip
+2021/02/09 | 4924350 | install/macros/unicodetex/latex/texnegar.tds.zip
+2021/02/09 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/02/09 | 4898310 | macros/unicodetex/latex/texnegar.zip
+2021/02/09 | 4873 | macros/luatex/optex/README
+2021/02/09 | 484327 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/02/09 | 47903 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/02/09 | 475820 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/02/09 | 46960 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/02/09 | 461387 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/02/09 | 45899 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/02/09 | 45637 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/02/09 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/02/09 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/02/09 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/02/09 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/02/09 | 4540 | macros/luatex/optex/base/outlines.opm
+2021/02/09 | 45272 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/02/09 | 44204 | macros/latex/contrib/easybook/easybook.cls
+2021/02/09 | 439 | macros/latex/contrib/aeb_pro/aeb_pro/aebpro.cfg
+2021/02/09 | 43565 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/02/09 | 43386 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/02/09 | 43071 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/02/09 | 428876 | systems/texlive/tlnet/archive/cweb.doc.r57677.tar.xz
+2021/02/09 | 42872 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/02/09 | 42664 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/02/09 | 42551 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/02/09 | 42399 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/02/09 | 4108 | macros/latex/contrib/easybook/doc/pages/chapter1.tex
+2021/02/09 | 4108999 | macros/latex/contrib/aeb_pro/aeb_pro.zip
+2021/02/09 | 40964 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/02/09 | 40464 | systems/texlive/tlnet/archive/teubner.source.r57684.tar.xz
+2021/02/09 | 4030 | macros/luatex/optex/base/optex.ini
+2021/02/09 | 40231 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/02/09 | 3958 | macros/luatex/optex/doc/optex-doc.tex
+2021/02/09 | 3958553 | macros/latex/contrib/hyperref.zip
+2021/02/09 | 39536 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/02/09 | 392681 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/02/09 | 3900 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.tex
+2021/02/09 | 3900 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.tex
+2021/02/09 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57674.tar.xz
+2021/02/09 | 38070 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/02/09 | 3806 | macros/latex/contrib/easybook/doc/pages/chapter2.tex
+2021/02/09 | 38059 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/02/09 | 3804 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.tex
+2021/02/09 | 37311 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/02/09 | 37251 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/02/09 | 3694 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.tex
+2021/02/09 | 3693 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.tex
+2021/02/09 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/02/09 | 3615 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.tex
+2021/02/09 | 3615 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.tex
+2021/02/09 | 3608 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.tex
+2021/02/09 | 3567 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.js
+2021/02/09 | 35426 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/02/09 | 3519 | macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.tex
+2021/02/09 | 351653 | systems/knuth/dist/errata.zip
+2021/02/09 | 35066 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/02/09 | 34531 | macros/luatex/optex/doc/omls.tex
+2021/02/09 | 345232 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/02/09 | 34306 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/02/09 | 33534 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/02/09 | 33143 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/02/09 | 329920 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/02/09 | 32545 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/02/09 | 320796 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/02/09 | 31548 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/02/09 | 31542 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/02/09 | 313796 | systems/texlive/tlnet/archive/moodle.doc.r57683.tar.xz
+2021/02/09 | 31345 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/02/09 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/02/09 | 3113 | macros/unicodetex/latex/texnegar/xepersian-XB.tex
+2021/02/09 | 310965 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/02/09 | 30874 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/02/09 | 30030 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/02/09 | 297366 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
+2021/02/09 | 295623 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/02/09 | 29512 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/02/09 | 29392 | systems/texlive/tlnet/archive/moodle.r57683.tar.xz
+2021/02/09 | 29022 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/02/09 | 28889 | macros/unicodetex/latex/texnegar/texnegar-doc.ltx
+2021/02/09 | 2874338 | macros/unicodetex/latex/texnegar/texnegar-doc.pdf
+2021/02/09 | 283983 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/02/09 | 28229 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/02/09 | 281362 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/02/09 | 28007 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/02/09 | 278471 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf
+2021/02/09 | 27462 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/02/09 | 27443 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/02/09 | 27219 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/02/09 | 27204 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/02/09 | 2659 | macros/latex/contrib/aeb_pro/aeb_pro/README.md
+2021/02/09 | 2628 | macros/unicodetex/latex/texnegar/texnegar.ins
+2021/02/09 | 2617420 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/02/09 | 26162 | macros/latex/contrib/easybook/doc/easybook.tex
+2021/02/09 | 261015 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf
+2021/02/09 | 258630 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/02/09 | 256 | macros/latex/contrib/aeb_pro/aeb_pro/examples/myCoverPage.tex
+2021/02/09 | 254186 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/02/09 | 25332 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/02/09 | 25129 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/02/09 | 25039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/02/09 | 250204 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/02/09 | 249739 | fonts/cm/mf.zip
+2021/02/09 | 2495614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/02/09 | 2494 | macros/latex/contrib/easybook/doc/easybook-demo.tex
+2021/02/09 | 24615867 | systems/texlive/tlnet/install-tl.zip
+2021/02/09 | 2454 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins
+2021/02/09 | 243512 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/02/09 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/02/09 | 23636 | systems/texlive/tlnet/archive/cweb.r57677.tar.xz
+2021/02/09 | 23313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/02/09 | 231670 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/02/09 | 2299817 | macros/luatex/optex.zip
+2021/02/09 | 2277040 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/02/09 | 225794 | macros/latex/contrib/easybook/doc/easybook.pdf
+2021/02/09 | 22044 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/02/09 | 2201 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target1.tex
+2021/02/09 | 2161 | macros/latex/contrib/aeb_pro/aeb_pro/fsprodef.js
+2021/02/09 | 213739 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/02/09 | 212547 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf
+2021/02/09 | 21129 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/02/09 | 210931 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/02/09 | 208088 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/02/09 | 206638 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/02/09 | 206622 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/02/09 | 202649 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/02/09 | 20176 | macros/luatex/optex/base/sections.opm
+2021/02/09 | 20119 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/02/09 | 2002730 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/02/09 | 199586 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/02/09 | 198080 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/02/09 | 197447 | macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx
+2021/02/09 | 19658035 | systems/texlive/tlnet/install-tl-windows.exe
+2021/02/09 | 19568 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex5.tex
+2021/02/09 | 195676 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/02/09 | 195625 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/02/09 | 194660 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf
+2021/02/09 | 193759 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/02/09 | 18107 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/02/09 | 180161 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/02/09 | 17959 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/02/09 | 179468 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/02/09 | 176042 | macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex
+2021/02/09 | 172916 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57674.tar.xz
+2021/02/09 | 17030733 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/02/09 | 169438 | macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf
+2021/02/09 | 1685637 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/02/09 | 167737 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/02/09 | 163796 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/02/09 | 16340 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/02/09 | 16113 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/02/09 | 159865 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/02/09 | 157989 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf
+2021/02/09 | 156643 | macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf
+2021/02/09 | 156634 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf
+2021/02/09 | 155937 | macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf
+2021/02/09 | 1551 | macros/unicodetex/latex/texnegar/INSTALL.txt
+2021/02/09 | 1542 | macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex
+2021/02/09 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/02/09 | 153808 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/02/09 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/02/09 | 152746 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/02/09 | 147188 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/02/09 | 147087 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/02/09 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/02/09 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/02/09 | 1441 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.tex
+2021/02/09 | 14342 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/02/09 | 1421910 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/02/09 | 1417674 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/02/09 | 13997 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex
+2021/02/09 | 1366580 | macros/luatex/optex/doc/optex-doc.pdf
+2021/02/09 | 136346 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/02/09 | 136160 | systems/texlive/tlnet/archive/tex4ht.doc.r57685.tar.xz
+2021/02/09 | 13544 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex
+2021/02/09 | 135013 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/02/09 | 13466 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/02/09 | 132761 | systems/knuth/dist/mfware.zip
+2021/02/09 | 131491 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/02/09 | 13142 | macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
+2021/02/09 | 131405 | systems/knuth/dist/web.zip
+2021/02/09 | 13105 | macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.tex
+2021/02/09 | 13073 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex
+2021/02/09 | 1307387 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/02/09 | 1291602 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/02/09 | 1281723 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/02/09 | 124941 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/02/09 | 1248636 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/02/09 | 1248312 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/02/09 | 1171817 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/02/09 | 116935 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/02/09 | 1166304 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/02/09 | 1165173 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/02/09 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/02/09 | 1142 | macros/unicodetex/latex/texnegar/README.txt
+2021/02/09 | 113936 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/02/09 | 112280 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/02/09 | 1107 | macros/latex/contrib/aeb_pro/aeb_pro/examples/children/target2.tex
+2021/02/09 | 109150 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/02/09 | 1078967 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/02/09 | 106690 | macros/unicodetex/latex/texnegar/xepersian-XB.pdf
+2021/02/09 | 1051276 | systems/texlive/tlnet/archive/teubner.doc.r57684.tar.xz
+2021/02/09 | 104761 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/02/09 | 103331 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/02/09 | 101860 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/02/09 | 10117 | macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
2021/02/08 | 9992 | macros/latex/contrib/teubner/teubner.txt
-2021/02/08 | 99607 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/02/08 | 99483 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2021/02/08 | 988527 | macros/latex/contrib/acrotex/doc/eformman.pdf
2021/02/08 | 9832 | systems/texlive/tlnet/archive/easybook.r57672.tar.xz
-2021/02/08 | 97401 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/02/08 | 97123 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/02/08 | 969229 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/02/08 | 978231 | info/biblio/texbook3.bib
2021/02/08 | 9589 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1e8.pdf
2021/02/08 | 95480 | systems/texlive/tlnet/archive/l3experimental.source.r57669.tar.xz
-2021/02/08 | 94804 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/02/08 | 94789 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/02/08 | 94599 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/02/08 | 94378 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2021/02/08 | 9293 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f3-1f1eb.pdf
+2021/02/08 | 911344 | systems/win32/w32tex/cweb-w32.tar.xz
2021/02/08 | 90932 | systems/texlive/tlnet/archive/hyperref.r57672.tar.xz
-2021/02/08 | 903956 | systems/texlive/tlnet/archive/tex4ht.r57671.tar.xz
+2021/02/08 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
2021/02/08 | 90292 | macros/latex/contrib/teubner/teubner-doc.tex
-2021/02/08 | 87770 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/02/08 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/02/08 | 87639 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/02/08 | 893466 | macros/latex/contrib/hyperref/hyperref.dtx
2021/02/08 | 8554 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1f2.pdf
-2021/02/08 | 85305 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/02/08 | 851 | systems/win32/miktex/tm/packages/pr.ini
+2021/02/08 | 8387500 | systems/win32/w32tex/uptex-w32.tar.xz
2021/02/08 | 8289 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1ff.pdf
2021/02/08 | 8176 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1f1.pdf
-2021/02/08 | 813999 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/02/08 | 80640 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2021/02/08 | 7997 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1e6.pdf
2021/02/08 | 789136 | systems/texlive/tlnet/archive/l3backend.doc.r57669.tar.xz
-2021/02/08 | 78749 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2021/02/08 | 784500 | systems/texlive/tlnet/archive/fancyhdr.doc.r57672.tar.xz
+2021/02/08 | 781100 | systems/win32/w32tex/ChangeLog
2021/02/08 | 7808 | systems/texlive/tlnet/archive/innerscript.source.r57672.tar.xz
-2021/02/08 | 77840 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/02/08 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/02/08 | 77430 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/02/08 | 75342 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/02/08 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
+2021/02/08 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
+2021/02/08 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
+2021/02/08 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
2021/02/08 | 7419178 | macros/latex/contrib/twemojis.zip
-2021/02/08 | 74159 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/02/08 | 740142 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/02/08 | 73324 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/02/08 | 72843 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/02/08 | 71968 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/02/08 | 71575 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/02/08 | 70425 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/02/08 | 70204 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2021/02/08 | 6994 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e9-1f1f4.pdf
2021/02/08 | 6870 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1e6.pdf
2021/02/08 | 685712 | systems/texlive/tlnet/archive/pmx.doc.r57672.tar.xz
-2021/02/08 | 680062 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/02/08 | 67915 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/02/08 | 67685 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/02/08 | 67497 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/02/08 | 67357 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/02/08 | 6621848 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2021/02/08 | 6608 | systems/texlive/tlnet/archive/ut-thesis.source.r57672.tar.xz
-2021/02/08 | 65816 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/02/08 | 65323 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/02/08 | 63928 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/02/08 | 651576 | systems/win32/w32tex/win64/pmx-w64.tar.xz
2021/02/08 | 6385 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ef-1f1ea.pdf
-2021/02/08 | 63832 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/02/08 | 63765 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/02/08 | 62741 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/02/08 | 624932 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
2021/02/08 | 624428 | macros/latex/contrib/teubner/teubner.pdf
2021/02/08 | 6222 | macros/latex/contrib/twemojis/pdf-twemojis/1faa2.pdf
-2021/02/08 | 62081 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/02/08 | 619144 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2021/02/08 | 6063 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1f9.pdf
-2021/02/08 | 60606 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
2021/02/08 | 6024 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1f8.pdf
-2021/02/08 | 59809 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/02/08 | 596721 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2021/02/08 | 5936 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ee-1f1f4.pdf
2021/02/08 | 5936 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e9-1f1ec.pdf
2021/02/08 | 5918 | macros/latex/contrib/twemojis/README.md
-2021/02/08 | 59146 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2021/02/08 | 5907 | macros/latex/contrib/twemojis/pdf-twemojis/1f9a3.pdf
2021/02/08 | 5844 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f2-1f1fd.pdf
-2021/02/08 | 583742 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/02/08 | 5826027 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/02/08 | 57611 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2021/02/08 | 573 | macros/latex/contrib/twemojis/twemojis.ins
-2021/02/08 | 56979 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/02/08 | 568175 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/02/08 | 56601 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/02/08 | 564663 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/02/08 | 56455 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/02/08 | 563993 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/02/08 | 56326 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/02/08 | 55852 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/02/08 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
2021/02/08 | 5569 | macros/latex/contrib/twemojis/pdf-twemojis/1f952.pdf
2021/02/08 | 5541 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fe-1f1f9.pdf
-2021/02/08 | 55375 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
2021/02/08 | 552828 | systems/texlive/tlnet/archive/l3kernel.source.r57669.tar.xz
2021/02/08 | 5451 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1fa.pdf
2021/02/08 | 5412 | systems/texlive/tlnet/archive/babel-slovenian.source.r57666.tar.xz
@@ -103,32 +361,26 @@
2021/02/08 | 5336 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f9bc.pdf
2021/02/08 | 5330 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fb-200d-1f9bc.pdf
2021/02/08 | 5322 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-1f9bc.pdf
+2021/02/08 | 5319 | macros/luatex/optex/base/pdfuni-string.opm
2021/02/08 | 5318 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff-200d-1f9bc.pdf
-2021/02/08 | 531717 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
2021/02/08 | 5315 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f9bc.pdf
2021/02/08 | 5314 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f9bc.pdf
2021/02/08 | 5308 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f9bc.pdf
2021/02/08 | 5296 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-1f9bc.pdf
2021/02/08 | 526482 | macros/latex/contrib/acrotex/doc/aeb_man.tex
2021/02/08 | 5252 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fe-200d-1f9bc.pdf
-2021/02/08 | 52498 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2021/02/08 | 5248 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-1f9bc.pdf
2021/02/08 | 5246 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f9bc.pdf
2021/02/08 | 5246 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f9bc.pdf
2021/02/08 | 5242 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f9bc.pdf
-2021/02/08 | 52403 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2021/02/08 | 5238 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f9bc.pdf
+2021/02/08 | 52214 | fonts/utilities/ps2pk/Makefile.in
2021/02/08 | 5217 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f0-1f1fe.pdf
-2021/02/08 | 52056 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/02/08 | 51864 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2021/02/08 | 5175 | macros/latex/contrib/twemojis/pdf-twemojis/1f6d6.pdf
2021/02/08 | 5166 | macros/latex/contrib/twemojis/pdf-twemojis/1fa85.pdf
2021/02/08 | 5151 | macros/latex/contrib/twemojis/pdf-twemojis/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.pdf
-2021/02/08 | 51409 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/02/08 | 514088 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2021/02/08 | 513440 | systems/texlive/tlnet/archive/biblatex-swiss-legal.doc.r57672.tar.xz
2021/02/08 | 512956 | systems/texlive/tlnet/archive/easybook.doc.r57672.tar.xz
-2021/02/08 | 51184 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
2021/02/08 | 5112 | systems/texlive/tlnet/archive/fancyhdr.r57672.tar.xz
2021/02/08 | 511088 | systems/texlive/tlnet/archive/oup-authoring-template.doc.r57672.tar.xz
2021/02/08 | 5087 | macros/latex/contrib/twemojis/pdf-twemojis/1fac0.pdf
@@ -137,9 +389,8 @@
2021/02/08 | 5083 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 5082 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 5076 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3fc-200d-2640-fe0f.pdf
-2021/02/08 | 50705 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
2021/02/08 | 5064 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-fe0f-200d-2640-fe0f.pdf
-2021/02/08 | 50032 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/02/08 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
2021/02/08 | 4991 | macros/latex/contrib/twemojis/pdf-twemojis/1f46f.pdf
2021/02/08 | 4969 | macros/latex/contrib/twemojis/pdf-twemojis/1fab1.pdf
2021/02/08 | 4955 | macros/latex/contrib/twemojis/pdf-twemojis/1fad4.pdf
@@ -151,7 +402,7 @@
2021/02/08 | 4934 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3fc.pdf
2021/02/08 | 4925 | macros/latex/contrib/twemojis/pdf-twemojis/26f9.pdf
2021/02/08 | 4918 | macros/latex/contrib/twemojis/pdf-twemojis/1f32f.pdf
-2021/02/08 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/02/08 | 49056600 | systems/win32/w32tex/xetex-w32.tar.xz
2021/02/08 | 4875 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 4873 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 4873 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3fc-200d-2642-fe0f.pdf
@@ -159,17 +410,14 @@
2021/02/08 | 4867 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 486609 | macros/latex/contrib/acrotex/examples/webeqtst.pdf
2021/02/08 | 4858 | macros/latex/contrib/twemojis/pdf-twemojis/26f9-fe0f-200d-2642-fe0f.pdf
-2021/02/08 | 484328 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
2021/02/08 | 4803 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-1f3fe-200d-2640-fe0f.pdf
2021/02/08 | 4798 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 4796 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 4795 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 4792 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-1f3fc-200d-2640-fe0f.pdf
-2021/02/08 | 47904 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2021/02/08 | 4788 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-200d-2640-fe0f.pdf
2021/02/08 | 4771 | macros/latex/contrib/twemojis/pdf-twemojis/1f9a0.pdf
2021/02/08 | 4764 | macros/latex/contrib/twemojis/pdf-twemojis/1f30b.pdf
-2021/02/08 | 475816 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2021/02/08 | 4757 | macros/latex/contrib/twemojis/pdf-twemojis/1f93e-1f3fe-200d-2640-fe0f.pdf
2021/02/08 | 4754 | macros/latex/contrib/twemojis/pdf-twemojis/1fa97.pdf
2021/02/08 | 4754 | macros/latex/contrib/twemojis/pdf-twemojis/1f93e-1f3ff-200d-2640-fe0f.pdf
@@ -190,7 +438,7 @@
2021/02/08 | 4712 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3ff-200d-1f9bd.pdf
2021/02/08 | 4708 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3.pdf
2021/02/08 | 4705 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fb-200d-1f9bd.pdf
-2021/02/08 | 46959 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/02/08 | 469210 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
2021/02/08 | 4682 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-1f9bd.pdf
2021/02/08 | 4679 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff-200d-1f9bd.pdf
2021/02/08 | 4678 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-1f3fe-200d-2642-fe0f.pdf
@@ -204,6 +452,7 @@
2021/02/08 | 4666 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c3-200d-2642-fe0f.pdf
2021/02/08 | 4664 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fb-1f1e6.pdf
2021/02/08 | 4658 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-1f9bd.pdf
+2021/02/08 | 46585492 | systems/win32/w32tex/latex-dev.tar.xz
2021/02/08 | 4655 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f1-1f1e7.pdf
2021/02/08 | 4635 | macros/latex/contrib/twemojis/pdf-twemojis/1f46f-200d-2642-fe0f.pdf
2021/02/08 | 4625 | macros/latex/contrib/twemojis/pdf-twemojis/1f93e-1f3fe.pdf
@@ -217,7 +466,6 @@
2021/02/08 | 4617 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f9bd.pdf
2021/02/08 | 4616 | macros/latex/contrib/twemojis/pdf-twemojis/1f93e.pdf
2021/02/08 | 4614 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cb-1f3fe.pdf
-2021/02/08 | 461384 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
2021/02/08 | 4612 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f9bd.pdf
2021/02/08 | 4607 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f9bd.pdf
2021/02/08 | 46044 | systems/texlive/tlnet/archive/fancyhdr.source.r57672.tar.xz
@@ -232,7 +480,6 @@
2021/02/08 | 4590 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c7-1f3fe.pdf
2021/02/08 | 4589 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 4589 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c7-1f3ff.pdf
-2021/02/08 | 45899 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
2021/02/08 | 4588 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c7-1f3fd.pdf
2021/02/08 | 4586 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fc-200d-2640-fe0f.pdf
2021/02/08 | 4586 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c7-1f3fc.pdf
@@ -243,11 +490,6 @@
2021/02/08 | 4574 | macros/latex/contrib/acrotex/README.md
2021/02/08 | 4573 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1f2.pdf
2021/02/08 | 4567 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cb-1f3fe-200d-2640-fe0f.pdf
-2021/02/08 | 45637 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/02/08 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/02/08 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/02/08 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/02/08 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/02/08 | 4554 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cb-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 4554 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cb-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 455256 | macros/latex/contrib/twemojis/twemojis.dtx
@@ -262,9 +504,9 @@
2021/02/08 | 4531 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1f9.pdf
2021/02/08 | 4527 | macros/latex/contrib/twemojis/pdf-twemojis/1f93e-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 4527 | macros/latex/contrib/twemojis/pdf-twemojis/1f46f-200d-2640-fe0f.pdf
-2021/02/08 | 45272 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2021/02/08 | 4523 | macros/latex/contrib/twemojis/pdf-twemojis/1f93e-200d-2642-fe0f.pdf
2021/02/08 | 4508 | macros/latex/contrib/twemojis/pdf-twemojis/1f1eb-1f1f0.pdf
+2021/02/08 | 4479 | macros/latex/contrib/hyperref/README.md
2021/02/08 | 4467 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 4466 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 4464 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fb-200d-2642-fe0f.pdf
@@ -279,6 +521,7 @@
2021/02/08 | 4440 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cb-fe0f-200d-2642-fe0f.pdf
2021/02/08 | 4436 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cb-1f3fb-200d-2642-fe0f.pdf
2021/02/08 | 4430 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f7-1f1f8.pdf
+2021/02/08 | 440976 | systems/win32/w32tex/win64/cweb-w64.tar.xz
2021/02/08 | 4403 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fe.pdf
2021/02/08 | 4399 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fd.pdf
2021/02/08 | 4398 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fb.pdf
@@ -286,16 +529,9 @@
2021/02/08 | 4396 | macros/latex/contrib/twemojis/pdf-twemojis/1f938-1f3fc.pdf
2021/02/08 | 4388 | macros/latex/contrib/twemojis/pdf-twemojis/1f938.pdf
2021/02/08 | 4367 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1f3.pdf
-2021/02/08 | 43563 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/02/08 | 43384 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
2021/02/08 | 4314 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fb-1f1ee.pdf
-2021/02/08 | 43072 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/02/08 | 42872 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
2021/02/08 | 4285 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1f8.pdf
-2021/02/08 | 42663 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2021/02/08 | 4261 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ed-1f1f0.pdf
-2021/02/08 | 42551 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/02/08 | 42399 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2021/02/08 | 4175 | macros/latex/contrib/twemojis/pdf-twemojis/1f93c-200d-2640-fe0f.pdf
2021/02/08 | 4170 | macros/latex/contrib/twemojis/pdf-twemojis/1f9e0.pdf
2021/02/08 | 4161 | macros/latex/contrib/twemojis/pdf-twemojis/1f99e.pdf
@@ -304,14 +540,14 @@
2021/02/08 | 4150 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fb-200d-2642-fe0f.pdf
2021/02/08 | 4148 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 4148 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fd-200d-2642-fe0f.pdf
+2021/02/08 | 4141373 | install/macros/latex/contrib/hyperref.tds.zip
2021/02/08 | 4140 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-fe0f-200d-2642-fe0f.pdf
2021/02/08 | 4119 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1f2.pdf
-2021/02/08 | 40965 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2021/02/08 | 4082 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1f5.pdf
2021/02/08 | 4077 | macros/latex/contrib/twemojis/pdf-twemojis/1f32e.pdf
2021/02/08 | 4069 | macros/latex/contrib/twemojis/pdf-twemojis/1f64a.pdf
2021/02/08 | 4058 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ee-1f1e8.pdf
-2021/02/08 | 40230 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/02/08 | 4017 | macros/latex/contrib/hyperref/hyperref.ins
2021/02/08 | 4011 | macros/latex/contrib/twemojis/pdf-twemojis/1f94d.pdf
2021/02/08 | 400279 | macros/latex/contrib/teubner/teubner-doc.pdf
2021/02/08 | 3996 | macros/latex/contrib/twemojis/pdf-twemojis/1f9a4.pdf
@@ -339,7 +575,6 @@
2021/02/08 | 3962 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.pdf
2021/02/08 | 3962 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.pdf
2021/02/08 | 3961 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.pdf
-2021/02/08 | 39537 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
2021/02/08 | 3949 | macros/latex/contrib/twemojis/pdf-twemojis/1f93c.pdf
2021/02/08 | 3947 | macros/latex/contrib/twemojis/pdf-twemojis/1f9bc.pdf
2021/02/08 | 3943 | macros/latex/contrib/twemojis/pdf-twemojis/1f46d-1f3fe.pdf
@@ -354,7 +589,7 @@
2021/02/08 | 3929 | macros/latex/contrib/twemojis/pdf-twemojis/1f57a.pdf
2021/02/08 | 3928 | macros/latex/contrib/twemojis/pdf-twemojis/1f46d-1f3ff.pdf
2021/02/08 | 3927 | macros/latex/contrib/twemojis/pdf-twemojis/1f57a-1f3fb.pdf
-2021/02/08 | 392683 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/02/08 | 3916 | info/biblio/texbook3.ltx
2021/02/08 | 3903 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1f1.pdf
2021/02/08 | 3888 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.pdf
2021/02/08 | 3888 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.pdf
@@ -403,9 +638,7 @@
2021/02/08 | 3811 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.pdf
2021/02/08 | 3810 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.pdf
2021/02/08 | 3808 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.pdf
-2021/02/08 | 38071 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2021/02/08 | 3806 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1eb.pdf
-2021/02/08 | 38059 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2021/02/08 | 3802 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.pdf
2021/02/08 | 3801 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.pdf
2021/02/08 | 3800 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.pdf
@@ -430,8 +663,6 @@
2021/02/08 | 3744 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d6-200d-2642-fe0f.pdf
2021/02/08 | 3735 | macros/latex/contrib/twemojis/pdf-twemojis/2603.pdf
2021/02/08 | 3734 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1f2.pdf
-2021/02/08 | 37309 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/02/08 | 37250 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2021/02/08 | 3692 | macros/latex/contrib/twemojis/pdf-twemojis/26f7-1f3ff.pdf
2021/02/08 | 3691 | macros/latex/contrib/twemojis/pdf-twemojis/26f7-1f3fe.pdf
2021/02/08 | 3691 | macros/latex/contrib/twemojis/pdf-twemojis/26f7-1f3fc.pdf
@@ -444,7 +675,6 @@
2021/02/08 | 3681 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fd-200d-1f9af.pdf
2021/02/08 | 3675 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f9af.pdf
2021/02/08 | 3672 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fb-200d-1f9af.pdf
-2021/02/08 | 36677 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2021/02/08 | 3646 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cb.pdf
2021/02/08 | 3627 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1ed.pdf
2021/02/08 | 3626 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1ff.pdf
@@ -496,7 +726,6 @@
2021/02/08 | 3542 | macros/latex/contrib/twemojis/pdf-twemojis/1f483.pdf
2021/02/08 | 3542 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.pdf
2021/02/08 | 3542 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c4-1f3fe.pdf
-2021/02/08 | 35425 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2021/02/08 | 3541 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.pdf
2021/02/08 | 3540 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.pdf
2021/02/08 | 3536 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c4-1f3ff.pdf
@@ -521,7 +750,6 @@
2021/02/08 | 3512 | macros/latex/contrib/twemojis/pdf-twemojis/1f46c-1f3fb.pdf
2021/02/08 | 3511 | macros/latex/contrib/twemojis/pdf-twemojis/1f46c-1f3ff.pdf
2021/02/08 | 3508 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fe.pdf
-2021/02/08 | 35067 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2021/02/08 | 3503 | macros/latex/contrib/twemojis/pdf-twemojis/1f9e4.pdf
2021/02/08 | 3503 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fd.pdf
2021/02/08 | 3503 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fb.pdf
@@ -541,7 +769,6 @@
2021/02/08 | 3475 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f469-200d-1f467-200d-1f467.pdf
2021/02/08 | 3467 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f469-200d-1f466-200d-1f466.pdf
2021/02/08 | 3457 | macros/latex/contrib/twemojis/pdf-twemojis/1fad3.pdf
-2021/02/08 | 345232 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2021/02/08 | 3451 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f468-200d-1f467-200d-1f466.pdf
2021/02/08 | 3449 | macros/latex/contrib/twemojis/pdf-twemojis/1f96e.pdf
2021/02/08 | 3442 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f3eb.pdf
@@ -552,12 +779,12 @@
2021/02/08 | 3433 | macros/latex/contrib/twemojis/pdf-twemojis/1fab0.pdf
2021/02/08 | 3433 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f3eb.pdf
2021/02/08 | 3433 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff-200d-1f3eb.pdf
-2021/02/08 | 34306 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2021/02/08 | 3429 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f469-200d-1f466-200d-1f466.pdf
2021/02/08 | 3405 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ed-1f1f9.pdf
2021/02/08 | 3403 | macros/latex/contrib/twemojis/pdf-twemojis/1f9df-200d-2642-fe0f.pdf
2021/02/08 | 3402 | macros/latex/contrib/twemojis/pdf-twemojis/1f966.pdf
2021/02/08 | 3399 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f468-200d-1f466-200d-1f466.pdf
+2021/02/08 | 33964484 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/02/08 | 3382 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c4-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 3381 | macros/latex/contrib/twemojis/pdf-twemojis/1f9f8.pdf
2021/02/08 | 3381 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c4-1f3fe-200d-2640-fe0f.pdf
@@ -577,7 +804,6 @@
2021/02/08 | 3357 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d6-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 3357 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c4-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 3356 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d6-200d-2640-fe0f.pdf
-2021/02/08 | 33533 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
2021/02/08 | 3352 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f52c.pdf
2021/02/08 | 3352 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-1f52c.pdf
2021/02/08 | 3350 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f52c.pdf
@@ -605,14 +831,12 @@
2021/02/08 | 3323 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1f6.pdf
2021/02/08 | 3321 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3ff-200d-1f3a4.pdf
2021/02/08 | 3314 | macros/latex/contrib/twemojis/pdf-twemojis/1f9df-200d-2640-fe0f.pdf
-2021/02/08 | 33143 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2021/02/08 | 3309 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fe-200d-1f37c.pdf
2021/02/08 | 3305 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-1f37c.pdf
2021/02/08 | 3304 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f37c.pdf
2021/02/08 | 3301 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f37c.pdf
2021/02/08 | 3300 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f37c.pdf
2021/02/08 | 3300 | macros/latex/contrib/twemojis/pdf-twemojis/1f363.pdf
-2021/02/08 | 329920 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2021/02/08 | 3290 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f37c.pdf
2021/02/08 | 3290 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fc-200d-1f3eb.pdf
2021/02/08 | 3288 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fd-200d-1f3eb.pdf
@@ -629,7 +853,6 @@
2021/02/08 | 3268 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-1f52c.pdf
2021/02/08 | 3261 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff-200d-1f52c.pdf
2021/02/08 | 3256 | macros/latex/contrib/twemojis/pdf-twemojis/1f35c.pdf
-2021/02/08 | 32545 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2021/02/08 | 3246 | macros/latex/contrib/twemojis/pdf-twemojis/1fa86.pdf
2021/02/08 | 3243 | macros/latex/contrib/twemojis/pdf-twemojis/1f46a.pdf
2021/02/08 | 3238 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d8-1f3fe.pdf
@@ -658,7 +881,6 @@
2021/02/08 | 3217 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c2-1f3fe.pdf
2021/02/08 | 3214 | macros/latex/contrib/twemojis/pdf-twemojis/1f46e-1f3ff.pdf
2021/02/08 | 3214 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c2.pdf
-2021/02/08 | 320797 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/02/08 | 3206 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fe-200d-2708-fe0f.pdf
2021/02/08 | 3203 | macros/latex/contrib/twemojis/pdf-twemojis/1f9f6.pdf
2021/02/08 | 3201 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-2708-fe0f.pdf
@@ -683,10 +905,9 @@
2021/02/08 | 3168 | systems/texlive/tlnet/archive/innerscript.r57672.tar.xz
2021/02/08 | 3163 | macros/latex/contrib/twemojis/pdf-twemojis/1f9c1.pdf
2021/02/08 | 3161 | macros/latex/contrib/twemojis/pdf-twemojis/1f9bd.pdf
+2021/02/08 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty
2021/02/08 | 3157 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 3156 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-200d-2642-fe0f.pdf
-2021/02/08 | 31550 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/02/08 | 31543 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2021/02/08 | 3151 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 3150 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-1f3fb-200d-2642-fe0f.pdf
2021/02/08 | 3149 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-1f3fc-200d-2642-fe0f.pdf
@@ -705,7 +926,6 @@
2021/02/08 | 3136 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d7-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 3134 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-1f3fc.pdf
2021/02/08 | 3134 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-1f3fe-200d-2640-fe0f.pdf
-2021/02/08 | 31344 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2021/02/08 | 3133 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-200d-2640-fe0f.pdf
2021/02/08 | 3132 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-1f3fc-200d-2640-fe0f.pdf
2021/02/08 | 3131 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc.pdf
@@ -719,7 +939,6 @@
2021/02/08 | 3125 | macros/latex/contrib/twemojis/pdf-twemojis/1f9dc-1f3ff.pdf
2021/02/08 | 3124 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d7-1f3fb-200d-2642-fe0f.pdf
2021/02/08 | 3123 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-1f3fb-200d-2640-fe0f.pdf
-2021/02/08 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
2021/02/08 | 3120 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-2708-fe0f.pdf
2021/02/08 | 3118 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-2708-fe0f.pdf
2021/02/08 | 31172 | systems/texlive/tlnet/archive/l3backend.source.r57669.tar.xz
@@ -728,7 +947,6 @@
2021/02/08 | 3114 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-2708-fe0f.pdf
2021/02/08 | 3114 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1fb.pdf
2021/02/08 | 3111 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-2708-fe0f.pdf
-2021/02/08 | 310964 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2021/02/08 | 3108 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-2708-fe0f.pdf
2021/02/08 | 3108 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-2696-fe0f.pdf
2021/02/08 | 3101 | macros/latex/contrib/twemojis/pdf-twemojis/1f30c.pdf
@@ -745,7 +963,6 @@
2021/02/08 | 3090 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d7-200d-2640-fe0f.pdf
2021/02/08 | 3090 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 3090 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-1f3fd-200d-2642-fe0f.pdf
-2021/02/08 | 30873 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2021/02/08 | 3085 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-200d-2642-fe0f.pdf
2021/02/08 | 3084 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fe-200d-1f3ed.pdf
2021/02/08 | 3084 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b6-1f3fb-200d-2642-fe0f.pdf
@@ -810,7 +1027,6 @@
2021/02/08 | 3005 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f467-200d-1f467.pdf
2021/02/08 | 3004 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d8-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 3003 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d8-200d-2640-fe0f.pdf
-2021/02/08 | 30032 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2021/02/08 | 3002 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f467-200d-1f467.pdf
2021/02/08 | 2999 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d8-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 2998 | macros/latex/contrib/twemojis/pdf-twemojis/1f409.pdf
@@ -827,6 +1043,7 @@
2021/02/08 | 2987 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f469-200d-1f466.pdf
2021/02/08 | 2986 | macros/latex/contrib/twemojis/pdf-twemojis/1f93d.pdf
2021/02/08 | 2984 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f680.pdf
+2021/02/08 | 298373 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
2021/02/08 | 2982 | macros/latex/contrib/twemojis/pdf-twemojis/1f92c.pdf
2021/02/08 | 2981 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f466-200d-1f466.pdf
2021/02/08 | 2979 | macros/latex/contrib/twemojis/pdf-twemojis/1f99f.pdf
@@ -836,7 +1053,6 @@
2021/02/08 | 2977 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f466-200d-1f466.pdf
2021/02/08 | 2976 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fe-200d-1f680.pdf
2021/02/08 | 2975 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f680.pdf
-2021/02/08 | 297365 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
2021/02/08 | 2972 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f468-200d-1f467.pdf
2021/02/08 | 2966 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f469-200d-1f466.pdf
2021/02/08 | 2965 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f680.pdf
@@ -845,11 +1061,9 @@
2021/02/08 | 2961 | macros/latex/contrib/twemojis/pdf-twemojis/1f9fd.pdf
2021/02/08 | 2959 | macros/latex/contrib/twemojis/pdf-twemojis/1fa82.pdf
2021/02/08 | 2957 | macros/latex/contrib/twemojis/pdf-twemojis/1f978.pdf
-2021/02/08 | 295625 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2021/02/08 | 2955 | macros/latex/contrib/twemojis/pdf-twemojis/1f38a.pdf
2021/02/08 | 2953 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-1f3a4.pdf
2021/02/08 | 2952 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f3a4.pdf
-2021/02/08 | 29513 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
2021/02/08 | 2950 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f3a4.pdf
2021/02/08 | 2949 | macros/latex/contrib/twemojis/pdf-twemojis/1f35d.pdf
2021/02/08 | 2948 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-1f3a4.pdf
@@ -878,7 +1092,6 @@
2021/02/08 | 2906 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f680.pdf
2021/02/08 | 2904 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f3a4.pdf
2021/02/08 | 2904 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f3a4.pdf
-2021/02/08 | 29023 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2021/02/08 | 2901 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fe-200d-2696-fe0f.pdf
2021/02/08 | 2900 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-1f680.pdf
2021/02/08 | 2899 | macros/latex/contrib/twemojis/pdf-twemojis/1f3df.pdf
@@ -969,8 +1182,8 @@
2021/02/08 | 2843 | macros/latex/contrib/twemojis/pdf-twemojis/1f933-1f3fd.pdf
2021/02/08 | 2843 | macros/latex/contrib/twemojis/pdf-twemojis/1f6b4-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2840 | macros/latex/contrib/twemojis/pdf-twemojis/1f965.pdf
+2021/02/08 | 28408 | macros/latex/contrib/hyperref/backref.dtx
2021/02/08 | 2839 | macros/latex/contrib/twemojis/pdf-twemojis/1f933-1f3fc.pdf
-2021/02/08 | 283982 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2021/02/08 | 2838 | macros/latex/contrib/twemojis/pdf-twemojis/1f649.pdf
2021/02/08 | 2832 | macros/latex/contrib/twemojis/pdf-twemojis/1f92f.pdf
2021/02/08 | 2829 | macros/latex/contrib/twemojis/pdf-twemojis/1f932-1f3fb.pdf
@@ -989,7 +1202,6 @@
2021/02/08 | 2823 | macros/latex/contrib/twemojis/pdf-twemojis/1f932-1f3fc.pdf
2021/02/08 | 2823 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-200d-1f4bc.pdf
2021/02/08 | 2823 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f4bc.pdf
-2021/02/08 | 28231 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
2021/02/08 | 2820 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff-200d-1f4bc.pdf
2021/02/08 | 2819 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-1f4bc.pdf
2021/02/08 | 2816 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fc-200d-1f393.pdf
@@ -1000,7 +1212,6 @@
2021/02/08 | 2813 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fe-200d-1f393.pdf
2021/02/08 | 2813 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe-200d-1f373.pdf
2021/02/08 | 2813 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f373.pdf
-2021/02/08 | 281362 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
2021/02/08 | 2811 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3ff-200d-1f393.pdf
2021/02/08 | 2811 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f373.pdf
2021/02/08 | 2810 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-1f373.pdf
@@ -1018,7 +1229,7 @@
2021/02/08 | 2802 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fe-200d-2696-fe0f.pdf
2021/02/08 | 2800 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-2696-fe0f.pdf
2021/02/08 | 2800 | macros/latex/contrib/twemojis/pdf-twemojis/1f993.pdf
-2021/02/08 | 28007 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/02/08 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty
2021/02/08 | 2799 | macros/latex/contrib/twemojis/pdf-twemojis/1f9db-1f3fe.pdf
2021/02/08 | 2799 | macros/latex/contrib/twemojis/pdf-twemojis/1f3bf.pdf
2021/02/08 | 2798 | macros/latex/contrib/twemojis/pdf-twemojis/1f939-1f3fe-200d-2640-fe0f.pdf
@@ -1066,15 +1277,14 @@
2021/02/08 | 2762 | macros/latex/contrib/twemojis/pdf-twemojis/1f575-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2761 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cd-200d-2640-fe0f.pdf
2021/02/08 | 2760 | macros/latex/contrib/twemojis/pdf-twemojis/1f939-1f3fe-200d-2642-fe0f.pdf
+2021/02/08 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty
2021/02/08 | 2758 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cd-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 2758 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cd-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2758 | macros/latex/contrib/twemojis/pdf-twemojis/1f98e.pdf
2021/02/08 | 2751 | macros/latex/contrib/twemojis/pdf-twemojis/1fad2.pdf
2021/02/08 | 2749 | macros/latex/contrib/twemojis/pdf-twemojis/1f939-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 2746 | macros/latex/contrib/twemojis/pdf-twemojis/1f939-1f3fc-200d-2642-fe0f.pdf
-2021/02/08 | 27464 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
2021/02/08 | 2744 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fe-200d-2640-fe0f.pdf
-2021/02/08 | 27442 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2021/02/08 | 2743 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 2742 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2741 | macros/latex/contrib/twemojis/pdf-twemojis/1f3cc-1f3fc-200d-2640-fe0f.pdf
@@ -1109,8 +1319,6 @@
2021/02/08 | 2721 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f393.pdf
2021/02/08 | 2721 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fd-200d-1f3a8.pdf
2021/02/08 | 2721 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3fc-200d-1f33e.pdf
-2021/02/08 | 27217 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/02/08 | 27204 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2021/02/08 | 2719 | macros/latex/contrib/twemojis/pdf-twemojis/1f981.pdf
2021/02/08 | 2718 | macros/latex/contrib/twemojis/pdf-twemojis/1f935-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 2718 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f33e.pdf
@@ -1264,10 +1472,8 @@
2021/02/08 | 2626 | macros/latex/contrib/twemojis/pdf-twemojis/26be.pdf
2021/02/08 | 2626 | macros/latex/contrib/twemojis/pdf-twemojis/1f486.pdf
2021/02/08 | 2621 | macros/latex/contrib/twemojis/pdf-twemojis/1f486-1f3ff.pdf
-2021/02/08 | 26206 | macros/latex/contrib/easybook/doc/easybook.tex
2021/02/08 | 2618 | macros/latex/contrib/twemojis/pdf-twemojis/1fad0.pdf
2021/02/08 | 2617 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b9-1f3fe-200d-2642-fe0f.pdf
-2021/02/08 | 2617422 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2021/02/08 | 2612 | macros/latex/contrib/twemojis/pdf-twemojis/1f3b8.pdf
2021/02/08 | 2611 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b9-1f3fc-200d-2642-fe0f.pdf
2021/02/08 | 2609 | macros/latex/contrib/twemojis/pdf-twemojis/1f439.pdf
@@ -1276,11 +1482,11 @@
2021/02/08 | 2604 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b9-200d-2642-fe0f.pdf
2021/02/08 | 2602 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b9-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 2602 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b9-1f3fb-200d-2642-fe0f.pdf
+2021/02/08 | 2599700 | systems/win32/w32tex/tex4htk-w32.tar.xz
2021/02/08 | 2594 | macros/latex/contrib/twemojis/pdf-twemojis/1f30f.pdf
2021/02/08 | 2591 | macros/latex/contrib/twemojis/pdf-twemojis/1f334.pdf
2021/02/08 | 2590 | macros/latex/contrib/twemojis/pdf-twemojis/1f63f.pdf
2021/02/08 | 2586 | macros/latex/contrib/teubner/README
-2021/02/08 | 258631 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2021/02/08 | 2585 | macros/latex/contrib/twemojis/pdf-twemojis/1f91d.pdf
2021/02/08 | 2581 | macros/latex/contrib/twemojis/pdf-twemojis/1f634.pdf
2021/02/08 | 2573 | macros/latex/contrib/twemojis/pdf-twemojis/1f931-1f3fe.pdf
@@ -1325,7 +1531,6 @@
2021/02/08 | 2542 | macros/latex/contrib/twemojis/pdf-twemojis/1f477-1f3fc.pdf
2021/02/08 | 2541 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cf-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 2541 | macros/latex/contrib/twemojis/pdf-twemojis/1f473.pdf
-2021/02/08 | 254184 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2021/02/08 | 2540 | macros/latex/contrib/twemojis/pdf-twemojis/1f931.pdf
2021/02/08 | 2539 | macros/latex/contrib/twemojis/pdf-twemojis/1f9db-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 2539 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cf-200d-2640-fe0f.pdf
@@ -1336,7 +1541,6 @@
2021/02/08 | 2535 | macros/latex/contrib/twemojis/pdf-twemojis/1f486-1f3fb-200d-2642-fe0f.pdf
2021/02/08 | 2533 | macros/latex/contrib/twemojis/pdf-twemojis/1f926-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2533 | macros/latex/contrib/twemojis/pdf-twemojis/1f473-1f3fe-200d-2640-fe0f.pdf
-2021/02/08 | 25333 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
2021/02/08 | 2532 | macros/latex/contrib/twemojis/pdf-twemojis/1f9cf-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 2532 | macros/latex/contrib/twemojis/pdf-twemojis/1f486-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 2532 | macros/latex/contrib/twemojis/pdf-twemojis/1f477-1f3ff.pdf
@@ -1399,7 +1603,6 @@
2021/02/08 | 2512 | macros/latex/contrib/twemojis/pdf-twemojis/1f977-1f3fd.pdf
2021/02/08 | 2512 | macros/latex/contrib/twemojis/pdf-twemojis/1f977-1f3fb.pdf
2021/02/08 | 2512 | macros/latex/contrib/twemojis/pdf-twemojis/1f486-1f3fc-200d-2640-fe0f.pdf
-2021/02/08 | 25129 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
2021/02/08 | 2511 | macros/latex/contrib/twemojis/pdf-twemojis/1f977.pdf
2021/02/08 | 2511 | macros/latex/contrib/twemojis/pdf-twemojis/1f977-1f3fc.pdf
2021/02/08 | 2511 | macros/latex/contrib/twemojis/pdf-twemojis/1f482-1f3fe.pdf
@@ -1414,11 +1617,9 @@
2021/02/08 | 2504 | macros/latex/contrib/twemojis/pdf-twemojis/1f482.pdf
2021/02/08 | 2503 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f527.pdf
2021/02/08 | 2503 | macros/latex/contrib/twemojis/pdf-twemojis/1f926-1f3ff-200d-2640-fe0f.pdf
-2021/02/08 | 25039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2021/02/08 | 2502 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b8-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 2502 | macros/latex/contrib/twemojis/pdf-twemojis/1f977-1f3ff.pdf
2021/02/08 | 2502 | macros/latex/contrib/twemojis/pdf-twemojis/1f486-1f3fe-200d-2640-fe0f.pdf
-2021/02/08 | 250203 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
2021/02/08 | 2501 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b8-1f3fc-200d-2640-fe0f.pdf
2021/02/08 | 2501 | macros/latex/contrib/twemojis/pdf-twemojis/1f482-1f3fb.pdf
2021/02/08 | 2500 | macros/latex/contrib/twemojis/pdf-twemojis/26f2.pdf
@@ -1435,7 +1636,6 @@
2021/02/08 | 2497 | macros/latex/contrib/twemojis/pdf-twemojis/1f482-1f3ff.pdf
2021/02/08 | 2495 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b8.pdf
2021/02/08 | 2495 | macros/latex/contrib/twemojis/pdf-twemojis/1f984.pdf
-2021/02/08 | 2495614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2021/02/08 | 2494 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d9-1f3fe-200d-2640-fe0f.pdf
2021/02/08 | 2494 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d9-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2494 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f527.pdf
@@ -1482,7 +1682,6 @@
2021/02/08 | 2463 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b8-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 2462 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b8-1f3fc-200d-2642-fe0f.pdf
2021/02/08 | 2461 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b8-200d-2642-fe0f.pdf
-2021/02/08 | 24615867 | systems/texlive/tlnet/install-tl.zip
2021/02/08 | 2458 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ee.pdf
2021/02/08 | 2458 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-200d-1f466.pdf
2021/02/08 | 2457 | macros/latex/contrib/twemojis/pdf-twemojis/1fa99.pdf
@@ -1509,7 +1708,6 @@
2021/02/08 | 2437 | macros/latex/contrib/twemojis/pdf-twemojis/1f477-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 2436 | macros/latex/contrib/twemojis/pdf-twemojis/1f477-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 2435 | macros/latex/contrib/twemojis/pdf-twemojis/1f477-1f3fb-200d-2642-fe0f.pdf
-2021/02/08 | 243512 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2021/02/08 | 2433 | macros/latex/contrib/twemojis/pdf-twemojis/1f477-200d-2642-fe0f.pdf
2021/02/08 | 2433 | macros/latex/contrib/twemojis/pdf-twemojis/1f3f8.pdf
2021/02/08 | 2427 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d9-1f3ff.pdf
@@ -1554,10 +1752,10 @@
2021/02/08 | 2396 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f4bb.pdf
2021/02/08 | 2396 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb-200d-1f4bb.pdf
2021/02/08 | 2396 | macros/latex/contrib/twemojis/pdf-twemojis/1f41e.pdf
+2021/02/08 | 2396661 | macros/latex/contrib/hyperref/doc/hyperref.pdf
2021/02/08 | 2395 | macros/latex/contrib/twemojis/pdf-twemojis/1f935-1f3fb-200d-2642-fe0f.pdf
2021/02/08 | 2395 | macros/latex/contrib/twemojis/pdf-twemojis/1f645-1f3ff.pdf
2021/02/08 | 2394 | macros/latex/contrib/twemojis/pdf-twemojis/1f640.pdf
-2021/02/08 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2021/02/08 | 2387 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f4bb.pdf
2021/02/08 | 2387 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fe-200d-2695-fe0f.pdf
2021/02/08 | 2387 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-2695-fe0f.pdf
@@ -1593,6 +1791,7 @@
2021/02/08 | 2370 | macros/latex/contrib/twemojis/pdf-twemojis/1f6a3-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 2369 | macros/latex/contrib/twemojis/pdf-twemojis/1f645-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 2366 | macros/latex/contrib/twemojis/pdf-twemojis/1f6a3-200d-2642-fe0f.pdf
+2021/02/08 | 23652 | macros/latex/contrib/hyperref/nameref.dtx
2021/02/08 | 2362 | macros/latex/contrib/twemojis/pdf-twemojis/1fa90.pdf
2021/02/08 | 2360 | macros/latex/contrib/twemojis/pdf-twemojis/2328.pdf
2021/02/08 | 2360 | macros/latex/contrib/twemojis/pdf-twemojis/1f95c.pdf
@@ -1621,7 +1820,6 @@
2021/02/08 | 2332 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ce-1f3fd-200d-2642-fe0f.pdf
2021/02/08 | 2332 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ff-1f1fc.pdf
2021/02/08 | 2331 | macros/latex/contrib/twemojis/pdf-twemojis/1f645-1f3fb-200d-2640-fe0f.pdf
-2021/02/08 | 23313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2021/02/08 | 2330 | macros/latex/contrib/twemojis/pdf-twemojis/1f9da-1f3fc.pdf
2021/02/08 | 2330 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ce-1f3fc-200d-2642-fe0f.pdf
2021/02/08 | 2330 | macros/latex/contrib/twemojis/pdf-twemojis/1f970.pdf
@@ -1641,7 +1839,6 @@
2021/02/08 | 2320 | macros/latex/contrib/twemojis/pdf-twemojis/1f96a.pdf
2021/02/08 | 2318 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fd-200d-1f4bb.pdf
2021/02/08 | 2316 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fc-200d-1f4bb.pdf
-2021/02/08 | 231665 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
2021/02/08 | 2315 | macros/latex/contrib/twemojis/pdf-twemojis/1f9da-1f3ff.pdf
2021/02/08 | 2315 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff-200d-1f4bb.pdf
2021/02/08 | 2314 | macros/latex/contrib/twemojis/pdf-twemojis/1f645-1f3ff-200d-2640-fe0f.pdf
@@ -1686,7 +1883,6 @@
2021/02/08 | 2280 | macros/latex/contrib/twemojis/pdf-twemojis/1f406.pdf
2021/02/08 | 2280 | macros/latex/contrib/twemojis/pdf-twemojis/1f365.pdf
2021/02/08 | 2280 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ea-1f1e8.pdf
-2021/02/08 | 2278700 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/02/08 | 2277 | macros/latex/contrib/twemojis/pdf-twemojis/1f482-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 2277 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fb-200d-2695-fe0f.pdf
2021/02/08 | 2276 | macros/latex/contrib/twemojis/pdf-twemojis/1fab5.pdf
@@ -1714,7 +1910,6 @@
2021/02/08 | 2260 | macros/latex/contrib/twemojis/pdf-twemojis/1f647-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 2259 | macros/latex/contrib/twemojis/pdf-twemojis/1f647-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 2256 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ce.pdf
-2021/02/08 | 225630 | macros/latex/contrib/easybook/doc/easybook.pdf
2021/02/08 | 2255 | macros/latex/contrib/twemojis/pdf-twemojis/1f4dd.pdf
2021/02/08 | 2254 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ce-1f3fb.pdf
2021/02/08 | 2251 | macros/latex/contrib/twemojis/pdf-twemojis/1f250.pdf
@@ -1783,7 +1978,6 @@
2021/02/08 | 2208 | macros/latex/contrib/twemojis/pdf-twemojis/1f6a3-200d-2640-fe0f.pdf
2021/02/08 | 2208 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fa-1f1f8.pdf
2021/02/08 | 2208 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fa-1f1f2.pdf
-2021/02/08 | 22045 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2021/02/08 | 2203 | macros/latex/contrib/twemojis/pdf-twemojis/1f6f0.pdf
2021/02/08 | 2201 | macros/latex/contrib/twemojis/pdf-twemojis/1f9fa.pdf
2021/02/08 | 2199 | macros/latex/contrib/twemojis/pdf-twemojis/1f487-1f3fd-200d-2642-fe0f.pdf
@@ -1876,10 +2070,10 @@
2021/02/08 | 2144 | macros/latex/contrib/twemojis/pdf-twemojis/1f99b.pdf
2021/02/08 | 2143 | macros/latex/contrib/twemojis/pdf-twemojis/e50a.pdf
2021/02/08 | 2143 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1fb.pdf
+2021/02/08 | 21408168 | systems/win32/w32tex/pdftex-w32.tar.xz
2021/02/08 | 2139 | macros/latex/contrib/twemojis/pdf-twemojis/1f47a.pdf
2021/02/08 | 2137 | macros/latex/contrib/twemojis/pdf-twemojis/1f647-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 2137 | macros/latex/contrib/twemojis/pdf-twemojis/1f41c.pdf
-2021/02/08 | 213739 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2021/02/08 | 2136 | macros/latex/contrib/twemojis/pdf-twemojis/1f647-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 2135045 | macros/latex/contrib/acrotex/doc/aeb_man.pdf
2021/02/08 | 2134 | macros/latex/contrib/twemojis/pdf-twemojis/1f9c4.pdf
@@ -1903,7 +2097,6 @@
2021/02/08 | 2112 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ea.pdf
2021/02/08 | 2112 | macros/latex/contrib/twemojis/pdf-twemojis/1f5d3.pdf
2021/02/08 | 2112 | macros/latex/contrib/twemojis/pdf-twemojis/1f54b.pdf
-2021/02/08 | 21129 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2021/02/08 | 2111 | macros/latex/contrib/twemojis/pdf-twemojis/270a-1f3ff.pdf
2021/02/08 | 2111 | macros/latex/contrib/twemojis/pdf-twemojis/1f36a.pdf
2021/02/08 | 2111 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1ed.pdf
@@ -1914,7 +2107,6 @@
2021/02/08 | 2109 | macros/latex/contrib/twemojis/pdf-twemojis/1f9c9.pdf
2021/02/08 | 2109 | macros/latex/contrib/twemojis/pdf-twemojis/1f35b.pdf
2021/02/08 | 2109 | macros/latex/contrib/twemojis/pdf-twemojis/1f004.pdf
-2021/02/08 | 210932 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
2021/02/08 | 2107 | macros/latex/contrib/twemojis/pdf-twemojis/270a.pdf
2021/02/08 | 2107 | macros/latex/contrib/twemojis/pdf-twemojis/270a-1f3fc.pdf
2021/02/08 | 2107 | macros/latex/contrib/twemojis/pdf-twemojis/1f9da-200d-2642-fe0f.pdf
@@ -1951,7 +2143,6 @@
2021/02/08 | 2081 | macros/latex/contrib/twemojis/pdf-twemojis/1f937-1f3fe-200d-2640-fe0f.pdf
2021/02/08 | 2080 | macros/latex/contrib/twemojis/pdf-twemojis/1f937-200d-2640-fe0f.pdf
2021/02/08 | 2080 | macros/latex/contrib/twemojis/pdf-twemojis/1f934-1f3fd.pdf
-2021/02/08 | 208089 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2021/02/08 | 2079 | macros/latex/contrib/twemojis/pdf-twemojis/1f343.pdf
2021/02/08 | 2078 | macros/latex/contrib/twemojis/pdf-twemojis/1f937-1f3ff-200d-2640-fe0f.pdf
2021/02/08 | 2078 | macros/latex/contrib/twemojis/pdf-twemojis/1f934-1f3fb.pdf
@@ -1982,8 +2173,6 @@
2021/02/08 | 2067 | macros/latex/contrib/twemojis/pdf-twemojis/1f927.pdf
2021/02/08 | 2066 | macros/latex/contrib/twemojis/pdf-twemojis/1f31e.pdf
2021/02/08 | 2066 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f3-1f1e8.pdf
-2021/02/08 | 206640 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/02/08 | 206627 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2021/02/08 | 2065 | macros/latex/contrib/twemojis/pdf-twemojis/1f481-1f3fe.pdf
2021/02/08 | 2064 | macros/latex/contrib/twemojis/pdf-twemojis/1f335.pdf
2021/02/08 | 2063 | macros/latex/contrib/twemojis/pdf-twemojis/2695.pdf
@@ -2040,7 +2229,6 @@
2021/02/08 | 2027 | macros/latex/contrib/twemojis/pdf-twemojis/1faa6.pdf
2021/02/08 | 2026 | macros/latex/contrib/twemojis/pdf-twemojis/270c-1f3ff.pdf
2021/02/08 | 2026 | macros/latex/contrib/twemojis/pdf-twemojis/1fa81.pdf
-2021/02/08 | 202649 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
2021/02/08 | 2025 | macros/latex/contrib/twemojis/pdf-twemojis/1f523.pdf
2021/02/08 | 2024 | macros/latex/contrib/twemojis/pdf-twemojis/270c-1f3fb.pdf
2021/02/08 | 2024 | macros/latex/contrib/twemojis/pdf-twemojis/1f467-1f3ff.pdf
@@ -2064,7 +2252,6 @@
2021/02/08 | 2012 | macros/latex/contrib/twemojis/pdf-twemojis/1f44d-1f3fd.pdf
2021/02/08 | 2011 | macros/latex/contrib/twemojis/pdf-twemojis/1f44d-1f3fb.pdf
2021/02/08 | 2011 | macros/latex/contrib/twemojis/pdf-twemojis/1f3ce.pdf
-2021/02/08 | 20119 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
2021/02/08 | 2010 | macros/latex/contrib/twemojis/pdf-twemojis/260e.pdf
2021/02/08 | 2010 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f384.pdf
2021/02/08 | 2010 | macros/latex/contrib/twemojis/pdf-twemojis/1f481-1f3fb-200d-2642-fe0f.pdf
@@ -2083,7 +2270,6 @@
2021/02/08 | 2002 | macros/latex/contrib/twemojis/pdf-twemojis/1f481-200d-2642-fe0f.pdf
2021/02/08 | 2002 | macros/latex/contrib/twemojis/pdf-twemojis/1f475-1f3fb.pdf
2021/02/08 | 2002 | macros/latex/contrib/twemojis/pdf-twemojis/1f44e-1f3fe.pdf
-2021/02/08 | 2002729 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
2021/02/08 | 2001 | macros/latex/contrib/twemojis/pdf-twemojis/1f52c.pdf
2021/02/08 | 2001 | macros/latex/contrib/twemojis/pdf-twemojis/1f44e-1f3ff.pdf
2021/02/08 | 2001 | macros/latex/contrib/twemojis/pdf-twemojis/1f44e-1f3fb.pdf
@@ -2109,7 +2295,6 @@
2021/02/08 | 1996 | macros/latex/contrib/twemojis/pdf-twemojis/1f399.pdf
2021/02/08 | 1995 | macros/latex/contrib/twemojis/pdf-twemojis/1f64b-1f3fe.pdf
2021/02/08 | 1995 | macros/latex/contrib/twemojis/pdf-twemojis/1f481-1f3ff-200d-2642-fe0f.pdf
-2021/02/08 | 199587 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
2021/02/08 | 1994 | macros/latex/contrib/twemojis/pdf-twemojis/1f64b.pdf
2021/02/08 | 1994 | macros/latex/contrib/twemojis/pdf-twemojis/1f475.pdf
2021/02/08 | 1993 | macros/latex/contrib/twemojis/pdf-twemojis/1f44b.pdf
@@ -2128,10 +2313,10 @@
2021/02/08 | 1983 | macros/latex/contrib/twemojis/pdf-twemojis/263a.pdf
2021/02/08 | 1983 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1f0.pdf
2021/02/08 | 1982 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3fe.pdf
+2021/02/08 | 198298 | macros/latex/contrib/hyperref/doc/backref.pdf
2021/02/08 | 1981 | macros/latex/contrib/twemojis/pdf-twemojis/1f646-1f3fe-200d-2642-fe0f.pdf
2021/02/08 | 1981 | macros/latex/contrib/twemojis/pdf-twemojis/1f33f.pdf
2021/02/08 | 1980 | macros/latex/contrib/twemojis/pdf-twemojis/1f468-1f3ff.pdf
-2021/02/08 | 198081 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
2021/02/08 | 1979 | macros/latex/contrib/twemojis/pdf-twemojis/1f33c.pdf
2021/02/08 | 1978 | macros/latex/contrib/twemojis/pdf-twemojis/1f468.pdf
2021/02/08 | 1976 | macros/latex/contrib/twemojis/pdf-twemojis/261d-1f3ff.pdf
@@ -2148,7 +2333,6 @@
2021/02/08 | 1966 | macros/latex/contrib/twemojis/pdf-twemojis/1f646-1f3ff-200d-2642-fe0f.pdf
2021/02/08 | 1966 | macros/latex/contrib/twemojis/pdf-twemojis/1f519.pdf
2021/02/08 | 1965 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1ea.pdf
-2021/02/08 | 19658083 | systems/texlive/tlnet/install-tl-windows.exe
2021/02/08 | 1964 | macros/latex/contrib/twemojis/pdf-twemojis/1f646-200d-2642-fe0f.pdf
2021/02/08 | 1963 | macros/latex/contrib/twemojis/pdf-twemojis/23f1.pdf
2021/02/08 | 1963 | macros/latex/contrib/twemojis/pdf-twemojis/1f64b-1f3fd-200d-2642-fe0f.pdf
@@ -2160,8 +2344,6 @@
2021/02/08 | 1957 | macros/latex/contrib/twemojis/pdf-twemojis/1f68d.pdf
2021/02/08 | 1957 | macros/latex/contrib/twemojis/pdf-twemojis/1f64b-1f3fc-200d-2642-fe0f.pdf
2021/02/08 | 1957 | macros/latex/contrib/twemojis/pdf-twemojis/1f321.pdf
-2021/02/08 | 195676 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/02/08 | 195627 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
2021/02/08 | 1955 | macros/latex/contrib/twemojis/pdf-twemojis/1f478-1f3fc.pdf
2021/02/08 | 1955 | macros/latex/contrib/twemojis/pdf-twemojis/1f478-1f3fb.pdf
2021/02/08 | 1955 | macros/latex/contrib/twemojis/pdf-twemojis/1f400.pdf
@@ -2190,7 +2372,6 @@
2021/02/08 | 1938 | macros/latex/contrib/twemojis/pdf-twemojis/1f681.pdf
2021/02/08 | 1937 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d3-1f3fb.pdf
2021/02/08 | 1937 | macros/latex/contrib/twemojis/pdf-twemojis/1f3ea.pdf
-2021/02/08 | 193759 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2021/02/08 | 1936 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d3-1f3fc.pdf
2021/02/08 | 1936 | macros/latex/contrib/twemojis/pdf-twemojis/1f975.pdf
2021/02/08 | 1936 | macros/latex/contrib/twemojis/pdf-twemojis/1f349.pdf
@@ -2302,6 +2483,7 @@
2021/02/08 | 1880 | macros/latex/contrib/twemojis/pdf-twemojis/1f3ca-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 1880 | macros/latex/contrib/twemojis/pdf-twemojis/1f3ca-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 1880 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ed-1f1f7.pdf
+2021/02/08 | 188032 | macros/latex/contrib/hyperref/doc/nameref.pdf
2021/02/08 | 1879 | macros/latex/contrib/twemojis/pdf-twemojis/1f3ca-200d-2640-fe0f.pdf
2021/02/08 | 1878 | macros/latex/contrib/twemojis/pdf-twemojis/1fac2.pdf
2021/02/08 | 1878 | macros/latex/contrib/twemojis/pdf-twemojis/1f629.pdf
@@ -2312,8 +2494,11 @@
2021/02/08 | 1874 | macros/latex/contrib/twemojis/pdf-twemojis/1f3d6.pdf
2021/02/08 | 1873 | macros/latex/contrib/twemojis/pdf-twemojis/1f64e-1f3fb.pdf
2021/02/08 | 1873 | macros/latex/contrib/twemojis/pdf-twemojis/1f619.pdf
+2021/02/08 | 18735756 | systems/win32/w32tex/luatex-exp-w32.tar.xz
+2021/02/08 | 18734744 | systems/win32/w32tex/luatex-dev-w32.tar.xz
2021/02/08 | 1872 | macros/latex/contrib/twemojis/pdf-twemojis/1f5c3.pdf
2021/02/08 | 1872 | macros/latex/contrib/twemojis/pdf-twemojis/1f3e4.pdf
+2021/02/08 | 18720624 | systems/win32/w32tex/luatex-w32.tar.xz
2021/02/08 | 1871 | macros/latex/contrib/twemojis/pdf-twemojis/1fa9b.pdf
2021/02/08 | 1871 | macros/latex/contrib/twemojis/pdf-twemojis/1f64e-1f3fc.pdf
2021/02/08 | 1871 | macros/latex/contrib/twemojis/pdf-twemojis/1f60b.pdf
@@ -2443,7 +2628,6 @@
2021/02/08 | 1810 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f9b0.pdf
2021/02/08 | 1810 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fc-200d-1f9b0.pdf
2021/02/08 | 1810 | macros/latex/contrib/twemojis/pdf-twemojis/1f375.pdf
-2021/02/08 | 18107 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2021/02/08 | 1809 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-200d-1f9b3.pdf
2021/02/08 | 1809 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3fb.pdf
2021/02/08 | 1809 | macros/latex/contrib/twemojis/pdf-twemojis/1f918-1f3fd.pdf
@@ -2468,7 +2652,6 @@
2021/02/08 | 1802 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f9b3.pdf
2021/02/08 | 1801 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d2-1f3fc.pdf
2021/02/08 | 1801 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1.pdf
-2021/02/08 | 180162 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2021/02/08 | 1800 | macros/latex/contrib/twemojis/pdf-twemojis/1f9d1-1f3ff-200d-1f9b0.pdf
2021/02/08 | 1800 | macros/latex/contrib/twemojis/pdf-twemojis/1f988.pdf
2021/02/08 | 1800 | macros/latex/contrib/twemojis/pdf-twemojis/1f40f.pdf
@@ -2484,9 +2667,7 @@
2021/02/08 | 1796 | macros/latex/contrib/twemojis/pdf-twemojis/1f91b-1f3ff.pdf
2021/02/08 | 1795 | macros/latex/contrib/twemojis/pdf-twemojis/1f950.pdf
2021/02/08 | 1795 | macros/latex/contrib/twemojis/pdf-twemojis/1f91b.pdf
-2021/02/08 | 17959 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2021/02/08 | 1794 | macros/latex/contrib/twemojis/pdf-twemojis/1f3b3.pdf
-2021/02/08 | 179468 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2021/02/08 | 1793 | macros/latex/contrib/twemojis/pdf-twemojis/2702.pdf
2021/02/08 | 1793 | macros/latex/contrib/twemojis/pdf-twemojis/1f922.pdf
2021/02/08 | 1793 | macros/latex/contrib/twemojis/pdf-twemojis/1f420.pdf
@@ -2641,6 +2822,7 @@
2021/02/08 | 1726 | macros/latex/contrib/twemojis/pdf-twemojis/1f64d-1f3fd-200d-2640-fe0f.pdf
2021/02/08 | 1726 | macros/latex/contrib/twemojis/pdf-twemojis/1f549.pdf
2021/02/08 | 172656 | macros/latex/contrib/teubner/teubner.dtx
+2021/02/08 | 1726052 | systems/win32/w32tex/pmx.tar.xz
2021/02/08 | 1725 | macros/latex/contrib/twemojis/pdf-twemojis/1f6cc.pdf
2021/02/08 | 1723 | macros/latex/contrib/twemojis/pdf-twemojis/1f64d-1f3fb-200d-2640-fe0f.pdf
2021/02/08 | 1723 | macros/latex/contrib/twemojis/pdf-twemojis/1f50a.pdf
@@ -2693,7 +2875,6 @@
2021/02/08 | 1707 | macros/latex/contrib/twemojis/pdf-twemojis/1f344.pdf
2021/02/08 | 1706 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1eb.pdf
2021/02/08 | 1704 | macros/latex/contrib/twemojis/pdf-twemojis/26a7.pdf
-2021/02/08 | 17029360 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2021/02/08 | 1701 | macros/latex/contrib/twemojis/pdf-twemojis/26f8.pdf
2021/02/08 | 1701 | macros/latex/contrib/twemojis/pdf-twemojis/1f5a8.pdf
2021/02/08 | 1700 | macros/latex/contrib/twemojis/pdf-twemojis/1f51a.pdf
@@ -2708,6 +2889,7 @@
2021/02/08 | 1696 | macros/latex/contrib/twemojis/pdf-twemojis/1f4e7.pdf
2021/02/08 | 1695 | macros/latex/contrib/twemojis/pdf-twemojis/1f54c.pdf
2021/02/08 | 1695 | macros/latex/contrib/twemojis/pdf-twemojis/1f396.pdf
+2021/02/08 | 1695 | macros/latex/contrib/hyperref/manifest.txt
2021/02/08 | 1694 | macros/latex/contrib/twemojis/pdf-twemojis/26b0.pdf
2021/02/08 | 1694 | macros/latex/contrib/twemojis/pdf-twemojis/1f686.pdf
2021/02/08 | 1692 | macros/latex/contrib/twemojis/pdf-twemojis/1f414.pdf
@@ -2723,7 +2905,6 @@
2021/02/08 | 1688 | macros/latex/contrib/twemojis/pdf-twemojis/1f590-1f3ff.pdf
2021/02/08 | 1687 | macros/latex/contrib/twemojis/pdf-twemojis/1f97f.pdf
2021/02/08 | 1685 | macros/latex/contrib/twemojis/pdf-twemojis/1f3f0.pdf
-2021/02/08 | 1685640 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
2021/02/08 | 1684 | macros/latex/contrib/twemojis/pdf-twemojis/2652.pdf
2021/02/08 | 1684 | macros/latex/contrib/twemojis/pdf-twemojis/1f590.pdf
2021/02/08 | 1683 | macros/latex/contrib/twemojis/pdf-twemojis/1f590-1f3fc.pdf
@@ -2744,7 +2925,6 @@
2021/02/08 | 1677 | macros/latex/contrib/twemojis/pdf-twemojis/1f4c7.pdf
2021/02/08 | 1677 | macros/latex/contrib/twemojis/pdf-twemojis/1f428.pdf
2021/02/08 | 1677 | macros/latex/contrib/twemojis/pdf-twemojis/1f234.pdf
-2021/02/08 | 167738 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2021/02/08 | 1676 | macros/latex/contrib/twemojis/pdf-twemojis/1f949.pdf
2021/02/08 | 1676 | macros/latex/contrib/twemojis/pdf-twemojis/1f60a.pdf
2021/02/08 | 1676 | macros/latex/contrib/twemojis/pdf-twemojis/1f48c.pdf
@@ -2800,13 +2980,11 @@
2021/02/08 | 1641 | macros/latex/contrib/twemojis/pdf-twemojis/1f627.pdf
2021/02/08 | 1638 | macros/latex/contrib/twemojis/pdf-twemojis/1f9f9.pdf
2021/02/08 | 1638 | macros/latex/contrib/twemojis/pdf-twemojis/1f56f.pdf
-2021/02/08 | 163794 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2021/02/08 | 1635 | macros/latex/contrib/twemojis/pdf-twemojis/1f4a1.pdf
2021/02/08 | 1634 | macros/latex/contrib/twemojis/pdf-twemojis/26e9.pdf
2021/02/08 | 1634 | macros/latex/contrib/twemojis/pdf-twemojis/1fa9c.pdf
2021/02/08 | 1634 | macros/latex/contrib/twemojis/pdf-twemojis/1f3a7.pdf
2021/02/08 | 1634 | macros/latex/contrib/twemojis/pdf-twemojis/1f39f.pdf
-2021/02/08 | 16340 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2021/02/08 | 1633 | macros/latex/contrib/twemojis/pdf-twemojis/1f401.pdf
2021/02/08 | 1632 | macros/latex/contrib/twemojis/pdf-twemojis/1f955.pdf
2021/02/08 | 1632 | macros/latex/contrib/twemojis/pdf-twemojis/1f4a2.pdf
@@ -2848,7 +3026,6 @@
2021/02/08 | 1613 | macros/latex/contrib/twemojis/pdf-twemojis/1f3a8.pdf
2021/02/08 | 1612 | macros/latex/contrib/twemojis/pdf-twemojis/1f4ce.pdf
2021/02/08 | 1612 | macros/latex/contrib/twemojis/pdf-twemojis/1f496.pdf
-2021/02/08 | 16112 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
2021/02/08 | 1609 | macros/latex/contrib/twemojis/pdf-twemojis/1f6d0.pdf
2021/02/08 | 1606 | macros/latex/contrib/twemojis/pdf-twemojis/26ce.pdf
2021/02/08 | 1606 | macros/latex/contrib/twemojis/pdf-twemojis/1f6c3.pdf
@@ -2867,7 +3044,6 @@
2021/02/08 | 1599 | macros/latex/contrib/twemojis/pdf-twemojis/1f403.pdf
2021/02/08 | 1598 | macros/latex/contrib/twemojis/pdf-twemojis/1f5c4.pdf
2021/02/08 | 1598 | macros/latex/contrib/twemojis/pdf-twemojis/1f579.pdf
-2021/02/08 | 159864 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2021/02/08 | 1597 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e8-1f1e6.pdf
2021/02/08 | 1595 | macros/latex/contrib/twemojis/pdf-twemojis/1f96d.pdf
2021/02/08 | 1594 | macros/latex/contrib/twemojis/pdf-twemojis/1f469-1f3ff-200d-1f9b2.pdf
@@ -2976,7 +3152,6 @@
2021/02/08 | 1540 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ff.pdf
2021/02/08 | 1540 | macros/latex/contrib/twemojis/pdf-twemojis/1f502.pdf
2021/02/08 | 1540 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1f0.pdf
-2021/02/08 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2021/02/08 | 1539 | macros/latex/contrib/twemojis/pdf-twemojis/1f91a.pdf
2021/02/08 | 1539 | macros/latex/contrib/twemojis/pdf-twemojis/1f91a-1f3ff.pdf
2021/02/08 | 1539 | macros/latex/contrib/twemojis/pdf-twemojis/1f4f8.pdf
@@ -2984,7 +3159,6 @@
2021/02/08 | 1539 | macros/latex/contrib/twemojis/pdf-twemojis/1f251.pdf
2021/02/08 | 1538 | macros/latex/contrib/twemojis/pdf-twemojis/1f91a-1f3fc.pdf
2021/02/08 | 1538 | macros/latex/contrib/twemojis/pdf-twemojis/1f697.pdf
-2021/02/08 | 153807 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
2021/02/08 | 1537 | macros/latex/contrib/twemojis/pdf-twemojis/1f3e8.pdf
2021/02/08 | 1536 | macros/latex/contrib/twemojis/pdf-twemojis/2709.pdf
2021/02/08 | 1536 | macros/latex/contrib/twemojis/pdf-twemojis/1f9ba.pdf
@@ -3005,7 +3179,6 @@
2021/02/08 | 1530 | macros/latex/contrib/twemojis/pdf-twemojis/1f485-1f3fd.pdf
2021/02/08 | 1530 | macros/latex/contrib/twemojis/pdf-twemojis/1f485-1f3fb.pdf
2021/02/08 | 1530 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f1-1f1fe.pdf
-2021/02/08 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2021/02/08 | 1529 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b5-1f3fe.pdf
2021/02/08 | 1529 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b5-1f3fd.pdf
2021/02/08 | 1529 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b5-1f3fb.pdf
@@ -3014,8 +3187,8 @@
2021/02/08 | 1529 | macros/latex/contrib/twemojis/pdf-twemojis/1f485-1f3fc.pdf
2021/02/08 | 1529 | macros/latex/contrib/twemojis/pdf-twemojis/1f3d2.pdf
2021/02/08 | 1528 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b5-1f3ff.pdf
+2021/02/08 | 152872 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
2021/02/08 | 1527 | macros/latex/contrib/twemojis/pdf-twemojis/1f351.pdf
-2021/02/08 | 152747 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2021/02/08 | 1526 | macros/latex/contrib/twemojis/pdf-twemojis/1f485.pdf
2021/02/08 | 1525 | macros/latex/contrib/twemojis/pdf-twemojis/1f595.pdf
2021/02/08 | 1524 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b5-1f3fc.pdf
@@ -3089,9 +3262,7 @@
2021/02/08 | 1471 | macros/latex/contrib/twemojis/pdf-twemojis/1faa7.pdf
2021/02/08 | 1471 | macros/latex/contrib/twemojis/pdf-twemojis/1f50b.pdf
2021/02/08 | 1471 | macros/latex/contrib/twemojis/pdf-twemojis/1f388.pdf
-2021/02/08 | 147188 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2021/02/08 | 1470 | macros/latex/contrib/twemojis/pdf-twemojis/1f455.pdf
-2021/02/08 | 147087 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2021/02/08 | 1469 | macros/latex/contrib/twemojis/pdf-twemojis/231b.pdf
2021/02/08 | 1469 | macros/latex/contrib/twemojis/pdf-twemojis/1f381.pdf
2021/02/08 | 1468 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ea-1f1ed.pdf
@@ -3104,7 +3275,6 @@
2021/02/08 | 1461 | macros/latex/contrib/twemojis/pdf-twemojis/1fa93.pdf
2021/02/08 | 1461 | macros/latex/contrib/twemojis/pdf-twemojis/1f962.pdf
2021/02/08 | 1460 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1ff.pdf
-2021/02/08 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2021/02/08 | 1459 | macros/latex/contrib/twemojis/pdf-twemojis/1f58b.pdf
2021/02/08 | 1459 | macros/latex/contrib/twemojis/pdf-twemojis/1f238.pdf
2021/02/08 | 14594 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1eb.pdf
@@ -3117,7 +3287,6 @@
2021/02/08 | 1450 | macros/latex/contrib/twemojis/pdf-twemojis/2734.pdf
2021/02/08 | 1450 | macros/latex/contrib/twemojis/pdf-twemojis/1f947.pdf
2021/02/08 | 1450 | macros/latex/contrib/twemojis/pdf-twemojis/1f48b.pdf
-2021/02/08 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2021/02/08 | 1449 | macros/latex/contrib/twemojis/pdf-twemojis/1f345.pdf
2021/02/08 | 1449 | macros/latex/contrib/twemojis/pdf-twemojis/1f302.pdf
2021/02/08 | 1447 | macros/latex/contrib/twemojis/pdf-twemojis/1f500.pdf
@@ -3127,6 +3296,7 @@
2021/02/08 | 14468 | systems/texlive/tlnet/archive/l3backend.r57669.tar.xz
2021/02/08 | 1445 | macros/latex/contrib/twemojis/pdf-twemojis/1f201.pdf
2021/02/08 | 1445 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e8-1f1e9.pdf
+2021/02/08 | 14442 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
2021/02/08 | 1443 | macros/latex/contrib/twemojis/pdf-twemojis/1f3bd.pdf
2021/02/08 | 1442 | macros/latex/contrib/twemojis/pdf-twemojis/1f3c9.pdf
2021/02/08 | 1441 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1f3.pdf
@@ -3139,7 +3309,6 @@
2021/02/08 | 1435 | macros/latex/contrib/twemojis/pdf-twemojis/1f6ba.pdf
2021/02/08 | 1434 | macros/latex/contrib/twemojis/pdf-twemojis/1f337.pdf
2021/02/08 | 1434 | macros/latex/contrib/twemojis/pdf-twemojis/1f191.pdf
-2021/02/08 | 14343 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2021/02/08 | 1433 | macros/latex/contrib/twemojis/pdf-twemojis/38-20e3.pdf
2021/02/08 | 1433 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b7.pdf
2021/02/08 | 1433 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f0-1f1f3.pdf
@@ -3160,14 +3329,12 @@
2021/02/08 | 1422 | macros/latex/contrib/twemojis/pdf-twemojis/1f34a.pdf
2021/02/08 | 1422 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1f7.pdf
2021/02/08 | 1421 | macros/latex/contrib/twemojis/pdf-twemojis/39-20e3.pdf
-2021/02/08 | 1421911 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2021/02/08 | 1420 | macros/latex/contrib/twemojis/pdf-twemojis/36-20e3.pdf
2021/02/08 | 1420 | macros/latex/contrib/twemojis/pdf-twemojis/2602.pdf
2021/02/08 | 1420 | macros/latex/contrib/twemojis/pdf-twemojis/1f642.pdf
2021/02/08 | 1418 | macros/latex/contrib/twemojis/pdf-twemojis/26f5.pdf
2021/02/08 | 141844 | systems/texlive/tlnet/archive/texlive-msg-translations.r57663.tar.xz
2021/02/08 | 1417 | macros/latex/contrib/twemojis/pdf-twemojis/2618.pdf
-2021/02/08 | 1417678 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2021/02/08 | 1416 | macros/latex/contrib/twemojis/pdf-twemojis/2733.pdf
2021/02/08 | 1416 | macros/latex/contrib/twemojis/pdf-twemojis/2640.pdf
2021/02/08 | 1416 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f2.pdf
@@ -3317,7 +3484,6 @@
2021/02/08 | 1363 | macros/latex/contrib/twemojis/pdf-twemojis/1f331.pdf
2021/02/08 | 1363 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fc-1f1eb.pdf
2021/02/08 | 1363 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1e6.pdf
-2021/02/08 | 136346 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2021/02/08 | 1362 | macros/latex/contrib/twemojis/pdf-twemojis/1f4a3.pdf
2021/02/08 | 1362 | macros/latex/contrib/twemojis/pdf-twemojis/1f34e.pdf
2021/02/08 | 1362 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e8-1f1fa.pdf
@@ -3327,7 +3493,6 @@
2021/02/08 | 1361 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1ef.pdf
2021/02/08 | 1361 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f3-1f1f4.pdf
2021/02/08 | 1361 | macros/latex/contrib/twemojis/pdf-twemojis/1f194.pdf
-2021/02/08 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r57671.tar.xz
2021/02/08 | 136132 | systems/texlive/tlnet/archive/babel-slovenian.doc.r57666.tar.xz
2021/02/08 | 1360 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ee-1f1f8.pdf
2021/02/08 | 1359 | macros/latex/contrib/twemojis/pdf-twemojis/1f458.pdf
@@ -3337,11 +3502,9 @@
2021/02/08 | 1356 | macros/latex/contrib/twemojis/pdf-twemojis/1f3d1.pdf
2021/02/08 | 1355 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1fe.pdf
2021/02/08 | 1354 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9-1f1f9.pdf
-2021/02/08 | 135013 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
2021/02/08 | 1349 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1fd.pdf
2021/02/08 | 1347 | macros/latex/contrib/twemojis/pdf-twemojis/1f6a7.pdf
2021/02/08 | 1346 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1eb.pdf
-2021/02/08 | 13465 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2021/02/08 | 1345 | macros/latex/contrib/twemojis/pdf-twemojis/1f4be.pdf
2021/02/08 | 1344 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ea.pdf
2021/02/08 | 1343 | macros/latex/contrib/twemojis/pdf-twemojis/1f94c.pdf
@@ -3386,7 +3549,6 @@
2021/02/08 | 1317 | macros/latex/contrib/twemojis/pdf-twemojis/1f1eb.pdf
2021/02/08 | 1315 | macros/latex/contrib/twemojis/pdf-twemojis/1f55b.pdf
2021/02/08 | 1314 | macros/latex/contrib/twemojis/pdf-twemojis/274c.pdf
-2021/02/08 | 131490 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2021/02/08 | 1313 | macros/latex/contrib/twemojis/pdf-twemojis/1f4f3.pdf
2021/02/08 | 1312 | macros/latex/contrib/twemojis/pdf-twemojis/203c.pdf
2021/02/08 | 1311 | macros/latex/contrib/twemojis/pdf-twemojis/271d.pdf
@@ -3398,7 +3560,6 @@
2021/02/08 | 1308 | macros/latex/contrib/twemojis/pdf-twemojis/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.pdf
2021/02/08 | 1307 | macros/latex/contrib/twemojis/pdf-twemojis/1f1fa.pdf
2021/02/08 | 1307 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e9.pdf
-2021/02/08 | 1307388 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2021/02/08 | 1306 | macros/latex/contrib/twemojis/pdf-twemojis/1f3b5.pdf
2021/02/08 | 1306 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1f3.pdf
2021/02/08 | 1303 | macros/latex/contrib/twemojis/pdf-twemojis/1f95a.pdf
@@ -3417,7 +3578,6 @@
2021/02/08 | 1291 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f9.pdf
2021/02/08 | 1291 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f0-1f1fc.pdf
2021/02/08 | 1291 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e8-1f1ec.pdf
-2021/02/08 | 1291601 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
2021/02/08 | 1290 | macros/latex/contrib/twemojis/pdf-twemojis/2797.pdf
2021/02/08 | 1290 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f6-1f1e6.pdf
2021/02/08 | 1290 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f3-1f1ea.pdf
@@ -3434,7 +3594,6 @@
2021/02/08 | 1283 | macros/latex/contrib/twemojis/pdf-twemojis/1f1eb-1f1ee.pdf
2021/02/08 | 1282 | macros/latex/contrib/twemojis/pdf-twemojis/2660.pdf
2021/02/08 | 1282 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f1.pdf
-2021/02/08 | 1281723 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2021/02/08 | 1279 | macros/latex/contrib/twemojis/pdf-twemojis/1f561.pdf
2021/02/08 | 1279 | macros/latex/contrib/twemojis/pdf-twemojis/1f3b4.pdf
2021/02/08 | 1278 | macros/latex/contrib/twemojis/pdf-twemojis/2934.pdf
@@ -3470,9 +3629,6 @@
2021/02/08 | 1256 | macros/latex/contrib/twemojis/pdf-twemojis/2764.pdf
2021/02/08 | 1256 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f2-1f1fa.pdf
2021/02/08 | 1256 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1e9.pdf
-2021/02/08 | 1249997 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/02/08 | 124939 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/02/08 | 1249104 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
2021/02/08 | 1247 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b3.pdf
2021/02/08 | 1247 | macros/latex/contrib/twemojis/pdf-twemojis/1f4d0.pdf
2021/02/08 | 1247 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1ef.pdf
@@ -3488,6 +3644,7 @@
2021/02/08 | 1238 | macros/latex/contrib/twemojis/pdf-twemojis/1f6a9.pdf
2021/02/08 | 1237 | macros/latex/contrib/twemojis/pdf-twemojis/1f508.pdf
2021/02/08 | 1237 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ec-1f1e6.pdf
+2021/02/08 | 12374 | macros/luatex/optex/base/if-macros.opm
2021/02/08 | 1236 | macros/latex/contrib/twemojis/pdf-twemojis/1f48e.pdf
2021/02/08 | 1236 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f7-1f1f4.pdf
2021/02/08 | 1236 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ed-1f1fa.pdf
@@ -3558,6 +3715,7 @@
2021/02/08 | 1199 | macros/latex/contrib/twemojis/pdf-twemojis/27a1.pdf
2021/02/08 | 1198 | macros/latex/contrib/twemojis/pdf-twemojis/2b05.pdf
2021/02/08 | 1197 | macros/latex/contrib/twemojis/pdf-twemojis/23cf.pdf
+2021/02/08 | 119756931 | macros/context/latest/cont-tmf.zip
2021/02/08 | 1194 | macros/latex/contrib/twemojis/pdf-twemojis/1f538.pdf
2021/02/08 | 1193 | macros/latex/contrib/twemojis/pdf-twemojis/1f53a.pdf
2021/02/08 | 1191 | macros/latex/contrib/twemojis/pdf-twemojis/1f536.pdf
@@ -3583,19 +3741,16 @@
2021/02/08 | 1177 | macros/latex/contrib/twemojis/pdf-twemojis/1f3fc.pdf
2021/02/08 | 1176 | macros/latex/contrib/twemojis/pdf-twemojis/25fb.pdf
2021/02/08 | 1175 | macros/latex/contrib/twemojis/pdf-twemojis/25ab.pdf
-2021/02/08 | 1171818 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2021/02/08 | 116940 | systems/texlive/tlnet/archive/ut-thesis.doc.r57672.tar.xz
-2021/02/08 | 116935 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2021/02/08 | 1167 | macros/latex/contrib/twemojis/pdf-twemojis/1f7eb.pdf
2021/02/08 | 1167 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e8.pdf
2021/02/08 | 1166 | macros/latex/contrib/twemojis/pdf-twemojis/1f7ea.pdf
2021/02/08 | 1166 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e7.pdf
-2021/02/08 | 1166442 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/02/08 | 1166370 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/02/08 | 1165 | macros/latex/contrib/twemojis/pdf-twemojis/2b1c.pdf
2021/02/08 | 1165 | macros/latex/contrib/twemojis/pdf-twemojis/2b1b.pdf
2021/02/08 | 1165 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e9.pdf
2021/02/08 | 1165 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e5.pdf
+2021/02/08 | 116476 | macros/latex/contrib/hyperref/ChangeLog.txt
2021/02/08 | 1162 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e6.pdf
2021/02/08 | 1158 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e0.pdf
2021/02/08 | 1157 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e4.pdf
@@ -3605,108 +3760,66 @@
2021/02/08 | 1156 | macros/latex/contrib/twemojis/pdf-twemojis/26aa.pdf
2021/02/08 | 1156 | macros/latex/contrib/twemojis/pdf-twemojis/1f7e2.pdf
2021/02/08 | 1155 | macros/latex/contrib/twemojis/pdf-twemojis/1f534.pdf
-2021/02/08 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2021/02/08 | 1152 | macros/latex/contrib/twemojis/pdf-twemojis/1f535.pdf
2021/02/08 | 1144 | macros/latex/contrib/twemojis/pdf-twemojis/1f9b2.pdf
-2021/02/08 | 113935 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/02/08 | 112281 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2021/02/08 | 1096110 | macros/latex/contrib/teubner.zip
-2021/02/08 | 109150 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/02/08 | 1078967 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/02/08 | 104760 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/02/08 | 103332 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/02/08 | 10616904 | systems/win32/w32tex/ptex-w32.tar.xz
2021/02/08 | 10294108 | systems/texlive/tlnet/archive/l3kernel.doc.r57669.tar.xz
-2021/02/08 | 101862 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2021/02/08 | 10088 | systems/texlive/tlnet/archive/pmx.r57672.tar.xz
+2021/02/08 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
2021/02/07 | 99 | macros/latex/contrib/easybook/doc/pages/appendix.tex
2021/02/07 | 99730468 | systems/win32/w32tex/web2c-lib.tar.xz
2021/02/07 | 990468 | systems/texlive/tlnet/archive/suftesi.doc.r57650.tar.xz
2021/02/07 | 985760 | systems/texlive/tlnet/archive/europecv.doc.r57641.tar.xz
-2021/02/07 | 904 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
2021/02/07 | 90487044 | systems/win32/w32tex/pgfcontrib.tar.xz
2021/02/07 | 89300 | systems/texlive/tlnet/archive/nicematrix.source.r57649.tar.xz
-2021/02/07 | 892909 | macros/latex/contrib/hyperref/hyperref.dtx
2021/02/07 | 8522 | support/xml2pmx/doc/Readme.XML2PMX
2021/02/07 | 829511 | macros/latex/contrib/l3backend.zip
-2021/02/07 | 780255 | systems/win32/w32tex/ChangeLog
-2021/02/07 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
2021/02/07 | 76941 | systems/texlive/tlnet/tlpkg/translations/sl.po
-2021/02/07 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
-2021/02/07 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
-2021/02/07 | 768 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
2021/02/07 | 6860 | systems/texlive/tlnet/archive/babel-swedish.source.r57647.tar.xz
2021/02/07 | 6688 | systems/texlive/tlnet/archive/babel-portuges.source.r57644.tar.xz
2021/02/07 | 664008 | systems/texlive/tlnet/archive/ragged2e.doc.r57638.tar.xz
-2021/02/07 | 6622728 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2021/02/07 | 6593 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/02/07 | 6328 | systems/texlive/tlnet/archive/babel-sorbian.source.r57646.tar.xz
2021/02/07 | 6224 | systems/texlive/tlnet/archive/babel-finnish.source.r57643.tar.xz
2021/02/07 | 5792 | systems/texlive/tlnet/archive/babel-danish.source.r57642.tar.xz
-2021/02/07 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
2021/02/07 | 5728 | systems/texlive/tlnet/archive/cmap.r57640.tar.xz
2021/02/07 | 533291 | support/xml2pmx.zip
2021/02/07 | 526164 | install/macros/latex/contrib/moodle.tds.zip
-2021/02/07 | 524918 | macros/latex/contrib/easybook.zip
-2021/02/07 | 50274 | macros/latex/contrib/hyperref/hluatex.dtx
2021/02/07 | 4987622 | macros/latex/contrib/l3experimental.zip
-2021/02/07 | 496907 | fonts/utilities/ps2pk.zip
2021/02/07 | 48730892 | systems/win32/w32tex/web2c-w32.tar.xz
2021/02/07 | 4728 | systems/texlive/tlnet/archive/fontsize.r57648.tar.xz
-2021/02/07 | 467300 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
-2021/02/07 | 4479 | macros/latex/contrib/hyperref/README.md
-2021/02/07 | 42960 | macros/latex/contrib/easybook/easybook.cls
-2021/02/07 | 4108 | macros/latex/contrib/easybook/doc/pages/chapter1.tex
-2021/02/07 | 4084065 | install/macros/latex/contrib/hyperref.tds.zip
2021/02/07 | 40714 | macros/luatex/latex/innerscript/innerscript.dtx
2021/02/07 | 40176 | systems/texlive/tlnet/archive/suftesi.source.r57650.tar.xz
-2021/02/07 | 3962 | macros/latex/contrib/hyperref/hyperref.ins
-2021/02/07 | 3902555 | macros/latex/contrib/hyperref.zip
-2021/02/07 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57631.tar.xz
2021/02/07 | 38444 | systems/texlive/tlnet/archive/europecv.r57641.tar.xz
-2021/02/07 | 3806 | macros/latex/contrib/easybook/doc/pages/chapter2.tex
2021/02/07 | 3424 | support/xml2pmx/README
2021/02/07 | 339820 | systems/texlive/tlnet/archive/fontsize.doc.r57648.tar.xz
-2021/02/07 | 33961984 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/02/07 | 3383392 | systems/win32/w32tex/win64/web2c-w64.tar.xz
2021/02/07 | 324541 | macros/latex/contrib/moodle.zip
2021/02/07 | 322406 | support/xml2pmx/Windows/xml2pmx.exe
-2021/02/07 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty
2021/02/07 | 3156 | systems/texlive/tlnet/archive/babel-sorbian.r57646.tar.xz
2021/02/07 | 30212 | systems/texlive/tlnet/archive/spath3.source.r57639.tar.xz
-2021/02/07 | 296810 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
2021/02/07 | 292874 | support/xml2pmx/sources/xml2pmx-2021-02-07.tar.gz
2021/02/07 | 2924 | systems/texlive/tlnet/archive/ragged2e.r57638.tar.xz
-2021/02/07 | 28408 | macros/latex/contrib/hyperref/backref.dtx
2021/02/07 | 2828 | systems/texlive/tlnet/archive/babel-portuges.r57644.tar.xz
-2021/02/07 | 279 | macros/latex/contrib/hyperref/ntheorem-hyper.sty
2021/02/07 | 2768 | macros/latex/contrib/easybook/doc/pages/chapter3.tex
-2021/02/07 | 275 | macros/latex/contrib/hyperref/minitoc-hyper.sty
2021/02/07 | 275100 | macros/latex/contrib/moodle/moodle.dtx
2021/02/07 | 2700 | systems/texlive/tlnet/archive/babel-swedish.r57647.tar.xz
2021/02/07 | 2685 | macros/latex/contrib/moodle/README.md
2021/02/07 | 260933 | macros/latex/contrib/moodle/moodle.pdf
-2021/02/07 | 2603404 | systems/win32/w32tex/tex4htk-w32.tar.xz
2021/02/07 | 25864 | systems/texlive/tlnet/archive/nicematrix.r57649.tar.xz
-2021/02/07 | 2517 | macros/latex/contrib/easybook/doc/easybook-demo.tex
2021/02/07 | 2488 | systems/texlive/tlnet/archive/babel-danish.r57642.tar.xz
-2021/02/07 | 2421160 | macros/latex/contrib/hyperref/doc/hyperref.pdf
+2021/02/07 | 24276 | macros/luatex/optex/base/table.opm
2021/02/07 | 2416 | systems/texlive/tlnet/archive/babel-finnish.r57643.tar.xz
-2021/02/07 | 23652 | macros/latex/contrib/hyperref/nameref.dtx
2021/02/07 | 2293 | macros/latex/contrib/moodle/moodle.ins
2021/02/07 | 2284 | systems/texlive/tlnet/archive/cmap.doc.r57640.tar.xz
2021/02/07 | 210456 | systems/texlive/tlnet/archive/babel-sorbian.doc.r57646.tar.xz
2021/02/07 | 20276 | systems/texlive/tlnet/archive/spath3.r57639.tar.xz
-2021/02/07 | 198815 | macros/latex/contrib/hyperref/doc/backref.pdf
-2021/02/07 | 188802 | macros/latex/contrib/hyperref/doc/nameref.pdf
2021/02/07 | 1796 | macros/luatex/latex/innerscript/README.txt
-2021/02/07 | 172912 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57631.tar.xz
2021/02/07 | 1714796 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
-2021/02/07 | 1680 | macros/latex/contrib/hyperref/manifest.txt
2021/02/07 | 154112 | systems/texlive/tlnet/archive/babel-portuges.doc.r57644.tar.xz
2021/02/07 | 1540276 | systems/texlive/tlnet/archive/nicematrix.doc.r57649.tar.xz
-2021/02/07 | 151901 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
2021/02/07 | 147984 | systems/texlive/tlnet/archive/babel-finnish.doc.r57643.tar.xz
-2021/02/07 | 14442 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
2021/02/07 | 14104 | systems/texlive/tlnet/archive/suftesi.r57650.tar.xz
2021/02/07 | 139880 | support/xml2pmx/MacOS/xml2pmx
2021/02/07 | 138828 | systems/texlive/tlnet/archive/babel-swedish.doc.r57647.tar.xz
@@ -3716,9 +3829,7 @@
2021/02/07 | 12544 | systems/texlive/tlnet/archive/fontsize.source.r57648.tar.xz
2021/02/07 | 123627 | macros/luatex/latex/innerscript/innerscript.pdf
2021/02/07 | 11823911 | macros/latex/contrib/l3kernel.zip
-2021/02/07 | 116152 | macros/latex/contrib/hyperref/ChangeLog.txt
2021/02/07 | 11392 | systems/texlive/tlnet/archive/ragged2e.source.r57638.tar.xz
-2021/02/07 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
2021/02/06 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2021/02/06 | 9772 | macros/latex/contrib/l3kernel/l3docstrip.dtx
2021/02/06 | 96089 | macros/latex/contrib/l3experimental/l3galley.dtx
@@ -3740,7 +3851,6 @@
2021/02/06 | 84816 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
2021/02/06 | 8462 | macros/latex/contrib/l3backend/l3backend-opacity.dtx
2021/02/06 | 844612 | systems/win32/w32tex/dvi2ps-w32.tar.xz
-2021/02/06 | 8387292 | systems/win32/w32tex/uptex-w32.tar.xz
2021/02/06 | 826404 | systems/win32/w32tex/ttf2pk-w32.tar.xz
2021/02/06 | 82096 | systems/texlive/tlnet/archive/bxjscls.source.r57625.tar.xz
2021/02/06 | 811184 | systems/win32/w32tex/win64/aleph-w64.tar.xz
@@ -3763,6 +3873,7 @@
2021/02/06 | 6975 | macros/latex/contrib/europecv/examples/at.pdf
2021/02/06 | 6974 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
2021/02/06 | 6900844 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
+2021/02/06 | 68866 | macros/luatex/optex/doc/optex-math.tex
2021/02/06 | 68545 | macros/latex/contrib/l3kernel/l3text-case.dtx
2021/02/06 | 681673 | macros/latex/contrib/suftesi/templates.zip
2021/02/06 | 673565 | macros/latex/contrib/ragged2e.zip
@@ -3797,6 +3908,7 @@
2021/02/06 | 51061 | macros/latex/contrib/l3kernel/l3prop.dtx
2021/02/06 | 51059 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
2021/02/06 | 50552 | systems/texlive/tlnet/archive/yathesis.source.r57628.tar.xz
+2021/02/06 | 5044 | macros/luatex/optex/base/basic-macros.opm
2021/02/06 | 5035729 | install/macros/latex/contrib/l3experimental.tds.zip
2021/02/06 | 4999 | macros/latex/contrib/babel-contrib/sorbian/sorbian.ins
2021/02/06 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
@@ -3805,12 +3917,10 @@
2021/02/06 | 4940 | macros/latex/contrib/babel-contrib/slovenian/slovene.ins
2021/02/06 | 49386 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
2021/02/06 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
-2021/02/06 | 49056144 | systems/win32/w32tex/xetex-w32.tar.xz
2021/02/06 | 490075 | macros/latex/contrib/l3experimental/l3draw.pdf
2021/02/06 | 489 | macros/latex/contrib/babel-contrib/portuges/README.md
2021/02/06 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
2021/02/06 | 4778 | macros/latex/contrib/europecv/templates/cv_template_en.tex
-2021/02/06 | 47699980 | systems/win32/w32tex/latex-dev.tar.xz
2021/02/06 | 4755 | macros/latex/contrib/babel-contrib/finnish/finnish.ins
2021/02/06 | 47274 | macros/latex/contrib/europecv/examples/Pythagoras.jpg
2021/02/06 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
@@ -3848,6 +3958,7 @@
2021/02/06 | 37766 | macros/latex/contrib/europecv/europasslogo.eps
2021/02/06 | 377364 | macros/latex/contrib/l3experimental/l3pdf.pdf
2021/02/06 | 3744 | macros/latex/contrib/cmap/lgr.cmap
+2021/02/06 | 3741 | macros/luatex/optex/base/others.opm
2021/02/06 | 373136 | macros/latex/contrib/l3experimental/xcoffins.pdf
2021/02/06 | 37248 | macros/latex/contrib/europecv/examples/minimal.pdf
2021/02/06 | 37231 | macros/latex/contrib/l3kernel/l3prefixes.csv
@@ -3927,7 +4038,6 @@
2021/02/06 | 21643 | macros/latex/contrib/l3kernel/l3text-purify.dtx
2021/02/06 | 2153 | macros/latex/contrib/l3kernel/source3.tex
2021/02/06 | 2145 | macros/latex/contrib/europecv/ecvpt.def
-2021/02/06 | 21344100 | systems/win32/w32tex/pdftex-w32.tar.xz
2021/02/06 | 2129 | macros/latex/contrib/europecv/ecvgl.def
2021/02/06 | 211875 | macros/latex/contrib/suftesi/suftesi.dtx
2021/02/06 | 21168 | macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -3956,6 +4066,7 @@
2021/02/06 | 18658 | macros/latex/contrib/l3experimental/l3bitset.dtx
2021/02/06 | 18591 | macros/latex/contrib/l3kernel/l3fp-round.dtx
2021/02/06 | 18438 | macros/latex/contrib/l3experimental/l3benchmark.dtx
+2021/02/06 | 184018 | systems/knuth/dist/tex/trip.log
2021/02/06 | 18227 | macros/latex/contrib/babel-contrib/swedish/swedish.dtx
2021/02/06 | 1810 | macros/latex/contrib/europecv/ecvlv.def
2021/02/06 | 1805412 | systems/win32/w32tex/win64/uptex-w64.tar.xz
@@ -3971,6 +4082,7 @@
2021/02/06 | 1670 | macros/latex/contrib/suftesi/README
2021/02/06 | 1668162 | macros/latex/contrib/nicematrix.zip
2021/02/06 | 163 | macros/latex/contrib/europecv/examples/minimal.tex
+2021/02/06 | 16310 | macros/luatex/optex/base/verbatim.opm
2021/02/06 | 1628 | macros/latex/contrib/l3experimental/xgalley.ins
2021/02/06 | 16276 | macros/latex/contrib/l3backend/l3backend-basics.dtx
2021/02/06 | 160184 | macros/latex/contrib/babel-contrib/portuges.zip
@@ -4026,6 +4138,7 @@
2021/02/06 | 12867 | fonts/utilities/ps2pk/ChangeLog
2021/02/06 | 127474 | macros/latex/contrib/l3kernel/l3basics.dtx
2021/02/06 | 124693 | macros/latex/contrib/l3kernel/l3token.dtx
+2021/02/06 | 12371 | macros/luatex/optex/base/more-macros.opm
2021/02/06 | 1207 | macros/latex/contrib/cmap/ot1.cmap
2021/02/06 | 12051024 | install/macros/latex/contrib/l3kernel.tds.zip
2021/02/06 | 11944 | macros/latex/contrib/babel-contrib/slovenian/slovene.dtx
@@ -4044,14 +4157,17 @@
2021/02/06 | 107921 | macros/latex/contrib/l3kernel/l3expan.dtx
2021/02/06 | 107383 | macros/latex/contrib/l3kernel/l3news09.tex
2021/02/06 | 107188 | macros/latex/contrib/l3kernel/l3news04.pdf
-2021/02/06 | 10607728 | systems/win32/w32tex/ptex-w32.tar.xz
2021/02/06 | 105735 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
2021/02/06 | 105169 | macros/latex/contrib/l3kernel/l3news05.pdf
2021/02/06 | 1042 | macros/latex/contrib/cmap/ot1tt.cmap
2021/02/06 | 10136 | macros/latex/contrib/l3experimental/l3draw-transforms.dtx
2021/02/06 | 1002 | macros/latex/contrib/europecv/examples/bulgarian-utf8.tex
+2021/02/05 | 994 | macros/latex/contrib/hyperref/doc/manual4.html
+2021/02/05 | 95990 | systems/knuth/dist/errata/mf84.bug
2021/02/05 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
2021/02/05 | 9300 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+2021/02/05 | 919408 | systems/knuth/dist/mf/mf.web
+2021/02/05 | 892 | macros/latex/contrib/hyperref/doc/manual2.html
2021/02/05 | 8860 | fonts/atkinson/map/atkinson.map
2021/02/05 | 87703 | language/japanese/BX/bxjscls/bxjscls-manual.tex
2021/02/05 | 8513 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -4070,6 +4186,10 @@
2021/02/05 | 796 | fonts/atkinson/vf/atkinsn-Bold-sup-ot1.vf
2021/02/05 | 796 | fonts/atkinson/vf/atkinsn-Bold-lf-ot1.vf
2021/02/05 | 78640 | systems/texlive/tlnet/archive/footnotehyper.doc.r57618.tar.xz
+2021/02/05 | 759 | macros/latex/contrib/hyperref/doc/manual3.html
+2021/02/05 | 756 | macros/latex/contrib/hyperref/doc/manual7.html
+2021/02/05 | 756 | macros/latex/contrib/hyperref/doc/manual6.html
+2021/02/05 | 756 | macros/latex/contrib/hyperref/doc/manual5.html
2021/02/05 | 7348 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
2021/02/05 | 7142 | fonts/atkinson/type1/atkinsn-RegularLCDFJ.pfb
2021/02/05 | 712 | systems/texlive/tlnet/archive/collection-luatex.r57620.tar.xz
@@ -4089,6 +4209,7 @@
2021/02/05 | 6361152 | macros/latex/contrib/yathesis/doc/yathesis-fr.pdf
2021/02/05 | 6331 | macros/latex/contrib/tuda-ci/tex/tudarules.sty
2021/02/05 | 621765 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+2021/02/05 | 61293 | systems/knuth/dist/errata/errata.tex
2021/02/05 | 5993 | language/japanese/BX/bxjscls/README.md
2021/02/05 | 589034 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
2021/02/05 | 5871 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -4102,6 +4223,7 @@
2021/02/05 | 56016 | fonts/atkinson/doc/Atkinson-Hyperlegible-Font-License-2020-1104.pdf
2021/02/05 | 558963 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
2021/02/05 | 550561 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+2021/02/05 | 54394 | systems/knuth/dist/errata/errata.twelve
2021/02/05 | 541478 | macros/latex/contrib/nicematrix/nicematrix.dtx
2021/02/05 | 5381 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
2021/02/05 | 52598 | macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
@@ -4123,6 +4245,7 @@
2021/02/05 | 4856 | macros/latex/contrib/yathesis/exemples/specimen/paris13.pdf
2021/02/05 | 47613 | macros/latex/contrib/yathesis/exemples/specimen/ulco.pdf
2021/02/05 | 47480 | macros/latex/contrib/ragged2e/ragged2e.dtx
+2021/02/05 | 468117 | macros/latex/contrib/hyperref/doc/manual.html
2021/02/05 | 451 | fonts/atkinson/doc/atkinson-samples.tex
2021/02/05 | 4441 | macros/latex/contrib/tuda-ci/tex/tudacolors.def
2021/02/05 | 439492 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
@@ -4141,8 +4264,10 @@
2021/02/05 | 37304 | fonts/atkinson/opentype/Atkinson-Hyperlegible-BoldItalic-102.otf
2021/02/05 | 3728 | fonts/atkinson/tfm/atkinsn-BoldItalic-tlf-ot1.tfm
2021/02/05 | 3712 | fonts/atkinson/tfm/atkinsn-Bold-tlf-ot1.tfm
+2021/02/05 | 370603 | macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.pdf
2021/02/05 | 370603 | macros/latex/contrib/acrotex/doc/acrobat-in-workflow.pdf
2021/02/05 | 36588 | fonts/atkinson/opentype/Atkinson-Hyperlegible-Bold-102.otf
+2021/02/05 | 3587 | macros/luatex/optex/base/references.opm
2021/02/05 | 358080 | macros/latex/contrib/pdfpages.zip
2021/02/05 | 35656 | fonts/atkinson/opentype/Atkinson-Hyperlegible-Italic-102.otf
2021/02/05 | 353909 | graphics/pgf/contrib/spath3/spath3.pdf
@@ -4155,6 +4280,7 @@
2021/02/05 | 3372 | systems/texlive/tlnet/archive/footnotehyper.r57618.tar.xz
2021/02/05 | 33436 | macros/latex/contrib/yathesis/exemples/specimen/tiger.pdf
2021/02/05 | 3280 | fonts/atkinson/tfm/atkinsn-Italic-tlf-ot1.tfm
+2021/02/05 | 327993 | systems/knuth/dist/errata/tex82.bug
2021/02/05 | 3243 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty
2021/02/05 | 3232 | fonts/atkinson/tfm/atkinsn-Regular-tlf-ot1.tfm
2021/02/05 | 32212 | systems/texlive/tlnet/archive/xsim.r57619.tar.xz
@@ -4179,7 +4305,9 @@
2021/02/05 | 2792 | fonts/atkinson/enc/atksn_g47ykb.enc
2021/02/05 | 2763 | fonts/atkinson/enc/atksn_w3wxei.enc
2021/02/05 | 27006 | graphics/pgf/contrib/spath3/knots.tex
+2021/02/05 | 26896 | macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf
2021/02/05 | 2656 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+2021/02/05 | 26192 | macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.pdf
2021/02/05 | 259702 | graphics/pgf/contrib/spath3/calligraphy.pdf
2021/02/05 | 25897 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
2021/02/05 | 25645 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -4210,10 +4338,12 @@
2021/02/05 | 1964 | fonts/atkinson/tfm/atkinsn-BoldItalic-tlf-ly1--base.tfm
2021/02/05 | 1960 | fonts/atkinson/tfm/atkinsn-Italic-sup-ly1--base.tfm
2021/02/05 | 1960 | fonts/atkinson/tfm/atkinsn-BoldItalic-sup-t1.tfm
+2021/02/05 | 19607 | macros/luatex/optex/base/graphics.opm
2021/02/05 | 1948 | fonts/atkinson/tfm/atkinsn-BoldItalic-sup-t1--base.tfm
2021/02/05 | 1936 | fonts/atkinson/tfm/atkinsn-Italic-tlf-ly1--base.tfm
2021/02/05 | 1936 | fonts/atkinson/tfm/atkinsn-BoldItalic-lf-t1--base.tfm
2021/02/05 | 1924 | fonts/atkinson/tfm/atkinsn-Italic-sup-t1.tfm
+2021/02/05 | 19109 | macros/luatex/optex/base/makeindex.opm
2021/02/05 | 1908 | fonts/atkinson/tfm/atkinsn-Italic-sup-t1--base.tfm
2021/02/05 | 1908 | fonts/atkinson/tfm/atkinsn-Italic-lf-t1--base.tfm
2021/02/05 | 1900 | fonts/atkinson/tfm/atkinsn-BoldItalic-tlf-t1--base.tfm
@@ -4282,6 +4412,7 @@
2021/02/05 | 1575 | macros/latex/contrib/yathesis/README.md
2021/02/05 | 15736 | language/japanese/BX/bxjscls/README-ja.md
2021/02/05 | 15644 | fonts/atkinson/tfm/atkinsn-Regular-tlf-t1.tfm
+2021/02/05 | 153618 | systems/knuth/dist/errata/errorlog.tex
2021/02/05 | 152495 | macros/latex/contrib/nicematrix/nicematrix-french.tex
2021/02/05 | 15120 | systems/texlive/tlnet/archive/footnotehyper.source.r57618.tar.xz
2021/02/05 | 148 | fonts/atkinson/tfm/atkinsn-Regular-tlf-t1--lcdfj.tfm
@@ -4328,6 +4459,7 @@
2021/02/05 | 1444 | fonts/atkinson/tfm/atkinsn-Italic-sup-ot1.tfm
2021/02/05 | 1444 | fonts/atkinson/tfm/atkinsn-Italic-sup-ot1--base.tfm
2021/02/05 | 1444 | fonts/atkinson/tfm/atkinsn-Italic-lf-ot1--base.tfm
+2021/02/05 | 14442 | macros/latex/contrib/hyperref/doc/manual.css
2021/02/05 | 1428 | fonts/atkinson/tfm/atkinsn-BoldItalic-tlf-ts1.tfm
2021/02/05 | 1428 | fonts/atkinson/tfm/atkinsn-BoldItalic-tlf-ot1--base.tfm
2021/02/05 | 1428 | fonts/atkinson/tfm/atkinsn-BoldItalic-lf-ts1.tfm
@@ -4369,7 +4501,6 @@
2021/02/05 | 12228 | fonts/atkinson/tfm/atkinsn-BoldItalic-lf-ly1.tfm
2021/02/05 | 1222867 | fonts/atkinson.zip
2021/02/05 | 11980 | fonts/atkinson/tfm/atkinsn-BoldItalic-tlf-ly1.tfm
-2021/02/05 | 119700949 | macros/context/latest/cont-tmf.zip
2021/02/05 | 1173854 | language/japanese/BX/bxjscls/bxjscls.pdf
2021/02/05 | 11670 | macros/latex/contrib/tuda-ci/README.md
2021/02/05 | 1131373 | macros/latex/contrib/nicematrix/nicematrix.pdf
@@ -4377,6 +4508,7 @@
2021/02/05 | 10712 | fonts/atkinson/tfm/atkinsn-Regular-tlf-ly1.tfm
2021/02/05 | 10524 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
2021/02/05 | 10336 | fonts/atkinson/tfm/atkinsn-Italic-lf-ly1.tfm
+2021/02/05 | 1031999 | systems/knuth/dist/tex/tex.web
2021/02/05 | 10084 | fonts/atkinson/tfm/atkinsn-Italic-tlf-ly1.tfm
2021/02/05 | 10072 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
2021/02/04 | 9405 | macros/latex/contrib/acrotex/doc/acrobat-in-workflow.tex
@@ -4391,6 +4523,7 @@
2021/02/04 | 49642 | macros/latex/contrib/footnotehyper/footnotehyper.dtx
2021/02/04 | 4944311 | install/biblio/bibtex/contrib/gost.tds.zip
2021/02/04 | 4738784 | biblio/bibtex/contrib/gost.zip
+2021/02/04 | 43726 | macros/luatex/optex/base/math-macros.opm
2021/02/04 | 383364 | biblio/bibtex/contrib/gost/doc/examples/utf8/ugost2008-customized.pdf
2021/02/04 | 381906 | biblio/bibtex/contrib/gost/doc/examples/cp1251/gost2008-customized.pdf
2021/02/04 | 3791 | biblio/bibtex/contrib/gost/source/gost.ins
@@ -4416,6 +4549,7 @@
2021/02/04 | 1448 | macros/latex/contrib/acrotex/examples/test_install.tex
2021/02/04 | 1432 | macros/latex/contrib/psnfssx/lucidabr/README
2021/02/04 | 13174 | biblio/bibtex/contrib/gost/README.md
+2021/02/04 | 12235 | macros/luatex/optex/base/cite-bib.opm
2021/02/04 | 1187 | biblio/bibtex/contrib/gost/README
2021/02/03 | 96340 | systems/texlive/tlnet/archive/lua-ul.doc.r57603.tar.xz
2021/02/03 | 9584 | systems/texlive/tlnet/archive/lua-ul.source.r57603.tar.xz
@@ -4502,9 +4636,7 @@
2021/02/03 | 1934 | macros/latex/contrib/xsim/examples/xsim.texsx-13635.tex
2021/02/03 | 1923 | macros/latex/contrib/xsim/examples/xsim.texsx-395273.tex
2021/02/03 | 1874644 | systems/texlive/tlnet/archive/quran-ur.r57597.tar.xz
-2021/02/03 | 18727968 | systems/win32/w32tex/luatex-dev-w32.tar.xz
-2021/02/03 | 18725648 | systems/win32/w32tex/luatex-exp-w32.tar.xz
-2021/02/03 | 18715252 | systems/win32/w32tex/luatex-w32.tar.xz
+2021/02/03 | 18490 | macros/luatex/optex/base/unimath-codes.opm
2021/02/03 | 18292 | graphics/pgf/contrib/kblocks/kblocks-doc.tex
2021/02/03 | 1820 | macros/latex/contrib/xsim/examples/xsim.texsx-369065.tex
2021/02/03 | 1792 | macros/latex/contrib/xsim/examples/xsim.listofexercises.tex
@@ -4536,104 +4668,7 @@
2021/02/03 | 1072 | macros/latex/contrib/xsim/examples/xsim.texsx-305110.tex
2021/02/03 | 107082 | macros/latex/contrib/xsim/xsim-manual.tex
2021/02/03 | 1067 | macros/latex/contrib/xsim/examples/xsim.code-and-output.tex
-2021/02/03 | 106037 | systems/texlive/tlnet/install-tl
2021/02/03 | 105165 | graphics/pgf/contrib/kblocks/kblocks.sty
2021/02/03 | 10155 | macros/latex/contrib/xsim/HISTORY
2021/02/03 | 1013 | macros/latex/contrib/xsim/examples/xsim.floating.tex
2021/02/03 | 10100 | macros/latex/contrib/xsim/xsimverb.sty
-2021/02/02 | 99609 | macros/luatex/latex/lua-ul/lua-ul.pdf
-2021/02/02 | 96280 | macros/unicodetex/latex/quran-ur/doc/quran-ur-doc.pdf
-2021/02/02 | 89634 | macros/unicodetex/latex/quran-bn/doc/quran-bn-doc.pdf
-2021/02/02 | 8846 | macros/unicodetex/latex/quran-ur/doc/quran.png
-2021/02/02 | 8846 | macros/unicodetex/latex/quran/doc/quran.png
-2021/02/02 | 8846 | macros/unicodetex/latex/quran-bn/doc/quran.png
-2021/02/02 | 869711 | macros/latex/contrib/asmejour.zip
-2021/02/02 | 846 | macros/unicodetex/latex/quran-ur/README
-2021/02/02 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty
-2021/02/02 | 80141 | macros/latex/contrib/l3packages/xparse-generic.tex
-2021/02/02 | 7492 | macros/unicodetex/latex/quran-ur/doc/quran-ur-doc.tex
-2021/02/02 | 739032 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.doc.r57590.tar.xz
-2021/02/02 | 716 | macros/unicodetex/latex/quran/README
-2021/02/02 | 700 | macros/unicodetex/latex/quran-bn/README
-2021/02/02 | 6990 | macros/latex/contrib/l3packages/xfp.dtx
-2021/02/02 | 69098260 | systems/win32/w32tex/luatexja.tar.xz
-2021/02/02 | 66704360 | systems/win32/w32tex/biblatex-biber.tar.xz
-2021/02/02 | 6514 | macros/unicodetex/latex/quran-bn/doc/quran-bn-doc.tex
-2021/02/02 | 63296 | macros/unicodetex/latex/quran/doc/quran-test2.pdf
-2021/02/02 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty
-2021/02/02 | 60968 | systems/texlive/tlnet/archive/profcollege.r57589.tar.xz
-2021/02/02 | 583732 | macros/latex/contrib/cellprops.zip
-2021/02/02 | 568 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.r57590.tar.xz
-2021/02/02 | 56685 | macros/unicodetex/latex/quran/doc/quran-test1.pdf
-2021/02/02 | 53634 | macros/latex/contrib/l3packages/xparse.dtx
-2021/02/02 | 505356 | macros/latex/contrib/l3packages/xparse.pdf
-2021/02/02 | 503 | macros/unicodetex/latex/quran/doc/quran-test.tex
-2021/02/02 | 48165 | macros/unicodetex/latex/quran/doc/quran-doc.tex
-2021/02/02 | 47781 | macros/unicodetex/latex/quran-bn/doc/quran-bn-test.pdf
-2021/02/02 | 4739 | macros/unicodetex/latex/quran/tex/quran-translt.def
-2021/02/02 | 47390 | macros/unicodetex/latex/quran-ur/doc/quran-ur-test.pdf
-2021/02/02 | 4594 | macros/unicodetex/latex/quran/tex/quran-transfr.def
-2021/02/02 | 4574 | macros/unicodetex/latex/quran/tex/quran-transen.def
-2021/02/02 | 4562 | macros/unicodetex/latex/quran/tex/quran-transfa.def
-2021/02/02 | 4554 | macros/unicodetex/latex/quran/tex/quran-transde.def
-2021/02/02 | 453787 | macros/latex/contrib/l3packages/xfrac.pdf
-2021/02/02 | 415897 | macros/latex/contrib/l3packages/xtemplate.pdf
-2021/02/02 | 4089 | macros/latex/contrib/l3packages/CHANGELOG.md
-2021/02/02 | 399 | macros/unicodetex/latex/quran/doc/quran-test1.tex
-2021/02/02 | 39276 | macros/latex/contrib/l3packages/xfrac.dtx
-2021/02/02 | 3821648 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
-2021/02/02 | 3819316 | systems/win32/w32tex/luajittex-w32.tar.xz
-2021/02/02 | 3811536 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
-2021/02/02 | 37078 | macros/unicodetex/latex/quran/tex/quran.sty
-2021/02/02 | 3673 | macros/latex/contrib/l3packages/README.md
-2021/02/02 | 347033 | macros/latex/contrib/l3packages/l3keys2e.pdf
-2021/02/02 | 3455392 | systems/win32/w32tex/win64/luajittex-w64.tar.xz
-2021/02/02 | 34542 | macros/luatex/latex/lua-ul/lua-ul.dtx
-2021/02/02 | 3449220 | systems/win32/w32tex/win64/luajittex-dev-w64.tar.xz
-2021/02/02 | 3445992 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
-2021/02/02 | 342560 | macros/unicodetex/latex/quran/doc/quran-doc.pdf
-2021/02/02 | 34028 | macros/unicodetex/latex/quran/doc/quran-test.pdf
-2021/02/02 | 3341453 | macros/unicodetex/latex/quran-ur.zip
-2021/02/02 | 3122405 | macros/unicodetex/latex/quran.zip
-2021/02/02 | 3110256 | systems/win32/w32tex/win64/luatex-w64.tar.xz
-2021/02/02 | 3104424 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz
-2021/02/02 | 3097304 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz
-2021/02/02 | 309353 | macros/latex/contrib/l3packages/xfp.pdf
-2021/02/02 | 308 | macros/luatex/latex/lua-ul/README
-2021/02/02 | 2608068 | macros/unicodetex/latex/quran-bn/tex/qurantext-bni.translation.def
-2021/02/02 | 2534696 | systems/texlive/tlnet/archive/profcollege.doc.r57589.tar.xz
-2021/02/02 | 2419174 | macros/unicodetex/latex/quran-bn/tex/qurantext-bnii.translation.def
-2021/02/02 | 2191 | macros/unicodetex/latex/quran/doc/quran-test2.tex
-2021/02/02 | 2126484 | install/macros/latex/contrib/l3packages.tds.zip
-2021/02/02 | 2107390 | macros/latex/contrib/l3packages.zip
-2021/02/02 | 2104442 | macros/unicodetex/latex/quran-ur/tex/qurantext-urviii.translation.def
-2021/02/02 | 1886200 | macros/unicodetex/latex/quran-ur/tex/qurantext-urvii.translation.def
-2021/02/02 | 1824717 | macros/unicodetex/latex/quran-ur/tex/qurantext-urvi.translation.def
-2021/02/02 | 1719145 | macros/unicodetex/latex/quran-ur/tex/qurantext-uriv.translation.def
-2021/02/02 | 1718268 | macros/unicodetex/latex/quran-ur/tex/qurantext-urii.translation.def
-2021/02/02 | 1714657 | macros/unicodetex/latex/quran-ur/tex/qurantext-uriii.translation.def
-2021/02/02 | 1635781 | macros/unicodetex/latex/quran/tex/qurantext-uthmani.def
-2021/02/02 | 1601541 | macros/unicodetex/latex/quran/tex/qurantext-fa.translation.def
-2021/02/02 | 1566344 | macros/unicodetex/latex/quran-ur/tex/qurantext-uri.translation.def
-2021/02/02 | 1565 | macros/latex/contrib/l3packages/xtemplate.ins
-2021/02/02 | 1503110 | macros/unicodetex/latex/quran-ur/tex/qurantext-urv.translation.def
-2021/02/02 | 14681 | macros/unicodetex/latex/quran-ur/tex/quran-ur.sty
-2021/02/02 | 1447377 | macros/unicodetex/latex/quran/tex/qurantext-simple.def
-2021/02/02 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
-2021/02/02 | 1438731 | macros/unicodetex/latex/quran/tex/qurantext-uthmani-min.def
-2021/02/02 | 1394 | macros/luatex/latex/lua-ul/docstrip-luacode.sty
-2021/02/02 | 1347 | macros/unicodetex/latex/quran-ur/doc/quran-ur-test.tex
-2021/02/02 | 1310 | macros/latex/contrib/l3packages/xfrac.ins
-2021/02/02 | 1276 | macros/latex/contrib/l3packages/xparse.ins
-2021/02/02 | 1251809 | macros/unicodetex/latex/quran/tex/qurantext-en.transliteration.def
-2021/02/02 | 1232 | macros/latex/contrib/l3packages/l3keys2e.ins
-2021/02/02 | 1230277 | macros/unicodetex/latex/quran/tex/qurantext-de.translation.def
-2021/02/02 | 1210487 | macros/unicodetex/latex/quran/tex/qurantext-fr.translation.def
-2021/02/02 | 1195 | macros/latex/contrib/l3packages/xfp.ins
-2021/02/02 | 1168 | macros/unicodetex/latex/quran-bn/doc/quran-bn-test.tex
-2021/02/02 | 11613 | macros/latex/contrib/l3packages/l3keys2e.dtx
-2021/02/02 | 1089910 | macros/unicodetex/latex/quran/tex/qurantext-en.translation.def
-2021/02/02 | 106254 | macros/luatex/latex/lua-ul.zip
-2021/02/02 | 10585 | macros/unicodetex/latex/quran-bn/tex/quran-bn.sty
-2021/02/02 | 1030945 | macros/unicodetex/latex/quran-bn.zip
-2021/02/02 | 100071 | macros/latex/contrib/l3packages/xtemplate.dtx
diff --git a/fonts/cm/mf/README b/fonts/cm/mf/README
index 07c2bd816d..af2dd99703 100644
--- a/fonts/cm/mf/README
+++ b/fonts/cm/mf/README
@@ -51,7 +51,7 @@ quite as light.
Four special italic fonts are provided as demonstrations of further
possibilities: cmbxti10 is a bold extended text italic; cmmib10 is
-a bold math italic; cmit10 is an italic typewriter font; cmu10 is
+a bold math italic; cmitt10 is an italic typewriter font; cmu10 is
an unslanted italic with the same stem weights as cmr10.
The math symbol fonts, cmsy5--cmsy10, have the same parameters
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/README.md b/macros/latex/contrib/aeb_pro/aeb_pro/README.md
index e82882f8b5..322055fa7c 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/README.md
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/README.md
@@ -1,6 +1,6 @@
The AeB Pro Package
Author: D. P. Story
-Dated: 2019-03-21
+Dated: 2021-02-07
The AeB Pro Package complements and extends AcroTeX eDucation Bundle.
@@ -38,6 +38,13 @@ The AcroTeX Blog (http://blog.acrotex.net/) lists the distribution files at
http://www.acrotex.net/blog/?page_id=835, all demo files that use AeB Pro
are listed at http://www.acrotex.net/blog/?tag=aeb-pro.
+What's New (2021-02-07) Fix a long time bug of page events.
+
+What's New (2021-02-04) Updated documentation to reflect new security restriction
+by Adobe Acrobat DC (purchased or updated after December 2020). Authored the document
+acrobat-in-workflow.pdf to explain the procedure to configure Acrobat DC. Creating
+an altnernative name of aeb-pro, to conform to CTAN naming.
+
What's New (2019/03/21) This new version requires aeb-comment
(version 3.2 of the comment package). Changed the order of
loading of the insdljs package.
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx b/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx
index 5ce34f64cc..a225c7209b 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.dtx
@@ -2,7 +2,7 @@
%<*copyright>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% aeb_pro.sty package, %%
-%% Copyright (C) 2006--2019 D. P. Story %%
+%% Copyright (C) 2006--2021 D. P. Story %%
%% dpstory@acrotex.net %%
%% %%
%% This program can redistributed and/or modified under %%
@@ -14,7 +14,7 @@
%</copyright>
%<package>\NeedsTeXFormat{LaTeX2e}[1997/12/01]
%<package>\ProvidesPackage{aeb_pro}
-%<package> [2019/03/21 v2.9.5 aeb_pro: A support package (dps)]
+%<package> [2021/02/07 v2.10 aeb_pro: A support package (dps)]
%<*driver>
\documentclass{ltxdoc}
\usepackage[colorlinks,hyperindex=false]{hyperref}
@@ -35,6 +35,9 @@
\def\ameta#1{\ensuremath{\langle\textit{\texttt{#1}}\rangle}}
\def\meta#1{\textsl{\texttt{#1}}}
\def\SUB#1{\ensuremath{{}_{\mbox{\scriptsize\ttfamily#1}}}}
+\makeatletter
+\let\@latex@warning@no@line\@gobble
+\makeatother
\InputIfFileExists{aebdocfmt.def}{\PackageInfo{aeb_pro}{Inputting aebdocfmt.def}}
{\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro}\let\setupFullwidth\relax
\PackageInfo{aeb_pro}{aebdocfmt.def cannot be found}}
@@ -60,10 +63,27 @@
% \InputIfFileExists{aebdonotindex.def}{\PackageInfo{aeb_pro}{Inputting aebdonotindex.def}}
% {\PackageInfo{aeb_pro}{cannot find aebdonotindex.def}}
%
+%
+% \section{Alternate package name: \texorpdfstring{\protect\pkg{aeb-pro}}{aeb-pro}}
+% CTAN lists this package (\pkg{aeb\_pro}) as \pkg{aeb-pro}, so we'll create
+% a dummy package by that name.
+% \changes{v1.2}{2018/04/26}{Added dummy package \string\pkg{annot-pro}}
+% \begin{macrocode}
+%<*altpkgname>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{aeb-pro}
+ [2021/02/04 v1.0 aeb-pro Alt-name (dps)]
+\RequirePackage{xkeyval}
+\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{aeb_pro}}
+\ProcessOptionsX\relax
+\RequirePackage{aeb_pro}
+% \end{macrocode}
% \begin{macrocode}
-% Begin package segment
+%</altpkgname>
%<*package>
% \end{macrocode}
+% \changes{v2.9.7}{2021/02/04}{Updated documentation to reflect new Acrobat security restriction,
+% Acrobat may have to be configured.}
% \changes{v2.9}{2017/08/25}{Extracted some of the code from unicode.def to create a new package, forms16be.
% This package now includes forms16be.}
% \changes{v1.9}{2016/03/03}{Allow users of pdftex and xetex to access JavaScript related
@@ -225,7 +245,7 @@
{\PackageInfo{aeb_pro}{Inputting code for the pro option}}%
{\PackageInfo{aeb_pro}{Cannot find aebpro.def.
Reinstall or refresh your file name database, as needed.}}}
-\AtEndOfPackage{\aeb@InputAeBPro}
+%\AtEndOfPackage{\aeb@InputAeBPro}
% \end{macrocode}
%
% \subsection{\texttt{uselayers} option}
@@ -292,10 +312,10 @@
% (2015/08/06) Added code so that the childof is read after linktoattachments
% \changes{v2.4}{2016/08/03}{Removed the \string\texttt{latin1} option as unworkable across some workflows}
% \begin{macrocode}
-\DeclareOptionX{linktoattachments}{% dps23
+\DeclareOptionX{linktoattachments}{%
\let\aeb@InputUnicodes\@aeb@InputUnicodes
}
-\def\ap@RequireUnicode{\RequirePackage{forms16be}} % dps23
+\def\ap@RequireUnicode{\RequirePackage{forms16be}}
\let\aeb@childofInput\@empty
\let\aeb@childof\@empty
\DeclareOptionX{childof}{\def\aeb@childof{#1}\def\aeb@childofInput{%
@@ -541,7 +561,7 @@
\@ifpackageloaded{eforms}{\let\execjs\aebp@YES}
{%
\@ifundefined{aeb@eforms@opts}{}
- {\ap@RP[execJS]{eforms}[2017/01/03]}%
+ {\ap@RP[execJS]{eforms}[2020/12/14]}%
}
% \end{macrocode}
% load \pkg{eforms} before \pkg{insdljs} so \pkg{eforms} can properly pass options
@@ -550,7 +570,7 @@
% \begin{macrocode}
\@ifpackageloaded{insdljs}{\let\execjs\aebp@YES}
{%
- \ap@RP[execJS]{insdljs}[2016/07/31]% incls conv-xkv
+ \ap@RP[execJS]{insdljs}[2021/02/07]%
}
\@ifpackageloaded{aebxmp}{\aebp@PkgWarningi{aebxmp}}
{%
@@ -586,7 +606,7 @@
% \changes{v2.9}{2017/08/25}{require \string\pkg{forms16be} as needed}
% \begin{macrocode}
\ifx\aeb@InputUnicodes\@empty\else\expandafter
-\ap@RequireUnicode\fi% dps23
+\ap@RequireUnicode\fi
\ifpdfmarkup\else\if\aebp@uselayers1
\excludecomment{printRollover}%
\excludecomment{rollover}%
@@ -2077,6 +2097,8 @@ try {
% \cs{maketitle}) is a special case: When setting the open and close
% page actions for the first page, these environments \emph{must go}
% in the preamble.
+% \changes{v2.10}{2021/02/07}{Fix a long standing problem with page open
+% and close events}
% \begin{macrocode}
\def\canceleveryPageOpen{\global\@everyPageOpenfalse
\global\let\every@PageOpen\@empty}
@@ -2085,14 +2107,14 @@ try {
\newenvironment{everyPageOpen}[1][]
{\global\@everyPageOpentrue\@defineJS[#1]{\every@PageOpen}}
{\end@defineJS
- \ifnum\value{page}=1\relax
+ \ifnum\value{page}=\@ne
\gdef\ap@AddtoOpenJS{\thisPageAction{\JS{\every@PageOpen}}{}}%
\expandafter\aftergroup\expandafter\ap@AddtoOpenJS\fi
}
\newenvironment{everyPageClose}[1][]
{\global\@everyPageClosetrue\@defineJS[#1]{\every@PageClose}}
{\end@defineJS
- \ifnum\value{page}=1\relax
+ \ifnum\value{page}=\@ne
\gdef\ap@AddtoCloseJS{\thisPageAction{}{\JS{\every@PageClose}}}%
\expandafter\aftergroup\expandafter\ap@AddtoCloseJS\fi
}
@@ -2100,7 +2122,7 @@ try {
\let\every@PageClose\@empty
\newenvironment{addJSToPageOpen}[1][]
{\@defineJS[#1]{\addJST@PageOpen}}{\end@defineJS
- \ifnum\value{page}=1\relax
+ \ifnum\value{page}=\@ne
\gdef\ap@AddtoOpenJS{\thisPageAction{\JS{\addJST@PageOpen}}{}}%
\expandafter\aftergroup\expandafter\ap@AddtoOpenJS\fi
}
@@ -2111,19 +2133,19 @@ try {
% The \texttt{addJSToPageOpenAt} and \texttt{addJSToPageCloseAt} can now be used
% in the preamble on the first page.
% \begin{macrocode}
- \ifnum\value{page}=1\relax\if\frstPageSpec\aebp@YES
+ \ifnum\value{page}=\@ne\if\frstPageSpec\aebp@YES
\thisPageAction{\JS{\@nameuse{addJST@PageOpenAt1}}}{}\fi\fi
}
\newenvironment{addJSToPageClose}[1][]
-{\@defineJS[#1]{\addJST@PageClose}}{\end@defineJS
- \ifnum\value{page}=1\relax
+{\pdfSpacesOff\@defineJS[#1]{\addJST@PageClose}}{\end@defineJS
+ \ifnum\value{page}=\@ne
\gdef\ap@AddtoCloseJS{%
\thisPageAction{}{\JS{\addJST@PageClose}}}%
\expandafter\aftergroup\expandafter\ap@AddtoCloseJS\fi
}
\newenvironment{addJSToPageCloseAt}[2][]
-{\@@defineJS[#1]{addJST@PageCloseAt}{#2}}{\end@@defineJS
- \ifnum\value{page}=1\relax\if\frstPageSpec\aebp@YES
+{\pdfSpacesOff\@@defineJS[#1]{addJST@PageCloseAt}{#2}}{\end@@defineJS
+ \ifnum\value{page}=\@ne\if\frstPageSpec\aebp@YES
\thisPageAction{}{\JS{\@nameuse{addJST@PageCloseAt1}}}\fi\fi
}
\let\addJST@PageOpen\@empty
@@ -2138,18 +2160,20 @@ try {
% define how our page actions are to be inserted.
% \begin{macrocode}
\def\aebp@PageOpenCloseHandler{%
- \@ifundefined{addJST@PageOpenAt\arabic{page}}%
- {\global\let\thisOpenPageActionAt\@empty}%
- {\gdef\thisOpenPageActionAt{%
- \@nameuse{addJST@PageOpenAt\arabic{page}}}}%
- \@ifundefined{addJST@PageCloseAt\arabic{page}}%
- {\global\let\thisClosePageActionAt\@empty}%
- {\gdef\thisClosePageActionAt{%
- \@nameuse{addJST@PageCloseAt\arabic{page}}}}%
- \aebPageAction{\thisOpenPageActionAt\addJST@PageOpen}%
- {\thisClosePageActionAt\addJST@PageClose}%
- \global\let\addJST@PageOpen\@empty
- \global\let\addJST@PageClose\@empty
+ \@ifundefined{addJST@PageOpenAt\arabic{page}}%
+ {\global\let\thisOpenPageActionAt\@empty}%
+ {\gdef\thisOpenPageActionAt{%
+ \@nameuse{addJST@PageOpenAt\arabic{page}}}}%
+ \@ifundefined{addJST@PageCloseAt\arabic{page}}%
+ {\global\let\thisClosePageActionAt\@empty}%
+ {\gdef\thisClosePageActionAt{%
+ \@nameuse{addJST@PageCloseAt\arabic{page}}}}%
+ \ifx\addJST@PageOpen\@empty\def\x{}\else\def\x{^^J}\fi
+ \ifx\addJST@PageClose\@empty\def\y{}\else\def\y{^^J}\fi
+ \aebPageAction{\thisOpenPageActionAt\x\addJST@PageOpen}%
+ {\thisClosePageActionAt\y\addJST@PageClose}%
+ \global\let\addJST@PageOpen\@empty
+ \global\let\addJST@PageClose\@empty
}
% \end{macrocode}
% (2016/05/15) Added \cs{aebp@PageTransHandler} to handle the page
@@ -2158,48 +2182,42 @@ try {
% transitions}
% \begin{macrocode}
\def\aebp@PageTransHandler{\@ifundefined{aebpP@geTr@nsP@ge\arabic{page}}
- {}{\@nameuse{aebpP@geTr@nsP@ge\arabic{page}}}}
+ {}{\@nameuse{aebpP@geTr@nsP@ge\arabic{page}}}}
% \end{macrocode}
% The two handlers are executed on each page
% \changes{v2.1}{2016/05/15}{Added the command \string\cs{aebp@PageTransHandler}
% to the shipout cmd \string\cs{AddToShipoutPicture}.}
% \begin{macrocode}
-\AddToShipoutPicture{\aebp@PageOpenCloseHandler
- \aebp@PageTransHandler}
+\AddToShipoutPicture{\aebp@PageOpenCloseHandler\aebp@PageTransHandler}
% \end{macrocode}
% \end{macro}
-% \DescribeMacro{\@@defineJS} is a variation of \cs{@defineJS}, as defined in the \textsf{insdljs} package.
+% \DescribeEnv{@@defineJS} is a variation of \cs{@defineJS}, as defined in the \textsf{insdljs} package.
% This version, at the end of the environment, calls the \cs{aebp@rse} command to parse the
% complex command argument, then makes a series of definitions to be used in the open/close
% page events.
+% \changes{v2.10}{2021/02/07}{The \string\env{@@defineJS} uses macros
+% defined in \string\pkg{insdljs}, dated 2021/02/07 or later.}
% \begin{macrocode}
\newenvironment{@@defineJS}[3][]
{%
- \gdef\argType{#2}\gdef\defineJSArg{#3}\JStoks={}%
- \def\verbatim@processline
- {%
- \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}%
- \global\JStoks=\expandafter{\JS@temp}%
- }%
- \let\do\@makeother\dospecials\catcode`\^^M\active
- #1%
- \verbatim@start
+ \@initdfnJS
+ \gdef\argType{#2}\gdef\defineJSArg{#3}\JStoks={}\dlfortypesetfalse
+ \@vrbsetupdfnJS\b@vrbdfnJS{#1}%
}{%
- \expandafter\aebp@rse\expandafter{\defineJSArg}%
- \edef\shakeandbake{%
- \noexpand\@for\noexpand\@mytoks:=\the\aeb@parsetoks}%
- \aeb@parsecnt=0 \shakeandbake \do {%
- \ifnum\aeb@parsecnt=0
- \edef\firsttok{\@mytoks}%
- \csarg\xdef{\argType\@mytoks}{\the\JStoks}%
- \else
- \edef\letsmakelet{\global\let\expandafter\noexpand
- \csname\argType\@mytoks\endcsname=\expandafter\noexpand
- \csname\argType\firsttok\endcsname}%
- \letsmakelet
- \fi
- \advance\aeb@parsecnt1\relax
- }%
+ \expandafter\aebp@rse\expandafter{\defineJSArg}%
+ \edef\sh@keandbake{\noexpand
+ \@for\noexpand\@mytoks:=\the\aeb@parsetoks}%
+ \aeb@parsecnt=\z@\sh@keandbake\do{%
+ \ifnum\aeb@parsecnt=\z@
+ \edef\firsttok{\@mytoks}%
+ \csarg\xdef{\argType\@mytoks}{\the\JStoks}%
+ \else
+ \edef\letsmakelet{\global\let\expandafter\noexpand
+ \csname\argType\@mytoks\endcsname=\expandafter\noexpand
+ \csname\argType\firsttok\endcsname}\letsmakelet
+ \fi
+ \advance\aeb@parsecnt\@ne
+ }%
}
% \end{macrocode}
% \begin{macrocode}
@@ -2218,51 +2236,59 @@ try {
% environments. See \cs{aeb@addToPageOpenCloseActions} for usage by this package.
% \changes{v2.1}{2016/05/15}{Final changes to \string\cs{aebPageAction} to include non-Distiller
% workflows.}
+% \changes{v2.10}{2021/02/07}{Hack: redefine \string\cs{@acrivechar@in} from \string\cs{LaTeX}
+% core; this was disrupting the page events.}
% \begin{macrocode}
\newcommand\aebPageAction[3][ThisPage]{%
- \let\ispageactions=0\aeb@PageOpenfalse\aeb@PageClosefalse
- \def\@aebOpen{#2}%
- \if1\@aebOpen1%
- \if@everyPageOpen
- \aeb@PageOpentrue\let\ispageactions=1%
- \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}%
- \fi
- \else
- \let\ispageactions=1%
- \aeb@PageOpentrue
- \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}%
- \fi
- \def\@aebClose{#3}%
- \if1\@aebClose1%
- \if@everyPageClose
- \aeb@PageClosetrue\let\ispageactions=1%
- \def\@aebClose{/C << \JS{\every@PageClose#3} >>}%
- \fi
- \else
- \let\ispageactions=1%
- \aeb@PageClosetrue
- \def\@aebClose{/C << \JS{\every@PageClose#3} >>}%
- \fi
- \if@everyPageOpen\aeb@PageOpentrue\let\ispageactions=1\fi
- \if@everyPageClose\@everyPageClosetrue\let\ispageactions=1\fi
- \if\ispageactions1%
- \xdef\aebp@PageActionCode{/AA <<
- \ifaeb@PageOpen\@aebOpen\space\fi
- \ifaeb@PageClose\@aebClose\space\fi >>}
+% \end{macrocode}
+% (2021/02/07) The core {\LaTeX} \cs{@activechar@info} macro was breaking the page open and
+% close events by inserting an unwanted message into the code. We
+% redefine this macro to remove the message and insert \cs{pdfSP}, which either
+% a normal space or \cs{pdfSPDef} depending on whether \cs{pdfSpacesOff} or
+% \cs{pdfSpacesOn}, respectively, is operational. This change is local (I hope).
+% \begin{macrocode}
+ \def\@activechar@info{\pdfSP\@gobbletwo}\let\ispageactions\aebp@Zero
+ \aeb@PageOpenfalse\aeb@PageClosefalse
+ \def\@aebOpen{#2}%
+ \if1\@aebOpen1%
+ \if@everyPageOpen
+ \aeb@PageOpentrue\let\ispageactions\aebp@One
+ \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}\fi
+ \else
+ \let\ispageactions\aebp@One
+ \aeb@PageOpentrue
+ \def\@aebOpen{/O << \JS{\every@PageOpen^^J#2} >>}%
+ \fi
+ \def\@aebClose{#3}%
+ \if1\@aebClose1%
+ \if@everyPageClose
+ \aeb@PageClosetrue\let\ispageactions\aebp@One
+ \def\@aebClose{/C << \JS{\every@PageClose#3} >>}\fi
+ \else
+ \let\ispageactions\aebp@One
+ \aeb@PageClosetrue
+ \def\@aebClose{/C << \JS{\every@PageClose^^J#3} >>}%
+ \fi
+ \if@everyPageOpen\aeb@PageOpentrue\let\ispageactions\aebp@One\fi
+ \if@everyPageClose\@everyPageClosetrue\let\ispageactions\aebp@One\fi
+ \if\ispageactions\aebp@One
+ \xdef\aebp@PageActionCode{/AA <<
+ \ifaeb@PageOpen\@aebOpen\space\fi
+ \ifaeb@PageClose\@aebClose\space\fi >>}%
% \end{macrocode}
% For page 1, the open page is handled by \textsf{insdljs}
% \changes{v2.0a}{2016/05/11}{Let \string\textsf{insdljs} handle page open
% for page 1.}
% \begin{macrocode}
- \ifnum\value{page}=1\relax\else
- \ifpdfmarkup\literalps@out{\AEB@psMrk{#1} <<
- \aebp@PageActionCode\space >> /PUT pdfmark}\else
- \ifpdf\global\pdfpageattr=\expandafter
- {\aebp@PageActionCode}\else
- \ifxetex\@pdfm@mark{put @thispage <<
- \aebp@PageActionCode\space>>}\fi\fi\fi
- \fi
+ \ifnum\value{page}=\@ne\else
+ \ifpdfmarkup\literalps@out{\AEB@psMrk{#1} <<
+ \aebp@PageActionCode\space >> /PUT pdfmark}\else
+ \ifpdf\global\pdfpageattr=\expandafter
+ {\aebp@PageActionCode}\else
+ \ifxetex\@pdfm@mark{put @thispage <<
+ \aebp@PageActionCode\space>>}\fi\fi\fi
\fi
+ \fi
}
% \end{macrocode}
% \end{macro}
@@ -2290,8 +2316,8 @@ try {
\def\ap@gobtonil#1\@nil{}
\def\ap@gettonil#1\@nil{\def\to@nilarg{#1}}
\def\ap@ifspc{\ifx\@let@token\@sptoken
- \let\ap@next\ap@xifspc\else
- \let\ap@next\ap@gettonil\fi\ap@next}
+ \let\ap@next\ap@xifspc\else
+ \let\ap@next\ap@gettonil\fi\ap@next}
\begingroup
\def\:{\ap@xifspc}
\expandafter\gdef\: {\futurelet\@let@token\ap@ifspc}
@@ -3216,13 +3242,13 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
% \changes{v2.9}{2017/08/25}{Test for \string\env{attachmentNames} environment}
% \begin{macrocode}
\let\aeb@isFromAutoLabelNum\aebp@Zero
-\def\attachmentNamesEnv{attachmentNames} % dps23
+\def\attachmentNamesEnv{attachmentNames}
% \end{macrocode}
% If \cs{labelName} is outside the \env{attachmentNames} environment, use
% \cs{defUniStr}, defined in \pkg{forms16be}.
% \changes{v2.9}{2017/08/25}{Pass control to \string\pkg{forms16be}}
% \begin{macrocode}
-\def\labelName{\ifx\attachNamesEnv\attachmentNamesEnv % dps23
+\def\labelName{\ifx\attachNamesEnv\attachmentNamesEnv
\def\ap@next{\labelName@Env}\else\def\ap@next{\defUniStr}\fi\ap@next}
\def\labelName@Env#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero %dps23
\@for\x:=ABCDEFabcdef\do{\@makeother\x}%
@@ -3483,6 +3509,16 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
\DeclareJSHelper{\docSaveAs}{aebDocSaveAs}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\browseForDoc}
+% Access to using the method \texttt{app.browseForDoc()}, for example,
+%\begin{verbatim}
+%var oRetn=\browseForDoc({bSave:true,cFilenameInit: "myNewDoc.pdf"});
+%\end{verbatim}
+% See the Acrobat JavaScript API reference for details on what is returned.
+% \begin{macrocode}
+\DeclareJSHelper{\browseForDoc}{aebBrowseForDoc}
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\insertPages}
% This is the method \texttt{Doc.insertPages}.
% \begin{macrocode}
@@ -3581,31 +3617,32 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
% gets the security handler object, logs into the handler, calls
% \texttt{signatureSetSeedValue} if the \texttt{sv} property is in the
% \texttt{oSigInfo} object, and signs the field.
+% \changes{v2.9.6}{2029/12/24}{Use \string\cs{dfnJSCR} of \string\pkg{insdljs}}
% \begin{macrocode}
-\begin{defineJS}[\def\defineJSjsR{^^J}]{\signatureSign}
+\begin{defineJS}[\makecmt\%\dfnJSCR{^^J}]{\signatureSign}
if ( typeof oSigInfo.oHandler=="undefined" )
- oSigInfo.oHandler=security.PPKLiteHandler;
-var engine=aebTrustedFunctions( security,
- aebSecurityGetHandler, oSigInfo.oHandler );
-var path2Cert = (typeof oSigInfo.path2Cert == "undefined") ?
- aebTrustedFunctions( this, aebAppGetPath,
- {cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert :
- oSigInfo.path2Cert;
-aebTrustedFunctions( engine, aebSecurityHandlerLogin,
- { cPassword: oSigInfo.password, cDIPath: path2Cert});
+ oSigInfo.oHandler=security.PPKLiteHandler;
+var engine=aebTrustedFunctions( security,%
+aebSecurityGetHandler, oSigInfo.oHandler );
+var path2Cert = (typeof oSigInfo.path2Cert == "undefined") ? %
+aebTrustedFunctions( this, aebAppGetPath,%
+{cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert : %
+oSigInfo.path2Cert;
+aebTrustedFunctions( engine, aebSecurityHandlerLogin,%
+{ cPassword: oSigInfo.password, cDIPath: path2Cert});
var oSigField = this.getField(oSigInfo.cSigFieldName);
oSigInfo.oInfo.password=oSigInfo.password;
if ( typeof oSigInfo.sv!="undefined" ) {
- for (var o in oSigInfo.sv )
- oSigInfo.oInfo[o]=oSigInfo.sv[o];
+ for (var o in oSigInfo.sv )
+ oSigInfo.oInfo[o]=oSigInfo.sv[o];
}
var oSigArgs={ oSig: engine, oInfo: oSigInfo.oInfo };
if ( typeof oSigInfo.cLegalAttest!="undefined" )
- oSigArgs.cLegalAttest=oSigInfo.cLegalAttest;
+ oSigArgs.cLegalAttest=oSigInfo.cLegalAttest;
if ( typeof oSigInfo.cDIPath!="undefined")
- oSigArgs.cDIPath=oSigInfo.cDIPath;
+ oSigArgs.cDIPath=oSigInfo.cDIPath;
if ( typeof oSigInfo.bUI!="undefined")
- oSigArgs.bUI=oSigInfo.bUI;
+ oSigArgs.bUI=oSigInfo.bUI;
aebTrustedFunctions( oSigField, aebSignatureSign, oSigArgs );
\end{defineJS}
% \end{macrocode}
@@ -3628,23 +3665,23 @@ aebTrustedFunctions( oSigField, aebSignatureSign, oSigArgs );
%\end{docassembly}
%\end{verbatim}
% \begin{macrocode}
-\begin{defineJS}[\def\defineJSjsR{^^J}]{\certifyInvisibleSign}
+\begin{defineJS}[\makecmt\%\dfnJSCR{^^J}]{\certifyInvisibleSign}
if ( typeof oSigInfo.oHandler=="undefined" )
- oSigInfo.oHandler=security.PPKLiteHandler;
-var engine=aebTrustedFunctions( security,
- aebSecurityGetHandler, oSigInfo.oHandler );
-var path2Cert=aebTrustedFunctions( this, aebAppGetPath,
- {cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert;
-aebTrustedFunctions( engine, aebSecurityHandlerLogin,
- { cPassword: oSigInfo.password, cDIPath: path2Cert});
+ oSigInfo.oHandler=security.PPKLiteHandler;
+var engine=aebTrustedFunctions( security, %
+aebSecurityGetHandler, oSigInfo.oHandler );
+var path2Cert=aebTrustedFunctions( this, aebAppGetPath, %
+{cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert;
+aebTrustedFunctions( engine, aebSecurityHandlerLogin, %
+{ cPassword: oSigInfo.password, cDIPath: path2Cert});
oSigInfo.oInfo.password=oSigInfo.password;
var oSigArgs={ oSig: engine, oInfo: oSigInfo.oInfo };
if ( typeof oSigInfo.cLegalAttest!="undefined" )
- oSigArgs.cLegalAttest=oSigInfo.cLegalAttest;
+ oSigArgs.cLegalAttest=oSigInfo.cLegalAttest;
if ( typeof oSigInfo.cDIPath!="undefined")
- oSigArgs.cDIPath=oSigInfo.cDIPath;
+ oSigArgs.cDIPath=oSigInfo.cDIPath;
if ( typeof oSigInfo.bUI!="undefined")
- oSigArgs.bUI=oSigInfo.bUI;
+ oSigArgs.bUI=oSigInfo.bUI;
aebTrustedFunctions( this, aebCertifyInvisibleSign, oSigArgs );
\end{defineJS}
% \end{macrocode}
@@ -4057,7 +4094,7 @@ aebTrustedFunctions( this, aebCertifyInvisibleSign, oSigArgs );
% \end{macrocode}
% Calculate the value of \cs{@btnanimerowsep}, the distance between rows
% \begin{macrocode}
- \edef\@btnanimerowsep{\btnanimerowsep}% dps10
+ \edef\@btnanimerowsep{\btnanimerowsep}%
% \setlength{\@tempdima}{\btnanimerowsep+2bp}%
% \edef\@btnanimerowsep{\the\@tempdima}%
% \end{macrocode}
@@ -4153,7 +4190,7 @@ aebTrustedFunctions( this, aebCertifyInvisibleSign, oSigArgs );
% \end{macrocode}
% A command to set the space between control buttons, uses \cs{btnanimebtnsep}
% \begin{macrocode}
-\newcommand{\@ctrlsbtnsep}{\cgBdry[\btnanimebtnsep]} % dps10
+\newcommand{\@ctrlsbtnsep}{\cgBdry[\btnanimebtnsep]}
% \end{macrocode}
% \begin{macro}{\btnanimebtnsep}
% The space between buttons
@@ -4752,6 +4789,7 @@ function btnAnimeNewFrame(fieldName, type)
% Begin package segment
%<*package>
\ap@restoreCats
+\aeb@InputAeBPro
%</package>
% \end{macrocode}
% \Finale
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins b/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins
index ae721ae42b..946b62be1a 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/aeb_pro.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1999-2018 D. P. Story
+%% Copyright 1999-2021 D. P. Story
%%
%% This file is part of the AcroTeX eDucation Bundle (AeB).
%% -------------------------------------------
@@ -45,6 +45,7 @@
\generate{%
\file{aeb_pro.sty}{\from{aeb_pro.dtx}{copyright,package}}
+ \file{aeb-pro.sty}{\from{aeb_pro.dtx}{copyright,altpkgname}}
\file{aeblayers.def}{\from{aeb_pro.dtx}{copyright,aeblayers}}
\file{aebpro.def}{\from{aeb_pro.dtx}{copyright,aebpro}}
\file{anime_support.def}{\from{aeb_pro.dtx}{copyright,animecommon}}
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.pdf
new file mode 100644
index 0000000000..9821c49870
--- /dev/null
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.tex b/macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.tex
new file mode 100644
index 0000000000..bd12bdd607
--- /dev/null
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/doc/acrobat-in-workflow.tex
@@ -0,0 +1,232 @@
+\RequirePackage[!use=preview,!use=efpmca,!use=usebw,!use=finalbuild]{spdef}
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+\usepackage[web,useacrobat]{aeb_pro}
+\usepackage{eforms}
+\usepackage{graphicx}
+\usepackage{fancyvrb}
+
+\ifpdf\else
+\def\x{%
+ \usepackage[altbullet]{lucidbry}
+ \usepackage[active]{srcltx}
+}\expandafter\x
+\fi
+
+\usepackage{pifont}
+
+%\usepackage{fancyvrb}
+
+\reversemarginpar
+
+\let\uif\textsf
+\let\env\texttt
+\def\cs#1{\texttt{\eqbs#1}}
+\let\tops\texorpdfstring
+
+\makeatletter
+\renewcommand{\paragraph}
+ {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}
+ {\normalfont\normalsize\bfseries}}
+\renewcommand{\subparagraph}
+ {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}%
+ {\normalfont\normalsize\bfseries}}
+\def\parboxValign{t}
+\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{%
+ \raisebox{.5\baselineskip+#1}{%
+ \expandafter\parbox\expandafter[\parboxValign]%
+ {\marginparwidth}{\aebbkFmtMp#2}}}}
+\def\aebbkFmtMp{\kern0pt\itshape\small
+ \ifusebw\color{gray}\else\color{blue}\fi
+ \raggedleft\hspace{0pt}}
+\newcommand{\BlogArticle}{%
+ \makebox[0pt][l]{\hspace{-1pt}\color{blue}\Pisymbol{webd}{254}%
+ }\raisebox{.5pt}{\ifusebw\color{black}\else
+ \color{red}\fi\ding{045}}}
+\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}%
+ \kern-.6em \hbox{$\mathcal S$}}$}
+
+\makeatother
+
+\setlength{\mathindent}{\the\parindent}
+
+\def\AEBP{\app{AeB Pro}}
+\def\AEB{\app{AeB}}
+\let\app\textsf
+\let\pkg\textsf
+\def\amtIndent{\parindent}
+\def\meta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\def\SC#1{{\small#1}}
+\def\PDF{\SC{PDF}}
+\let\opt\texttt
+
+%\reversemarginpar
+\def\jsSupInstr{\tops{{\AEB} and {\AEBP}\\[1ex]}{AeB and AeB Pro: }Including
+ \tops{\app}{}{Acrobat} in the \tops{\LaTeX}{LaTeX} workflow}
+\title{\jsSupInstr}
+\author{D. P. Story}
+\version{1.0}
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="Acrobat workflow";
+var manualfilename="Manual_BG_Print_acrobat.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=false;
+if ( buildIt ) {
+ console.println("Creating new " + manualfilename + " file.");
+ doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
+ var _path=this.path;
+ var pos=_path.lastIndexOf("/");
+ _path=_path.substring(0,pos)+"/"+manualfilename;
+ \docSaveAs\newDO ({ cPath: _path });
+ doc.closeDoc();
+ doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
+ f=doc.getField("ManualTitle");
+ f.value=titleOfManual;
+ doc.flattenPages();
+ \docSaveAs\newDO({ cPath: manualfilename });
+ doc.closeDoc();
+} else {
+ console.println("Using the current "+manualfilename+" file.");
+}
+var _path=this.path;
+var pos=_path.lastIndexOf("/");
+_path=_path.substring(0,pos)+"/"+manualfilename;
+\addWatermarkFromFile({
+ bOnTop:false,
+ bOnPrint:false,
+ cDIPath:_path
+});
+\executeSave();
+\end{docassembly}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+\app{Adobe Acrobat} (\app{AA}) is a desktop application that has many
+powerful features beyond the functionality of a PDF viewer. In this article
+the focus is a {\LaTeX} workflow that includes \app{AA} in its workflow.
+
+{\AEB} and {\AEBP}, as well as other packages written under the {\AEB}
+banner, use FDF files in various situations (as described in
+Section~4).\footnote{An FDF file is a file type that was created by
+\app{Adobe}. The \app{Acrobat} and \app{Adobe Reader} applications can use
+FDF files in various ways.} These packages use \app{Acrobat} to import the
+FDF files to perform designated JavaScript actions as required by the package
+or document author. The importing of FDF files is only needed during the PDF
+creation stage of document development; once the PDF file is created, the
+document can be viewed by \app{Adobe Reader} or any other PDF viewer.
+
+For FDF files to be imported, the \app{Acrobat} application may need to be
+configured.
+
+\section{Configuration of \tops{\app}{}{Acrobat}}\label{s:config}
+
+The current version of \app{AA} is \app{Adobe Acrobat DC}. In this and
+previous versions of \app{AA} no special configuration is needed; however if
+you purchased \app{AA} after December 2020, or you updated your \app{AA}
+after December 2020, you need to make one change in the \uif{Preferences}.
+
+\begin{figure}[htb]\fboxsep0pt\relax\centering
+ \fbox{\includegraphics[width=.5\linewidth]{figures/SecurityPrefs}}
+ \caption{\tops{\protect\uif}{}{Security (Enhanced) Preferences}}\label{fig:SP}
+\end{figure}
+
+Start \app{Acrobat} and open the menu \uif{Edit \ifpdf\texttt{>} \else> \fi
+Preferences} (\uif{Ctrl+K}). In the \uif{Preferences} dialog box, select
+\uif{Security (Enhanced)} category from the left panel; the top most line of
+the right panel is a checkbox labeled \uif{Enable Protected Mode at startup}.
+\emph{Clear this checkbox.}{\def\parboxValign{c}\FmtMP{\app{Acrobat DC}
+users, action required!}}\footnote{When the box is checked, importing FDF
+files, as described in the next two sections, is \emph{prohibited}. We want
+FDF files imported, so we clear the checkbox.} Refer to
+\hyperref[fig:SP]{Figure~\ref*{fig:SP}} for a visual. If this checkbox is not
+present in your \app{Acrobat}, there is nothing to do until this checkbox
+appears in a future updated version of your \uif{AA} application.
+
+\section{When FDF files are imported}
+
+It is important to be aware of when and how FDF files are imported, and to
+understand the actions required of the document author in response to this
+``import FDF event.''
+
+For a document that uses FDF files to perform tasks, the files are imported
+\emph{after} PDF creation when the newly created PDF document is \emph{first
+opened} in \app{Acrobat}, and \emph{before the PDF file is moved to another
+location and before any auxiliary files (the FDF files) are deleted}. Once
+the FDF files are imported, it is important \emph{to save}\FmtMP{Save the
+PDF} the PDF file, this incorporates the results of the actions taken by the
+imported FDF files into the document, actions, such as the embedding of
+document JavaScript.
+
+Another important point to realize is that the use of FDF files is not
+restricted to the
+\app{dvips\ifpdf\texttt{->}\,\else->\,\fi\app{Distiller}\,\ifpdf\texttt{->}\,\ignorespaces
+\else->\,\fi\app{Acrobat}} method of creating a PDF; indeed, any PDF creator
+used by the {\LaTeX} community may be used, for example,
+\app{pdftex\ifpdf\texttt{->}\allowbreak\,\else->\,\fi\app{Acrobat}}. The
+only prerequisite is to use {\LaTeX} markup that initiates the ``import FDF
+event.'' This markup is available through packages that support it; this
+includes, but not restricted to, {\AEB} and {\AEBP}.
+
+\section{Applications of FDF files to a \tops{\LaTeX}{LaTeX} workflow}
+
+With regard to producing a PDF file through a {\LaTeX} workflow, there are
+two important applications to importing FDF files: importing document
+JavaScript and post-PDF creation actions. These two applications to FDF files
+are covered in the next two subsections.
+
+\subsection{Document JavaScript}
+
+In this case, FDF files are required only for the \app{dvips\,\ignorespaces
+\ifpdf\texttt{->}\,\else->\,\fi\app{Distiller}\,\ifpdf\texttt{->}\,\else->\,\ignorespaces
+\fi\app{Acrobat}} workflow; the other PDF creators (\app{pdflatex},
+\app{lualatex}, and \app{xelatex}) have primitives that facilitate the
+creation of document JavaScript without FDF files or \app{Acrobat}.
+
+For the \pkg{exerquiz} package, part of the {Acro\!\TeX} eDucation Bundle
+(\AEB), creation of Document JavaScript is automatic and invisible for all
+PDF creators; it is only in the
+\texttt{tex\,->\,dvi\,->\,\app{dvips}\,->\,\ignorespaces
+\app{Distiller}\,->\,\app{Acrobat}} workflow that FDF files are used.
+
+Document JavaScript, by the way, is code that is embedded in the PDF and is
+available to be called throughout the document. Usually, Document JavaScript
+is general code that is repeatedly used.
+
+
+\subsection{Post PDF Creation actions}
+
+The {\AEBP} Bundle has many ``post PDF creation'' actions, such as auto
+saving the document, importing sounds, attaching documents, inserting pages,
+extracting pages, and many more. With proper {\LaTeX} markup, when the
+document is compiled, FDF files are written to the hard drive, when the
+document is then first opened in \app{Acrobat}, the FDF files are imported
+and the actions are executed. Again, for the FDF files to be imported, they
+must not have already been deleted, and \app{Acrobat} must be correctly
+configured (\hyperref[s:config]{Section~\ref*{s:config}}). One very simple
+example, is automatic saving of the document when \app{Acrobat} is first
+opened. For example, an \pkg{aeb\_pro} document has a \env{docassembly}
+environment that is placed in the preamble. Within this environment, place
+any post PDF creation JavaScript actions:
+\begin{Verbatim}[xleftmargin=\parindent]
+\begin{docassembly}
+console.show();
+console.println("Saving document");
+\executeSave();
+\end{docassembly}
+\end{Verbatim}
+The \verb~\executeSave~ command is defined by \pkg{aeb\_pro} and its action
+is to save the document. It is the \env{docassembly} environment that writes
+the FDF file that contains its contents. \app{Acrobat} inputs this command on
+opening and the PDF is saved.\footnote{\cs{executeSave} must be the last post PDF
+creation action; otherwise, as later actions may not be executed.}
+
+
+\end{document}
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf
index a3d56bd3e4..1072bd80d3 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex b/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex
index 6c1dbd7766..937318cefe 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/doc/aebpro_man.tex
@@ -36,7 +36,7 @@
email={dpstory@acrotex.net},
subject={Documentation for {\AEBP} from AcroTeX},
talksite={\url{www.acrotex.net}},
- version={2.9.5, 2019/03/21},
+ version={2.10, 2021/02/07},
Keywords={XMP, E4X, Adobe Acrobat, JavaScript},
copyrightStatus=True,
copyrightNotice={Copyright (C) \the\year, D. P. Story},
@@ -85,6 +85,7 @@
\newcommand\refctan[1]{\href{http://ctan.org/pkg/#1}{ctan.org/pkg/#1}}
\newlength{\aebdimen}
\def\anglemeta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\let\ameta\anglemeta
\def\meta#1{\textit{\texttt{#1}}}
\let\pkg\textsf
\let\env\texttt
@@ -101,7 +102,9 @@
\def\AcroTeX{Acro\!\TeX}
\def\HTML{HTML}\def\FDF{FDF}
\def\PDF{PDF}\def\URL{URL}
-\edef\amtIndent{\the\parindent} %\leftmargini
+%\let\amtIndent\leftmargini
+\edef\amtIndent{\the\parindent}
+\def\PDFM{\textsf{\textbf{pdfmark}}}
\def\bNH{\begin{NoHyper}}\def\eNH{\end{NoHyper}}
\def\nhnameref#1{\bNH\nameref{#1}\eNH}
\def\nhNameref#1{\bNH\Nameref{#1}\eNH}
@@ -111,8 +114,7 @@
\def\parboxValign{t}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1\or
- See page~#2.\else See pages~#2.\fi
-}
+ See page~#2.\else See pages~#2.\fi}
\newenvironment{aebQuote}
{\list{}{\leftmargin\amtIndent}%
\item\relax}{\endlist}
@@ -121,19 +123,20 @@
\expandafter\parbox\expandafter[\parboxValign]%
{\marginparwidth}{\aebbkFmtMp#2}}}}
\def\aebbkFmtMp{\hfill\kern0pt\itshape\small
- \color{blue}\raggedright\hspace{0pt}}
+ \color{blue}\raggedleft\hspace{0pt}}
\newcommand{\BlogArticle}{\makebox[0pt][l]{\hspace{-1pt}\color{blue}\Pisymbol{webd}{254}%
}\raisebox{.5pt}{\color{red}\ding{045}}}
\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}%
\kern-.6em \hbox{$\mathcal S$}}$}
\def\FitItIn{\eq@fititin}
-\def\endredpoint{\FitItIn{{\large\ifusebw\color{black}\else\color{red}\fi$\blacktriangleleft$}}}
+\def\endredpoint{\FitItIn{{\large
+ \ifusebw\color{black}\else
+ \color{red}\fi$\blacktriangleleft$}}}
\reversemarginpar
\def\addWatermarkFromFile#1#2{%
-aebTrustedFunctions#1\theDocObject, aebAddWatermarkFromFile, #2}
-
+aebTrustedFunctions#1\theDocObject,aebAddWatermarkFromFile,#2}
%\definePath\bgPath{"C:/Users/Public/Documents/%
% ManualBGs/Manual_BG_Print_AeB.pdf"}
@@ -204,7 +207,7 @@ on this documentation. \verb!:-{)!
\begin{flushright}
Dr. D. P. Story\\[3pt]
-\today
+January 20, 2016
\end{flushright}
@@ -212,23 +215,23 @@ Dr. D. P. Story\\[3pt]
\AEBP, package file base name \texttt{aeb\_pro}
(\href{http://ctan.org/pkg/aeb-pro}{ctan.org/pkg/aeb-pro}), is an assortment
-of features (see Section~\ref*{features} below) implemented through a
-combination of \textbf{pdfmark} operators~\cite{tech:pdfmark}, which are
-native to a PostScript file, and JavaScript techniques, some of which require
-\textsf{Acrobat Professional}. These features were meant to be used with
-{\AEB} (\AcroEB); in particular, the \texttt{insdljs} and \texttt{eforms}
-packages are essential to {\AEBP}. To have access to all the features of
-{\AEBP}, the document author must have \textsf{Acrobat Pro}~7.0 or later and
-use \textsf{dvips/\penalty0 Distiller} workflow to create the {\PDF}. For the
-most part, once the document is assembled, it can be viewed by \app{Adobe
-Reader}~7.0 or later.
+of features (see \hyperref[features]{Section~\ref*{features}} below)
+implemented through a combination of {\PDFM} operators~\cite{tech:pdfmark},
+which are native to a Postscript file, and JavaScript techniques, some of
+which require \textsf{Acrobat Professional}. These features were meant to be
+used with {\AEB} (\AcroEB); in particular, the \texttt{insdljs} and
+\texttt{eforms} packages are essential to {\AEBP}. To have access to all the
+features of {\AEBP}, the document author must have \textsf{Acrobat Pro}~7.0
+or later and use \textsf{dvips/\penalty0Distiller} workflow to create the
+{\PDF}. For the most part, once the document is assembled, it can be viewed
+by \app{Adobe Reader}~7.0 or later.
Despite the declaration in the \textbf{Forward} to the
-contrary\marginpar{\small\raggedleft v2.1 notes}, this manual will be updated
+contrary, this manual will be updated
for Version~2.1 of {\AEBP} to reflect the creation of a significant new
feature, the \opt{useacrobat} option. For a document author who prefers
\app{pdflatex} (including \app{lualatex}) or
-\app{xelatex}\marginpar{\small\raggedleft non-\app{Distiller} workflow}, this
+\app{xelatex}\FmtMP{non-\app{Distiller} workflow}, this
option opens the features of {\AEBP} provided the document author has the
full \app{Acrobat} application and has set it up as the primary {\PDF} viewer
on his/\penalty0 her computer system. Continue reading about the
@@ -480,7 +483,7 @@ The next three packages are less important, some are ``novelty'' packages.
number of rows and columns.
\end{description}
These, as well as the {\AEBP} distribution itself, are available through CTAN
-or the {\AEBP} family website:
+or the {\AEBP} family web site:
\begin{equation*}
\text{\url{www.math.uakron.edu/~dpstory/aeb_pro.html}}
\end{equation*}
@@ -488,6 +491,12 @@ or the {\AEBP} family website:
\subsection{Package Options}
+The general syntax for \pkg{aeb\_pro} is,
+\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
+\usepackage[!ameta(options)]{aeb_pro}
+!strut!textsf(or)
+\usepackage[!ameta(options)]{aeb-pro}
+\end{Verbatim}
Below is a list of all options of the {\cAEBP} package:
\begin{description}
\item [\texttt{driver=\anglemeta{driver}}\enspace] The permissible values
@@ -501,7 +510,7 @@ Below is a list of all options of the {\cAEBP} package:
own the \app{Acrobat} application, use the \opt{useacrobat} option to
open all features of this package except for any features associated
with the \app{uselayers} option. The creation of layers is still only
- supported through the \textbf{pdfmark} operator.
+ supported through the {\PDFM} operator.
As you go through the examples provided by this package, all sample
files work except for the ones using the \opt{uselayers} or
@@ -699,6 +708,14 @@ installation of the JavaScript files by navigating to the \texttt{examples}
subfolder and opening the file \texttt{test\_install.pdf} in \app{Acrobat};
follow the directions contained on that one page document.
+\paragraph*{\app{Adobe Acrobat DC} authors.} If you have \app{Acrobat DC} that was purchased or updated after December 2020,
+\app{Acrobat} needs to be configured\FmtMP{Configure \app{Acrobat DC}} to
+function correctly. For detailed discussion, refer to the document
+\texttt{\href{acrobat-in-workflow.pdf}{acrobat-in-workflow.pdf}} found in the
+\texttt{doc} folder of this distribution.
+
+
+
\begin{comment}
The JavaScript methods used by the \texttt{docassemble} environment, see
@@ -815,33 +832,33 @@ for links to this resource.
option}\label{useacrobatOpt}
For document authors who have the full \app{Acrobat} application but prefer a
-non-\app{Distiller} workflow, use the \opt{useacrobat} option to declare to {\AEBP}
-that you have \app{Acrobat}. Traditionally, if neither \app{pdflatex}
+non-\app{Distiller} workflow, use the \opt{useacrobat} option to declare to
+{\AEBP} that you have \app{Acrobat}. Traditionally, if neither \app{pdflatex}
(including \app{lualatex}) nor \app{xelatex} are used, a \app{dvips/\penalty0
Distiller} workflow is assumed. Declaring the \opt{useacrobat} option opens
up all features except for those that depend on the use of layers (also
called {\EXT{OCG}s); in particular, the options \opt{uselayers} and
\opt{ocganime} are disallowed}. All features, therefore, described in this
-manual are available to \app{pdflatex} and \app{xelatex} document authors who
-have \app{Acrobat}, \emph{except for those features} described in
-Section~\ref{layers} and Section~\ref{ss:ocganime}.
+manual are available to \app{pdflatex}, \app{lualatex}, and \app{xelatex}
+document authors who have \app{Acrobat}, \emph{except for those features}
+described in \hyperref[layers]{Section~\ref*{layers}} and \hyperref[ss:ocganime]{Section~\ref*{ss:ocganime}}.
\paragraph*{Syntax.} The syntax for this option is simple:
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\usepackage[!textbf(useacrobat),
- !meta(options)
+!quad!ameta(options)
]{aeb_pro}
\end{Verbatim}
-where \meta{options} \emph{does not include} the
+where \ameta{options} \emph{does not include} the
\opt{uselayers} and \opt{ocganime} options.
\newtopic
-Regarding \app{{\AEB} Control Central} (Section~\ref*{AeBCC}), when you
+Regarding \app{{\AEB} Control Central} (\hyperref[AeBCC]{Section~\ref*{AeBCC}}), when you
specify \opt{useacrobat},\footnote{This implies you are not using
\opt{Distiller} as the {\PDF} creator.} the packages \pkg{graphicxsp} and \pkg{rmannot} of
-display~\eqref{display:ACCopts} are not allowed to be specified in the option
-list of \pkg{aeb\_pro}. These two packages use the \textbf{pdfmark} operator
-to implement their features; a \app{dvips/\penalty0 Distiller} workflow is
+\hyperref[display:ACCopts]{display~\bNH\eqref{display:ACCopts}\eNH} are not allowed to be specified in the option
+list of \pkg{aeb\_pro}. These two packages use the {\PDFM} operator
+to implement their features; a \app{dvips/\penalty0Distiller} workflow is
required in this case.
\section{The \texorpdfstring{\protect\opt{nopro}}{nopro} option}\label{s:noproOpt}
@@ -855,7 +872,7 @@ option.
in the option list:
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\usepackage[!textbf(nopro),
- !meta(options)
+!quad!ameta(options)
]{aeb_pro}
\end{Verbatim}
Specifying this option excludes the use of layers (the options
@@ -1085,7 +1102,7 @@ includes examples of the use of the \texttt{willClose},
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{willClose}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{willClose}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{willClose}
\end{dCmd}
\EnvDescription The JS code in the body of the \texttt{willClose}
@@ -1096,7 +1113,7 @@ environment will execute just before the document closes.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{willSave}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{willSave}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{willSave}
\end{dCmd}
\EnvDescription The JS code in the body of the \texttt{willSave}
@@ -1107,7 +1124,7 @@ environment will execute just before the document is saved.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{didSave}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{didSave}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{didSave}
\end{dCmd}
\EnvDescription The JS code in the body of the \texttt{didSave}
@@ -1118,7 +1135,7 @@ environment will execute just after the document is saved.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{willPrint}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{willPrint}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{willPrint}
\end{dCmd}
\EnvDescription The JS code in the body of the \texttt{willPrint}
@@ -1129,7 +1146,7 @@ environment will execute just before the document is Printed.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{didPrint}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{didPrint}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{didPrint}
\end{dCmd}
\EnvDescription The JS code in the body of the \texttt{didPrint}
@@ -1152,9 +1169,10 @@ behave as desired, while the document author can use the above environments to a
additional scripts.
The correct way of using these commands is
+
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\begin{defineJS}{\my@WillClose}
-!quad!anglemeta(some willClose script)
+ !anglemeta(some willClose script)
\end{defineJS}
\let\my@save@developer@will@Close\developer@will@Close
\def\developer@will@Close{%
@@ -1181,10 +1199,10 @@ independently of the page the document is opened at.
The following example gets the time the user first opens the document,
\bgroup\obeyspaces%
-\settowidth{\aebdimen}{\ttfamily\small var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());\}\}}%
+\settowidth{\aebdimen}{\ttfamily\small\quad{var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());\}\}}}%
\begin{dCmd*}[fontsize=\small,commandchars=!@~]{\aebdimen+2\fboxsep+2\fboxrule}
\additionalOpenAction{\JS{%
- var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());}}
+!quad@var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());}}~
\end{dCmd*}
\egroup
\noindent\textcolor{red}{\textbf{Important:}} This open action takes place rather
@@ -1258,11 +1276,11 @@ to combine several actions, including an action for checking for the version num
\cs{afterRe\-quire\-ment\-PassedJS}. For example,
\bgroup\obeyspaces%
-\settowidth{\aebdimen}{\ttfamily\small var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());\}\}}%
+\settowidth{\aebdimen}{\ttfamily\small\quad{var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());}}%
\begin{dCmd*}[fontsize=\small,commandchars=!@~]{\aebdimen+2\fboxsep+2\fboxrule}
\afterRequirementPassedJS
{%
- var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());
+!quad@var timestamp = util.printd("mm-dd-yy, H:MM:ss.", new Date());~
}
\end{dCmd*}
\egroup\noindent The above code will be executed if the version requirement is passed.
@@ -1310,38 +1328,39 @@ action, see the documentation of \texttt{insdljs} for some details.
\settowidth{\aebdimen}{\ttfamily\small console.println("Show the output of the page actions");}%
\begin{dCmd*}[fontsize=\small,commandchars=!@~]{\aebdimen+2\fboxsep+2\fboxrule}
\OpenAction{\JS{%
- console.show();\r
- console.clear();\r
- console.println("Show the output of the page actions");
+!quad@console.show();\r~
+!quad@console.clear();\r~
+!quad@console.println("Show the output of the page actions");~
}}
\end{dCmd*}
\egroup
-
+\noindent
In addition to \cs{OpenAction}, \texttt{addJSToPageOpen} and
\texttt{addJSToPageClose} are also defined by {\cAEBP}. The
-\meta{script} is executed each time the page is opened or
+\ameta{script} is executed each time the page is opened or
closed.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{addJSToPageOpen}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{addJSToPageOpen}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{addJSToPageOpen}
\end{dCmd}
-
+\noindent
For page close events, we have the \texttt{addJSToPageClose}
environment.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{addJSToPageClose}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{addJSToPageClose}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{addJSToPageClose}
\end{dCmd}
\EnvDescription When placed in the preamble, these provide
JavaScript support for page open/close events of the first page.
+\newtopic
Below are examples of usage. These appear in the document
\texttt{aebpro\_ex1}.
\bgroup\obeyspaces%
@@ -1377,14 +1396,14 @@ on.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{addJSToPageOpen}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{addJSToPageOpen}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{addJSToPageOpen}
\end{dCmd}
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{addJSToPageClose}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{addJSToPageClose}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{addJSToPageClose}
\end{dCmd}
@@ -1401,7 +1420,7 @@ open/close effects you want.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{addJSToPageOpenAt}\darg{\meta{page-ranges}}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{addJSToPageOpenAt}{!meta(page-ranges)}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{addJSToPageOpenAt}
\end{dCmd}
@@ -1411,7 +1430,7 @@ environment.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{addJSToPageCloseAt}\darg{\meta{page-ranges}}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{addJSToPageCloseAt}{!meta(page-ranges)}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{addJSToPageCloseAt}
\end{dCmd}
@@ -1489,7 +1508,7 @@ To cancel out the every page action you can use
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{everyPageOpen}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{everyPageOpen}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{everyPageOpen}
\end{dCmd}
@@ -1498,7 +1517,7 @@ For page close events, we have the \texttt{everyPageClose} environment.
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{everyPageClose}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{everyPageClose}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{everyPageClose}
\end{dCmd}
@@ -1565,7 +1584,7 @@ object.
\end{dCmd}
The command for setting how you want to viewer to behave in fullscreen.
This command is implemented through JavaScript, as opposed to the
-\textbf{pdfmark} operator. See \emph{JavaScript for Acrobat API Reference}
+{\PDFM} operator. See \emph{JavaScript for Acrobat API Reference}
\cite{tech:AcroJSRef}, the section on the \texttt{FullScreen} object.
\CmdLoc This command must be executed in the preamble.
@@ -1686,7 +1705,7 @@ effects of individual pages, use the \cs{setPageTransition} command.
\end{dCmd}
Sets the transition effect for the \emph{next page only}, viewer must be
in full screen mode. The command \cs{setPageTransition} is implemented
-using the \textbf{pdfmark} operator.
+using the {\PDFM} operator.
\CmdLoc This command should be used in the preamble for the first page,
and between slides for subsequent pages.
@@ -1887,9 +1906,9 @@ you to develop a list of attachments that are attached if the
\texttt{!optattachments} option is taken. {\AEBP} defines
\cs{ifoptattachments}, a Boolean switch, which is set to true by
\texttt{optattachments} and to false by \texttt{!optattachments}.
-\settowidth{\aebdimen}{\ttfamily\string\addtoOptAttachments\darg{\meta{list\_of\_files}}}%
+\settowidth{\aebdimen}{\ttfamily\string\addtoOptAttachments\darg{\meta{list-of-files}}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
-\addtoOptAttachments{!meta(list_of_files)}
+\addtoOptAttachments{!meta(list-of-files)}
\end{dCmd}
This command can be used anywhere in the document and adds the listed
files to the ones to be attached. The list is comma delimited.
@@ -1917,12 +1936,12 @@ of optional attachments, then passes the argument to the two user commands
Above you see the default definitions of these user commands. They may be
redefined as desired to achieve some special effect.
-\bgroup\obeyspaces%
+\bgroup\def\1{\quad}\obeyspaces%
\settowidth{\aebdimen}{\ttfamily \string\marginpar\darg{\string\fbox\darg{\string\footnotesize\string\ttfamily\#1}}}%
\begin{dCmd*}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\renewcommand{\prjInputUser}[1]{%
- \marginpar{\fbox{\footnotesize\ttfamily#1}}
- \input{#1}}
+!1\marginpar{\fbox{\footnotesize\ttfamily#1}}
+!1\input{#1}}
\end{dCmd*}
\egroup
It is possible to define \cs{prjInputUser} to be a link or button that
@@ -1934,15 +1953,15 @@ two commands \cs{prjinput} and \cs{prjinclude} are \cs{prjInputUser} and
to the list of optional attachments. The switch \cs{ifoptattachments} can be
used, as needed, in a custom definition of \cs{prjInputUser} or
\cs{prjIncludeUser}; for example,
-\bgroup\obeyspaces%
+\bgroup\def\1{\quad}\def\2{\qquad}\obeyspaces%
\settowidth{\aebdimen}{ \ttfamily\string\marginpar%
\darg{\string\fbox\darg{\string\footnotesize\string\ttfamily\string\ifoptattachments}}}%
-\begin{dCmd*}{\aebdimen+2\fboxsep+2\fboxrule}
+\begin{dCmd*}[commandchars={!~@}]{\aebdimen+2\fboxsep+2\fboxrule}
\renewcommand{\prjInputUser}[1]{%
- \marginpar{\fbox{\footnotesize\ttfamily\ifoptattachments
- \setLink[\A{\JS{this.exportDataObject({%
- cName: "\getcNameFromFileName{#1}",nLaunch: 0});}}
- ]{\textcolor{\ahrefcolor}{#1}}\else#1\fi}}\input{#1}}
+!1\marginpar{\fbox{\footnotesize\ttfamily\ifoptattachments
+!1\setLink[\A{\JS{this.exportDataObject({%
+!1!1cName: "\getcNameFromFileName{#1}",nLaunch: 0});}}
+!1]{\textcolor{\ahrefcolor}{#1}}\else#1\fi}}\input{#1}}
\end{dCmd*}
\egroup This code creates a link that saves the attachment, if
\texttt{optattachments} is taken, and simply puts the file name the margin,
@@ -1966,7 +1985,7 @@ environment).
\settowidth{\aebdimen}{\ttfamily\string\begin\darg{docassembly}}%
\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{docassembly}
- !anglemeta(script)
+!quad!anglemeta(script)
\end{docassembly}
\end{dCmd}
\noindent
@@ -2170,12 +2189,12 @@ on these methods and their parameters.
background graphic on every page the document. This is the kind of code
that is executed for this document.
\bgroup\small\obeyspaces%
-\settowidth{\aebdimen}{\small\ttfamily cDIPath: "/C/AcroPackages/ManualBGs/Manual\_BG\_DesignV\_AeB.pdf"}%
-\begin{dCmd*}[fontsize=\small]{\aebdimen+2\fboxsep+2\fboxrule}
+\settowidth{\aebdimen}{\small\ttfamily\quad{cDIPath: "/C/AcroPackages/ManualBGs/Manual\_BG\_DesignV\_AeB.pdf"}}%
+\begin{dCmd*}[fontsize=\small,commandchars={!~@}]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{docassembly}
\addWatermarkFromFile({
- bOnTop:false,
- cDIPath: "/C/AcroPackages/ManualBGs/Manual_BG_DesignV_AeB.pdf"
+!quad~bOnTop:false,@
+!quad~cDIPath: "/C/AcroPackages/ManualBGs/Manual_BG_DesignV_AeB.pdf"@
});
\end{docassembly}
\end{dCmd*}
@@ -2332,11 +2351,11 @@ Multiple images can be imported and set by simply executing
arguments, or, by executing \cs{declare\-Multi\-Images}.
\bgroup\obeyspaces%
-\settowidth{\aebdimen}{\ttfamily \darg{\meta{KV-pairs\_1}}\darg{\meta{KV-pairs\_2}}\darg{\meta{KV-pairs\_3}}...\darg{\meta{KV-pairs\_n}}}%
+\settowidth{\aebdimen}{\ttfamily\quad\darg{\meta{KV-pairs\_1}}\darg{\meta{KV-pairs\_2}}\darg{\meta{KV-pairs\_3}}...\darg{\meta{KV-pairs\_n}}}%
\begin{dCmd}[commandchars={!()}]{\aebdimen+2\fboxsep+2\fboxrule}
\declareMultiImages
{
- {!meta(KV-pairs_1)}{!meta(KV-pairs_2)}{!meta(KV-pairs_3)}...{!meta(KV-pairs_n)}
+!quad{!meta(KV-pairs_1)}{!meta(KV-pairs_2)}{!meta(KV-pairs_3)}...{!meta(KV-pairs_n)}
}
\end{dCmd}
\egroup\CmdDescription This command calls the \cs{declareImageAndPlacement}
@@ -2348,13 +2367,13 @@ command \cs{declareMultiImages} loops through the list, calling
example follows.
\bgroup\obeyspaces%
-\settowidth{\aebdimen}{\ttfamily \darg{path=graphics/girl.png,placement=\darg{Avatar3,Avatar4}}}%
-\begin{dCmd*}{\aebdimen+2\fboxsep+2\fboxrule}
+\settowidth{\aebdimen}{\ttfamily\quad\darg{path=graphics/girl.png,placement=\darg{Avatar3,Avatar4}}}%
+\begin{dCmd*}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
\declareMultiImages
{%
- {path=graphics/girl.png,placement={Avatar3,Avatar4}}
- {path=graphics/AcroFord.jpg,placement=AcroFord}
- {path=graphics/scot.gif,placement=Scot}
+!quad{path=graphics/girl.png,placement={Avatar3,Avatar4}}
+!quad{path=graphics/AcroFord.jpg,placement=AcroFord}
+!quad{path=graphics/scot.gif,placement=Scot}
}
\end{dCmd*}
\egroup
@@ -2427,13 +2446,13 @@ optional parameter allows you to specify what appearance state the icon is to be
The optional parameter is shown in the example below.
\bgroup\obeyspaces%
-\settowidth{\aebdimen}{\ttfamily \darg{path=graphics/girl.png,placement=\darg{[2]Avatar1,[0]Avatar2}}}%
-\begin{dCmd*}{\aebdimen+2\fboxsep+2\fboxrule}
+\settowidth{\aebdimen}{\ttfamily\quad\darg{path=graphics/girl.png,placement=\darg{[2]Avatar1,[0]Avatar2}}}%
+\begin{dCmd*}[commandchars={!()}]{\aebdimen+2\fboxsep+2\fboxrule}
\declareMultiImages
{%
- {path=graphics/man1.pdf,placement={Avatar1,[2]Avatar2}}
- {path=graphics/scot.gif,placement={[1]Avatar1,[1]Avatar2}}
- {path=graphics/girl.png,placement={[2]Avatar1,[0]Avatar2}}
+!quad{path=graphics/man1.pdf,placement={Avatar1,[2]Avatar2}}
+!quad{path=graphics/scot.gif,placement={[1]Avatar1,[1]Avatar2}}
+!quad{path=graphics/girl.png,placement={[2]Avatar1,[0]Avatar2}}
}
\end{dCmd*}
\egroup The optional argument precedes the field name and determines the
@@ -2528,6 +2547,7 @@ button appearances of the buttons used to control the button animation.
names of the anima created by \cs{btnAnima} that will be using these
appearance icons.
\end{description}
+
\textbf{Example:}
\settowidth{\aebdimen}{\ttfamily\string\placeAnimeCtrlBtnFaces\darg{btn\_anime\_icons1.pdf}\darg{myclock,mysine}}%
\begin{dCmd*}{\aebdimen+2\fboxsep+2\fboxrule}
@@ -2686,7 +2706,7 @@ in the \texttt{attachment\-Names} environment in the preamble.
\settowidth{\aebdimen}{\ttfamily \anglemeta{\string\autolabelNum{} and \string\labelName{} commands}}%
\begin{dCmd}[commandchars={!()}]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{attachmentNames}
- !anglemeta(\autolabelNum and \labelName commands)
+!quad!anglemeta(\autolabelNum and \labelName commands)
\end{attachmentNames}
\end{dCmd}
\egroup
@@ -2777,7 +2797,7 @@ left and right braces, and double quotes, or using unicode above
00FF (Basic Latin + Latin-1). To illustrate, suppose we wish the
description of \texttt{cooltarget} to be
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
-"$|e^{\ln(17)}|$"
+ "$|e^{\ln(17)}|$"
\end{Verbatim}
All the bad characters!
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
@@ -2934,9 +2954,9 @@ with \texorpdfstring{\protect\cs{ahyperref}}{\textbackslash ahyperref}}
the \cs{label} command we use the \textsf{xr-hyper} package that
comes with \texttt{hyperref}; the code might be
-\begin{Verbatim}[xleftmargin=\amtIndent]
+\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\ahyperref[dest=target1-s:intro]{attach1}
- {Section~\ref*{target1-s:intro}}
+!quad{Section~\ref*{target1-s:intro}}
\end{Verbatim}
we set \verb!dest=target1-s:intro!.
@@ -3230,7 +3250,7 @@ layer. This could be a button or a link that executes JavaScript.
\darg{\meta{layer\_name}}}%
\begin{dCmd}[commandchars={!()}]{\aebdimen+2\fboxsep+2\fboxrule}
\xBld[true|false|print=!anglemeta(!upshape(true|false))]{!meta(layer_name)}
- !anglemeta(content of layer)
+!quad!anglemeta(content of layer)
\eBld
\end{dCmd}
@@ -3301,8 +3321,9 @@ provides help to the document consumer.
\exPDFSrc{aebpro_ex4} These topics are illustrated in the support
file \texttt{aebpro\_ex4}.
-\exAeBBlogPDF{tag=rollovers} Additional examples of \emph{rollover animation} using \cs{texHelp} can be found
-at the \mlhref{\urlAcroTeXBlog}{{\AcroTeX} Blog} web site.
+\exAeBBlogPDF{tag=rollovers} Additional examples of \emph{rollover animation}
+using \cs{texHelp} can be found at the \mlhref{\urlAcroTeXBlog}{{\AcroTeX}
+Blog} web site.
%See also \url{http://www.acrotex.net/blog/?p=1359}
@@ -3584,10 +3605,10 @@ is titled \textsl{\texttt{ocgAnime}: Animation using OCG (Layers) with \AEBP} ca
environment.
\bgroup\obeyspaces%
-\settowidth{\aebdimen}{\ttfamily \anglemeta{a set of ocg frames built using \string\animeBld/\string\eBld pairs}}%
+\settowidth{\aebdimen}{\ttfamily\quad\anglemeta{a set of ocg frames built using \string\animeBld/\string\eBld pairs}}%
\begin{dCmd}[commandchars={!()}]{\aebdimen+2\fboxsep+2\fboxrule}
\begin{ocgAnime}{!meta(KV-pairs)}
- !anglemeta(a set of ocg frames built using \animeBld/\eBld pairs)
+!quad!anglemeta(a set of ocg frames built using \animeBld/\eBld pairs)
\end{ocgAnime}
\end{dCmd}
\egroup\KVP The key-value pairs are the same ones described in
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.tex b/macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.tex
new file mode 100644
index 0000000000..5639318335
--- /dev/null
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/doc/install_jsfiles.tex
@@ -0,0 +1,312 @@
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+%
+% the driver line is not necessary if you
+% have aebpro.cfg configured to your driver.
+%
+\usepackage[web]{aeb_pro}
+\usepackage{eforms}
+\usepackage[altbullet]{lucidbry}
+\usepackage{pifont}
+
+\usepackage{fancyvrb}
+
+\makeatletter
+\renewcommand{\paragraph}
+ {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}
+ {\normalfont\normalsize\bfseries}}
+\renewcommand{\subparagraph}
+ {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}%
+ {\normalfont\normalsize\bfseries}}
+\makeatother
+
+\mathindent\parindent
+
+\def\AEBP{\app{AeB Pro}}
+\def\AEB{\app{AeB}}
+\def\app#1{\textsf{#1}}
+\def\amtIndent{\parindent}
+\def\meta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\def\SC#1{{\small#1}}
+\def\PDF{\SC{PDF}}
+\let\opt\texttt
+
+\def\copyGetPath{\qquad\pushButton[\TU{Copy app.getPath to console}
+\CA{getPath}\A{\JS{console.show();\r
+console.println('\\napp.getPath("user");');
+}}]{cpyGtPth}{}{11bp}}
+
+\def\copyGetPathJS{\qquad\pushButton[\TU{Copy app.getPath to console}
+\CA{getPath}\A{\JS{console.show();\r
+console.println('\\napp.getPath("user", "javascript");');
+}}]{cpyGtPthJS}{}{11bp}}
+
+%\reversemarginpar
+\def\jsSupInstr{How to install JavaScript support files}
+\title{\jsSupInstr}
+\author{D. P. Story}
+\version{1.0}
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="How to install JavaScript files";
+var manualfilename="Manual_BG_Print_jsfiles.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=true;
+if ( buildIt ) {
+ console.println("Creating new " + manualfilename + " file.");
+ doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
+ var _path=this.path;
+ var pos=_path.lastIndexOf("/");
+ _path=_path.substring(0,pos)+"/"+manualfilename;
+ \docSaveAs\newDO ({ cPath: _path });
+ doc.closeDoc();
+ doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
+ f=doc.getField("ManualTitle");
+ f.value=titleOfManual;
+ doc.flattenPages();
+ \docSaveAs\newDO({ cPath: manualfilename });
+ doc.closeDoc();
+} else {
+ console.println("Using the current "+manualfilename+" file.");
+}
+var _path=this.path;
+var pos=_path.lastIndexOf("/");
+_path=_path.substring(0,pos)+"/"+manualfilename;
+\addWatermarkFromFile({
+ bOnTop:false,
+ bOnPrint:false,
+ cDIPath:_path
+});
+\executeSave();
+\end{docassembly}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+Because some of the \app{Acrobat} JavaScript methods have security
+restrictions, they can be only executed in the console window, or as part
+of a batch sequence, or from the JavaScript folder reserved by
+\app{Acrobat} for that use. The developer (of {\LaTeX} packages or {\PDF}
+form documents) may want to use these restricted JavaScript methods as
+part of document assembly. To use the restricted methods, they must be
+called from the user JavaScript folder. The scripts are contained in a
+\SC{JS} file that \app{Acrobat} reads when it first starts up.
+
+In this article, we provide detailed steps for locating the user
+JavaScript folder. For {\AEB} and {\AEBP}, the files \texttt{aeb.js} and
+\texttt{aeb\_pro.js} are placed in the folder. Other JavaScript files may
+be placed in the folder as well, for example, the \texttt{config.js} file
+is one that is commonly used for general purposes.
+
+Before we get started, if you are using a version of \app{Acrobat} prior
+to version~8.1, you need not read any further. The security restrictions
+described below were not in effect for those versions.
+
+\section{Installing the JavaScript support files}
+
+The functionality of {\AEB} and {\AEBP} depends, to some extent, on the
+proper installation of their JavaScript support files.
+\begin{itemize}
+ \item \AEB: For authors using the $\app{dvips}+\app{Acrobat Distiller}$
+ workflow, \texttt{aeb.js} is required; this file is not used by
+ \app{pdflatex} or \app{xelatex} users.
+
+ \item \AEBP: For authors using the $\app{dvips}+\app{Acrobat
+ Distiller}$ workflow, \texttt{aeb\_pro.js} is required; for authors
+ that prefer \app{pdflatex}, \app{lualatex}, or \app{xelatex} as the
+ {\PDF} creator \emph{and who own} the \app{Acrobat} application,
+ the \texttt{aeb\_pro.js} is required with the \opt{useacrobat}
+ option of \AEBP. When using the \opt{nopro} option of \AEBP, the
+ JavaScript file \texttt{aeb\_pro.js} is not used.
+
+\end{itemize}
+The placement of the JavaScript files has changed over the years and is a
+function of the version number \meta{ver}. Start \app{Acrobat} and open the
+console debugger window by pressing \texttt{Ctrl+J} (for \app{Windows OS})
+or \texttt{Cmd+J} (for \app{Mac OS}). Now execute the code
+\texttt{app.getPath("user")} in the console window. To do this, press the
+\textsf{getPath} button provided below, which copies the necessary code to
+the console window.
+\begin{equation}
+\begin{minipage}{.8\linewidth}
+\begin{Verbatim}[commandchars={!~@}]
+app.getPath("user");!copyGetPath
+\end{Verbatim}
+\end{minipage}\label{display:getPath}
+\end{equation}
+Now, with the cursor on the line containing the script, press the
+\texttt{Ctrl+Enter} (for \app{Windows OS}) or \texttt{Cmd+Enter} (for
+\app{Mac~OS}) key. This will execute the JavaScript and return the `root'
+path to the user's application data for \app{Acrobat}.
+
+The rest of the instructions depend on your operating system,
+\app{Windows} or \app{Mac}.
+
+\subsection{For users of \app{Windows OS}}
+
+There are several cases, jump to the numbered paragraph that describes your
+version (\meta{ver}) of \app{Acrobat}.
+
+%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/11.0
+%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/Privileged/11.0/JavaScripts
+
+\def\Stepi{\ding{182}\enspace}
+\def\Stepii{\ding{183}\enspace}
+\def\Stepiii{\ding{184}\enspace}
+
+\paragraph*{{\Stepi}For $\boldmath\text{\meta{ver}}$, $\boldmath 8.1 \le
+\text{\meta{ver}} < 10.1.1$.} For the \app{Windows OS}, executing the script
+in display~\eqref{display:getPath} returns a string of the
+form:\footnote{This string is for \app{Windows OS} beyond \app{WinXP}.}
+\begin{equation}
+\begin{minipage}{.8\linewidth}
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/!meta(ver)
+\end{Verbatim}
+\end{minipage}\label{display:path}
+\end{equation}
+Navigate to this folder location. The correct location for the \SC{JS}
+files is in the \texttt{JavaScripts} subfolder. If the folder does not
+exist, create it. The final path for the JavaScript support files is then
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/!meta(ver)/JavaScripts
+\end{Verbatim}
+Finally, copy \texttt{aeb.js} (and \texttt{aeb\_pro.js}, if applicable)
+into this folder. Close \app{Acrobat}, the next time \app{Acrobat}
+is started, it will read in the \SC{JS} files.
+
+\paragraph*{{\Stepii}For $\boldmath\text{\meta{ver}}$, $\boldmath10.1.1 \le
+\text{\meta{ver}} < 12$.} For these versions of \app{Acrobat} security has
+have tightened up even more; the \texttt{JavaScripts} folder is now a
+subfolder of a special \texttt{Privileged} folder. Execute
+\texttt{app.getPath("user")} in the console window, as in
+display~\eqref{display:getPath}. The method brings back a string similar to
+the one in display~\eqref{display:path}. The correct path is obtained by
+simply inserting \texttt{Privileged} into the path in
+display~\eqref{display:path}, between \texttt{Acrobat} and \meta{ver}, as
+displayed below.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/!textbf(Privileged)/!meta(ver)/JavaScripts
+\end{Verbatim}
+But this is a mere description of the correct location, the path must
+exist! The path must be created, if it does not already exist.
+
+Navigate to the folder, one folder above the path shown in
+display~\eqref{display:path}, that is, navigate to,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/
+\end{Verbatim}
+If a \texttt{Privileged} folder exists, enter into it; otherwise, create
+it, then enter it.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/Privileged
+\end{Verbatim}
+Now create a folder named \meta{ver}, unless it already exists, and enter
+it. The version is always the major release \texttt{8.0}, \texttt{9.0},
+\texttt{10.0}, or \texttt{11.0}.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/Privileged/!meta(ver)
+\end{Verbatim}
+Finally, create the \texttt{JavaScript} folder, unless it already exists,
+to obtain the final path to the user folder JavaScripts:
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/Privileged/!meta(ver)/JavaScripts
+\end{Verbatim}
+Copy \texttt{aeb.js} (and \texttt{aeb\_pro.js}, if applicable) into this
+folder. Close \textsf{Acrobat}, the next time \textsf{Acrobat} is started,
+it will read in the \SC{JS} files.
+
+\paragraph*{{\Stepiii}For $\boldmath\text{\meta{ver}}$, $\boldmath
+\text{\meta{ver}} > 12 $.} Beginning with the next major version following
+version~11, Adobe changed its versioning scheme. There are now two tracks,
+\emph{subscription} and \emph{classic} (also called \emph{perpetual}). For
+subscription, the version, as I understand it, will always be \texttt{DC}
+(Document Cloud), and for the classic, for which you've purchased a
+\emph{perpetual license}, the \meta{ver} is a calendar year. The first
+classic version is \texttt{2015}, the next one is most likely \texttt{2017},
+since major releases occur about every two years.
+
+Execute the code of display~\eqref{display:getPath} by pressing the button
+provided to obtain a path of the form,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/DC
+\end{Verbatim}
+for the subscription license or,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/2015
+\end{Verbatim}
+for the classic (or perpetual) license. Of course, this last path is for
+the first classic version.
+
+Now, to obtain the path to the \texttt{JavaScripts} folder, follow the
+instructions for numbered paragraph \ding{183}, but with \meta{ver} equal
+to either \texttt{DC} or \texttt{2015} (a calendar year).
+
+%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/Privileged/11.0/JavaScripts
+
+\subsection{For users of \app{Mac OS}}
+
+\app{Mac OS} does not have the security restrictions that \app{Windows OS}
+does, as described in paragraphs \ding{183} and \ding{184}.
+
+Follow the instructions of paragraph \ding{182}, by first pressing the button
+provided in display~\eqref{display:getPath}, then, in the console window,
+execute this script as described in the paragraph following
+display~\eqref{display:getPath}. After working through \ding{182}, one
+obtains any of the following paths depending on the version (\meta{ver}) you
+are using:\medskip
+
+\noindent
+For $\text{\meta{ver}} = \texttt{8.0}, \texttt{9.0}, \texttt{10.0},
+\texttt{11.0}$:
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/!meta(ver)/JavaScripts
+\end{Verbatim}
+\medskip
+
+\noindent
+For $\text{\meta{ver}} > 12$, the path is,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/DC/JavaScripts
+\end{Verbatim}
+for a subscription license, and,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/2015/JavaScripts
+\end{Verbatim}
+or more generally,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/!meta(year)/JavaScripts
+\end{Verbatim}
+for the perpetual license.
+
+In all cases, if the \texttt{JavaScripts} folder does not exist, it must
+be created. Copy any \SC{JS} support files into the \texttt{JavaScripts}
+folder. The script files are read the next time \app{Acrobat} is started.
+
+\section{Testing the placement of the JavaScript support files}
+
+Assuming you have successfully followed the instructions and created the
+\texttt{JavaScripts} folder, test the validity of what you have done by
+closing \app{Acrobat} then opening it again. Open the console window
+(\texttt{Ctrl+J} or \texttt{Cmd+J}, for \app{Mac OS}) and execute this
+command in the console window:
+\begin{Verbatim}[xleftmargin=\amtIndent,commandchars={!~@}]
+app.getPath("user","javascript");!quad!copyGetPathJS
+\end{Verbatim}
+If you have followed the instructions, the return string should read the
+complete path to the \texttt{JavaScripts} folder.
+\end{document}
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.pdf
deleted file mode 100644
index 4af04e42b9..0000000000
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex
index 524048403e..4123342c09 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex1.tex
@@ -2,13 +2,13 @@
% use nopro if you don't have acrobat
\documentclass{article}
\usepackage[%
- web={
- pro,
- designv,
- tight,
- centertitlepage,
- },
- aebxmp,
+ web={
+ pro,
+ designv,
+ tight,
+ centertitlepage,
+ },
+ aebxmp
]{aeb_pro}
@@ -222,12 +222,12 @@ Will the effects defined by these environments appear on this page or the next?
% of the same environment.
%
\begin{addJSToPageOpen}
-var str = "Local open action"
+var str = "Local open action";
console.println(str + ": page " + (this.pageNum+1));
\end{addJSToPageOpen}
\begin{addJSToPageClose}
-var str = "Local Close action!"
+var str = "Local Close action!";
console.println(str + ": page " + (this.pageNum+1));
\end{addJSToPageClose}
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf
index e9b48043f7..0a5daae5cd 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex
index c20a15e0f4..26722e775c 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex3.tex
@@ -2,6 +2,8 @@
% use useacrobat option with pdftex and xetex if you have acrobat
\documentclass{article}
\usepackage{graphicx,fancyvrb}
+% Edit this command as needed
+\def\pthToExtras{../extras}
\usepackage[%
web={
pro,
@@ -13,7 +15,7 @@
},
eforms,
%
-% Attach source file, and the tex log (I've renamed \jobname.log
+% Attach source file, and the tex log (renamed \jobname.log
% to \jobname.tex.log to avoid the distiller from overwriting it.
% The distiller only creates the log if there some sort of error message; consequently,
% the log for distiller is not attached (no error), but the tex log is destroyed by distiller
@@ -21,7 +23,7 @@
%
% Just for laughs, let's include Robot Man.
%
- attachments={extras.zip.txt, ../extras/robot_man.pdf},
+ attachments={extras.zip.txt, \pthToExtras/robot_man.pdf},
aebxmp,
]{aeb_pro}
@@ -42,15 +44,13 @@
}
\DeclareInitView{layoutmag={navitab=UseAttachments},windowoptions=fit}
+\newbox\aebpbox
\newcommand{\cs}[1]{\texttt{\char`\\#1}}
\newcommand\newtopic{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi
\vskip\medskipamount\noindent}
-\newenvironment{sverbatim}
-{\par\footnotesize\verbatim}{\endverbatim}
%
% As you do not have the necessary background files, the \addWatermarkFromFile
% will silently fail.
-%
\begin{forpaper}
\begin{docassembly}
var pos=this.path.indexOf(this.documentFileName,"/");
@@ -58,15 +58,15 @@ var myPath=this.path.substring(0,pos);
try {
\addWatermarkFromFile({
bOnTop:false,
- cDIPath:myPath+"../extras/Manual_BG_Print_AeB.pdf"
+ cDIPath:myPath+"\pthToExtras/Manual_BG_Print_AeB.pdf"
}); } catch(e) { console.println(e.toString()) };
try {
- \importSound({cName: "StarTrek", cDIPath: "../extras/trek.wav" });
+ \importSound({cName: "StarTrek", cDIPath: "\pthToExtras/trek.wav" });
} catch(e) { console.println(e.toString()) };
try {
- \importIcon({cName: "logo", cDIPath: "../extras/AeB_Logo.pdf"});
- \importIcon({cName: "logopush", cDIPath: "../extras/AeB_Logo_bw15.pdf"});
- \importIcon({cName: "logorollover", cDIPath: "../extras/AeB_Logo_bw50.pdf"});
+ \importIcon({cName: "logo", cDIPath: "\pthToExtras/AeB_Logo.pdf"});
+ \importIcon({cName: "logopush", cDIPath: "\pthToExtras/AeB_Logo_bw15.pdf"});
+ \importIcon({cName: "logorollover", cDIPath: "\pthToExtras/AeB_Logo_bw50.pdf"});
var f = this.getField("cheesySound");
f.buttonPosition = position.iconOnly;
var oIcon = this.getIcon("logo");
@@ -76,7 +76,10 @@ try {
oIcon = this.getIcon("logorollover");
f.buttonSetIcon(oIcon,2);
} catch(e) { console.println(e.toString()) };
-try {\importDataObject({cName: "AeB Pro Example #2",cDIPath: "aebpro_ex2.pdf"});} catch(e){}
+try {
+ \importDataObject({cName: "AeBProEx2",cDIPath: "aebpro_ex2.pdf"});
+ this.getDataObject("AeBProEx2").description="AeB Pro Example #2";
+} catch(e){}
\end{docassembly}
\end{forpaper}
\begin{forscreen}
@@ -86,16 +89,16 @@ var myPath=this.path.substring(0,pos);
try {
\addWatermarkFromFile({
bOnTop:false,
- cDIPath:myPath+"../extras/Manual_BG_DesignV_AeB.pdf"
+ cDIPath:myPath+"\pthToExtras/Manual_BG_DesignV_AeB.pdf"
});
} catch(e) { console.println(e.toString()) };
try {
- \importSound({cName: "StarTrek", cDIPath: "../extras/trek.wav" });
+ \importSound({cName: "StarTrek", cDIPath: "\pthToExtras/trek.wav" });
} catch(e) { console.println(e.toString()) };
try {
- \importIcon({cName: "logo", cDIPath: "../extras/AeB_Logo.pdf"});
- \importIcon({cName: "logopush", cDIPath: "../extras/AeB_Logo_bw15.pdf"});
- \importIcon({cName: "logorollover", cDIPath: "../extras/AeB_Logo_bw50.pdf"});
+ \importIcon({cName: "logo", cDIPath: "\pthToExtras/AeB_Logo.pdf"});
+ \importIcon({cName: "logopush", cDIPath: "\pthToExtras/AeB_Logo_bw15.pdf"});
+ \importIcon({cName: "logorollover", cDIPath: "\pthToExtras/AeB_Logo_bw50.pdf"});
var f = this.getField("cheesySound");
f.buttonPosition = position.iconOnly;
var oIcon = this.getIcon("logo");
@@ -105,7 +108,10 @@ try {
oIcon = this.getIcon("logorollover");
f.buttonSetIcon(oIcon,2);
} catch(e) { console.println(e.toString()) };
-try {\importDataObject({cName: "AeB Pro Example #2",cDIPath: "aebpro_ex2.pdf"});} catch(e){}
+try {
+ \importDataObject({cName: "AeBProEx2",cDIPath: "aebpro_ex2.pdf"});
+ this.getDataObject("AeBProEx2").description="AeB Pro Example #2";
+} catch(e){}
\end{docassembly}
\end{forscreen}
@@ -175,7 +181,7 @@ relative paths to the file required to attach. For example,
\usepackage[%
driver=dvips,
web={pro,usesf,...},
- attachments={extras.zip.txt,../extras/robot_man.pdf,
+ attachments={extras.zip.txt,\pthToExtras/robot_man.pdf,
/C/Documents and Settings/dps/My Documents/My Pictures/birthday17.jpg},
...
]{aeb_pro}
@@ -244,7 +250,7 @@ var myPath=this.path.substring(0,pos);
\begin{docassembly}
\addWatermarkFromFile({
bOnTop:false,
- cDIPath:myPath+"../extras/Manual_BG_Print_AeB.pdf"
+ cDIPath:myPath+"\pthToExtras/Manual_BG_Print_AeB.pdf"
});
\end{docassembly}
\end{Verbatim}
@@ -265,12 +271,12 @@ re-inserts \verb!({! in a different location. (See the
For another cheesy demonstration, let's import a sound, associate it
with a button. I leave it to you to press the button at your
discretion.
-\begin{center}
-\setbox0=\hbox{\includegraphics[height=16bp]{extras/AeB_Logo.eps}}
+\begin{center}%\previewOn
+\setbox\aebpbox=\hbox{\includegraphics[height=16bp]{\pthToExtras/AeB_Logo.eps}}
\newtopic\pushButton[\S{S}\W{0}\A{\JS{%
var s = this.getSound("StarTrek");\r
s.play();
-}}]{cheesySound}{\the\wd0 }{\the\ht0 }
+}}]{cheesySound}{\wd\aebpbox}{\ht\aebpbox}
\end{center}
\begin{Verbatim}
@@ -278,11 +284,11 @@ discretion.
try {
\addWatermarkFromFile({
bOnTop:false,
- cDIPath:myPath+"../extras/Manual_BG_DesignV_AeB.pdf"
+ cDIPath:myPath+"\pthToExtras/Manual_BG_DesignV_AeB.pdf"
});
} catch(e) { console.println(e.toString()) };
try {
- \importSound({cName: "StarTrek", cDIPath: "../extras/trek.wav" });
+ \importSound({cName: "StarTrek", cDIPath: "\pthToExtras/trek.wav" });
} catch(e) { console.println(e.toString()) };
\end{docassembly}
\end{Verbatim}
@@ -303,9 +309,9 @@ code, with some comments added.
...
...
// Import the sounds into the document
-\importIcon({cName: "logo", cDIPath: "../extras/AeB_Logo.pdf"});
-\importIcon({cName: "logopush", cDIPath: "../extras/AeB_Logo_bw15.pdf"});
-\importIcon({cName: "logorollover", cDIPath: "../extras/AeB_Logo_bw50.pdf"});
+\importIcon({cName: "logo", cDIPath: "\pthToExtras/AeB_Logo.pdf"});
+\importIcon({cName: "logopush", cDIPath: "\pthToExtras/AeB_Logo_bw15.pdf"});
+\importIcon({cName: "logorollover", cDIPath: "\pthToExtras/AeB_Logo_bw50.pdf"});
var f = this.getField("cheesySound"); // get the field object of the button
f.buttonPosition = position.iconOnly; // set it to receive icon appearances
var oIcon = this.getIcon("logo"); // get the "logo" icon
@@ -326,7 +332,8 @@ your own files using the \texttt{docassembly} environment.
...
...
try {
- \importDataObject({cName: "AeB Pro Example #2",cDIPath: "aebpro_ex2.pdf"});
+ \importDataObject({cName: "AeBProEx2",cDIPath: "aebpro_ex2.pdf"});
+ this.getDataObject("AeBProEx2").description="AeB Pro Example #2";
} catch(e){}
\end{docassembly}
\end{Verbatim}
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex
index 81c837096c..b0df8c3e4f 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex4.tex
@@ -2,18 +2,18 @@
\documentclass{article}
\usepackage{amsmath}
\usepackage[%
- web={
- pro,
- designv,
- tight,
-% forcolorpaper,
- centertitlepage,
- dvipsnames,
- usesf
- },
- uselayers,
- eforms,
- aebxmp,
+ web={
+ pro,
+ designv,
+ tight,
+% forcolorpaper,
+ centertitlepage,
+ dvipsnames,
+ usesf
+ },
+ uselayers,
+ eforms,
+ aebxmp
]{aeb_pro}
\usepackage{graphicx}
\usepackage[nomessages]{fp}
@@ -24,6 +24,8 @@
\usepackage{pstricks-add}
\usepackage[absolute,overlay]{textpos}
+\let\tops\texorpdfstring
+
\DeclareDocInfo
{
title=The AeB Pro Package\texorpdfstring{\\[1ex]}{: }Layers and Rollovers,
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf
index 65ccfa048b..2b1b3a0adf 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex
index 66cbd35023..bdcc080a52 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex6.tex
@@ -14,6 +14,9 @@
linktoattachments,
eforms
]{aeb_pro}
+\usepackage{fancyvrb}
+\usepackage[active]{srcltx}
+
\DeclareDocInfo
{
@@ -126,19 +129,18 @@ accessed through the menu item \texttt{View > Portfolio > Cover Sheet}.
\newtopic\textbf{\textcolor{red}{TIP:}} Use the \cs{autolabelNum*}
command to assign a more informative description of the attachments,
like so.
-\begin{sverbatim}
- \autolabelNum*{1}{European Currency \u20AC}
- \autolabelNum*{2}{\u0022$|e^\u007B\u005Cln(17)\u007D|$\u0022}
- \autolabelNum*[AeST]{3}{The AeBST Components}
- \autolabelNum*[atease]{4}{The @EASE Control Panel}
-\end{sverbatim}
-
+\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small]
+\autolabelNum*{1}{European Currency \u20AC}
+\autolabelNum*{2}{\u0022$|e^\u007B\u005Cln(17)\u007D|$\u0022}
+\autolabelNum*[AeST]{3}{The AeBST Components}
+\autolabelNum*[atease]{4}{The @EASE Control Panel}
+\end{Verbatim}
Note that there is an alternative that is commented out to the assignment of the
second attachment, it is
-\begin{sverbatim}
- \autolabelNum*
- {2}{\u\DQUOTE$|e^\u\LBRACE\u005Cln(17)\u\RBRACE|$\u\DQUOTE}
-\end{sverbatim}
+\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small]
+\autolabelNum*{2}
+ {\u\DQUOTE$|e^\u\LBRACE\u005Cln(17)\u\RBRACE|$\u\DQUOTE}
+\end{Verbatim}
One can use the ``helper'' commands, as described in \texttt{aeb\_pro.tex}; however,
there is a slight problem. Within the \texttt{<description>} argument, we obey spaces, so
if we were to say \verb!\u\LBRACE\u\BSLASH ln(17)\u\RBRACE! there would be a space
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf
index 83ff4f2396..54766e4d20 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex
index 196eef6dbe..0f8941b51a 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_ex8.tex
@@ -33,7 +33,7 @@
\defUniStr{myCoolIV}{\u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022}
\defUniStr{Reset myCoolIV}{Reset the \u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022 field}
-\pdfSpacesOff
+%\pdfSpacesOff
\begin{document}
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.pdf
new file mode 100644
index 0000000000..e666732001
--- /dev/null
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/aebpro_index_ex.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf b/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf
index 48b4888c95..0734eb4342 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.pdf
Binary files differ
diff --git a/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex b/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex
index 20a2216fb3..6f2bbf793f 100644
--- a/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex
+++ b/macros/latex/contrib/aeb_pro/aeb_pro/examples/test_install.tex
@@ -24,4 +24,15 @@ haven't closed and opened \textsf{Acrobat} after you installed \texttt{aeb\_pro.
or the cover page document \texttt{myCoverPage.pdf} does not exist or has
been moved from this folder
+On failure, did you close \textsf{Acrobat} before opening this file? (The JS
+files are only read once when the \textsf{Acrobat} application is opened.)
+When all else fails, try rereading the installation instructions again
+(\texttt{install\_jsfiles.pdf}), found in the \texttt{doc} folder, but more
+carefully this time.
+
+Still failing? Do you have \textsf{Acrobat DC}? Perhaps your \textsf{Acrobat}
+needs to be configured. Try reading \texttt{acrobat-in-workflow.pdf}, found
+in the \texttt{doc} folder.
+
+
\end{document}
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
index 5fb27f8d90..d6e1b6ee61 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex
index 57801d4faf..8c50c5690b 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.tex
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex
@@ -27,10 +27,9 @@
{
linespread = 1.355,
tabspread = 1.05,
- mathspread = 1,
+ mathspread = 1.05,
capspread = 1,
- fnspread = 1.05,
- fnsep = 0.5ex
+ fnspread = 1
},
elfont =
{
@@ -95,7 +94,7 @@
\github~\url{https://github.com/texl3/easybook} \\
\edge~\url{https://latexstudio.net}
}
- \date{2021/02/08\hskip\ccwd\relax v1.23a}
+ \date{2021/02/09\hskip\ccwd\relax v1.23b}
}
\begin{document}
diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf
index cea72f04f6..10801ed596 100644
--- a/macros/latex/contrib/easybook/doc/easybook.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook.tex b/macros/latex/contrib/easybook/doc/easybook.tex
index 4cd23121b7..3c9f686289 100644
--- a/macros/latex/contrib/easybook/doc/easybook.tex
+++ b/macros/latex/contrib/easybook/doc/easybook.tex
@@ -3,7 +3,7 @@
\title{\sffamily easybook书ç±æ–‡æ¡£ç±»}
\author{瞿毅}
-\date{2021/02/08\hskip\ccwd\relax v1.23a\thanks{\url{https://gitee.com/texl3/easybook}}}
+\date{2021/02/09\hskip\ccwd\relax v1.23b\thanks{\url{https://gitee.com/texl3/easybook}}}
\begin{document}
\maketitle
@@ -158,24 +158,25 @@
\begin{function}{ctex@link,ctex@url,ctex@cite}
\begin{syntax}
\tn{definecolor}\oarg{类型}\marg{å称}\marg{模å¼åˆ—表}\marg{å‚数列表}
- \end{syntax}超链接颜色用到这三个颜色,å¯ä»¥ä½¿ç”¨ \tn{definecolor} 命令进行更改。
+ \end{syntax}
\changes{v1.10}{2021/01/08}{å¯ä»¥è‡ªå®šä¹‰è¶…链接颜色。}
+ 超链接颜色用到这三个颜色,å¯ä»¥ä½¿ç”¨ \tn{definecolor} 命令进行更改。
\end{function}
\item[linktopage] 将目录中的超链接置于页ç ä¸Šï¼Œé»˜è®¤æ˜¯ç½®äºŽæ ‡é¢˜ä¸Šã€‚
\end{optdesc}
\subsection{è¡Œè·}
-\begin{function}[EXP,added = 2021-01-05,updated = 2021-01-12]{spread/linespread,spread/tabspread,spread/mathspread,spread/capspread,spread/fnspread,spread/fnsep}
+\begin{function}[EXP,added = 2021-01-05,updated = 2021-02-09]{spread/linespread,spread/tabspread,spread/mathspread,spread/capspread,spread/fnspread}
\begin{syntax}
linespread = <(1.3)>
- tabspread = <(1)>
- mathspread = <(1)>
+ tabspread = <(1.05)>
+ mathspread = <(1.05)>
capspread = <(1)>
fnspread = <(1)>
- fnsep = <(0ex)>
\end{syntax}
\changes{v1.21b}{2021/01/12}{增加脚注线间的è·ç¦»é€‰é¡¹ã€‚}
-除了 \opt{fnsep} 选项,其它是行è·å› å­ç”¨äºŽè®¾ç½®å„ç§è¡Œè·å€æ•°ï¼Œåªèƒ½æ˜¯æµ®ç‚¹æ•°ï¼Œä¸èƒ½å¸¦æœ‰é•¿åº¦å•ä½ã€‚\tn{ctexset} 原有的行è·é€‰é¡¹\opt{linespread}失效。å„è¡Œè·æ—¢å¯åœ¨å¯¼è¨€åŒºå…¨å±€è®¾ç½®ä¹Ÿå¯æ­£æ–‡ä¸­è®¾ç½®å¯¹åŽé¢ç”Ÿæ•ˆï¼Œè¡Œè·çš„æ„义为
+\changes{v1.23b}{2021/02/09}{å–消使用 \pkg{zhlineskip} å®åŒ…设置数学间è·ã€‚}
+è¡Œè·å› å­ç”¨äºŽè®¾ç½®å„ç§è¡Œè·å€æ•°ï¼Œåªèƒ½æ˜¯æµ®ç‚¹æ•°ï¼Œä¸èƒ½å¸¦æœ‰é•¿åº¦å•ä½ã€‚\tn{ctexset} 原有的行è·é€‰é¡¹\opt{linespread}失效。å„è¡Œè·æ—¢å¯åœ¨å¯¼è¨€åŒºå…¨å±€è®¾ç½®ä¹Ÿå¯æ­£æ–‡ä¸­è®¾ç½®å¯¹åŽé¢ç”Ÿæ•ˆï¼Œè¡Œè·çš„æ„义为
\end{function}
\begin{optdesc}
@@ -184,7 +185,6 @@
\item[mathspread] 数学环境行è·ã€‚
\item[capspread] 图表代ç æ ‡é¢˜è¡Œè·ã€‚
\item[fnspread] 脚注行è·ã€‚
- \item[fnsep] 脚注与脚注线间的è·ç¦»ï¼Œéœ€å¸¦æœ‰é•¿åº¦å•ä½ã€‚
\end{optdesc}
\subsection{其它字体}
@@ -411,7 +411,7 @@
\subsection{习题}
\begin{function}[added = 2021-01-05,updated = 2021-02-08]{exercise}
- \begin{syntax}
+\begin{syntax}
\tn{begin}\marg{exercise}\oarg{颜色å}\oarg{ç¼–å·}\oarg{标题}
\tn{item} <习题内容>
\tn{end}\marg{exercise}
diff --git a/macros/latex/contrib/easybook/easybook.cls b/macros/latex/contrib/easybook/easybook.cls
index d0d8ae2c1e..7f1d5d1255 100644
--- a/macros/latex/contrib/easybook/easybook.cls
+++ b/macros/latex/contrib/easybook/easybook.cls
@@ -9,7 +9,7 @@
%% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/02/08}{1.23a}{}
+\ProvidesExplClass{easybook}{2021/02/09}{1.23b}{}
\cs_generate_variant:Nn \keys_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
@@ -142,9 +142,9 @@
\RequirePackage
{
xcolor,
- pdfpages,footmisc,
- setspace,zhlineskip,
- amsthm,thmtools,cases,
+ pdfpages,
+ footmisc,setspace,
+ amsmath,amsthm,thmtools,cases,
chemformula,chemfig,siunitx,ulem,
microtype,
geometry,marginnote,
@@ -688,22 +688,19 @@
\tl_new:N \l__math_spread_tl
\tl_new:N \l__cap_spread_tl
\tl_new:N \l__foot_spread_tl
-\tl_new:N \l__foot_fnsep_tl
\__ctex_define:nn {spread}
{
linespread .fp_set:N = \l__line_spread_fp,
linespread .initial:n = 1.3,
tabspread .fp_set:N = \l__tab_spread_fp,
- tabspread .initial:n = 1,
+ tabspread .initial:n = 1.05,
mathspread .tl_set:N = \l__math_spread_tl,
- mathspread .initial:n = 1,
+ mathspread .initial:n = 1.05,
capspread .tl_set:N = \l__cap_spread_tl,
capspread .initial:n = 1,
fnspread .tl_set:N = \l__foot_spread_tl,
- fnspread .initial:n = 1,
- fnsep .tl_set:N = \l__foot_fnsep_tl,
- fnsep .initial:n = 0ex
+ fnspread .initial:n = 1
}
\skip_set:Nn \parskip{0pt plus 2pt minus 1pt}
@@ -877,8 +874,51 @@
}
\allowdisplaybreaks[4]
\cs_gset:Npn \ULthickness{.75pt}
-\SetMathEnvironmentSinglespace{\l__math_spread_tl}
\skip_set:Nn \jot{4pt plus 1pt minus 1pt}
+\cs_new:Npn \l__math_restore:n #1
+ {
+ \AtBeginEnvironment{#1}
+ {\linespread{\l__math_spread_tl}\selectfont\ignorespaces}
+ }
+\l__math_restore:n {array}
+\l__math_restore:n {matrix}
+\l__math_restore:n {pmatrix}
+\l__math_restore:n {bmatrix}
+\l__math_restore:n {Bmatrix}
+\l__math_restore:n {vmatrix}
+\l__math_restore:n {Vmatrix}
+\l__math_restore:n {cases}
+\l__math_restore:n {aligned}
+\l__math_restore:n {alignedat}
+\l__math_restore:n {gathered}
+\__patch_cmd:Nnn \start@gather
+ {\collect@body}
+ {\linespread{\l__math_spread_tl}\selectfont\collect@body}
+\__patch_cmd:Nnn \start@align
+ {\collect@body}
+ {\linespread{\l__math_spread_tl}\selectfont\collect@body}
+\__patch_cmd:Nnn \start@multline
+ {\collect@body}
+ {\linespread{\l__math_spread_tl}\selectfont\collect@body}
+\__patch_cmd:Nnn \gather@split
+ {\spread@equation}
+ {\linespread{\l__math_spread_tl}\selectfont\spread@equation}
+\l__math_restore:n {matrix*}
+\l__math_restore:n {pmatrix*}
+\l__math_restore:n {bmatrix*}
+\l__math_restore:n {Bmatrix*}
+\l__math_restore:n {vmatrix*}
+\l__math_restore:n {Vmatrix*}
+\l__math_restore:n {cases*}
+\l__math_restore:n {dcases}
+\l__math_restore:n {dcases*}
+\l__math_restore:n {rcases}
+\l__math_restore:n {rcases*}
+\l__math_restore:n {drcases}
+\l__math_restore:n {drcases*}
+\l__math_restore:n {multlined}
+\l__math_restore:n {lgathered}
+\l__math_restore:n {rgathered}
\ctex_after_end_preamble:n
{
\skip_set:Nn \abovedisplayskip{5pt plus 1pt minus 1pt}
@@ -1097,7 +1137,11 @@
\ctex_at_end_preamble:n
{
\skip_set:Nn \footnotemargin{0.5\ccwd}
- \skip_set:Nn \footnotesep{\l__foot_fnsep_tl}
+ \group_begin:
+ \footnotesize
+ \exp_args:Nx \linespread{\tl_use:N \l__foot_spread_tl}\selectfont
+ \skip_gset:Nn \footnotesep{\ht\strutbox}
+ \group_end:
\cs_gset:Npn \hangfootparskip{0ex}
\cs_gset:Npn \footnoterule
{
@@ -1120,10 +1164,10 @@
}
}
\__patch_cmd:Nnn \@footnotetext
- {\def\baselinestretch{\ZhLS@footlinespread}\reset@font}
+ {\reset@font}
{\def\baselinestretch{\l__foot_spread_tl}\l__foot_font_tl}
\__patch_cmd:Nnn \@mpfootnotetext
- {\def\baselinestretch{\ZhLS@footlinespread}\reset@font}
+ {\reset@font}
{\def\baselinestretch{\l__foot_spread_tl}\l__foot_font_tl}
\__patch_cmd:Nnn \@makefnmark
{\normalfont}{\l__foot_font_tl}
@@ -1249,7 +1293,7 @@
\clist_map_function:nN
{
{none, 000000,000000,000000},
- {seaside, 13abae,004986,a40000},
+ {seaside, 1381b2,004986,a40000},
{energy, f39800,00a0e9,893895},
{cyberpunk, 005982,eb6877,a4005b}
}
diff --git a/macros/latex/contrib/hyperref/ChangeLog.txt b/macros/latex/contrib/hyperref/ChangeLog.txt
index b784bc129e..130150509b 100644
--- a/macros/latex/contrib/hyperref/ChangeLog.txt
+++ b/macros/latex/contrib/hyperref/ChangeLog.txt
@@ -1,3 +1,11 @@
+2021-02-08 Ulrike Fischer/David Carlisle
+ * moved definitions for \G accent to an extra file
+ puenc-extra.def, which can be loaded manually
+ * moved the loading of puenc.def so that it can be suppressed
+ with pdflatex
+ * correct the hspace command in pdfstringdef, so that it
+ accepts some calc syntax.
+
2021-02-07 Ulrike Fischer/David Carlisle
* renamed the manual to hyperref-doc
* moved the license of the documentation into the file
diff --git a/macros/latex/contrib/hyperref/README.md b/macros/latex/contrib/hyperref/README.md
index fb1c2ac9fd..6a76499935 100644
--- a/macros/latex/contrib/hyperref/README.md
+++ b/macros/latex/contrib/hyperref/README.md
@@ -1,6 +1,6 @@
# README for hyperref bundle
-Version 2021-02-07 v7.00h
+Version 2021-02-08 v7.00i
## INTRODUCTION
diff --git a/macros/latex/contrib/hyperref/doc/backref.pdf b/macros/latex/contrib/hyperref/doc/backref.pdf
index f610fbc67d..185b68c3a7 100644
--- a/macros/latex/contrib/hyperref/doc/backref.pdf
+++ b/macros/latex/contrib/hyperref/doc/backref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.html b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
index 7b4ce3d361..7b919801b2 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
@@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" ><span
class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span
class="ec-lmr-12">)</span></div><br />
<div class="date" ><span
-class="ec-lmr-12">2021-02-07 v7.00h</span></div>
+class="ec-lmr-12">2021-02-08 v7.00i</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
@@ -122,69 +122,71 @@ href="#x1-450005.25" id="QQ2-1-45">Default driver setting</a></span>
href="#x1-460005.26" id="QQ2-1-46">Backref entries</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.27 <a
href="#x1-470005.27" id="QQ2-1-47">\phantomsection</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.28 <a
+href="#x1-480005.28" id="QQ2-1-48">puenc encoding and puenc-extra.def</a></span>
<br /> &#x00A0;<span class="sectionToc" >6 <a
-href="#x1-480006" id="QQ2-1-48">Acrobat-specific behavior</a></span>
+href="#x1-490006" id="QQ2-1-49">Acrobat-specific behavior</a></span>
<br /> &#x00A0;<span class="sectionToc" >7 <a
-href="#x1-490007" id="QQ2-1-49">PDF and HTML forms</a></span>
+href="#x1-500007" id="QQ2-1-50">PDF and HTML forms</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1 <a
-href="#x1-500007.1" id="QQ2-1-50">Forms environment parameters</a></span>
+href="#x1-510007.1" id="QQ2-1-51">Forms environment parameters</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.2 <a
-href="#x1-510007.2" id="QQ2-1-51">Forms optional parameters</a></span>
+href="#x1-520007.2" id="QQ2-1-52">Forms optional parameters</a></span>
<br /> &#x00A0;<span class="sectionToc" >8 <a
-href="#x1-520008" id="QQ2-1-52">Defining a new driver</a></span>
+href="#x1-530008" id="QQ2-1-53">Defining a new driver</a></span>
<br /> &#x00A0;<span class="sectionToc" >9 <a
-href="#x1-530009" id="QQ2-1-53">Special support for other packages</a></span>
+href="#x1-540009" id="QQ2-1-54">Special support for other packages</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >9.1 <a
-href="#x1-540009.1" id="QQ2-1-54">Package Compatibility</a></span>
+href="#x1-550009.1" id="QQ2-1-55">Package Compatibility</a></span>
<br /> &#x00A0;<span class="sectionToc" >10 <a
-href="#x1-9800010" id="QQ2-1-98">Limitations</a></span>
+href="#x1-9900010" id="QQ2-1-99">Limitations</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >10.1 <a
-href="#x1-9900010.1" id="QQ2-1-99">Wrapped/broken link support</a></span>
+href="#x1-10000010.1" id="QQ2-1-100">Wrapped/broken link support</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >10.2 <a
-href="#x1-10000010.2" id="QQ2-1-100">Links across pages</a></span>
+href="#x1-10100010.2" id="QQ2-1-101">Links across pages</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >10.3 <a
-href="#x1-10100010.3" id="QQ2-1-101">Footnotes</a></span>
+href="#x1-10200010.3" id="QQ2-1-102">Footnotes</a></span>
<br /> &#x00A0;<span class="sectionToc" >11 <a
-href="#x1-10200011" id="QQ2-1-102">Hints</a></span>
+href="#x1-10300011" id="QQ2-1-103">Hints</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.1 <a
-href="#x1-10300011.1" id="QQ2-1-103">Spaces in option values</a></span>
+href="#x1-10400011.1" id="QQ2-1-104">Spaces in option values</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.2 <a
-href="#x1-10400011.2" id="QQ2-1-104">Index with makeindex</a></span>
+href="#x1-10500011.2" id="QQ2-1-105">Index with makeindex</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.3 <a
-href="#x1-10500011.3" id="QQ2-1-105">Warning <span
+href="#x1-10600011.3" id="QQ2-1-106">Warning <span
class="ec-lmvtt-10">"bookmark level for unknown &#x003C;foobar&#x003E; defaults to 0"</span></a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.4 <a
-href="#x1-10600011.4" id="QQ2-1-106">Link anchors in figures</a></span>
+href="#x1-10700011.4" id="QQ2-1-107">Link anchors in figures</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.5 <a
-href="#x1-10700011.5" id="QQ2-1-107">Additional unicode characters in bookmarks and pdf information entries:</a></span>
+href="#x1-10800011.5" id="QQ2-1-108">Additional unicode characters in bookmarks and pdf information entries:</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.6 <a
-href="#x1-10800011.6" id="QQ2-1-108">Footnotes</a></span>
+href="#x1-10900011.6" id="QQ2-1-109">Footnotes</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.7 <a
-href="#x1-10900011.7" id="QQ2-1-109">Subordinate counters</a></span>
+href="#x1-11000011.7" id="QQ2-1-110">Subordinate counters</a></span>
<br /> &#x00A0;<span class="sectionToc" >12 <a
-href="#x1-11000012" id="QQ2-1-110">History and acknowledgments</a></span>
+href="#x1-11100012" id="QQ2-1-111">History and acknowledgments</a></span>
<br /> &#x00A0;<span class="sectionToc" >13 <a
-href="#x1-11100013" id="QQ2-1-111">GNU Free Documentation License</a></span>
+href="#x1-11200013" id="QQ2-1-112">GNU Free Documentation License</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.1 <a
-href="#x1-11300013.1" id="QQ2-1-113">Applicability and definitions</a></span>
+href="#x1-11400013.1" id="QQ2-1-114">Applicability and definitions</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.2 <a
-href="#x1-11400013.2" id="QQ2-1-114">Verbatim copying</a></span>
+href="#x1-11500013.2" id="QQ2-1-115">Verbatim copying</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.3 <a
-href="#x1-11500013.3" id="QQ2-1-115">Copying in quantity</a></span>
+href="#x1-11600013.3" id="QQ2-1-116">Copying in quantity</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.4 <a
-href="#x1-11600013.4" id="QQ2-1-116">Modifications</a></span>
+href="#x1-11700013.4" id="QQ2-1-117">Modifications</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.5 <a
-href="#x1-11700013.5" id="QQ2-1-117">Combining documents</a></span>
+href="#x1-11800013.5" id="QQ2-1-118">Combining documents</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.6 <a
-href="#x1-11800013.6" id="QQ2-1-118">Collections of documents</a></span>
+href="#x1-11900013.6" id="QQ2-1-119">Collections of documents</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.7 <a
-href="#x1-11900013.7" id="QQ2-1-119">Aggregation with independent works</a></span>
+href="#x1-12000013.7" id="QQ2-1-120">Aggregation with independent works</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.8 <a
-href="#x1-12000013.8" id="QQ2-1-120">Translation</a></span>
+href="#x1-12100013.8" id="QQ2-1-121">Translation</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.9 <a
-href="#x1-12100013.9" id="QQ2-1-121">Termination</a></span>
+href="#x1-12200013.9" id="QQ2-1-122">Termination</a></span>
<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.10 <a
-href="#x1-12200013.10" id="QQ2-1-122">Future revisions of this license</a></span>
+href="#x1-12300013.10" id="QQ2-1-123">Future revisions of this license</a></span>
</div>
@@ -2138,7 +2140,7 @@ class="td01"> </td></tr>
is not the same as TeX&#8217;s. The unit is bp and the origin is in the lower left corner. See also <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypercalcbp</span></span></span>
that is explained on page <a
-href="#x1-190004.3">46<!--tex4ht:ref: hypercalcbp --></a>. pdfTeX&#x00A0;works by supplying default values for <span
+href="#x1-190004.3">47<!--tex4ht:ref: hypercalcbp --></a>. pdfTeX&#x00A0;works by supplying default values for <span
class="ec-lmvtt-10">XYZ </span>(horizontal <span
class="lmsy-10">&#x00D7;</span>
vertical <span
@@ -3354,8 +3356,10 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-109-3"
class="td10">
<!--l. 1019--><p class="noindent" >Unicode encoded pdf strings, starting with
- version 2021-02-07 v7.00h set by default to
- true for all engines. </td>
+ version v7.00g set by default to true for all
+ engines. It will load a number of definitions in
+ puenc.def. It can be set to false for pdflatex,
+ but this is not recommended. </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-110-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-1"
class="td01"><span
@@ -3486,6 +3490,8 @@ class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}}</span></span></span>. Depending on the driver <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\href</span></span></span> also tries to detect the link
type. Thus the result can be a url link, file link, &#x2026;
+
+
<!--l. 1063--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-15" class="tabular"
@@ -3499,8 +3505,7 @@ class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
<!--l. 1067--><p class="noindent" >Write <span
class="ec-lmri-10">URL </span>in the same way as <span class="obeylines-h"><span class="verb"><span
-class="ec-lmvtt-10">\url</span></span></span>, without creating a hyperlink.
-
+class="ec-lmvtt-10">\url</span></span></span>, without creating a hyperlink.
<!--l. 1070--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
@@ -3646,6 +3651,7 @@ class="ec-lmvtt-10">\phantomsection </span></td>
</tr></table> </div></span>
<!--l. 1129--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypertarget{}{}</span></span></span> with an automatically chosen
+
anchor name. Often it is used in conjunction with <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\addcontentsline</span></span></span> for sectionlike things (index,
bibliography, preface). <span class="obeylines-h"><span class="verb"><span
@@ -5049,12 +5055,36 @@ set.
<!--l. 2216--><p class="nopar" >
<!--l. 2218--><p class="indent" > Now the entry in the table of contents (and bookmarks) for the index points to the start of the index
page, not to a location before this page.
-<!--l. 2224--><p class="noindent" >
+<!--l. 2222--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.28 </span> <a
+ id="x1-480005.28"></a>puenc encoding and puenc-extra.def</h4>
+<!--l. 2224--><p class="noindent" >The <span
+class="ec-lmvtt-10">unicode </span>option loads for the bookmarks <span
+class="ec-lmvtt-10">puenc.def </span>which contains quite a lot definitions of
+commands for the bookmarks. As <span
+class="ec-lmvtt-10">unicode </span>is now true for all engines, this file is now also loaded with
+pdflatex. Some of the definitions in <span
+class="ec-lmvtt-10">puenc.def </span>clash with other uses. To reduce the impact <span
+class="ec-lmss-10">hyperref </span>uses
+two strategies.
+ <ul class="itemize1">
+ <li class="itemize">A number of command are only defined conditionally: The commands for the cyrillic block
+ if <span
+class="ec-lmvtt-10">\CYRDZE </span>is defined, greek if <span
+class="ec-lmvtt-10">\textBeta </span>is defined, and hebrew if <span
+class="ec-lmvtt-10">\hebdalet </span>is defined.
+ </li>
+ <li class="itemize">Other commands are moved to an extra file <span
+class="ec-lmvtt-10">puenc-extra.def </span>which is not loaded
+ automatically, but can be loaded in the preamble if needed. Currently this file contains all
+ definitions for the accent <span
+class="ec-lmvtt-10">\G</span>.</li></ul>
+<!--l. 2242--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">6 </span> <a
- id="x1-480006"></a>Acrobat-specific behavior</h3>
-<!--l. 2225--><p class="noindent" >If you want to access the menu options of Acrobat Reader or Exchange, the following macro is provided
+ id="x1-490006"></a>Acrobat-specific behavior</h3>
+<!--l. 2243--><p class="noindent" >If you want to access the menu options of Acrobat Reader or Exchange, the following macro is provided
in the appropriate drivers:
-<!--l. 2228--><p class="noindent" >
+<!--l. 2246--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-40" class="tabular"
><colgroup id="TBL-40-1g"><col
@@ -5068,22 +5098,24 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2232--><p class="noindent" >The <span
+<!--l. 2250--><p class="noindent" >The <span
class="ec-lmri-10">text </span>is used to create a button which activates the appropriate <span
class="ec-lmri-10">menuoption</span>. The following table lists
the option names you can use&#8212;comparison of this with the menus in Acrobat Reader or Exchange will
show what they do. Obviously some are only appropriate to Exchange.
<a
- id="x1-48001r13"></a> <!--l. 2236--><div class="longtable"> <table id="TBL-41" class="longtable"
+ id="x1-49001r13"></a> <!--l. 2254--><div class="longtable"> <table id="TBL-41" class="longtable"
><colgroup id="TBL-41-1g"><col
id="TBL-41-1"><col
id="TBL-41-2"></colgroup>
+
+
<tr
style="vertical-align:baseline;" id="TBL-41-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-1-1"
class="td01">File </td><td style="white-space:normal; text-align:left;" id="TBL-41-1-2"
class="td10">
- <!--l. 2236--><p class="noindent" >Open,
+ <!--l. 2254--><p class="noindent" >Open,
Close,
Scan,
Save,
@@ -5097,7 +5129,7 @@ class="td10">
class="td01">File<span
class="lmsy-10">&#x2192;</span>Import </td><td style="white-space:normal; text-align:left;" id="TBL-41-2-2"
class="td10">
- <!--l. 2237--><p class="noindent" >ImportImage,
+ <!--l. 2255--><p class="noindent" >ImportImage,
ImportNotes,
AcroForm:ImportFDF </td>
</tr><tr
@@ -5105,27 +5137,25 @@ class="td10">
class="td01">File<span
class="lmsy-10">&#x2192;</span>Export </td><td style="white-space:normal; text-align:left;" id="TBL-41-3-2"
class="td10">
- <!--l. 2238--><p class="noindent" >ExportNotes,
+ <!--l. 2256--><p class="noindent" >ExportNotes,
AcroForm:ExportFDF </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-41-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-4-1"
class="td01">File<span
class="lmsy-10">&#x2192;</span>DocumentInfo </td><td style="white-space:normal; text-align:left;" id="TBL-41-4-2"
class="td10">
- <!--l. 2239--><p class="noindent" >GeneralInfo,
+ <!--l. 2257--><p class="noindent" >GeneralInfo,
OpenInfo,
FontsInfo,
SecurityInfo,
Weblink:Base,
AutoIndex:DocInfo </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-41-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-5-1"
class="td01">File<span
class="lmsy-10">&#x2192;</span>Preferences </td><td style="white-space:normal; text-align:left;" id="TBL-41-5-2"
class="td10">
- <!--l. 2240--><p class="noindent" >GeneralPrefs,
+ <!--l. 2258--><p class="noindent" >GeneralPrefs,
NotePrefs,
FullScreenPrefs,
Weblink:Prefs,
@@ -5137,7 +5167,7 @@ class="td10">
style="vertical-align:baseline;" id="TBL-41-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-6-1"
class="td01">Edit </td><td style="white-space:normal; text-align:left;" id="TBL-41-6-2"
class="td10">
- <!--l. 2242--><p class="noindent" >Undo,
+ <!--l. 2260--><p class="noindent" >Undo,
Cut,
Copy,
Paste,
@@ -5153,19 +5183,21 @@ class="td10">
style="vertical-align:baseline;" id="TBL-41-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-7-1"
class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-41-7-2"
class="td10">
- <!--l. 2245--><p class="noindent" >Properties </td>
+ <!--l. 2263--><p class="noindent" >Properties </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-41-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-8-1"
class="td01">Edit<span
class="lmsy-10">&#x2192;</span>Fields </td><td style="white-space:normal; text-align:left;" id="TBL-41-8-2"
class="td10">
- <!--l. 2246--><p class="noindent" >AcroForm:Duplicate,
+ <!--l. 2264--><p class="noindent" >AcroForm:Duplicate,
AcroForm:TabOrder </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-41-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-9-1"
class="td01">Document </td><td style="white-space:normal; text-align:left;" id="TBL-41-9-2"
class="td10">
- <!--l. 2247--><p class="noindent" >Cpt:CapturePages,
+ <!--l. 2265--><p class="noindent" >Cpt:CapturePages,
AcroForm:Actions,
CropPages,
RotatePages,
@@ -5177,13 +5209,11 @@ class="td10">
SetBookmarkDest,
CreateAllThumbs,
DeleteAllThumbs </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-41-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-10-1"
class="td01">View </td><td style="white-space:normal; text-align:left;" id="TBL-41-10-2"
class="td10">
- <!--l. 2250--><p class="noindent" >ActualSize,
+ <!--l. 2268--><p class="noindent" >ActualSize,
FitVisible,
FitWidth,
FitPage,
@@ -5207,7 +5237,7 @@ class="td10">
style="vertical-align:baseline;" id="TBL-41-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-11-1"
class="td01">Tools </td><td style="white-space:normal; text-align:left;" id="TBL-41-11-2"
class="td10">
- <!--l. 2253--><p class="noindent" >Hand,
+ <!--l. 2271--><p class="noindent" >Hand,
ZoomIn,
ZoomOut,
SelectText,
@@ -5222,12 +5252,14 @@ class="td10">
FindAgain,
FindNextNote,
CreateNotesFile </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-41-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-12-1"
class="td01">Tools<span
class="lmsy-10">&#x2192;</span>Search </td><td style="white-space:normal; text-align:left;" id="TBL-41-12-2"
class="td10">
- <!--l. 2256--><p class="noindent" >AcroSrch:Query,
+ <!--l. 2274--><p class="noindent" >AcroSrch:Query,
AcroSrch:Indexes,
AcroSrch:Results,
AcroSrch:Assist,
@@ -5235,13 +5267,11 @@ class="td10">
AcroSrch:PrevHit,
AcroSrch:NextHit,
AcroSrch:NextDoc </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-41-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-13-1"
class="td01">Window </td><td style="white-space:normal; text-align:left;" id="TBL-41-13-2"
class="td10">
- <!--l. 2258--><p class="noindent" >ShowHideToolBar,
+ <!--l. 2276--><p class="noindent" >ShowHideToolBar,
ShowHideMenuBar,
ShowHideClipboard,
Cascade,
@@ -5252,7 +5282,7 @@ class="td10">
style="vertical-align:baseline;" id="TBL-41-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-14-1"
class="td01">Help </td><td style="white-space:normal; text-align:left;" id="TBL-41-14-2"
class="td10">
- <!--l. 2260--><p class="noindent" >HelpUserGuide,
+ <!--l. 2278--><p class="noindent" >HelpUserGuide,
HelpTutorial,
HelpExchange,
HelpScan,
@@ -5267,7 +5297,7 @@ class="td10">
style="vertical-align:baseline;" id="TBL-41-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-15-1"
class="td01">Help(Windows) </td><td style="white-space:normal; text-align:left;" id="TBL-41-15-2"
class="td10">
- <!--l. 2262--><p class="noindent" >About </td>
+ <!--l. 2280--><p class="noindent" >About </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-41-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-16-1"
class="td01"> </td>
@@ -5282,13 +5312,13 @@ class="td01"> </td>
class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-41-19-2"
class="td10"></td></tr>
</table></div>
-<!--l. 2265--><p class="noindent" >
+<!--l. 2283--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">7 </span> <a
- id="x1-490007"></a>PDF and HTML forms</h3>
-<!--l. 2266--><p class="noindent" >You must put your fields inside a <span
+ id="x1-500007"></a>PDF and HTML forms</h3>
+<!--l. 2284--><p class="noindent" >You must put your fields inside a <span
class="ec-lmvtt-10">Form </span>environment (only one per file).
-<!--l. 2268--><p class="indent" > There are six macros to prepare fields:
-<!--l. 2270--><p class="noindent" >
+<!--l. 2286--><p class="indent" > There are six macros to prepare fields:
+<!--l. 2288--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-42" class="tabular"
><colgroup id="TBL-42-1g"><col
@@ -5302,7 +5332,7 @@ class="ec-lmvtt-10">]{</span></span></span><span
class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2274--><p class="noindent" >
+<!--l. 2292--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-43" class="tabular"
><colgroup id="TBL-43-1g"><col
@@ -5316,7 +5346,9 @@ class="ec-lmvtt-10">]{</span></span></span><span
class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2278--><p class="noindent" >
+<!--l. 2296--><p class="noindent" >
+
+
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-44" class="tabular"
><colgroup id="TBL-44-1g"><col
@@ -5332,7 +5364,7 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">choices</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2282--><p class="noindent" >
+<!--l. 2300--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-45" class="tabular"
><colgroup id="TBL-45-1g"><col
@@ -5346,9 +5378,7 @@ class="ec-lmvtt-10">]{</span></span></span><span
class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2286--><p class="noindent" >
-
-
+<!--l. 2304--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-46" class="tabular"
><colgroup id="TBL-46-1g"><col
@@ -5362,7 +5392,7 @@ class="ec-lmvtt-10">]{</span></span></span><span
class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2290--><p class="noindent" >
+<!--l. 2308--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-47" class="tabular"
><colgroup id="TBL-47-1g"><col
@@ -5376,8 +5406,8 @@ class="ec-lmvtt-10">]{</span></span></span><span
class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2294--><p class="indent" > The way forms and their labels are laid out is determined by:
-<!--l. 2295--><p class="noindent" >
+<!--l. 2312--><p class="indent" > The way forms and their labels are laid out is determined by:
+<!--l. 2313--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-48" class="tabular"
><colgroup id="TBL-48-1g"><col
@@ -5391,7 +5421,7 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">field</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2299--><p class="noindent" >
+<!--l. 2317--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-49" class="tabular"
><colgroup id="TBL-49-1g"><col
@@ -5405,7 +5435,7 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">field</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2303--><p class="noindent" >
+<!--l. 2321--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-50" class="tabular"
><colgroup id="TBL-50-1g"><col
@@ -5419,9 +5449,9 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">field</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2307--><p class="indent" > These macros default to #1 #2
-<!--l. 2309--><p class="indent" > What is actually shown in the field is determined by:
-<!--l. 2310--><p class="noindent" >
+<!--l. 2325--><p class="indent" > These macros default to #1 #2
+<!--l. 2327--><p class="indent" > What is actually shown in the field is determined by:
+<!--l. 2328--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-51" class="tabular"
><colgroup id="TBL-51-1g"><col
@@ -5435,7 +5465,7 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2314--><p class="noindent" >
+<!--l. 2332--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-52" class="tabular"
><colgroup id="TBL-52-1g"><col
@@ -5449,7 +5479,7 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2317--><p class="noindent" >
+<!--l. 2335--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-53" class="tabular"
><colgroup id="TBL-53-1g"><col
@@ -5463,7 +5493,7 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2320--><p class="noindent" >
+<!--l. 2338--><p class="noindent" >
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-54" class="tabular"
><colgroup id="TBL-54-1g"><col
@@ -5477,7 +5507,9 @@ class="ec-lmvtt-10">}{</span></span></span><span
class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td>
</tr></table> </div></span>
-<!--l. 2324--><p class="noindent" >
+<!--l. 2342--><p class="noindent" >
+
+
<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-55" class="tabular"
><colgroup id="TBL-55-1g"><col
@@ -5488,7 +5520,7 @@ class="ec-lmvtt-10">\MakeButtonField</span><span class="obeylines-h"><span class
class="ec-lmvtt-10">{</span></span></span><span
class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
-<!--l. 2328--><p class="indent" > These macros default to <span class="obeylines-h"><span class="verb"><span
+<!--l. 2346--><p class="indent" > These macros default to <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\vbox</span><span
class="ec-lmvtt-10">&#x00A0;to</span><span
class="ec-lmvtt-10">&#x00A0;#2{\hbox</span><span
@@ -5497,7 +5529,7 @@ class="ec-lmvtt-10">&#x00A0;#1{\hfill}\vfill}</span></span></span>, except the l
to #1; it is used for buttons, and the special <span
class="ec-lmvtt-10">\Submit </span>and <span
class="ec-lmvtt-10">\Reset </span>macros.
-<!--l. 2332--><p class="indent" > You may also want to redefine the following macros:
+<!--l. 2350--><p class="indent" > You may also want to redefine the following macros:
<pre class="verbatim" id="verbatim-40">
@@ -5513,12 +5545,12 @@ class="ec-lmvtt-10">\Reset </span>macros.
\def\DefaultHeightofTextMultiline{4\baselineskip}
\def\DefaultWidthofText{3cm}
</pre>
-<!--l. 2345--><p class="nopar" >
-<!--l. 2347--><p class="noindent" >
+<!--l. 2363--><p class="nopar" >
+<!--l. 2365--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a
- id="x1-500007.1"></a>Forms environment parameters</h4>
+ id="x1-510007.1"></a>Forms environment parameters</h4>
<a
- id="x1-50001r14"></a> <!--l. 2351--><div class="longtable"> <table id="TBL-56" class="longtable"
+ id="x1-51001r14"></a> <!--l. 2369--><div class="longtable"> <table id="TBL-56" class="longtable"
><colgroup id="TBL-56-1g"><col
id="TBL-56-1"><col
@@ -5531,7 +5563,7 @@ class="ec-lmvtt-10">action </span></td><td style="white-space:nowrap; text-
class="td11"> <span
class="ec-lmri-10">URL </span></td><td style="white-space:normal; text-align:left;" id="TBL-56-1-3"
class="td10">
- <!--l. 2351--><p class="noindent" >The URL that will receive the form data if a <span
+ <!--l. 2369--><p class="noindent" >The URL that will receive the form data if a <span
class="ec-lmss-10">Submit </span>button
is included in the form </td>
</tr><tr
@@ -5541,7 +5573,7 @@ class="ec-lmvtt-10">encoding </span></td><td style="white-space:nowrap; text-a
class="td11"> <span
class="ec-lmri-10">name </span></td><td style="white-space:normal; text-align:left;" id="TBL-56-2-3"
class="td10">
- <!--l. 2352--><p class="noindent" >The encoding for the string set to the URL; FDF-encoding
+ <!--l. 2370--><p class="noindent" >The encoding for the string set to the URL; FDF-encoding
is usual, and <span
class="ec-lmvtt-10">html </span>is the only valid value </td>
</tr><tr
@@ -5551,7 +5583,7 @@ class="ec-lmvtt-10">method </span></td><td style="white-space:nowrap; text-al
class="td11"> <span
class="ec-lmri-10">name </span></td><td style="white-space:normal; text-align:left;" id="TBL-56-3-3"
class="td10">
- <!--l. 2354--><p class="noindent" >Used only when generating HTML; values can be <span
+ <!--l. 2372--><p class="noindent" >Used only when generating HTML; values can be <span
class="ec-lmvtt-10">post </span>or
<span
class="ec-lmvtt-10">get</span> </td>
@@ -5573,15 +5605,15 @@ class="td01"> </td><td style="white-space:nowrap; text-align:left;" id=
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-56-8-3"
class="td10"></td></tr>
</table></div>
-<!--l. 2357--><p class="noindent" >
+<!--l. 2375--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a
- id="x1-510007.2"></a>Forms optional parameters</h4>
-<!--l. 2358--><p class="noindent" >Note that all colors must be expressed as RGB triples, in the range 0..1 (i.e.&#x00A0;<span
+ id="x1-520007.2"></a>Forms optional parameters</h4>
+<!--l. 2376--><p class="noindent" >Note that all colors must be expressed as RGB triples, in the range 0..1 (i.e.&#x00A0;<span
class="ec-lmvtt-10">color=0 0</span>
<span
class="ec-lmvtt-10">0.5</span>)
<a
- id="x1-51001r15"></a> <!--l. 2363--><div class="longtable"> <table id="TBL-57" class="longtable"
+ id="x1-52001r15"></a> <!--l. 2381--><div class="longtable"> <table id="TBL-57" class="longtable"
><colgroup id="TBL-57-1g"><col
id="TBL-57-1"><col
@@ -6033,29 +6065,29 @@ class="td01"> </td>
style="vertical-align:baseline;" id="TBL-57-63-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-63-1"
class="td01"> </td></tr>
</table></div>
-<!--l. 2422--><p class="noindent" >
+<!--l. 2440--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">8 </span> <a
- id="x1-520008"></a>Defining a new driver</h3>
-<!--l. 2423--><p class="noindent" >A hyperref driver has to provide definitions for eight macros:
-<!--l. 2426--><p class="noindent" >1. <span class="obeylines-h"><span class="verb"><span
+ id="x1-530008"></a>Defining a new driver</h3>
+<!--l. 2441--><p class="noindent" >A hyperref driver has to provide definitions for eight macros:
+<!--l. 2444--><p class="noindent" >1. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@anchor</span></span></span>
-<!--l. 2428--><p class="noindent" >2. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2446--><p class="noindent" >2. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@link</span></span></span>
-<!--l. 2430--><p class="noindent" >3. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2448--><p class="noindent" >3. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@linkfile</span></span></span>
-<!--l. 2432--><p class="noindent" >4. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2450--><p class="noindent" >4. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@linkurl</span></span></span>
-<!--l. 2434--><p class="noindent" >5. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2452--><p class="noindent" >5. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@anchorstart</span></span></span>
-<!--l. 2436--><p class="noindent" >6. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2454--><p class="noindent" >6. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@anchorend</span></span></span>
-<!--l. 2438--><p class="noindent" >7. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2456--><p class="noindent" >7. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@linkstart</span></span></span>
-<!--l. 2440--><p class="noindent" >8. <span class="obeylines-h"><span class="verb"><span
+<!--l. 2458--><p class="noindent" >8. <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyper@linkend</span></span></span>
-<!--l. 2443--><p class="indent" > The draft option defines the macros as follows
+<!--l. 2461--><p class="indent" > The draft option defines the macros as follows
<pre class="verbatim" id="verbatim-41">
@@ -6068,11 +6100,11 @@ class="ec-lmvtt-10">\hyper@linkend</span></span></span>
\let\hyper@linkstart\@gobbletwo
\let\hyper@linkend\@empty
</pre>
-<!--l. 2453--><p class="nopar" >
-<!--l. 2455--><p class="noindent" >
+<!--l. 2471--><p class="nopar" >
+<!--l. 2473--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">9 </span> <a
- id="x1-530009"></a>Special support for other packages</h3>
-<!--l. 2457--><p class="noindent" >Package <span
+ id="x1-540009"></a>Special support for other packages</h3>
+<!--l. 2475--><p class="noindent" >Package <span
class="ec-lmss-10">hyperref </span>aims to cooperate with other packages, but there are several possible sources for
conflict, such as
<ul class="itemize1">
@@ -6095,7 +6127,7 @@ class="ec-lmvtt-10">implicit=false </span>for these packages
to work.
</li>
<li class="itemize">Packages that do anything serious with the index.</li></ul>
-<!--l. 2477--><p class="indent" > The <span
+<!--l. 2495--><p class="indent" > The <span
class="ec-lmss-10">hyperref </span>package is distributed with variants on two useful packages designed to work especially
well with it. These are <span
class="ec-lmss-10">xr </span>and <span
@@ -6103,17 +6135,17 @@ class="ec-lmss-10">minitoc</span>, which support crossdocument links using <span
<span
class="ec-lmvtt-10">\label</span>/<span
class="ec-lmvtt-10">\ref </span>mechanisms and per-chapter tables of contents, respectively.
-<!--l. 2484--><p class="noindent" >
+<!--l. 2502--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">9.1 </span> <a
- id="x1-540009.1"></a>Package Compatibility</h4>
-<!--l. 2486--><p class="noindent" >Currently only package loading orders are available:
-<!--l. 2490--><p class="indent" > Note: hyperref loads package <span
+ id="x1-550009.1"></a>Package Compatibility</h4>
+<!--l. 2504--><p class="noindent" >Currently only package loading orders are available:
+<!--l. 2508--><p class="indent" > Note: hyperref loads package <span
class="ec-lmss-10">nameref </span>at <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\begin{document}</span></span></span>. Sometimes this is too late, thus this
package must be loaded earlier.
-<!--l. 2495--><p class="noindent" >
+<!--l. 2513--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.1 </span> <a
- id="x1-550009.1.1"></a>algorithm</h5>
+ id="x1-560009.1.1"></a>algorithm</h5>
<pre class="verbatim" id="verbatim-42">
@@ -6121,11 +6153,11 @@ package must be loaded earlier.
&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage[chapter]{algorithm}%&#x00A0;eg.
</pre>
-<!--l. 2500--><p class="nopar" >
-<!--l. 2502--><p class="noindent" >
+<!--l. 2518--><p class="nopar" >
+<!--l. 2520--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.2 </span> <a
- id="x1-560009.1.2"></a>amsmath</h5>
-<!--l. 2504--><p class="noindent" >The environments equation and eqnarray are not supported too well. For example, there might be
+ id="x1-570009.1.2"></a>amsmath</h5>
+<!--l. 2522--><p class="noindent" >The environments equation and eqnarray are not supported too well. For example, there might be
spacing problems (eqnarray isn&#8217;t recommended anyway, see CTAN:info/l2tabu/, the situation for
equation is unclear, because nobody is interested in investigating). Consider using the environments that
package amsmath provide, e.g. gather for equation. The environment equation can even redefined to use
@@ -6137,22 +6169,22 @@ gather:
&#x00A0;&#x00A0;\let\equation\gather
&#x00A0;&#x00A0;\let\endequation\endgather
</pre>
-<!--l. 2515--><p class="nopar" >
-<!--l. 2517--><p class="noindent" >
+<!--l. 2533--><p class="nopar" >
+<!--l. 2535--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.3 </span> <a
- id="x1-570009.1.3"></a>amsrefs</h5>
-<!--l. 2519--><p class="noindent" >Package loading order:
+ id="x1-580009.1.3"></a>amsrefs</h5>
+<!--l. 2537--><p class="noindent" >Package loading order:
<pre class="verbatim" id="verbatim-44">
&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage{amsrefs}
</pre>
-<!--l. 2524--><p class="nopar" >
-<!--l. 2526--><p class="noindent" >
+<!--l. 2542--><p class="nopar" >
+<!--l. 2544--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.4 </span> <a
- id="x1-580009.1.4"></a>arydshln, longtable</h5>
-<!--l. 2528--><p class="noindent" >Package longtable must be put before hyperref and arydshln, hyperref after arydshln generates an error,
+ id="x1-590009.1.4"></a>arydshln, longtable</h5>
+<!--l. 2546--><p class="noindent" >Package longtable must be put before hyperref and arydshln, hyperref after arydshln generates an error,
thus the resulting package order is then:
@@ -6161,16 +6193,16 @@ thus the resulting package order is then:
&#x00A0;&#x00A0;\usepacakge{hyperref}
&#x00A0;&#x00A0;\usepackage{arydshln}
</pre>
-<!--l. 2536--><p class="nopar" >
-<!--l. 2538--><p class="noindent" >
+<!--l. 2554--><p class="nopar" >
+<!--l. 2556--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.5 </span> <a
- id="x1-590009.1.5"></a>babel/magyar.ldf</h5>
-<!--l. 2540--><p class="noindent" >The old version 2005/03/30 v1.4j will not work. You need at least version 1.5, maintained by Péter
+ id="x1-600009.1.5"></a>babel/magyar.ldf</h5>
+<!--l. 2558--><p class="noindent" >The old version 2005/03/30 v1.4j will not work. You need at least version 1.5, maintained by Péter
Szabó, see CTAN:language/hungarian/babel/.
-<!--l. 2545--><p class="noindent" >
+<!--l. 2563--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.6 </span> <a
- id="x1-600009.1.6"></a>babel/spanish.ldf</h5>
-<!--l. 2547--><p class="noindent" >Babel&#8217;s spanish.ldf redefines &#8216;<span class="obeylines-h"><span class="verb"><span
+ id="x1-610009.1.6"></a>babel/spanish.ldf</h5>
+<!--l. 2565--><p class="noindent" >Babel&#8217;s spanish.ldf redefines &#8216;<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\.</span></span></span>&#8217; to support &#8216;<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\...</span></span></span>&#8217;. In bookmarks (<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\pdfstringdef</span></span></span>) only &#8216;<span class="obeylines-h"><span class="verb"><span
@@ -6178,10 +6210,10 @@ class="ec-lmvtt-10">\.</span></span></span>&#8217; is supported. If
&#8216;<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\...</span></span></span>&#8217; is needed, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\texorpdfstring{\...}{\dots}</span></span></span> can be used instead.
-<!--l. 2554--><p class="noindent" >
+<!--l. 2572--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.7 </span> <a
- id="x1-610009.1.7"></a>bibentry</h5>
-<!--l. 2556--><p class="noindent" >Workaround:
+ id="x1-620009.1.7"></a>bibentry</h5>
+<!--l. 2574--><p class="noindent" >Workaround:
<pre class="verbatim" id="verbatim-46">
@@ -6200,16 +6232,16 @@ class="ec-lmvtt-10">\texorpdfstring{\...}{\dots}</span></span></span> can be use
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\nobibliography{database}
&#x00A0;&#x00A0;\endgroup
</pre>
-<!--l. 2573--><p class="nopar" >
-<!--l. 2575--><p class="noindent" >
+<!--l. 2591--><p class="nopar" >
+<!--l. 2593--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.8 </span> <a
- id="x1-620009.1.8"></a>bigfoot</h5>
-<!--l. 2577--><p class="noindent" >Hyperref does not support package &#8216;bigfoot&#8217;. And package &#8216;bigfoot&#8217; does not support hyperref&#8217;s footnotes
+ id="x1-630009.1.8"></a>bigfoot</h5>
+<!--l. 2595--><p class="noindent" >Hyperref does not support package &#8216;bigfoot&#8217;. And package &#8216;bigfoot&#8217; does not support hyperref&#8217;s footnotes
and disables them (hyperfootnotes=false).
-<!--l. 2582--><p class="noindent" >
+<!--l. 2600--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.9 </span> <a
- id="x1-630009.1.9"></a>chappg</h5>
-<!--l. 2584--><p class="noindent" >Package &#8216;chappg&#8217; uses <span class="obeylines-h"><span class="verb"><span
+ id="x1-640009.1.9"></a>chappg</h5>
+<!--l. 2602--><p class="noindent" >Package &#8216;chappg&#8217; uses <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@addtoreset</span></span></span> that is redefined by &#8216;hyperref&#8217;. The package order is
therefore:
@@ -6218,11 +6250,11 @@ therefore:
&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage{chappg}
</pre>
-<!--l. 2590--><p class="nopar" >
-<!--l. 2592--><p class="noindent" >
+<!--l. 2608--><p class="nopar" >
+<!--l. 2610--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.10 </span> <a
- id="x1-640009.1.10"></a>cite</h5>
-<!--l. 2594--><p class="noindent" >This is from Mike Shell: cite.sty cannot currently be used with hyperref. However, I can do a workaround
+ id="x1-650009.1.10"></a>cite</h5>
+<!--l. 2612--><p class="noindent" >This is from Mike Shell: cite.sty cannot currently be used with hyperref. However, I can do a workaround
via:
@@ -6233,14 +6265,14 @@ via:
&#x00A0;\usepackage[hypertex]{hyperref}
</pre>
-<!--l. 2604--><p class="nopar" >
-<!--l. 2606--><p class="indent" > so that hyperref will not redefine any of the biblabel stuff - so cite.sty will work as normal -
+<!--l. 2622--><p class="nopar" >
+<!--l. 2624--><p class="indent" > so that hyperref will not redefine any of the biblabel stuff - so cite.sty will work as normal -
although the citations will not be hyperlinked, of course (But this may not be an issue for many
people).
-<!--l. 2611--><p class="noindent" >
+<!--l. 2629--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.11 </span> <a
- id="x1-650009.1.11"></a>count1to</h5>
-<!--l. 2613--><p class="noindent" >Package &#8216;count1to&#8217; adds several <span class="obeylines-h"><span class="verb"><span
+ id="x1-660009.1.11"></a>count1to</h5>
+<!--l. 2631--><p class="noindent" >Package &#8216;count1to&#8217; adds several <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@addtoreset</span></span></span> commands that confuse &#8216;hyperref&#8217;. Therefore <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\theH&#x003C;...&#x003E;</span></span></span>
has to be fixed:
@@ -6256,27 +6288,27 @@ has to be fixed:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\theHsubparagraph}{\theHparagraph.\arabic{subparagraph}}%
&#x00A0;&#x00A0;}
</pre>
-<!--l. 2625--><p class="nopar" >
-<!--l. 2627--><p class="noindent" >
+<!--l. 2643--><p class="nopar" >
+<!--l. 2645--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.12 </span> <a
- id="x1-660009.1.12"></a>dblaccnt</h5>
-<!--l. 2629--><p class="noindent" >pd1enc.def or puenc.def should be loaded before:
+ id="x1-670009.1.12"></a>dblaccnt</h5>
+<!--l. 2647--><p class="noindent" >pd1enc.def or puenc.def should be loaded before:
<pre class="verbatim" id="verbatim-50">
&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage{dblaccnt}
</pre>
-<!--l. 2633--><p class="nopar" > or see entry for <span
+<!--l. 2651--><p class="nopar" > or see entry for <span
class="ec-lmss-10">vietnam</span>.
-<!--l. 2637--><p class="noindent" >
+<!--l. 2655--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.13 </span> <a
- id="x1-670009.1.13"></a>easyeqn</h5>
-<!--l. 2638--><p class="noindent" >Not compatible, breaks.
-<!--l. 2641--><p class="noindent" >
+ id="x1-680009.1.13"></a>easyeqn</h5>
+<!--l. 2656--><p class="noindent" >Not compatible, breaks.
+<!--l. 2659--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.14 </span> <a
- id="x1-680009.1.14"></a>ellipsis</h5>
-<!--l. 2643--><p class="noindent" >This packages redefines <span class="obeylines-h"><span class="verb"><span
+ id="x1-690009.1.14"></a>ellipsis</h5>
+<!--l. 2661--><p class="noindent" >This packages redefines <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\textellipsis</span></span></span> after package hyperref (pd1enc.def/puenc.def should be loaded
before):
@@ -6285,46 +6317,46 @@ before):
&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage{ellipsis}
</pre>
-<!--l. 2648--><p class="nopar" >
-<!--l. 2650--><p class="noindent" >
+<!--l. 2666--><p class="nopar" >
+<!--l. 2668--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.15 </span> <a
- id="x1-690009.1.15"></a>float</h5>
+ id="x1-700009.1.15"></a>float</h5>
<pre class="verbatim" id="verbatim-52">
&#x00A0;\usepackage{float}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2654--><p class="nopar" >
+<!--l. 2672--><p class="nopar" >
<ul class="itemize1">
<li class="itemize">Several <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\caption</span></span></span> commands are not supported inside one float object.
</li>
<li class="itemize">Anchor are set at top of the float object, if its style is controlled by float.sty.</li></ul>
-<!--l. 2661--><p class="noindent" >
+<!--l. 2679--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.16 </span> <a
- id="x1-700009.1.16"></a>endnotes</h5>
-<!--l. 2662--><p class="noindent" >Unsupported.
-<!--l. 2664--><p class="noindent" >
+ id="x1-710009.1.16"></a>endnotes</h5>
+<!--l. 2680--><p class="noindent" >Unsupported.
+<!--l. 2682--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.17 </span> <a
- id="x1-710009.1.17"></a>foiltex</h5>
-<!--l. 2665--><p class="noindent" >Update to version 2008/01/28 v2.1.4b: Since version 6.77a hyperref does not hack into <span class="obeylines-h"><span class="verb"><span
+ id="x1-720009.1.17"></a>foiltex</h5>
+<!--l. 2683--><p class="noindent" >Update to version 2008/01/28 v2.1.4b: Since version 6.77a hyperref does not hack into <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@begindvi</span></span></span>, it
uses package &#8216;atbegshi&#8217; instead, that hooks into <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\shipout</span></span></span>. Thus the patch of &#8216;foils.cls&#8217; regarding hyperref
is now obsolete and causes an undefined error message about <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@hyperfixhead</span></span></span>. This is fixed in FoilTeX
2.1.4b.
-<!--l. 2673--><p class="noindent" >
+<!--l. 2691--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.18 </span> <a
- id="x1-720009.1.18"></a>footnote</h5>
-<!--l. 2675--><p class="noindent" >This package is not supported, you have to disable hyperref&#8217;s footnote support by using option
+ id="x1-730009.1.18"></a>footnote</h5>
+<!--l. 2693--><p class="noindent" >This package is not supported, you have to disable hyperref&#8217;s footnote support by using option
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">hyperfootnotes=false</span></span></span>.
-<!--l. 2679--><p class="noindent" >
+<!--l. 2697--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.19 </span> <a
- id="x1-730009.1.19"></a>geometry</h5>
-<!--l. 2681--><p class="noindent" >Driver &#8216;dvipdfm&#8217; and program &#8216;dvipdfm&#8217; might generate a warning: Sorry. Too late to change page size
+ id="x1-740009.1.19"></a>geometry</h5>
+<!--l. 2699--><p class="noindent" >Driver &#8216;dvipdfm&#8217; and program &#8216;dvipdfm&#8217; might generate a warning: Sorry. Too late to change page size
Then prefer the program &#8216;dvipdfmx&#8217; or use one of the following workarounds to move the <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> of
geometry to an earlier location:
@@ -6357,36 +6389,36 @@ geometry to an earlier location:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;]{geometry}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2713--><p class="nopar" >
-<!--l. 2715--><p class="noindent" >
+<!--l. 2731--><p class="nopar" >
+<!--l. 2733--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.20 </span> <a
- id="x1-740009.1.20"></a>IEEEtran.cls</h5>
-<!--l. 2717--><p class="noindent" >version <span
+ id="x1-750009.1.20"></a>IEEEtran.cls</h5>
+<!--l. 2735--><p class="noindent" >version <span
class="lmsy-10">&#x2265; </span>V1.6b (because of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@makecaption</span></span></span>, see ChangeLog)
-<!--l. 2720--><p class="noindent" >
+<!--l. 2738--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.21 </span> <a
- id="x1-750009.1.21"></a>index</h5>
-<!--l. 2722--><p class="noindent" >version <span
+ id="x1-760009.1.21"></a>index</h5>
+<!--l. 2740--><p class="noindent" >version <span
class="lmsy-10">&#x2265; </span>1995/09/28 v4.1 (because of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\addcontentsline</span></span></span> redefinition)
-<!--l. 2725--><p class="noindent" >
+<!--l. 2743--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.22 </span> <a
- id="x1-760009.1.22"></a>lastpage</h5>
-<!--l. 2727--><p class="noindent" >Compatible.
-<!--l. 2730--><p class="noindent" >
+ id="x1-770009.1.22"></a>lastpage</h5>
+<!--l. 2745--><p class="noindent" >Compatible.
+<!--l. 2748--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.23 </span> <a
- id="x1-770009.1.23"></a>linguex</h5>
+ id="x1-780009.1.23"></a>linguex</h5>
<pre class="verbatim" id="verbatim-54">
&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;\usepackage{linguex}
</pre>
-<!--l. 2734--><p class="nopar" >
-<!--l. 2736--><p class="noindent" >
+<!--l. 2752--><p class="nopar" >
+<!--l. 2754--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.24 </span> <a
- id="x1-780009.1.24"></a>ltabptch</h5>
+ id="x1-790009.1.24"></a>ltabptch</h5>
<pre class="verbatim" id="verbatim-55">
@@ -6394,54 +6426,54 @@ class="ec-lmvtt-10">\addcontentsline</span></span></span> redefinition)
&#x00A0;&#x00A0;\usepackage{ltabptch}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2741--><p class="nopar" >
-<!--l. 2743--><p class="noindent" >
+<!--l. 2759--><p class="nopar" >
+<!--l. 2761--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.25 </span> <a
- id="x1-790009.1.25"></a>mathenv</h5>
-<!--l. 2745--><p class="noindent" >Unsupported.
-<!--l. 2749--><p class="indent" > Both &#8216;mathenv&#8217; and &#8216;hyperref&#8217; messes around with environment &#8216;eqnarray&#8217;. You can load &#8216;mathenv&#8217;
+ id="x1-800009.1.25"></a>mathenv</h5>
+<!--l. 2763--><p class="noindent" >Unsupported.
+<!--l. 2767--><p class="indent" > Both &#8216;mathenv&#8217; and &#8216;hyperref&#8217; messes around with environment &#8216;eqnarray&#8217;. You can load &#8216;mathenv&#8217;
after &#8216;hyperref&#8217; to avoid an error message. But <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\label</span></span></span> will not work inside environment &#8216;eqnarray&#8217;
properly, for example.
-<!--l. 2756--><p class="noindent" >
+<!--l. 2774--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.26 </span> <a
- id="x1-800009.1.26"></a>minitoc-hyper</h5>
-<!--l. 2758--><p class="noindent" >This package is obsolete, use the up-to-date original package minitoc instead.
-<!--l. 2763--><p class="noindent" >
+ id="x1-810009.1.26"></a>minitoc-hyper</h5>
+<!--l. 2776--><p class="noindent" >This package is obsolete, use the up-to-date original package minitoc instead.
+<!--l. 2781--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.27 </span> <a
- id="x1-810009.1.27"></a>multind</h5>
+ id="x1-820009.1.27"></a>multind</h5>
<pre class="verbatim" id="verbatim-56">
&#x00A0;\usepackage{multind}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2767--><p class="nopar" >
-<!--l. 2769--><p class="noindent" >
+<!--l. 2785--><p class="nopar" >
+<!--l. 2787--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.28 </span> <a
- id="x1-820009.1.28"></a>natbib</h5>
+ id="x1-830009.1.28"></a>natbib</h5>
<pre class="verbatim" id="verbatim-57">
&#x00A0;\usepackage{natbib}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2773--><p class="nopar" >
-<!--l. 2775--><p class="noindent" >
+<!--l. 2791--><p class="nopar" >
+<!--l. 2793--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.29 </span> <a
- id="x1-830009.1.29"></a>nomencl</h5>
-<!--l. 2776--><p class="noindent" >Example for introducing links for the page numbers:
+ id="x1-840009.1.29"></a>nomencl</h5>
+<!--l. 2794--><p class="noindent" >Example for introducing links for the page numbers:
<pre class="verbatim" id="verbatim-58">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\pagedeclaration}[1]{\unskip,&#x00A0;\hyperpage{#1}}
</pre>
-<!--l. 2779--><p class="nopar" >
-<!--l. 2782--><p class="noindent" >
+<!--l. 2797--><p class="nopar" >
+<!--l. 2800--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.30 </span> <a
- id="x1-840009.1.30"></a>ntheorem-hyper</h5>
-<!--l. 2783--><p class="noindent" >This package is obsolete, use the up-to-date original package ntheorem instead.
-<!--l. 2787--><p class="indent" > For equations the following might work:
+ id="x1-850009.1.30"></a>ntheorem-hyper</h5>
+<!--l. 2801--><p class="noindent" >This package is obsolete, use the up-to-date original package ntheorem instead.
+<!--l. 2805--><p class="indent" > For equations the following might work:
<pre class="verbatim" id="verbatim-59">
@@ -6451,22 +6483,22 @@ properly, for example.
&#x00A0;&#x00A0;&#x00A0;&#x00A0;But&#x00A0;the&#x00A0;mapping&#x00A0;from&#x00A0;the&#x00A0;equation&#x00A0;number&#x00A0;to&#x00A0;the&#x00A0;anchor&#x00A0;name
&#x00A0;&#x00A0;&#x00A0;&#x00A0;is&#x00A0;not&#x00A0;available&#x00A0;in&#x00A0;general.
</pre>
-<!--l. 2794--><p class="nopar" >
-<!--l. 2796--><p class="noindent" >
+<!--l. 2812--><p class="nopar" >
+<!--l. 2814--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.31 </span> <a
- id="x1-850009.1.31"></a>parskip</h5>
+ id="x1-860009.1.31"></a>parskip</h5>
<pre class="verbatim" id="verbatim-60">
&#x00A0;\usepackage{parskip}
&#x00A0;&#x00A0;\usepackage{hyperref}[2012/08/20]
</pre>
-<!--l. 2800--><p class="nopar" >
-<!--l. 2803--><p class="indent" > Both packages want to redefine <span class="obeylines-h"><span class="verb"><span
+<!--l. 2818--><p class="nopar" >
+<!--l. 2821--><p class="indent" > Both packages want to redefine <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@starttoc</span></span></span>.
-<!--l. 2806--><p class="noindent" >
+<!--l. 2824--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.32 </span> <a
- id="x1-860009.1.32"></a>prettyref</h5>
+ id="x1-870009.1.32"></a>prettyref</h5>
<pre class="verbatim" id="verbatim-61">
@@ -6489,20 +6521,20 @@ class="ec-lmvtt-10">\@starttoc</span></span></span>.
%%%&#x00A0;example&#x00A0;for&#x00A0;prettyref&#x00A0;%%%
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
</pre>
-<!--l. 2825--><p class="nopar" >
-<!--l. 2828--><p class="noindent" >
+<!--l. 2843--><p class="nopar" >
+<!--l. 2846--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.33 </span> <a
- id="x1-870009.1.33"></a>setspace</h5>
+ id="x1-880009.1.33"></a>setspace</h5>
<pre class="verbatim" id="verbatim-62">
&#x00A0;\usepackage{setspace}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2832--><p class="nopar" >
-<!--l. 2834--><p class="noindent" >
+<!--l. 2850--><p class="nopar" >
+<!--l. 2852--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.34 </span> <a
- id="x1-880009.1.34"></a>sidecap</h5>
+ id="x1-890009.1.34"></a>sidecap</h5>
<pre class="verbatim" id="verbatim-63">
@@ -6511,10 +6543,10 @@ class="ec-lmvtt-10">\@starttoc</span></span></span>.
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{sidecap}
</pre>
-<!--l. 2840--><p class="nopar" >
-<!--l. 2842--><p class="noindent" >
+<!--l. 2858--><p class="nopar" >
+<!--l. 2860--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.35 </span> <a
- id="x1-890009.1.35"></a>subfigure</h5>
+ id="x1-900009.1.35"></a>subfigure</h5>
<pre class="verbatim" id="verbatim-64">
@@ -6536,10 +6568,10 @@ class="ec-lmvtt-10">\@starttoc</span></span></span>.
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;or&#x00A0;vice&#x00A0;versa?
</pre>
-<!--l. 2861--><p class="nopar" >
-<!--l. 2863--><p class="noindent" >
+<!--l. 2879--><p class="nopar" >
+<!--l. 2881--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.36 </span> <a
- id="x1-900009.1.36"></a>titleref</h5>
+ id="x1-910009.1.36"></a>titleref</h5>
<pre class="verbatim" id="verbatim-65">
@@ -6547,24 +6579,24 @@ class="ec-lmvtt-10">\@starttoc</span></span></span>.
&#x00A0;&#x00A0;\usepackage{titleref}%&#x00A0;without&#x00A0;usetoc
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2868--><p class="nopar" >
-<!--l. 2870--><p class="noindent" >
+<!--l. 2886--><p class="nopar" >
+<!--l. 2888--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.37 </span> <a
- id="x1-910009.1.37"></a>tabularx</h5>
-<!--l. 2872--><p class="noindent" >Linked footnotes are not supported inside environment &#8216;tabularx&#8217;, because they uses the optional
+ id="x1-920009.1.37"></a>tabularx</h5>
+<!--l. 2890--><p class="noindent" >Linked footnotes are not supported inside environment &#8216;tabularx&#8217;, because they uses the optional
argument of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>, see section &#8216;Limitations&#8217;. Before version 2011/09/28 6.82i hyperref had
disabled footnotes entirely by &#8216;hyperfootnotes=false&#8217;.
-<!--l. 2878--><p class="noindent" >
+<!--l. 2896--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.38 </span> <a
- id="x1-920009.1.38"></a>titlesec</h5>
-<!--l. 2880--><p class="noindent" ><span
+ id="x1-930009.1.38"></a>titlesec</h5>
+<!--l. 2898--><p class="noindent" ><span
class="ec-lmss-10">nameref </span>supports titlesec, but hyperref does not (unsolved is the anchor setting, missing with
unnumbered section, perhaps problems with page breaks with numbered ones).
-<!--l. 2885--><p class="noindent" >
+<!--l. 2903--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.39 </span> <a
- id="x1-930009.1.39"></a>ucs/utf8x.def</h5>
-<!--l. 2887--><p class="noindent" >The first time a multibyte UTF8 sequence is called, it does some calculations and stores the result in a
+ id="x1-940009.1.39"></a>ucs/utf8x.def</h5>
+<!--l. 2905--><p class="noindent" >The first time a multibyte UTF8 sequence is called, it does some calculations and stores the result in a
macro for speeding up the next calls of that UTF8 sequence. However this makes the first call
non-expandable and will break if used in information entries or bookmarks. Package <span
class="ec-lmss-10">ucs </span>offers
@@ -6580,14 +6612,14 @@ class="ec-lmvtt-10">\PreloadUnicodePage</span></span></span> to solve this:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\PrerenderUnicode{^^c3^^b6}%&#x00A0;or&#x00A0;\PrerenderUnicodePage{1}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{pdftitle={Umlaut&#x00A0;example:&#x00A0;^^c3^^b6}}
</pre>
-<!--l. 2900--><p class="nopar" > The notation with two carets avoids trouble with 8-bit bytes for the README file, you can use the
+<!--l. 2918--><p class="nopar" > The notation with two carets avoids trouble with 8-bit bytes for the README file, you can use the
characters directly.
-<!--l. 2905--><p class="noindent" >
+<!--l. 2923--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.40 </span> <a
- id="x1-940009.1.40"></a>varioref</h5>
-<!--l. 2906--><p class="noindent" >There are too many problems with varioref. Nobody has time to sort them out. Therefore this package is
+ id="x1-950009.1.40"></a>varioref</h5>
+<!--l. 2924--><p class="noindent" >There are too many problems with varioref. Nobody has time to sort them out. Therefore this package is
now unsupported.
-<!--l. 2910--><p class="indent" > Perhaps you are lucky and some of the features of varioref works with the following loading
+<!--l. 2928--><p class="indent" > Perhaps you are lucky and some of the features of varioref works with the following loading
order:
@@ -6596,10 +6628,10 @@ order:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{varioref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2916--><p class="nopar" >
-<!--l. 2919--><p class="indent" > Also some babel versions can be problematic. For example, 2005/05/21 v3.8g contains a patch for
+<!--l. 2934--><p class="nopar" >
+<!--l. 2937--><p class="indent" > Also some babel versions can be problematic. For example, 2005/05/21 v3.8g contains a patch for
varioref that breaks the hyperref support for varioref.
-<!--l. 2925--><p class="indent" > Also unsupported:
+<!--l. 2943--><p class="indent" > Also unsupported:
<ul class="itemize1">
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\Ref</span></span></span>, <span class="obeylines-h"><span class="verb"><span
@@ -6607,11 +6639,11 @@ class="ec-lmvtt-10">\Vref</span></span></span> do not uppercase the first letter
</li>
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a previous space is not suppressed.</li></ul>
-<!--l. 2932--><p class="noindent" >
+<!--l. 2950--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.41 </span> <a
- id="x1-950009.1.41"></a>verse</h5>
-<!--l. 2934--><p class="noindent" >Version 2005/08/22 v2.22 contains support for hyperref.
-<!--l. 2936--><p class="indent" > For older versions see example from de.comp.text.tex (2005/08/11, slightly modified):
+ id="x1-960009.1.41"></a>verse</h5>
+<!--l. 2952--><p class="noindent" >Version 2005/08/22 v2.22 contains support for hyperref.
+<!--l. 2954--><p class="indent" > For older versions see example from de.comp.text.tex (2005/08/11, slightly modified):
<pre class="verbatim" id="verbatim-68">
@@ -6656,10 +6688,10 @@ class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a pre
&#x00A0;&#x00A0;\end{document}
</pre>
-<!--l. 2980--><p class="nopar" >
-<!--l. 2982--><p class="noindent" >
+<!--l. 2998--><p class="nopar" >
+<!--l. 3000--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.42 </span> <a
- id="x1-960009.1.42"></a>vietnam</h5>
+ id="x1-970009.1.42"></a>vietnam</h5>
<pre class="verbatim" id="verbatim-69">
@@ -6668,20 +6700,20 @@ class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a pre
&#x00A0;&#x00A0;\usepackage{vietnam}
&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 2988--><p class="nopar" >
-<!--l. 2990--><p class="noindent" >
+<!--l. 3006--><p class="nopar" >
+<!--l. 3008--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.1.43 </span> <a
- id="x1-970009.1.43"></a>XeTeX</h5>
-<!--l. 2992--><p class="noindent" >Default for the encoding of bookmarks is <span class="obeylines-h"><span class="verb"><span
+ id="x1-980009.1.43"></a>XeTeX</h5>
+<!--l. 3010--><p class="noindent" >Default for the encoding of bookmarks is <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">pdfencoding=unicode</span></span></span>. That means the strings are always
treated as unicode strings. If <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">auto</span></span></span> or <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">pdfdoc</span></span></span> is forced it applies only if the string restricts to the
printable ASCII set, The reason is that the <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\special</span></span></span> does not support PDFDocEncoding.
-<!--l. 2998--><p class="indent" > In older versions hyperref contained special conversion code from UTF-16BE back to UTF-8 in a
+<!--l. 3016--><p class="indent" > In older versions hyperref contained special conversion code from UTF-16BE back to UTF-8 in a
number of places for xetex to avoid the xdvipdfmx warning
-<!--l. 3002--><p class="indent" > <span class="obeylines-h"><span class="verb"><span
+<!--l. 3020--><p class="indent" > <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">Failed</span><span
class="ec-lmvtt-10">&#x00A0;to</span><span
class="ec-lmvtt-10">&#x00A0;convert</span><span
@@ -6689,20 +6721,20 @@ class="ec-lmvtt-10">&#x00A0;input</span><span
class="ec-lmvtt-10">&#x00A0;string</span><span
class="ec-lmvtt-10">&#x00A0;to</span><span
class="ec-lmvtt-10">&#x00A0;UTF16...</span></span></span>
-<!--l. 3004--><p class="indent" > This is no longer needed with a current xdvipdfmx, so this code has been removed.
+<!--l. 3022--><p class="indent" > This is no longer needed with a current xdvipdfmx, so this code has been removed.
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\csname</span><span
class="ec-lmvtt-10">&#x00A0;HyPsd@XeTeXBigCharstrue\endcsname</span></span></span> should no longer be used.
-<!--l. 3010--><p class="noindent" >
+<!--l. 3028--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">10 </span> <a
- id="x1-9800010"></a>Limitations<span class="footnote-mark"><a
+ id="x1-9900010"></a>Limitations<span class="footnote-mark"><a
href="hyperref-doc6.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
- id="x1-98001f5"></a> </h3>
+ id="x1-99001f5"></a> </h3>
<h4 class="subsectionHead"><span class="titlemark">10.1 </span> <a
- id="x1-9900010.1"></a>Wrapped/broken link support</h4>
-<!--l. 3013--><p class="noindent" >Only few drivers support automatically wrapped/broken links, e.g. pdftex, dvipdfm, hypertex. Other
+ id="x1-10000010.1"></a>Wrapped/broken link support</h4>
+<!--l. 3031--><p class="noindent" >Only few drivers support automatically wrapped/broken links, e.g. pdftex, dvipdfm, hypertex. Other
drivers lack this feature, e.g. dvips, dvipsone.
-<!--l. 3017--><p class="indent" > Workarounds:
+<!--l. 3035--><p class="indent" > Workarounds:
<ul class="itemize1">
<li class="itemize">For long section or caption titles in the table of contents or list of figures/tables option
<span
@@ -6718,25 +6750,25 @@ class="ec-lmss-10">breakurl</span>.
class="ec-lmss-10">breaklinks </span>is intended for internal use. But it can be used to force link wrapping,
e.g. when printing a document. However, when such a document is converted to PDF and
viewed with a PDF viewer, the active link area will be misplaced.
- <!--l. 3031--><p class="noindent" >Another limitation: some penalties are &#8220;optimized&#8221; by TeX, thus there are missing break
+ <!--l. 3049--><p class="noindent" >Another limitation: some penalties are &#8220;optimized&#8221; by TeX, thus there are missing break
points, especially within <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\url</span></span></span>. (See thread &#8220;hyperref.sty, breaklinks and url.sty 3.2&#8221; in
comp.text.tex 2005-09).</li></ul>
-<!--l. 3037--><p class="noindent" >
+<!--l. 3055--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a
- id="x1-10000010.2"></a>Links across pages</h4>
-<!--l. 3039--><p class="noindent" >In general they have problems:
+ id="x1-10100010.2"></a>Links across pages</h4>
+<!--l. 3057--><p class="noindent" >In general they have problems:
<ul class="itemize1">
<li class="itemize">Some driver doesn&#8217;t support them at all (see above).
</li>
<li class="itemize">The driver allows it, but the link result might include the footer and/or header, or an error
message can occur sometimes.</li></ul>
-<!--l. 3047--><p class="noindent" >
+<!--l. 3065--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a
- id="x1-10100010.3"></a>Footnotes</h4>
-<!--l. 3049--><p class="noindent" >LaTeX allows the separation of the footnote mark and the footnote text (<span class="obeylines-h"><span class="verb"><span
+ id="x1-10200010.3"></a>Footnotes</h4>
+<!--l. 3067--><p class="noindent" >LaTeX allows the separation of the footnote mark and the footnote text (<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotemark</span></span></span>,
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>). This interface might be enough for visual typesetting. But the relation between
@@ -6752,14 +6784,14 @@ Thus the implementation of hyperref does not support the optional argument of <s
class="ec-lmvtt-10">\footnotemark</span></span></span> and
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>.
-<!--l. 3060--><p class="noindent" >
+<!--l. 3078--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">11 </span> <a
- id="x1-10200011"></a>Hints<span class="footnote-mark"><a
+ id="x1-10300011"></a>Hints<span class="footnote-mark"><a
href="hyperref-doc7.html#fn6x0"><sup class="textsuperscript">6</sup></a></span><a
- id="x1-102001f6"></a> </h3>
+ id="x1-103001f6"></a> </h3>
<h4 class="subsectionHead"><span class="titlemark">11.1 </span> <a
- id="x1-10300011.1"></a>Spaces in option values</h4>
-<!--l. 3064--><p class="noindent" >Unhappily LaTeX strips spaces from options if they are given in <span class="obeylines-h"><span class="verb"><span
+ id="x1-10400011.1"></a>Spaces in option values</h4>
+<!--l. 3082--><p class="noindent" >Unhappily LaTeX strips spaces from options if they are given in <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\documentclass</span></span></span> or <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\usepackage</span></span></span> (or
<span class="obeylines-h"><span class="verb"><span
@@ -6769,37 +6801,37 @@ class="ec-lmvtt-10">\RequirePackage</span></span></span>), e.g.:
<pre class="verbatim" id="verbatim-70">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[pdfborder=0&#x00A0;0&#x00A0;1]{hyperref}
</pre>
-<!--l. 3068--><p class="nopar" > Package hyperref now gets
+<!--l. 3086--><p class="nopar" > Package hyperref now gets
<pre class="verbatim" id="verbatim-71">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;pdfborder=001
</pre>
-<!--l. 3072--><p class="nopar" > and the result is an invalid PDF file. As workaround braces can be used:
+<!--l. 3090--><p class="nopar" > and the result is an invalid PDF file. As workaround braces can be used:
<pre class="verbatim" id="verbatim-72">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[pdfborder={0&#x00A0;0&#x00A0;1}]{hyperref}
</pre>
-<!--l. 3077--><p class="nopar" > Some options can also be given in <span class="obeylines-h"><span class="verb"><span
+<!--l. 3095--><p class="nopar" > Some options can also be given in <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypersetup</span></span></span>
<pre class="verbatim" id="verbatim-73">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{pdfborder=0&#x00A0;0&#x00A0;1}
</pre>
-<!--l. 3081--><p class="nopar" > In <span class="obeylines-h"><span class="verb"><span
+<!--l. 3099--><p class="nopar" > In <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hypersetup</span></span></span> the options are directly processed as key value options (see package keyval) without
space stripping in the value part.
-<!--l. 3087--><p class="indent" > Alternatively, LaTeX&#8217;s option handling system can be adapted to key value options by one of the
+<!--l. 3105--><p class="indent" > Alternatively, LaTeX&#8217;s option handling system can be adapted to key value options by one of the
packages <span
class="ec-lmss-10">kvoptions-patch </span>(from project <span
class="ec-lmss-10">kvoptions</span>) or <span
class="ec-lmss-10">xkvltxp </span>(from project <span
class="ec-lmss-10">xsetkeys</span>).
-<!--l. 3092--><p class="noindent" >
+<!--l. 3110--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.2 </span> <a
- id="x1-10400011.2"></a>Index with makeindex</h4>
+ id="x1-10500011.2"></a>Index with makeindex</h4>
<ul class="itemize1">
<li class="itemize">Package hyperref adds <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> commands by the encap mechanism (see documentation
@@ -6827,7 +6859,7 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;...
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\index{Some&#x00A0;example|main}
</pre>
- <!--l. 3116--><p class="nopar" >
+ <!--l. 3134--><p class="nopar" >
</li>
<li class="itemize">Scientic Word/Scientific WorkPlace users can use package robustindex with hyperindex=false.
</li>
@@ -6838,7 +6870,7 @@ class="ec-lmss-10">encap</span>. Example for use of &#8220;?&#8221;:
<pre class="verbatim" id="verbatim-75">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[encap=?]{hyperref}
</pre>
- <!--l. 3123--><p class="nopar" >
+ <!--l. 3141--><p class="nopar" >
</li>
<li class="itemize">Another possibility is the insertion of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\hyperpage</span></span></span> by a style file for makeindex. For this case,
@@ -6860,12 +6892,12 @@ class="ec-lmvtt-10">\hyperpage</span></span></span> will be defined regardless o
encap_suffix&#x00A0;"}"
%%%&#x00A0;cut&#x00A0;%%%&#x00A0;hyperindex.ist&#x00A0;%%%&#x00A0;cut&#x00A0;%%%
</pre>
- <!--l. 3139--><p class="nopar" ></li></ul>
-<!--l. 3142--><p class="noindent" >
+ <!--l. 3157--><p class="nopar" ></li></ul>
+<!--l. 3160--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.3 </span> <a
- id="x1-10500011.3"></a>Warning <span
+ id="x1-10600011.3"></a>Warning <span
class="ec-lmvtt-10">"bookmark level for unknown &#x003C;foobar&#x003E; defaults to 0"</span></h4>
-<!--l. 3144--><p class="noindent" >Getting rid of it:
+<!--l. 3162--><p class="noindent" >Getting rid of it:
<pre class="verbatim" id="verbatim-77">
@@ -6873,32 +6905,32 @@ class="ec-lmvtt-10">"bookmark level for unknown &#x003C;foobar&#x003E; defaults
\providecommand*{\toclevel@&#x003C;foobar&#x003E;}{0}
\makeatother
</pre>
-<!--l. 3149--><p class="nopar" >
-<!--l. 3151--><p class="noindent" >
+<!--l. 3167--><p class="nopar" >
+<!--l. 3169--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.4 </span> <a
- id="x1-10600011.4"></a>Link anchors in figures</h4>
-<!--l. 3153--><p class="noindent" >The caption command increments the counter and here is the place where hyperref set the corresponding
+ id="x1-10700011.4"></a>Link anchors in figures</h4>
+<!--l. 3171--><p class="noindent" >The caption command increments the counter and here is the place where hyperref set the corresponding
anchor. Unhappily the caption is set below the figure, so the figure is not visible if a link jumps
to a figure. In this case, try package <span
class="ec-lmss-10">hypcap </span>that implements a method to circumvent the
problem.
-<!--l. 3161--><p class="noindent" >
+<!--l. 3179--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.5 </span> <a
- id="x1-10700011.5"></a>Additional unicode characters in bookmarks and pdf information entries:</h4>
+ id="x1-10800011.5"></a>Additional unicode characters in bookmarks and pdf information entries:</h4>
<pre class="verbatim" id="verbatim-78">
\documentclass[pdftex]{article}
\usepackage[unicode]{hyperref}
</pre>
-<!--l. 3165--><p class="nopar" >
-<!--l. 3167--><p class="indent" > Support for additional unicode characters:
-<!--l. 3169--><p class="indent" > Example: <span class="obeylines-h"><span class="verb"><span
+<!--l. 3183--><p class="nopar" >
+<!--l. 3185--><p class="indent" > Support for additional unicode characters:
+<!--l. 3187--><p class="indent" > Example: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\.{a}</span></span></span> and <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\d{a}</span></span></span>
-<!--l. 3171--><p class="indent" > 1. Get a list with unicode data, eg:
-<!--l. 3173--><p class="indent" > http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
-<!--l. 3175--><p class="indent" > 2. Identify the characters (<span class="obeylines-h"><span class="verb"><span
+<!--l. 3189--><p class="indent" > 1. Get a list with unicode data, eg:
+<!--l. 3191--><p class="indent" > http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
+<!--l. 3193--><p class="indent" > 2. Identify the characters (<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\.{a}</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\d{a}</span></span></span>):
@@ -6907,9 +6939,9 @@ class="ec-lmvtt-10">\d{a}</span></span></span>):
&#x00A0;&#x00A0;&#x00A0;&#x00A0;0227;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;A&#x00A0;WITH&#x00A0;DOT&#x00A0;ABOVE;...
&#x00A0;&#x00A0;&#x00A0;&#x00A0;1EA1;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;A&#x00A0;WITH&#x00A0;DOT&#x00A0;BELOW;...
</pre>
-<!--l. 3179--><p class="nopar" >
-<!--l. 3181--><p class="indent" > 3. Calculate the octal code:
-<!--l. 3183--><p class="indent" > The first characters of the line in the file are hex values, convert each byte and prepend them with a
+<!--l. 3197--><p class="nopar" >
+<!--l. 3199--><p class="indent" > 3. Calculate the octal code:
+<!--l. 3201--><p class="indent" > The first characters of the line in the file are hex values, convert each byte and prepend them with a
backslash. (This will go into the PDF file.)
@@ -6917,9 +6949,9 @@ backslash. (This will go into the PDF file.)
&#x00A0;&#x00A0;&#x00A0;&#x00A0;0227&#x00A0;-&#x003E;&#x00A0;\002\047
&#x00A0;&#x00A0;&#x00A0;&#x00A0;1EA1&#x00A0;-&#x003E;&#x00A0;\036\241
</pre>
-<!--l. 3190--><p class="nopar" >
-<!--l. 3192--><p class="indent" > 4. Transform into a form understood by hyperref:
-<!--l. 3194--><p class="indent" > Hyperref must know where the first byte starts, this is marked by <span class="obeylines-h"><span class="verb"><span
+<!--l. 3208--><p class="nopar" >
+<!--l. 3210--><p class="indent" > 4. Transform into a form understood by hyperref:
+<!--l. 3212--><p class="indent" > Hyperref must know where the first byte starts, this is marked by <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">9</span></span></span> (8 and 9 cannot occur in octal
numbers):
@@ -6928,8 +6960,8 @@ numbers):
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\002\047&#x00A0;-&#x003E;&#x00A0;\9002\047
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\036\241&#x00A0;-&#x003E;&#x00A0;\9036\241
</pre>
-<!--l. 3201--><p class="nopar" >
-<!--l. 3203--><p class="indent" > Optional: <span class="obeylines-h"><span class="verb"><span
+<!--l. 3219--><p class="nopar" >
+<!--l. 3221--><p class="indent" > Optional: <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">8</span></span></span> is used for abbreviations:
@@ -6938,8 +6970,8 @@ class="ec-lmvtt-10">8</span></span></span> is used for abbreviations:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\9002\047&#x00A0;-&#x003E;&#x00A0;\82\047
</pre>
-<!--l. 3209--><p class="nopar" >
-<!--l. 3211--><p class="indent" > 5. Declare the character with LaTeX:
+<!--l. 3227--><p class="nopar" >
+<!--l. 3229--><p class="indent" > 5. Declare the character with LaTeX:
<pre class="verbatim" id="verbatim-83">
@@ -6951,11 +6983,11 @@ class="ec-lmvtt-10">8</span></span></span> is used for abbreviations:
\end{document}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
</pre>
-<!--l. 3220--><p class="nopar" >
-<!--l. 3222--><p class="noindent" >
+<!--l. 3238--><p class="nopar" >
+<!--l. 3240--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.6 </span> <a
- id="x1-10800011.6"></a>Footnotes</h4>
-<!--l. 3224--><p class="noindent" >The footnote support is rather limited. It is beyond the scope to use <span class="obeylines-h"><span class="verb"><span
+ id="x1-10900011.6"></a>Footnotes</h4>
+<!--l. 3242--><p class="noindent" >The footnote support is rather limited. It is beyond the scope to use <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotemark</span></span></span> and <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\footnotetext</span></span></span>
out of order or reusing <span class="obeylines-h"><span class="verb"><span
@@ -7013,12 +7045,12 @@ C%
\end{document}
</pre>
-<!--l. 3278--><p class="nopar" >
+<!--l. 3296--><p class="nopar" >
-<!--l. 3280--><p class="noindent" >
+<!--l. 3298--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">11.7 </span> <a
- id="x1-10900011.7"></a>Subordinate counters</h4>
-<!--l. 3282--><p class="noindent" >Some counters do not have unique values and require the value of other counters to be unique. For
+ id="x1-11000011.7"></a>Subordinate counters</h4>
+<!--l. 3300--><p class="noindent" >Some counters do not have unique values and require the value of other counters to be unique. For
example, sections or figures might be numbered within chapters or <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\newtheorem</span></span></span> is used with an
optional counter argument. Internally LaTeX uses <span class="obeylines-h"><span class="verb"><span
@@ -7027,13 +7059,13 @@ another counter. Package hyperref hooks into <span class="obeylines-h"><span cla
class="ec-lmvtt-10">\@addtoreset</span></span></span> to catch this situation. Also <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\numberwithin</span></span></span>
of package amsmath is caught by hyperref.
-<!--l. 3292--><p class="indent" > However, if the definition of subordinate counters take place before hyperref is loaded, the old
+<!--l. 3310--><p class="indent" > However, if the definition of subordinate counters take place before hyperref is loaded, the old
meaning of <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\@addtoreset</span></span></span> is called without hyperref&#8217;s additions. Then the companion counter macro
<span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\theH&#x003C;counter&#x003E;</span></span></span> can be redefined accordingly. Or move the definition of subordinate counters after
hyperref is loaded.
-<!--l. 3298--><p class="indent" > Example for <span class="obeylines-h"><span class="verb"><span
+<!--l. 3316--><p class="indent" > Example for <span class="obeylines-h"><span class="verb"><span
class="ec-lmvtt-10">\newtheorem</span></span></span>, problematic case:
@@ -7041,14 +7073,14 @@ class="ec-lmvtt-10">\newtheorem</span></span></span>, problematic case:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section]
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
</pre>
-<!--l. 3302--><p class="nopar" > Solution a)
+<!--l. 3320--><p class="nopar" > Solution a)
<pre class="verbatim" id="verbatim-86">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section}
</pre>
-<!--l. 3307--><p class="nopar" > Solution b)
+<!--l. 3325--><p class="nopar" > Solution b)
<pre class="verbatim" id="verbatim-87">
@@ -7056,11 +7088,11 @@ class="ec-lmvtt-10">\newtheorem</span></span></span>, problematic case:
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newcommand*{\theHcorA}{\theHsection.\number\value{corA}}
</pre>
-<!--l. 3313--><p class="nopar" >
-<!--l. 3315--><p class="noindent" >
+<!--l. 3331--><p class="nopar" >
+<!--l. 3333--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">12 </span> <a
- id="x1-11000012"></a>History and acknowledgments</h3>
-<!--l. 3317--><p class="noindent" >The original authors of <span
+ id="x1-11100012"></a>History and acknowledgments</h3>
+<!--l. 3335--><p class="noindent" >The original authors of <span
class="ec-lmss-10">hyperbasics.tex </span>and <span
class="ec-lmss-10">hypertex.sty</span>, from which this package descends, are
Tanmoy Bhattacharya and Thorsten Ohl. Package <span
@@ -7073,12 +7105,12 @@ Carlisle, T.&#x00A0;V.&#x00A0;Raman and Leslie Lamport for comments, requests, t
get the package into its first useable state. Various other people are mentioned at the point
in the source where I had to change the code in later versions because of problems they
found.
-<!--l. 3330--><p class="indent" > Tanmoy found a great many of the bugs, and (even better) often provided fixes, which has
+<!--l. 3348--><p class="indent" > Tanmoy found a great many of the bugs, and (even better) often provided fixes, which has
made the package more robust. The days spent on RevTeX&#x00A0;are entirely due to him! The
investigations of Bill Moss into the later versions including native PDF support uncovered a
good many bugs, and his testing is appreciated. Hans Hagen provided a lot of insight into
PDF.
-<!--l. 3338--><p class="indent" > Berthold Horn provided help, encouragement and sponsorship for the <span
+<!--l. 3356--><p class="indent" > Berthold Horn provided help, encouragement and sponsorship for the <span
class="ec-lmss-10">dvipsone </span>and <span
class="ec-lmss-10">dviwindo </span>drivers.
Sergey Lesenko provided the changes needed for <span
@@ -7092,14 +7124,14 @@ class="ec-lmss-10">hyper </span>package (developed in parallel with
<span
class="ec-lmss-10">hyperref</span>) showed me solutions for some problems. Hopefully the two packages will combine one
day.
-<!--l. 3347--><p class="indent" > The forms creation section owes a great deal to: T.&#x00A0;V.&#x00A0;Raman, for encouragement, support and
+<!--l. 3365--><p class="indent" > The forms creation section owes a great deal to: T.&#x00A0;V.&#x00A0;Raman, for encouragement, support and
ideas; Thomas Merz, whose book <span
class="ec-lmri-10">Web Publishing with Acrobat/PDF </span>provided crucial insights;
D.&#x00A0;P.&#x00A0;Story, whose detailed article about pdfmarks and forms solved many practical problems; and Hans
Hagen, who explained how to do it in <span
class="ec-lmss-10">pdftex</span>.
-<!--l. 3353--><p class="indent" > Steve Peter recreated the manual source in July 2003 after it had been lost.
-<!--l. 3356--><p class="indent" > Especial extra thanks to David Carlisle for the <span
+<!--l. 3371--><p class="indent" > Steve Peter recreated the manual source in July 2003 after it had been lost.
+<!--l. 3374--><p class="indent" > Especial extra thanks to David Carlisle for the <span
class="ec-lmss-10">backref </span>module, the ps2pdf and dviwindo support,
frequent general rewrites of my bad code, and for working on changes to the <span
class="ec-lmss-10">xr </span>package to suit
@@ -7108,62 +7140,62 @@ class="ec-lmss-10">hyperref</span>.
<h3 class="sectionHead"><span class="titlemark">13 </span> <a
- id="x1-11100013"></a>GNU Free Documentation License</h3>
-<!--l. 3396--><p class="noindent" >Version 1.2, November 2002
-<!--l. 3399--><p class="indent" > Copyright <span
+ id="x1-11200013"></a>GNU Free Documentation License</h3>
+<!--l. 3414--><p class="noindent" >Version 1.2, November 2002
+<!--l. 3417--><p class="indent" > Copyright <span
class="ts1-lmr10-">©</span>&#x00A0;2000,2001,2002 Free Software Foundation, Inc.<br
class="newline" />59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br
class="newline" />Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is
not allowed.
-<!--l. 3405--><p class="noindent" >
+<!--l. 3423--><p class="noindent" >
<h4 class="likesubsectionHead"><a
- id="x1-11200013"></a>Preamble</h4>
-<!--l. 3407--><p class="noindent" >The purpose of this License is to make a manual, textbook, or other functional and useful document
+ id="x1-11300013"></a>Preamble</h4>
+<!--l. 3425--><p class="noindent" >The purpose of this License is to make a manual, textbook, or other functional and useful document
&#8220;free&#8221; in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with
or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for
the author and publisher a way to get credit for their work, while not being considered responsible for
modifications made by others.
-<!--l. 3415--><p class="indent" > This License is a kind of &#8220;copyleft&#8221;, which means that derivative works of the document must
+<!--l. 3433--><p class="indent" > This License is a kind of &#8220;copyleft&#8221;, which means that derivative works of the document must
themselves be free in the same sense. It complements the GNU General Public License, which is a
copyleft license designed for free software.
-<!--l. 3420--><p class="indent" > We have designed this License in order to use it for manuals for free software, because free software
+<!--l. 3438--><p class="indent" > We have designed this License in order to use it for manuals for free software, because free software
needs free documentation: a free program should come with manuals providing the same
freedoms that the software does. But this License is not limited to software manuals; it can
be used for any textual work, regardless of subject matter or whether it is published as a
printed book. We recommend this License principally for works whose purpose is instruction or
reference.
-<!--l. 3429--><p class="noindent" >
+<!--l. 3447--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.1 </span> <a
- id="x1-11300013.1"></a>Applicability and definitions</h4>
-<!--l. 3432--><p class="noindent" >This License applies to any manual or other work, in any medium, that contains a notice placed by
+ id="x1-11400013.1"></a>Applicability and definitions</h4>
+<!--l. 3450--><p class="noindent" >This License applies to any manual or other work, in any medium, that contains a notice placed by
the copyright holder saying it can be distributed under the terms of this License. Such a
notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under
the conditions stated herein. The &#8220;Document&#8221;, below, refers to any such manual or work.
Any member of the public is a licensee, and is addressed as &#8220;you&#8221;. You accept the license
if you copy, modify or distribute the work in a way requiring permission under copyright
law.
-<!--l. 3442--><p class="indent" > A &#8220;Modified Version&#8221; of the Document means any work containing the Document or a
+<!--l. 3460--><p class="indent" > A &#8220;Modified Version&#8221; of the Document means any work containing the Document or a
portion of it, either copied verbatim, or with modifications and/or translated into another
language.
-<!--l. 3446--><p class="indent" > A &#8220;Secondary Section&#8221; is a named appendix or a front-matter section of the Document that deals
+<!--l. 3464--><p class="indent" > A &#8220;Secondary Section&#8221; is a named appendix or a front-matter section of the Document that deals
exclusively with the relationship of the publishers or authors of the Document to the Document&#8217;s overall
subject (or to related matters) and contains nothing that could fall directly within that overall subject.
(Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical connection with the subject or with
related matters, or of legal, commercial, philosophical, ethical or political position regarding
them.
-<!--l. 3457--><p class="indent" > The &#8220;Invariant Sections&#8221; are certain Secondary Sections whose titles are designated, as being those of
+<!--l. 3475--><p class="indent" > The &#8220;Invariant Sections&#8221; are certain Secondary Sections whose titles are designated, as being those of
Invariant Sections, in the notice that says that the Document is released under this License. If a section
does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The
Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections
then there are none.
-<!--l. 3465--><p class="indent" > The &#8220;Cover Texts&#8221; are certain short passages of text that are listed, as Front-Cover Texts or
+<!--l. 3483--><p class="indent" > The &#8220;Cover Texts&#8221; are certain short passages of text that are listed, as Front-Cover Texts or
Back-Cover Texts, in the notice that says that the Document is released under this License.
A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25
words.
-<!--l. 3470--><p class="indent" > A &#8220;Transparent&#8221; copy of the Document means a machine-readable copy, represented in a format
+<!--l. 3488--><p class="indent" > A &#8220;Transparent&#8221; copy of the Document means a machine-readable copy, represented in a format
whose specification is available to the general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or
(for drawings) some widely available drawing editor, and that is suitable for input to text formatters or
@@ -7172,7 +7204,7 @@ otherwise Transparent file format whose markup, or absence of markup, has been a
discourage subsequent modification by readers is not Transparent. An image format is not
Transparent if used for any substantial amount of text. A copy that is not &#8220;Transparent&#8221; is called
&#8220;Opaque&#8221;.
-<!--l. 3483--><p class="indent" > Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo
+<!--l. 3501--><p class="indent" > Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo
input format, LaTeX&#x00A0;input format, SGML or XML using a publicly available DTD, and
standard-conforming simple HTML, PostScript or PDF designed for human modification.
Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include
@@ -7180,41 +7212,41 @@ proprietary formats that can be read and edited only by proprietary word process
or XML for which the DTD and/or processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word processors for output purposes
only.
-<!--l. 3494--><p class="indent" > The &#8220;Title Page&#8221; means, for a printed book, the title page itself, plus such following pages as are
+<!--l. 3512--><p class="indent" > The &#8220;Title Page&#8221; means, for a printed book, the title page itself, plus such following pages as are
needed to hold, legibly, the material this License requires to appear in the title page. For works in
formats which do not have any title page as such, &#8220;Title Page&#8221; means the text near the
most prominent appearance of the work&#8217;s title, preceding the beginning of the body of the
text.
-<!--l. 3501--><p class="indent" > A section &#8220;Entitled XYZ&#8221; means a named subunit of the Document whose title either is precisely
+<!--l. 3519--><p class="indent" > A section &#8220;Entitled XYZ&#8221; means a named subunit of the Document whose title either is precisely
XYZ or contains XYZ in parentheses following text that translates XYZ in another language.
(Here XYZ stands for a specific section name mentioned below, such as &#8220;Acknowledgements&#8221;,
&#8220;Dedications&#8221;, &#8220;Endorsements&#8221;, or &#8220;History&#8221;.) To &#8220;Preserve the Title&#8221; of such a section when you
modify the Document means that it remains a section &#8220;Entitled XYZ&#8221; according to this
definition.
-<!--l. 3509--><p class="indent" > The Document may include Warranty Disclaimers next to the notice which states that this
+<!--l. 3527--><p class="indent" > The Document may include Warranty Disclaimers next to the notice which states that this
License applies to the Document. These Warranty Disclaimers are considered to be included by
reference in this License, but only as regards disclaiming warranties: any other implication
that these Warranty Disclaimers may have is void and has no effect on the meaning of this
License.
-<!--l. 3517--><p class="noindent" >
+<!--l. 3535--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.2 </span> <a
- id="x1-11400013.2"></a>Verbatim copying</h4>
-<!--l. 3520--><p class="noindent" >You may copy and distribute the Document in any medium, either commercially or noncommercially,
+ id="x1-11500013.2"></a>Verbatim copying</h4>
+<!--l. 3538--><p class="noindent" >You may copy and distribute the Document in any medium, either commercially or noncommercially,
provided that this License, the copyright notices, and the license notice saying this License applies to the
Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this
License. You may not use technical measures to obstruct or control the reading or further copying of the
copies you make or distribute. However, you may accept compensation in exchange for copies.
If you distribute a large enough number of copies you must also follow the conditions in
section&#x00A0;<a
-href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a>.
-<!--l. 3531--><p class="indent" > You may also lend copies, under the same conditions stated above, and you may publicly display
+href="#x1-11600013.3">13.3<!--tex4ht:ref: copying --></a>.
+<!--l. 3549--><p class="indent" > You may also lend copies, under the same conditions stated above, and you may publicly display
copies.
-<!--l. 3535--><p class="noindent" >
+<!--l. 3553--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.3 </span> <a
- id="x1-11500013.3"></a>Copying in quantity</h4>
-<!--l. 3538--><p class="noindent" >If you publish printed copies (or copies in media that commonly have printed covers) of the Document,
+ id="x1-11600013.3"></a>Copying in quantity</h4>
+<!--l. 3556--><p class="noindent" >If you publish printed copies (or copies in media that commonly have printed covers) of the Document,
numbering more than 100, and the Document&#8217;s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front
cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly
@@ -7223,10 +7255,10 @@ words of the title equally prominent and visible. You may add other material on
addition. Copying with changes limited to the covers, as long as they preserve the title of
the Document and satisfy these conditions, can be treated as verbatim copying in other
respects.
-<!--l. 3551--><p class="indent" > If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
+<!--l. 3569--><p class="indent" > If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent
pages.
-<!--l. 3556--><p class="indent" > If you publish or distribute Opaque copies of the Document numbering more than 100, you must
+<!--l. 3574--><p class="indent" > If you publish or distribute Opaque copies of the Document numbering more than 100, you must
either include a machine-readable Transparent copy along with each Opaque copy, or state in or with
each Opaque copy a computer-network location from which the general network-using public has access
to download using public-standard network protocols a complete Transparent copy of the Document, free
@@ -7235,162 +7267,162 @@ begin distribution of Opaque copies in quantity, to ensure that this Transparent
remain thus accessible at the stated location until at least one year after the last time you
distribute an Opaque copy (directly or through your agents or retailers) of that edition to the
public.
-<!--l. 3569--><p class="indent" > It is requested, but not required, that you contact the authors of the Document well before
+<!--l. 3587--><p class="indent" > It is requested, but not required, that you contact the authors of the Document well before
redistributing any large number of copies, to give them a chance to provide you with an updated version
of the Document.
-<!--l. 3574--><p class="noindent" >
+<!--l. 3592--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.4 </span> <a
- id="x1-11600013.4"></a>Modifications</h4>
-<!--l. 3577--><p class="noindent" >You may copy and distribute a Modified Version of the Document under the conditions of sections&#x00A0;<a
-href="#x1-11400013.2">13.2<!--tex4ht:ref: verbatim --></a>
+ id="x1-11700013.4"></a>Modifications</h4>
+<!--l. 3595--><p class="noindent" >You may copy and distribute a Modified Version of the Document under the conditions of sections&#x00A0;<a
+href="#x1-11500013.2">13.2<!--tex4ht:ref: verbatim --></a>
and <a
-href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a> above, provided that you release the Modified Version under precisely this License, with the
+href="#x1-11600013.3">13.3<!--tex4ht:ref: copying --></a> above, provided that you release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing distribution and modification of the
Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified
Version:
-<!--l. 3586--><p class="indent" >
+<!--l. 3604--><p class="indent" >
<ol class="enumerate1" >
<li
- class="enumerate" id="x1-116002x1">Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
+ class="enumerate" id="x1-117002x1">Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
and from those of previous versions (which should, if there were any, be listed in the History
section of the Document). You may use the same title as a previous version if the original
publisher of that version gives permission.
</li>
<li
- class="enumerate" id="x1-116004x2">List on the Title Page, as authors, one or more persons or entities responsible for authorship
+ class="enumerate" id="x1-117004x2">List on the Title Page, as authors, one or more persons or entities responsible for authorship
of the modifications in the Modified Version, together with at least five of the principal
authors of the Document (all of its principal authors, if it has fewer than five), unless they
release you from this requirement.
</li>
<li
- class="enumerate" id="x1-116006x3">State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ class="enumerate" id="x1-117006x3">State on the Title page the name of the publisher of the Modified Version, as the publisher.
</li>
<li
- class="enumerate" id="x1-116008x4">Preserve all the copyright notices of the Document.
+ class="enumerate" id="x1-117008x4">Preserve all the copyright notices of the Document.
</li>
<li
- class="enumerate" id="x1-116010x5">Add an appropriate copyright notice for your modifications adjacent to the other copyright
+ class="enumerate" id="x1-117010x5">Add an appropriate copyright notice for your modifications adjacent to the other copyright
notices.
</li>
<li
- class="enumerate" id="x1-116012x6">Include, immediately after the copyright notices, a license notice giving the public permission
+ class="enumerate" id="x1-117012x6">Include, immediately after the copyright notices, a license notice giving the public permission
to use the Modified Version under the terms of this License, in the form shown in the
Addendum below.
</li>
<li
- class="enumerate" id="x1-116014x7">Preserve in that license notice the full lists of Invariant Sections and required Cover Texts
+ class="enumerate" id="x1-117014x7">Preserve in that license notice the full lists of Invariant Sections and required Cover Texts
given in the Document&#8217;s license notice.
</li>
<li
- class="enumerate" id="x1-116016x8">Include an unaltered copy of this License.
+ class="enumerate" id="x1-117016x8">Include an unaltered copy of this License.
</li>
<li
- class="enumerate" id="x1-116018x9">Preserve the section Entitled &#8220;History&#8221;, Preserve its Title, and add to it an item stating at
+ class="enumerate" id="x1-117018x9">Preserve the section Entitled &#8220;History&#8221;, Preserve its Title, and add to it an item stating at
least the title, year, new authors, and publisher of the Modified Version as given on the Title
Page. If there is no section Entitled &#8220;History&#8221; in the Document, create one stating the title,
year, authors, and publisher of the Document as given on its Title Page, then add an item
describing the Modified Version as stated in the previous sentence.
</li>
<li
- class="enumerate" id="x1-116020x10">Preserve the network location, if any, given in the Document for public access to a
+ class="enumerate" id="x1-117020x10">Preserve the network location, if any, given in the Document for public access to a
Transparent copy of the Document, and likewise the network locations given in the Document
for previous versions it was based on. These may be placed in the &#8220;History&#8221; section. You
may omit a network location for a work that was published at least four years before the
Document itself, or if the original publisher of the version it refers to gives permission.
</li>
<li
- class="enumerate" id="x1-116022x11">For any section Entitled &#8220;Acknowledgements&#8221; or &#8220;Dedications&#8221;, Preserve the Title of the
+ class="enumerate" id="x1-117022x11">For any section Entitled &#8220;Acknowledgements&#8221; or &#8220;Dedications&#8221;, Preserve the Title of the
section, and preserve in the section all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
</li>
<li
- class="enumerate" id="x1-116024x12">Preserve all the Invariant Sections of the Document, unaltered in their text and in their
+ class="enumerate" id="x1-117024x12">Preserve all the Invariant Sections of the Document, unaltered in their text and in their
titles. Section numbers or the equivalent are not considered part of the section titles.
</li>
<li
- class="enumerate" id="x1-116026x13">Delete any section Entitled &#8220;Endorsements&#8221;. Such a section may not be included in the
+ class="enumerate" id="x1-117026x13">Delete any section Entitled &#8220;Endorsements&#8221;. Such a section may not be included in the
Modified Version.
</li>
<li
- class="enumerate" id="x1-116028x14">Do not retitle any existing section to be Entitled &#8220;Endorsements&#8221; or to conflict in title with
+ class="enumerate" id="x1-117028x14">Do not retitle any existing section to be Entitled &#8220;Endorsements&#8221; or to conflict in title with
any Invariant Section.
</li>
<li
- class="enumerate" id="x1-116030x15">Preserve any Warranty Disclaimers.
+ class="enumerate" id="x1-117030x15">Preserve any Warranty Disclaimers.
</li></ol>
-<!--l. 3637--><p class="indent" > If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
+<!--l. 3655--><p class="indent" > If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
Sections and contain no material copied from the Document, you may at your option designate some or
all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in
the Modified Version&#8217;s license notice. These titles must be distinct from any other section
titles.
-<!--l. 3644--><p class="indent" > You may add a section Entitled &#8220;Endorsements&#8221;, provided it contains nothing but endorsements of
+<!--l. 3662--><p class="indent" > You may add a section Entitled &#8220;Endorsements&#8221;, provided it contains nothing but endorsements of
your Modified Version by various parties&#8211;for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a standard.
-<!--l. 3650--><p class="indent" > You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as
+<!--l. 3668--><p class="indent" > You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as
a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any
one entity. If the Document already includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of, you may not add another; but you
may replace the old one, on explicit permission from the previous publisher that added the old
one.
-<!--l. 3660--><p class="indent" > The author(s) and publisher(s) of the Document do not by this License give permission to use their
+<!--l. 3678--><p class="indent" > The author(s) and publisher(s) of the Document do not by this License give permission to use their
names for publicity for or to assert or imply endorsement of any Modified Version.
-<!--l. 3665--><p class="noindent" >
+<!--l. 3683--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.5 </span> <a
- id="x1-11700013.5"></a>Combining documents</h4>
-<!--l. 3668--><p class="noindent" >You may combine the Document with other documents released under this License, under the terms
+ id="x1-11800013.5"></a>Combining documents</h4>
+<!--l. 3686--><p class="noindent" >You may combine the Document with other documents released under this License, under the terms
defined in section&#x00A0;<a
-href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a> above for modified versions, provided that you include in the combination all of
+href="#x1-11700013.4">13.4<!--tex4ht:ref: modifications --></a> above for modified versions, provided that you include in the combination all of
the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant
Sections of your combined work in its license notice, and that you preserve all their Warranty
Disclaimers.
-<!--l. 3676--><p class="indent" > The combined work need only contain one copy of this License, and multiple identical Invariant
+<!--l. 3694--><p class="indent" > The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name
but different contents, make the title of each such section unique by adding at the end of it, in
parentheses, the name of the original author or publisher of that section if known, or else a unique
number. Make the same adjustment to the section titles in the list of Invariant Sections in the license
notice of the combined work.
-<!--l. 3685--><p class="indent" > In the combination, you must combine any sections Entitled &#8220;History&#8221; in the various original
+<!--l. 3703--><p class="indent" > In the combination, you must combine any sections Entitled &#8220;History&#8221; in the various original
documents, forming one section Entitled &#8220;History&#8221;; likewise combine any sections Entitled
&#8220;Acknowledgements&#8221;, and any sections Entitled &#8220;Dedications&#8221;. You must delete all sections Entitled
&#8220;Endorsements&#8221;.
-<!--l. 3692--><p class="noindent" >
+<!--l. 3710--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.6 </span> <a
- id="x1-11800013.6"></a>Collections of documents</h4>
-<!--l. 3695--><p class="noindent" >You may make a collection consisting of the Document and other documents released under this License,
+ id="x1-11900013.6"></a>Collections of documents</h4>
+<!--l. 3713--><p class="noindent" >You may make a collection consisting of the Document and other documents released under this License,
and replace the individual copies of this License in the various documents with a single copy that is
included in the collection, provided that you follow the rules of this License for verbatim copying of each
of the documents in all other respects.
-<!--l. 3701--><p class="indent" > You may extract a single document from such a collection, and distribute it individually under this
+<!--l. 3719--><p class="indent" > You may extract a single document from such a collection, and distribute it individually under this
License, provided you insert a copy of this License into the extracted document, and follow this License
in all other respects regarding verbatim copying of that document.
-<!--l. 3707--><p class="noindent" >
+<!--l. 3725--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.7 </span> <a
- id="x1-11900013.7"></a>Aggregation with independent works</h4>
-<!--l. 3710--><p class="noindent" >A compilation of the Document or its derivatives with other separate and independent documents or
+ id="x1-12000013.7"></a>Aggregation with independent works</h4>
+<!--l. 3728--><p class="noindent" >A compilation of the Document or its derivatives with other separate and independent documents or
works, in or on a volume of a storage or distribution medium, is called an &#8220;aggregate&#8221; if the copyright
resulting from the compilation is not used to limit the legal rights of the compilation&#8217;s users beyond what
the individual works permit. When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves derivative works of the
Document.
-<!--l. 3719--><p class="indent" > If the Cover Text requirement of section&#x00A0;<a
-href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a> is applicable to these copies of the Document, then if
+<!--l. 3737--><p class="indent" > If the Cover Text requirement of section&#x00A0;<a
+href="#x1-11600013.3">13.3<!--tex4ht:ref: copying --></a> is applicable to these copies of the Document, then if
the Document is less than one half of the entire aggregate, the Document&#8217;s Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the
Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole
aggregate.
-<!--l. 3728--><p class="noindent" >
+<!--l. 3746--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.8 </span> <a
- id="x1-12000013.8"></a>Translation</h4>
-<!--l. 3731--><p class="noindent" >Translation is considered a kind of modification, so you may distribute translations of the Document
+ id="x1-12100013.8"></a>Translation</h4>
+<!--l. 3749--><p class="noindent" >Translation is considered a kind of modification, so you may distribute translations of the Document
under the terms of section&#x00A0;<a
-href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a>. Replacing Invariant Sections with translations requires special
+href="#x1-11700013.4">13.4<!--tex4ht:ref: modifications --></a>. Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include translations of some or all Invariant
Sections in addition to the original versions of these Invariant Sections. You may include a translation of
this License, and all the license notices in the Document, and any Warranty Disclaimers,
@@ -7398,26 +7430,26 @@ provided that you also include the original English version of this License and
versions of those notices and disclaimers. In case of a disagreement between the translation
and the original version of this License or a notice or disclaimer, the original version will
prevail.
-<!--l. 3745--><p class="indent" > If a section in the Document is Entitled &#8220;Acknowledgements&#8221;, &#8220;Dedications&#8221;, or &#8220;History&#8221;, the
+<!--l. 3763--><p class="indent" > If a section in the Document is Entitled &#8220;Acknowledgements&#8221;, &#8220;Dedications&#8221;, or &#8220;History&#8221;, the
requirement (section&#x00A0;<a
-href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a>) to Preserve its Title (section&#x00A0;<a
-href="#x1-11300013.1">13.1<!--tex4ht:ref: applicability --></a>) will typically require changing the actual
+href="#x1-11700013.4">13.4<!--tex4ht:ref: modifications --></a>) to Preserve its Title (section&#x00A0;<a
+href="#x1-11400013.1">13.1<!--tex4ht:ref: applicability --></a>) will typically require changing the actual
title.
-<!--l. 3752--><p class="noindent" >
+<!--l. 3770--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.9 </span> <a
- id="x1-12100013.9"></a>Termination</h4>
-<!--l. 3755--><p class="noindent" >You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under
+ id="x1-12200013.9"></a>Termination</h4>
+<!--l. 3773--><p class="noindent" >You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under
this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated so long as such parties remain
in full compliance.
-<!--l. 3764--><p class="noindent" >
+<!--l. 3782--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">13.10 </span> <a
- id="x1-12200013.10"></a>Future revisions of this license</h4>
-<!--l. 3767--><p class="noindent" >The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
+ id="x1-12300013.10"></a>Future revisions of this license</h4>
+<!--l. 3785--><p class="noindent" >The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
License from time to time. Such new versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
-<!--l. 3773--><p class="indent" > Each version of the License is given a distinguishing version number. If the Document specifies that a
+<!--l. 3791--><p class="indent" > Each version of the License is given a distinguishing version number. If the Document specifies that a
particular numbered version of this License &#8220;or any later version&#8221; applies to it, you have the option of
following the terms and conditions either of that specified version or of any later version that has been
published (not as a draft) by the Free Software Foundation. If the Document does not specify a version
@@ -7425,26 +7457,26 @@ number of this License, you may choose any version ever published (not as a draf
Foundation.
-<!--l. 3783--><p class="noindent" >
+<!--l. 3801--><p class="noindent" >
<h4 class="likesubsectionHead"><a
- id="x1-12300013.10"></a>Addendum: how to use this license for your documents</h4>
-<!--l. 3785--><p class="noindent" >To use this License in a document you have written, include a copy of the License in the document and
+ id="x1-12400013.10"></a>Addendum: how to use this license for your documents</h4>
+<!--l. 3803--><p class="noindent" >To use this License in a document you have written, include a copy of the License in the document and
put the following copyright and license notices just after the title page:
-<!--l. 3789--><p class="indent" >
+<!--l. 3807--><p class="indent" >
<blockquote class="quote">
- <!--l. 3790--><p class="noindent" >Copyright <span
+ <!--l. 3808--><p class="noindent" >Copyright <span
class="ts1-lmr10-">©</span>&#x00A0;YEAR YOUR NAME. Permission is granted to copy, distribute and/or
modify this document under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the
license is included in the section entitled &#8220;GNU Free Documentation License&#8221;.</blockquote>
-<!--l. 3799--><p class="indent" > If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the &#8220;with...Texts.&#8221;
+<!--l. 3817--><p class="indent" > If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the &#8220;with...Texts.&#8221;
line with this:
-<!--l. 3802--><p class="indent" > with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and
+<!--l. 3820--><p class="indent" > with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and
with the Back-Cover Texts being LIST.
-<!--l. 3805--><p class="indent" > If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
+<!--l. 3823--><p class="indent" > If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
those two alternatives to suit the situation.
-<!--l. 3809--><p class="indent" > If your document contains nontrivial examples of program code, we recommend releasing these
+<!--l. 3827--><p class="indent" > If your document contains nontrivial examples of program code, we recommend releasing these
examples in parallel under your choice of free software license, such as the GNU General Public License,
to permit their use in free software.
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
index d25eb36501..846efed006 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
index f1e1895645..1fe069afbf 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
@@ -177,7 +177,7 @@
}
\makeatother
\title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}}
-\date{2021-02-07 v7.00h}
+\date{2021-02-08 v7.00i}
\begin{document}
@@ -559,7 +559,7 @@ plainpages & boolean & false & Forces page anchors to be named by the Arabic
raiselinks & boolean & true & In the hypertex driver, the height of links is normally calculated by the driver as
simply the base line of contained text; this options forces \verb|\special| commands to
reflect the real height of the link (which could contain a graphic) \\
-breaklinks & boolean & both & This option is in hyperref only used in the dviwindo driver, in all other cases it doesn't do anything sensible---it neither allows nor prevents links to be broken. The ocgx2 package
+breaklinks & boolean & both & This option is in hyperref only used in the dviwindo driver, in all other cases it doesn't do anything sensible---it neither allows nor prevents links to be broken. The ocgx2 package
checks the state of the boolean.\\
pageanchor & boolean & true & Determines whether every page is given an implicit anchor at the top left corner. If this
is turned off, \verb|\printindex| will not contain
@@ -1016,7 +1016,7 @@ runcolor & \textit{filecolor} & color of `run' links\\
setpagesize & \textit{true} & set page size by special driver commands \\
tex4ht & & use \textsf{\TeX4ht} backend \\
textures & & use \textsf{Textures} backend \\
-unicode & \textit{true} & Unicode encoded pdf strings, starting with version 2021-02-07 v7.00h set by default to true for all engines. \\
+unicode & \textit{true} & Unicode encoded pdf strings, starting with version v7.00g set by default to true for all engines. It will load a number of definitions in puenc.def. It can be set to false for pdflatex, but this is not recommended.\\
urlbordercolor & \textit{0 1 1} & color of border around URL links \\
urlcolor & \textit{magenta} & color of URL links \\
verbose & \textit{false} & be chatty \\
@@ -2219,6 +2219,24 @@ Now the entry in the table of contents (and bookmarks) for the
index points to the start of the index page, not to a location
before this page.
+\subsection{puenc encoding and puenc-extra.def}
+
+The \texttt{unicode} option loads for the bookmarks \texttt{puenc.def} which contains
+quite a lot definitions of commands for the bookmarks.
+As \texttt{unicode} is now true for all engines, this file is now also loaded
+with pdflatex. Some of the definitions in \texttt{puenc.def} clash with other uses.
+To reduce the impact \xpackage{hyperref} uses two strategies.
+
+\begin{itemize}
+\item A number of command are only defined conditionally:
+The commands for the cyrillic block if \cs{CYRDZE} is defined,
+greek if \cs{textBeta} is defined, and hebrew if \cs{hebdalet} is defined.
+
+\item Other commands are moved to an extra file \texttt{puenc-extra.def}
+which is not loaded automatically, but can be loaded in the preamble if needed.
+Currently this file contains all definitions for the accent \cs{G}.
+\end{itemize}
+
\section{Acrobat-specific behavior}
diff --git a/macros/latex/contrib/hyperref/doc/hyperref.pdf b/macros/latex/contrib/hyperref/doc/hyperref.pdf
index fd5f236b7c..5d20fbfe3d 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/manual.css b/macros/latex/contrib/hyperref/doc/manual.css
new file mode 100644
index 0000000000..ea1c3e45c1
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual.css
@@ -0,0 +1,296 @@
+
+/* start css.sty */
+.ec-lmr-17{font-size:170%;}
+.ec-lmss-17{font-size:170%; font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmss-17{ font-family: sans-serif;}
+.ec-lmr-12{font-size:120%;}
+.ec-lmvtt-10x-x-120{font-size:120%; font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-120{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmvtt-10{ font-family: monospace,monospace;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmss-10{ font-family: sans-serif;}
+.ec-lmr-9{font-size:90%;}
+.ec-lmr-8{font-size:80%;}
+.ec-lmvtt-10x-x-80{font-size:80%; font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmvtt-10x-x-80{ font-family: monospace,monospace;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.ec-lmri-10{ font-style:italic;}
+.lmsy7-{font-size:70%;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmbx-10{ font-weight: bold;}
+.ec-lmss-8{font-size:80%; font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmss-8{ font-family: sans-serif;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtk-10{ font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+.ec-lmvtto-10{ font-style: oblique; font-family: monospace,monospace;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; hyphens: auto; }
+@media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+li p.indent { text-indent: 0em }
+li p:first-child{ margin-top:0em; }
+li p:last-child, li div:last-child { margin-bottom:0.5em; }
+li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+.enumerate1 {list-style-type:decimal;}
+.enumerate2 {list-style-type:lower-alpha;}
+.enumerate3 {list-style-type:lower-roman;}
+.enumerate4 {list-style-type:upper-alpha;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; }
+.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.fbox {display:table}
+div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
+table.tabular td p{margin-top:0em;}
+table.tabular {margin-left: auto; margin-right: auto;}
+td p:first-child{ margin-top:0em; }
+td p:last-child{ margin-bottom:0em; }
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+.hline hr, .cline hr{ height : 0px; margin:0px; }
+.hline td, .cline td{ padding: 0; }
+.hline hr, .cline hr{border:none;border-top:1px solid black;}
+.tabbing-right {text-align:right;}
+div.float, div.figure {margin-left: auto; margin-right: auto;}
+div.float img {text-align:center;}
+div.figure img {text-align:center;}
+.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+.reversemarginpar{float:left;}
+table.equation {width:100%;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; }
+td.equation-label { width:5%; text-align:center; }
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.array {text-align:center;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.bar-css {text-decoration:overline;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {line-height: 200%; font-weight:bold;}
+.index-item, .index-subitem, .index-subsubitem {display:block}
+div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
+div.caption span.id{font-weight: bold; white-space: nowrap; }
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
+div.author{white-space: nowrap;}
+div.abstract p {margin-left:5%; margin-right:5%;}
+div.abstract {width:100%;}
+.abstracttitle{text-align:center;margin-bottom:1em;}
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
+table.tabular td p{margin-top:0em;}
+table.tabular {margin-left: auto; margin-right: auto;}
+td p:first-child{ margin-top:0em; }
+td p:last-child{ margin-bottom:0em; }
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+.hline hr, .cline hr{ height : 0px; margin:0px; }
+.hline td, .cline td{ padding: 0; }
+.hline hr, .cline hr{border:none;border-top:1px solid black;}
+div.array {text-align:center;}
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+div.longtable{text-align:center;}
+table.longtable{margin-left:auto; margin-right: auto;}
+span.HoLogo-LaTeX span.HoLogo-a{position:relative;top:-.5ex;margin-left:-.36em;margin-right:-.15em;font-size:85%;}
+span.HoLogo-TeX span.HoLogo-e{position:relative;top:.5ex;margin-left:-.1667em;margin-right:-.125em;}
+a span.HoLogo-TeX span.HoLogo-e{text-decoration:none;}
+span.HoLogo-XeTeX span.HoLogo-TeX{margin-left:-.15em;}
+span.HoLogo-Xe span.HoLogo-e{position:relative;top:.5ex;left-margin:-.1em;}
+span.HoLogo-LaTeX2e span.HoLogo-2{padding-left:.15em;}
+span.HoLogo-LaTeX2e span.HoLogo-e{position:relative;top:.35ex;text-decoration:none;}
+/* end css.sty */
+
diff --git a/macros/latex/contrib/hyperref/doc/manual.html b/macros/latex/contrib/hyperref/doc/manual.html
new file mode 100644
index 0000000000..e743ee9640
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual.html
@@ -0,0 +1,7468 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title>Hypertext marks in LATEX: a manual for hyperref</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="maketitle">
+
+
+
+
+
+<h2 class="titleHead">Hypertext marks in <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span>: a manual for hyperref</h2>
+ <div class="author" ><span
+class="ec-lmr-12">Sebastian Rahtz (deceased)</span><br class="and" /><span
+class="ec-lmr-12">Heiko Oberdiek (inactive)</span><br class="and" /><span
+class="ec-lmr-12">The LaTeX3 Project (</span><a
+href="https://github.com/latex3/hyperref/issues" class="url" ><span
+class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span
+class="ec-lmr-12">)</span></div><br />
+<div class="date" ><span
+class="ec-lmr-12">2021-02-04 v7.00g</span></div>
+ </div>
+ <h3 class="likesectionHead"><a
+ id="x1-1000"></a>Contents</h3>
+ <div class="tableofcontents">
+ &#x00A0;<span class="sectionToc" >1 <a
+href="#x1-20001" id="QQ2-1-2">Introduction</a></span>
+<br /> &#x00A0;<span class="sectionToc" >2 <a
+href="#x1-30002" id="QQ2-1-3">Implicit behavior</a></span>
+<br /> &#x00A0;<span class="sectionToc" >3 <a
+href="#x1-40003" id="QQ2-1-4">Package options</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1 <a
+href="#x1-50003.1" id="QQ2-1-5">General options</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.2 <a
+href="#x1-60003.2" id="QQ2-1-6">Options for destination names</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.3 <a
+href="#x1-70003.3" id="QQ2-1-7">Configuration options</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.4 <a
+href="#x1-80003.4" id="QQ2-1-8">Backend drivers</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.5 <a
+href="#x1-90003.5" id="QQ2-1-9">Extension options</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.6 <a
+href="#x1-100003.6" id="QQ2-1-10">PDF-specific display options</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.7 <a
+href="#x1-110003.7" id="QQ2-1-11">PDF display and information options</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.8 <a
+href="#x1-120003.8" id="QQ2-1-12">Option <span
+class="ec-lmvtt-10">pdfinfo</span></a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.9 <a
+href="#x1-130003.9" id="QQ2-1-13">Big alphabetical list</a></span>
+<br /> &#x00A0;<span class="sectionToc" >4 <a
+href="#x1-140004" id="QQ2-1-14">Additional user macros</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >4.1 <a
+href="#x1-150004.1" id="QQ2-1-15">Bookmark macros</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >4.2 <a
+href="#x1-180004.2" id="QQ2-1-18">Pagelabels</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >4.3 <a
+href="#x1-190004.3" id="QQ2-1-19">Utility macros</a></span>
+<br /> &#x00A0;<span class="sectionToc" >5 <a
+href="#x1-200005" id="QQ2-1-20">New Features</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.1 <a
+href="#x1-210005.1" id="QQ2-1-21">Option &#8216;pdflinkmargin&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.2 <a
+href="#x1-220005.2" id="QQ2-1-22">Field option &#8216;calculatesortkey&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.3 <a
+href="#x1-230005.3" id="QQ2-1-23">Option &#8216;localanchorname&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.4 <a
+href="#x1-240005.4" id="QQ2-1-24">Option &#8216;customdriver&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.5 <a
+href="#x1-250005.5" id="QQ2-1-25">Option &#8216;psdextra&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.6 <a
+href="#x1-260005.6" id="QQ2-1-26">\XeTeXLinkBox</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.7 <a
+href="#x1-270005.7" id="QQ2-1-27">\IfHyperBooleanExists and \IfHyperBoolean</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.8 <a
+href="#x1-280005.8" id="QQ2-1-28">\unichar</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.9 <a
+href="#x1-290005.9" id="QQ2-1-29">\ifpdfstringunicode</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.10 <a
+href="#x1-300005.10" id="QQ2-1-30">Customizing index style file with \nohyperpage</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.11 <a
+href="#x1-310005.11" id="QQ2-1-31">Experimental option &#8216;ocgcolorlinks&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.12 <a
+href="#x1-320005.12" id="QQ2-1-32">Option &#8216;pdfa&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.13 <a
+href="#x1-330005.13" id="QQ2-1-33">Option &#8216;linktoc&#8217; added</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.14 <a
+href="#x1-340005.14" id="QQ2-1-34">Option &#8216;pdfnewwindow&#8217; changed</a></span>
+
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.15 <a
+href="#x1-350005.15" id="QQ2-1-35">Flag options for PDF forms</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.16 <a
+href="#x1-360005.16" id="QQ2-1-36">Option &#8216;pdfversion&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.17 <a
+href="#x1-370005.17" id="QQ2-1-37">Field option &#8216;name&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.18 <a
+href="#x1-380005.18" id="QQ2-1-38">Option &#8216;pdfencoding&#8217;</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.19 <a
+href="#x1-390005.19" id="QQ2-1-39">Color options/package hycolor</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.20 <a
+href="#x1-400005.20" id="QQ2-1-40">Option pdfusetitle</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.21 <a
+href="#x1-410005.21" id="QQ2-1-41">Starred form of \autoref</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.22 <a
+href="#x1-420005.22" id="QQ2-1-42">Link border style</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.23 <a
+href="#x1-430005.23" id="QQ2-1-43">Option <span
+class="ec-lmss-10">bookmarksdepth</span></a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.24 <a
+href="#x1-440005.24" id="QQ2-1-44">Option <span
+class="ec-lmss-10">pdfescapeform</span></a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.25 <a
+href="#x1-450005.25" id="QQ2-1-45">Default driver setting</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.26 <a
+href="#x1-460005.26" id="QQ2-1-46">Backref entries</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.27 <a
+href="#x1-470005.27" id="QQ2-1-47">\phantomsection</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6 <a
+href="#x1-480006" id="QQ2-1-48">Acrobat-specific behavior</a></span>
+<br /> &#x00A0;<span class="sectionToc" >7 <a
+href="#x1-490007" id="QQ2-1-49">PDF and HTML forms</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1 <a
+href="#x1-500007.1" id="QQ2-1-50">Forms environment parameters</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.2 <a
+href="#x1-510007.2" id="QQ2-1-51">Forms optional parameters</a></span>
+<br /> &#x00A0;<span class="sectionToc" >8 <a
+href="#x1-520008" id="QQ2-1-52">Defining a new driver</a></span>
+<br /> &#x00A0;<span class="sectionToc" >9 <a
+href="#x1-530009" id="QQ2-1-53">Special support for other packages</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >9.1 <a
+href="#x1-540009.1" id="QQ2-1-54">Package Compatibility</a></span>
+<br /> &#x00A0;<span class="sectionToc" >10 <a
+href="#x1-9800010" id="QQ2-1-98">Limitations</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >10.1 <a
+href="#x1-9900010.1" id="QQ2-1-99">Wrapped/broken link support</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >10.2 <a
+href="#x1-10000010.2" id="QQ2-1-100">Links across pages</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >10.3 <a
+href="#x1-10100010.3" id="QQ2-1-101">Footnotes</a></span>
+<br /> &#x00A0;<span class="sectionToc" >11 <a
+href="#x1-10200011" id="QQ2-1-102">Hints</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.1 <a
+href="#x1-10300011.1" id="QQ2-1-103">Spaces in option values</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.2 <a
+href="#x1-10400011.2" id="QQ2-1-104">Index with makeindex</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.3 <a
+href="#x1-10500011.3" id="QQ2-1-105">Warning <span
+class="ec-lmvtt-10">"bookmark level for unknown &#x003C;foobar&#x003E; defaults to 0"</span></a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.4 <a
+href="#x1-10600011.4" id="QQ2-1-106">Link anchors in figures</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.5 <a
+href="#x1-10700011.5" id="QQ2-1-107">Additional unicode characters in bookmarks and pdf information entries:</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.6 <a
+href="#x1-10800011.6" id="QQ2-1-108">Footnotes</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >11.7 <a
+href="#x1-10900011.7" id="QQ2-1-109">Subordinate counters</a></span>
+<br /> &#x00A0;<span class="sectionToc" >12 <a
+href="#x1-11000012" id="QQ2-1-110">History and acknowledgments</a></span>
+<br /> &#x00A0;<span class="sectionToc" >13 <a
+href="#x1-11100013" id="QQ2-1-111">GNU Free Documentation License</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.1 <a
+href="#x1-11300013.1" id="QQ2-1-113">Applicability and definitions</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.2 <a
+href="#x1-11400013.2" id="QQ2-1-114">Verbatim copying</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.3 <a
+href="#x1-11500013.3" id="QQ2-1-115">Copying in quantity</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.4 <a
+href="#x1-11600013.4" id="QQ2-1-116">Modifications</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.5 <a
+href="#x1-11700013.5" id="QQ2-1-117">Combining documents</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.6 <a
+href="#x1-11800013.6" id="QQ2-1-118">Collections of documents</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.7 <a
+href="#x1-11900013.7" id="QQ2-1-119">Aggregation with independent works</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.8 <a
+href="#x1-12000013.8" id="QQ2-1-120">Translation</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.9 <a
+href="#x1-12100013.9" id="QQ2-1-121">Termination</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >13.10 <a
+href="#x1-12200013.10" id="QQ2-1-122">Future revisions of this license</a></span>
+ </div>
+
+
+<!--l. 190--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">1 </span> <a
+ id="x1-20001"></a>Introduction</h3>
+<!--l. 192--><p class="noindent" >The package derives from, and builds on, the work of the Hyper<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span> project, described at
+<span
+class="ec-lmvtt-10">http://xxx.lanl.gov/hypertex/</span><span class="footnote-mark"><a
+href="manual2.html#fn1x0"><sup class="textsuperscript">1</sup></a></span><a
+ id="x1-2001f1"></a> .
+It extends the functionality of all the <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span> cross-referencing commands (including the table of
+contents, bibliographies etc) to produce <span
+class="ec-lmvtt-10">\special </span>commands which a driver can turn into hypertext links;
+it also provides new commands to allow the user to write <span
+class="ec-lmri-10">ad hoc </span>hypertext links, including those to
+external documents and URLs.
+<!--l. 200--><p class="indent" > The package is currently maintained at <a
+href="https://github.com/latex3/hyperref/" class="url" ><span
+class="ec-lmvtt-10">https://github.com/latex3/hyperref/</span></a> and issues should be
+reported there.
+<!--l. 203--><p class="indent" > This manual provides a brief overview of the <span
+class="ec-lmss-10">hyperref </span>package. For more details, you should read the
+additional documentation distributed with the package, as well as the complete documentation by
+processing <span
+class="ec-lmvtt-10">hyperref.dtx</span>. You should also read the chapter on <span
+class="ec-lmss-10">hyperref </span>in <span
+class="ec-lmri-10">The </span><span class="HoLogo-LaTeX"><span
+class="ec-lmri-10">L</span><span class="HoLogo-a"><span
+class="ec-lmri-10">A</span></span><span class="HoLogo-TeX"><span
+class="ec-lmri-10">T</span><span class="HoLogo-e"><span
+class="ec-lmri-10">E</span></span><span
+class="ec-lmri-10">X</span></span></span> <span
+class="ec-lmri-10">Web Companion</span>,
+where you will find additional examples.
+<!--l. 210--><p class="indent" > The Hyper<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span> specification<span class="footnote-mark"><a
+href="manual3.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><a
+ id="x1-2002f2"></a>
+says that conformant viewers/translators must recognize the following set of <span
+class="ec-lmvtt-10">\special </span>constructs:
+ <dl class="description"><dt class="description">
+<span
+class="ec-lmbx-10">href:</span> </dt><dd
+class="description"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">html:&#x003C;a</span><span
+class="ec-lmvtt-10">&#x00A0;href</span><span
+class="ec-lmvtt-10">&#x00A0;=</span><span
+class="ec-lmvtt-10">&#x00A0;"href_string"&#x003E;</span></span></span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">name:</span> </dt><dd
+class="description"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">html:&#x003C;a</span><span
+class="ec-lmvtt-10">&#x00A0;name</span><span
+class="ec-lmvtt-10">&#x00A0;=</span><span
+class="ec-lmvtt-10">&#x00A0;"name_string"&#x003E;</span></span></span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">end:</span> </dt><dd
+class="description"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">html:&#x003C;/a&#x003E;</span></span></span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">image:</span> </dt><dd
+class="description"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">html:&#x003C;img</span><span
+class="ec-lmvtt-10">&#x00A0;src</span><span
+class="ec-lmvtt-10">&#x00A0;=</span><span
+class="ec-lmvtt-10">&#x00A0;"href_string"&#x003E;</span></span></span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">base_name:</span> </dt><dd
+class="description"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">html:&#x003C;base</span><span
+class="ec-lmvtt-10">&#x00A0;href</span><span
+class="ec-lmvtt-10">&#x00A0;=</span><span
+class="ec-lmvtt-10">&#x00A0;"href_string"&#x003E;</span></span></span></dd></dl>
+<!--l. 222--><p class="indent" > The <span
+class="ec-lmri-10">href</span>, <span
+class="ec-lmri-10">name </span>and <span
+class="ec-lmri-10">end </span>commands are used to do the basic hypertext operations of establishing links
+between sections of documents. The <span
+class="ec-lmri-10">image </span>command is intended (as with current HTML
+viewers) to place an image of arbitrary graphical format on the page in the current location.
+The <span
+class="ec-lmri-10">base_name </span>command is be used to communicate to the DVI viewer the full (URL)
+location of the current document so that files specified by relative URLs may be retrieved
+correctly.
+<!--l. 231--><p class="indent" > The <span
+class="ec-lmri-10">href </span>and <span
+class="ec-lmri-10">name </span>commands must be paired with an <span
+class="ec-lmri-10">end </span>command later in the TeX&#x00A0;file&#8212;the
+TeX&#x00A0;commands between the two ends of a pair form an <span
+class="ec-lmri-10">anchor </span>in the document. In the case of an <span
+class="ec-lmri-10">href</span>
+command, the <span
+class="ec-lmri-10">anchor </span>is to be highlighted in the <span
+class="ec-lmri-10">DVI viewer</span>, and when clicked on will cause the scene to
+shift to the destination specified by <span
+class="ec-lmri-10">href_string</span>. The <span
+class="ec-lmri-10">anchor </span>associated with a name command represents
+a possible location to which other hypertext links may refer, either as local references (of
+the form <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">href="#name_string"</span></span></span> with the <span
+class="ec-lmri-10">name_string </span>identical to the one in the name
+command) or as part of a URL (of the form <span
+class="ec-lmri-10">URL#name_string</span>). Here <span
+class="ec-lmri-10">href_string </span>is a valid URL
+or local identifier, while <span
+class="ec-lmri-10">name_string </span>could be any string at all: the only caveat is that &#8216;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">"</span></span></span>&#8217;
+characters should be escaped with a backslash (<span
+class="lmsy-10">\</span>), and if it looks like a URL name it may cause
+problems.
+
+
+<!--l. 247--><p class="indent" > However, the drivers intended to produce <span
+class="ec-lmri-10">only </span>PDF use literal PostScript or PDF <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span>
+commands. The commands are defined in configuration files for different drivers, selected by package
+options; at present, the following drivers are supported:
+ <dl class="description"><dt class="description">
+<span
+class="ec-lmbx-10">hypertex</span> </dt><dd
+class="description">DVI processors conforming to the HyperTeX&#x00A0;guidelines (i.e.&#x00A0;<span
+class="ec-lmss-10">xdvi</span>, <span
+class="ec-lmss-10">dvips </span>(with the <span
+class="ec-lmss-10">-z</span>
+ option), <span
+class="ec-lmss-10">OzTeX</span>, and <span
+class="ec-lmss-10">Textures</span>)
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">dvips</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands tailored for <span
+class="ec-lmss-10">dvips</span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">dvipsone</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands tailored for <span
+class="ec-lmss-10">dvipsone</span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">ps2pdf</span> </dt><dd
+class="description">a special case of output suitable for processing by earlier versions of Ghostscript&#8217;s PDF
+ writer; this is basically the same as that for <span
+class="ec-lmss-10">dvips</span>, but a few variations remained before
+ version 5.21
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">tex4ht</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands for use with <span
+class="ec-lmss-10">TeX4ht</span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">pdftex</span> </dt><dd
+class="description">pdfTeX, Hàn Thê´ Thành&#8217;s TeX variant that writes PDF directly
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">luatex</span> </dt><dd
+class="description">luaTeX, Unicode TeX variant that writes PDF directly
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">dvipdfm</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands for Mark Wicks&#8217; DVI to PDF driver <span
+class="ec-lmss-10">dvipdfm</span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">dvipdfmx</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands for driver <span
+class="ec-lmss-10">dvipdfmx</span>, a successor of <span
+class="ec-lmss-10">dvipdfm</span>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">dviwindo</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands that Y&amp;Y&#8217;s Windows previewer interprets as hypertext
+ jumps within the previewer
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">vtex</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands that MicroPress&#8217; HTML and PDF-producing TeX&#x00A0;variants
+ interpret as hypertext jumps within the previewer
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">textures</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands that <span
+class="ec-lmss-10">Textures </span>interprets as hypertext jumps within the
+ previewer
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">xetex</span> </dt><dd
+class="description">produces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands for XeTeX</dd></dl>
+<!--l. 273--><p class="indent" > Output from <span
+class="ec-lmss-10">dvips </span>or <span
+class="ec-lmss-10">dvipsone </span>must be processed using Acrobat Distiller to obtain a PDF
+file.<span class="footnote-mark"><a
+href="manual4.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
+ id="x1-2003f3"></a>
+The result is generally preferable to that produced by using the <span
+class="ec-lmss-10">hypertex </span>driver, and then
+processing with <span
+class="ec-lmss-10">dvips -z</span>, but the DVI file is not portable. The main advantage of using the
+HyperTeX&#x00A0;<span
+class="ec-lmvtt-10">\special </span>commands is that you can also use the document in hypertext DVI viewers, such as
+<span
+class="ec-lmss-10">xdvi</span>.
+
+ <dl class="description"><dt class="description">
+<span
+class="ec-lmbx-10">driverfallback</span> </dt><dd
+class="description">If a driver is not given and cannot be autodetected, then use the driver option, given as
+ value to this option <span
+class="ec-lmss-10">driverfallback</span>. Example:
+ <blockquote class="quote">
+ <!--l. 289--><p class="noindent" ><span
+class="ec-lmvtt-10">driverfallback=dvipdfm</span></blockquote>
+ <!--l. 291--><p class="noindent" >Autodetected drivers (<span
+class="ec-lmss-10">pdftex</span>, <span
+class="ec-lmss-10">xetex</span>, <span
+class="ec-lmss-10">vtex</span>, <span
+class="ec-lmss-10">vtexpdfmark</span>) are recognized from within TeX&#x00A0;and
+ therefore cannot be given as value to option <span
+class="ec-lmss-10">driverfallback</span>. However a DVI driver program is run
+ after the TeX&#x00A0;run is finished. Thus it cannot be detected at TeX&#x00A0;macro level. Then package
+ <span
+class="ec-lmss-10">hyperref </span>uses the driver, given by <span
+class="ec-lmss-10">driverfallback</span>. If the driver is already specified or can be
+ autodetected, then option <span
+class="ec-lmss-10">driverfallback </span>is ignored.</dd></dl>
+ <h3 class="sectionHead"><span class="titlemark">2 </span> <a
+ id="x1-30002"></a>Implicit behavior</h3>
+<!--l. 304--><p class="noindent" >This package can be used with more or less any normal LaTeX&#x00A0;document by specifying in the document
+preamble
+
+
+ <pre class="verbatim" id="verbatim-1">
+\usepackage{hyperref}
+</pre>
+<!--l. 309--><p class="nopar" >
+<!--l. 311--><p class="indent" > Make sure it comes <span
+class="ec-lmri-10">last </span>of your loaded packages, to give it a fighting chance of not being over-written,
+since its job is to redefine many LaTeX&#x00A0;commands. Hopefully you will find that all cross-references work
+correctly as hypertext. For example, <span
+class="ec-lmvtt-10">\section </span>commands will produce a bookmark and a link, whereas
+<span
+class="ec-lmvtt-10">\section* </span>commands will only show links when paired with a corresponding <span
+class="ec-lmvtt-10">\addcontentsline</span>
+command.
+<!--l. 319--><p class="indent" > In addition, the <span
+class="ec-lmvtt-10">hyperindex </span>option (see below) attempts to make items in the index by hyperlinked
+back to the text, and the option <span
+class="ec-lmvtt-10">backref </span>inserts extra &#8216;back&#8217; links into the bibliography for each entry.
+Other options control the appearance of links, and give extra control over PDF output. For example,
+<span
+class="ec-lmvtt-10">colorlinks</span>, as its name well implies, colors the links instead of using boxes; this is the option used in this
+document.
+<!--l. 328--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">3 </span> <a
+ id="x1-40003"></a>Package options</h3>
+<!--l. 330--><p class="noindent" >All user-configurable aspects of <span
+class="ec-lmss-10">hyperref </span>are set using a single &#8216;key=value&#8217; scheme (using the <span
+class="ec-lmss-10">keyval</span>
+package) with the key <span
+class="ec-lmvtt-10">Hyp</span>. The options can be set either in the optional argument to the
+<span
+class="ec-lmvtt-10">\usepackage </span>command, or using the <span
+class="ec-lmvtt-10">\hypersetup </span>macro. When the package is loaded, a file
+<span
+class="ec-lmvtt-10">hyperref.cfg </span>is read if it can be found, and this is a convenient place to set options on a site-wide
+basis.
+<!--l. 338--><p class="indent" > Note however that some options (for example <span
+class="ec-lmvtt-10">unicode</span>) can only be used as package options, and not
+in <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypersetup</span></span></span> as the option settings are processed as the package is read.
+<!--l. 342--><p class="indent" > As an example, the behavior of a particular file could be controlled by:
+ <ul class="itemize1">
+ <li class="itemize">a site-wide <span
+class="ec-lmvtt-10">hyperref.cfg </span>setting up the look of links, adding backreferencing, and setting a
+ PDF display default:
+
+
+ <pre class="verbatim" id="verbatim-2">
+ \hypersetup{backref,
+ pdfpagemode=FullScreen,
+ colorlinks=true}
+</pre>
+ <!--l. 352--><p class="nopar" >
+ </li>
+ <li class="itemize">A global option in the file, which is passed down to <span
+class="ec-lmss-10">hyperref</span>:
+
+
+ <pre class="verbatim" id="verbatim-3">
+ \documentclass[dvips]{article}
+</pre>
+ <!--l. 359--><p class="nopar" >
+ </li>
+ <li class="itemize">File-specific options in the <span
+class="ec-lmvtt-10">\usepackage </span>commands, which override the ones set in
+ <span
+class="ec-lmvtt-10">hyperref.cfg</span>:
+
+
+ <pre class="verbatim" id="verbatim-4">
+ \usepackage[colorlinks=false]{hyperref}
+ \hypersetup{pdftitle={A&#x00A0;Perfect&#x00A0;Day}}
+</pre>
+ <!--l. 367--><p class="nopar" ></li></ul>
+<!--l. 370--><p class="indent" > As seen in the previous example, information entries (pdftitle, pdfauthor, &#x2026;) should be set after the
+package is loaded. Otherwise LaTeX&#x00A0;expands the values of these options prematurely. Also LaTeX&#x00A0;strips
+spaces in options. Especially option &#8216;pdfborder&#8217; requires some care. Curly braces protect the value, if
+given as package option. They are not necessary in <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypersetup</span></span></span>.
+
+
+ <pre class="verbatim" id="verbatim-5">
+\usepackage[pdfborder={0&#x00A0;0&#x00A0;0}]{hyperref}
+\hypersetup{pdfborder=0&#x00A0;0&#x00A0;0}
+</pre>
+<!--l. 380--><p class="nopar" >
+<!--l. 382--><p class="indent" > Package &#8216;kvoptions-patch&#8217; patches LaTeX&#x00A0;to make it aware of key value options and to prevent
+premature value expansions.
+<!--l. 385--><p class="indent" > Some options can be given at any time, but many are restricted: before <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\begin{document}</span></span></span>, only in
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\usepackage[...]{hyperref}</span></span></span>, before first use, etc.
+<!--l. 389--><p class="indent" > In the key descriptions that follow, many options do not need a value, as they default to the value
+true if used. These are the ones classed as &#8216;boolean&#8217;. The values true and false can always be specified,
+however.
+<!--l. 393--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
+ id="x1-50003.1"></a>General options</h4>
+<!--l. 395--><p class="noindent" >Firstly, the options to specify general behavior and page size.
+<a
+ id="x1-5001r1"></a> <!--l. 399--><div class="longtable"> <table id="TBL-2" class="longtable"
+
+><colgroup id="TBL-2-1g"><col
+id="TBL-2-1"><col
+id="TBL-2-2"><col
+id="TBL-2-3"><col
+id="TBL-2-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">draft </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-4"
+class="td11"> all hypertext options are turned off </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-1"
+class="td11"> <span
+class="ec-lmvtt-10">final </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-4"
+class="td11"> all hypertext options are turned on </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-1"
+class="td11"> <span
+class="ec-lmvtt-10">debug </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-4"
+class="td11"> extra diagnostic messages are printed in </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-4"
+class="td11"> the log file </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-1"
+class="td11"> <span
+class="ec-lmvtt-10">verbose </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-4"
+class="td11"> same as debug </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-1"
+class="td11"> <span
+class="ec-lmvtt-10">implicit </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-4"
+class="td11"> redefines LaTeX&#x00A0;internals </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-1"
+class="td11"> <span
+class="ec-lmvtt-10">setpagesize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-4"
+class="td11"> sets page size by special driver commands </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-4"
+class="td11"></td></tr>
+ </table></div>
+<!--l. 408--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
+ id="x1-60003.2"></a>Options for destination names</h4>
+<!--l. 410--><p class="noindent" >Destinations names (also anchor, target or link names) are internal names that identify a position on a
+page in the document. They are used in link targets for inner document links or the bookmarks, for
+example.
+<!--l. 415--><p class="indent" > Usually anchor are set, if <span
+class="ec-lmvtt-10">\refstepcounter </span>is called. Thus there is a counter name and value. Both are
+used to construct the destination name. By default the counter value follows the counter name separated
+by a dot. Example for the fourth chapter:
+ <blockquote class="quote">
+ <!--l. 421--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">chapter.4</span></span></span></blockquote>
+<!--l. 423--><p class="noindent" >This scheme is used by:
+ <dl class="description"><dt class="description">
+<span
+class="ec-lmvtk-10">\autoref</span> </dt><dd
+class="description">displays the description label for the reference depending on the counter name.
+
+
+ </dd><dt class="description">
+<span
+class="ec-lmvtk-10">\hyperpage</span> </dt><dd
+class="description">is used by the index to get page links. Page anchor setting (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pageanchor</span></span></span>) must not
+ be turned off.</dd></dl>
+<!--l. 432--><p class="indent" > It is very important that the destination names are unique, because two destinations must not share
+the same name. The counter value <span
+class="ec-lmvtt-10">\the&#x003C;counter&#x003E; </span>is not always unique for the counter. For example,
+table and figures can be numbered inside the chapter without having the chapter number in their
+number. Therefore <span
+class="ec-lmss-10">hyperref </span>has introduced <span
+class="ec-lmvtt-10">\theH&#x003C;counter&#x003E; </span>that allows a unique counter value without
+messing up with the appearance of the counter number. For example, the number of the
+second table in the third chapter might be printed as <span
+class="ec-lmvtt-10">2</span>, the result of <span
+class="ec-lmvtt-10">\thetable</span>. But the
+destination name <span
+class="ec-lmvtt-10">table.2.4 </span>is unique because it has used <span
+class="ec-lmvtt-10">\theHtable </span>that gives <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">2.4</span></span></span> in this
+case.
+<!--l. 445--><p class="indent" > Often the user do not need to set <span
+class="ec-lmvtt-10">\theH&#x003C;counter&#x003E;</span>. Defaults for standard cases (chapter, &#x2026;) are
+provided. And after <span
+class="ec-lmss-10">hyperref </span>is loaded, new counters with parent counters also define <span
+class="ec-lmvtt-10">\theH&#x003C;counter&#x003E;</span>
+automatically, if <span
+class="ec-lmvtt-10">\newcounter</span>, <span
+class="ec-lmvtt-10">\@addtoreset </span>or <span
+class="ec-lmvtt-10">\numberwithin </span>of package <span
+class="ec-lmss-10">amsmath </span>are
+used.
+<!--l. 451--><p class="indent" > Usually problems with duplicate destination names can be solved by an appropriate definition of
+<span
+class="ec-lmvtt-10">\theH&#x003C;counter&#x003E;</span>. If option <span
+class="ec-lmvtt-10">hypertexnames </span>is disabled, then a unique artificial number is used instead of
+the counter value. In case of page anchors the absolute page anchor is used. With option <span
+class="ec-lmvtt-10">plainpages </span>the
+page anchors use the arabic form. In both latter cases <span
+class="ec-lmvtt-10">\hyperpage </span>for index links is affected and might
+not work properly.
+<!--l. 459--><p class="indent" > If an unnumbered entity gets an anchor (starred forms of chapters, sections, &#x2026;) or <span
+class="ec-lmvtt-10">\phantomsection </span>is
+used, then the dummy counter name <span
+class="ec-lmvtt-10">section* </span>and an artificial unique number is used.
+<!--l. 464--><p class="indent" > If the final PDF file is going to be merged with another file, than the destination names might clash,
+because both documents might contain <span
+class="ec-lmvtt-10">chapter.1 </span>or <span
+class="ec-lmvtt-10">page.1</span>. Also <span
+class="ec-lmss-10">hyperref </span>sets anchor with name
+<span
+class="ec-lmvtt-10">Doc-Start </span>at the begin of the document. This can be resolved by redefining <span
+class="ec-lmvtt-10">\HyperDestNameFilter</span>.
+Package <span
+class="ec-lmss-10">hyperref </span>calls this macro each time, it uses a destination name. The macro must be expandable
+and expects the destination name as only argument. As example, the macro is redefined to add a prefix
+to all destination names:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-6">
+\renewcommand*{\HyperDestNameFilter}[1]{\jobname-#1}
+</pre>
+ <!--l. 477--><p class="nopar" ></blockquote>
+<!--l. 479--><p class="noindent" >In document <span
+class="ec-lmvtt-10">docA </span>the destination name <span
+class="ec-lmvtt-10">chapter.2 </span>becomes <span
+class="ec-lmvtt-10">docA-chapter.2</span>.
+<!--l. 482--><p class="indent" > Destination names can also be used from the outside in URIs(, if the driver has not removed or
+changed them), for example:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-7">
+http://somewhere/path/file.pdf#nameddest=chapter.4
+</pre>
+ <!--l. 487--><p class="nopar" ></blockquote>
+<!--l. 489--><p class="noindent" >However using a number seems unhappy. If another chapter is added before, the number changes. But it is
+very difficult to pass a new name for the destination to the anchor setting process that is usually
+deep hidden in the internals. The first name of <span
+class="ec-lmvtt-10">\label </span>after the anchor setting seems a good
+approximation:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-8">
+&#x00A0;&#x00A0;\section{Introduction}
+&#x00A0;&#x00A0;\label{intro}
+</pre>
+ <!--l. 498--><p class="nopar" ></blockquote>
+<!--l. 500--><p class="noindent" >Option <span
+class="ec-lmvtt-10">destlabel </span>checks for each <span
+class="ec-lmvtt-10">\label</span>, if there is a new destination name active and replaces the
+destination name by the label name. Because the destination name is already in use because of the
+anchor setting, the new name is recorded in the <span
+class="ec-lmvtt-10">.aux </span>file and used in the subsequent <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span>
+run. The renaming is done by a redefinition of <span
+class="ec-lmvtt-10">\HyperDestNameFilter</span>. That leaves the old
+destination names intact (e.g., they are needed for <span
+class="ec-lmvtt-10">\autoref</span>). This redefinition is also available as
+<span
+class="ec-lmvtt-10">\HyperDestLabelReplace</span>, thus that an own redefinition can use it. The following example also adds a
+prefix for <span
+class="ec-lmri-10">all </span>destination names:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-9">
+\renewcommand*{\HyperDestNameFilter}[1]{%
+&#x00A0;&#x00A0;\jobname-\HyperDestLabelReplace{#1}%
+}
+</pre>
+ <!--l. 515--><p class="nopar" ></blockquote>
+<!--l. 517--><p class="noindent" >The other case that only files prefixed that do not have a corresponding <span
+class="ec-lmvtt-10">\label </span>is more complicate, because
+<span
+class="ec-lmvtt-10">\HyperDestLabelReplace </span>needs the unmodified destination name as argument. This is solved by an
+expandable string test (<span
+class="ec-lmvtt-10">\pdfstrcmp </span>of pdf<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span> or <span
+class="ec-lmvtt-10">\strcmp </span>of <span class="HoLogo-XeTeX"><span class="HoLogo-Xe">X<span class="HoLogo-e">&#x018e;</span></span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span>, package <span
+class="ec-lmss-10">pdftexcmds </span>also supports
+Lua<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span>):
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-10">
+\usepackage{pdftexcmds}
+\makeatletter
+\renewcommand*{\HyperDestNameFilter}[1]{%
+&#x00A0;&#x00A0;\ifcase\pdf@strcmp{#1}{\HyperDestLabelReplace{#1}}&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\jobname-#1%
+&#x00A0;&#x00A0;\else
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\HyperDestLabelReplace{#1}%
+&#x00A0;&#x00A0;\fi
+}
+\makeatother
+</pre>
+ <!--l. 535--><p class="nopar" ></blockquote>
+<!--l. 538--><p class="indent" > With option <span
+class="ec-lmvtt-10">destlabel </span>destinations can also named manually, if the destination is not yet
+renamed:
+ <blockquote class="quote">
+ <!--l. 541--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\HyperDestRename{</span></span></span><span
+class="lmsy-10">&#x27E8;</span><span
+class="ec-lmvtto-10">destination</span><span
+class="lmsy-10">&#x27E9;</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="lmsy-10">&#x27E8;</span><span
+class="ec-lmvtto-10">newname</span><span
+class="lmsy-10">&#x27E9;</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span></blockquote>
+<!--l. 544--><p class="indent" > Hint: Anchors can also be named and set by <span
+class="ec-lmvtt-10">\hypertarget</span>.
+<a
+ id="x1-6001r2"></a> <!--l. 548--><div class="longtable"> <table id="TBL-3" class="longtable"
+
+><colgroup id="TBL-3-1g"><col
+id="TBL-3-1"><col
+id="TBL-3-2"><col
+id="TBL-3-3"><col
+id="TBL-3-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">destlabel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-4"
+class="td11"> destinations are named by first <span
+class="ec-lmvtt-10">\label </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-4"
+class="td11"> after anchor creation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-1"
+class="td11"> <span
+class="ec-lmvtt-10">hypertexnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-4"
+class="td11"> use guessable names for links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-1"
+class="td11"> <span
+class="ec-lmvtt-10">naturalnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-4"
+class="td11"> use LaTeX-computed names for links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-5-1"
+class="td11"> <span
+class="ec-lmvtt-10">plainpages </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-5-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-5-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-5-4"
+class="td11"> Forces page anchors to be named by the Arabic form </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-6-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-6-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-6-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-6-4"
+class="td11"> of the page number, rather than the formatted form. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-7-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-8-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-9-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-10-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-3-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-11-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-11-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-11-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-11-4"
+class="td11"></td></tr>
+ </table></div>
+<!--l. 556--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a
+ id="x1-70003.3"></a>Configuration options</h4>
+<a
+ id="x1-7001r3"></a> <!--l. 559--><div class="longtable"> <table id="TBL-4" class="longtable"
+
+><colgroup id="TBL-4-1g"><col
+id="TBL-4-1"><col
+id="TBL-4-2"><col
+id="TBL-4-3"><col
+id="TBL-4-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">raiselinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-4-1-4"
+class="td11">
+ <!--l. 559--><p class="noindent" >In the hypertex driver, the height of links is normally
+ calculated by the driver as simply the base line of contained
+ text; this options forces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> commands to reflect the
+ real height of the link (which could contain a graphic) </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-1"
+class="td11"> <span
+class="ec-lmvtt-10">breaklinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-3"
+class="td11"> <span
+class="ec-lmri-10">both </span></td><td style="white-space:normal; text-align:left;" id="TBL-4-2-4"
+class="td11">
+ <!--l. 562--><p class="noindent" >This option is in hyperref only used in the dviwindo driver,
+ in all other cases it doesn&#8217;t do anything sensible&#8212;it neither
+ allows nor prevents links to be broken. The ocgx2 package
+ checks the state of the boolean. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-1"
+class="td11"> <span
+class="ec-lmvtt-10">pageanchor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-4-3-4"
+class="td11">
+ <!--l. 564--><p class="noindent" >Determines whether every page is given an implicit anchor
+ at the top left corner. If this is turned off, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\printindex</span></span></span> will
+ not contain valid hyperlinks. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-4-1"
+class="td11"> <span
+class="ec-lmvtt-10">nesting </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-4-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-4-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-4-4-4"
+class="td11">
+ <!--l. 567--><p class="noindent" >Allows links to be nested; no drivers currently support this. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-5-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-6-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-7-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-4-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-8-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-8-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-8-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-4-8-4"
+class="td11"></td></tr>
+ </table></div>
+<!--l. 570--><p class="noindent" >Note for option <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">breaklinks</span></span></span>: The correct value is automatically set according to the driver features. It can
+be overwritten for drivers that do not support broken links. However, at any case, the link area will be
+wrong and displaced.
+<!--l. 575--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a
+ id="x1-80003.4"></a>Backend drivers</h4>
+<!--l. 577--><p class="noindent" >If no driver is specified, the package tries to find a driver in the following order:
+ <ol class="enumerate1" >
+ <li
+ class="enumerate" id="x1-8002x1">Autodetection, some TeX&#x00A0;processors can be detected at TeX&#x00A0;macro level (pdfTeX, XeTeX,
+ VTeX).
+ </li>
+ <li
+ class="enumerate" id="x1-8004x2">Option <span
+class="ec-lmss-10">driverfallback</span>. If this option is set, its value is taken as driver option.
+ </li>
+ <li
+ class="enumerate" id="x1-8006x3">Macro <span
+class="ec-lmvtt-10">\Hy@defaultdriver</span>. The macro takes a driver file name (without file extension).
+ </li>
+ <li
+ class="enumerate" id="x1-8008x4">Package default is <span
+class="ec-lmss-10">hypertex</span>.</li></ol>
+<!--l. 588--><p class="noindent" >Many distributions are using a driver file <span
+class="ec-lmvtt-10">hypertex.cfg </span>that define <span
+class="ec-lmvtt-10">\Hy@defaultdriver </span>with <span
+class="ec-lmvtt-10">hdvips</span>. This
+is recommended because driver <span
+class="ec-lmss-10">dvips </span>provides much more features than <span
+class="ec-lmss-10">hypertex </span>for PDF
+generation.
+<a
+ id="x1-8009r4"></a> <!--l. 594--><div class="longtable"> <table id="TBL-5" class="longtable"
+
+><colgroup id="TBL-5-1g"><col
+id="TBL-5-1"><col
+id="TBL-5-2"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-5-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-1-1"
+class="td01"><span
+class="ec-lmvtt-10">driverfallback </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-1-2"
+class="td10">
+ <!--l. 594--><p class="noindent" >Its value is used as driver option </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-2-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-5-2-2"
+class="td10">
+ <!--l. 595--><p class="noindent" >if the driver is not given or autodetected. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-3-1"
+class="td01"><span
+class="ec-lmvtt-10">dvipdfm </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-3-2"
+class="td10">
+ <!--l. 596--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the <span
+class="ec-lmss-10">dvipdfm </span>driver. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-4-1"
+class="td01"><span
+class="ec-lmvtt-10">dvipdfmx </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-4-2"
+class="td10">
+ <!--l. 597--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the <span
+class="ec-lmss-10">dvipdfmx </span>driver. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-5-1"
+class="td01"><span
+class="ec-lmvtt-10">dvips </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-5-2"
+class="td10">
+ <!--l. 598--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the <span
+class="ec-lmss-10">dvips </span>driver. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-6-1"
+class="td01"><span
+class="ec-lmvtt-10">dvipsone </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-6-2"
+class="td10">
+ <!--l. 599--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the <span
+class="ec-lmss-10">dvipsone </span>driver. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-7-1"
+class="td01"><span
+class="ec-lmvtt-10">dviwindo </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-7-2"
+class="td10">
+ <!--l. 600--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the <span
+class="ec-lmss-10">dviwindo </span>Windows previewer. </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-8-1"
+class="td01"><span
+class="ec-lmvtt-10">hypertex </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-8-2"
+class="td10">
+ <!--l. 601--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the HyperTeX-compliant drivers. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-9-1"
+class="td01"><span
+class="ec-lmvtt-10">latex2html </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-9-2"
+class="td10">
+ <!--l. 602--><p class="noindent" >Redefines a few macros for compatibility with <span
+class="ec-lmss-10">latex2html</span>. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-10-1"
+class="td01"><span
+class="ec-lmvtt-10">nativepdf </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-10-2"
+class="td10">
+ <!--l. 603--><p class="noindent" >An alias for <span
+class="ec-lmss-10">dvips</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-11-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfmark </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-11-2"
+class="td10">
+ <!--l. 604--><p class="noindent" >An alias for <span
+class="ec-lmss-10">dvips</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-12-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftex </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-12-2"
+class="td10">
+ <!--l. 605--><p class="noindent" >Sets up <span
+class="ec-lmss-10">hyperref </span>for use with the <span
+class="ec-lmss-10">pdftex </span>program. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-13-1"
+class="td01"><span
+class="ec-lmvtt-10">ps2pdf </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-13-2"
+class="td10">
+ <!--l. 606--><p class="noindent" >Redefines a few macros for compatibility with Ghostscript&#8217;s PDF writer,
+ otherwise identical to <span
+class="ec-lmss-10">dvips</span>. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-14-1"
+class="td01"><span
+class="ec-lmvtt-10">tex4ht </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-14-2"
+class="td10">
+ <!--l. 609--><p class="noindent" >For use with <span
+class="ec-lmss-10">TeX4ht</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-15-1"
+class="td01"><span
+class="ec-lmvtt-10">textures </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-15-2"
+class="td10">
+ <!--l. 610--><p class="noindent" >For use with <span
+class="ec-lmss-10">Textures</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-16-1"
+class="td01"><span
+class="ec-lmvtt-10">vtex </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-16-2"
+class="td10">
+ <!--l. 611--><p class="noindent" >For use with MicroPress&#8217; <span
+class="ec-lmss-10">VTeX</span>; the PDF and HTML backends are detected
+ automatically. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-17-1"
+class="td01"><span
+class="ec-lmvtt-10">vtexpdfmark </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-17-2"
+class="td10">
+ <!--l. 613--><p class="noindent" >For use with <span
+class="ec-lmss-10">VTeX</span>&#8217;s PostScript backend. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-18-1"
+class="td01"><span
+class="ec-lmvtt-10">xetex </span></td><td style="white-space:normal; text-align:left;" id="TBL-5-18-2"
+class="td10">
+ <!--l. 614--><p class="noindent" >For use with XeTeX&#x00A0;(using backend for dvipdfm). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-19-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-20-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-21-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-5-22-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-5-22-2"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 618--><p class="indent" > If you use <span
+class="ec-lmss-10">dviwindo</span>, you may need to redefine the macro <span
+class="ec-lmvtt-10">\wwwbrowser </span>(the default is
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">C:\netscape\netscape</span></span></span>) to tell <span
+class="ec-lmss-10">dviwindo </span>what program to launch. Thus, users of Internet Explorer might
+add something like this to hyperref.cfg:
+
+
+ <pre class="verbatim" id="verbatim-11">
+\renewcommand{\wwwbrowser}{C:\string\Program\space
+&#x00A0;&#x00A0;Files\string\Plus!\string\Microsoft\space
+&#x00A0;&#x00A0;Internet\string\iexplore.exe}
+</pre>
+<!--l. 627--><p class="nopar" >
+<!--l. 629--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a
+ id="x1-90003.5"></a>Extension options</h4>
+<a
+ id="x1-9001r5"></a> <!--l. 631--><div class="longtable"> <table id="TBL-6" class="longtable"
+
+><colgroup id="TBL-6-1g"><col
+id="TBL-6-1"><col
+id="TBL-6-2"><col
+id="TBL-6-3"><col
+id="TBL-6-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-6-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-1"
+class="td01"><span
+class="ec-lmvtt-10">extension </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-2"
+class="td11"> text </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-1-4"
+class="td10">
+ <!--l. 631--><p class="noindent" >Set the file extension (e.g.&#x00A0;<span
+class="ec-lmss-10">dvi</span>) which will be
+ appended to file links created if you use the <span
+class="ec-lmss-10">xr</span>
+ package. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-1"
+class="td01"><span
+class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-2-4"
+class="td10">
+ <!--l. 634--><p class="noindent" > </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-1"
+class="td01"><span
+class="ec-lmvtt-10">backref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-2"
+class="td11"> text </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-3-4"
+class="td10">
+ <!--l. 634--><p class="noindent" >Adds &#8216;backlink&#8217; text to the end of each item in the
+ bibliography, as a list of section numbers. This can
+ only work properly <span
+class="ec-lmri-10">if </span>there is a blank line after each
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\bibitem</span></span></span>. Supported values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">section</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">slide</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">page</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">none</span></span></span>, or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">false</span></span></span>. If no value is given, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">section</span></span></span> is taken
+ as default. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-1"
+class="td01"><span
+class="ec-lmvtt-10">pagebackref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-4-4"
+class="td10">
+ <!--l. 638--><p class="noindent" >Adds &#8216;backlink&#8217; text to the end of each item in the
+ bibliography, as a list of page numbers. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-5-1"
+class="td01"><span
+class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-5-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-5-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-5-4"
+class="td10">
+ <!--l. 640--><p class="noindent" >Makes the page
+ numbers of index entries into hyperlinks. Relays on
+ unique page anchors (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pageanchor</span></span></span>, &#x2026;) <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pageanchors</span></span></span>
+ and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">plainpages=false</span></span></span>. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-6-1"
+class="td01"><span
+class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-6-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-6-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-6-4"
+class="td10">
+ <!--l. 643--><p class="noindent" >Makes the footnote marks into hyperlinks to the
+ footnote text. Easily broken &#x2026; </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-7-1"
+class="td01"><span
+class="ec-lmvtt-10">encap </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-7-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-7-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-7-4"
+class="td10">
+ <!--l. 645--><p class="noindent" >Sets encap character for hyperindex </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-8-1"
+class="td01"><span
+class="ec-lmvtt-10">linktoc </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-8-2"
+class="td11"> text </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-8-3"
+class="td11"> <span
+class="ec-lmri-10">section </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-8-4"
+class="td10">
+ <!--l. 646--><p class="noindent" >make text (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">section</span></span></span>), page number (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">page</span></span></span>), both (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">all</span></span></span>)
+ or nothing (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">none</span></span></span>) be link on TOC, LOF and LOT </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-9-1"
+class="td01"><span
+class="ec-lmvtt-10">linktocpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-9-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-9-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-9-4"
+class="td10">
+ <!--l. 647--><p class="noindent" >make page number, not text, be link on TOC, LOF
+ and LOT </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-10-1"
+class="td01"><span
+class="ec-lmvtt-10">breaklinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-10-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-10-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-10-4"
+class="td10">
+ <!--l. 648--><p class="noindent" >allow links to break over lines by making links over
+ multiple lines into PDF links to the same target </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-11-1"
+class="td01"><span
+class="ec-lmvtt-10">colorlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-11-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-11-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-11-4"
+class="td10">
+ <!--l. 650--><p class="noindent" >Colors the text of links and anchors. The colors
+ chosen depend on the the type of link. At present
+ the only types of link distinguished are citations,
+ page references, URLs, local file references, and other
+ links. Unlike colored boxes, the colored text remains
+ when printing. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-12-1"
+class="td01"><span
+class="ec-lmvtt-10">linkcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-12-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-12-3"
+class="td11"> <span
+class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-12-4"
+class="td10">
+ <!--l. 655--><p class="noindent" >Color for normal internal links. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-13-1"
+class="td01"><span
+class="ec-lmvtt-10">anchorcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-13-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-13-3"
+class="td11"> <span
+class="ec-lmri-10">black </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-13-4"
+class="td10">
+ <!--l. 656--><p class="noindent" >Color for anchor text. Ignored by most drivers. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-14-1"
+class="td01"><span
+class="ec-lmvtt-10">citecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-14-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-14-3"
+class="td11"> <span
+class="ec-lmri-10">green </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-14-4"
+class="td10">
+ <!--l. 657--><p class="noindent" >Color for bibliographical citations in text. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-15-1"
+class="td01"><span
+class="ec-lmvtt-10">filecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-15-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-15-3"
+class="td11"> <span
+class="ec-lmri-10">cyan </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-15-4"
+class="td10">
+ <!--l. 658--><p class="noindent" >Color for URLs which open local files. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-16-1"
+class="td01"><span
+class="ec-lmvtt-10">menucolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-16-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-16-3"
+class="td11"> <span
+class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-16-4"
+class="td10">
+ <!--l. 659--><p class="noindent" >Color for Acrobat menu items. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-17-1"
+class="td01"><span
+class="ec-lmvtt-10">runcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-17-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-17-3"
+class="td11"> <span
+class="ec-lmri-10">filecolor </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-17-4"
+class="td10">
+ <!--l. 660--><p class="noindent" >Color for run links (launch annotations). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-18-1"
+class="td01"><span
+class="ec-lmvtt-10">urlcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-18-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-18-3"
+class="td11"> <span
+class="ec-lmri-10">magenta </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-18-4"
+class="td10">
+ <!--l. 661--><p class="noindent" >Color for linked URLs. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-19-1"
+class="td01"><span
+class="ec-lmvtt-10">allcolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-19-2"
+class="td11"> color </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-19-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-19-4"
+class="td10">
+ <!--l. 662--><p class="noindent" >Set all color options (without border and field
+ options). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-20-1"
+class="td01"><span
+class="ec-lmvtt-10">frenchlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-20-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-20-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-6-20-4"
+class="td10">
+ <!--l. 663--><p class="noindent" >Use small caps instead of color for links. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-21-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-21-4"
+class="td10"></td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-6-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-1"
+class="td01"><span
+class="ec-lmvtt-10">hidelinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-22-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-6-22-4"
+class="td10">
+ <!--l. 664--><p class="noindent" >Hide links (removing color and border). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-23-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-24-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-25-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-26-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-27-1"
+class="td01"> </td></tr>
+ </table></div>
+<!--l. 667--><p class="noindent" >Note that all color names must be defined before use, following the normal system of the standard
+LaTeX&#x00A0;<span
+class="ec-lmss-10">color </span>package.
+<!--l. 670--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a
+ id="x1-100003.6"></a>PDF-specific display options</h4>
+<a
+ id="x1-10001r6"></a> <!--l. 672--><div class="longtable"> <table id="TBL-7" class="longtable"
+
+><colgroup id="TBL-7-1g"><col
+id="TBL-7-1"><col
+id="TBL-7-2"><col
+id="TBL-7-3"><col
+id="TBL-7-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-7-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-1-4"
+class="td10">
+ <!--l. 672--><p class="noindent" >A set of Acrobat bookmarks are written, in a
+ manner similar to the table of contents, requiring
+ two passes of LaTeX. Some postprocessing of
+ the bookmark file (file extension <span
+class="ec-lmvtt-10">.out</span>) may
+ be needed to translate LaTeX&#x00A0;codes, since
+ bookmarks must be written in PDFEncoding. To
+ aid this process, the <span
+class="ec-lmvtt-10">.out </span>file is not rewritten
+ by LaTeX&#x00A0;if it is edited to contain a line
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\let\WriteBookmarks\relax</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarksopen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-2-4"
+class="td10">
+ <!--l. 678--><p class="noindent" >If Acrobat bookmarks are requested, show them
+ with all the subtrees expanded. </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarksopenlevel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-2"
+class="td11"> parameter </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-7-3-4"
+class="td10">
+ <!--l. 680--><p class="noindent" >level (<span
+class="ec-lmvtt-10">\maxdimen</span>) to which bookmarks are open</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarksnumbered </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-4-4"
+class="td10">
+ <!--l. 681--><p class="noindent" >If Acrobat bookmarks are requested, include
+ section numbers. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-5-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarkstype </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-5-2"
+class="td11"> text </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-5-3"
+class="td11"> <span
+class="ec-lmri-10">toc </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-5-4"
+class="td10">
+ <!--l. 682--><p class="noindent" >to specify which &#8216;toc&#8217; file to mimic </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-6-1"
+class="td01"><span
+class="ec-lmvtt-10">CJKbookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-6-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-6-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-6-4"
+class="td10">
+ <!--l. 684--><p class="noindent" >This option should be used to produce CJK
+ bookmarks. Package <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperref</span></span></span> supports both
+ normal and preprocessed mode of the <span
+class="ec-lmss-10">CJK</span>
+ package; during the creation of bookmarks,
+ it simply replaces CJK&#8217;s macros with special
+ versions which expand to the corresponding
+ character codes. Note that without the &#8216;unicode&#8217;
+ option of hyperref you get PDF files which
+ actually violate the PDF specification because
+ non-Unicode character codes are used &#8211; some PDF
+ readers localized for CJK languages (most notably
+ Acroread itself) support this. Also note that
+ option &#8216;CJKbookmarks&#8217; cannot be used together
+ with option &#8216;unicode&#8217;.
+ <!--l. 696--><p class="noindent" >No mechanism is provided to
+ translate non-Unicode bookmarks to Unicode; for
+ portable PDF documents only Unicode encoding
+ should be used. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-7-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfhighlight </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-7-2"
+class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-7-3"
+class="td11"> <span
+class="ec-lmri-10">/I </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-7-4"
+class="td10">
+ <!--l. 699--><p class="noindent" >How link buttons behave when selected; /I is
+ for inverse (the default); the other possibilities
+ are /N (no effect), /O (outline), and /P (inset
+ highlighting). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-8-1"
+class="td01"><span
+class="ec-lmvtt-10">citebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-8-2"
+class="td11"> RGB color </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-8-3"
+class="td11"> <span
+class="ec-lmri-10">0 1 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-8-4"
+class="td10">
+ <!--l. 702--><p class="noindent" >The color of the box around citations </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-9-1"
+class="td01"><span
+class="ec-lmvtt-10">filebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-9-2"
+class="td11"> RGB color </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-9-3"
+class="td11"> <span
+class="ec-lmri-10">0 .5 .5 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-9-4"
+class="td10">
+ <!--l. 703--><p class="noindent" >The color of the box around links to files </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-10-1"
+class="td01"><span
+class="ec-lmvtt-10">linkbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-10-2"
+class="td11"> RGB color </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-10-3"
+class="td11"> <span
+class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-10-4"
+class="td10">
+ <!--l. 704--><p class="noindent" >The color of the box around normal links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-11-1"
+class="td01"><span
+class="ec-lmvtt-10">menubordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-11-2"
+class="td11"> RGB color </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-11-3"
+class="td11"> <span
+class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-11-4"
+class="td10">
+ <!--l. 705--><p class="noindent" >The color of the box around Acrobat menu links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-12-1"
+class="td01"><span
+class="ec-lmvtt-10">urlbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-12-2"
+class="td11"> RGB color </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-12-3"
+class="td11"> <span
+class="ec-lmri-10">0 1 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-12-4"
+class="td10">
+ <!--l. 706--><p class="noindent" >The color of the box around links to URLs </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-13-1"
+class="td01"><span
+class="ec-lmvtt-10">runbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-13-2"
+class="td11"> RGB color </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-13-3"
+class="td11"> <span
+class="ec-lmri-10">0 .7 .7 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-13-4"
+class="td10">
+ <!--l. 707--><p class="noindent" >Color of border around &#8216;run&#8217; links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-14-1"
+class="td01"><span
+class="ec-lmvtt-10">allbordercolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-14-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-14-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-7-14-4"
+class="td10">
+ <!--l. 708--><p class="noindent" >Set all border color options </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-15-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfborder </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-7-15-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-15-3"
+class="td11"> <span
+class="ec-lmri-10">0 0 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-7-15-4"
+class="td10">
+ <!--l. 709--><p class="noindent" >The style of box around links; defaults to a box
+ with lines of 1pt thickness, but the colorlinks
+ option resets it to produce no border. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-16-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-17-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-18-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-19-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-19-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-19-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-7-19-4"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 713--><p class="noindent" >Note that the color of link borders can be specified <span
+class="ec-lmri-10">only </span>as 3 numbers in the range 0..1, giving an RGB
+color. You cannot use colors defined in TeX. Since version 6.76a this is no longer true. Especially with
+the help of package <span
+class="ec-lmss-10">xcolor </span>the usual color specifications of package <span
+class="ec-lmss-10">(x)color </span>can be used. For further
+
+
+information see description of package <span
+class="ec-lmss-10">hycolor</span>.
+<!--l. 720--><p class="indent" > The bookmark commands are stored in a file called <span
+class="ec-lmri-10">jobname</span><span
+class="ec-lmvtt-10">.out</span>. The files is not processed by
+LaTeX&#x00A0;so any markup is passed through. You can postprocess this file as needed; as an aid
+for this, the <span
+class="ec-lmvtt-10">.out </span>file is not overwritten on the next TeX&#x00A0;run if it is edited to contain the
+line
+
+
+ <pre class="verbatim" id="verbatim-12">
+\let\WriteBookmarks\relax
+</pre>
+<!--l. 727--><p class="nopar" >
+<!--l. 729--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.7 </span> <a
+ id="x1-110003.7"></a>PDF display and information options</h4>
+<a
+ id="x1-11001r7"></a> <!--l. 731--><div class="longtable"> <table id="TBL-8" class="longtable"
+
+><colgroup id="TBL-8-1g"><col
+id="TBL-8-1"><col
+id="TBL-8-2"><col
+id="TBL-8-3"><col
+id="TBL-8-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-1-1"
+class="td01"><span
+class="ec-lmvtt-10">baseurl </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-1-2"
+class="td11">
+ <!--l. 731--><p class="noindent" >URL </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-1-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-1-4"
+class="td10">
+ <!--l. 731--><p class="noindent" >Sets the base URL of the PDF document </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagemode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-2-2"
+class="td11">
+ <!--l. 732--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-2-4"
+class="td10">
+ <!--l. 732--><p class="noindent" >Determines how the file is opening in
+ Acrobat; the possibilities are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseNone</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseThumbs</span></span></span> (show thumbnails), <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseOutlines</span></span></span>
+ (show bookmarks), <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">FullScreen</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseOC</span></span></span> (PDF
+ 1.5), and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseAttachments</span></span></span> (PDF 1.6). If no
+ mode if explicitly chosen, but the bookmarks
+ option is set, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseOutlines</span></span></span> is used. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftitle </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-3-2"
+class="td11">
+ <!--l. 737--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-3-4"
+class="td10">
+ <!--l. 737--><p class="noindent" >Sets the document information Title field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-4-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfauthor </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-4-2"
+class="td11">
+ <!--l. 738--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-4-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-4-4"
+class="td10">
+ <!--l. 738--><p class="noindent" >Sets the document information Author field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-5-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfsubject </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-5-2"
+class="td11">
+ <!--l. 739--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-5-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-5-4"
+class="td10">
+ <!--l. 739--><p class="noindent" >Sets the document information Subject field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-6-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfcreator </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-6-2"
+class="td11">
+ <!--l. 740--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-6-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-6-4"
+class="td10">
+ <!--l. 740--><p class="noindent" >Sets the document information Creator field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-7-1"
+class="td01"><span
+class="ec-lmvtt-10">addtopdfcreator </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-7-2"
+class="td11">
+ <!--l. 741--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-7-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-7-4"
+class="td10">
+ <!--l. 741--><p class="noindent" >Adds additional text to the document
+ information Creator field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-8-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfkeywords </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-8-2"
+class="td11">
+ <!--l. 742--><p class="noindent" >text </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-8-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-8-4"
+class="td10">
+ <!--l. 742--><p class="noindent" >Sets the document information Keywords field</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-9-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftrapped </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-9-2"
+class="td11">
+ <!--l. 743--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-9-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-9-4"
+class="td10">
+ <!--l. 743--><p class="noindent" >Sets the document information Trapped entry.
+ Possible values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">True</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">False</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Unknown</span></span></span>.
+ An empty value means, the entry is not set. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-10-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfinfo </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-10-2"
+class="td11">
+ <!--l. 746--><p class="noindent" >key
+ value
+ list </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-10-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-10-4"
+class="td10">
+ <!--l. 746--><p class="noindent" >Alternative interface for setting the document
+ information. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-11-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-11-2"
+class="td11">
+ <!--l. 748--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-11-3"
+class="td11"> <span
+class="ec-lmri-10">XYZ </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-11-4"
+class="td10">
+ <!--l. 748--><p class="noindent" >Sets the default PDF &#8216;view&#8217; for each link </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-12-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfstartpage </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-12-2"
+class="td11">
+ <!--l. 749--><p class="noindent" >integer </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-12-3"
+class="td11"> <span
+class="ec-lmri-10">1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-12-4"
+class="td10">
+ <!--l. 749--><p class="noindent" >Determines on which page the PDF file is
+ opened. An empty value means, the entry is
+ not set. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-13-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfstartview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-13-2"
+class="td11">
+ <!--l. 750--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-13-3"
+class="td11"> <span
+class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-13-4"
+class="td10">
+ <!--l. 750--><p class="noindent" >Set the startup page view </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-14-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfremotestartview </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-14-2"
+class="td11">
+ <!--l. 751--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-14-3"
+class="td11"> <span
+class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-14-4"
+class="td10">
+ <!--l. 751--><p class="noindent" >Set the startup page view of remote PDF files</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-15-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagescrop </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-15-2"
+class="td11">
+ <!--l. 752--><p class="noindent" >n
+ n
+ n
+ n </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-15-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-15-4"
+class="td10">
+ <!--l. 752--><p class="noindent" >Sets the default PDF crop box for pages. This
+ should be a set of four numbers </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-16-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfcenterwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-16-2"
+class="td11">
+ <!--l. 753--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-16-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-16-4"
+class="td10">
+ <!--l. 753--><p class="noindent" >position the document window in the center
+ of the screen </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-17-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfdirection </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-17-2"
+class="td11">
+ <!--l. 754--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-17-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-17-4"
+class="td10">
+ <!--l. 754--><p class="noindent" >direction setting. Possible values: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">L2R</span></span></span> (left to
+ right) and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">R2L</span></span></span> (right to left) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-18-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfdisplaydoctitle </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-18-2"
+class="td11">
+ <!--l. 756--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-18-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-18-4"
+class="td10">
+ <!--l. 756--><p class="noindent" >display document title instead of file name in
+ title bar </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-19-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfduplex </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-19-2"
+class="td11">
+ <!--l. 757--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-19-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-19-4"
+class="td10">
+ <!--l. 757--><p class="noindent" >paper handling option for print
+ dialog. Possible vatues are: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Simplex</span></span></span> (print
+ single-sided), <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">DuplexFlipShortEdge</span></span></span> (duplex
+ and flip on the short edge of the sheet),
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">DuplexFlipLongEdge</span></span></span> (duplex and flip on the
+ long edge of the sheet) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-20-1"
+class="td01"><span
+class="ec-lmvtt-10">pdffitwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-20-2"
+class="td11">
+ <!--l. 762--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-20-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-20-4"
+class="td10">
+ <!--l. 762--><p class="noindent" >resize document window to fit document size </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-21-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-21-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-21-3"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-21-4"
+class="td10"></td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-8-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-22-1"
+class="td01"><span
+class="ec-lmvtt-10">pdflang </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-22-2"
+class="td11">
+ <!--l. 763--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-22-3"
+class="td11"> <span
+class="ec-lmri-10">relax </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-22-4"
+class="td10">
+ <!--l. 763--><p class="noindent" >PDF language identifier (RFC 3066) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-23-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfmenubar </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-23-2"
+class="td11">
+ <!--l. 764--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-23-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-23-4"
+class="td10">
+ <!--l. 764--><p class="noindent" >make PDF viewer&#8217;s menu bar visible </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-24-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfnewwindow </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-24-2"
+class="td11">
+ <!--l. 765--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-24-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-24-4"
+class="td10">
+ <!--l. 765--><p class="noindent" >make links that open another PDF file start a
+ new window </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-25-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfnonfullscreenpagemode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-25-2"
+class="td11">
+ <!--l. 767--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-25-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-25-4"
+class="td10">
+ <!--l. 767--><p class="noindent" >page mode setting on exiting full-screen mode.
+ Possible values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseNone</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseOutlines</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseThumbs</span></span></span>, and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">UseOC</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-26-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfnumcopies </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-26-2"
+class="td11">
+ <!--l. 769--><p class="noindent" >integer </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-26-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-26-4"
+class="td10">
+ <!--l. 769--><p class="noindent" >number of printed copies </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-27-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagelayout </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-27-2"
+class="td11">
+ <!--l. 770--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-27-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-27-4"
+class="td10">
+ <!--l. 770--><p class="noindent" >set layout of PDF pages. Possible values:
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">SinglePage</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">OneColumn</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TwoColumnLeft</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TwoColumnRight</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TwoPageLeft</span></span></span>, and
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TwoPageRight</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-28-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-28-2"
+class="td11">
+ <!--l. 774--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-28-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-28-4"
+class="td10">
+ <!--l. 774--><p class="noindent" >set PDF page labels </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-29-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagetransition </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-29-2"
+class="td11">
+ <!--l. 775--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-29-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-29-4"
+class="td10">
+ <!--l. 775--><p class="noindent" >set PDF page transition style. Possible values
+ are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Split</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Blinds</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Box</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Wipe</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Dissolve</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Glitter</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">R</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Fly</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Push</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Cover</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Uncover</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Fade</span></span></span>.
+ The default according to the PDF&#x00A0;Reference
+ is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">R</span></span></span>, which simply replaces the old page with
+ the new one. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-30-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpicktraybypdfsize </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-30-2"
+class="td11">
+ <!--l. 784--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-30-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-30-4"
+class="td10">
+ <!--l. 784--><p class="noindent" >specify whether PDF page size is used to select
+ input paper tray in print dialog </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-31-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintarea </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-31-2"
+class="td11">
+ <!--l. 785--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-31-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-31-4"
+class="td10">
+ <!--l. 785--><p class="noindent" >set /PrintArea of viewer preferences. Possible
+ values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">MediaBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">BleedBox</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TrimBox</span></span></span>, and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
+ to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span> </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-32-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintclip </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-32-2"
+class="td11">
+ <!--l. 789--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-32-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-32-4"
+class="td10">
+ <!--l. 789--><p class="noindent" >set /PrintClip of viewer preferences. Possible
+ values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">MediaBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">BleedBox</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TrimBox</span></span></span>, and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
+ to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-33-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintpagerange </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-33-2"
+class="td11">
+ <!--l. 793--><p class="noindent" >n
+ n
+ (n
+ n)* </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-33-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-33-4"
+class="td10">
+ <!--l. 794--><p class="noindent" >set /PrintPageRange of viewer preferences </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-34-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintscaling </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-34-2"
+class="td11">
+ <!--l. 795--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-34-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-34-4"
+class="td10">
+ <!--l. 795--><p class="noindent" >page scaling option for print dialog (option
+ /PrintScaling of viewer preferences, PDF 1.6);
+ valid values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">None</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">AppDefault</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-35-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftoolbar </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-35-2"
+class="td11">
+ <!--l. 800--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-35-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-35-4"
+class="td10">
+ <!--l. 800--><p class="noindent" >make PDF toolbar visible </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-36-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfviewarea </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-36-2"
+class="td11">
+ <!--l. 801--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-36-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-36-4"
+class="td10">
+ <!--l. 801--><p class="noindent" >set /ViewArea of viewer preferences. Possible
+ values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">MediaBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">BleedBox</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TrimBox</span></span></span>, and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
+ to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-37-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfviewclip </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-37-2"
+class="td11">
+ <!--l. 805--><p class="noindent" >name </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-37-3"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-37-4"
+class="td10">
+ <!--l. 805--><p class="noindent" >set /ViewClip of viewer preferences Possible
+ values are <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">MediaBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">BleedBox</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">TrimBox</span></span></span>, and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">ArtBox</span></span></span>. The dafault according
+ to the PDF&#x00A0;Refence is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">CropBox</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-38-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfwindowui </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-38-2"
+class="td11">
+ <!--l. 809--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-38-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-38-4"
+class="td10">
+ <!--l. 809--><p class="noindent" >make PDF user interface elements visible </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-39-1"
+class="td01"><span
+class="ec-lmvtt-10">unicode </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-39-2"
+class="td11">
+ <!--l. 810--><p class="noindent" >boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-39-3"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-8-39-4"
+class="td10">
+ <!--l. 810--><p class="noindent" >Unicode encoded PDF strings </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-40-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-41-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-42-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-43-1"
+class="td01"> </td></tr>
+ </table></div>
+<!--l. 813--><p class="noindent" >Each link in Acrobat carries its own magnification level, which is set using PDF coordinate space, which
+is not the same as TeX&#8217;s. The unit is bp and the origin is in the lower left corner. See also <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypercalcbp</span></span></span>
+that is explained on page <a
+href="#x1-190004.3">46<!--tex4ht:ref: hypercalcbp --></a>. pdfTeX&#x00A0;works by supplying default values for <span
+class="ec-lmvtt-10">XYZ </span>(horizontal <span
+class="lmsy-10">&#x00D7;</span>
+vertical <span
+class="lmsy-10">&#x00D7; </span>zoom) and <span
+class="ec-lmvtt-10">FitBH</span>. However, drivers using <span
+class="ec-lmvtt-10">pdfmark </span>do not supply defaults, so
+<span
+class="ec-lmss-10">hyperref </span>passes in a value of -32768, which causes Acrobat to set (usually) sensible defaults.
+The following are possible values for the <span
+class="ec-lmvtt-10">pdfview</span>, <span
+class="ec-lmvtt-10">pdfstartview </span>and <span
+class="ec-lmvtt-10">pdfremotestartview</span>
+parameters.
+<a
+ id="x1-11002r8"></a> <!--l. 826--><div class="longtable"> <table id="TBL-9" class="longtable"
+
+><colgroup id="TBL-9-1g"><col
+id="TBL-9-1"><col
+id="TBL-9-2"><col
+id="TBL-9-3"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-1-1"
+class="td01"><span
+class="ec-lmvtt-10">XYZ </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-1-2"
+class="td11"> <span
+class="ec-lmri-10">left top zoom </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-1-3"
+class="td10">
+ <!--l. 826--><p class="noindent" >Sets a coordinate and a zoom factor. If any one
+ is null, the source link value is used. <span
+class="ec-lmri-10">null null</span>
+ <span
+class="ec-lmri-10">null </span>will give the same values as the current
+ page. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-2-1"
+class="td01"><span
+class="ec-lmvtt-10">Fit </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-2-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-9-2-3"
+class="td10">
+ <!--l. 828--><p class="noindent" >Fits the page to the window. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-3-1"
+class="td01"><span
+class="ec-lmvtt-10">FitH </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-3-2"
+class="td11"> <span
+class="ec-lmri-10">top </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-3-3"
+class="td10">
+ <!--l. 829--><p class="noindent" >Fits the width of the page to the window. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-4-1"
+class="td01"><span
+class="ec-lmvtt-10">FitV </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-4-2"
+class="td11"> <span
+class="ec-lmri-10">left </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-4-3"
+class="td10">
+ <!--l. 830--><p class="noindent" >Fits the height of the page to the window. </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-5-1"
+class="td01"><span
+class="ec-lmvtt-10">FitR </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-5-2"
+class="td11"> <span
+class="ec-lmri-10">left bottom right top </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-5-3"
+class="td10">
+ <!--l. 831--><p class="noindent" >Fits the rectangle specified by the four
+ coordinates to the window. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-6-1"
+class="td01"><span
+class="ec-lmvtt-10">FitB </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-6-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-9-6-3"
+class="td10">
+ <!--l. 832--><p class="noindent" >Fits the page bounding box to the window. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-7-1"
+class="td01"><span
+class="ec-lmvtt-10">FitBH </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-7-2"
+class="td11"> <span
+class="ec-lmri-10">top </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-7-3"
+class="td10">
+ <!--l. 833--><p class="noindent" >Fits the width of the page bounding box to
+ the window. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-8-1"
+class="td01"><span
+class="ec-lmvtt-10">FitBV </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-9-8-2"
+class="td11"> <span
+class="ec-lmri-10">left </span></td><td style="white-space:normal; text-align:left;" id="TBL-9-8-3"
+class="td10">
+ <!--l. 834--><p class="noindent" >Fits the height of the page bounding box to
+ the window. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-9-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-10-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-11-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-12-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-13-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-13-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-9-13-3"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 837--><p class="indent" > The <span
+class="ec-lmvtt-10">pdfpagelayout </span>can be one of the following values.
+<a
+ id="x1-11003r9"></a> <!--l. 840--><div class="longtable"> <table id="TBL-10" class="longtable"
+
+><colgroup id="TBL-10-1g"><col
+id="TBL-10-1"><col
+id="TBL-10-2"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-1-1"
+class="td01"><span
+class="ec-lmvtt-10">SinglePage </span></td><td style="white-space:normal; text-align:left;" id="TBL-10-1-2"
+class="td10">
+ <!--l. 840--><p class="noindent" >Displays a single page; advancing flips the page </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-2-1"
+class="td01"><span
+class="ec-lmvtt-10">OneColumn </span></td><td style="white-space:normal; text-align:left;" id="TBL-10-2-2"
+class="td10">
+ <!--l. 841--><p class="noindent" >Displays the document in one column; continuous scrolling. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-3-1"
+class="td01"><span
+class="ec-lmvtt-10">TwoColumnLeft </span></td><td style="white-space:normal; text-align:left;" id="TBL-10-3-2"
+class="td10">
+ <!--l. 842--><p class="noindent" >Displays the document in two columns, odd-numbered pages to
+ the left. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-4-1"
+class="td01"><span
+class="ec-lmvtt-10">TwoColumnRight </span></td><td style="white-space:normal; text-align:left;" id="TBL-10-4-2"
+class="td10">
+ <!--l. 843--><p class="noindent" >Displays the document in two columns, odd-numbered pages to
+ the right. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-5-1"
+class="td01"><span
+class="ec-lmvtt-10">TwoPageLeft </span></td><td style="white-space:normal; text-align:left;" id="TBL-10-5-2"
+class="td10">
+ <!--l. 844--><p class="noindent" >Displays two pages, odd-numbered pages to the left (since PDF
+ 1.5). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-6-1"
+class="td01"><span
+class="ec-lmvtt-10">TwoPageRight </span></td><td style="white-space:normal; text-align:left;" id="TBL-10-6-2"
+class="td10">
+ <!--l. 845--><p class="noindent" >Displays two pages, odd-numbered pages to the right (since PDF
+ 1.5). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-7-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-8-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-9-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-10-10-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-10-10-2"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 848--><p class="indent" > Finally, the <span
+class="ec-lmvtt-10">pdfpagetransition </span>can be one of the following values, where <span
+class="ec-lmri-10">/Di </span>stands for direction of
+motion in degrees, generally in 90<sup><span
+class="lmsy7-">&#x2218;</span></sup>&#x00A0;steps, <span
+class="ec-lmri-10">/Dm </span>is a horizontal (<span
+class="ec-lmvtt-10">/H</span>) or vertical (<span
+class="ec-lmvtt-10">/V</span>) dimension
+(e.g.&#x00A0;<span
+class="ec-lmvtt-10">Blinds /Dm /V</span>), and <span
+class="ec-lmri-10">/M </span>is for motion, either in (<span
+class="ec-lmvtt-10">/I</span>) or out (<span
+class="ec-lmvtt-10">/O</span>).
+<a
+ id="x1-11004r10"></a> <!--l. 856--><div class="longtable"> <table id="TBL-11" class="longtable"
+
+><colgroup id="TBL-11-1g"><col
+id="TBL-11-1"><col
+id="TBL-11-2"><col
+id="TBL-11-3"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-1-1"
+class="td01"><span
+class="ec-lmvtt-10">Blinds </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-1-2"
+class="td11"> /Dm </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-3"
+class="td10">
+ <!--l. 856--><p class="noindent" >Multiple lines distributed evenly across the screen sweep
+ in the same direction to reveal the new page. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-2-1"
+class="td01"><span
+class="ec-lmvtt-10">Box </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-2-2"
+class="td11"> /M </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-3"
+class="td10">
+ <!--l. 858--><p class="noindent" >A box sweeps in or out. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-3-1"
+class="td01"><span
+class="ec-lmvtt-10">Dissolve </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-3-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-11-3-3"
+class="td10">
+ <!--l. 859--><p class="noindent" >The page image dissolves in a piecemeal fashion to reveal
+ the new page. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-4-1"
+class="td01"><span
+class="ec-lmvtt-10">Glitter </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-4-2"
+class="td11"> /Di </td><td style="white-space:normal; text-align:left;" id="TBL-11-4-3"
+class="td10">
+ <!--l. 860--><p class="noindent" >Similar to Dissolve, except the effect sweeps across the
+ screen. </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-5-1"
+class="td01"><span
+class="ec-lmvtt-10">Split </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-5-2"
+class="td11"> /Dm /M </td><td style="white-space:normal; text-align:left;" id="TBL-11-5-3"
+class="td10">
+ <!--l. 861--><p class="noindent" >Two lines sweep across the screen to reveal the new page.</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-6-1"
+class="td01"><span
+class="ec-lmvtt-10">Wipe </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-6-2"
+class="td11"> /Di </td><td style="white-space:normal; text-align:left;" id="TBL-11-6-3"
+class="td10">
+ <!--l. 862--><p class="noindent" >A single line sweeps across the screen to reveal the new
+ page. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-7-1"
+class="td01"><span
+class="ec-lmvtt-10">R </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-7-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-11-7-3"
+class="td10">
+ <!--l. 863--><p class="noindent" >Simply replaces the old page with the new one. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-8-1"
+class="td01"><span
+class="ec-lmvtt-10">Fly </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-8-2"
+class="td11"> /Di /M </td><td style="white-space:normal; text-align:left;" id="TBL-11-8-3"
+class="td10">
+ <!--l. 864--><p class="noindent" >Changes are flown out or in (as specified by /M), in the
+ direction specified by /Di, to or from a location that is
+ offscreen except when /Di is None. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-9-1"
+class="td01"><span
+class="ec-lmvtt-10">Push </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-9-2"
+class="td11"> /Di </td><td style="white-space:normal; text-align:left;" id="TBL-11-9-3"
+class="td10">
+ <!--l. 867--><p class="noindent" >The old page slides off the screen while the new page
+ slides in, pushing the old page out in the direction
+ specified by /Di. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-10-1"
+class="td01"><span
+class="ec-lmvtt-10">Cover </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-10-2"
+class="td11"> /Di </td><td style="white-space:normal; text-align:left;" id="TBL-11-10-3"
+class="td10">
+ <!--l. 870--><p class="noindent" >The new page slides on to the screen in the direction
+ specified by /Di, covering the old page. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-11-1"
+class="td01"><span
+class="ec-lmvtt-10">Uncover </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-11-2"
+class="td11"> /Di </td><td style="white-space:normal; text-align:left;" id="TBL-11-11-3"
+class="td10">
+ <!--l. 872--><p class="noindent" >The old page slides off the screen in the direction
+ specified by /Di, uncovering the new page in the
+ direction specified by /Di. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-12-1"
+class="td01"><span
+class="ec-lmvtt-10">Fade </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-12-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-11-12-3"
+class="td10">
+ <!--l. 875--><p class="noindent" >The new page gradually becomes visible through the old
+ one. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-13-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-14-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-15-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-11-16-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-11-16-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-11-16-3"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 879--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.8 </span> <a
+ id="x1-120003.8"></a>Option <span
+class="ec-lmvtt-10">pdfinfo</span></h4>
+<!--l. 881--><p class="noindent" >The information entries can be set using <span
+class="ec-lmvtt-10">pdftitle</span>, <span
+class="ec-lmvtt-10">pdfsubject</span>, &#x2026;. Option <span
+class="ec-lmvtt-10">pdfinfo </span>provides an alternative
+interface. It takes a key value list. The key names are the names that appear in the PDF information
+dictionary directly. Known keys such as <span
+class="ec-lmvtt-10">Title</span>, <span
+class="ec-lmvtt-10">Subject</span>, <span
+class="ec-lmvtt-10">Trapped </span>and other are mapped to options
+<span
+class="ec-lmvtt-10">pdftitle</span>, <span
+class="ec-lmvtt-10">subject</span>, <span
+class="ec-lmvtt-10">trapped</span>, &#x2026;Unknown keys are added to the information dictionary. Their values are text
+strings (see PDF specification). Example:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-13">
+\hypersetup{
+&#x00A0;&#x00A0;pdfinfo={
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;Title={My&#x00A0;Title},
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;Subject={My&#x00A0;Subject},
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;NewKey={Foobar},
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;%&#x00A0;...
+&#x00A0;&#x00A0;}
+}
+</pre>
+ <!--l. 900--><p class="nopar" ></blockquote>
+<!--l. 903--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.9 </span> <a
+ id="x1-130003.9"></a>Big alphabetical list</h4>
+<!--l. 905--><p class="noindent" >The following is a complete listing of available options for <span
+class="ec-lmss-10">hyperref</span>, arranged alphabetically.
+<a
+ id="x1-13001r11"></a> <!--l. 909--><div class="longtable"> <table id="TBL-12" class="longtable"
+
+><colgroup id="TBL-12-1g"><col
+id="TBL-12-1"><col
+id="TBL-12-2"><col
+id="TBL-12-3"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-1"
+class="td01"><span
+class="ec-lmvtt-10">allbordercolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-3"
+class="td10">
+ <!--l. 909--><p class="noindent" >Set all border color options </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-2-1"
+class="td01"><span
+class="ec-lmvtt-10">allcolors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-2-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-3"
+class="td10">
+ <!--l. 910--><p class="noindent" >Set all color options (without border and field
+ options) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-3-1"
+class="td01"><span
+class="ec-lmvtt-10">anchorcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-3-2"
+class="td11"> <span
+class="ec-lmri-10">black </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-3"
+class="td10">
+ <!--l. 911--><p class="noindent" >set color of anchors, ignored by most drivers. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-4-1"
+class="td01"><span
+class="ec-lmvtt-10">backref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-4-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-4-3"
+class="td10">
+ <!--l. 912--><p class="noindent" >do bibliographical back references </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-5-1"
+class="td01"><span
+class="ec-lmvtt-10">baseurl </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-5-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-5-3"
+class="td10">
+ <!--l. 913--><p class="noindent" >set base URL for document </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-6-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-6-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-6-3"
+class="td10">
+ <!--l. 914--><p class="noindent" >make bookmarks </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-7-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarksnumbered </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-7-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-7-3"
+class="td10">
+ <!--l. 915--><p class="noindent" >put section numbers in bookmarks </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-8-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarksopen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-8-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-8-3"
+class="td10">
+ <!--l. 916--><p class="noindent" >open up bookmark tree </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-9-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarksopenlevel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-9-2"
+class="td11"> <span
+class="ec-lmvtt-10">\maxdimen </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-9-3"
+class="td10">
+ <!--l. 917--><p class="noindent" >level to which bookmarks are open </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-10-1"
+class="td01"><span
+class="ec-lmvtt-10">bookmarkstype </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-10-2"
+class="td11"> <span
+class="ec-lmri-10">toc </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-10-3"
+class="td10">
+ <!--l. 918--><p class="noindent" >to specify which &#8216;toc&#8217; file to mimic </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-11-1"
+class="td01"><span
+class="ec-lmvtt-10">breaklinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-11-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-11-3"
+class="td10">
+ <!--l. 919--><p class="noindent" >allow links to break over lines </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-12-1"
+class="td01"><span
+class="ec-lmvtt-10">CJKbookmarks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-12-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-12-3"
+class="td10">
+ <!--l. 920--><p class="noindent" >to produce CJK bookmarks </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-13-1"
+class="td01"><span
+class="ec-lmvtt-10">citebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-13-2"
+class="td11"> <span
+class="ec-lmri-10">0 1 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-13-3"
+class="td10">
+ <!--l. 921--><p class="noindent" >color of border around cites </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-14-1"
+class="td01"><span
+class="ec-lmvtt-10">citecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-14-2"
+class="td11"> <span
+class="ec-lmri-10">green </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-14-3"
+class="td10">
+ <!--l. 922--><p class="noindent" >color of citation links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-15-1"
+class="td01"><span
+class="ec-lmvtt-10">colorlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-15-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-15-3"
+class="td10">
+ <!--l. 923--><p class="noindent" >color links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-16-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-16-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-16-3"
+class="td10">
+ <!--l. 924--><p class="noindent" >(<span
+class="ec-lmss-10">tex4ht</span>, <span
+class="ec-lmss-10">dviwindo</span>) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-17-1"
+class="td01"><span
+class="ec-lmvtt-10">debug </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-17-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-17-3"
+class="td10">
+ <!--l. 925--><p class="noindent" >provide details of anchors defined; same as
+ verbose </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-18-1"
+class="td01"><span
+class="ec-lmvtt-10">destlabel </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-18-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-18-3"
+class="td10">
+ <!--l. 926--><p class="noindent" >destinations are named by the first <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\label</span></span></span>
+ after the anchor creation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-19-1"
+class="td01"><span
+class="ec-lmvtt-10">draft </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-19-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-19-3"
+class="td10">
+ <!--l. 927--><p class="noindent" >do not do any hyperlinking </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-20-1"
+class="td01"><span
+class="ec-lmvtt-10">driverfallback </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-20-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-20-3"
+class="td10">
+ <!--l. 928--><p class="noindent" >default if no driver specified or detected </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-21-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-21-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-21-3"
+class="td10"></td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-12-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-22-1"
+class="td01"><span
+class="ec-lmvtt-10">dvipdfm </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-22-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-22-3"
+class="td10">
+ <!--l. 929--><p class="noindent" >use <span
+class="ec-lmss-10">dvipdfm </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-23-1"
+class="td01"><span
+class="ec-lmvtt-10">dvipdfmx </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-23-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-23-3"
+class="td10">
+ <!--l. 930--><p class="noindent" >use <span
+class="ec-lmss-10">dvipdfmx </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-24-1"
+class="td01"><span
+class="ec-lmvtt-10">dvips </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-24-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-24-3"
+class="td10">
+ <!--l. 931--><p class="noindent" >use <span
+class="ec-lmss-10">dvips </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-25-1"
+class="td01"><span
+class="ec-lmvtt-10">dvipsone </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-25-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-25-3"
+class="td10">
+ <!--l. 932--><p class="noindent" >use <span
+class="ec-lmss-10">dvipsone </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-26-1"
+class="td01"><span
+class="ec-lmvtt-10">dviwindo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-26-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-26-3"
+class="td10">
+ <!--l. 933--><p class="noindent" >use <span
+class="ec-lmss-10">dviwindo </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-27-1"
+class="td01"><span
+class="ec-lmvtt-10">encap </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-27-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-27-3"
+class="td10">
+ <!--l. 934--><p class="noindent" >to set encap character for hyperindex </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-28-1"
+class="td01"><span
+class="ec-lmvtt-10">extension </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-28-2"
+class="td11"> <span
+class="ec-lmri-10">dvi </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-28-3"
+class="td10">
+ <!--l. 935--><p class="noindent" >suffix of linked files </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-29-1"
+class="td01"><span
+class="ec-lmvtt-10">filebordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-29-2"
+class="td11"> <span
+class="ec-lmri-10">0 .5 .5 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-29-3"
+class="td10">
+ <!--l. 936--><p class="noindent" >color of border around file links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-30-1"
+class="td01"><span
+class="ec-lmvtt-10">filecolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-30-2"
+class="td11"> <span
+class="ec-lmri-10">cyan </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-30-3"
+class="td10">
+ <!--l. 937--><p class="noindent" >color of file links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-31-1"
+class="td01"><span
+class="ec-lmvtt-10">final </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-31-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-31-3"
+class="td10">
+ <!--l. 938--><p class="noindent" >opposite of option draft </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-32-1"
+class="td01"><span
+class="ec-lmvtt-10">frenchlinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-32-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-32-3"
+class="td10">
+ <!--l. 939--><p class="noindent" >use small caps instead of color for links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-33-1"
+class="td01"><span
+class="ec-lmvtt-10">hidelinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-33-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-33-3"
+class="td10">
+ <!--l. 940--><p class="noindent" >Hide links (removing color and border) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-34-1"
+class="td01"><span
+class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-34-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-34-3"
+class="td10">
+ <!--l. 941--><p class="noindent" >make figures hyper links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-35-1"
+class="td01"><span
+class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-35-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-35-3"
+class="td10">
+ <!--l. 942--><p class="noindent" >set up hyperlinked footnotes </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-36-1"
+class="td01"><span
+class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-36-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-36-3"
+class="td10">
+ <!--l. 943--><p class="noindent" >set up hyperlinked indices </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-37-1"
+class="td01"><span
+class="ec-lmvtt-10">hypertex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-37-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-37-3"
+class="td10">
+ <!--l. 944--><p class="noindent" >use <span
+class="ec-lmss-10">HyperTeX </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-38-1"
+class="td01"><span
+class="ec-lmvtt-10">hypertexnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-38-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-38-3"
+class="td10">
+ <!--l. 945--><p class="noindent" >use guessable names for links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-39-1"
+class="td01"><span
+class="ec-lmvtt-10">implicit </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-39-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-39-3"
+class="td10">
+ <!--l. 946--><p class="noindent" >redefine LaTeX&#x00A0;internals </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-40-1"
+class="td01"><span
+class="ec-lmvtt-10">latex2html </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-40-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-40-3"
+class="td10">
+ <!--l. 947--><p class="noindent" >use <span
+class="ec-lmss-10">LaTeX2HTML </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-41-1"
+class="td01"><span
+class="ec-lmvtt-10">linkbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-41-2"
+class="td11"> <span
+class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-41-3"
+class="td10">
+ <!--l. 948--><p class="noindent" >color of border around links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-42-1"
+class="td01"> </td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-12-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-43-1"
+class="td01"><span
+class="ec-lmvtt-10">linkcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-43-2"
+class="td11"> <span
+class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-43-3"
+class="td10">
+ <!--l. 949--><p class="noindent" >color of links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-44-1"
+class="td01"><span
+class="ec-lmvtt-10">linktoc </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-44-2"
+class="td11"> <span
+class="ec-lmri-10">section </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-44-3"
+class="td10">
+ <!--l. 950--><p class="noindent" >make text be link on TOC, LOF and LOT </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-45-1"
+class="td01"><span
+class="ec-lmvtt-10">linktocpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-45-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-45-3"
+class="td10">
+ <!--l. 951--><p class="noindent" >make page number, not text, be link on TOC,
+ LOF and LOT </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-46-1"
+class="td01"><span
+class="ec-lmvtt-10">menubordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-46-2"
+class="td11"> <span
+class="ec-lmri-10">1 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-46-3"
+class="td10">
+ <!--l. 952--><p class="noindent" >color of border around menu links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-47-1"
+class="td01"><span
+class="ec-lmvtt-10">menucolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-47-2"
+class="td11"> <span
+class="ec-lmri-10">red </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-47-3"
+class="td10">
+ <!--l. 953--><p class="noindent" >color for menu links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-48-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-48-1"
+class="td01"><span
+class="ec-lmvtt-10">nativepdf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-48-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-48-3"
+class="td10">
+ <!--l. 954--><p class="noindent" >an alias for <span
+class="ec-lmss-10">dvips</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-49-1"
+class="td01"><span
+class="ec-lmvtt-10">naturalnames </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-49-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-49-3"
+class="td10">
+ <!--l. 955--><p class="noindent" >use LaTeX-computed names for links </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-50-1"
+class="td01"><span
+class="ec-lmvtt-10">nesting </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-50-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-50-3"
+class="td10">
+ <!--l. 956--><p class="noindent" >allow nesting of links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-51-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-51-1"
+class="td01"><span
+class="ec-lmvtt-10">pageanchor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-51-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-51-3"
+class="td10">
+ <!--l. 957--><p class="noindent" >put an anchor on every page </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-52-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-52-1"
+class="td01"><span
+class="ec-lmvtt-10">pagebackref </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-52-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-52-3"
+class="td10">
+ <!--l. 958--><p class="noindent" >backreference by page number </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-53-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-53-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfauthor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-53-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-53-3"
+class="td10">
+ <!--l. 959--><p class="noindent" >text for PDF Author field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-54-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-54-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfborder </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-54-2"
+class="td11"> <span
+class="ec-lmri-10">0 0 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-54-3"
+class="td10">
+ <!--l. 960--><p class="noindent" >width of PDF link border </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-55-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-55-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-55-2"
+class="td11"> <span
+class="ec-lmri-10">0 0 0 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-55-3"
+class="td10">
+ <!--l. 961--><p class="noindent" >(<span
+class="ec-lmvtt-10">colorlinks)</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-56-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-56-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfborderstyle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-56-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-56-3"
+class="td10">
+ <!--l. 962--><p class="noindent" >border style for links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-57-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-57-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfcenterwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-57-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-57-3"
+class="td10">
+ <!--l. 963--><p class="noindent" >position the document window in the center
+ of the screen </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-58-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-58-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfcreator </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-58-2"
+class="td11"> <span
+class="ec-lmri-10">LaTeX with </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-58-3"
+class="td10">
+ <!--l. 964--><p class="noindent" >text for PDF Creator field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-59-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-59-2"
+class="td11"> <span
+class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-59-3"
+class="td10">
+ <!--l. 966--><p class="noindent" > </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-60-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-60-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfdirection </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-60-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-60-3"
+class="td10">
+ <!--l. 966--><p class="noindent" >direction setting </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-61-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-61-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfdisplaydoctitle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-61-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-61-3"
+class="td10">
+ <!--l. 967--><p class="noindent" >display document title instead of file name in
+ title bar </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-62-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-62-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfduplex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-62-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-62-3"
+class="td10">
+ <!--l. 969--><p class="noindent" >paper handling option for print dialog </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-63-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-63-1"
+class="td01"> </td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-12-64-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-64-1"
+class="td01"><span
+class="ec-lmvtt-10">pdffitwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-64-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-64-3"
+class="td10">
+ <!--l. 971--><p class="noindent" >resize document window to fit document size </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-65-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-65-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfhighlight </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-65-2"
+class="td11"> <span
+class="ec-lmri-10">/I </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-65-3"
+class="td10">
+ <!--l. 972--><p class="noindent" >set highlighting of PDF links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-66-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-66-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfinfo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-66-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-66-3"
+class="td10">
+ <!--l. 973--><p class="noindent" >alternative interface for setting document
+ information </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-67-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-67-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfkeywords </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-67-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-67-3"
+class="td10">
+ <!--l. 974--><p class="noindent" >text for PDF Keywords field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-68-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-68-1"
+class="td01"><span
+class="ec-lmvtt-10">pdflang </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-68-2"
+class="td11"> <span
+class="ec-lmri-10">relax </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-68-3"
+class="td10">
+ <!--l. 975--><p class="noindent" >PDF language identifier (RFC 3066) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-69-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-69-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfmark </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-69-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-69-3"
+class="td10">
+ <!--l. 976--><p class="noindent" >an alias for <span
+class="ec-lmss-10">dvips</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-70-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-70-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfmenubar </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-70-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-70-3"
+class="td10">
+ <!--l. 977--><p class="noindent" >make PDF viewer&#8217;s menu bar visible </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-71-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-71-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfnewwindow </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-71-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-71-3"
+class="td10">
+ <!--l. 978--><p class="noindent" >make links that open another PDF </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-72-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-72-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-12-72-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-72-3"
+class="td10">
+ <!--l. 979--><p class="noindent" >file start a new window </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-73-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-73-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfnonfullscreenpagemode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-73-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-73-3"
+class="td10">
+ <!--l. 981--><p class="noindent" >page mode setting on exiting full-screen mode</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-74-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-74-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfnumcopies </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-74-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-74-3"
+class="td10">
+ <!--l. 983--><p class="noindent" >number of printed copies </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-75-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-75-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-75-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-75-3"
+class="td10">
+ <!--l. 984--><p class="noindent" >set PDF page labels </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-76-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagelayout </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-76-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-76-3"
+class="td10">
+ <!--l. 985--><p class="noindent" >set layout of PDF pages </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-77-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagemode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-77-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-77-3"
+class="td10">
+ <!--l. 986--><p class="noindent" >set default mode of PDF display </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-78-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-78-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagescrop </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-78-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-78-3"
+class="td10">
+ <!--l. 987--><p class="noindent" >set crop size of PDF document </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-79-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-79-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpagetransition </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-79-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-79-3"
+class="td10">
+ <!--l. 988--><p class="noindent" >set PDF page transition style </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-80-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-80-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfpicktraybypdfsize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-80-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-80-3"
+class="td10">
+ <!--l. 990--><p class="noindent" >set option for print dialog </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-81-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-81-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintarea </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-81-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-81-3"
+class="td10">
+ <!--l. 991--><p class="noindent" >set /PrintArea of viewer preferences </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-82-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-82-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintclip </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-82-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-82-3"
+class="td10">
+ <!--l. 992--><p class="noindent" >set /PrintClip of viewer preferences </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-83-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-83-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintpagerange </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-83-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-83-3"
+class="td10">
+ <!--l. 993--><p class="noindent" >set /PrintPageRange of viewer preferences </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-84-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-84-1"
+class="td01"> </td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-12-85-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-85-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfprintscaling </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-85-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-85-3"
+class="td10">
+ <!--l. 994--><p class="noindent" >page scaling option for print dialog </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-86-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-86-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfproducer </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-86-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-86-3"
+class="td10">
+ <!--l. 995--><p class="noindent" >text for PDF Producer field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-87-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-87-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfremotestartview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-87-2"
+class="td11"> <span
+class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-87-3"
+class="td10">
+ <!--l. 996--><p class="noindent" >starting view of remote PDF documents </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-88-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-88-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfstartpage </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-88-2"
+class="td11"> <span
+class="ec-lmri-10">1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-88-3"
+class="td10">
+ <!--l. 997--><p class="noindent" >page at which PDF document opens </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-89-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-89-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfstartview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-89-2"
+class="td11"> <span
+class="ec-lmri-10">Fit </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-89-3"
+class="td10">
+ <!--l. 998--><p class="noindent" >starting view of PDF document </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-90-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-90-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfsubject </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-90-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-90-3"
+class="td10">
+ <!--l. 999--><p class="noindent" >text for PDF Subject field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-91-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-91-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-91-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-91-3"
+class="td10">
+ <!--l. 1000--><p class="noindent" >use <span
+class="ec-lmss-10">pdfTeX </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-92-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-92-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftitle </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-92-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-92-3"
+class="td10">
+ <!--l. 1001--><p class="noindent" >text for PDF Title field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-93-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-93-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftoolbar </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-93-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-93-3"
+class="td10">
+ <!--l. 1002--><p class="noindent" >make PDF toolbar visible </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-94-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-94-1"
+class="td01"><span
+class="ec-lmvtt-10">pdftrapped </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-94-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-94-3"
+class="td10">
+ <!--l. 1003--><p class="noindent" >Sets the document information Trapped entry.
+ Possible values are <span
+class="ec-lmvtt-10">True</span>, <span
+class="ec-lmvtt-10">False </span>and <span
+class="ec-lmvtt-10">Unknown</span>.
+ An empty value means, the entry is not set. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-95-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-95-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfview </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-95-2"
+class="td11"> <span
+class="ec-lmri-10">XYZ </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-95-3"
+class="td10">
+ <!--l. 1006--><p class="noindent" >PDF &#8216;view&#8217; when on link traversal </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-96-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-96-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfviewarea </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-96-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-96-3"
+class="td10">
+ <!--l. 1007--><p class="noindent" >set /ViewArea of viewer preferences </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-97-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-97-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfviewclip </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-97-2"
+class="td11"> <span
+class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-97-3"
+class="td10">
+ <!--l. 1008--><p class="noindent" >set /ViewClip of viewer preferences </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-98-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-98-1"
+class="td01"><span
+class="ec-lmvtt-10">pdfwindowui </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-98-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-98-3"
+class="td10">
+ <!--l. 1009--><p class="noindent" >make PDF user interface elements visible </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-99-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-99-1"
+class="td01"><span
+class="ec-lmvtt-10">plainpages </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-99-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-99-3"
+class="td10">
+ <!--l. 1010--><p class="noindent" >do page number anchors as plain Arabic </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-100-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-100-1"
+class="td01"><span
+class="ec-lmvtt-10">ps2pdf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-100-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-100-3"
+class="td10">
+ <!--l. 1011--><p class="noindent" >use <span
+class="ec-lmss-10">ps2pdf </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-101-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-101-1"
+class="td01"><span
+class="ec-lmvtt-10">psdextra </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-101-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-101-3"
+class="td10">
+ <!--l. 1012--><p class="noindent" >define more short names for PDF string
+ commands </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-102-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-102-1"
+class="td01"><span
+class="ec-lmvtt-10">raiselinks </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-102-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-102-3"
+class="td10">
+ <!--l. 1013--><p class="noindent" >raise up links (for <span
+class="ec-lmss-10">HyperTeX </span>backend) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-103-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-103-1"
+class="td01"><span
+class="ec-lmvtt-10">runbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-103-2"
+class="td11"> <span
+class="ec-lmri-10">0 .7 .7 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-103-3"
+class="td10">
+ <!--l. 1014--><p class="noindent" >color of border around &#8216;run&#8217; links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-104-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-104-1"
+class="td01"><span
+class="ec-lmvtt-10">runcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-104-2"
+class="td11"> <span
+class="ec-lmri-10">filecolor </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-104-3"
+class="td10">
+ <!--l. 1015--><p class="noindent" >color of &#8216;run&#8217; links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-105-1"
+class="td01"> </td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-12-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-106-1"
+class="td01"><span
+class="ec-lmvtt-10">setpagesize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-106-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-106-3"
+class="td10">
+ <!--l. 1016--><p class="noindent" >set page size by special driver commands </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-107-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-107-1"
+class="td01"><span
+class="ec-lmvtt-10">tex4ht </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-107-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-107-3"
+class="td10">
+ <!--l. 1017--><p class="noindent" >use <span
+class="ec-lmss-10">TeX4ht </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-108-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-108-1"
+class="td01"><span
+class="ec-lmvtt-10">textures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-108-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-108-3"
+class="td10">
+ <!--l. 1018--><p class="noindent" >use <span
+class="ec-lmss-10">Textures </span>backend </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-109-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-109-1"
+class="td01"><span
+class="ec-lmvtt-10">unicode </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-109-2"
+class="td11"> <span
+class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-109-3"
+class="td10">
+ <!--l. 1019--><p class="noindent" >Unicode encoded pdf strings, starting with
+ version 2021-02-04 v7.00g set by default to
+ true for all engines. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-110-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-1"
+class="td01"><span
+class="ec-lmvtt-10">urlbordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-110-2"
+class="td11"> <span
+class="ec-lmri-10">0 1 1 </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-110-3"
+class="td10">
+ <!--l. 1020--><p class="noindent" >color of border around URL links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-111-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-111-1"
+class="td01"><span
+class="ec-lmvtt-10">urlcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-111-2"
+class="td11"> <span
+class="ec-lmri-10">magenta </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-111-3"
+class="td10">
+ <!--l. 1021--><p class="noindent" >color of URL links </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-112-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-112-1"
+class="td01"><span
+class="ec-lmvtt-10">verbose </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-112-2"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:normal; text-align:left;" id="TBL-12-112-3"
+class="td10">
+ <!--l. 1022--><p class="noindent" >be chatty </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-113-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-113-1"
+class="td01"><span
+class="ec-lmvtt-10">vtex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-113-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-113-3"
+class="td10">
+ <!--l. 1023--><p class="noindent" >use <span
+class="ec-lmss-10">VTeX </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-114-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-114-1"
+class="td01"><span
+class="ec-lmvtt-10">xetex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-114-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-12-114-3"
+class="td10">
+ <!--l. 1024--><p class="noindent" >use <span
+class="ec-lmss-10">XeTeX </span>backend </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-115-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-115-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-116-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-116-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-117-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-117-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-118-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-118-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-12-119-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-119-1"
+class="td01"> </td></tr>
+ </table></div>
+<!--l. 1027--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">4 </span> <a
+ id="x1-140004"></a>Additional user macros</h3>
+<!--l. 1029--><p class="noindent" >If you need to make references to URLs, or write explicit links, the following low-level user macros are
+provided:
+<!--l. 1032--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-13" class="tabular"
+
+><colgroup id="TBL-13-1g"><col
+id="TBL-13-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\href</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">options</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]</span></span></span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1036--><p class="noindent" >The <span
+class="ec-lmri-10">text </span>is made a hyperlink to the <span
+class="ec-lmri-10">URL</span>; this must be a full URL (relative to the base URL, if that is
+defined). The special characters # and &#x02DC; do <span
+class="ec-lmri-10">not </span>need to be escaped in any way (unless the command is
+used in the argument of another command).
+<!--l. 1041--><p class="indent" > The optional argument <span
+class="ec-lmri-10">options </span>recognizes the hyperref options <span
+class="ec-lmvtt-10">pdfremotestartview</span>, <span
+class="ec-lmvtt-10">pdfnewwindow</span>
+and the following key value options:
+ <dl class="description"><dt class="description">
+<span
+class="ec-lmvtk-10">page</span><span
+class="ec-lmbx-10">:</span> </dt><dd
+class="description">Specifies the start page number of remote PDF documents. First page is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">1</span></span></span>.
+ </dd><dt class="description">
+<span
+class="ec-lmvtk-10">ismap</span><span
+class="ec-lmbx-10">:</span> </dt><dd
+class="description">Boolean key, if set to <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">true</span></span></span>, the URL should appended by the coordinates as query
+ parameters by the PDF viewer.
+ </dd><dt class="description">
+<span
+class="ec-lmvtk-10">nextactionraw</span><span
+class="ec-lmbx-10">:</span> </dt><dd
+class="description">The value of key <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">/Next</span></span></span> of action dictionaries, see PDF specification.</dd></dl>
+<!--l. 1054--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular"
+
+><colgroup id="TBL-14-1g"><col
+id="TBL-14-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\url</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
+<!--l. 1058--><p class="noindent" >Similar to <span
+class="ec-lmvtt-10">\href</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmvtt-10">\nolinkurl</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}}</span></span></span>. Depending on the driver <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\href</span></span></span> also tries to detect the link
+type. Thus the result can be a url link, file link, &#x2026;
+<!--l. 1063--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-15" class="tabular"
+
+><colgroup id="TBL-15-1g"><col
+id="TBL-15-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\nolinkurl</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
+<!--l. 1067--><p class="noindent" >Write <span
+class="ec-lmri-10">URL </span>in the same way as <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\url</span></span></span>, without creating a hyperlink.
+
+<!--l. 1070--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
+
+><colgroup id="TBL-16-1g"><col
+id="TBL-16-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-16-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hyperbaseurl</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1074--><p class="noindent" >A base <span
+class="ec-lmri-10">URL </span>is established, which is prepended to other specified URLs, to make it easier to write
+portable documents.
+<!--l. 1077--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-17" class="tabular"
+
+><colgroup id="TBL-17-1g"><col
+id="TBL-17-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-17-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hyperimage</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">imageURL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1081--><p class="noindent" >The link to the image referenced by the URL is inserted, using <span
+class="ec-lmri-10">text </span>as the anchor.
+<!--l. 1084--><p class="indent" > For drivers that produce HTML, the image itself is inserted by the browser, with the <span
+class="ec-lmri-10">text </span>being
+ignored completely.
+<!--l. 1087--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-18" class="tabular"
+
+><colgroup id="TBL-18-1g"><col
+id="TBL-18-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-18-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hyperdef</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">category</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1091--><p class="noindent" >A target area of the document (the <span
+class="ec-lmri-10">text</span>) is marked, and given the name <span
+class="ec-lmri-10">category.name</span>
+<!--l. 1094--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-19" class="tabular"
+
+><colgroup id="TBL-19-1g"><col
+id="TBL-19-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hyperref</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">URL</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">category</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1098--><p class="noindent" ><span
+class="ec-lmri-10">text </span>is made into a link to <span
+class="ec-lmri-10">URL#category.name</span>
+<!--l. 1100--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-20" class="tabular"
+
+><colgroup id="TBL-20-1g"><col
+id="TBL-20-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hyperref</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1104--><p class="noindent" ><span
+class="ec-lmri-10">text </span>is made into a link to the same place as <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ref{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> would be linked.
+<!--l. 1108--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-21" class="tabular"
+
+><colgroup id="TBL-21-1g"><col
+id="TBL-21-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hyperlink</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1111--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-22" class="tabular"
+
+><colgroup id="TBL-22-1g"><col
+id="TBL-22-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-22-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hypertarget</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1115--><p class="noindent" >A simple internal link is created with <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypertarget</span></span></span>, with two parameters of an anchor <span
+class="ec-lmri-10">name</span>, and anchor
+<span
+class="ec-lmri-10">text</span>. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperlink</span></span></span> has two arguments, the name of a hypertext object defined somewhere by <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypertarget</span></span></span>,
+and the <span
+class="ec-lmri-10">text </span>which be used as the link on the page.
+<!--l. 1121--><p class="indent" > Note that in HTML parlance, the <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperlink</span></span></span> command inserts a notional # in front of each link,
+making it relative to the current testdocument; <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\href</span></span></span> expects a full URL.
+<!--l. 1125--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-23" class="tabular"
+
+><colgroup id="TBL-23-1g"><col
+id="TBL-23-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-23-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\phantomsection </span></td>
+ </tr></table> </div></span>
+<!--l. 1129--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypertarget{}{}</span></span></span> with an automatically chosen
+anchor name. Often it is used in conjunction with <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\addcontentsline</span></span></span> for sectionlike things (index,
+bibliography, preface). <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\addcontentsline</span></span></span> refers to the latest previous location where an anchor is set.
+Example:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-14">
+\cleardoublepage
+\phantomsection
+\addcontentsline{toc}{chapter}{\indexname}
+\printindex
+</pre>
+ <!--l. 1142--><p class="nopar" ></blockquote>
+<!--l. 1144--><p class="noindent" >Now the entry in the table of contents (and bookmarks) for the index points to the start of the index page,
+not to a location before this page.
+<!--l. 1148--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-24" class="tabular"
+
+><colgroup id="TBL-24-1g"><col
+id="TBL-24-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-24-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\autoref</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
+<!--l. 1152--><p class="noindent" >This is a replacement for the usual <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ref</span></span></span> command that places a contextual label in front of the reference.
+This gives your users a bigger target to click for hyperlinks (e.g.&#x00A0;&#8216;section 2&#8217; instead of merely the number
+&#8216;2&#8217;).
+<!--l. 1158--><p class="indent" > The label is worked out from the context of the original <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\label</span></span></span> command by <span
+class="ec-lmss-10">hyperref </span>by using the
+macros listed below (shown with their default values). The macros can be (re)defined in documents using
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\(re)newcommand</span></span></span>; note that some of these macros are already defined in the standard document
+classes. The mixture of lowercase and uppercase initial letters is deliberate and corresponds to the
+author&#8217;s practice.
+<!--l. 1166--><p class="indent" > For each macro below, <span
+class="ec-lmss-10">hyperref </span>checks <span
+class="ec-lmvtt-10">\*autorefname </span>before <span
+class="ec-lmvtt-10">\*name</span>. For instance, it looks for
+<span
+class="ec-lmvtt-10">\figureautorefname </span>before <span
+class="ec-lmvtt-10">\figurename</span>.
+<a
+ id="x1-14001r12"></a> <!--l. 1171--><div class="longtable"> <table id="TBL-25" class="longtable"
+
+><colgroup id="TBL-25-1g"><col
+id="TBL-25-1"><col
+id="TBL-25-2"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-25-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-1-1"
+class="td01"><span
+class="ec-lmri-10">Macro </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-1-2"
+class="td10">
+ <!--l. 1171--><p class="noindent" ><span
+class="ec-lmri-10">Default</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-2-1"
+class="td01"><span
+class="ec-lmvtt-10">\figurename </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-2-2"
+class="td10">
+ <!--l. 1172--><p class="noindent" >Figure </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-3-1"
+class="td01"><span
+class="ec-lmvtt-10">\tablename </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-3-2"
+class="td10">
+ <!--l. 1173--><p class="noindent" >Table </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-4-1"
+class="td01"><span
+class="ec-lmvtt-10">\partname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-4-2"
+class="td10">
+ <!--l. 1174--><p class="noindent" >Part </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-5-1"
+class="td01"><span
+class="ec-lmvtt-10">\appendixname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-5-2"
+class="td10">
+ <!--l. 1175--><p class="noindent" >Appendix </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-6-1"
+class="td01"><span
+class="ec-lmvtt-10">\equationname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-6-2"
+class="td10">
+ <!--l. 1176--><p class="noindent" >Equation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-7-1"
+class="td01"><span
+class="ec-lmvtt-10">\Itemname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-7-2"
+class="td10">
+ <!--l. 1177--><p class="noindent" >item </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-8-1"
+class="td01"><span
+class="ec-lmvtt-10">\chaptername </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-8-2"
+class="td10">
+ <!--l. 1178--><p class="noindent" >chapter </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-9-1"
+class="td01"><span
+class="ec-lmvtt-10">\sectionname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-9-2"
+class="td10">
+ <!--l. 1179--><p class="noindent" >section </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-10-1"
+class="td01"><span
+class="ec-lmvtt-10">\subsectionname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-10-2"
+class="td10">
+ <!--l. 1180--><p class="noindent" >subsection </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-11-1"
+class="td01"><span
+class="ec-lmvtt-10">\subsubsectionname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-11-2"
+class="td10">
+ <!--l. 1181--><p class="noindent" >subsubsection </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-12-1"
+class="td01"><span
+class="ec-lmvtt-10">\paragraphname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-12-2"
+class="td10">
+ <!--l. 1182--><p class="noindent" >paragraph </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-13-1"
+class="td01"><span
+class="ec-lmvtt-10">\Hfootnotename </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-13-2"
+class="td10">
+ <!--l. 1183--><p class="noindent" >footnote </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-14-1"
+class="td01"><span
+class="ec-lmvtt-10">\AMSname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-14-2"
+class="td10">
+ <!--l. 1184--><p class="noindent" >Equation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-15-1"
+class="td01"><span
+class="ec-lmvtt-10">\theoremname </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-15-2"
+class="td10">
+ <!--l. 1185--><p class="noindent" >Theorem </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-16-1"
+class="td01"><span
+class="ec-lmvtt-10">\page </span></td><td style="white-space:normal; text-align:left;" id="TBL-25-16-2"
+class="td10">
+ <!--l. 1186--><p class="noindent" >page </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-17-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-18-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-19-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-20-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-25-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-21-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-25-21-2"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 1189--><p class="indent" > Example for a redefinition if <span
+class="ec-lmss-10">babel </span>is used:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-15">
+\usepackage[ngerman]{babel}
+\addto\extrasngerman{%
+&#x00A0;&#x00A0;\def\subsectionautorefname{Unterkapitel}%
+}
+</pre>
+ <!--l. 1196--><p class="nopar" ></blockquote>
+<!--l. 1199--><p class="indent" > Hint: <span
+class="ec-lmvtt-10">\autoref </span>works via the counter name that the reference is based on. Sometimes <span
+class="ec-lmvtt-10">\autoref</span>
+chooses the wrong name, if the counter is used for different things. For example, it happens with
+<span
+class="ec-lmvtt-10">\newtheorem </span>if a lemma shares a counter with theorems. Then package <span
+class="ec-lmss-10">aliascnt </span>provides a method to
+generate a simulated second counter that allows the differentiation between theorems and
+lemmas:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-16">
+\documentclass{article}
+
+\usepackage{aliascnt}
+\usepackage{hyperref}
+
+\newtheorem{theorem}{Theorem}
+
+\newaliascnt{lemma}{theorem}
+\newtheorem{lemma}[lemma]{Lemma}
+\aliascntresetthe{lemma}
+
+\providecommand*{\lemmaautorefname}{Lemma}
+
+\begin{document}
+
+We&#x00A0;will&#x00A0;use&#x00A0;\autoref{a}&#x00A0;to&#x00A0;prove&#x00A0;\autoref{b}.
+
+\begin{lemma}\label{a}
+&#x00A0;&#x00A0;Nobody&#x00A0;knows.
+\end{lemma}
+
+\begin{theorem}\label{b}
+&#x00A0;&#x00A0;Nobody&#x00A0;is&#x00A0;right.
+\end{theorem}.
+
+\end{document}
+</pre>
+ <!--l. 1234--><p class="nopar" ></blockquote>
+<!--l. 1237--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-26" class="tabular"
+
+><colgroup id="TBL-26-1g"><col
+id="TBL-26-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-26-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\autopageref</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1241--><p class="noindent" >It replaces <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\pageref</span></span></span> and adds the name for page in front of the page reference. First <span
+class="ec-lmvtt-10">\pageautorefname</span>
+is checked before <span
+class="ec-lmvtt-10">\pagename</span>.
+<!--l. 1246--><p class="indent" > For instances where you want a reference to use the correct counter, but not to create a
+link, there are starred forms (these starred forms exist even if hyperref has been loaded with
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">implicit=false</span></span></span>):
+<!--l. 1250--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-27" class="tabular"
+
+><colgroup id="TBL-27-1g"><col
+id="TBL-27-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-27-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\ref*</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
+<!--l. 1254--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-28" class="tabular"
+
+><colgroup id="TBL-28-1g"><col
+id="TBL-28-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-28-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\pageref*</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1258--><p class="noindent" >
+
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-29" class="tabular"
+
+><colgroup id="TBL-29-1g"><col
+id="TBL-29-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-29-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\autoref*</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
+<!--l. 1262--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-30" class="tabular"
+
+><colgroup id="TBL-30-1g"><col
+id="TBL-30-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-30-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\autopageref*</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1266--><p class="indent" > A typical use would be to write
+
+
+ <pre class="verbatim" id="verbatim-17">
+\hyperref[other]{that&#x00A0;nice&#x00A0;section&#x00A0;(\ref*{other})&#x00A0;we&#x00A0;read&#x00A0;before}
+</pre>
+<!--l. 1269--><p class="nopar" >
+<!--l. 1271--><p class="indent" > We want <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ref*{other}</span></span></span> to generate the correct number, but not to form a link, since we do this
+ourselves with <span
+class="ec-lmvtt-10">\hyperref</span>.
+<!--l. 1274--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-31" class="tabular"
+
+><colgroup id="TBL-31-1g"><col
+id="TBL-31-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-31-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\pdfstringdef</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">macroname</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">TeXstring</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1278--><p class="indent" > <span
+class="ec-lmvtt-10">\pdfstringdef </span>returns a macro containing the PDF string. (Currently this is done globally, but do not
+rely on it.) All the following tasks, definitions and redefinitions are made in a group to keep them
+local:
+ <ul class="itemize1">
+ <li class="itemize">Switching to PD1 or PU encoding
+ </li>
+ <li class="itemize">Defining the &#8220;octal sequence commands&#8221; (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\345</span></span></span>): <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\edef\3{\string\3}</span></span></span>
+ </li>
+ <li class="itemize">Special glyphs of TeX: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\{</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\%</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\&amp;</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\space</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\dots</span></span></span>, etc.
+ </li>
+ <li class="itemize">National glyphs (<span
+class="ec-lmss-10">german.sty</span>, <span
+class="ec-lmss-10">french.sty</span>, etc.)
+ </li>
+ <li class="itemize">Logos: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\TeX</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\eTeX</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\MF</span></span></span>, etc.
+ </li>
+ <li class="itemize">Disabling commands that do not provide useful functionality in bookmarks: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\label</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\index</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\glossary</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\discretionary</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\def</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\let</span></span></span>, etc.
+ </li>
+ <li class="itemize">LaTeX&#8217;s font commands like <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\textbf</span></span></span>, etc.
+ </li>
+ <li class="itemize">Support for <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\xspace</span></span></span> provided by the <span
+class="ec-lmss-10">xspace </span>package</li></ul>
+<!--l. 1294--><p class="indent" > In addition, parentheses are protected to avoid the danger of unsafe unbalanced parentheses in
+the PDF string. For further details, see Heiko Oberdiek&#8217;s EuroTeX&#x00A0;paper distributed with
+<span
+class="ec-lmss-10">hyperref</span>.
+<!--l. 1298--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-32" class="tabular"
+
+><colgroup id="TBL-32-1g"><col
+id="TBL-32-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-32-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\begin</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{NoHyper}</span></span></span>&#x2026;<span
+class="ec-lmvtt-10">\end</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{NoHyper}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1301--><p class="indent" > Sometimes we just don&#8217;t want the wretched package interfering with us. Define an environment we
+can put in manually, or include in a style file, which stops the hypertext functions doing anything.
+This is used, for instance, in the Elsevier classes, to stop <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperref</span></span></span> playing havoc in the front
+matter.
+
+
+<!--l. 1307--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
+ id="x1-150004.1"></a>Bookmark macros</h4>
+<!--l. 1309--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">4.1.1 </span> <a
+ id="x1-160004.1.1"></a>Setting bookmarks</h5>
+<!--l. 1311--><p class="noindent" >Usually <span
+class="ec-lmss-10">hyperref </span>automatically adds bookmarks for <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\section</span></span></span> and similar macros. But they can also set
+manually.
+<!--l. 1314--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-33" class="tabular"
+
+><colgroup id="TBL-33-1g"><col
+id="TBL-33-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-33-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\pdfbookmark</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">level</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span>text<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1317--><p class="indent" > creates a bookmark with the specified text and at the given level (default is 0). As name for the
+internal anchor name is used (in conjunction with level). Therefore the name must be unique (similar to
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\label</span></span></span>).
+<!--l. 1321--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-34" class="tabular"
+
+><colgroup id="TBL-34-1g"><col
+id="TBL-34-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-34-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\currentpdfbookmark</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1324--><p class="indent" > creates a bookmark at the current level.
+<!--l. 1326--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-35" class="tabular"
+
+><colgroup id="TBL-35-1g"><col
+id="TBL-35-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-35-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\subpdfbookmark</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1329--><p class="indent" > creates a bookmark one step down in the bookmark hierarchy. Internally the current level is increased
+by one.
+<!--l. 1332--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-36" class="tabular"
+
+><colgroup id="TBL-36-1g"><col
+id="TBL-36-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-36-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\belowpdfbookmark</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">name</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1335--><p class="indent" > creates a bookmark below the current bookmark level. However after the command the current
+bookmark level has not changed.
+<!--l. 1338--><p class="noindent" ><span
+class="ec-lmbx-10">Hint: </span>Package <span
+class="ec-lmss-10">bookmark </span>replaces <span
+class="ec-lmss-10">hyperref</span>&#8217;s bookmark organization by a new algorithm:
+ <ul class="itemize1">
+ <li class="itemize">Usually only one LaTeX&#x00A0;run is needed.
+ </li>
+ <li class="itemize">More control over the bookmark appearance (color, font).
+ </li>
+ <li class="itemize">Different bookmark actions are supported (external file links, URLs, &#x2026;).</li></ul>
+<!--l. 1346--><p class="noindent" >Therefore I recommend using this package.
+<!--l. 1348--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">4.1.2 </span> <a
+ id="x1-170004.1.2"></a>Replacement macros</h5>
+<!--l. 1350--><p class="noindent" ><span
+class="ec-lmss-10">hyperref </span>takes the text for bookmarks from the arguments of commands like <span
+class="ec-lmvtt-10">\section</span>, which can
+contain things like math, colors, or font changes, none of which will display in bookmarks as
+is.
+
+
+<!--l. 1354--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-37" class="tabular"
+
+><colgroup id="TBL-37-1g"><col
+id="TBL-37-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-37-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\texorpdfstring</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">TeXstring</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">PDFstring</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1358--><p class="indent" > For example,
+
+
+ <pre class="verbatim" id="verbatim-18">
+\section{Pythagoras:
+&#x00A0;&#x00A0;\texorpdfstring{$&#x00A0;a^2&#x00A0;+&#x00A0;b^2&#x00A0;=&#x00A0;c^2&#x00A0;$}{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;a\texttwosuperior\&#x00A0;+&#x00A0;b\texttwosuperior\&#x00A0;=
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;c\texttwosuperior
+&#x00A0;&#x00A0;}%
+}
+\section{\texorpdfstring{\textcolor{red}}{}{Red}&#x00A0;Mars}
+</pre>
+<!--l. 1367--><p class="nopar" >
+<!--l. 1369--><p class="indent" > <span
+class="ec-lmvtt-10">\pdfstringdef </span>executes the hook before it expands the string. Therefore, you can use this hook to
+perform additional tasks or to disable additional commands.
+
+
+ <pre class="verbatim" id="verbatim-19">
+\expandafter\def\expandafter\pdfstringdefPreHook
+\expandafter{%
+&#x00A0;&#x00A0;\pdfstringdefPreHook
+&#x00A0;&#x00A0;\renewcommand{\mycommand}[1]{}%
+}
+</pre>
+<!--l. 1379--><p class="nopar" >
+<!--l. 1381--><p class="indent" > However, for disabling commands, an easier way is via <span
+class="ec-lmvtt-10">\pdfstringdefDisableCommands</span>, which adds
+its argument to the definition of <span
+class="ec-lmvtt-10">\pdfstringdefPreHook </span>(&#8216;@&#8217; can here be used as letter in command
+names):
+
+
+ <pre class="verbatim" id="verbatim-20">
+\pdfstringdefDisableCommands{%
+&#x00A0;&#x00A0;\let~\textasciitilde
+&#x00A0;&#x00A0;\def\url{\pdfstringdefWarn\url}%
+&#x00A0;&#x00A0;\let\textcolor\@gobble
+}
+</pre>
+<!--l. 1392--><p class="nopar" >
+<!--l. 1394--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
+ id="x1-180004.2"></a>Pagelabels</h4>
+<!--l. 1395--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-38" class="tabular"
+
+><colgroup id="TBL-38-1g"><col
+id="TBL-38-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-38-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\thispdfpagelabel</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">page number format</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1399--><p class="noindent" >This allows to change format of the page number shown in the tool bar of a PDF viewer for a specific
+page, for example
+<!--l. 1402--><p class="indent" > <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\thispdfpagelabel{Empty</span><span
+class="ec-lmvtt-10">&#x00A0;Page-\roman{page}}</span></span></span>
+<!--l. 1404--><p class="indent" > The command affects the page on which it is executed, so asynchronous page breaking should be
+taken into account. It should be used in places where for example <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\thispagestyle</span></span></span> can be use
+too.
+<!--l. 1407--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a
+ id="x1-190004.3"></a>Utility macros</h4>
+<!--l. 1410--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-39" class="tabular"
+
+><colgroup id="TBL-39-1g"><col
+id="TBL-39-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-39-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\hypercalcbp</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">dimen specification</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 1413--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypercalcbp</span></span></span> takes a TeX&#x00A0;dimen specification and converts it to bp and returns the number
+without the unit. This is useful for options <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pdfview</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pdfstartview</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pdfremotestartview</span></span></span>.
+Example:
+ <blockquote class="quote">
+
+
+ <pre class="verbatim" id="verbatim-21">
+\hypersetup{
+&#x00A0;&#x00A0;pdfstartview={FitBH&#x00A0;\hypercalcbp{\paperheight-\topmargin-1in
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;-\headheight-\headsep}
+}
+</pre>
+ <!--l. 1425--><p class="nopar" ></blockquote>
+<!--l. 1427--><p class="noindent" >The origin of the PDF coordinate system is the lower left corner.
+<!--l. 1429--><p class="indent" > Note, for calculations you need either package <span
+class="ec-lmss-10">calc </span>or <span
+class="lmmi-10">&#x03B5;</span>-<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span>. Nowadays the latter should
+automatically be enabled for <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span> formats. Users without <span
+class="lmmi-10">&#x03B5;</span>-<span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span>, please, look in the source
+documentation <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperref.dtx</span></span></span> for further limitations.
+<!--l. 1435--><p class="indent" > Also <span
+class="ec-lmvtt-10">\hypercalcbp </span>cannot be used in option specifications of <span
+class="ec-lmvtt-10">\documentclass </span>and <span
+class="ec-lmvtt-10">\usepackage</span>,
+because <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span> expands the option lists of these commands. However package <span
+class="ec-lmss-10">hyperref </span>is not yet loaded
+and an undefined control sequence error would arise.
+<!--l. 1442--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">5 </span> <a
+ id="x1-200005"></a>New Features<span class="footnote-mark"><a
+href="manual5.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><a
+ id="x1-20001f4"></a> </h3>
+ <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
+ id="x1-210005.1"></a>Option &#8216;pdflinkmargin&#8217;</h4>
+<!--l. 1447--><p class="noindent" >Option &#8216;pdflinkmargin&#8217; is an experimental option for specifying a link margin, if the driver supports this.
+Default is 1 pt for supporting drivers.
+<!--l. 1452--><p class="indent" >
+ <dl class="description"><dt class="description">
+<span
+class="ec-lmbx-10">pdfTeX</span> </dt><dd
+class="description">
+ <ul class="itemize1">
+ <li class="itemize">The link area also depends on the surrounding box.
+ </li>
+ <li class="itemize">Settings have local effect.
+ </li>
+ <li class="itemize">When a page is shipped out, pdfTeX uses the current setting of the link margin for all
+ links on the page.</li></ul>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">pdfmark</span> </dt><dd
+class="description">
+ <ul class="itemize1">
+ <li class="itemize">Settings have global effect.</li></ul>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">xetex</span> </dt><dd
+class="description">
+
+
+ <ul class="itemize1">
+ <li class="itemize">Settings must be done in the preamble or the first page and then have global effect.
+ The key inserts the new (x)dvipdfmx special <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special{dvipdfmx:config</span><span
+class="ec-lmvtt-10">&#x00A0;g</span><span
+class="ec-lmvtt-10">&#x00A0;#1}</span></span></span> (with
+ the unit removed).</li></ul>
+ </dd><dt class="description">
+<span
+class="ec-lmbx-10">Other drivers</span> </dt><dd
+class="description">Unsupported.</dd></dl>
+<!--l. 1477--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
+ id="x1-220005.2"></a>Field option &#8216;calculatesortkey&#8217;</h4>
+<!--l. 1479--><p class="noindent" >Fields with calculated values are calculated in document order by default. If calculated field values
+depend on other calculated fields that appear later in the document, then the correct calculation order
+can be specified with option &#8216;calculatesortkey&#8217;. Its value is used as key to lexicographically sort the
+calculated fields. The sort key do not need to be unique. Fields that share the same key are sorted in
+document order.
+<!--l. 1489--><p class="indent" > Currently the field option &#8216;calculatesortkey&#8217; is only supported by the driver for pdfTeX.
+<!--l. 1493--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
+ id="x1-230005.3"></a>Option &#8216;localanchorname&#8217;</h4>
+<!--l. 1495--><p class="noindent" >When an anchor is set (e.g. via <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\refstepcounter</span></span></span>, then the anchor name is globally set to the current
+anchor name.
+<!--l. 1499--><p class="indent" > For example:
+
+
+ <pre class="verbatim" id="verbatim-22">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\section{Foobar}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\begin{equation}\end{equation}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\label{sec:foobar}
+</pre>
+<!--l. 1504--><p class="nopar" > With the default global setting (localanchorname=false) a reference to &#8216;sec:foobar&#8217; jumps to the
+equation before. With option &#8216;localanchorname&#8217; the anchor of the equation is forgotten after the
+environment and the reference &#8216;sec:foobar&#8217; jumps to the section title.
+<!--l. 1512--><p class="indent" > Option &#8216;localanchorname&#8217; is an experimental option, there might be situations, where the anchor
+name is not available as expected.
+<!--l. 1517--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a
+ id="x1-240005.4"></a>Option &#8216;customdriver&#8217;</h4>
+<!--l. 1519--><p class="noindent" >The value of option &#8216;customdriver&#8217; is the name of an external driver file without extension &#8216;.def&#8217;. The file
+must have <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ProvidesFile</span></span></span> with a version date and number that match the date and number of &#8216;hyperref&#8217;,
+otherwise a warning is given.
+<!--l. 1524--><p class="indent" > Because the interface, what needs to be defined in the driver, is not well defined and
+quite messy, the option is mainly intended to ease developing, testing, debugging the driver
+part.
+<!--l. 1529--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.5 </span> <a
+ id="x1-250005.5"></a>Option &#8216;psdextra&#8217;</h4>
+<!--l. 1531--><p class="noindent" >LaTeX&#8217;s NFSS is used to assist the conversion of arbitrary TeX strings to PDF strings (bookmarks, PDF
+information entries). Many math command names (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\geq</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\notin</span></span></span>, ...) are not in control of NFSS,
+therefore they are defined with prefix &#8216;text&#8217; (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\textgeq</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\textnotin</span></span></span>, ...). They can be mapped to short
+names during the processing to PDF strings. The disadvantage is that they are many hundreds macros
+that need to be redefined for each PDF string conversion. Therefore this can be enabled or disabled
+as option &#8216;psdextra&#8217;. On default the option is turned off (set to &#8216;false&#8217;). Turning the option
+on means that the short names are available. Then <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\geq</span></span></span> can directly be used instead of
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\textgeq</span></span></span>.
+<!--l. 1545--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.6 </span> <a
+ id="x1-260005.6"></a>\XeTeXLinkBox</h4>
+<!--l. 1547--><p class="noindent" >When XeTeX generates a link annotation, it does not look at the boxes (as the other drivers), but only
+at the character glyphs. If there are no glyphs (images, rules, ...), then it does not generate a link
+annotation. Macro <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\XeTeXLinkBox</span></span></span> puts its argument in a box and adds spaces at the lower left and
+upper right corners. An additional margin can be specified by setting it to the dimen register
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\XeTeXLinkMargin</span></span></span>. The default is 2pt.
+<!--l. 1556--><p class="indent" > Example:
+
+
+ <pre class="verbatim" id="verbatim-23">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;%&#x00A0;xelatex
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\documentclass{article}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\setlength{\XeTeXLinkMargin}{1pt}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\begin{document}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\section{Hello&#x00A0;World}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newpage
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\label{sec:hello}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hyperref[sec:hello]{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\XeTeXLinkBox{\rule{10mm}{10mm}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\end{document}
+</pre>
+<!--l. 1572--><p class="nopar" >
+<!--l. 1574--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.7 </span> <a
+ id="x1-270005.7"></a>\IfHyperBooleanExists and \IfHyperBoolean</h4>
+
+
+ <pre class="verbatim" id="verbatim-24">
+&#x00A0;\IfHyperBooleanExists{OPTION}{YES}{NO}
+</pre>
+<!--l. 1577--><p class="nopar" > If a hyperref OPTION is a boolean, that means it takes values &#8216;true&#8217; or &#8216;false&#8217;, then <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\IfHyperBooleanExists</span></span></span>
+calls YES, otherwise NO.
+
+
+ <pre class="verbatim" id="verbatim-25">
+&#x00A0;\IfHyperBoolean{OPTION}{YES}{NO}
+</pre>
+<!--l. 1584--><p class="nopar" > Macro <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\IfHyperBoolean</span></span></span> calls YES, if OPTION exists as boolean and is enabled. Otherwise NO is
+executed.
+<!--l. 1590--><p class="indent" > Both macros are expandable. Additionally option &#8216;stoppedearly&#8217; is available. It is enabled if
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\MaybeStopEarly</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\MaybeStopNow</span></span></span> end hyperref prematurely.
+<!--l. 1595--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.8 </span> <a
+ id="x1-280005.8"></a>\unichar</h4>
+<!--l. 1597--><p class="noindent" >If a Unicode character is not supported by puenc.def, it can be given by using <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\unichar</span></span></span>. Its name
+and syntax is inherited from package &#8216;ucs&#8217;. However it is defined independently for use in
+hyperref&#8217;s <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\pdfstringdef</span></span></span> (that converts arbitrary TeX code to PDF strings or tries to do
+this).
+<!--l. 1605--><p class="indent" > Macro <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\unichar</span></span></span> takes a TeX number as argument, examples for U+263A (WHITE SMILING
+FACE):
+
+
+ <pre class="verbatim" id="verbatim-26">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\unichar{"263A}%&#x00A0;hexadecimal&#x00A0;notation
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\unichar{9786}%&#x00A0;decimal&#x00A0;notation
+</pre>
+<!--l. 1610--><p class="nopar" > &#8216;"&#8217; must not be a babel shorthand character or otherwise active. Otherwise prefix it with
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\string</span></span></span>:
+
+
+ <pre class="verbatim" id="verbatim-27">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\unichar{\string"263A}%&#x00A0;converts&#x00A0;&#8216;"&#8217;&#x00A0;to&#x00A0;&#8216;"&#8217;&#x00A0;with&#x00A0;catcode&#x00A0;12&#x00A0;(other)
+</pre>
+<!--l. 1615--><p class="nopar" > Users of (n)german packages or babel options may use <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\dq</span></span></span> instead:
+
+
+ <pre class="verbatim" id="verbatim-28">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\unichar{\dq&#x00A0;263A}%&#x00A0;\dq&#x00A0;is&#x00A0;double&#x00A0;quote&#x00A0;with&#x00A0;catcode&#x00A0;12&#x00A0;(other)
+</pre>
+<!--l. 1619--><p class="nopar" >
+<!--l. 1622--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.9 </span> <a
+ id="x1-290005.9"></a>\ifpdfstringunicode</h4>
+<!--l. 1624--><p class="noindent" >Some features of the PDF specification needs PDF strings. Examples are bookmarks or the entries in the
+information dictionary. The PDF specification allows two encodings &#8216;PDFDocEncoding&#8217; (8-bit encoding)
+and &#8216;Unicode&#8217; (UTF-16). The user can help using <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\texorpdfstring</span></span></span> to replace complicate TeX constructs
+by a representation for the PDF string. However <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\texorpdfstring</span></span></span> does not distinguish the two encodings.
+This gap closes <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ifpdfstringunicode</span></span></span>. It is only allowed in the second argument of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\texorpdfstring</span></span></span> and
+takes two arguments, the first allows the full range of Unicode. The second is limited to the characters
+available in PDFDocEncoding.
+<!--l. 1638--><p class="indent" > As example we take a macro definition for the Vietnamese name of Han The Thanh. Correctly
+written it needs some accented characters, one character even with a double accent. Class &#8216;tugboat.cls&#8217;
+defines a macro for the typesetted name:
+
+
+ <pre class="verbatim" id="verbatim-29">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\def\Thanh{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;H\&#8216;an~%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Th\^e\llap{\raise&#x00A0;0.5ex\hbox{\&#8217;{}}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;~Th\&#8216;anh%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+</pre>
+<!--l. 1648--><p class="nopar" > It&#8217;s not entirely correct, the second accent over the &#8216;e&#8217; is not an acute, but a hook. However standard
+LaTeX does not provide such an accent.
+<!--l. 1653--><p class="indent" > Now we can extend the definition to support hyperref. The first and the last word are already
+supported automatically. Characters with two or more accents are a difficult business in LaTeX, because
+the NFSS2 macros of the LaTeX kernel do not support more than one accent. Therefore also puenc.def
+misses support for them. But we can provide it using <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\unichar</span></span></span>. The character in question
+is:
+
+
+ <pre class="verbatim" id="verbatim-30">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;%&#x00A0;U+1EC3&#x00A0;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;E&#x00A0;WITH&#x00A0;CIRCUMFLEX&#x00A0;AND&#x00A0;HOOK&#x00A0;ABOVE
+</pre>
+<!--l. 1662--><p class="nopar" > Thus we can put this together:
+
+
+ <pre class="verbatim" id="verbatim-31">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\def\Thanh{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;H\&#8216;an~%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\texorpdfstring{Th\^e\llap{\raise&#x00A0;0.5ex\hbox{\&#8217;{}}}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;{\ifpdfstringunicode{Th\unichar{"1EC3}}{Th\^e}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;~Th\&#8216;anh%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+</pre>
+<!--l. 1671--><p class="nopar" > For PDFDocEncoding (PD1) the variant above has dropped the second accent. Alternatively we could
+provide a representation without accents instead of wrong accents:
+
+
+ <pre class="verbatim" id="verbatim-32">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\def\Thanh{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\texorpdfstring{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;H\&#8216;an~%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Th\^e\llap{\raise&#x00A0;0.5ex\hbox{\&#8217;{}}}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;~Th\&#8216;anh%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\ifpdfstringunicode{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;H\&#8216;an&#x00A0;Th\unichar{"1EC3}&#x00A0;Th\&#8216;anh%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Han&#x00A0;The&#x00A0;Thanh%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+</pre>
+<!--l. 1689--><p class="nopar" >
+<!--l. 1691--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.10 </span> <a
+ id="x1-300005.10"></a>Customizing index style file with \nohyperpage</h4>
+<!--l. 1693--><p class="noindent" >Since version 2008/08/14&#x00A0;v6.78f.
+<!--l. 1697--><p class="indent" > For hyperlink support in the index, hyperref inserts <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> into the index macros. After
+processing with Makeindex, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> analyzes its argument to detect page ranges and page comma
+lists. However, only the standard settings are supported directly:
+
+
+ <pre class="verbatim" id="verbatim-33">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;delim_r&#x00A0;"--"
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;delim_n&#x00A0;",&#x00A0;"
+</pre>
+<!--l. 1704--><p class="nopar" > (See manual page/documentation of Makeindex that explains the keys that can be used in style files for
+Makeindex.) Customized versions of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">delim_r,</span><span
+class="ec-lmvtt-10">&#x00A0;delim_n,</span><span
+class="ec-lmvtt-10">&#x00A0;suffix_2p,</span><span
+class="ec-lmvtt-10">&#x00A0;suffix_3p,</span><span
+class="ec-lmvtt-10">&#x00A0;suffix_mp</span></span></span> needs
+markup that <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> can detect and knows that this stuff does not belong to a page number. Makro
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\nohyperpage</span></span></span> serves as this markup. Put the customized code for these keys inside <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\nohyperpage</span></span></span>,
+e.g.:
+
+
+ <pre class="verbatim" id="verbatim-34">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;suffix_2p&#x00A0;"\\nohyperpage{f.}"
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;suffix_3p&#x00A0;"\\nohyperpage{ff.}"
+</pre>
+<!--l. 1716--><p class="nopar" > (Depending on the typesetting tradition some space &#8220;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\\</span></span></span>,&#8221; or &#8220;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">~</span></span></span>&#8221; should be put before the first f inside
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\nohyperpage</span></span></span>.)
+<!--l. 1721--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.11 </span> <a
+ id="x1-310005.11"></a>Experimental option &#8216;ocgcolorlinks&#8217;</h4>
+<!--l. 1723--><p class="noindent" >The idea are colored links, when viewed, but printed without colors. This new experimental option
+&#8216;ocgcolorlinks&#8217; uses Optional Content Groups, a feature introduced in PDF 1.5.
+<!--l. 1727--><p class="indent" > A better implementation which hasn&#8217;t the disadvantage to prevent line breaks is in the ocgx2
+package. Check its documentation for details how to use it.
+ <ul class="itemize1">
+ <li class="itemize">The option must be given for package loading: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\usepackage[ocgcolorlinks]{hyperref}</span></span></span>
+ </li>
+ <li class="itemize">Main disadvantage: Links cannot be broken across lines. PDF reference 1.7: 4.10.2 &#8220;Making
+ Graphical Content Optional&#8221;: Graphics state operations, such as setting the color, ..., are
+ still applied. Therefore the link text is put in a box and set twice, with and without color.
+ </li>
+ <li class="itemize">The feature can be switched of by <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypersetup{ocgcolorlinks=false}</span></span></span> inside the document.
+ </li>
+ <li class="itemize">Supported drivers: pdftex, dvipdfm
+ </li>
+ <li class="itemize">The PDF version should be at least 1.5. It is automatically set for pdfTeX, LuaTeX and
+ dvipdfmx.</li></ul>
+<!--l. 1745--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.12 </span> <a
+ id="x1-320005.12"></a>Option &#8216;pdfa&#8217;</h4>
+<!--l. 1747--><p class="noindent" >The new option &#8216;pdfa&#8217; tries to avoid violations of PDF/A in code generated by hyperref. However, the
+result is usually not in PDF/A, because many features aren&#8217;t controlled by hyperref (XMP metadata,
+fonts, colors, driver dependend low level stuff, ...).
+<!--l. 1754--><p class="indent" > Currently, option &#8216;pdfa&#8217; sets and disables the following items:
+ <ul class="itemize1">
+ <li class="itemize">Enabled annotation flags: Print, NoZoom, NoRotate [PDF/A 6.5.3].
+ </li>
+ <li class="itemize">Disabled annotation flags: Hidden, Invisible, NoView [PDF/A 6.5.3].
+ </li>
+ <li class="itemize">Disabled: Launch action (<a
+href="run:..." >[</a>PDF/A 6.6.1].
+ </li>
+ <li class="itemize">Restricted: Named actions (NextPage, PrevPage, FirstPage, LastPage) [PDF/A 6.6.1].
+
+ </li>
+ <li class="itemize">Many things are disabled in PDF formulars:
+ <ul class="itemize2">
+ <li class="itemize">JavaScript actions [PDF/A 6.6.1]
+ </li>
+ <li class="itemize">Trigger events (additional actions) [PDF/A 6.6.2]
+ </li>
+ <li class="itemize">Push button (because of JavaScript)
+ </li>
+ <li class="itemize">Interactive Forms: Flag NeedAppearances is the default &#8216;false&#8217; (Because of this,
+ hyperref&#8217;s implementation of Forms looks ugly). [PDF/A 6.9]</li></ul>
+ </li></ul>
+<!--l. 1774--><p class="indent" > The default value of the new option &#8216;pdfa&#8217; is &#8216;false&#8217;. It influences the loading of the package and
+cannot be changed after hyperref is loaded (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\usepackage{hyperref}</span></span></span>).
+<!--l. 1780--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.13 </span> <a
+ id="x1-330005.13"></a>Option &#8216;linktoc&#8217; added</h4>
+<!--l. 1782--><p class="noindent" >The new option &#8216;linktoc&#8217; allows more control which part of an entry in the table of contents is made into
+a link:
+ <ul class="itemize1">
+ <li class="itemize">&#8216;linktoc=none&#8217; (no links)
+ </li>
+ <li class="itemize">&#8216;linktoc=section&#8217; (default behaviour, same as &#8216;linktocpage=false&#8217;)
+ </li>
+ <li class="itemize">&#8216;linktoc=page&#8217; (same as &#8216;linktocpage=true&#8217;)
+ </li>
+ <li class="itemize">&#8216;linktoc=all&#8217; (both the section and page part are links)</li></ul>
+<!--l. 1791--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.14 </span> <a
+ id="x1-340005.14"></a>Option &#8216;pdfnewwindow&#8217; changed</h4>
+<!--l. 1793--><p class="noindent" >Before 6.77b:
+ <ul class="itemize1">
+ <li class="itemize">pdfnewwindow=true <span
+class="lmsy-10">&#x2192; </span>/NewWindow true
+ </li>
+ <li class="itemize">pdfnewwindow=false <span
+class="lmsy-10">&#x2192; </span>(absent)
+ </li>
+ <li class="itemize">unused pdfnewwindow <span
+class="lmsy-10">&#x2192; </span>(absent)</li></ul>
+<!--l. 1799--><p class="noindent" >Since 6.77b:
+ <ul class="itemize1">
+ <li class="itemize">pdfnewwindow=true <span
+class="lmsy-10">&#x2192; </span>/NewWindow true
+
+ </li>
+ <li class="itemize">pdfnewwindow=false <span
+class="lmsy-10">&#x2192; </span>/NewWindow false
+ </li>
+ <li class="itemize">pdfnewwindow= <span
+class="lmsy-10">&#x2192; </span>(absent)
+ </li>
+ <li class="itemize">unused pdfnewwindow <span
+class="lmsy-10">&#x2192; </span>(absent)</li></ul>
+<!--l. 1809--><p class="indent" > Rationale: There is a difference between setting to &#8216;false&#8217; and an absent entry. In the former case the
+new document replaces the old one, in the latter case the PDF viewer application should respect the user
+preference.
+<!--l. 1815--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.15 </span> <a
+ id="x1-350005.15"></a>Flag options for PDF forms</h4>
+<!--l. 1817--><p class="noindent" >PDF form field macros (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\TextField</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\CheckBox</span></span></span>, ...) support boolean flag options. The option name is
+the lowercase version of the names in the PDF specification (1.7):
+<!--l. 1821--><p class="indent" > <a
+href="http://www.adobe.com/devnet/pdf/pdf_reference.html" class="url" ><span
+class="ec-lmvtt-10">http://www.adobe.com/devnet/pdf/pdf_reference.html</span></a>
+<!--l. 1823--><p class="indent" > <a
+href="http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf" class="url" ><span
+class="ec-lmvtt-10">http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf</span></a>
+<!--l. 1825--><p class="indent" > Options (convert to lowercase) except flags in square brackets:
+ <ul class="itemize1">
+ <li class="itemize">Table 8.16 Annotation flags (page 608):
+ <!--l. 1830--><p class="noindent" ><div class="obeylines-v">
+ 1 Invisible
+ <br />2 Hidden (PDF 1.2)
+ <br />3 Print (PDF 1.2)
+ <br />4 NoZoom (PDF 1.3)
+ <br />5 NoRotate (PDF 1.3)
+ <br />6 NoView (PDF 1.3)
+ <br />[7 ReadOnly (PDF 1.3)] ignored for widget annotations, see table 8.70
+ <br />8 Locked (PDF 1.4)
+ <br />9 ToggleNoView (PDF 1.5)
+ <br />10 LockedContents (PDF 1.7)</div>
+ </li>
+ <li class="itemize">Table 8.70 Field flags common to all field types (page 676):
+ <!--l. 1844--><p class="noindent" ><div class="obeylines-v">
+ 1 ReadOnly
+ <br />2 Required
+ <br />3 NoExport</div>
+ </li>
+ <li class="itemize">Table 8.75 Field flags specific to button fields (page 686):
+ <!--l. 1851--><p class="noindent" ><div class="obeylines-v">
+ 15 NoToggleToOff (Radio buttons only)
+
+ <br />16 Radio (set: radio buttons, clear: check box, pushbutton: clear)
+ <br />17 Pushbutton
+ <br />26 RadiosInUniso (PDF 1.5)</div>
+ </li>
+ <li class="itemize">Table 8.77 Field flags specific to text fields (page 691):
+ <!--l. 1859--><p class="noindent" ><div class="obeylines-v">
+ 13 Multiline
+ <br />14 Password
+ <br />21 FileSelect (PDF 1.4)
+ <br />23 DoNotSpellCheck (PDF 1.4)
+ <br />24 DoNotScroll (PDF 1.4)
+ <br />25 Comb (PDF 1.5)
+ <br />26 RichText (PDF 1.5)</div>
+ </li>
+ <li class="itemize">Table 8.79 Field flags specific to choice fields (page 693):
+ <!--l. 1870--><p class="noindent" ><div class="obeylines-v">
+ 18 Combo (set: combo box, clear: list box)
+ <br />19 Edit (only useful if Combo is set)
+ <br />20 (Sort) for authoring tools, not PDF viewers
+ <br />22 MultiSelect (PDF 1.4)
+ <br />23 DoNotSpellCheck (PDF 1.4) (only useful if Combo and Edit are set)
+ <br />27 CommitOnSelChange (PDF 1.5)</div>
+ </li>
+ <li class="itemize">Table 8.86 Flags for submit-form actions (page 704):
+ <!--l. 1880--><p class="noindent" ><div class="obeylines-v">
+ [1 Include/Exclude] unsupported, use &#8216;noexport&#8217; (table 8.70) instead
+ <br />2 IncludeNoValueFields
+ <br />[3 ExportFormat] handled by option &#8216;export&#8217;
+ <br />4 GetMethod
+ <br />5 SubmitCoordinates
+ <br />[6 XFDF (PDF 1.4)] handled by option &#8216;export&#8217;
+ <br />7 IncludeAppendSaves (PDF 1.4)
+ <br />8 IncludeAnnotations (PDF 1.4)
+ <br />[9 SubmitPDF (PDF 1.4)] handled by option &#8216;export&#8217;
+ <br />10 CanonicalFormat (PDF 1.4)
+ <br />11 ExclNonUserAnnots (PDF 1.4)
+ <br />12 ExclFKey (PDF 1.4)
+ <br />14 EmbedForm (PDF 1.5)</div>
+ </li></ul>
+
+
+<!--l. 1897--><p class="indent" > New option &#8216;export&#8217; sets the export format of a submit action. Valid values are (upper- or
+lowercase):
+ <ul class="itemize1">
+ <li class="itemize">FDF
+ </li>
+ <li class="itemize">HTML
+ </li>
+ <li class="itemize">XFDF
+ </li>
+ <li class="itemize">PDF (not supported by Acrobat Reader)</li></ul>
+<!--l. 1906--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.16 </span> <a
+ id="x1-360005.16"></a>Option &#8216;pdfversion&#8217;</h4>
+<!--l. 1908--><p class="noindent" >This is an experimental option. It notifies &#8216;hyperref&#8217; about the intended PDF version. Currently this is
+used in code for PDF forms (implementation notes 116 and 122 of PDF spec 1.7).
+<!--l. 1914--><p class="indent" > Values: 1.2, 1.3, 1.4, 1.5, 1.6, 1.7. Values below 1.2 are not supported, because most drivers expect
+higher PDF versions.
+<!--l. 1919--><p class="indent" > The option must be used early, not after <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\usepackage{hyperref}</span></span></span>.
+<!--l. 1922--><p class="indent" > In theory this option should also set the PDF version, but this is not generally supported.
+ <ul class="itemize1">
+ <li class="itemize">pdfTeX below 1.10a: unsupported. pdfTeX <span
+class="lmsy-10">&#x2265; </span>1.10a and &#x003C; 1.30: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\pdfoptionpdfminorversion</span></span></span>
+ pdfTeX <span
+class="lmsy-10">&#x2265; </span>1.30: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\pdfminorversion</span></span></span>
+ </li>
+ <li class="itemize">dvipdfm: configuration file, example: TeX Live 2007, texmf/dvipdfm/config/config, entry &#8216;V
+ 2&#8217;.
+ </li>
+ <li class="itemize">dvipdfmx: configuration file, example: TeX Live 2007, texmf/dvipdfm/dvipdfmx.cfg, entry
+ &#8216;V 4&#8217;.
+ </li>
+ <li class="itemize">Ghostscript: option -dCompatibilityLevel (this is set in &#8216;ps2pdf12&#8217;, &#8216;ps2pdf13&#8217;, &#8216;ps2pdf14&#8217;).</li></ul>
+<!--l. 1937--><p class="indent" > The current PDF version is used as default if this version can be detected (only pdfTeX <span
+class="lmsy-10">&#x2265; </span>1.10a).
+Otherwise the lowest version 1.2 is assumed. Thus &#8216;hyperref&#8217; tries to avoid PDF code that breaks this
+version, but is free to use ignorable higher PDF features.
+<!--l. 1944--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.17 </span> <a
+ id="x1-370005.17"></a>Field option &#8216;name&#8217;</h4>
+<!--l. 1946--><p class="noindent" >Many form objects uses the label argument for several purposes:
+ <ul class="itemize1">
+ <li class="itemize">Layouted label.
+ </li>
+ <li class="itemize">As name in HTML structures.</li></ul>
+
+
+<!--l. 1952--><p class="noindent" >Code that is suitable for layouting with TeX can break in the structures of the output format. If option
+&#8216;name&#8217; is given, then its value is used as name in the different output structures. Thus the value should
+consist of letters only.
+<!--l. 1959--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.18 </span> <a
+ id="x1-380005.18"></a>Option &#8216;pdfencoding&#8217;</h4>
+<!--l. 1961--><p class="noindent" >The PDF format allows two encodings for bookmarks and entries in the information dictionary:
+PDFDocEncoding and Unicode as UTF-16BE. Option <span
+class="ec-lmss-10">pdfencoding </span>selects between these
+encodings:
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmss-10">pdfdoc </span>uses PDFDocEncoding. It uses just one byte per character, but the supported
+ characters are limited (244 in PDF-1.7).
+ </li>
+ <li class="itemize"><span
+class="ec-lmss-10">unicode </span>sets Unicode. It is encoded as UTF-16BE. Two bytes are used for most characters,
+ surrogates need four bytes.
+ </li>
+ <li class="itemize"><span
+class="ec-lmss-10">auto </span>PDFDocEncoding if the string does not contain characters outside the encoding (outside
+ ascii if an unicode engine is used) and Unicode otherwise. This option is normally no suited
+ for the unicode engines.</li></ul>
+<!--l. 1974--><p class="indent" > All drivers use <span
+class="ec-lmss-10">unicode </span>by default now. If another encoding should be forced, it should be done in
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hypersetup</span></span></span>.
+<!--l. 1977--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.19 </span> <a
+ id="x1-390005.19"></a>Color options/package hycolor</h4>
+<!--l. 1979--><p class="noindent" >See documentation of package &#8216;hycolor&#8217;.
+<!--l. 1982--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.20 </span> <a
+ id="x1-400005.20"></a>Option pdfusetitle</h4>
+<!--l. 1984--><p class="noindent" >If option pdfusetitle is set then hyperref tries to derive the values for pdftitle and pdfauthor
+from <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\title</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\author</span></span></span>. An optional argument for <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\title</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\author</span></span></span> is supported (class
+amsart).
+<!--l. 1990--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.21 </span> <a
+ id="x1-410005.21"></a>Starred form of \autoref</h4>
+<!--l. 1992--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\autoref*</span></span></span> generates a reference without link as <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ref*</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\pageref*</span></span></span>.
+<!--l. 1995--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.22 </span> <a
+ id="x1-420005.22"></a>Link border style</h4>
+<!--l. 1997--><p class="noindent" >Links can be underlined instead of the default rectangle or options <span
+class="ec-lmss-10">colorlinks</span>, <span
+class="ec-lmss-10">frenchlinks</span>. This is done by
+option <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pdfborderstyle={/S/U/W</span><span
+class="ec-lmvtt-10">&#x00A0;1}</span></span></span>
+<!--l. 2001--><p class="indent" > Some remarks:
+
+
+ <ul class="itemize1">
+ <li class="itemize">AR7/Linux seems to have a bug, that don&#8217;t use the default value <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">1</span></span></span> for the width, but zero,
+ thus that the underline is not visible without <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">/W</span><span
+class="ec-lmvtt-10">&#x00A0;1</span></span></span>. The same applies for dashed boxes, eg.:
+ pdfborderstyle=/S/D/D[3 2]/W 1
+ </li>
+ <li class="itemize">The syntax is described in the PDF specification, look for &#8220;border style&#8221;, eg. Table 8.13
+ &#8220;Entries in a border style dictionary&#8221; (specification for version 1.6)
+ </li>
+ <li class="itemize">The border style is removed by pdfborderstyle= This is automatically done if option
+ colorlinks is enabled.
+ </li>
+ <li class="itemize">Be aware that not all PDF viewers support this feature, not even Acrobat Reader itself:
+ <!--l. 2022--><p class="noindent" >Some support:
+ <ul class="itemize2">
+ <li class="itemize">AR7/Linux: <span
+class="ec-lmss-10">underline </span>and <span
+class="ec-lmss-10">dashed</span>, but the border width must be given.
+ </li>
+ <li class="itemize">xpdf 3.00: <span
+class="ec-lmss-10">underline </span>and <span
+class="ec-lmss-10">dashed</span></li></ul>
+ <!--l. 2029--><p class="noindent" >Unsupported:
+ <ul class="itemize2">
+ <li class="itemize">AR5/Linux
+ </li>
+ <li class="itemize">ghostscript 8.50</li></ul>
+ </li></ul>
+<!--l. 2036--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.23 </span> <a
+ id="x1-430005.23"></a>Option <span
+class="ec-lmss-10">bookmarksdepth</span></h4>
+<!--l. 2038--><p class="noindent" >The depth of the bookmarks can be controlled by the new option <span
+class="ec-lmss-10">bookmarksdepth</span>. The option acts
+globally and distinguishes three cases:
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmss-10">bookmarksdepth </span>without value Then hyperref uses the current value of counter <span
+class="ec-lmss-10">tocdepth</span>.
+ This is the compatible behaviour and the default.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">bookmarksdepth=&#x003C;number&#x003E;</span></span></span>, the value is number (also negative): The depth for the
+ bookmarks are set to this number.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">bookmarksdepth=&#x003C;name&#x003E;</span></span></span> The &#x003C;name&#x003E; is a document division name (part, chapter, ...). It must
+ not start with a digit or minus to avoid mixing up with the number case. Internally hyperref uses
+ the value of macro <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\toclevel@&#x003C;name&#x003E;</span></span></span>. Examples:
+
+
+ <pre class="verbatim" id="verbatim-35">
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{bookmarksdepth=paragraph}
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{bookmarksdepth=4}&#x00A0;%&#x00A0;same&#x00A0;as&#x00A0;before
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{bookmarksdepth}&#x00A0;%&#x00A0;counter&#x00A0;"tocdepth"&#x00A0;is&#x00A0;used
+</pre>
+ <!--l. 2057--><p class="nopar" ></li></ul>
+<!--l. 2060--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.24 </span> <a
+ id="x1-440005.24"></a>Option <span
+class="ec-lmss-10">pdfescapeform</span></h4>
+<!--l. 2062--><p class="noindent" >There are many places where arbitrary strings end up as PS or PDF strings. The PS/PDF strings in
+parentheses form require the protection of some characters, e.g. unmatched left or right parentheses need
+escaping or the escape character itself (backslash). Since 2006/02/12&#x00A0;v6.75a the PS/PDF driver
+should do this automatically. However I assume a problem with compatibility, especially
+regarding the form part where larger amounts of JavaScript code can be present. It would
+be a pain to remove all the escaping, because an additional escaping layer can falsify the
+code.
+<!--l. 2074--><p class="indent" > Therefore a new option pdfescapeform was introduced:
+ <ul class="itemize1">
+ <li class="itemize">pdfescapeform=false Escaping for the formulars are disabled, this is the compatibility
+ behaviour, therefore this is the default.
+ </li>
+ <li class="itemize">pdfescapeform=true Then the PS/PDF drivers do all the necessary escaping. This is the
+ logical choice and the recommended setting. For example, the user writes JavaScript as
+ JavaScript and do not care about escaping characters for PS/PDF output.</li></ul>
+<!--l. 2087--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.25 </span> <a
+ id="x1-450005.25"></a>Default driver setting</h4>
+<!--l. 2089--><p class="noindent" >(hyperref <span
+class="lmsy-10">&#x2265; </span>6.72s) If no driver is given, hyperref tries its best to guess the most suitable
+driver. Thus it loads <span
+class="ec-lmss-10">hpdftex</span>, if pdfTeX is detected running in PDF mode. Or it loads the
+corresponding VTeX driver for VTeX&#8217;s working modes. Unhappily many driver programs run
+after the TeX compiler, so hyperref does not have a chance (dvips, dvipdfm, ...). In this
+case driver <span
+class="ec-lmss-10">hypertex </span>is loaded that supports the HyperTeX features that are recognized by
+xdvi for example. This behaviour, however, can easily be changed in the configuration file
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperref.cfg</span></span></span>:
+
+
+ <pre class="verbatim" id="verbatim-36">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\providecommand*{\Hy@defaultdriver}{hdvips}
+</pre>
+<!--l. 2102--><p class="nopar" > for dvips, or
+
+
+ <pre class="verbatim" id="verbatim-37">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\providecommand*{\Hy@defaultdriver}{hypertex}
+</pre>
+<!--l. 2106--><p class="nopar" > for the default behaviour of hyperref.
+<!--l. 2109--><p class="indent" > See also the new option &#8216;driverfallback&#8217;.
+<!--l. 2111--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.26 </span> <a
+ id="x1-460005.26"></a>Backref entries</h4>
+<!--l. 2113--><p class="noindent" >Alternative interface for formatting of backref entries, example:
+
+
+ <pre class="verbatim" id="verbatim-38">
+\documentclass[12pt,UKenglish]{article}
+
+\usepackage{babel}
+\usepackage[pagebackref]{hyperref}
+
+%&#x00A0;Some&#x00A0;language&#x00A0;options&#x00A0;are&#x00A0;detected&#x00A0;by&#x00A0;package&#x00A0;backref.
+%&#x00A0;This&#x00A0;affects&#x00A0;the&#x00A0;following&#x00A0;macros:
+%&#x00A0;&#x00A0;&#x00A0;\backrefpagesname
+%&#x00A0;&#x00A0;&#x00A0;\backrefsectionsname
+%&#x00A0;&#x00A0;&#x00A0;\backrefsep
+%&#x00A0;&#x00A0;&#x00A0;\backreftwosep
+%&#x00A0;&#x00A0;&#x00A0;\backreflastsep
+
+\renewcommand*{\backref}[1]{
+&#x00A0;&#x00A0;%&#x00A0;default&#x00A0;interface
+&#x00A0;&#x00A0;%&#x00A0;#1:&#x00A0;backref&#x00A0;list
+&#x00A0;&#x00A0;%
+&#x00A0;&#x00A0;%&#x00A0;We&#x00A0;want&#x00A0;to&#x00A0;use&#x00A0;the&#x00A0;alternative&#x00A0;interface,
+&#x00A0;&#x00A0;%&#x00A0;therefore&#x00A0;the&#x00A0;definition&#x00A0;is&#x00A0;empty&#x00A0;here.
+}
+\renewcommand*{\backrefalt}[4]{%
+&#x00A0;&#x00A0;%&#x00A0;alternative&#x00A0;interface
+&#x00A0;&#x00A0;%&#x00A0;#1:&#x00A0;number&#x00A0;of&#x00A0;distinct&#x00A0;back&#x00A0;references
+&#x00A0;&#x00A0;%&#x00A0;#2:&#x00A0;backref&#x00A0;list&#x00A0;with&#x00A0;distinct&#x00A0;entries
+&#x00A0;&#x00A0;%&#x00A0;#3:&#x00A0;number&#x00A0;of&#x00A0;back&#x00A0;references&#x00A0;including&#x00A0;duplicates
+&#x00A0;&#x00A0;%&#x00A0;#4:&#x00A0;backref&#x00A0;list&#x00A0;including&#x00A0;duplicates
+&#x00A0;&#x00A0;\par
+&#x00A0;&#x00A0;#3&#x00A0;citation(s)&#x00A0;on&#x00A0;#1&#x00A0;page(s):&#x00A0;#2,\par
+&#x00A0;&#x00A0;\ifnum#1=1&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\ifnum#3=1&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;1&#x00A0;citation&#x00A0;on&#x00A0;page&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\else
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;#3&#x00A0;citations&#x00A0;on&#x00A0;page&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\fi
+&#x00A0;&#x00A0;\else
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;#3&#x00A0;citations&#x00A0;on&#x00A0;#1&#x00A0;pages&#x00A0;%
+&#x00A0;&#x00A0;\fi
+&#x00A0;&#x00A0;#2,\par
+&#x00A0;&#x00A0;\ifnum#3=1&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;1&#x00A0;citation&#x00A0;located&#x00A0;at&#x00A0;page&#x00A0;%
+&#x00A0;&#x00A0;\else
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;#3&#x00A0;citations&#x00A0;located&#x00A0;at&#x00A0;pages&#x00A0;%
+&#x00A0;&#x00A0;\fi
+&#x00A0;&#x00A0;#4.\par
+}
+
+%&#x00A0;The&#x00A0;list&#x00A0;of&#x00A0;distinct&#x00A0;entries&#x00A0;can&#x00A0;be&#x00A0;further&#x00A0;refined:
+\renewcommand*{\backrefentrycount}[2]{%
+
+
+&#x00A0;&#x00A0;%&#x00A0;#1:&#x00A0;the&#x00A0;original&#x00A0;backref&#x00A0;entry
+&#x00A0;&#x00A0;%&#x00A0;#2:&#x00A0;the&#x00A0;count&#x00A0;of&#x00A0;citations&#x00A0;of&#x00A0;this&#x00A0;entry,
+&#x00A0;&#x00A0;%&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;in&#x00A0;case&#x00A0;of&#x00A0;duplicates&#x00A0;greater&#x00A0;than&#x00A0;one
+&#x00A0;&#x00A0;#1%
+&#x00A0;&#x00A0;\ifnum#2&#x003E;1&#x00A0;%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;~(#2)%
+&#x00A0;&#x00A0;\fi
+}
+
+\begin{document}
+
+&#x00A0;&#x00A0;\section{Hello}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\cite{ref1,&#x00A0;ref2,&#x00A0;ref3,&#x00A0;ref4}
+&#x00A0;&#x00A0;\section{World}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\cite{ref1,&#x00A0;ref3}
+&#x00A0;&#x00A0;\newpage
+
+&#x00A0;&#x00A0;\section{Next&#x00A0;section}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\cite{ref1}
+&#x00A0;&#x00A0;\newpage
+
+&#x00A0;&#x00A0;\section{Last&#x00A0;section}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\cite{ref1,&#x00A0;ref2}
+&#x00A0;&#x00A0;\newpage
+
+&#x00A0;&#x00A0;\pdfbookmark[1]{Bibliography}{bib}
+&#x00A0;&#x00A0;\begin{thebibliography}{99}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\bibitem{ref1}&#x00A0;Dummy&#x00A0;entry&#x00A0;one.
+
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\bibitem{ref2}&#x00A0;Dummy&#x00A0;entry&#x00A0;two.
+
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\bibitem{ref3}&#x00A0;Dummy&#x00A0;entry&#x00A0;three.
+
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\bibitem{ref4}&#x00A0;Dummy&#x00A0;entry&#x00A0;four.
+
+&#x00A0;&#x00A0;\end{thebibliography}
+
+\end{document}
+</pre>
+<!--l. 2202--><p class="nopar" >
+<!--l. 2204--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.27 </span> <a
+ id="x1-470005.27"></a>\phantomsection</h4>
+<!--l. 2206--><p class="noindent" >Set an anchor at this location. It is often used in conjunction with <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\addcontentsline</span></span></span> for sectionlike things
+(index, bibliography, preface). <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\addcontentsline</span></span></span> refers to the latest previous location where an anchor is
+set.
+
+
+ <pre class="verbatim" id="verbatim-39">
+&#x00A0;&#x00A0;\cleardoublepage
+&#x00A0;&#x00A0;\phantomsection
+&#x00A0;&#x00A0;\addcontentsline{toc}{chapter}{\indexname}
+&#x00A0;&#x00A0;\printindex
+</pre>
+<!--l. 2216--><p class="nopar" >
+<!--l. 2218--><p class="indent" > Now the entry in the table of contents (and bookmarks) for the index points to the start of the index
+page, not to a location before this page.
+<!--l. 2224--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">6 </span> <a
+ id="x1-480006"></a>Acrobat-specific behavior</h3>
+<!--l. 2225--><p class="noindent" >If you want to access the menu options of Acrobat Reader or Exchange, the following macro is provided
+in the appropriate drivers:
+<!--l. 2228--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-40" class="tabular"
+
+><colgroup id="TBL-40-1g"><col
+id="TBL-40-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-40-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\Acrobatmenu</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">menuoption</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2232--><p class="noindent" >The <span
+class="ec-lmri-10">text </span>is used to create a button which activates the appropriate <span
+class="ec-lmri-10">menuoption</span>. The following table lists
+the option names you can use&#8212;comparison of this with the menus in Acrobat Reader or Exchange will
+show what they do. Obviously some are only appropriate to Exchange.
+<a
+ id="x1-48001r13"></a> <!--l. 2236--><div class="longtable"> <table id="TBL-41" class="longtable"
+
+><colgroup id="TBL-41-1g"><col
+id="TBL-41-1"><col
+id="TBL-41-2"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-41-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-1-1"
+class="td01">File </td><td style="white-space:normal; text-align:left;" id="TBL-41-1-2"
+class="td10">
+ <!--l. 2236--><p class="noindent" >Open,
+ Close,
+ Scan,
+ Save,
+ SaveAs,
+ Optimizer:SaveAsOpt,
+ Print,
+ PageSetup,
+ Quit </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-2-1"
+class="td01">File<span
+class="lmsy-10">&#x2192;</span>Import </td><td style="white-space:normal; text-align:left;" id="TBL-41-2-2"
+class="td10">
+ <!--l. 2237--><p class="noindent" >ImportImage,
+ ImportNotes,
+ AcroForm:ImportFDF </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-3-1"
+class="td01">File<span
+class="lmsy-10">&#x2192;</span>Export </td><td style="white-space:normal; text-align:left;" id="TBL-41-3-2"
+class="td10">
+ <!--l. 2238--><p class="noindent" >ExportNotes,
+ AcroForm:ExportFDF </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-4-1"
+class="td01">File<span
+class="lmsy-10">&#x2192;</span>DocumentInfo </td><td style="white-space:normal; text-align:left;" id="TBL-41-4-2"
+class="td10">
+ <!--l. 2239--><p class="noindent" >GeneralInfo,
+ OpenInfo,
+ FontsInfo,
+ SecurityInfo,
+ Weblink:Base,
+ AutoIndex:DocInfo </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-5-1"
+class="td01">File<span
+class="lmsy-10">&#x2192;</span>Preferences </td><td style="white-space:normal; text-align:left;" id="TBL-41-5-2"
+class="td10">
+ <!--l. 2240--><p class="noindent" >GeneralPrefs,
+ NotePrefs,
+ FullScreenPrefs,
+ Weblink:Prefs,
+ AcroSearch:Preferences(Windows)
+ or,
+ AcroSearch:Prefs(Mac),
+ Cpt:Capture </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-6-1"
+class="td01">Edit </td><td style="white-space:normal; text-align:left;" id="TBL-41-6-2"
+class="td10">
+ <!--l. 2242--><p class="noindent" >Undo,
+ Cut,
+ Copy,
+ Paste,
+ Clear,
+ SelectAll,
+ Ole:CopyFile,
+ TouchUp:TextAttributes,
+ TouchUp:FitTextToSelection,
+ TouchUp:ShowLineMarkers,
+ TouchUp:ShowCaptureSuspects,
+ TouchUp:FindSuspect, </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-7-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-41-7-2"
+class="td10">
+ <!--l. 2245--><p class="noindent" >Properties </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-8-1"
+class="td01">Edit<span
+class="lmsy-10">&#x2192;</span>Fields </td><td style="white-space:normal; text-align:left;" id="TBL-41-8-2"
+class="td10">
+ <!--l. 2246--><p class="noindent" >AcroForm:Duplicate,
+ AcroForm:TabOrder </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-9-1"
+class="td01">Document </td><td style="white-space:normal; text-align:left;" id="TBL-41-9-2"
+class="td10">
+ <!--l. 2247--><p class="noindent" >Cpt:CapturePages,
+ AcroForm:Actions,
+ CropPages,
+ RotatePages,
+ InsertPages,
+ ExtractPages,
+ ReplacePages,
+ DeletePages,
+ NewBookmark,
+ SetBookmarkDest,
+ CreateAllThumbs,
+ DeleteAllThumbs </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-10-1"
+class="td01">View </td><td style="white-space:normal; text-align:left;" id="TBL-41-10-2"
+class="td10">
+ <!--l. 2250--><p class="noindent" >ActualSize,
+ FitVisible,
+ FitWidth,
+ FitPage,
+ ZoomTo,
+ FullScreen,
+ FirstPage,
+ PrevPage,
+ NextPage,
+ LastPage,
+ GoToPage,
+ GoBack,
+ GoForward,
+ SinglePage,
+ OneColumn,
+ TwoColumns,
+ ArticleThreads,
+ PageOnly,
+ ShowBookmarks,
+ ShowThumbs </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-11-1"
+class="td01">Tools </td><td style="white-space:normal; text-align:left;" id="TBL-41-11-2"
+class="td10">
+ <!--l. 2253--><p class="noindent" >Hand,
+ ZoomIn,
+ ZoomOut,
+ SelectText,
+ SelectGraphics,
+ Note,
+ Link,
+ Thread,
+ AcroForm:Tool,
+ Acro_Movie:MoviePlayer,
+ TouchUp:TextTool,
+ Find,
+ FindAgain,
+ FindNextNote,
+ CreateNotesFile </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-12-1"
+class="td01">Tools<span
+class="lmsy-10">&#x2192;</span>Search </td><td style="white-space:normal; text-align:left;" id="TBL-41-12-2"
+class="td10">
+ <!--l. 2256--><p class="noindent" >AcroSrch:Query,
+ AcroSrch:Indexes,
+ AcroSrch:Results,
+ AcroSrch:Assist,
+ AcroSrch:PrevDoc,
+ AcroSrch:PrevHit,
+ AcroSrch:NextHit,
+ AcroSrch:NextDoc </td>
+
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-13-1"
+class="td01">Window </td><td style="white-space:normal; text-align:left;" id="TBL-41-13-2"
+class="td10">
+ <!--l. 2258--><p class="noindent" >ShowHideToolBar,
+ ShowHideMenuBar,
+ ShowHideClipboard,
+ Cascade,
+ TileHorizontal,
+ TileVertical,
+ CloseAll </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-14-1"
+class="td01">Help </td><td style="white-space:normal; text-align:left;" id="TBL-41-14-2"
+class="td10">
+ <!--l. 2260--><p class="noindent" >HelpUserGuide,
+ HelpTutorial,
+ HelpExchange,
+ HelpScan,
+ HelpCapture,
+ HelpPDFWriter,
+ HelpDistiller,
+ HelpSearch,
+ HelpCatalog,
+ HelpReader,
+ Weblink:Home </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-15-1"
+class="td01">Help(Windows) </td><td style="white-space:normal; text-align:left;" id="TBL-41-15-2"
+class="td10">
+ <!--l. 2262--><p class="noindent" >About </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-16-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-17-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-18-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-41-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-19-1"
+class="td01"> </td><td style="white-space:normal; text-align:left;" id="TBL-41-19-2"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 2265--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">7 </span> <a
+ id="x1-490007"></a>PDF and HTML forms</h3>
+<!--l. 2266--><p class="noindent" >You must put your fields inside a <span
+class="ec-lmvtt-10">Form </span>environment (only one per file).
+<!--l. 2268--><p class="indent" > There are six macros to prepare fields:
+<!--l. 2270--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-42" class="tabular"
+
+><colgroup id="TBL-42-1g"><col
+id="TBL-42-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-42-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\TextField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">parameters</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2274--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-43" class="tabular"
+
+><colgroup id="TBL-43-1g"><col
+id="TBL-43-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-43-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\CheckBox</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">parameters</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2278--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-44" class="tabular"
+
+><colgroup id="TBL-44-1g"><col
+id="TBL-44-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-44-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\ChoiceMenu</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">parameters</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">choices</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2282--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-45" class="tabular"
+
+><colgroup id="TBL-45-1g"><col
+id="TBL-45-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-45-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\PushButton</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">parameters</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2286--><p class="noindent" >
+
+
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-46" class="tabular"
+
+><colgroup id="TBL-46-1g"><col
+id="TBL-46-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-46-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\Submit</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">parameters</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2290--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-47" class="tabular"
+
+><colgroup id="TBL-47-1g"><col
+id="TBL-47-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-47-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\Reset</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">[</span></span></span><span
+class="ec-lmri-10">parameters</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">]{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2294--><p class="indent" > The way forms and their labels are laid out is determined by:
+<!--l. 2295--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-48" class="tabular"
+
+><colgroup id="TBL-48-1g"><col
+id="TBL-48-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-48-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\LayoutTextField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">field</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2299--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-49" class="tabular"
+
+><colgroup id="TBL-49-1g"><col
+id="TBL-49-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-49-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\LayoutChoiceField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">field</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2303--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-50" class="tabular"
+
+><colgroup id="TBL-50-1g"><col
+id="TBL-50-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-50-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\LayoutCheckField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">label</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">field</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2307--><p class="indent" > These macros default to #1 #2
+<!--l. 2309--><p class="indent" > What is actually shown in the field is determined by:
+<!--l. 2310--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-51" class="tabular"
+
+><colgroup id="TBL-51-1g"><col
+id="TBL-51-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-51-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\MakeRadioField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">width</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2314--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-52" class="tabular"
+
+><colgroup id="TBL-52-1g"><col
+id="TBL-52-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-52-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\MakeCheckField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">width</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2317--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-53" class="tabular"
+
+><colgroup id="TBL-53-1g"><col
+id="TBL-53-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-53-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\MakeTextField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">width</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2320--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-54" class="tabular"
+
+><colgroup id="TBL-54-1g"><col
+id="TBL-54-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-54-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\MakeChoiceField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">width</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}{</span></span></span><span
+class="ec-lmri-10">height</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td>
+ </tr></table> </div></span>
+<!--l. 2324--><p class="noindent" >
+<span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-55" class="tabular"
+
+><colgroup id="TBL-55-1g"><col
+id="TBL-55-1"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-55-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-1-1"
+class="td11"> <span
+class="ec-lmvtt-10">\MakeButtonField</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmri-10">text</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span> </td></tr></table> </div></span>
+<!--l. 2328--><p class="indent" > These macros default to <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\vbox</span><span
+class="ec-lmvtt-10">&#x00A0;to</span><span
+class="ec-lmvtt-10">&#x00A0;#2{\hbox</span><span
+class="ec-lmvtt-10">&#x00A0;to</span><span
+class="ec-lmvtt-10">&#x00A0;#1{\hfill}\vfill}</span></span></span>, except the last, which defaults
+to #1; it is used for buttons, and the special <span
+class="ec-lmvtt-10">\Submit </span>and <span
+class="ec-lmvtt-10">\Reset </span>macros.
+<!--l. 2332--><p class="indent" > You may also want to redefine the following macros:
+
+
+ <pre class="verbatim" id="verbatim-40">
+\def\DefaultHeightofSubmit{12pt}
+\def\DefaultWidthofSubmit{2cm}
+\def\DefaultHeightofReset{12pt}
+\def\DefaultWidthofReset{2cm}
+\def\DefaultHeightofCheckBox{0.8\baselineskip}
+\def\DefaultWidthofCheckBox{0.8\baselineskip}
+\def\DefaultHeightofChoiceMenu{0.8\baselineskip}
+\def\DefaultWidthofChoiceMenu{0.8\baselineskip}
+\def\DefaultHeightofText{\baselineskip}
+\def\DefaultHeightofTextMultiline{4\baselineskip}
+\def\DefaultWidthofText{3cm}
+</pre>
+<!--l. 2345--><p class="nopar" >
+<!--l. 2347--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a
+ id="x1-500007.1"></a>Forms environment parameters</h4>
+<a
+ id="x1-50001r14"></a> <!--l. 2351--><div class="longtable"> <table id="TBL-56" class="longtable"
+
+><colgroup id="TBL-56-1g"><col
+id="TBL-56-1"><col
+id="TBL-56-2"><col
+id="TBL-56-3"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-56-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-1-1"
+class="td01"><span
+class="ec-lmvtt-10">action </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-56-1-2"
+class="td11"> <span
+class="ec-lmri-10">URL </span></td><td style="white-space:normal; text-align:left;" id="TBL-56-1-3"
+class="td10">
+ <!--l. 2351--><p class="noindent" >The URL that will receive the form data if a <span
+class="ec-lmss-10">Submit </span>button
+ is included in the form </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-2-1"
+class="td01"><span
+class="ec-lmvtt-10">encoding </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-56-2-2"
+class="td11"> <span
+class="ec-lmri-10">name </span></td><td style="white-space:normal; text-align:left;" id="TBL-56-2-3"
+class="td10">
+ <!--l. 2352--><p class="noindent" >The encoding for the string set to the URL; FDF-encoding
+ is usual, and <span
+class="ec-lmvtt-10">html </span>is the only valid value </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-3-1"
+class="td01"><span
+class="ec-lmvtt-10">method </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-56-3-2"
+class="td11"> <span
+class="ec-lmri-10">name </span></td><td style="white-space:normal; text-align:left;" id="TBL-56-3-3"
+class="td10">
+ <!--l. 2354--><p class="noindent" >Used only when generating HTML; values can be <span
+class="ec-lmvtt-10">post </span>or
+ <span
+class="ec-lmvtt-10">get</span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-4-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-5-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-6-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-7-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-56-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-8-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-56-8-2"
+class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-56-8-3"
+class="td10"></td></tr>
+ </table></div>
+<!--l. 2357--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a
+ id="x1-510007.2"></a>Forms optional parameters</h4>
+<!--l. 2358--><p class="noindent" >Note that all colors must be expressed as RGB triples, in the range 0..1 (i.e.&#x00A0;<span
+class="ec-lmvtt-10">color=0 0</span>
+<span
+class="ec-lmvtt-10">0.5</span>)
+<a
+ id="x1-51001r15"></a> <!--l. 2363--><div class="longtable"> <table id="TBL-57" class="longtable"
+
+><colgroup id="TBL-57-1g"><col
+id="TBL-57-1"><col
+id="TBL-57-2"><col
+id="TBL-57-3"><col
+id="TBL-57-4"></colgroup>
+<tr
+ style="vertical-align:baseline;" id="TBL-57-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-1"
+class="td01"><span
+class="ec-lmvtt-10">accesskey </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-2"
+class="td11"> key </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-4"
+class="td10"> (as per HTML) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-1"
+class="td01"><span
+class="ec-lmvtt-10">align </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-3"
+class="td11"> <span
+class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-4"
+class="td10"> alignment within text field; 0 is left-aligned, </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-4"
+class="td10"> 1 is centered, 2 is right-aligned. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-1"
+class="td01"><span
+class="ec-lmvtt-10">altname </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-2"
+class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-4"
+class="td10"> alternative name, </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-4"
+class="td10"> the name shown in the user interface </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-1"
+class="td01"><span
+class="ec-lmvtt-10">backgroundcolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-4"
+class="td10"> color of box </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-1"
+class="td01"><span
+class="ec-lmvtt-10">bordercolor </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-4"
+class="td10"> color of border </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-1"
+class="td01"><span
+class="ec-lmvtt-10">bordersep </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-4"
+class="td10"> box border gap </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-1"
+class="td01"><span
+class="ec-lmvtt-10">borderwidth </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-3"
+class="td11"> <span
+class="ec-lmri-10">1 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-9-4"
+class="td10"> width of box border, the value is a dimension </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-10-4"
+class="td10"> or a number with default unit bp </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-1"
+class="td01"><span
+class="ec-lmvtt-10">calculate </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-11-4"
+class="td10"> JavaScript code to calculate the value of the field</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-1"
+class="td01"><span
+class="ec-lmvtt-10">charsize </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-2"
+class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-12-4"
+class="td10"> font size of field text </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-13-1"
+class="td01"><span
+class="ec-lmvtt-10">checkboxsymbol </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-13-2"
+class="td11"> char </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-13-3"
+class="td11"> <span
+class="ec-lmri-10">4 (</span><span
+class="pzdr-">&#x2714;</span><span
+class="ec-lmri-10">) </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-13-4"
+class="td10"> symbol used for check boxes (ZapfDingbats), </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-14-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-14-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-14-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-14-4"
+class="td10"> the value is a character or <span
+class="ec-lmvtt-10">\ding</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmvtto-10">number</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span>, </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-15-4"
+class="td10"> see package <span
+class="ec-lmss-10">pifont </span>from bundle <span
+class="ec-lmss-10">psnfss </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-1"
+class="td01"><span
+class="ec-lmvtt-10">checked </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-16-4"
+class="td10"> whether option selected by default </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-1"
+class="td01"><span
+class="ec-lmvtt-10">color </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-17-4"
+class="td10"> color of text in box </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-1"
+class="td01"><span
+class="ec-lmvtt-10">combo </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-18-4"
+class="td10"> choice list is &#8216;combo&#8217; style </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-1"
+class="td01"><span
+class="ec-lmvtt-10">default </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-19-4"
+class="td10"> default value </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-1"
+class="td01"><span
+class="ec-lmvtt-10">disabled </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-20-4"
+class="td10"> field disabled </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-21-4"
+class="td10"></td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-57-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-1"
+class="td01"><span
+class="ec-lmvtt-10">format </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-22-4"
+class="td10"> JavaScript code to format the field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-1"
+class="td01"><span
+class="ec-lmvtt-10">height </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-2"
+class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-23-4"
+class="td10"> height of field box </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-1"
+class="td01"><span
+class="ec-lmvtt-10">hidden </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-24-4"
+class="td10"> field hidden </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-1"
+class="td01"><span
+class="ec-lmvtt-10">keystroke </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-25-4"
+class="td10"> JavaScript code to control the keystrokes on entry</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-1"
+class="td01"><span
+class="ec-lmvtt-10">mappingname </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-2"
+class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-26-4"
+class="td10"> the mapping name to be used when exporting </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-27-4"
+class="td10"> the field data </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-1"
+class="td01"><span
+class="ec-lmvtt-10">maxlen </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-3"
+class="td11"> <span
+class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-28-4"
+class="td10"> number of characters allowed in text field </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-1"
+class="td01"><span
+class="ec-lmvtt-10">menulength </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-3"
+class="td11"> <span
+class="ec-lmri-10">4 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-29-4"
+class="td10"> number of elements shown in list </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-1"
+class="td01"><span
+class="ec-lmvtt-10">multiline </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-30-4"
+class="td10"> whether text box is multiline </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-1"
+class="td01"><span
+class="ec-lmvtt-10">name </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-2"
+class="td11"> name </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-31-4"
+class="td10"> name of field (defaults to label) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-1"
+class="td01"><span
+class="ec-lmvtt-10">onblur </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-32-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-1"
+class="td01"><span
+class="ec-lmvtt-10">onchange </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-33-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-1"
+class="td01"><span
+class="ec-lmvtt-10">onclick </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-34-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-1"
+class="td01"><span
+class="ec-lmvtt-10">ondblclick </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-35-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-1"
+class="td01"><span
+class="ec-lmvtt-10">onfocus </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-36-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-1"
+class="td01"><span
+class="ec-lmvtt-10">onkeydown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-37-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-1"
+class="td01"><span
+class="ec-lmvtt-10">onkeypress </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-38-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-1"
+class="td01"><span
+class="ec-lmvtt-10">onkeyup </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-39-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-1"
+class="td01"><span
+class="ec-lmvtt-10">onmousedown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-40-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-1"
+class="td01"><span
+class="ec-lmvtt-10">onmousemove </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-41-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-42-1"
+class="td01"> </td></tr>
+<tr
+ style="vertical-align:baseline;" id="TBL-57-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-1"
+class="td01"><span
+class="ec-lmvtt-10">onmouseout </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-43-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-1"
+class="td01"><span
+class="ec-lmvtt-10">onmouseover </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-44-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-1"
+class="td01"><span
+class="ec-lmvtt-10">onmouseup </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-45-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-1"
+class="td01"><span
+class="ec-lmvtt-10">onselect </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-46-4"
+class="td10"> JavaScript code </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-1"
+class="td01"><span
+class="ec-lmvtt-10">password </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-47-4"
+class="td10"> text field is &#8216;password&#8217; style </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-48-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-1"
+class="td01"><span
+class="ec-lmvtt-10">popdown </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-48-4"
+class="td10"> choice list is &#8216;popdown&#8217; style </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-1"
+class="td01"><span
+class="ec-lmvtt-10">radio </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-49-4"
+class="td10"> choice list is &#8216;radio&#8217; style </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-1"
+class="td01"><span
+class="ec-lmvtt-10">radiosymbol </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-2"
+class="td11"> char </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-3"
+class="td11"> <span
+class="ec-lmri-10">H (</span><span
+class="pzdr-">&#x2605;</span><span
+class="ec-lmri-10">) </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-50-4"
+class="td10"> symbol used for radio fields (ZapfDingbats),</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-51-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-51-4"
+class="td10"> the value is a character or <span
+class="ec-lmvtt-10">\ding</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">{</span></span></span><span
+class="ec-lmvtto-10">number</span><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">}</span></span></span>, </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-52-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-52-4"
+class="td10"> see package <span
+class="ec-lmss-10">pifont </span>from bundle <span
+class="ec-lmss-10">psnfss </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-53-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-1"
+class="td01"><span
+class="ec-lmvtt-10">readonly </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-2"
+class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-3"
+class="td11"> <span
+class="ec-lmri-10">false </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-53-4"
+class="td10"> field is readonly </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-54-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-1"
+class="td01"><span
+class="ec-lmvtt-10">rotation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-2"
+class="td11"> number </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-3"
+class="td11"> <span
+class="ec-lmri-10">0 </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-54-4"
+class="td10"> rotation of the widget annotation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-55-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-1"
+class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-55-4"
+class="td10"> (degree, counterclockwise, multiple of 90) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-56-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-1"
+class="td01"><span
+class="ec-lmvtt-10">tabkey </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-56-4"
+class="td10"> (as per HTML) </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-57-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-1"
+class="td01"><span
+class="ec-lmvtt-10">validate </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-57-4"
+class="td10"> JavaScript code to validate the entry </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-58-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-1"
+class="td01"><span
+class="ec-lmvtt-10">value </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-58-4"
+class="td10"> initial value </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-1"
+class="td01"><span
+class="ec-lmvtt-10">width </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-2"
+class="td11"> dimen </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-3"
+class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-59-4"
+class="td10"> width of field box </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-60-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-60-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-61-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-61-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-62-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-62-1"
+class="td01"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-57-63-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-63-1"
+class="td01"> </td></tr>
+ </table></div>
+<!--l. 2422--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">8 </span> <a
+ id="x1-520008"></a>Defining a new driver</h3>
+<!--l. 2423--><p class="noindent" >A hyperref driver has to provide definitions for eight macros:
+<!--l. 2426--><p class="noindent" >1. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@anchor</span></span></span>
+<!--l. 2428--><p class="noindent" >2. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@link</span></span></span>
+<!--l. 2430--><p class="noindent" >3. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@linkfile</span></span></span>
+<!--l. 2432--><p class="noindent" >4. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@linkurl</span></span></span>
+<!--l. 2434--><p class="noindent" >5. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@anchorstart</span></span></span>
+
+
+<!--l. 2436--><p class="noindent" >6. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@anchorend</span></span></span>
+<!--l. 2438--><p class="noindent" >7. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@linkstart</span></span></span>
+<!--l. 2440--><p class="noindent" >8. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyper@linkend</span></span></span>
+<!--l. 2443--><p class="indent" > The draft option defines the macros as follows
+
+
+ <pre class="verbatim" id="verbatim-41">
+\let\hyper@@anchor\@gobble
+\gdef\hyper@link##1##2##3{##3}%
+\def\hyper@linkurl##1##2{##1}%
+\def\hyper@linkfile##1##2##3{##1}%
+\let\hyper@anchorstart\@gobble
+\let\hyper@anchorend\@empty
+\let\hyper@linkstart\@gobbletwo
+\let\hyper@linkend\@empty
+</pre>
+<!--l. 2453--><p class="nopar" >
+<!--l. 2455--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">9 </span> <a
+ id="x1-530009"></a>Special support for other packages</h3>
+<!--l. 2457--><p class="noindent" >Package <span
+class="ec-lmss-10">hyperref </span>aims to cooperate with other packages, but there are several possible sources for
+conflict, such as
+ <ul class="itemize1">
+ <li class="itemize">Packages that manipulate the bibliographic mechanism. Peter William&#8217;s <span
+class="ec-lmss-10">harvard </span>package is
+ supported. However, the recommended package is Patrick Daly&#8217;s <span
+class="ec-lmss-10">natbib </span>package that has
+ specific <span
+class="ec-lmss-10">hyperref </span>hooks to allow reliable interaction. This package covers a very wide variety
+ of layouts and citation styles, all of which work with <span
+class="ec-lmss-10">hyperref</span>.
+ </li>
+ <li class="itemize">Packages that typeset the contents of the <span
+class="ec-lmvtt-10">\label </span>and <span
+class="ec-lmvtt-10">\ref </span>macros, such as <span
+class="ec-lmss-10">showkeys</span>. Since the
+ <span
+class="ec-lmss-10">hyperref </span>package redefines these commands, you must set <span
+class="ec-lmvtt-10">implicit=false </span>for these packages
+ to work.
+ </li>
+ <li class="itemize">Packages that do anything serious with the index.</li></ul>
+<!--l. 2477--><p class="indent" > The <span
+class="ec-lmss-10">hyperref </span>package is distributed with variants on two useful packages designed to work especially
+well with it. These are <span
+class="ec-lmss-10">xr </span>and <span
+class="ec-lmss-10">minitoc</span>, which support crossdocument links using <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span>&#8217;s normal
+<span
+class="ec-lmvtt-10">\label</span>/<span
+class="ec-lmvtt-10">\ref </span>mechanisms and per-chapter tables of contents, respectively.
+<!--l. 2484--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">9.1 </span> <a
+ id="x1-540009.1"></a>Package Compatibility</h4>
+<!--l. 2486--><p class="noindent" >Currently only package loading orders are available:
+<!--l. 2490--><p class="indent" > Note: hyperref loads package <span
+class="ec-lmss-10">nameref </span>at <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\begin{document}</span></span></span>. Sometimes this is too late, thus this
+package must be loaded earlier.
+<!--l. 2495--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.1 </span> <a
+ id="x1-550009.1.1"></a>algorithm</h5>
+
+
+ <pre class="verbatim" id="verbatim-42">
+&#x00A0;\usepackage{float}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;\usepackage[chapter]{algorithm}%&#x00A0;eg.
+</pre>
+<!--l. 2500--><p class="nopar" >
+<!--l. 2502--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.2 </span> <a
+ id="x1-560009.1.2"></a>amsmath</h5>
+<!--l. 2504--><p class="noindent" >The environments equation and eqnarray are not supported too well. For example, there might be
+spacing problems (eqnarray isn&#8217;t recommended anyway, see CTAN:info/l2tabu/, the situation for
+equation is unclear, because nobody is interested in investigating). Consider using the environments that
+package amsmath provide, e.g. gather for equation. The environment equation can even redefined to use
+gather:
+
+
+ <pre class="verbatim" id="verbatim-43">
+&#x00A0;&#x00A0;\usepackage{amsmath}
+&#x00A0;&#x00A0;\let\equation\gather
+&#x00A0;&#x00A0;\let\endequation\endgather
+</pre>
+<!--l. 2515--><p class="nopar" >
+<!--l. 2517--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.3 </span> <a
+ id="x1-570009.1.3"></a>amsrefs</h5>
+<!--l. 2519--><p class="noindent" >Package loading order:
+
+
+ <pre class="verbatim" id="verbatim-44">
+&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;\usepackage{amsrefs}
+</pre>
+<!--l. 2524--><p class="nopar" >
+<!--l. 2526--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.4 </span> <a
+ id="x1-580009.1.4"></a>arydshln, longtable</h5>
+<!--l. 2528--><p class="noindent" >Package longtable must be put before hyperref and arydshln, hyperref after arydshln generates an error,
+thus the resulting package order is then:
+
+
+ <pre class="verbatim" id="verbatim-45">
+&#x00A0;&#x00A0;\usepackage{longtable}
+&#x00A0;&#x00A0;\usepacakge{hyperref}
+&#x00A0;&#x00A0;\usepackage{arydshln}
+</pre>
+<!--l. 2536--><p class="nopar" >
+<!--l. 2538--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.5 </span> <a
+ id="x1-590009.1.5"></a>babel/magyar.ldf</h5>
+<!--l. 2540--><p class="noindent" >The old version 2005/03/30 v1.4j will not work. You need at least version 1.5, maintained by Péter
+Szabó, see CTAN:language/hungarian/babel/.
+<!--l. 2545--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.6 </span> <a
+ id="x1-600009.1.6"></a>babel/spanish.ldf</h5>
+<!--l. 2547--><p class="noindent" >Babel&#8217;s spanish.ldf redefines &#8216;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\.</span></span></span>&#8217; to support &#8216;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\...</span></span></span>&#8217;. In bookmarks (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\pdfstringdef</span></span></span>) only &#8216;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\.</span></span></span>&#8217; is supported. If
+&#8216;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\...</span></span></span>&#8217; is needed, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\texorpdfstring{\...}{\dots}</span></span></span> can be used instead.
+<!--l. 2554--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.7 </span> <a
+ id="x1-610009.1.7"></a>bibentry</h5>
+<!--l. 2556--><p class="noindent" >Workaround:
+
+
+ <pre class="verbatim" id="verbatim-46">
+&#x00A0;&#x00A0;\makeatletter
+&#x00A0;&#x00A0;\let\saved@bibitem\@bibitem
+&#x00A0;&#x00A0;\makeatother
+
+&#x00A0;&#x00A0;\usepackage{bibentry}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+
+&#x00A0;&#x00A0;\begin{document}
+
+&#x00A0;&#x00A0;\begingroup
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\makeatletter
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\let\@bibitem\saved@bibitem
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\nobibliography{database}
+&#x00A0;&#x00A0;\endgroup
+</pre>
+<!--l. 2573--><p class="nopar" >
+<!--l. 2575--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.8 </span> <a
+ id="x1-620009.1.8"></a>bigfoot</h5>
+<!--l. 2577--><p class="noindent" >Hyperref does not support package &#8216;bigfoot&#8217;. And package &#8216;bigfoot&#8217; does not support hyperref&#8217;s footnotes
+and disables them (hyperfootnotes=false).
+<!--l. 2582--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.9 </span> <a
+ id="x1-630009.1.9"></a>chappg</h5>
+<!--l. 2584--><p class="noindent" >Package &#8216;chappg&#8217; uses <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@addtoreset</span></span></span> that is redefined by &#8216;hyperref&#8217;. The package order is
+therefore:
+
+
+ <pre class="verbatim" id="verbatim-47">
+&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;\usepackage{chappg}
+</pre>
+<!--l. 2590--><p class="nopar" >
+<!--l. 2592--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.10 </span> <a
+ id="x1-640009.1.10"></a>cite</h5>
+<!--l. 2594--><p class="noindent" >This is from Mike Shell: cite.sty cannot currently be used with hyperref. However, I can do a workaround
+via:
+
+
+ <pre class="verbatim" id="verbatim-48">
+&#x00A0;\makeatletter
+&#x00A0;\def\NAT@parse{\typeout{This&#x00A0;is&#x00A0;a&#x00A0;fake&#x00A0;Natbib&#x00A0;command&#x00A0;to&#x00A0;fool&#x00A0;Hyperref.}}
+&#x00A0;\makeatother
+
+&#x00A0;\usepackage[hypertex]{hyperref}
+</pre>
+<!--l. 2604--><p class="nopar" >
+<!--l. 2606--><p class="indent" > so that hyperref will not redefine any of the biblabel stuff - so cite.sty will work as normal -
+although the citations will not be hyperlinked, of course (But this may not be an issue for many
+people).
+<!--l. 2611--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.11 </span> <a
+ id="x1-650009.1.11"></a>count1to</h5>
+<!--l. 2613--><p class="noindent" >Package &#8216;count1to&#8217; adds several <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@addtoreset</span></span></span> commands that confuse &#8216;hyperref&#8217;. Therefore <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\theH&#x003C;...&#x003E;</span></span></span>
+has to be fixed:
+
+
+ <pre class="verbatim" id="verbatim-49">
+&#x00A0;&#x00A0;\usepackage{count1to}
+&#x00A0;&#x00A0;\AtBeginDocument{%&#x00A0;*after*&#x00A0;\usepackage{count1to}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\theHsection}{\theHchapter.\arabic{section}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\theHsubsection}{\theHsection.\arabic{subsection}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\theHsubsubsection}{\theHsubsection.\arabic{subsubsection}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\theHparagraph}{\theHsubsubsection.\arabic{paragraph}}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\theHsubparagraph}{\theHparagraph.\arabic{subparagraph}}%
+&#x00A0;&#x00A0;}
+</pre>
+<!--l. 2625--><p class="nopar" >
+<!--l. 2627--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.12 </span> <a
+ id="x1-660009.1.12"></a>dblaccnt</h5>
+<!--l. 2629--><p class="noindent" >pd1enc.def or puenc.def should be loaded before:
+
+
+ <pre class="verbatim" id="verbatim-50">
+&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;\usepackage{dblaccnt}
+</pre>
+<!--l. 2633--><p class="nopar" > or see entry for <span
+class="ec-lmss-10">vietnam</span>.
+<!--l. 2637--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.13 </span> <a
+ id="x1-670009.1.13"></a>easyeqn</h5>
+<!--l. 2638--><p class="noindent" >Not compatible, breaks.
+<!--l. 2641--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.14 </span> <a
+ id="x1-680009.1.14"></a>ellipsis</h5>
+<!--l. 2643--><p class="noindent" >This packages redefines <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\textellipsis</span></span></span> after package hyperref (pd1enc.def/puenc.def should be loaded
+before):
+
+
+ <pre class="verbatim" id="verbatim-51">
+&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;\usepackage{ellipsis}
+</pre>
+<!--l. 2648--><p class="nopar" >
+<!--l. 2650--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.15 </span> <a
+ id="x1-690009.1.15"></a>float</h5>
+
+
+ <pre class="verbatim" id="verbatim-52">
+&#x00A0;\usepackage{float}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2654--><p class="nopar" >
+ <ul class="itemize1">
+ <li class="itemize">Several <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\caption</span></span></span> commands are not supported inside one float object.
+ </li>
+ <li class="itemize">Anchor are set at top of the float object, if its style is controlled by float.sty.</li></ul>
+<!--l. 2661--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.16 </span> <a
+ id="x1-700009.1.16"></a>endnotes</h5>
+<!--l. 2662--><p class="noindent" >Unsupported.
+<!--l. 2664--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.17 </span> <a
+ id="x1-710009.1.17"></a>foiltex</h5>
+<!--l. 2665--><p class="noindent" >Update to version 2008/01/28 v2.1.4b: Since version 6.77a hyperref does not hack into <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@begindvi</span></span></span>, it
+uses package &#8216;atbegshi&#8217; instead, that hooks into <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\shipout</span></span></span>. Thus the patch of &#8216;foils.cls&#8217; regarding hyperref
+is now obsolete and causes an undefined error message about <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@hyperfixhead</span></span></span>. This is fixed in FoilTeX
+2.1.4b.
+<!--l. 2673--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.18 </span> <a
+ id="x1-720009.1.18"></a>footnote</h5>
+<!--l. 2675--><p class="noindent" >This package is not supported, you have to disable hyperref&#8217;s footnote support by using option
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperfootnotes=false</span></span></span>.
+<!--l. 2679--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.19 </span> <a
+ id="x1-730009.1.19"></a>geometry</h5>
+<!--l. 2681--><p class="noindent" >Driver &#8216;dvipdfm&#8217; and program &#8216;dvipdfm&#8217; might generate a warning: Sorry. Too late to change page size
+Then prefer the program &#8216;dvipdfmx&#8217; or use one of the following workarounds to move the <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> of
+geometry to an earlier location:
+
+
+ <pre class="verbatim" id="verbatim-53">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\documentclass[dvipdfm]{article}%&#x00A0;or&#x00A0;other&#x00A0;classes
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{atbegshi}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\AtBeginDocument{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\let\OrgAtBeginDvi\AtBeginDvi
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\let\AtBeginDvi\AtBeginShipoutFirst
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;paperwidth=170mm,
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;paperheight=240mm
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;]{geometry}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\AtBeginDocument{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\let\AtBeginDvi\OrgAtBeginDvi
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+
+&#x00A0;&#x00A0;or
+
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\documentclass[dvipdfm]{article}%&#x00A0;or&#x00A0;other&#x00A0;classes
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{atbegshi}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\let\AtBeginDvi\AtBeginShipoutFirst
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;paperwidth=170mm,
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;paperheight=240mm
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;]{geometry}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2713--><p class="nopar" >
+<!--l. 2715--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.20 </span> <a
+ id="x1-740009.1.20"></a>IEEEtran.cls</h5>
+<!--l. 2717--><p class="noindent" >version <span
+class="lmsy-10">&#x2265; </span>V1.6b (because of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@makecaption</span></span></span>, see ChangeLog)
+<!--l. 2720--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.21 </span> <a
+ id="x1-750009.1.21"></a>index</h5>
+<!--l. 2722--><p class="noindent" >version <span
+class="lmsy-10">&#x2265; </span>1995/09/28 v4.1 (because of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\addcontentsline</span></span></span> redefinition)
+<!--l. 2725--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.22 </span> <a
+ id="x1-760009.1.22"></a>lastpage</h5>
+<!--l. 2727--><p class="noindent" >Compatible.
+<!--l. 2730--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.23 </span> <a
+ id="x1-770009.1.23"></a>linguex</h5>
+
+
+ <pre class="verbatim" id="verbatim-54">
+&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;\usepackage{linguex}
+</pre>
+<!--l. 2734--><p class="nopar" >
+<!--l. 2736--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.24 </span> <a
+ id="x1-780009.1.24"></a>ltabptch</h5>
+
+
+ <pre class="verbatim" id="verbatim-55">
+&#x00A0;\usepackage{longtable}
+&#x00A0;&#x00A0;\usepackage{ltabptch}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2741--><p class="nopar" >
+<!--l. 2743--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.25 </span> <a
+ id="x1-790009.1.25"></a>mathenv</h5>
+<!--l. 2745--><p class="noindent" >Unsupported.
+<!--l. 2749--><p class="indent" > Both &#8216;mathenv&#8217; and &#8216;hyperref&#8217; messes around with environment &#8216;eqnarray&#8217;. You can load &#8216;mathenv&#8217;
+after &#8216;hyperref&#8217; to avoid an error message. But <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\label</span></span></span> will not work inside environment &#8216;eqnarray&#8217;
+properly, for example.
+<!--l. 2756--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.26 </span> <a
+ id="x1-800009.1.26"></a>minitoc-hyper</h5>
+<!--l. 2758--><p class="noindent" >This package is obsolete, use the uptodate original package minitoc instead.
+<!--l. 2762--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.27 </span> <a
+ id="x1-810009.1.27"></a>multind</h5>
+
+
+ <pre class="verbatim" id="verbatim-56">
+&#x00A0;\usepackage{multind}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2766--><p class="nopar" >
+<!--l. 2768--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.28 </span> <a
+ id="x1-820009.1.28"></a>natbib</h5>
+
+
+ <pre class="verbatim" id="verbatim-57">
+&#x00A0;\usepackage{natbib}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2772--><p class="nopar" >
+<!--l. 2774--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.29 </span> <a
+ id="x1-830009.1.29"></a>nomencl</h5>
+<!--l. 2775--><p class="noindent" >Example for introducing links for the page numbers:
+
+
+ <pre class="verbatim" id="verbatim-58">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\pagedeclaration}[1]{\unskip,&#x00A0;\hyperpage{#1}}
+</pre>
+<!--l. 2778--><p class="nopar" >
+<!--l. 2781--><p class="indent" > For equations the following might work:
+
+
+ <pre class="verbatim" id="verbatim-59">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\renewcommand*{\eqdeclaration}[1]{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hyperlink{equation.#1}{(Equation~#1)}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;But&#x00A0;the&#x00A0;mapping&#x00A0;from&#x00A0;the&#x00A0;equation&#x00A0;number&#x00A0;to&#x00A0;the&#x00A0;anchor&#x00A0;name
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;is&#x00A0;not&#x00A0;available&#x00A0;in&#x00A0;general.
+</pre>
+<!--l. 2788--><p class="nopar" >
+<!--l. 2790--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.30 </span> <a
+ id="x1-840009.1.30"></a>parskip</h5>
+
+
+ <pre class="verbatim" id="verbatim-60">
+&#x00A0;\usepackage{parskip}
+&#x00A0;&#x00A0;\usepackage{hyperref}[2012/08/20]
+</pre>
+<!--l. 2794--><p class="nopar" >
+<!--l. 2797--><p class="indent" > Both packages want to redefine <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@starttoc</span></span></span>.
+<!--l. 2800--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.31 </span> <a
+ id="x1-850009.1.31"></a>prettyref</h5>
+
+
+ <pre class="verbatim" id="verbatim-61">
+%%%&#x00A0;example&#x00A0;for&#x00A0;prettyref&#x00A0;%%%
+\documentclass{article}
+\usepackage{prettyref}
+\usepackage[pdftex]{hyperref}
+
+%\newrefformat{FIG}{Figure~\ref{#1}}%&#x00A0;without&#x00A0;hyperref
+\newrefformat{FIG}{\hyperref[{#1}]{Figure~\ref*{#1}}}
+
+\begin{document}
+&#x00A0;&#x00A0;This&#x00A0;is&#x00A0;a&#x00A0;reference&#x00A0;to&#x00A0;\prettyref{FIG:ONE}.
+&#x00A0;&#x00A0;\newpage
+&#x00A0;&#x00A0;\begin{figure}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\caption{This&#x00A0;is&#x00A0;my&#x00A0;figure}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\label{FIG:ONE}
+&#x00A0;&#x00A0;\end{figure}
+\end{document}
+%%%&#x00A0;example&#x00A0;for&#x00A0;prettyref&#x00A0;%%%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
+</pre>
+<!--l. 2819--><p class="nopar" >
+<!--l. 2821--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.32 </span> <a
+ id="x1-860009.1.32"></a>ntheorem</h5>
+
+
+ <pre class="verbatim" id="verbatim-62">
+&#x00A0;ntheorem-hyper.sty&#x00A0;is&#x00A0;an&#x00A0;old&#x00A0;patched&#x00A0;version&#x00A0;of&#x00A0;ntheorem.sty.
+&#x00A0;&#x00A0;Newer&#x00A0;versions&#x00A0;of&#x00A0;ntheorem&#x00A0;know&#x00A0;the&#x00A0;option&#x00A0;hyperref:
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[hyperref]{ntheorem}
+&#x00A0;&#x00A0;But&#x00A0;there&#x00A0;are&#x00A0;still&#x00A0;unsolved&#x00A0;problems&#x00A0;(options&#x00A0;thref,&#x00A0;...).
+</pre>
+<!--l. 2828--><p class="nopar" >
+<!--l. 2830--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.33 </span> <a
+ id="x1-870009.1.33"></a>setspace</h5>
+
+
+ <pre class="verbatim" id="verbatim-63">
+&#x00A0;\usepackage{setspace}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2834--><p class="nopar" >
+<!--l. 2836--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.34 </span> <a
+ id="x1-880009.1.34"></a>sidecap</h5>
+
+
+ <pre class="verbatim" id="verbatim-64">
+&#x00A0;Before&#x00A0;2002/05/24&#x00A0;v1.5h:
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{nameref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{sidecap}
+</pre>
+<!--l. 2842--><p class="nopar" >
+<!--l. 2844--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.35 </span> <a
+ id="x1-890009.1.35"></a>subfigure</h5>
+
+
+ <pre class="verbatim" id="verbatim-65">
+&#x00A0;1995/03/06&#x00A0;v2.0:
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;%&#x00A0;hypertexnames&#x00A0;is&#x00A0;set&#x00A0;to&#x00A0;false.
+&#x00A0;&#x00A0;v2.1:
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{nameref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;or
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
+&#x00A0;&#x00A0;v2.1.2:
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;please&#x00A0;update
+&#x00A0;&#x00A0;v2.1.3:
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{subfigure}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;or&#x00A0;vice&#x00A0;versa?
+</pre>
+<!--l. 2863--><p class="nopar" >
+<!--l. 2865--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.36 </span> <a
+ id="x1-900009.1.36"></a>titleref</h5>
+
+
+ <pre class="verbatim" id="verbatim-66">
+&#x00A0;\usepackage{nameref}
+&#x00A0;&#x00A0;\usepackage{titleref}%&#x00A0;without&#x00A0;usetoc
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2870--><p class="nopar" >
+<!--l. 2872--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.37 </span> <a
+ id="x1-910009.1.37"></a>tabularx</h5>
+<!--l. 2874--><p class="noindent" >Linked footnotes are not supported inside environment &#8216;tabularx&#8217;, because they uses the optional
+argument of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotetext</span></span></span>, see section &#8216;Limitations&#8217;. Before version 2011/09/28 6.82i hyperref had
+disabled footnotes entirely by &#8216;hyperfootnotes=false&#8217;.
+<!--l. 2880--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.38 </span> <a
+ id="x1-920009.1.38"></a>titlesec</h5>
+<!--l. 2882--><p class="noindent" ><span
+class="ec-lmss-10">nameref </span>supports titlesec, but hyperref does not (unsolved is the anchor setting, missing with
+unnumbered section, perhaps problems with page breaks with numbered ones).
+<!--l. 2887--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.39 </span> <a
+ id="x1-930009.1.39"></a>ucs/utf8x.def</h5>
+<!--l. 2889--><p class="noindent" >The first time a multibyte UTF8 sequence is called, it does some calculations and stores the result in a
+macro for speeding up the next calls of that UTF8 sequence. However this makes the first call
+non-expandable and will break if used in information entries or bookmarks. Package <span
+class="ec-lmss-10">ucs </span>offers
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\PrerenderUnicode</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\PreloadUnicodePage</span></span></span> to solve this:
+
+
+ <pre class="verbatim" id="verbatim-67">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{ucs}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[utf8x]{inputenc}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}%&#x00A0;or&#x00A0;with&#x00A0;option&#x00A0;unicode
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\PrerenderUnicode{^^c3^^b6}%&#x00A0;or&#x00A0;\PrerenderUnicodePage{1}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{pdftitle={Umlaut&#x00A0;example:&#x00A0;^^c3^^b6}}
+</pre>
+<!--l. 2902--><p class="nopar" > The notation with two carets avoids trouble with 8-bit bytes for the README file, you can use the
+characters directly.
+<!--l. 2907--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.40 </span> <a
+ id="x1-940009.1.40"></a>varioref</h5>
+<!--l. 2908--><p class="noindent" >There are too many problems with varioref. Nobody has time to sort them out. Therefore this package is
+now unsupported.
+<!--l. 2912--><p class="indent" > Perhaps you are lucky and some of the features of varioref works with the following loading
+order:
+
+
+ <pre class="verbatim" id="verbatim-68">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{nameref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{varioref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2918--><p class="nopar" >
+<!--l. 2921--><p class="indent" > Also some babel versions can be problematic. For example, 2005/05/21 v3.8g contains a patch for
+varioref that breaks the hyperref support for varioref.
+<!--l. 2927--><p class="indent" > Also unsupported:
+ <ul class="itemize1">
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\Ref</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\Vref</span></span></span> do not uppercase the first letter.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\vpageref[]{...}</span></span></span> On the same page a previous space is not suppressed.</li></ul>
+<!--l. 2934--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.41 </span> <a
+ id="x1-950009.1.41"></a>verse</h5>
+<!--l. 2936--><p class="noindent" >Version 2005/08/22 v2.22 contains support for hyperref.
+<!--l. 2938--><p class="indent" > For older versions see example from de.comp.text.tex (2005/08/11, slightly modified):
+
+
+ <pre class="verbatim" id="verbatim-69">
+&#x00A0;&#x00A0;\documentclass{article}
+
+&#x00A0;&#x00A0;%&#x00A0;package&#x00A0;order&#x00A0;does&#x00A0;not&#x00A0;matter
+&#x00A0;&#x00A0;\usepackage{verse}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+
+&#x00A0;&#x00A0;\makeatletter
+&#x00A0;&#x00A0;%&#x00A0;make&#x00A0;unique&#x00A0;poemline&#x00A0;anchors
+&#x00A0;&#x00A0;\newcounter{verse@env}
+&#x00A0;&#x00A0;\setcounter{verse@env}{0}
+&#x00A0;&#x00A0;\let\org@verse\verse
+&#x00A0;&#x00A0;\def\verse{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\stepcounter{verse@env}%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\org@verse
+&#x00A0;&#x00A0;}
+&#x00A0;&#x00A0;\def\theHpoemline{\arabic{verse@env}.\thepoemline}
+
+&#x00A0;&#x00A0;%&#x00A0;add&#x00A0;anchor&#x00A0;for&#x00A0;before&#x00A0;\addcontentsline&#x00A0;in&#x00A0;\@vsptitle
+&#x00A0;&#x00A0;\let\org@vsptitle\@vsptitle
+&#x00A0;&#x00A0;\def\@vsptitle{%
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\phantomsection
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\org@vsptitle
+&#x00A0;&#x00A0;}
+&#x00A0;&#x00A0;\makeatother
+
+&#x00A0;&#x00A0;\begin{document}
+
+&#x00A0;&#x00A0;\poemtitle{Poem&#x00A0;1}
+&#x00A0;&#x00A0;\begin{verse}
+&#x00A0;&#x00A0;An&#x00A0;one-liner.
+&#x00A0;&#x00A0;\end{verse}
+
+&#x00A0;&#x00A0;\newpage
+
+&#x00A0;&#x00A0;\poemtitle{Poem&#x00A0;2}
+&#x00A0;&#x00A0;\begin{verse}
+&#x00A0;&#x00A0;Another&#x00A0;one-liner.
+&#x00A0;&#x00A0;\end{verse}
+
+&#x00A0;&#x00A0;\end{document}
+</pre>
+<!--l. 2982--><p class="nopar" >
+<!--l. 2984--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.42 </span> <a
+ id="x1-960009.1.42"></a>vietnam</h5>
+
+
+ <pre class="verbatim" id="verbatim-70">
+&#x00A0;%&#x00A0;pd1enc.def&#x00A0;should&#x00A0;be&#x00A0;loaded&#x00A0;before&#x00A0;package&#x00A0;dblaccnt:
+&#x00A0;&#x00A0;\usepackage[PD1,OT1]{fontenc}
+&#x00A0;&#x00A0;\usepackage{vietnam}
+&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 2990--><p class="nopar" >
+<!--l. 2992--><p class="noindent" >
+ <h5 class="subsubsectionHead"><span class="titlemark">9.1.43 </span> <a
+ id="x1-970009.1.43"></a>XeTeX</h5>
+<!--l. 2994--><p class="noindent" >Default for the encoding of bookmarks is <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pdfencoding=unicode</span></span></span>. That means the strings are always
+treated as unicode strings. If <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">auto</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">pdfdoc</span></span></span> is forced it applies only if the string restricts to the
+printable ASCII set, The reason is that the <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\special</span></span></span> does not support PDFDocEncoding.
+<!--l. 3000--><p class="indent" > In older versions hyperref contained special conversion code from UTF-16BE back to UTF-8 in a
+number of places for xetex to avoid the xdvipdfmx warning
+<!--l. 3004--><p class="indent" > <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">Failed</span><span
+class="ec-lmvtt-10">&#x00A0;to</span><span
+class="ec-lmvtt-10">&#x00A0;convert</span><span
+class="ec-lmvtt-10">&#x00A0;input</span><span
+class="ec-lmvtt-10">&#x00A0;string</span><span
+class="ec-lmvtt-10">&#x00A0;to</span><span
+class="ec-lmvtt-10">&#x00A0;UTF16...</span></span></span>
+<!--l. 3006--><p class="indent" > This is no longer needed with a current xdvipdfmx, so this code has been removed.
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\csname</span><span
+class="ec-lmvtt-10">&#x00A0;HyPsd@XeTeXBigCharstrue\endcsname</span></span></span> should no longer be used.
+<!--l. 3012--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">10 </span> <a
+ id="x1-9800010"></a>Limitations<span class="footnote-mark"><a
+href="manual6.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
+ id="x1-98001f5"></a> </h3>
+ <h4 class="subsectionHead"><span class="titlemark">10.1 </span> <a
+ id="x1-9900010.1"></a>Wrapped/broken link support</h4>
+<!--l. 3015--><p class="noindent" >Only few drivers support automatically wrapped/broken links, e.g. pdftex, dvipdfm, hypertex. Other
+drivers lack this feature, e.g. dvips, dvipsone.
+<!--l. 3019--><p class="indent" > Workarounds:
+ <ul class="itemize1">
+ <li class="itemize">For long section or caption titles in the table of contents or list of figures/tables option
+ <span
+class="ec-lmss-10">linktocpage </span>can be used. Then the page number will be a link, and the overlong section title
+ is not forced into an one line link with overfull <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hbox</span></span></span> warning.
+ </li>
+ <li class="itemize">&#8220;<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\url</span></span></span>&#8221;s are caught by package <span
+class="ec-lmss-10">breakurl</span>.
+ </li>
+ <li class="itemize">The option <span
+class="ec-lmss-10">breaklinks </span>is intended for internal use. But it can be used to force link wrapping,
+ e.g. when printing a document. However, when such a document is converted to PDF and
+ viewed with a PDF viewer, the active link area will be misplaced.
+ <!--l. 3033--><p class="noindent" >Another limitation: some penalties are &#8220;optimized&#8221; by TeX, thus there are missing break
+ points, especially within <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\url</span></span></span>. (See thread &#8220;hyperref.sty, breaklinks and url.sty 3.2&#8221; in
+ comp.text.tex 2005-09).</li></ul>
+
+
+<!--l. 3039--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a
+ id="x1-10000010.2"></a>Links across pages</h4>
+<!--l. 3041--><p class="noindent" >In general they have problems:
+ <ul class="itemize1">
+ <li class="itemize">Some driver doesn&#8217;t support them at all (see above).
+ </li>
+ <li class="itemize">The driver allows it, but the link result might include the footer and/or header, or an error
+ message can occur sometimes.</li></ul>
+<!--l. 3049--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a
+ id="x1-10100010.3"></a>Footnotes</h4>
+<!--l. 3051--><p class="noindent" >LaTeX allows the separation of the footnote mark and the footnote text (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotemark</span></span></span>,
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotetext</span></span></span>). This interface might be enough for visual typesetting. But the relation between
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotemark</span></span></span> to <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotetext</span></span></span> is not as strong as <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\ref</span></span></span> to <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\label</span></span></span>. Therefore it is not clear in general
+which <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotemark</span></span></span> references which <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotetext</span></span></span>. But that is necessary to implement hyperlinking.
+Thus the implementation of hyperref does not support the optional argument of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotemark</span></span></span> and
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotetext</span></span></span>.
+<!--l. 3062--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">11 </span> <a
+ id="x1-10200011"></a>Hints<span class="footnote-mark"><a
+href="manual7.html#fn6x0"><sup class="textsuperscript">6</sup></a></span><a
+ id="x1-102001f6"></a> </h3>
+ <h4 class="subsectionHead"><span class="titlemark">11.1 </span> <a
+ id="x1-10300011.1"></a>Spaces in option values</h4>
+<!--l. 3066--><p class="noindent" >Unhappily LaTeX strips spaces from options if they are given in <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\documentclass</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\usepackage</span></span></span> (or
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\RequirePackage</span></span></span>), e.g.:
+
+
+ <pre class="verbatim" id="verbatim-71">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[pdfborder=0&#x00A0;0&#x00A0;1]{hyperref}
+</pre>
+<!--l. 3070--><p class="nopar" > Package hyperref now gets
+
+
+ <pre class="verbatim" id="verbatim-72">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;pdfborder=001
+</pre>
+<!--l. 3074--><p class="nopar" > and the result is an invalid PDF file. As workaround braces can be used:
+
+
+ <pre class="verbatim" id="verbatim-73">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[pdfborder={0&#x00A0;0&#x00A0;1}]{hyperref}
+</pre>
+<!--l. 3079--><p class="nopar" > Some options can also be given in <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypersetup</span></span></span>
+
+
+ <pre class="verbatim" id="verbatim-74">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\hypersetup{pdfborder=0&#x00A0;0&#x00A0;1}
+</pre>
+<!--l. 3083--><p class="nopar" > In <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hypersetup</span></span></span> the options are directly processed as key value options (see package keyval) without
+space stripping in the value part.
+<!--l. 3089--><p class="indent" > Alternatively, LaTeX&#8217;s option handling system can be adapted to key value options by one of the
+packages <span
+class="ec-lmss-10">kvoptions-patch </span>(from project <span
+class="ec-lmss-10">kvoptions</span>) or <span
+class="ec-lmss-10">xkvltxp </span>(from project <span
+class="ec-lmss-10">xsetkeys</span>).
+<!--l. 3094--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">11.2 </span> <a
+ id="x1-10400011.2"></a>Index with makeindex</h4>
+ <ul class="itemize1">
+ <li class="itemize">Package hyperref adds <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> commands by the encap mechanism (see documentation
+ of Makeindex), if option hyperindex is set (default). <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> uses the page anchors that
+ are set by hyperref at each page (default). However in the default case page numbers are used
+ in anchor names in arabic form. If the page numbers in other formats are used (book class
+ with <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\frontmatter</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\romannumbering</span></span></span>, ...), then the page anchors are not unique. Therefore
+ option <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">plainpages=false</span></span></span> is recommended.
+ </li>
+ <li class="itemize">The encap mechanism of Makeindex allows to use one command only (see documentation of
+ Makeindex). If the user sets such a command, hyperref suppresses its <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> command. With
+ logical markup this situation can easily be solved:
+
+
+ <pre class="verbatim" id="verbatim-75">
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{makeidx}
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\makeindex
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[hyperindex]{hyperref}
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newcommand*{\main}[1]{\textbf{\hyperpage{#1}}}
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;...
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\index{Some&#x00A0;example|main}
+</pre>
+ <!--l. 3118--><p class="nopar" >
+ </li>
+ <li class="itemize">Scientic Word/Scientific WorkPlace users can use package robustindex with hyperindex=false.
+ </li>
+ <li class="itemize">Other encap characters can be set by option <span
+class="ec-lmss-10">encap</span>. Example for use of &#8220;?&#8221;:
+
+
+ <pre class="verbatim" id="verbatim-76">
+ &#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage[encap=?]{hyperref}
+</pre>
+ <!--l. 3125--><p class="nopar" >
+ </li>
+ <li class="itemize">Another possibility is the insertion of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> by a style file for makeindex. For this case,
+ hyperref&#8217;s insertion will be disabled by <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperindex=false</span></span></span>. <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\hyperpage</span></span></span> will be defined regardless of
+ setting of hyperindex.
+
+
+ <pre class="verbatim" id="verbatim-77">
+ %%%&#x00A0;cut&#x00A0;%%%&#x00A0;hyperindex.ist&#x00A0;%%%&#x00A0;cut&#x00A0;%%%
+ delim_0&#x00A0;",&#x00A0;\\hyperpage{"
+ delim_1&#x00A0;",&#x00A0;\\hyperpage{"
+ delim_2&#x00A0;",&#x00A0;\\hyperpage{"
+ delim_n&#x00A0;"},&#x00A0;\\hyperpage{"
+ delim_t&#x00A0;"}"
+ encap_prefix&#x00A0;"}\\"
+ encap_infix&#x00A0;"{\\hyperpage{"
+ encap_suffix&#x00A0;"}"
+ %%%&#x00A0;cut&#x00A0;%%%&#x00A0;hyperindex.ist&#x00A0;%%%&#x00A0;cut&#x00A0;%%%
+</pre>
+ <!--l. 3141--><p class="nopar" ></li></ul>
+<!--l. 3144--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">11.3 </span> <a
+ id="x1-10500011.3"></a>Warning <span
+class="ec-lmvtt-10">"bookmark level for unknown &#x003C;foobar&#x003E; defaults to 0"</span></h4>
+<!--l. 3146--><p class="noindent" >Getting rid of it:
+
+
+ <pre class="verbatim" id="verbatim-78">
+\makeatletter
+\providecommand*{\toclevel@&#x003C;foobar&#x003E;}{0}
+\makeatother
+</pre>
+<!--l. 3151--><p class="nopar" >
+<!--l. 3153--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">11.4 </span> <a
+ id="x1-10600011.4"></a>Link anchors in figures</h4>
+<!--l. 3155--><p class="noindent" >The caption command increments the counter and here is the place where hyperref set the corresponding
+anchor. Unhappily the caption is set below the figure, so the figure is not visible if a link jumps
+to a figure. In this case, try package <span
+class="ec-lmss-10">hypcap </span>that implements a method to circumvent the
+problem.
+<!--l. 3163--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">11.5 </span> <a
+ id="x1-10700011.5"></a>Additional unicode characters in bookmarks and pdf information entries:</h4>
+
+
+ <pre class="verbatim" id="verbatim-79">
+\documentclass[pdftex]{article}
+\usepackage[unicode]{hyperref}
+</pre>
+<!--l. 3167--><p class="nopar" >
+<!--l. 3169--><p class="indent" > Support for additional unicode characters:
+<!--l. 3171--><p class="indent" > Example: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\.{a}</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\d{a}</span></span></span>
+<!--l. 3173--><p class="indent" > 1. Get a list with unicode data, eg:
+<!--l. 3175--><p class="indent" > http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
+<!--l. 3177--><p class="indent" > 2. Identify the characters (<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\.{a}</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\d{a}</span></span></span>):
+
+
+ <pre class="verbatim" id="verbatim-80">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;0227;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;A&#x00A0;WITH&#x00A0;DOT&#x00A0;ABOVE;...
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;1EA1;LATIN&#x00A0;SMALL&#x00A0;LETTER&#x00A0;A&#x00A0;WITH&#x00A0;DOT&#x00A0;BELOW;...
+</pre>
+<!--l. 3181--><p class="nopar" >
+<!--l. 3183--><p class="indent" > 3. Calculate the octal code:
+<!--l. 3185--><p class="indent" > The first characters of the line in the file are hex values, convert each byte and prepend them with a
+backslash. (This will go into the PDF file.)
+
+
+ <pre class="verbatim" id="verbatim-81">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;0227&#x00A0;-&#x003E;&#x00A0;\002\047
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;1EA1&#x00A0;-&#x003E;&#x00A0;\036\241
+</pre>
+<!--l. 3192--><p class="nopar" >
+<!--l. 3194--><p class="indent" > 4. Transform into a form understood by hyperref:
+<!--l. 3196--><p class="indent" > Hyperref must know where the first byte starts, this is marked by <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">9</span></span></span> (8 and 9 cannot occur in octal
+numbers):
+
+
+ <pre class="verbatim" id="verbatim-82">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\002\047&#x00A0;-&#x003E;&#x00A0;\9002\047
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\036\241&#x00A0;-&#x003E;&#x00A0;\9036\241
+</pre>
+<!--l. 3203--><p class="nopar" >
+<!--l. 3205--><p class="indent" > Optional: <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">8</span></span></span> is used for abbreviations:
+
+
+ <pre class="verbatim" id="verbatim-83">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\900&#x00A0;=&#x00A0;\80,&#x00A0;\901&#x00A0;=&#x00A0;\81,&#x00A0;\902&#x00A0;=&#x00A0;\82,&#x00A0;...
+
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\9002\047&#x00A0;-&#x003E;&#x00A0;\82\047
+</pre>
+<!--l. 3211--><p class="nopar" >
+<!--l. 3213--><p class="indent" > 5. Declare the character with LaTeX:
+
+
+ <pre class="verbatim" id="verbatim-84">
+\DeclareTextCompositeCommand{\.}{PU}{a}{\82\047}
+\DeclareTextCompositeCommand{\d}{PU}{a}{\9036\241}
+
+\begin{document}
+\section{\={a},&#x00A0;\d{a},&#x00A0;\&#8217;{a},&#x00A0;\.{a}}
+\end{document}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
+</pre>
+<!--l. 3222--><p class="nopar" >
+<!--l. 3224--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">11.6 </span> <a
+ id="x1-10800011.6"></a>Footnotes</h4>
+<!--l. 3226--><p class="noindent" >The footnote support is rather limited. It is beyond the scope to use <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotemark</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotetext</span></span></span>
+out of order or reusing <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\footnotemark</span></span></span>. Here you can either disable hyperref&#8217;s footnote support by
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">hyperfootnotes=false</span></span></span> or fiddle with internal macros, nasty examples:
+
+
+ <pre class="verbatim" id="verbatim-85">
+\documentclass{article}
+\usepackage{hyperref}
+\begin{document}
+Hello%
+\footnote{The&#x00A0;first&#x00A0;footnote}
+World%
+\addtocounter{footnote}{-1}%
+\addtocounter{Hfootnote}{-1}%
+\footnotemark.
+\end{document}
+
+&#x00A0;&#x00A0;or
+
+\documentclass{article}
+
+\usepackage{hyperref}
+
+\begin{document}
+
+\makeatletter
+
+A%
+&#x00A0;&#x00A0;\footnotemark
+&#x00A0;&#x00A0;\let\saved@Href@A\Hy@footnote@currentHref
+&#x00A0;&#x00A0;%&#x00A0;remember&#x00A0;link&#x00A0;name
+B%
+&#x00A0;&#x00A0;\footnotemark
+&#x00A0;&#x00A0;\let\saved@Href@B\Hy@footnote@currentHref
+b%
+&#x00A0;&#x00A0;\addtocounter{footnote}{-1}%
+&#x00A0;&#x00A0;\addtocounter{Hfootnote}{-1}%&#x00A0;generate&#x00A0;the&#x00A0;same&#x00A0;anchor
+&#x00A0;&#x00A0;\footnotemark
+C%
+&#x00A0;&#x00A0;\footnotemark
+&#x00A0;&#x00A0;\let\saved@Href@C\Hy@footnote@currentHref
+
+&#x00A0;&#x00A0;\addtocounter{footnote}{-2}%
+&#x00A0;&#x00A0;\let\Hy@footnote@currentHref\saved@Href@A
+\footnotetext{AAAA}%
+&#x00A0;&#x00A0;\addtocounter{footnote}{1}%
+&#x00A0;&#x00A0;\let\Hy@footnote@currentHref\saved@Href@B
+\footnotetext{BBBBB}%
+&#x00A0;&#x00A0;\addtocounter{footnote}{1}%
+&#x00A0;&#x00A0;\let\Hy@footnote@currentHref\saved@Href@C
+\footnotetext{CCCC}%
+
+\end{document}
+</pre>
+<!--l. 3280--><p class="nopar" >
+
+<!--l. 3282--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">11.7 </span> <a
+ id="x1-10900011.7"></a>Subordinate counters</h4>
+<!--l. 3284--><p class="noindent" >Some counters do not have unique values and require the value of other counters to be unique. For
+example, sections or figures might be numbered within chapters or <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\newtheorem</span></span></span> is used with an
+optional counter argument. Internally LaTeX uses <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@addtoreset</span></span></span> to reset a counter in dependency to
+another counter. Package hyperref hooks into <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@addtoreset</span></span></span> to catch this situation. Also <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\numberwithin</span></span></span>
+of package amsmath is caught by hyperref.
+<!--l. 3294--><p class="indent" > However, if the definition of subordinate counters take place before hyperref is loaded, the old
+meaning of <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\@addtoreset</span></span></span> is called without hyperref&#8217;s additions. Then the companion counter macro
+<span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\theH&#x003C;counter&#x003E;</span></span></span> can be redefined accordingly. Or move the definition of subordinate counters after
+hyperref is loaded.
+<!--l. 3300--><p class="indent" > Example for <span class="obeylines-h"><span class="verb"><span
+class="ec-lmvtt-10">\newtheorem</span></span></span>, problematic case:
+
+
+ <pre class="verbatim" id="verbatim-86">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section]
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+</pre>
+<!--l. 3304--><p class="nopar" > Solution a)
+
+
+ <pre class="verbatim" id="verbatim-87">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section}
+</pre>
+<!--l. 3309--><p class="nopar" > Solution b)
+
+
+ <pre class="verbatim" id="verbatim-88">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newtheorem{corA}{CorollaryA}[section]
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\usepackage{hyperref}
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;\newcommand*{\theHcorA}{\theHsection.\number\value{corA}}
+</pre>
+<!--l. 3315--><p class="nopar" >
+<!--l. 3317--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">12 </span> <a
+ id="x1-11000012"></a>History and acknowledgments</h3>
+<!--l. 3319--><p class="noindent" >The original authors of <span
+class="ec-lmss-10">hyperbasics.tex </span>and <span
+class="ec-lmss-10">hypertex.sty</span>, from which this package descends, are
+Tanmoy Bhattacharya and Thorsten Ohl. Package <span
+class="ec-lmss-10">hyperref </span>started as a simple port of their
+work to <span class="HoLogo-LaTeX2e"><span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span><span class="HoLogo-2">2</span><span class="HoLogo-e"><span
+class="lmmi-10">&#x03B5;</span></span></span> standards, but eventually I rewrote nearly everything, because I didn&#8217;t
+understand a lot of the original, and was only interested in getting it to work with <span class="HoLogo-LaTeX">L<span class="HoLogo-a">A</span><span class="HoLogo-TeX">T<span class="HoLogo-e">E</span>X</span></span>. I
+would like to thank Arthur Smith, Tanmoy Bhattacharya, Mark Doyle, Paul Ginsparg, David
+Carlisle, T.&#x00A0;V.&#x00A0;Raman and Leslie Lamport for comments, requests, thoughts and code to
+get the package into its first useable state. Various other people are mentioned at the point
+in the source where I had to change the code in later versions because of problems they
+found.
+<!--l. 3332--><p class="indent" > Tanmoy found a great many of the bugs, and (even better) often provided fixes, which has
+made the package more robust. The days spent on RevTeX&#x00A0;are entirely due to him! The
+investigations of Bill Moss into the later versions including native PDF support uncovered a
+good many bugs, and his testing is appreciated. Hans Hagen provided a lot of insight into
+PDF.
+<!--l. 3340--><p class="indent" > Berthold Horn provided help, encouragement and sponsorship for the <span
+class="ec-lmss-10">dvipsone </span>and <span
+class="ec-lmss-10">dviwindo </span>drivers.
+Sergey Lesenko provided the changes needed for <span
+class="ec-lmss-10">dvipdf</span>, and Hàn Thê´ Thành supplied all
+the information needed for <span
+class="ec-lmss-10">pdftex</span>. Patrick Daly kindly updated his <span
+class="ec-lmss-10">natbib </span>package to allow
+easy integration with <span
+class="ec-lmss-10">hyperref</span>. Michael Mehlich&#8217;s <span
+class="ec-lmss-10">hyper </span>package (developed in parallel with
+<span
+class="ec-lmss-10">hyperref</span>) showed me solutions for some problems. Hopefully the two packages will combine one
+day.
+<!--l. 3349--><p class="indent" > The forms creation section owes a great deal to: T.&#x00A0;V.&#x00A0;Raman, for encouragement, support and
+ideas; Thomas Merz, whose book <span
+class="ec-lmri-10">Web Publishing with Acrobat/PDF </span>provided crucial insights;
+D.&#x00A0;P.&#x00A0;Story, whose detailed article about pdfmarks and forms solved many practical problems; and Hans
+Hagen, who explained how to do it in <span
+class="ec-lmss-10">pdftex</span>.
+<!--l. 3355--><p class="indent" > Steve Peter recreated the manual source in July 2003 after it had been lost.
+<!--l. 3358--><p class="indent" > Especial extra thanks to David Carlisle for the <span
+class="ec-lmss-10">backref </span>module, the ps2pdf and dviwindo support,
+frequent general rewrites of my bad code, and for working on changes to the <span
+class="ec-lmss-10">xr </span>package to suit
+<span
+class="ec-lmss-10">hyperref</span>.
+
+
+ <h3 class="sectionHead"><span class="titlemark">13 </span> <a
+ id="x1-11100013"></a>GNU Free Documentation License</h3>
+<!--l. 6--><p class="noindent" >Version 1.2, November 2002
+<!--l. 9--><p class="indent" > Copyright <span
+class="ts1-lmr10-">©</span>&#x00A0;2000,2001,2002 Free Software Foundation, Inc.<br
+class="newline" />59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br
+class="newline" />Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is
+not allowed.
+<!--l. 15--><p class="noindent" >
+ <h4 class="likesubsectionHead"><a
+ id="x1-11200013"></a>Preamble</h4>
+<!--l. 17--><p class="noindent" >The purpose of this License is to make a manual, textbook, or other functional and useful document
+&#8220;free&#8221; in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with
+or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for
+the author and publisher a way to get credit for their work, while not being considered responsible for
+modifications made by others.
+<!--l. 25--><p class="indent" > This License is a kind of &#8220;copyleft&#8221;, which means that derivative works of the document must
+themselves be free in the same sense. It complements the GNU General Public License, which is a
+copyleft license designed for free software.
+<!--l. 30--><p class="indent" > We have designed this License in order to use it for manuals for free software, because free software
+needs free documentation: a free program should come with manuals providing the same
+freedoms that the software does. But this License is not limited to software manuals; it can
+be used for any textual work, regardless of subject matter or whether it is published as a
+printed book. We recommend this License principally for works whose purpose is instruction or
+reference.
+<!--l. 39--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.1 </span> <a
+ id="x1-11300013.1"></a>Applicability and definitions</h4>
+<!--l. 42--><p class="noindent" >This License applies to any manual or other work, in any medium, that contains a notice placed by
+the copyright holder saying it can be distributed under the terms of this License. Such a
+notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under
+the conditions stated herein. The &#8220;Document&#8221;, below, refers to any such manual or work.
+Any member of the public is a licensee, and is addressed as &#8220;you&#8221;. You accept the license
+if you copy, modify or distribute the work in a way requiring permission under copyright
+law.
+<!--l. 52--><p class="indent" > A &#8220;Modified Version&#8221; of the Document means any work containing the Document or a
+portion of it, either copied verbatim, or with modifications and/or translated into another
+language.
+<!--l. 56--><p class="indent" > A &#8220;Secondary Section&#8221; is a named appendix or a front-matter section of the Document that deals
+exclusively with the relationship of the publishers or authors of the Document to the Document&#8217;s overall
+subject (or to related matters) and contains nothing that could fall directly within that overall subject.
+(Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical connection with the subject or with
+related matters, or of legal, commercial, philosophical, ethical or political position regarding
+them.
+<!--l. 67--><p class="indent" > The &#8220;Invariant Sections&#8221; are certain Secondary Sections whose titles are designated, as being those of
+Invariant Sections, in the notice that says that the Document is released under this License. If a section
+does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The
+Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections
+then there are none.
+
+
+<!--l. 75--><p class="indent" > The &#8220;Cover Texts&#8221; are certain short passages of text that are listed, as Front-Cover Texts or
+Back-Cover Texts, in the notice that says that the Document is released under this License.
+A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25
+words.
+<!--l. 80--><p class="indent" > A &#8220;Transparent&#8221; copy of the Document means a machine-readable copy, represented in a format
+whose specification is available to the general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or
+(for drawings) some widely available drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an
+otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or
+discourage subsequent modification by readers is not Transparent. An image format is not
+Transparent if used for any substantial amount of text. A copy that is not &#8220;Transparent&#8221; is called
+&#8220;Opaque&#8221;.
+<!--l. 93--><p class="indent" > Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo
+input format, LaTeX&#x00A0;input format, SGML or XML using a publicly available DTD, and
+standard-conforming simple HTML, PostScript or PDF designed for human modification.
+Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include
+proprietary formats that can be read and edited only by proprietary word processors, SGML
+or XML for which the DTD and/or processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word processors for output purposes
+only.
+<!--l. 104--><p class="indent" > The &#8220;Title Page&#8221; means, for a printed book, the title page itself, plus such following pages as are
+needed to hold, legibly, the material this License requires to appear in the title page. For works in
+formats which do not have any title page as such, &#8220;Title Page&#8221; means the text near the
+most prominent appearance of the work&#8217;s title, preceding the beginning of the body of the
+text.
+<!--l. 111--><p class="indent" > A section &#8220;Entitled XYZ&#8221; means a named subunit of the Document whose title either is precisely
+XYZ or contains XYZ in parentheses following text that translates XYZ in another language.
+(Here XYZ stands for a specific section name mentioned below, such as &#8220;Acknowledgements&#8221;,
+&#8220;Dedications&#8221;, &#8220;Endorsements&#8221;, or &#8220;History&#8221;.) To &#8220;Preserve the Title&#8221; of such a section when you
+modify the Document means that it remains a section &#8220;Entitled XYZ&#8221; according to this
+definition.
+<!--l. 119--><p class="indent" > The Document may include Warranty Disclaimers next to the notice which states that this
+License applies to the Document. These Warranty Disclaimers are considered to be included by
+reference in this License, but only as regards disclaiming warranties: any other implication
+that these Warranty Disclaimers may have is void and has no effect on the meaning of this
+License.
+<!--l. 127--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.2 </span> <a
+ id="x1-11400013.2"></a>Verbatim copying</h4>
+<!--l. 130--><p class="noindent" >You may copy and distribute the Document in any medium, either commercially or noncommercially,
+provided that this License, the copyright notices, and the license notice saying this License applies to the
+Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this
+License. You may not use technical measures to obstruct or control the reading or further copying of the
+copies you make or distribute. However, you may accept compensation in exchange for copies.
+If you distribute a large enough number of copies you must also follow the conditions in
+section&#x00A0;<a
+href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a>.
+<!--l. 141--><p class="indent" > You may also lend copies, under the same conditions stated above, and you may publicly display
+copies.
+
+
+<!--l. 145--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.3 </span> <a
+ id="x1-11500013.3"></a>Copying in quantity</h4>
+<!--l. 148--><p class="noindent" >If you publish printed copies (or copies in media that commonly have printed covers) of the Document,
+numbering more than 100, and the Document&#8217;s license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front
+cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly
+identify you as the publisher of these copies. The front cover must present the full title with all
+words of the title equally prominent and visible. You may add other material on the covers in
+addition. Copying with changes limited to the covers, as long as they preserve the title of
+the Document and satisfy these conditions, can be treated as verbatim copying in other
+respects.
+<!--l. 161--><p class="indent" > If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
+listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+<!--l. 166--><p class="indent" > If you publish or distribute Opaque copies of the Document numbering more than 100, you must
+either include a machine-readable Transparent copy along with each Opaque copy, or state in or with
+each Opaque copy a computer-network location from which the general network-using public has access
+to download using public-standard network protocols a complete Transparent copy of the Document, free
+of added material. If you use the latter option, you must take reasonably prudent steps, when you
+begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will
+remain thus accessible at the stated location until at least one year after the last time you
+distribute an Opaque copy (directly or through your agents or retailers) of that edition to the
+public.
+<!--l. 179--><p class="indent" > It is requested, but not required, that you contact the authors of the Document well before
+redistributing any large number of copies, to give them a chance to provide you with an updated version
+of the Document.
+<!--l. 184--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.4 </span> <a
+ id="x1-11600013.4"></a>Modifications</h4>
+<!--l. 187--><p class="noindent" >You may copy and distribute a Modified Version of the Document under the conditions of sections&#x00A0;<a
+href="#x1-11400013.2">13.2<!--tex4ht:ref: verbatim --></a>
+and <a
+href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a> above, provided that you release the Modified Version under precisely this License, with the
+Modified Version filling the role of the Document, thus licensing distribution and modification of the
+Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified
+Version:
+<!--l. 196--><p class="indent" >
+ <ol class="enumerate1" >
+ <li
+ class="enumerate" id="x1-116002x1">Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
+ and from those of previous versions (which should, if there were any, be listed in the History
+ section of the Document). You may use the same title as a previous version if the original
+ publisher of that version gives permission.
+ </li>
+ <li
+ class="enumerate" id="x1-116004x2">List on the Title Page, as authors, one or more persons or entities responsible for authorship
+ of the modifications in the Modified Version, together with at least five of the principal
+ authors of the Document (all of its principal authors, if it has fewer than five), unless they
+ release you from this requirement.
+ </li>
+ <li
+ class="enumerate" id="x1-116006x3">State on the Title page the name of the publisher of the Modified Version, as the publisher.
+
+
+ </li>
+ <li
+ class="enumerate" id="x1-116008x4">Preserve all the copyright notices of the Document.
+ </li>
+ <li
+ class="enumerate" id="x1-116010x5">Add an appropriate copyright notice for your modifications adjacent to the other copyright
+ notices.
+ </li>
+ <li
+ class="enumerate" id="x1-116012x6">Include, immediately after the copyright notices, a license notice giving the public permission
+ to use the Modified Version under the terms of this License, in the form shown in the
+ Addendum below.
+ </li>
+ <li
+ class="enumerate" id="x1-116014x7">Preserve in that license notice the full lists of Invariant Sections and required Cover Texts
+ given in the Document&#8217;s license notice.
+ </li>
+ <li
+ class="enumerate" id="x1-116016x8">Include an unaltered copy of this License.
+ </li>
+ <li
+ class="enumerate" id="x1-116018x9">Preserve the section Entitled &#8220;History&#8221;, Preserve its Title, and add to it an item stating at
+ least the title, year, new authors, and publisher of the Modified Version as given on the Title
+ Page. If there is no section Entitled &#8220;History&#8221; in the Document, create one stating the title,
+ year, authors, and publisher of the Document as given on its Title Page, then add an item
+ describing the Modified Version as stated in the previous sentence.
+ </li>
+ <li
+ class="enumerate" id="x1-116020x10">Preserve the network location, if any, given in the Document for public access to a
+ Transparent copy of the Document, and likewise the network locations given in the Document
+ for previous versions it was based on. These may be placed in the &#8220;History&#8221; section. You
+ may omit a network location for a work that was published at least four years before the
+ Document itself, or if the original publisher of the version it refers to gives permission.
+ </li>
+ <li
+ class="enumerate" id="x1-116022x11">For any section Entitled &#8220;Acknowledgements&#8221; or &#8220;Dedications&#8221;, Preserve the Title of the
+ section, and preserve in the section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+ </li>
+ <li
+ class="enumerate" id="x1-116024x12">Preserve all the Invariant Sections of the Document, unaltered in their text and in their
+ titles. Section numbers or the equivalent are not considered part of the section titles.
+ </li>
+ <li
+ class="enumerate" id="x1-116026x13">Delete any section Entitled &#8220;Endorsements&#8221;. Such a section may not be included in the
+ Modified Version.
+ </li>
+ <li
+ class="enumerate" id="x1-116028x14">Do not retitle any existing section to be Entitled &#8220;Endorsements&#8221; or to conflict in title with
+ any Invariant Section.
+ </li>
+ <li
+ class="enumerate" id="x1-116030x15">Preserve any Warranty Disclaimers.
+ </li></ol>
+
+
+<!--l. 247--><p class="indent" > If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
+Sections and contain no material copied from the Document, you may at your option designate some or
+all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in
+the Modified Version&#8217;s license notice. These titles must be distinct from any other section
+titles.
+<!--l. 254--><p class="indent" > You may add a section Entitled &#8220;Endorsements&#8221;, provided it contains nothing but endorsements of
+your Modified Version by various parties&#8211;for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a standard.
+<!--l. 260--><p class="indent" > You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as
+a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any
+one entity. If the Document already includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of, you may not add another; but you
+may replace the old one, on explicit permission from the previous publisher that added the old
+one.
+<!--l. 270--><p class="indent" > The author(s) and publisher(s) of the Document do not by this License give permission to use their
+names for publicity for or to assert or imply endorsement of any Modified Version.
+<!--l. 275--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.5 </span> <a
+ id="x1-11700013.5"></a>Combining documents</h4>
+<!--l. 278--><p class="noindent" >You may combine the Document with other documents released under this License, under the terms
+defined in section&#x00A0;<a
+href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a> above for modified versions, provided that you include in the combination all of
+the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant
+Sections of your combined work in its license notice, and that you preserve all their Warranty
+Disclaimers.
+<!--l. 286--><p class="indent" > The combined work need only contain one copy of this License, and multiple identical Invariant
+Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name
+but different contents, make the title of each such section unique by adding at the end of it, in
+parentheses, the name of the original author or publisher of that section if known, or else a unique
+number. Make the same adjustment to the section titles in the list of Invariant Sections in the license
+notice of the combined work.
+<!--l. 295--><p class="indent" > In the combination, you must combine any sections Entitled &#8220;History&#8221; in the various original
+documents, forming one section Entitled &#8220;History&#8221;; likewise combine any sections Entitled
+&#8220;Acknowledgements&#8221;, and any sections Entitled &#8220;Dedications&#8221;. You must delete all sections Entitled
+&#8220;Endorsements&#8221;.
+<!--l. 302--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.6 </span> <a
+ id="x1-11800013.6"></a>Collections of documents</h4>
+<!--l. 305--><p class="noindent" >You may make a collection consisting of the Document and other documents released under this License,
+and replace the individual copies of this License in the various documents with a single copy that is
+included in the collection, provided that you follow the rules of this License for verbatim copying of each
+of the documents in all other respects.
+<!--l. 311--><p class="indent" > You may extract a single document from such a collection, and distribute it individually under this
+License, provided you insert a copy of this License into the extracted document, and follow this License
+in all other respects regarding verbatim copying of that document.
+<!--l. 317--><p class="noindent" >
+
+
+ <h4 class="subsectionHead"><span class="titlemark">13.7 </span> <a
+ id="x1-11900013.7"></a>Aggregation with independent works</h4>
+<!--l. 320--><p class="noindent" >A compilation of the Document or its derivatives with other separate and independent documents or
+works, in or on a volume of a storage or distribution medium, is called an &#8220;aggregate&#8221; if the copyright
+resulting from the compilation is not used to limit the legal rights of the compilation&#8217;s users beyond what
+the individual works permit. When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves derivative works of the
+Document.
+<!--l. 329--><p class="indent" > If the Cover Text requirement of section&#x00A0;<a
+href="#x1-11500013.3">13.3<!--tex4ht:ref: copying --></a> is applicable to these copies of the Document, then if
+the Document is less than one half of the entire aggregate, the Document&#8217;s Cover Texts may be placed
+on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the
+Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+<!--l. 338--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.8 </span> <a
+ id="x1-12000013.8"></a>Translation</h4>
+<!--l. 341--><p class="noindent" >Translation is considered a kind of modification, so you may distribute translations of the Document
+under the terms of section&#x00A0;<a
+href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a>. Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include translations of some or all Invariant
+Sections in addition to the original versions of these Invariant Sections. You may include a translation of
+this License, and all the license notices in the Document, and any Warranty Disclaimers,
+provided that you also include the original English version of this License and the original
+versions of those notices and disclaimers. In case of a disagreement between the translation
+and the original version of this License or a notice or disclaimer, the original version will
+prevail.
+<!--l. 355--><p class="indent" > If a section in the Document is Entitled &#8220;Acknowledgements&#8221;, &#8220;Dedications&#8221;, or &#8220;History&#8221;, the
+requirement (section&#x00A0;<a
+href="#x1-11600013.4">13.4<!--tex4ht:ref: modifications --></a>) to Preserve its Title (section&#x00A0;<a
+href="#x1-11300013.1">13.1<!--tex4ht:ref: applicability --></a>) will typically require changing the actual
+title.
+<!--l. 362--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.9 </span> <a
+ id="x1-12100013.9"></a>Termination</h4>
+<!--l. 365--><p class="noindent" >You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under
+this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However, parties who have received copies, or
+rights, from you under this License will not have their licenses terminated so long as such parties remain
+in full compliance.
+<!--l. 374--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">13.10 </span> <a
+ id="x1-12200013.10"></a>Future revisions of this license</h4>
+<!--l. 377--><p class="noindent" >The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
+License from time to time. Such new versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
+<!--l. 383--><p class="indent" > Each version of the License is given a distinguishing version number. If the Document specifies that a
+particular numbered version of this License &#8220;or any later version&#8221; applies to it, you have the option of
+following the terms and conditions either of that specified version or of any later version that has been
+published (not as a draft) by the Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not as a draft) by the Free Software
+Foundation.
+
+
+<!--l. 393--><p class="noindent" >
+ <h4 class="likesubsectionHead"><a
+ id="x1-12300013.10"></a>Addendum: how to use this license for your documents</h4>
+<!--l. 395--><p class="noindent" >To use this License in a document you have written, include a copy of the License in the document and
+put the following copyright and license notices just after the title page:
+<!--l. 399--><p class="indent" >
+ <blockquote class="quote">
+ <!--l. 400--><p class="noindent" >Copyright <span
+class="ts1-lmr10-">©</span>&#x00A0;YEAR YOUR NAME. Permission is granted to copy, distribute and/or
+ modify this document under the terms of the GNU Free Documentation License,
+ Version 1.2 or any later version published by the Free Software Foundation; with no
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the
+ license is included in the section entitled &#8220;GNU Free Documentation License&#8221;.</blockquote>
+<!--l. 409--><p class="indent" > If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the &#8220;with...Texts.&#8221;
+line with this:
+<!--l. 412--><p class="indent" > with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and
+with the Back-Cover Texts being LIST.
+<!--l. 415--><p class="indent" > If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
+those two alternatives to suit the situation.
+<!--l. 419--><p class="indent" > If your document contains nontrivial examples of program code, we recommend releasing these
+examples in parallel under your choice of free software license, such as the GNU General Public License,
+to permit their use in free software.
+
+
+
+
+
+</body></html>
+
+
+
+
diff --git a/macros/latex/contrib/hyperref/doc/manual2.html b/macros/latex/contrib/hyperref/doc/manual2.html
new file mode 100644
index 0000000000..71af561e04
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual2.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="footnote-text">
+ <!--l. 193--><p class="indent" > <span class="footnote-mark"><a
+ id="fn1x0"> <sup class="textsuperscript">1</sup></a></span><span
+class="ec-lmr-8">Now: </span><a
+href="https://ctan.org/tex-archive/support/hypertex/hypertex" class="url" ><span
+class="ec-lmvtt-10x-x-80">https://ctan.org/tex-archive/support/hypertex/hypertex</span></a></div>
+
+</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/manual3.html b/macros/latex/contrib/hyperref/doc/manual3.html
new file mode 100644
index 0000000000..00062b22f0
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual3.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="footnote-text">
+ <!--l. 211--><p class="indent" > <span class="footnote-mark"><a
+ id="fn2x0"> <sup class="textsuperscript">2</sup></a></span><span
+class="ec-lmr-8">This is borrowed from an article by Arthur Smith.</span></div>
+
+</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/manual4.html b/macros/latex/contrib/hyperref/doc/manual4.html
new file mode 100644
index 0000000000..70dae2e346
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual4.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="footnote-text">
+ <!--l. 276--><p class="indent" > <span class="footnote-mark"><a
+ id="fn3x0"> <sup class="textsuperscript">3</sup></a></span><span
+class="ec-lmr-8">Make sure you turn off the partial font downloading supported by </span><span
+class="ec-lmss-8">dvips </span><span
+class="ec-lmr-8">and </span><span
+class="ec-lmss-8">dvipsone </span><span
+class="ec-lmr-8">in favor of Distiller&#8217;s own</span>
+ <span
+class="ec-lmr-8">system.</span></div>
+
+</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/manual5.html b/macros/latex/contrib/hyperref/doc/manual5.html
new file mode 100644
index 0000000000..01434811f6
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual5.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="footnote-text">
+ <span class="footnote-mark"><a
+ id="fn4x0"> <sup class="textsuperscript">4</sup></a></span><span
+class="ec-lmr-8">This section moved from the README file, needs more integration into the manual</span></div>
+
+</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/manual6.html b/macros/latex/contrib/hyperref/doc/manual6.html
new file mode 100644
index 0000000000..eba4717509
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual6.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="footnote-text">
+ <span class="footnote-mark"><a
+ id="fn5x0"> <sup class="textsuperscript">5</sup></a></span><span
+class="ec-lmr-8">This section moved from the README file, needs more integration into the manual</span></div>
+
+</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/manual7.html b/macros/latex/contrib/hyperref/doc/manual7.html
new file mode 100644
index 0000000000..17b42e0aef
--- /dev/null
+++ b/macros/latex/contrib/hyperref/doc/manual7.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
+<!-- html -->
+<meta name="src" content="manual.tex">
+<link rel="stylesheet" type="text/css" href="manual.css">
+</head><body
+>
+ <div class="footnote-text">
+ <span class="footnote-mark"><a
+ id="fn6x0"> <sup class="textsuperscript">6</sup></a></span><span
+class="ec-lmr-8">This section moved from the README file, needs more integration into the manual</span></div>
+
+</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/nameref.pdf b/macros/latex/contrib/hyperref/doc/nameref.pdf
index 73a288882e..51ab4821f0 100644
--- a/macros/latex/contrib/hyperref/doc/nameref.pdf
+++ b/macros/latex/contrib/hyperref/doc/nameref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/hluatex.dtx b/macros/latex/contrib/hyperref/hluatex.dtx
index 91f9abc006..021fb802d9 100644
--- a/macros/latex/contrib/hyperref/hluatex.dtx
+++ b/macros/latex/contrib/hyperref/hluatex.dtx
@@ -1,6 +1,6 @@
% \iffalse
% Source File: hluatex.dtx
-% 2021-02-07 v7.00h
+% 2021-02-08 v7.00i
%
% Copyright
% 2016-2019 Oberdiek Package Support Group
@@ -31,7 +31,7 @@
%
% \begin{macrocode}
%<*luatex>
-%% 2021-02-07 v7.00h
+%% 2021-02-08 v7.00i
%% force unicode encoding, see issue #101
%% code mostly copied from hxetex.def
\HyPsd@LoadUnicode
diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx
index 5ab411463a..f0deae0fbd 100644
--- a/macros/latex/contrib/hyperref/hyperref.dtx
+++ b/macros/latex/contrib/hyperref/hyperref.dtx
@@ -47,11 +47,12 @@
%<tex4htcfg>\ProvidesFile{htex4ht.cfg}
%<pd1enc>\ProvidesFile{pd1enc.def}
%<puenc>\ProvidesFile{puenc.def}
+%<puextra>\ProvidesFile{puencextra.def}
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
%<psdextra>\ProvidesFile{psdextra.def}
%<lang>\ProvidesFile{hyperref-langpatches.def}
-%<!none> [2021-02-07 v7.00h %
+%<!none> [2021-02-08 v7.00i %
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -87,6 +88,7 @@
%<tex4htcfg> Hyperref configuration file for TeX4ht]
%<pd1enc> Hyperref: PDFDocEncoding definition (HO)]
%<puenc> Hyperref: PDF Unicode definition (HO)]
+%<puextra> Hyperref: PDF Unicode extra definition (HO)]
%<puvnenc> Hyperref: Additions to puenc.def for VnTeX]
%<puarenc> Hyperref: Additions to puenc.def for Arabi]
%<psdextra> Hyperref: Additions to PDF string support]
@@ -1229,15 +1231,17 @@
% Because the box shifting
% used in the \TeX{} logo does not work while writing to a file,
% the standard \TeX{} logos are redefined.
+% We use the direct PU code to avoid problems if
+% \cs{textepsilon} is not defined.
% \begin{macrocode}
\def\TeX{TeX}%
\def\LaTeX{La\TeX}%
\def\LaTeXe{%
\LaTeX2%
- \ifHy@unicode\textepsilon\else e\fi
+ \ifHy@unicode\83\265\else e\fi
}%
\def\eTeX{%
- \ifHy@unicode\textepsilon\else e\fi
+ \ifHy@unicode\83\265\else e\fi
-\TeX%
}%
\def\SliTeX{Sli\TeX}%
@@ -2811,7 +2815,7 @@
% \cs{HyPsd@hyspacetest} replaces the \cs{hspace} by a space, if
% the length is greater than zero.
% \begin{macrocode}
-\def\HyPsd@hspacetest#1{\ifdim#1>\z@\space\fi}
+\def\HyPsd@hspacetest#1{\ifdim\dimexpr#1\relax>\z@\space\fi}
% \end{macrocode}
% \end{macro}
%
@@ -4886,7 +4890,6 @@
% change 2020-08-14, use unicode by default:
% \begin{macrocode}
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode
-\HyPsd@LoadUnicode
\def\HyPsd@LoadStringEnc{%
\RequirePackage{stringenc}[2009/12/15]%
\let\HyPsd@LoadStringEnc\relax
@@ -6818,6 +6821,12 @@
% \end{macrocode}
%
% After processing options.
+% \subsection{Load unicode support}
+% \begin{macrocode}
+\ifHy@unicode
+ \HyPsd@LoadUnicode
+\fi
+% \end{macrocode}
%
% \subsection{Package xspace support}
%
@@ -20964,8 +20973,10 @@
\DeclareTextCommand{\H}{PU}[1]{#1\83\013}% U+030B
% U+030C COMBINING CARON; caroncmb
\DeclareTextCommand{\v}{PU}[1]{#1\83\014}% U+030C
+%</puenc>
% U+030F COMBINING DOUBLE GRAVE ACCENT; dblgravecmb
-\DeclareTextCommand{\G}{PU}[1]{#1\83\017}% U+030F
+%<puextra>\DeclareTextCommand{\G}{PU}[1]{#1\83\017}% U+030F
+%<*puenc>
\ifx\CYRDZE\@undefined \else
\DeclareTextCommand{\C}{PU}[1]{#1\83\017}% U+030F
\fi
@@ -21016,7 +21027,9 @@
\DeclareTextCompositeCommand{\.}{PU}{\@empty}{\textdotaccent}%
\DeclareTextCompositeCommand{\c}{PU}{\@empty}{\textcedilla}%
\DeclareTextCompositeCommand{\u}{PU}{\@empty}{\textasciibreve}%
-\DeclareTextCompositeCommand{\G}{PU}{\@empty}{\textdoublegrave}%
+%</puenc>
+%<puextra>\DeclareTextCompositeCommand{\G}{PU}{\@empty}{\textdoublegrave}%
+%<*puenc>
\DeclareTextCompositeCommand{\=}{PU}{\@empty}{\textasciimacron}%
\DeclareTextCompositeCommand{\H}{PU}{\@empty}{\texthungarumlaut}%
\DeclareTextCompositeCommand{\k}{PU}{\@empty}{\textogonek}%
@@ -21045,7 +21058,9 @@
\DeclareTextCompositeCommand{\.}{PU}{\ }{\textdotaccent}%
\DeclareTextCompositeCommand{\c}{PU}{\ }{\textcedilla}%
\DeclareTextCompositeCommand{\u}{PU}{\ }{\textasciibreve}%
-\DeclareTextCompositeCommand{\G}{PU}{\ }{\textdoublegrave}%
+%</puenc>
+%<puextra>\DeclareTextCompositeCommand{\G}{PU}{\ }{\textdoublegrave}%
+%<*puenc>
\DeclareTextCompositeCommand{\=}{PU}{\ }{\textasciimacron}%
\DeclareTextCompositeCommand{\H}{PU}{\ }{\texthungarumlaut}%
\DeclareTextCompositeCommand{\k}{PU}{\ }{\textogonek}%
@@ -21841,6 +21856,8 @@
% U+01FF LATIN SMALL LETTER O WITH STROKE AND ACUTE;
% *oslashacute, ostrokeacute
\DeclareTextCompositeCommand{\'}{PU}{\o}{\81\377}% U+01FF
+%</puenc>
+%<*puextra>
% U+0200 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE; Adblgrave
\DeclareTextCompositeCommand{\G}{PU}{A}{\82\000}% U+0200
% U+0201 LATIN SMALL LETTER A WITH DOUBLE GRAVE; adblgrave
@@ -21849,28 +21866,40 @@
\DeclareTextCompositeCommand{\G}{PU}{E}{\82\004}% U+0204
% U+0205 LATIN SMALL LETTER E WITH DOUBLE GRAVE; edblgrave
\DeclareTextCompositeCommand{\G}{PU}{e}{\82\005}% U+0205
+%</puextra>
+%<*puenc>
% U+0206 LATIN CAPITAL LETTER E WITH INVERTED BREVE; Einvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{E}{\82\006}% U+0206
% U+0207 LATIN SMALL LETTER E WITH INVERTED BREVE; einvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{e}{\82\007}% U+0207
+%</puenc>
+%<*puextra>
% U+0208 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE; Idblgrave
\DeclareTextCompositeCommand{\G}{PU}{I}{\82\010}% U+0208
% U+0209 LATIN SMALL LETTER I WITH DOUBLE GRAVE; idblgrave
\DeclareTextCompositeCommand{\G}{PU}{\i}{\82\011}% U+0209
\DeclareTextCompositeCommand{\G}{PU}{i}{\82\011}% U+0209
+%</puextra>
+%<*puenc>
% U+020A LATIN CAPITAL LETTER I WITH INVERTED BREVE; Iinvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{I}{\82\012}% U+020A
% U+020B LATIN SMALL LETTER I WITH INVERTED BREVE; iinvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{i}{\82\013}% U+020B
\DeclareTextCompositeCommand{\textinvbreve}{PU}{\i}{\82\013}% U+020B
+%</puenc>
+%<*puextra>
% U+020C LATIN CAPITAL LETTER O WITH DOUBLE GRAVE; Odblgrave
\DeclareTextCompositeCommand{\G}{PU}{O}{\82\014}% U+020C
% U+020D LATIN SMALL LETTER O WITH DOUBLE GRAVE; odblgrave
\DeclareTextCompositeCommand{\G}{PU}{o}{\82\015}% U+020D
+%</puextra>
+%<*puenc>
% U+020E LATIN CAPITAL LETTER O WITH INVERTED BREVE; Oinvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{O}{\82\016}% U+020E
% U+020F LATIN SMALL LETTER O WITH INVERTED BREVE; oinvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{o}{\82\017}% U+020F
+%</puenc>
+%<*puextra>
% U+0210 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE; Rdblgrave
\DeclareTextCompositeCommand{\G}{PU}{R}{\82\020}% U+0210
% U+0211 LATIN SMALL LETTER R WITH DOUBLE GRAVE; rdblgrave
@@ -21879,6 +21908,8 @@
\DeclareTextCompositeCommand{\G}{PU}{U}{\82\024}% U+0214
% U+0215 LATIN SMALL LETTER U WITH DOUBLE GRAVE; udblgrave
\DeclareTextCompositeCommand{\G}{PU}{u}{\82\025}% U+0215
+%</puextra>
+%<*puenc>
% U+0216 LATIN CAPITAL LETTER U WITH INVERTED BREVE; Uinvertedbreve
\DeclareTextCompositeCommand{\textinvbreve}{PU}{U}{\82\026}% U+0216
% U+0217 LATIN SMALL LETTER U WITH INVERTED BREVE; uinvertedbreve
diff --git a/macros/latex/contrib/hyperref/hyperref.ins b/macros/latex/contrib/hyperref/hyperref.ins
index 43b531fba5..46aff3f9c3 100644
--- a/macros/latex/contrib/hyperref/hyperref.ins
+++ b/macros/latex/contrib/hyperref/hyperref.ins
@@ -83,6 +83,7 @@
\file{hxetex.def}{\from{hyperref.dtx}{xetex,pdfform,outlines}}
\file{pd1enc.def}{\from{hyperref.dtx}{pd1enc}}
\file{puenc.def}{\from{hyperref.dtx}{puenc}}
+ \file{puenc-extra.def}{\from{hyperref.dtx}{puextra}}
\file{puvnenc.def}{\from{hyperref.dtx}{puvnenc}}
\file{puarenc.def}{\from{hyperref.dtx}{puarenc}}
\file{psdextra.def}{\from{hyperref.dtx}{psdextra}}
diff --git a/macros/latex/contrib/hyperref/manifest.txt b/macros/latex/contrib/hyperref/manifest.txt
index 3998d8c1d3..14c5d68c97 100644
--- a/macros/latex/contrib/hyperref/manifest.txt
+++ b/macros/latex/contrib/hyperref/manifest.txt
@@ -66,6 +66,7 @@ hxetex.def
Hyperref drivers.
pd1enc.def
puenc.def
+puenc-extra.def
puvnenc.def
puarenc.def
psdextra.def
@@ -83,4 +84,3 @@ paper.pdf
at EuroTeX'99.
slides.pdf
Slides for Heiko Oberdiek's talk at EuroTeX'99.
-
diff --git a/macros/latex/contrib/hyperref/xr-hyper.sty b/macros/latex/contrib/hyperref/xr-hyper.sty
index a18ca9dc41..b0578b0b5b 100644
--- a/macros/latex/contrib/hyperref/xr-hyper.sty
+++ b/macros/latex/contrib/hyperref/xr-hyper.sty
@@ -61,7 +61,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xr-hyper}
- [2021-02-07 v7.00h eXternal References (DPC)]
+ [2021-02-08 v7.00i eXternal References (DPC)]
\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
diff --git a/macros/luatex/optex/README b/macros/luatex/optex/README
index 50d4f1d165..6c5ae30b5a 100644
--- a/macros/luatex/optex/README
+++ b/macros/luatex/optex/README
@@ -19,7 +19,14 @@ doc/ ... PDF version of the OpTeX documentation and sources.
History:
-<0.19> Jan. 2020
+<1.00> Feb. 2021
+ The OMLS (OpTeX Markup Language Standard) was developed. It helps to create
+ convertors from/to OpTeX documents and similar applications.
+ \pdfunidef re-imeplemted.
+ \thisoutline introduced.
+ \verbchar introduced instead \activettchar.
+ Bugs fixing.
+<0.19> Jan. 2021
emoji support as pkg/emoji.opm.
non-braakable places generated by luavlna, suported as pkg/vlna.opm.
\begblock...\endblock introduced.
diff --git a/macros/luatex/optex/base/basic-macros.opm b/macros/luatex/optex/base/basic-macros.opm
index 3f0f7a5c24..4d465c3010 100644
--- a/macros/luatex/optex/base/basic-macros.opm
+++ b/macros/luatex/optex/base/basic-macros.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \sdef {Basic macros for OpTeX <2021-01-08>} % loaded in format
+\_codedecl \sdef {Basic macros for OpTeX <2021-02-03>} % loaded in format
\_doc ------------------------------
\`\bgroup`, \`\egroup`, \`\empty`, \`\space`, \`\null` and \`\wlog`
@@ -12,31 +12,31 @@
\_def \_space { }
\_def \_null {\_hbox{}}
\_def \_wlog {\_immediate\_write-1 } % write on log file (only)
-
\_public \bgroup \egroup \empty \space \null \wlog ;
\_doc ------------------------------
- \`\ignoreit` ignores next token or `{<text>}`, \`\ignoresecond`
- uses first, ignores second parameter and \`\usesecond`
- ignores first, uses second parameter.
+ \`\ignoreit` ignores next token or `{<text>}`,
+ \`\useit``{<text>}` expands to `<text>` (removes outer braces),
+ \`\ignoresecond` uses first, ignores second parameter and
+ \`\usesecond` ignores first, uses second parameter.
\_cod ------------------------------
\_long\_def \_ignoreit #1{}
+\_long\_def \_useit #1{#1}
\_long\_def \_ignoresecond #1#2{#1}
\_long\_def \_usesecond #1#2{#2}
-
-\_public \ignoreit \ignoresecond \usesecond ;
+\_public \ignoreit \useit \ignoresecond \usesecond ;
\_doc ------------------------------
\`\bslash` is \"normal backslash" with category code 12.
- \`\nbb` and \`\pcent` are double backslash and normal~`%`,
- they should be used in Lua codes, for example.
+ \`\nbb` is double backslash
+ and \`\pcent` is normal~`%`.
+ They can be used in Lua codes, for example.
\_cod ------------------------------
\_edef \_bslash {\_csstring\\}
\_edef \_nbb {\_bslash\_bslash}
\_edef \_pcent{\_csstring\%}
-
\_public \bslash \nbb \pcent ;
\_doc ------------------------------
@@ -52,13 +52,12 @@
\_def \_sdef #1{\_ea\_def \_csname#1\_endcsname}
\_def \_sxdef #1{\_ea\_xdef \_csname#1\_endcsname}
\_def \_slet #1#2{\_ea\_let \_csname#1\_ea\_endcsname \_csname#2\_endcsname}
-
\_public \sdef \sxdef \slet ;
\_doc ------------------------------
\`\adef` `{<char>}{<body>}` puts the <char> as active character and defines it
as `{<body>}`. You can declare a macro with parameters too. For example
- `\adef @#1{...$1...}`.
+ `\adef @#1{...#1...}`.
\_cod ------------------------------
\_def \_adef #1{\_catcode`#1=13 \_begingroup \_lccode`\~=`#1\_lowercase{\_endgroup\_def~}}
@@ -73,7 +72,7 @@
\_cod ------------------------------
\_def \_cs #1{\_csname#1\_endcsname}
-\_def \_trycs#1#2{\_ifcsname #1\_endcsname \_csname #1\_endcsname \_else #2\_fi}
+\_def \_trycs#1#2{\_ifcsname #1\_endcsname \_csname #1\_ea\_endcsname \_else #2\_fi}
\_public \cs \trycs ;
\_doc ------------------------------
@@ -83,6 +82,15 @@
\_long\_def \_addto #1#2{\_ea\_def\_ea#1\_ea{#1#2}}
\_public \addto ;
+ \_doc -----------------------------
+ \`\incr``<counter>` increases `<counter>` by one globally.
+ \`\decr``<counter>` decreases `<counter>` by one globally.
+ \_cod -----------------------------
+
+\_def\_incr #1{\_global\_advance#1by1 }
+\_def\_decr #1{\_global\_advance#1by-1 }
+\_public \incr \decr ;
+
\_doc ------------------------------
\`\opwarning` `{<text>}` prints warning on the terminal and to the log file.
\_cod ------------------------------
@@ -101,7 +109,6 @@
\_tracingparagraphs=1 \_tracingrestores=1 \_tracingscantokens=1
\_tracingifs=1 \_tracinggroups=1 \_tracingassigns=1 }
\_def\_tracingall{\_tracingonline=1 \_loggingall}
-
\_public \loggingall \tracingall ;
\_doc ------------------------------
@@ -116,6 +123,8 @@
\_endcode % -------------------------------------
+2021-02-03: \useit defined.
+2021-01-22: \trycs: \ea added in order to be able to use cs with parameters
2021-01-08: \opwarning format changed (secondly, hope that conclusively)
2020-10-12: \opwarning: line numbers added
2020-02-14: introduced
diff --git a/macros/luatex/optex/base/cite-bib.opm b/macros/luatex/optex/base/cite-bib.opm
index 6327877fbe..26a5b17bd4 100644
--- a/macros/luatex/optex/base/cite-bib.opm
+++ b/macros/luatex/optex/base/cite-bib.opm
@@ -173,7 +173,7 @@
\_def\_nonumcitations{\_lastcitenum=0\_def\_sortcitesA{}\_def\_etalchar##1{$^{##1}$}%
\_def\_citelinkA##1{\_isdefined{_bim:##1}\_iftrue \_csname _bim:##1\_endcsname
- \_else ##1\_opwarning{\_noexpand\nonumcitations + empty bibmark. Maybe bad bib-style}\_fi}
+ \_else ##1\_opwarning{\_noexpand\nonumcitations + empty bibmark. Maybe bad bib-style}\_fi}%
}
\_def\_citelinkA{}
diff --git a/macros/luatex/optex/base/doc.opm b/macros/luatex/optex/base/doc.opm
index 9c979e9849..ce571a9e81 100644
--- a/macros/luatex/optex/base/doc.opm
+++ b/macros/luatex/optex/base/doc.opm
@@ -193,7 +193,7 @@
then use \code{\\_forwardlink\\`\\foo`}.
\_cod -----------------------------
-\_activettchar`
+\_verbchar`
\_def\`#1`{\_leavevmode\_edef\_tmp{\_csstring#1}\_iindex{\_tmp}%
\_ifcsname cs:\_tmp\_endcsname\_else \_dest[cs:\_tmp]\_fi
diff --git a/macros/luatex/optex/base/fonts-select.opm b/macros/luatex/optex/base/fonts-select.opm
index 69cf8909bc..9066d4fed5 100644
--- a/macros/luatex/optex/base/fonts-select.opm
+++ b/macros/luatex/optex/base/fonts-select.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \fontfam {Fonts selection system <2020-12-12>} % preloaded in format
+\_codedecl \fontfam {Fonts selection system <2020-01-27>} % preloaded in format
\_doc -----------------------------
\`\initunifonts` macro extends \LuaTeX's font capabalities,
@@ -19,10 +19,7 @@
\_def\_initunifonts {%
\directlua{%
require('luaotfload-main')
- print_bak = print
- print = function () end
luaotfload.main()
- print = print_bak % "print hack" until luaotfload will be corrected
}%
\_gdef\_rfskipatX ##1" ##2\_relax{"##1"}%
\_global\_let \_doresizefont=\_doresizeunifont
@@ -837,6 +834,7 @@ Luaotfload documentation for more information.
\endinput
+2021-01-27 lua hack (print function) removed because luaotfload 3.17 removes bug.
2020-12-12 \_modlist added, doc improved
2020-04-18 \_tryloadfamslocal introduced
\_fontdecl -> \_famdecl with different concept
diff --git a/macros/luatex/optex/base/hyperlinks.opm b/macros/luatex/optex/base/hyperlinks.opm
index 6e123596c2..5fc8a32233 100644
--- a/macros/luatex/optex/base/hyperlinks.opm
+++ b/macros/luatex/optex/base/hyperlinks.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \ulink {Hyperlinks <2020-04-22>} % preloaded in format
+\_codedecl \ulink {Hyperlinks <2021-01-27>} % preloaded in format
\_doc ----------------------------
\`\dest``[<type>:<spec>]` creates a destination of internal links. The
@@ -88,7 +88,7 @@
\_let\_dest=\_destactive \_let\_link=\_linkactive
\_def\_ilink[##1]##2{\_link[##1]{\_localcolor#1}{##2}}%
\_def\_ulink[##1]##2{\_urlactive[url:##1]{\_localcolor#2}{##2}}%
- \_public \dest \ilink \ulink ;%
+ \_public \dest \ilink \ulink \link ;%
}
\_public \hyperlinks ;
@@ -152,5 +152,6 @@ of internal links are created at the same destination place:
\_endinput
+2021-01-27 \public \link added to \hyperlinks, bug fixed.
2020-04-22 \| in \url: bug fixed
2020-03-15 introduced \ No newline at end of file
diff --git a/macros/luatex/optex/base/if-macros.opm b/macros/luatex/optex/base/if-macros.opm
index 0e7e401558..462e496017 100644
--- a/macros/luatex/optex/base/if-macros.opm
+++ b/macros/luatex/optex/base/if-macros.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \newif {Special if-macros, is-macros and loops <2020-05-22>} % preloaded in format
+\_codedecl \newif {Special if-macros, is-macros and loops <2021-02-03>} % preloaded in format
\_doc ----------------------------
\secc Classical \code{\\newif}
@@ -55,7 +55,7 @@
\_cod ----------------------------
\_long\_def \_loop #1\_repeat{\_def\_body{#1}\_iterate}
-\_def \loop #1\repeat{\_def\_body{#1}\_iterate}
+\_long\_def \loop #1\repeat{\_def\_body{#1}\_iterate}
\_let \_repeat=\_fi % this makes \loop...\if...\repeat skippable
\_let \repeat=\_fi
\_def \_iterate {\_body \_ea \_iterate \_fi}
@@ -93,7 +93,7 @@
\_def\_testparam#1#2#3\_iftrue{\_ifx###1\_empty\_ea\_finbody\_else}
\_def\_finbody#1\_finbody{}
-\_def\foreach #1\do#2#{\_isempty{#2}\_iftrue
+\_long\_def\foreach #1\do#2#{\_isempty{#2}\_iftrue
\_afterfi{\_foreachA{#1}{##1}}\_else\_afterfi{\_foreachA{#1}{#2}}\_fi}
\_doc -----------------------------
@@ -147,15 +147,18 @@
\_sxdef{_frnum:\_the\_forlevel\_ea}{\_the\_frnum}%
\_global\_slet{_fbody:\_the\_forlevel}{_fbody}%
\_fi
- \_global\_advance\_forlevel by1
+ \_incr\_forlevel
}}
\_def\_getforstack{\_immediateassigned{%
- \_global\_advance\_forlevel by-1
+ \_decr\_forlevel
\_ifnum\_forlevel>0
\_global\_slet{_fbody}{_fbody:\_the\_forlevel}%
\_global\_frnum=\_cs{_frnum:\_the\_forlevel}\_space
\_fi
}}
+\_ifx\_immediateassignment\_undefined % for compatibility with older LuaTeX
+ \_let\_immediateassigned=\_useit \_let\_immediateassignment=\_empty
+\_fi
\_doc ----------------------------
User can define own expandable \"foreach" macro by
@@ -301,6 +304,7 @@
\_endcode
+2021-02-03 public version of \loop and \foreach are \long
2020-05-22 \foreach, \fornum: all settings are global, independent on TeX group
2020-05-06 \isnextchar: \let\tmp=#1 -> \let\tmp= #1 (bug fix, #1 should be space)
2020-05-02 \newif bug fix
diff --git a/macros/luatex/optex/base/languages.opm b/macros/luatex/optex/base/languages.opm
index 52b52f775e..ff9373b720 100644
--- a/macros/luatex/optex/base/languages.opm
+++ b/macros/luatex/optex/base/languages.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \_mtext {Languages <2020-12-05>} % preloaded in format
+\_codedecl \_mtext {Languages <2021-01-21>} % preloaded in format
\_doc -----------------------------
Only four words are generated by \OpTeX/ macros: \"Chapter",
@@ -110,17 +110,20 @@
itself by \code{\\"{`"`}"}. This is the reason why the sub-verbatim mode is
used when the first character is \code{\{} in the parameter.\nl
The `\"` is defined as `\_qqA\_qqB<lqq><rqq>` and `\'` as `\_qqA\_qqC<lq><rq>`.
- The \`\_qqA``\_qqB<clqq><crqq>` runs \`\_qqB``<lqq><rqq><text>"`.
+ The \`\_qqA``\_qqB<clqq><crqq>` runs \`\_qqB``<lqq><rqq><text>"`.\nl
+ The \`\_regquotes``\""<L><R>` does `\def\"#1"{<L>#1<R>}` for outlines but the `"`
+ separator is active (because `"` and `'` are active in \^`\pdfunidef`).
\_cod -----------------------------
\_def \_quoteschars #1#2#3#4{\_def\_altquotes{\_quoteschars#3#4#1#2}\_public\altquotes;%
\_protected\_def \"{\_qqA\_qqB#1#2}\_protected\_def \'{\_qqA\_qqC#3#4}%
- \_regmacro{}{}{\_def \"##1"{#1##1#2}\_def \'##1'{#3##1#4}}}
+ \_regmacro{}{}{\_regquotes\""#1#2\_regquotes\''#3#4}}
\_def\_qqA#1#2#3{\_bgroup\_setverb \_catcode`\ =10
\_isnextchar\_bgroup{\_catcode`\{=1 \_catcode`\}=2 #1#2#3}{#1#2#3}}
\_long\_def\_qqB#1#2#3"{\_egroup#1\_scantextokens{#3}#2}
\_long\_def\_qqC#1#2#3'{\_egroup#1\_scantextokens{#3}#2}
+\_def\_regquotes#1#2#3#4{\_bgroup \_lccode`~=`#2\_lowercase{\_egroup \_def#1##1~}{#3##1#4}}
\_doc -----------------------------
Sometimes should be usable to leave the markup `"such"` or `'such'` i.e.~without
@@ -128,20 +131,10 @@
by the \`\activequotes` macro and leave quotes without the first backslash.
First, declare `\<iso-code>quotes`, then \^`\altquotes` (if needed) and finally
\^`\activequotes`.
-
- \`\_resetaquotes` redefines expandable version of `\"<text>"` and `\'<text>'`
- used in outlines in order to the delimiter is {\em active} character. We
- are testing if \^`\quoteschars` were used now because the error in outlines
- can be more confusing.
\_cod -----------------------------
-\_def\_activequotes{\_adef"{\"}\_adef'{\'}\_resetaquotes}
-
-\_bgroup \_catcode`,=13 \_lccode`\~=`\" \_lccode`\,=`\' \_lowercase{\_egroup
- \_def\_resetaquotes{%
- \_bgroup \_the\_regoul \_edef\_tmp{\"?"}\_egroup % test if \quoteschar were used
- \_regmacro{}{}{\_edef\"##1~{\"##1"}\_edef\'##1,{\'##1'}}}
-}
+\_def\_activequotes{\_let\_actqq=\"\_adef"{\_actqq}\_let\_actq=\'\_adef'{\_actq}%
+ \_regmacro{}{}{\_adef"{\"}\_adef'{\'}}}
\_public \quoteschars \activequotes \enquotes \csquotes \skquotes \frquotes \plquotes
\esquotes \grquotes \ruquotes \itquotes \dequotes ;
@@ -189,6 +182,7 @@
\_endcode % -------------------------------------
+2021-01-21 more robust quotes in outlines
2020-12-05 bib phrases moved here
2020-04-29 Obrazek -> Abbildung: bug fixed
2020-03-15 introduced
diff --git a/macros/luatex/optex/base/makeindex.opm b/macros/luatex/optex/base/makeindex.opm
index 22b09e396b..8c58f7085c 100644
--- a/macros/luatex/optex/base/makeindex.opm
+++ b/macros/luatex/optex/base/makeindex.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \makeindex {Makeindex and sorting <2020-04-26>} % loaded in format
+\_codedecl \makeindex {Makeindex and sorting <2021-02-01>} % loaded in format
\_doc -----------------------------
\^`\makeindex` implements sorting algorithm at \TeX/ macro-language level.
@@ -68,7 +68,7 @@
The characters declared in `\_ignoredchars` are ignored in the first pass
without additional condition. All characters are taken into account in
- second pass: ASCII characters with code $\lq65$ are sorted first if they
+ second pass: ASCII characters with code $\string<65$ are sorted first if they
are not mentioned in the `\_sortingdata<iso-code>` macro.
Others not mentioned characters have undefined behavior during sorting.
\_cod -----------------------------
@@ -133,7 +133,7 @@
\_def \_act ##1{\_ifx##1\_relax \_else
\_ifx##1,\_else \_advance\_tmpnum by1 \_lccode`##1=\_tmpnum \_fi
\_ea\_act \_fi}%
- \_tmpnum=65 \_ea\_act \_sortingdata \_relax
+ \_tmpnum=64 \_ea\_act \_sortingdata \_relax
}
\_doc -----------------------------
@@ -401,8 +401,8 @@
All other variants of indexing macros expand internally to `\iindex`.
\_cod -----------------------------
-\_def\_iindex#1{\_isempty{#1}\_iffalse\_openref{\def~{ }%
- \edef\_act{\_noexpand\_wref\_noexpand\_Xindex{{#1}{\_iitypesaved}}}\_act}\_fi}
+\_def\_iindex#1{\_isempty{#1}\_iffalse
+ \_openref{\_def~{ }\_ewref\_Xindex{{#1}{\_iitypesaved}}}\_fi}
\_public \iindex ;
\_doc -----------------------------
@@ -457,5 +457,6 @@
\_endcode % -------------------------------------
+2021-02-01 secodary sorting: start from code 65
2020-04-21 \isempty \iffalse ... \fi added to \iindex
2020-03-26 introduced
diff --git a/macros/luatex/optex/base/maketoc.opm b/macros/luatex/optex/base/maketoc.opm
index 84e699d67d..8dfd821640 100644
--- a/macros/luatex/optex/base/maketoc.opm
+++ b/macros/luatex/optex/base/maketoc.opm
@@ -1,16 +1,17 @@
% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \maketoc {Macros for maketoc <2020-03-12>} % preloaded in format
+\_codedecl \maketoc {Macros for maketoc <2020-02-09>} % preloaded in format
\_doc ------------------------------------
- \`\_Xtoc` `{<level>}{<type>}{<number>}<title>` (in `.ref` file) reads the
- specified data and appends them to the \`\_toclist` as
- \^`\_tocline``{<level>}{<type>}{<number>}{<title>}{<gpageno>}{<pageno>}`
+ \`\_Xtoc` `{<level>}{<type>}{<number>}{<o-title>}<title>` (in `.ref` file) reads
+ given data and appends them to the \`\_toclist` as
+ \^`\_tocline``{<level>}{<type>}{<number>}{<o-title>}{<title>}{<gpageno>}{<pageno>}`
where:
\begitems
* `<level>`: 0 reserved, 1: chapter, 2: section, 3: subsection
* `<type>`: the type of the level, i.e. chap, sec, secc
* `<number>`: the number of the chapter/section/subsection in the format 1.2.3
+ * `<o-title>`: outlines title, if differs from `<title>`.
* `<title>`: the title text
* `<gpageno>`: the page number numbered from 1 independently of pagination
* `<pageno>`: the page number used in the pagination
@@ -25,13 +26,13 @@
\_def\_toclist{}
\_newifi \_ifischap \_ischapfalse
-\_def\_Xtoc#1#2#3{\_ifnum#1=0 \_ischaptrue\_fi
- \_addto\_toclist{\_tocline{#1}{#2}{#3}}\_scantoeol\_XtocA}
+\_def\_Xtoc#1#2#3#4{\_ifnum#1=0 \_ischaptrue\_fi
+ \_addto\_toclist{\_tocline{#1}{#2}{#3}{#4}}\_scantoeol\_XtocA}
\_def\_XtocA#1{\_addto\_toclist{{#1}}\_ea\_addto\_ea\_toclist\_ea{\_currpage}}
\_doc ------------------------------------
- \`\_tocline``{<level>}{<type>}{<number>}{<title>}{<gpageno>}{<pageno>}` prints
- the record to the table of contents. It opens group, reduces `\_leftskip`,
+ \`\_tocline``{<level>}{<type>}{<number>}{<o-title>}{<title>}{<gpageno>}{<pageno>}`
+ prints the record to the table of contents. It opens group, reduces `\_leftskip`,
`\_rightskip`, runs the \^`\everytocline` (user can customise the design of TOC
here) and runs `\_tocl:<level> {<number>}{<title>}{<pageno>}` macro.
This macro starts with vertical mode,
@@ -53,15 +54,15 @@
\_cod ------------------------------------
\_newcount \_tocrefnum
-\_def\_tocline#1#2#3#4#5#6{%
+\_def\_tocline#1#2#3#4#5#6#7{%
\_advance\_tocrefnum by1
\_bgroup
\_leftskip=\_iindent \_rightskip=2\_iindent
\_ifischap \_advance\_leftskip by \_iindent \_fi
- \_def\_pgn{\_ilink[pg:#5]}%
+ \_def\_pgn{\_ilink[pg:#6]}%
\_the\_everytocline
\_ifcsname _tocl:#1\_endcsname
- \_cs{_tocl:#1}{#3}{\_scantextokens{#4}}{#6}\_par
+ \_cs{_tocl:#1}{#3}{\_scantextokens{#5}}{#7}\_par
\_fi
\_egroup
}
@@ -96,6 +97,29 @@
\_def\_tocpar{\_nobreak \_hskip-2\_iindent\_null \_par}
\_doc -----------------------------------
+ If you want a special formating of TOC with adding more
+ special lines (no generated as titles from `\chap`, `\sec`, `\secc`), you
+ can define `\addtotoc{<level>}{<type>}{<number>}{<o-title>}{<title>}` macro:
+ \begtt
+ \def\addtotoc#1#2#3#4#5{%
+ \incr\_tocrefnum
+ \_dest[toc:\_the\_tocrefnum]%
+ \_ewref\_Xtoc{{#1}{#2}{#3}{#4}#5}%
+ }
+ \endtt
+ and you can declare special lines (or something else)
+ as an unused level (10 in the following example):
+ \begtt
+ \sdef{_tocl:10}#1#2#3{\medskip\hbox{\Blue #2}\medskip}
+ \endtt
+ Now, users can add a blue line into TOC by
+ \begtt \catcode`\<=13
+ \addtotoc{10}{blue-line}{}{\relax}{<blue text to be added in the TOC>}
+ \endtt
+ anywhere in the document. Note that `\relax` in the fourth parameter
+ means that outline will be not generated. And second parameter
+ `blue-line` is only a comment (unused in macros).
+
\`\maketoc` prints warning if TOC data is empty, else it creates TOC by
running \^`\_toclist`
\_cod ----------------------------------
@@ -124,6 +148,7 @@
\_endcode
+2021-02-09 \thisoutline implemented
2020-04-23 \_tocpar introduced (incompatible change)
2020-04-22 \_pg -> \_pgn (incompatible change)
-2020-03-12 introduced \ No newline at end of file
+2020-03-12 introduced
diff --git a/macros/luatex/optex/base/math-macros.opm b/macros/luatex/optex/base/math-macros.opm
index a087d31c68..6d5278d5c2 100644
--- a/macros/luatex/optex/base/math-macros.opm
+++ b/macros/luatex/optex/base/math-macros.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \sin {Math macros plus mathchardefs <2020-06-13>} % preloaded in format
+\_codedecl \sin {Math macros plus mathchardefs <2021-02-04>} % preloaded in format
\_doc -----------------------------
The category code of the character `_` remains as the letter (11) and the mathocode
@@ -594,7 +594,7 @@
\_cod -----------------------------
\_protected\_def\_matrix#1{\_null\_thinsk
- \_edef\_stylenum{\_the\_numexpr\_mathstyle/2\_relax}%
+ \_edef\_tmpa{\_the\_numexpr \_mathstyle/4\_relax}% 0 0 1 1 1 1 2 2
\_vcenter{\_matrixbaselines\_math
\_ialign{\_the\_lmfil$\_matrixstyle##$\_hfil&&\_quad\_the\_lmfil$\_matrixstyle##$\_hfil\_crcr
\_mathstrut\_crcr\_noalign{\_kern-\_baselineskip}
@@ -602,22 +602,22 @@
\_def\_matrixbaselines{\_normalbaselines \_def\_matrixstyle{}%
\_let\_matrixbaselines=\_relax % \matrix inside matrix does not change size again
- \_ifcase\_stylenum \_or \_matrixscriptbaselines \_or \_matrixscriptbaselines
+ \_ifcase\_tmpa \_or
+ \_baselineskip=.7\_baselineskip \_def\_quad {\_hskip.7em\_relax}%
+ \_let\_matrixstyle=\_scriptstyle
\_or
- \_baselineskip=.5\_baselineskip
- \_def\_quad {\_hskip.5em\_relax}%
+ \_baselineskip=.5\_baselineskip \_def\_quad {\_hskip.5em\_relax}%
\_let\_matrixstyle=\_scriptscriptstyle
\_fi
}
-\_def\_matrixscriptbaselines{\_baselineskip=.7\_baselineskip
- \_def\_quad {\_hskip.7em\_relax}\_let\_matrixstyle=\_scriptstyle
-}
\_protected\_def\_pmatrix#1{\_left(\_matrix{#1}\_right)}
\_public \matrix \pmatrix ;
\_doc -----------------------------
- The \`\cases` and `\bordermatrix` macros are identical from plain \TeX/.
+ The \`\cases` and \`\bordermatrix` macros are almost identical as in plain \TeX/.
+ You can simply re-define `\bordermatrix` with other delimiters
+ using the common \`\_bordermatrixwithdelims` macro.
\_cod -----------------------------
\_protected\_long\_def\_cases#1{\_left\{\_thinsk\_vcenter{\_normalbaselines\_math
@@ -625,13 +625,14 @@
\_newdimen\_ptrenwd
\_ptrenwd=8.75pt % width of the big left (
-\_protected\_def\_bordermatrix#1{\_begingroup \_math
- \_setbox0=\_vbox{\_bordermatrixA #1\_stopbmatrix}%
+\_protected\_def\_bordermatrix{\_bordermatrixwithdelims()}
+\_def\_bordermatrixwithdelims#1#2#3{\_begingroup \_math
+ \_setbox0=\_vbox{\_bordermatrixA #3\_stopbmatrix}%
\_setbox2=\_vbox{\_unvcopy0 \_global\_setbox1=\_lastbox}%
\_setbox2=\_hbox{\_unhbox1 \_unskip\_global\_setbox1=\_lastbox}%
- \_setbox2=\_hbox{$\_kern\_wd1 \_kern-\_ptrenwd\_left(\_kern-\_wd1
+ \_setbox2=\_hbox{$\_kern\_wd1 \_kern-\_ptrenwd\_left#1\_kern-\_wd1
\_global\_setbox1=\_vbox{\_box1 \_kern.2em}%
- \_vcenter{\_kern-\_ht1 \_unvbox0 \_kern-\_baselineskip}\_thinsk\_right)$}%
+ \_vcenter{\_kern-\_ht1 \_unvbox0 \_kern-\_baselineskip}\_thinsk\_right#2$}%
\_null\_thicksk\_vbox{\_kern\_ht1 \_box2}\_endgroup}
\_def\_bordermatrixA #1\cr#2\_stopbmatrix{%
\_ialign{$##$\_hfil\_kern.2em\_kern\_ptrenwd&\_thinspace\_hfil$##$\_hfil
@@ -1054,7 +1055,10 @@
\_endcode %---------------------------------------------------
-2020=12-17 \box0->\hbox{\box0} in \_finphant and \_finsmash, see https://tex.stackexchange.com/questions/574997/
+2021-02-04 \_bordermatrixwithdelims introduced.
+2021-01-23 better expession for math styles in \matrix
+2021-01-22 bad use of \_stylenum in \matrix + bad value (bug fix: \_stylenum->\_mtstylenum)
+2020-12-17 \box0->\hbox{\box0} in \_finphant and \_finsmash, see https://tex.stackexchange.com/questions/574997/
2020-06-14 \borermatrix, \cases corrected
2020-06-13 \adots introduced, \matrix smaller in T mode too.
2020-06-03 \notin corrected
diff --git a/macros/luatex/optex/base/math-preload.opm b/macros/luatex/optex/base/math-preload.opm
index 7f6aaa6fdb..0ec9abae2f 100644
--- a/macros/luatex/optex/base/math-preload.opm
+++ b/macros/luatex/optex/base/math-preload.opm
@@ -134,28 +134,34 @@
These parameters are given in the \`\ptmunit` unit, it is set to
1\`\ptunit` and it is set to 1\,pt by default.
\nl
- \`\_corrmsizes` should be used in the \^`\normalmath` and \^`\boldmath`
- macros if you need a size correction when a selected math family is
- loaded. It is similar to ex-height correction but for math fonts.
+ \`\_corrmsize` `<factor><space>` can be used just before
+ `\_loadmathfamily` or `\_setmathfamily`.
+ The `<factor>` is decimal number, it denotes
+ scale-factor \"size of loaded math font in `\textstyle` : size of text font".
+ You can use it in `\_normalmath` or `\_boldmath` macros if you want to do a
+ corrections (for example due to different ex-height in text and math
+ font). The `\_corrmsize` is applied only to one following
+ `\_loadmathfamily` or `\_setmathfamily`. If it is missing
+ then the `<factor>` is 1 for such math family (i.e.\ no size corrections).
\_cod -----------------------------
-\_def\_corrmsizes{\_ptmunit=1\_ptunit\_relax} % for corrections of sizes in diferent fomts
+\_def\_corrmsize#1 {\_ptmunit=#1\_ptunit} % for corrections of sizes in diferent fonts
-\_def\_loadmathfamily #1 #2 {\_chardef\_tmp#1\_corrmsizes
+\_def\_loadmathfamily #1 #2 {%
\_edef\_optsizesave{\_the\_optsize}%
\_optsize=\_sizemtext \_font\_mF=\_whichtfm{#2} at\_optsize \_textfont#1=\_mF
\_optsize=\_sizemscript \_font\_mF=\_whichtfm{#2} at\_optsize \_scriptfont#1=\_mF
\_optsize=\_sizemsscript \_font\_mF=\_whichtfm{#2} at\_optsize \_scriptscriptfont#1=\_mF
- \_optsize=\_optsizesave \_relax
+ \_optsize=\_optsizesave \_ptmunit=\_ptunit
}
-\_def\_setmathfamily #1 #2{\_let\_mF=#2\_chardef\_tmp#1\_corrmsizes
+\_def\_setmathfamily #1 #2{\_let\_mF=#2%
\_edef\_optsizesave{\_the\_optsize}%
\_optsize=\_sizemtext \_fontlet#2=#2 at\_optsize \_textfont#1=#2%
\_optsize=\_sizemscript \_fontlet#2=#2 at\_optsize \_scriptfont#1=#2%
\_optsize=\_sizemsscript \_fontlet#2=#2 at\_optsize \_scriptscriptfont#1=#2%
- \_optsize=\_optsizesave \_let#2=\_mF
+ \_optsize=\_optsizesave \_ptmunit=\_ptunit \_let#2=\_mF
}
-\_def\_setmathsizes[#1/#2/#3]{%
+\_def\_setmathsizes[#1/#2/#3]{\_ptmunit=\_ptunit
\_def\_sizemtext{#1\_ptmunit}\_def\_sizemscript{#2\_ptmunit}%
\_def\_sizemsscript{#3\_ptmunit}%
}
diff --git a/macros/luatex/optex/base/math-unicode.opm b/macros/luatex/optex/base/math-unicode.opm
index f857deb175..680da012d6 100644
--- a/macros/luatex/optex/base/math-unicode.opm
+++ b/macros/luatex/optex/base/math-unicode.opm
@@ -118,7 +118,9 @@
If the math family 1 is loaded then the family 2 and 3 are set by the same
font because \TeX/ needs to read dimension information about generating
math formulae from these three math families. All information needed by
- \TeX/ is collected in single Unicode-math font.
+ \TeX/ is collected in single Unicode-math font.\nl
+ The \^`\_corrmsize` `<factor><space>` can be used just before
+ `\_loadumathfamily`, see section~\ref[math-preload] for more information.
\_cod -----------------------------
\_def\_umathname#1#2{"#1:\_mfontfeatures#2"}
@@ -132,7 +134,7 @@
\_ifnum#1=1 \_scriptfont2=\_mF \_scriptfont3=\_mF \_fi
\_optsize=\_sizemsscript \_font\_mF=\_umathname{#2}{+ssty=1;#3} at\_optsize\_scriptscriptfont#1=\_mF
\_ifnum#1=1 \_scriptscriptfont2=\_mF \_scriptscriptfont3=\_mF \_fi
- \_optsize=\_optsizesave \_relax
+ \_optsize=\_optsizesave \_ptmunit=\_ptunit
}
\_doc -----------------------------
diff --git a/macros/luatex/optex/base/more-macros.opm b/macros/luatex/optex/base/more-macros.opm
index 406139b16f..d5ce88c1a6 100644
--- a/macros/luatex/optex/base/more-macros.opm
+++ b/macros/luatex/optex/base/more-macros.opm
@@ -214,7 +214,7 @@
The \`\catcode` primitive is redefined here. Why?
There is very common cases like \code{\\catcode`}`<something>`
or `\catcode"<number>` but these characters
- \code{\`} or \code{"} can be set as active (typically by `\activettchar` macro).
+ \code{\`} or \code{"} can be set as active (typically by `\verbchar` macro).
Nothing problematic happens if re-defined `\catcode` is used in this case.
If you really need primitive `\catcode` then you can use `\_catcode`.
diff --git a/macros/luatex/optex/base/optex.ini b/macros/luatex/optex/base/optex.ini
index 9a4aeace8e..3826ccf0e1 100644
--- a/macros/luatex/optex/base/optex.ini
+++ b/macros/luatex/optex/base/optex.ini
@@ -21,7 +21,7 @@
% OpTeX version
-\def\optexversion{Beta 0.19 Jan.2021}
+\def\optexversion{1.00 Feb.2021}
\def\fmtname{OpTeX}
% Engine testing:
diff --git a/macros/luatex/optex/base/others.opm b/macros/luatex/optex/base/others.opm
index d96edc4dba..6ff15d4332 100644
--- a/macros/luatex/optex/base/others.opm
+++ b/macros/luatex/optex/base/others.opm
@@ -92,7 +92,7 @@
\_def\_lipsumload{{%
\_setbox0=\_vbox{\_tmpnum=0 % vertical mode during \input lipsum.ltd.tex
\_def\ProvidesFile##1[##2]{}%
- \_def\NewLipsumPar{\_advance\_tmpnum by1 \_sxdef{_lip:\_the\_tmpnum}}%
+ \_def\NewLipsumPar{\_incr\_tmpnum \_sxdef{_lip:\_the\_tmpnum}}%
\_opinput {lipsum.ltd.tex}%
\_global\_let\_lipsumload=\_empty
}}}
diff --git a/macros/luatex/optex/base/outlines.opm b/macros/luatex/optex/base/outlines.opm
index d1082f9580..ad05c97edc 100644
--- a/macros/luatex/optex/base/outlines.opm
+++ b/macros/luatex/optex/base/outlines.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \outlines {PDF outlines <2020-03-12>} % preloaded in format
+\_codedecl \outlines {PDF outlines <2021-02-09>} % preloaded in format
\_def\_outlines#1{\_pdfcatalog{/PageMode/UseOutlines}\_openref
\_ifx\_toclist\_empty
@@ -16,13 +16,15 @@
\_toclist}% create outlines
\_fi
}
-\_def\_outlinesA#1#2#3#4#5#6{%
- \_advance\_count#1 by1
- \_ifcase#1\_or
- \_addoneol{_ol:\_the\_count0}\_or
- \_addoneol{_ol:\_the\_count0:\_the\_count1}\_or
- \_addoneol{_ol:\_the\_count0:\_the\_count1:\_the\_count2}\_or
- \_addoneol{_ol:\_the\_count0:\_the\_count1:\_the\_count2:\_the\_count3}\_fi
+\_def\_outlinesA#1#2#3#4#5#6#7{%
+ \_isequal{\relax}{#4}\_iffalse
+ \_advance\_count#1 by1
+ \_ifcase#1\_or
+ \_addoneol{_ol:\_the\_count0}\_or
+ \_addoneol{_ol:\_the\_count0:\_the\_count1}\_or
+ \_addoneol{_ol:\_the\_count0:\_the\_count1:\_the\_count2}\_or
+ \_addoneol{_ol:\_the\_count0:\_the\_count1:\_the\_count2:\_the\_count3}\_fi
+ \_fi
}
\_def\_addoneol#1{%
\_ifcsname #1\_endcsname
@@ -31,19 +33,21 @@
\_else \_sxdef{#1}{1}%
\_fi
}
-\_def\_outlinesB#1#2#3#4#5#6{%
- \_advance\_count#1 by1
- \_ifcase#1%
- \_tmpnum=\_trycs{_ol:\_the\_count0}{0}\_or
- \_tmpnum=\_trycs{_ol:\_the\_count0:\_the\_count1}{0}\_relax\_or
- \_tmpnum=\_trycs{_ol:\_the\_count0:\_the\_count1:\_the\_count2}{0}\_relax\_or
- \_tmpnum=\_trycs{_ol:\_the\_count0:\_the\_count1:\_the\_count2:\_the\_count3}{0}\_relax\_or
- \_tmpnum = 0\_relax\_fi
- \_pdfunidef\_tmp{#4}%
+\_def\_outlinesB#1#2#3#4#5#6#7{%
\_advance\_tocrefnum by1
- \_outlinesC{#1}{toc:\_the\_tocrefnum}{\_ifnum#1<\_outlinelevel\_space\_else-\_fi}{\_tmpnum}{\_tmp}%
+ \_isequal{\relax}{#4}\_iffalse
+ \_advance\_count#1 by1
+ \_ifcase#1%
+ \_tmpnum=\_trycs{_ol:\_the\_count0}{0}\_or
+ \_tmpnum=\_trycs{_ol:\_the\_count0:\_the\_count1}{0}\_relax\_or
+ \_tmpnum=\_trycs{_ol:\_the\_count0:\_the\_count1:\_the\_count2}{0}\_relax\_or
+ \_tmpnum=\_trycs{_ol:\_the\_count0:\_the\_count1:\_the\_count2:\_the\_count3}{0}\_relax\_or
+ \_tmpnum = 0\_relax\_fi
+ \_isempty{#4}\_iftrue \_pdfunidef\_tmp{#5}\_else \_pdfunidef\_tmp{#4}\_fi
+ \_outlinesC{toc:\_the\_tocrefnum}{\_ifnum#1<\_outlinelevel\_space\_else-\_fi}{\_tmpnum}{\_tmp}%
+ \_fi
}
-\_def\_outlinesC#1#2#3#4#5{\_pdfoutline goto name{#2} count #3#4{#5}\_relax}
+\_def\_outlinesC#1#2#3#4{\_pdfoutline goto name{#1} count #2#3{#4}\_relax}
\_newcount\_oulnum
\_def\_insertoutline#1{\_global\_advance\_oulnum by1
diff --git a/macros/luatex/optex/base/parameters.opm b/macros/luatex/optex/base/parameters.opm
index addc6e9b8e..c8df6eec49 100644
--- a/macros/luatex/optex/base/parameters.opm
+++ b/macros/luatex/optex/base/parameters.opm
@@ -166,7 +166,7 @@
The \`\picdir` tokens list can include a directory where image files
(loaded by `\inspic`) are saved. Empty `\picdir` (default value) means
that image files are in the current directory (or somewhere in the \TeX/
- system where \LuaTeX/can find them). If you set a non-empty value to
+ system where \LuaTeX/ can find them). If you set a non-empty value to
the `\picdir`, then it must end by `/` character, for example
`\picdir={img/}` means that there exists a directory `img` in your
current directory and the image files are stored here.
@@ -185,10 +185,10 @@
a nonzero value then the height is given, the width is calculated. If both
parameters are non-zero, the height and width are given and the aspect
ratio of the image is (probably) broken. We recommend setting these
- parameters locally in the group where `\inspic` is used in order to not
+ parameters locally in the group where \^`\inspic` is used in order to not
influence the dimensions of other images. But there exist many
situations you need to put the same dimensions to more images,
- so you can set this parameter only once before more `\inspic` macros.
+ so you can set this parameter only once before more \^`\inspic` macros.
\_cod -----------------------------
\_newdimen\_picwidth \_picwidth=0pt \_let\picw=\_picwidth
@@ -197,21 +197,21 @@
\_doc -----------------------------
The \`\everytt` is the token list used in
- `\begtt`...`\endtt` environment and
- in the verbatim group opened by `\verbinput` macro. You can include a
+ \^`\begtt`...\^`\endtt` environment and
+ in the verbatim group opened by \^`\verbinput` macro. You can include a
code which is processed inside the group after basic settings were done
On the other hand, it is processed before the scanner of verbatim text is started.
Your macros should influence scanner (catcode settings) or printing
process of the verbatim code or both.
- The code from the line immediately after `\begtt` is processed after
- the `\everytt`. This code should overwrite `\everytt` settings. Use
- `\everytt` for all verbatim environments in your document and use a code
- after `\begtt` locally only for this environment.
+ The code from the line immediately after \^`\begtt` is processed after
+ the \^`\everytt`. This code should overwrite \^`\everytt` settings. Use
+ \^`\everytt` for all verbatim environments in your document and use a code
+ after \^`\begtt` locally only for this environment.
The \`\everyintt` token list does similar work
but acts in the in-line verbatim
- text processed by a pair of `\activettchar` characters or by `\code{<text>}`.
+ text processed by a pair of \^`\verbchar` characters or by \^`\code``{<text>}`.
You can set `\everyintt={\Red}` for example if you want in-line verbatim
in red color.
\_cod -----------------------------
@@ -222,12 +222,12 @@
\_doc -----------------------------
The \`\ttline` is used
- in `\begtt`...`\endtt` environment or in the code
- printed by `\verbinput`. If `\ttline` is positive or zero, then the
+ in \^`\begtt`...\^`\endtt` environment or in the code
+ printed by \^`\verbinput`. If `\ttline` is positive or zero, then the
verbatim code has numbered lines from `\ttline+1`. The `\ttline`
register is re-set to a new value after a code piece is printed, so next
code pieces have numbered lines continuously. If `\ttline=-1`, then
- `\begtt`...`\endtt` lines are without numbers and `\verbinput` lines
+ \^`\begtt`...\^`\endtt` lines are without numbers and \^`\verbinput` lines
show the line numbers of inputted file. If `\ttline`\code{<-1}
then no line numbers are printed.
\_cod -----------------------------
@@ -237,8 +237,8 @@
\_doc -----------------------------
The \`\ttindent` gives default indentation
- of verbatim lines printed by `\begtt`...`\endtt` pair or by
- `\verbinput`.
+ of verbatim lines printed by \^`\begtt`...\^`\endtt` pair or by
+ \^`\verbinput`.
\nl
The \`\ttshift` gives the amount of shift of all verbatim lines to the right.
Despite the \^`\ttindent`, it does not shift the line numbers, only
@@ -283,13 +283,13 @@
\_public \hicolors ;
\_doc -----------------------------
- The default item mark used between `\begitems` and `\enditems` is the bullet.
+ The default item mark used between \^`\begitems` and \^`\enditems` is the bullet.
The \`\defaultitem` tokens list declares this default item mark.
\nl
The \`\everyitem` tokens list is applied in vertical mode
at the start of each item.
\nl
- The \`\everylist` tokens list is applied after the group is opened by
+ The \`\everylist` tokens list is applied after the group is opened by \^`\begitems`
\nl
The \`\ilevel` keeps the value of the current nesting level of the items list.
\nl
@@ -305,14 +305,14 @@
\_public \defaultitem \everyitem \everylist \listskipamount \ilevel ;
\_doc -----------------------------
- The `\tit` macro includes `\vglue`\`\titskip` above the title of the document.
+ The \^`\tit` macro includes `\vglue`\`\titskip` above the title of the document.
\_cod -----------------------------
\_newskip\_titskip \_titskip=40pt \_relax % \vglue above title printed by \tit
\_public \titskip ;
\_doc ----------------------------
- The `\begmulti` `\endmulti` pair creates more columns. The parameter
+ The \^`\begmulti` and \^`\endmulti` pair creates more columns. The parameter
\`\colsep` declares the space between columns. If $n$ columns are specified
then we have $n-1$ `\colseps` and $n$ columns in total `\hsize`. This
gives the definite result of the width of the columns.
@@ -358,7 +358,7 @@
\_public \everyii ;
\_doc -----------------------------
- The \`\everymnote` is used in the `\mnote` group before `\noindent` which
+ The \`\everymnote` is used in the \^`\mnote` group before `\noindent` which
immediately precedes marginal note text.
\nl
The \`\mnotesize` is the horizontal size of the marginal notes.
@@ -372,7 +372,7 @@
\_public \everymnote \mnotesize \mnoteindent ;
\_doc -----------------------------
- The `\table` parameters follow. The \`\thistable` tokens list
+ The \^`\table` parameters follow. The \`\thistable` tokens list
register should be used for giving an exception for only one `\table`
which follows. It should change locally other parameters of the `\table`.
It is reset to an empty list after the table is printed.
diff --git a/macros/luatex/optex/base/pdfuni-string.opm b/macros/luatex/optex/base/pdfuni-string.opm
index f9e28582d5..25781ddfb4 100644
--- a/macros/luatex/optex/base/pdfuni-string.opm
+++ b/macros/luatex/optex/base/pdfuni-string.opm
@@ -1,23 +1,29 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \pdfunidef {PDFunicode strings for outlines <2020-03-12>} % preloaded in format
+\_codedecl \pdfunidef {PDFunicode strings for outlines <2021-02-08>} % preloaded in format
\_doc -----------------------------
- The \`\_octalprint` is a Lua script that prints the character code in the
- octal notation.
+ \`\_hexprint` is a command defined in Lua, that scans a number and expands
+ to its UTF-16 Big Endian encoded form for use in PDF hexadecimal strings.
\_cod -----------------------------
-\_edef\_octalprint#1#2{\_noexpand\_directlua{% #1=character-code #2=character
- if ('#2'>='A' and '#2'<='Z') or ('#2'>='a' and '#2'<='z') then
- tex.print(string.format('000\_pcent s',"#2"))
- else
- local num=#1\_pcent256
- tex.print(string.format('\_pcent 03o\_nbb\_pcent03o',(#1-num)/256,num))
- end
+\bgroup
+\_catcode`\%=12
+\_gdef\_hexprint{\_directlua{
+ local num = token.scan_int()
+ if num < 0x10000 then
+ tex.print(string.format("%04X", num))
+ else
+ num = num - 0x10000
+ local high = bit32.rshift(num, 10) + 0xD800
+ local low = bit32.band(num, 0x3FF) + 0xDC00
+ tex.print(string.format("%04X%04X", high, low))
+ end
}}
+\egroup
\_doc -----------------------------
- \`\pdfunidef``\macro{<text>}` does more things than only converting to octal notation.
+ \`\pdfunidef``\macro{<text>}` does more things than only converting to hexadecimal PDF string.
The <text> can be scanned in verbatim mode (it is true becuase \^`\_Xtoc`
reads the <text> in verbatim mode). First `\edef` do
`\_scantextokens\unexpanded` and second `\edef` expands the parameter
@@ -26,11 +32,15 @@
Then \`\_removeoutbraces` converts `..{x}..` to `..x..`.
Finally, the <text> is detokenized, spaces are preprocessed using \^`\replstring`
and then the \`\_pdfunidefB` is repeated on each character. It calls the
- `\directlua` chunk to print octal numbers in the macro \^`\_octalprint`.
+ `\directlua` chunk to print hexadecimal numbers in the macro \^`\_hexprint`.\nl
+ Characters for quotes (and separators for quotes) are activated by first
+ `\_scatextokens` and they are defined as the same non-active characters.
+ But `\_regoul` can change this definition.
\_cod -----------------------------
\_def\_pdfunidef#1#2{%
\_begingroup
+ \_catcodetable\_optexcatcodes \_adef"{"}\_adef'{'}%
\_the\_regoul \_relax % \_regmacro alternatives of logos etc.
\_ifx\_savedttchar\_undefined \_def#1{\_scantextokens{\_unexpanded{#2}}}%
\_else \_lccode`\;=\_savedttchar \_lowercase{\_prepinverb#1;}{#2}\fi
@@ -43,19 +53,17 @@
\_edef#1{\_detokenize\_ea{#1}}%
\_replstring#1{ }{{ }}% text text -> text{ }text
\_catcode`\\=12 \_let\\=\_bslash
- \_edef\_out{\\376\\377}%
+ \_edef\_out{<FEFF}
\_ea\_pdfunidefB#1^% text -> \_out in octal
\_ea
\_endgroup
- \_ea\_def\_ea#1\_ea{\_out}
+ \_ea\_def\_ea#1\_ea{\_out>}
}
\_def\_pdfunidefB#1{%
\_ifx^#1\_else
- \_tmpnum=`#1
- \_pdfunidefC{\_luaescapestring{#1}}%
+ \_edef\_out{\_out \_hexprint `#1}
\_ea\_pdfunidefB \_fi
}
-\_def\_pdfunidefC #1{\_edef\_out{\_out \\\_ea\_octalprint\_ea{\_the\_tmpnum}{#1}}}
\_def\_removeoutbraces #1#{#1\_removeoutbracesA}
\_def\_removeoutbracesA #1{\_ifx\_end#1\_else #1\_ea\_removeoutbraces\_fi}
@@ -91,22 +99,29 @@
\_endcode % --------------------------------
-There are only two encodings for PDF strings (used in PDFoutlines, PDFinfo
-, etc.). The first one is PDFDocEncoding which is one-byte encoding, but most
-Czech or Slovak characters are missing here.
+There are only two encodings for PDF strings (used in PDFoutlines, PDFinfo,
+etc.). The first one is PDFDocEncoding which is single-byte encoding, but it
+misses most international characters.
-The second encoding is PDFunicode encoding which is implemented in this file.
+The second encoding is Big Endian UTF-16 which is implemented in this file. It
+encodes a single character in either two or four bytes.
This encoding is \TeX/-discomfortable because it looks like
\begtt
-\376\377\000C\000v\000i\001\015\000e\000n\000\355\000\040\000j\000e\000\040
-\000z\000\341\000t\001\033\001\176
+<FEFF 0043 0076 0069 010D 0065 006E 00ED 0020 006A 0065 0020 007A 00E1 0074
+011B 017E 0020 0061 0020 0078 2208 D835DD44>
\endtt
-This example is the real encoding of the string "CviÄení je zátěž". You can see
-that this is UTF-16 encoding (two bytes per character) with two starting
-bytes FEFF. Moreover, each byte is encoded by three octal digits preceded by
-a backslash. The only exception is the visible ASCII character encoding: such
-a character is encoded by its real byte preceded by `\000`.
+This example shows a hexadecimal PDF string (enclosed in \code{<>} as opposed
+to the literal PDF string enclosed in `()`). In these strings each byte is
+represented by two hexadecimal characters (`0-9`, `A-F`). You can tell the
+encoding is UTF-16BE, becuase it starts with \"Byte order mark" `FEFF`. Each
+unicode character is then encoded in one or two byte pairs. The example string
+corresponds to the text \"CviÄení je zátěž a ${\rm x} ∈ ð•„$". Notice the 4 bytes
+for the last character, $ð•„$. (Even the whitespace would be OK in a PDF file,
+because it should be ignored by PDF viewers, but \LuaTeX\ doesn't allow it.)
+\_endinput
+2021-02-08 \_octalprint -> \_hexprint
+2020-03-12 Released
diff --git a/macros/luatex/optex/base/ref-file.opm b/macros/luatex/optex/base/ref-file.opm
index fd7c1101d7..d594bf88c0 100644
--- a/macros/luatex/optex/base/ref-file.opm
+++ b/macros/luatex/optex/base/ref-file.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \openref {File for references <2020-02-14>} % preloaded in format
+\_codedecl \openref {File for references <2021-02-05>} % preloaded in format
\_doc --------------------------
The \`\_inputref` macro is used in `\everyjob`. It reads `\jobname.ref` file
@@ -34,7 +34,10 @@
the \`\_wref` `\<macro>{<data>}` is redefined in order to
save the line `\<macro><data>` to the `.ref` file using asynchronous
`\write` primitive. Finally, the `\_openref` destroys itself, because we
- need not open the file again.
+ need not open the file again.\nl
+ The `\_wref``<csname>{<params>}` does exactly `\write\_reffile{\string<csname><params>}`
+ in this case and \`\_ewref``<csname>{<params>}` does
+ `\write\_reffile{\string<csname><expanded-params>}`.
\_cod ---------------------
\_def\_openref {%
@@ -47,7 +50,8 @@
\_immediate\_write\_reffile {\_pcent\_pcent\_space OPTeX <\_optexversion> - REF file (#1)}%
\_immediate\_wref \Xrefversion{{\_REFversion}}%
}
-\def\openref{\_openref}
+\_def\_ewref #1#2{\_edef\_ewrefA{#2}\_ea\_wref\_ea#1\_ea{\_ewrefA}}
+\_def\openref{\_openref}
\_doc ----------------------
We are using the convention that the macros used in `.ref` file are named
@@ -65,7 +69,7 @@
versa.
\_cod ----------------------
-\_def\_REFversion{4} % actual version of .ref files in OpTeX
+\_def\_REFversion{5} % actual version of .ref files in OpTeX
\_def\_Xrefversion#1{\_ifnum #1=\_REFversion\_relax \_else \_endinput \_fi}
\_public \Xrefversion ; % we want to ignore .ref files generated by OPmac
@@ -107,7 +111,7 @@ The `.ref` file looks like:
\begtt \catcode`\<=13
\Xrefversion{<ref-version>}
\_Xpage{<gpageno>}{<pageno>}
-\_Xtoc{<level>}{<type>}{<text>}<title>
+\_Xtoc{<level>}{<type>}{<text>}{}<title>
\_Xlabel{<label>}{<text>}
\_Xlabel{<label>}{<text>}
...
diff --git a/macros/luatex/optex/base/references.opm b/macros/luatex/optex/base/references.opm
index 27e4f8d632..03c8f6955c 100644
--- a/macros/luatex/optex/base/references.opm
+++ b/macros/luatex/optex/base/references.opm
@@ -27,7 +27,7 @@
\_doc ----------------------------
\`\label``[<label>]` saves the decalred label to `\_lastlabel` and
\`\wlabel``{<text>}` uses the `\_lastlabel` and activates
- `\wref\_Xlabel{<label>}{<text>}`.
+ `\_wref\_Xlabel{<label>}{<text>}`.
\_cod ----------------------------
\_def\_label[#1]{\_isempty{#1}\_iftrue \_global\_let \_lastlabel=\_undefined
@@ -39,8 +39,7 @@
\_ifx\_lastlabel\_undefined \_else
\_dest[ref:\_lastlabel]%
\_printlabel\_lastlabel
- \_edef\_tmp{{\_lastlabel}{#1}}%
- \_ea\_wref \_ea\_Xlabel \_ea{\_tmp}%
+ \_ewref \_Xlabel {{\_lastlabel}{#1}}%
\_sxdef{_lab:\_lastlabel}{#1}\_sxdef{l0:\_lastlabel}{}%
\_global\_let\_lastlabel=\_undefined
\_fi
diff --git a/macros/luatex/optex/base/sections.opm b/macros/luatex/optex/base/sections.opm
index 66dc9cd9e0..5e50fa3b9f 100644
--- a/macros/luatex/optex/base/sections.opm
+++ b/macros/luatex/optex/base/sections.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \chap {Titles, chapters, sections, subsections <2020-03-28>} % preloaded in format
+\_codedecl \chap {Titles, chapters, sections, subsections <2021-02-09>} % preloaded in format
\_doc ---------------------------
We are using scaled fonts for titles
@@ -97,7 +97,8 @@
* `\_sectionlevel=1` -- chapters (used in `\chap`)
* `\_sectionlevel=2` -- sections (used in `\sec`)
* `\_sectionlevel=3` -- subsections (used in `\secc`)
- * `\_sectionlevel=4` -- subsubsections (unused by default)
+ * `\_sectionlevel=4` -- subsubsections (unused by default, see the
+ \ulink[http://petr.olsak.net/optex/optex-tricks.html\#seccc]{\OpTeX/ trick 0033})
\enditems
\_cod --------------------------
@@ -130,7 +131,6 @@
subsections <num>.<num>. On the other hand, if chapter is used in the
document then `\_chapnum>0` and sections have numbers` <num>.<num>`
and subsections have numbers `<num>.<num>.<num>`.
-
\_cod --------------------------
\_newcount \_chapnum % chapters
@@ -152,7 +152,6 @@
\_def \_thednum {(\_the\_dnum)}
\_def\_othe #1.{\_ifnum#1>0 \_the#1.\_fi}
-\_def\_incr #1{\_global\_advance#1by1 }
\_doc ----------------------------
The \`\notoc` and \`\nonum` prefixes are implemented by
@@ -204,12 +203,11 @@
\_doc ----------------------------
The \`\_printrefnum``[<pre>@<post>]` macro is used in `\_print*` macros.
- \nl
- The \`\_wtotoc` `{<level>}{<info>}{<ref-num>}{<title-text>}`
- macro expands its parameters and does \^`\_wref`.
Note that the `<tite-text>` is `\detokenize`d before `\_wref`, so the
problem of \"fragile macros" from old \LaTeX/ never occurs.
+ This fourth parameter is not delimited by `{...}` but by end of line.
+ This gives possibility to have unbalanced braces in inline verbatim in titles.
\_cod ----------------------------
\_def \_printrefnum [#1@#2]{\_leavevmode % we must be in horizontal mode
@@ -217,12 +215,20 @@
\_wlabel \_therefnum % references, if `\label[<label>]` is declared
\_ifnotoc \_else \_incr \_tocrefnum
\_dest[toc:\_the\_tocrefnum]%
- \_wtotoc{\_the\_sectionlevel}{\_secinfo}%
- {\_therefnum}{\_detokenize\_ea{\_savedtitle}}%
+ \_ewref\_Xtoc{{\_the\_sectionlevel}{\_secinfo}%
+ {\_therefnum}{\_theoutline}\_detokenize\_ea{\_savedtitle}}%
\_fi
+ \_gdef\_theoutline{}%
}
-\_def \_wtotoc #1#2#3#4{\_edef\_tmp{{#1}{#2}{#3}{#4}}\_ea\_wtotocA\_tmp}
-\_def \_wtotocA #1#2#3#4{\_wref\_Xtoc{{#1}{#2}{#3}#4}}
+
+ \_doc -----------------------------
+ \`\thisoutline``{<text>}` saves text to the \`\_theoutline` macro.
+ \^`\_printrefnum` uses it and removes it.
+ \_cod -----------------------------
+
+\_def\_theoutline{}
+\_def\_thisoutline#1{\_gdef\_theoutline{#1}}
+\_public \thisoutline ;
\_doc -----------------------------
The \`\_abovetitle``{<penaltyA>}{<skipA>}` and \`\_belowtitle``{<skipB>}` pair
@@ -256,7 +262,7 @@
\_def\_nbpar{{\_interlinepenalty=10000\_endgraf}}
-\_protected\_def\_nl{\_hfil\_break}
+\_protected\_def\_nl{\_unskip\_hfil\_break}
\_regmacro {\_def\_nl{\_unskip\_space}} {\_def\_nl{\_unskip\_space}} {\_def\_nl{ }}
\_regmacro {\_def\nl{\_unskip\_space}} {\_def\nl{\_unskip\_space}} {\_def\nl{ }}
@@ -321,7 +327,10 @@
\_public \secl ;
\_doc -----------------------------
- The \`\caption``/<letter>` uses `\_<letter>num` counter.
+ The \`\caption``/<letter>` increases `\_<letter>num` counter,
+ edefines \`\_thecapnum` as `\_the<letter>num` and
+ defines \`\_thecaptitle` as language-dependent word using \^`\_mtext`,
+ runs the `\_everycaption<letter>` tokens register.
The group opened by `\caption` is finalized by first `\par` from
an empty line or from `\vskip` or from `\endinsert`.
The `\_printcaption<letter>` is called, it starts with
@@ -350,9 +359,9 @@
They switch to horizontal mode and use `\_wlabel\_thecapnum` (in order to
make reference and hyperlink destination) a they can use:
\begitems
- * `\_thecaptitle` ... expands to the word Table or Figure (depending on
- the current language).
- * `\_thecapnum` ... expands to `\the<letter>num` (caption number).
+ * \^`\_thecaptitle` ... expands to the word Table or Figure (depending on
+ the current language).
+ * \^`\_thecapnum` ... expands to `\the<letter>num` (caption number).
\enditems
\_cod -----------------------------
@@ -363,6 +372,15 @@
\_let \_printcaptionf = \_printcaptiont % caption of figures = caption of tables
\_doc -----------------------------
+ If you want to declare a new type of `\caption` with independent counter,
+ you can use following lines, where `\caption/a` for Algorithms are
+ declared:
+ \begtt
+ \let\_printcaptiona = \_printcaptionf \let\_everycaptiona = \_everycaptionf
+ \newcount\_anum \addto\_secx {\_anum=0 }
+ \def\_theanum {\_othe\_chapnum.\_the\_secnum.\_the\_anum}
+ \sdef{_mt:a:en}{Algorithm} \sdef{_mt:a:cs}{Algoritmus} % + your language...
+ \endtt
The default format of `\caption` text is a paragraph in block narrower by
`\_iindent` and with the last line is centered. This setting is done by
the \`\_narrowlastlinecentered` macro.
@@ -432,6 +450,8 @@
\_endcode % -------------------------------------
+2021-02-09 \thisoutline implemented
+2021-01-26 \_nl: \unskip added
2021-01-11 \secl introduced
2021-01-05 \_thednum printed in text mode in its both occurences.
2020-04-28 \_secfonts etc: \_boldify is last.
diff --git a/macros/luatex/optex/base/slides.opm b/macros/luatex/optex/base/slides.opm
index deba85c746..5ee4346674 100644
--- a/macros/luatex/optex/base/slides.opm
+++ b/macros/luatex/optex/base/slides.opm
@@ -1,6 +1,6 @@
% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \slideshow {Slides style for OpTeX <2020-03-19>} % loaded on demand by \slides
+\_codedecl \slideshow {Slides style for OpTeX <2021-01-16>} % loaded on demand by \slides
\_doc -----------------------------
Default margins and design is declared here.
@@ -197,7 +197,7 @@
\_maxlayers=0
\_long\_def\_layersactive #1 #2\endlayers{%
- \_par\_egroup
+ \_par\_penalty0\_egroup
\_gdef\_layertext{#2}%
\_global\_maxlayers=#1
\_setbox\_slidepageB=\_vbox\_bgroup
@@ -232,3 +232,5 @@
The user manual of \OpTeX/ slides are in `op-slides.tex` file.
+2021-01-16 \layers at empty page raises error: problem fixed
+2020-03-19 slides introduced
diff --git a/macros/luatex/optex/base/table.opm b/macros/luatex/optex/base/table.opm
index 09ece437ea..d6edaff20f 100644
--- a/macros/luatex/optex/base/table.opm
+++ b/macros/luatex/optex/base/table.opm
@@ -1,10 +1,10 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \table {Basic macros for OpTeX <2020-05-26>} % preloaded in format
+\_codedecl \table {Basic macros for OpTeX <2021-01-27>} % preloaded in format
\_doc -----------------------------
The result of the \`\table``{<declaration>}{<data>}` macro is inserted into
- `\_tablebox`. You can change default value if you want by
+ \`\_tablebox`. You can change default value if you want by
`\let\_tablebox=\vtop` or `\let\_tablebox=\relax`.
\_cod -----------------------------
@@ -95,7 +95,7 @@
work in special cases here like \code{`\{`} for example.
\_cod -----------------------------
-\_def\_tableB #1{\_egroup \_def\_tmpb{#1}%
+\_long\_def\_tableB #1{\_egroup \_def\_tmpb{#1}%
\_replstring\_tmpb{\crl}{\_crcr\crl}\_replstring\_tmpb{\crll}{\_crcr\crll}%
\_replstring\_tmpb{\crli}{\_crcr\crli}\_replstring\_tmpb{\crlli}{\_crcr\crlli}%
\_replstring\_tmpb{\crlp}{\_crcr\crlp}%
@@ -199,8 +199,8 @@
\_doc -----------------------------
The default \"declaration letters" `c`, `l`, `r` and `p` are declared
- by setting \`\tabdeclarec`, \`\tabdeclarel`, \`\tabdeclarer` and
- \`\paramtabdeclarep` macros. In general, define
+ by setting \`\_tabdeclarec`, \`\_tabdeclarel`, \`\_tabdeclarer` and
+ \`\_paramtabdeclarep` macros. In general, define
`\def\_tabdeclare<letter>{...}` for a non-parametric
letter and `\def\_paramtabdeclare<letter>{...}` for a letter with a parameter.
The double hash `##` must be in the definition, it is replaced by a real table item data.
@@ -269,8 +269,7 @@
\_def\_crlpB#1#2-#3,{\_ifx\_end#3\_xdef\_crlplist{\_crlplist#1#2,}\_else\_crlpC#1#2-#3,\_fi}
\_def\_crlpC#1-#2-#3,{\_tmpnum=#1\_relax
\_loop \_xdef\_crlplist{\_crlplist\_the\_tmpnum,}\_ifnum\_tmpnum<#2\_advance\_tmpnum by1 \_repeat}
-\_def\_crlpD{\_global\_advance\_tmpnum by1
- \_edef\_tmpa{\_noexpand\_isinlist\_noexpand\_crlplist{,\_the\_tmpnum,}}%
+\_def\_crlpD{\_incr\_tmpnum \_edef\_tmpa{\_noexpand\_isinlist\_noexpand\_crlplist{,\_the\_tmpnum,}}%
\_tmpa\_iftrue \_kern-\_drulewidth \_tablinefil \_kern-\_drulewidth\_else\_hfil \_fi}
\_def\_tskip{\_afterassignment\_tskipA \_tmpdim}
@@ -296,7 +295,7 @@
\_public \mspan ;
\_doc -----------------------------
- The \`\vspan``{<number>}{<text>}` implementation is here.
+ The \`\vspan``<number>{<text>}` implementation is here.
We need to lower the box by
\begtt \catcode`\<=13
(<number>-1)*(\ht+\dp of \tabstrut) / 2.
@@ -305,7 +304,8 @@
then use braces.
\_cod -----------------------------
-\_def\_vspan#1#2{\_vtop to\_zo{\_hbox{\_lower \_dimexpr
+\_def\_vspan#1#2#{\_vspanA{#1#2}}
+\_def\_vspanA#1#2{\_vtop to\_zo{\_hbox{\_lower \_dimexpr
#1\_dimexpr(\_ht\_tstrutbox+\_dp\_tstrutbox)/2\_relax
-\_dimexpr(\_ht\_tstrutbox+\_dp\_tstrutbox)/2\_relax \_hbox{#2}}\_vss}}
\_public \vspan ;
@@ -511,6 +511,7 @@ after the second one.
\_endinput
+2021-01-27 \_tableB: \long\def added, \vspan syntax improved
2020-05-26 \eqbox implemented
2020-05-20 \colnum implemented.
\vspan implemented.
diff --git a/macros/luatex/optex/base/unimath-codes.opm b/macros/luatex/optex/base/unimath-codes.opm
index 21a9b1caeb..a52a9a02cb 100644
--- a/macros/luatex/optex/base/unimath-codes.opm
+++ b/macros/luatex/optex/base/unimath-codes.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \_ncharrmA {Uni math codes <2020-11-13>} % preloaded on demand by \loadmath
+\_codedecl \_ncharrmA {Uni math codes <2021-02-03>} % preloaded on demand by \loadmath
\_doc -----------------------------
The control sequences for `\alpha`, `\beta` etc are redefined here.
@@ -158,7 +158,7 @@
}
\_catcode`#=14
\_everypar={\_setbox0=\_lastbox \_par \_p}
- \_input mathclass.opm
+ \_setbox0=\_vbox{\_input mathclass.opm }
\_endgroup
\_doc -----------------------------
@@ -170,7 +170,9 @@
\_begingroup % \input unimath-table.opm (it is a copy of unicode-math-table.tex):
\_def\UnicodeMathSymbol #1#2#3#4{%
- \_global\_Umathcharnumdef#2=\_Umathcodenum#1\_relax
+ \_ifnum#1=\_Umathcodenum#1 % the code isn't set by mathclass.opm
+ \_global\_Umathchardef#2=0 1 #1 \_global\_Umathcode#1=0 1 #1
+ \_else \_global\_Umathcharnumdef#2=\_Umathcodenum#1 \_fi
\_ifx#3\_mathopen \_gdef#2{\_Udelimiter 4 1 #1 }\_fi
\_ifx#3\_mathclose \_gdef#2{\_Udelimiter 5 1 #1 }\_fi
\_ifx#3\_mathaccent \_gdef#2{\_Umathaccent fixed 7 1 #1 }\_fi
@@ -187,10 +189,21 @@
\_mit % default math alphabets setting
+% hyphen character is transformed to minus:
\_Umathcode `- = 2 1 "2212
-%\_Umathcode`: = 3 1 "3A % mathclass defines it as 6 1 "3A (punctuation)
+
+% mathclass defines : as Punct, plain.tex as Rel, we keep mathclass,
+% i.e. there is difference from plain.tex, you can use $f:A\to B$.
+
\_let\{=\lbrace \_let\}=\rbrace
+% mathclas defines ! as Ord, plain.tex as Close
+\_Umathcode `! = 5 1 `! % keep plain.tex declaration
+\_Umathchardef \mathexclam = 5 1 `!
+% mathclas defines ? as Punct, plain.tex as Close
+\_Umathcode `? = 5 1 `? % keep plain.tex declaration
+\_Umathchardef \mathquestion = 5 1 `?
+
\_protected\_def \_sqrt {\_Uradical 1 "0221A }
\_protected\_def \_cuberoot {\_Uradical 1 "0221B }
\_protected\_def \_fourthroot {\_Uradical 1 "0221C }
@@ -241,6 +254,20 @@
\_global\_Umathcode `/ = 0 1 `/ % mathclass says that / is Bin, Plain TeX says that it is Ord.
+% compressed dots in S and SS styles (usable in \matrix when it is in T, S and SS style)
+\_protected\_def \vdots {\_relax \_ifnum \_mathstyle>3 \_unicodevdots \_else \_vdots \_fi}
+\_protected\_def \ddots {\_relax \_ifnum \_mathstyle>3 \_unicodeddots \_else \_ddots \_fi}
+\_protected\_def \adots {\_relax \_ifnum \_mathstyle>3 \_unicodeadots \_else \_adots \_fi}
+
+% Unicode superscripts (²) and subscripts as simple macros with \mathcode"8000
+\_bgroup
+ \_def\_tmp#1#2{\_global\_mathcode#1="8000 \_lccode`\~=#1 \_lowercase{\_gdef~}{#2}}
+ \_fornum 0..1 \_do {\_tmp{"207#1}{{^#1}}}
+ \_tmp{"B2}{{^2}}\_tmp{"B3}{{^3}}
+ \_fornum 4..9 \_do {\_tmp{"207#1}{{^#1}}}
+ \_fornum 0..9 \_do {\_tmp{"208#1}{{_#1}}}
+\_egroup
+
\_doc -----------------------------
Aliases are declared here. They are names not mentioned in the `unimath-table.opm` file
but commonly used in \TeX.
@@ -379,7 +406,7 @@
\ldotp \cdotp \bullet \triangleleft \trianglerigt \mapstochar \rightarrow
\prime \lhook \rightarrow \leftarrow \rhook \triangleright \triangleleft
\Relbar \Rightarrow \relbar \rightarrow \Leftarrow \mapstochar
- \longrightarrow \Longleftrightarrow \vdots \ddots ;
+ \longrightarrow \Longleftrightarrow \unicodevdots \unicodeddots \unicodeadots ;
\_endcode
@@ -398,6 +425,9 @@ for technical details about Unicode-math.
\_endinput
History:
+2021-02-03 Unicode superscripts, subscripts declared
+2021-01-31 Mathcode of ! ? set to Close, codes undeclared in mathclass set correctly
+2021-01-23 Compressed \vdots, \ddots, \adots in script(script)style.
2020-11-13 Bug fix: \colon declared
2020-06-13 Umathcode of / declared as in Plain TeX
2020-06-07 \_itgreek \_itGreek, \_rmgreek \_rmGreek etc. introduced, names changed
diff --git a/macros/luatex/optex/base/unimath-table.opm b/macros/luatex/optex/base/unimath-table.opm
index 066f57d352..252c1fc26a 100644
--- a/macros/luatex/optex/base/unimath-table.opm
+++ b/macros/luatex/optex/base/unimath-table.opm
@@ -3,6 +3,7 @@
% Only \ddots, \adots and \vdots are called differently:
% \unicodeddots, \unicodeadots and \unicodevdots
+% \mathquestion: Ord -> Close (because plain.tex declares it as Close)
\UnicodeMathSymbol{"00021}{\mathexclam }{\mathclose}{exclamation mark}%
\UnicodeMathSymbol{"00023}{\mathoctothorpe }{\mathord}{number sign}%
@@ -20,7 +21,7 @@
\UnicodeMathSymbol{"0003C}{\less }{\mathrel}{less-than sign r:}%
\UnicodeMathSymbol{"0003D}{\equal }{\mathrel}{equals sign r:}%
\UnicodeMathSymbol{"0003E}{\greater }{\mathrel}{greater-than sign r:}%
-\UnicodeMathSymbol{"0003F}{\mathquestion }{\mathord}{question mark}%
+\UnicodeMathSymbol{"0003F}{\mathquestion }{\mathclose}{question mark}%
\UnicodeMathSymbol{"00040}{\mathatsign }{\mathord}{commercial at}%
\UnicodeMathSymbol{"0005B}{\lbrack }{\mathopen}{left square bracket}%
\UnicodeMathSymbol{"0005C}{\backslash }{\mathord}{reverse solidus}%
diff --git a/macros/luatex/optex/base/verbatim.opm b/macros/luatex/optex/base/verbatim.opm
index dc701c96eb..8fd20ee531 100644
--- a/macros/luatex/optex/base/verbatim.opm
+++ b/macros/luatex/optex/base/verbatim.opm
@@ -1,6 +1,6 @@
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \begtt {Verbatim <2020-11-13>} % preloaded in format
+\_codedecl \begtt {Verbatim <2021-01-22>} % preloaded in format
\_doc ----------------------------
The internal parameters
@@ -59,13 +59,13 @@
\_def\_setverb{\_catcodetable\_verbatimcatcodes }%
\_doc ----------------------------
- \`\activettchar``<char>` saves original catcode of previously declared `<char>` (if
+ \`\verbchar``<char>` saves original catcode of previously declared `<char>` (if
such character was declared) using \`\_savedttchar` and \`\_savedttcharc`
values. Then new such values are stored. The declared character is activated
by `\_adef` as a macro (active character) which opens a group,
does `\_setverb` and other settings and reads its parameter until second the same
character. This is done by the \`\_readverb` macro. Finally, it prints scanned
- `<text>` by \^`\_printinverbatim` and closes group. Suppose that `\activettchar"` is
+ `<text>` by \^`\_printinverbatim` and closes group. Suppose that `\verbchar"` is
used. Then the following work is schematically done:
\begtt
\_def "{\_begingroup \_setverb ... \_readverb}
@@ -75,14 +75,15 @@
deactivates it.
\_cod ----------------------------
-\_def\_activettchar#1{%
+\_def\_verbchar#1{%
\_ifx\_savedttchar\_undefined\_else \_catcode\_savedttchar=\_savedttcharc \_fi
\_chardef\_savedttchar=`#1
\_chardef\_savedttcharc=\_catcode`#1
\_adef{#1}{\_begingroup \_setverb \_adef{ }{\_dsp}\_ttfont \_the\_everyintt\_relax \_readverb}%
\_def\_readverb ##1#1{\_printinverbatim{##1}\_endgroup}%
}
-\_public \activettchar ;
+\_let \_activettchar=\_verbchar % for backward compatibility
+\_public \verbchar \activettchar ;
\_doc ----------------------------
\`\begtt` is defined only as public. We don't need a private `\_begtt` variant.
@@ -158,7 +159,7 @@
\_cod ----------------------------
\_def\_printverb #1^^J#2{%
- \_ifx\_printverblinenum\_relax \_else \_global\_advance\_ttline by1 \_fi
+ \_ifx\_printverblinenum\_relax \_else \_incr\_ttline \_fi
\_testcommentchars #1\_relax\_relax\_relax
\_iftrue
\_ifx\_end#2 \_printcomments\_fi
@@ -269,7 +270,7 @@
\_ttskip
\_isnextchar\_par{}{\_noindent}%
}
-\_def\_vireadline{\_read\_vifile to \_tmp \_global\_advance\_viline by1 }
+\_def\_vireadline{\_read\_vifile to \_tmp \_incr\_viline }
\_def\_visaveline{\_ea\_addto\_ea\_tmpb\_ea{\_tmp}}
\_public \verbinput ;
@@ -362,6 +363,7 @@
\_endinput
History:
+2020-01-22 ... \activettchar changed to \verbchar
2020-12-30 ... \secc followed by \begtt must be unbreakable
2020-11-13 ... \commentchars implemented
2020-04-22 ... \ttshift introduced
diff --git a/macros/luatex/optex/demo/op-demo.tex b/macros/luatex/optex/demo/op-demo.tex
index c116682e59..e17b2f0b2f 100644
--- a/macros/luatex/optex/demo/op-demo.tex
+++ b/macros/luatex/optex/demo/op-demo.tex
@@ -6,7 +6,7 @@
\typosize[9/10.5] % 9pt font / 10.5pt baselineskip
\parindent=10pt % typesetting parameters
\hyperlinks \Blue\Blue % active hyperlinks
-\activettchar` % in-text verbatim by `...`
+\verbchar` % in-text verbatim by `...`
\everyintt={\Red} % in-text verbatim Red
\enquotes % use \"text" for English quotation
@@ -89,7 +89,7 @@ can be added if you need to refer to a figure.
\sec Verbatim
In-text verbatim is surrounded by the character declared
-by `\activettchar` sequence. The listing can be surrounded
+by `\verbchar` sequence. The listing can be surrounded
by `\begtt` and `\endtt` sequences
\begtt
This is verbatim.
diff --git a/macros/luatex/optex/demo/op-slides.tex b/macros/luatex/optex/demo/op-slides.tex
index 8c9bca24fc..45b65fb657 100644
--- a/macros/luatex/optex/demo/op-slides.tex
+++ b/macros/luatex/optex/demo/op-slides.tex
@@ -9,7 +9,7 @@
\hyperlinks\Blue\Blue % hyperlinks are used in the title page
\backgroundpic{op-slides-bg.png} % background picture
-\activettchar` % inline verbatim
+\verbchar` % inline verbatim
\enquotes % English quotes \"..."
\slideshow %------------------------------------------------------------
diff --git a/macros/luatex/optex/doc/omls.tex b/macros/luatex/optex/doc/omls.tex
new file mode 100644
index 0000000000..f161f151d7
--- /dev/null
+++ b/macros/luatex/optex/doc/omls.tex
@@ -0,0 +1,832 @@
+\fontfam[lm]
+
+\adef<#1>{\ifcsname s:#1\endcsname
+ \link[s:#1]{}{\Blue$\langle$\hbox{\it#1\/}$\rangle$}%
+ \else {\Blue$\langle$\hbox{\it#1\/}$\rangle$}\fi}
+\everyintt={\catcode`<=13 \Red}
+\verbchar`
+\enlang
+\enquotes
+
+\def\r[#1]{\label[#1]\wlabel{\the\_itemnum}}
+\def\:{$\to$}
+\let\_narrowlastlinecentered=\ignoreit
+\_def\_printsecc#1{\_par
+ \_abovetitle{\_penalty-200}{\_medskip\_smallskip}
+ {\_seccfont \_noindent \_raggedright \_printrefnum[@\_quad]%
+ \_label[\the\_secnum.\the\_seccnum]\wlabel{\the\_secnum.\the\_seccnum}#1\_nbpar}%
+ \_nobreak \_belowtitle{\_medskip}%
+ \_firstnoindent
+}
+\def\.`{\bgroup\catcode`\ =12 \scancs}
+\def\scancs#1{\egroup
+ \immediate\_wref\Xknowncs{\string#1{\the\_secnum.\the\_seccnum}}%
+ \ea`\string#1%
+}
+\def\printcs#1{\ea\printcsred\csstring#1;~\ref[#1] \ }
+\def\printcsred,#1;{{\Red\tt \bslash#1}}
+\def\printknowncs{\ifx\knowncslist\undefined \let\knowncslist=\empty \fi
+ \ifx\knowncslist\empty TeX me again...\else
+ \_dosorting\knowncslist \ea\xargs \ea\printcs \knowncslist;\fi}
+
+\def\~`<#1>`{<#1>\sxdef{s:#1}{}\dest[s:#1]}
+
+\refdecl{
+ \def\knowncslist{}^^J
+ \def\Xknowncs#1#2{%
+ \sxdef{,\csstring#1}{#2}%
+ \global\ea\addto\ea\knowncslist\ea{\csname,\csstring#1\endcsname}%
+ }
+}
+\sdef{_item:c}{\pdfsave\llap{\pdfscale{1.3}{1.3}$\circ$\enspace}\pdfrestore}
+
+%\parindent=15pt \iindent=\parindent \ttindent=\parindent
+%\ttindent=0pt
+\everylist={\advance\ttindent by-1em}
+\hyperlinks \Green \Green
+\def\cskip{\par\nobreak}
+\def\begblock{\medskip\hbox\bgroup\vrule\vbox\bgroup\hrule\smallskip
+ \_fnset\leftskip=\parindent \rightskip=\parindent \medskip\noindent}
+\def\endblock{\medskip\hrule\egroup\vrule\egroup}
+
+\def\raggedright{\rightskip=10pt plus1fil\relax}
+\def\optexmanual{\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-doc.pdf]{\OpTeX/ manual}}
+
+\titskip=1cm
+
+\hfill Version 0.1
+
+\tit \OpTeX/ Markup Language Standard
+
+{\it\hfil Petr Olšák, 2021}\bigskip
+
+The \OpTeX/ markup language standard (OMLS) declares a list of control
+sequences used in \OpTeX/ documents including their syntax and sematic. The
+listed control sequences in OMLS in section~\ref[listcs] in table~\ref[alistcs]
+are called {\it known} and other control sequences are {\it unknown}.
+
+The main reason for OMLS is to give instructions on how to program convertors
+from \OpTeX/ documents to another formats (Html, Markdown, \LaTeX/) or how
+to interpret the \OpTeX/ document sources in such applications as
+{\tt texcount} or text editors\fnote
+{We suppose advanced editor features: color highlighting, sections/chapters folding,
+ auto-completions, etc.}.
+These converters and applications are called {\it cnv-programs} in this document.
+
+We suppose that if you need absolute control over the typography of the
+document when it is converted to PDF pages, then you use \OpTeX/ itself. If
+you need to create other formats of the same document then you can use a
+cnv-program which accepts OMLS. The result is a document without
+typographical instructions like dimensions of pages, margins, paginations
+and headers, selection of a font-family, dimensions of the fonts, etc.\ You can
+imagine the result of such a conversion as a single Html page where more
+typographical features can be controlled in a different way, for example by
+an external CSS file. This is a reason why control sequences like `\fontfam` or
+`\margins` are ignored by cnv-programs.
+
+Obviously, \TeX/ and \OpTeX/ itself gives possibility to declare various
+input formats for various purposes. Sometimes (in very special cases) there
+exists a good reason to declare a different and special input format by
+\TeX/ macros. But if the source of the document respects the OMLS then it is
+reasonably transformable to other formats by cnv-programs. We hope that
+OMLS-ready documents cover a very large set of typical documents used these
+days.
+
+We suppose that cnv-programs work internally with strings of source lines
+without tokenization. This is one of the great differences in processing the
+document directly by \OpTeX/ and using a cnv-program. The second difference is
+that the expansion process of macros is not implemented in cnv-programs in
+its full range. We respect that the result of cnv-programs will be different
+than from processing directly by \OpTeX/. But this is not a bug, this is
+the feature. We concentrate on the fixed syntax and sematic given by OMLS of the
+\OpTeX/ document and we throw behind the head the typographical
+exactness of the document which can be done only directly by \TeX/ (and it is
+exactly described in \TeX/book, for example).
+
+\notoc\nonum\sec Table of contents
+
+\begmulti 2
+\maketoc
+\endmulti
+\vfil\break
+
+\sec Syntactical rules
+
+The syntactical elements are described as strings here. No \TeX/'s tokenization is
+taken into account. The rule with a smaller number has precedence.
+
+\begitems \style n
+* end of line or end of file \: \~`<eol>`.\r[eol]
+* `%%:` at beginning of the line \: \~`<cnv-declarator>`, see section~\ref[cnv-decl].
+* `<cnv-declarator><text><eol>` is interpreted specially.
+* space or a tab-character \: \~`<space>`.
+* non-empty sequence of `<space>`s \: \~`<spaces>`.\r[spcs]
+* an empty line or a line only with `<spaces>` \: \~`<empty-line>`.
+* a character `a`--`z` or `A`--`Z` \: \~`<letter>`.
+* a `<letter>` or `_` \: \~`<specletter>`.
+* a character different from previous rule or `<eol>` or `<spaces>` \: \~`<non-specletter>`
+* `\<non-specletter>` \: \~`<singlechar-control-sequence>`.\r[scs]
+* a non-empty sequence of `<specletter>`s \: \~`<letters-seq>`.
+* `\<letters-seq><non-specletter>` \: \~`<multiletter-control-sequence>``<non-specletter>`.
+* `%<text><eol>` \: `<comment>` and it is completely ignored including `<eol>`.\r[com]
+* `<spaces>` at beginning of the line marks that the line as {\it indented}.
+* `<spaces>` at beginning of the line \: are ignored.\r[bspace]
+* `<spaces><eol>` or `<eol>` \: `<spaces>`.\r[eolrm]
+* `<multileter-control-sequence><spaces>` \: `<multileter-control-sequence>`.\r[csspace]
+* `<multiletter-control-sequence>` or `<singlechar-control-sequence>` \: \~`<control-sequence>`.\r[cs]
+* `<spaces>` \: `<space>`.\r[sspace]
+* `~` \: non-breakable space.
+* text where all pairs `{` and `}` match at arbitrary level \: \~`<balanced-text>`.\r[balt]
+* `{<balanced-text>}` can be interpreted as a parameter of a `<control-sequence>`, see section~\ref[listcs].
+* The `{` alone not used by previous rule opens a group and the `}` alone closes the same group.\r[group]
+* There are two main modes: h-mode, v-mode\fnote
+ {this is great simplification of real \TeX/ modes.}.
+ The document processing starts in v-mode.
+* In v-mode: a `<non-space>` character or a control sequence listed
+ in table~\ref[vtohmode] swithes to h-mode.
+* In h-mode: an `<empty-line>` or a control sequence listed in table~\ref[htovmode] switches to v-mode.\r[htov]
+* The switching from v-mode to h-mode \: a paragraph begins.
+* The switching from h-mode to v-mode \: the current paragraph ends.
+* `$<text>$` or `$$<text>$$` \: process `<text>` in math-mode, see section~\ref[math].
+* a non-empty sequence of digits with optional `+` or `-` in the front \: \~`<number>`.
+* `<number>` with optional dot inside the sequence of digits \: \~`<decimal-number>`.
+* a pair of letters listed in the table~\ref[tex-units] \: \~`<tex-unit>`.
+* optional space, i.e.\ `<space>` or nothing \: \~`<o-space>`.
+* `<decimal-number><o-space><tex-unit><o-space>` \: \~`<dimen>`.
+* `<control-sequence>` not listed in table~\ref[alistcs] nor in configuration \: \~`<unknown-control-sequence>`.\r[unkncs]
+* `=<o-space>` or `<o-space>` \: \~`<o-equal>`.
+* `<unknown-control-sequence><o-equal><dimen>` \: should be completely ignored.\r[eqdim]
+* `<unknown-control-sequence><o-equal><number>` \: should be completely ignored.
+* `<unknown-control-sequence>=<o-space>{<balanced-text>}` \: should be completely ignored.
+* `<unknown-control-sequence>[<balanced-text>]` \: should be completely ignored.\r[ibkt]
+* `<unknown-control-sequence>` \: should be ignored.\r[ignore]
+* `<control-sequence>`s are processed as described in section~\ref[listcs] or
+ by a configuration of the cnv-program.
+\enditems
+
+\bigskip
+\label[vtohmode]\caption/t
+List of control sequences which switch from v-mode to h-mode.
+\cskip
+\begblock
+`\`<space>,
+`\hfil`,
+`\hfill`,
+`\hskip`,
+`\hss`,
+`\indent`,
+`\leavevmode`,
+`\noindent`,
+`\quad`,
+`\qquad`,
+`\vrule`.
+\endblock
+
+\bigskip
+\label[htovmode]\caption/t
+List of control sequences which switch from h-mode to v-mode.
+\cskip
+\begblock
+`\begblock`,
+`\begitems`,
+`\begmulti`,
+`\begtt`,
+`\bib`,
+`\bigskip`,
+`\bye`,
+`\caption`,
+`\chap`,
+`\cskip`,
+`\end`,
+`\endblock`,
+`\enditems`,
+`\endmulti`
+`\hrule`,
+`\medskip`,
+`\par`,
+`\sec`,
+`\secc`,
+`\secl`,
+`\smallskip`,
+`\vfil`,
+`\vskip`.
+\endblock
+
+\bigskip
+\label[tex-units]\caption/t
+List of \TeX/ units.
+\cskip
+\begblock
+`bp`,
+`cc`,
+`cm`,
+`dd`,
+`em`,
+`ex`,
+`in`,
+`mm`,
+`pc`,
+`pt`,
+`sp`.
+\endblock
+
+\nonum\secc Examples
+
+\begitems
+* `\%` is `<control-sequence>` by rules \ref[scs], \ref[cs]. It does not start
+ comment, because rule \ref[scs] has precedence before rule \ref[com].
+* `\%<space>`: the `<space>` is kept, but `\foo<space>`: the space is removed
+ by rule~\ref[csspace].
+* `wordA<spaces><eol><spaces>wordB` is `wordA<space>wordB` by rules~\ref[bspace],
+ \ref[eolrm], and~\ref[sspace].
+* `\kern-3pt` should be ignored, because `\kern` is `<unknown-control-sequence>` and rule
+ \ref[eqdim] is applied.
+* `\vskip42mm` should finalize paragraph in h-mode by rule~\ref[htov] and then it
+ is ignored by rule~\ref[eqdim] because `\vskip` is
+ `<unknown-control-sequence>` not listed in table~\ref[alistcs].
+* `\typosize[12/16]` is ignored by rule~\ref[ibkt].
+* `\foo{text}` is `{text}` (i.e. `text` in a group) by rules~\ref[ignore] and~\ref[group].
+\enditems
+
+\sec Scanning parameters
+
+If a control sequence listed in rules above or in the section~\ref[listcs]
+has a parameter, the parameter is scanned
+as a string with interpretation only those rules which are needed to
+determine the boundary of the parameters. For example `\tit <title><eol>`
+applies only rule~\ref[eol] during scanning the parameter, i.e.\ `<title>`
+is a string telemetered by the end of the line or the end of the file.
+Or `\fnote{<balanced-text>}` applies only rule~\ref[balt].
+
+If the parameter is in the format `{<something>}` then the `<something>` is
+always meant as `<balanced-text>`. We don't specify the type `<balanced-text>`
+explicitly here, so we refer to `\fnote{<text>}` and not
+`\fnote{<balanced-text>}`, for example.
+
+The spaces before the scanned parameter are optional
+and they are ignored. Spaces inside `{`...`}` are not ignored.
+
+If the parameter is in the format `{<something>}` and the first non-space
+character is not `{` then the parameter is this first non-space character or
+a `<control-sequence>` if the first non-space character is~`\`. For example
+`\fnote a` is equal to `\fnote{a}`. The difference from this rule is given
+for `\input`, `\verbinput`,`\inspic` and `\inkinspic` control sequences in
+section~\ref[listcs].
+
+If the parameter is scanned as a string already then
+all syntactical rules are applied when it is used. For example:
+\begtt
+\tit This is a title
+\endtt
+the parameter is scanned as `This is a title` and the rules~\ref[spcs]
+and~\ref[sspace] are applied when it is used.
+
+
+\sec Declaration and text parts of the document
+
+A typical \OpTeX/ document has two parts. A declaration part, where
+macros are defined by `\def` and friends, fonts and sizes are declared, etc.
+This part should be ignored by cnv-programs.
+The second part includes the document text with a markup using well-declared control
+sequences. The cnv-program has to interpret the second part.
+
+So, the cnv-program starts in declaration-skipping mode and it switches to
+the text mode later.
+
+When cnv-program is in declaration-skipping mode then all indented lines are
+ignored. And lines which begins by `}` or by a <control-sequence> not listed
+in table~\ref[textopen] are ignored too.
+
+If the line begins by a character other than `}` or by a <control-sequence>
+listed in table~\ref[textopen] then cnv-program switches to text mode. All
+texts are interpreted from this line including this one.
+
+User can say explicitly where the second part of the document starts by
+`%%:text` given at beginning of a line. Moreover, if `%%:decl` is given at
+beginning of a line, then all text between `%%:decl` and `%%:text` is
+ignored, only other possible `<cnv-declarator>`s are processed here.
+It means that the declaration part and the text part of the document can be
+simply determined by the pair `%%:decl` and `%%:text`.
+
+\bigskip
+\label[textopen]\caption/t
+List of control sequences which start the text mode.
+\cskip
+\begblock \raggedright
+`\address`,
+`\begblock`,
+`\begitems`,
+`\begmulti`,
+`\begtt`,
+`\bf`,
+`\bi`,
+`\bib`,
+`\caption`,
+`\cite`,
+`\clipinoval`,
+`\clipincircle`,
+`\ecite`,
+`\fnote`,
+`\frame`,
+`\hfil`,
+`\hfill`,
+`\ii`,
+`\iid`,
+`\incircle`,
+`\inkinspic`,
+`\inoval`,
+`\inspic`,
+`\it`,
+`\LaTeX`,
+`\LuaTeX`,
+`\maketoc`,
+`\mnote`,
+`\OpTeX`,
+`\putpic`,
+`\puttext`,
+`\rcite`,
+`\rm`,
+`\rotbox`,
+`\sec`,
+`\secc`,
+`\secl`,
+`\table`,
+`\TeX`,
+`\tit`,
+`\usebib`,
+`\verbinput`.
+\endblock
+
+
+\sec[cnv-decl] The `%%:` declarators
+
+The `%%:` declarators are ignored when the document is processed by \TeX/
+but they can give instructions to cnv-programs. The `%%:` must be placed at
+beginning of the line. The list of `%%:` declarators follows:
+
+\begitems
+* `%%:decl` -- the following text is ignored until `%%:text` occurs. Only
+ other `%%:` declarators are interpreted.
+* `%%:text` -- the following text must be interpreted in text mode.
+* `%%:to <format> <config-file>` -- if the cnv-program converts to the
+ <format> then it has to use the <config-file>. For example:
+ \begtt
+ %%:to html html-mydocument.cfg
+ %%:to markdown markdown-mydocument.cfg
+ %%:to latex preamble-mydocument.cfg
+ \endtt
+ The language of the config files are not a part of this standard, we
+ suppose something to be natural for used cnv-program. The config file should
+ give additional rules for interpreting control sequences not listed in the
+ section~\ref[listcs] (see rule~\ref[unkncs]). For example a tool for
+ defining a behavior of unknown control sequences can be here.
+ These definitions can depend on the converted document and on the output
+ format and they can be given in the configuration files.
+* `%%:app <application> <config-file>` -- behaves like `%%;to` but the
+ cnv-program name instead output format is given here.
+* `%%:do <format-or-app> <action>` -- does an `<action>` if `<format-or-app>`
+ is output format or used cnv\hbox{-}program name. The `<action>` syntax depends
+ on used cnv-program and it typicaly does a change in its configuration or
+ give a command to it.
+* `%%:skip <formats-or-apps>` -- ignores all following lines until another `%%:` occurs
+ if the output format or application name is included in the `<formats-or-apps>`
+ space-separated list. Example:
+ \begtt
+ %%:skip html markdown
+ This text is not interpreted when Html or Markdown output is generated.
+ %%:
+ \endtt
+ If the `<formats-or-apps>` is empty then the `%%:skip` is applied for
+ each cnv-program and for each output.
+* `%%:if <formats-or-apps>` -- processes following lines until another `%%:`
+ only if the output format or application name is included in the
+ `<formats-or-apps>` space-separated list. Other cnv-programs or output formats
+ not mentioned here skip these lines. Note that \TeX/ processes such lines always.
+ But you can use `\ignoreit{<text>}` which is processed as
+ `{<text>}` by cnv-programs (see rule~\ref[ignore]) but it is ignored by \OpTeX.
+ Example:
+ \begtt
+ %%:if html latex
+ \ignoreit{\input{file.tex}}
+ %%:
+ \endtt
+ The `file.tex` in this example is processed only if \LaTeX/ or Html output is generated.
+* `%%:use` -- the next single line is fully interpreted unless cnv-program ignores
+ declarations by `%%:decl` or because it is in declaration-skipping mode.
+ Example:
+ \begtt
+ %%:use
+ \verbchar` \picdir={img/}
+ \endtt
+ The example shows how cnv-program is able to read `\verbchar` or
+ `\picdir` settings in the declaration\hbox{-}skipping mode although these control
+ sequences are not listed in table~\ref[textopen].
+* `%%:quotes <qql> <qqr> <ql> <qr>` -- declares \~`<qql>` and \~`<qqr>` (left
+ and right double quotation marks), \~`<ql>` and \~`<qr>` (left and right single
+ quotation mark). They are used when `\"` or `\'` control sequences are
+ processed. Default: unset, i.e.\ `\"` and `\'` are interpreted as
+ unknown control sequences.
+\enditems
+
+
+\sec[listcs] List of known control sequences
+
+The phrase \"should be" is used very often when the interpretation of
+control sequences is declared here. It means that this is only a common
+interpretation, but differences are possible due to the type of the output
+format and used cnv-program. For example, when we convert to \LaTeX\, then
+`\-` and `\/` are not ignored but they are re-written without change to the
+output of the \LaTeX/ source file.
+
+\bigskip
+\label[alistcs]
+\caption/t List of known control sequences alphabeticaly sorted.
+\cskip
+\begblock
+\raggedright \printknowncs
+\endblock
+
+
+\secc Character-like control sequences
+
+\begitems
+* \.`\%`, \.`\$`, \.`\&`,\.`\#` respectively \: should be normal characters
+ `%`, `$`, `&`, `#` respectively.
+* \.`\bslash` \: normal character `\`.
+* \.`\space`, `\<space>`, `\<eol>` \: space.
+* `\,` \: should be small space or space.
+* \.`\quad`, \.`\qquad` \: should be bigger space or more spaces.
+* \.`\-`, \.`\/` \: should be ignored.
+* \.`\"<text>"` or \.`\'<text>'` \: `<clqq><text><crqq>` or `<clq><text><crq>`,
+ only if `%%:quotes` are set.
+\enditems
+
+\secc Input files
+
+\begitems
+* \.`\input {<file-name>}` or `\input <file-name><space>` should redirect the
+ input to given file. At the end of the input-ed file or at \.`\endinput` the
+ reading of the current file continues. The file is read from the current
+ directory, but the <file-name> should include the full path to the file
+ or relative path starting from the current directory. First, the file
+ `<file-name>.tex` is tried to read and if it doesn't exist then
+ the file `<file-name>` is read.
+* \.`\picdir <o-equal>{<text>}` saves `<text>` to `<picdir-value>`. By
+ default, `<picdir-value>` is empty.
+* \.`\inspic {<file-name>}` or `\inspic <file-name><space>` should include the
+ given picture from the `<picdir-value><file-name>`.
+* \.`\inkinspic {<file-name>}` or `\inkinspic <file-name><space>` behaves like
+ `\inspic`.
+* \.`\verinput <ignore> (<lines>) <file-name><space>` should include the
+ <file-name> (only given lines) as a verbatim text, i.\,e. without any
+ syntactical interpretation.
+* \.`\usebib/<letter> (<style>) <file-names>` should use files from
+ `<file-names>` to generate the list of bib references. The `<file-names>`
+ is comma separated list (the `.bib` extension is appended to
+ each such file name). Only cited bib records should be used in this
+ bib-references, i.e. their label must be used in a `\cite[<labels>]` or
+ `\rcite[<labels>]` or `\ecite[<label>]`.
+ What bib fields are used in bib records depends on the cnv-program and
+ on its configuration. Maybe, simple cnv-programs should generate nothing here.
+\enditems
+
+\secc Titles
+
+\begitems
+* \.`\tit <title><eof>` should be a title of the document.
+* \.`\chap <title><eof>` or `\chap [<label>] <title><eof>` is the title of
+ first level.
+* \.`\sec <title><eof>` or `\sec [<label>] <title><eof>` is the title of
+ second level.
+* \.`\secc <title><eof>` or `\secc [<label>] <title><eof>` is the title of
+ third level.
+* \.`\secl<level> <title><eof>` is the title of given level.
+\enditems
+
+\secc Fonts
+
+\.`\rm` selects upright normal font (it is selected by default), \.`\it` selects
+italic, \.`\bf` selects upright bold font, \.`\bi` selects bold italic and
+\.`\tt` selects a monospaced font, \.`\em` select italic (if upright is current) or upright
+(if italic is current). The font sizes or other font features are typically ignored
+by cnv-programs. The actual font selection is closed at the end of the current group.
+The groups are given:
+\begitems
+* explicitly by `{` and `}` characters (which are not delimiters of
+ parameters of known control sequences),
+* implicitly: parameters of control sequences listed in table~\ref[groupcs]
+ are processed in a group and blocks of text enclosed by
+ `\begitems`...`\enditems`, `\begblock`...`\endblock`, `\begmulti`...`\endmulti`
+ are processed in a group.
+ Each item in `\table` is in a group.
+\enditems
+
+\label[groupcs]
+\caption/t Parameters of following control sequences are processed in a group.
+\cskip
+\begblock
+`\caption`,
+`\chap`,
+`\fnote`,
+`\mnote`,
+`\sec`,
+`\secc`,
+`\tit`.
+\endblock
+
+\secc Colors
+
+\.`\Red`, \.`\Green`, \.`\Blue`, \.`\Cyan`, \.`\Magenta`, \.`\Yellow`, \.`\White`,
+\.`\Black`, and \.`\Brown` should select the given color of the font. The selection
+is closed at the end of the current group (like font selectors).
+
+\secc Blockquotes
+
+The blockquote\fnote
+{The terminology is borrowed from Markdown.}
+is opened by \.`\begblock` and closed by \.`\endblock`.
+Blockquotes can contain multiple paragraphs and can contain nested
+blockquotes.
+
+\secc Lists
+
+The list is opened by \.`\begitems` and closed by \.`\enditems`. The `*` starts
+a new item in this environment. Nested lists are allowed.
+
+The type of items (ordered/unordered)
+is given by \.`\style <character>`, see section 1.4.5 in the
+\optexmanual. Default type is unordered (bullets are used).
+
+
+\secc Code blocks (verbatim texts)
+
+Code blocks are inline verbatim or display verbatim.
+
+\begitems
+* \.`\begtt <ignored><eol><text>\endtt<ignored><eol>` processes `<text>` in
+ \"display verbatim mode", i.\,e. there are no special characters, each character
+ is processed without special interpretation, the <eol>s are end of lines.
+ The text at the same line after `\begtt` and after `\endtt` (if any) is
+ ignored.
+* \.`\verbchar <character>` declares `<verbchar>`. By default, it is undeclared.\nl
+ New `\verbchar <character>` rewrites previous setting. The setting is
+ local in the group.
+* Inline verbatim is enclosed in the pairs of `<verbchar>`s.
+ The text between two `<verbchar>`s is processed without special interpretation.
+ Only possibly <eol>s are replaced by space.
+ Example:
+ \begtt
+ %%:use
+ \verbchar`
+ Now, `$this %text ~\` is processed as inline verbatim.
+ \endtt
+ gives: Now, `$this %text ~\` is processed as inline verbatim.
+* \.`\code{<text>}` processes `<text>` like inline verbatim, but
+ all `\<character>` are processed as `<character>`, specially `\{` and `\}`
+ are `{` and `}` but without taking them into `<balanced-text>` rule,
+ `\\` is `\` but do not create a `<control-sequence>`, etc.
+\enditems
+
+
+\secc Multiclolumns
+
+\.`\begmulti <number><space>` opens the group and \.`\endmulti`
+closes the group. If output format allows multi-columns then
+the text enclosed between `\begmulti <number><space>` and matching
+`\endmulti` should be printed in `<number>` balanced columns.
+
+
+\secc Links
+
+\begitems
+* \.`\url{<text>}` creates `<text>` as an external link which points to `<text>`.
+ The `\<character>` is interpreted as `<character>` in `<text>` with one
+ exception: `\|` is ignored.
+* \.`\ulink[<url>]{<text>}` creates `<text>` as an external link which points
+ to `<url>`. The `\<character>` is interpreted as `<character>` only in
+ `<url>` parameter.
+* \.`\label[<label>]` sets the `<label>`. First following occurence of `\chap`, `\sec`,
+ `\secc`, `\caption` or `\eqmark` sets this `<label>` as bounded to its
+ position in the document.
+* \.`\ref[<label>]` should create an internal link to the position given by
+ `\chap`, `\sec`, `\secc`, `\caption` or `\eqmark`,
+ if `[<label>]` is used as the parameter of this control sequence
+ else if `<label>` is bounded here by previous `\label[<label>]`
+ The visual aspect of the link
+ is not declared by OMLS because we don't suppose that the chapters,
+ sections, equations, etc.\ are automatically numbered by exactly the same way as in
+ \OpTeX/. A recommendation should be: create a simple sequence of numbers over
+ all internal links.
+* \.`\pgref[<label>]` should be replaced by `??` if cnv-program generates single-page
+ output (like Html, Markdown). Unfortunately, we get the irrelevant phrases in the output:
+ \"{\tt The problem is shown at the page ??}".
+ Users can declare `%%:skip` for such cases.
+* \.`\bib[<label>]` or `\bib[<label>]<o-space>=<o-space>{<ignored>}` should open the new bib
+ record. More exactly, it closes previous paragraph (if h-mode is current)
+ and opens new h-mode. Then prints an auto-generated reference number in
+ `[...]`. Following text is interpreted as a bib record until the h-mode ends.
+* \.`\cite[<labels>]` should create internal links to corresponding bib
+ records generated by `\usebib` or by `\bib`. The `<labels>` is a comma-separated list
+ of labels used in `.bib` files or in `\bib` commands to indicate
+ the corresponding bib record. The labels should be replaced by auto-generated
+ reference numbers used in bib records. All reference numbers created by
+ single `\cite` should be enclosed by single `[...]`. These numbers are
+ internal links. If the cnv-program does not implement this complicated
+ bib machinery then `\cite[<labels>]` should print only `[<labels>]`.
+* \.`\rcite[<labels>]` does the same as `\cite[<labels>]` but doesn't print
+ outer `[...]`.
+* \.`\ecite[<label>]{<text>}` creates the link to corresponding bib record,
+ `<text>` is is hyperlinked (no the auto-generated reference number).
+* \.`\maketoc` should create a list of titles from all `\chap`, `\sec` and `\secc`
+ used in the document if they are not preceded by \.`\notoc`. All lines in
+ this list should include internal links to the position where the corresponding title
+ is used.
+\enditems
+
+\secc Tables
+
+\begitems
+* \.`\caption/<letter>` opens a caption. More exactly, if current mode is
+ h-mode, then switch to v-mode first (i.e.\ close the current paragraph).
+ Then switch from v-mode to h-mode and put a <caption-head>. The following
+ text should be interpreted as the caption text until h-mode ends.
+ If <letter> is `t` then <caption-head> is `Table` followed
+ by an auto-generated number. If the <letter> is `f` then <caption-head> is
+ `Figure` followed by an auto-generated number. The configuration of
+ cnv-programs shoud allow different words than default `Table` or `Figure` (for
+ example, if another language is used).
+* \.`\table<ignored>{<declaration>}{<data>}` should create a table. The fidelity
+ rate of created output depends heavily on the used cnv-program and the output
+ format. We don't suppose that all aspects of \OpTeX/ tables are implemented.
+ The following features are listed in their priority of implementation.
+ \begitems \style c
+ * Items in `<data>` are separated by `&`.
+ The last item in each row is separated by end-row separator: \.`\cr`, \.`\crl`, \.`\crll`,
+ \.`\crli`, \.`\crlli`, or \.`\crlp{<list>}`. If there are $n$ columns in
+ the table then we have $n-1$ `&` separators and one end-row separator
+ for each table row.
+ There can be an optional end-row separator at the first item in `<data>` and
+ it should be ignored. The `<data>` can end without the end-row separator, it
+ should be added here.
+ * Spaces around `&` and before end-row separator are ignored.
+ * \.`\noalign{<text>}` and \.`\tskip <dimen>` should be ignored.
+ * Colum declarators in <declaration> should be interpreted: `l` (left aligned), `c` (center
+ aligned), `r` (right aligned) or `p{<ignored>}` (paragraph-like item).
+ * The `<number><letter>` or `<number>{<text>}` should be interpreted as
+ `<number>`-times repeated `<letter>` or `<text>` in `<declaration>`.
+ * \.`\vspan<decimal-number>{<text>}` should be an item with only `<text>`.
+ * \.`\mspan<number>[<decl>]{<text>}` should create `<text>` as an item which
+ spans over `<number>` columns. It is used instead `<number>` real
+ items, i.e.\ `<number>`$-1$ separators `&` aren't used here.
+ * Rules in the table should be interpreted, i.e. `|` in <declaration>
+ should be not ignored and
+ various end-row separators should be distinguished (see \optexmanual,
+ section 1.4.6).
+ * The aligning of `p{<p-data>}` columns should be interpreded by reading
+ \.`\fL`, \.`\fR`, \.`\fC`, \.`\fS` and \.`\fX` control sequences in `<p-data>`.
+ See \optexmanual, section 1.4.6.
+ \enditems
+\enditems
+
+\secc Footnotes, marginal notes
+
+\begitems
+* \.`\fnote{<text>}` should create a footnote link as an auto-generated
+ reference number.
+ The `<text>` should be appended at the end of the document labeled by this
+ reference number. Another alternative (for Html output, for example): the mouse over
+ the reference number riases an auto-popup `<text>`.
+* \.`\fnotemark<number>` should create a pointer to a next declared
+ footnote as auto-generated reference number. The `<text>` of the footnote is
+ declared after that by \.`\fnotetext{<text>}`. Exact behavior: if the
+ reference number of the last processed `\fnote` is $n$ then
+ `\fnotemark<number>` uses the value
+ $n+{}$`<number>` as its reference number. A set of `\fnotemark`s
+ is followed by an equally large set of `\fnotetext{<text>}`. First one
+ have reference number $n+1$, second $n+2$, etc. When whole set of `\fnotetext{<text>}`
+ is processed then $n$ is reset to the last reference number used here.
+* \.`\mnote <ignored>{<text>}` should be created as auto-popup `<text>` or the `<text>`
+ is inserted at the margin.
+\enditems
+
+\secc Tagging for index
+
+We don't suppose that the cnv-program can generate the alphabetically sorted
+index. So, the markup for creating the index should be ignored:
+
+\begitems
+* \.`\ii <word><space>` (where `<word>` is a sequence of non-space characters)
+ should be ignored.
+* \.`\iid <word><space>` is `<word><space>` by default, but
+ if `,` or `.` follows after `<space>` then the `<space>` is removed.
+\enditems
+
+\secc Logos
+
+\.`\TeX`, \.`\LuaTeX`, \.`\OpTeX`, \.`\LaTeX`, respectively \:
+`TeX`, `LuaTeX`, `OpTeX`, `LaTeX`, respectively. If `/` follows
+these control sequences then it is ignored. Other logos should be declared
+in the configuration of the cnv-program.
+
+\secc What should be ignored
+
+\begitems
+* \.`\def<text>{<text>}` and other variants with \.`\gdef`, \.`\edef`, \.`\xdef`.
+ Reason: user can insert a special definition in the `%%:text` part of the
+ document in order to solve a problem. But cnv-program should ignore~it.
+* \.`\outlines{<text>}`, \.`\insertoutline{<text>}` and \.`\thisoutline{<text>}`.
+\enditems
+
+
+\sec[math] Math mode processing
+
+There are two math modes, inline: `$<formula>$` or display: `$$<formula>$$`.
+We suppose that `<formula>` will be processed by MathJax or similar
+software. So, the `<formula>` should be kept without changes in cnv-program
+output, but there are exceptions:
+
+\begitems
+* `$<sign><decimal-number>$` should be transformed to non-math text
+ `<sign><decimal-number>`. The `<sign>` is~`+` or~`-` or nothing.
+ The `<decimal-number>` can include `,` (comma) instead `.` (period).
+ If the `<sign>` is~`-` (character U+002D) then
+ it must be converted to `−` (character U+2212, math minus).
+* `{\bbchar <text>}` should be converted to `\mathbb{<text>}`, because
+ MathJax doesn't understand `\bbchar`. `$\bbchar <text>$` should be
+ converted to `$\mathbb{<text>}$`.
+* `{\frak <text>}` or `$\frak <text>$` \:
+ `\mathfrak{<text>}` or `$\mathfrak{<text>}$`.
+* `{\script <text>}` or `$\script <text>$` \:
+ `\mathscr{<text>}` or `$\mathscr{<text>}$`.
+* `\eqmark`, `\eqmark[<label>]` \: `\leqno (<num>)`, where `<num>` is
+ auto-generated number. Or it should be completely ignored.
+* It is strongly recommended to allow users to declare another replacement
+ rules over `<formula>` in configuration files of cnv-programs.
+\enditems
+
+
+\sec Notes on various conversions
+
+The cnv-programs behave differently because output formats have different
+concepts and are intended for different purposes. The following sections
+mention the main differences for typical conversions.
+
+\secc To Html
+
+The Html document is one single page. If we want to split the document to more
+pages, then we can use `%%:do html <action>` in positions where the document
+should be split (the syntax of `<action>` depends on the used cnv-program.)
+
+The design of Html pages should be declared by CSS files.
+
+Pictures inserted by `\inspic` should be inserted into the Html page as
+\code{<img src="...">}, so the picture files must be installed in
+the webserver to render the Html page correctly in a web browser.
+
+The `\maketoc` used in the \OpTeX/ document means that the Table of contents should
+be here. It should be generated by the cnv-program, two-pass processing is
+needed because the cnv-program needs to read all titles of `\chap`, `\sec` and
+`\secc`. Another approach is to read the `.ref` file produced by \OpTeX/.
+
+
+\secc To Markdown
+
+Markdown source file is \"one-page document" too. The principles a
+re similar to conversion to Html.
+
+\secc From Markdown
+
+The cnv-program which does such a reverse conversion should be very useful for
+people they prefer even clearer markup than in \OpTeX/.
+
+\secc To \LaTeX
+
+\LaTeX/ gives the same main feature as \OpTeX/: it can generate PDF
+output from a source file. But different macros, a different concept, and
+a different markup are used.
+
+The main reason for such conversion is that journal editors
+require \LaTeX/ source file, but user want to prepare their real document in
+more comfortable (\OpTeX/) markup and with more simple macros.
+
+This conversion should keep almost all features. For example, the
+`\pgref[<label>]` is converted to `\pageref{<label>}`. The cnv-program
+needs not to generate a Table of contents, bibliography references, etc. Only
+appropriate \LaTeX/ markup must be used.
+
+The contents of generated \LaTeX/ preamble should be configurable.
+
+
+\secc From \LaTeX
+
+The reverse conversion from \LaTeX/ to \OpTeX/ can be usable
+for people, they want to switch to creating their documents in \OpTeX/.
+
+The cnv-program must solve additional problem in this type of conversion.
+There are various math \LaTeX/ environments, they must be converted to
+plain~\TeX/ syntax of math typesetting. For example:\nl
+`\begin{array}...\end{array}` \: `\matrix{...}`,\nl
+`\begin{align*}...\end{align*}` \: `$$\eqalign{...}$$`\nl
+`\frac{...}{...}` \: `{...\over...}`.
+
+\bye
diff --git a/macros/luatex/optex/doc/optex-doc.pdf b/macros/luatex/optex/doc/optex-doc.pdf
index aacd564a60..4bd55547cb 100644
--- a/macros/luatex/optex/doc/optex-doc.pdf
+++ b/macros/luatex/optex/doc/optex-doc.pdf
Binary files differ
diff --git a/macros/luatex/optex/doc/optex-doc.tex b/macros/luatex/optex/doc/optex-doc.tex
index 4ce127f903..f8fcc45ca0 100644
--- a/macros/luatex/optex/doc/optex-doc.tex
+++ b/macros/luatex/optex/doc/optex-doc.tex
@@ -20,7 +20,7 @@
\tit Format Based on Plain \TeX/ and OPmac\fnotemark1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\hfill Version 0.19
+\hfill Version 1.00
\centerline{\it Petr Olšák, 2020, 2021}
@@ -92,6 +92,8 @@ document \ulink[http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf]
\notoc\nonum \sec Contents
\maketoc
+\thisoutline {USER DOCUMENTATION}
+
\chap User documentation
\input optex-userdoc
diff --git a/macros/luatex/optex/doc/optex-math.tex b/macros/luatex/optex/doc/optex-math.tex
index c36459f74e..2fd21af218 100644
--- a/macros/luatex/optex/doc/optex-math.tex
+++ b/macros/luatex/optex/doc/optex-math.tex
@@ -13,7 +13,7 @@
\def\new #1 {\mnote{\Red$\blacktriangleleft$\,\sans\setfontsize{at9pt}\rm#1}}
\fixmnotes\right
\enquotes
-\activettchar`
+\verbchar`
\catcode`\<=13
\def<#1>{$\langle\hbox{\it#1\/}\rangle$}
\everyintt={\catcode`\<=13 }
@@ -47,7 +47,7 @@
\tit Typesetting Math with \OpTeX/
-\hfill Version 02, October 2020
+\hfill Version 03, January 2021
\author Petr Olšák
@@ -1475,7 +1475,7 @@ $$ \eqalignno{
\secc[fams] Math families
-\TeX/can use more than one math font in math mode. This was a
+\TeX/ can use more than one math font in math mode. This was a
necessity in the old days when only 128-characters fonts existed.
Each math font used in math mode has its \ii math/family {\em math family} represented by a number.
Math family is a collection of three (almost) equal fonts in three sizes:
diff --git a/macros/luatex/optex/doc/optex-techdoc.tex b/macros/luatex/optex/doc/optex-techdoc.tex
index 2c0a71cc27..4ae25a9c7e 100644
--- a/macros/luatex/optex/doc/optex-techdoc.tex
+++ b/macros/luatex/optex/doc/optex-techdoc.tex
@@ -6,6 +6,8 @@
\load [doc.opm]
+\thisoutline {TECHNICAL DOCUMENTATION}
+
\chap Technical documentation
This documentation is written in the source files `*.opm` between
diff --git a/macros/luatex/optex/doc/optex-userdoc.tex b/macros/luatex/optex/doc/optex-userdoc.tex
index 8f2fe4d3d3..899b1d55aa 100644
--- a/macros/luatex/optex/doc/optex-userdoc.tex
+++ b/macros/luatex/optex/doc/optex-userdoc.tex
@@ -650,7 +650,7 @@ The \^`\url` macro prints its parameter in \~`\tt` font and creates a potential
breakpoints in it (after slash or dot, for example). If the \^`\hyperlinks`
declaration is used then the parameter of \^`\url` is treated as an external URL link.
An example: `\url{http://www.olsak.net}` creates \url{http://www.olsak.net}.
-The characters \code{\%}, `\`, `#`, `{` and `}` have to be protected by
+The characters \code{\%}, `\`, `#`, `{`, and `}` have to be protected by
backslash in the \^`\url` argument, the other special characters `~`,
`^`, `&` can be written as single character\fnote
{More exactly, there are the same rules as for `\code` command, see
@@ -663,6 +663,8 @@ If the linked text have to be different than the URL, you can use
`\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}`
outputs to the text
\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}.
+The characters \code{\%}, `\`, `#`, `{`, and `}` must by escaped in
+the <url> parameter.
The PDF format provides {\em outlines} which are notes placed in the special frame of
the PDF viewer. These notes can be managed as a structured and hyperlinked
@@ -683,6 +685,11 @@ the main level~0. These entries can be placed before the table of contents (crea
by \^`\outlines`) or after it. Their hyperlink destination is in the place
where the \^`\insertoutline` macro is used.
+The command \^`\thisoutline{<text>}` uses <text> in the outline instead of default
+title text for the first following `\chap`, `\sec`, or `\secc`.
+Special case: \^`\thisoutline{\relax}` doesn't create any outline for the following
+`\chap`, `\sec`, or `\secc`.
+
\secc Lists
%%%%%%%%%%
@@ -768,9 +775,9 @@ These letters can be combined by the `|` character (vertical line). Example
July & yacht & k\$ 170 \crl}
\endtt
%
-generates the following result:
+generates the result:
-\medskip
+\vskip-\medskipamount
\noindent\hfil\table{||lc|r||}{ \crl
Month & commodity & price \crli \tskip2pt
January & notebook & \$ 700 \cr
@@ -902,29 +909,28 @@ You can use this for creating tables like in the following example:
& Exclusive & \mspan3[c|]{} &\mspan3[c|] X \crl
\vspan2{II} & Informal & \mspan3[c|] X &\mspan3[c|] X \crlp{2-8}
& Formal & \mspan6[c|] X \crl
- \vspan2{III} & Informal & \vspan2 O & X & X &\mspan2[c|] X & \vspan2 O \crlp{2,4-7}
+ \vspan2{III} & Informal & \vspan2{O} & X & X &\mspan2[c|] X & \vspan2{O} \crlp{2,4-7}
& Formal & &\mspan4[c|] X & \crl
}}\pdfrestore}
\hangindent=-7.5cm \hangafter=0
-The <number> parameter of \^`\vspan` must be one-digit number.
-If you want to set more digits then use braces.
-You can use non-integer values too if you feel that the
-result is better, for example \^`\vspan{2.1}{text}`.
+You can use \^`\vspan` with non-integer parameter too if you feel that the
+result looks better, for example \^`\vspan2.1{text}`.
\hangindent=-7.5cm \hangafter=0
The rule width of tables and implicit width of all `\vrule`s and `\hrule`s
can be set by the command \^`\rulewidth=<dimen>`. The default value given
by \TeX/ is 0.4\,pt.
+\hangindent=-7.5cm \hangafter=-2
The `c`, `l`, `r` and `p` are default \"declaration letters" but you can define
more such letters by `\def\_tabdeclare<letter>{<left>##<right>}`.
More about it is in technical documentation in section~\ref[table.impl].
-See the definition of the \^`\tabdeclarec` macro, for example.
+See the definition of the \^`\_tabdeclarec` macro, for example.
The `:` columns boundary declarator is described in section~\ref[table.bound].
The tables with given width can be declared by `to<size>` or `pxto<size>`.
-More about it is in section~\ref[table.w]
+More about it is in section~\ref[table.w].
Many tips about tables can be seen on the site
\url{http://petr.olsak.net/optex/optex-tricks.html}.
@@ -935,7 +941,7 @@ The display verbatim text have to be surrounded by the \^`\begtt` and
\^`\endtt` couple.
The in-line verbatim have to be tagged (before and after)
by a character which is declared by
-\^`\activettchar``<char>`. For example \code{\\activettchar`}
+\^`\verbchar``<char>`. For example \code{\\verbchar`}
declares the character \code{`}
for in-line verbatim markup.
And you can use \code{`\\relax`} for
@@ -974,7 +980,7 @@ the parameter of \^`\everytt` is read. So you don't have to worry about active
categories in this parameter.
There is an alternative to \^`\everytt` named \^`\everyintt` which is used for
-in-line verbatim surrounded by an \^`\activettchar` or processed by the \~`\code`
+in-line verbatim surrounded by an \^`\verbchar` or processed by the \~`\code`
command.
The \^`\everytt` is applied to all \^`\begtt...`\^`\endtt` environments (if it is not
@@ -997,7 +1003,7 @@ Each occurrence of ? will be changed to ! and vice versa.
@
\endtt
-The in-line verbatim surrounded by an `\activettchar` doesn't work in
+The in-line verbatim surrounded by a \^`\verbchar` doesn't work in
parameter of macros and macro definitions. (It works in titles declared by
\~`\chap`, \~`\sec` etc. and in \~`\fnote`s, because these macros are
specially defined in \OpTeX/).
@@ -1556,10 +1562,11 @@ coordinates `<x>`, `<y>`. More exactly the left edge of its baseline is at that
position.
\new
-The \^`\putpic` `<x> <y> <width> <height> {<image>}` puts the `<image>` of given
+The \^`\putpic` `<x> <y> <width> <height> {<image-file>}` puts an image
+given by `<image-file>` (including extension) of given
`<width>` and `<height>` at given position (its left-bottom corner).
-You can write \^`\nospec` instead `<width>` or `<height>` if this parameter is
-not given.
+You can write \^`\nospec` instead `<width>` or `<height>` if this parameter
+is not specified.
\sec Others
%%%%%%%%%%%
@@ -1795,7 +1802,7 @@ put it as the first command in your document:
~endblock' % end of block of text
~begtt' % start a verbatim text
~endtt' % end verbatim text
-~activettchar' X % initialization character X for in-text verbatim
+~verbchar' X % initialization character X for in-text verbatim
~code' % another alternative for in-text verbatim
~verbinput' % verbatim extract from the external file
~begmulti' num % start multicolumn text (num columns)
@@ -1873,7 +1880,8 @@ documentation.
\^`\foreach` `<list>\do <parameters>{<what>}` is exapandable loop over <list>.\nl
\^`\foreachdef` `\macro <parameters>{<what>}` declares expandable `\macro` as loop over <list>.\nl
\^`\fornum` `<from>..<to>\do {<what>}` is expanadable loop with numeric variable.\nl
-\^`\ignoreit` `<one>`, \^`\ignoresecond` `<one><two>`, \^`\usesecond` `<one><two>` ignores parameters.\nl
+\^`\incr` `<counter>` increases and \^`\decr` `<counter>` decreases `<counter>` by one globally.\nl
+\^`\ignoreit` `<one>`, \^`\ignoresecond` `<one><two>` ignores given parameter.\nl
`\expandafter` \^`\ignorept` `\the<dimen>` expands to decimal number <dimen> without `pt`.\nl
\~`\isempty`, \~`\istoksempty`, \~`\isequal`, \~`\ismacro`, \~`\isdefined`, \~`\isinlist`
\~`\isfile`, \~`\isfont` do various tests. Example: \~`\isinlist\list{<text>}\iftrue` does
@@ -1899,6 +1907,7 @@ documentation.
\^`\slet` `{<stringA>}{<stringB>}` behaves like `\let\<stringA>=\<stringB>`\nl
\^`\sxdef` `{<string>}<parameters>{<body>}` behaves like `\xdef\<string><parameters>{<body>}`.\nl
\^`\trycs`` {<string>}{<text>}` expands `\<string>` if it is defined else expands <text>.\nl
+\^`\useit` `<one>`, \^`\usesecond` `<one><two>` uses given parameter.\nl
\^`\wlog`` {<text>}` writes <text> to .log file.\nl
\^`\wterm`` {<text>}` writes <text> to the terminal and .log file.\nl
\^`\xargs`` <what> <token> <token> ... ;` repeats <what><token> for each <token>.\nl
diff --git a/macros/unicodetex/latex/texnegar/INSTALL.txt b/macros/unicodetex/latex/texnegar/INSTALL.txt
index 30a096fb97..23e69ebe1f 100644
--- a/macros/unicodetex/latex/texnegar/INSTALL.txt
+++ b/macros/unicodetex/latex/texnegar/INSTALL.txt
@@ -1,7 +1,7 @@
texnegar -- INSTALL
======================
- Source: texnegar.dtx (2021-01-31 v0.1d)
+ Source: texnegar.dtx (2021-02-09 v0.1e)
Author: Hossein Movahhedian
Info: filecontents + macro + verbatim
License: LPPL 1.3c
diff --git a/macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf b/macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
index 1a2a98538c..49c7460249 100644
--- a/macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
+++ b/macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf b/macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
index abe4facd9e..8cb68fb7f3 100644
--- a/macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
+++ b/macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf b/macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
index 9461731e02..4cc8fcee48 100644
--- a/macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf b/macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf
index 25e9856e58..36c0969903 100644
--- a/macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf
+++ b/macros/unicodetex/latex/texnegar/doc-samples-hrule.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/doc-samples-xep.pdf b/macros/unicodetex/latex/texnegar/doc-samples-xep.pdf
index e1dbc20a38..4cbeccc931 100644
--- a/macros/unicodetex/latex/texnegar/doc-samples-xep.pdf
+++ b/macros/unicodetex/latex/texnegar/doc-samples-xep.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-doc.ltx b/macros/unicodetex/latex/texnegar/texnegar-doc.ltx
index 6b38d66e34..124d153bef 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-doc.ltx
+++ b/macros/unicodetex/latex/texnegar/texnegar-doc.ltx
@@ -63,7 +63,7 @@
}
}
-\date{Released \quad 2021-01-31 \quad v0.1d}
+\date{Released \quad 2021-02-09 \quad v0.1e}
\definecolor{HMhighlightBlueI}{rgb}{0,0,1}
\definecolor{HMhighlightbgYellowII}{rgb}{1,1,1}
@@ -535,6 +535,12 @@ I also would like to thank the developer teams of TeX's friends especially LaTeX
fonts other than \textsf{HM Series} and \textsf{Adobe Arab}.
\end{Itemize}
+\SubSecItem{2021-02-09~v0.1e}
+\begin{Itemize}
+ \item Fixed the problem of inserting the kashida before the diacritical marks. Now, after stretching,
+ the diacritical marks appear before kashida.
+\end{Itemize}
+
\section*{To Do's}
To do
diff --git a/macros/unicodetex/latex/texnegar/texnegar-doc.pdf b/macros/unicodetex/latex/texnegar/texnegar-doc.pdf
index 75a809b26d..fcf76c2da5 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-doc.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-doc.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf b/macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf
index 38f55ce7ae..453573d8c2 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-luatex-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf b/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf
index d2175bb022..6f6bd2823e 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf b/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf
index 245750465a..222eb78108 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-luatex-leaders-hrule.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf b/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf
index b27a5a2d23..f4ca7ba05f 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf b/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf
index 8ebdff53b3..0cbd1edd49 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf b/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf
index e45da3f31f..dd10b46f26 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-xetex-bidi-leaders-hrule.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf b/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf
index 16a3d0bac9..dce968d0d8 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf b/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf
index b76e2e3e15..8359e4ca0f 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-glyph.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf b/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf
index db2648da2d..09b90cf079 100644
--- a/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar-xetex-xepersian-leaders-hrule.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/texnegar.dtx b/macros/unicodetex/latex/texnegar/texnegar.dtx
index 40a5baef1c..1024a64dce 100644
--- a/macros/unicodetex/latex/texnegar/texnegar.dtx
+++ b/macros/unicodetex/latex/texnegar/texnegar.dtx
@@ -101,7 +101,7 @@ make time to fix.
% }^^A
% }
%
-% \date{Released \quad 2021-01-31 \quad v0.1d}
+% \date{Released \quad 2021-02-09 \quad v0.1e}
%
% \maketitle
%
@@ -137,7 +137,7 @@ make time to fix.
\RequirePackage{newverbs}[2010/09/02]
\RequirePackage{environ}[2014/05/04]
-\ProvidesExplPackage {texnegar} {2021-01-31} {0.1d} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
+\ProvidesExplPackage {texnegar} {2021-02-09} {0.1e} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
\sys_if_engine_luatex:T
{
@@ -165,7 +165,7 @@ make time to fix.
%
% \begin{macrocode}
%<*texnegar-luatex-sty>
-\ProvidesExplPackage {texnegar-luatex} {2021-01-31} {0.1d} { Full implementation of kashida feature in xetex and luatex }
+\ProvidesExplPackage {texnegar-luatex} {2021-02-09} {0.1e} { Full implementation of kashida feature in xetex and luatex }
\tex_input:D { texnegar-ini.tex }
@@ -201,7 +201,7 @@ make time to fix.
% \begin{macrocode}
%<*texnegar-xetex-sty>
\RequirePackage{zref-savepos}[2020-03-03]
-\ProvidesExplPackage {texnegar-xetex} {2021-01-31} {0.1d} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
+\ProvidesExplPackage {texnegar-xetex} {2021-02-09} {0.1e} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
\tex_input:D { texnegar-ini.tex }
@@ -218,7 +218,7 @@ make time to fix.
%
% \begin{macrocode}
%<*texnegar-ini-tex>
-\ProvidesExplFile {texnegar-ini.tex} {2021-01-31} {0.1d} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
+\ProvidesExplFile {texnegar-ini.tex} {2021-02-09} {0.1e} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
\def\TeXNegar{\TeX Negar}
@@ -653,6 +653,7 @@ make time to fix.
\bool_if:NF \l_texnegar_minimal_bool
{
+ \directlua{dofile(kpse.find_file("luatex-tools.lua"))}
\input texnegar-luabidi.tex
}
@@ -663,7 +664,7 @@ make time to fix.
% \subsection{File: \texttt{texnegar-common-kashida.tex}}
% \begin{macrocode}
%<*texnegar-common-kashida-tex>
-\ProvidesExplFile {texnegar-common-kashida.tex} {2021-01-31} {0.1d} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
+\ProvidesExplFile {texnegar-common-kashida.tex} {2021-02-09} {0.1e} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
\bool_if:NT \l_texnegar_ligature_bool
{
@@ -740,7 +741,7 @@ make time to fix.
%
% \begin{macrocode}
%<*texnegar-xetex-kashida-tex>
-\ProvidesExplFile {texnegar-xetex-kashida.tex} {2021-01-31} {0.1d} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
+\ProvidesExplFile {texnegar-xetex-kashida.tex} {2021-02-09} {0.1e} { Full implementation of kashida feature in XeLaTex and LuaLaTeX }
\newXeTeXintercharclass \c_texnegar_d_charclass % dual-joiner class
\newXeTeXintercharclass \c_texnegar_l_charclass % lam
@@ -961,8 +962,8 @@ make time to fix.
-- local texnegar_char_table = texnegar_char_table
-- texnegar_char_table.module = {
-- name = "texnegar_char_table",
--- version = "0.1d",
--- date = "2021-01-31",
+-- version = "0.1e",
+-- date = "2021-02-09",
-- description = "Full implementation of kashida feature in XeLaTex and LuaLaTeX",
-- author = "Hossein Movahhedian",
-- copyright = "Hossein Movahhedian",
@@ -975,6 +976,31 @@ make time to fix.
-- texnegar_char_table.warning = warn or (function (s) luatexbase.module_warning("texnegar_char_table", s) end)
-- texnegar_char_table.error = err or (function (s) luatexbase.module_error("texnegar_char_table", s) end)
+local peCharTableDiacritic = {
+ [1611] = utf8.char(1611), -- "Ù‹", utf8.codepoint("Ù‹") == 1611, "\u{064B}", ARABIC-FATHATAN
+ [1612] = utf8.char(1612), -- "ٌ", utf8.codepoint("ٌ") == 1612, "\u{064C}", ARABIC-DAMMATAN
+ [1613] = utf8.char(1613), -- "Ù", utf8.codepoint("Ù") == 1613, "\u{064D}", ARABIC-KASRATAN
+ [1614] = utf8.char(1614), -- "ÙŽ", utf8.codepoint("ÙŽ") == 1614, "\u{064E}", ARABIC-FATHA
+ [1615] = utf8.char(1615), -- "Ù", utf8.codepoint("Ù") == 1615, "\u{064F}", ARABIC-DAMMA
+ [1616] = utf8.char(1616), -- "Ù", utf8.codepoint("Ù") == 1616, "\u{0650}", ARABIC-KASRA
+ [1617] = utf8.char(1617), -- "Ù‘", utf8.codepoint("Ù‘") == 1617, "\u{0651}", ARABIC-SHADDA
+ [1618] = utf8.char(1618), -- "Ù’", utf8.codepoint("Ù’") == 1618, "\u{0652}", ARABIC-SUKUN
+ [1619] = utf8.char(1619), -- "Ù“", utf8.codepoint("Ù“") == 1619, "\u{0653}", ARABIC-MADDA ABOVE
+ [1620] = utf8.char(1620), -- "Ù”", utf8.codepoint("Ù”") == 1620, "\u{0654}", ARABIC-HAMZA ABOVE
+ [1621] = utf8.char(1621), -- "Ù•", utf8.codepoint("Ù•") == 1621, "\u{0655}", ARABIC-HAMZA BELOW
+ [1622] = utf8.char(1622), -- "Ù–", utf8.codepoint("Ù–") == 1622, "\u{0656}", ARABIC-SUBSCRIPT ALEF
+ [1623] = utf8.char(1623), -- "Ù—", utf8.codepoint("Ù—") == 1623, "\u{0657}", ARABIC-INVERTED DAMMA
+ [1624] = utf8.char(1624), -- "Ù˜", utf8.codepoint("Ù˜") == 1624, "\u{0658}", ARABIC-MARK NOON GHUNNA
+ [1625] = utf8.char(1625), -- "Ù™", utf8.codepoint("Ù™") == 1625, "\u{0659}", ARABIC-ZWARAKAY
+ [1648] = utf8.char(1648), -- "", utf8.codepoint("") == 1648, "\u{0670}", ARABIC-SUPERSCRIPT ALEF
+ [64606] = utf8.char(64606), -- "", utf8.codepoint("") == 64606, "\u{FC5E}", ARABIC-LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+ [64607] = utf8.char(64607), -- "", utf8.codepoint("") == 64607, "\u{FC5F}", ARABIC-LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+ [64608] = utf8.char(64608), -- "", utf8.codepoint("") == 64608, "\u{FC60}", ARABIC-LIGATURE SHADDA WITH FATHA ISOLATED FORM
+ [64609] = utf8.char(64609), -- "", utf8.codepoint("") == 64609, "\u{FC61}", ARABIC-LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+ [64610] = utf8.char(64610), -- "", utf8.codepoint("") == 64610, "\u{FC62}", ARABIC-LIGATURE SHADDA WITH KASRA ISOLATED FORM
+ [64611] = utf8.char(64611), -- "", utf8.codepoint("") == 64611, "\u{FC63}", ARABIC-LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+}
+
local peCharTableDigit = {
[1632] = utf8.char(1632), -- "Ù ", utf8.codepoint("Ù ") == 1632, "\u{0660}", ARABIC-INDIC DIGIT ZERO
[1633] = utf8.char(1633), -- "Ù¡", utf8.codepoint("Ù¡") == 1633, "\u{0661}", ARABIC-INDIC DIGIT ONE
@@ -1157,7 +1183,7 @@ local peCharTableFinal = {
[65276] = utf8.char(65276), -- "ﻼ", utf8.codepoint("ﻼ") == 65276, "\u{FEFC}", FINAL FORM LIGATURE LAM WITH ALEF
}
-return peCharTableInitial, peCharTableMedial, peCharTableFinal
+return peCharTableInitial, peCharTableMedial, peCharTableFinal, peCharTableDiacritic
--
--
-- End of file `texnegar-char-table.lua'.
@@ -1186,8 +1212,8 @@ return peCharTableInitial, peCharTableMedial, peCharTableFinal
-- local texnegar = texnegar
-- texnegar.module = {
-- name = "texnegar",
--- version = "0.1d",
--- date = "2021-01-31",
+-- version = "0.1e",
+-- date = "2021-02-09",
-- description = "Full implementation of kashida feature in XeLaTex and LuaLaTeX",
-- author = "Hossein Movahhedian",
-- copyright = "Hossein Movahhedian",
@@ -1338,8 +1364,8 @@ dofile(kpse.find_file("texnegar-ini.lua"))
-- local texnegar_ini = texnegar_ini
-- texnegar_ini.module = {
-- name = "texnegar_ini",
--- version = "0.1d",
--- date = "2021-01-31",
+-- version = "0.1e",
+-- date = "2021-02-09",
-- description = "Full implementation of kashida feature in XeLaTex and LuaLaTeX",
-- author = "Hossein Movahhedian",
-- copyright = "Hossein Movahhedian",
@@ -1392,8 +1418,8 @@ dofile(kpse.find_file("texnegar-luatex-kashida.lua"))
-- local texnegar_luatex_kashida = texnegar_luatex_kashida
-- texnegar_luatex_kashida.module = {
-- name = "texnegar_luatex_kashida",
--- version = "0.1d",
--- date = "2021-01-31",
+-- version = "0.1e",
+-- date = "2021-02-09",
-- description = "Full implementation of kashida feature in XeLaTex and LuaLaTeX",
-- author = "Hossein Movahhedian",
-- copyright = "Hossein Movahhedian",
@@ -1406,7 +1432,7 @@ dofile(kpse.find_file("texnegar-luatex-kashida.lua"))
-- texnegar_luatex_kashida.warning = warn or (function (s) luatexbase.module_warning("texnegar_luatex_kashida", s) end)
-- texnegar_luatex_kashida.error = err or (function (s) luatexbase.module_error("texnegar_luatex_kashida", s) end)
-local peCharTableInitial, peCharTableMedial, peCharTableFinal = dofile(kpse.find_file("texnegar-char-table.lua"))
+local peCharTableInitial, peCharTableMedial, peCharTableFinal, peCharTableDiacritic = dofile(kpse.find_file("texnegar-char-table.lua"))
local kashida_unicode = 1600
local kashida_subtype = 256
@@ -1417,6 +1443,7 @@ local GLUE = node_id("glue")
local GLYPH = node_id("glyph")
local HLIST = node_id("hlist")
local RULE = node_id("rule")
+local VLIST = node_id("vlist")
local WHATSIT = node_id("whatsit")
local l_texnegar_kashida_glyph_bool = token.create("l_texnegar_kashida_glyph_bool")
@@ -1519,11 +1546,11 @@ function ProcessTableKashidaHlist(ksh_hlistNode, hbox_num, in_font)
local tn_id = tn.id
local tn_subtype = tn.subtype
- if tn_id == 0 then
+ if tn_id == HLIST then
for tp in node.traverse(tn.head) do
local tp_id = tp.id
local tp_subtype = tp.subtype
- if tp_id == 29 then
+ if tp_id == GLYPH then
if l_texnegar_color_bool.mode == c_true_bool.mode then
local col_str = color_tbl[1] .. " " .. color_tbl[2] .. " " .. color_tbl[3]
local col_str_rg = col_str .. " rg "
@@ -1555,17 +1582,17 @@ function ProcessTableKashidaHlist(ksh_hlistNode, hbox_num, in_font)
tn_width = tn.width
ksh_hlistNode.width = tn_width
end
- elseif tp_id == 0 then
+ elseif tp_id == HLIST then
if tp.subtype ~= 3 then
tbl_kashida_hlist_nodes[ #tbl_kashida_hlist_nodes + 1 ] = tp
end
end
end
- elseif tn_id == 1 then
+ elseif tn_id == VLIST then
do end
- elseif tn_id == 8 then
+ elseif tn_id == WHATSIT then
do end
- elseif tn_id == 29 then
+ elseif tn_id == GLYPH then
if l_texnegar_color_bool.mode == c_true_bool.mode then
local col_str = color_tbl[1] .. " " .. color_tbl[2] .. " " .. color_tbl[3]
local col_str_rg = col_str .. " rg "
@@ -1681,13 +1708,28 @@ function StretchGlyph(t_plb_node, t_plb_glyph_node, t_gluePerJoiner, t_dir, t_fi
node_glue.leader.dir = t_dir
- node.insert_after(t_plb_node.list, t_plb_glyph_node, node_glue)
+ local t_plb_glyph_node_next = t_plb_glyph_node.next
+ local t_plb_glyph_node_next_id = t_plb_glyph_node_next.id
+ if not t_plb_glyph_node_next then
+ node.insert_after(t_plb_node.list, t_plb_glyph_node, node_glue)
+ else
+ if t_plb_glyph_node_next_id == GLYPH then
+ local t_plb_glyph_node_next_char = t_plb_glyph_node_next.char
+ if peCharTableDiacritic[t_plb_glyph_node_next_char] then
+ node.insert_after(t_plb_node.list, t_plb_glyph_node_next, node_glue)
+ else
+ node.insert_after(t_plb_node.list, t_plb_glyph_node, node_glue)
+ end
+ else
+ node.insert_after(t_plb_node.list, t_plb_glyph_node, node_glue)
+ end
+ end
if t_filler == "leaders+hrule" then
for tn in node.traverse(t_plb_node.head) do
local tn_id = tn.id
local tn_subtype = tn.subtype
- if tn_id == 12 and tn_subtype == 100 then
+ if tn_id == GLUE and tn_subtype == 100 then
local t_hbox = node.new(HLIST)
local t_hrule = node.copy(tn)
@@ -1731,20 +1773,20 @@ function GetFillerSpec(t_plb_node, t_plb_head_node, t_tbl_line_fields, t_CharTab
for p in node.traverse(t_plb_head_node) do
local p_id = p.id
local p_subtype = p.subtype
- if p_id == 0 then
+ if p_id == HLIST then
t_tbl_line_fields.lineWidthRemainder = t_tbl_line_fields.lineWidthRemainder - p.width
if p.subtype ~= 3 then
tbl_hlist_nodes[ #tbl_hlist_nodes + 1 ] = p
end
- elseif p_id == 1 then
+ elseif p_id == VLIST then
t_tbl_line_fields.lineWidthRemainder = t_tbl_line_fields.lineWidthRemainder - p.width
tbl_vlist_nodes[ #tbl_vlist_nodes + 1 ] = p
- elseif p_id == 12 then
+ elseif p_id == GLUE then
tbl_p_glue = GetGlue(p, t_plb_node)
t_tbl_line_fields.lineWidthRemainder = t_tbl_line_fields.lineWidthRemainder - tbl_p_glue["effective_glue"]
t_tbl_line_fields.total_glues = t_tbl_line_fields.total_glues + 1
t_tbl_line_fields.stretchedGlue = t_tbl_line_fields.stretchedGlue + tbl_p_glue["delta"]
- elseif p_id == 29 then
+ elseif p_id == GLYPH then
tbl_p_glyph, t_tbl_line_fields = GetGlyph(p, t_tbl_line_fields, t_CharTableInitial, t_CharTableMedial, t_CharTableFinal)
selected_font_old = selected_font
selected_font = tbl_p_glyph["font"]
@@ -1781,7 +1823,7 @@ function ProcessTableHlist(tmphl_n)
local tbl_p_glue, tbl_p_glyph
- if (tmphl_n_id == 0) and (tmphl_n_subtype == 1 or tmphl_n_subtype == 2) then
+ if (tmphl_n_id == HLIST) and (tmphl_n_subtype == 1 or tmphl_n_subtype == 2) then
tbl_line_fields.line_width = tmphl_n.width
tbl_line_fields.line_dir = tmphl_n.dir
tbl_line_fields.lineWidthRemainder = tbl_line_fields.line_width
@@ -1846,9 +1888,9 @@ function ProcessTableVlist(tmpvl_n)
local tmpvl_n_subtype = tmpvl_n.subtype
for vbNode in node.traverse(tmpvl_n) do
- if vbNode.id == 1 and vbNode.subtype == 0 then
+ if vbNode.id == VLIST and vbNode.subtype == 0 then
for tr_vbNode in node.traverse(vbNode.head) do
- if (tr_vbNode.id == 0) and (tr_vbNode.subtype == 1 or tr_vbNode.subtype == 2) then
+ if (tr_vbNode.id == HLIST) and (tr_vbNode.subtype == 1 or tr_vbNode.subtype == 2) then
ProcessTableHlist(tr_vbNode)
end
end
diff --git a/macros/unicodetex/latex/texnegar/texnegar.pdf b/macros/unicodetex/latex/texnegar/texnegar.pdf
index 3abdf6da0b..a5c1d33ee5 100644
--- a/macros/unicodetex/latex/texnegar/texnegar.pdf
+++ b/macros/unicodetex/latex/texnegar/texnegar.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/texnegar/xepersian-XB.pdf b/macros/unicodetex/latex/texnegar/xepersian-XB.pdf
index 18a3e065fa..1cad32f51d 100644
--- a/macros/unicodetex/latex/texnegar/xepersian-XB.pdf
+++ b/macros/unicodetex/latex/texnegar/xepersian-XB.pdf
Binary files differ
diff --git a/systems/knuth/dist/errata/errata.nine b/systems/knuth/dist/errata/errata.nine
index fe9a20adad..f562cb0bd8 100644
--- a/systems/knuth/dist/errata/errata.nine
+++ b/systems/knuth/dist/errata/errata.nine
@@ -215,7 +215,7 @@ direct sum, {\sl see\/} |\oplus|.
\eightpoint
|\downbracefill| (\hbox to 4em{\downbracefill}), 225--226, $\underline{357}$.
-\bugonpage A483, lines 15--21 (4/29/97)
+\bugonpage A483, lines 15--21 (4/29/96)
\tenpoint
\begintt
diff --git a/systems/knuth/dist/errata/errata.tex b/systems/knuth/dist/errata/errata.tex
index c53b83902b..3a0d367f0c 100644
--- a/systems/knuth/dist/errata/errata.tex
+++ b/systems/knuth/dist/errata/errata.tex
@@ -1,5 +1,6 @@
% Bugs (sigh) in Computers \& Typesetting --- the most recent errata
+\tracingpages=1
\input manmac
\def\.#1{\hbox{\tt#1}}
\font\sltt=cmsltt10
@@ -34,11 +35,12 @@
\tenpoint
\noindent This is a list of all substantial corrections made to {\sl Computers
-\& Typesetting\/} since the publication of the second ``Millennium Edition''
-at the close of the year 2001. (More precisely, it lists errors corrected
-since the 16th printing of Volume~A, the 7th printing
-of Volume~B, the 6th printing of Volume~C, the 4th printing of Volume~D,
-and the 5th printing of Volume~E.)
+\& Typesetting\/} since the beginning of 2014.
+(More precisely, it lists errors corrected
+since the 19th printing of Volume~A, the 9th printing
+of Volume~B, the 8th printing of Volume~C, the 6th printing of Volume~D,
+and the 7th printing of Volume~E. % 2012 for A-D, 2013 for E
+But it omits changes that are ``purely cosmetic.'')
Corrections made to the softcover version of {\sl The \TeX book\/},
beginning with its 32nd printing, are
the same as corrections to Volume~A\null. Corrections to the softcover
@@ -51,1650 +53,1750 @@ errors have been corrected in the most recent printings.
% volume A
-\bugonpage A7, line 4 from the bottom (01/15/04)
-
-\noindent
-since control sequences of the second kind always have exactly one
-symbol after\cutpar
-
-\bugonpage A123, line 7 from the bottom (02/27/08)
-
-\ninepoint\noindent
-that it won't make the natural height-plus-depth
-of\/ |\box|$\,n$ surpass |\dimen|$\,n$, when it~is\cutpar
-
-\bugonpage A124, lines 12 and 13 (02/27/08)
-
-\ninepoint\noindent
-means that \TeX\ has tried to split an |\insert254| to height $180.2\pt$;
-the natural height-plus-depth of the best such split is $175.3\pt$,
-and the penalty for breaking there is~100.)
-
-\bugonpage A153, line 7 (01/03/14)
-
-\ninepoint\noindent
-of three fonts: one for text size, one for
-script size, and one for scriptscript size. The\cutpar
-
-\bugonpage A206, lines 12--17 (05/21/07)
+\bugonpage A34, line 3 from the bottom (01/09/20)
\ninepoint\noindent
-or alignment template
-is also considered to be |\outer| in this sense; for example, a
-file shouldn't end in the middle of a definition. If you are designing a
-format for others to use, you can help them detect errors before too much
-harm is done, by using |\outer| with all control sequences that should
-appear only at ``quiet times'' within a document. For example, Appendix~B
-defines |\proclaim| to be |\outer|, since a user shouldn't be stating a
-theorem as part of a definition or argument or preamble.
+not, you can say
+`\.{I\char`\\errorcontextlines=100} \.{\char`\\oops}' and try again. \ (That
+will usually\cutpar
+\bugonpage A43, line 6 (07/24/14)
-\bugonpage A216, line 3 from the bottom (12/20/07)
-
-\ninepoint\indent|\openin|\<number>|=|\<file name>
-
-\bugonpage A290, lines 25--26 (02/24/08)
-
-\ninepoint\textindent{$\bull$}
-\<leaders>\<box or rule>\<horizontal skip>.\enskip
-Here \<horizontal skip> refers to one of the first five glue-appending
-commands just mentioned; the formal syntax for \<leaders>\cutpar
+\tenpoint\noindent
+keyboard, or that have been
+pre\"empted for formatting?
-\bugonpage A292, line 15 (12/02/02)
+\bugonpage A49, cummings quote (08/03/19)
-\ninepoint\noindent
-are defined as in the
-second alternative of a \<math field>, are
-recorded in a ``choice\cutpar
+(delete the period at the end of the line)
-\bugonpage A308, lines 25 and 26 (06/17/02)
+\bugonpage A66, line 3 from the bottom (08/26/17)
\ninepoint
-\begintt
-\def\appendroman#1#2#3{\expandafter\def\expandafter#1\expandafter
- {\csname\expandafter\gobble\string#2\romannumeral#3\endcsname}}
-\endtt
-
-\bugonpage A311, line 14 (12/02/02)
-
-\ninepoint\indent
-|\def\\{\if\space\next\ % assume that \next is unexpandable|
-
-\bugonpage A311, line 17 (12/29/07)
+Such displays of box contents will be discussed further in
+Chapters 12 and~27.\cutpar
+
+\bugonpage A105, lines 9--16 (01/16/21)
+
+\ddanger If you say \.{\char`\\vadjust\char`\{}$\langle\,$vertical
+mode material$\,\rangle$\.{\char`\}} within a
+paragraph, \TeX\ will use internal vertical mode to insert the specified
+material into the vertical
+list that encloses the paragraph, immediately after whatever line
+contained the position of the \.{\char`\\vadjust}. For example, you can say
+`\.{\char`\\vadjust\char`\{\char`\\kern1pt\char`\}}'
+to increase the amount of space between lines of a
+paragraph if those lines would otherwise come out too close together. \ (The
+\vadjust{\kern1pt}author
+did that in the current line, just to illustrate what happens.) \ Also,
+if you want to make sure that a page break will occur immediately after a
+certain line, you can say `\.{\char`\\vadjust\char`\{\char`\\eject\char`\}}'
+anywhere in that line.
+
+\bugonpage A122, lines 3--8 (11/24/19)
+
+\ninepoint\noindent
+\.{\char`\\count255}, \.{\char`\\dimen255}, \.{\char`\\skip255},
+\.{\char`\\muskip255}, and \.{\char`\\toks255} are
+traditionally kept available for such purposes. Furthermore, plain \TeX\
+reserves \.{\char`\\dimen0} to \.{\char`\\dimen9},
+\.{\char`\\skip0} to \.{\char`\\skip9}, \.{\char`\\muskip0} to
+\.{\char`\\muskip9}, and \.{\char`\\box0} to \.{\char`\\box9}
+for ``scratchwork''; these registers
+are never allocated by the \.{\char`\\new...}\null\ operations. We have seen that
+\.{\char`\\count0} through \.{\char`\\count9} are special,
+and \.{\char`\\box255} also turns out to
+be special; so those registers should be avoided unless you know what you
+are doing.
+
+\bugonpage A155, line 8 from the bottom (01/17/21)
\ninepoint\indent
-| \leavevmode\copy0\kern-\wd0\makelightbox}|
+\.{\char`\\mathopen\char`\{\char`\\hbox\char`\{\char`\$\char`\\left\char`\#1}%
+$\langle\,$strut$\,\rangle$\.{\char`\\right.\char`\$\char`\}\char`\}}
-\bugonpage A318, lines 24 and 25 (10/01/03)
+\bugonpage A155, the bottom six lines (12/10/18)
\ninepoint\noindent
-\hbox to\parindent{\bf\hss15.13.\enspace}%
-Yes, in severe circumstances. (1)~Previous footnotes might
- have left no room for any more footnotes on the page.
-(2)~If |\vadjust{\eject}| occurs on the same line\cutpar
+dividual symbols; \.{\char`\\left}$\,\ldots\,$\.{\char`\\right}
+constructions are treated as ``inner'' subformulas, which means that
+they will be surrounded by additional space in certain circumstances.
+All other subformulas are generally treated as ordinary symbols,
+whether they are formed by \.{\char`\\overline} or
+\.{\char`\\hbox} or \.{\char`\\vcenter} or
+by simply being enclosed in braces. Thus, \.{\char`\\mathord} isn't really
+a necessary part of the \TeX\ language; instead of typing
+`\.{\char`\$1\char`\\mathord,234\char`\$}' you can get the same
+effect from `\.{\char`\$1\char`\{,\char`\}234\char`\$}'.
-\bugonpage A364, lines 12--15 from the bottom (02/29/08)
+\bugonpage A158, line 19 (12/10/18)
-\ninepoint\noindent
-|\def\loggingall{\tracingcommands=2 \tracingstats=2|\par\noindent
-| \tracingpages=1 \tracingoutput=1 \tracinglostchars=1 |\par\noindent
-| \tracingmacros=2 \tracingparagraphs=1 \tracingrestores=1 |\par\noindent
-| \showboxbreadth=\maxdimen \showboxdepth=\maxdimen}|\par
-\noindent
-|\def\tracingall{\tracingonline=1 \loggingall}|
+\ninepoint\indent
+Inner\quad is an inner atom produced by
+ `\.{\char`\\left}$\,\ldots\,$\.{\char`\\right}';
-\bugonpage A364, line 5 from the bottom (02/29/08)
+\bugonpage A170, lines 18 and 19 (12/10/18)
\ninepoint\noindent
-|\def\fmtversion{3.141592653} % identifies the current format|
+subformulas delimited by \.{\char`\\left} and \.{\char`\\right}
+are treated as type~Inner. The following table is
+used to determine the spacing between pairs of adjacent atoms:
-\bugonpage A373, lines 4 and 5 from the bottom (01/02/14)
+\bugonpage A171, line 19 from the bottom (06/15/19)
\ninepoint\noindent
-And here's another solution (which may be faster, because
-token list registers can be expanded more quickly than macros
-on some implementations, using |\the|):
-
-\bugonpage A373, line 2 from the bottom (01/02/14)
+formula produces a result essentially equivalent to
+`\.{\char`\\left(}$\langle\,$subformula$\,\rangle$\.{\char`\\right)}',
+when\cutpar
-\ninepoint\indent
-|\loop \ifnum\m>0 \t=\expandafter{\the\t*}\advance\m-1 \repeat|
-
-\bugonpage A399, line 18, through what used to be page A400, line 14 (02/26/08)
+\bugonpage A215, line 16 from the bottom becomes two lines (10/13/20)
\ninepoint
-Finally, the reformatting of\/ |\box\footins| can be achieved easily with
-an elegant technique suggested by David Kastrup, using the following
-\TeX\ code within the |\output| routine:
-\begindisplay
-|\def\makefootnoteparagraph{\unvbox\footins|\cr
-| \baselineskip=\footnotebaselineskip \removehboxes}|\cr
-|\def\removehboxes{\unskip\setbox0=\lastbox|\cr
-| \ifhbox0{\removehboxes}\unhbox0 \else\noindent \fi}|\cr
-\enddisplay
-The key idea here is |\removehboxes|, a macro that has the magical ability to
-take a vertical box such as `|\vbox{\box1\box2\box3\removehboxes}|' and
-transform it into
-`|\vbox{\noindent\unhbox1\unhbox2\unhbox3}|'\kern-1pt,
-if\/ |\box1|, \kern-2pt|\box2|, and
-|\box3| are hboxes. Notice how |\removehboxes| introduces braces so that
-\TeX's {save stack} will hold all of the hboxes before they are unboxed. Each
-level of recursion in this routine uses one cell of input stack space and
-three cells of save stack space; thus, it is generally safe to do more than
-100 footnotes without exceeding \TeX's capacity.
-
-In our application there is no interline glue within |\box\footins|,
-so the |\unskip| command could be deleted from |\removehboxes|.
-
-Incidentally, the |\unskip| and |\lastbox| operations have running
-times of the approximate form
-$a+mb$, where $m$~is the number of items {efficiency} on the
-list preceding the glue or box that is removed. Hence |\removehboxes| has a
-running time of order $n^2$ when it removes $n$~boxes.
-But the constant~$b$ is so small that
-for practical purposes it's possible to think of\/ |\unskip| and
-|\lastbox| as almost instantaneous.
-
-\bugonpage A416, lines 18--22 (06/08/07)
-
-\ninepoint\noindent\beginlines
-|\def\leftheadline{\hbox to \pagewidth{\spaceskip=0pt|
-| \vbox to 10pt{}% strut to position the baseline|
-| \llap{\tenbf\folio\kern1pc}% folio to left of text|
-| \tenit\rhead\hfil}} % running head flush left|
-|\def\rightheadline{\hbox to \pagewidth{\spaceskip=0pt\vbox to 10pt{}%|
-\endlines
-
-\bugonpage A418, line 8 from the bottom (12/13/11)
-
-\ninepoint\noindent\beginlines
-| \def\\{#3} \advance\hsize by -18mm|
-\endlines
-
-\bugonpage A418, line 3 from the bottom (12/13/11)
-
-\ninepoint\noindent\beginlines
-| \halign{\line{\titlefont\hss##}\\#4\unskip\\}|
-\endlines
-
-\bugonpage A442, lines 7 and 8 from the bottom (01/03/14)
-
-\def\rule#1.{\smallskip\textindent{\bf#1.}\ignorespaces}
-\ninepoint\textindent{\bf 3.}%
-If the current item is a style change, set $C$ to the specified
-style and move on to the next item.
-
-\bugonpage A450, lines 14--16 from the bottom (12/19/02)
-
-\begingroup\def\\#1{$_{\kern\scriptspace#1}$}
-\indent\qquad{\tt s\\1tic
- \\1exp x\\3p pi\\3a \\2i\\1a i\\2al \\2id \\1do \\1ci \\2io ou\\2 \\2us}
-\medskip\noindent
-(where subscripts that aren't shown are zero), and this yields
-$$\centerline{%
-\tt.\\0s\\0u\\1p\\0e\\0r\\1c\\0a\\0l\\1i\\0f\\0r\\0a\\0g\\1i\\0l\\4i%
-\\0s\\1t\\2i\\0c\\1e\\0x\\3p\\2i\\3a\\0l\\2i\\1d\\0o\\1c\\2i\\0o\\2u\\2s\\0.}$$
-\endgroup
-
-\bugonpage A458, left column (01/11/07)
-
-\eightpoint\noindent
-|\\|, 38, {\it356}, {\it378}, {\it418}.
-
-\bugonpage A459, left column (03/17/06)
-
-\eightpoint\noindent
-angle brackets ( $\langle\,\rangle$ ), 59, {\it146--147}, 150,~156,\par
-\noindent\qquad $\underline{268}$, 420, 437;
- {\sl see also\/} |\langle|, |\rangle|.
+\item\bull Just after a token such as \.{\char`\$}$_3$
+that begins math mode, to see if
+another token of category 3 follows.
-\bugonpage A461, left column (02/24/08)
+\bugonpage A222, lines 21--23 (01/16/21)
-\eightpoint\noindent
-|\boxit|, 223, 331.
-
-\bugonpage A468, right column (02/26/08)
-
-\eightpoint\noindent
-interline glue, 78--79, $\underline{80}$, 104, 105, 125, 221,\par
-\noindent\qquad 245, 263, 281--282, 335, 352, 399, 409.
-
-\bugonpage A469, left column (02/26/08)
+\ninepoint
+\halign{\indent#\hfil&\quad(see Chapter #)\hfil\cr
+\.{\char`\\hbox}$\langle\,$box specification$\,\rangle$%
+ \.{\char`\{}$\langle\,$horizontal mode material$\,\rangle$\.{\char`\}}&12\cr
+\.{\char`\\vbox}$\langle\,$box specification$\,\rangle$%
+ \.{\char`\{}$\langle\,$vertical mode material$\,\rangle$\.{\char`\}}&12\cr
+\.{\char`\\vtop}$\langle\,$box specification$\,\rangle$%
+ \.{\char`\{}$\langle\,$vertical mode material$\,\rangle$\.{\char`\}}&12\cr
+}
-\eightpoint\noindent
-Kastrup, David Friedrich, 399.
+\bugonpage A222, lines 11--13 from the bottom (01/16/21)
-\bugonpage A470, left column (01/21/03)
+\ninepoint\noindent
+ter~15. The \.{\char`\\vsplit} operation
+is also explained in Chapter~15. In math modes an additional
+type of box is available:
+\.{\char`\\vcenter}$\langle\,$box specification$\,\rangle$%
+ \.{\char`\{}$\langle\,$vertical mode material$\,\rangle$\.{\char`\}}
+(see Chapter~17).
-\eightpoint\noindent
-|\loggingall|, $\underline{364}$.
+\bugonpage A232, line 14 (01/10/21)
-\bugonpage A477, right column (06/08/07)
+\ninepoint\noindent
+tabs outside; `\.{\char`\\global\char`\\settabs}' will not do what
+you might think it should.
-\eightpoint\noindent
-\llap{*}|\spaceskip|, 76, 274, {\it317}, {\it356}, {\it416}, 429.
+\bugonpage A233, lines 3--5 (04/27/15)
-\bugonpage A479, right column (09/11/07)
+\tenpoint\noindent
+Only two tabs are set in this case, because only two \.{\char`\&}'s
+appear in the sample line. \ (A sample line usually
+ends with~\.{\char`\&\char`\\cr}, as it does here,
+because text material between the last tab and \.{\char`\\cr}
+isn't used for anything.)
-\eightpoint\noindent
-|\undefined|, 350, 384.
+\bugonpage A252, lines 5--7 (12/25/20)
-\bugonpage A483, line 5 from the bottom (11/18/03)
+\ninepoint\noindent
+blank, and
+the footline is normally a centered page number, but you can specify any
+headline and footline that you want by changing the token lists
+\.{\char`\\headline} and \.{\char`\\footline}. For example,
-\eightpoint
-\rightline{\eightss--- HIERONYMUS HORNSCHUCH, %
- {\eightrm'}$O\mkern-1mu\rho\mkern1mu\vartheta o\mkern1mu %
- \tau\upsilon\pi o\gamma\mkern-1mu %
- \rho\alpha\phi\acute\iota\alpha\varsigma$\enspace(1608)}
+\bugonpage A253, lines 7--9 from the bottom (10/27/20)
- % volume B
-\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
-\def\to{\mathrel{.\,.}} % double dot, used only in math mode
+\ninepoint\indent
+\.{\char`\\everypar} or \.{\char`\\errhelp}, except that \TeX\
+retains the begin-group symbol~`\.{\char`\{}' at the beginning
+and the end-group symbol~`\.{\char`\}}' at the end. These
+grouping characters
+help to keep the output routine from interfering with what
+\TeX\ was doing\cutpar
-\bugonpage Bv, page number change (12/27/11)
+\bugonpage A256, line 19 (08/28/15)
-\eightpoint\noindent[For consistency with Volumes A, C, and E, the
-preface now begins on page v instead of page~vii. This change was first
-made in the ninth printing.]
+\ninepoint\indent
+\tt \char`\\baselineskip=24pt \char`\\lineskiplimit=0pt
-\bugonpage Bv {(formerly Bvii)}, bottom two lines (01/06/14)
+\bugonpage A277, lines 9 and 10 from the bottom (08/26/17)
-\eightpoint\noindent
-all of those changes.
-I~now believe that the final bug was discovered on 14 September 2008
-and removed in version 3.14159265.
-The finder's fee has converged to \$327.68.
+\ninepoint\indent
+$\langle\,$hyphenation assignment$\,\rangle$\is
+ \.{\char`\\hyphenation}$\langle\,$filler$\,\rangle$%
+ \.{\char`\{}$\langle\,$hyphenations$\,\rangle$\.{\char`\}}\par
+\qquad \alt \.{\char`\\patterns}$\langle\,$filler$\,\rangle$%
+ \.{\char`\{}$\langle\,$patterns$\,\rangle$\.{\char`\}}
-\bugonpage Bxiii {(formerly Bxv)}, line $-7$ (12/27/11)
+\bugonpage A286, bottom two lines {(and affecting the top lines
+of page 287)} (08/26/17)
\ninepoint\noindent
-Format specs have no effect on the corresponding Pascal program, but they
-do influence\cutpar
+stands for zero or more \<assignment>
+commands other than \.{\char`\\setbox}, possibly with \<filler>.
+If the assignments are not followed by a \<character>, where
+\<character> stands\cutpar
-\hsize=35pc
+\bugonpage A287, lines 11--17 (04/22/20)
-\bugonpage B2, line 10 from the bottom (01/02/14)
+\ninepoint
+\textindent{$\bull$} \.{\char`\\discretionary}%
+ \<disc text>\<disc text>\<disc text>.\enskip
+A \<disc text> has the form
+`\<filler>\.{\char`\{}\<horizontal mode material>\.{\char`\}}',
+where the material is processed in restricted horizontal mode and
+should contain only fixed-width things.
+More precisely, the horizontal list formed by each
+\<disc text> must consist only of characters, ligatures,
+kerns, boxes, and rules; there should be no glue or penalty items, etc.
+This command appends a discretionary item to the current list; see
+Chapter~14 for the meaning of a discretionary item. The space factor is
+not changed.
+
+\bugonpage A292, lines 8--10 (04/22/20)
-\ninepoint\noindent\hskip10pt
-{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$%
-{\tt This\]is\]TeX,\]Version\]3.14159265\char'23}\quad
-$\{\,$printed when \TeX\ starts$\,\}$
+\ninepoint
+\textindent{$\bull$} \.{\char`\\discretionary}%
+ \<disc text>\<disc text>\<disc text>.\enskip
+This command has the same effect as in horizontal mode (see Chapter~25), but the
+third \<disc text> must produce an empty list.
-\bugonpage B3, new paragraph to follow line 9 (12/20/02)
+\bugonpage A299, line 11 from the bottom (11/01/20)
-\tenpoint\noindent\quad
-Incidentally, Pascal's standard \\{round} function can be problematical,
-because it disagrees with the IEEE floating-point standard.
-Many implementors have
-therefore chosen to substitute their own home-grown rounding procedure.
+\ninepoint\noindent
+is corrupted or was prepared for a different version of \TeX.
-\bugonpage B21, lines 33 and 34 (09/11/07)
+\bugonpage A305, bottom line (06/30/20)
-\def\Oct#1{\hbox{\rm\char'23\kern-.2em\it#1\/\kern.05em}} % octal constant
-\tenpoint\noindent
-$[\Oct{41}\to\Oct{46},\Oct{60}%
-\to\Oct{71},\Oct{136},\Oct{141}\to\Oct{146},\Oct{160}\to\Oct{171}]$ must be printable.
-Thus, at least 81 printable characters are needed.
+\ninepoint\indent
+\tt \char`\\setbox0=\char`\\hbox\char`\{\char`\#1\char`\}%
+\char`\\advance\char`\\dimen0 by -\char`\\wd0 \char`\}\rm.
-\bugonpage B109, line 16 (01/06/14)
+\bugonpage A309, line 2 becomes two lines (12/06/20)
\ninepoint\noindent
-\qquad\qquad{\bf begin} $\\{print\_esc}(\.{"csname"})$;
-$\\{print\_esc}(\.{"endcsname"})$;
-$\\{print\_char}(\.{"\ "})$;
-{\bf end}
+represent text entered from the user's terminal, or with
+`\.{<insert>}', when they
+represent text inserted during error recovery).
-\bugonpage B114, line 25 (09/11/07)
+\bugonpage A316, lines 17 and 18 from the bottom (09/03/15)
-\def\#{\hbox{\tt\char`\#}} % parameter sign
\ninepoint\noindent
-{\bf define} $\\{save\_index}(\#)\equiv\\{save\_stack}[\#].\\{hh}.\\{rh}$\quad
- $\{\,$\\{eqtb} location or token or \\{save\_stack} location$\,\}$
+(The next line must also not be too tall.)
+Here \.{\char`\\specialstar} is a box of height zero and depth
+\.{\char`\\strutdepth},
+and it puts an asterisk in the left margin:
-\bugonpage B139, line 20 (12/19/02)
+\bugonpage A320, lines 5--9 from the bottom (06/27/15)
\ninepoint\noindent
-\quad{\bf begin while} $(\\{state}=\\{token\_list}) \land
- (\\{loc}=\\{null}) \land (\\{token\_type}\ne\\{v\_template})$ {\bf do}\par
-\noindent\qquad\\{end\_token\_list};\quad$\{\,$conserve stack space$\,\}$
+{\bf 17.21.}\enspace Assigning \.{\char`\\delcode\char`\`\char`\{}
+would not work to allow `\.{\char`\\left\char`\{}', because
+the brace has category~1 and isn't a legal \<delim>.
+Allowing brace delimiters would be a bad idea because it would
+mess up other constructions, such as arguments to macros, and
+components of alignments. Moreover, a user who
+gets away with `\.{\char`\\left\char`\{}'
+is likely to try also `\.{\char`\\bigl\char`\{}', which
+fails miserably.
-\bugonpage B144, line 14 (09/11/07)
+\bugonpage A326, line 12 (08/26/17)
\ninepoint\noindent
-\quad\\{cat}: $0\to\\{max\_char\_code}$;\quad$\{\,$\\{cat\_code}(\\{cur\_char}), usually$\,\}$
+its natural width. The \.{\char`\\hbox} version also invokes
+\.{\char`\\everyhbox} and \.{\char`\\everymath}.
-\bugonpage B153, lines 2 and 3 (09/11/07)
+\bugonpage A329, line 3 of answer 20.7 (05/15/19)
-\tenpoint\noindent
-In fact, these three procedures account for almost every use of \\{get\_next}.
+\ninepoint\noindent
+the three tokens \.{!1}, \.{\char`\#2}, \.{[}$_1$; the
+\<replacement text> consists of the six tokens
+\.{\char`\{}$_1$, \.{\char`\#}$_6$,\cutpar
-\bugonpage B161, line 19 (12/19/02)
+\bugonpage A329, line 6 of answer 20.7 (05/15/19)
\ninepoint\noindent
-\quad{\bf while} $(\\{state}=\\{token\_list}) \land
- (\\{loc}=\\{null}) \land (\\{token\_type}\ne\\{v\_template})$ {\bf do}\par
-\noindent\qquad\\{end\_token\_list};\quad$\{\,$conserve stack space$\,\}$
+is otherwise irrelevant. Thus, `\.{\char`\\def\char`\\!!1\char`\#2\char
+ `\#[\char`\{\char`\#\char`\#]!!\char`\#2]}'
+would produce an essentially\cutpar
-\bugonpage B163, line 29 (12/19/02)
+\bugonpage A329, line 5 from the bottom of answer 20.7 (05/15/19)
-\ninepoint\noindent
-\quad$\\{long\_state}\gets\\{call}$;
-$\\{cur\_tok}\gets\\{par\_token}$;
-$\\{ins\_error}$;
-{\bf goto} \\{continue};
+\ninepoint\indent
+\.{!1<-x}
-\bugonpage B172, lines 2--6 from the bottom (09/11/07)
+\bugonpage A329, bottom line of answer 20.7 (05/15/19)
\ninepoint\noindent
-{\bf else if\/} $m=\\{vmode}$ {\bf then} \\{scanned\_result}(\\{prev\_depth})(\\{dimen\_val})\par\noindent
-\quad{\bf else} \\{scanned\_result}(\\{space\_factor})(\\{int\_val})
+final parameter in the parameter text;
+`\.{!1}' would have been rendered `\.{\char`\#1}'.
-\bugonpage B178, line 4 (09/11/07)
+\bugonpage A332, lines 13 and 14 (08/26/17)
\ninepoint\noindent
-\quad$\\{cur\_val}\gets0$;
-$\\{cur\_val\_level}\gets\\{int\_val}$;
-$\\{radix}\gets0$;
-$\\{cur\_order}\gets\\{normal}$;
+{\bf 21.10.}\enspace If you say
+`\.{\char`\{\char`\\let}\stretch
+\.{\char`\\the=0\char`\\edef}\stretch
+\.{\char`\\next}\stretch
+\.{\char`\{\char`\\write}\stretch
+\.{\char`\\cont}\stretch
+\.{\char`\{}\<token list>\.{\char`\}\char`\}\char`\\next}\stretch
+\.{\char`\}}',
+the \.{\char`\\write} will be exercuted after
+\.{\char`\\edef} expands everything except \.{\char`\\the}.
-\bugonpage B184, line 9 from the bottom (04/18/07)
+\bugonpage A332, bottom line (11/15/19)
-\tenpoint\noindent
-and denominator sum to 32768 or less.
-According to the definitions here, $\rm2660\,dd\approx1000.33297\,mm$;\kern-6.6pt\cutpar
+\ninepoint\indent\quad
+\tt \char`\\+\char`\&\char`\{\char`\\bf end\char`\};\char`\\cr \
+ \char`\%\ note that the semicolon isn't bold
-\bugonpage B206, line 14 (10/30/02)
+\bugonpage A342, lines 12 and 13 (08/14/20)
\tenpoint\noindent
-used input files like \.{webmac.tex}.
+of plain \TeX\ format; but some of them are primitive (built in),
+such as `\.{\char`\\par}' (end of
+paragraph), `\.{\char`\\noindent}' (beginning of
+non-indented paragraph), and `\.{\char`\/}' (italic\cutpar
-\bugonpage B206, new paragraph to follow line 22 (12/20/02)
+\bugonpage A345, lines 10--13 from the bottom (06/27/15)
-\tenpoint\noindent\quad
-The following procedures don't allow spaces to be part of
-file names; but some users seem to like names that are spaced-out.
-System-dependent changes to allow such things should probably
-be made with reluctance, and only when an entire file name that
-includes spaces is ``quoted'' somehow.
+\ninepoint\noindent
+Braces are used for grouping, when supplying
+arguments to macros; so they cannot also be used as math delimiters, or as
+arguments to macros such as \.{\char`\\big}. (One could change their catcodes
+to~12, and use some other pair of characters for grouping; but that
+would not be plain \TeX.)
-\bugonpage B227, new line to precede line 23 (09/11/07)
+\bugonpage A346, lines 10--22 (11/24/19)
\ninepoint\noindent
-{\bf if} $(\\{nw}=0)\lor(\\{nh}=0)\lor(\\{nd}=0)\lor(\\{ni}=0)$
- {\bf then} \\{abort};
+number identification.) \ (2)~The registers
+\.{\char`\\count255}, \.{\char`\\dimen255}, \.{\char`\\skip255},
+\.{\char`\\toks255}, and \.{\char`\\muskip255}
+are freely available in the same way.
+\ (3)~All assignments to the scratch registers whose numbers are
+1,~3, 5, 7, and~9 should be \.{\char`\\global}; all assignments to the
+other scratch registers (0,~2, 4, 6, 8,~255) should be non-\.{\char`\\global}.
+\ (This prevents the phenomenon of ``save stack buildup'' discussed
+in Chapter~27.)
+\ (4)~Furthermore, it's possible to
+use any register in a group, if you ensure that \TeX's grouping
+mechanism will restore the register when you're done with the group, and
+if you are certain that other macros will not make global assignments
+to that register when you need it. \ (5)~But when a register is used
+by several macros, or over long spans of time, it should be allocated
+by \.{\char`\\newcount}, \.{\char`\\newdimen}, \.{\char`\\newbox},
+etc. \ (6)~Similar remarks
+apply to input/output streams used by \.{\char`\\read} and \.{\char`\\write},
+to math families used by \.{\char`\\fam}, to sets of hyphenation rules used by
+\.{\char`\\language}, and to insertions (which require
+\.{\char`\\box}, \.{\char`\\count}, \.{\char`\\dimen},
+and \.{\char`\\skip} registers all having the
+same number).\looseness=-1
-\bugonpage B256, line 25 (12/20/02)
+\bugonpage A347, line 6 (06/30/20)
\ninepoint\noindent
-\qquad\\{cur\_glue}: \\{real};\quad$\{\,$glue seen so far$\,\}$\par\noindent
-\qquad\\{cur\_g}: \\{scaled};\quad$\{\,$rounded
- equivalent of \\{cur\_glue} times the glue ratio$\,\}$\par\noindent
-\quad{\bf begin} $\\{cur\_g}\gets0$;
- $\\{cur\_glue}\gets\\{float\_constant}(0)$;\par\noindent
-\quad$\\{this\_box}\gets\\{temp\_ptr}$;
- $\\{g\_order}\gets\\{glue\_order}(\\{this\_box})$;
- $\\{g\_sign}\gets\\{glue\_sign}(\\{this\_box})$;
+\tt \char`\\def\char`\\wlog\char`\{\char`\\immediate\char`\\write-1 \char`\}
+\ \char`\%\ this will write on log file (only)
-\bugonpage B258, line 5 from the bottom (12/20/02)
+\bugonpage A347, line 10 (11/24/19)
\ninepoint\noindent
-\quad{\bf begin} $g\gets\\{glue\_ptr}(p)$;
- $\\{rule\_wd}\gets\\{width}(g)-\\{cur\_g}$;
+\tt \char`\\outer\char`\\def\char`\\newmuskip\char`\{\char`\\alloc@3%
+\char`\\muskip\char`\\muskipdef\char`\\@cclv\char`\}
-\bugonpage B258, bottom line (12/20/02)
+\bugonpage A347, line 14 (11/24/19)
\ninepoint\noindent
-\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}+\\{stretch}(g)$;
- $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
-\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+\tt \char`\\outer\char`\\def\char`\\newtoks\char`\{\char`\\alloc@5%
+\char`\\toks\char`\\toksdef\char`\\@cclv\char`\}
-\bugonpage B259, line 4 (12/20/02)
+\bugonpage A350, lines 15 and 16 from the bottom (01/17/21)
\ninepoint\noindent
-\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}-\\{shrink}(g)$;
- $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
-\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+format; it shouldn't cost much for people to acquire all the
+fonts of plain \TeX\ in addition to the ones that they really want. Second, it
+is desirable on many computer systems to\cutpar
-\bugonpage B259, new line to precede old line 7 (12/20/02)
+\bugonpage A364, line 5 from the bottom (01/14/21)
\ninepoint\noindent
-\quad$\\{rule\_wd}\gets\\{rule\_wd}+\\{cur\_g}$;
+\tt \char`\\def\char`\\fmtversion\char`\{3.1415926535\char`\}
+\ \char`\%\ identifies the current format
-\bugonpage B260, line 21 (12/19/02)
+\bugonpage A370, lines 11 and 12 (08/26/17)
\ninepoint\noindent
-\qquad{\bf else begin} $\\{lx}\gets\\{lr}$ {\bf div} $(\\{lq}+1)$;
+close as possible to the ASCII conventions.
+\ (b)~Make sure that codes \oct{041}--\oct{046}, \oct{060}--\oct{071},
+\oct{136}, \oct{141}--\oct{146}, and \oct{160}--\oct{171} are present and that
+each unrepresentable in-\cutpar
-\bugonpage B261, line 9 (12/20/02)
+\bugonpage A373, lines 21 and 22 (01/17/21)
\ninepoint\noindent
-\qquad\\{cur\_glue}: \\{real};\quad$\{\,$glue seen so far$\,\}$\par\noindent
-\qquad\\{cur\_g}: \\{scaled};\quad$\{\,$rounded
- equivalent of \\{cur\_glue} times the glue ratio$\,\}$\par\noindent
-\quad{\bf begin} $\\{cur\_g}\gets0$;
- $\\{cur\_glue}\gets\\{float\_constant}(0)$;\par\noindent
-\quad$\\{this\_box}\gets\\{temp\_ptr}$;
- $\\{g\_order}\gets\\{glue\_order}(\\{this\_box})$;
- $\\{g\_sign}\gets\\{glue\_sign}(\\{this\_box})$;
+and \.{\char`\\if...\char`\\fi}
+tests, as well as special operations like \.{\char`\\the}
+and \.{\char`\\input}, while the
+latter category includes the primitive commands listed in Chapters~24--26.
+The expansion of\cutpar
-\bugonpage B262, line 10 from the bottom (12/20/02)
+\bugonpage A375, bottom three lines (06/30/20)
\ninepoint\noindent
-\quad{\bf begin} $g\gets\\{glue\_ptr}(p)$;
- $\\{rule\_ht}\gets\\{width}(g)-\\{cur\_g}$;
+|$$\generaldisplay$$| to be invoked, with |\eq| defined to be $\alpha$.
+Furthermore, when an equation number~$\beta$ is present, it should be stored
+in |\eqn|, and the test |\ifeqno| should be true.
+In such cases |\ifleqno| should distinguish |\leqno| from |\eqno|.
+Here\cutpar
-\bugonpage B262, line 6 from the bottom (12/20/02)
+\bugonpage A398, lines 4 and 5 (08/26/17)
-\ninepoint\noindent
-\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}+\\{stretch}(g)$;
- $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
-\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+\ninepoint\indent
+|\setbox2=\lastbox \setbox\footins=\vbox{\box2}|\par
+\smallskip\noindent
+since |\lastbox| will be the result of\/ |\rigidbalance|, which is an hbox.
-\bugonpage B262, line 2 from the bottom (12/20/02)
+\bugonpage A407, line 5 from the bottom (06/30/20)
-\ninepoint\noindent
-\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}-\\{shrink}(g)$;
- $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
-\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+\ninepoint\noindent\quad
+| \interlinepenalty5000\def\par{\endgraf\penalty5000 }}|
-\bugonpage B263, new line to precede old line 2 (12/20/02)
+\bugonpage A413, line 11 from the bottom (05/14/19)
-\ninepoint\noindent
-\quad$\\{rule\_ht}\gets\\{rule\_ht}+\\{cur\_g}$;
+\ninepoint\indent
+The computer file |texbook.tex| that generated {\sl The \TeX book\/} begins
+with a\cutpar
-\bugonpage B264, line 10 (12/19/02)
+\bugonpage A418, line 4 (05/14/19)
\ninepoint\noindent
-\qquad{\bf else begin} $\\{lx}\gets\\{lr}$ {\bf div} $(\\{lq}+1)$;
+\TeX\ commands
+that look like this in the file |texbook.tex|:
-\bugonpage B266, line 29 (09/11/07)
+\bugonpage A420, line 11 (06/30/20)
-\tenpoint\noindent
-$\\{total\_pages}\ge65536$, the \.{DVI} file will lie. And if
-$\\{max\_push}\ge65536$, the user deserves whatever chaos might ensue.
+\ninepoint\noindent
+|\def\bull{\vrule height.9ex width.8ex depth-.1ex \relax} % square bullet|
-\bugonpage B279, line 19 (09/11/07)
+\bugonpage A423, line 16 (06/30/20)
\ninepoint\noindent
-\qquad\\{p}: \\{pointer};\quad$\{\,$a new glue node$\,\}$
+| \vrule height6pt depth2pt width0pt \relax} % a strut for \insert\margin|
-\bugonpage B288, lines 18--20 (09/11/07)
+\bugonpage A445, lines 10--14 (12/10/18)
-\ninepoint\noindent
-\\{left\_noad}: {\bf begin} \\{print\_esc}(\.{"left"});
- \\{print\_delimiter}(\\{delimiter}($p$));\par\noindent
-\quad{\bf end};\par\noindent
-\\{right\_noad}: {\bf begin} \\{print\_esc}(\.{"right"});
- \\{print\_delimiter}(\\{delimiter}($p$));
+\ninepoint
+\textindent{\bf 15e.} Enclose the vbox that was constructed in Rule 15c or 15d by
+delimiters $(\lambda,\rho)$
+whose height plus depth is at least $\sigma_{20}$, if $C>T$, and at
+least $\sigma_{21}$ otherwise. Shift the delimiters up or down so that they are
+vertically centered with respect to the axis. Replace the generalized
+fraction by an Ord atom whose nucleus is the resulting sequence of three boxes
+($\lambda$, vbox, $\rho$). Go to rule~19.
-\bugonpage B290, line 12 (09/11/07)
+\bugonpage A446, the bottom three lines of Rule 19 become four lines (01/10/21)
\ninepoint\noindent
-\quad{\bf begin if\/} $s=\\{text\_size}$ {\bf then}
- \\{print\_esc}(\.{"textfont"});
+atom and the right boundary item to
+a Close atom. The entire resulting list now becomes the nucleus of an
+Inner atom. \ (All of the calculations in this step are done with
+$C$ equal to the starting style of the math list; style items in the
+middle of the list do not affect the style of the right boundary item.)
-\bugonpage B299, line 9 (12/20/02)
+\bugonpage A454, lines 17 and 18 from the bottom (04/13/20)
\ninepoint\noindent
-\qquad\qquad\quad{\bf if\/} $\\{type}(r)=\\{kern\_node}$ {\bf then}
- \quad$\{\,$unneeded italic correction$\,\}$
+of the process; the trial word consists of all the letters found in admissible
+items, up to a maximum of~63. Notice that all of these letters are in font~$f$.
-\bugonpage B332, line 6 (12/19/02)
+\bugonpage A458 and following, selected amendments to the index (01/18/21)
-\tenpoint\noindent
-is being scanned, or when no alignment preamble is active.
+\eightpoint
+|[1]| (progress report), 23, $\underline{119}$.\par
+|\aa| ( \aa\ ), {\it52}, $\underline{356}$.\par
+|\AA| ( \AA\ ), {\it52}, $\underline{356}$.\par
+\<disc text>, $\underline{287}$, 292.\par
+\<general text>, $\underline{276}$, 279, 280.\par
+\<horizontal mode material>, 278, 285, 287.\par
+integral signs, {\sl see\/} |\int|, |\oint|, |\smallint|.\par
+\<math mode material>, 287, 289--293.\par
+|\null|, 311, {\it312}, {\it316}, {\it332}, {\it335}, $\underline{351}$, {\it354}, {\it360}--{\it362}, {\it419}.\par
+|\o| ( \o\ ), {\it52}, $\underline{356}$.\par
+|\O| ( \O\ ), {\it52}, $\underline{356}$.\par
+programs, for computers, 38, 165, {\it234}.\par
+repeating templates, {\sl see\/} periodic preambles.\par
+replacement text, {\it200}--{\it204}, 212, 280, 300, 329.\par
+right delimiters, {\sl see\/} closings.\par
+struts, $\underline{82}$, 125, 131, 142, 155, 178, 245--247, 255, 329, 416, 422, 423.\par
+\<vertical mode material>, 278, 280--282, 290.
-\bugonpage B332, line 8 (12/19/02)
-\ninepoint\noindent
-\quad{\bf begin if\/} $(\\{scanner\_status}=\\{aligning}) \lor
- (\\{cur\_align}=\\{null})$ {\bf then}
+ % volume B
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\dts{\mathrel{.\,.}} % double dot, used only in math mode
-\bugonpage B336, line 11 from the bottom (10/13/03)
+\bugonpage Bv {(formerly Bvii)}, bottom two lines (01/15/21)
-\tenpoint\noindent
-$j-i+\\{min\_quarterword}$ in their
-\\{link} fields. The values of $w_{ii}$ were initialized to
-\\{null\_flag},\cutpar
+\eightpoint\noindent
+all of those changes.
+I~now believe that the final bug was discovered on 22 October 2020
+and removed in version 3.141592653. % on 12 January 2021
+The finder's fee has converged to \$327.68.
+
+\hsize=35pc
-\bugonpage B342, lines 5 and 6 (09/11/07)
+\bugonpage B2, line 10 from the bottom (01/15/21)
-\tenpoint
-In restricted horizontal mode, the \\{clang} part of \\{aux} is undefined;
-an over-cautious Pascal runtime system may complain about this.
+\ninepoint\noindent\hskip10pt
+{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$%
+{\tt This\]is\]TeX,\]Version\]3.141592653\char'23}\quad
+$\{\,$printed when \TeX\ starts$\,\}$
-\bugonpage B416, line 22 (02/29/08)
+\bugonpage B4, line 8 of \S7 (04/02/17)
-\ninepoint\noindent
-\qquad\qquad{\bf if\/} $\\{count}(t)=1000$ {\bf then} $t\gets\\{height}(r)$
-\par\noindent
-\qquad\qquad{\bf else} $t\gets\\{x\_over\_n}(\\{height}(r),1000)*\\{count}(t)$;
-\par\noindent
-\qquad\qquad\\{print\_scaled}$(t)$
+\tenpoint\noindent
+diagnostic information for \.{\char`\\tracingparagraphs},
+\.{\char`\\tracingpages}, and \.{\char`\\tracingrestores}.
-\bugonpage B438, lines 1--3 (09/11/07)
+\bugonpage B21, lines 33 and 34 (04/02/17)
+\def\Oct#1{\hbox{\rm\char'23\kern-.2em\it#1\/\kern.05em}} % octal constant
\tenpoint\noindent
-{\bf1035.\quad}If \\{link}(\\{cur\_q}) is nonnull when \\{wrapup} is invoked,
-\\{cur\_q} points to
-the list of characters that were consumed while building the ligature
-character~\\{cur\_l}.
+$[\Oct{41}\to\Oct{46},\Oct{60}%
+\to\Oct{71},\Oct{136},\Oct{141}\to\Oct{146},\Oct{160}\to\Oct{171}]$ must be printable.
+Thus, at least 80 printable characters are needed.
-\bugonpage B438, lines 19 and 20 (09/11/07)
+\bugonpage B28, lines 3 and 4 (04/02/17)
-\ninepoint\noindent
-\qquad\qquad\qquad{\bf begin if\/} $\\{link}(\\{cur\_q})>\\{null}$ {\bf then}
-\par\noindent
-\qquad\qquad\qquad\quad{\bf if\/} $\\{character}(\\{tail})=\\{qi}(
- \\{hyphen\_char}[\\{main\_f}])$ {\bf then} $\\{ins\_disc}\gets\\{true}$;
+\tenpoint\noindent
+not serious since we assume that this
+part of the program is system dependent.
-\bugonpage B438, line 4 from the bottom (09/11/07)
+\bugonpage B28, line 2 from the bottom (04/02/17)
-\ninepoint\noindent
-\quad$\\{link}(\\{tail})\gets\\{lig\_stack}$;
-$\\{tail}\gets\\{lig\_stack}$\quad$\{\,$\\{main\_loop\_lookahead} is next$\,\}$
+\ninepoint\noindent\quad
+{\bf var} $k$: $0\dts23$;\quad$\{\,$index to current digit; we assume
+ that $\vert n\vert<10^{23}\,\}$
-\bugonpage B439, line 3 (09/11/07)
+\bugonpage B35, line 2 of \S83 becomes two lines (06/27/20)
-\ninepoint\noindent
-\quad{\bf if\/} $\\{main\_p}>\\{null}$ {\bf then}
- \\{tail\_append}(\\{main\_p});\quad$\{\,$append a single character$\,\}$
+\ninepoint\noindent\quad
+{\bf loop begin} \\{continue}: {\bf if} $\\{interaction}\ne\\{error\_stop\_mode}$
+ {\bf then return};\par
+\noindent\qquad
+\\{clear\_for\_error\_prompt}; \ \\{prompt\_input}(\.{"?\]"});
-\bugonpage B440, new line to follow line 9 (09/11/07)
+\bugonpage B36, line 11 of \S84 (07/03/20)
-\ninepoint\noindent
-\quad{\bf if\/} $\\{cur\_r}=\\{non\_char}$ {\bf then goto}
- \\{main\_loop\_wrapup};
+\ninepoint\noindent\quad
+\.{"E"}: {\bf if} $\\{base\_ptr}>0$ {\bf then if}
+ $\\{input\_stack}[\\{base\_ptr}].\\{name\_field}\ge256$ {\bf then}
-\bugonpage B452, line 18 (28/03/11)
+\bugonpage B36, line 5 of \S85 becomes two lines (07/03/20)
-\noindent\\{hmode}, where the latter two are used to denote
- \.{\char`\\vbox} and \.{\char`\\hbox}, respectively.
+\ninepoint\noindent\quad
+{\bf if} $\\{base\_ptr}>0$ {\bf then}\par
+\noindent\qquad
+{\bf if} $\\{input\_stack}[\\{base\_ptr}].\\{name\_field}\ge256$ {\bf then}
+\\{print}(\.{"E\]to\]edit\]your\]file."}
-\bugonpage B455, lines 3 and 4 (09/11/07)
+\bugonpage B40, line 5 from the bottom (08/07/20)
-\ninepoint\noindent
-\quad{\bf if\/} $((\\{cur\_cmd}=\\{hskip})\land(\\{abs}(\\{mode})\ne\\{vmode}))
- \lor ((\\{cur\_cmd}=\\{vskip})\land(\\{abs}(\\{mode})=\\{vmode}))$ {\bf then}
+\ninepoint\noindent\qquad
+(\.{"Try\]to\]insert\]an\]instruction\]for\]me\](e.g.,\]%
+ \char`\`I\char`\\showlists\char`\'),"})
-\bugonpage B472, new paragraph to follow line 10 (12/20/02)
+\bugonpage B58, lines 2 and 3 of \S136 (10/11/20)
-\tenpoint\noindent\quad
-A devious user might force an \\{endv} command to occur just about anywhere;
-we must defeat such hacks.
+\tenpoint\noindent
+the values corresponding to `\.{\char`\\hbox\char`\{\char`\}}'.
+The \\{sub\_type}
+field is set to \\{min\_quarterword}, for historic reasons that are no
+longer relevant.
-\bugonpage B472, replacement for what used to be line 13 (12/20/02)
+\bugonpage B88, line 16 (10/22/20)
-\ninepoint\noindent
-\quad{\bf begin} $\\{base\_ptr}\gets\\{input\_ptr}$;
- $\\{input\_stack}[\\{base\_ptr}]\gets\\{cur\_input}$;\par\noindent
-\quad{\bf while} $(\\{input\_stack}[\\{base\_ptr}].\\{index\_field}\ne
- \\{v\_template}) \land{}$\par\noindent
-\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{loc\_field}=
- \\{null}) \land {}$\par\noindent
-\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{state\_field}=
- \\{token\_list})$ {\bf do} \\{decr}(\\{base\_ptr});\par\noindent
-\quad{\bf if\/} $(\\{input\_stack}[\\{base\_ptr}].\\{index\_field}\ne
- \\{v\_template}) \lor {}$\par\noindent
-\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{loc\_field}\ne
- \\{null}) \lor {}$\par\noindent
-\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{state\_field}\ne
- \\{token\_list})$ {\bf then}\par\noindent
-\qquad\\{fatal\_error}(\hbox{\tt\char'23(interwoven\]alignment\]preambles\]%
- are\]not\]allowed)\char'23});\par\noindent
-\quad{\bf if\/} $\\{cur\_group}=\\{align\_group}$ {\bf then}
+\tenpoint\noindent
+The mode is temporarily set to zero while processing \.{\char`\\write} texts.
+
+\bugonpage B102, lines 3 and following of \S241 (12/11/20)
-\bugonpage B505, line 19 (09/11/07)
+\tenpoint\noindent
+information, something special
+is needed. The program here simply assumes that suitable values appear in
+the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and
+\\{sys\_year} (which are initialized to noon on 4 July 1776,
+in case the implementor is careless).
+\smallskip
+\ninepoint\noindent
+{\bf procedure} \\{fix\_date\_and\_time};\par
+\noindent\quad{\bf begin}
+$\\{sys\_time}\gets12\ast60$; \
+$\\{sys\_day}\gets4$; \
+$\\{sys\_month}\gets7$; \
+$\\{sys\_year}\gets1776$;\quad
+$\{\,$self-evident truths$\,\}$\par
+\noindent\quad$\\{time}\gets\\{sys\_time}$;\quad
+ $\{\,$minutes since midnight$\,\}$\par
+\noindent\quad$\\{day}\gets\\{sys\_day}$;\quad$\{\,$day of the month$\,\}$\par
+\noindent\quad$\\{month}\gets\\{sys\_month}$;\quad$\{\,$month of the year$\,\}$\par
+\noindent\quad$\\{year}\gets\\{sys\_year}$;\quad$\{\,$Anno Domini$\,\}$\par
+\noindent\quad{\bf end};
+
+\bugonpage B103, replacement for \S246 (12/11/20)
+\tenpoint\noindent
+{\bf 246.}\quad Of course we had better declare a few more global variables,
+if the previous routines are going to work.
+\smallskip
\ninepoint\noindent
-\qquad(\.{"since\]the\]result\]is\]out\]of\]range."});\par\noindent
-\qquad{\bf if\/} $p\ge\\{glue\_val}$ {\bf then}
- \\{delete\_glue\_ref}(\\{cur\_val});\par\noindent
-\qquad\\{error}; {\bf return};
+$\langle\,$Global variables {\sevenrm\kern.5em13}$\,\rangle+\equiv$\par
+\noindent\\{old\_setting}: $0\dts\\{max\_selector}$;\par
+\noindent\\{sys\_time}, \\{sys\_day}, \\{sys\_month}, \\{sys\_year}: \\{integer};
+\quad$\{\,$date and time supplied by external system$\,\}$
-\bugonpage B506, line 1 (10/13/03)
+\goodbreak
+\bugonpage B122, lines 9 and 10 of \S291 (10/12/20)
-\tenpoint\noindent
-{\bf 1237.\quad}Here we use the fact that the consecutive codes
-$\\{int\_val}\to\\{mu\_val}$ and
-$\\{assign\_int}\to$\cutpar
+\tenpoint\noindent\quad
+The enclosing \.{\char'173} and \.{\char'175} characters of a macro
+definition are omitted, but an output routine
+will be enclosed in braces.
-\bugonpage B520, line 8 (06/25/04)
+\bugonpage B143, lines 2, 3, 4 become four lines (01/15/17)
\tenpoint\noindent
-says,
-for example, `\.{(preloaded format=plain 1982.11.19)}', showing the year,
-month, and day\cutpar
+routines that should be aborted, but we can sketch the
+ideas here: For a runaway definition or a runaway balanced text,
+we will insert a right brace; for a
+runaway preamble, we will insert a special \.{\char`\\cr} token and a right
+brace; and for a runaway argument, we will set \\{long\_state} to
+\\{outer\_call} and insert \.{\char`\\par}.
-\bugonpage B535, new line to follow line 11 (09/11/07)
+\bugonpage B188, line 8 (04/02/17)
\ninepoint\noindent
-\qquad{\bf if\/} $\\{last\_glue}\ne\\{max\_halfword}$ {\bf then}
- \\{delete\_glue\_ref}(\\{last\_glue});
+{\bf function} \\{str\_toks}$(b:\\{pool\_pointer})$: \\{pointer};\quad
+ $\{\,$converts \\{str\_pool}$[b\dts\\{pool\_ptr}-1]$ to a token list$\,\}$
-\bugonpage B578, new entry (06/04/06)
+\bugonpage B192, line 17 (10/22/20)
-\eightpoint\noindent
-Trabb Pardo, Luis Isidoro, 2.
+\ninepoint\noindent\quad
+{\bf label} \\{found}, \\{continue}, \\{done}, \\{done1}, \\{done2};
- % volume C
-\hsize=29pc
-\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
-\def\ddashto{\mathrel{\hbox{-\thinspace-\thinspace-\kern-.05em}}}
-\def\tension{\mathop{\rm tension}}
-\def\controls{\mathop{\rm controls}}
-\def\and{\,{\rm and}\,}
+\bugonpage B192, line 3 of \S474 (10/22/20)
-\bugonpage Cxi, line 4 (05/20/07)
+\ninepoint\noindent\qquad
+{\bf begin} \\{continue}: \\{get\_token};\quad$\{\,$set \\{cur\_cmd},
+ \\{cur\_chr}, \\{cur\_tok}$\,\}$
-\line{\hbox to\parindent{\bf\hbox to 1em{\hss27}\hss}%
- \rm Recovery from Errors\leaders\hbox to 20pt{\kern13pt.\hss}\hfil
- \hbox to 2em{\hss223}}
+\bugonpage B193, line 4 of \S476 (05/20/20)
-\bugonpage C11, line 11 (10/11/01)
+\ninepoint\noindent\quad
+{\bf if} $\\{cur\_tok}<\\{left\_brace\_limit}$ {\bf then}
-\noindent
-the area below the bar to the area above it equal to
-$(\sqrt5+1)/2\approx1.61803$, the\cutpar
+\bugonpage B193, line 10 of \S476 becomes two lines (10/22/20)
-\bugonpage C29, illustration for exercise 4.11 (09/09/01)
+\ninepoint\noindent\qquad
+\\{help2}(\.{"I\char`\'m\]going\]to\]ignore\]the\]\#\]sign\]you\]just\]used,"})\par
+\noindent\qquad
+(\.{"as\]well\]as\]the\]token\]that\]followed\]it."});
+\\{error}; {\bf goto} \\{continue};
-\noindent
-[points 2 and 5 should not be labeled twice]
+\bugonpage B196, line 5 from the bottom (02/17/18)
-\bugonpage C32, line 5 from the bottom (01/04/14)
+\ninepoint\noindent\qquad\quad
+\\{help1}(\.{"This\]\char`\\read\]has\]unbalanced\]braces."});
+$\\{align\_state}\gets1000000$;
+$\\{limit}\gets0$;
+\\{error};
-\noindent
-\hbox to\parindent{\hfil\sevenrm20\ \ }%
-| penpos1(stem,15); penpos2(.9stem,12); penpos3(stem,10);|
+\bugonpage B199, lines 1--3 of \S494 (10/25/20)
-\bugonpage C36, line 5 from the bottom (01/05/14)
+\tenpoint\noindent
+{\bf 494.} \ \ Here is a procedure that ignores text until coming to an \.{\char`\\or},
+\.{\char`\\else}, or \.{\char`\\fi} at the current level
+of $\.{\char`\\if}\ldots\.{\char`\\fi}$
+nesting. After it has acted, \\{cur\_chr} will indicate the token that
+was found, but \\{cur\_tok} will not be set (because this makes the
+procedure run faster).
+
+
+\bugonpage B214, lines 2--6 of \S536 (12/11/20)
+
+\ninepoint\noindent\quad
+{\bf begin} \\{wlog}(\\{banner});
+\\{slow\_print}(\\{format\_ident});
+\\{print}(\.{"\]\]"});
+\\{print\_int}(\\{sys\_day});
+\\{print\_char}(\.{"\]"});\par
+\noindent\quad
+$\\{months}\gets\.{\char`\'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC\char`\'}$;\par
+\noindent\quad
+{\bf for} $k\gets3\ast\\{sys\_month}-2$ {\bf to} $3\ast\\{sys\_month}$
+{\bf do} \\{wlog}(\\{months}[$k$]);\par
+\noindent\quad
+\\{print\_char}(\.{"\]"});
+\\{print\_int}(\\{sys\_year});
+\\{print\_char}(\.{"\]"});
+\\{print\_two}(\\{sys\_time} {\bf div} 60);
+\\{print\_char}(\.{":"});\par
+\noindent\quad
+\\{print\_two}(\\{sys\_time} {\bf mod} 60);
+
+\bugonpage B214, line 2 of \S537 becomes two lines (10/29/20)
-\noindent
-line~12, where it
-says `|x1l|', not `|x11|' or~`|xll|'); be sure to distinguish between\cutpar
+\tenpoint\noindent
+command is being processed.
+Beware: For historic reasons, this code foolishly conserves a tiny bit
+of string pool space; but that can confuse the interactive `\.E' option.
-\bugonpage C55, lines 5 and 6 (01/05/14)
+\bugonpage B214, bottom line (10/29/20)
\ninepoint\noindent
-suffixed or subscripted.
-Thus, the syntax rule for \<variable>
-should actually be replaced by a slightly more complicated pair of rules:
+{\bf if} $\\{name}=\\{str\_ptr}-1$ {\bf then}
+\ $\{\,$conserve string pool space (but see note above)$\,\}$
+\bugonpage B219, lines 18--20 of \S545 (09/19/19)
-\bugonpage C129, line 16 (02/21/08)
-
-\ninepoint\beginsyntax
-<path subexpression>\is<path expression not ending with direction specifier>\kern-5pt\null
-\endsyntax
-
-\bugonpage C130, lines 13--15 from the bottom (09/13/03)
-
-\ninepoint\noindent
-point but not after it, the
-nonempty one is duplicated in a similar way. A~basic path join
-`$\to\controls u\and v\to$' specifies explicit control points that
-override any direction specifiers that may immediately surround it.
+\tenpoint\noindent
+so-called boundary character of this font;
+the value of \\{next\_char} need not lie between \\{bc} and~\\{ec}.
+If the very last instruction of the \\{lig\_kern} array has $\\{skip%
+\_byte}=255$,
+there is a special ligature/kerning program for a boundary character at the
+left, beginning at location $256\ast\\{op\_byte}+$\cutpar
-\bugonpage C137, lines 5--7 from the bottom (02/21/08)
+\bugonpage B282, line 1 {(and change lines 20--23 accordingly)} (04/02/17)
-\danger Let's conclude this chapter by applying what we've learned about
-paths to a real-life example. The {\sl Journal of Algorithms\/} was
-published for many years by Academic Press, and its cover page carried the
-following logo, which was designed\cutpar
-\enddanger
+\tenpoint\noindent
+{\bf 682.} Each portion of a formula is classified as Ord, Op, Bin, Rel, Open,
+Close, Punct, or Inner, for\cutpar
-\bugonpage C137, bottom two lines (02/21/08)
+\bugonpage B299, line 4 from the bottom of \S722 (10/06/20)
-\ninepoint\noindent
-A \MF\ program to produce this logo made it possible for the editors
-of the journal to use it on letterheads in their correspondence.
-Here is one way to do that job,\cutpar
-% actually the MS now says "to write that program," and the
-% correction therefore extends to page C138
+\ninepoint\noindent\qquad\quad
+{\bf begin} \\{char\_warning}(\\{cur\_f}, \\{qo}(\\{cur\_c}));
+$\\{math\_type}(a)\gets\\{empty}$;
+$\\{cur\_i}\gets\\{null\_character}$;
-\bugonpage C156, line 15 from the bottom (09/09/01)
+\bugonpage B318, lines 16 and 17 of \S761 become one (03/25/19)
\ninepoint\noindent
-be the values they had upon entry to the group.)
+\\{fraction\_noad}: $s\gets\\{fraction\_noad\_size}$;
-\bugonpage C159, lines 12--15 (12/01/06)
+\bugonpage B333, line 5 of \S793 becomes two lines (01/10/20)
-\begintt
-def --- = ..tension infinity.. enddef;
-\endtt
-it makes `$z_1\ddashto z_2$' become
-`$z_1\to\tension\\{infinity}\to z_2$'.
-The {replacement text} can be any sequence of tokens not including
-`{\bf enddef}\kern1pt'; or it can include entire subdefinitions like
-`{\bf def}~$\ldots$~{\bf enddef}\kern1pt', according to certain rules
-that we shall explain later.
+\ninepoint\noindent\quad
+$\\{cur\_loop}\gets\\{link}(\\{cur\_loop})$;
+$\\{link}(p)\gets\\{new\_glue}(\\{glue\_ptr}(\\{cur\_loop}))$;\par
+\noindent\quad
+$\\{subtype}(\\{link}(p))\gets\\{tab\_skip\_code}+1$;
-\bugonpage C171, line 16 from the bottom (06/18/02)
+\bugonpage B348, insert a new line after line 5 of \S826 (01/15/17)
-\tenpoint
-\<loop>\is\<loop header>|:|\<loop text> {\tt endfor}
+\ninepoint\noindent\qquad
+{\bf stat if} $\\{tracing\_paragraphs}>0$ {\bf then}
+\\{end\_diagnostic}(\\{true}); \ {\bf tats}
-\bugonpage C179, line 7 from the bottom (09/09/01)
+\bugonpage B348, insert a new line to be the seventh line after the previous change (01/15/17)
-\ninepoint\noindent
-next time \MF\ gets to the end of an input line, it will stop reading
-from the\cutpar
+\ninepoint\noindent\qquad
+{\bf stat if} $\\{tracing\_paragraphs}>0$ {\bf then}
+\\{begin\_diagnostic}; \ {\bf tats}
-\bugonpage C180, lines 14--16 (04/25/03)
+\bugonpage B377, line 6 (10/31/20)
\ninepoint\noindent
-digits should be a
-file name that works in essentially the same way on all installations of
-\MF\kern-.03em\null. Uppercase letters are considered to be distinct from their
-lowercase counterparts, on many systems.
+\\{hn}: $0\dts64$; \ $\{\,$the number of positions occupied in \\{hc};
+ not always a \\{small\_number}$\,\}$
-\bugonpage C180, new line to be inserted 4 from the bottom (06/25/04)
+\bugonpage B417, mini-index (04/02/17)
-\ninepoint\item\bull
-When \MF\ is reading the symbolic tokens to be saved by {\bf save}.
+\eightpoint\noindent
+The entry `\\{height}, \S981.' here and on many later
+odd-numbered pages should be `$\\{height}=\rm macro$, \S135.'
-\bugonpage C203, line 12 from the bottom (04/25/03)
+\bugonpage B522, line 3 of \S1306. (10/25/20)
-\ninepoint\hbox to 237pt{point~3 at the right of the triangle
-might digitize into a}
+\tenpoint\noindent
+to be in the range $a\le x\le b$.
+System error messages should be suppressed when undumping.
-\bugonpage C213, line 26 (02/21/08)
+\bugonpage B533, lines 5--8 of \S1333. (10/15/20)
-\ninepoint\beginsyntax
-<path subexpression>\is<path expression not ending with direction specifier>\kern-5pt\null
-\endsyntax
+\tenpoint\noindent
+loop.
+(Actually there's one way to get error messages, via \\{prepare\_mag};
+but that can't cause infinite recursion.)\par
+\noindent\quad
+If \\{final\_cleanup} is bypassed, this program doesn't bother to
+close the input files that may still be open.
-\bugonpage C226, line 23 (02/21/08)
+\bugonpage B533, line 12 of \S1333. (11/29/20)
-\ninepoint\noindent following nineteen things will be mentioned:
+\ninepoint\noindent\quad
+{\bf begin} $\langle\,$Finish the extensions{\sevenrm\kern.5em1378}$\,\rangle$;
+$\\{new\_line\_char}\gets-1$;
-\bugonpage C226, new line to be second from the bottom (02/21/08)
+\bugonpage B534, line 6 of \S1335. (11/29/20)
-\ninepoint\indent|independent variables|\qquad(distinct numeric variables)
+\ninepoint\noindent\quad
+{\bf begin} $c\gets\\{cur\_chr}$;
+{\bf if} $c\ne1$ {\bf then} $\\{new\_line\_char}\gets-1$;
-\bugonpage C236, line 7 from the bottom (01/05/14)
+\bugonpage B537, line 18 of \S1338 becomes two lines (10/05/20)
-\ninepoint\noindent
-\hbox to\parindent{\hss\bf 7.4.\enspace}False.
-After `|newinternal x;|' you can't say `|x|\<tag>' in a \<suffix list>.
+\ninepoint\noindent\quad
+{\bf begin} \\{clear\_terminal};\par
+\noindent\quad
+{\bf loop}
-\bugonpage C246, line 12 (02/21/08)
+\bugonpage B537, lines 11 and 12 from the bottom of \S1338
+ become three lines (04/02/17)
-\ninepoint\noindent
-is performed whenever \MF\ uses the last two alternatives
-in the definition\cutpar
+\ninepoint\noindent\qquad\qquad
+{\bf begin goto} \\{breakpoint};\par
+\noindent\qquad\qquad\quad$\{\,$go to every declared label at least once$\,\}$\par
+\noindent\qquad\quad\\{breakpoint}: $m\gets0$;
+ \.{@\char`\{\char`\'BREAKPOINT\char`\'@\char`\}}
-\bugonpage C250, lines 13 and 14 (02/19/08)
+\bugonpage B600, the bottom five lines (05/14/19)
-\ninepoint\noindent\hbox to\parindent{\bf\hss19.3.\enspace}%
-Yes, if and only if $n-{1\over2}$ is a nonnegative even integer.
-\ (Because ambiguous values are rounded upwards.)
+\tenpoint\noindent
+they occupy in a typical production system
+(executable code size for dark blocks, global data size for light blocks).
+In this way the chart indicates a total of about
+$12\times22=264${\ninerm K} bytes of memory, plus
+$12\times10=120${\ninerm K} for the
+dynamic memory region not shown explicitly. The dynamic memory
+is often considerably larger in practice, because it is desirable to
+accommodate large macro packages and large pages.
-\bugonpage C250, line 12 from the bottom (04/25/03)
-\ninepoint\noindent
-following \<boolean primary>.)
+ % volume C
+\hsize=29pc
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\dashto{\mathrel{\hbox{-\thinspace-\kern-.05em}}}
+\def\ddashto{\mathrel{\hbox{-\thinspace-\thinspace-\kern-.05em}}}
+\def\tension{\mathop{\rm tension}}
+\def\controls{\mathop{\rm controls}}
+\def\and{\,{\rm and}\,}
-\bugonpage C286, line 25 (09/09/01)
+\bugonpage Cx, line 4 from the bottom (06/14/20)
-\ninepoint\noindent
-problem; it would simply have put |ENDFOR| into the
-replacement text of |asts|, because\cutpar
+\count255=1
+\def\diamondleaders{\global\advance\count255 by 1
+ \ifodd\count255 \kern-10pt \fi
+ \leaders\hbox to 20pt{\ifodd\count255 \kern13pt \else\kern3pt \fi
+ .\hss}}
+\line{\strut
+ \hbox to\parindent{\bf\hbox to 1em{\hss20}\hss}%
+ \rm More About Macros\diamondleaders\hfil\hbox to 2em{\hss175}}
-\bugonpage C289, line 7 (09/09/01)
+\bugonpage C39, lines 10 and 11 become three lines (07/04/20)
-\vskip-6pt\ninepoint\begintt
-if if pair x: x>(0,0) else: false fi: A else: B fi.
-\endtt
+\tenpoint\noindent
+that has already been designed. All you'll see is
+`|(io.mf| |The| |letter| |O| |[79])|' or possibly only `|(io.mf| |[79])|',
+followed by~`|*|'. Now the fun starts: You should type
-\bugonpage C292, line 10 from the bottom (09/09/01)
+\bugonpage C68, lines 9, 28, 35, 36, 38 (11/11/17)
-\ninepoint\noindent
-be known by saying `{\bf if\/} known $p-q$: $p=q$ {\bf else}:~{\bf false}
-{\bf fi}'; transforms could be handled\cutpar
+\ninepoint
+\halign{\indent\hbox to 160pt{\tt#\hfil}&\tt#\hfil\cr
+uniformdeviate -100&-36.1628\cr
+z slanted 1/6&(0.16667y+x,y)\cr
+(a,b)zscaled(3,4)&(-4b+3a,3b+4a)\cr
+(a,b)zscaled dir 30&(-0.5b+0.86603a,0.86603b+0.5a)\cr
+(a,b)dotprod(3,4)&4b+3a\cr
+}
+
+\bugonpage C72, lines 4--18 (07/16/20)
+
+\ninepoint\noindent
+\beginsyntax
+<numeric atom>\is<numeric variable>
+ \alt<numeric token primary>
+ \alt[(]<numeric expression>[)]
+ \alt[normaldeviate]
+ \alt[length]<string primary>
+ \alt[length]<path primary>
+ \alt[length]<pair primary>
+ \alt[angle]<pair primary>
+ \alt[xpart]<pair primary>
+ \alt[ypart]<pair primary>
+ \alt<numeric operator><numeric primary>
+<numeric token primary>\is<numeric token>[/]<numeric token>
+ \alt<numeric token not followed by %
+ `{\tt/}$\thinspace\langle$numeric token$\rangle$'\thinspace>
+<numeric primary>\is<numeric atom not followed by {[\char'133]<expression>[,]}>
+ \alt<numeric atom>[\char'133]<numeric expression>%
+ [,]<numeric expression>[\char'135]
+\endsyntax
-\bugonpage C293, line 5 from the bottom (04/25/03)
+\bugonpage C76, lines 8--16 from the bottom (11/11/17)
-\ninepoint\noindent
-given angle~$\phi$. We can consider
-the common angle~$\theta$ of $z_{1r}-z_{1l}$ and $z_{0r}-z_{0l}$ to be\cutpar
+\newdimen\longesteq
+\setbox0=\hbox{\indent$z_{12}-z_{11}=z_{14}-z_{13}$\quad}
+\longesteq=\wd0
+\tenpoint\noindent \hangindent\longesteq \hangafter0
+tom edge of the type.
+\ (With plain \MF's {\bf beginchar} each
+character has a ``bounding box'' that runs from $(0,h)$
+at the upper left and $(w,h)$ at the upper right to $(0,-d)$ and~$(w,-d)$
+at the lower left and lower right; variable $d$ represents the depth of
+the type. The values of $w$, $h$, and~$d$ might change from character to
+character, since the individual pieces of type need not have the same size
+in a computer-produced font.)
-\bugonpage C315, line 15 from the bottom (04/25/03)
+\bugonpage C80, line 14 (06/13/20)
-\ninepoint\noindent
-`b' was shipped out.) \ The second letter,~`o', is placed
-in a second little box adjacent\cutpar
+\tenpoint\indent
+\\{penpos}\<suffix>(\<unknown>,\thinspace\<known>).
-\bugonpage C325, bottom line (02/29/08)
+\bugonpage C83, line 16 (06/13/20)
-\rightline{\eightss--- CAROLUS LINN\AE US,
- {\eightssi Philosophia Botanica\/}\enspace(1751)}
+\ninepoint\indent
+|### 0.5a=-c-0.5b+1.5|
-\bugonpage C332, line 4 from the bottom (04/25/03)
+\bugonpage C83, line 19 (06/13/20)
\ninepoint\noindent
-(The proofsheet resolution will be 50 pixels per inch, because {\it cheapo\/}
-has 200 pixels per\cutpar
-
-\bugonpage C346, left column (06/18/02)
-
-\eightpoint\noindent
-\llap{*}|:|, 169, 171, 317--319.
-
-\bugonpage C346, right column (07/09/01)
+the only
+dependent variable is now $d$, which equals $0.5c+0.75b+0.75$. \ (This is\cutpar
-\eightpoint\noindent
-\llap{*}|angle|, {\it29}, {\it67}, $\underline{72}$, {\it107},
-{\it135}, 211, {\it238}.
+\bugonpage C96, line 13 from the bottom (10/31/20)
-\bugonpage C346, right column (10/04/04)
+\tenpoint\noindent
+illustrates the
+use of $u\0$, $s\0$, $\\{ht}\0$, \\{logo\_pen}, \\{leftstemloc}, $o$,
+\\{xgap}, and \\{barheight}:
-\eightpoint\noindent
-arccosine, arcsine, arctangent, {\sl see\/} |angle|.
+\bugonpage C106, lines 19--21 (07/03/20)
-\bugonpage C351, right column (02/21/08)
+\ninepoint\noindent
+pixels. \ (Some typesetting
+systems use both of these device-dependent amounts to alter their current
+position on a page, just after typesetting each character. Other systems,
+like typical |dvi| software associated with \TeX, assume that $\\{chardy}=0$
+but use \\{chardx}\cutpar
-\eightpoint\noindent
-independent variables, $\underline{81}$--$\underline{83}$, 88, 224, 226.
+\bugonpage C113, lines 5--11 from the bottom (07/20/20)
-\bugonpage C352, right column (02/29/08)
+\def\cycle{\hbox{\rm cycle}}
+\ninepoint\noindent
+\begindisplay
+$s\0:=5\\{pt}\0$; \ {\bf define\_pixels}$(s)$; \ \% side of the square\cr
+$z_1=(0,0)$; \ $z_2=(s,0)$; \ $z_3=(0,s)$; \ $z_4=(s,s)$;\cr
+{\bf for} $k=1$ {\bf upto} 4:
+ $z[k+4]=z[k]+({2\over3}s,{1\over3}s)$; \ {\bf endfor}\cr
+{\bf pickup pencircle} scaled $.4\\{pt}$; \
+{\bf draw} $z_5\dashto z_6\dashto z_8\dashto z_7\dashto \cycle$;\cr
+{\bf pickup pencircle} scaled $1.6\\{pt}$; \
+{\bf erase draw} $z_2\dashto z_4\dashto z_3$;\cr
+{\bf pickup pencircle} scaled $.4\\{pt}$; \
+{\bf draw} $z_1\dashto z_2\dashto z_4\dashto z_3\dashto \cycle$;\cr
+{\bf for} $k=1$ {\bf upto} 4:
+ {\bf draw} $z[k]\dashto z[k+4]$; \ {\bf endfor}.\cr
+\enddisplay
-\eightpoint\noindent
-Linn\'e, Carl von (= Linn\ae us, Carolus), 325.
+\bugonpage C114, line 7 (07/20/20)
-\bugonpage C355, right column (02/29/08)
+\ninepoint\indent
+{\bf for} $k=0$ {\bf upto} 4: \ $z[k]=\\{center}+(\\{radius},0)$
+ rotated$(90+{360\over5}k)$; \ {\bf endfor}
-\eightpoint\noindent
-\llap{*}|save|, $\underline{155}$--$\underline{156}$, {\it160}, 173,
- {\it178}, 180, 218,\par
-\noindent\qquad{\it236}, {\it244}, {\it296}, 299.
+\bugonpage C128, lines 13 and 14 (06/13/20)
- % Volume D
-\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
-\def\to{\mathrel{.\,.}} % double dot, used only in math mode
+\ninepoint\noindent
+changed. Plain \MF\ has a {\bf tensepath} operation
+that does this. For example, {\bf tensepath}~\\{unitsquare}~$=$
+$(0,0)\ddashto(1,0)\ddashto(1,1)\ddashto(0,1)\ddashto\cycle$.
-\bugonpage Dv, page number change (12/27/11)
+\bugonpage C136, lines 18 and 19 (07/17/20)
-\eightpoint\noindent[For consistency with Volumes A, C, and E, the
-preface now begins on page v instead of page~vii. This change was first
-made in the sixth printing.]
+\ninepoint\noindent
+only
+about 0.28 with respect to the initial and final directions; since \MF\ insists
+that tensions be at least~0.75, this anomalous path could never have arisen
+if the control\cutpar
-\bugonpage Dv {(formerly Dvii)}, bottom two lines (01/06/14)
+\bugonpage C155, line 7 (10/07/20)
-\eightpoint\noindent
-corporates all of those changes.
-I~now believe that the final bug was discovered on 03~June 2008,
-and removed in version 2.7182818.
-The finder's fee has converged to \$327.68.
+\tenpoint\indent
+\<program>\is\<statement list>\<statement>\thinspace|end|
-\bugonpage Dxiii {(formerly Dxv)}, line $-7$ (12/27/11)
+\bugonpage C160, lines 7--9 (06/25/20)
\ninepoint\noindent
-Format specs have no effect on the corresponding Pascal program, but they
-do influence\cutpar
-
-\hsize=35pc
-\parindent=1em
+might produce a transcript
+that includes the following diagnostic information:
+\begintt
+rotatedaround(EXPR0)(EXPR1)->
+ shifted-(EXPR0)rotated(EXPR1)shifted(EXPR0)
+\endtt
-\bugonpage D2, line $-17$ (01/03/14)
+\bugonpage C165, lines 5--7 from the bottom (11/11/17)
\ninepoint\noindent
-{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$%
-{\tt This\]is\]METAFONT,\]Version\]2.7182818\char'23}\quad
-$\{\,$printed when \MF\ starts$\,\}$
-
-\bugonpage D2, lines 4 and 5 from the bottom (12/23/02)
+(i.e., parameters in parentheses),
+then we name zero or one or two undelimited parameters.
+Then comes an `$=$'~sign,
+followed by the replacement text, and {\bf enddef}. The `$=$'~sign might also
+be~`$:=$'\thinspace; both mean the same thing.
-\tenpoint\noindent
-types; there are no `{\bf var}' parameters, except in the case of files
-or in the system-dependent \\{paint\_row} procedure;
-there are no tag fields on variant records; there are no \\{real} variables;
-no procedures are declared local to other procedures.)
-
-\bugonpage D16, new paragraph to follow line 26 (06/25/04)
-
-The first line is special also because it may be read before \MF\ has
-input a base file. In such cases, normal error messages cannot yet
-be given. The following code uses concepts that will be explained later.
-(If the Pascal compiler does not support non-local {\bf goto}, the
-statement `{\bf goto} \\{final\_end}' should be replaced by something that
-quietly terminates the program.)
-
-\bugonpage D22, line 26 (09/11/07)
-
-\noindent
-ASCII codes $[\Oct{60}\to\Oct{71},%
-\Oct{136},\Oct{141}\to\Oct{146}]$
-must be printable.
+\bugonpage C171, lines 18--20 (08/16/20)
-\bugonpage D31, line 29 (06/25/04)
+\ninepoint\indent
+Chapter~14's syntax rules for
+\<path primary>, via \<pair primary>.
+A pair expression is not considered to be
+of type {\bf path} unless the path interpretation is the only~possibility.
-\noindent
-This is the only nontrivial {\bf goto} statement in the
-whole program. It is used when there is no\cutpar
+\bugonpage C176, line 7 from the bottom (07/09/20)
-\bugonpage D42, replacement for lines 8--13 (12/23/02)
+\ninepoint\indent
+\quad {\bf if} |@#|$(\\{x\_})\colon\ \\{tx\_} \ \hbox{\bf else}\colon\
+ \\{fx\_}\ \hbox{\bf fi}$
+ :=\ \\{x\_}\thinspace; {\bf endfor}
-\tenpoint\noindent\quad
-Notice that if 64-bit integer arithmetic were available,
-we could simply compute $(2^{29}*p+\nobreak q)\allowbreak\,
-\hbox{\bf div}\,(2*q)$.
-But when we are restricted to Pascal's 32-bit arithmetic we
-must either resort to multiple-precision maneuvering
-or use a simple but slow iteration. The multiple-precision technique
-would be about three times faster than the code adopted here, but it
-would be comparatively long and tricky, involving about sixteen
-additional multiplications and divisions.
-
-\bugonpage D43, line 20 (12/23/02)
+\bugonpage C180, line 3 from the bottom (06/24/20)
-\tenpoint\noindent
-language or 64-bit substitute is advisable.
+\ninepoint\indent
+`$=$' or `$:=$' following {\bf let}.
-\bugonpage D44, lines 24--26 (12/23/02)
+\bugonpage C187, line11 from the bottom (07/12/20)
-\tenpoint\noindent\quad
-Once again it is a good idea to use 64-bit arithmetic if
-possible; otherwise \\{take\_scaled} will use more than 2\% of the running time
-when the Computer Modern fonts are being generated.
+\ninepoint\indent\qquad
+\alt|substring|\thinspace\<pair expression>\thinspace|of|\thinspace
+ \<string primary>
-\bugonpage D58, line 16 from the bottom (06/25/04)
+\bugonpage C189, line 14 (06/13/20)
\ninepoint\noindent
-\hskip5em{\bf if\/} $\\{j\_random}=0$ {\bf then} \\{new\_randoms}
- {\bf else} \\{decr}(\\{j\_random})
+`|! |' and followed
+by~`|.|', followed by lines of context as in \MF's normal error\cutpar
-\bugonpage D63, line 21 (06/25/04)
+\bugonpage C200, line 12 from the bottom (08/27/20)
-Locations of \\{mem} between \\{mem\_min} and \\{mem\_top} may be dumped as
-part
-of preloaded base\cutpar
+\ninepoint\indent
+$y_1=y_2=\\{good.y}(.5[-d,h]+1.1\\{pt})$;
+
+\bugonpage C202, line 17 from the bottom (06/13/20)
+
+\ninepoint\noindent
+command,
+and it works only when the \\{penpos} angle is~0. If the \\{penpos} command
+is\cutpar
+
+\bugonpage C210, bottom eight lines, and top ten lines of page C211 (07/16/20)
+
+\ninepoint\noindent
+\beginsyntax
+<numeric atom>\is<numeric variable>\alt<numeric argument>
+ \alt<numeric token primary>
+ \alt<internal quantity>
+ \alt[normaldeviate]
+ \alt[(]<numeric expression>[)]
+ \alt[begingroup]<statement list><numeric expression>[endgroup]
+ \alt[length]<numeric primary>\alt[length]<pair primary>
+ \alt[length]<path primary>\alt[length]<string primary>
+ \alt[ASCII]<string primary>\alt[oct]<string primary>\alt[hex]<string primary>
+ \alt<pair part><pair primary>\alt<transform part><transform primary>
+ \alt[angle]<pair primary>
+ \alt[turningnumber]<path primary>\alt[totalweight]<picture primary>
+ \alt<numeric operator><numeric primary>
+ \alt[directiontime]<pair expression>[of]<path primary>
+<numeric token primary>\is<numeric token>[/]<numeric token>
+ \alt<numeric token not followed by %
+ `{\tt/}$\thinspace\langle$numeric token$\rangle$'\thinspace>
+<numeric primary>\is<numeric atom not followed by {[\char'133]<expression>[,]}>
+ \alt<numeric atom>[\char'133]<numeric expression>%
+ [,]<numeric expression>[\char'135]
+\endsyntax
-\bugonpage D75, line 13 (06/25/04)
+\bugonpage C214, line 6 becomes two lines (07/17/20)
\ninepoint\noindent
-\quad{\bf define} $\\{fi\_or\_else}=2$\quad$\{\,$delimiters for conditionals
- {\bf elseif\/}, {\bf else}, {\bf fi})$\,\}$
+\beginsyntax
+<future pen primary>\is<future pen argument>
+ \alt[pencircle]
+\endsyntax
-\bugonpage D76, line 5 (06/25/04)
+\bugonpage C214, line 6 from the bottom (07/12/20)
\ninepoint\noindent
-\quad{\bf define} $\\{type\_name}=30$\quad$\{\,$declare a type
- ({\bf numeric}, {\bf pair}, etc.)$\,\}$
+\beginsyntax
+ \alt[substring]<pair expression>[of]<string primary>
+\endsyntax
-\bugonpage D77, line 16 (06/25/04)
+\bugonpage C217, lines 20--25 (10/07/20)
\ninepoint\noindent
-\quad{\bf define} $\\{lig\_kern\_token}=76$\quad$\{\,$the operators
- `{\bf kern}' and `\.{=:}' and `\.{=:\char'174}', etc.$\,\}$
-
-\bugonpage D98, bottom two lines (06/25/04)
-
-\noindent
-They consist of zero or more parameter tokens followed
-by a code for the type of macro.
-
-\bugonpage D101, line 3 (06/25/04)
+\beginsyntax
+<program>\is<statement list><non-title statement>[end]
+ \alt<statement list><non-title statement>[dump]
+<statement list>\is<empty>\alt<statement>[;]<statement list>
+<statement>\is<empty>\alt<title>
+ \alt<equation>\alt<assignment>\alt<declaration>
+ \alt<definition>\alt<compound>\alt<command>
+\endsyntax
-\noindent
-\MF\ user assigns a type to a variable like \.{x20a.b} by saying, for
-example, `\.{boolean} \.{x[]a.b}'.
+\bugonpage C219, line 25 (05/25/20)
-\bugonpage D102, lines 10--16 (06/25/04)
+\ninepoint\noindent
+to see which of its subscripts and suffixes have occurred.
+For example, if you're\cutpar
-\noindent
-variable that is relevant
-when no attributes are attached to the parent. The \\{attr\_head} node
-has the fields of either
-a value node, a subscript node, or an attribute node, depending on what
-the parent would be if it were not structured; but the subscript and
-attribute fields are ignored, so it effectively contains only the data of
-a value node. The \\{link} field in this special node points to an attribute
-node whose \\{attr\_loc} field is zero; the latter node represents a collective
-subscript `\.{[]}' attached to the parent, and its \\{link} field points to
-the first non-special attribute node (or to \\{end\_attr} if there are none).
-
-\bugonpage D102, lines 7 and 8 from the bottom (06/25/04)
+\bugonpage C224, lines 7--9 from the bottom (12/21/18)
-\noindent
-$\\{subscr\_head}(\\{q1})=\\{qq1}$;
-\\{qq} is a three-word ``attribute-as-value'' node with
-$\\{type}(\\{qq})=\break\\{numeric\_type}$
-(assuming that \.{x5} is numeric, because \\{qq} represents `\.{x[]}'
-with no further\break
- attributes), $\\{name\_type}(\\{qq})=\\{structured\_root}$,
-$\\{attr\_loc}(\\{qq})=0$, $\\{parent}(\\{qq})=p$,\cutpar
+\tenpoint\indent
+|y4r=-0.9848thinn+259.00049|\par
+|x4r=-0.08682thinn+144|\par
+|y4=-0.4924thinn+259.00049|
-\bugonpage D103, line 6 (06/25/04)
+\bugonpage C226, lines 9 and 10 (11/01/20)
-\noindent
-The value of variable \.{x20b}
-appears in node~$\\{qqq2}=\\{link}(\\{qqq1})$, as you can well imagine.
-Similarly, the value of `\.{x.a}' appears in node $\\{q2}=\\{link}(\\{q1})$,
-where $\\{attr\_loc}(\\{q2})=h(a)$ and $\\{parent}(\\{q2})=p$.
+\ninepoint\noindent
+This means that the preloaded base you have specified cannot be used,
+because it is corrupted or was prepared for a different version of
+\MF\kern-.03em.
-\bugonpage D114, line 12 (06/25/04)
+\bugonpage C228, line 27 (06/19/20)
-\noindent
-\qquad Such save stack entries are generated by \&{save} commands.
+\ninepoint\indent
+|l.94 endfor|
-\bugonpage D120, line 3 (06/25/04)
+\bugonpage C228, line 4 from the bottom (07/12/20)
\ninepoint\noindent
-[delete the line `The code here \dots', since the
- code {\it doesn't\/} use the stated fact]
+might want to review now.) \
+You probably also have a |proof| mode diagram:
-\bugonpage D126, line 10 (06/25/04)
+\bugonpage C234, line 4 of answer 4.6 (07/20/20)
-\tenpoint\noindent
-If $\theta_0$ is supposed to have a given value $E_0$, we simply
-define $C_0=1$, $D_0=0$, and $R_0=E_0$.\cutpar
+\ninepoint\indent
+{\bf for} $k=1$ {\bf upto} 6: $z[k]'=.2[z[k],z_0]$; {\bf endfor}
-\bugonpage D138, line 11 from the bottom (10/26/06)
+\bugonpage C241, line 2 (11/11/17)
-\tenpoint\noindent
-for the bisected interval are $z'_0=z_0$
-and $z''_0=z_0+(Z'_1+Z'_2+\cdots+Z'_n)/2^{l+1}$.
+\ninepoint\indent
+|\mode=cheapo; input cheaplogo10|
-\bugonpage D142, line 3 (06/25/04)
+\bugonpage C242, line 11 of answer 13.7 (07/20/20)
-\tenpoint\noindent
-out to hold if and only if $x_0\le x_1$ and $x_2\le x_3$, and either
-$x_1\le x_2$ or $(x_1-x_2)^2\le(x_1-x_0)(x_3-x_2)$.\cutpar
+\ninepoint\indent
+{\bf for} $k=1$ {\bf upto} 4:
+ $z[k+4]=z[k]+({2\over3}s,{1\over3}s)$; \ {\bf endfor}
-\bugonpage D142, line 8 (10/26/06)
+\bugonpage C243, lines 7 and 8 (11/08/15)
-\tenpoint\noindent\quad
-For example, if we start with $(x_1-x_0,x_2-x_1,x_3-x_2)=
-(X_1,X_2,X_3)=(7,-16,39)$, the\cutpar
+\ninepoint\indent
+\indent {\bf draw} subpath$(k,k+1)$ of \\{star}; {\bf cullit};\par\indent
+\indent {\bf undraw} subpath$(k+2,k+3)$ of \\{star} {\bf withpen}
+ \\{eraser}; {\bf cullit};
-\bugonpage D142, lines 21--23 (06/25/04)
+\bugonpage C243, line 3 of answer 13.11 (06/17/20)
-\tenpoint\noindent
-monotonic
-cubic, then $B(x_0,x_1,x_2,x_3;{1\over2})$ is always between
-$.06[x_0,x_3]$ and $.94[x_0,x_3]$; and it is impossible for $\bar x$
-to be within~$\epsilon$ of such a number. Contradiction!
-(The constant .06 is actually $(2-\sqrt3\,)/4$; the worst case
-occurs for polynomials like $B(0,2-\sqrt3,1-\sqrt3,3;t)$.)
+\ninepoint\indent
+{\bf def overdraw expr} $c$ = {\bf begingroup save} \\{region};
-\bugonpage D177, line 18 (06/25/04)
+\bugonpage C243, lines 12--16 of answer 13.11 (05/24/20)
\ninepoint\noindent
-$\\{cur\_x},\\{cur\_y}$: \\{scaled};\quad$\{\,$outputs of \\{skew},
- \\{unskew}, and a few other routines$\,\}$
+\begindisplay
+{\bf beginchar}$(\hbox{\tt"M"},1.25\\{in}\0,.5\\{in}\0,0)$; \
+ {\bf pickup pencircle} scaled .4\\{pt};\cr
+$z_1=(20,-13)$; \ $z_2=(30,-6)$; \ $z_3=(20,1)$; \ $z_4=(4,-7)$;\cr
+\indent $z_5=(-12,-13)$; \ $z_6=(-24,-4)$; \ $z_7=(-15,6)$;\cr
+{\bf path} $M$; $M=(\\{origin}\dts
+ z_1\dts z_2\dts z_3\dts z_4\dts z_5\dts z_6\dts z_7\dts$\cr
+\indent$\\{origin}\dts -z_7\dts -z_6\dts -z_5\dts -z_4\dts
+ -z_3\dts -z_2\dts -z_1\dts\cycle)$\cr
+\enddisplay
-\bugonpage D182, lines 27--29 (06/25/04)
+\bugonpage C246, line 2 of answer 14.13 (08/16/20)
-\noindent
-{\bf399.\quad}If
- the segment numbers on the cycle are $t_1$, $t_2$, \dots, $t_m$,
-and if $m\le\\{max\_quarterword}$,
-we have $t_{k-1}\le t_k$ except for at most one value of~$k$. If there are
-no exceptions, $f$ will point to $t_1$; otherwise it will point to the
-exceptional~$t_k$.
+\ninepoint\noindent
+path $z_0\dashto z_1$ is equivalent to `$z_0\dts
+\controls1/3[z_0,z_1]\and2/3[z_0,z_1]\dts z_1$', and the\cutpar
-\bugonpage D184, line 18 (12/21/02)
+\bugonpage C247, line 1 of answer 15.5 (06/13/20)
\ninepoint\noindent
-\qquad\\{chopped}: \\{integer};\quad
-$\{\,$positive if data truncated, negative if data dangerously large$\,\}$
+\quad{\bf 15.5.}\enspace
+{\bf beginchar}$(126,25u\0,\\{h\_height}\0+\\{border}\0,0)$; \
+|"Dangerous left bend"|;
-\bugonpage D184, line 25 (12/21/02)
+\bugonpage C247, replacement for answer 15.7 (07/21/20)
\ninepoint\noindent
-\quad{\bf if\/} $(\\{internal}[\\{autorounding}]>0)\land(\\{chopped}=0)$
- {\bf then} \\{xy\_round};
+\quad{\bf 15.7.}\enspace
+Replace lines 10 and 11 by
+\begindisplay
+{\bf pickup pencircle} scaled 3/4\\{pt} yscaled 1/3 rotated $-60$;\cr
+{\bf draw} ($z_1\ldots p$) transformed $t$;\cr
+{\bf addto} \\{currentpicture} {\bf also} \\{currentpicture}\cr
+\qquad rotatedaround$\bigl((.5w,.5h)$ yscaled \\{aspect\_ratio}$,-180\bigr)$;\cr
+\enddisplay
-\bugonpage D184, line 27 (12/21/02)
+\bugonpage C249, line 1 of answer 18.9 (08/02/20)
\ninepoint\noindent
-\quad{\bf if\/} $(\\{internal}[\\{autorounding}]>\\{unity})\land
- (\\{chopped}=0)$ {\bf then} \\{diag\_round};
+\quad{\bf 18.9.}\enspace
+{\bf beginchar}\kern1pt(|"H"|$,13u\0,"ht"\0,0)$; \
+ {\bf pickup} \\{broad\_pen};
-\bugonpage D184, line 32 (12/21/02)
+\bugonpage C249, line 11 of answer 18.9 (08/02/20)
-\ninepoint\noindent
-\qquad{\bf if\/} $(\\{internal}[\\{autorounding}]\le0)\lor(\\{chopped}\ne0)$
- {\bf then} \\{print\_spec}({\tt\char`",\]after\]subdivision\char`"})
+\ninepoint\indent
+{\bf filldraw} $\\{bot\_serif\_edge}_4$
-\bugonpage D185, lines 15--19 (12/21/02)
+\bugonpage C250, line 4 of answer 19.1 (04/19/20)
\ninepoint\noindent
-\quad{\bf define} \\{procrustes}({\tt\char`#})${}\equiv{}${\bf if\/}
- $\\{abs}(\.\#)\ge\\{dmax}$ {\bf then}\par\noindent
-\qquad\qquad\quad{\bf if\/} $\\{abs}(\.\#)>\\{max\_allowed}$ {\bf then}\par
-\noindent\qquad\qquad\qquad{\bf begin} $\\{chopped}\gets1$;\par\noindent
-\qquad\qquad\qquad{\bf if\/} $\.\#>0$ {\bf then} $\.\#\gets\\{max\_allowed}$
- {\bf else} $\.\#\gets-\\{max\_allowed}$;\par\noindent
-\qquad\qquad\qquad{\bf end}\par\noindent
-\qquad\qquad\quad{\bf else if\/} $\\{chopped}=0$ {\bf then}
- $\\{chopped}\gets-1$
+because it saves a wee bit of time and because
+`;'\ often belongs before {\bf endfor}.
-\bugonpage D185, old line 22 (12/21/02)
+\bugonpage C250, replacement for answer 19.3 (07/12/20)
\ninepoint\noindent
-\quad$p\gets\\{cur\_spec}$; $k\gets1$; $\\{chopped}\gets0$;
- $\\{dmax}\gets\\{half}(\\{max\_allowed})$;
+\quad{\bf 19.3.}\enspace
+Yes, if and only if $n-{1\over2}$ is an even integer.
+\ (Because ambiguous values are rounded upwards.)
-\bugonpage D185, old line 28 (12/21/02)
+\bugonpage C251, replacement for answer 22.1 (07/12/20)
\ninepoint\noindent
-\quad{\bf if\/} $\\{chopped}>0$ {\bf then}
-
-\bugonpage D196, lines 3--8 (06/25/04)
+\quad{\bf 22.1}\enspace
+(a) If and only if $n$ is an integer between 0 and 255.
+(b) If and only if $s$ is a string of length~1.
-The first job is to fix things so that $x(t)$ plus the horizontal
-pen offset is an integer multiple of the
-current ``granularity'' when the derivative $x'(t)$ crosses through zero.
-The given cyclic path contains regions where $x'(t)\ge0$ and regions
-where $x'(t)\le0$. The \\{quadrant\_subdivide} routine is called into action
-before any of the path coordinates have been skewed, but some of them
-may have been negated. In regions where $x'(t)\ge0$ we have $\\{right\_type}=%
-\\{first\_octant}$ or $\\{right\_type}=\\{eighth\_octant}$; in regions where
-$x'(t)\le0$,
-we have $\\{right\_type}=\\{fifth\_octant}$ or $\\{right\_type}=\\{fourth%
-\_octant}$.
+\bugonpage C254, lines 10--13 from the bottom become five lines (06/26/20)
-\bugonpage D196, lines 15 and 16 (06/25/04)
+\ninepoint\noindent
+\begintt
+? H
+I found no right delimiter to match a left one. So I've
+put one in, behind the scenes; this may fix the problem.
+|null
+?
+\endtt
-\noindent
-current pen might be unsymmetric in such a way that $x$ coordinates
-should round dif-\break ferently in different parts of the curve.
-These considerations imply that round$(x_0)$\cutpar
+\bugonpage C260, the ``line'' after line 3 (06/14/20)
-\bugonpage D200, line 4 (06/25/04)
+\def\bb{$\,\left\{\vcenter\bgroup\halign\bgroup\hfil##\hfil\cr}
+\def\ee{\crcr\egroup\egroup\right\}\,$}
+\tenpoint\noindent
+\bb|font_size|\cr|font_slant|\cr|font_normal_space|\cr
+ |font_normal_stretch|\cr|font_normal_shrink|\cr|font_x_height|\cr
+ |font_quad|\cr|font_extra_space|\ee
+\bb|=|\cr\noalign{\kern-2pt}|:=|\cr\noalign{\kern-2pt}\<empty>\ee
+\<numeric$\0$>; \
+\bb|ligtable|\<ligs/kerns>\cr|charlist|\<codes>\cr|extensible|\<codes>\cr
+ |fontdimen|\<info>\cr|headerbyte|\<info>\ee;\kern-10pt
-\noindent
-and that there are similar ways to address other important offsets.\par
-\smallskip\ninepoint
-[Also delete the definitions of \\{north\_south\_edge}, etc.,
-on lines 11--15; those definitions are never used.]
+\bugonpage C261, lines 16 and 17 from the bottom (06/14/20)
-\bugonpage D212, line 18 (06/25/04)
+\tenpoint\noindent
+\bb|proofrule|\cr|screenrule|\ee|(|\<pair>|,|\<pair>|)|; \
+|makegrid(|\<numerics>|)(|\<numerics>|)|;\smallskip\noindent
+|proofrulethickness| \<numeric$\0$>; \ |proofoffset| \<pair>.
-\noindent
-at $(x_0,y_0)$ and ends at $(x_1,y_1)$, it's possible to
-prove (by induction on the length of the truncated\cutpar
+\bugonpage C266, lines 19 and 20 (07/04/20)
-\bugonpage D216, bottom line (06/25/04)
+\ninepoint\noindent
+You can say either `|incr|~|x|' or `|incr|~|(x)|', within
+an expression; but neither of them are valid statements by themselves.
-\noindent
-we list it twice (with coordinates
-interchanged, so as to make the second octant look like\cutpar
+\bugonpage C269, line 11 (01/10/21)
-\bugonpage D217, lines 2--10 (06/25/04)
+\ninepoint\indent
+|\smode="specmode"; mag=|\<magnification>|; input |\<font file name>
-\noindent
-$$\tabskip\centering
-\halign to\hsize{$\hfil#\;\mapsto\;{}$\tabskip=0pt&
-$#\hfil$&\quad in the #\hfil\tabskip\centering\cr
-w_2\;w_2\;w_2&(-5,6)\;(-5,6)\;(-5,6)\cr
-\noalign{\vskip\belowdisplayskip
-\vbox{\noindent\strut as the list of transformed and skewed offsets to use
-when curves that travel in the second octant. Similarly, we will have\strut}
-\vskip\abovedisplayskip}
-w_2\;w_2\;w_2&(7,-6)\;(7,-6)\;(7,-6)&third;\cr
-w_2\;w_2\;w_3\;w_3&(-7,1)\;(-7,1)\;(-3,2)\;(-3,2)&fourth;\cr
-w_3\;w_3\;w_3&(3,-2)\;(3,-2)\;(3,-2)&fifth;\cr
-w_3\;w_3\;w_0\;w_0&(-3,1)\;(-3,1)\;(1,0)\;(1,0)&sixth;\cr
-w_0\;w_0\;w_0&(1,0)\;(1,0)\;(1,0)&seventh;\cr
-w_0\;w_0\;w_0&(-1,1)\;(-1,1)\;(-1,1)&eighth.\cr}$$
-
-\bugonpage D218, lines 2 and 3 (06/25/04)
+\bugonpage C277, lines 15--19 (03/06/17)
+\ninepoint\noindent
+|def openit = openwindow currentwindow from origen % and please correct|\par
\noindent
-count followed by pointers to the eight offset lists, followed
-by an indication of the pen's range of values.
-
-\bugonpage D218, line 15 (06/25/04)
-
-The \\{link} field of a pen header node should be \\{null} if and only if
-the pen is a single point.
-
-\bugonpage D227, line 11 (06/25/04)
-
+| to (screen_rows,screen_cols) at (-50,300) enddef; % "(-50,300)" too|\par
\noindent
-\\{endpoint}. The cubics all have
-monotone-nondecreasing $x(t)$ and $y(t)$.
-
-\bugonpage D228, lines 4--7 from the bottom (06/25/04)
-
+|def showit_ = display currentpicture inwindow currentwindow enddef;|\par
\noindent
-In odd-numbered octants, the numerator and denominator of this fraction
-will be nonnegative; in even-numbered octants they will both be nonpositive.
-Furthermore we always have $0=s_0\le s_1\le\cdots\le s_n=\infty$. The goal of
-\\{offset\_prep} is to find an offset index~$k$ to associate with
-each cubic, such that the slope $s(t)$ of the cubic satisfies
+|def showit = openit; let showit=showit_; showit enddef; % first time only|\par
+\kern3pt\hrule\medskip\noindent
+Plain \MF\ has several other terse commands
+similar to `{\bf openit}' and `{\bf showit}':
-\bugonpage D231, line 7 (06/25/04)
+\bugonpage C279, line 1 (11/11/17)
\ninepoint\noindent
-\quad{\bf if\/} $\\{abs}(\\{du})\ge\\{abs}(\\{dv})$ {\bf then}\quad $\{\,
- s_{k-1}\le1$ or $s_k\le1\,\}$
-
-\bugonpage D231, line 16 (06/25/04)
-
-\noindent
-and return towards $s_{k-1}$ or $s_k$,
-respectively, yielding another solution of $(*)$.
+| blacker:=.1; % make pens a teeny bit blacker|
-\bugonpage D246, line 4 from the bottom (06/25/04)
+\bugonpage C289, line 20 (10/07/20)
-\noindent
-dinate fields. Hence, for example,
-the point $\bigl($$\\{x\_coord}(p)-\\{left\_v}(q),\\{y\_coord}(p)+%
-\\{right\_u}(p)$$\bigr)$
-also\cutpar
+\ninepoint\indent
+|if {{(pair x) cand x>(0,0)}}: A else: B fi.|
-\bugonpage D248, lines 14 and 15 (01/06/14)
+\bugonpage C291, line 18 (07/24/20)
-\noindent
-the $x$-axis at the point
-$\bigl((a^2-b^2)\sin\theta\cos\theta/\rho\bigr)+i\rho$, where
-\vadjust{\vskip1pt}%
-$\rho=\sqrt{(a\sin\theta)^2+(b\cos\theta)^2}$. It reaches
-furthest to the right of~the $y$-axis at the point
-$\sigma+i(a^2-b^2)\sin\theta\cos\theta/\sigma$, where
-$\sigma=$\cutpar
+\ninepoint\indent
+| save u_; setu_ u; let switch_ = if; if false: enddef.|
-\bugonpage D248, line 24 (06/25/04)
+\bugonpage C292, line 10 from the bottom (10/23/20)
\ninepoint\noindent
-\qquad{\bf else begin} $\\{beta}\gets\\{minor\_axis}$;
- $\\{gamma}\gets\\{major\_axis}$;
- $\\{theta}\gets0$;
-
-\bugonpage D251, line 1 (01/06/14)
-
-\noindent
-{\bf536.\quad}Only the coordinates need to be copied, not the class numbers
-and other stuff. At this point either $\\{link}(p)$ or
-$\\{link}(\\{link}(p))$ is \\{null}.
+be known by saying `{\bf if} known $(p-q)$: $p=q$ {\bf else}:~{\bf false fi}';
+transforms could be handled\cutpar
-\bugonpage D251, line 10 (01/06/14)
+\bugonpage C293, lines 13 and 14 from the bottom (10/27/20)
\ninepoint\noindent
-\\{done1}: {\bf if\/} $(\\{link}(p)\ne\\{null})$ {\bf then}
-$\\{free\_node}(\\{link}(p),\\{knot\_node\_size})$;\hfil\break
-\null\quad$\\{link}(p)\gets s$;
-$\\{beta}\gets-\\{y\_coord}(h)$;
-
-\bugonpage D256, line 2 from the bottom (06/25/04)
-
-\noindent
-we have $2^lu_{\min}=2^lu_0+U_{\min}$, etc.; the condition for overlap
-reduces to
+$f(-1)$ is false! When $c\rightarrow0$, the quantity $a^3+b^3$
+approaches $-\infty$ when $c$~is positive, $+\infty$ when $c$~is
+negative. An attempt to `\\{solve} $f(1,-1)$' will divide by zero and
+come\cutpar
-\bugonpage D261, line 5 (06/25/04)
+\bugonpage C295, line 2 (07/04/20)
\ninepoint\noindent
-\\{tol}: \\{integer};\quad$\{\,$bound on the uncertainty in the overlap test$\,\}$
+`interpolate $(1,1)\dts(3,2)\dts(15,4)$ of~7' the approximate value 3.37.
-\bugonpage D262, lines 26 and 27 (06/25/04)
+\bugonpage C299, bottom four lines of code become five (08/06/20)
\ninepoint\noindent
-\qquad\quad$\\{uv}\gets\\{uv}+\\{int\_packets}$;\quad$\{\,$switch
- from \\{l\_packets} to \\{r\_packets}$\,\}$\par\noindent
-\qquad\quad$\\{decr}(\\{cur\_tt})$;
- $\\{xy}\gets\\{xy}-\\{int\_packets}$;\quad$\{\,$switch
- from \\{r\_packets} to \\{l\_packets}$\,\}$
+\begintt
+primarydef t Bernshtein nn = begingroup save r; r =
+ begingroup for n=nn downto 2:
+ for k=1 upto n-1: u_[[[k]]]:=t[[[u_[[[k]]],u_[[[k+1]]] ]]];
+ endfor endfor u_[[[1]]] endgroup; numeric u_[[[]]];
+ r endgroup enddef;
+\endtt
-\bugonpage D262, line 11 from the bottom (06/25/04)
+\bugonpage C299, line 5 after the code becomes two lines (08/06/20)
\ninepoint\noindent
-\qquad$\\{xy}\gets\\{xy}+\\{int\_packets}$;\quad$\{\,$switch
- from \\{l\_packets} to \\{r\_packets}$\,\}$
+brackets are nested inside of brackets.
+However, the auxiliary variables `|u_[[[|$k$|]]]|' must not remain
+independent at the end.
-\bugonpage D274, line 15 from the bottom (06/25/04)
+\bugonpage C305, lines 14--18 (07/08/20)
\ninepoint\noindent
-\qquad\qquad{\bf begin if\/} $\\{serial\_no}>\\{el\_gordo}-\\{s\_scale}$
- {\bf then}\par\noindent
-\qquad\qquad\quad$\\{overflow}(\.{"independent\]variables"},
- \\{serial\_no}\mathbin{\hbox{\bf div}}\\{s\_scale})$;\par\noindent
-\qquad\qquad$\\{type}(\#)\gets\\{independent}$;
- $\\{serial\_no}\gets\\{serial\_no}+\\{s\_scale}$;
- $\\{value}(\#)\gets\\{serial\_no}$;
-
-\bugonpage D309, line 21 (06/25/04)
-
-\noindent
-{\bf670.\quad}We go to \\{restart} instead of to \\{switch},
-because we might enter \\{token\_state} after the error\cutpar
-
-\bugonpage D314, line 6 from the bottom (06/25/04)
-
+|width_adj#:=0pt#; % width adjustment for certain characters|\par
\noindent
-\\{macro\_def} or \\{iteration}).
-
-\bugonpage D330, line 1 (06/25/04)
-
+|serif_fit#:=0pt#; % extra sidebar near lowercase serifs|
+\vskip-3pt\noindent\qquad\vdots\par\noindent
+|low_asterisk:=false; % should the asterisk be centered at the axis?|\par
\noindent
-{\bf728.\quad}A {\bf suffix} or {\bf text} parameter will have been scanned as
-a token list pointed to by \\{cur\_exp},\cutpar
-
-\bugonpage D354, lines 15 and 16 from the bottom (06/25/04)
-
-\noindent\hangindent 3em
-$\\{cur\_type}=\\{unknown\_boolean}$ means that \\{cur\_exp} points to a
-capsule node that is in
-a ring of equivalent booleans whose value has not yet been defined.
+|math_fitting:=false; % should math-mode spacing be used?|
-\bugonpage D354, lines 11 and 12 from the bottom (06/25/04)
+\bugonpage C317, line 21 becomes two lines (11/11/17)
-\noindent\hangindent 3em
-$\\{cur\_type}=\\{unknown\_string}$ means that \\{cur\_exp} points to a
-capsule node that is in
-a ring of equivalent strings whose value has not yet been defined.
-
-\bugonpage D354, lines 7 and 8 from the bottom (06/25/04)
-
-\noindent\hangindent 3em
-$\\{cur\_type}=\\{unknown\_pen}$ means that \\{cur\_exp} points to a
-capsule node that is in
-a ring of equivalent pens whose value has not yet been defined.
+\ninepoint\noindent
+\beginsyntax
+<label>\is<code label>\alt<code>[::]\alt[\\\\:]
+<code label>\is\<code>[:]
+\endsyntax
-\bugonpage D355, lines 1 and 2 (06/25/04)
+\bugonpage C318, lines 10--16 from the bottom (11/11/17)
-\noindent\hangindent 3em
-$\\{cur\_type}=\\{unknown\_path}$ means that \\{cur\_exp} points to a
-capsule node that is in
-a ring of equivalent paths whose value has not yet been defined.
+\ninepoint\noindent
+\beginsyntax
+ \alt<code label><labeled code>
+<extensible command>\is[extensible]<code label><four codes>
+<four codes>\is<code>[,]<code>[,]<code>[,]<code>
+\endsyntax
+Notice that a \<code label> can appear in a {\bf ligtable}, {\bf charlist}, or
+{\bf extensible} command.
+ These appearances are mutually exclusive: No code may be
+used more than once as a label. Thus, for example, a character with a
+ligature/kerning program cannot also be {\bf extensible}, nor can it be
+in a {\bf charlist} (except as the final item).
-\bugonpage D355, lines 5 and 6 (06/25/04)
+\bugonpage C333, line 29 (10/25/19)
-\noindent\hangindent 3em
-$\\{cur\_type}=\\{unknown\_picture}$ means that \\{cur\_exp} points to a
-capsule node that is in
-a ring of equivalent pictures whose value has not yet been defined.
+\ninepoint\noindent
+| "if charcode>0:currentpicture:=currentpicture scaled mg;fi;"|
-\bugonpage D355, lines 21 and 22 (06/25/04)
+\bugonpage C333, bottom two lines become one (11/11/17)
-\noindent
-$\\{cur\_type}=\\{token\_list}$ means that \\{cur\_exp} points to a linked list
-of tokens.
+\ninepoint\noindent
+| if unknown scale: scale := max(1,round(pixels_per_inch/300)); fi|
-\bugonpage D356, lines 2--3 (06/25/04)
+\bugonpage C339, line 3 (05/21/20)
-\noindent
-nodes have $\\{name\_type}=\\{capsule}$,
-and their \\{type} field is one of the possibilities for \\{cur\_type}
-listed above.
-Also $\\{link}\le\\{void}$ in capsules that aren't part of a token list.
+\ninepoint\noindent
+ing `\char'31', `\char'32',
+`\char'33', and~`\char'34') and the uppercase letters (including
+`\char'35', `\char'36', and~`\char'37') are\cutpar
-\bugonpage D368, line 13 (06/25/04)
+\bugonpage C341, line 14 from the bottom (11/11/17)
\ninepoint\noindent
-\qquad\\{my\_var\_flag}: $0\to\\{max\_command\_code}$;\quad$\{\,$initial
- value of \\{var\_flag}$\,\}$
+prints the |\table| and the |\text|; ^|\bigtest| gives
+you the works, plus a mysterious word\cutpar
-\bugonpage D378, line 9 from the bottom (06/25/04)
+\bugonpage C345 and following, selected amendments to the index (01/20/21)
-\ninepoint\noindent
-\qquad\quad{\bf begin} $\\{cur\_type}\gets\\{known}$;
- $\\{cur\_exp}\gets0$;
- $\\{free\_node}(q,\\{dep\_node\_size})$;
+\eightpoint
+*|,| (comma), 57, 72, 73, 129, 155, 165--167, 171, 211--213, 218, 317, 318.\par
+`A', 10--11, 163, 164, 248, 302--303.\par
+\<addto command>, 118, $\underline{220}$.\par
+bell-shaped distribution, $\underline{183}$, 251.\par
+|black|, 270, 332--333.\par
+\<code> and \<code label>, $\underline{317}$.\par
+concatenation, of paths, {\it70}--{\it71}, {\it123}, 127--129, $\underline{130}$, 137, {\it245}, {\it266}.\par
+\quad of strings, {\it69}, 73, 84--85, $\underline{187}$, {\it278}, {\it286}, {\it312}.\par
+*|directiontime|, {\it135}, $\underline{\it136}$, 211, 245, 265, {\it298}.\par
+distance, 76, 84, {\sl see also\/} |length|.\par
+|dotprod|, {\it68}--{\it69}, 178, {\it238}, 265.\par
+efficiency, 39, 99, 116, 141, 144, 147, 228, 230, 234, 244, 264, 265, 277, 291, 297, 298.\par
+empty option in {\bf for\/} list, 171, $\underline{172}$, {\it299}.\par
+forbidden tokens, 173, $\underline{218}$--$\underline{219}$, 286.\par
+*|from|, $\underline{191}$, 220, {\it252}, {\it277}, {\it312}.\par
+Giotto di Bondone, 139.\par
+independent variables, $\underline{81}$--$\underline{83}$, 88, 224, 226, 299.\par
+|\init|, $\underline{337}$, 342.\par
+internal quantities, 54--55, 88, 218, 262, 265--266.\par
+*|inwindow|, $\underline{191}$, 220, {\it277}.\par
+\<keep or drop>, $\underline{118}$, 220.\par
+|labels|, {\it107}, $\underline{274}$, 327--328.\par
+*|length|, {\it66}, {\it69}, 72, 210, 238.\par
+*|ligtable|, {\it97}, {\it305}--{\it306}, $\underline{316}$--$\underline{317}$.\par
+loops, 169, 171--173, 179, 226--227, 259, 290--291, 299.\par
+`N', 184--185, 302--303.\par
+\<numeric token primary>, 72, $\underline{211}$.\par
+|o|, {\it23}, {\it34}, $\underline{93}$, 197, 200, 204, 240, 302.\par
+`O', 32--37, 161, 199, 302--303.\par
+overshoot, 23, 34, 93, 197, 200, 204, 302.\par
+|penpos|, {\it26}--{\it29}, 37, 80, {\it103}, {\it162}, $\underline{273}$, 310.\par
+pens, 21--29, 147--152, 297--298.\par
+*|rotated|, {\it21}--{\it22}, {\it25}, 27, 44, {\it68}, 73, {\it107}, {\it114}, {\it117}, $\underline{141}$, 213, {\it238}.\par
+|rule|, 274, 328.\par
+*|scaled|, {\it21}--{\it23}, {\it68}, 73, $\underline{141}$, 213, 244, 291.\par
+*|showstopping|, 211, 219, {\it227}, 230, {\it262}.\par
+string expressions, {\it69}, 187--189, 258, 286.\par
+\<suffix list>, $\underline{171}$, 236.\par
+sum, of vectors, 9, {\it68}.\par
+|test.mf|, 311--313.\par
+\TeX, 1, 34, 40, 91, 96, 98, 101--103, 315, 336--343, 361.\par
+text arguments, 219, 288--291, 299.\par
+|.tfm|, 39, 315--321, 333, 335.\par
+*|to|, $\underline{191}$, 220, {\it252}, {\it277}, {\it312}.\par
+undelimited suffix parameters, $\underline{167}$, 176, 266, 270.\par
+|undraw|, 113, 118, 120, {\it242}, $\underline{271}$.\par
+|unitsquare|, {\it116}, 123--124, 128, 132, 136, $\underline{263}$.\par
+*|unknown|, $\underline{170}$, 210.\par
+unknown quantities, nonnumeric, 84--85, 143.\par
+values, disappearance of, 56, 83, 88, 156--157, 177--178, 218, 239, 299.\par
+\<vardef heading>, 165, $\underline{178}$.\par
+*|xscaled|, {\it21}--{\it22}, {\it68}, 73, $\underline{141}$, 213, 244, 291.\par
-\bugonpage D380, line 12 (06/25/04)
-\ninepoint\noindent
-\qquad\qquad{\bf begin} $\\{type}(r)\gets\\{known}$;
- $\\{value}(r)\gets0$;
- $\\{free\_node}(p,\\{dep\_node\_size})$;
-\bugonpage D390, lines 2 and 3 (06/25/04)
+ % Volume D
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\to{\mathrel{.\,.}} % double dot, used only in math mode
-\noindent
-by a previous operation. We must maintain
-the value of $\\{right\_type}(q)$ in cases such as\break
-`|..\\{curl2\}z\{0,0\}..|'.
+\bugonpage Dv, line 16 (01/16/21)
-\bugonpage D437, line 1 (06/25/04)
+\tenpoint\noindent
+\kern12.5mm I believe that the final bug in \MF\ was discovered on January\cutpar
-\noindent
-{\bf996.\quad}And \\{do\_assignment} is similar to \\{do\_equation}:
+\bugonpage Dv, bottom two lines (01/16/21)
-\bugonpage D439, line 10 becomes two lines (06/25/04)
+\eightpoint\noindent
+corporates all of those changes.
+I~now believe that the final bug was discovered on 03 July 2020
+and removed in version 2.71828182. % on 16 January 2021
+The finder's fee has converged to \$327.68.
-\ninepoint\noindent
-\qquad{\bf begin} $\\{nonlinear\_eq}(v,\\{cur\_exp},\\{false})$;
- $\\{cur\_type}\gets t$;
- {\bf goto} \\{done};
+\hsize=35pc
-\bugonpage D443, line 11 (06/25/04)
+\bugonpage D2, last line of \S2 (01/15/21)
\ninepoint\noindent
-\\{done}: {\bf if\/} $\\{eq\_type}(x)\mathbin{\hbox{\bf mod}}\\{outer\_tag}
- \ne\\{tag\_token}$ {\bf then}
- $\\{clear\_symbol}(x,\\{false})$;
+$$\hbox{{\bf define} $\\{banner}\equiv\.{\char`\'This\]is\]METAFONT,\]Version\]2.71828182\char`\'}$\quad
+$\{\,$printed when \MF\ starts$\,\}$}$$
-\bugonpage D452, line 9 (06/25/04)
+\bugonpage D14, line 1 of \S30 (05/05/14)
-\noindent
-though they don't necessarily correspond to primitive tokens.
+\tenpoint\noindent
+{\bf 20.} \quad The \\{input\_ln} function brings the next line of input from the specified
+file into available\cutpar
-\bugonpage D476, line 12 from the bottom (06/25/04)
+\bugonpage D21, line 8 of \S47 (10/11/20)
-\ninepoint\noindent
-\quad{\bf if\/} $\\{nl}-\\{skip\_table}[c]>128$ {\bf then}
+\ninepoint\noindent\quad
+$g$: \\{str\_number};\quad$\{\,$the string just created$\,\}$
-\bugonpage D483, line 7 (06/25/04)
+\bugonpage D27, lines 3 and 4 of \S61 (04/02/17)
-\ninepoint\noindent
-\quad$\\{max\_tfm\_dimen}\gets16\ast\\{internal}[\\{design\_size}]-1
- -\\{internal}[\\{design\_size}]\mathbin{\hbox{\bf div}}\Oct{10000000}$;
+\tenpoint\noindent
+is not serious since we assume that this
+part of the program is system dependent.
-\bugonpage D483, lines 15--17 (06/25/04)
+\bugonpage D28, line 7 (04/02/17)
-\ninepoint\noindent
-\qquad{\bf if\/} $x>0$ {\bf then}
- $x\gets\\{max\_tfm\_dimen}$ {\bf else}
- $x\gets-\\{max\_tfm\_dimen}$;\par\noindent
-\qquad{\bf end};\par\noindent
-\quad$x\gets\\{make\_scaled}(x\ast16,\\{internal}[\\{design\_size}])$;
+\ninepoint\noindent\quad
+{\bf var} $k$: $0\dts23$;\quad$\{\,$index to current digit; we assume
+ that $\vert n\vert<10^{23}\,\}$
-\bugonpage D496, line 2 (06/25/04)
+\bugonpage D32, line 2 of \S78 becomes two lines (06/27/20)
-\noindent
-a pointer to
-an edge structure. Its mission is to describe the positive pixels
-in \.{GF} form,\cutpar
+\ninepoint\noindent\quad
+{\bf loop begin} \\{continue}: {\bf if} $\\{interaction}\ne\\{error\_stop\_mode}$
+ {\bf then return};\par
+\noindent\qquad
+\\{clear\_for\_error\_prompt}; \ \\{prompt\_input}(\.{"?\]"});
-\bugonpage D500, line 16 (06/25/04)
+\bugonpage D32, line 11 of \S79 (07/03/20)
-\ninepoint\noindent
-\quad$\\{selector}\gets\\{old\_setting}$;
- $\\{gf\_out}(\\{cur\_length})$;
- $\\{gf\_string}(0,\\{make\_string})$;
- $\\{decr}(\\{str\_ptr})$;
+\ninepoint\noindent\quad
+\.{"E"}: {\bf if} $\\{file\_ptr}>0$ {\bf then if}
+ $\\{input\_stack}[\\{file\_ptr}].\\{name\_field}\ge256$ {\bf then}
-\bugonpage D506, lines 8--10 (06/25/04)
+\bugonpage D33, line 5 of \S80 (07/03/20)
-\noindent
-\MF\ it says,
-for example, `\.{(preloaded base=plain 1984.2.29)}', showing the year,
-month, and day that the base file was created. We have $\\{base\_ident}=0$
-before \MF's tables are loaded.
+\ninepoint\noindent\quad
+{\bf if} $\\{file\_ptr}>0$ {\bf then}\par
+\noindent\qquad
+{\bf if} $\\{input\_stack}[\\{file\_ptr}].\\{name\_field}\ge256$ {\bf then}
+\\{print}(\.{"E\]to\]edit\]your\]file."}
-\bugonpage D514, line 14 from the bottom (06/25/04)
+\bugonpage D37, line 9 of \S93 (08/07/20)
-\noindent
-\.{CMMF}, should also be provided for commonly used bases such as \.{cmbase}.
+\ninepoint\noindent\qquad
+(\.{"Try\]to\]insert\]an\]instruction\]for\]me\](e.g.,\]%
+ \char`\`I\]show\]x;\char`\'),"})
- % volume E
-\hsize=29pc
+\bugonpage D82, line 2 from the bottom (09/19/19)
-\newbox\shorthyf \setbox\shorthyf=\hbox{-\kern-.05em}
-\mathchardef\period=`\.
-{\catcode`\-=\active \global\def-{\copy\shorthyf\mkern3.9mu}
- \catcode`\.=\active \global\def.{\period\mkern3mu}}
-\def\8#1{\mathrel{\mathcode`\.="8000 \mathcode`\-="8000
- #1\unkern}} % `..' and `--'
+\ninepoint\noindent\quad
+{\bf define} $\\{boundary\_char}=41$\quad$\{\,$the boundary character for ligatures$\,\}$
-\bugonpage E1, line 3 (01/06/06)
+\bugonpage D85, lines 3 and 4 of \S194 {(and \S194 actually moves to page D86)} (12/11/20)
\tenpoint\noindent
-Zillions of alphabets can be generated by the programs in this book.
-All\cutpar
+information, something special
+is needed. The program here simply assumes that suitable values appear in
+the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and
+\\{sys\_year} (which are initialized to noon on 4 July 1776,
+in case the implementor is careless).
+
+\bugonpage D85, the final six lines of \S194 {(and \S194 actually moves to page D86)} (12/11/20)
+
+\ninepoint\noindent
+{\bf procedure} \\{fix\_date\_and\_time};\par
+\noindent\quad{\bf begin}
+$\\{sys\_time}\gets12\ast60$; \
+$\\{sys\_day}\gets4$; \
+$\\{sys\_month}\gets7$; \
+$\\{sys\_year}\gets1776$;\quad
+$\{\,$self-evident truths$\,\}$\par
+\noindent\quad$\\{internal}[\\{time}]\gets\\{sys\_time}\ast\\{unity}$;\quad
+ $\{\,$minutes since midnight$\,\}$\par
+\noindent\quad$\\{internal}[\\{day}]\gets\\{sys\_day}\ast\\{unity}$;\quad$\{\,$day of the month$\,\}$\par
+\noindent\quad$\\{internal}[\\{month}]\gets\\{sys\_month}\ast\\{unity}$;\quad$\{\,$month of the year$\,\}$\par
+\noindent\quad$\\{internal}[\\{year}]\gets\\{sys\_year}\ast\\{unity}$;\quad$\{\,$Anno Domini$\,\}$\par
+\noindent\quad{\bf end};
+
+\bugonpage D86, replacement for \S196 (12/11/20)
-\bugonpage E6, lines 16--19 (12/29/04)
+\tenpoint\noindent
+{\bf 196.}\quad Of course we had better declare a few more global variables,
+if the previous routines are going to work.
+\smallskip
+\ninepoint\noindent
+$\langle\,$Global variables {\sevenrm\kern.5em13}$\,\rangle+\equiv$\par
+\noindent\\{old\_setting}: $0\dts\\{max\_selector}$;\par
+\noindent\\{sys\_time}, \\{sys\_day}, \\{sys\_month}, \\{sys\_year}: \\{integer};
+\quad$\{\,$date and time supplied by external system$\,\}$
-\textindent\bull
- {\it square\_dots\/} tells whether dots should be square, not rounded;\smallskip
-\textindent\bull
- {\it hefty\/} tells whether weight-reducing strategies should be used;\smallskip
-\textindent\bull\hangindent\parindent
- {\it monospace\/} tells whether the characters should all be forced to
- have the same width;
+\bugonpage D97, line 2 of \S221 (05/26/17)
-\bugonpage E7, line 11 (12/21/02)
+\tenpoint\noindent
+the definition of attribute nodes) that
+it is convenient to let $\\{info}(p)=0$ stand for `\.{[]}'.
-\ninepoint\indent
-\\{hair}, \\{vair}, \\{stem}, \\{curve}, \\{ess}, \\{flare}, \\{dot\_size},
- \\{bar}, \\{slab},
+\goodbreak
+\bugonpage D148, line 7 (06/12/18)
-\bugonpage E7, line 14 (12/21/02)
+\tenpoint\noindent
+but the $\log n$ factor is buried in our
+implicit restriction on the maximum raster size.) The\cutpar
-\ninepoint\indent
-\\{crisp}, \\{tiny}, \\{fine};
-\medskip\noindent
-and \\{thin\_join} should not be less than \\{fine}.
+\bugonpage D237, line 5 of \S513 (05/26/17)
-\bugonpage E19, line 19 (11/07/01)
+\ninepoint\noindent\quad
+{\bf for} $n\gets0$ {\bf to} $\\{n1}-\\{n0}-1$ {\bf do} $\\{env\_move}[n]\gets\\{mm0}$;
-\tenpoint
-\line{\\{cap\_notch\_cut}\hskip 0pt plus1.5fil46/36\hfil31/36\hfil25/36\hfil
-24/36\hfil22/36\hskip0pt plus3fil25/36}
+\bugonpage D250, line 2 of \S534 (05/26/17)
-\bugonpage E41, line 8 (12/21/02)
+\tenpoint\noindent
+direction $\bigl(\\{right\_u}(p),\\{left\_v}(q)\bigr)$;
+and there's a line of length $\ge\\{delta}$ from vertex~$q$ to vertex~$r$,\cutpar
-\ninepoint\noindent\mathchardef\AM="2026 % ampersand
-\quad$\\{extra\_endchar}\gets\\{extra\_endchar}\AM
- \.{\char`"charcode:=charcode+code\_offset;"}$;
+\bugonpage D296, line 11 (06/23/20)
-\bugonpage E53, line 7 (12/21/02)
+\tenpoint\noindent
+\\{name} points to the \\{eqtb} address of the macro
+being expanded, if the current token list\cutpar
-\def\frac#1/#2{\leavevmode\kern.1em
- \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
- /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
-\ninepoint\noindent
-{\bf numeric} \\{mid\_thickness};
- $\\{mid\_thickness}={\rm Vround}$ \frac1/3[$\\{vair},\\{stem}$];
+\bugonpage D324, line 13 of \S713 (12/20/20)
-\bugonpage E125, line 6 from the bottom (07/10/05)
+\ninepoint\noindent\qquad\quad
+\\{help2}(\.{"After\]\char`\`exitif\]<boolean\]expr>\char`\'\]I\]expect\]to\]see\]a\]%
+semicolon."})
-\ninepoint\noindent
-$\\{top}\,y_1=\\{top}\,y_6=h$; $z_2=.5[z_3,z_1]+\\{bend}$;
+\bugonpage D326, line 5 from the bottom (06/23/20)
-\bugonpage E125, line 3 from the bottom (07/10/05)
+\ninepoint\noindent\qquad\qquad
+$\{\,$invokes a user-defined sequence of commands$\,\}$
-\ninepoint\noindent
-{\bf draw} $z_1-\\{flourish\_change}\{\\{up}\}+(0,.15\\{asc\_height})
- \{\\{up}\}$\par
-\line{\quad$\8{...}\{\\{right}\}(z_1+(2u,0))\8{---}z_6\8{...}\{\\{down}\}z_7$;
- \hfil\% upper bar}
+\bugonpage D334, lines 1 and 2 of \S742 (10/25/20)
-\bugonpage E146, also pages 164 and 540 (02/08/03)
+\tenpoint\noindent
+{\bf 742.} \ Here is a procedure that ignores text until coming to an {\bf elseif},
+{\bf else}, or {\bf fi} at the current level of {\bf if}$\,\ldots\,${\bf fi}
+nesting. After it has acted, \\{cur\_mod} will indicate the token that
+was found.
-\eightpoint\noindent
-[The labels on the new illustrations of beta, omega, and spadesuit
-are too large, and the resolution of the shapes is too small.]
+\bugonpage D339, line 4 of \S757 (06/16/20)
-\bugonpage E147, line 11 from the bottom (04/23/04)
+\tenpoint\noindent\quad
+(A user who tries some shenanigan like `{\bf for} $\ldots$ {\bf let} {\bf endfor}'
+will be foiled by the \\{get\_symbol}\cutpar
+
+\bugonpage D351, lines 2--7 of \S536 become five lines (12/11/20)
+
+\ninepoint\noindent\quad
+{\bf begin} \\{wlog}(\\{banner});
+\\{slow\_print}(\\{format\_ident});
+\\{print}(\.{"\]\]"});
+\\{print\_int}(\\{sys\_day});
+\\{print\_char}(\.{"\]"});\par
+\noindent\quad
+$\\{months}\gets\.{\char`\'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC\char`\'}$;\par
+\noindent\quad
+{\bf for} $k\gets3\ast\\{sys\_month}-2$ {\bf to} $3\ast\\{sys\_month}$
+{\bf do} \\{wlog}(\\{months}[$k$]);\par
+\noindent\quad
+\\{print\_char}(\.{"\]"});
+\\{print\_int}(\\{sys\_year});
+\\{print\_char}(\.{"\]"});
+\\{print\_two}(\\{sys\_time} {\bf div} 60);
+\\{print\_char}(\.{":"});\par
+\noindent\quad
+\\{print\_two}(\\{sys\_time} {\bf mod} 60);
+
+\bugonpage D352, line 2 of \S793 becomes two lines (10/29/20)
-\ninepoint\noindent
-$x_0=x_1=x_9$; $\\{lft}\,x_{0r}={\rm hround}(1.5u-.5\\{hair})$;
-$x_2=x_4=x_6=x_8=.5w-.25u$;
+\tenpoint\noindent
+command is being processed.
+Beware: For historic reasons, this code foolishly conserves a tiny bit
+of string pool space; but that can confuse the interactive `\.E' option.
-\bugonpage E147, line 8 from the bottom (04/23/04)
+\bugonpage D352, line 5 from the bottom (10/29/20)
\ninepoint\noindent
-$y_5=.5[y_4,y_6]$; $\\{top}\,y_{6r}-\\{bot}\,y_{4r}=\\{vstem}+\\{eps}$;
- $\\{bot}\,y_{8r}=-\\{oo}$; $y_7=y_9=.55[y_6,y_8]$;
+{\bf if} $\\{name}=\\{str\_ptr}-1$ {\bf then}
+\ $\{\,$conserve string pool space (but see note above)$\,\}$
-\bugonpage E149, line 8 from the bottom (04/23/04)
+\bugonpage D354, line 2 from the bottom (07/29/20)
-\ninepoint\noindent
-$y_5+.1\\{x\_height}=y_7=.5[y_6,y_8]$; $\\{bot}\,y_{6r}=-\\{oo}$;
+\tenpoint\noindent
+$\\{cur\_type}=\\{path\_type}$ means that \\{cur\_exp} points to the first
+node of
+a path; nobody else points\cutpar
-\bugonpage E157, line 11 (02/29/08)
+\bugonpage D469, lines 18--20 of \S1093 (09/19/19)
-\ninepoint\noindent
-\line{{\bf filldraw} $z_{1l}\8{--}z_{2l}\8{...}(x_3,y_{2l})\8{...}z\8{--}
- z_{1r}\8{--}\rm cycle$;\hfil\% stem}
+\tenpoint\noindent
+so-called boundary character of this font;
+the value of \\{next\_char} need not lie between \\{bc} and~\\{ec}.
+If the very last instruction of the \\{lig\_kern} array has $\\{skip%
+\_byte}=255$,
+there is a special ligature/kerning program for a boundary character at the
+left, beginning at location $256\ast\\{op\_byte}+$\cutpar
-\bugonpage E161, line 7 from the bottom (04/23/04)
+\bugonpage D469, line 30 of \S1093 (01/15/21)
-\ninepoint\noindent
-$\\{top}\,y_{1r}=\\{x\_height}+\\{oo}$; $y_2=y_4=.5[y_1,y_3]$;
- $\\{bot}\,y_{3r}=-\\{oo}$;
+\tenpoint\noindent
+tional halt; no ligature or kerning command is performed.
-\bugonpage E209, line 3 (12/29/04)
+\bugonpage D471, lines 20 and 21 (08/07/20)
-\ninepoint
-\rightline{\% This lowercase italic alphabet was prepared by D. E. Knuth
- in December, 1979,}
+\ninepoint\noindent
+\\{param}: {\bf array} $[1\dts\\{max\_font\_dimen}]$ {\bf of}
+\\{scaled};\quad$\{\,${\bf fontdimen} parameters$\,\}$\par\noindent
+\\{np}: $0\dts\\{max\_font\_dimen}$;\quad$\{\,$the largest {\bf fontdimen} parameter
+specified so far$\,\}$
-\bugonpage E377, lines 3 and 4 from the bottom (12/22/02)
+\bugonpage D474, line 2 from the bottom (08/07/20)
-\ninepoint\noindent
-\qquad {\bf path} \\{p\_}; $\\{p\_}=z_{\$\$l}\{z_{@1}-z_{\$\$l}\}\8{...}
- \\{darkness}[z_{@1},.5[z_{@2},z_{\$\$l}]]\8{...}z_{@2}$\par\noindent
-\qquad\quad$\8{---}z_{\$l}\8{--}z_{\$r}\8{--}z_{@0}\8{--}z_{\$\$r}\8{--}%
- {\rm cycle}$;\par\noindent
-\qquad{\bf if\/} $(y_{\$\$}>y_\$) \ne ({\rm ypart}\,\hbox{\bf precontrol}\,1
- \,\hbox{\bf of\/}\,\\{p\_} > {\rm ypart}\,\hbox{\bf postcontrol}\,1\,
- \,\hbox{\bf of\/}\,\\{p\_})$:\par\noindent
-\qquad\quad$\\{p\_}=z_{\$\$l}\{z_{@1}-z_{\$\$l}\}\8{...}
- \\{darkness}[z_{@1},.5[z_{@2},z_{\$\$l}]]$\par\noindent
-\qquad\qquad$\8{---}z_{\$l}\8{--}z_{\$r}\8{--}z_{@0}\8{--}z_{\$\$r}\8{--}%
- {\rm cycle}$;\ {\bf fi}\par\noindent
-\line{\qquad {\bf filldraw} \\{p\_};\hfil \% arm and beak}
+\ninepoint\noindent\quad\qquad
+\\{help1}(\.{"A\]colon\]should\]follow\]a\]headerbyte\]or\]fontdimen\]location."});
+\\{back\_error};
-\bugonpage E379, lines 17 and 18 become one line (01/06/14)
+\bugonpage D508, line 3 of \S1189. (10/05/20)
-\ninepoint\noindent
-{\bf else}: $\\{rt}\,x_{6r}={\rm hround}(w-1.5u)$;
-$y_{6}=y_{5l}+\\{eps};$ {\bf fi}
+\tenpoint\noindent
+to be in the range $a\le x\le b$.
+System error messages should be suppressed when undumping.
-\bugonpage E379, bottom line of the program (01/06/14)
+\bugonpage D516, line 6 (10/15/20)
-\def\SH{\raise.7ex\hbox{$\scriptstyle\#$}} % sharp sign for sharped units
-\ninepoint\noindent
-{\bf math\_fit}$(0,\\{ic}\SH-2.5u\SH)$;
-{\bf penlabels}$(0,1,2,3,4,5,6,7)$;
-{\bf endchar};
+\tenpoint\noindent\quad
+If \\{final\_cleanup} is bypassed, this program doesn't bother to
+close the input files that may still be open.
-\bugonpage E489, bottom line (06/25/04)
+\bugonpage D519, line 17 (01/15/21)
-\ninepoint\noindent
-{\bf labels}$(1,2,3,4,5,6)$; {\bf endchar};\hfil\break
-[Labels `\.5' and `\.6' should also be added to
- the lower illustration on page E488.]
+\ninepoint\noindent\quad
+\\{fix\_date\_and\_time};
+$\\{init\_randoms}(\\{sys\_time}+\\{sys\_day}*\\{unity})$;
-\bugonpage E545, line 11 from the bottom (12/29/04)
+\bugonpage D520, line 18 of \S1212 becomes two lines (10/05/20)
-\parindent=36pt
-The most important general routine in |cmbase| is probably the {\it pos}\cutpar
+\ninepoint\noindent\quad
+{\bf begin} \\{clear\_terminal};\par
+\noindent\quad
+{\bf loop}
-\bugonpage E551, line 3 from the bottom (12/29/04)
+\bugonpage D520, lines 11 and 12 from the bottom of \S1212
+ become three lines (04/02/17)
-\noindent quantities needed in the |calu|
-programs are also established at this time.
+\ninepoint\noindent\qquad\qquad
+{\bf begin goto} \\{breakpoint};\par
+\noindent\qquad\qquad\quad$\{\,$go to every declared label at least once$\,\}$\par
+\noindent\qquad\quad\\{breakpoint}: $m\gets0$;
+ \.{@\char`\{\char`\'BREAKPOINT\char`\'@\char`\}}
+\bugonpage D566, the bottom five lines (05/14/19)
-\bugonpage E577, right column (12/23/02)
+\tenpoint\noindent
+they occupy in a typical production system
+(executable code size for dark blocks, global data size for light blocks).
+In this way the chart indicates a total of about
+$8\times22=176${\ninerm K} bytes of memory, plus
+$8\times15=120${\ninerm K} for the
+dynamic memory region not shown explicitly. The dynamic memory
+is often considerably larger in practice, because it is desirable to
+accommodate large macro packages and large pictures.
-\eightpoint\noindent
-\\{p\_}\kern1pt, 305, 377.\par\noindent
-{\bf padded}, 103--111, 117--121, $\underline{549}$.
-\bugonpage E578, left column (12/23/02)
+ % volume E
+\hsize=29pc
+
+\newbox\shorthyf \setbox\shorthyf=\hbox{-\kern-.05em}
+\mathchardef\period=`\.
+{\catcode`\-=\active \global\def-{\copy\shorthyf\mkern3.9mu}
+ \catcode`\.=\active \global\def.{\period\mkern3mu}}
+\def\8#1{\mathrel{\mathcode`\.="8000 \mathcode`\-="8000
+ #1\unkern}} % `..' and `--'
-\eightpoint\noindent
-{\bf postcontrol}, 347, 377.\par\noindent
-{\bf precontrol}, 347, 377.
\bye
diff --git a/systems/knuth/dist/errata/errata.three b/systems/knuth/dist/errata/errata.three
index 5f00f73b22..d4a0afaccd 100644
--- a/systems/knuth/dist/errata/errata.three
+++ b/systems/knuth/dist/errata/errata.three
@@ -793,7 +793,7 @@ because it is a highly negative number.
\tenpoint\noindent
the current string would be `{\tt.\char`\^.\char`\_/}'
if $p$ points to the \\{ord\_noad} for $x$ in the (ridiculous) formula
-`{\tt\char`\\sqrt\char`\{a\char`\^\char`\{\char`\\mathinner\char`\{%
+`{\tt\char`\$\char`\\sqrt\char`\{a\char`\^\char`\{\char`\\mathinner\char`\{%
b\char`\_\char`\{c\char`\\over x+y\char`\}\char`\}\char`\}\char`\}\char`\$}'.
\bugonpage B296, lines 3--5 (5/8/87)
diff --git a/systems/knuth/dist/errata/errata.twelve b/systems/knuth/dist/errata/errata.twelve
new file mode 100644
index 0000000000..8a7c291b49
--- /dev/null
+++ b/systems/knuth/dist/errata/errata.twelve
@@ -0,0 +1,1709 @@
+% Bugs (sigh) in Computers \& Typesetting
+
+\input manmac
+\def\.#1{\hbox{\tt#1}}
+\font\sltt=cmsltt10
+\font\niness=cmss9
+\font\ninessi=cmssi9
+\proofmodefalse
+\raggedbottom
+\output{\hsize=29pc \onepageout{\unvbox255\kern-\dimen@ \vfil}}
+
+\def\today{\number\day\
+ \ifcase\month\or
+ Jan\or Feb\or Mar\or Apr\or May\or Jun\or
+ Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
+ \ \number\year}
+
+\def\cutpar{{\parfillskip=0pt\endgraf}}
+
+\def\rhead{Bugs in {\tensl Computers \& Typesetting as of \today}}
+\def\bugonpage#1(#2) \par{\bigbreak\tenpoint
+ \hrule width\hsize
+ \line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule width\hsize
+ \nobreak\medskip}
+\def\buginvol#1(#2) \par{\bigbreak\penalty-1000\tenpoint
+ \hrule width\hsize
+ \line{\lower3.5pt\vbox to13pt{}Volume #1\hfil(#2)}\hrule width\hsize
+ \nobreak\medskip}
+\def\slMF{{\manual 89:;}\-{\manual <=>:}} % slant the logo
+\def\0{\raise.7ex\hbox{$\scriptstyle\#$}}
+\newcount\nn
+\newdimen\nsize \newdimen\msize \newdimen\ninept \ninept=9pt
+\newbox\eqbox \setbox\eqbox=\hbox{\kern2pt\eightrm=\kern2pt}
+
+\tenpoint
+\noindent This is a list of all substantial corrections made to {\sl Computers
+\& Typesetting\/} between the publication of the second ``Millennium Edition''
+at the close of the year 2001 and the beginning of the year 2014.
+(More precisely, it lists errors corrected
+in 16th to 19th printings of Volume~A, the 7th and 8th printings
+of Volume~B, the 6th and 7th printings of Volume~C, the 4th and 5th printings
+of Volume~D, and the 5th and 6th printings of Volume~E.)
+Corrections made to the softcover version of {\sl The \TeX book\/},
+beginning with its 32nd printing, are
+the same as corrections to Volume~A\null. Corrections to the softcover
+version of {\sl The \slMF\kern1ptbook}, beginning with its 11th printing,
+are the same as corrections to Volume~C\null. Changes to the mini-indexes
+and master indexes of Volumes B, D, and~E are not shown here unless they are
+not obviously derivable from what has been shown. All of these
+errors have supposedly been corrected in more recent printings, unless
+they were subsequently found to be wrong.
+\looseness=-1
+
+ % volume A
+
+\bugonpage A7, line 4 from the bottom (01/15/04)
+
+\noindent
+since control sequences of the second kind always have exactly one
+symbol after\cutpar
+
+\bugonpage A123, line 7 from the bottom (02/27/08)
+
+\ninepoint\noindent
+that it won't make the natural height-plus-depth
+of\/ |\box|$\,n$ surpass |\dimen|$\,n$, when it~is\cutpar
+
+\bugonpage A124, lines 12 and 13 (02/27/08)
+
+\ninepoint\noindent
+means that \TeX\ has tried to split an |\insert254| to height $180.2\pt$;
+the natural height-plus-depth of the best such split is $175.3\pt$,
+and the penalty for breaking there is~100.)
+
+\bugonpage A153, line 7 (01/03/14)
+
+\ninepoint\noindent
+of three fonts: one for text size, one for
+script size, and one for scriptscript size. The\cutpar
+
+\bugonpage A206, lines 12--17 (05/21/07)
+
+\ninepoint\noindent
+or alignment template
+is also considered to be |\outer| in this sense; for example, a
+file shouldn't end in the middle of a definition. If you are designing a
+format for others to use, you can help them detect errors before too much
+harm is done, by using |\outer| with all control sequences that should
+appear only at ``quiet times'' within a document. For example, Appendix~B
+defines |\proclaim| to be |\outer|, since a user shouldn't be stating a
+theorem as part of a definition or argument or preamble.
+
+
+\bugonpage A216, line 3 from the bottom (12/20/07)
+
+\ninepoint\indent|\openin|\<number>|=|\<file name>
+
+\bugonpage A290, lines 25--26 (02/24/08)
+
+\ninepoint\textindent{$\bull$}
+\<leaders>\<box or rule>\<horizontal skip>.\enskip
+Here \<horizontal skip> refers to one of the first five glue-appending
+commands just mentioned; the formal syntax for \<leaders>\cutpar
+
+\bugonpage A292, line 15 (12/02/02)
+
+\ninepoint\noindent
+are defined as in the
+second alternative of a \<math field>, are
+recorded in a ``choice\cutpar
+
+\bugonpage A308, lines 25 and 26 (06/17/02)
+
+\ninepoint
+\begintt
+\def\appendroman#1#2#3{\expandafter\def\expandafter#1\expandafter
+ {\csname\expandafter\gobble\string#2\romannumeral#3\endcsname}}
+\endtt
+
+\bugonpage A311, line 14 (12/02/02)
+
+\ninepoint\indent
+|\def\\{\if\space\next\ % assume that \next is unexpandable|
+
+\bugonpage A311, line 17 (12/29/07)
+
+\ninepoint\indent
+| \leavevmode\copy0\kern-\wd0\makelightbox}|
+
+\bugonpage A318, lines 24 and 25 (10/01/03)
+
+\ninepoint\noindent
+\hbox to\parindent{\bf\hss15.13.\enspace}%
+Yes, in severe circumstances. (1)~Previous footnotes might
+ have left no room for any more footnotes on the page.
+(2)~If |\vadjust{\eject}| occurs on the same line\cutpar
+
+\bugonpage A364, lines 12--15 from the bottom (02/29/08)
+
+\ninepoint\noindent
+|\def\loggingall{\tracingcommands=2 \tracingstats=2|\par\noindent
+| \tracingpages=1 \tracingoutput=1 \tracinglostchars=1 |\par\noindent
+| \tracingmacros=2 \tracingparagraphs=1 \tracingrestores=1 |\par\noindent
+| \showboxbreadth=\maxdimen \showboxdepth=\maxdimen}|\par
+\noindent
+|\def\tracingall{\tracingonline=1 \loggingall}|
+
+\bugonpage A364, line 5 from the bottom (02/29/08)
+
+\ninepoint\noindent
+|\def\fmtversion{3.141592653} % identifies the current format|
+
+\bugonpage A373, lines 4 and 5 from the bottom (01/02/14)
+
+\ninepoint\noindent
+And here's another solution (which may be faster, because
+token list registers can be expanded more quickly than macros
+on some implementations, using |\the|):
+
+\bugonpage A373, line 2 from the bottom (01/02/14)
+
+\ninepoint\indent
+|\loop \ifnum\m>0 \t=\expandafter{\the\t*}\advance\m-1 \repeat|
+
+\bugonpage A399, line 18, through what used to be page A400, line 14 (02/26/08)
+
+\ninepoint
+Finally, the reformatting of\/ |\box\footins| can be achieved easily with
+an elegant technique suggested by David Kastrup, using the following
+\TeX\ code within the |\output| routine:
+\begindisplay
+|\def\makefootnoteparagraph{\unvbox\footins|\cr
+| \baselineskip=\footnotebaselineskip \removehboxes}|\cr
+|\def\removehboxes{\unskip\setbox0=\lastbox|\cr
+| \ifhbox0{\removehboxes}\unhbox0 \else\noindent \fi}|\cr
+\enddisplay
+The key idea here is |\removehboxes|, a macro that has the magical ability to
+take a vertical box such as `|\vbox{\box1\box2\box3\removehboxes}|' and
+transform it into
+`|\vbox{\noindent\unhbox1\unhbox2\unhbox3}|'\kern-1pt,
+if\/ |\box1|, \kern-2pt|\box2|, and
+|\box3| are hboxes. Notice how |\removehboxes| introduces braces so that
+\TeX's {save stack} will hold all of the hboxes before they are unboxed. Each
+level of recursion in this routine uses one cell of input stack space and
+three cells of save stack space; thus, it is generally safe to do more than
+100 footnotes without exceeding \TeX's capacity.
+
+In our application there is no interline glue within |\box\footins|,
+so the |\unskip| command could be deleted from |\removehboxes|.
+
+Incidentally, the |\unskip| and |\lastbox| operations have running
+times of the approximate form
+$a+mb$, where $m$~is the number of items on the
+list preceding the glue or box that is removed. Hence |\removehboxes| has a
+running time of order $n^2$ when it removes $n$~boxes.
+But the constant~$b$ is so small that
+for practical purposes it's possible to think of\/ |\unskip| and
+|\lastbox| as almost instantaneous.
+
+\bugonpage A416, lines 18--22 (06/08/07)
+
+\ninepoint\noindent\beginlines
+|\def\leftheadline{\hbox to \pagewidth{\spaceskip=0pt|
+| \vbox to 10pt{}% strut to position the baseline|
+| \llap{\tenbf\folio\kern1pc}% folio to left of text|
+| \tenit\rhead\hfil}} % running head flush left|
+|\def\rightheadline{\hbox to \pagewidth{\spaceskip=0pt\vbox to 10pt{}%|
+\endlines
+
+\bugonpage A418, line 8 from the bottom (12/13/11)
+
+\ninepoint\noindent\beginlines
+| \def\\{#3} \advance\hsize by -18mm|
+\endlines
+
+\bugonpage A418, line 3 from the bottom (12/13/11)
+
+\ninepoint\noindent\beginlines
+| \halign{\line{\titlefont\hss##}\\#4\unskip\\}|
+\endlines
+
+\bugonpage A442, lines 7 and 8 from the bottom (01/03/14)
+
+\def\rule#1.{\smallskip\textindent{\bf#1.}\ignorespaces}
+\ninepoint\textindent{\bf 3.}%
+If the current item is a style change, set $C$ to the specified
+style and move on to the next item.
+
+\bugonpage A450, lines 14--16 from the bottom (12/19/02)
+
+\begingroup\def\\#1{$_{\kern\scriptspace#1}$}
+\indent\qquad{\tt s\\1tic
+ \\1exp x\\3p pi\\3a \\2i\\1a i\\2al \\2id \\1do \\1ci \\2io ou\\2 \\2us}
+\medskip\noindent
+(where subscripts that aren't shown are zero), and this yields
+$$\centerline{%
+\tt.\\0s\\0u\\1p\\0e\\0r\\1c\\0a\\0l\\1i\\0f\\0r\\0a\\0g\\1i\\0l\\4i%
+\\0s\\1t\\2i\\0c\\1e\\0x\\3p\\2i\\3a\\0l\\2i\\1d\\0o\\1c\\2i\\0o\\2u\\2s\\0.}$$
+\endgroup
+
+\bugonpage A458, left column (01/11/07)
+
+\eightpoint\noindent
+|\\|, 38, {\it356}, {\it378}, {\it418}.
+
+\bugonpage A459, left column (03/17/06)
+
+\eightpoint\noindent
+angle brackets ( $\langle\,\rangle$ ), 59, {\it146--147}, 150,~156,\par
+\noindent\qquad $\underline{268}$, 420, 437;
+ {\sl see also\/} |\langle|, |\rangle|.
+
+\bugonpage A461, left column (02/24/08)
+
+\eightpoint\noindent
+|\boxit|, 223, 331.
+
+\bugonpage A468, right column (02/26/08)
+
+\eightpoint\noindent
+interline glue, 78--79, $\underline{80}$, 104, 105, 125, 221,\par
+\noindent\qquad 245, 263, 281--282, 335, 352, 399, 409.
+
+\bugonpage A469, left column (02/26/08)
+
+\eightpoint\noindent
+Kastrup, David Friedrich, 399.
+
+\bugonpage A470, left column (01/21/03)
+
+\eightpoint\noindent
+|\loggingall|, $\underline{364}$.
+
+\bugonpage A477, right column (06/08/07)
+
+\eightpoint\noindent
+\llap{*}|\spaceskip|, 76, 274, {\it317}, {\it356}, {\it416}, 429.
+
+\bugonpage A479, right column (09/11/07)
+
+\eightpoint\noindent
+|\undefined|, 350, 384.
+
+\bugonpage A483, line 5 from the bottom (11/18/03)
+
+\eightpoint
+\rightline{\eightss--- HIERONYMUS HORNSCHUCH, %
+ {\eightrm'}$O\mkern-1mu\rho\mkern1mu\vartheta o\mkern1mu %
+ \tau\upsilon\pi o\gamma\mkern-1mu %
+ \rho\alpha\phi\acute\iota\alpha\varsigma$\enspace(1608)}
+
+ % volume B
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\to{\mathrel{.\,.}} % double dot, used only in math mode
+
+\bugonpage Bv, page number change (12/27/11)
+
+\eightpoint\noindent[For consistency with Volumes A, C, and E, the
+preface now begins on page v instead of page~vii. This change was first
+made in the ninth printing.]
+
+\bugonpage Bv {(formerly Bvii)}, bottom two lines (01/06/14)
+
+\eightpoint\noindent
+all of those changes.
+I~now believe that the final bug was discovered on 14 September 2008
+and removed in version 3.14159265.
+The finder's fee has converged to \$327.68.
+
+\bugonpage Bxiii {(formerly Bxv)}, line $-7$ (12/27/11)
+
+\ninepoint\noindent
+Format specs have no effect on the corresponding Pascal program, but they
+do influence\cutpar
+
+\hsize=35pc
+
+\bugonpage B2, line 10 from the bottom (01/02/14)
+
+\ninepoint\noindent\hskip10pt
+{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$%
+{\tt This\]is\]TeX,\]Version\]3.14159265\char'23}\quad
+$\{\,$printed when \TeX\ starts$\,\}$
+
+\bugonpage B3, new paragraph to follow line 9 (12/20/02)
+
+\tenpoint\noindent\quad
+Incidentally, Pascal's standard \\{round} function can be problematical,
+because it disagrees with the IEEE floating-point standard.
+Many implementors have
+therefore chosen to substitute their own home-grown rounding procedure.
+
+\bugonpage B21, lines 33 and 34 (09/11/07)
+
+\def\Oct#1{\hbox{\rm\char'23\kern-.2em\it#1\/\kern.05em}} % octal constant
+\tenpoint\noindent
+$[\Oct{41}\to\Oct{46},\Oct{60}%
+\to\Oct{71},\Oct{136},\Oct{141}\to\Oct{146},\Oct{160}\to\Oct{171}]$ must be printable.
+Thus, at least 81 printable characters are needed.
+
+\bugonpage B109, line 16 (01/06/14)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin} $\\{print\_esc}(\.{"csname"})$;
+$\\{print\_esc}(\.{"endcsname"})$;
+$\\{print\_char}(\.{"\ "})$;
+{\bf end}
+
+\bugonpage B114, line 25 (09/11/07)
+
+\def\#{\hbox{\tt\char`\#}} % parameter sign
+\ninepoint\noindent
+{\bf define} $\\{save\_index}(\#)\equiv\\{save\_stack}[\#].\\{hh}.\\{rh}$\quad
+ $\{\,$\\{eqtb} location or token or \\{save\_stack} location$\,\}$
+
+\bugonpage B139, line 20 (12/19/02)
+
+\ninepoint\noindent
+\quad{\bf begin while} $(\\{state}=\\{token\_list}) \land
+ (\\{loc}=\\{null}) \land (\\{token\_type}\ne\\{v\_template})$ {\bf do}\par
+\noindent\qquad\\{end\_token\_list};\quad$\{\,$conserve stack space$\,\}$
+
+\bugonpage B144, line 14 (09/11/07)
+
+\ninepoint\noindent
+\quad\\{cat}: $0\to\\{max\_char\_code}$;\quad$\{\,$\\{cat\_code}(\\{cur\_char}), usually$\,\}$
+
+\bugonpage B153, lines 2 and 3 (09/11/07)
+
+\tenpoint\noindent
+In fact, these three procedures account for almost every use of \\{get\_next}.
+
+\bugonpage B161, line 19 (12/19/02)
+
+\ninepoint\noindent
+\quad{\bf while} $(\\{state}=\\{token\_list}) \land
+ (\\{loc}=\\{null}) \land (\\{token\_type}\ne\\{v\_template})$ {\bf do}\par
+\noindent\qquad\\{end\_token\_list};\quad$\{\,$conserve stack space$\,\}$
+
+\bugonpage B163, line 29 (12/19/02)
+
+\ninepoint\noindent
+\quad$\\{long\_state}\gets\\{call}$;
+$\\{cur\_tok}\gets\\{par\_token}$;
+$\\{ins\_error}$;
+{\bf goto} \\{continue};
+
+\bugonpage B172, lines 2--6 from the bottom (09/11/07)
+
+\ninepoint\noindent
+{\bf else if\/} $m=\\{vmode}$ {\bf then} \\{scanned\_result}(\\{prev\_depth})(\\{dimen\_val})\par\noindent
+\quad{\bf else} \\{scanned\_result}(\\{space\_factor})(\\{int\_val})
+
+\bugonpage B178, line 4 (09/11/07)
+
+\ninepoint\noindent
+\quad$\\{cur\_val}\gets0$;
+$\\{cur\_val\_level}\gets\\{int\_val}$;
+$\\{radix}\gets0$;
+$\\{cur\_order}\gets\\{normal}$;
+
+\bugonpage B184, line 9 from the bottom (04/18/07)
+
+\tenpoint\noindent
+and denominator sum to 32768 or less.
+According to the definitions here, $\rm2660\,dd\approx1000.33297\,mm$;\kern-6.6pt\cutpar
+
+\bugonpage B206, line 14 (10/30/02)
+
+\tenpoint\noindent
+used input files like \.{webmac.tex}.
+
+\bugonpage B206, new paragraph to follow line 22 (12/20/02)
+
+\tenpoint\noindent\quad
+The following procedures don't allow spaces to be part of
+file names; but some users seem to like names that are spaced-out.
+System-dependent changes to allow such things should probably
+be made with reluctance, and only when an entire file name that
+includes spaces is ``quoted'' somehow.
+
+\bugonpage B227, new line to precede line 23 (09/11/07)
+
+\ninepoint\noindent
+{\bf if} $(\\{nw}=0)\lor(\\{nh}=0)\lor(\\{nd}=0)\lor(\\{ni}=0)$
+ {\bf then} \\{abort};
+
+\bugonpage B256, line 25 (12/20/02)
+
+\ninepoint\noindent
+\qquad\\{cur\_glue}: \\{real};\quad$\{\,$glue seen so far$\,\}$\par\noindent
+\qquad\\{cur\_g}: \\{scaled};\quad$\{\,$rounded
+ equivalent of \\{cur\_glue} times the glue ratio$\,\}$\par\noindent
+\quad{\bf begin} $\\{cur\_g}\gets0$;
+ $\\{cur\_glue}\gets\\{float\_constant}(0)$;\par\noindent
+\quad$\\{this\_box}\gets\\{temp\_ptr}$;
+ $\\{g\_order}\gets\\{glue\_order}(\\{this\_box})$;
+ $\\{g\_sign}\gets\\{glue\_sign}(\\{this\_box})$;
+
+\bugonpage B258, line 5 from the bottom (12/20/02)
+
+\ninepoint\noindent
+\quad{\bf begin} $g\gets\\{glue\_ptr}(p)$;
+ $\\{rule\_wd}\gets\\{width}(g)-\\{cur\_g}$;
+
+\bugonpage B258, bottom line (12/20/02)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}+\\{stretch}(g)$;
+ $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
+\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+
+\bugonpage B259, line 4 (12/20/02)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}-\\{shrink}(g)$;
+ $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
+\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+
+\bugonpage B259, new line to precede old line 7 (12/20/02)
+
+\ninepoint\noindent
+\quad$\\{rule\_wd}\gets\\{rule\_wd}+\\{cur\_g}$;
+
+\bugonpage B260, line 21 (12/19/02)
+
+\ninepoint\noindent
+\qquad{\bf else begin} $\\{lx}\gets\\{lr}$ {\bf div} $(\\{lq}+1)$;
+
+\bugonpage B261, line 9 (12/20/02)
+
+\ninepoint\noindent
+\qquad\\{cur\_glue}: \\{real};\quad$\{\,$glue seen so far$\,\}$\par\noindent
+\qquad\\{cur\_g}: \\{scaled};\quad$\{\,$rounded
+ equivalent of \\{cur\_glue} times the glue ratio$\,\}$\par\noindent
+\quad{\bf begin} $\\{cur\_g}\gets0$;
+ $\\{cur\_glue}\gets\\{float\_constant}(0)$;\par\noindent
+\quad$\\{this\_box}\gets\\{temp\_ptr}$;
+ $\\{g\_order}\gets\\{glue\_order}(\\{this\_box})$;
+ $\\{g\_sign}\gets\\{glue\_sign}(\\{this\_box})$;
+
+\bugonpage B262, line 10 from the bottom (12/20/02)
+
+\ninepoint\noindent
+\quad{\bf begin} $g\gets\\{glue\_ptr}(p)$;
+ $\\{rule\_ht}\gets\\{width}(g)-\\{cur\_g}$;
+
+\bugonpage B262, line 6 from the bottom (12/20/02)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}+\\{stretch}(g)$;
+ $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
+\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+
+\bugonpage B262, line 2 from the bottom (12/20/02)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin} $\\{cur\_glue}\gets\\{cur\_glue}-\\{shrink}(g)$;
+ $\\{vet\_glue}(\\{float}(\\{glue\_set}(\\{this\_box}))*\\{cur\_glue})$;\par
+\noindent\qquad\qquad$\\{cur\_g}\gets\\{round}(\\{glue\_temp})$;
+
+\bugonpage B263, new line to precede old line 2 (12/20/02)
+
+\ninepoint\noindent
+\quad$\\{rule\_ht}\gets\\{rule\_ht}+\\{cur\_g}$;
+
+\bugonpage B264, line 10 (12/19/02)
+
+\ninepoint\noindent
+\qquad{\bf else begin} $\\{lx}\gets\\{lr}$ {\bf div} $(\\{lq}+1)$;
+
+\bugonpage B266, line 29 (09/11/07)
+
+\tenpoint\noindent
+$\\{total\_pages}\ge65536$, the \.{DVI} file will lie. And if
+$\\{max\_push}\ge65536$, the user deserves whatever chaos might ensue.
+
+\bugonpage B279, line 19 (09/11/07)
+
+\ninepoint\noindent
+\qquad\\{p}: \\{pointer};\quad$\{\,$a new glue node$\,\}$
+
+\bugonpage B288, lines 18--20 (09/11/07)
+
+\ninepoint\noindent
+\\{left\_noad}: {\bf begin} \\{print\_esc}(\.{"left"});
+ \\{print\_delimiter}(\\{delimiter}($p$));\par\noindent
+\quad{\bf end};\par\noindent
+\\{right\_noad}: {\bf begin} \\{print\_esc}(\.{"right"});
+ \\{print\_delimiter}(\\{delimiter}($p$));
+
+\bugonpage B290, line 12 (09/11/07)
+
+\ninepoint\noindent
+\quad{\bf begin if\/} $s=\\{text\_size}$ {\bf then}
+ \\{print\_esc}(\.{"textfont"});
+
+\bugonpage B299, line 9 (12/20/02)
+
+\ninepoint\noindent
+\qquad\qquad\quad{\bf if\/} $\\{type}(r)=\\{kern\_node}$ {\bf then}
+ \quad$\{\,$unneeded italic correction$\,\}$
+
+\bugonpage B332, line 6 (12/19/02)
+
+\tenpoint\noindent
+is being scanned, or when no alignment preamble is active.
+
+\bugonpage B332, line 8 (12/19/02)
+
+\ninepoint\noindent
+\quad{\bf begin if\/} $(\\{scanner\_status}=\\{aligning}) \lor
+ (\\{cur\_align}=\\{null})$ {\bf then}
+
+\bugonpage B336, line 11 from the bottom (10/13/03)
+
+\tenpoint\noindent
+$j-i+\\{min\_quarterword}$ in their
+\\{link} fields. The values of $w_{ii}$ were initialized to
+\\{null\_flag},\cutpar
+
+\bugonpage B342, lines 5 and 6 (09/11/07)
+
+\tenpoint
+In restricted horizontal mode, the \\{clang} part of \\{aux} is undefined;
+an over-cautious Pascal runtime system may complain about this.
+
+\bugonpage B343, line 25 (01/02/13)
+
+\noindent
+should begin in the
+sequence of line numbers, in case hanging indentation or \.{\char`\\parshape}
+is in\cutpar
+
+\bugonpage B416, line 22 (02/29/08)
+
+\ninepoint\noindent
+\qquad\qquad{\bf if\/} $\\{count}(t)=1000$ {\bf then} $t\gets\\{height}(r)$
+\par\noindent
+\qquad\qquad{\bf else} $t\gets\\{x\_over\_n}(\\{height}(r),1000)*\\{count}(t)$;
+\par\noindent
+\qquad\qquad\\{print\_scaled}$(t)$
+
+\bugonpage B438, lines 1--3 (09/11/07)
+
+\tenpoint\noindent
+{\bf1035.\quad}If \\{link}(\\{cur\_q}) is nonnull when \\{wrapup} is invoked,
+\\{cur\_q} points to
+the list of characters that were consumed while building the ligature
+character~\\{cur\_l}.
+
+\bugonpage B438, lines 19 and 20 (09/11/07)
+
+\ninepoint\noindent
+\qquad\qquad\qquad{\bf begin if\/} $\\{link}(\\{cur\_q})>\\{null}$ {\bf then}
+\par\noindent
+\qquad\qquad\qquad\quad{\bf if\/} $\\{character}(\\{tail})=\\{qi}(
+ \\{hyphen\_char}[\\{main\_f}])$ {\bf then} $\\{ins\_disc}\gets\\{true}$;
+
+\bugonpage B438, line 4 from the bottom (09/11/07)
+
+\ninepoint\noindent
+\quad$\\{link}(\\{tail})\gets\\{lig\_stack}$;
+$\\{tail}\gets\\{lig\_stack}$\quad$\{\,$\\{main\_loop\_lookahead} is next$\,\}$
+
+\bugonpage B439, line 3 (09/11/07)
+
+\ninepoint\noindent
+\quad{\bf if\/} $\\{main\_p}>\\{null}$ {\bf then}
+ \\{tail\_append}(\\{main\_p});\quad$\{\,$append a single character$\,\}$
+
+\bugonpage B440, new line to follow line 9 (09/11/07)
+
+\ninepoint\noindent
+\quad{\bf if\/} $\\{cur\_r}=\\{non\_char}$ {\bf then goto}
+ \\{main\_loop\_wrapup};
+
+\bugonpage B452, line 18 (28/03/11)
+
+\noindent\\{hmode}, where the latter two are used to denote
+ \.{\char`\\vbox} and \.{\char`\\hbox}, respectively.
+
+\bugonpage B455, lines 3 and 4 (09/11/07)
+
+\ninepoint\noindent
+\quad{\bf if\/} $((\\{cur\_cmd}=\\{hskip})\land(\\{abs}(\\{mode})\ne\\{vmode}))
+ \lor ((\\{cur\_cmd}=\\{vskip})\land(\\{abs}(\\{mode})=\\{vmode}))$ {\bf then}
+
+\bugonpage B472, new paragraph to follow line 10 (12/20/02)
+
+\tenpoint\noindent\quad
+A devious user might force an \\{endv} command to occur just about anywhere;
+we must defeat such hacks.
+
+\bugonpage B472, replacement for what used to be line 13 (12/20/02)
+
+\ninepoint\noindent
+\quad{\bf begin} $\\{base\_ptr}\gets\\{input\_ptr}$;
+ $\\{input\_stack}[\\{base\_ptr}]\gets\\{cur\_input}$;\par\noindent
+\quad{\bf while} $(\\{input\_stack}[\\{base\_ptr}].\\{index\_field}\ne
+ \\{v\_template}) \land{}$\par\noindent
+\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{loc\_field}=
+ \\{null}) \land {}$\par\noindent
+\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{state\_field}=
+ \\{token\_list})$ {\bf do} \\{decr}(\\{base\_ptr});\par\noindent
+\quad{\bf if\/} $(\\{input\_stack}[\\{base\_ptr}].\\{index\_field}\ne
+ \\{v\_template}) \lor {}$\par\noindent
+\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{loc\_field}\ne
+ \\{null}) \lor {}$\par\noindent
+\quad\qquad $(\\{input\_stack}[\\{base\_ptr}].\\{state\_field}\ne
+ \\{token\_list})$ {\bf then}\par\noindent
+\qquad\\{fatal\_error}(\hbox{\tt\char'23(interwoven\]alignment\]preambles\]%
+ are\]not\]allowed)\char'23});\par\noindent
+\quad{\bf if\/} $\\{cur\_group}=\\{align\_group}$ {\bf then}
+
+\bugonpage B505, line 19 (09/11/07)
+
+\ninepoint\noindent
+\qquad(\.{"since\]the\]result\]is\]out\]of\]range."});\par\noindent
+\qquad{\bf if\/} $p\ge\\{glue\_val}$ {\bf then}
+ \\{delete\_glue\_ref}(\\{cur\_val});\par\noindent
+\qquad\\{error}; {\bf return};
+
+\bugonpage B506, line 1 (10/13/03)
+
+\tenpoint\noindent
+{\bf 1237.\quad}Here we use the fact that the consecutive codes
+$\\{int\_val}\to\\{mu\_val}$ and
+$\\{assign\_int}\to$\cutpar
+
+\bugonpage B520, line 8 (06/25/04)
+
+\tenpoint\noindent
+says,
+for example, `\.{(preloaded format=plain 1982.11.19)}', showing the year,
+month, and day\cutpar
+
+\bugonpage B535, new line to follow line 11 (09/11/07)
+
+\ninepoint\noindent
+\qquad{\bf if\/} $\\{last\_glue}\ne\\{max\_halfword}$ {\bf then}
+ \\{delete\_glue\_ref}(\\{last\_glue});
+
+\bugonpage B578, new entry (06/04/06)
+
+\eightpoint\noindent
+Trabb Pardo, Luis Isidoro, 2.
+
+ % volume C
+\hsize=29pc
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\ddashto{\mathrel{\hbox{-\thinspace-\thinspace-\kern-.05em}}}
+\def\tension{\mathop{\rm tension}}
+\def\controls{\mathop{\rm controls}}
+\def\and{\,{\rm and}\,}
+
+\bugonpage Cxi, line 4 (05/20/07)
+
+\line{\hbox to\parindent{\bf\hbox to 1em{\hss27}\hss}%
+ \rm Recovery from Errors\leaders\hbox to 20pt{\kern13pt.\hss}\hfil
+ \hbox to 2em{\hss223}}
+
+\bugonpage C11, line 11 (10/11/01)
+
+\noindent
+the area below the bar to the area above it equal to
+$(\sqrt5+1)/2\approx1.61803$, the\cutpar
+
+\bugonpage C29, illustration for exercise 4.11 (09/09/01)
+
+\noindent
+[points 2 and 5 should not be labeled twice]
+
+\bugonpage C32, line 5 from the bottom (01/04/14)
+
+\noindent
+\hbox to\parindent{\hfil\sevenrm20\ \ }%
+| penpos1(stem,15); penpos2(.9stem,12); penpos3(stem,10);|
+
+\bugonpage C36, line 5 from the bottom (01/05/14)
+
+\noindent
+line~12, where it
+says `|x1l|', not `|x11|' or~`|xll|'); be sure to distinguish between\cutpar
+
+\bugonpage C55, lines 5 and 6 (01/05/14)
+
+\ninepoint\noindent
+suffixed or subscripted.
+Thus, the syntax rule for \<variable>
+should actually be replaced by a slightly more complicated pair of rules:
+
+
+\bugonpage C129, line 16 (02/21/08)
+
+\ninepoint\beginsyntax
+<path subexpression>\is<path expression not ending with direction specifier>\kern-5pt\null
+\endsyntax
+
+\bugonpage C130, lines 13--15 from the bottom (09/13/03)
+
+\ninepoint\noindent
+point but not after it, the
+nonempty one is duplicated in a similar way. A~basic path join
+`$\to\controls u\and v\to$' specifies explicit control points that
+override any direction specifiers that may immediately surround it.
+
+\bugonpage C137, lines 5--7 from the bottom (02/21/08)
+
+\danger Let's conclude this chapter by applying what we've learned about
+paths to a real-life example. The {\sl Journal of Algorithms\/} was
+published for many years by Academic Press, and its cover page carried the
+following logo, which was designed\cutpar
+\enddanger
+
+\bugonpage C137, bottom two lines (02/21/08)
+
+\ninepoint\noindent
+A \MF\ program to produce this logo made it possible for the editors
+of the journal to use it on letterheads in their correspondence.
+Here is one way to do that job,\cutpar
+% actually the MS now says "to write that program," and the
+% correction therefore extends to page C138
+
+\bugonpage C156, line 15 from the bottom (09/09/01)
+
+\ninepoint\noindent
+be the values they had upon entry to the group.)
+
+\bugonpage C159, lines 12--15 (12/01/06)
+
+\begintt
+def --- = ..tension infinity.. enddef;
+\endtt
+it makes `$z_1\ddashto z_2$' become
+`$z_1\to\tension\\{infinity}\to z_2$'.
+The {replacement text} can be any sequence of tokens not including
+`{\bf enddef}\kern1pt'; or it can include entire subdefinitions like
+`{\bf def}~$\ldots$~{\bf enddef}\kern1pt', according to certain rules
+that we shall explain later.
+
+\bugonpage C171, line 16 from the bottom (06/18/02)
+
+\tenpoint
+\<loop>\is\<loop header>|:|\<loop text> {\tt endfor}
+
+\bugonpage C179, line 7 from the bottom (09/09/01)
+
+\ninepoint\noindent
+next time \MF\ gets to the end of an input line, it will stop reading
+from the\cutpar
+
+\bugonpage C180, lines 14--16 (04/25/03)
+
+\ninepoint\noindent
+digits should be a
+file name that works in essentially the same way on all installations of
+\MF\kern-.03em\null. Uppercase letters are considered to be distinct from their
+lowercase counterparts, on many systems.
+
+\bugonpage C180, new line to be inserted 4 from the bottom (06/25/04)
+
+\ninepoint\item\bull
+When \MF\ is reading the symbolic tokens to be saved by {\bf save}.
+
+\bugonpage C203, line 12 from the bottom (04/25/03)
+
+\ninepoint\hbox to 237pt{point~3 at the right of the triangle
+might digitize into a}
+
+\bugonpage C213, line 26 (02/21/08)
+
+\ninepoint\beginsyntax
+<path subexpression>\is<path expression not ending with direction specifier>\kern-5pt\null
+\endsyntax
+
+\bugonpage C226, line 23 (02/21/08)
+
+\ninepoint\noindent following nineteen things will be mentioned:
+
+\bugonpage C226, new line to be second from the bottom (02/21/08)
+
+\ninepoint\indent|independent variables|\qquad(distinct numeric variables)
+
+\bugonpage C236, line 7 from the bottom (01/05/14)
+
+\ninepoint\noindent
+\hbox to\parindent{\hss\bf 7.4.\enspace}False.
+After `|newinternal x;|' you can't say `|x|\<tag>' in a \<suffix list>.
+
+\bugonpage C246, line 12 (02/21/08)
+
+\ninepoint\noindent
+is performed whenever \MF\ uses the last two alternatives
+in the definition\cutpar
+
+\bugonpage C250, lines 13 and 14 (02/19/08)
+
+\ninepoint\noindent\hbox to\parindent{\bf\hss19.3.\enspace}%
+Yes, if and only if $n-{1\over2}$ is a nonnegative even integer.
+\ (Because ambiguous values are rounded upwards.)
+
+\bugonpage C250, line 12 from the bottom (04/25/03)
+
+\ninepoint\noindent
+following \<boolean primary>.)
+
+\bugonpage C286, line 25 (09/09/01)
+
+\ninepoint\noindent
+problem; it would simply have put |ENDFOR| into the
+replacement text of |asts|, because\cutpar
+
+\bugonpage C289, line 7 (09/09/01)
+
+\vskip-6pt\ninepoint\begintt
+if if pair x: x>(0,0) else: false fi: A else: B fi.
+\endtt
+
+\bugonpage C292, line 10 from the bottom (09/09/01)
+
+\ninepoint\noindent
+be known by saying `{\bf if\/} known $p-q$: $p=q$ {\bf else}:~{\bf false}
+{\bf fi}'; transforms could be handled\cutpar
+
+\bugonpage C293, line 5 from the bottom (04/25/03)
+
+\ninepoint\noindent
+given angle~$\phi$. We can consider
+the common angle~$\theta$ of $z_{1r}-z_{1l}$ and $z_{0r}-z_{0l}$ to be\cutpar
+
+\bugonpage C315, line 15 from the bottom (04/25/03)
+
+\ninepoint\noindent
+`b' was shipped out.) \ The second letter,~`o', is placed
+in a second little box adjacent\cutpar
+
+\bugonpage C325, bottom line (02/29/08)
+
+\rightline{\eightss--- CAROLUS LINN\AE US,
+ {\eightssi Philosophia Botanica\/}\enspace(1751)}
+
+\bugonpage C332, line 4 from the bottom (04/25/03)
+
+\ninepoint\noindent
+(The proofsheet resolution will be 50 pixels per inch, because {\it cheapo\/}
+has 200 pixels per\cutpar
+
+\bugonpage C346, left column (06/18/02)
+
+\eightpoint\noindent
+\llap{*}|:|, 169, 171, 317--319.
+
+\bugonpage C346, right column (07/09/01)
+
+\eightpoint\noindent
+\llap{*}|angle|, {\it29}, {\it67}, $\underline{72}$, {\it107},
+{\it135}, 211, {\it238}.
+
+\bugonpage C346, right column (10/04/04)
+
+\eightpoint\noindent
+arccosine, arcsine, arctangent, {\sl see\/} |angle|.
+
+\bugonpage C351, right column (02/21/08)
+
+\eightpoint\noindent
+independent variables, $\underline{81}$--$\underline{83}$, 88, 224, 226.
+
+\bugonpage C352, right column (02/29/08)
+
+\eightpoint\noindent
+Linn\'e, Carl von (= Linn\ae us, Carolus), 325.
+
+\bugonpage C355, right column (02/29/08)
+
+\eightpoint\noindent
+\llap{*}|save|, $\underline{155}$--$\underline{156}$, {\it160}, 173,
+ {\it178}, 180, 218,\par
+\noindent\qquad{\it236}, {\it244}, {\it296}, 299.
+
+ % Volume D
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\to{\mathrel{.\,.}} % double dot, used only in math mode
+
+\bugonpage Dv, page number change (12/27/11)
+
+\eightpoint\noindent[For consistency with Volumes A, C, and E, the
+preface now begins on page v instead of page~vii. This change was first
+made in the sixth printing.]
+
+\bugonpage Dv {(formerly Dvii)}, bottom two lines (01/06/14)
+
+\eightpoint\noindent
+corporates all of those changes.
+I~now believe that the final bug was discovered on 03~June 2008,
+and removed in version 2.7182818.
+The finder's fee has converged to \$327.68.
+
+\bugonpage Dxiii {(formerly Dxv)}, line $-7$ (12/27/11)
+
+\ninepoint\noindent
+Format specs have no effect on the corresponding Pascal program, but they
+do influence\cutpar
+
+\hsize=35pc
+\parindent=1em
+
+\bugonpage D2, line $-17$ (01/03/14)
+
+\ninepoint\noindent
+{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$%
+{\tt This\]is\]METAFONT,\]Version\]2.7182818\char'23}\quad
+$\{\,$printed when \MF\ starts$\,\}$
+
+\bugonpage D2, lines 4 and 5 from the bottom (12/23/02)
+
+\tenpoint\noindent
+types; there are no `{\bf var}' parameters, except in the case of files
+or in the system-dependent \\{paint\_row} procedure;
+there are no tag fields on variant records; there are no \\{real} variables;
+no procedures are declared local to other procedures.)
+
+\bugonpage D16, new paragraph to follow line 26 (06/25/04)
+
+The first line is special also because it may be read before \MF\ has
+input a base file. In such cases, normal error messages cannot yet
+be given. The following code uses concepts that will be explained later.
+(If the Pascal compiler does not support non-local {\bf goto}, the
+statement `{\bf goto} \\{final\_end}' should be replaced by something that
+quietly terminates the program.)
+
+\bugonpage D22, line 26 (09/11/07)
+
+\noindent
+ASCII codes $[\Oct{60}\to\Oct{71},%
+\Oct{136},\Oct{141}\to\Oct{146}]$
+must be printable.
+
+\bugonpage D31, line 29 (06/25/04)
+
+\noindent
+This is the only nontrivial {\bf goto} statement in the
+whole program. It is used when there is no\cutpar
+
+\bugonpage D42, replacement for lines 8--13 (12/23/02)
+
+\tenpoint\noindent\quad
+Notice that if 64-bit integer arithmetic were available,
+we could simply compute $(2^{29}*p+\nobreak q)\allowbreak\,
+\hbox{\bf div}\,(2*q)$.
+But when we are restricted to Pascal's 32-bit arithmetic we
+must either resort to multiple-precision maneuvering
+or use a simple but slow iteration. The multiple-precision technique
+would be about three times faster than the code adopted here, but it
+would be comparatively long and tricky, involving about sixteen
+additional multiplications and divisions.
+
+\bugonpage D43, line 20 (12/23/02)
+
+\tenpoint\noindent
+language or 64-bit substitute is advisable.
+
+\bugonpage D44, lines 24--26 (12/23/02)
+
+\tenpoint\noindent\quad
+Once again it is a good idea to use 64-bit arithmetic if
+possible; otherwise \\{take\_scaled} will use more than 2\% of the running time
+when the Computer Modern fonts are being generated.
+
+\bugonpage D58, line 16 from the bottom (06/25/04)
+
+\ninepoint\noindent
+\hskip5em{\bf if\/} $\\{j\_random}=0$ {\bf then} \\{new\_randoms}
+ {\bf else} \\{decr}(\\{j\_random})
+
+\bugonpage D63, line 21 (06/25/04)
+
+Locations of \\{mem} between \\{mem\_min} and \\{mem\_top} may be dumped as
+part
+of preloaded base\cutpar
+
+\bugonpage D75, line 13 (06/25/04)
+
+\ninepoint\noindent
+\quad{\bf define} $\\{fi\_or\_else}=2$\quad$\{\,$delimiters for conditionals
+ ({\bf elseif\/}, {\bf else}, {\bf fi})$\,\}$
+
+\bugonpage D76, line 5 (06/25/04)
+
+\ninepoint\noindent
+\quad{\bf define} $\\{type\_name}=30$\quad$\{\,$declare a type
+ ({\bf numeric}, {\bf pair}, etc.)$\,\}$
+
+\bugonpage D77, line 16 (06/25/04)
+
+\ninepoint\noindent
+\quad{\bf define} $\\{lig\_kern\_token}=76$\quad$\{\,$the operators
+ `{\bf kern}' and `\.{=:}' and `\.{=:\char'174}', etc.$\,\}$
+
+\bugonpage D98, bottom two lines (06/25/04)
+
+\noindent
+They consist of zero or more parameter tokens followed
+by a code for the type of macro.
+
+\bugonpage D101, line 3 (06/25/04)
+
+\noindent
+\MF\ user assigns a type to a variable like \.{x20a.b} by saying, for
+example, `\.{boolean} \.{x[]a.b}'.
+
+\bugonpage D102, lines 10--16 (06/25/04)
+
+\noindent
+variable that is relevant
+when no attributes are attached to the parent. The \\{attr\_head} node
+has the fields of either
+a value node, a subscript node, or an attribute node, depending on what
+the parent would be if it were not structured; but the subscript and
+attribute fields are ignored, so it effectively contains only the data of
+a value node. The \\{link} field in this special node points to an attribute
+node whose \\{attr\_loc} field is zero; the latter node represents a collective
+subscript `\.{[]}' attached to the parent, and its \\{link} field points to
+the first non-special attribute node (or to \\{end\_attr} if there are none).
+
+\bugonpage D102, lines 7 and 8 from the bottom (06/25/04)
+
+\noindent
+$\\{subscr\_head}(\\{q1})=\\{qq1}$;
+\\{qq} is a three-word ``attribute-as-value'' node with
+$\\{type}(\\{qq})=\break\\{numeric\_type}$
+(assuming that \.{x5} is numeric, because \\{qq} represents `\.{x[]}'
+with no further\break
+ attributes), $\\{name\_type}(\\{qq})=\\{structured\_root}$,
+$\\{attr\_loc}(\\{qq})=0$, $\\{parent}(\\{qq})=p$,\cutpar
+
+\bugonpage D103, line 6 (06/25/04)
+
+\noindent
+The value of variable \.{x20b}
+appears in node~$\\{qqq2}=\\{link}(\\{qqq1})$, as you can well imagine.
+Similarly, the value of `\.{x.a}' appears in node $\\{q2}=\\{link}(\\{q1})$,
+where $\\{attr\_loc}(\\{q2})=h(a)$ and $\\{parent}(\\{q2})=p$.
+
+\bugonpage D114, line 12 (06/25/04)
+
+\noindent
+\qquad Such save stack entries are generated by {\bf save} commands.
+
+\bugonpage D120, line 3 (06/25/04)
+
+\ninepoint\noindent
+[delete the line `The code here \dots', since the
+ code {\it doesn't\/} use the stated fact]
+
+\bugonpage D126, line 10 (06/25/04)
+
+\tenpoint\noindent
+If $\theta_0$ is supposed to have a given value $E_0$, we simply
+define $C_0=1$, $D_0=0$, and $R_0=E_0$.\cutpar
+
+\bugonpage D138, line 11 from the bottom (10/26/06)
+
+\tenpoint\noindent
+for the bisected interval are $z'_0=z_0$
+and $z''_0=z_0+(Z'_1+Z'_2+\cdots+Z'_n)/2^{l+1}$.
+
+\bugonpage D142, line 3 (06/25/04)
+
+\tenpoint\noindent
+out to hold if and only if $x_0\le x_1$ and $x_2\le x_3$, and either
+$x_1\le x_2$ or $(x_1-x_2)^2\le(x_1-x_0)(x_3-x_2)$.\cutpar
+
+\bugonpage D142, line 8 (10/26/06)
+
+\tenpoint\noindent\quad
+For example, if we start with $(x_1-x_0,x_2-x_1,x_3-x_2)=
+(X_1,X_2,X_3)=(7,-16,39)$, the\cutpar
+
+\bugonpage D142, lines 21--23 (06/25/04)
+
+\tenpoint\noindent
+monotonic
+cubic, then $B(x_0,x_1,x_2,x_3;{1\over2})$ is always between
+$.06[x_0,x_3]$ and $.94[x_0,x_3]$; and it is impossible for $\bar x$
+to be within~$\epsilon$ of such a number. Contradiction!
+(The constant .06 is actually $(2-\sqrt3\,)/4$; the worst case
+occurs for polynomials like $B(0,2-\sqrt3,1-\sqrt3,3;t)$.)
+
+\bugonpage D177, line 18 (06/25/04)
+
+\ninepoint\noindent
+$\\{cur\_x},\\{cur\_y}$: \\{scaled};\quad$\{\,$outputs of \\{skew},
+ \\{unskew}, and a few other routines$\,\}$
+
+\bugonpage D182, lines 27--29 (06/25/04)
+
+\noindent
+{\bf399.\quad}If
+ the segment numbers on the cycle are $t_1$, $t_2$, \dots, $t_m$,
+and if $m\le\\{max\_quarterword}$,
+we have $t_{k-1}\le t_k$ except for at most one value of~$k$. If there are
+no exceptions, $f$ will point to $t_1$; otherwise it will point to the
+exceptional~$t_k$.
+
+\bugonpage D184, line 18 (12/21/02)
+
+\ninepoint\noindent
+\qquad\\{chopped}: \\{integer};\quad
+$\{\,$positive if data truncated, negative if data dangerously large$\,\}$
+
+\bugonpage D184, line 25 (12/21/02)
+
+\ninepoint\noindent
+\quad{\bf if\/} $(\\{internal}[\\{autorounding}]>0)\land(\\{chopped}=0)$
+ {\bf then} \\{xy\_round};
+
+\bugonpage D184, line 27 (12/21/02)
+
+\ninepoint\noindent
+\quad{\bf if\/} $(\\{internal}[\\{autorounding}]>\\{unity})\land
+ (\\{chopped}=0)$ {\bf then} \\{diag\_round};
+
+\bugonpage D184, line 32 (12/21/02)
+
+\ninepoint\noindent
+\qquad{\bf if\/} $(\\{internal}[\\{autorounding}]\le0)\lor(\\{chopped}\ne0)$
+ {\bf then} \\{print\_spec}({\tt\char`",\]after\]subdivision\char`"})
+
+\bugonpage D185, lines 15--19 (12/21/02)
+
+\ninepoint\noindent
+\quad{\bf define} \\{procrustes}({\tt\char`#})${}\equiv{}${\bf if\/}
+ $\\{abs}(\.\#)\ge\\{dmax}$ {\bf then}\par\noindent
+\qquad\qquad\quad{\bf if\/} $\\{abs}(\.\#)>\\{max\_allowed}$ {\bf then}\par
+\noindent\qquad\qquad\qquad{\bf begin} $\\{chopped}\gets1$;\par\noindent
+\qquad\qquad\qquad{\bf if\/} $\.\#>0$ {\bf then} $\.\#\gets\\{max\_allowed}$
+ {\bf else} $\.\#\gets-\\{max\_allowed}$;\par\noindent
+\qquad\qquad\qquad{\bf end}\par\noindent
+\qquad\qquad\quad{\bf else if\/} $\\{chopped}=0$ {\bf then}
+ $\\{chopped}\gets-1$
+
+\bugonpage D185, old line 22 (12/21/02)
+
+\ninepoint\noindent
+\quad$p\gets\\{cur\_spec}$; $k\gets1$; $\\{chopped}\gets0$;
+ $\\{dmax}\gets\\{half}(\\{max\_allowed})$;
+
+\bugonpage D185, old line 28 (12/21/02)
+
+\ninepoint\noindent
+\quad{\bf if\/} $\\{chopped}>0$ {\bf then}
+
+\bugonpage D196, lines 3--8 (06/25/04)
+
+The first job is to fix things so that $x(t)$ plus the horizontal
+pen offset is an integer multiple of the
+current ``granularity'' when the derivative $x'(t)$ crosses through zero.
+The given cyclic path contains regions where $x'(t)\ge0$ and regions
+where $x'(t)\le0$. The \\{quadrant\_subdivide} routine is called into action
+before any of the path coordinates have been skewed, but some of them
+may have been negated. In regions where $x'(t)\ge0$ we have $\\{right\_type}=%
+\\{first\_octant}$ or $\\{right\_type}=\\{eighth\_octant}$; in regions where
+$x'(t)\le0$,
+we have $\\{right\_type}=\\{fifth\_octant}$ or $\\{right\_type}=\\{fourth%
+\_octant}$.
+
+\bugonpage D196, lines 15 and 16 (06/25/04)
+
+\noindent
+current pen might be unsymmetric in such a way that $x$ coordinates
+should round dif-\break ferently in different parts of the curve.
+These considerations imply that round$(x_0)$\cutpar
+
+\bugonpage D200, line 4 (06/25/04)
+
+\noindent
+and that there are similar ways to address other important offsets.\par
+\smallskip\ninepoint
+[Also delete the definitions of \\{north\_south\_edge}, etc.,
+on lines 11--15; those definitions are never used.]
+
+\bugonpage D212, line 18 (06/25/04)
+
+\noindent
+at $(x_0,y_0)$ and ends at $(x_1,y_1)$, it's possible to
+prove (by induction on the length of the truncated\cutpar
+
+\bugonpage D216, bottom line (06/25/04)
+
+\noindent
+we list it twice (with coordinates
+interchanged, so as to make the second octant look like\cutpar
+
+\bugonpage D217, lines 2--10 (06/25/04)
+
+\noindent
+$$\tabskip\centering
+\halign to\hsize{$\hfil#\;\mapsto\;{}$\tabskip=0pt&
+$#\hfil$&\quad in the #\hfil\tabskip\centering\cr
+w_2\;w_2\;w_2&(-5,6)\;(-5,6)\;(-5,6)\cr
+\noalign{\vskip\belowdisplayskip
+\vbox{\noindent\strut as the list of transformed and skewed offsets to use
+when curves that travel in the second octant. Similarly, we will have\strut}
+\vskip\abovedisplayskip}
+w_2\;w_2\;w_2&(7,-6)\;(7,-6)\;(7,-6)&third;\cr
+w_2\;w_2\;w_3\;w_3&(-7,1)\;(-7,1)\;(-3,2)\;(-3,2)&fourth;\cr
+w_3\;w_3\;w_3&(3,-2)\;(3,-2)\;(3,-2)&fifth;\cr
+w_3\;w_3\;w_0\;w_0&(-3,1)\;(-3,1)\;(1,0)\;(1,0)&sixth;\cr
+w_0\;w_0\;w_0&(1,0)\;(1,0)\;(1,0)&seventh;\cr
+w_0\;w_0\;w_0&(-1,1)\;(-1,1)\;(-1,1)&eighth.\cr}$$
+
+\bugonpage D218, lines 2 and 3 (06/25/04)
+
+\noindent
+count followed by pointers to the eight offset lists, followed
+by an indication of the pen's range of values.
+
+\bugonpage D218, line 15 (06/25/04)
+
+The \\{link} field of a pen header node should be \\{null} if and only if
+the pen is a single point.
+
+\bugonpage D227, line 11 (06/25/04)
+
+\noindent
+\\{endpoint}. The cubics all have
+monotone-nondecreasing $x(t)$ and $y(t)$.
+
+\bugonpage D228, lines 4--7 from the bottom (06/25/04)
+
+\noindent
+In odd-numbered octants, the numerator and denominator of this fraction
+will be nonnegative; in even-numbered octants they will both be nonpositive.
+Furthermore we always have $0=s_0\le s_1\le\cdots\le s_n=\infty$. The goal of
+\\{offset\_prep} is to find an offset index~$k$ to associate with
+each cubic, such that the slope $s(t)$ of the cubic satisfies
+
+\bugonpage D231, line 7 (06/25/04)
+
+\ninepoint\noindent
+\quad{\bf if\/} $\\{abs}(\\{du})\ge\\{abs}(\\{dv})$ {\bf then}\quad $\{\,
+ s_{k-1}\le1$ or $s_k\le1\,\}$
+
+\bugonpage D231, line 16 (06/25/04)
+
+\noindent
+and return towards $s_{k-1}$ or $s_k$,
+respectively, yielding another solution of $(*)$.
+
+\bugonpage D246, line 4 from the bottom (06/25/04)
+
+\noindent
+dinate fields. Hence, for example,
+the point $\bigl($$\\{x\_coord}(p)-\\{left\_v}(q),\\{y\_coord}(p)+%
+\\{right\_u}(p)$$\bigr)$
+also\cutpar
+
+\bugonpage D248, lines 14 and 15 (01/06/14)
+
+\noindent
+the $x$-axis at the point
+$\bigl((a^2-b^2)\sin\theta\cos\theta/\rho\bigr)+i\rho$, where
+\vadjust{\vskip1pt}%
+$\rho=\sqrt{(a\sin\theta)^2+(b\cos\theta)^2}$. It reaches
+furthest to the right of~the $y$-axis at the point
+$\sigma+i(a^2-b^2)\sin\theta\cos\theta/\sigma$, where
+$\sigma=$\cutpar
+
+\bugonpage D248, line 24 (06/25/04)
+
+\ninepoint\noindent
+\qquad{\bf else begin} $\\{beta}\gets\\{minor\_axis}$;
+ $\\{gamma}\gets\\{major\_axis}$;
+ $\\{theta}\gets0$;
+
+\bugonpage D251, line 1 (01/06/14)
+
+\noindent
+{\bf536.\quad}Only the coordinates need to be copied, not the class numbers
+and other stuff. At this point either $\\{link}(p)$ or
+$\\{link}(\\{link}(p))$ is \\{null}.
+
+\bugonpage D251, line 10 (01/06/14)
+
+\ninepoint\noindent
+\\{done1}: {\bf if\/} $(\\{link}(p)\ne\\{null})$ {\bf then}
+$\\{free\_node}(\\{link}(p),\\{knot\_node\_size})$;\hfil\break
+\null\quad$\\{link}(p)\gets s$;
+$\\{beta}\gets-\\{y\_coord}(h)$;
+
+\bugonpage D256, line 2 from the bottom (06/25/04)
+
+\noindent
+we have $2^lu_{\min}=2^lu_0+U_{\min}$, etc.; the condition for overlap
+reduces to
+
+\bugonpage D261, line 5 (06/25/04)
+
+\ninepoint\noindent
+\\{tol}: \\{integer};\quad$\{\,$bound on the uncertainty in the overlap test$\,\}$
+
+\bugonpage D262, lines 26 and 27 (06/25/04)
+
+\ninepoint\noindent
+\qquad\quad$\\{uv}\gets\\{uv}+\\{int\_packets}$;\quad$\{\,$switch
+ from \\{l\_packets} to \\{r\_packets}$\,\}$\par\noindent
+\qquad\quad$\\{decr}(\\{cur\_tt})$;
+ $\\{xy}\gets\\{xy}-\\{int\_packets}$;\quad$\{\,$switch
+ from \\{r\_packets} to \\{l\_packets}$\,\}$
+
+\bugonpage D262, line 11 from the bottom (06/25/04)
+
+\ninepoint\noindent
+\qquad$\\{xy}\gets\\{xy}+\\{int\_packets}$;\quad$\{\,$switch
+ from \\{l\_packets} to \\{r\_packets}$\,\}$
+
+\bugonpage D274, line 15 from the bottom (06/25/04)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin if\/} $\\{serial\_no}>\\{el\_gordo}-\\{s\_scale}$
+ {\bf then}\par\noindent
+\qquad\qquad\quad$\\{overflow}(\.{"independent\]variables"},
+ \\{serial\_no}\mathbin{\hbox{\bf div}}\\{s\_scale})$;\par\noindent
+\qquad\qquad$\\{type}(\#)\gets\\{independent}$;
+ $\\{serial\_no}\gets\\{serial\_no}+\\{s\_scale}$;
+ $\\{value}(\#)\gets\\{serial\_no}$;
+
+\bugonpage D309, line 21 (06/25/04)
+
+\noindent
+{\bf670.\quad}We go to \\{restart} instead of to \\{switch},
+because we might enter \\{token\_state} after the error\cutpar
+
+\bugonpage D314, line 6 from the bottom (06/25/04)
+
+\noindent
+\\{macro\_def} or \\{iteration}).
+
+\bugonpage D330, line 1 (06/25/04)
+
+\noindent
+{\bf728.\quad}A {\bf suffix} or {\bf text} parameter will have been scanned as
+a token list pointed to by \\{cur\_exp},\cutpar
+
+\bugonpage D354, lines 15 and 16 from the bottom (06/25/04)
+
+\noindent\hangindent 3em
+$\\{cur\_type}=\\{unknown\_boolean}$ means that \\{cur\_exp} points to a
+capsule node that is in
+a ring of equivalent booleans whose value has not yet been defined.
+
+\bugonpage D354, lines 11 and 12 from the bottom (06/25/04)
+
+\noindent\hangindent 3em
+$\\{cur\_type}=\\{unknown\_string}$ means that \\{cur\_exp} points to a
+capsule node that is in
+a ring of equivalent strings whose value has not yet been defined.
+
+\bugonpage D354, lines 7 and 8 from the bottom (06/25/04)
+
+\noindent\hangindent 3em
+$\\{cur\_type}=\\{unknown\_pen}$ means that \\{cur\_exp} points to a
+capsule node that is in
+a ring of equivalent pens whose value has not yet been defined.
+
+\bugonpage D355, lines 1 and 2 (06/25/04)
+
+\noindent\hangindent 3em
+$\\{cur\_type}=\\{unknown\_path}$ means that \\{cur\_exp} points to a
+capsule node that is in
+a ring of equivalent paths whose value has not yet been defined.
+
+\bugonpage D355, lines 5 and 6 (06/25/04)
+
+\noindent\hangindent 3em
+$\\{cur\_type}=\\{unknown\_picture}$ means that \\{cur\_exp} points to a
+capsule node that is in
+a ring of equivalent pictures whose value has not yet been defined.
+
+\bugonpage D355, lines 21 and 22 (06/25/04)
+
+\noindent
+$\\{cur\_type}=\\{token\_list}$ means that \\{cur\_exp} points to a linked list
+of tokens.
+
+\bugonpage D356, lines 2--3 (06/25/04)
+
+\noindent
+nodes have $\\{name\_type}=\\{capsule}$,
+and their \\{type} field is one of the possibilities for \\{cur\_type}
+listed above.
+Also $\\{link}\le\\{void}$ in capsules that aren't part of a token list.
+
+\bugonpage D368, line 13 (06/25/04)
+
+\ninepoint\noindent
+\qquad\\{my\_var\_flag}: $0\to\\{max\_command\_code}$;\quad$\{\,$initial
+ value of \\{var\_flag}$\,\}$
+
+\bugonpage D378, line 9 from the bottom (06/25/04)
+
+\ninepoint\noindent
+\qquad\quad{\bf begin} $\\{cur\_type}\gets\\{known}$;
+ $\\{cur\_exp}\gets0$;
+ $\\{free\_node}(q,\\{dep\_node\_size})$;
+
+\bugonpage D380, line 12 (06/25/04)
+
+\ninepoint\noindent
+\qquad\qquad{\bf begin} $\\{type}(r)\gets\\{known}$;
+ $\\{value}(r)\gets0$;
+ $\\{free\_node}(p,\\{dep\_node\_size})$;
+
+\bugonpage D390, lines 2 and 3 (06/25/04)
+
+\noindent
+by a previous operation. We must maintain
+the value of $\\{right\_type}(q)$ in cases such as\break
+`|..{curl2}z{0,0\}..|'.
+
+\bugonpage D437, line 1 (06/25/04)
+
+\noindent
+{\bf996.\quad}And \\{do\_assignment} is similar to \\{do\_equation}:
+
+\bugonpage D439, line 10 becomes two lines (06/25/04)
+
+\ninepoint\noindent
+\qquad{\bf begin} $\\{nonlinear\_eq}(v,\\{cur\_exp},\\{false})$;
+ $\\{cur\_type}\gets t$;
+ {\bf goto} \\{done};
+
+\bugonpage D443, line 11 (06/25/04)
+
+\ninepoint\noindent
+\\{done}: {\bf if\/} $\\{eq\_type}(x)\mathbin{\hbox{\bf mod}}\\{outer\_tag}
+ \ne\\{tag\_token}$ {\bf then}
+ $\\{clear\_symbol}(x,\\{false})$;
+
+\bugonpage D452, line 9 (06/25/04)
+
+\noindent
+though they don't necessarily correspond to primitive tokens.
+
+\bugonpage D476, line 12 from the bottom (06/25/04)
+
+\ninepoint\noindent
+\quad{\bf if\/} $\\{nl}-\\{skip\_table}[c]>128$ {\bf then}
+
+\bugonpage D483, line 7 (06/25/04)
+
+\ninepoint\noindent
+\quad$\\{max\_tfm\_dimen}\gets16\ast\\{internal}[\\{design\_size}]-1
+ -\\{internal}[\\{design\_size}]\mathbin{\hbox{\bf div}}\Oct{10000000}$;
+
+\bugonpage D483, lines 15--17 (06/25/04)
+
+\ninepoint\noindent
+\qquad{\bf if\/} $x>0$ {\bf then}
+ $x\gets\\{max\_tfm\_dimen}$ {\bf else}
+ $x\gets-\\{max\_tfm\_dimen}$;\par\noindent
+\qquad{\bf end};\par\noindent
+\quad$x\gets\\{make\_scaled}(x\ast16,\\{internal}[\\{design\_size}])$;
+
+\bugonpage D496, line 2 (06/25/04)
+
+\noindent
+a pointer to
+an edge structure. Its mission is to describe the positive pixels
+in \.{GF} form,\cutpar
+
+\bugonpage D500, line 16 (06/25/04)
+
+\ninepoint\noindent
+\quad$\\{selector}\gets\\{old\_setting}$;
+ $\\{gf\_out}(\\{cur\_length})$;
+ $\\{gf\_string}(0,\\{make\_string})$;
+ $\\{decr}(\\{str\_ptr})$;
+
+\bugonpage D506, lines 8--10 (06/25/04)
+
+\noindent
+\MF\ it says,
+for example, `\.{(preloaded base=plain 1984.2.29)}', showing the year,
+month, and day that the base file was created. We have $\\{base\_ident}=0$
+before \MF's tables are loaded.
+
+\bugonpage D514, line 14 from the bottom (06/25/04)
+
+\noindent
+\.{CMMF}, should also be provided for commonly used bases such as \.{cmbase}.
+
+ % volume E
+\hsize=29pc
+
+\newbox\shorthyf \setbox\shorthyf=\hbox{-\kern-.05em}
+\mathchardef\period=`\.
+{\catcode`\-=\active \global\def-{\copy\shorthyf\mkern3.9mu}
+ \catcode`\.=\active \global\def.{\period\mkern3mu}}
+\def\8#1{\mathrel{\mathcode`\.="8000 \mathcode`\-="8000
+ #1\unkern}} % `..' and `--'
+
+\bugonpage E1, line 3 (01/06/06)
+
+\tenpoint\noindent
+Zillions of alphabets can be generated by the programs in this book.
+All\cutpar
+
+\bugonpage E6, lines 16--19 (12/29/04)
+
+\textindent\bull
+ {\it square\_dots\/} tells whether dots should be square, not rounded;\smallskip
+\textindent\bull
+ {\it hefty\/} tells whether weight-reducing strategies should be used;\smallskip
+\textindent\bull\hangindent\parindent
+ {\it monospace\/} tells whether the characters should all be forced to
+ have the same width;
+
+\bugonpage E7, line 11 (12/21/02)
+
+\ninepoint\indent
+\\{hair}, \\{vair}, \\{stem}, \\{curve}, \\{ess}, \\{flare}, \\{dot\_size},
+ \\{bar}, \\{slab},
+
+\bugonpage E7, line 14 (12/21/02)
+
+\ninepoint\indent
+\\{crisp}, \\{tiny}, \\{fine};
+\medskip\noindent
+and \\{thin\_join} should not be less than \\{fine}.
+
+\bugonpage E19, line 19 (11/07/01)
+
+\tenpoint
+\line{\\{cap\_notch\_cut}\hskip 0pt plus1.5fil46/36\hfil31/36\hfil25/36\hfil
+24/36\hfil22/36\hskip0pt plus3fil25/36}
+
+\bugonpage E41, line 8 (12/21/02)
+
+\ninepoint\noindent\mathchardef\AM="2026 % ampersand
+\quad$\\{extra\_endchar}\gets\\{extra\_endchar}\AM
+ \.{\char`"charcode:=charcode+code\char`\_offset;"}$;
+
+\bugonpage E53, line 7 (12/21/02)
+
+\def\frac#1/#2{\leavevmode\kern.1em
+ \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
+ /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
+\ninepoint\noindent
+{\bf numeric} \\{mid\_thickness};
+ $\\{mid\_thickness}={\rm Vround}$ \frac1/3[$\\{vair},\\{stem}$];
+
+\bugonpage E125, line 6 from the bottom (07/10/05)
+
+\ninepoint\noindent
+$\\{top}\,y_1=\\{top}\,y_6=h$; $z_2=.5[z_3,z_1]+\\{bend}$;
+
+\bugonpage E125, line 3 from the bottom (07/10/05)
+
+\ninepoint\noindent
+{\bf draw} $z_1-\\{flourish\_change}\{\\{up}\}+(0,.15\\{asc\_height})
+ \{\\{up}\}$\par
+\line{\quad$\8{...}\{\\{right}\}(z_1+(2u,0))\8{---}z_6\8{...}\{\\{down}\}z_7$;
+ \hfil\% upper bar}
+
+\bugonpage E146, also pages 164 and 540 (02/08/03)
+
+\eightpoint\noindent
+[The labels on the new illustrations of beta, omega, and spadesuit
+are too large, and the resolution of the shapes is too small.]
+
+\bugonpage E147, line 11 from the bottom (04/23/04)
+
+\ninepoint\noindent
+$x_0=x_1=x_9$; $\\{lft}\,x_{0r}={\rm hround}(1.5u-.5\\{hair})$;
+$x_2=x_4=x_6=x_8=.5w-.25u$;
+
+\bugonpage E147, line 8 from the bottom (04/23/04)
+
+\ninepoint\noindent
+$y_5=.5[y_4,y_6]$; $\\{top}\,y_{6r}-\\{bot}\,y_{4r}=\\{vstem}+\\{eps}$;
+ $\\{bot}\,y_{8r}=-\\{oo}$; $y_7=y_9=.55[y_6,y_8]$;
+
+\bugonpage E149, line 8 from the bottom (04/23/04)
+
+\ninepoint\noindent
+$y_5+.1\\{x\_height}=y_7=.5[y_6,y_8]$; $\\{bot}\,y_{6r}=-\\{oo}$;
+
+\bugonpage E157, line 11 (02/29/08)
+
+\ninepoint\noindent
+\line{{\bf filldraw} $z_{1l}\8{--}z_{2l}\8{...}(x_3,y_{2l})\8{...}z\8{--}
+ z_{1r}\8{--}\rm cycle$;\hfil\% stem}
+
+\bugonpage E161, line 7 from the bottom (04/23/04)
+
+\ninepoint\noindent
+$\\{top}\,y_{1r}=\\{x\_height}+\\{oo}$; $y_2=y_4=.5[y_1,y_3]$;
+ $\\{bot}\,y_{3r}=-\\{oo}$;
+
+\bugonpage E209, line 3 (12/29/04)
+
+\ninepoint
+\rightline{\% This lowercase italic alphabet was prepared by D. E. Knuth
+ in December, 1979,}
+
+\bugonpage E377, lines 3 and 4 from the bottom (12/22/02)
+
+\ninepoint\noindent
+\qquad {\bf path} \\{p\_}; $\\{p\_}=z_{\$\$l}\{z_{@1}-z_{\$\$l}\}\8{...}
+ \\{darkness}[z_{@1},.5[z_{@2},z_{\$\$l}]]\8{...}z_{@2}$\par\noindent
+\qquad\quad$\8{---}z_{\$l}\8{--}z_{\$r}\8{--}z_{@0}\8{--}z_{\$\$r}\8{--}%
+ {\rm cycle}$;\par\noindent
+\qquad{\bf if\/} $(y_{\$\$}>y_\$) \ne ({\rm ypart}\,\hbox{\bf precontrol}\,1
+ \,\hbox{\bf of\/}\,\\{p\_} > {\rm ypart}\,\hbox{\bf postcontrol}\,1\,
+ \,\hbox{\bf of\/}\,\\{p\_})$:\par\noindent
+\qquad\quad$\\{p\_}=z_{\$\$l}\{z_{@1}-z_{\$\$l}\}\8{...}
+ \\{darkness}[z_{@1},.5[z_{@2},z_{\$\$l}]]$\par\noindent
+\qquad\qquad$\8{---}z_{\$l}\8{--}z_{\$r}\8{--}z_{@0}\8{--}z_{\$\$r}\8{--}%
+ {\rm cycle}$;\ {\bf fi}\par\noindent
+\line{\qquad {\bf filldraw} \\{p\_};\hfil \% arm and beak}
+
+\bugonpage E379, lines 17 and 18 become one line (01/06/14)
+
+\ninepoint\noindent
+{\bf else}: $\\{rt}\,x_{6r}={\rm hround}(w-1.5u)$;
+$y_{6}=y_{5l}+\\{eps};$ {\bf fi}
+
+\bugonpage E379, bottom line of the program (01/06/14)
+
+\def\SH{\raise.7ex\hbox{$\scriptstyle\#$}} % sharp sign for sharped units
+\ninepoint\noindent
+{\bf math\_fit}$(0,\\{ic}\SH-2.5u\SH)$;
+{\bf penlabels}$(0,1,2,3,4,5,6,7)$;
+{\bf endchar};
+
+\bugonpage E489, bottom line (06/25/04)
+
+\ninepoint\noindent
+{\bf labels}$(1,2,3,4,5,6)$; {\bf endchar};\hfil\break
+[Labels `\.5' and `\.6' should also be added to
+ the lower illustration on page E488.]
+
+\bugonpage E545, line 11 from the bottom (12/29/04)
+
+\parindent=36pt
+The most important general routine in |cmbase| is probably the {\it pos}\cutpar
+
+\bugonpage E551, line 3 from the bottom (12/29/04)
+
+\noindent quantities needed in the |calu|
+programs are also established at this time.
+
+
+\bugonpage E577, right column (12/23/02)
+
+\eightpoint\noindent
+\\{p\_}\kern1pt, 305, 377.\par\noindent
+{\bf padded}, 103--111, 117--121, $\underline{549}$.
+
+\bugonpage E578, left column (12/23/02)
+
+\eightpoint\noindent
+{\bf postcontrol}, 347, 377.\par\noindent
+{\bf precontrol}, 347, 377.
+
+ \bye
diff --git a/systems/knuth/dist/errata/errorlog.tex b/systems/knuth/dist/errata/errorlog.tex
index 49bb6c0450..dfb201b737 100644
--- a/systems/knuth/dist/errata/errorlog.tex
+++ b/systems/knuth/dist/errata/errorlog.tex
@@ -1946,7 +1946,7 @@ R567. Don't ship out incredibly huge pages; they might foul up
* 2 Dec 1982
G568. Add new features |\everymath| and |\everydisplay|. @1139,1145
G569. Add a new feature |\futurelet|. @1221
-# The changes above have been incorporated into Version 0.9 of TeX.
+# The changes above have been incorporated into Version 0.9 of \TeX.
* 7 Dec 1982
G570. Add a new |\endinput| primitive (suggested by FY). @362,378
* 8 Dec 1982
@@ -2694,7 +2694,7 @@ A848\>742. Calculate the empty-line condition properly when \\{end_line_char} is
E849. Avoid closing a file when \TeX\ knows that it isn't open (JS). @560
* 3 Aug 1987
S850. Clean up unfinished output if it's necessary to
- \\{jump_out} (Klaus Gunterman). @642
+ \\{jump_out} (Klaus Guntermann). @642
# That makes Version 2.3; subsequent version numbers won't be logged here.
* 19 Aug 1987
A851. Indent rules properly in cases like\hfil\break
@@ -2887,7 +2887,7 @@ R932. Avoid overflow on huge real-to-integer conversion. @625,634
* 19 March 1995
R933. Avoid spurious reference counts in format files (PB). @1335
* 23 November 1998
-R934. Make sure that TeX is certifiably Y2K-safe. @1328
+R934. Make sure that \TeX\ is certifiably Y2K-safe. @1328
* 12 July 1999
A935\>255. |\xleaders| often drops the final box (Hiroshi Nakashima). @627,636
* 30 August 2001
@@ -2899,14 +2899,25 @@ Q938. Improve rounding of glue during output (M. F. Bridgland). @625,634
* 18 March 2008
F939. Forgot to goto the proper error recovery (DRF). @395
E940. Avoid a case of dirty Pascal and speed up inner loop. @1035
-R941. Forget reference to last_glue in format file (DRF). @1335
+R941. Forget reference to \\{last_glue} in format file (DRF). @1335
R942. Glue reference not updated after overflow error (DRF). @1236
-B943. Muglue in \leaders had wrong units; now disallowed (DRF). @1078
+B943. Muglue in |\leaders| had wrong units; now disallowed (DRF). @1078
E944. Speedup of ligatures and kerns at end of a word (DRF). @1039
-R945. Another sanity check of TFM files for security (DRF). @365
+R945. Another sanity check of TFM files for security (DRF). @565
I946. Give better size data for unmagnified insertions. @986
* 6 January 2014
-C947. Space after \csname\endcsname to match other spaces. (Oleg Bulatov) @262
+C947. Space after |\csname\endcsname| to match other spaces. (Oleg Bulatov) @262
+* 15 January 2021
+I948. Don't pause on errors when tracing paragraphs (Udo Wermuth). @826
+S949. Don't try to interact when in |\batchmode| (Xiaosa Zhang). @83
+S950. Don't try to edit when no file is active (Xiaosa Zhang). @84
+R951. Take date and time sometimes from system, not user (Udo Wermuth). @241,536
+B952. Don't allow implicit left brace after |#| (Udo Wermuth). @476
+R953. After nine parameters, must delete offending tokens (Bruno Le Floch). @476
+D954. Garbage visible in buffer after file ends prematurely (DRF). @486
+R955. Force nonexistent characters to have null specs (DRF). @722
+C956. Don't mark fraction noads as temporarily Inner (DRF). @761
+Q957. Reset |\newlinechar| before logging the stats (Udo Wermuth). @1333,1335
\relax
\bye
diff --git a/systems/knuth/dist/errata/mf84.bug b/systems/knuth/dist/errata/mf84.bug
index 0ce8ccbd74..c6349b896d 100644
--- a/systems/knuth/dist/errata/mf84.bug
+++ b/systems/knuth/dist/errata/mf84.bug
@@ -2321,10 +2321,117 @@ done1: if (link(p)<>null) then free_node(link(p),knot_node_size);
link(p):=s; beta:=-y_coord(h);
@z
+573. Don't restrict the length of the banner line, leave it system-dependent code
+(Udo Wermuth, 02 April 2017)
+@x module 61
+incorrect, but the discrepancy is not serious since we assume that the banner
+and base identifier together will occupy at most |max_print_line|
+character positions.
+@y
+incorrect, but the discrepancy is not serious since we assume that this
+part of the program is system dependent.
+@^system dependencies@>
+@z
+
+574. Defeat interactions during batch mode (Xiaosa Zhang, 27 June 2020)
+@x module 78
+@ @<Get user's advice...@>=
+loop@+begin continue: clear_for_error_prompt; prompt_input("? ");
+@y
+@ @<Get user's advice...@>=
+loop@+begin continue: if interaction<>error_stop_mode then return;
+ clear_for_error_prompt; prompt_input("? ");
+@z
+
+575. Don't exit to editor if no input file is at the bottom line
+(Xiaosa Zhang, 03 July 2020)
+@x module 79
+"E": if file_ptr>0 then
+@y
+"E": if file_ptr>0 then if input_stack[file_ptr].name_field>=256 then
+@z
+@x module 80
+if file_ptr>0 then print("E to edit your file,");
+@y
+if file_ptr>0 then if input_stack[file_ptr].name_field>=256 then
+ print("E to edit your file,");
+@z
+
+576. Keep date and time in system variables, use them in opening banner
+(Udo Wermuth, 11 December 2020)
+@x module 194
+Since standard \PASCAL\ cannot provide such information, something special
+is needed. The program here simply specifies July 4, 1776, at noon; but
+users probably want a better approximation to the truth.
+
+Note that the values are |scaled| integers. Hence \MF\ can no longer
+be used after the year 32767.
+
+@p procedure fix_date_and_time;
+begin internal[time]:=12*60*unity; {minutes since midnight}
+internal[day]:=4*unity; {fourth day of the month}
+internal[month]:=7*unity; {seventh month of the year}
+internal[year]:=1776*unity; {Anno Domini}
+end;
+@y
+Since standard \PASCAL\ cannot provide such information, something special
+is needed. The program here simply assumes that suitable values appear in
+the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and
+\\{sys\_year} (which are initialized to noon on 4 July 1776,
+in case the implementor is careless).
+
+Note that the values are |scaled| integers. Hence \MF\ can no longer
+be used after the year 32767.
+
+@p procedure fix_date_and_time;
+begin sys_time:=12*60;
+sys_day:=4; sys_month:=7; sys_year:=1776; {self-evident truths}
+internal[time]:=sys_time*unity; {minutes since midnight}
+internal[day]:=sys_day*unity; {day of the month}
+internal[month]:=sys_month*unity; {month of the year}
+internal[year]:=sys_year*unity; {Anno Domini}
+end;
+@z
+@x module 196
+@ Of course we had better declare another global variable, if the previous
+routines are going to work.
+
+@<Glob...@>=
+@!old_setting:0..max_selector;
+@y
+@ Of course we had better declare a few more global variables, if the previous
+routines are going to work.
+
+@<Glob...@>=
+@!old_setting:0..max_selector;
+@!sys_time,@!sys_day,@!sys_month,@!sys_year:integer;
+ {date and time supplied by external system}
+@z
+@x module 790
+print_int(round_unscaled(internal[day])); print_char(" ");
+months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC';
+m:=round_unscaled(internal[month]);
+for k:=3*m-2 to 3*m do wlog(months[k]);
+print_char(" "); print_int(round_unscaled(internal[year])); print_char(" ");
+m:=round_unscaled(internal[time]);
+print_dd(m div 60); print_char(":"); print_dd(m mod 60);
+@y
+print_int(sys_day); print_char(" ");
+months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC';
+for k:=3*sys_month-2 to 3*sys_month do wlog(months[k]);
+print_char(" "); print_int(sys_year); print_char(" ");
+print_dd(sys_time div 60); print_char(":"); print_dd(sys_time mod 60);
+@z
+@x module 1211
+fix_date_and_time; init_randoms((internal[time] div unity)+internal[day]);@/
+@y
+fix_date_and_time; init_randoms(sys_time+sys_day*unity);@/
+@z
+
-------------
999. The absolutely final change (to be made after my death)
@x module 2
-@d banner=='This is METAFONT, Version 2.7182818' {printed when \MF\ starts}
+@d banner=='This is METAFONT, Version 2.71828182' {printed when \MF\ starts}
@y
@d banner=='This is METAFONT, Version $e$' {printed when \MF\ starts}
@z
diff --git a/systems/knuth/dist/errata/tex82.bug b/systems/knuth/dist/errata/tex82.bug
index 7d7a8c34ba..12de105bae 100644
--- a/systems/knuth/dist/errata/tex82.bug
+++ b/systems/knuth/dist/errata/tex82.bug
@@ -1577,7 +1577,7 @@ but I decided later in the day to do a few more things:
231. \the to be an expandable control sequence (July 12)
Several things in the language are cleaned up:
a) \the\tenrm replaced by \fontname\tenrm [\fontname<font>]
-b) when expanding edef, etc., result of \the still expanded only only level
+b) when expanding edef, etc., result of \the still expanded only one level
c) expansion after \def not inhibited, since \noexpand is now present
d) \the\the disallowed.
@@ -9044,10 +9044,186 @@ other multiletter control sequences are (found by Oleg Bulatov, 14 Sep 2008)
begin print_esc("csname"); print_esc("endcsname"); print_char(" ");
@z
+429. Don't echo error message to terminal when tracing paragraphs
+(Udo Wermuth, 15 January 2017)
+@x module 826
+ begin no_shrink_error_yet:=false;
+@y
+ begin no_shrink_error_yet:=false;
+ @!stat if tracing_paragraphs>0 then end_diagnostic(true);@+tats@;
+@z
+@x
+ error;
+@y
+ error;
+ @!stat if tracing_paragraphs>0 then begin_diagnostic;@+tats@;
+@z
+
+430. Defeat interactions during batch mode (Xiaosa Zhang, 27 June 2020)
+@x module 83
+@ @<Get user's advice...@>=
+loop@+begin continue: clear_for_error_prompt; prompt_input("? ");
+@y
+@ @<Get user's advice...@>=
+loop@+begin continue: if interaction<>error_stop_mode then return;
+ clear_for_error_prompt; prompt_input("? ");
+@z
+
+431. Don't exit to editor if no input file is at the bottom line
+(Xiaosa Zhang, 03 July 2020)
+@x module 84
+"E": if base_ptr>0 then
+@y
+"E": if base_ptr>0 then if input_stack[base_ptr].name_field>=256 then
+@z
+@x module 85
+if base_ptr>0 then print("E to edit your file,");
+@y
+if base_ptr>0 then if input_stack[base_ptr].name_field>=256 then
+ print("E to edit your file,");
+@z
+
+432. Keep date and time in system variables, use them in opening banner
+(Udo Wermuth, 11 December 2020)
+@x module 241
+Since standard \PASCAL\ cannot provide such information, something special
+is needed. The program here simply specifies July 4, 1776, at noon; but
+users probably want a better approximation to the truth.
+
+@p procedure fix_date_and_time;
+begin time:=12*60; {minutes since midnight}
+day:=4; {fourth day of the month}
+month:=7; {seventh month of the year}
+year:=1776; {Anno Domini}
+@y
+Since standard \PASCAL\ cannot provide such information, something special
+is needed. The program here simply assumes that suitable values appear in
+the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and
+\\{sys\_year} (which are initialized to noon on 4 July 1776,
+in case the implementor is careless).
+
+@p procedure fix_date_and_time;
+begin sys_time:=12*60;
+sys_day:=4; sys_month:=7; sys_year:=1776; {self-evident truths}
+time:=sys_time; {minutes since midnight}
+day:=sys_day; {day of the month}
+month:=sys_month; {month of the year}
+year:=sys_year; {Anno Domini}
+@z
+@x module 246
+@ Of course we had better declare another global variable, if the previous
+routines are going to work.
+
+@<Glob...@>=
+@!old_setting:0..max_selector;
+@y
+@ Of course we had better declare a few more global variables, if the previous
+routines are going to work.
+
+@<Glob...@>=
+@!old_setting:0..max_selector;
+@!sys_time,@!sys_day,@!sys_month,@!sys_year:integer;
+ {date and time supplied by external system}
+@z
+@x module 536
+print_int(day); print_char(" ");
+months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC';
+for k:=3*month-2 to 3*month do wlog(months[k]);
+print_char(" "); print_int(year); print_char(" ");
+print_two(time div 60); print_char(":"); print_two(time mod 60);
+@y
+print_int(sys_day); print_char(" ");
+months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC';
+for k:=3*sys_month-2 to 3*sys_month do wlog(months[k]);
+print_char(" "); print_int(sys_year); print_char(" ");
+print_two(sys_time div 60); print_char(":"); print_two(sys_time mod 60);
+@z
+
+433. After nine parameters, delete both # and the token that follows
+(Bruno Le Floch, 22 October 2020)
+@x module 473
+label found,done,done1,done2;
+@y
+label found,continue,done,done1,done2;
+@z
+@x module 474
+begin loop begin get_token; {set |cur_cmd|, |cur_chr|, |cur_tok|}
+@y
+begin loop begin continue: get_token; {set |cur_cmd|, |cur_chr|, |cur_tok|}
+@z
+@x module 476
+ help1("I'm going to ignore the # sign you just used."); error;
+@y
+ help2("I'm going to ignore the # sign you just used,")@/
+ ("as well as the token that followed it."); error; goto continue;
+@z
+
+434. Don't accept an implicit left brace after # in macro head
+(Udo Wermuth, 20 May 2020)
+@x module 476
+if cur_cmd=left_brace then
+@y
+if cur_tok<left_brace_limit then
+@z
+
+435. Keep garbage out of the buffer if a |\read| end unexpectedly
+(DRF, 17 February 2018)
+@x module 486
+ align_state:=1000000; error;
+@y
+ align_state:=1000000; limit:=0; error;
+@z
+
+436. Zero out nonexistent chars, to prevent rogue TFM files
+(DRF, 06 October 2020)
+@x module 722
+ math_type(a):=empty;
+@y
+ math_type(a):=empty; cur_i:=null_character;
+@z
+
+437. Don't classify fraction noads as inner noads (DRF, 25 March 2019)
+@x module 761
+fraction_noad: begin t:=inner_noad; s:=fraction_noad_size;
+ end;
+@y
+fraction_noad: s:=fraction_noad_size;
+@z
+
+438. Properly identify tabskip glue when tracing repeated templates
+(Igor Liferenko, 10 January 2020)
+@x module 793
+link(p):=new_glue(glue_ptr(cur_loop));
+@y
+link(p):=new_glue(glue_ptr(cur_loop));
+subtype(link(p)):=tab_skip_code+1;
+@z
+
+439. Use the correct range for local variable hn (DRF, 31 October 2020)
+@x module 892
+@!hn:small_number; {the number of positions occupied in |hc|}
+@y
+@!hn:0..64; {the number of positions occupied in |hc|;
+ not always a |small_number|}
+@z
+
+440. Normalize newlinechar when printing the final stats
+(Udo Wermuth, 29 November 2020)
+@x module 1333
+begin @<Finish the extensions@>;
+@y
+begin @<Finish the extensions@>; new_line_char:=-1;
+@z
+@x module 1335
+begin c:=cur_chr;
+@y
+begin c:=cur_chr; if c<>1 then new_line_char:=-1;
+@z
+
-----------
999. The absolutely final change (to be made after my death)
@x module 2
-@d banner=='This is TeX, Version 3.14159265' {printed when \TeX\ starts}
+@d banner=='This is TeX, Version 3.141592653' {printed when \TeX\ starts}
@y
@d banner=='This is TeX, Version $\pi$' {printed when \TeX\ starts}
@z
diff --git a/systems/knuth/dist/etc/vftovp.web b/systems/knuth/dist/etc/vftovp.web
index cf0ba73326..a145709338 100644
--- a/systems/knuth/dist/etc/vftovp.web
+++ b/systems/knuth/dist/etc/vftovp.web
@@ -18,7 +18,7 @@
\def\title{VF\lowercase{to}VP}
\def\contentspagenumber{101}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont VFtoVP} processor}
@@ -1270,7 +1270,7 @@ end
@* Outputting the TFM info.
\TeX\ checks the information of a \.{TFM} file for validity as the
file is being read in, so that no further checks will be needed when
-typesetting is going on. And when it finds something wrong, it justs
+typesetting is going on. And when it finds something wrong, it just
calls the file ``bad,'' without identifying the nature of the problem,
since \.{TFM} files are supposed to be good almost all of the time.
diff --git a/systems/knuth/dist/etc/vptovf.web b/systems/knuth/dist/etc/vptovf.web
index 03b057e88b..724398e61a 100644
--- a/systems/knuth/dist/etc/vptovf.web
+++ b/systems/knuth/dist/etc/vptovf.web
@@ -22,7 +22,7 @@
\def\title{VP\lowercase{to}VF}
\def\contentspagenumber{201}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont VPtoVF} processor}
@@ -440,7 +440,7 @@ both be used within the same \.{CHARACTER} list.
\yskip\noindent
The elements of a \.{VARCHAR} property list are either \.{TOP}, \.{MID},
-\.{BOT} or \.{REP}; the values are integers, which must be zero or the number
+\.{BOT}, or \.{REP}; the values are integers, which must be zero or the number
of a character in the font. A zero value for \.{TOP}, \.{MID}, or \.{BOT} means
that the corresponding piece of the extensible character is absent. A nonzero
value, or a \.{REP} value of zero, denotes the character code used to make
@@ -475,8 +475,8 @@ The slashes specify retention of the left or right original character; the
\yskip\hang\.{KRN} (a one-byte value and a real value). The instruction
`\.{(KRN} $c$ $r$\.)' means, ``If the next character is $c$, then insert
-a blank space of width $r$ between the current character character and $c$;
-otherwise go on to the next intruction.'' The value of $r$, which is in
+a blank space of width $r$ between the current character and $c$;
+otherwise go on to the next instruction.'' The value of $r$, which is in
design units, is often negative. Character code $c$ must exist
in the font.
diff --git a/systems/knuth/dist/lib/grayf.mf b/systems/knuth/dist/lib/grayf.mf
index 1a34e18fd1..7765ebd812 100644
--- a/systems/knuth/dist/lib/grayf.mf
+++ b/systems/knuth/dist/lib/grayf.mf
@@ -10,7 +10,7 @@ forsuffixes m = mag,rep:
mg := mag; mag := 1; mode_setup;
if mg>1: hppp := hppp*mg; vppp := vppp*mg;
extra_endchar:=
- "if charcode>0:currentpicture:=currentpicture scaled mg;fi"
+ "if charcode>0:currentpicture:=currentpicture scaled mg;fi;"
& extra_endchar; fi;
if picture pix_picture: rep := 1;
diff --git a/systems/knuth/dist/lib/plain.tex b/systems/knuth/dist/lib/plain.tex
index 2b72027dff..0f363a96c0 100644
--- a/systems/knuth/dist/lib/plain.tex
+++ b/systems/knuth/dist/lib/plain.tex
@@ -225,11 +225,11 @@
\outer\def\newcount{\alloc@0\count\countdef\insc@unt}
\outer\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
\outer\def\newskip{\alloc@2\skip\skipdef\insc@unt}
-\outer\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi}
+\outer\def\newmuskip{\alloc@3\muskip\muskipdef\@cclv}
\outer\def\newbox{\alloc@4\box\chardef\insc@unt}
\let\newtoks=\relax % we do this to allow plain.tex to be read in twice
\outer\def\newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}}
-\outer\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
+\outer\def\newtoks{\alloc@5\toks\toksdef\@cclv}
\outer\def\newread{\alloc@6\read\chardef\sixt@@n}
\outer\def\newwrite{\alloc@7\write\chardef\sixt@@n}
\outer\def\newfam{\alloc@8\fam\chardef\sixt@@n}
@@ -1238,4 +1238,4 @@
\nonfrenchspacing % punctuation affects the spacing
\catcode`@=12 % at signs are no longer letters
-\def\fmtname{plain}\def\fmtversion{3.141592653} % identifies the current format
+\def\fmtname{plain}\def\fmtversion{3.1415926535} % identifies the current format
diff --git a/systems/knuth/dist/lib/slant.mf b/systems/knuth/dist/lib/slant.mf
index 3763222bce..b851c3e1d8 100644
--- a/systems/knuth/dist/lib/slant.mf
+++ b/systems/knuth/dist/lib/slant.mf
@@ -19,8 +19,8 @@ pickup pencircle scaled r; ruler := savepen;
for k=1 upto n:
beginchar(k,k*u#*s,n*u#,0);
pickup ruler; draw origin--(k*u*s,k*u);
- unfill (lft-1,bot -1)--(rt 1,bot -1)
- --(rt 1,0)--(lft-1,0)--cycle;
+ unfill (lft -1,bot -1)--(rt 1,bot -1)
+ --(rt 1,0)--(lft -1,0)--cycle;
unfill ((lft -1,0)--(rt 1,0)
--(rt 1,top 1)--(lft -1,top 1)--cycle) shifted (k*u*s,k*u);
endchar; endfor
diff --git a/systems/knuth/dist/lib/webmac.tex b/systems/knuth/dist/lib/webmac.tex
index 5ca707bb9b..ec44128d45 100644
--- a/systems/knuth/dist/lib/webmac.tex
+++ b/systems/knuth/dist/lib/webmac.tex
@@ -1,5 +1,5 @@
% standard macros for WEB listings (in addition to PLAIN.TEX)
-\xdef\fmtversion{\fmtversion+WEBMAC4.1} % identifies current set of macros
+\xdef\fmtversion{\fmtversion+WEBMAC4.2} % identifies current set of macros
\parskip 0pt % no stretch between paragraphs
\parindent 1em % for paragraphs and for the first line of Pascal text
@@ -84,8 +84,10 @@
\edef\next{\write\cont{\Z{#2}{\modno}{\the\pageno}}}\next % to contents file
\ifon\startsection{\bf\ignorespaces#2.\quad}\ignorespaces}
\def\MN#1.{\par % common code for \M, \N
- {\xdef\modstar{#1}\let\*=\empty\xdef\modno{#1}}
- \ifx\modno\modstar \onmaybe \else\ontrue \fi \mark{\modno}}
+ {\xdef\modstar{#1}\let\*=\empty\xdef\modno{#1}}% remove \* from section name
+ \ifx\modno\modstar \onmaybe \else\ontrue \fi
+ \mark{{{\tensy x}\modno}{\rhead}}}
+ % each \mark is {section reference or null}{group title}
\def\O#1{\hbox{\rm\char'23\kern-.2em\it#1\/\kern.05em}} % octal constant
\def\P{\rightskip=0pt plus 100pt minus 10pt % go into Pascal mode
\sfcode`;=3000
@@ -115,10 +117,14 @@
\def\onmaybe{\let\ifon=\maybe} \let\maybe=\iftrue
\newif\ifon \newif\iftitle \newif\ifpagesaved
-\def\lheader{\mainfont\the\pageno\eightrm\qquad\rhead\hfill\title\qquad
- \tensy x\mainfont\topmark} % top line on left-hand pages
-\def\rheader{\tensy x\mainfont\topmark\eightrm\qquad\title\hfill\rhead
- \qquad\mainfont\the\pageno} % top line on right-hand pages
+\def\lheader{\mainfont\the\pageno\eightrm\qquad\rhead
+ \hfill\title\qquad\mainfont\topsecno} % top line on left-hand pages
+\def\rheader{\mainfont\topsecno\eightrm\qquad\title\hfill
+ \rhead\qquad\mainfont\the\pageno} % top line on right-hand pages
+\def\topsecno{\expandafter\takeone\topmark}
+\def\takeone#1#2{#1}
+\def\taketwo#1#2{#2}
+\def\nullsec{\eightrm\kern-2em} % the \kern-2em cancels \qquad in headers
\def\page{\box255 }
\def\normaloutput#1#2#3{\ifodd\pageno\hoffset=\pageshift\fi
\shipout\vbox{
@@ -129,6 +135,7 @@
\global\advance\pageno by1}
\def\rhead{\.{WEB} OUTPUT} % this running head is reset by starred sections
+\mark{\noexpand\nullsec{\rhead}}
\def\title{} % an optional title can be set by the user
\def\topofcontents{\centerline{\titlefont\title}
\vfill} % this material will start the table of contents page
@@ -183,6 +190,7 @@
\if L\lr\else\null\vfill\eject\fi % finish the current page
\parfillskip 0pt plus 1fil
\def\rhead{NAMES OF THE SECTIONS}
+ \let\topsecno=\nullsec
\message{Section names:}
\output{\normaloutput\page\lheader\rheader}
\setpage
diff --git a/systems/knuth/dist/mf/mf.web b/systems/knuth/dist/mf/mf.web
index ca3cb2518d..065dd2f802 100644
--- a/systems/knuth/dist/mf/mf.web
+++ b/systems/knuth/dist/mf/mf.web
@@ -1,6 +1,7 @@
% This program is copyright (C) 1984 by D. E. Knuth; all rights are reserved.
-% Copying of this file is authorized only if (1) you are D. E. Knuth, or if
-% (2) you make absolutely no changes to your copy. (The WEB system provides
+% Unlimited copying and redistribution of this file are permitted as long
+% as this file is not modified. Modifications are permitted, but only if
+% the resulting file is not named mf.web. (The WEB system provides
% for alterations via an auxiliary file; the master file should stay intact.)
% In other words, METAFONT is under essentially the same ground rules as TeX.
@@ -26,6 +27,7 @@
% Version 2.71828 suppressed autorounding in dangerous cases (June 2003).
% Version 2.718281 was a general cleanup with minor fixes (February 2008).
% Version 2.7182818 was similar (January 2014).
+% Version 2.71828182 was similar (January 2021).
% A reward of $327.68 will be paid to the first finder of any remaining bug.
@@ -155,7 +157,7 @@ helping to determine whether an implementation deserves to be
known as `\MF\kern.5pt' [cf.~Stanford Computer Science report CS1095,
January 1986].
-@d banner=='This is METAFONT, Version 2.7182818' {printed when \MF\ starts}
+@d banner=='This is METAFONT, Version 2.71828182' {printed when \MF\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
@!@:PASCAL H}{\ph@>
@@ -166,7 +168,7 @@ reader see how to make an appropriate interface for other systems
if necessary. (\ph\ is Charles Hedrick's modification of a compiler
@^Hedrick, Charles Locke@>
for the DECsystem-10 that was originally developed at the University of
-Hamburg; cf.\ {\sl SOFTWARE---Practice \AM\ Experience \bf6} (1976),
+Hamburg; cf.\ {\sl Software---Practice and Experience \bf6} (1976),
29--42. The \MF\ program below is intended to be adaptable, without
extensive changes, to most other versions of \PASCAL, so it does not fully
use the admirable features of \ph. Indeed, a conscious effort has been
@@ -830,7 +832,7 @@ representing the beginning and ending of a line of text.
@!max_buf_stack:0..buf_size; {largest index used in |buffer|}
@ The |input_ln| function brings the next line of input from the specified
-field into available positions of the buffer array and returns the value
+file into available positions of the buffer array and returns the value
|true|, unless the file has already been entirely read, in which case it
returns |false| and sets |last:=first|. In general, the |ASCII_code|
numbers that represent the next line of the file are input into
@@ -1218,7 +1220,7 @@ on the information that \.{WEB} has output while processing \MF.
label done,exit;
var @!k,@!l:0..255; {small indices or counters}
@!m,@!n:text_char; {characters input from |pool_file|}
-@!g:str_number; {garbage}
+@!g:str_number; {the string just created}
@!a:integer; {accumulator for check sum}
@!c:boolean; {check sum has been checked}
begin pool_ptr:=0; str_ptr:=0; max_pool_ptr:=0; max_str_ptr:=0; str_start[0]:=0;
@@ -1499,9 +1501,9 @@ end;
@ Here is the very first thing that \MF\ prints: a headline that identifies
the version number and base name. The |term_offset| variable is temporarily
-incorrect, but the discrepancy is not serious since we assume that the banner
-and base identifier together will occupy at most |max_print_line|
-character positions.
+incorrect, but the discrepancy is not serious since we assume that this
+part of the program is system dependent.
+@^system dependencies@>
@<Initialize the output...@>=
wterm(banner);
@@ -1538,7 +1540,7 @@ by all \PASCAL\ compilers.
@<Basic print...@>=
procedure print_int(@!n:integer); {prints an integer in decimal form}
-var k:0..23; {index to current digit; we assume that $|n|<10^{23}$}
+var k:0..23; {index to current digit; we assume that $\vert n\vert<10^{23}$}
@!m:integer; {used to negate |n| in possibly dangerous cases}
begin k:=0;
if n<0 then
@@ -1758,7 +1760,8 @@ if error_count=100 then
exit:end;
@ @<Get user's advice...@>=
-loop@+begin continue: clear_for_error_prompt; prompt_input("? ");
+loop@+begin continue: if interaction<>error_stop_mode then return;
+ clear_for_error_prompt; prompt_input("? ");
@.?\relax@>
if last=first then return;
c:=buffer[first];
@@ -1783,7 +1786,7 @@ case c of
"0","1","2","3","4","5","6","7","8","9": if deletions_allowed then
@<Delete |c-"0"| tokens and |goto continue|@>;
@t\4\4@>@;@+@!debug "D":begin debug_help;goto continue;@+end;@+gubed@/
-"E": if file_ptr>0 then
+"E": if file_ptr>0 then if input_stack[file_ptr].name_field>=256 then
begin print_nl("You want to edit file ");
@.You want to edit file x@>
slow_print(input_stack[file_ptr].name_field);
@@ -1804,7 +1807,8 @@ begin print("Type <return> to proceed, S to scroll future error messages,");@/
@.Type <return> to proceed...@>
print_nl("R to run without stopping, Q to run quietly,");@/
print_nl("I to insert something, ");
-if file_ptr>0 then print("E to edit your file,");
+if file_ptr>0 then if input_stack[file_ptr].name_field>=256 then
+ print("E to edit your file,");
if deletions_allowed then
print_nl("1 or ... or 9 to ignore the next 1 to 9 tokens of input,");
print_nl("H for help, X to quit.");
@@ -1999,7 +2003,7 @@ begin if OK_to_interrupt then
print_err("Interruption");
@.Interruption@>
help3("You rang?")@/
- ("Try to insert some instructions for me (e.g.,`I show x'),")@/
+ ("Try to insert an instruction for me (e.g., `I show x;'),")@/
("unless you just want to quit by typing `X'.");
deletions_allowed:=false; error; deletions_allowed:=true;
interrupt:=0;
@@ -2200,7 +2204,7 @@ sets |arith_error:=true|. Most of \MF's internal computations have
been designed to avoid this sort of error.
Notice that if 64-bit integer arithmetic were available,
-we could simply compute |(@t$(2^{29}$@>*p+q)div (2*q)|.
+we could simply compute |@t$(2^{29}$@>*p+q)div (2*q)|.
But when we are restricted to \PASCAL's 32-bit arithmetic we
must either resort to multiple-precision maneuvering
or use a simple but slow iteration. The multiple-precision technique
@@ -4111,7 +4115,7 @@ fuss with. Every such parameter has an identifying code number, defined here.
@d fillin=38 {extra darkness of diagonal lines}
@d turning_check=39 {controls reorientation of clockwise paths}
@d warning_check=40 {controls error message when variable value is large}
-@d boundary_char=41 {the right boundary character for ligatures}
+@d boundary_char=41 {the boundary character for ligatures}
@d max_given_internal=41
@<Glob...@>=
@@ -4265,17 +4269,21 @@ int_name[boundary_char]:="boundarychar";
input and output, establishes the initial values of the date and time.
@^system dependencies@>
Since standard \PASCAL\ cannot provide such information, something special
-is needed. The program here simply specifies July 4, 1776, at noon; but
-users probably want a better approximation to the truth.
+is needed. The program here simply assumes that suitable values appear in
+the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and
+\\{sys\_year} (which are initialized to noon on 4 July 1776,
+in case the implementor is careless).
Note that the values are |scaled| integers. Hence \MF\ can no longer
be used after the year 32767.
@p procedure fix_date_and_time;
-begin internal[time]:=12*60*unity; {minutes since midnight}
-internal[day]:=4*unity; {fourth day of the month}
-internal[month]:=7*unity; {seventh month of the year}
-internal[year]:=1776*unity; {Anno Domini}
+begin sys_time:=12*60;
+sys_day:=4; sys_month:=7; sys_year:=1776; {self-evident truths}
+internal[time]:=sys_time*unity; {minutes since midnight}
+internal[day]:=sys_day*unity; {day of the month}
+internal[month]:=sys_month*unity; {month of the year}
+internal[year]:=sys_year*unity; {Anno Domini}
end;
@ \MF\ is occasionally supposed to print diagnostic information that
@@ -4299,11 +4307,13 @@ if blank_line then print_ln;
selector:=old_setting;
end;
-@ Of course we had better declare another global variable, if the previous
+@ Of course we had better declare a few more global variables, if the previous
routines are going to work.
@<Glob...@>=
@!old_setting:0..max_selector;
+@!sys_time,@!sys_day,@!sys_month,@!sys_year:integer;
+ {date and time supplied by external system}
@ We will occasionally use |begin_diagnostic| in connection with line-number
printing, as follows. (The parameter |s| is typically |"Path"| or
@@ -4874,7 +4884,7 @@ else begin print_scaled(v); c:=digit_class;
end
@ Strictly speaking, a genuine token will never have |info(p)=0|.
-But we will see later (in the |print_variable_name| routine) that
+But we will see later (in the definition of attribute nodes) that
it is convenient to let |info(p)=0| stand for `\.{[]}'.
@<Display a collective subscript@>=
@@ -5584,7 +5594,7 @@ The global variable |save_ptr| points to the top item on the save stack.
@ @<Set init...@>=save_ptr:=null;
@ The |save_variable| routine is given a hash address |q|; it salts this
-address in the save stack, together with its current equivalent,
+address away in the save stack, together with its current equivalent,
then makes token~|q| behave as though it were brand new.
Nothing is stacked when |save_ptr=null|, however; there's no way to remove
@@ -7036,9 +7046,9 @@ $$a_k'=a_k+\delta\k-\delta_k;\qquad
Here $a\ll b$ means that $a\L b-2$, and $a\gg b$ means that $a\G b+2$.
The smoothing operation is symmetric in the sense that, if $a_0\ldots a_n$
-smoothes to $a_0'\ldots a_n'$, then the reverse sequence $a_n\ldots a_0$
-smoothes to $a_n'\ldots a_0'$; also the complementary sequence
-$(m-a_0)\ldots(m-a_n)$ smoothes to $(m-a_0')\ldots(m-a_n')$.
+smooths to $a_0'\ldots a_n'$, then the reverse sequence $a_n\ldots a_0$
+smooths to $a_n'\ldots a_0'$; also the complementary sequence
+$(m-a_0)\ldots(m-a_n)$ smooths to $(m-a_0')\ldots(m-a_n')$.
We have $a_0'+\cdots+a_n'=a_0+\cdots+a_n$ because $\delta_0=\delta_{n+1}=0$.
@p procedure smooth_moves(@!b,@!t:integer);
@@ -7073,7 +7083,7 @@ represents only the nonzero edge weights, since most of the edges are
weightless; in this way, the data storage requirements grow only linearly
with respect to the number of pixels per point, even though two-dimensional
data is being represented. (Well, the actual dependence on the underlying
-resolution is order $n\log n$, but the the $\log n$ factor is buried in our
+resolution is order $n\log n$, but the $\log n$ factor is buried in our
implicit restriction on the maximum raster size.) The sum of all edge
weights in each row should be zero.
@@ -10870,7 +10880,7 @@ right_type(q):=endpoint
k:=0; w:=link(h); ww:=knil(w);
mm0:=floor_unscaled(x_coord(p)+x_coord(w)-xy_corr[octant]);
mm1:=floor_unscaled(x_coord(q)+x_coord(ww)-xy_corr[octant]);
-for n:=0 to n1-n0 do env_move[n]:=mm0;
+for n:=0 to n1-n0-1 do env_move[n]:=mm0;
env_move[n1-n0]:=mm1; move_ptr:=0; m:=mm0
@ At this point |n| holds the value of |move_ptr| that was current
@@ -11074,7 +11084,7 @@ the results essentially independent of where the path falls on the raster.
For example, the exact envelope with respect to a pen of diameter~1
blackens a pixel if and only if the path intersects a circle of diameter~1
inscribed in that pixel; the resulting pattern has ``blots'' when the path
-is travelling diagonally in unfortunate raster positions. A much better
+is traveling diagonally in unfortunate raster positions. A much better
result is obtained when pixels are blackened only when the path intersects
an inscribed {\sl diamond\/} of diameter~1. Such a diamond is precisely
the polygon that \MF\ uses in the special case of a circle whose diameter is~1.
@@ -11417,7 +11427,7 @@ if d<alpha then d:=alpha
@ At this point there's a line of length |<=delta| from vertex~|p|
to vertex~|q|, orthogonal to direction $\bigl($|right_u(p),left_v(q)|$\bigr)$;
-and there's a line of length |>=delta| from vertex~|q| to
+and there's a line of length |>=delta| from vertex~|q|
to vertex~|r|, orthogonal to direction $\bigl($|right_u(q),left_v(r)|$\bigr)$.
The best line to direction $(u,v)$ should replace the line from
|p| to~|q|; this new line will have the same length as the old.
@@ -12111,7 +12121,7 @@ pretending to declare a screen buffer called |screen_pixel|. This code
is actually commented out, but it does specify the intended effects.
@<Glob...@>=
-@{@!screen_pixel:array[screen_row,screen_col] of pixel_color;@+@}
+@{@+@!screen_pixel:array[screen_row,screen_col] of pixel_color@t; @>@}
@ The |blank_rectangle| routine simply whitens all pixels that lie in
columns |left_col| through |right_col-1|, inclusive, of rows
@@ -12156,7 +12166,7 @@ program (see the commented-out code below).
@!n:screen_col);
var @!k:screen_col; {an index into |a|}
@!c:screen_col; {an index into |screen_pixel|}
-begin @{ k:=0; c:=a[0];
+begin @{@+k:=0; c:=a[0];
repeat incr(k);
repeat screen_pixel[r,c]:=b; incr(c);
until c=a[k];
@@ -13384,7 +13394,7 @@ list involved.
discussion above, is a code number that explains what kind of token list
is being scanned.
-\yskip\hang|name| points to the |eqtb| address of the control sequence
+\yskip\hang|name| points to the |eqtb| address of the macro
being expanded, if the current token list is a macro not defined by
\&{vardef}. Macros defined by \&{vardef} have |name=null|; their name
can be deduced by looking at their first two parameters.
@@ -13405,7 +13415,7 @@ a \&{for} or \&{forsuffixes} loop;
\indent|parameter|, if a \&{text} or \&{suffix} parameter is being scanned;
\indent|backed_up|, if the token list being scanned has been inserted as
-`to be read again'.
+`to be read again';
\indent|inserted|, if the token list being scanned has been inserted as
part of error recovery;
@@ -14674,7 +14684,7 @@ if cur_exp=true_code then
else if cur_cmd<>semicolon then
begin missing_err(";");@/
@.Missing `;'@>
- help2("After `exitif <boolean exp>' I expect to see a semicolon.")@/
+ help2("After `exitif <boolean expr>' I expect to see a semicolon.")@/
("I shall pretend that one was there."); back_error;
end;
end
@@ -14790,7 +14800,7 @@ input stack, so that |get_next| will proceed to read it next.
@t\4@>@<Declare the procedure called |print_arg|@>@;
@t\4@>@<Declare the procedure called |scan_text_arg|@>@;
procedure macro_call(@!def_ref,@!arg_list,@!macro_name:pointer);
- {invokes a user-defined control sequence}
+ {invokes a user-defined sequence of commands}
label found;
var @!r:pointer; {current node in the macro's token list}
@!p,@!q:pointer; {for list manipulation}
@@ -15126,7 +15136,7 @@ if_test,fi_or_else: case m of
endcases;
@ Here is a procedure that ignores text until coming to an \&{elseif},
-\&{else}, or \&{fi} at level zero of $\&{if}\ldots\&{fi}$
+\&{else}, or \&{fi} at the current level of $\&{if}\ldots\&{fi}$
nesting. After it has acted, |cur_mod| will indicate the token that
was found.
@@ -15369,8 +15379,8 @@ if cur_cmd<>colon then
`\&{endfor}' at the end of the loop. This will come through \MF's scanner
at the proper time to cause the loop to be repeated.
-(If the user tries some shenanigan like `\&{for} $\ldots$ \&{let} \&{endfor}',
-he will be foiled by the |get_symbol| routine, which keeps frozen
+(A user who tries some shenanigan like `\&{for} $\ldots$ \&{let} \&{endfor}'
+will be foiled by the |get_symbol| routine, which keeps frozen
tokens unchanged. Furthermore the |frozen_repeat_loop| is an \&{outer}
token, so it won't be lost accidentally.)
@@ -15910,13 +15920,11 @@ end
@ @<Print the banner...@>=
begin wlog(banner);
slow_print(base_ident); print(" ");
-print_int(round_unscaled(internal[day])); print_char(" ");
+print_int(sys_day); print_char(" ");
months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC';
-m:=round_unscaled(internal[month]);
-for k:=3*m-2 to 3*m do wlog(months[k]);
-print_char(" "); print_int(round_unscaled(internal[year])); print_char(" ");
-m:=round_unscaled(internal[time]);
-print_dd(m div 60); print_char(":"); print_dd(m mod 60);
+for k:=3*sys_month-2 to 3*sys_month do wlog(months[k]);
+print_char(" "); print_int(sys_year); print_char(" ");
+print_dd(sys_time div 60); print_char(":"); print_dd(sys_time mod 60);
end
@ Here's an example of how these file-name-parsing routines work in practice.
@@ -15939,6 +15947,9 @@ crank up the output file.
@ Let's turn now to the procedure that is used to initiate file reading
when an `\.{input}' command is being processed.
+Beware: For historic reasons, this code foolishly conserves a tiny bit
+of string pool space; but that can confuse the interactive `\.E' option.
+@^system dependencies@>
@p procedure start_input; {\MF\ will \.{input} something}
label done;
@@ -15962,7 +15973,7 @@ if job_name=0 then
if term_offset+length(name)>max_print_line-2 then print_ln
else if (term_offset>0)or(file_offset>0) then print_char(" ");
print_char("("); incr(open_parens); slow_print(name); update_terminal;
-if name=str_ptr-1 then {we can conserve string pool space now}
+if name=str_ptr-1 then {conserve string pool space (but see note above)}
begin flush_string(name); name:=cur_name;
end;
@<Read the first line of the new file@>;
@@ -16066,7 +16077,7 @@ knot list. The |future_pen| option occurs only as an output of |scan_primary|
and |scan_secondary|, not as an output of |scan_tertiary| or |scan_expression|.
\smallskip\hang
-|cur_type=path_type| means that |cur_exp| points to a the first node of
+|cur_type=path_type| means that |cur_exp| points to the first node of
a path; nobody else points to this particular path. The control points of
the path will have been chosen.
@@ -16106,7 +16117,7 @@ dependency list.
\smallskip\hang
|cur_type=proto_dependent| means that |cur_exp| points to a |proto_dependent|
-capsule node . The |dep_list| field in this capsule
+capsule node. The |dep_list| field in this capsule
points to the associated dependency list.
\smallskip\hang
@@ -20847,11 +20858,11 @@ deleted if $c=0$; then we pass over $a$~characters to reach the next
current character (which may have a ligature/kerning program of its own).
If the very first instruction of the |lig_kern| array has |skip_byte=255|,
-the |next_char| byte is the so-called right boundary character of this font;
+the |next_char| byte is the so-called boundary character of this font;
the value of |next_char| need not lie between |bc| and~|ec|.
If the very last instruction of the |lig_kern| array has |skip_byte=255|,
-there is a special ligature/kerning program for a left boundary character,
-beginning at location |256*op_byte+remainder|.
+there is a special ligature/kerning program for a boundary character at the
+left, beginning at location |256*op_byte+remainder|.
The interpretation is that \TeX\ puts implicit boundary characters
before and after each consecutive string of characters from the same font.
These implicit characters do not appear in the output, but they can affect
@@ -20868,7 +20879,7 @@ the condition
$$\hbox{|256*op_byte+remainder<nl|.}$$
If such an instruction is encountered during
normal program execution, it denotes an unconditional halt; no ligature
-command is performed.
+or kerning command is performed.
@d stop_flag=128+min_quarterword
{value indicating `\.{STOP}' in a lig/kern program}
@@ -20968,8 +20979,8 @@ is kept in additional arrays called |header_byte|, |lig_kern|,
@!nk:0..max_kerns; {the number of distinct kerns so far}
@!exten:array[eight_bits] of four_quarters; {extensible character recipes}
@!ne:0..256; {the number of extensible characters so far}
-@!param:array[1..max_font_dimen] of scaled; {\&{fontinfo} parameters}
-@!np:0..max_font_dimen; {the largest \&{fontinfo} parameter specified so far}
+@!param:array[1..max_font_dimen] of scaled; {\&{fontdimen} parameters}
+@!np:0..max_font_dimen; {the largest \&{fontdimen} parameter specified so far}
@!nw,@!nh,@!nd,@!ni:0..256; {sizes of \.{TFM} subtables}
@!skip_table:array[eight_bits] of 0..lig_table_size; {local label status}
@!lk_started:boolean; {has there been a lig/kern step in this command yet?}
@@ -21128,7 +21139,7 @@ header_byte_code, font_dimen_code: begin c:=cur_mod; get_x_next;
if cur_cmd<>colon then
begin missing_err(":");
@.Missing `:'@>
- help1("A colon should follow a headerbyte or fontinfo location.");
+ help1("A colon should follow a headerbyte or fontdimen location.");
back_error;
end;
if c=header_byte_code then @<Store a list of header bytes@>
@@ -22582,6 +22593,8 @@ macros to dump words of different types:
@ The inverse macros are slightly more complicated, since we need to check
the range of the values we are reading in. We say `|undump(a)(b)(x)|' to
read an integer value |x| that is supposed to be in the range |a<=x<=b|.
+System error messages should be suppressed when undumping.
+@^system dependencies@>
@d undump_wd(#)==begin get(base_file); #:=base_file^;@+end
@d undump_int(#)==begin get(base_file); #:=base_file^.int;@+end
@@ -22881,7 +22894,8 @@ cannot produce error messages. For example, it would be a mistake to call
might lead to an infinite loop.
@^system dependencies@>
-This program doesn't bother to close the input files that may still be open.
+If |final_cleanup| is bypassed, this program doesn't bother to close
+the input files that may still be open.
@<Last-minute...@>=
procedure close_files_and_terminate;
@@ -23038,7 +23052,7 @@ if (base_ident=0)or(buffer[loc]="&") then
while (loc<limit)and(buffer[loc]=" ") do incr(loc);
end;
buffer[limit]:="%";@/
-fix_date_and_time; init_randoms((internal[time] div unity)+internal[day]);@/
+fix_date_and_time; init_randoms(sys_time+sys_day*unity);@/
@<Initialize the print |selector|...@>;
if loc<limit then if buffer[loc]<>"\" then start_input; {\&{input} assumed}
end
@@ -23070,14 +23084,15 @@ program below. (If |m=13|, there is an additional argument, |l|.)
@!debug procedure debug_help; {routine to display various things}
label breakpoint,exit;
var @!k,@!l,@!m,@!n:integer;
-begin loop begin wake_up_terminal;
+begin clear_terminal;
+ loop begin wake_up_terminal;
print_nl("debug # (-1 to exit):"); update_terminal;
@.debug \#@>
read(term_in,m);
if m<0 then return
else if m=0 then
- begin goto breakpoint;@\ {go to every label at least once}
- breakpoint: m:=0; @{'BREAKPOINT'@}@\
+ begin goto breakpoint;@/ {go to every declared label at least once}
+ breakpoint: m:=0; @{'BREAKPOINT'@}@/
end
else begin read(term_in,n);
case m of
diff --git a/systems/knuth/dist/mf/mfbook.tex b/systems/knuth/dist/mf/mfbook.tex
index c1692a6f52..3c5cb4db07 100644
--- a/systems/knuth/dist/mf/mfbook.tex
+++ b/systems/knuth/dist/mf/mfbook.tex
@@ -112,7 +112,7 @@ ISBN 0-201-13444-6 (soft)\cr}}
\noindent
%{\sl \kern-1pt Incorporates the final corrections made in 1995,
% and a few dozen more.}
-{\sl \kern-1pt Incorporates all corrections known in 2013.}
+{\sl \kern-1pt Incorporates all corrections known in 2020.}
\smallskip
\noindent
Internet page {\tt http://www-cs-faculty.stanford.edu/\char`\~
@@ -125,11 +125,20 @@ Copyright $\copyright$ 1986 by the American Mathematical Society
\noindent
This book is published jointly by the American Mathematical Society
and Addison\kern.1em--Wesley Publishing Company.
-All rights reserved. No part of this publication may be reproduced, stored in
-a retrieval system, or transmitted, in any form or by any means,
-electronic, mechanical, photocopying, recording, or otherwise, without
-the prior written permission of the publishers. Printed in the United
-States of America. % Published simultaneously in Canada.
+All rights reserved.
+%No part of this publication may be reproduced, stored in
+%a retrieval system, or transmitted, in any form or by any means,
+%electronic, mechanical, photocopying, recording, or otherwise, without
+%the prior written permission of the publishers. Printed in the United
+%States of America.
+This publication is protected by copyright, and permission must be
+obtained from the publisher prior to any prohibited reproduction, storage in
+a~retrieval system, or transmission in any form or by any means, electronic,
+mechanical, photocopying, recording, or likewise. For information regarding
+permissions, request forms, and the appropriate contacts with the
+Pearson Education Global Rights \& Permissions Department, please visit
+ {\tt www.pearson.com/permissions/}.
+Printed in the United States of America. % Published simultaneously in Canada.
\medskip
\noindent
%ISBN 0-201-13444-6\par % paperback
@@ -141,11 +150,21 @@ ISBN-10 \enspace\phantom{978-}0-201-13444-6 (soft)\par
%11 12 13 14 15 16--CRS--07 06 05 04 03 02 % paperback
%7 8 9 10 11 12 13--CRS--07 06 05 04 03 02 01 % hardcover
\smallskip\noindent
-Text printed in the United States
- at Courier Westford in Westford, Massachusetts.\par\noindent
-Eighth Printing, February 2012\par\noindent
-Twelfth Printing, February 2012 (soft)
+%Text printed in the United States
+%% at Courier Westford in Westford, Massachusetts.\par\noindent
+%%at LSC Communications in Crawfordsville, Indiana.\par\noindent
+%at LSC Communications\par\noindent
+%%Eighth Printing, February 2012\par\noindent
+%Fourteenth Softcover Printing, May 2017\par\noindent
+%14\quad17
+%Ninth Printing, November 2017\par\noindent
+%9\quad17
+Tenth Printing, February 2021\par\noindent
+\smallskip
+\font\pearsonkluj=arial at 9pt
+\leftline{\pearsonkluj ScoutAutomatedPrintCode}
^^{Knuth, Donald Ervin}
+^^|\copyright|
\eject
% dedication
\titlepage
@@ -421,7 +440,7 @@ comparable to the choice books they have in their cabinets?
\\17. Grouping. 155.
\\18. Definitions (also called Macros). 159.
\\19. Conditions and Loops. 169.
-\\20. More about Macros. 175.
+\\20. More About Macros. 175.
\\21. Random Numbers. 183.
\\22. Strings. 187.
\\23. Online Displays. 191.
@@ -483,7 +502,7 @@ describing languages). Similarly, a ^{meta-font} is a schematic description
of the shapes in a family of related fonts; the letterforms change
appropriately as their underlying parameters change.
-Meta-design is much more difficult than design; it's easier to draw something
+Meta-design is much more difficult than design. It's easier to draw something
than to explain how to draw it. One of the problems is that different sets
of potential specifications can't easily be envisioned all at once.
Another is that a computer has to be told absolutely everything.
@@ -1432,7 +1451,7 @@ one pixel tall before rotation.
used with two or more points. What do you think \MF\ will do
if you ask it to perform the following commands?
\begindisplay
-@draw@ $z_1$;\ @draw@ $z_2$; \ @draw@ $z_3$; \ @draw@ $z_4$;
+@draw@ $z_1$; \ @draw@ $z_2$; \ @draw@ $z_3$; \ @draw@ $z_4$;
\ @draw@ $z_5$; \ @draw@ $z_6$.
\enddisplay
\answer Six individual points will be drawn, instead of lines or curves.
@@ -1548,9 +1567,9 @@ downward; i.e., $t$~might be unequal to~$b$ in the equations for
\begingroup\decreasehsize 165pt
\dangerexercise An enlarged \strut\vadjust{\box0}%
picture of \MF's `{\manual h}' shows that it has five key points. Assuming ^^{M}
-that special values $ss$ and~"ygap" have been precomputed and that the equations
+that special values "ss" and~"ygap" have been precomputed and that the equations
\begindisplay
-$x_1=ss=w-x_5$;\quad$y_3-y_1="ygap"$\cr
+$x_1="ss"=w-x_5$;\quad$y_3-y_1="ygap"$\cr
\enddisplay
have already been given, what further equations and `@draw@' ^^{METAFONT
logo} commands will complete the specification of this letter? \ (The
@@ -1672,7 +1691,7 @@ by $z_1\ldots z_6$.
\begindisplay
@fill@ $z_5\to z_4\to z_1\to z_3\to z_6\to\cycle$;\cr
$z_0=(.8[x_1,x_2],.5[y_1,y_4])$;\cr
-@for@ $k=1$ @upto@ 6: $z_k'=.2[z_k,z_0]$; @endfor@\cr
+@for@ $k=1$ @upto@ 6: $z[k]'=.2[z[k],z_0]$; @endfor@\cr
@unfill@ $z_5'\to z_4'\to z_1'\to z_3'\to z_6'\to\cycle$.\cr
\enddisplay
@@ -1771,7 +1790,7 @@ It's a nuisance to write long-winded @fill@ commands when broad-edge
pens are being simulated in this way, so \MF\ provides a convenient
abbreviation: You can write simply
\begindisplay
-^@penstroke@ $z_{1e}\to z_{2e}\{"right"\}\to\{"right"\}z_{3e}$
+^@penstroke@ $z_{1e}\to z_{2e}\{"right"\}\to\{"right"\}\,z_{3e}$
\enddisplay
instead of the command `\thinspace@fill@ $z_{1l}\to
z_{2l}\{"right"\}\to\{"right"\}\,z_{3l} \dashto
@@ -1825,7 +1844,7 @@ $\penpos1("stem",15)$; \ $\penpos2(.9"stem",12)$;\cr
$\penpos3("stem",10)$; \ $x_1=x_2=x_3=.5w$;\cr
$y_1=h$; \ $y_2=.55h$; \ $y_3=0$;\cr
$x_{2l}:={1\over6}[x_{2l},x_2]$;\cr
-@penstroke@ $z_{1e}\to z_{2e}\{down\}\to z_{3e}$.\cr
+@penstroke@ $z_{1e}\to z_{2e}\{"down"\}\to z_{3e}$.\cr
\enddisplay
Setting $x_1=x_2=x_3=.5w$ centers the stroke; setting $y_1=h$ and $y_3=0$
makes it sit in the type box, protruding just slightly at the top and bottom.
@@ -1927,17 +1946,17 @@ $x_{3r}=x_{6r}=w$;\cr
$y_{1r}=y_2=y_{3l}=h$;\cr
$y_{4r}=y_5=y_{6l}=0$;\cr
$z_{1'}=.25[z_1,z_6]$; \ $z_{6'}=.75[z_1,z_6]$;\cr
-$theta_1:=\angle(w,-h)+90$;\cr
-$\penpos1(b,theta_1)$; \ $\penpos6(b,theta_1)$;\cr
-$z_7=.5[z_1,z_6]$; \ $\penpos7(.6b,theta_1)$;\cr
-$\penpos{1'}(b,theta_1)$; \ $\penpos{6'}(b,theta_1)$;\cr
+$"theta"_1:=\angle(w,-h)+90$;\cr
+$\penpos1(b,"theta"_1)$; \ $\penpos6(b,"theta"_1)$;\cr
+$z_7=.5[z_1,z_6]$; \ $\penpos7(.6b,"theta"_1)$;\cr
+$\penpos{1'}(b,"theta"_1)$; \ $\penpos{6'}(b,"theta"_1)$;\cr
@penstroke@ $z_{1e}\to z_{1'e}\{z_{6'}-z_{1'}\}\to z_{7e}\to
\{z_{6'}-z_{1'}\}z_{6'e}\to z_{6e}$;\cr
$z_{3'}=.25[z_3,z_4]$; \ $z_{4'}=.75[z_3,z_4]$;\cr
-$theta_3:=\angle(-w,-h)+90$;\cr
-$\penpos3(b,theta_3)$; \ $\penpos4(b,theta_3)$;\cr
-$z_8=.5[z_1,z_6]$; \ $\penpos8(.6b,theta_3)$;\cr
-$\penpos{3'}(b,theta_3)$; \ $\penpos{4'}(b,theta_3)$;\cr
+$"theta"_3:=\angle(-w,-h)+90$;\cr
+$\penpos3(b,"theta"_3)$; \ $\penpos4(b,"theta"_3)$;\cr
+$z_8=.5[z_1,z_6]$; \ $\penpos8(.6b,"theta"_3)$;\cr
+$\penpos{3'}(b,"theta"_3)$; \ $\penpos{4'}(b,"theta"_3)$;\cr
@penstroke@ $z_{3e}\to z_{3'e}\{z_{4'}-z_{3'}\}\to z_{8e}\to
\{z_{4'}-z_{3'}\}z_{4'e}\to z_{4e}$;\cr
$\penpos2(b,0)$; \ $\penpos5(b,0)$; \ @penstroke@ $z_{2e}\to z_{5e}$.\cr
@@ -2152,7 +2171,7 @@ true, ``sharped'' forms of these parameters need to be converted to
``unsharped'' pixel-oriented quantities, and best results are obtained when
such conversions are done carefully. After \MF\ has obeyed line~7 of the
example, the pixel-oriented parameters "em", "cap", "thin", "thick",
-and~"o" are ready to be used as we draw letters of the font.
+and~$o$ are ready to be used as we draw letters of the font.
Line 8 defines a quantity called "curve\_sidebar" ^^{sidebar} that will
measure the distance of the left and right edges of the `O' from the
@@ -2164,7 +2183,7 @@ when we work at this particular resolution.
Before we go any further, we ought to discuss the strange collection
of words and pseudo-words in the file |io.mf|. Which of the terms
-`|mode_setup|', `|em|', `|curve_sidebar|' and so forth are part of
+`|mode_setup|', `|em|', `|curve_sidebar|', and so forth are part of
the \MF\ language, and which of them are made up specifically for
the Io example? Well, it turns out that almost {\sl nothing\/} in this
example is written in the pure \MF\ language that the computer understands!
@@ -2216,7 +2235,7 @@ with `|&plain \relax|' instead of just `|\relax|'. These conventions are
exactly the same as those of \TeX.
Our Ionian example uses the following words that are not part of plain
-\MF: "em", "cap", "thin", "thick", "o", "curve\_sidebar", "test\_I", "code",
+\MF: "em", "cap", "thin", "thick", $o$, "curve\_sidebar", "test\_I", "code",
"trial\_stem", "trial\_width", and "stem". If you change these to some other
words or symbols---for example, if you replace `|thin|' and `|thick|' by
`|t|' and `|T|' respectively, in lines 3, 6, 10, and~11---the results will
@@ -2437,8 +2456,10 @@ produce a font that is magnified fourfold; i.e., the results will be
The computer will read |io.mf| as before, but this time it won't display an~`O';
characters are normally not displayed in fontmaking modes, because we usually
want the computer to run as fast as possible when it's generating a font
-that has already been designed. All you'll see is `|(io.mf| |[79])|',
-followed by~`^|*|'. Now the fun starts: You should type
+that has already been designed. All you'll see is
+`|(io.mf| |The| |letter| |O| |[79])|' or possibly only `|(io.mf| |[79])|',
+followed by~`^|*|'. Now the fun starts: You should type\par
+\noindent
\begintt
code=100;
for s=7 upto 10:
@@ -2630,7 +2651,7 @@ transcripts were called |io.log|.) \ At the end of Experiment~5 you'll
have a file |badio.log| that will serve as a helpful reminder of
what errors need to be fixed up.
-The `^|?|' that appears after the context display means that \MF\ wants
+The `^|?|'\ that appears after the context display means that \MF\ wants
advice about what to do next. If you've never seen an error message before,
or if you've forgotten what sort of response is expected, you can type
`|?|' now (go ahead and try it!); \MF\ will respond as follows:
@@ -2853,7 +2874,7 @@ you want to correct mistakes. \ (Why not look at
|badio.log| now, and |io.log| too, in order to get familiar with log files?)
\dangerexercise Suppose you were doing Experiment 3 with |badio| instead
-of~|io|, so you began by saying `|\mode=smoke|; |input| |badio|'. Then you
+of~|io|, so you began by saying `|\mode=smoke;| |input| |badio|'. Then you
would want to recover from the error on line~1 by inserting a correct
@mode\_setup@ command, instead of by simply \<return>ing, because
@mode\_setup@ is what really establishes "smoke" mode. Unfortunately if you
@@ -2985,7 +3006,7 @@ slightly greater than $1\over10$). It turns out that the tokens
\dangerexercise Are the following pairs of numeric tokens equivalent
to each other, when they appear in \MF\ programs?
\ (a)~|0| and |0.00001|; \ (b)~|0.00001| and |0.00002|;
-\ (c)~|0.00002| and |0.00003|; \ (d)~|04095.999999| and |10000|?
+\ (c)~|0.00002| and |0.00003|; \ (d)~|04095.999999| and |10000|.
\answer (a) No, the second token represents $1\over65536$. \ (A token has
the same meaning as~`|0|' ^^{zero} if and only if its decimal value
is strictly less than $2^{-17}=.00000\,76293\,94531\,25$.) \ (b)~Yes; both
@@ -3001,7 +3022,7 @@ which is too big.)
the following rules until no more characters remain on the line:
\smallskip
\hang\textindent{1)}If the next character is a ^{space}, or if it's a ^{period}
-(\thinspace`|.|'\thinspace) that isn't ^^{decimal point} followed by a
+(\thinspace`|.|'\thinspace)\ that isn't ^^{decimal point} followed by a
decimal digit or a period, ignore it and move on.
\hang\textindent{2)}If the next character is a ^{percent sign}
@@ -3060,7 +3081,7 @@ computer does.
\enddisplay
\answer \cstok{xx}, \cstok{3.1} (a numeric token), \cstok{.6} (another
numeric token), \cstok{..}, \cstok{[[}, \cstok{a}, \cstok{+-},
-\cstok{bc\_d}, \cstok{e}, \cstok{]}, \cstok{]}, {\chardef\"=`\"\cstok{\"a
+\cstok{bc\char`\_d}, \cstok{e}, \cstok{]}, \cstok{]}, {\chardef\"=`\"\cstok{\"a
\%\"} (a string token), \cstok{<\|>}, \cstok{(} (see rule~5), \cstok{(},
\cstok{\$}, \cstok{1} (a numeric token), \cstok{5} (likewise numeric),
\cstok{\"+-\"} (a string token), and \cstok{\"\"}} (a string token that
@@ -3738,13 +3759,13 @@ The expression `|known|~|a|' ^^{known} is true if and only if the value
of~|a| is fully known.
\dangerexercise What causes the error messages in `|0>1|~|or|~|a<a|'\thinspace?
-\answer Since `^@or@' has stronger precedence than `$<$' or `$>$', ^^|<| ^^|>|
+\answer Since `^{or}' has stronger precedence than `$<$' or `$>$', ^^|<| ^^|>|
\MF\thinspace\ tries to evaluate this expression by putting things in
-parentheses as follows: `$(0>(1\mathbin{\bf or}a))<a$'. Now
-`$1\mathbin{\bf or}a$' makes no sense, because `@or@' operates only on
+parentheses as follows: `$(0>(1\mathbin{\rm or}a))<a$'. Now
+`$1\mathbin{\rm or}a$' makes no sense, because `or' operates only on
booleans; in such cases \MF\ uses the right operand~`$a$' as the result. Then
`$\mkern1mu0>a$' is indeterminate because $a$~is unknown; \MF\ treats this as
-false. Finally `${\rm false}<a$' is another illegal combination of types.
+@false@. Finally `$@false@<a$' is another illegal combination of types.
\danger The rest of this chapter is entirely preceded by ``dangerous bend''
signs, so you can safely omit it on first reading (unless you're hooked
@@ -3900,7 +3921,7 @@ out different each time the computer is asked for a new random number
\noalign{\vskip2pt}
uniformdeviate 100&47.4241\cr
uniformdeviate 100&97.28148\cr
-uniformdeviate -100&-36.16279\cr
+uniformdeviate -100&-36.1628\cr
(normaldeviate,normaldeviate)&(0.46236,-1.87648)\cr
\enddemo
The value of `uniformdeviate\thinspace100' is a random number between 0 and~100;
@@ -3924,17 +3945,17 @@ z scaled 3&(3x,3y)\cr
z xscaled 2 yscaled 1/2&(2x,0.5y)\cr
z shifted (2,3)&(x+2,y+3)\cr
z shifted 3right&(x+3,y)\cr
-z slanted 1/6&(x+0.16667y,y)\cr
+z slanted 1/6&(0.16667y+x,y)\cr
z rotated 90&(-y,x)\cr
z rotated 30&(-0.5y+0.86603x,0.86603y+0.5x)\cr
xpart(z rotated 30)&-0.5y+0.86603x\cr
ypart(z rotated 30)&0.86603y+0.5x\cr
(1,2)*(3,4)&(3,4)\werror\cr
(1,2)zscaled(3,4)&(-5,10)\cr
-(a,b)zscaled(3,4)&(3a-4b,4a+3b)\cr
-(a,b)zscaled dir 30&(0.86603a-0.5b,0.5a+0.86603b)\cr
+(a,b)zscaled(3,4)&(-4b+3a,3b+4a)\cr
+(a,b)zscaled dir 30&(-0.5b+0.86603a,0.86603b+0.5a)\cr
(1,2)dotprod(3,4)&11\cr
-(a,b)dotprod(3,4)&3a+4b\cr
+(a,b)dotprod(3,4)&4b+3a\cr
dir 21 dotprod dir 51&0.86603\cr
(3,4)dotprod((30,40)rotated 90)&0\cr
\enddemo
@@ -4125,9 +4146,10 @@ expressions. We shall consider only a portion of the numeric and pair
cases here, in order to have a foretaste of the complete menu:
\def\\#1{\thinspace{\tt#1}\thinspace}
\beginsyntax
-<numeric primary>\is<numeric atom>
- \alt<numeric atom>[\char'133]<numeric expression>%
- [,]<numeric expression>[\char'135]
+<numeric atom>\is<numeric variable>
+ \alt<numeric token primary>
+ \alt[(]<numeric expression>[)]
+ \alt[normaldeviate]
\alt[length]<string primary>
\alt[length]<path primary>
\alt[length]<pair primary>
@@ -4135,13 +4157,12 @@ cases here, in order to have a foretaste of the complete menu:
\alt[xpart]<pair primary>
\alt[ypart]<pair primary>
\alt<numeric operator><numeric primary>
-<numeric atom>\is<numeric variable>
- \alt<numeric token primary>
- \alt[(]<numeric expression>[)]
- \alt[normaldeviate]
<numeric token primary>\is<numeric token>[/]<numeric token>
\alt<numeric token not followed by %
`{\tt/}$\thinspace\langle$numeric token$\rangle$'\thinspace>
+<numeric primary>\is<numeric atom not followed by {[\char'133]<expression>[,]}>
+ \alt<numeric atom>[\char'133]<numeric expression>%
+ [,]<numeric expression>[\char'135]
<numeric operator>\is[sqrt]\alt[sind]\alt[cosd]\alt[mlog]\alt[mexp]
\alt[floor]\alt[uniformdeviate]\alt<scalar multiplication operator>
<scalar multiplication operator>\is<plus or minus>
@@ -4242,11 +4263,11 @@ as `|..|'.]
\endchapter
A maiden was sitting there who was lovely as any picture,
-% ein bildsch\"one Jungfrau,
+% eine bildsch\"one Jungfrau,
nay, so beautiful that no words can express it.
-% nein so sch\"on, dass es nicht so sagen ist.
+% nein so sch\"on, da\ss\ es nicht zu sagen ist,
\author JAKOB and WILHELM ^{GRIMM}, {\sl Fairy Tales\/} (1815)
- % Kinder- und hausm\"archen, vol 2, #166; translated by Margaret Hunt
+ % Kinder- und Hausm\"archen, vol 2, #166; translated by Margaret Hunt
% in Strong Hans (Der starke Hans), about 4/5 of the way through
% This quote and the next were found by online computer search at SAIL
% in the files GRIMM[lib,doc] and WUTHER[lib,doc]
@@ -4335,23 +4356,24 @@ millimeter, based on the resolution determined by "mode" and "mag".)
\\$x_4=w-.01"in"$\\
Point 4 should be one-hundredth of an inch inside the right edge of
-the type. \ (Plain \MF's ^@beginchar@ routine sets variable~^"w" equal
+the type. \ (Plain \MF's ^@beginchar@ routine sets variable~^{$w$} equal
to the width of whatever character is currently being drawn, expressed in
pixels.)
\\$y_4=.5h$\\
Point 4 should be halfway between the baseline and the top of the type.
-\ (Plain \MF's @beginchar@ sets ^"h" to the height of the
+\ (Plain \MF's @beginchar@ sets ^{$h$} to the height of the
current character, in pixels.)
\\$y_6=-d$\\
Point 6 should be below the baseline, at the bottom edge of the type.
-\ (Each character has a ``^{bounding box}'' that runs from $(0,h)$
+\ (With plain \MF's @beginchar@ each
+character has a ``^{bounding box}'' that runs from $(0,h)$
at the upper left and $(w,h)$ at the upper right to $(0,-d)$ and~$(w,-d)$
-at the lower left and lower right; variable~^"d" represents the depth of
+at the lower left and lower right; variable~^{$d$} represents the depth of
the type. The values of $w$, $h$, and~$d$ might change from character to
-character, since the individual pieces of type in a computer-produced
-font need not have the same size.)
+character, since the individual pieces of type need not have the same size
+in a computer-produced font.)
\\$y_8=.5[h,-d]$\\
Point 8 should be halfway between the top and bottom edges of the type.
@@ -4555,7 +4577,7 @@ with unknown quantities. For example, it's possible to say
^"top"\thinspace\<unknown>, ^"bot"\thinspace\<unknown>,
^"lft"\thinspace\<unknown>, ^"rt"\thinspace\<unknown>, and even
\begindisplay
-@penpos@\<suffix>(\<unknown>,\thinspace\<known>).
+"penpos"\<suffix>(\<unknown>,\thinspace\<known>).
\enddisplay
\danger A \MF\ program can say `\<unknown>$[a,b\mkern1mu]$' when $a-b$ is
@@ -4740,12 +4762,12 @@ old value of variable~$a$ should be discarded. \MF\ can't simply delete
an independent variable that has things depending on it, so it
chooses a dependent variable to take $a$'s place; the computer prints out
\begintt
-### 0.5a=-0.5b-c+1.5
+### 0.5a=-c-0.5b+1.5
\endtt
^^{hash hash hash} meaning that $0.5a$ will be replaced by $-c-{1\over2}b
+{3\over2}$ in all dependencies, before $a$ is discarded. Variable $c$ is
now independent again; `^@showdependencies@' will reveal that the only
-dependent variable is now $d$, which equals $0.75b+0.5c+0.75$. \ (This
+dependent variable is now $d$, which equals $0.5c+0.75b+0.75$. \ (This
is correct, for if the variable~$a$ is eliminated from the two given
equations we obtain $4d=3b+2c+3$.) \ The variable chosen for independence
is one that has the greatest coefficient of dependency with respect
@@ -5291,13 +5313,13 @@ end of Appendix~B.
talking about could be defined by saying
\begindisplay
@mode\_def@ "luxo" $=$\cr
-\quad$"pixels\_per\_inch":=2000$;&|%| high res, almost 30 per point\cr
-\quad$"blacker":=.1$;&|%| make pens a teeny bit blacker\cr
-\quad$"o\_correction":=1$;&|%| keep the full overshoot\cr
-\quad$"fillin":=0.1$;&|%| compensate for darkened corners\cr
-\quad$"proofing":=0$;&|%| no, we're not making proofs\cr
-\quad$"fontmaking":=1$;&|%| yes, we are making a font\cr
-\quad$"tracingtitles":=1$; \ @enddef@;&|%| yes, show titles online\cr
+\quad$"pixels\_per\_inch":=2000$;&\% high res, almost 30 per point\cr
+\quad$"blacker":=.1$;&\% make pens a teeny bit blacker\cr
+\quad$"o\_correction":=1$;&\% keep the full overshoot\cr
+\quad$"fillin":=0.1$;&\% compensate for darkened corners\cr
+\quad$"proofing":=0$;&\% no, we're not making proofs\cr
+\quad$"fontmaking":=1$;&\% yes, we are making a font\cr
+\quad$"tracingtitles":=1$; \ @enddef@;&\% yes, show titles online\cr
\enddisplay
The name of the mode should be a single symbolic token. The resolution
should be specified by assigning a value to "pixels\_per\_inch"; all other
@@ -5370,7 +5392,7 @@ end % and stop.
Similar files |logo9.mf| and |logo8.mf| will produce 9-point
`\thinspace{\manual hijklmnj}\thinspace' and \hbox{8-point}
`\thinspace{\manual opqrstuq}\thinspace'; the letters get a little
-wider in relation to their height, and the inter-character spacing
+wider in relation to their height, and the intercharacter spacing
gets significantly wider, as the size gets smaller:
\begintt
% 9-point METAFONT logo % 8-point METAFONT logo|smallskip
@@ -5409,7 +5431,7 @@ dimensions will be used in several of the programs for individual letters.
Then |logo.mf| makes the conversion to pixel units:
\begintt
% Routines for the METAFONT logo
-% (logo10.mf is a typical parameter file)
+% (logo10.mf is a typical parameter file)|smallskip
mode_setup;
ygap#:=(ht#/13.5u#)*xgap#; % vertical adjustment
leftstemloc#:=2.5u#+s#; % position of left stems
@@ -5428,8 +5450,8 @@ After the initial definitions just shown, |logo.mf| continues with
programs for each of the seven letters. For example,
here is the program for `{\manual ^{E}}', which illustrates the
\rightfig 11a ({224\apspix} x {216\apspix}) ^-11pt
-use of $u\0$, $s\0$, $"ht"\0$, "leftstemloc", "barheight", "xgap",
-and "logo\_pen":
+use of $u\0$, $s\0$, $"ht"\0$, "logo\_pen", "leftstemloc", $o$,
+"xgap", and "barheight":
\begintt
beginchar("E",14u#+2s#,ht#,0);
pickup logo_pen;
@@ -5463,7 +5485,7 @@ edge of the lower bar, and the center of the middle bar and the stem).
almost the same as `{\manual i}'\thinspace).
\answer The only possible surprise is the position of $y_1$,
which should match similar details in the `{\manual h}'
-and the~`\kern1pt{\manual j}\kern1pt' of Chapter~4:
+and the~`\kern.5pt{\manual j}\kern.5pt' of Chapter~4:
\begintt
beginchar("F",14*u#+2s#,ht#,0); pickup logo_pen;
x1=x2=x3=leftstemloc; x4=w-x1+o; x5=x4-xgap;
@@ -5473,8 +5495,8 @@ labels(1,2,3,4,5); endchar;
\endtt
\dangerexercise Write the complete programs for `{\manual h}' ^^{M} ^^{T}
-and `\kern1pt{\manual j}\kern1pt', based on the information in Chapter~4,
-but using the style of the program for `{\manual E}' above. The character
+and `\kern.5pt{\manual j}\kern.5pt', based on the information in Chapter~4,
+but using the style of the program for `{\manual i}' above. The character
widths should be $18u\0+2s\0$ and $13u\0+2s\0$, respectively.
\checkequals\metaT\exno
\answer The quantity called "ss" in Chapter~4 is now "leftstemloc".
@@ -5492,11 +5514,11 @@ labels(1,2,3,4); endchar;
\endtt
\danger The file |logo.mf| also contains the following cryptic instructions,
-which cause the letter pairs `\kern1pt{\manual jk}' and `{\manual lm}' to
+which cause the letter pairs `\kern.5pt{\manual jk}' and `{\manual lm}' to
be typeset closer together than their bounding boxes would imply:
\begintt
ligtable "T": "A" kern -.5u#;
-ligtable "F": "O" kern -u#;|smallskip
+ligtable "F": "O" kern -u#;
\endtt
Without these corrections `\MF\kern1pt' would be ^^{kerning} ^^@kern@
`{\manual hij\/kl\/mnj}\kern1pt'. Uppercase letters are often subject to
@@ -5637,7 +5659,7 @@ if known pixmag: hppp:=pixmag*hppp; vppp:=pixmag*vppp; fi
\endtt
at the very end of that file. Then run \MF\ with
\begintt
-\mode="cheapo"; input cheaplogo10
+\mode=cheapo; input cheaplogo10
\endtt
where the file `|cheaplogo10.mf|' says simply `|pixmag=10;| |input| |logo10|'.
\ (The interim "hppp" setting and the ^@special@ command are
@@ -5685,7 +5707,7 @@ typeset by putting such boxes snugly next to each other.
The main difference
between the old conventions and the new~ones is that type boxes are now
allowed to vary in height as well as in width. For example, when \TeX\
-typesets `A~line~of~type.' it puts boxes together that essentially look
+typesets `A~line~of~type.'\ it puts boxes together that essentially look
like this: `\thinspace\demobox{A line of type.}\thinspace'. \ (The `A'
appears in a box `\thinspace\setbox0\hbox{A}\maketypebox\thinspace' that
sits on a given baseline, while the `y' appears in a box
@@ -5781,7 +5803,7 @@ new equipment.
The three dimensions in a @beginchar@ command are given in reverse
alphabetical order: First comes the width, then the height, then the depth.
The @beginchar@ routine converts these quantities into pixel units
-and assigns them to the three variables ^"w", ^"h", and~^"d". In fact,
+and assigns them to the three variables ^{$w$}, ^{$h$}, and~^{$d$}. In fact,
@beginchar@ rounds these dimensions to the nearest whole number of
pixels; hence $w$, $h$, and~$d$ will always be integers.
@@ -6044,15 +6066,15 @@ much larger fonts.)
\smallskip\textindent\bull^"chardx" and "chardy" represent horizontal and
vertical {\sl escapement\/} in units of pixels. \ (Some typesetting
-systems use both of these device-dependent amounts to change their current
+systems use both of these device-dependent amounts to alter their current
position on a page, just after typesetting each character. Other systems,
-like the ^|dvi| software associated with \TeX, assume that $"chardy"=0$
+like typical ^|dvi| software associated with \TeX, assume that $"chardy"=0$
but use "chardx" as the horizontal escapement whenever a horizontal
movement by "chardx" does not cause the subsequent position to ^{drift}
too far from the device-independent position defined by accumulated
"charwd" values. Plain \MF's @endchar@ routine keeps $"chardy"=0$, but
sets $"chardx":=w$ just before shipping a character to the output. This
-explains why a change to~^"w" will affect the spacing between adjacent
+explains why a change to~^{$w$} will affect the spacing between adjacent
letters, as discussed earlier.) \looseness=-1
\ddanger Two characters with the same $c$ code
@@ -6069,7 +6091,7 @@ exactly $11\pt$ apart. Therefore it extends below its baseline by $11\pt$;
but it is put into a box of depth zero, because \TeX\ would otherwise
think that the first line of the paragraph contains an extremely deep
character, and such depth would cause the second line to be moved down.
-$$\def\comment{\hfill{\tt\%} }
+$$\def\comment{\hfill{\%} }
\halign{\hbox to\hsize{\indent#\hfil}\cr
$"baselinedistance"\0:=11"pt"\0$; \ ^@define\_pixels@("baselinedistance");\cr
$"heavyline"\0:=50/36"pt"\0$; \ ^@define\_blacker\_pixels@("heavyline");\cr
@@ -6496,16 +6518,16 @@ the ``back'' square is drawn; then two lines of the ``front'' square are
erased, using a somewhat thicker pen; finally the remaining lines are
drawn with the ordinary pen:
\begindisplay
-$s\0:=5"pt"\0$; \ @define\_pixels@$(s)$; \ |%| side of the square\cr
-$z_1=(0,0)$; \ $z_2=(s,0)$; \ $z_3=(0,s)$; $z_4=(s,s)$;\cr
-^@for@ $k=1$ @upto@ 4: $z_{k+4}=z_k+({2\over3}s,{1\over3}s)$; \ @endfor@\cr
+$s\0:=5"pt"\0$; \ @define\_pixels@$(s)$; \ \% side of the square\cr
+$z_1=(0,0)$; \ $z_2=(s,0)$; \ $z_3=(0,s)$; \ $z_4=(s,s)$;\cr
+^@for@ $k=1$ @upto@ 4: $z[k+4]=z[k]+({2\over3}s,{1\over3}s)$; \ @endfor@\cr
\pickup @pencircle@ scaled $.4"pt"$; \
@draw@ $z_5\dashto z_6\dashto z_8\dashto z_7\dashto \cycle$;\cr
\pickup @pencircle@ scaled $1.6"pt"$; \
@erase@ @draw@ $z_2\dashto z_4\dashto z_3$;\cr
\pickup @pencircle@ scaled $.4"pt"$; \
@draw@ $z_1\dashto z_2\dashto z_4\dashto z_3\dashto \cycle$;\cr
-@for@ $k=1$ @upto@ 4: @draw@ $z_k\dashto z_{k+4}$; \ @endfor@.\cr
+@for@ $k=1$ @upto@ 4: @draw@ $z[k]\dashto z[k+4]$; \ @endfor@.\cr
\enddisplay
At its true size the resulting ^{cube} looks like this:
`\thinspace{\manual\cubea}\thinspace'.\par}
@@ -6527,7 +6549,7 @@ points and picking up the pen as before:
@cullit@; \ \pickup @pencircle@ scaled $.4"pt"$;\cr
@draw@ $z_3\dashto z_1\dashto z_2\dashto z_4$; \
@draw@ $z_5\dashto z_7\dashto z_8\dashto z_6$;\cr
-@for@ $k=1$ @upto@ 4: \ @draw@ $z_k\dashto z_{k+4}$; \ @endfor@.\cr
+@for@ $k=1$ @upto@ 4: \ @draw@ $z[k]\dashto z[k+4]$; \ @endfor@.\cr
\enddisplay
(Note that it would not be quite enough to erase only from $z_7$ to
${1\over3}[z_7,z_5]$!)\par
@@ -6569,7 +6591,7 @@ five points connected by ``tense'' lines as follows:
\begindisplay
@pair@ "center"; \ $"center"=(.5w,2"pt")$;\cr
@numeric@ "radius"; \ $"radius"=5"pt"$;\cr
-@for@ $k=0$ @upto@ 4: \ $z_k="center"+("radius",0)$
+@for@ $k=0$ @upto@ 4: \ $z[k]="center"+("radius",0)$
^{rotated}$(90+{360\over5}k)$; \ @endfor@\cr
@def@ :: = ^^{tension} $\to\tension 5\to$ @enddef@;\cr
@path@ "star"; \ $"star"=z_0::z_2::z_4::z_1::z_3::\cycle$;\cr
@@ -6585,10 +6607,10 @@ exercise:
\pickup @pencircle@ scaled $.4"pt"$; \ @draw@ "star";\cr
@cullit@; \ \pickup @pencircle@ scaled $1.6"pt"$;\cr
@for@ $k=0$ @upto@ 4:
- \ @undraw@ subpath$(k+.55,k+.7)$ @of@ "star"; \ @endfor@\cr
+ \ @undraw@ subpath$(k+.55,k+.7)$ of "star"; \ @endfor@\cr
@cullit@; \ \pickup @pencircle@ scaled $.4"pt"$;\cr
-@for@ $k=0$ @upto@ 4: \ @draw@ subpath$(k+.47,k+.8)$ @of@ "star"; \ @endfor@\cr
-@labels@(0,1,2,3,4); \ @endchar@.\cr
+@for@ $k=0$ @upto@ 4: \ @draw@ subpath$(k+.47,k+.8)$ of "star"; \ @endfor@\cr
+@labels@$(0,1,2,3,4)$; \ @endchar@.\cr
\enddisplay
However, as in the previous case, there's an Alternate Solution~1
by Bruce ^{Leban} that is preferable because it doesn't depend
@@ -6598,10 +6620,10 @@ on magic constants like .55 and~.47:
@picture@ "savedpicture"; \ $"savedpicture"=@nullpicture@$;\cr
@pen@ "eraser"; \ $"eraser":=@pencircle@$ scaled $1.6"pt"$;\cr
@for@ $k=0$ @upto@ 4:\cr
-\indent @draw@ subpath$(k,k+1)$ @of@ "star"; @cullit@;\cr
-\indent @undraw@ subpath$(k+3,k+4)$ @of@ "star" @withpen@ "eraser"; @cullit@;\cr
+\indent @draw@ subpath$(k,k+1)$ of "star"; @cullit@;\cr
+\indent @undraw@ subpath$(k+2,k+3)$ of "star" @withpen@ "eraser"; @cullit@;\cr
\indent @addto@ "savedpicture" @also@ "currentpicture"; @clearit@; @endfor@\cr
-$"currentpicture":="savedpicture"$; \ @labels@(0,1,2,3,4); \ @endchar@.\cr
+$"currentpicture":="savedpicture"$; \ @labels@$(0,1,2,3,4)$; \ @endchar@.\cr
\enddisplay
\dangerexercise What does the command `@fill@ "star"' do, if "star" is the
@@ -6620,7 +6642,7 @@ example, in the program
@path@ $S$; \ $S=((0,1)\to(2,0)\to(4,2)\to$\cr
\indent$(2,5.5)\to(0,8)\to(2,10)\to(3.5,9))$ scaled $9"pt"$;\cr
@for@ $k=0$ @upto@ 35: @overdraw@ ^"fullcircle" scaled 3"mm"\cr
-\indent shifted ^{point} $k/35\ast \mathop{\rm length} S$ @of@ $S$;
+\indent shifted ^{point} $k/35\ast \mathop{\rm length} S$ of $S$;
@endfor@\cr
\enddisplay
to create the curious ^{S} shown here.)
@@ -6635,7 +6657,7 @@ Explain how to produce it (or something very similar) with \MF\!.
exercise so that it applies to arbitrary cycles~$c$, even those that are
self-intersecting:
\begindisplay
-@def@ @overdraw@ @expr@ $c$ = ^@begingroup@\cr
+@def@ @overdraw@ @expr@ $c$ = ^@begingroup@ @save@ "region";\cr
\indent@picture@ "region"; $"region":=@nullpicture@$;\cr
\indent^@interim@ $"turningcheck":=0$; ^@addto@ "region" @contour@ $c$;\cr
\indent^@cull@ "region" @dropping@ $(0,0)$;\cr
@@ -6647,12 +6669,12 @@ self-intersecting:
\ The watchband is now formed by overdrawing its links, one at a time,
doing first the ones that are underneath:
\begindisplay
-@beginchar@$("M",1.25"in"\0,.5"in"\0,0)$; \
+@beginchar@$(|"M"|,1.25"in"\0,.5"in"\0,0)$; \
\pickup @pencircle@ scaled .4"pt";\cr
-$z_1=(20,-13)$; \ $z_2=(30,-6)$; \ $z_3=(20,1)$; $z_4=(4,-7)$;\cr
+$z_1=(20,-13)$; \ $z_2=(30,-6)$; \ $z_3=(20,1)$; \ $z_4=(4,-7)$;\cr
\indent $z_5=(-12,-13)$; \ $z_6=(-24,-4)$; \ $z_7=(-15,6)$;\cr
-@path@ $M$; $M=("origin"\to z1\to z2\to z3\to z4\to z5\to z6\to z7\to$\cr
-\indent$"origin"\to -z7\to -z6\to -z5\to -z4\to -z3\to -z2\to -z1\to\cycle)$\cr
+@path@ $M$; $M=("origin"\to z_1\to z_2\to z_3\to z_4\to z_5\to z_6\to z_7\to$\cr
+\indent$"origin"\to -z_7\to -z_6\to -z_5\to -z_4\to -z_3\to -z_2\to -z_1\to\cycle)$\cr
^^"origin" \indent\indent scaled $(h/26)$ shifted $(.5w,.5h)$;\cr
@def@ @link@(@expr@ $n$) =\cr
\indent @overdraw@ subpath ${1\over3}(n,n+1)$ of $M\;\dashto$\cr
@@ -6685,11 +6707,11 @@ heads this paragraph was made by substituting the following code for
the `@endchar@' in the program at the end of Chapter~12:
\begindisplay
@picture@ "dbend"; \ $"dbend"="currentpicture"$;\cr
-@endchar@; \ |%| end of the normal dangerous bend sign\cr
+@endchar@; \ \% end of the normal dangerous bend sign\cr
@beginchar@$(0,25u\0,"h\_height"\0+"border"\0,0)$;\cr
@fill@ $(0,-11"pt")\dashto(w,-11"pt")\dashto(w,h)\dashto(0,h)\dashto\cycle$;\cr
$"currentpicture":="currentpicture"-"dbend"$;\cr
-@endchar@;\ |%| end of the reversed dangerous bend sign\cr
+@endchar@;\ \% end of the reversed dangerous bend sign\cr
\enddisplay
^^{black/white reversal} The pixel values in "dbend" are all zero or more;
thus the pixels with a positive value, after "dbend" has been subtracted from
@@ -6706,7 +6728,7 @@ shifts the entire current picture three pixels to the right.
\danger There's a ``constant'' picture called ^@nullpicture@, whose pixel
values are all zero;
plain \MF\ defines `^@clearit@' to be an abbreviation for the
-assignment `"currentpicture":=@nullpicture@'. The current picture is
+assignment `$"currentpicture":=@nullpicture@$'. The current picture is
cleared automatically by every ^@beginchar@ and ^@mode\_setup@ command,
so you usually don't have to say `@clearit@' in your own programs.
@@ -6966,7 +6988,7 @@ and the pen is simple, the weight~$w$ is changed to~$-w$. If the turning
number is negative and the pen is complex, you get an error message about
a ``^{backwards path}.'' Finally, if the turning number is zero, you get
an error message about a ``^{strange path},'' unless the pen is simple and
-$"turningcheck"<=1$. Plain \MF\ sets $"turningcheck":=2$; the ^@filldraw@
+$"turningcheck"\le1$. Plain \MF\ sets $"turningcheck":=2$; the ^@filldraw@
macro in Appendix~B avoids the ``backwards path'' error by explicitly
reversing a path whose turning number is negative.
@@ -7098,7 +7120,7 @@ never stops with a ``^{strange path}'' error; furthermore, it never increases
a pixel value by more than~1, nor does it decrease any pixel values, even
when the cycle~$c$ is quite wild.)
\answer @vardef@ @safefill@ @expr@ $c$ $=$ ^@save@ "region";\parbreak
-\quad@picture@ "region"; "region"=@nullpicture@;\parbreak
+\quad@picture@ "region"; $"region"=@nullpicture@$;\parbreak
\quad^@interim@ ^"turningcheck"$\null:=0$;\parbreak
\quad @addto@ "region" @contour@ $c$; \
@cull@ "region" @dropping@ $(0,0)$;\parbreak
@@ -7128,10 +7150,10 @@ generations on your screen.
\answer (We assume that "currentpicture" initially has some configuration
in which all pixel values are zero or one; one means ``alive.'')
\begindisplay
-@picture@ $v$; @def@ "c" $=$ "currentpicture" @enddef@;\cr
+@picture@ $v$; @def@ $c$ $=$ "currentpicture" @enddef@;\cr
@forever@: \ $v:=c$; \ @showit@;\cr
-\quad @addto@ $c$ @also@ $c$ shifted "left" $+$ "c" shifted "right";\cr
-\quad @addto@ $c$ @also@ $c$ shifted "up" $+$ "c" shifted "down";\cr
+\quad @addto@ $c$ @also@ $c$ shifted "left" $+$ $c$ shifted "right";\cr
+\quad @addto@ $c$ @also@ $c$ shifted "up" $+$ $c$ shifted "down";\cr
\quad @addto@ $c$ @also@ $c-v$; \ @cull@ $c$ @keeping@ $(5,7)$; \ @endfor@.\cr
\enddisplay
(It is wise not to waste too much computer time watching this program.)
@@ -7178,13 +7200,13 @@ therefore produces the character `\kern1pt{\manual\circa}' in position
\exercise
Write a program that puts a {\sl filled\/} quarter-circle
-`\kern1pt{\manual\circb}' into font position~`{\tt b}'.
+`\kern1pt{\manual\circb}'\ into font position~`{\tt b}'.
\answer @beginchar@\kern1pt(|"b"|$,5"pt"\0,5"pt"\0,0)$;\parbreak
@fill@ $((0,0)\dashto"quartercircle"\dashto{\rm cycle})$
scaled 10"pt"; \ @endchar@.
\exercise
-Why are the `\kern1pt{\manual\circa}' and `\kern1pt{\manual\circb}'
+Why are the `\kern1pt{\manual\circa}' and `\kern1pt{\manual\circb}'\
characters of these examples only $5\,$pt wide and $5\,$pt high, although
they are made with the path `"quartercircle" scaled 10"pt"'?
\answer A "quartercircle" corresponds to a circle whose diameter
@@ -7498,8 +7520,8 @@ than to repeat points of a path.
\ddanger Sometimes it's desirable to take a path and change all its
connecting links to `$\ddashto$', regardless of what they were originally;
-the key points are left unchanged. Plain \MF\ has a ^"tensepath" operation
-that does this. For example, "tensepath"~"unitsquare"~$=$
+the key points are left unchanged. Plain \MF\ has a ^@tensepath@ operation
+that does this. For example, @tensepath@~"unitsquare"~$=$
$(0,0)\ddashto(1,0)\ddashto(1,1)\ddashto(0,1)\ddashto\cycle$.
When \MF\ is deciding what curves should be drawn in place of `$\to$' or
@@ -7632,7 +7654,8 @@ An empty direction specifier at the beginning or end of a path, or just next
to the `\&' operator, is effectively replaced by `$\{\curl1\}$'.
This rule should be interpreted properly with respect to cyclic paths, which
have no beginning or end; for example, `$z_0\to z_1\,\&\,z_1\to z_2\to\cycle$'
-is equivalent to `$z_0\to z_1\{\curl1\}\&\{\curl1\}z_1\to z_2\to\cycle$'.
+is equivalent to
+`$z_0\to z_1\{\curl1\}\thinspace\&\thinspace\{\curl1\}z_1\to z_2\to\cycle$'.
\danger If there's a nonempty direction specifier after a point but not
before it, the nonempty one is copied into both places. Thus, for example,
@@ -7860,7 +7883,7 @@ in the range $0\le t<n$.
\ddangerexercise True or false:\quad point $t$ of $(z_0\dashto z_1)$ $=$
$t[z_0,z_1]$.
\answer True if $0\le t\le1$, except perhaps for rounding errors;
-otherwise false. The path $z_0\dashto z_1$ expands into `$z_0\to
+otherwise false. The path $z_0\dashto z_1$ is equivalent to `$z_0\to
\controls1/3[z_0,z_1]\and2/3[z_0,z_1]\to z_1$', and the ^{Bernshte\u\i n}
polynomial simplifies because $t[w,w+\delta,w+2\delta,w+3\delta]=w+3t\delta$.
Incidentally, `point~$t$ of $(z_0\ddashto z_1)$' is usually quite
@@ -7945,7 +7968,7 @@ given any paths $p$ and~$q$ of length~$n$. It can be defined by a
fairly simple program:
\begindisplay
@vardef@ "interpath"(@expr@ $a,p,q) =$\cr
-\quad @for@ $t=0$ @upto@ length$\,p\;-1$: $a$[point $t$ of $p,\,$
+\quad @for@ $t=0$ @upto@ length$\,p-1$: $a$[point $t$ of $p,\,$
point $t$ of $q$]\cr
\qquad$\to\controls$ $a$[postcontrol $t$ of $p,\,$
postcontrol $t$ of $q$]\cr
@@ -7979,7 +8002,7 @@ $p=(100,0)\dashto(300,0)\dashto(200,0)\dashto(100,0)\dashto(0,0)
\enddisplay
notice that "interpath" doesn't necessarily preserve smoothness at the key
points. The right illustration was obtained by duplicating point
-$(100,0)$ in~$heart$ (thereby making it a path of length~7) and taking
+$(100,0)$ in~"heart" (thereby making it a path of length~7) and taking
\begindisplay
$p=(100,200)\dashto(200,200)\dashto(200,100)$\cr
\qquad$\dashto(200,0)\dashto(0,0)\dashto(0,100)\dashto(0,200)\dashto(100,200)$.
@@ -8070,7 +8093,7 @@ $p$~never turns to the right. Paths with cusps are numerically unstable,
and they might become ``^{strange}'' after transformations are applied,
because rounding errors might change their ^{turning numbers}. The path~$p$
in this example has control points that correspond to tensions of only
-0.28 with respect to the initial and final directions; since \MF\ insists
+about 0.28 with respect to the initial and final directions; since \MF\ insists
that ^{tension}s be at least~0.75, this anomalous path could never have arisen
if the control points hadn't been given explicitly.
@@ -8200,7 +8223,7 @@ $$\halign{\hbox to\parindent{\hfil\sevenrm#\ \ \ }&#\hfil\cr
(z_{5e},z_{6e},z_{7e},z_{8e},.72)$; \ @endfor@\cr
11&$\penpos{a1}("thin",0)$; \ $\penpos{a5}("whatever",-90)$; \
$\penpos{a9}("thin",180)$;\cr
-12&$x_{a1l}-x_{a9l}=1/3(x_{5l}-x_{7l})$;\ $x_{a5}=.5w$; \
+12&$x_{a1l}-x_{a9l}=1/3(x_{5l}-x_{7l})$; \ $x_{a5}=.5w$; \
$y_{a1}=y_{a9}$; \ $y_{a5r}=4/7h$;\cr
13&$x_{a3l}=x_{a1l}$; \ $x_{a3r}=x_{a1r}$; \ $x_{a4r}=1/6[x_{a3r},x_{1l}]$; \
$x_0=.5w$; \ $y_0=.52h$;\cr
@@ -8415,7 +8438,7 @@ call \MF's transformers ``^{affine transformations},'' and the special case in
which the xpart and ypart are zero is called ``^{homogeneous}.'')
\danger In order to have some transform variables to work with, it's necessary
-to `^{hide}' some declarations and commands before giving the next |expr|s:
+to ``^{hide}'' some declarations and commands before giving the next |expr|s:
\begindemo{175pt}
\demohead
hide(transform t[]) t1&(xpart t1,ypart t1,xxpart...)\cr
@@ -8458,7 +8481,7 @@ transform. What can you legally say instead?
a normal dangerous bend sign, as in the ``reverse-video'' example
of Chapter~13. Explain how to transform it into the ^{left-handed
dangerous bend} that heads this paragraph.
-\answer @beginchar@$(126,25u\0,"hheight"\0+"border"\0,0)$;
+\answer @beginchar@$(126,25u\0,"h\_height"\0+"border"\0,0)$; \
|"Dangerous left bend"|;\parbreak
$"currentpicture":="dbend"$ reflectedabout $\bigl((.5w,0),(.5w,h)\bigr)$; \
@endchar@;\medskip\noindent
@@ -8537,14 +8560,14 @@ instead of $p$ itself. We haven't mentioned this before, because
"currenttransform" is usually equal to "identity"; but nonstandard
settings of "currenttransform" can be used for special effects that
are occasionally desired. For example, it's possible to change
-`\MF\kern1pt' to `{\manual 89:;<=>:}\kern3pt' by simply saying
+`\MF\kern1pt' to `{\manual 89:;<=>:}\kern2pt'\ by simply saying
\begindisplay
$"currenttransform":="identity"$ slanted 1/4
\enddisplay
and executing the programs of |logo.mf| that are described in Chapter~11;
no other changes to those programs are necessary.
-It's worth noting that the pen nib used to draw `{\manual 89:;<=>:}\kern3pt'
+It's worth noting that the pen nib used to draw `{\manual 89:;<=>:}\kern2pt'\
was not slanted when "currenttransform" was changed; only the ``tracks'' of
the pen, the paths in @draw@ commands, were modified. Thus the slanted image
was not simply obtained by slanting the unslanted image.
@@ -8553,7 +8576,7 @@ was not simply obtained by slanting the unslanted image.
plain \MF\ will set "currenttransform" to `"identity" yscaled
^"aspect\_ratio"', and ^@pickup@ will similarly yscale the pen nibs
that are used for drawing. In this case the slanted
-`{\manual 89:;<=>:}\kern3pt' letters should be drawn with
+`{\manual 89:;<=>:}\kern2pt'\ letters should be drawn with
\begindisplay
$"currenttransform":="identity"$ slanted 1/4 yscaled "aspect\_ratio".
\enddisplay
@@ -8561,10 +8584,12 @@ $"currenttransform":="identity"$ slanted 1/4 yscaled "aspect\_ratio".
\ddangerexercise Our program for
`\kern1pt\lower2.5pt\hbox{\manual\fouru}\kern1pt' doesn't work when pixels
aren't square. Fix it so that it handles a general "aspect\_ratio".
-\answer Replace line 10 by
+\answer Replace lines 10 and 11 by
\begindisplay
@pickup@ @pencircle@ scaled 3/4"pt" yscaled 1/3 rotated $-60$;\cr
@draw@ ($z_1\ldots p$) transformed $t$;\cr
+@addto@ "currentpicture" @also@ "currentpicture"\cr
+\qquad rotatedaround$\bigl((.5w,.5h)$ yscaled "aspect\_ratio"$,-180\bigr)$;\cr
\enddisplay
\endchapter
@@ -8786,7 +8811,7 @@ offsets of a pen.
in Chapter~15, it changes into an ellipse of some sort, since all of
\MF's transformations preserve ellipse-hood. The diameter of the
ellipse in each direction~$\theta$ is decreased by $2\min\bigl(
-\vert\sin\theta\vert,\vert\cos\theta\vert\bigr)$ times the current
+\vert{\sin\theta}\vert,\vert{\cos\theta}\vert\bigr)$ times the current
value of~^"fillin", before converting to a polygon; this helps to
compensate for the variation in thickness of diagonal strokes with
respect to horizontal or vertical strokes, on certain output devices.
@@ -8965,7 +8990,7 @@ how to put programs together effectively.
A \MF\ program is a sequence of statements separated by semicolons and
followed by `^@end@'. More precisely, the syntax rules
\beginsyntax
-<program>\is<statement list>[end]
+<program>\is<statement list><statement>[end]
<statement list>\is<empty>\alt<statement>[;]<statement list>
\endsyntax
define a \<program> in terms of a \<statement>.
@@ -9076,7 +9101,7 @@ complicated things while in the middle of other calculations, thereby
greatly increasing the power of macro definitions (which we shall study
in the next chapter). A {\sl^{group expression}\/} has the general form
\begindisplay
-{\tt begingroup}\thinspace\<statement list>\thinspace\<expression>
+{\tt begingroup}\thinspace\<statement list>\thinspace\<expression>%
\thinspace{\tt endgroup}
\enddisplay
and it fits into the syntax of expressions at the primary level. The
@@ -9115,9 +9140,9 @@ right, performing the statements within groups as they appear.
\dangerexercise Appendix B defines ^"whatever" to be an abbreviation for
the group expression `@begingroup@ @save@ ?; ? @endgroup@'. Why
does this work? \checkequals\Xwhat\exno
-\answer The save instruction gives `?' a fresh meaning, hence `?' is
+\answer The save instruction gives `?'\ a fresh meaning, hence `?'\ is
a numeric variable unconnected to any other variables. When the group
-ends and `?' is restored to its old meaning, the value of the group
+ends and `?'\ is restored to its old meaning, the value of the group
expression no longer has a name. \ (It's called a ``^{capsule}'' if
you try to @show@ it.) \ Therefore the value of the group expression
is a new, nameless variable, as desired.
@@ -9220,11 +9245,11 @@ diagnose the reasons for unexpected behavior. If you say
`^"tracingmacros"$\null:=1$', the transcript file of your run will record
every macro that is subsequently expanded, followed by the values of its
arguments as soon as they have been computed.
-For example, `rotatedaround$\,("up",30)$' might produce the
-^^|EXPR0| following lines of diagnostic information:
+For example, `rotatedaround$\,("up",30)$' might produce a transcript
+^^|EXPR0| that includes the following diagnostic information:
\begintt
-rotatedaround(EXPR0)(EXPR1)->shifted-(EXPR0)rotated(EXPR1)sh
-ifted(EXPR0)
+rotatedaround(EXPR0)(EXPR1)->
+ shifted-(EXPR0)rotated(EXPR1)shifted(EXPR0)
(EXPR0)<-(0,1)
(EXPR1)<-30
\endtt
@@ -9253,7 +9278,7 @@ Chapter~11 starts with
\begintt
beginchar("E",14u#+2s#,ht#,0); pickup logo_pen;
\endtt
-and the programs for `{\manual M}', `\kern1pt{\manual T}\kern1pt',
+and the programs for `{\manual M}', `\kern.5pt{\manual T}\kern.5pt',
etc., all have almost the same beginning. Therefore we might as
well put the following definition near the top of the file |logo.mf|:
\begintt
@@ -9400,7 +9425,7 @@ regions $(z_{\$a},z_{\$l},z_{\$b})$ and $(z_{\$\mkern-1muf},z_{\$r},z_{\$e})$
\quad $z_{\$a}-z_{\$l}=z_{\$\mkern-1muf}-z_{\$r}=
("bracket"/{\rm abs\,sind}\,"theta")\ast {\rm dir}\,"theta"$;\cr
\quad $y_{\$c}=y_{\$d}$; \ $y_{\$b}=y_{\$e}=y_\$$; \
- $y_{\$b}-y_{\$c}=@if@\;"theta"<0:\;{-}\;@fi@\;"slab"$;\cr
+ $y_{\$b}-y_{\$c}=@if@\;"theta"<0\colon\;{-}\;@fi@\;"slab"$;\cr
\quad $x_{\$b}=x_{\$c}=x_{\$l}-"left\_jut"$; \
$x_{\$d}=x_{\$e}=x_{\$r}+"right\_jut"$;\cr
\quad @labels@$(\$a,\$b,\$c,\$d,\$e,\$\mkern-1muf)$ @enddef@;\cr
@@ -9446,7 +9471,7 @@ by which serifs protrude on a ``normal'' letter like `H'.
\displayfig 18c (252\apspix)
$$\halign to\hsize\bgroup\indent#\hfil\tabskip1em plus1fil minus1fil
&\tabskip0pt\hfil\%\ #\cr
-@beginchar@\kern1pt(|"A"|$,13u\0,ht\0,0)$;\cr
+@beginchar@\kern1pt(|"A"|$,13u\0,"ht"\0,0)$;\cr
$z_1=(.5w,1.05h)$;&top point\cr
$x_{4l}=w-x_{5r}=u$; \ $y_{4l}=y_{5r}="slab"$;&bottom points\cr
@numeric@ $"theta"[\,]$;\cr
@@ -9468,11 +9493,11 @@ $z_3="whatever"[z_1,z_{5l}]$;\cr
@penstroke@ $z_{2e}\dashto z_{3e}$;&the crossbar\cr
@penlabels@$(0,1,2,3,4,5)$; \ @endchar@;\cr
\noalign{\medskip}
-@beginchar@\kern1pt(|"I"|$,6u\0,ht\0,0)$;\cr
+@beginchar@\kern1pt(|"I"|$,6u\0,"ht"\0,0)$;\cr
$x_1=x_2=.5w$;\cr
$y_1=h-y_2$; \ $y_2="slab"$;\cr
-"serif"$(1,"thick",-90,1.1jut,1.1jut)$;&upper serifs\cr
-"serif"$(2,"thick",90,1.1jut,1.1jut)$;&lower serifs\cr
+"serif"$(1,"thick",-90,1.1jut,1.1"jut")$;&upper serifs\cr
+"serif"$(2,"thick",90,1.1jut,1.1"jut")$;&lower serifs\cr
@fill@ $"serif\_edge"_2\dashto{\rm reverse}\,"serif\_edge"_1\dashto\cycle$;
&the stroke\cr
@penlabels@$(1,2)$; \ @endchar@;\cr
@@ -9606,7 +9631,7 @@ idea to embed these details in another macro.)
\ddangerexercise Write the program for an |"H"| to go with these letters.
\answer \rightfig A18c (48mm x 45mm) ^10pt
-@beginchar@\kern1pt(|"H"|$,13u\0,"ht"\0,0)$;\parbreak
+@beginchar@\kern1pt(|"H"|$,13u\0,"ht"\0,0)$; \ @pickup@ "broad\_pen";\parbreak
$x_1=x_2=x_5=3u$;\parbreak
$x_3=x_4=x_6=w-x_1$;\parbreak
$y_1=y_3=h$; \ $y_2=y_4=0$;\parbreak
@@ -9616,7 +9641,7 @@ $"top\_serif"(3,"xx",-90,"jut","jut")$;\parbreak
$"bot\_serif"(4,"xx",90,"jut","jut")$;\parbreak
@filldraw@ $"bot\_serif\_edge"_2$\parbreak
\quad$\dashto{\rm reverse}\,"top\_serif\_edge"_1\dashto\cycle$;\parbreak
-@fill@ $"bot\_serif\_edge"_4$\parbreak
+@filldraw@ $"bot\_serif\_edge"_4$\parbreak
\quad$\dashto{\rm reverse}\,"top\_serif\_edge"_3\dashto\cycle$;\parbreak
$y_5=y_6=.52h$; \ @draw@ $z_5\dashto z_6$;\parbreak
@penlabels@$(1,2,3,4,5,6)$; \ @endchar@.
@@ -9657,7 +9682,8 @@ set of rules for macro definitions. Here is the syntax:
(We'll discuss ^\<vardef heading> and ^\<leveldef heading> in Chapter~20.)
\ The basic idea is that we name the macro to be defined, then we name
zero or more delimited parameters (i.e., parameters in parentheses),
-then we name zero or more undelimited parameters. Then comes an `$=$'~sign,
+then we name zero or one or two undelimited parameters.
+Then comes an `$=$'~sign,
followed by the replacement text, and @enddef@. The `$=$'~sign might also
be~`$:=$'\thinspace; both mean the same thing.
@@ -9768,7 +9794,7 @@ undelimited @primary@, @secondary@, @tertiary@, or @expr@ is the
longest syntactically correct ^\<primary>, ^\<secondary>, ^\<tertiary>,
or ^\<expression> that immediately follows the delimited arguments.
An undelimited `@expr@~$x$~^{of}~$y$' specifies two arguments, found
-by taking the longest syntactically correct \<expression>~of~\<primary>.
+by taking the longest syntactically correct `\<expression>~of~\<primary>'.
In each of these cases, the expression might also be preceded by an
optional `^{=}' or~`^{:=}'. An undelimited @suffix@ is the longest
\<suffix> that immediately follows the delimited arguments; \MF\ also
@@ -9809,7 +9835,7 @@ to start executing statements. When that has been done, the final
statement turns out to be \<empty>, so the argument to "gobble"
turns out to be a ^{vacuous} expression (cf.\ Chapter~25). Finally,
"gobble"'s replacement text is empty, so the hidden text has indeed
-disappeared. \ (The "hide" macro in Appendix~B is actually a bit
+disappeared. \ (The @hide@ macro in Appendix~B is actually a bit
more efficient, but a bit trickier.)
\endchapter
@@ -9878,13 +9904,13 @@ includes the conditional~command
whose effect is to set "mag" equal to 1 if it hasn't already received
a value; in this case there's only one alternative.
-\exercise Would it be wrong to put the `;' after the `@fi@' in the example
+\exercise Would it be wrong to put the `;'\ after the `@fi@' in the example
just given?
-\answer Then \MF's ``stomach'' would see `;' if "mag" is known, but there
+\answer Then \MF's ``stomach'' would see `;'\ if "mag" is known, but there
would be no change if "mag" is unknown. An extra semicolon is harmless,
since \MF\ statements can be \<empty>. But it's wise to get in the habit
-of putting `;' before @fi@, because it saves a wee bit of time and because
-`;' definitely belongs before ^@endfor@.
+of putting `;'\ before @fi@, because it saves a wee bit of time and because
+`;'\ often belongs before ^@endfor@.
\danger The informal rules just stated can, of course, be expressed more
formally as rules of syntax:
@@ -9948,7 +9974,7 @@ or strings are decided by the first unequal component from left to right.
\answer No; that would be shocking.
\dangerexercise Could `(odd $n$) and not (odd $-n$)' possibly be true?
-\answer Yes, if and only if $n-{1\over2}$ is a nonnegative even integer.
+\answer Yes, if and only if $n-{1\over2}$ is an even integer.
\ (Because ambiguous values are rounded upwards.)
\dangerexercise Could `(cycle $p$) and not (known $p$)' possibly be true?
@@ -9977,10 +10003,9 @@ to be the beginning of a \<boolean primary>. \ (Cf.\ Chapter~14.)
\ddanger The boolean expression `^@path@ $((0,0))$' is false, even
though `$((0,0))$' meets Chapter~14's syntax rules for
-\<path primary>, via (\<path expression>) and
-(\<path tertiary>) and
-(\<pair tertiary>). A ^{pair expression} is not considered to be
-of type @path@ unless the path interpretation is mandatory.
+\<path primary>, via \<pair primary>.
+A ^{pair expression} is not considered to be
+of type @path@ unless the path interpretation is the only~possibility.
\ddangerexercise Evaluate `length $((3,4))$' and `length $((3,4)\{0,0\})$'
and `length reverse~$(3,4)$'.
@@ -10055,7 +10080,7 @@ the same process is repeated with the new value of $\nu_1$.
\dangerexercise Read the rules in the previous paragraph carefully, then
explain for what values of~$x$ the loop is performed if you say
-(a)~`\thinspace@for@~$x=1$ @step@~2 @until@~0'\thinspace. \
+(a)~`\thinspace@for@~$x=1$ @step@~2 @until@~0\thinspace'. \
(b)~`\thinspace@for@~$x=1$ @step@~$-2$ @until@~0\thinspace'. \
(c)~`\thinspace@for@~$x=1$ @step@~0 @until@~0\thinspace'. \
(d)~`\thinspace@for@~$x=0$ @step@~.1 @until@~1\thinspace'.
@@ -10093,7 +10118,7 @@ example of how loops can be used inside of macros inside of expressions:
@pair@ $"z\_"\,[\,]$, $"dz\_"$; \ @numeric@ "n\_"\thinspace;
&\% private variables\cr
@def@ "flex"(@text@ $t$) $=$&\% $t$ is a list of pairs\cr
-\quad^"hide"$\bigl(\,"n\_":=0$;\cr
+\quad^@hide@$\bigl(\,"n\_":=0$;\cr
\qquad @for@ $z=t$: $"z\_"\,[{\rm incr}\,"n\_"]:=z$; @endfor@\cr
\qquad $"dz\_":="z\_"\,["n\_"]-"z\_"\,[1]\,\bigr)$\cr
\quad $"z\_"\,[1]$ @for@ $k=2$ @upto@ $"n\_"-1$:
@@ -10113,7 +10138,7 @@ expression is true, the (innermost) loop being iterated is terminated
abruptly. Otherwise, nothing special happens.
\dangerexercise Define an `^@exitunless@' macro such that
-`@exitunless@ \<boolean expression>;' will exit the current loop
+`@exitunless@ \<boolean expression>;'\ will exit the current loop
if the boolean expression is false.
\answer @def@ @exitunless@ @expr@ $b$ $=$ @exitif@ not $b$ @enddef@.
\ (The simpler alternative `@def@ @exitunless@ $=$ @exitif@ not
@@ -10280,8 +10305,8 @@ given ^"tolerance" of values for which $f$ yields both outcomes.
\quad $"tx\_":="true\_x"$; \ $"fx\_":="false\_x"$;\cr
\quad^@forever@: $"x\_":=.5["tx\_","fx\_"]$; \
^@exitif@ abs$("tx\_"-"fx\_")\le"tolerance"$;\cr
-\quad @if@ |@#|$("x\_"):\ "tx\_" \ @else@:\ "fx\_"\ @fi@$
- :=\ "x\_"\thinspace; @endfor@;\cr
+\quad @if@ |@#|$("x\_")\colon\ "tx\_" \ @else@\colon\ "fx\_"\ @fi@$
+ :=\ "x\_"\thinspace; @endfor@\cr
\quad "x\_" @enddef@;\cr
\enddisplay
@@ -10580,7 +10605,7 @@ When \MF\ is reading the symbolic tokens to be saved by ^@save@.
\smallskip\item\bull
When \MF\ is reading the token after ^@expandafter@, ^@everyjob@,
-or the `$=$' following @let@.
+or the `$=$' or `$:=$' following @let@.
\medskip\noindent
The expansion process is not suppressed while reading the suffix that
@@ -10655,7 +10680,7 @@ behavior, we can actually see the results graphically by letting \MF\
draw some ``^{scatter plots}.'' Consider the following program, which
draws a $10\pt\times10\pt$ square and puts 100 little dots inside it:
\begindisplay
-@beginchar@$\,(@incr@ "code",10"pt"\0,10"pt"\0,0)$;\cr
+@beginchar@$\,($incr $"code",10"pt"\0,10"pt"\0,0)$;\cr
@pickup@ @pencircle@ scaled .3"pt"; \ @draw@ "unitsquare" scaled $w$;\cr
@pickup@ @pencircle@ scaled 1"pt";\cr
@for@ $k=1$ @upto@ 100:\cr
@@ -10732,10 +10757,10 @@ $x_1="leftstemloc"+"noise"$;\cr
$x_2="leftstemloc"+"noise"$;\cr
$w-x_4="leftstemloc"+"noise"$;\cr
$w-x_5="leftstemloc"+"noise"$;\cr
-$"bot"\,y_1="noise"-"o"$;\cr
+$"bot"\,y_1="noise"-o$;\cr
$"top"\,y_2=h+o+"noise"$;\cr
$y_3=y_4+"ygap"+"noise"$;\cr
-$"bot"\,y_4="noise"-"o"$;\cr
+$"bot"\,y_4="noise"-o$;\cr
$"top"\,y_5=h+o+"noise"$;\cr
$z_3="whatever"[z_4,z_5]$;\cr
@draw@ $z_1\dashto z_2\dashto z_3$; \
@@ -10864,7 +10889,7 @@ place at the primary level:
\alt[str]<suffix>
\alt[char]<numeric primary>
\alt[decimal]<numeric primary>
- \alt[substring]<pair primary>[of]<string primary>
+ \alt[substring]<pair expression>[of]<string primary>
<string secondary>\is<string primary>
<string tertiary>\is<string secondary>
<string expression>\is<string tertiary>
@@ -10950,8 +10975,8 @@ Thus, `oct~|"7777"|' and `hex~|"FFF"|' are the maximum legal values.
\ddangerexercise Under what circumstances is (a) ASCII @char@ $n=n$?
\ (b)~@char@~ASCII~$s=s$?
-\answer (a) Iff $n$ is an integer between 0 and 255.
-(b) Iff $s$ is a string of length~1.
+\answer (a) If and only if $n$ is an integer between 0 and 255.
+(b) If and only if $s$ is a string of length~1.
\ddangerexercise Why are there primitive operations to convert from
strings to numbers assuming octal notation and hexadecimal notation,
@@ -10976,8 +11001,8 @@ or indirectly with the user. It has the general syntax
\endsyntax
If you say `@message@~$s$', the characters of $s$ will be typed on the
terminal, at the beginning of a new line; `@errmessage@~$s$' is
-similar, but the string will be preceded by |"! "| and followed
-by~|"."|, followed by lines of context as in \MF's normal error messages.
+similar, but the string will be preceded by `|! |' and followed
+by~`|.|', followed by lines of context as in \MF's normal error messages.
If the user asks for ^{help} after an @errmessage@ error,
the most recent @errhelp@ string will be typed (unless it was empty).
@@ -11414,7 +11439,7 @@ be a "good.y" value. Therefore we say
these commands, provided by plain \MF\!, will do the right thing.
\ (The "logo\_pen" should be picked up before the last two commands are
given.) \ These few changes, and a change to the `{\manual m}', suffice to
-fix all the letters except `\kern1pt{\manual j}\kern1pt'.
+fix all the letters except `\kern.5pt{\manual j}\kern.5pt'.
\dangerexercise The program for \MF's `{\manual m}' ^^{O}
appears in Chapter~18. What changes would you suggest to make
@@ -11429,7 +11454,7 @@ so that vertical tangents will occur in good places. Since $w$~is an
integer, and since the "logo\_pen" has left-right symmetry,
$w-x_3$ will be good if and only if $x_3$ is.
-\danger The `\kern1pt{\manual j}\kern1pt' ^^{T} presents a new problem,
+\danger The `\kern.5pt{\manual j}\kern.5pt' ^^{T} presents a new problem,
because we want it to be symmetric between left and right. If the pen
breadth is odd, we want the character width~$w$ to be odd, so that there
will be as many pixels to the left of the stem as there are to the right.
@@ -11438,7 +11463,7 @@ If the pen breadth is even, we want $w$ to be even. Therefore we have a
^@beginchar@.
\dangerexercise Prove that the value of $w$ is satisfactory for
-`\kern1pt{\manual j}\kern1pt' with respect to the "logo\_pen" if and
+`\kern.5pt{\manual j}\kern.5pt' with respect to the "logo\_pen" if and
only if $.5w$ is a good $x$~value for vertical strokes.
\answer Let $b$ be the pen breadth. Then $.5w$ is a good $x$ value if and only
if $"lft"\,.5w$ is an integer; but $"lft"\,.5w=.5w-.5b$, and this is an
@@ -11449,7 +11474,7 @@ $w+1$ or~$w-1$, whichever is closer to the device-independent width
from which $w$ was rounded. For example, if $w$ was rounded to 22 from
the ideal width~21.7, we want to change it to 21 rather than~23.
Plain \MF's ^@change\_width@ routine does this. Hence we have the
-following program for `\kern1pt{\manual j}\kern1pt', in place of the
+following program for `\kern.5pt{\manual j}\kern.5pt', in place of the
\rightfig 4b ({208\apspix} x {216\apspix}) ^-18pt
simpler version found in exercise 11.\metaT:
\begindisplay
@@ -11463,7 +11488,7 @@ $y_1=y_2=y_3$; \ $"top"\,y_1=h$; \ $"bot"\,y_4=-o$;\cr
@labels@$(1,2,3,4)$; \ @endchar@.\cr
\enddisplay
\decreasehsize 44mm
-Chapter 4 said that `\kern1pt{\manual j}\kern1pt' was the simplest of the
+Chapter 4 said that `\kern.5pt{\manual j}\kern.5pt' was the simplest of the
seven logo letters, but it has turned out to be the trickiest.
\restorehsize
@@ -11474,7 +11499,7 @@ are highly likely to pass through ambiguous points when the center of
the pen has integer or half-integer coordinates. \MF\ shifts paths slightly
to the right and up, in order to resolve ambiguities; therefore if
ambiguous points occur at the left and right edges of the
-`\kern1pt{\manual j}\kern1pt', some pixels will be lost at the left but
+`\kern.5pt{\manual j}\kern.5pt', some pixels will be lost at the left but
gained at the right. The constant ^"eps" is 0.00049, which is small but
positive enough that \MF\ will surely notice it. Subtracting "eps"
from~$x_1$ and adding "eps" to~$x_2$ avoids ambiguous edge points and
@@ -11485,7 +11510,7 @@ integer, it is unnecessary to do anything similar at point~$z_4$;
the equation `$"bot"\,y_4=-o$' is sufficient.
\ddanger Point $z_3$ in the middle of the `{\manual h}' ^^{M} is in
-a satisfactory position because $"bot"\,y_3="ygap"-"o"$.
+a satisfactory position because $"bot"\,y_3="ygap"-o$.
If $"bot"\,y_3$ were exactly an integer, the~`{\manual h}' would often turn
out to be unsymmetric, because of ambiguous points on the boundary
at~$z_3$.
@@ -11493,12 +11518,12 @@ at~$z_3$.
\ddangerexercise True or false: If "currentpen" is @pencircle@ xscaled "px"
yscaled~"py", the command `@draw@ $(-"epsilon",0)\to(+"epsilon",0)$'
will produce an image that has both left-right and top-bottom symmetry.
-\ (Assume that "autorounding"="smoothing"=0.)
+\ (Assume that $"autorounding"="smoothing"=0$.)
\answer There are no ambiguous points on the outlines of this stroke,
except perhaps on the top and bottom edges; the latter can occur only if
$\round"py"$ is odd. Hence there is always left-right symmetry, but
top-bottom symmetry might fail because of a missing row at the bottom
-(e.g., when $"px"="py"=3$). In a case like the `\kern1pt{\manual j}\kern1pt'
+(e.g., when $"px"="py"=3$). In a case like the `\kern.5pt{\manual j}\kern.5pt'
we do have both symmetries, because $y_1$ and $x_4$ are in good positions.
\ddangerexercise The polygon for `^@pencircle@ scaled 3' is an octagon
@@ -11531,7 +11556,7 @@ $u\0:={10\over18}"pt"\0$; \ @define\_pixels@$(u)$;\cr
$"lft"\,x_1=\round u-"eps"$;\cr
$x_3=x_1$;\cr
$x_2=x_4=w-x_1$;\cr
-$y_1=y_2="good.y"(.5[-d,h]+"pt")$;\cr
+$y_1=y_2="good.y"(.5[-d,h]+1.1"pt")$;\cr
$y_3=y_4=h-d-y_1$;\cr
@draw@ $z_1\dashto z_2$; \ @draw@ $z_3\dashto z_4$;\cr
$"lft"\,x_6=\round 3u$;\cr
@@ -11911,7 +11936,7 @@ The proper way to do this is generally to say
\enddisplay
this command computes "stem" from $"stem"\0$ by the formula
\begindisplay
-$"stem":=max\bigl(1,\,\round("stem"\0\ast"hppp"+"blacker")\bigr)$.
+$"stem":=\max\bigl(1,\,\round("stem"\0\ast"hppp"+"blacker")\bigr)$.
\enddisplay
(Notice that this rounding operation is not allowed to reduce "stem"
to zero at low resolutions.)
@@ -11940,7 +11965,7 @@ $x_{2l}=\round(\alpha-.5"stem")$,
or equivalently, `$x_{2r}=\round(\alpha+.5"stem")$'. This does the
job all right, but it isn't completely satisfying. It requires
knowledge of the breadth that was specified in the $\penpos2$ command,
-and it works only when the penpos angle is~0. If the penpos command
+and it works only when the "penpos" angle is~0. If the "penpos" command
is changed, the corresponding equation for rounding must be
changed too. There's another solution that's more general and more
attractive once you get used to it:
@@ -12104,7 +12129,7 @@ to the nearest integer, just like `round'; but if, say,
$"aspect\_ratio"=4/3$, then "vround" will round to the nearest
multiple of~$3/4$. Plain \MF\ uses "vround" instead of `round'
when it computes an ^{overshoot} correction, and also when ^@beginchar@
-computes the values of ^"h" and~^"d". The ^"good.y" function produces
+computes the values of ^{$h$} and~^{$d$}. The ^"good.y" function produces
a good $y$~value that takes "aspect\_ratio" properly into account.
\ddangerexercise Without looking at Appendix B\null, try to guess how
@@ -12128,9 +12153,9 @@ instead of rounded, so we initialize it by saying
\enddisplay
Furthermore we should say
\begindisplay
-$"ho"\0:="o"\0$; \ ^@define\_horizontal\_corrected\_pixels@("ho");
+$"ho"\0:=o\0$; \ ^@define\_horizontal\_corrected\_pixels@("ho");
\enddisplay
-and "ho" should replace ^"o" in the equations for $x_4$ in the programs
+and "ho" should replace ^{$o$} in the equations for $x_4$ in the programs
for `{\manual i}' and~`{\manual l}'. ^^{E} ^^{F}
Everything else should work satisfactorily as it stands.
@@ -12610,11 +12635,6 @@ nucleus of the entire \MF\ language:
\alt[normaldeviate]
\alt[(]<numeric expression>[)]
\alt[begingroup]<statement list><numeric expression>[endgroup]
-<numeric token primary>\is<numeric token>[/]<numeric token>
- \alt<numeric token not followed by `{\tt/}$\langle$numeric token$\rangle$'>
-<numeric primary>\is<numeric atom>
- \alt<numeric atom>[\char'133]<numeric expression>%
- [,]<numeric expression>[\char'135]
\alt[length]<numeric primary>\alt[length]<pair primary>
\alt[length]<path primary>\alt[length]<string primary>
\alt[ASCII]<string primary>\alt[oct]<string primary>\alt[hex]<string primary>
@@ -12623,6 +12643,12 @@ nucleus of the entire \MF\ language:
\alt[turningnumber]<path primary>\alt[totalweight]<picture primary>
\alt<numeric operator><numeric primary>
\alt[directiontime]<pair expression>[of]<path primary>
+<numeric token primary>\is<numeric token>[/]<numeric token>
+ \alt<numeric token not followed by %
+ `{\tt/}$\thinspace\langle$numeric token$\rangle$'\thinspace>
+<numeric primary>\is<numeric atom not followed by {[\char'133]<expression>[,]}>
+ \alt<numeric atom>[\char'133]<numeric expression>%
+ [,]<numeric expression>[\char'135]
<pair part>\is[xpart]\alt[ypart]
<transform part>\is<pair part>\alt[xxpart]\alt[xypart]\alt[yxpart]\alt[yypart]
<numeric operator>\is[sqrt]\alt[sind]\alt[cosd]\alt[mlog]\alt[mexp]
@@ -12777,7 +12803,8 @@ Pens and future pens coexist as follows:
\alt[nullpen]
\alt[(]<pen expression>[)]
\alt[begingroup]<statement list><pen expression>[endgroup]
-<future pen primary>\is[pencircle]
+<future pen primary>\is<future pen argument>
+ \alt[pencircle]
\alt[makepen]<path primary>
<pen secondary>\is<pen primary>
<future pen secondary>\is<future pen primary>
@@ -12820,7 +12847,7 @@ repeat the syntax again for completeness here.
\alt[str]<suffix>
\alt[char]<numeric primary>
\alt[decimal]<numeric primary>
- \alt[substring]<pair primary>[of]<string primary>
+ \alt[substring]<pair expression>[of]<string primary>
<string secondary>\is<string primary>
<string tertiary>\is<string secondary>
<string expression>\is<string tertiary>
@@ -12828,6 +12855,7 @@ repeat the syntax again for completeness here.
\endsyntax
There's nothing more to say about strings.
+\goodbreak
\medbreak
\textindent\bull
Chapter 15 explains transforms, but gives no formal syntax. The rules are:
@@ -12937,12 +12965,12 @@ primitive operations that actually draw pictures and produce output.
Let's start by looking at the full syntax for \<program> and for
\<statement>:
\beginsyntax
-<program>\is<statement list>[end]\alt<statement list>[dump]
+<program>\is<statement list><non-title statement>[end]
+ \alt<statement list><non-title statement>[dump]
<statement list>\is<empty>\alt<statement>[;]<statement list>
<statement>\is<empty>\alt<title>
- \alt<equation>\alt<assignment>
- \alt<declaration>\alt<definition>
- \alt<compound>\alt<command>
+ \alt<equation>\alt<assignment>\alt<declaration>
+ \alt<definition>\alt<compound>\alt<command>
<title>\is<string expression>
<compound>\is[begingroup]<statement list><non-title statement>[endgroup]
<command>\is<save command>
@@ -12976,7 +13004,7 @@ We shall concentrate in this chapter on the various types of {\sl
<symbolic token list>\is<symbolic token>
\alt<symbolic token list>[,]<symbolic token>
<interim command>\is\kern-1.5pt[interim]%
- <internal quantity>[:=]<right-hand side>\kern-1pt
+ <internal quantity>[:=]\kern1pt<right-hand side>\kern-1pt
\endsyntax
The @save@ and @interim@ commands cause values to be restored at the end
of the current group, as discussed in Chapter~17.
@@ -12989,7 +13017,7 @@ Thus, they can be used in @interim@ commands; they are ^{tags} but not
^{external tags} (see Chapter~7). Since \MF\ can access internal
quantities quickly, you can use them to gain efficiency.
\beginsyntax
-<randomseed command>\is[randomseed][:=]<numeric expression>
+<randomseed command>\is[randomseed][:=]\kern1pt<numeric expression>
\endsyntax
The @randomseed@ command specifies a ``seed'' value that defines
the pseudo-random numbers to be delivered by
@@ -13060,7 +13088,7 @@ Paths, pens, and pictures are shown only in the transcript file, unless
^"tracingonline" is positive. The @showvariable@ command gives the
structure of all variables that begin with a given external tag,
together with their values in an abbreviated form; this allows you to see
-which of its subscripts and attributes have occurred. For example, if you're
+which of its subscripts and suffixes have occurred. For example, if you're
using plain \MF\ conventions, `@showvariable@~$x,y$' will show all
coordinates that have been defined since the last @beginchar@. The @showtoken@
command gives the current meaning of a token, so that you can tell whether
@@ -13248,7 +13276,7 @@ normal for a mature \MF er to think ``Shucks, I meant to type
any harm; \MF\ just found an ^{isolated expression}, `"mode.setup"', which
it will ignore. So let me now insert the correct command, `@mode\_setup@'.''
-Good thinking; so you type `|I| |mode_setup|', right? Wrong~$\ldots$~sorry.
+Good thinking; so you type `|I mode_setup|', right? Wrong~$\ldots$~sorry.
Lots of error messages occur before \MF\ has read a ^{semicolon} in
preparation for another ^{statement}; the important clue in this case
comes from the two lines
@@ -13265,7 +13293,7 @@ the semicolon, you get what appears at first to be a horrible mess:
warningcheck
mode_setup->warningcheck
:=0;if.unknown.mode:mode=proof;fi...
-<insert> mode_setup
+<insert> mode_setup
|quad
<to be read again>
;
@@ -13299,10 +13327,10 @@ you might want to type `I ???' now.)
\endtt
Chapter 27? That's us! What happens if we do type `|I ???|' now? We get
\begintt
-x4l=0.08682thinn+144
-y4=-0.4924thinn+259.0005
+y4r=-0.9848thinn+259.00049
x4r=-0.08682thinn+144
-y4r=-0.9848thinn+259.0005
+y4=-0.4924thinn+259.00049
+x4l=0.08682thinn+144
! OK.
\endtt
It is now abundantly clear that `|thin|' was misspelled. Plain \MF\
@@ -13357,9 +13385,10 @@ delete 2~tokens, then `|I(|'. This would produce another error stop,
]
<*> show round[1 + sqrt43]
;
-? h
+? H
I found no right delimiter to match a left one. So I've
put one in, behind the scenes; this may fix the problem.
+|null
?
\endtt
after which it's easy to delete the `|]|' and continue successfully.
@@ -13411,7 +13440,7 @@ Here are some of the messages you might get just before
Fatal base file error; I'm stymied.
^^|Fatal base file error|
This means that the preloaded base you have specified cannot be used,
-because it was prepared for a different version of \MF\!.
+because it is corrupted or was prepared for a different version of \MF\!.
\fatal
That makes 100 errors; please try again.
\MF\ has scrolled past 100 errors since the last statement ended, so
@@ -13552,7 +13581,7 @@ If the number |450| in the third ^{flex} had been |452| instead,
;
<for(4)> ...]shifted(150,50)scaled(w/300);
ENDFOR
-p.4,l.94 endfor
+l.94 endfor
endchar;
?
\endtt
@@ -13562,7 +13591,7 @@ but the ^{octant} codes like `^|SSW|' are your only clues about why
|branch4| is considered strange. \ (A simpler example appeared
in Chapter~13, which you might want to review now.) \
^^{compass directions} ^^|SSE|^^|ESE|^^|WSW|^^|WNW|^^|NNE|^^|NNW|^^|ENE|
-You probably also have a proofmode diagram:
+You probably also have a |proof| mode diagram:
\displayfig 27a (34mm)
Starting at time~0, and at the point $(0,509)$, the path goes South by
Southwest, then West by Southwest until time~2 (the end of the first flex).
@@ -13660,7 +13689,7 @@ consciousness'' information about everything \MF\ is doing.
\begingroup\ninepoint
\danger ^{Digitized output} can be monitored by setting ^"tracingedges"%
-$\null=1$. For example, if we ask \MF\ to draw the Ionian `{\manual\IOO}'
+$\null:=1$. For example, if we ask \MF\ to draw the Ionian `{\manual\IOO}'
of Chapter~5 at a resolution of 100~pixels per inch (^"lowres" mode
with ^"mag"$\null=.5$), "tracingedges" will report as follows:\enddanger
\beginlines
@@ -13854,7 +13883,7 @@ with an informal ^{inventory} of all the features that are available.
\bb|+|\cr\noalign{\kern-2pt}|-|\cr\noalign{\kern-2pt}\<constant>\ee\<pair>; \
\<pair>\bb|+|\cr|-|\ee\<pair>; \
\<numeric>|[|\<pair>|,|\<pair>|]|;\\
-\<numeric>|*|\<pair>; \
+\<numeric>\thinspace|*|\thinspace\<pair>; \
\<pair>\bb|*|\cr|/|\ee\<numeric>; \
\<pair>\<transformer>;\\
\<path>\bb|intersectionpoint|\cr|intersectiontimes|\ee\<path>; \
@@ -13943,7 +13972,7 @@ with an informal ^{inventory} of all the features that are available.
|loggingall|, |tracingall|, |tracingnone|.
\textindent\bull {\it ^{Starting a job}:\/} \
-|\mode=|\<modename>; \ |mag=|\bb\<numeric>\cr|magstep|\<numeric>\ee;\\
+|\mode=|\<mode name>; \ |mag=|\bb\<numeric>\cr|magstep|\<numeric>\ee;\\
|screenchars|; \ |screenstrokes|; \ |imagerules|; \ |gfcorners|; \
|nodisplays|;\\
|notransforms|; \ |input| \<filename>.
@@ -13979,7 +14008,7 @@ with an informal ^{inventory} of all the features that are available.
\bb|=|\cr\noalign{\kern-2pt}|:=|\cr\noalign{\kern-2pt}\<empty>\ee
\<numeric$\0$>; \
\bb|ligtable|\<ligs/kerns>\cr|charlist|\<codes>\cr|extensible|\<codes>\cr
- |fontdimen|\<info>\cr|headerbytes|\<info>\ee;\\
+ |fontdimen|\<info>\cr|headerbyte|\<info>\ee;\\
\bb|font_identifier|\cr|font_coding_scheme|\ee
\smash{\bb\tt=\cr\noalign{\kern-2pt}\tt:=\cr\noalign{\kern-2pt}\<empty>\ee}%
\<string>.
@@ -14050,8 +14079,8 @@ $\hbox{\bb\bb|=|\cr|:=|\ee
|(|\<string>|,|\<pair>|)|; \
\bb|titlefont|\cr|labelfont|\cr|grayfont|\cr|slantfont|\ee \<name>;\\
\bb|proofrule|\cr|screenrule|\ee|(|\<pair>|,|\<pair>|)|; \
-|makegrid(|\<pairs>|)(|\<pairs>|)|;\\
-|proofrulethickness| \<numeric>; \ |proofoffset| \<pair>.
+|makegrid(|\<numerics>|)(|\<numerics>|)|;\\
+|proofrulethickness| \<numeric$\0$>; \ |proofoffset| \<pair>.
\medbreak\textindent\bull {\it Hacks:\/} \ |gobble|, |gobbled|, |killtext|; \
|capsule_def|; \ |numtok|.
@@ -14313,7 +14342,7 @@ The private token `|a_|' will be declared as an ^{internal quantity}.
Internal quantities are more ^{efficient} than ordinary numeric variables.
Plain \MF's `^{softjoin}' operation provides a way to hook paths together
-without the abrupt change of direction implied by~`|&|'. Assuming that
+without the abrupt change of direction implied by~`\&'. Assuming that
the final point of~$p$ is the first point of~$q$, the path `$p$~softjoin~$q$'
begins on~$p$ until coming within "join\_radius" of this common point;
then it curves over and finishes~$q$ in essentially the same way.
@@ -14338,7 +14367,7 @@ only to variables; they have the side effect of changing the variable's value.
|vardef |^|decr|| suffix $ = $:=$-1; $ enddef;|
\weakendlines
You can say either `|incr|~|x|' or `|incr|~|(x)|', within
-an expression; but `|incr|~|x|' by itself is not a valid statement.
+an expression; but neither of them are valid statements by themselves.
To reflect about a line, we compute a ^{transform} on the fly:
\beginlines
@@ -14384,7 +14413,7 @@ enclosed in parentheses.
|newinternal n_; pair z_[],dz_;|
\endlines
-The five parameters to `superellipse' are the right, the top, the left,
+The five parameters to "superellipse" are the right, the top, the left,
the bottom, and the superness.
\beginlines
|def |^|superellipse||(expr r,t,l,b,s)=|
@@ -14394,7 +14423,7 @@ the bottom, and the superness.
| b{right}...(s[xpart b,xpart r],s[ypart r,ypart b]){r-b}...cycle enddef;|
\endlines
-Chapter~14 illustrates the `interpath' routine, which interpolates
+Chapter~14 illustrates the "interpath" routine, which interpolates
between paths to find a path that would be written `$a[p,q]$' if
\MF's macro notation were more general.
\beginlines
@@ -14510,7 +14539,8 @@ If, however, you need a special mode that isn't in the base, you can put
its commands into a file (e.g., `|specmode.mf|') and invoke it
by saying
\begindisplay
-^|\smode||="specmode"; mag=|$\,\cdots$
+^|\smode||="specmode"; mag=|\<magnification>|; input |%
+ \<font file name>
\enddisplay
instead of giving a predeclared mode name.
@@ -14885,7 +14915,7 @@ a group, which should end at the next ^@endchar@. Then @beginchar@
stores the given character code and device-independent
box dimensions in \MF's internal variables ^"charcode", ^"charwd",
^"charht", and ^"chardp". Then it computes the device-dependent box
-dimensions ^"w", ^"h", and~^"d". Finally it
+dimensions ^{$w$}, ^{$h$}, and~^{$d$}. Finally it
clears the $z$ variables, the current picture, and the
current pen.
\beginlines
@@ -14986,12 +15016,12 @@ Then we need to do something rudimentary about \MF's ``windows.''
|screen_rows:=400; % these values should be corrected,|
|screen_cols:=500; % by reading in a separate file after plain.mf|
\smallskip
-|def |^|openit|| = openwindow currentwindow|
-| from origin to (screen_rows,screen_cols) at (-50,300) enddef;|
-|def |^|showit|| = openit; let showit=showit_; showit enddef; % first time only|
+|def |^|openit|| = openwindow currentwindow from origen % and please correct|
+| to (screen_rows,screen_cols) at (-50,300) enddef; % "(-50,300)" too|
|def showit_ = display currentpicture inwindow currentwindow enddef;|
+|def |^|showit|| = openit; let showit=showit_; showit enddef; % first time only|
\endlines
-Plain \MF\ has several other terse commands like `@openit@' and `@showit@':
+Plain \MF\ has several other terse commands similar to `@openit@' and `@showit@':
\beginlines
|def |^|clearxy|| = save x,y enddef;|
|def |^|clearit|| = currentpicture:=nullpicture enddef;|
@@ -15092,7 +15122,7 @@ than normal, not heavier). The terminal screens are assumed to be
| fontmaking:=1; % yes, we are making a font|
| tracingtitles:=1; % yes, show titles online|
| pixels_per_inch:=2000; % almost 30 pixels per pt|
-| blacker:=.2; % make pens a teeny bit blacker|
+| blacker:=.1; % make pens a teeny bit blacker|
| fillin:=.1; % but compensate for heavy diagonals|
| o_correction:=1; % and keep the full overshoot|
| enddef;|
@@ -15463,7 +15493,7 @@ let INPUT = input; let input = enddef; let logo = endinput;
expandafter def expandafter ten expandafter = INPUT logo10;
showtoken ten.
\endtt
-It works! By the way, the line with three expandafters can be replaced by
+It works! By the way, the line with three @expandafter@s can be replaced by
a more elegant construction that uses @scantokens@ as follows:
\begintt
scantokens "def ten=" INPUT logo10;
@@ -15505,10 +15535,10 @@ show exactly how \MF\ proceeds. We have assumed that the unknown file
name can be parsed as a suffix; this solves the problem that a file cannot
end inside of a @text@ parameter or a false condition. \ (If we knew that
`@end@' were present, we could have replaced `|endinput|~|flushfilename|' by
-`|if|~|false:|' and redefined `|end|' to be `|fi|'.)
+`|if|~|false:|'\ and redefined `|end|' to be `|fi|'.)
Let's turn now to a simpler problem. \MF\ allows you to consider the
-`^{and}' of two Boolean expressions, but it always evaluates both
+`^{and}' of two boolean expressions, but it always evaluates both
expressions. This is problematical in situations like
\begintt
if pair x and (x>(0,0)): A else: B fi
@@ -15519,7 +15549,7 @@ unless $x$ is of type @pair@. The obvious way to avoid this error,
if pair x: if x>(0,0): A else: B fi else: B fi
\endtt
is cumbersome and requires |B| to appear twice. What we want is a
-``^{conditional and}'' operation in which the second Boolean expression is
+``^{conditional and}'' operation in which the second boolean expression is
evaluated only if the first one turns out to be true; then we can safely write
\begintt
if pair x cand (x>(0,0)): A else: B fi.
@@ -15558,7 +15588,7 @@ def cand text q = startif true q else: false fi enddef
\endtt
we could write things like
\begintt
-if {{pair x cand x>(0,0)}}: A else: B fi.
+if {{(pair x) cand x>(0,0)}}: A else: B fi.
\endtt
(Not that this buys us anything; it just illustrates a property of
undelimited text arguments.) \ Group delimiters
@@ -15606,7 +15636,7 @@ Of course, a person isn't supposed to say `max$(a)(b)(c)$'.
Here are two more applications of the idea: We want `^{inorder}$(a,b,c)$'
to be true if and only if $a\le b\le c$; and we want
`^@equally\_spaced@$(x_1,x_2,x_3)\,"dx"$' to produce the equations
-`$x_2-x_1=x_3-x_2=dx$'.
+`$x_2-x_1=x_3-x_2="dx"$'.
\begintt
def inorder(expr x)(text t) =
((x for u=t: <= u)
@@ -15677,7 +15707,7 @@ vardef min(text t) =
for u=t: switch_ u<u_: u_ := u ;fi endfor
u_ enddef;
def firstset_ primary u =
- setu_ u; let switch_ = if; if false: enddef.
+ save u_; setu_ u; let switch_ = if; if false: enddef.
\endtt
Incidentally, the author's ^^{Knuth} first programs for max and min
contained an interesting bug. They started with `@save@ "u\_"', and they
@@ -15758,7 +15788,7 @@ vardef piceq expr p of q =
(totalweight t=0) enddef;
\endtt
If $p$ and $q$ are numeric or pair expressions, we could relax the condition
-that they both be known by saying `@if@ known $p-q$: $p=q$ @else@:~@false@ @fi@';
+that they both be known by saying `@if@ known $(p-q)$: $p=q$ @else@:~@false@ @fi@';
transforms could be handled similarly by testing each of their six parts.
But there's no way to tell if booleans, paths, etc., have been equated
when they're both unknown, without the risk of irrevocably changing the
@@ -15800,7 +15830,7 @@ pixels. \ (Increasing the tolerance saves time because it
decreases the number of iterations within "solve"; you have to
balance time versus necessary accuracy.)
-The only tricky thing about this use of solve was the choice of the
+The only tricky thing about this use of "solve" was the choice of the
numbers 1 and~7 in `$f(1,7)$'. In typical applications we'll usually have
obvious values of the unknown where $f$ will be true and false,
but a bit of experimentation was necessary for the problem considered
@@ -15811,8 +15841,8 @@ another solution: $a=7.51442$, $b=-7.48274$, $c=-2.3097$. Furthermore,
it's interesting to observe that this system has no solution with
$c$ between $-1$ and~$+1$, even though $f(+1)$ is true and
$f(-1)$ is false! When $c\rightarrow0$, the quantity $a^3+b^3$
-approaches $-\infty$ when $c$~is negative, $+\infty$ when $c$~is
-positive. An attempt to `"solve" $f(1,-1)$' will divide by zero and
+approaches $-\infty$ when $c$~is positive, $+\infty$ when $c$~is
+negative. An attempt to `"solve" $f(1,-1)$' will divide by zero and
come up with several arithmetic overflows.
\hangindent=-42mm \hangafter=-7
@@ -15898,7 +15928,8 @@ vardef verticalline primary x =
(x,-infinity)--(x,infinity) enddef;
\endtt
For example, if $f(1)=1$, $f(3)=2$, and $f(15)=4$, this interpolation
-scheme gives `interpolate $(1,1)\to(3,2)\to(15,4)$ of~7' the value 3.37.
+scheme gives `interpolate $(1,1)\to(3,2)\to(15,4)$ of~7' the
+approximate value 3.37.
\subsection Drawing with ^{overlays}. Let's leave numerical computations
now and go back into the realm of pictures. Bruce ^{Leban} has suggested
@@ -15942,7 +15973,7 @@ when possible.
and read it in to some other \MF\ job, you face two problems:
(1)~\MF's @shipout@ command implicitly culls the picture, so that only
binary data is left. Pixel values $>0$ are distinguished from pixel
-values $<=0$, but no other information about those values will survive.
+values $\le0$, but no other information about those values will survive.
\ (2)~The result of ^@shipout@ can be used in another \MF\ job only if
you have an auxiliary program that converts from binary ^|gf| format
to a \MF\ source program; \MF\ can write |gf| files, but it can't
@@ -16088,7 +16119,7 @@ vardef taller primary p =
T = round directiontime down of r;
if t>T: t := t-n; fi
makepen(subpath(T-n,t) of r shifted .5down
- --subpath(t,T) of r shifted .5up -- cycle) enddef;
+ -- subpath(t,T) of r shifted .5up -- cycle) enddef;
\endtt
The result of @makepath@ has control points equal to their adjacent
vertices, so it could not be used with directiontime.
@@ -16119,7 +16150,7 @@ vardef taller primary p =
T = round xpart(r intersectiontimes penoffset down of q);
if t>T: t := t-n; fi
makepen(subpath(T-n,t) of r shifted .5down
- --subpath(t,T) of r shifted .5up -- cycle) enddef;
+ -- subpath(t,T) of r shifted .5up -- cycle) enddef;
\endtt
^^{intersectiontimes} ^^{subpath}
(The argument $p$ is copied into $q$, in case it's a ^{future pen};
@@ -16167,10 +16198,11 @@ def first_ primary u =
elseif pair u: pair u_[[[]]]; store_ u fi;
let switch_ = store_ enddef;
def store_ primary u = u_[[[incr n_]]] := u enddef;
-primarydef t Bernshtein nn =
+primarydef t Bernshtein nn = begingroup save r; r =
begingroup for n=nn downto 2:
for k=1 upto n-1: u_[[[k]]]:=t[[[u_[[[k]]],u_[[[k+1]]] ]]];
- endfor endfor u_[[[1]]] endgroup enddef;
+ endfor endfor u_[[[1]]] endgroup; numeric u_[[[]]];
+ r endgroup enddef;
\endtt
The most subtle thing about this code is the way it uses the `empty'
option of a ^\<for list> to dispense with ^{empty text arguments}.
@@ -16178,6 +16210,8 @@ Since \MF\ evaluates all the expressions of a ^@for@ loop before
reading the loop text, and since `|n_|' and `|u_|' are used here
only when no recursion is taking place, it is unnecessary to ^{save}
their values even when brackets are nested inside of brackets.
+However, the auxiliary variables `|u_[[[|$k$|]]]|' must not remain
+independent at the end.
Of course this trick slows \MF\ down tremendously, whenever brackets
appear, so it is just of academic interest. But it seems to work
@@ -16231,7 +16265,7 @@ in Chapter~11. For example, the |logo10| font that produces `\MF' in
\mode=lowres; input logo10
\endtt
where the ^{parameter file} |logo10.mf| appears in that chapter. Furthermore
-the slanted version `{\manual 89:;<=>:}\kern3pt' can be created by
+the slanted version `{\manual 89:;<=>:}\kern2pt'\ can be created by
inputting the parameter file |logosl10.mf|, which says simply
\begintt
% 10-point slanted METAFONT logo
@@ -16461,15 +16495,15 @@ opening and closing lines of ^|cmr10.mf|:
\smallskip
|font_identifier "CMR"; font_size 10pt#;|
\smallskip
-|u#:=20/36pt#; % unit width|
-|serif_fit:=0pt#; % extra sidebar near serifs|
-|letter_fit:=0pt#; % extra space added to all sidebars|
+|u#:=20/36pt#; % unit width|
+|width_adj#:=0pt#; % width adjustment for certain characters|
+|serif_fit#:=0pt#; % extra sidebar near lowercase serifs|
\vskip-3pt
\qquad\vdots
-|serifs:=true; % should serifs and bulbs be attached?|
-|monospace:=false; % should all characters have the same width?|
+|low_asterisk:=false; % should the asterisk be centered at the axis?|
+|math_fitting:=false; % should math-mode spacing be used?|
\smallskip
-|generate roman % switch to the driver file|
+|generate roman % switch to the driver file|
\endlines
The main differences are: \ (1) There's special code at the beginning, to
make sure that |cmbase.mf| has been loaded. The base file includes
@@ -16561,8 +16595,8 @@ The base file |cmbase.mf| begins as follows:
|let cmchar = relax; % `cmchar' should precede each character|
|let generate = input; % `generate' should follow the parameters|
\smallskip
-|newinternal slant, superness,| $\cdots$ | % purely numeric parameters|
-|boolean serifs, monospace,| $\cdots$ | % boolean parameters|
+|newinternal slant, superness,| $\ldots$ | % purely numeric parameters|
+|boolean serifs, monospace,| $\ldots$ | % boolean parameters|
\endlines
These few lines are straightforward enough. Although |cmchar| is defined
to be the same as ^|relax|, which does nothing, the definition of
@@ -16602,7 +16636,7 @@ Modern character program is supposed to say
\enddisplay
sidebearing adjustments are given in true, ``sharped'' units.
The ^@adjust\_fit@ routine essentially adds extra space at the left
-and right, corresponding to the sidebearing adjustments. An ad-hoc
+and right, corresponding to the sidebearing adjustments. An ad hoc
dimension called ``^"letter\_fit"$\0$'' is also added to all sidebearings,
behind the scenes.
@@ -16645,7 +16679,7 @@ Variables ^"l" and ^"r" are set to the actual pixel boundaries of the
character; thus, plain \MF's bounding box has $0\le x\le w$, but
Computer Modern's has $l\le x\le r$. ^{Rounding} has been done
very carefully so that the sidebearings will have consistent
-relationships across an entire font. Notice that ^"w"~has been
+relationships across an entire font. Notice that ^{$w$}~has been
recalculated; this means that @adjust\_fit@ can affect the digitization,
but---we hope---in a beneficial way.
@@ -16660,7 +16694,7 @@ characters will be $"mono\_charic"\0$.
|def mono_adjust_fit(expr left_adjustment,right_adjustment) =|
| numeric expansion_factor; mono_charwd# = 2letter_fit#|
| + expansion_factor*(charwd+left_adjustment+right_adjustment);|
-| forsuffixes $=u,jut,| $\cdots$ |:|
+| forsuffixes $=u,jut,| $\ldots$ |:|
| $ := $.#*expansion_factor*hppp; endfor|
| l := -hround(left_adjustment*expansion_factor*hppp)-letter_fit;|
| interim xoffset := -l;|
@@ -16723,12 +16757,12 @@ each driver file. This is what converts sharped units to pixels;
font as a whole. It's a long macro, but here are its important features:
\beginlines
|def font_setup =|
-| define_pixels(u,jut,| $\cdots$ |);|
-| define_whole_pixels(letter_fit,fine,crisp,| $\cdots$ |);|
-| define_whole_vertical_pixels(body_height,cap_height,| $\cdots$ |);|
-| define_whole_blacker_pixels(hair,stem,curve,| $\cdots$ |);|
-| define_whole_vertical_blacker_pixels(vair,slab,| $\cdots$ |);|
-| define_corrected_pixels(o,| $\cdots$ |);|
+| define_pixels(u,jut,| $\ldots$ |);|
+| define_whole_pixels(letter_fit,fine,crisp,| $\ldots$ |);|
+| define_whole_vertical_pixels(body_height,cap_height,| $\ldots$ |);|
+| define_whole_blacker_pixels(hair,stem,curve,| $\ldots$ |);|
+| define_whole_vertical_blacker_pixels(vair,slab,| $\ldots$ |);|
+| define_corrected_pixels(o,| $\ldots$ |);|
\smallbreak
| if monospace: mono_charwd# := 9u#; define_whole_pixels(mono_charwd);|
| mono_charic# := max(0,body_height#*slant);|
@@ -16746,7 +16780,7 @@ font as a whole. It's a long macro, but here are its important features:
\endlines
If $"letter\_fit"\0=0$, the `^"shrink\_fit"' is set to~1; otherwise
"shrink\_fit" is 0, 1, or~2, depending on how "letter\_fit" has
-rounded to an integer. This amount is essentially subtracted from~^"w"
+rounded to an integer. This amount is essentially subtracted from~^{$w$}
before each character in the font has been drawn. Experience shows that
this trick greatly improves the readability of fonts at ^{medium}
and ^{low resolutions}.
@@ -16787,7 +16821,7 @@ The example programs for period and em-dash say `@pickup@ "fine.nib"' and
the following way:
\beginlines
| clear_pen_memory;|
-| forsuffixes $ = fine,crisp,| $\cdots$ |:|
+| forsuffixes $ = fine,crisp,| $\ldots$ |:|
| $.breadth := $;|
| pickup if $=0: nullpen else: pencircle scaled $; $ := $-eps fi;|
| $.nib := |^|savepen||; breadth_[$.nib] := $;|
@@ -17107,7 +17141,7 @@ another~`f', replace the two f's by character code |oct"013"|
[namely `\char'13'\kern.5pt];
if it's an `i', retain the `f' but replace the `i' by character code
|oct"020"| [a dotless `\char'20'\kern.5pt];
-otherwise skip down to label `|1::|' for further instructions.
+otherwise skip down to label `|1::|'\ for further instructions.
When you're typesetting an `o' or~`b' or~`p', if the next input to \TeX\ is
`e' or~`o', add a half unit
of space between the letters; if it's an `x', subtract a half unit; if it's an
@@ -17130,23 +17164,24 @@ these examples, but we ought to exhibit it for completeness:
\beginsyntax \chardef\\=`\|
<ligtable command>\is[ligtable]<ligtable program><optional skip>
<ligtable program>\is<ligtable step>\alt<ligtable program>[,]<ligtable step>
-<optional skip>\is[,] [skipto]<code>\alt<empty>
+<optional skip>\is[,][skipto]<code>\alt<empty>
<ligtable step>\is<code><ligature op><code>
\alt<code>[kern]<numeric expression>
\alt<label><ligtable step>
<ligature op>\is[=:]\alt[\\=:]\alt[\\=:>]\alt[=:\\]\alt[=:\\>]%
\alt[\\=:\\]\alt[\\=:\\>]\alt[\\=:\\>>]
-<label>\is<code>[:]\alt<code>[::]\alt[\\\\:]
+<label>\is<code label>\alt<code>[::]\alt[\\\\:]
+<code label>\is\<code>[:]
<code>\is<numeric expression>\alt<string expression>
\endsyntax
A \<code> should have a numeric value between 0 and 255, inclusive,
after having been rounded to the nearest integer; or it should be a
string of length~1, in which case it denotes the corresponding
^{ASCII} code (Appendix~C\null). For example, |"A"| and |64.61| both
-specify the code value 65. Vertical bars to the left or right of `|=:|'
+specify the code value 65. Vertical bars to the left or right of `|=:|'\
tell \TeX\ to retain the original left and/or right character that invoked a
ligature. Additional `|>|' signs tell \TeX\ to advance its focus of attention
-instead of doing any further ligtable operations at the current
+instead of doing any further @ligtable@ operations at the current
character position.
{\sl Caution:\/} Novices often go overboard on kerning. Things usually
@@ -17211,15 +17246,15 @@ Here is the formal syntax:
\beginsyntax
<charlist command>\is[charlist]<labeled code>
<labeled code>\is<code>
- \alt<label><labeled code>
-<extensible command>\is[extensible]<label><four codes>
+ \alt<code label><labeled code>
+<extensible command>\is[extensible]<code label><four codes>
<four codes>\is<code>[,]<code>[,]<code>[,]<code>
\endsyntax
-Notice that a \<label> can appear in a ligtable, charlist, or extensible
-command. These appearances are mutually exclusive: No code may be used
-more than once as a label. Thus, for example, a character with a
-ligature/kerning program cannot also be extensible, nor can it be
-in a charlist (except as the final item).
+Notice that a \<code label> can appear in a @ligtable@, @charlist@, or
+@extensible@ command. These appearances are mutually exclusive: No code may be
+used more than once as a label. Thus, for example, a character with a
+ligature/kerning program cannot also be @extensible@, nor can it be
+in a @charlist@ (except as the final item).
\medbreak
The last type of information that appears in a |tfm| file applies to
@@ -17269,7 +17304,7 @@ and this value. The ^{x-height} is also the unit of height that
\TeX\ calls one `|em|'.
\item\bull^@font\_extra\_space@ (|\fontdimen7|) is the additional amount
added to the normal interword space between sentences, depending
-on the ``spacefactor'' as defined in {\sl The \TeX book}.
+on the ``space factor'' as defined in {\sl The \TeX book}.
\smallskip\noindent
Parameters are zero unless otherwise specified.
@@ -17490,9 +17525,9 @@ proofsheets in the experiments of Chapter~5.) \ (2)~Just before a
character image is shipped out, \MF\ implicitly executes the following
sequence of instructions:
\begindisplay
-@if@ round $"xoffset"\ne0$: \ @special@ |"xoffset"|; \
+@if@ round $"xoffset"<>0$: \ @special@ |"xoffset"|; \
@numspecial@ round ^"xoffset"; @fi@\cr
-@if@ round $"yoffset"\ne0$: \ @special@ |"yoffset"|; \
+@if@ round $"yoffset"<>0$: \ @special@ |"yoffset"|; \
@numspecial@ round ^"yoffset"; @fi@\cr
\enddisplay
@@ -17513,8 +17548,8 @@ that doubling the resolution approximately doubles the length of the
when character code~$c$ is being shipped out. \ (The `^|[|' is typed
before output conversion begins, and the `^|]|' is typed after; hence you
can see how much time output takes.) \ If "charext" is nonzero, after
-being rounded to an integer, the typed message is `|[|$c.x$|]|' instead;
-for example, `[65.3]' refers to character~65 with extension code~3.
+being rounded to an integer, the typed message is `|[|$c$|.|$x$|]|' instead;
+for example, `|[65.3]|' refers to character~65 with extension code~3.
\TeX\ allows only 256 characters per font, but extensions of \TeX\
intended for ^{oriental} languages will presumably use the "charext"
@@ -17786,7 +17821,7 @@ or directory name for the gray font. Furthermore the |gf| file might
^^{grayfontarea} ^^{labelfontat}
say, e.g.,
\begindisplay
-@special@ |"labelfontat"|; @numspecial@ 20
+@special@ |"labelfontat"|; \ @numspecial@ 20
\enddisplay
if you want the label font to be loaded at $20\pt$ instead of its ^{design
size}. The area name and the at size must be given after the font name
@@ -18072,7 +18107,7 @@ magnification in a nonstandard way:
|mg := mag; mag := 1; mode_setup;|
|if mg>1: hppp := hppp*mg; vppp := vppp*mg;|
| extra_endchar:=|
-| "if charcode>0:currentpicture:=currentpicture scaled mg;fi"|
+| "if charcode>0:currentpicture:=currentpicture scaled mg;fi;"|
| & extra_endchar; fi;|
\endlines
This circumlocution is the easiest way to guarantee that the ^|tfm| file
@@ -18088,7 +18123,7 @@ The next part of |grayf| computes the pixel representation, "pix\_picture".
| addto currentpicture also|
| currentpicture rotated 90 xscaled -1; fi|
| if unknown scale: scale := max(1,round(pixels_per_inch/300)); fi|
-| pix_wd := pix_ht := 4scale;|
+\goodbreak
| if rep>1: picture pix;|
| currentpicture := currentpicture shifted-(1,1); pix := currentpicture;|
| for r=1 upto rep-1: addto currentpicture also pix shifted(4r,0); endfor|
@@ -18238,8 +18273,8 @@ The corresponding program file `|slant.mf|' looks like this:
|for k=1 upto n:|
| beginchar(k,k*u#*s,n*u#,0);|
| pickup ruler; draw origin--(k*u*s,k*u); % draw the line|
-| unfill (lft-1,bot -1)--(rt 1,bot -1)|
-| --(rt 1,0)--(lft-1,0)--cycle; % clip the ends|
+| unfill (lft -1,bot -1)--(rt 1,bot -1)|
+| --(rt 1,0)--(lft -1,0)--cycle; % clip the ends|
| unfill ((lft -1,0)--(rt 1,0)|
| --(rt 1,top 1)--(lft -1,top 1)--cycle) shifted (k*u*s,k*u);|
| endchar; endfor|
@@ -18391,7 +18426,7 @@ the ^|\alternation| operation will typeset `|opopopopopopopopo|' and
The |\series| operation puts the background character between all the
others (e.g., `|opoqo|'). Special series containing the lowercase
letters of \TeX\ text fonts (including `\char'31', `\char'32',
-`\char'33', and ~\char'34') and the uppercase letters (including
+`\char'33', and~`\char'34') and the uppercase letters (including
`\char'35', `\char'36', and~`\char'37') are provided.
Although |\mixture| and |\alternation| show you the effects of
ligatures and kerning, |\series| does not.
@@ -18533,7 +18568,7 @@ would use this feature.)
\endlines
Two of the most important combinations of tests are treated now:
-^|\sample| prints the |\table| and the |text|; ^|\bigtest| gives
+^|\sample| prints the |\table| and the |\text|; ^|\bigtest| gives
you the works, plus a mysterious word that is traditional in type
specimens: ^^{hamburgefonstiv}
\beginlines
@@ -18783,7 +18818,7 @@ redefine them.
|**|, as command-line prompt, 31--32, 35--40, 187, 269, 279.
\sub as exponentiation sign, @59, @64, 72, @237, @251, +265.
|/| (slash), 328, 329.
-\sub \llap{\char`\*}as divided-by sign, @59, @62, @63, +72, 80, 82, 210--211.
+\sub \llap{\char`\*}as divided-by sign, @59, @62, @63, +72, 80, 82, 211.
\| (vertical line), 117, 297.
*|\| (backslash), +179, @236, @262.
\sub at beginning of command line, @31, @38, 40.
@@ -18808,7 +18843,7 @@ redefine them.
*|>| (greater than sign), @64, +170, 210, 237.
|>>| (shown value), 41, 62.
*|>=| (greater than or equal to), @64, 65, +170, 210, 282.
-*|,| (comma), 57, 72, 73, 129, 155, 165--167, 171, 317, 318.
+*|,| (comma), 57, 72, 73, 129, 155, 165--167, 171, 211--213, 218, 317, 318.
|,,|\thinspace, 51.
|.|~(period), 43, +50, 51.
`\char`\.', 306.
@@ -18829,7 +18864,7 @@ redefine them.
*|@#| (suffix of at point), @176, +177, +178, 251, @273--@274.
\newletter
`a', 192.
-`A', 163, 164, 248, 302--303.
+`A', 10--11, 163, 164, 248, 302--303.
|abort|, 312--313.
|abs| (absolute value), @66, 82, @238, +264.
accents, 315, 317.
@@ -18839,7 +18874,7 @@ Adams, John, 359.
addition of pictures, 115, @117, @245.
addition of vectors, 9, @68.
*|addto|, +118--+119, @144, @151, @242--@245.
-\<addto command>, +220.
+\<addto command>, 118, +220.
|adjust_fit|, 306--308.
{\AE}schylus, 47.
{\AE}sopus, 340.
@@ -18895,7 +18930,7 @@ Beethoven, Ludwig van, 185.
*|begingroup|, +155--+157, 175, 178, 210--215, 217, @236, @243, @275, @289.
|beginlogochar|, 160, 302.
Bell, Eric Temple, 11.
-bell-shaped distribution, 251.
+bell-shaped distribution, +183, 251.
Bernshte{\u\i}n, Serge{\u\i} \thinspace Natanovich, 14.
\sub polynomials, 14, 133, 152, 246, 298--299.
B\'ezier, Pierre Etienne, 14.
@@ -18904,7 +18939,7 @@ Bierce, Ambrose Gwinnett, ix.
|\bigtest|, +341.
Billawala, Nazneen Noorudin, 266, 294.
binary search, 176--177, @293--@294.
-black, 270, 332--333.
+|black|, 270, 332--333.
black-letter, 294.
black/white reversal, 115.
|blacker|, 93--94, 268, +270--+271.
@@ -18912,7 +18947,7 @@ black/white reversal, 115.
Boole, George, 170.
*|boolean|, 55, +56.
\<boolean expression>, 170, +210.
-Boolean expressions, 170, 257.
+boolean expressions, 170, 257.
\<boolean primary>, 170, +210.
\<boolean secondary>, 170, +210.
\<boolean tertiary>, 170, +210.
@@ -18956,7 +18991,7 @@ chance, 183--185.
*|charcode|, 106, 210, 212, +220, @275, 324.
*|chardp|, 106, 212, 220, @275, +315--+316, 324.
*|chardx|, 106, 212, 220, @276, +324, @334.
-*|chardy|, 212, +324.
+*|chardy|, 106, 212, 220, +324.
*|charexists|, +106, 210, 316, 324.
*|charext|, 106, 212, +220, 316, 324.
*|charht|, 106, 212, 220, @275, +315--+316, 324, @334, @335.
@@ -18982,7 +19017,7 @@ circles, 123--124, 148.
|cmr10.mf|, 305.
|cmsl10|, 101.
|cmtt10|, 306.
-\<code>, +317.
+\<code> and \<code label>, +317.
codes, 281--283.
Colburn, Dorothy, 107.
collective subscripts, 56, 177.
@@ -18991,14 +19026,14 @@ command line, 38, 187, 269, 277, 301.
commands, 155, 217--220, 230, 321.
comments, 43, 50--51.
commutativity, 247.
-comparison, @65--@66, 80, 170.
+comparison, @65, 80, 170.
compass directions, 26, 119, 206--207, 228--229.
complex numbers, 69.
\<compound>, +217.
compound statement, +155, 217.
Computer Modern, 35, 103--105, 203, 206, 279, 304--313.
-concatenation, of paths, @70--@71, @123, 127, 129, +130, @245.
-\sub of strings, @69, 84--85, +187, @278, @286, @312.
+concatenation, of paths, @70--@71, @123, 127--129, +130, 137, @245, @266.
+\sub of strings, @69, 73, 84--85, +187, @278, @286, @312.
\<condition>, +169.
conditional and/or, 288--289.
conditions, 169--171, 179, 219, 259.
@@ -19039,7 +19074,7 @@ Cundall, Frank, 299.
curves, 13--19, \see paths.
cusps, 136.
|cutdraw|, @151, +271--+272.
-|cutoff|, @150, +272.
+|cutoff|, @150--@151, +272.
*|cycle|, @15, @16, @24--@28, @69, +129--+131, 170, 171, 210, 213.
\newletter
|d|, 35, @76, 102, 204, +275.
@@ -19057,7 +19092,7 @@ debugging tricks, 229--231, 286.
\<decimal digit>, +50.
decimal point, 50--51.
decimal representation, 188.
-\<declaration>, 56, +171.
+\<declaration>, +56, 171.
\<declaration list>, +57.
declarations, 56--57.
declarative versus imperative, 87.
@@ -19104,12 +19139,12 @@ dimensions, 92, +267.
|direction|, @69, 70, @135, @235, +265.
\<direction specifier>, 129, +213.
|directionpoint|, @135, +265.
-*|directiontime|, @135, @+136, 211, 245, 265, @295.
+*|directiontime|, @135, @+136, 211, 245, 265, @298.
|dishing|, 152, 164.
*|display|, +191--+192, 220.
\<display command>, +220.
|displaying|, 269, 276, 278.
-distance, 76, 84.
+distance, 76, 84, \also |length|.
|ditto|, @187, +263.
|div|, +265.
division, @59, @62, @63, 80, 82.
@@ -19117,7 +19152,7 @@ division, @59, @62, @63, 80, 82.
Dopping, Olle, 181.
|dot|, 306, 311.
dot product, 69.
-|dotprod|, @69, 178, @238, 265.
+|dotprod|, @68--@69, 178, @238, 265.
|dotsize|, 332, 334.
double-quote mark, 50--51, 187.
*|doublepath|, 118, +119, @151, 220.
@@ -19131,8 +19166,8 @@ Drayton, Michael, 279.
drift, 102, 106.
driver files, 304--306.
*|dropping|, 118, +120, 220.
-D\"urer, Albrecht, 13, 19.
*|dump|, 217, +221, 262, @279, @311.
+D\"urer, Albrecht, 13, 19.
|.dvi|, 32, 40, 103, 106, 323, 327, 328.
\newletter
|e|, 27--29, 273.
@@ -19140,7 +19175,7 @@ D\"urer, Albrecht, 13, 19.
edge structure, 116--117, 296--297.
edges, 116.
editing, 46.
-efficiency, 39, 99, 141, 144, 147, 228, 230, 234, 244, 264, 265, 277,
+efficiency, 39, 99, 116, 141, 144, 147, 228, 230, 234, 244, 264, 265, 277,
291, 297, 298.
El Palo Alto, 124--126, 139, 228--229.
ellipses, 123, 126.
@@ -19149,7 +19184,7 @@ Ellis, Henry Havelock, 11.
*|elseif|, +169--+170, 179.
em dash, 306.
emergency stops, 226.
-empty option in {\bf for\/} list, 171, @299.
+empty option in {\bf for\/} list, 171, +172, @299.
empty statement, 155, 217.
empty text argument, 299.
*|end|, @31, @37, 155, 167, 217, 221, 226, 278, 287, 305, @321.
@@ -19246,7 +19281,7 @@ font metric information, 39, 220, 315--321.
|\fontname|, 342.
*|for|, @18, @39, @113, +171--+173, 179, 228, @285--@291, @299.
\<for list>, +171, 299.
-forbidden tokens, +173, 218--219, 286.
+forbidden tokens, 173, +218--+219, 286.
*|forever|, @61, +171--+173, @176, 179.
*|forsuffixes|, +171--+172.
{\sevenrm FORTRAN} language, 237.
@@ -19254,7 +19289,7 @@ forbidden tokens, +173, 218--219, 286.
four-point method for curves, 13--14, 133.
Fournier, Simon Pierre, 321. % Harry Carter says S.P. is right, not P.S.!
fractions, 61, @62--@63, +72, 73.
-*|from| 191, 220, @252, @277, @312.
+*|from|, +191, 220, @252, @277, @312.
|fullcircle|, @114, 123--124, 126, @135--@137, +263, @266.
Fulton, A\period\ G\period, 157.
function values by interpolation, 294--295.
@@ -19269,7 +19304,7 @@ Gardner, Martin, 126.
|gfcorners|, 277, +278, 327.
|GFtoDVI|, 32, 37, 187, 327--336.
|gimme|, 61--62.
-Giotto de Bondone, 139.
+Giotto di Bondone, 139.
|gobble|, @167, +262, @289.
|gobbled|, +262, @289--@290.
golden ratio, 11.
@@ -19290,7 +19325,7 @@ gray fonts, 327, 330--335.
|grayfontarea|, 329.
|grayfontat|, 329.
greater than or equal to, 65.
-greatest integer function, \see floor.
+greatest integer function, \see |floor|.
grid, 5, 109, 275.
Grimm, Jakob Ludwig Karl, 73.
Grimm, Wilhelm Karl, 73.
@@ -19343,12 +19378,12 @@ inaccessible token, 286.
incomplete string, 50--51.
inconsistent equations, 82, 313.
|incr|, @39, 176--177, +266.
-independent variables, +81--+83, 88, 224, 226.
+independent variables, +81--+83, 88, 224, 226, 299.
infinite loops, 172, 226--227.
|infinity|, @62--@69, +263, @266.
inflection points, 18--19.
|INIMF|, 221, 262, 279.
-|\init|, 342.
+|\init|, +337, 342.
\<initial value>, +171.
*|inner|, 180, +218--+219, 286--287, @307, @321.
|inorder|, 290.
@@ -19360,9 +19395,9 @@ integers, 65--66.
interacting with \MF, 42--45, 61, 188--189, 191--193, 219, 223--225.
*|interim|, +155--+156, 230, @243, @244, @271, @272.
\<interim command>, 155, +218.
-internal quantities, 54--55, 88, 218, 262.
+internal quantities, 54--55, 88, 218, 262, 265--266.
\sub table, 211--212.
-\<internal quantity>, 156, 218, 265.
+\<internal quantity>, 156, 218.
|interpath|, 134, +267.
interpolation, 2, 134, 294--295.
interrupting \MF, 219, 227--228, 313.
@@ -19373,7 +19408,7 @@ intersection, of lines, 84.
*|intersectiontimes|, +136, @178, 213, @265, @294, @298.
|inverse|, @143, +264.
inverse video, 115, 118.
-*|inwindow|, +191, @277.
+*|inwindow|, +191, 220, @277.
Io, 33, 40, 47.
\<is>, 165, 171, +218.
Isis, 40.
@@ -19389,12 +19424,12 @@ Johnson, Samuel, 167.
Johnston, Edward, 29.
|join_radius|, 266.
jokes, viii, 231.
-Journal of Algorithms, 137--139.
+{\sl Journal of Algorithms}, 137--139.
|jut|, 162, 308.
\newletter
Kafka, Franz, 340.
Kandinski\u\i, Vasili\u\i\ Vasil'evich, 3.
-\<keep or drop>, +118, 120.
+\<keep or drop>, +118, 220.
*|keeping|, 118, +120, 220.
|keepit|, 295.
*|kern|, @97, @316, +317.
@@ -19408,38 +19443,37 @@ Knuth, Nancy Jill Carter, ix, 134, 137.
\newletter
|l|, 308--309.
La Rochefoucauld, Fran\c cois VI, 313.
-\<label>, +317.
+\<label>, +317--+318.
\<labeled code>, +318.
|labelfont|, +275, 329.
|labelfontarea|, 329.
|labelfontat|, 329.
-|labels|, @107, +274--+275, 327--328.
+|labels|, @107, +274, 327--328.
labels in font metric information, 317--318.
-labels on "proofmode" output, 37, 187, 274--275.
+labels on |proof| mode output, 37, 187, 274--275.
|labels.top|, 328.
Lam\'e, Gabriel, 126.
|large_pixels|, 332.
|lcode_|, 274, 328.
le B\'e, Pierre, 207.
-least integer function, \see ceiling.
+least integer function, \see |ceiling|.
Leban, Bruce Philip, 242, 243, 270, 295.
|left|, @16, +263.
left-handed dangerous bend, 143.
|leftstemloc|, 96, 199, 302.
-*|length|, @66, @69, 72, 211, 238.
+*|length|, @66, @69, 72, 210, 238.
less than or equal to, 65.
*|let|, 53, 180, +218, @287--@289, @299, @311.
\<let command>, +218.
|letter_fit|, 307--308.
-\<leveldef>, +178.
-\<leveldef heading>, 165, +178.
+\<leveldef> and \<leveldef heading>, 165, +178.
|lft|, @23, @77, 80, 147, 151, +273.
lies, viii, 231.
Life, 121.
\<ligature op>, +317.
ligatures, 305--306, 315--317.
|lightweight|, 332.
-*|ligtable|, @97, @305, +316--+317.
+*|ligtable|, @97, @305--@306, +316--+317.
\<ligtable command>, +317.
\<ligtable program>, +317.
\<ligtable step>, +317.
@@ -19459,10 +19493,9 @@ logo of \MF, ii, 22--23, 95--99, 160--161, 184--185, 199--200, 204, 301--304.
|logo.mf|, 95--98, 199, 302--303.
logos, {\it i}, 97, @114, @137--@139.
|logo10.mf|, 95, 287, 301, 304.
-\<loop>, +171.
-\<loop header>, +171.
+\<loop> and \<loop header>, +171.
loop text, 171--172, 219, 286.
-loops, 169, 179, 226--227, 259, 290--291, 299.
+loops, 169, 171--173, 179, 226--227, 259, 290--291, 299.
low-resolution proofs, 99, 327.
|\lowers|, 339.
|lowres|, 196, 201, 230, +270.
@@ -19536,7 +19569,7 @@ multiplication, @59, @62--@64, 69, 79--80, 82.
music, 183, 185.
\newletter
`n', 201--203.
-`N', 184--185, 303.
+`N', 184--185, 302--303.
|\names|, 339.
National Science Foundation, ix.
Naur, Peter, 49, 89.
@@ -19568,7 +19601,7 @@ numeric expressions, 72--73, 257.
\<numeric secondary>, 72, 178, +211.
\<numeric tertiary>, 72, +211.
\<numeric token>, +50, 236.
-\<numeric token primary>, 72, +210.
+\<numeric token primary>, 72, +211.
numeric tokens, 49--50, 166.
\sub maximum value, 50.
\sub rounded fractional values, 50.
@@ -19576,9 +19609,9 @@ numeric tokens, 49--50, 166.
*|numspecial|, 220, @274, +323--+324, @327--@329.
|numtok|, @+274.
\newletter
-|o|, @23, @34, +93, 197, 200, 204, 302.
+|o|, @23, @34, +93, 197, 200, 204, 240, 302.
`o', 203.
-`O', 32--37, 199, 303.
+`O', 32--37, 161, 199, 302--303.
|o_correction|, 93--94, 268.
*|oct|, +188, 211, 281.
octal notation, 188.
@@ -19588,13 +19621,13 @@ octants, 119, 206--207, 228--230.
of-the-way function, \see mediation.
off by $x$, 82.
Office of Naval Research, ix.
-|offset|, 275, 379.
+|offset|, 275, 329.
|!| |OK|, 219, 224.
|\omitaccents|, 340.
one-point {\bf draw}, 22, 150, 200, 253.
online interaction, 42--45, 61, 188--189, 191--193, 219, 223--225.
|openit|, +277, 312.
-*|openwindow|, +191--+193, 220, @277, @312--@313.
+*|openwindow|, +191--+193, 220, @277, @312.
\<openwindow command>, 191, +220.
operands, 59.
operators, 59, 230.
@@ -19611,7 +19644,7 @@ output of \MF, 39, 42, 315--325.
|overdraw|, 114, 243.
overflow labels, 37, 328.
overlays, 295.
-overshoot, 23, 34, 93, 197, 200, 204.
+overshoot, 23, 34, 93, 197, 200, 204, 302.
\newletter
`P', 207.
Paget, Francis Edward, 279.
@@ -19659,9 +19692,9 @@ pen expressions, 147--148, 258, 298.
*|pencircle|, @21--@23, @28, @29, +147--+149, @150--@152, 198, 200, 214.
|penlabels|, 36, +274.
*|penoffset|, +150, 212, 230, @298.
-|penpos|, @26--@29, 37, @103, @162, +273, 310.
+|penpos|, @26--@29, 37, 80, @103, @162, +273, 310.
|penrazor|, @107, @112, 147, 150, +264, 297.
-pens, 21--39, 147--152, 297--298.
+pens, 21--29, 147--152, 297--298.
|penspeck|, +264, @271.
|pensquare|, 147, 152, +264, 275.
|penstroke|, 27--29, @138, +273.
@@ -19755,14 +19788,14 @@ reverse video, 115, 118.
Reynolds, Lloyd Jay, 153.
|right|, @26, @68, +263.
\<right-hand side>, +88, 171.
-*|rotated|, @21--@22, @25, 27, 44, @68, 73, @107, @114, @117, +141, 212, @238.
+*|rotated|, @21--@22, @25, 27, 44, @68, 73, @107, @114, @117, +141, 213, @238.
|rotatedabout|, +266.
|rotatedaround|, @138, 141, @142, @144, 159--160, +266.
|round|, @66, 196, 202, +264, @273.
rounding, 34--35, 50, 195--207, 308.
|rt|, @23, @77, 80, @103, 147, 151, +273.
|rtest.mf|, 311.
-|rule|, 234, 328.
+|rule|, 274, 328.
|rulepen|, +274, 275.
rules on proofsheets, 328--329.
|rulethickness|, 275, 329.
@@ -19778,7 +19811,7 @@ sans-serif, 105, 305, 308.
\<save command>, 155, +218.
|savepen|, @96, 147, +272, @310.
\<scalar multiplication operator>, 72, +211.
-*|scaled|, @21--@23, @68, 73, +141, 212, 244, 291.
+*|scaled|, @21--@23, @68, 73, +141, 213, 244, 291.
*|scantokens|, @61, +179, @180, 189, 251, @269, @270, @286--@288, @313.
scatter plots, 183.
\<screen coordinates>, 191, +220.
@@ -19811,7 +19844,7 @@ sharped dimensions, @32--@35, 91--99, 102--103, 268, 315.
*|showdependencies|, 81, 83, +219, @262.
|showit|, @31, 191, @276, +277, 295.
*|showstats|, +219.
-*|showstopping|, 211, @227, 230, @262.
+*|showstopping|, 211, 219, @227, 230, @262.
*|showtoken|, 180, +219, @221.
*|showvariable|, 175, 177, 180, +219.
|shrink_fit|, 308--310.
@@ -19835,7 +19868,7 @@ slant fonts, 329, 335--336.
|solve|, 176--177, +267, @292--@294.
|(some| |charht| |values...)|, 316.
Southall, Richard Francis, 176.
-spaces, 43, 50, 236.
+spaces, 43, 50, 236, 319.
sparks, +53--+55, 156, 175, 215, 219, 289.
*|special|, 220, @240--@241, @274, +323--+324, @327--@329.
\<special command>, +220.
@@ -19867,9 +19900,9 @@ strange paths, 110--111, 119, 121, 136, 152, 228--229.
Stravinski{\u\i}, Igor' F\"edorovich, 193.
stretchability, 319.
Strindberg, Johan August, 185.
-*|string|, 55, +56, 69.
+*|string|, 55, +56.
\<string expression>, 73, 187, +214.
-string expressions, 187--189, 258, 286.
+string expressions, @69, 187--189, 258, 286.
\<string primary>, 187, +214.
\<string secondary>, 187, +214.
\<string tertiary>, 187, +214.
@@ -19889,7 +19922,7 @@ Suetonius Tranquillus, Gaius, 181.
|(SUFFIX|$_n$|)|, 44, 251.
sum, of pictures, 115, @117, @245.
\sub of transforms, 178.
-\sub of vectors, 9.
+\sub of vectors, 9, @68.
|superellipse|, @126, @138, +267.
superellipses, 126, 161.
|superness|, 126.
@@ -19923,14 +19956,14 @@ tapered stroke, 28.
*|tertiary|, 165, 167.
\<tertiary>, 71, @137, +209.
*|tertiarydef|, 166, +178, @266.
-|test.mf|, 311--312.
+|test.mf|, 311--313.
|testfont.tex|, 40, 336--342.
-\TeX, 1, 34, 40, 91, 96, 98, 101--102, 315, 336--343, 361.
+\TeX, 1, 34, 40, 91, 96, 98, 101--103, 315, 336--343, 361.
*|text|, @161, +165--+167.
|\text|, 340.
|(TEXT|$_n$|)|, 45, 249, 251.
-text arguments, 219, 288--290, 299.
-|.tfm|, 39, 315--317, 333, 335.
+text arguments, 219, 288--291, 299.
+|.tfm|, 39, 315--321, 333, 335.
|!| |This| |can't| |happen|, 226.
Thomson, James, 189.
Thoreau, Henry David, 221.
@@ -19945,7 +19978,7 @@ Tinguely, Jean, 3.
|titlefont|, +275, 329.
|titlefontarea|, 329.
|titlefontat|, 329.
-*|to|, 191, 220, @252, @277, @312.
+*|to|, +191, 220, @252, @277, @312.
|<to| |be| |read| |again>|, 223.
Tobin, Georgia Kay Mase, ii, 240.
tokens, 42--43, +49--+51, 210.
@@ -20004,9 +20037,9 @@ typographic errors, 45, 224.
|!| |Undefined| |coordinate|, 224.
undelimited arguments, +167.
\<undelimited parameters>, +165.
-undelimited suffix parameters, +167, 176, 265, 270.
+undelimited suffix parameters, +167, 176, 266, 270.
underline characters, 49, +51, 173, 265, 270.
-|undraw|, 113, 118, 120, 242, +271.
+|undraw|, 113, 118, 120, @242, +271.
|undrawdot|, 113, +271.
unequal to, 65.
|unfill|, @25, 27, 109--110, 118, @126, +271.
@@ -20017,10 +20050,10 @@ Union Jack, 7.
|unitpixel|, +263, @333.
units of measure, 33, 91--99, 267--268.
\sub table, 92.
-|unitsquare|, @116, 128, 132, 136, +263.
+|unitsquare|, @116, 123--124, 128, 132, 136, +263.
|unitvector|, @238, +264.
-*|unknown|, 79--82, 143, +170, 210.
-unknown quantities, nonnumeric, 84--85.
+*|unknown|, +170, 210.
+unknown quantities, nonnumeric, 84--85, 143.
\sub numeric, 79--83.
*|until|, @18, 171.
|up|, @32, @129, +263.
@@ -20034,9 +20067,9 @@ vacuous expressions, 209, +215, 250, 262, 289, 292.
\<vacuous secondary>, +215.
\<vacuous tertiary>, +215.
valentine, 134.
-values, disappearance of, 56, 88, 156--157.
+values, disappearance of, 56, 83, 88, 156--157, 177--178, 218, 239, 299.
*|vardef|, 166, @175--@178, 289.
-\<vardef heading>, +178.
+\<vardef heading>, 165, +178.
\<variable>, 54, +55, 210.
variables, 53--57, 59.
\sub reinitializing, 88, 157.
@@ -20059,7 +20092,7 @@ Wilkins, John, ii, 283.
Willis, Ellen Jane, 157.
\<window>, 191, +220.
\<window spec>, 191, +220.
-\<with clause>, +118, 120.
+\<with clause>, +118, 220.
*|withpen|, 118, 220, @242.
*|withweight|, 118, 220, @242, @297.
|WNW|, 119, 228--229.
@@ -20072,7 +20105,7 @@ Xerox Corporation, 320.
*|xoffset|, 212, +220, @309, 315, 324.
xor, 120.
*|xpart|, @68, 72, @138, 142, 211.
-*|xscaled|, @21--@23, @68, 73, +141, 213, 244, 291.
+*|xscaled|, @21--@22, @68, 73, +141, 213, 244, 291.
*|xxpart|, 72, 142, @160, 211.
|xy_swap|, 297.
*|xypart|, 142, @160, 211.
diff --git a/systems/knuth/dist/mf/trap.72270gf b/systems/knuth/dist/mf/trap.72270gf
new file mode 100644
index 0000000000..5ef0e4f660
--- /dev/null
+++ b/systems/knuth/dist/mf/trap.72270gf
Binary files differ
diff --git a/systems/knuth/dist/mf/trap.fot b/systems/knuth/dist/mf/trap.fot
index 6bceb9f67e..b5551c805c 100644
--- a/systems/knuth/dist/mf/trap.fot
+++ b/systems/knuth/dist/mf/trap.fot
@@ -1,4 +1,4 @@
-This is METAFONT, Version 2.7182818 (INIMF)
+This is METAFONT, Version 2.71828182 (INIMF)
** &trap trap
(trap.mf
\*//*\trap\pass2!
@@ -36,7 +36,7 @@ xpart '=-ypart '-0.66667
{qq:=pen}
{showstats}
Memory usage 1462&588 (104 still untouched)
-String usage 41&161 (815&7634 still untouched)
+String usage 41&161 (816&7678 still untouched)
{[repeat the loop]}
! A group begun on line 163 never ended.
<to be read again>
diff --git a/systems/knuth/dist/mf/trap.log b/systems/knuth/dist/mf/trap.log
index 611ce589e2..1861267898 100644
--- a/systems/knuth/dist/mf/trap.log
+++ b/systems/knuth/dist/mf/trap.log
@@ -1,4 +1,4 @@
-This is METAFONT, Version 2.7182818 (preloaded base=trap 2014.1.7) 7 JAN 2014 18:11
+This is METAFONT, Version 2.71828182 (preloaded base=trap 1776.7.4) 4 JUL 1776 12:00
** &trap trap
(trap.mf
{if}
@@ -161,7 +161,7 @@ true-or-false value. I'm changing it to `false'.
path
l.25 path
p[][]p,w,qw; qw=(1,-2)..(2,-1)..(2.5,0.5)..(1,2)..(...
-After `exitif <boolean exp>' I expect to see a semicolon.
+After `exitif <boolean expr>' I expect to see a semicolon.
I shall pretend that one was there.
{pair}
@@ -1822,7 +1822,7 @@ row -2: | -4+ -3- -2+ -1-
{showstats}
Memory usage 1084&202 (749 still untouched)
-String usage 24&92 (858&11309 still untouched)
+String usage 24&92 (859&11353 still untouched)
{addto}
{(path)yscaled(0.01666)}
Path at line 82, before subdivision into octants:
@@ -3046,7 +3046,7 @@ For safety's sake I'll ignore the present command.
substring
l.124 ...aderbyte(48.5)substring
(-9,9)of"long"; for\=0:\
-A colon should follow a headerbyte or fontinfo location.
+A colon should follow a headerbyte or fontdimen location.
{-(9)}
{((-9,9))substring("long")}
@@ -3690,9 +3690,9 @@ XPR1)+2)-(1,(EXPR1)+2)rotated90
alpha=0.45p3~+7
{tracingcapsules:=1}
{showdependencies}
-xpart %CAPSULE1359=xx
-%CAPSULE1367=2yy-2
-%CAPSULE1375 = 3.3333xx+3.3333
+xpart %CAPSULE1370=xx
+%CAPSULE1378=2yy-2
+%CAPSULE1386 = 3.3333xx+3.3333
alpha=0.45p3~+7
{show}
{(1/3)*((3,6))}
@@ -3752,62 +3752,62 @@ o4=0.44444o2+0.88889o1
o5=0.44444o2+0.88889o1
oo=1.7o2+1.6o1-18
%CAPSULE382 = 3ooo-0.01o3
-xpart %CAPSULE1049 = 8000o2-4000o1+1000o3+9
-xpart %CAPSULE1383=xpart '
-ypart %CAPSULE1383=ypart '
+xpart %CAPSULE604 = 8000o2-4000o1+1000o3+9
+xpart %CAPSULE1394=xpart '
+ypart %CAPSULE1394=ypart '
alpha=0.45p3~+7
{numeric}
-### 4000o1 = -xpart %CAPSULE1049+8000o2+1000o3+9
-### -4.87383o2 = -oo-0.0004xpart %CAPSULE1049+0.39673o3-17.99643
+### 4000o1 = -xpart %CAPSULE604+8000o2+1000o3+9
+### -4.87383o2 = -oo-0.0004xpart %CAPSULE604+0.39673o3-17.99643
#### o6=-0.00027
### -0.04366o3 = -o4+0.46689oo+8.40439
### -o4 = -o5
### 0.22894o5 = -%CAPSULE382+0.10689oo+3ooo+1.92412
{begingroup}
{pair}
-### -alfa=-xpart %CAPSULE1494
+### -alfa=-xpart %CAPSULE368
{endgroup}
-{xpart((xpart %CAPSULE1494,0))}
-### -xpart %CAPSULE17=-%CAPSULE1176
+{xpart((xpart %CAPSULE368,0))}
+### -xpart %CAPSULE17=-%CAPSULE1376
{endgroup}
-{(%CAPSULE382)+(%CAPSULE1176)}
-### -%CAPSULE382=-%CAPSULE1893+%CAPSULE1176
-### -%CAPSULE1893=-ypart %CAPSULE1049
+{(%CAPSULE382)+(%CAPSULE1376)}
+### -%CAPSULE382=-%CAPSULE1364+%CAPSULE1376
+### -%CAPSULE1364=-ypart %CAPSULE604
{begingroup}
{save}
{(1)-(p$)}
{restoring p}
-### p$=-ypart %CAPSULE604+1
+### p$=-ypart %CAPSULE1360+1
{endgroup}
-{(2/3)*((-ypart %CAPSULE604+1,ypart %CAPSULE604))}
-### ypart %CAPSULE604=-xpart %CAPSULE604+1
-### -0.66667xpart %CAPSULE604=-xpart %CAPSULE1889
-{-((xpart %CAPSULE1889,-xpart %CAPSULE1889+0.66667))}
-### xpart %CAPSULE1889=-xpart %CAPSULE1172
-{((xpart %CAPSULE1049,ypart %CAPSULE1049))=((xpart %CAPSULE1172,-xpart %
-CAPSULE1172-0.66667))}
-## xpart %CAPSULE1172=-ypart %CAPSULE1049-0.66667
-## ypart %CAPSULE1049=-xpart %CAPSULE1049-0.66667
-### -xpart %CAPSULE1049=-xpart %CAPSULE1172
-{((xpart ',ypart '))=((xpart %CAPSULE1172,-xpart %CAPSULE1172-0.66667))}
-## xpart %CAPSULE1172=-ypart '-0.66667
+{(2/3)*((-ypart %CAPSULE1360+1,ypart %CAPSULE1360))}
+### ypart %CAPSULE1360=-xpart %CAPSULE1360+1
+### -0.66667xpart %CAPSULE1360=-xpart %CAPSULE1744
+{-((xpart %CAPSULE1744,-xpart %CAPSULE1744+0.66667))}
+### xpart %CAPSULE1744=-xpart %CAPSULE1675
+{((xpart %CAPSULE604,ypart %CAPSULE604))=((xpart %CAPSULE1675,-xpart %CA
+PSULE1675-0.66667))}
+## xpart %CAPSULE1675=-ypart %CAPSULE604-0.66667
+## ypart %CAPSULE604=-xpart %CAPSULE604-0.66667
+### -xpart %CAPSULE604=-xpart %CAPSULE1675
+{((xpart ',ypart '))=((xpart %CAPSULE1675,-xpart %CAPSULE1675-0.66667))}
+## xpart %CAPSULE1675=-ypart '-0.66667
## xpart '=-ypart '-0.66667
{begingroup}
{(0.5)*(ooo)}
{begingroup}
{numeric}
-### -ooo=-%CAPSULE1494
+### -ooo=-%CAPSULE1051
{endgroup}
-{(%CAPSULE1494)+(1)}
-### -%CAPSULE1494=-%CAPSULE1350+1
-{(1/2)*(%CAPSULE1350)}
-### -0.5%CAPSULE1350=-%CAPSULE1367
-{-(%CAPSULE1367)}
-### %CAPSULE1367=-%CAPSULE1893
-{(2)*(%CAPSULE1893)}
-### -2%CAPSULE1893=-%CAPSULE1885
-{(-0.5%CAPSULE1885-0.5)=(%CAPSULE1885)}
-## %CAPSULE1885=-0.33333
+{(%CAPSULE1051)+(1)}
+### -%CAPSULE1051=-%CAPSULE1378+1
+{(1/2)*(%CAPSULE1378)}
+### -0.5%CAPSULE1378=-%CAPSULE1370
+{-(%CAPSULE1370)}
+### %CAPSULE1370=-%CAPSULE1362
+{(2)*(%CAPSULE1362)}
+### -2%CAPSULE1362=-%CAPSULE1354
+{(-0.5%CAPSULE1354-0.5)=(%CAPSULE1354)}
+## %CAPSULE1354=-0.33333
{(oo)=(-0.33333)}
## oo=-0.33333
{endgroup}
@@ -4232,7 +4232,7 @@ xpart '=-ypart '-0.66667
{qq:=pen}
{showstats}
Memory usage 1462&588 (104 still untouched)
-String usage 41&161 (815&7634 still untouched)
+String usage 41&161 (816&7678 still untouched)
{[repeat the loop]}
! A group begun on line 163 never ended.
<to be read again>
@@ -4248,8 +4248,8 @@ by `endgroup'. So I've inserted `endgroup' now.
(end occurred when if on line 36 was incomplete)
(end occurred when elseif on line 21 was incomplete)
Here is how much of METAFONT's memory you used:
- 68 strings out of 883
- 3752 string characters out of 11386
+ 68 strings out of 884
+ 3752 string characters out of 11430
2897 words of memory out of 3001
289 symbolic tokens out of 2100
8i,43n,14r,8p,167b stack positions out of 30i,100n,300r,150p,500b
diff --git a/systems/knuth/dist/mf/trap.pl b/systems/knuth/dist/mf/trap.pl
index bae32a41fb..bae32a41fb 100644..100755
--- a/systems/knuth/dist/mf/trap.pl
+++ b/systems/knuth/dist/mf/trap.pl
diff --git a/systems/knuth/dist/mf/trap.typ b/systems/knuth/dist/mf/trap.typ
index 159c5ce7fc..9994dcc000 100644
--- a/systems/knuth/dist/mf/trap.typ
+++ b/systems/knuth/dist/mf/trap.typ
@@ -1,6 +1,6 @@
This is GFtype, Version 3.1
Options selected: Mnemonic output = true; pixel output = true.
-' METAFONT output 2014.01.07:1811'
+' METAFONT output 1776.07.04:1200'
35: beginning of char 5: -4096<=m<=4094 -2<=n<=1
(initially n=1) paint (4095)1
diff --git a/systems/knuth/dist/mf/trapin.fot b/systems/knuth/dist/mf/trapin.fot
new file mode 100644
index 0000000000..c1dc047847
--- /dev/null
+++ b/systems/knuth/dist/mf/trapin.fot
@@ -0,0 +1,78 @@
+This is METAFONT, Version 2.71828182 (INIMF)
+**
+Please type the name of your input file.
+**\input trap
+(trap.mf
+>> << == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))
+>> ".."
+! Not implemented: (unknown numeric)++(string).
+<to be read again>
+ ;
+l.4 ...}} . (( 5.5.5 )) ++ "..";
+
+..
+! Missing `=' has been inserted.
+<to be read again>
+ ,
+l.5 begingroup save =; let=,
+ ; save,; newinternal $=,; let )...
+> errorstopmode=errorstopmode
+> readstring=readstring
+> 2
+> "2"
+> ,=,
+> (=tag
+> )=,
+<< == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}(([][]))=numeric
+<< == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))=<< == >> :::
+||`` ''--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))
+> year=month
+! OK.
+l.6 ...ring,2,"2",,,(,),<<,year;
+
+! Missing `:' has been inserted.
+<to be read again>
+ ;
+l.8 ...not cycle "":1.1 forever;
+ fi;
+> |=:|>=|=:|>
+! OK.
+l.9 ... endfor; showtoken |=:|>;
+
+! Arithmetic overflow.
+l.10 tracingedges:=1/.00001
+ ; tracingequations:=$+1; p~=trac...
+! Arithmetic overflow.
+l.10 ... p~=tracingedges+.00001;
+
+>> x
+! Internal quantity `$' must receive a known value.
+<to be read again>
+ ;
+l.12 ...os:=1; $:=ASCII""; $:=x;
+ p~:=p~;
+! Value is too large (32767.99998).
+l.12 ...:=ASCII""; $:=x; p~:=p~;
+
+! Missing `)' has been inserted.
+<to be read again>
+ ;
+<argument> ...m.proofing:=(-0.5;
+ shipout.nullpicture;special"3"
+foo->begingroup(TEXT2)
+ endgroup
+l.16 ...ture; special"3" endtext
+ ;
+Memory usage 291&41 (1922 still untouched)
+String usage 26&83 (892&11481 still untouched)
+! OK.
+l.17 ...ing:fi endfor showstats;
+ let!!=skipto;
+ )
+(see the transcript file for additional information)
+Beginning to dump on file trap.base
+ (preloaded base=trap 1776.7.4)
+1116 strings of total length 20570
+395 memory locations dumped; current usage is 317&67
+265 symbolic tokens
+Transcript written on trap.log.
diff --git a/systems/knuth/dist/mf/trapin.log b/systems/knuth/dist/mf/trapin.log
index 2fbafd0e6b..c07ae62774 100644
--- a/systems/knuth/dist/mf/trapin.log
+++ b/systems/knuth/dist/mf/trapin.log
@@ -1,4 +1,4 @@
-This is METAFONT, Version 2.7182818 (INIMF) 7 JAN 2014 17:51
+This is METAFONT, Version 2.71828182 (INIMF) 4 JUL 1776 12:00
**\input trap
(trap.mf
>> << == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))
@@ -147,7 +147,7 @@ put one in, behind the scenes; this may fix the problem.
{for}
{showstats}
Memory usage 291&41 (1922 still untouched)
-String usage 26&83 (891&11438 still untouched)
+String usage 26&83 (892&11481 still untouched)
! OK.
l.17 ...ing:fi endfor showstats;
let!!=skipto;
@@ -173,7 +173,7 @@ Path at line 18, after choices:
{elseif}
)
Beginning to dump on file trap.base
- (preloaded base=trap 2014.1.7)
-1117 strings of total length 20614
+ (preloaded base=trap 1776.7.4)
+1116 strings of total length 20570
395 memory locations dumped; current usage is 317&67
265 symbolic tokens
diff --git a/systems/knuth/dist/mfware/gftodvi.web b/systems/knuth/dist/mfware/gftodvi.web
index 3540b500f1..9fb263a7e3 100644
--- a/systems/knuth/dist/mfware/gftodvi.web
+++ b/systems/knuth/dist/mfware/gftodvi.web
@@ -32,7 +32,7 @@
\def\title{GF$\,$\lowercase{to}$\,$DVI}
\def\contentspagenumber{301}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont GFtoDVI} processor}
@@ -1128,7 +1128,7 @@ should be zero, but other document file formats allow nonzero vertical
escapement.
The character width~|w| duplicates the information in the \.{TFM} file; it
-is $2^{24}$ times the ratio of the true width to the font's design size.
+is $2^{20}$ times the ratio of the true width to the font's design size.
The backpointer |p| points to the character's |boc|, or to the first of
a sequence of consecutive \\{xxx} or |yyy| or |no_op| commands that
diff --git a/systems/knuth/dist/mfware/gftopk.web b/systems/knuth/dist/mfware/gftopk.web
index ab9ba10465..d7012a277a 100644
--- a/systems/knuth/dist/mfware/gftopk.web
+++ b/systems/knuth/dist/mfware/gftopk.web
@@ -44,7 +44,7 @@
\def\title{GFtoPK}
\def\contentspagenumber{201}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont GFtoPK} processor}
@@ -681,7 +681,7 @@ definitions are called flag bytes, and various fields within the byte indicate
various things about how the character definition is encoded. Command bytes
have zero or more parameters, and can never appear within a character
definition or between parameters of another command, where they would be
-interpeted as data.
+interpreted as data.
A \.{PK} file consists of a preamble, followed by a sequence of one or more
character definitions, followed by a postamble. The preamble command must
@@ -722,7 +722,7 @@ of a keyword followed by possible parameters relevant to that keyword.
length exceeds~255.
\yskip\hang\\{pk\_xxx4} 243 |k[4]| |x[k]|. Like |pk_xxx1|, but |k| can be
-ridiculously large; |k| musn't be negative.
+ridiculously large; |k| mustn't be negative.
\yskip\hang|pk_yyy| 244 |y[4]|. This command is undefined in general; it
functions as a five-byte \\{no\_op} unless special \.{PK} reading programs
@@ -1281,7 +1281,7 @@ end ;
@* Plan of attack.
It would seem at first that converting a \.{GF} file to \.{PK} format should
be relatively easy, since they both use a form of run-encoding. Unfortunately,
-several idiosyncracies of the \.{GF} format make this conversion slightly
+several idiosyncrasies of the \.{GF} format make this conversion slightly
cumbersome.
The \.{GF} format separates the raster information from the escapement values
and \.{TFM} widths; the \.{PK} format combines all information about a single
@@ -1458,7 +1458,7 @@ end
@<Glob...@>=
@!gf_ch : integer ; {the character we are working with}
-@!gf_ch_mod_256 : integer ; {locater pointer}
+@!gf_ch_mod_256 : integer ; {locator pointer}
@!pred_pk_loc : integer ; {where we predict the end of the character to be.}
@!max_n, @!min_n : integer ; {the maximum and minimum horizontal rows}
@!max_m, @!min_m : integer ; {the maximum and minimum vertical rows}
@@ -1705,7 +1705,7 @@ end else begin
end
@ We must convert the run-count array from a row orientation to a glyph
-orientation, with repeat counts for repeated rows. We seperate this task
+orientation, with repeat counts for repeated rows. We separate this task
into two smaller tasks, on a per row basis. But first, we define a new
macro to help us fill up this new array. Here, we have no fear that we will
run out of space, as the glyph representation is provably smaller than the
@@ -2152,10 +2152,10 @@ pk_byte(pk_post) ;
while (pk_loc mod 4 <> 0) do pk_byte(pk_no_op)
@ Once we are finished with the \.{GF} file, we check the status of each
-character to insure that each character that had a locater also had raster
+character to insure that each character that had a locator also had raster
information.
-@<Check for un-rasterized locaters@>=
+@<Check for unrasterized locators@>=
for i := 0 to 255 do
if status[i] = located then
print_ln('Character ',i:1,' missing raster information!')
@@ -2166,7 +2166,7 @@ for i := 0 to 255 do
@p begin
initialize ;
convert_gf_file ;
- @<Check for un-rasterized locaters@> ;
+ @<Check for unrasterized locators@> ;
print_ln(gf_len:1,' bytes packed to ',pk_loc:1,' bytes.') ;
final_end : end .
diff --git a/systems/knuth/dist/mfware/gftype.web b/systems/knuth/dist/mfware/gftype.web
index ef6feeefef..df530672b0 100644
--- a/systems/knuth/dist/mfware/gftype.web
+++ b/systems/knuth/dist/mfware/gftype.web
@@ -30,7 +30,7 @@
\def\title{GFtype}
\def\contentspagenumber{101}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont GFtype} processor}
@@ -572,7 +572,7 @@ should be zero, but other document file formats allow nonzero vertical
escapement.
The character width~|w| duplicates the information in the \.{TFM} file; it
-is $2^{24}$ times the ratio of the true width to the font's design size.
+is $2^{20}$ times the ratio of the true width to the font's design size.
The backpointer |p| points to the character's |boc|, or to the first of
a sequence of consecutive \\{xxx} or |yyy| or |no_op| commands that
diff --git a/systems/knuth/dist/mfware/mft.web b/systems/knuth/dist/mfware/mft.web
index 18a949b1e9..617369f878 100644
--- a/systems/knuth/dist/mfware/mft.web
+++ b/systems/knuth/dist/mfware/mft.web
@@ -7,6 +7,7 @@
% Version 1.0 was tuned up for the METAFONTware report (April 16, 1989).
% Version 1.1 ditto, with input handled by Hosek's idea (April 27, 1989).
% Version 2 has the new primitives of METAFONT 2.0 (October 16, 1989).
+% Version 2.1 corrects two of those primitives (January 20, 2021).
% Here is TeX material that gets inserted after \input webmac
\def\hang{\hangindent 3em\indent\ignorespaces}
@@ -21,17 +22,16 @@
\mathchardef\RA="3221 % right arrow
\mathchardef\BA="3224 % double arrow
\def\({} % kludge for alphabetizing certain module names
-\chardef\V=`\| % vertical line in a string
\def\title{MFT}
\def\contentspagenumber{401}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont MFT} processor}
\vskip 15pt
- \centerline{(Version 2.0, October 1989)}
+ \centerline{(Version 2.1, January 2021)}
\vfill}
\def\botofcontents{\vfill
\centerline{\hsize 5in\baselineskip9pt
@@ -83,7 +83,7 @@ a reformatting command even to get parentheses to act like delimiters!)
\MF\ comments, which follow a single \.\% sign, should be valid \TeX\
input. But \MF\ material can be included in \pb\ within a comment; this
will be translated by \.{MFT} as if it were not in a comment. For example,
-a phrase like `\.{make} \.{\V x2r\V} \.{zero}' will be translated into
+a phrase like `\.{make} \.{\v x2r\v} \.{zero}' will be translated into
`\.{make \$x\_\{2r\}\$ zero}'.
The rules just stated apply to lines that contain one, two, or three \.\% signs
@@ -128,7 +128,7 @@ dependencies' in the index below.
The ``banner line'' defined here should be changed whenever \.{MFT}
is modified.
-@d banner=='This is MFT, Version 2.0'
+@d banner=='This is MFT, Version 2.1'
@ The program begins with a fairly normal header, made up of pieces that
@^system dependencies@>
@@ -802,9 +802,7 @@ end;
@ @<Read from |mf_file|...@>=
begin incr(line);
if not input_ln(mf_file) then input_has_ended:=true
-else if limit=change_limit then
- if buffer[0]=change_buffer[0] then
- if change_limit>0 then check_change;
+else if change_limit>0 then check_change;
end
@ @<Read from |style_file|...@>=
@@ -840,7 +838,7 @@ had a line that didn't match any relevant line in |mf_file|.
@<Check that all changes have been read@>=
if change_limit<>0 then {|changing| is false}
- begin for loc:=0 to change_limit do buffer[loc]:=change_buffer[loc];
+ begin for loc:=0 to change_limit-1 do buffer[loc]:=change_buffer[loc];
limit:=change_limit; changing:=true; line:=other_line; loc:=change_limit;
err_print('! Change file entry did not match');
@.Change file entry did not match@>
@@ -936,7 +934,7 @@ lookup:=p;
end;
@ A simple hash code is used: If the sequence of
-ASCII codes is $c_1c_2\ldots c_m$, its hash value will be
+ASCII codes is $c_1c_2\ldots c_n$, its hash value will be
$$(2^{n-1}c_1+2^{n-2}c_2+\cdots+c_n)\,\bmod\,|hash_size|.$$
@<Compute the hash...@>=
@@ -1226,6 +1224,8 @@ pr12("t")("r")("a")("c")("i")("n")("g")
("s")("t")("a")("t")("s")(internal);@/
pr13("t")("r")("a")("c")("i")("n")("g")
("o")("n")("l")("i")("n")("e")(internal);@/
+pr15("t")("r")("a")("c")("i")("n")("g")
+ ("r")("e")("s")("t")("o")("r")("e")("s")(internal);@/
@ @<Store all the primitives@>=
pr4("y")("e")("a")("r")(internal);@/
@@ -1233,7 +1233,7 @@ pr5("m")("o")("n")("t")("h")(internal);@/
pr3("d")("a")("y")(internal);@/
pr4("t")("i")("m")("e")(internal);@/
pr8("c")("h")("a")("r")("c")("o")("d")("e")(internal);@/
-pr7("c")("h")("a")("r")("f")("a")("m")(internal);@/
+pr7("c")("h")("a")("r")("e")("x")("t")(internal);@/
pr6("c")("h")("a")("r")("w")("d")(internal);@/
pr6("c")("h")("a")("r")("h")("t")(internal);@/
pr6("c")("h")("a")("r")("d")("p")(internal);@/
diff --git a/systems/knuth/dist/tex/glue.web b/systems/knuth/dist/tex/glue.web
index 38a6d667c8..add1903b50 100644
--- a/systems/knuth/dist/tex/glue.web
+++ b/systems/knuth/dist/tex/glue.web
@@ -7,7 +7,7 @@
\def\title{GLUE}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont Fixed-Point Glue Setting}
diff --git a/systems/knuth/dist/tex/tex.web b/systems/knuth/dist/tex/tex.web
index e22c46b509..62374028b2 100644
--- a/systems/knuth/dist/tex/tex.web
+++ b/systems/knuth/dist/tex/tex.web
@@ -1,6 +1,7 @@
% This program is copyright (C) 1982 by D. E. Knuth; all rights are reserved.
-% Copying of this file is authorized only if (1) you are D. E. Knuth, or if
-% (2) you make absolutely no changes to your copy. (The WEB system provides
+% Unlimited copying and redistribution of this file are permitted as long
+% as this file is not modified. Modifications are permitted, but only if
+% the resulting file is not named tex.web. (The WEB system provides
% for alterations via an auxiliary file; the master file should stay intact.)
% See Appendix H of the WEB manual for hints on how to install this program.
% And see Appendix A of the TRIP manual for details about how to validate it.
@@ -46,6 +47,7 @@
% Version 3.141592 fixed \xleaders, glueset, weird alignments (December 2002).
% Version 3.1415926 was a general cleanup with minor fixes (February 2008).
% Version 3.14159265 was similar (January 2014).
+% Version 3.141592653 was similar but more extensive (January 2021).
% A reward of $327.68 will be paid to the first finder of any remaining bug.
@@ -188,7 +190,7 @@ helping to determine whether a particular implementation deserves to be
known as `\TeX' [cf.~Stanford Computer Science report CS1027,
November 1984].
-@d banner=='This is TeX, Version 3.14159265' {printed when \TeX\ starts}
+@d banner=='This is TeX, Version 3.141592653' {printed when \TeX\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
@!@:PASCAL H}{\ph@>
@@ -199,7 +201,7 @@ reader see how to make an appropriate interface for other systems
if necessary. (\ph\ is Charles Hedrick's modification of a compiler
@^Hedrick, Charles Locke@>
for the DECsystem-10 that was originally developed at the University of
-Hamburg; cf.\ {\sl SOFTWARE---Practice \AM\ Experience \bf6} (1976),
+Hamburg; cf.\ {\sl Software---Practice and Experience \bf6} (1976),
29--42. The \TeX\ program below is intended to be adaptable, without
extensive changes, to most other versions of \PASCAL, so it does not fully
use the admirable features of \ph. Indeed, a conscious effort has been
@@ -295,8 +297,8 @@ to people who wish to preserve the purity of English.
Similarly, there is some conditional code delimited by
`$|stat|\ldots|tats|$' that is intended for use when statistics are to be
kept about \TeX's memory usage. The |stat| $\ldots$ |tats| code also
-implements diagnostic information for \.{\\tracingparagraphs} and
-\.{\\tracingpages}.
+implements diagnostic information for \.{\\tracingparagraphs},
+\.{\\tracingpages}, and \.{\\tracingrestores}.
@^debugging@>
@d debug==@{ {change this to `$\\{debug}\equiv\null$' when debugging}
@@ -1303,7 +1305,7 @@ example, be `|k in [0,@'10..@'12,@'14,@'15,@'33,@'177..@'377]|'.
If character |k| cannot be printed, and |k<@'200|, then character |k+@'100| or
|k-@'100| must be printable; moreover, ASCII codes |[@'41..@'46,
@'60..@'71, @'136, @'141..@'146, @'160..@'171]| must be printable.
-Thus, at least 81 printable characters are needed.
+Thus, at least 80 printable characters are needed.
@:TeXbook}{\sl The \TeX book@>
@^character set dependencies@>
@^system dependencies@>
@@ -1564,9 +1566,9 @@ end;
@ Here is the very first thing that \TeX\ prints: a headline that identifies
the version number and format package. The |term_offset| variable is temporarily
-incorrect, but the discrepancy is not serious since we assume that the banner
-and format identifier together will occupy at most |max_print_line|
-character positions.
+incorrect, but the discrepancy is not serious since we assume that this
+part of the program is system dependent.
+@^system dependencies@>
@<Initialize the output...@>=
wterm(banner);
@@ -1616,7 +1618,7 @@ by all \PASCAL\ compilers.
@<Basic print...@>=
procedure print_int(@!n:integer); {prints an integer in decimal form}
-var k:0..23; {index to current digit; we assume that $|n|<10^{23}$}
+var k:0..23; {index to current digit; we assume that $\vert n\vert<10^{23}$}
@!m:integer; {used to negate |n| in possibly dangerous cases}
begin k:=0;
if n<0 then
@@ -1880,7 +1882,8 @@ var c:ASCII_code; {what the user types}
{used to save global variables when deleting tokens}
begin if history<error_message_issued then history:=error_message_issued;
print_char("."); show_context;
-if interaction=error_stop_mode then @<Get user's advice and |return|@>;
+if interaction=error_stop_mode then
+ @<Get user's advice and |return|@>;
incr(error_count);
if error_count=100 then
begin print_nl("(That makes 100 errors; please try again.)");
@@ -1891,7 +1894,8 @@ if error_count=100 then
exit:end;
@ @<Get user's advice...@>=
-loop@+begin continue: clear_for_error_prompt; prompt_input("? ");
+loop@+begin continue: if interaction<>error_stop_mode then return;
+ clear_for_error_prompt; prompt_input("? ");
@.?\relax@>
if last=first then return;
c:=buffer[first];
@@ -1916,7 +1920,7 @@ case c of
"0","1","2","3","4","5","6","7","8","9": if deletions_allowed then
@<Delete \(c)|c-"0"| tokens and |goto continue|@>;
@t\4\4@>@;@+@!debug "D": begin debug_help; goto continue;@+end;@+gubed@/
-"E": if base_ptr>0 then
+"E": if base_ptr>0 then if input_stack[base_ptr].name_field>=256 then
begin print_nl("You want to edit file ");
@.You want to edit file x@>
slow_print(input_stack[base_ptr].name_field);
@@ -1937,7 +1941,8 @@ begin print("Type <return> to proceed, S to scroll future error messages,");@/
@.Type <return> to proceed...@>
print_nl("R to run without stopping, Q to run quietly,");@/
print_nl("I to insert something, ");
-if base_ptr>0 then print("E to edit your file,");
+if base_ptr>0 then if input_stack[base_ptr].name_field>=256 then
+ print("E to edit your file,");
if deletions_allowed then
print_nl("1 or ... or 9 to ignore the next 1 to 9 tokens of input,");
print_nl("H for help, X to quit.");
@@ -2129,7 +2134,7 @@ begin if OK_to_interrupt then
print_err("Interruption");
@.Interruption@>
help3("You rang?")@/
- ("Try to insert some instructions for me (e.g.,`I\showlists'),")@/
+ ("Try to insert an instruction for me (e.g., `I\showlists'),")@/
("unless you just want to quit by typing `X'.");
deletions_allowed:=false; error; deletions_allowed:=true;
interrupt:=0;
@@ -2917,8 +2922,8 @@ specifies the order of infinity to which glue setting applies (|normal|,
@ The |new_null_box| function returns a pointer to an |hlist_node| in
which all subfields have the values corresponding to `\.{\\hbox\{\}}'.
-The |subtype| field is set to |min_quarterword|, since that's the desired
-|span_count| value if this |hlist_node| is changed to an |unset_node|.
+(The |subtype| field is set to |min_quarterword|, for historic reasons
+that are no longer relevant.)
@p function new_null_box:pointer; {creates a new box node}
var p:pointer; {the new node}
@@ -4100,7 +4105,7 @@ expanded by `\.{\\the}'.
@d hskip=26 {horizontal glue ( \.{\\hskip}, \.{\\hfil}, etc.~)}
@d vskip=27 {vertical glue ( \.{\\vskip}, \.{\\vfil}, etc.~)}
@d mskip=28 {math glue ( \.{\\mskip} )}
-@d kern=29 {fixed space ( \.{\\kern})}
+@d kern=29 {fixed space ( \.{\\kern} )}
@d mkern=30 {math kern ( \.{\\mkern} )}
@d leader_ship=31 {use a box ( \.{\\shipout}, \.{\\leaders}, etc.~)}
@d halign=32 {horizontal table alignment ( \.{\\halign} )}
@@ -4239,7 +4244,7 @@ At each level of processing we are in one of six modes:
\hang|-mmode| stands for math formula mode (not displayed).
\yskip\noindent The mode is temporarily set to zero while processing \.{\\write}
-texts in the |ship_out| routine.
+texts.
Numeric values are assigned to |vmode|, |hmode|, and |mmode| so that
\TeX's ``big semantic switch'' can select the appropriate thing to
@@ -4432,7 +4437,7 @@ case abs(m) div (max_command+1) of
end;
end;
2: if a.int<>null then
- begin print("this will be denominator of:"); show_box(a.int);@+
+ begin print("this will begin denominator of:"); show_box(a.int);@+
end;
end {there are no other cases}
@@ -4954,7 +4959,7 @@ that will be defined later.
@d output_penalty_code=39 {penalty found at current page break}
@d max_dead_cycles_code=40 {bound on consecutive dead cycles of output}
@d hang_after_code=41 {hanging indentation changes after this many lines}
-@d floating_penalty_code=42 {penalty for insertions heldover after a split}
+@d floating_penalty_code=42 {penalty for insertions held over after a split}
@d global_defs_code=43 {override \.{\\global} specifications}
@d cur_fam_code=44 {current family}
@d escape_char_code=45 {escape character for token output}
@@ -5236,14 +5241,18 @@ del_code("."):=0; {this null delimiter is used in error recovery}
input and output, establishes the initial values of the date and time.
@^system dependencies@>
Since standard \PASCAL\ cannot provide such information, something special
-is needed. The program here simply specifies July 4, 1776, at noon; but
-users probably want a better approximation to the truth.
+is needed. The program here simply assumes that suitable values appear in
+the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and
+\\{sys\_year} (which are initialized to noon on 4 July 1776,
+in case the implementor is careless).
@p procedure fix_date_and_time;
-begin time:=12*60; {minutes since midnight}
-day:=4; {fourth day of the month}
-month:=7; {seventh month of the year}
-year:=1776; {Anno Domini}
+begin sys_time:=12*60;
+sys_day:=4; sys_month:=7; sys_year:=1776; {self-evident truths}
+time:=sys_time; {minutes since midnight}
+day:=sys_day; {day of the month}
+month:=sys_month; {month of the year}
+year:=sys_year; {Anno Domini}
end;
@ @<Show equivalent |n|, in region 5@>=
@@ -5279,11 +5288,13 @@ if blank_line then print_ln;
selector:=old_setting;
end;
-@ Of course we had better declare another global variable, if the previous
+@ Of course we had better declare a few more global variables, if the previous
routines are going to work.
@<Glob...@>=
@!old_setting:0..max_selector;
+@!sys_time,@!sys_day,@!sys_month,@!sys_year:integer;
+ {date and time supplied by external system}
@ The final region of |eqtb| contains the dimension parameters defined
here, and the 256 \.{\\dimen} registers.
@@ -5824,7 +5835,7 @@ should replace the corresponding entry in |xeq_level|.
\yskip\hangg 2) If |save_type(p)=restore_zero|, then |save_index(p)|
is a location in |eqtb| whose current value should be destroyed at the end
of the current group, when it should be
-replaced by the current value of |eqtb[undefined_control_sequence]|.
+replaced by the value of |eqtb[undefined_control_sequence]|.
\yskip\hangg 3) If |save_type(p)=insert_token|, then |save_index(p)|
is a token that should be inserted into \TeX's input when the current
@@ -6189,8 +6200,8 @@ when |m=out_param|, it means that \TeX\ should insert parameter
number |c| into the text at this point.
The enclosing \.{\char'173} and \.{\char'175} characters of a macro
-definition are omitted, but the final right brace of an output routine
-is included at the end of its token list.
+definition are omitted, but an output routine
+will be enclosed in braces.
Here is an example macro definition that illustrates these conventions.
After \TeX\ processes the text
@@ -6654,7 +6665,7 @@ template is being scanned;
template is being scanned;
\hang|backed_up|, if the token list being scanned has been inserted as
-`to be read again'.
+`to be read again';
\hang|inserted|, if the token list being scanned has been inserted as
the text expansion of a \.{\\count} or similar variable;
@@ -7190,7 +7201,8 @@ end
@ The recovery procedure can't be fully understood without knowing more
about the \TeX\ routines that should be aborted, but we can sketch the
-ideas here: For a runaway definition we will insert a right brace; for a
+ideas here: For a runaway definition or a runaway balanced text
+we will insert a right brace; for a
runaway preamble, we will insert a special \.{\\cr} token and a right
brace; and for a runaway argument, we will set |long_state| to
|outer_call| and insert \.{\\par}.
@@ -7827,7 +7839,7 @@ done: if cur_cs=0 then cur_tok:=(cur_cmd*@'400)+cur_chr
else cur_tok:=cs_token_flag+cur_cs;
end;
-@ The |get_x_token| procedure is equivalent to two consecutive
+@ The |get_x_token| procedure is essentially equivalent to two consecutive
procedure calls: |get_next; x_token|.
@p procedure x_token; {|get_x_token| without the initial |get_next|}
@@ -8148,7 +8160,7 @@ end
strip off the enclosing braces. That's why |rbrace_ptr| was introduced.
@<Tidy up the parameter just scanned, and tuck it away@>=
-begin if (m=1)and(info(p)<right_brace_limit)and(p<>temp_head) then
+begin if (m=1)and(info(p)<right_brace_limit) then
begin link(rbrace_ptr):=null; free_avail(p);
p:=link(temp_head); pstack[n]:=link(p); free_avail(p);
end
@@ -9140,7 +9152,7 @@ The token list created by |str_toks| begins at |link(temp_head)| and ends
at the value |p| that is returned. (If |p=temp_head|, the list is empty.)
@p function str_toks(@!b:pool_pointer):pointer;
- {changes the string |str_pool[b..pool_ptr]| to a token list}
+ {converts |str_pool[b..pool_ptr-1]| to a token list}
var p:pointer; {tail of the token list}
@!q:pointer; {new node being added to the token list via |store_new_token|}
@!t:halfword; {token being appended}
@@ -9302,7 +9314,7 @@ address of the control sequence to display in ``runaway'' error
messages.
@p function scan_toks(@!macro_def,@!xpand:boolean):pointer;
-label found,done,done1,done2;
+label found,continue,done,done1,done2;
var t:halfword; {token representing the highest parameter number}
@!s:halfword; {saved token}
@!p:pointer; {tail of the token list being built}
@@ -9322,7 +9334,7 @@ scan_toks:=p;
end;
@ @<Scan and build the parameter part...@>=
-begin loop begin get_token; {set |cur_cmd|, |cur_chr|, |cur_tok|}
+begin loop begin continue: get_token; {set |cur_cmd|, |cur_chr|, |cur_tok|}
if cur_tok<right_brace_limit then goto done1;
if cur_cmd=mac_param then
@<If the next character is a parameter number, make |cur_tok|
@@ -9344,7 +9356,7 @@ end
@ @<If the next character is a parameter number...@>=
begin s:=match_token+cur_chr; get_token;
-if cur_cmd=left_brace then
+if cur_tok<left_brace_limit then
begin hash_brace:=cur_tok;
store_new_token(cur_tok); store_new_token(end_match_token);
goto done;
@@ -9352,7 +9364,8 @@ if cur_cmd=left_brace then
if t=zero_token+9 then
begin print_err("You already have nine parameters");
@.You already have nine...@>
- help1("I'm going to ignore the # sign you just used."); error;
+ help2("I'm going to ignore the # sign you just used,")@/
+ ("as well as the token that followed it."); error; goto continue;
end
else begin incr(t);
if cur_tok<>t then
@@ -9502,7 +9515,7 @@ begin if not input_ln(read_file[m],true) then
print_err("File ended within "); print_esc("read");
@.File ended within \\read@>
help1("This \read has unbalanced braces.");
- align_state:=1000000; error;
+ align_state:=1000000; limit:=0; error;
end;
end;
end
@@ -9638,7 +9651,7 @@ where skipping began, for use in error messages.
@!skip_line:integer; {skipping began here}
@ Here is a procedure that ignores text until coming to an \.{\\or},
-\.{\\else}, or \.{\\fi} at level zero of $\.{\\if}\ldots\.{\\fi}$
+\.{\\else}, or \.{\\fi} at the current level of $\.{\\if}\ldots\.{\\fi}$
nesting. After it has acted, |cur_chr| will indicate the token that
was found, but |cur_tok| will not be set (because this makes the
procedure run faster).
@@ -10342,15 +10355,18 @@ end
@ @<Print the banner...@>=
begin wlog(banner);
slow_print(format_ident); print(" ");
-print_int(day); print_char(" ");
+print_int(sys_day); print_char(" ");
months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC';
-for k:=3*month-2 to 3*month do wlog(months[k]);
-print_char(" "); print_int(year); print_char(" ");
-print_two(time div 60); print_char(":"); print_two(time mod 60);
+for k:=3*sys_month-2 to 3*sys_month do wlog(months[k]);
+print_char(" "); print_int(sys_year); print_char(" ");
+print_two(sys_time div 60); print_char(":"); print_two(sys_time mod 60);
end
@ Let's turn now to the procedure that is used to initiate file reading
when an `\.{\\input}' command is being processed.
+Beware: For historic reasons, this code foolishly conserves a tiny bit
+of string pool space; but that can confuse the interactive `\.E' option.
+@^system dependencies@>
@p procedure start_input; {\TeX\ will \.{\\input} something}
label done;
@@ -10375,7 +10391,7 @@ if term_offset+length(name)>max_print_line-2 then print_ln
else if (term_offset>0)or(file_offset>0) then print_char(" ");
print_char("("); incr(open_parens); slow_print(name); update_terminal;
state:=new_line;
-if name=str_ptr-1 then {we can conserve string pool space now}
+if name=str_ptr-1 then {conserve string pool space (but see note above)}
begin flush_string; name:=cur_name;
end;
@<Read the first line of the new file@>;
@@ -10589,11 +10605,11 @@ deleted if $c=0$; then we pass over $a$~characters to reach the next
current character (which may have a ligature/kerning program of its own).
If the very first instruction of the |lig_kern| array has |skip_byte=255|,
-the |next_char| byte is the so-called right boundary character of this font;
+the |next_char| byte is the so-called boundary character of this font;
the value of |next_char| need not lie between |bc| and~|ec|.
If the very last instruction of the |lig_kern| array has |skip_byte=255|,
-there is a special ligature/kerning program for a left boundary character,
-beginning at location |256*op_byte+remainder|.
+there is a special ligature/kerning program for a boundary character at the
+left, beginning at location |256*op_byte+remainder|.
The interpretation is that \TeX\ puts implicit boundary characters
before and after each consecutive string of characters from the same font.
These implicit characters do not appear in the output, but they can affect
@@ -10725,7 +10741,7 @@ the font.
{start of |lig_kern| program for left boundary character,
|non_address| if there is none}
@!font_bchar:array[internal_font_number] of min_quarterword..non_char;
- {right boundary character, |non_char| if there is none}
+ {boundary character, |non_char| if there is none}
@!font_false_bchar:array[internal_font_number] of min_quarterword..non_char;
{|font_bchar| if it doesn't exist in the font, otherwise |non_char|}
@@ -10904,7 +10920,7 @@ var k:font_index; {index into |font_info|}
@!a,@!b,@!c,@!d:eight_bits; {byte variables}
@!qw:four_quarters;@!sw:scaled; {accumulators}
@!bch_label:integer; {left boundary start location, or infinity}
-@!bchar:0..256; {right boundary character, or 256}
+@!bchar:0..256; {boundary character, or 256}
@!z:scaled; {the design size or the ``at'' size}
@!alpha:integer;@!beta:1..16;
{auxiliary quantities used in fixed-point multiplication}
@@ -11472,13 +11488,13 @@ stack were empty at the time of a |pop| command.
The parameter is a signed number in two's complement notation, |-128<=b<128|;
if |b<0|, the reference point moves left.
-\yskip\hang|right2| 144 |b[2]|. Same as |right1|, except that |b| is a
+\yskip\hang|@!right2| 144 |b[2]|. Same as |right1|, except that |b| is a
two-byte quantity in the range |-32768<=b<32768|.
-\yskip\hang|right3| 145 |b[3]|. Same as |right1|, except that |b| is a
+\yskip\hang|@!right3| 145 |b[3]|. Same as |right1|, except that |b| is a
three-byte quantity in the range |@t$-2^{23}$@><=b<@t$2^{23}$@>|.
-\yskip\hang|right4| 146 |b[4]|. Same as |right1|, except that |b| is a
+\yskip\hang|@!right4| 146 |b[4]|. Same as |right1|, except that |b| is a
four-byte quantity in the range |@t$-2^{31}$@><=b<@t$2^{31}$@>|.
\yskip\hang|w0| 147. Set |h:=h+w|; i.e., move right |w| units. With luck,
@@ -12886,7 +12902,7 @@ also removes all occurrences of |ins_node|, |mark_node|, and |adjust_node|
items and appends the resulting material onto the list that ends at
location |adjust_tail|.
-@< Glob...@>=
+@<Glob...@>=
@!adjust_tail:pointer; {tail of adjustment list}
@ @<Set init...@>=adjust_tail:=null; last_badness:=0;
@@ -13408,8 +13424,8 @@ programming.
@d sub_mlist=3 {|math_type| when the attribute is a formula}
@d math_text_char=4 {|math_type| when italic correction is dubious}
-@ Each portion of a formula is classified as Ord, Op, Bin, Rel, Ope,
-Clo, Pun, or Inn, for purposes of spacing and line breaking. An
+@ Each portion of a formula is classified as Ord, Op, Bin, Rel, Open,
+Close, Punct, or Inner, for purposes of spacing and line breaking. An
|ord_noad|, |op_noad|, |bin_noad|, |rel_noad|, |open_noad|, |close_noad|,
|punct_noad|, or |inner_noad| is used to represent portions of the various
types. For example, an `\.=' sign in a formula leads to the creation of a
@@ -13431,10 +13447,10 @@ limits has been overridden for this operator.
@d op_noad=ord_noad+1 {|type| of a noad classified Op}
@d bin_noad=ord_noad+2 {|type| of a noad classified Bin}
@d rel_noad=ord_noad+3 {|type| of a noad classified Rel}
-@d open_noad=ord_noad+4 {|type| of a noad classified Ope}
-@d close_noad=ord_noad+5 {|type| of a noad classified Clo}
-@d punct_noad=ord_noad+6 {|type| of a noad classified Pun}
-@d inner_noad=ord_noad+7 {|type| of a noad classified Inn}
+@d open_noad=ord_noad+4 {|type| of a noad classified Open}
+@d close_noad=ord_noad+5 {|type| of a noad classified Close}
+@d punct_noad=ord_noad+6 {|type| of a noad classified Punct}
+@d inner_noad=ord_noad+7 {|type| of a noad classified Inner}
@d limits=1 {|subtype| of |op_noad| whose scripts are to be above, below}
@d no_limits=2 {|subtype| of |op_noad| whose scripts are to be normal}
@@ -14209,7 +14225,7 @@ else begin if (qo(cur_c)>=font_bc[cur_f])and(qo(cur_c)<=font_ec[cur_f]) then
else cur_i:=null_character;
if not(char_exists(cur_i)) then
begin char_warning(cur_f,qo(cur_c));
- math_type(a):=empty;
+ math_type(a):=empty; cur_i:=null_character;
end;
end;
end;
@@ -14596,7 +14612,7 @@ else begin shift_down:=denom2(cur_size);
@ The numerator and denominator must be separated by a certain minimum
clearance, called |clr| in the following program. The difference between
-|clr| and the actual clearance is |2delta|.
+|clr| and the actual clearance is twice |delta|.
@<Adjust \(s)|shift_up| and |shift_down| for the case of no fraction line@>=
begin if cur_style<text_style then clr:=7*default_rule_thickness
@@ -14979,8 +14995,7 @@ rel_noad: begin t:=rel_noad; pen:=rel_penalty;
ord_noad,vcenter_noad,over_noad,under_noad: do_nothing;
radical_noad: s:=radical_noad_size;
accent_noad: s:=accent_noad_size;
-fraction_noad: begin t:=inner_noad; s:=fraction_noad_size;
- end;
+fraction_noad: s:=fraction_noad_size;
left_noad,right_noad: t:=make_left_right(q,style,max_d,max_h);
style_node: @<Change the current style and |goto delete_q|@>;
whatsit_node,penalty_node,rule_node,disc_node,adjust_node,ins_node,mark_node,
@@ -15020,7 +15035,7 @@ begin cur_style:=subtype(q); s:=style_node_size;
goto delete_q;
end
-@ The inter-element spacing in math formulas depends on a $8\times8$ table that
+@ The inter-element spacing in math formulas depends on an $8\times8$ table that
\TeX\ preloads as a 64-digit string. The elements of this string have the
following significance:
$$\vbox{\halign{#\hfil\cr
@@ -15400,6 +15415,7 @@ text(frozen_cr):="cr"; eqtb[frozen_cr]:=eqtb[cur_val];@/
primitive("crcr",car_ret,cr_cr_code);
@!@:cr_cr_}{\.{\\crcr} primitive@>
text(frozen_end_template):="endtemplate"; text(frozen_endv):="endtemplate";
+@.endtemplate@>
eq_type(frozen_endv):=endv; equiv(frozen_endv):=null_list;
eq_level(frozen_endv):=level_one;@/
eqtb[frozen_end_template]:=eqtb[frozen_endv];
@@ -15627,6 +15643,7 @@ info(p):=end_span; width(p):=null_flag; cur_loop:=link(cur_loop);
@<Copy the templates from node |cur_loop| into node |p|@>;
cur_loop:=link(cur_loop);
link(p):=new_glue(glue_ptr(cur_loop));
+subtype(link(p)):=tab_skip_code+1;
end
@ @<Copy the templates from node |cur_loop| into node |p|@>=
@@ -15992,8 +16009,8 @@ The method used here is based on an approach devised by Michael F. Plass and
@^Plass, Michael Frederick@>
@^Knuth, Donald Ervin@>
the author in 1977, subsequently generalized and improved by the same two
-people in 1980. A detailed discussion appears in {\sl SOFTWARE---Practice
-\AM\ Experience \bf11} (1981), 1119--1184, where it is shown that the
+people in 1980. A detailed discussion appears in {\sl Software---Practice
+and Experience \bf11} (1981), 1119--1184, where it is shown that the
line-breaking problem can be regarded as a special case of the problem of
computing the shortest path in an acyclic network. The cited paper includes
numerous examples and describes the history of line breaking as it has been
@@ -16272,6 +16289,7 @@ function finite_shrink(@!p:pointer):pointer; {recovers from infinite shrinkage}
var q:pointer; {new glue specification}
begin if no_shrink_error_yet then
begin no_shrink_error_yet:=false;
+ @!stat if tracing_paragraphs>0 then end_diagnostic(true);@+tats@;
print_err("Infinite glue shrinkage found in a paragraph");
@.Infinite glue shrinkage...@>
help5("The paragraph just ended includes some glue that has")@/
@@ -16280,6 +16298,7 @@ begin if no_shrink_error_yet then
("of any length to fit on one line. But it's safe to proceed,")@/
("since the offensive shrinkability has been made finite.");
error;
+ @!stat if tracing_paragraphs>0 then begin_diagnostic;@+tats@;
end;
q:=new_spec(p); shrink_order(q):=normal;
delete_glue_ref(p); finite_shrink:=q;
@@ -17291,7 +17310,7 @@ loop@+ begin q:=link(r);
if is_char_node(q) then goto done1;
if non_discardable(q) then goto done1;
if type(q)=kern_node then if subtype(q)<>explicit then goto done1;
- r:=q; {now |type(q)=glue_node|, |kern_node|, |math_node| or |penalty_node|}
+ r:=q; {now |type(q)=glue_node|, |kern_node|, |math_node|, or |penalty_node|}
end;
done1: if r<>temp_head then
begin link(r):=null; flush_node_list(link(temp_head));
@@ -17502,7 +17521,8 @@ nodes $p_{a-1}$ and~$p_b$ in the description above are placed into variables
@<Glob...@>=
@!hc:array[0..65] of 0..256; {word to be hyphenated}
-@!hn:small_number; {the number of positions occupied in |hc|}
+@!hn:0..64; {the number of positions occupied in |hc|;
+ not always a |small_number|}
@!ha,@!hb:pointer; {nodes |ha..hb| should be replaced by the hyphenated result}
@!hf:internal_font_number; {font number of the letters in |hc|}
@!hu:array[0..63] of 0..256; {like |hc|, before conversion to lowercase}
@@ -17644,7 +17664,7 @@ forgetting what |ha| and |hb|, etc., are all about.
@ @<Local variables for hyphenation@>=
@!i,@!j,@!l:0..65; {indices into |hc| or |hu|}
@!q,@!r,@!s:pointer; {temporary registers for list manipulation}
-@!bchar:halfword; {right boundary character of hyphenated word, or |non_char|}
+@!bchar:halfword; {boundary character of hyphenated word, or |non_char|}
@ \TeX\ will never insert a hyphen that has fewer than
\.{\\lefthyphenmin} letters before it or fewer than
@@ -18378,7 +18398,7 @@ The hash table is called |trie_op_hash|, and the number of entries it contains
is |trie_op_ptr|.
@<Glob...@>=
-@!init@! trie_op_hash:array[-trie_op_size..trie_op_size] of 0..trie_op_size;
+@!init @!trie_op_hash:array[-trie_op_size..trie_op_size] of 0..trie_op_size;
{trie op codes for quadruples}
@!trie_used:array[ASCII_code] of quarterword;
{largest opcode used so far for this language}
@@ -18556,7 +18576,7 @@ entries.
@d trie_back(#)==trie[#].lh {backward links in |trie| holes}
@<Glob...@>=
-@!init@!trie_taken:packed array[1..trie_size] of boolean;
+@!init @!trie_taken:packed array[1..trie_size] of boolean;
{does a family start here?}
@t\hskip10pt@>@!trie_min:array[ASCII_code] of trie_pointer;
{the first possible slot for each character}
@@ -19213,7 +19233,8 @@ all split and floating insertions.
@!last_glue:pointer; {used to implement \.{\\lastskip}}
@!last_penalty:integer; {used to implement \.{\\lastpenalty}}
@!last_kern:scaled; {used to implement \.{\\lastkern}}
-@!insert_penalties:integer; {sum of the penalties for held-over insertions}
+@!insert_penalties:integer; {sum of the penalties for insertions
+ that were held over}
@ @<Put each...@>=
primitive("pagegoal",set_page_dimen,0);
@@ -20077,7 +20098,7 @@ Several additional global variables are needed.
@!main_k:font_index; {index into |font_info|}
@!main_p:pointer; {temporary register for list manipulation}
@!main_s:integer; {space factor value}
-@!bchar:halfword; {right boundary character of current font, or |non_char|}
+@!bchar:halfword; {boundary character of current font, or |non_char|}
@!false_bchar:halfword; {nonexistent character matching |bchar|, or |non_char|}
@!cancel_boundary:boolean; {should the left boundary be ignored?}
@!ins_disc:boolean; {should we insert a discretionary node?}
@@ -20599,7 +20620,7 @@ end;
@ Many of the actions related to box-making are triggered by the appearance
of braces in the input. For example, when the user says `\.{\\hbox}
-\.{to} \.{100pt\{$\langle\,\hbox{hlist}\,\rangle$\}}' in vertical mode,
+\.{to} \.{100pt\{$\langle\,\hbox{\rm hlist}\,\rangle$\}}' in vertical mode,
the information about the box size (100pt, |exactly|) is put onto |save_stack|
with a level boundary word just above it, and |cur_group:=adjusted_hbox_group|;
\TeX\ enters restricted horizontal mode to process the hlist. The right
@@ -22785,6 +22806,7 @@ end;
@ @<Initialize table entries...@>=
text(frozen_protection):="inaccessible";
+@.inaccessible@>
@ Here's an example of the way many of the following routines operate.
(Unfortunately, they aren't all as simple as this.)
@@ -23618,7 +23640,7 @@ any_mode(xray): show_whatever;
@ @d show_code=0 { \.{\\show} }
@d show_box_code=1 { \.{\\showbox} }
@d show_the_code=2 { \.{\\showthe} }
-@d show_lists=3 { \.{\\showlists} }
+@d show_lists_code=3 { \.{\\showlists} }
@<Put each...@>=
primitive("show",xray,show_code);
@@ -23627,14 +23649,14 @@ primitive("showbox",xray,show_box_code);
@!@:show_box_}{\.{\\showbox} primitive@>
primitive("showthe",xray,show_the_code);
@!@:show_the_}{\.{\\showthe} primitive@>
-primitive("showlists",xray,show_lists);
-@!@:show_lists_}{\.{\\showlists} primitive@>
+primitive("showlists",xray,show_lists_code);
+@!@:show_lists_code_}{\.{\\showlists} primitive@>
@ @<Cases of |print_cmd_chr|...@>=
xray: case chr_code of
show_box_code:print_esc("showbox");
show_the_code:print_esc("showthe");
- show_lists:print_esc("showlists");
+ show_lists_code:print_esc("showlists");
othercases print_esc("show")
endcases;
@@ -23643,7 +23665,7 @@ procedure show_whatever;
label common_ending;
var p:pointer; {tail of a token list to show}
begin case cur_chr of
-show_lists: begin begin_diagnostic; show_activities;
+show_lists_code: begin begin_diagnostic; show_activities;
end;
show_box_code: @<Show the current contents of a box@>;
show_code: @<Show the current meaning of a token, then |goto common_ending|@>;
@@ -23723,8 +23745,8 @@ so that the inverse relation between them is clear.
The global variable |format_ident| is a string that is printed right
after the |banner| line when \TeX\ is ready to start. For \.{INITEX} this
-string says simply `\.{(INITEX)}'; for other versions of \TeX\ it says,
-for example, `\.{(preloaded format=plain 1982.11.19)}', showing the year,
+string says simply `\.{ (INITEX)}'; for other versions of \TeX\ it says,
+for example, `\.{ (preloaded format=plain 1982.11.19)}', showing the year,
month, and day that the format file was created. We have |format_ident=0|
before \TeX's tables are loaded.
@@ -23815,6 +23837,8 @@ macros to dump words of different types:
@ The inverse macros are slightly more complicated, since we need to check
the range of the values we are reading in. We say `|undump(a)(b)(x)|' to
read an integer value |x| that is supposed to be in the range |a<=x<=b|.
+System error messages should be suppressed when undumping.
+@^system dependencies@>
@d undump_wd(#)==begin get(fmt_file); #:=fmt_file^;@+end
@d undump_int(#)==begin get(fmt_file); #:=fmt_file^.int;@+end
@@ -24289,17 +24313,17 @@ cannot produce error messages. For example, it would be a mistake to call
|str_room| or |make_string| at this time, because a call on |overflow|
might lead to an infinite loop.
@^system dependencies@>
-
-Actually there's one way to get error messages, via |prepare_mag|;
-but that can't cause infinite recursion.
+(Actually there's one way to get error messages, via |prepare_mag|;
+but that can't cause infinite recursion.)
@^recursion@>
-This program doesn't bother to close the input files that may still be open.
+If |final_cleanup| is bypassed, this program doesn't bother to close
+the input files that may still be open.
@<Last-minute...@>=
procedure close_files_and_terminate;
var k:integer; {all-purpose index}
-begin @<Finish the extensions@>;
+begin @<Finish the extensions@>; new_line_char:=-1;
@!stat if tracing_stats>0 then @<Output statistics about this job@>;@;@+tats@/
wake_up_terminal; @<Finish the \.{DVI} file@>;
if log_opened then
@@ -24355,7 +24379,7 @@ been scanned and |its_all_over|\kern-2pt.
procedure final_cleanup;
label exit;
var c:small_number; {0 for \.{\\end}, 1 for \.{\\dump}}
-begin c:=cur_chr;
+begin c:=cur_chr; if c<>1 then new_line_char:=-1;
if job_name=0 then open_log_file;
while input_ptr>0 do
if state=token_list then end_token_list@+else end_file_reading;
@@ -24459,14 +24483,15 @@ program below. (If |m=13|, there is an additional argument, |l|.)
@!debug procedure debug_help; {routine to display various things}
label breakpoint,exit;
var k,@!l,@!m,@!n:integer;
-begin loop begin wake_up_terminal;
+begin clear_terminal;
+ loop begin wake_up_terminal;
print_nl("debug # (-1 to exit):"); update_terminal;
@.debug \#@>
read(term_in,m);
if m<0 then return
else if m=0 then
- begin goto breakpoint;@\ {go to every label at least once}
- breakpoint: m:=0; @{'BREAKPOINT'@}@\
+ begin goto breakpoint;@/ {go to every declared label at least once}
+ breakpoint: m:=0; @{'BREAKPOINT'@}@/
end
else begin read(term_in,n);
case m of
diff --git a/systems/knuth/dist/tex/texbook.tex b/systems/knuth/dist/tex/texbook.tex
index 23d626ed6d..a1e50786ea 100644
--- a/systems/knuth/dist/tex/texbook.tex
+++ b/systems/knuth/dist/tex/texbook.tex
@@ -102,7 +102,8 @@ ISBN 0-201-13448-9 (soft)\cr}}
\noindent
%{\sl \kern-1pt First hardcover edition, January 1986}
%{\sl \kern-1pt Incorporates the final corrections made in 1996, and a few dozen more.}
-{\sl \kern-1pt Incorporates all corrections known in 2013.}
+%{\sl \kern-1pt Incorporates all corrections known in 2013.}
+{\sl \kern-1pt Incorporates all corrections known in 2020.}
\smallskip
\noindent
Internet page {\tt http://www-cs-faculty.stanford.edu/\char`\~
@@ -115,11 +116,19 @@ Copyright $\copyright$ 1984, 1986 by the American Mathematical Society
\noindent
This book is published jointly by the American Mathematical Society
and Addison\kern.1em--Wesley Publishing Company.
-All rights reserved. No part of this publication may be reproduced, stored in
-a retrieval system, or transmitted, in any form or by any means,
-electronic, mechanical, photocopying, recording, or otherwise, without
-the prior written permission of the publishers. Printed in the United
-States of America. % Published simultaneously in Canada.
+All rights reserved.
+%No part of this publication may be reproduced, stored in
+%a retrieval system, or transmitted, in any form or by any means,
+%electronic, mechanical, photocopying, recording, or otherwise, without
+%the prior written permission of the publishers.
+This publication is protected by copyright, and permission must be
+obtained from the publisher prior to any prohibited reproduction, storage in
+a~retrieval system, or transmission in any form or by any means, electronic,
+mechanical, photocopying, recording, or likewise. For information regarding
+permissions, request forms, and the appropriate contacts with the
+Pearson Education Global Rights \& Permissions Department, please visit
+ {\tt www.pearson.com/permissions/}.
+Printed in the United States of America. % Published simultaneously in Canada.
\medskip
\noindent
%ISBN 0-201-13448-9\par % paperback
@@ -129,9 +138,19 @@ ISBN-10 \enspace\phantom{978-}0-201-13447-0\par
%33 34 35 36 37 38 39 DOC 09 08 07 06 % paperback
%18 19 20 21 22 23 24 DOC 10 09 08 07 06 % hardcover
\smallskip\noindent
-Text printed in the United States
- at Courier Westford in Westford, Massachusetts.\par\noindent
-Nineteenth Printing, February 2012
+%Text printed in the United States
+%% at Courier Westford in Westford, Massachusetts.\par\noindent
+%at LSC Communications in Crawfordsville, Indiana.\par\noindent
+%%Nineteenth Printing, February 2012
+%% [The printer deleted "Text printed ... Crawfordsville..." in 2017!]
+%Thirty-fifth Softcover Printing, April 2017\par\noindent
+%35\quad17
+%Twenty-second Printing, January 2021\par\noindent
+Twenty-third Printing, February 2021\par\noindent
+%20\quad17
+\smallskip
+\font\pearsonkluj=arial at 9pt
+\leftline{\pearsonkluj ScoutAutomatedPrintCode}
^^{Knuth, Donald Ervin}
^^|\copyright|
\eject
@@ -720,7 +739,7 @@ There's a special control word
\TeX
\endtt
that produces the half-dozen or so instructions necessary to typeset `\TeX'.
-When a phrase like `\TeX\ ignores spaces after control words.' is
+When a phrase like `\TeX\ ignores spaces after control words.'\ is
desired, the manuscript renders it as follows:
\begintt
\TeX\ ignores spaces after control words.
@@ -1025,7 +1044,7 @@ you should say |a| |bold| \hbox{|`{\bf f\/}'|}, lest you get a bold `{\bf f}'.
\ddangerexercise Define a control sequence |\ic| such that `|\ic c|' puts the
italic correction of character $c$ into \TeX's register |\dimen0|.
\answer |\def\ic#1{\setbox0=\hbox{#1\/}\dimen0=\wd0|\parbreak
-|\setbox0=\hbox{#1}\advance\dimen0 by -\wd0}|.
+|\setbox0=\hbox{#1}\advance\dimen0 by -\wd0 }|.
\ddanger The primitive control sequence ^|\nullfont| stands for a font that
has no characters. This font is always present, in case you haven't
@@ -1336,7 +1355,7 @@ change fonts or to control spacing or anything. \TeX\ doesn't mind if you
want to waste your time making groups for no particular reason.
But in the second case, the necessary braces were forgotten. You get the
letter `S' centered on a line by itself, followed by a paragraph that
-begins with `o should this.' on the next line.
+begins with `o should this.'\ on the next line.
\exercise And how about this one?
\begintt
@@ -2162,7 +2181,7 @@ together with up to |\errorcontextlines| additional two-line items. \ (If
anything has thereby been omitted, you'll also see `|...|'.) \ Chances
are good that you can spot the source of an error even when most of a
large context has been suppressed; if not, you can say
-`|I\errorcontextlines=100\oops|' and try again. \ (That will usually
+`|I\errorcontextlines=100| |\oops|' and try again. \ (That will usually
give you an undefined control sequence error and plenty of context.) \
Plain \TeX\ sets |\errorcontextlines=5|.
@@ -2566,7 +2585,7 @@ characters that you {\sl can\/} type on your ^{keyboard} are reserved for
special purposes like escaping and grouping. Yet when we studied fonts it
was pointed out that there are 256 characters per font. So how can you
refer to the characters that aren't on your keyboard, or that have been
-pre-empted for formatting?
+pre\"empted for formatting?
One answer is to use control sequences. For example, the plain format
of Appendix B\null, which defines |%| to be a special kind of symbol so that you
@@ -2722,9 +2741,10 @@ way, from |^^00| to |^^ff|. Character 127 is |^^7f|.
\danger Most of the |^^| codes are unimportant except in unusual applications.
But |^^M| is particularly noteworthy because it is code 13, the ASCII
-^\<return> that \TeX\ normally places at the right end of every line of
+^\<return> that \TeX\ normally assumes to be present
+at the right end of every line of ^^{hat hat M}
your input file. By changing the category of~|^^M| you can obtain useful
-special effects, as we shall see later. ^^{hat hat M}
+special effects, as we shall see later.\looseness=-1
\danger The control code |^^I| is also of potential interest, since it's
the ASCII ^\<tab>. Plain \TeX\ makes \<tab> act like a blank space.
@@ -2903,6 +2923,7 @@ you would have seen the space. Incidentally, when \TeX\ prints
the ^{context of an error message}, the bottom pair of lines comes from
a text file, but the other pairs of lines are portions of token lists
that \TeX\ is reading (unless they begin with `|<*>|', when they
+represent text entered from the user's terminal, or with `|<insert>|', when they
represent text inserted during ^{error recovery}).
\ddangerexercise Given the category codes of plain \TeX\ format,
@@ -2985,7 +3006,7 @@ it a character token!) ^^|\let| ^^{implicit character}
for life's not a paragraph
\quad
% he left a blank line here, really
-And death i think is no parenthesis.
+And death i think is no parenthesis
\author e.~e.~^{cummings}, {\sl since feeling is first\/} (1926)
\bigskip
@@ -3000,7 +3021,7 @@ but the need for more than 128 codes
in general applications was not yet evident.
\author ASA SUBCOMMITTEE X3.2, {\sl American Standard\break %
Code for Information Interchange\/^^{ASCII}} (1963)
-% in {\sl Communications of the ACM\/}
+% in Communications of the ACM
\eject
\beginchapter Chapter 9. \TeX's\\Roman Fonts
@@ -3030,7 +3051,7 @@ $$\openup1pt\halign{\indent#\hfil\cr
|ff| yields ff\thinspace;$\!$\quad |fi| yields fi\thinspace;$\!$\quad
|fl| yields fl\thinspace;$\!$\quad
|ffi| yields ffi\thinspace;$\!$\quad |ffl| yields ffl\thinspace;\cr
-|``| yields``\thinspace;\qquad |''| yields ''\thinspace;\qquad
+|``| yields ``\thinspace;\qquad |''| yields ''\thinspace;\qquad
|!||`| yields !`\thinspace;\qquad |?||`| yields ?`\thinspace;\cr
|--| yields --\thinspace;\qquad |---| yields ---\thinspace.\cr}$$
^^{Spanish ligatures}
@@ -3888,7 +3909,7 @@ the depth of the larger box).
\answer This |E| is inside a box that's inside a box.
\danger Such displays of box contents will be discussed further in
-Chapters 12 and~17.
+Chapters 12 and~27.
They are used primarily for diagnostic purposes, when you are trying to figure
out exactly what \TeX\ thinks it's doing. The main reason for bringing them
up in the present chapter is simply to provide a glimpse of how \TeX\ represents
@@ -4195,8 +4216,8 @@ plain \TeX, which creates an hbox whose width is the current |\hsize|:
\line{\hfil\hfil What happens now?\hfil}
\line{\hfill\hfil and now?\hfil}
\endtt
-\answer `What happens now?' is placed in a line of width |\hsize|, with
-twice as much space at the left as at the right; `and now?' is put flush right
+\answer `What happens now?'\ is placed in a line of width |\hsize|, with
+twice as much space at the left as at the right; `and now?'\ is put flush right
on the following line.
\ddangerexercise How do the following three macros behave differently?
@@ -4267,7 +4288,7 @@ this line to its minimum width, the result would be
\hbox to 0pt{``Oh, oh!'' cried Baby Sally. Dick and Jane laughed.}
\enddisplay
The glue after a ^{comma} shrinks only 80 percent as much as ordinary
-inter-word glue, and after a ^{period} or ^{exclamation point} or
+interword glue, and after a ^{period} or ^{exclamation point} or
^{question mark} it shrinks by only one third as much.
This all makes for nice-looking output, but it unfortunately adds a bit
@@ -4290,7 +4311,7 @@ Chapter 18 has more to say about |\ldots| and related topics.
^{Abbreviations} present problems too. For example, the short story in
Chapter~6 referred to `Mr.~^{Drofnats}'; \TeX\ must be told somehow that the
-period after `Mr.'\ or `Mrs.'\ or `Ms.' or `Prof.'\ or `Dr.' or `Rt.~Hon.',
+period after `Mr.'\ or `Mrs.'\ or `Ms.'\ or `Prof.'\ or `Dr.'\ or `Rt.~Hon.',
etc., doesn't count as a sentence-ending ^{full stop}.
We avoided that embarrassment in Chapter~6 by typing `|Mr.~Drofnats|';
@@ -4359,7 +4380,7 @@ the~`|I.|' in `|Dr.~Livingstone~I.\ Presume|'; that particular period is
not assumed to be a full stop. ^^{Presume}
\dangerexercise What can you do to make \TeX\ recognize the ends of sentences
-that do end with uppercase letters (e.g., `$\ldots$ launched by NASA.\null' or
+that do end with uppercase letters (e.g., `$\ldots$ launched by NASA.' or
`Did I?' or `$\ldots$ see Appendix~A.')?
\answer There are several ways; perhaps the easiest are to type
`|\hbox{NASA}.|'\ or `|NASA\null.|' \ (The ^|\null| macro is an abbreviation
@@ -4948,8 +4969,8 @@ but mainly he told the truth.
Every shape exists only because of the space around it.
% Jeder Formwert lebt nur dank seiner Umgebung.
$\ldots$ Hence there is a `right' position for every shape in every situation.
-% ... Daraus geht hervor, ein bestimmter Formvert in einer bestimmten Situation
-% einen bestimmten Platz verlangt, der ihm gem\"a\ss\ ist.
+% ... Daraus geht hervor, da\ss\ ein bestimmter Formwert in einer bestimmten
+% Situation einen bestimmten Platz verlangt, der ihm gem\"a\ss\ ist.
If we succeed in finding that position, we have done our job.
% Gelingt es uns, diese Pl\"atze zu finden,
% so nennen wir die Arbeit vollendet.
@@ -6354,14 +6375,15 @@ lines end with hyphens. What penalties does plain \TeX\ put between the lines?
\answer |\interlinepenalty| plus |\clubpenalty| plus |\widowpenalty| (and
also plus |\brokenpenalty|, if the first line ends with a discretionary break).
-\ddanger If you say ^|\vadjust||{|\<vertical list>|}| within a paragraph,
-\TeX\ will insert the specified internal vertical list into the vertical
+\ddanger If you say ^|\vadjust||{|\<vertical mode material>|}| within a
+paragraph, \TeX\ will use internal vertical mode to insert the specified
+material into the vertical
list that encloses the paragraph, immediately after whatever line
contained the position of the |\vadjust|. For example, you can say
`|\vadjust{\kern1pt}|' to increase the amount of space between lines of a
paragraph if those lines would otherwise come out too close together. \ (The
-\vadjust{\vskip1pt}author
-did it in the previous line, just to illustrate what happens.) \ Also,
+\vadjust{\kern1pt}author
+did that in the current line, just to illustrate what happens.) \ Also,
if you want to make sure that a page break will occur immediately after a
certain line, you can say `|\vadjust{\eject}|' ^^|\eject| anywhere in that line.
@@ -6392,6 +6414,7 @@ depth of a ^|\strut|.
\def\strutdepth{\dp\strutbox}
\def\marginalstar{\strut\vadjust{\kern-\strutdepth\specialstar}}
\endtt
+(The next line must also not be too tall.)
Here |\specialstar| is a box of height zero and depth |\strutdepth|,
and it puts an asterisk in the left margin:
\begintt
@@ -7442,7 +7465,8 @@ the footnotes here\note{Second note.} if ...
\danger Sometimes, however, you want to use a register just for temporary
storage, and you know that it won't conflict with anybody else's macros.
-Registers |\count255|, |\dimen255|, |\skip255|, and |\muskip255| are
+Registers |\count255|, |\dimen255|, |\skip255|, |\muskip255|, and
+|\toks255| are
traditionally kept available for such purposes. Furthermore, plain \TeX\
reserves |\dimen0| to |\dimen9|, |\skip0| to |\skip9|, |\muskip0| to
|\muskip9|, and |\box0| to |\box9| for ``scratchwork''; these registers
@@ -7967,7 +7991,8 @@ boxes, as explained in Chapter~11. If you have a formula in which there is
only one |\sqrt|, or only one |\overline| or |\underline|, the normal
positioning rules work fine; but sometimes you want to have uniformity
between different members of a complex formula. For example, you might want to
-typeset `$\sqrt{\mathstrut a}+\sqrt{\mathstrut d}+\sqrt{\mathstrut y}$',
+typeset `$\mskip-1mu\sqrt{\mathstrut a}+
+ \sqrt{\mathstrut d}+\sqrt{\mathstrut y}\mskip+2mu$',
putting all square roots in the same vertical position. There's an easy way
to do this, using the control sequence ^|\mathstrut| as follows:
\begintt
@@ -9416,11 +9441,11 @@ because |\mathopen| forces class~4 (opening). In the formula
`|$G\mathbin:H$|', the ^{colon} is~treated as a binary operation.
And Appendix~B constructs large opening symbols by
defining ^|\bigl||#1| to be an abbreviation for
-\begintt
-\mathopen{\hbox{$\left#1 ...\right.$}}
+\begintt|let|0|rm
+\mathopen{\hbox{$\left#1|<|0strut>\right.$}}
\endtt
There's also an eighth classification, ^|\mathinner|, which is not
-normally used for individual symbols; fractions and ^|\left||...|^|\right|
+normally used for individual symbols; ^|\left|$\,\ldots\,$^|\right|
constructions are treated as ``inner'' subformulas, which means that
they will be surrounded by additional space in certain circumstances.
All other subformulas are generally treated as ordinary symbols,
@@ -9479,11 +9504,11 @@ are~$-1$ until they are changed by a |\delcode| command.
\ddangerexercise Appendix~B defines |\delcode`<| so that there is a
shorthand notation for ^{angle brackets}. Why do you think Appendix~B
doesn't go further and define |\delcode`{|?
-\answer If\/ |\delcode`{| were set to some nonnegative delimiter code, you
-would get no error message when you wrote something like `|\left{|'.
-This would be bad because strange effects would happen when certain
-subformulas were given as arguments to macros, or when they appeared
-in alignments. But it has an even worse defect, because a user who
+\answer Assigning |\delcode`{| would not work to allow `|\left{|', because
+the brace has category~1 and isn't a legal \<delim>.
+Allowing brace delimiters would be a bad idea because it would
+mess up other constructions, such as arguments to macros, and
+components of alignments. Moreover, a user who
gets away with `|\left{|' is likely to try also `|\bigl{|', which
fails miserably.
@@ -9602,7 +9627,7 @@ Rel&is a relation atom like `$=$'\thinspace;\cr
Open&is an opening atom like `$($'\thinspace;\cr
Close&is a closing atom like `$)$'\thinspace;\cr
Punct&is a punctuation atom like `$,$'\thinspace;\cr
-Inner&is an inner atom like `$1\over2$'\thinspace;\cr
+Inner&is an inner atom produced by `|\left|$\,\ldots\,$|\right|';\cr
Over&is an overline atom like `$\overline x$'\thinspace;\cr
Under&is an underline atom like `$\underline x$'\thinspace;\cr
Acc&is an accented atom like `$\hat x$'\thinspace;\cr
@@ -9697,7 +9722,7 @@ The learning time is short. A few minutes gives the general flavor, and
typing a page or two of a paper generally uncovers most of the misconceptions.
\author ^{KERNIGHAN} and ^{CHERRY}, {\sl A System for %
Typesetting Mathematics\/} (1975)
- % in {\sl Communications of the ACM\/} p152
+ % in Communications of the ACM p152
\bigskip
@@ -9706,7 +9731,7 @@ a typist with no math or typesetting experience
can be taught to input even the most complex equations.
\author PETER J. ^{BOEHM}, {\sl Software and Hardware Considerations %
for a\break Technical Typesetting System\/} (1976)
-% in {\sl IEEE Transactions on Professional Communication\/} PC-19, pp15--19
+% in IEEE Transactions on Professional Communication PC-19, pp15--19
\eject
\beginchapter Chapter 18. Fine Points of\\Mathematics\\Typing
@@ -9950,7 +9975,7 @@ was current outside the formula.
\ddanger The bold fonts available in plain \TeX\ are ``bold roman,'' rather
than ``bold italic,'' because the latter are rarely needed. However, \TeX\
could readily be set up to make use of bold math italics, if desired
-(see Exercise 17.\bmiexno). A more extensive set of math fonts would also
+(see exercise 17.\bmiexno). A more extensive set of math fonts would also
include ^{script}, ^{Fraktur}, and ``^{blackboard bold}'' styles; plain
\TeX\ doesn't have these, but other formats like \AmSTeX\ do. ^^{AMS-TeX}
^^{German black letters}
@@ -10157,7 +10182,7 @@ almost true. But occasionally you must give \TeX\ some help. The number of
possible math formulas is vast, and \TeX's spacing rules are rather
simple, so it is natural that exceptions should arise. Of course, it is
desirable to have fine units of spacing for this purpose, instead of the
-big chunks that arise from |\|\], |\quad| and |\qquad|.
+big chunks that arise from |\|\], |\quad|, and |\qquad|.
The basic elements of space that \TeX\
puts into formulas are called {\sl ^{thin spaces}}, {\sl ^{medium
@@ -10315,7 +10340,8 @@ and the math list consists chiefly of ``^{atoms}'' of eight basic types:
^{Punct}~(punctuation), ^^{punctuation} and ^{Inner}~(a delimited
subformula). Other kinds of atoms, which arise from commands like
^|\overline| or ^|\mathaccent| or ^|\vcenter|, etc., are all treated as
-type~Ord; ^{fractions} are treated as type~Inner. The following table is
+type~Ord; subformulas delimited by ^|\left| and ^|\right|
+are treated as type~Inner. The following table is
used to determine the spacing between pairs of adjacent atoms:
$$\baselineskip0pt\lineskip0pt
\halign to\hsize
@@ -10331,7 +10357,6 @@ $$\baselineskip0pt\lineskip0pt
\hbox to 25pt{\tt\hss#\hss}& % for column 7
\hbox to 25pt{\tt\hss#\hss}& % for column 8
#\hfil\tabskip0pt\cr % for the rule at the right
-\noalign{\vskip-6pt} % it just happens that there's extra white space
&&&&\multispan7\hss\it Right atom\hss\cr
\noalign{\vskip3pt}
&&&\rm Ord&\rm Op&\rm Bin&\rm Rel&\rm Open&\rm Close&\rm Punct&\rm Inner\cr
@@ -10360,7 +10385,7 @@ never arise, because Bin atoms must be preceded and followed by atoms
compatible with the nature of binary operations. Appendix~G contains
precise details about how math lists are converted to horizontal lists;
this conversion is done whenever \TeX\ is about to leave math mode, and the
-inter-atomic spacing is inserted at that time.
+interatomic spacing is inserted at that time.
\ddanger For example, the displayed formula specification
\begintt
@@ -10417,7 +10442,7 @@ if that subformula were enclosed by |\bigl| and~|\bigr|. For example, Ord
followed by Inner (from |\left|) gets a thin space, but Ord followed by
Open (from |\bigl|) does not. The rules in Chapter~17 imply that the
construction `^|\mathinner||{\bigl({|\<subformula>|}\bigr)}|' within any
-formula produces a result exactly equivalent to
+formula produces a result essentially equivalent to
`|\left(|\<subformula>|\right)|', when the \<subformula> doesn't end
with Punct, except that the ^{delimiters} are forced to
be of the |\big| size regardless of the height and depth of the subformula.
@@ -11192,7 +11217,7 @@ shown here haven't been explained yet, but Chapter~22 will reveal all.
enormous and still growing, so you will probably continue to find
new challenges as you continue to type mathematical papers. It's a
good idea to keep a personal notebook in which you record all of
-the non-obvious formulas that you have handled successfully,
+the nonobvious formulas that you have handled successfully,
showing both the final output and what you typed to get it.
Then you'll be able to refer back to those solutions when you
discover that you need to do something similar, a few months later.
@@ -11359,7 +11384,8 @@ And even if you do type `|$$\hbox{$\displaystyle{|\<formula>|}$}$$|', the
results are not quite the same, as we will see later: \TeX\ will compress
the glue in `|$$|\<formula>|$$|' if the formula is too wide to fit on
a line at its natural width, but the glue inside |\hbox{...}| is frozen
-at its natural width. The |\hbox| version also invokes |\everymath|.
+at its natural width. The |\hbox| version also invokes
+|\everyhbox| and |\everymath|.
\dangerexercise You may have noticed that most of the displays in this
manual are not centered; displayed material is usually aligned at the
@@ -11821,7 +11847,7 @@ $$\eqalignno{...&\raise6pt\hbox{(5)}\cr}$$
What was his oversight, and what could he have done instead?
\answer By raising the equation number, he increased the line height,
so \TeX\ put extra space between that line and the previous line
-when it calculated the inter-line glue. If he had said
+when it calculated the interline glue. If he had said
`^|\smash||{\raise...}|', he wouldn't have had that problem.
\danger For other types of displays, plain \TeX\ provides ^|\displaylines|,
@@ -12548,12 +12574,12 @@ what the following definition means:
What token list will result when `|\! x{[y]][z}|' is expanded?
\answer Let's go slowly on this one, so that the answer will give enough
background to answer all similar questions. The \<parameter text> of the
-definition consists of the three tokens |#1|, |#2|, |[|$_1$; the
+definition consists of the three tokens |!1|, |#2|, |[|$_1$; the
\<replacement text> consists of the six tokens |{|$_1$, |#|$_6$, |]|$_2$,
|!|$_6$, |#2|, |[|$_1$. \ (When two tokens of category~6 occur in the
replacement text, the character code of the second one survives; the
character code of a category-6 character is otherwise irrelevant. Thus,
-`|\def\!#1!2#[{##]!!#2]|' would produce an essentially identical
+`|\def\!!1#2#[{##]!!#2]|' would produce an essentially identical
definition.) \ When expanding the given token list, argument~|#1| is
|x|$_{11}$, since it is undelimited. Argument~|#2| is delimited by~|[|$_1$,
which is different from~|{|$_1$, so it is set provisionally to |{[y]]|;
@@ -12567,13 +12593,14 @@ is therefore
Incidentally, if you display this with ^|\tracingmacros||=1|, \TeX\ says
\begintt
\!!1#2[->{##]!!#2[
-#1<-x
+!1<-x
#2<-[y]
\endtt
Category codes are not shown, but a character of category~6 always
appears twice in succession. A parameter token in the replacement text
-uses the character code of the final parameter in the parameter text.
+uses the character code of the final parameter in the parameter text;
^^{token lists, as displayed by TeX}
+`|!1|' would have been rendered `|#1|'.
\ddanger In practice, we all make mistakes. And one of the most common
typographic errors is to forget a~`|}|', or to insert an extra~`|{|',
@@ -12856,7 +12883,7 @@ True if \TeX\ is in math mode or display math mode (see Chapter~13).
\item\bull^|\ifinner|\quad(test for an internal mode)
\nobreak\smallskip\noindent
True if \TeX\ is in internal vertical mode, or restricted
-horizontal mode, or (nondisplay) math mode (see Chapter~13).
+horizontal mode, or (non-display) math mode (see Chapter~13).
\medbreak
\item\bull^|\if|\<token$_1$>\<token$_2$>\quad(test if character codes agree)
@@ -13176,7 +13203,7 @@ The expansion is the token list in the corresponding ``^{mark}'' register
(see Chapter~23).
\smallbreak
-\textindent\bull ^|\input|\<file name>. The expansion is null; but \TeX\
+\textindent\bull ^|\input|\<filename>. The expansion is null; but \TeX\
prepares to read from the specified file before looking at any more
tokens from its current source.
@@ -13316,8 +13343,8 @@ a token for the primitive command |\span| or when reading the \<glue>
after ^|\tabskip|.
\smallskip
-\item\bull Just after a |$|$_3$ token that begins math mode, to see if
-another~|$|$_3$ follows.
+\item\bull Just after a token such as |$|$_3$ that begins math mode, to see if
+another token of category 3 follows.
\smallskip
\item\bull Just after a |`|$_{12}$ token that begins an ^{alphabetic constant}.
@@ -13430,7 +13457,7 @@ other ^{brace tricks}.
to~16 files at once, in addition to the files that are being |\input|.
To initiate reading such an auxiliary file, you should say
\begindisplay
-^|\openin|\<number>|=|\<file name>
+^|\openin|\<number>|=|\<filename>
\enddisplay
where the \<number> is between 0 and 15. \ (Plain \TeX\ allocates
input stream numbers 0~through~15 with the ^|\newread| command, which
@@ -13715,7 +13742,7 @@ But he found that this produced more space above and below the rule
than when he had simply said `|\hrule width 4in|' with no |\vbox|.
Why did \TeX\ insert more space, and what should he have done to
avoid it?
-\answer The interline skip is added for vboxes, but not for rules; he
+\answer The interline glue is added for vboxes, but not for rules; he
forgot to say ^|\nointerlineskip|, before and after the |\moveright|
construction.
@@ -13749,9 +13776,9 @@ horizontal mode; this character is taken from the current font. \
\ (3)~Otherwise you can make hboxes and vboxes, which fall under the
generic term ^\<box>. A \<box> has one of the following seven forms:
$$\halign{\indent#\hfil&\quad(see Chapter #)\hfil\cr
-^|\hbox|\<box specification>|{|\<horizontal material>|}|&12\cr
-^|\vbox|\<box specification>|{|\<vertical material>|}|&12\cr
-^|\vtop|\<box specification>|{|\<vertical material>|}|&12\cr
+^|\hbox|\<box specification>|{|\<horizontal mode material>|}|&12\cr
+^|\vbox|\<box specification>|{|\<vertical mode material>|}|&12\cr
+^|\vtop|\<box specification>|{|\<vertical mode material>|}|&12\cr
^|\box|\<register number>&15\cr
^|\copy|\<register number>&15\cr
^|\vsplit|\<register number>|to|\<dimen>&15\cr
@@ -13764,7 +13791,7 @@ Chapter~12. A \<register number> is between 0 and 255; after you say
is unchanged, as explained in Chapter~15. The |\vsplit| operation
is also explained in Chapter~15. In math modes an additional
type of box is available:
-^|\vcenter|\<box specification>|{|\<vertical material>|}| (see Chapter~17).
+^|\vcenter|\<box specification>|{|\<vertical mode material>|}| (see Chapter~17).
\ddanger The bottom line of the table above refers to ^|\lastbox|,
a primitive operation that hasn't been mentioned before. If the last item
@@ -13937,7 +13964,7 @@ case vertical glue (e.g., |\vskip|\<glue> or |\vfill|) is used instead of
horizontal glue, and |\leaders| produces boxes that are aligned so that the
top of each repeated box has the same vertical position as the top
of the smallest enclosing box, plus a multiple of the height-plus-depth
-of the repeated box. No interlineskip glue is placed between boxes in
+of the repeated box. No interline glue is placed between boxes in
vertical leaders; the boxes are just stacked right on top of each other.
\ddanger If you specify horizontal leaders with a box whose width isn't
@@ -13949,7 +13976,7 @@ and produces ordinary glue instead.
is at least $10\pt$ long and extends all the way to the right
margin, like this:
\null\nobreak\leaders\hrule\hskip10pt plus1filll\ \par
-\answer For example, say
+\answer For example, say this:
\begintt
\null\nobreak\leaders\hrule\hskip10pt plus1filll\ \par
\endtt
@@ -14043,9 +14070,9 @@ printing devices, via \TeX's ^|\special| command.
\ddanger The ability to write text files that can later be input by other
programs (including \TeX) makes it possible to take care of tables of
contents, indexes, and many other things. You can say
-`|\openout|\<number>|=|\<file name>' and `|\closeout|\<number>' by analogy
+`|\openout|\<number>|=|\<filename>' and `|\closeout|\<number>' by analogy
with the |\openin| and |\closein| commands of Chapter~20; the
-\<number> must be between 0 and~15. The filename is usually extended with
+\<number> must be between 0 and~15. The file name is usually extended with
`^|.tex|' if it has no extension. There is a |\write| command that writes
one line to a file, analogous to the |\read| command that reads one line;
you say
@@ -14154,9 +14181,9 @@ involves a macro |\chapno|, containing the current chapter number, as well as
be expanded immediately, because it might change before the token list
is written; but you want |\the\count0| to be expanded at the time of
|\shipout|. How can you manage this?
-\answer |{\let|\stretch|\the=0\edef|\stretch|\next|\stretch
-|{\write|\stretch|\cont|\stretch|{|\<token list>|}}\next|\stretch|}| will
-expand everything but |\the| when the |\write| command is given.
+\answer If you say `|{\let|\stretch|\the=0\edef|\stretch|\next|\stretch
+|{\write|\stretch|\cont|\stretch|{|\<token list>|}}\next|\stretch|}|',
+the |\write| will be exercuted after |\edef| expands everything except |\the|.
\ddanger Now let's wrap up our study of boxes by considering one more feature.
The command `^|\special||{|\<token list>|}|' can be given in any
@@ -14297,7 +14324,8 @@ implicitly inserts braces around each individual entry of an alignment.
\danger Once you have issued a |\settabs| command, the tabs remain set until you
reset them, even though you go ahead and type ordinary paragraphs as usual.
But if you enclose |\settabs| in |{...}|, the tabs defined inside a group
-don't affect the tabs outside; `^|\global||\settabs|' is not permitted.
+don't affect the tabs outside; `^|\global||\settabs|' will not do what
+you might think it should.
\danger Tabbed lines usually are used between paragraphs, in the same
places where you would type ^|\line| or ^|\centerline| to get lines with
@@ -14344,8 +14372,9 @@ The |\settabs| command in this example makes column~1 as wide as a paragraph
^^{indention, see indentation}
indentation; and column~2 is as wide as `Horizontal lists' plus one quad of
space. ^^|\quad| Only two tabs are set in this case, because only two |&|'s
-appear in the sample line. \ (A sample line might as well end with~|&|,
-because the text following the last tab isn't used for anything.)
+appear in the sample line. \ (A sample line usually ends with~|&\cr|, as it
+does here, because text material between the last tab and |\cr|
+isn't used for anything.)
The first line of a table can't always be used as a sample line, because it
won't necessarily give the correct tab positions. In a large table you have
@@ -14481,7 +14510,7 @@ Thus, the following is recommended:
\+\bf while $p>0$ do\cr
\+\quad\cleartabs&{\bf begin} $q:={\it link}(p)$;
${\it free\_node}(p)$; $p:=q$;\cr
- \+&{\bf end};\cr
+ \+&{\bf end};\cr % note that the semicolon isn't bold
\endtt
\danger Although |\+| lines can be used in vertical boxes, you must never
@@ -15474,7 +15503,8 @@ put |\bigstrut| into some column of the title line, for some appropriate
invisible box |\bigstrut| of width zero. Either way makes the table
look better.
-\ddangerexercise Typeset the following chart, making it exactly 36em wide:
+\ddangerexercise Typeset the following chart, making it exactly
+36\thinspace em wide:
^^{family tree}
^^{Bohning [Knuth], Louise Marie}
^^{Ehlert [Bohning], Pauline Anna Marie}
@@ -15731,7 +15761,7 @@ output routine puts out a special line of text called the {\sl^{headline}\/}
at the top of each page, and another special line of text called the
{\sl^{footline}\/} at the bottom. The headline is normally blank, and
the footline is normally a centered page number, but you can specify any
-headline and footline that you want by redefining the control sequences
+headline and footline that you want by changing the token lists
^|\headline| and ^|\footline|. For example, ^^|\hrulefill|
\begintt
\headline={\hrulefill}
@@ -15839,8 +15869,8 @@ on the broken-off page can be removed and carried forward to the next page.
\ddanger The current ^|\output| routine is defined as a token list
parameter, just like ^|\everypar| or ^|\errhelp|, except that \TeX\
-automatically inserts a begin-group symbol~`|{|' at the beginning
-and an end-group symbol~`|}|' at the end. These ^{grouping characters}
+retains the begin-group symbol~`|{|' at the beginning
+and the end-group symbol~`|}|' at the end. These ^{grouping characters}
help to keep the output routine from interfering with what
\TeX\ was doing when the page break was chosen; for example, an output
routine often changes the ^|\baselineskip| when it puts a headline
@@ -15881,7 +15911,7 @@ even though \TeX\ might no longer be making ^{spaces active} at that time.
certain internal registers and parameters, in addition to |\box255|,
just before the output routine begins. Insertions are put into their
own vboxes, and ^|\insertpenalties| is set equal to the total number of
-heldover insertions; furthermore the ^|\outputpenalty| parameter is
+held-over insertions; furthermore the ^|\outputpenalty| parameter is
set to the value of the penalty at the current breakpoint. An output
routine can be made to do special things when these quantities have
special values. For example, the output routine of plain \TeX\ recognizes
@@ -15999,7 +16029,7 @@ the vertical list. ^{Ragged-bottom setting} is achieved by inserting ^^|\vfil|
\textindent{4)} The ^|\makefootline| macro puts ^|\footline| into
its proper position:
\begintt
-\baselineskip=24pt
+\baselineskip=24pt \lineskiplimit=0pt
\line{\the\footline}
\endtt
@@ -17132,7 +17162,7 @@ comparatively few patterns, as indicated by the following syntax rules:
\alt<fontdef token>\alt<family assignment>\alt<shape assignment>
\alt^|\read|<number>[to]<optional spaces><control sequence>
\alt^|\setbox|<8-bit number><equals><filler><box>
- \alt^|\font|<control sequence><equals><file name><at clause>
+ \alt^|\font|<control sequence><equals><filename><at clause>
\alt<global assignment>
<variable assignment>\is<integer variable><equals><number>
\alt<dimen variable><equals><dimen>
@@ -17206,8 +17236,8 @@ effect.
<font assignment>\is^|\fontdimen|<number><font><equals><dimen>
\alt^|\hyphenchar|<font><equals><number>
\alt^|\skewchar|<font><equals><number>
-<hyphenation assignment>\is^|\hyphenation|<general text>
- \alt^|\patterns|<general text>
+<hyphenation assignment>\is^|\hyphenation|<filler>|{|<hyphenations>|}|
+ \alt^|\patterns|<filler>|{|<patterns>|}|
<box size assignment>\is<box dimension><8-bit number><equals><dimen>
<interaction mode assignment>\is^|\errorstopmode|\alt^|\scrollmode|
\alt^|\nonstopmode|\alt^|\batchmode|
@@ -17223,11 +17253,11 @@ dimen> quantities were listed above when we discussed internal integers
and dimensions. When |\prevgraf| is set to a \<number>, the number must
not be negative.
-The syntax for ^\<file name> is not standard in \TeX, because different
+The syntax for ^\<filename> is not standard in \TeX, because different
operating systems have different conventions. You should ask your local
system wizards for details on just how they have decided to implement file
names. However, the following principles should hold universally:
-A~\<file name> should consist of \<optional spaces> followed by explicit
+A~\<filename> should consist of \<optional spaces> followed by explicit
character tokens (after expansion). A sequence of six or fewer ordinary
letters and/or digits followed by a space should be a file name that works
in essentially the same way on all installations of\/ \TeX\null. Uppercase
@@ -17790,7 +17820,7 @@ that ends with such a character. ^^|\discretionary|
\\^|\accent|\<8-bit number>\<optional assignments>.
Here ^\<optional assignments> stands for zero or more \<assignment>
-commands other than ^|\setbox|.
+commands other than ^|\setbox|, possibly with \<filler>.
If the assignments are not followed by a \<character>, where
\<character> stands for any of the commands just discussed in the previous
paragraph, \TeX\ treats |\accent| as if it were |\char|, except that
@@ -17808,11 +17838,12 @@ Finally, \TeX\ sets |\spacefactor=1000|.
If the last item on the current list is a character or ligature, an
explicit kern for its ^{italic correction} is appended.
-\\^|\discretionary|\<general text>\<general text>\<general text>.\enskip
-The three general texts are processed in restricted horizontal mode. They
-should contain only fixed-width things; hence they aren't really very
-general in this case. More precisely, the horizontal list formed by each
-discretionary general text must consist only of characters, ligatures,
+\\^|\discretionary|\<disc text>\<disc text>\<disc text>.\enskip
+A \<disc text> has the form `\<filler>|{|\<horizontal mode material>|}|',
+where the material is processed in restricted horizontal mode and
+should contain only fixed-width things.
+More precisely, the horizontal list formed by each
+^{\<disc text>} must consist only of characters, ligatures,
kerns, boxes, and rules; there should be no glue or penalty items, etc.
This command appends a discretionary item to the current list; see
Chapter~14 for the meaning of a discretionary item. The space factor is
@@ -18100,9 +18131,9 @@ A kern of width zero is appended to the current list. \ (This will have the
effect of adding the italic correction to the previous character, if the
italic correction wouldn't normally have been added.)
-\\^|\discretionary|\<general text>\<general text>\<general text>.
-This command is treated just as in horizontal mode (see Chapter~25), but the
-third \<general text> must produce an empty list.
+\\^|\discretionary|\<disc text>\<disc text>\<disc text>.
+This command has the same effect as in horizontal mode (see Chapter~25), but the
+third ^{\<disc text>} must produce an empty list.
\\^|\-|.\enskip
This command is usually equivalent to `|\discretionary{-}{}{}|';
@@ -18569,7 +18600,7 @@ document. Here are some of the messages you might get just before
Fatal format file error; I'm stymied.
^^|Fatal format file error|
This means that the preloaded format you have specified cannot be used,
-because it was prepared for a different version of \TeX.
+because it is corrupted or was prepared for a different version of \TeX.
\fatal
That makes 100 errors; please try again.
\TeX\ has scrolled past 100 errors since the last paragraph ended, so
@@ -19059,8 +19090,8 @@ The main purpose of the example is to serve as a reminder of the
repertoire of possibilities.
Most of the control sequences used in the example are defined by
-macros of plain \TeX\ format, but three of them are ^{primitive}, i.e.,
-built~in: `|\par|' (end of paragraph), `|\noindent|' (beginning of
+macros of plain \TeX\ format; but some of them are ^{primitive} (built in),
+such as `|\par|' (end of paragraph), `|\noindent|' (beginning of
non-indented paragraph), and `|\/|' (italic correction). The example
also assigns values to two of \TeX's primitive parameters, namely
|\hsize| and |\vsize|. \TeX\ has scores of parameters, all of which
@@ -19277,12 +19308,13 @@ based on the delimiters available in Computer Modern:
|\delcode`\<="26830A \delcode`\\="26E30F \delcode`\>="26930B|
\endlines
It's important to note that |\delcode`\{| and |\delcode`\}| have been left
-equal to~$-1$. If those codes were set to certain values, a user would
-^^{left brace} ^^{right brace} be able to type, e.g.,
-`|\big{|' to get a big left brace; but it would be a big mistake.
-The reason is that ^{braces} are used for grouping, when supplying
-arguments to macros; all sorts of strange things can happen if you try
-to use them both as math delimiters and group delimiters.
+equal to~$-1$.
+^^{left brace} ^^{right brace}
+^{Braces} are used for grouping, when supplying
+arguments to macros; so they cannot also be used as math delimiters, or as
+arguments to macros such as |\big|. (One could change their catcodes
+to~12, and use some other pair of characters for grouping; but that
+would not be plain \TeX.)
At this point the |plain.tex| file contains several definitions
\beginlines
@@ -19310,8 +19342,8 @@ temporary ``^{scratch}'' use, but their values are always assumed to be
clobbered whenever any other macro might get into control. \ (This applies
to registers like |\dimen0|, |\toks0|, |\skip1|, |\box3|, etc.; but \TeX\
has already reserved |\count0| through |\count9| for page number
-identification.) \ (2)~The registers |\count255|, |\dimen255|, and
-|\skip255| are freely available in the same way.
+identification.) \ (2)~The registers |\count255|, |\dimen255|, |\skip255|,
+|\muskip255|, and |\toks255| are freely available in the same way.
\ (3)~All assignments to the scratch registers whose numbers are
1,~3, 5, 7, and~9 should be ^|\global|; all assignments to the
other scratch registers (0,~2, 4, 6, 8,~255) should be non-|\global|.
@@ -19328,7 +19360,7 @@ apply to ^{input/output streams} used by ^|\read| and ^|\write|, to math
^{families} used by ^|\fam|, to sets of hyphenation rules used by
^|\language|, and to insertions (which require
^|\box|, ^|\count|, ^|\dimen|, and ^|\skip| registers all having the
-same number).
+same number).\looseness=-1
Some handy abbreviations are introduced at this point so that the macros
below will have easy access to scratch registers:
@@ -19366,16 +19398,16 @@ particular way.
|\countdef\insc@unt=20 % nickname for the insertion counter|
|\countdef\allocationnumber=21 % the most recent allocation|
|\countdef|^|\m@ne||=22 \m@ne=-1 % a handy constant|
-|\def|^|\wlog||{\immediate\write-1} % this will write on log file (only)|
+|\def|^|\wlog||{\immediate\write-1 } % this will write on log file (only)|
\smallbreak
|\outer\def|^|\newcount||{\alloc@0\count\countdef\insc@unt}|
|\outer\def|^|\newdimen||{\alloc@1\dimen\dimendef\insc@unt}|
|\outer\def|^|\newskip||{\alloc@2\skip\skipdef\insc@unt}|
-|\outer\def|^|\newmuskip||{\alloc@3\muskip\muskipdef\@cclvi}|
+|\outer\def|^|\newmuskip||{\alloc@3\muskip\muskipdef\@cclv}|
|\outer\def|^|\newbox||{\alloc@4\box\chardef\insc@unt}|
|\let\newtoks=\relax % this allows plain.tex to be read in twice|
|\outer\def\newhelp#1#2{\newtoks#1#1=\expandafter{\csname#2\endcsname}}|
-|\outer\def|^|\newtoks||{\alloc@5\toks\toksdef\@cclvi}|
+|\outer\def|^|\newtoks||{\alloc@5\toks\toksdef\@cclv}|
|\outer\def|^|\newread||{\alloc@6\read\chardef\sixt@@n}|
|\outer\def|^|\newwrite||{\alloc@7\write\chardef\sixt@@n}|
|\outer\def|^|\newfam||{\alloc@8\fam\chardef\sixt@@n}|
@@ -19594,8 +19626,8 @@ control sequence |\preloaded| is made undefined at the very end, so those
fonts cannot be used directly. There are two reasons for this strange
approach: First, it is desirable to keep the total number of fonts
of plain \TeX\ relatively small, because plain \TeX\ is a sort of
-standard format; it shouldn't cost much for someone to acquire all the
-fonts of plain \TeX\ in addition to those he really wants. Second, it
+standard format; it shouldn't cost much for people to acquire all the
+fonts of plain \TeX\ in addition to the ones that they really want. Second, it
is desirable on many computer systems to preload the information for
most of the fonts that people will actually be using, since this saves
a lot of machine time. The |\preloaded| font
@@ -20469,7 +20501,7 @@ up ^|\rm| type, and that's all!
|\catcode`@=12 % at signs are no longer letters|
\nobreak\smallskip
|\def|^|\fmtname||{plain}|
-|\def\fmtversion{3.141592653} % identifies the current format|
+|\def\fmtversion{3.1415926535} % identifies the current format|
\endlines
The format name and version number are recorded in control sequences,
in order to help the people who might have to explain why something
@@ -20666,7 +20698,7 @@ A person who implements \TeX\ on computer systems that do not have
95~externally representable symbols should adhere to the following
guidelines: \ (a)~Stay as close as possible to the ASCII conventions.
\ (b)~Make sure that codes \oct{041}--\oct{046}, \oct{060}--\oct{071},
-\oct{141}--\oct{146}, and \oct{160}--\oct{171} are present and that
+\oct{136}, \oct{141}--\oct{146}, and \oct{160}--\oct{171} are present and that
each unrepresentable
internal code $<\null$\oct{200} leads to a representable code when \oct{100} is
added or subtracted; then all 256 codes can be input and output.
@@ -20761,14 +20793,14 @@ need to be familiar with the fine points in Chapter~20. \TeX's control
sequences are divided into two main categories, ``expandable'' and
``unexpandable''; the former category includes all macros and |\if...\fi|
tests, as well as special operations like |\the| and |\input|, while the
-latter category includes the primitive commands listed in Chapter~24.
+latter category includes the primitive commands listed in Chapters~24--26.
The expansion of expandable tokens takes place in \TeX's ``^{mouth},''
but primitive commands (including assignments) are done in \TeX's
``^{stomach}.'' One important consequence of this structure is that
it is impossible to redefine a control sequence or to advance a register
while \TeX\ is expanding the token list of, say, a |\message| or |\write|
command; assignment operations are done only when \TeX\ is building a
-vertical or horizontal or math list.
+vertical or horizontal or math list.\looseness=-1
For example, it's possible to put |\n| asterisks into a paragraph,
by saying simply `|{|^|\loop||\ifnum\n>0 *\advance\n-1 \repeat}|'.
@@ -20867,7 +20899,7 @@ where the characters `|pt|' are of category~12. After the macro definitions
\begintt
{\catcode`p=12 \catcode`t=12 \gdef\\#1pt{#1}}
\let\getfactor=\\
-\def\kslant#1{\kern\expandafter\getfactor\the\fontdimen1#1\ht0}
+\def\kslant#1{\kern\expandafter\getfactor\the\fontdimen1#1\ht0 }
\endtt
one can write, e.g., `|\kslant\tenit|' and this will expand to
`|\kern0.25\ht0|'. If the boundary of\/ |\box0| is considered to be
@@ -20921,11 +20953,11 @@ The goal is to set \TeX\ up so that the respective constructions
`\thinspace|$$|$\,\alpha\,$|$$|\thinspace', ^^{dollar dollar}
`\thinspace|$$|$\,\alpha\,$^|\eqno|$\,\beta\,$|$$|\thinspace', and
`\thinspace|$$|$\,\alpha\,$^|\leqno|$\,\beta\,$|$$|\thinspace' will cause
-a macro |$$\generaldisplay$$| to be invoked, with |\eq| defined to be $\alpha$;
+a macro |$$\generaldisplay$$| to be invoked, with |\eq| defined to be $\alpha$.
^^{communication between macros}
-furthermore, the test |\ifeqno| should be true when an equation
-number~$\beta$ is present, and |\ifleqno| should be true in the case
-of\/ |\leqno|. When $\beta$ is present, it should be stored in~|\eqn|.
+Furthermore, when an equation number~$\beta$ is present, it should be stored
+in |\eqn|, and the test |\ifeqno| should be true.
+In such cases |\ifleqno| should distinguish |\leqno| from |\eqno|.
Here $\alpha$~and~$\beta$ are arbitrary balanced token lists that don't
contain either |\eqno| or |\leqno| at nesting level zero. The
following macros do the required maneuvers:
@@ -21328,7 +21360,8 @@ to an almost-verbatim transcript:
\endtt
Tokens are stripped off in this construction since, for example,
^|\meaning||\next| might be `\def\next{$this$ is {\it!}}%
-\expandafter|\meaning\next|'. Notice that a space will be inserted after
+\hbox{\kern1pt\expandafter|\meaning\next|}'.
+Notice that a space will be inserted after
the control word |\it|, but no space might actually have occurred there in
the argument to |\verbatim|; such information has been irretrievably lost.
@@ -22469,7 +22502,7 @@ How should the output routine break such a box up into three roughly
equal pieces? Notice that the contents of the box are completely rigid;
i.e., there is no glue that can stretch or shrink. Furthermore, we can
assume that the contents of the box are regular, i.e., that the
-inter-baseline distances are all the same. In such circumstances
+interbaseline distances are all the same. In such circumstances
a fairly simple ^{balancing} routine can be used to trisect the box.
Let's consider a more general problem: Suppose that a rigid vbox is given,
@@ -22538,9 +22571,9 @@ In our application to footnotes, the |\output| routine can reformat
the contents of\/ |\box\footins| by saying, for example,
\begintt
\rigidbalance\footins 3 7pt
-\setbox\footins=\lastbox
+\setbox2=\lastbox \setbox\footins=\vbox{\box2}
\endtt
-since ^|\lastbox| will be the result of\/ |\rigidbalance|.
+since ^|\lastbox| will be the result of\/ |\rigidbalance|, which is an hbox.
This solution to the problem of short footnotes might result in
^{club lines} or ^{widow lines}, since the balancing routine we have
@@ -22994,7 +23027,7 @@ end of the ^|\body| and the beginning of a ^|\ps|.
| {|^|\endgraf||\nobreak}}}|
|\def\annotations{\beginlinemode\def\par{\endgraf\nobreak}\obeylines\par}|
|\def\ps{\beginparmode\nobreak|
-| \interlinepenalty5000\def\par{\endgraf\penalty5000}}|
+| \interlinepenalty5000\def\par{\endgraf\penalty5000 }}|
\endlines
The remaining portion of |letterformat.tex| deals with ^{letterheads} and
@@ -23371,7 +23404,7 @@ should be ascribed to Herb Caswell; if it has any blemishes, they should be
ascribed to Don Knuth, who wrote the formatting
macros that we are now about to discuss.
-The computer file |manual.tex| that generated {\sl The \TeX book\/} begins
+The computer file |texbook.tex| that generated {\sl The \TeX book\/} begins
with a copyright notice, and then it says `|\input| |manmac|'. The auxiliary
file ^|manmac.tex| contains the formatting macros, and it begins by
loading 9-point, 8-point, and 6-point~fonts:
@@ -23620,7 +23653,7 @@ The next macros are concerned with chapter formatting. Each chapter in the
manuscript file starts out with the macro ^|\beginchapter|; it ends
with ^|\endchapter| and two ^{quotations}, ^^{epigraphs} followed
by ^|\eject|. For example, Chapter~15 was generated by \TeX\ commands
-that look like this in the file |manual.tex|:
+that look like this in the file |texbook.tex|:
\beginlines
|\beginchapter Chapter 15. How \TeX\ Makes\\Lines into Pages|
\medskip
@@ -23755,7 +23788,7 @@ using the macros |\pt|, |\<|, |\oct|, |\hex|, and |\cstok|.
|\def\MF{{\manual META}\-{\manual FONT}}|
|\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.075em|
| S$-\TeX}|
-|\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet|
+|\def\bull{\vrule height.9ex width.8ex depth-.1ex \relax} % square bullet|
|\def\SS{{\it SS}} % scriptscript style|
|\def\dn{\leavevmode\hbox{\tt\char'14}} % downward arrow|
|\def\up{|^|\leavevmode||\hbox{\tt\char'13}} % upward arrow|
@@ -23931,7 +23964,7 @@ in the text as well as in the index. ^^{strut}
^|\newwrite||\inx|
^|\immediate|^|\openout||\inx=index % file for index reminders|
|\def\marginstyle{\sevenrm % marginal notes are in 7-point type|
-| \vrule height6pt depth2pt width0pt } % a strut for \insert\margin|
+| \vrule height6pt depth2pt width0pt \relax} % a strut for \insert\margin|
\endlines
Sometimes it is desirable to index words that don't actually appear on the
@@ -24127,7 +24160,7 @@ showing |cmr10| (^|\rm|, |\textfont0|).
\noindent Plain \TeX\ makes use of sixteen basic fonts:
$$\halign{\indent$\nulldelimiterspace=0pt
\left.\ninepoint\vcenter{#}\,\hfil\right\}$ &#\hfil\cr
-\halign{\strut\tt cm# \ \hfil&(Computer Modern #)\hfil&\hidebrace{#}\hfil\cr
+\halign{\strut\tt cm# \ \hfil&(Computer Modern #)\hfil\cr
r10&Roman 10 point\cr
r7&Roman 7 point\cr
r5&Roman 5 point\cr
@@ -24136,7 +24169,7 @@ bx7&Bold Extended 7 point\cr
bx5&Bold Extended 5 point\cr
sl10&Slanted Roman 10 point\cr
ti10&Text Italic 10 point\cr}&text\cr
-\halign{\strut\tt cm# \ \hfil&(Computer Modern #)\hfil&\hidebrace{#}\hfil\cr
+\halign{\strut\tt cm# \ \hfil&(Computer Modern #)\hfil\cr
tt10&Typewriter Type 10 point\cr
mi10&Math Italic 10 point\cr
mi7&Math Italic 7 point\cr
@@ -24659,7 +24692,7 @@ relation, as in `$x:=y$' and `$a:b::c:d$', which you type by saying
\hbox to 115pt{$L(a,b;c\colon x,y;z)$\hfil}\enspace
|$L(a,b;c\colon x,y;z)$|\cr
\enddisplay
-Plain \TeX\ also defines ^|\ldotp| and ^|\cdotp| to be `.' and `$\cdot$'
+Plain \TeX\ also defines ^|\ldotp| and ^|\cdotp| to be `.'\ and `$\cdot$'
with the spacing of commas and semicolons. These symbols don't
occur directly in formulas, but they are useful in the definition of\/
^|\ldots| and ^|\cdots|.
@@ -25026,11 +25059,12 @@ so that the bottom of the hrule occurs at $a-{1\over2}\theta$ above the
baseline.
\rule 15e. Enclose the vbox that was constructed in Rule 15c or 15d by
-delimiters whose height plus depth is at least $\sigma_{20}$, if $C>T$, and at
+delimiters $(\lambda,\rho)$
+whose height plus depth is at least $\sigma_{20}$, if $C>T$, and at
least $\sigma_{21}$ otherwise. Shift the delimiters up or down so that they are
vertically centered with respect to the axis. Replace the generalized
-fraction by an Inner atom whose nucleus is the resulting sequence of three boxes
-(left delimiter, vbox, right delimiter).
+fraction by an Ord atom whose nucleus is the resulting sequence of three boxes
+($\lambda$, vbox, $\rho$). Go to rule~19.
\bigbreak\noindent
Rules 1--15 account for the preliminary processing of math list items;
@@ -25122,7 +25156,8 @@ f,2\delta-l)$, where $f$ is the ^|\delimiterfactor|
and $l$ is the ^|\delimitershortfall|. Shift the delimiters up or down so
that they are vertically centered with respect to the axis. Change the left
boundary item to an Open atom and the right boundary item to
-a Close atom. \ (All of the calculations in this step are done with
+a Close atom. The entire resulting list now becomes the nucleus of an
+Inner atom. \ (All of the calculations in this step are done with
$C$ equal to the starting style of the math list; style items in the
middle of the list do not affect the style of the right boundary item.)
@@ -25590,7 +25625,7 @@ until coming to something that's not one of the following three
is nonzero; (2)~a ligature formed entirely from characters of type~(1);
(3)~an implicit kern. The first inadmissible item terminates this part of
the process; the trial word consists of all the letters found in admissible
-items. Notice that all of these letters are in font~$f$.
+items, up to a maximum of~63. Notice that all of these letters are in font~$f$.
\ddanger If a trial word $l_1\ldots l_n$ has been found by this process,
hyphenation will still be abandoned unless $n\ge\lambda+\rho$, where
@@ -25675,7 +25710,7 @@ when according to legend, an RCA Marketing Manager received
a phone call from a disturbed customer. His 301 had just hyphenated ``God.''
\author PAUL E. ^{JUSTUS}, {\sl There's More to Typesetting Than %
Setting Type\/} (1972)
-% in {\sl IEEE Transactions on Professional Commun. vol PC-15, pp. 13-15
+% in IEEE Transactions on Professional Commun. vol PC-15, pp. 13-15
\bigskip
@@ -25777,7 +25812,7 @@ redefine them.
|\'| (acute accent), @7--9, 52--53, @305, @335, +356, @420.
|''| ( '' ), @3--5, @24, 394--395.
|`| (reverse apostrophe or left quote), 3--5, 51, 132, 134, @305, 391, 394--395;
- \also alphabetic constant.
+ \also alphabetic constants.
|\`| (grave accent), 8, 52--53, @305, +356.
|``| ( `` ), @3--5, @24, 394--395.
|"| (double quote or ditto mark), 52, 53, 134; \also hexadecimal.
@@ -25787,7 +25822,7 @@ redefine them.
|)| (right parenthesis), 51, 134, @140, @145--150, 345.
|[| (left bracket), 51, 134, @146--148, 171, @408, @437.
|[]|, +28, @+79, @302.
-|[1]|, 23, +119.
+|[1]| (progress report), 23, +119.
|]| (right bracket), 51, 134, @146--147, 171, 345, @408, @437.
|{| (left brace), @13--14, @19--21, 38, 51, @200--202, +203--+204, @205--206,
216, +269, 275--276, +283, +286, +291, @330.
@@ -25840,7 +25875,7 @@ $:=$, 133.
|?`|\hbox{ }(open question), 51.
|!|\hbox{ }(exclamation point), 51, @72, 73, 75, @169.
|!`|\hbox{ }(open exclamation), 51.
-|\!|\ (negative thin space), +167, @169, +357.
+|\!|\ (negative thin space), 167, @169, +357.
|_| (underscore), 38, 51, @128--130, 134.
|\_| ( \_ ), 38, @165, +356.
|^| (hat), 38, 51, @128--130, 134, 369, @423.
@@ -25856,8 +25891,8 @@ $:=$, 133.
|@@|, 98--99.
|\@ne|, +345.
\newletter
-|\aa| ( \aa\ ), +356.
-|\AA| ( \AA\ ), +356.
+|\aa| ( \aa\ ), @52, +356.
+|\AA| ( \AA\ ), @52, +356.
abbreviations, @73--74, @340; \also macros.
*|\above| (general fraction), @143, 152, +292, 444--445.
*|\abovedisplayshortskip|, +189, 274, @348, @415.
@@ -25890,7 +25925,7 @@ al-Khw\^arizm\^\i, abu `Abd All\^ah Mu\d{h}ammad ibn M\^us\^a, 53.
|\aleph| ( $\aleph$ ), 9, +358, 435.
Alice, 4, 387, 394.
alignment displays, 190, 193, +291.
-\<alignment material>, 282, 285.
+\<alignment material>, 282, 285, 291.
alignments, 231--249, +282, 302--303, 385--386, 392; \also tabbing.
Alka-Seltzer, 404--405.
all caps, \see |\uppercase|.
@@ -26067,7 +26102,7 @@ Bourbaki, Nicolas, 106.
|\bowtie| ( $\bowtie$ ), +358, 436.
\<box>, 120, 222, +278, 282, 285, 290.
*|\box| (use box register), 120--122, 151, 222, +278, 346, @354, @386, @387.
-|\box255|, 125, 253--258.
+\sub |\box255|, 125, 253--258.
\<box dimension>, +271, 277.
box displays, 66, 75, 79, 158--159, 302, 455.
box memory, 300, 394.
@@ -26135,7 +26170,7 @@ Caswell, Herbert Ernest, 413.
@421, @424.
category codes, 37--40, +47, 48, 203--205, 209--210, 214, 381.
\sub table, 37.
-|cc| (cicero), 57, 270.
+|cc| (cicero), +57, 270.
|\cdot| ( $\cdot$ ), @133, @172, 319, 436.
|\cdotp|, 358, +359, 438.
|\cdots| ( $\cdots$ ), @172, @176, @180--181, +359, 438.
@@ -26178,12 +26213,12 @@ classes of math characters, table, 154.
*|\cleaders|, +224, 225--226, @357, @374.
|\cleartabs|, @234, +354.
Close atom, 158, 170--171, 289, 443--444, 446.
-*|\closein|, 217, 280.
+*|\closein|, +217, 280.
*|\closeout|, 226--228, 254, +280, @422.
|\closing|, @403--404, +407.
closings, 134, 147, 154--155, 359, +437; \also Close atom.
club lines, 104, 272, 398.
-*|\clubpenalty|, 104, 113, 272, 317, @348, @419.
+*|\clubpenalty|, +104, 113, 272, 317, @348, @419.
|\clubsuit| ( $\clubsuit$ ), 435.
|cm| (centimeter), @24, +57, 270.
|cmbx| fonts, 60, 350, 413, 428, 433.
@@ -26356,6 +26391,7 @@ dimensions, 57--61.
Dionysius I of Syracuse, 239.
diphthongs, \see |\ae|, |\oe|.
direct sum, \see |\oplus|.
+\<disc text>, +287, 292.
discardable items, 95, 110--112, 124, @393.
*|\discretionary|, 95--96, 283, 286, +287, +292.
discretionary hyphens, 28, 95--96, 453, +455.
@@ -26370,7 +26406,7 @@ displays, 87, 103, @139--145, @166--167, 185--197, @232, @241, 315.
\sub non-centered, 186, 326, 375--376, 420--421.
\sub positioning of, +188--+190.
*|\displaystyle|, 141--142, +292, @362.
-*|\displaywidowpenalty|, 104, 272, @348.
+*|\displaywidowpenalty|, +104, 105, 272, @348.
*|\displaywidth|, 188, 190, 274, 349.
Disraeli [Beaconsfield], Benjamin, earl, 219.
ditto mark, 53, 441.
@@ -26541,10 +26577,10 @@ fields of atoms, 158--159, 289--291.
\<fil dimen>, +271.
\<fil unit>, +271.
|\filbreak|, 111, +353.
-\<file name>, 214, 216, 226, 277, +278.
file names, 25, 214, 216--217, 226, 278.
file pages, 343.
file types, \see |.dvi|, |.fmt|, |.tfm|, |.tex|, log file, terminal.
+\<filename>, 214, 216, 226, 277, +278.
|fill|, 72, 118--119, +271, @347.
fill page with blank space, \see |\vfill|.
\<filler>, +276, 278, 280--282, 289.
@@ -26613,7 +26649,7 @@ Gamble, James, 38.
|\gcd| ( $\gcd$ ), 162, @192, 361.
*|\gdef|, +206, 215, 275, @352, @407.
|\ge| ( $\ge$ ), 9, 45, @175, 318, +361, 438.
-\<general text>, +276, 277, 279, 280, 287, 292.
+\<general text>, +276, 279, 280.
generalized fraction, 152, 157, +292, +444--+445.
generic coding, 194, 203.
generic matrix, 177, 245.
@@ -26715,7 +26751,7 @@ horizontal braces, @176, 225--226, @339.
\<horizontal command>, +283.
horizontal lists, 64, +94--+95.
horizontal mode, 85--89, 105, +285--+287.
-\<horizontal mode material>, 278.
+\<horizontal mode material>, 278, 285, 287.
\<horizontal rule>, 281.
horizontal rules, 24, 64, 221--226, 246, +282.
\<horizontal skip>, 285, 290.
@@ -26793,7 +26829,7 @@ infinite penalty, 97, 111, 254--256, 264, 286, 400.
|\infty| ( $\infty$ ), 9, 318, 435.
inhibiting expansion, 216, 262--263, 377.
|INITEX|, 39, 41, 76, 157, 283, 336, 343--345, 453.
-Inner atom, 158, 170, 289, 443, 445--446.
+Inner atom, 158, 170, 289, 292, 443, 446.
*|\input|, 7, 9, @25--27, 47, 199, +214, 217, @380, 382--383, @403, @422.
input/output commands, \see |\input|, |\read|, |\write|, |\message|, |\dump|.
input/output streams, 346, \see |\openin|, |\openout|.
@@ -26803,11 +26839,11 @@ input stack, 300, 374.
inserting text online, 31.
insertions, 110, 115--117, 122--125, 256, 335.
*|\insertpenalties|, 111, 114, +123--+125, 214, 254, @256, 271.
-|\int| (large $\smallint$), 144, @168--169, @192, 358, 435.
+|\int| (large $\smallint$), 144, @168--169, @192, +358, 435.
\<integer constant>, +269--+270.
\<integer parameter>, 271, +272--+273, 276.
\<integer variable>, +276.
-integral signs, \see |\int|, |\smallint|.
+integral signs, \see |\int|, |\oint|, |\smallint|.
\sub multiple, @169, @180.
inter-column spacing, 237--239, 247, 392.
interacting with \TeX, 31--34, 217--218, 228, 295--299.
@@ -26815,7 +26851,7 @@ interacting with \TeX, 31--34, 217--218, 228, 295--299.
|\interdisplaylinepenalty|, @193, 349, 362.
|\interfootnotelinepenalty|, 349, 363.
interline glue, 78--79, +80, 104, 105, 125, 221, 245, 263, 281--282, 335, 352, 399, 409.
-*|\interlinepenalty|, +104, 272, @363, @406, @419.
+*|\interlinepenalty|, +104, 105, 272, @363, @406, @419.
internal box-and-glue representation, 66, 75, 79, 158--159, 302, 455.
internal character codes, 43--46, 367--370.
\<internal dimen>, +271.
@@ -26901,7 +26937,7 @@ leaders, 222, 223--226, 228, 280--282, 285, 290, @357, @392--394.
leading, \see |\baselineskip|, |\vskip|.
|\leavevmode|, 313, @333, @+356, @408, @420.
Lee, Marshall, 17.
-*|\left|, @148--150, 155--157, @171, 196, +292, 437.
+*|\left|, @148--150, 155--157, 170, @171, 196, +292, 437.
left brace, @13--14, @19--21, 38, 51, @200--202, +203--+204, @205--206,
216, +269, 275--276, +283, +286, +291, @330.
\<left brace>, +275.
@@ -26909,7 +26945,7 @@ left bracket, 51, 134, @146--148, 171, @408, @437.
left delimiters, \see openings.
left-hand pages, 252--253, @416.
left parenthesis, 51, 134, @140, @145--150, 345.
-left quote, 3--5, 132, 134, @305, 394--395; \also alphabetic constant.
+left quote, 3--5, 132, 134, @305, 394--395; \also alphabetic constants.
|\leftarrow| ( $\leftarrow$ ), 226, 437.
|\Leftarrow| ( $\Leftarrow$ ), 226, 437.
|\leftarrowfill| (\hbox to4em{\leftarrowfill}), +357.
@@ -26921,7 +26957,7 @@ left quote, 3--5, 132, 134, @305, 394--395; \also alphabetic constant.
|\Leftrightarrow| ( $\Leftrightarrow$ ), 437.
*|\leftskip|, 100, 274, @317, @407, @419.
Legendre symbol, 152.
-Leontief, Wassily Wassily, 265.
+Leontief, Wassily Wassily, 265. % acc to his postcard to me, 25 Feb 1983
|\leq| ( $\leq$ ), 318, +358, 436.
|\leqalignno|, 192, 194, +362.
*|\leqno|, @187, 189, +293, 375--376.
@@ -27037,6 +27073,7 @@ math formulas, how to type, 127--197.
math italic, 164--165, 409, 430, 433.
math lists, 157--159, 441--446.
math mode, 85--89, 127, 157, +289--+293.
+\<math mode material>, 287, 289--293.
math spacing table, 170--171.
\<math symbol>, +289.
math symbols, 127--128.
@@ -27198,8 +27235,8 @@ Norwegian characters, 45--46, 52--53, 370.
$n$th, 323.
|\nu| ( $\nu$ ), @128, @163, 434.
nucleus, 158--159, 289--292, 441--446.
-|\null|, 311, @332, +351.
\<null> (ASCII code 0), 37, 39, 48, 343, 369.
+|\null|, 311, @312, @316, @332, @335, +351, @354, @360--@362, @419.
null control sequence, 46, 308.
null delimiter, 149--150, 152, 156, 345, @360, @362.
null set, \see |\emptyset|.
@@ -27216,8 +27253,8 @@ numerical tables, 240--241.
|\nwarrow| ( $\nwarrow$ ), 437.
\newletter
|O| versus |0|, 132.
-|\o| ( \o\ ), +356.
-|\O| ( \O\ ), +356.
+|\o| ( \o\ ), @52, +356.
+|\O| ( \O\ ), @52, +356.
|\oalign|, +356.
obelisk {\sl or\/} obelus, 53.
|\obeylines|, @94, @249, @262, 342, +352, @380--382, @407, @419.
@@ -27278,7 +27315,7 @@ other character, 37.
output routines, 21, 112, 251--264, 417.
\sub when invoked, 122, 125, 281.
*|\outputpenalty|, +125, @254--255, 273, 349, 400, @417.
-*|\over|, @139--141, @148, 152, 292, 437, 444--445.
+*|\over|, @139--141, @148, 152, +292, 437, 444--445.
Over atom, 158, 289, 443.
|\overbrace|, @176, 225, +359.
overfull boxes, 27--30, 94, 229, 238, 302--303, 307, 400.
@@ -27289,7 +27326,7 @@ overlaps, 82--83, 386.
*|\overline|, @130--131, @136, 141, 170, 291, 443.
overloading, 54, 243.
|\overrightarrow|, 226, +359.
-*|\overwithdelims|, @152, 292, 444--445.
+*|\overwithdelims|, @152, +292, 444--445.
|\owns| ( $\owns$ ), +361, 438.
\newletter
|\P| ( \P\ ), 53, 117, +356, 438--439.
@@ -27332,7 +27369,7 @@ parentheses, 51, 129, 134, @140, @145--150, 345, 437.
*|\parfillskip|, 100, 188, 274, +286, 307, @315, 332, @348, @394, @419.
*|\parindent|, 86, 100, 101--102, 105, @262, 274, 282, 286, 291, @342, @348,
@355, @394, @406, @415.
-*|\parshape|, 101--102, 214, 271, 272, 277, 283, @315, 349, 374.
+*|\parshape|, 101--103, 214, 271, 272, 277, 283, @315, 349, 374.
*|\parskip|, 79, 104--105, 262, 274, 282, @342, @348, @355, @406, @417.
|\partial| ( $\partial$ ), @147, 435.
Pascal, Blaise, 101--102.
@@ -27416,7 +27453,7 @@ private control sequences, 344, 364, 414.
Procter, William Alexander, 38.
|\prod| (large $\Pi$), @180--181, 435.
programming with \TeX, 217--219, 387--388.
-programs, for computers, 38, 165, 234.
+programs, for computers, 38, 165, @234.
\sub for music, 408--412.
proofreading, 59, 303.
proper names, 73, 92.
@@ -27483,6 +27520,8 @@ relations, @133--134, 147, 154--155, 358, +436, +437; \also Rel atom.
|\removelastskip|, +353.
|\repeat|, @217--219, +352.
repeating commands, \see |\loop|.
+repeating templates, \see periodic preambles.
+replacement text, @200--@204, 212, 280, 300, 329.
reserved characters, 37--38, 51--52, 134.
reserved words, +61, 71, +268, 337, 370.
restricted horizontal mode, 85, 87--89, +285--+287.
@@ -27490,19 +27529,19 @@ r\'esum\'e, 253.
\<return> (ASCII code 13), 23, 39, 43, 45, 46, 48, 249, 331, 343, 345, 369, 380.
|\|\<return>, 8, @305, +351.
reverse apostrophe, 3--5, 51, 132, 134, 391, 394--395;
- \also alphabetic constant.
+ \also alphabetic constants.
reverse slash, \see backslash.
Reviewer, Ann Arbor, 106.
|\rfloor| ( $\rfloor$ ), @146--147, +359, 437.
|\rgroup|, 150, @176, +359, 437.
|\rho| ( $\rho$ ), 128, @325, 434.
|\rhook|, +358.
-*|\right|, @148--150, 155--157, @171, 196, +292, 437.
+*|\right|, @148--150, 155--157, @170--@171, 196, +292, 437.
right brace, @13--14, @19--21, 38, 51, @200--202, +203--+204, @205--206,
+269, 275--276, +279, 301, @330.
\<right brace>, +275.
right bracket, 51, 134, @146--147, 171, 345, @408, @437.
-right delimiters, \see openings.
+right delimiters, \see closings.
right-hand pages, 252--253, @416.
right justification, 71.
right parenthesis, 51, 134, @140, @145--150, 345.
@@ -27713,7 +27752,7 @@ stretchability, 69--71, @75, 409.
|\strut|, 82, @142, 178, 240, @246--247, @316, @329, @333, +353, @396, @400,
@421.
|\strutbox|, @316, +353, @396, @414--415.
-struts, +82, 125, 131, 142, 178, 245--247, 255, 329, 416, 422, 423.
+struts, +82, 125, 131, 142, 155, 178, 245--247, 255, 329, 416, 422, 423.
style change items, 157, 442.
style-independent documents, 194, 203.
styles of math formatting, 140--141, 441--447.
@@ -27955,7 +27994,7 @@ variables in formulas, 132, 358, 434--435; \also Ord atom.
vbox (box with vertical list inside), 65.
*|\vbox|, 65, 80--82, 103, 151, 193, 222, 278, 388--389.
Vcent atom, 158, 290, 443.
-*|\vcenter|, 150--151, 159, 170, 193, 222, 242, +290, @361, +443.
+*|\vcenter|, 150--151, 159, 170, 193, 222, 242, +290, @326, @361, +443.
|\vdash| ( $\vdash$ ), 436.
|\vdots| ( $\vdots$ ), @177, +359.
|\vec| (math accent: $\vec x\,$), 135; \also |\overrightarrow|.
@@ -27970,7 +28009,7 @@ vertical line (the character `\|'), 52, 53, 132, @146--147, @171, @174, 438;
\also vertical rules.
vertical lists, 64, +110.
vertical mode, 85--89, +267--+283.
-\<vertical mode material>, 278.
+\<vertical mode material>, 278, 280--282, 290.
\<vertical rule>, +281.
vertical rules, 64, 151, 221--226, +285, +291, 392.
\<vertical skip>, +281.
@@ -28013,7 +28052,7 @@ whatsits, 95, 110, 157, 226--229, 455.
|\widetilde| (math accent: $\widetilde x\,$), @136, +359.
widow lines, 104, 272, 398.
widow words, 104.
-*|\widowpenalty|, 104, 113, 272, @348.
+*|\widowpenalty|, +104, 105, 113, 272, @348.
|width|, 221, 224, +282, 337.
width of a box, 63--67, 77, 80--82, 225.
wiggle, \see |\sim|.
diff --git a/systems/knuth/dist/tex/trip.dvi b/systems/knuth/dist/tex/trip.dvi
new file mode 100644
index 0000000000..d951a496c2
--- /dev/null
+++ b/systems/knuth/dist/tex/trip.dvi
Binary files differ
diff --git a/systems/knuth/dist/tex/trip.fot b/systems/knuth/dist/tex/trip.fot
index 7ae8e89d87..a6b3800563 100644
--- a/systems/knuth/dist/tex/trip.fot
+++ b/systems/knuth/dist/tex/trip.fot
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159265 (INITEX)
+This is TeX, Version 3.141592653 (INITEX)
** &trip trip
(trip.tex ##
! Bad number (-7).
diff --git a/systems/knuth/dist/tex/trip.log b/systems/knuth/dist/tex/trip.log
index 585bf9b1fa..37d7c29d07 100644
--- a/systems/knuth/dist/tex/trip.log
+++ b/systems/knuth/dist/tex/trip.log
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159265 (preloaded format=trip 2014.1.7) 7 JAN 2014 09:59
+This is TeX, Version 3.141592653 (preloaded format=trip 1776.7.4) 4 JUL 1776 12:00
** &trip trip
(trip.tex ##
{vertical mode: \tracingrestores}
@@ -1836,6 +1836,7 @@ the \fontdimen values needed in math symbol fonts.
{restoring \mathsurround=0.0pt}
{restoring \fam=0}
{horizontal mode: \par}
+
! Infinite glue shrinkage found in a paragraph.
l.210 ...round60pt\hbox{$$}$\par
}
@@ -2428,7 +2429,7 @@ deleted material, e.g., by typing `I$}'.
### display math mode entered at line 249
\mathord
.{}
-this will be denominator of:
+this will begin denominator of:
\fraction, thickness = default
\\mathord []
\\mathord []
@@ -3021,7 +3022,7 @@ oxbreadth 9999 \showboxdepth 9999 \showlists \pagegoal =10000pt}
./.\.\fam1 q
././\rule(9.0+*)x0.4
\mathord
-this will be denominator of:
+this will begin denominator of:
\fraction, thickness 9.0
\{}
### math mode entered at line 280
@@ -5015,14 +5016,15 @@ you'd better type `E' or `X' now and fix your file.
<to be read again>
8
l.356 ...ef\lo#1#2U3#4#5#6#7#8#8
- #9#{\relax}
+ #99#{\relax}
I've inserted the digit you should have used after the #.
Type `1' to delete what you did use.
! You already have nine parameters.
l.356 ...\lo#1#2U3#4#5#6#7#8#8#9
- #{\relax}
-I'm going to ignore the # sign you just used.
+ 9#{\relax}
+I'm going to ignore the # sign you just used,
+as well as the token that followed it.
{blank space }
{\ifcase}
@@ -7294,7 +7296,7 @@ Memory usage before: 334&431; after: 292&418; still untouched: 175
(end occurred when iftrue on line 413 was incomplete)
Here is how much of TeX's memory you used:
47 strings out of 1674
- 253 string characters out of 8354
+ 253 string characters out of 8367
2825 words of memory out of 3000
372 multiletter control sequences out of 2100
3041 words of font info for 4 fonts, out of 20000 for 75
diff --git a/systems/knuth/dist/tex/trip.tex b/systems/knuth/dist/tex/trip.tex
index a9205e52d5..0bcfe5c1a8 100644
--- a/systems/knuth/dist/tex/trip.tex
+++ b/systems/knuth/dist/tex/trip.tex
@@ -353,7 +353,7 @@ A \char'202$$\global\count8=\predisplaysize\leqno\kern1009pt$\par
\def\b#1\par{}
\outer\gdef\a^^@^^@a#1\par#2{}\tokens{\a^^@^^@a\par!
\long\gdef\l#1{}
-\outer\global\long\edef\lo#1#2U3#4#5#6#7#8#8#9#{\relax}
+\outer\global\long\edef\lo#1#2U3#4#5#6#7#8#8#99#{\relax}
\ifcase 1 \undefined\or\l\par\b{\par % occurrence of \par aborts \b
\b{\l\undefined}\par\else\b{\par}\fi % but not there!
\ifcase\iftrue-1a\else\fi \ifcase0\fi\else\ifcase5\fi\fi
diff --git a/systems/knuth/dist/tex/trip.typ b/systems/knuth/dist/tex/trip.typ
index 2ef2781289..8bc03e15f7 100644
--- a/systems/knuth/dist/tex/trip.typ
+++ b/systems/knuth/dist/tex/trip.typ
@@ -6,7 +6,7 @@ Options selected:
Resolution = 72.27000000 pixels per inch
numerator/denominator=25400000/473628672
magnification=2000; 0.00003052 pixels per DVI unit
-' TeX output 2014.01.07:0959'
+' TeX output 1776.07.04:1200'
42: beginning of page 0.0.0.0.11.0.0.0.0.0
87: down4 129105920
diff --git a/systems/knuth/dist/tex/tripin.fot b/systems/knuth/dist/tex/tripin.fot
new file mode 100644
index 0000000000..c1b004b9d1
--- /dev/null
+++ b/systems/knuth/dist/tex/tripin.fot
@@ -0,0 +1,89 @@
+This is TeX, Version 3.141592653 (INITEX)
+**
+Please type the name of your input file.
+**\input trip
+(trip.tex
+! Bad character code (256).
+<to be read again>
+ -
+l.26 \nonstopmode\lccode256-
+ 0\mathchardef\a="8000\def\a{ SC...
+! Bad mathchar (32768).
+<to be read again>
+ \def
+l.26 ...\mathchardef\a="8000\def
+ \a{ SCALED 3~2769}
+! Illegal magnification has been changed to 1000 (32769).
+<to be read again>
+ \skewchar
+l.28 \skewchar
+ \rip=`B \countdef\countz % \countz will be \c...
+! Missing number, treated as zero.
+<to be read again>
+ \def
+l.29 \def
+ \on{1} \toksdef\tokens=256 \show\errorstopmode
+! Bad register code (256).
+l.29 ...{1} \toksdef\tokens=256
+ \show\errorstopmode
+> \errorstopmode=\errorstopmode.
+l.29 ...=256 \show\errorstopmode
+
+> \rip .
+<recently read> \font
+
+l.30 \showthe\font
+ \showthe\pageshrink \showthe\pagegoal
+> 0.0pt.
+l.30 ...font \showthe\pageshrink
+ \showthe\pagegoal
+> 16383.99998pt.
+l.30 ...shrink \showthe\pagegoal
+
+! Illegal unit of measure (replaced by filll).
+l.32 ...fdim\hsize<\hsize\fi lll
+ minus 0 fill
+\one \csname on line 60
+! You can't use `\badness' in vertical mode.
+l.61 ...yphenpenalty 89 \badness
+
+! Bad \patterns.
+l.75 ...uage256\patterns{0111 \?
+ 50AA1b3 *1AcA. bb bb1 0B2B0 b...
+! Nonletter.
+l.75 ...ge256\patterns{0111 \?50
+ AA1b3 *1AcA. bb bb1 0B2B0 b1c...
+! Duplicate pattern.
+l.75 ...1b3 *1AcA. bb bb1 0B2B0
+ b1c}} % *==space
+! OK (see the transcript file).
+l.78 ...ns{q9q} -\0qq \showlists
+ {\language\?\noboundary111}%
+! Too late for \patterns.
+l.79 ...har\rip=`-\cr}}\patterns
+ {toolate}\showbox0}
+! OK (see the transcript file).
+<to be read again>
+ }
+l.79 ...terns{toolate}\showbox0}
+
+ )
+(see the transcript file for additional information)
+Beginning to dump on file trip.fmt
+ (preloaded format=trip 1776.7.4)
+1326 strings of total length 23633
+471 memory locations dumped; current usage is 96&278
+341 multiletter control sequences
+\font\nullfont=nullfont
+\font\rip=trip
+\font\smalltrip=trip at 5.0pt
+\font\bigtr
+p=trip at 20.0pt
+2279 words of font info for 3 preloaded fonts
+1 hyphenation exception
+Hyphenation trie of length 273 has 9 ops out of 500
+ 2 for language 255
+ 1 for language 98
+ 6 for language 0
+No pages of output.
+Transcript written on trip.log.
diff --git a/systems/knuth/dist/tex/tripin.log b/systems/knuth/dist/tex/tripin.log
index 1d98379456..b74d9ca61a 100644
--- a/systems/knuth/dist/tex/tripin.log
+++ b/systems/knuth/dist/tex/tripin.log
@@ -1,4 +1,4 @@
-This is TeX, Version 3.14159265 (INITEX) 7 JAN 2014 09:09
+This is TeX, Version 3.141592653 (INITEX) 4 JUL 1776 12:00
**\input trip
(trip.tex
! Bad character code (256).
@@ -447,8 +447,8 @@ l.79 ...terns{toolate}\showbox0}
)
Beginning to dump on file trip.fmt
- (preloaded format=trip 2014.1.7)
-1326 strings of total length 23646
+ (preloaded format=trip 1776.7.4)
+1326 strings of total length 23633
471 memory locations dumped; current usage is 96&278
341 multiletter control sequences
\font\nullfont=nullfont
diff --git a/systems/knuth/dist/texware/dvitype.web b/systems/knuth/dist/texware/dvitype.web
index a0c5dba2c7..687736dc87 100644
--- a/systems/knuth/dist/texware/dvitype.web
+++ b/systems/knuth/dist/texware/dvitype.web
@@ -32,7 +32,7 @@
\def\title{DVI$\,$\lowercase{type}}
\def\contentspagenumber{401}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont DVItype} processor}
@@ -1245,7 +1245,7 @@ if wp>0 then for k:=width_ptr to wp-1 do
options that the user must specify: The |out_mode| level is set to one of
five values (|errors_only|, |terse|, |mnemonics_only|,
|verbose|, |the_works|), giving
-different degrees of output; and the typeout can be confined to a
+different degrees of output; and the listing can be confined to a
restricted subset of the pages by specifying the desired starting page and
the maximum number of pages. Furthermore there is an option to specify the
resolution of an assumed discrete output device, so that pixel-oriented
@@ -2266,7 +2266,7 @@ if k<>post then bad_dvi('byte ',q:1,' is not post');
post_loc:=q; first_backpointer:=signed_quad
@ Note that the last steps of the above code save the locations of the
-the |post| byte and the final |bop|. We had better declare these global
+|post| byte and the final |bop|. We had better declare these global
variables, together with two more that we will need shortly.
@<Glob...@>=
diff --git a/systems/knuth/dist/texware/pltotf.web b/systems/knuth/dist/texware/pltotf.web
index d68e1e1b23..74f0e2073e 100644
--- a/systems/knuth/dist/texware/pltotf.web
+++ b/systems/knuth/dist/texware/pltotf.web
@@ -34,7 +34,7 @@
\def\title{PL\lowercase{to}TF}
\def\contentspagenumber{301}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont PLtoTF} processor}
@@ -393,7 +393,7 @@ both be used within the same \.{CHARACTER} list.
\yskip\noindent
The elements of a \.{VARCHAR} property list are either \.{TOP}, \.{MID},
-\.{BOT} or \.{REP}; the values are integers, which must be zero or the number
+\.{BOT}, or \.{REP}; the values are integers, which must be zero or the number
of a character in the font. A zero value for \.{TOP}, \.{MID}, or \.{BOT} means
that the corresponding piece of the extensible character is absent. A nonzero
value, or a \.{REP} value of zero, denotes the character code used to make
@@ -428,8 +428,8 @@ The slashes specify retention of the left or right original character; the
\yskip\hang\.{KRN} (a one-byte value and a real value). The instruction
`\.{(KRN} $c$ $r$\.)' means, ``If the next character is $c$, then insert
-a blank space of width $r$ between the current character character and $c$;
-otherwise go on to the next intruction.'' The value of $r$, which is in
+a blank space of width $r$ between the current character and $c$;
+otherwise go on to the next instruction.'' The value of $r$, which is in
design units, is often negative. Character code $c$ must exist
in the font.
@@ -2013,7 +2013,7 @@ where it is explained further.
@!lig_z:array[0..hash_size] of 0..257;
@!hash_ptr:0..hash_size; {the number of nonzero entries in |hash|}
@!hash_list:array[0..hash_size] of 0..hash_size; {list of those nonzero entries}
-@!h,@!hh:0..hash_size; {indices into the hash table}
+@!h:0..hash_size; {index into the hash table}
@!tt:indx; {temporary register}
@!x_lig_cycle,@!y_lig_cycle:0..256; {problematic ligature pair}
diff --git a/systems/knuth/dist/texware/pooltype.web b/systems/knuth/dist/texware/pooltype.web
index a7f7617abf..605063459c 100644
--- a/systems/knuth/dist/texware/pooltype.web
+++ b/systems/knuth/dist/texware/pooltype.web
@@ -16,7 +16,7 @@
\def\title{POOL\lowercase{type}}
\def\contentspagenumber{101}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont POOLtype} processor}
@@ -69,7 +69,7 @@ procedure initialize; {this procedure gets things started properly}
(The following material is copied verbatim from \TeX82.
Thus, the same system-dependent changes should be made to both programs.)
-In order to make \TeX\ readily portable between a wide variety of
+In order to make \TeX\ readily portable to a wide variety of
computers, all of its input text is converted to an internal eight-bit
code that includes standard ASCII, the ``American Standard Code for
Information Interchange.'' This conversion is done immediately when each
@@ -87,7 +87,7 @@ know what the real position is; the program that does the actual printing from
a particular font encoding.
@^ASCII code@>
-\TeX's internal code is relevant also with respect to constants
+\TeX's internal code also defines the value of constants
that begin with a reverse apostrophe; and it provides an index to the
\.{\\catcode}, \.{\\mathcode}, \.{\\uccode}, \.{\\lccode}, and \.{\\delcode}
tables.
@@ -367,7 +367,7 @@ extended character set recommended in {\sl The \TeX book\/} would, for
example, be `|k in [0,@'10..@'12,@'14,@'15,@'33,@'177..@'377]|'.
If character |k| cannot be printed, and |k<@'200|, then character |k+@'100| or
|k-@'100| must be printable; moreover, ASCII codes |[@'41..@'46,
-@'60..@'71, @'141..@'146, @'160..@'171]| must be printable.
+@'60..@'71, @'136, @'141..@'146, @'160..@'171]| must be printable.
Thus, at least 80 printable characters are needed.
@:TeXbook}{\sl The \TeX book@>
@^character set dependencies@>
diff --git a/systems/knuth/dist/texware/tftopl.web b/systems/knuth/dist/texware/tftopl.web
index 65095d4327..8496ede751 100644
--- a/systems/knuth/dist/texware/tftopl.web
+++ b/systems/knuth/dist/texware/tftopl.web
@@ -28,7 +28,7 @@
\def\title{TF\lowercase{to}PL}
\def\contentspagenumber{201}
\def\topofcontents{\null
- \def\titlepage{F} % include headline on the contents page
+ \titlefalse % include headline on the contents page
\def\rheader{\mainfont\hfil \contentspagenumber}
\vfill
\centerline{\titlefont The {\ttitlefont TFtoPL} processor}
@@ -782,7 +782,7 @@ end
@* Doing it.
\TeX\ checks the information of a \.{TFM} file for validity as the
file is being read in, so that no further checks will be needed when
-typesetting is going on. And when it finds something wrong, it justs
+typesetting is going on. And when it finds something wrong, it just
calls the file ``bad,'' without identifying the nature of the problem,
since \.{TFM} files are supposed to be good almost all of the time.
diff --git a/systems/knuth/dist/web/tangle.web b/systems/knuth/dist/web/tangle.web
index 8fa1c395f0..d20bbd8592 100644
--- a/systems/knuth/dist/web/tangle.web
+++ b/systems/knuth/dist/web/tangle.web
@@ -19,6 +19,7 @@
% Version 4.3 fixes @@ bug in verbatim, catches extra } (September, 1991).
% Version 4.4 activates debug_help on errors as advertised (February, 1993).
% Version 4.5 prevents modno-comments from being split across lines (Dec 2002).
+% Version 4.6 fixes archaic @@z logic; is again big enough for TeX (Jan 2021).
% Here is TeX material that gets inserted after \input webmac
\def\hang{\hangindent 3em\indent\ignorespaces}
@@ -31,13 +32,13 @@
\def\({} % kludge for alphabetizing certain module names
\def\title{TANGLE}
-\def\contentspagenumber{123} % should be odd
+\def\contentspagenumber{125} % should be odd
\def\topofcontents{\null\vfill
\titlefalse % include headline on the contents page
\def\rheader{\mainfont Appendix E\hfil \contentspagenumber}
\centerline{\titlefont The {\ttitlefont TANGLE} processor}
\vskip 15pt
- \centerline{(Version 4.5)}
+ \centerline{(Version 4.6)}
\vfill}
\pageno=\contentspagenumber \advance\pageno by 1
@@ -66,7 +67,7 @@ dependencies' in the index below.
The ``banner line'' defined here should be changed whenever \.{TANGLE}
is modified.
-@d banner=='This is TANGLE, Version 4.5'
+@d banner=='This is TANGLE, Version 4.6'
@ The program begins with a fairly normal header, made up of pieces that
@^system dependencies@>
@@ -182,7 +183,7 @@ should be sufficient for most applications of \.{TANGLE}.
@!buf_size=100; {maximum length of input line}
@!max_bytes=45000; {|1/ww| times the number of bytes in identifiers,
strings, and module names; must be less than 65536}
-@!max_toks=50000; {|1/zz| times the number of bytes in compressed \PASCAL\ code;
+@!max_toks=65000; {|1/zz| times the number of bytes in compressed \PASCAL\ code;
must be less than 65536}
@!max_names=4000; {number of identifiers, strings, module names;
must be less than 10240}
@@ -732,7 +733,7 @@ there are programs that need more than 65536 tokens, and some programs
even need more than 65536 bytes; \TeX\ is one of these. To get around
this problem, a slight complication has been added to the data structures:
|byte_mem| and |tok_mem| are two-dimensional arrays, whose first index is
-either 0 or 1. (For generality, the first index is actually allowed to run
+either 0 or 1 or 2. (For generality, the first index is actually allowed to run
between 0 and |ww-1| in |byte_mem|, or between 0 and |zz-1| in |tok_mem|,
where |ww| and |zz| are set to 2 and~3; the program will work for any
positive values of |ww| and |zz|, and it can be simplified in obvious ways
@@ -875,7 +876,7 @@ like simple identifiers, their |equiv| value points to the replacement text.
@ The names of modules are stored in |byte_mem| together
with the identifier names, but a hash table is not used for them because
\.{TANGLE} needs to be able to recognize a module name when given a prefix of
-that name. A conventional binary seach tree is used to retrieve module names,
+that name. A conventional binary search tree is used to retrieve module names,
with fields called |llink| and |rlink| in place of |link| and |ilk|. The
root of this tree is |rlink[0]|. If |p| is a pointer to a module name,
|equiv[p]| points to its replacement text, just as in simple and parametric
@@ -977,7 +978,7 @@ id_lookup:=p;
end;
@ A simple hash code is used: If the sequence of
-ASCII codes is $c_1c_2\ldots c_m$, its hash value will be
+ASCII codes is $c_1c_2\ldots c_n$, its hash value will be
$$(2^{n-1}c_1+2^{n-2}c_2+\cdots+c_n)\,\bmod\,|hash_size|.$$
@<Compute the hash...@>=
@@ -1311,7 +1312,7 @@ space or line breaks allowed between them (the \.{@@\&} operation of \.{WEB}).
\hang |double_dot| denotes `\.{..}' in \PASCAL.
\hang |verbatim| denotes the \.{@@=} that begins a verbatim \PASCAL\ string.
-It is also used for the end of the string.
+The \.{@@>} at the end of such a string is also denoted by |verbatim|.
\hang |force_line| denotes the \.{@@\\} that forces a new line in the
\PASCAL\ output.
@@ -1758,11 +1759,11 @@ output&|out_buf|&|out_state|&|out_sign|&|out_val|&|out_app|&|last_sign|\cr
(&\.(&|misc|\cr
x&\.{(x}&|num_or_id|\cr
-&\.{(x}&|sign|&&&$-1$&$-1$\cr
-15&\.{(x}&|sign_val|&\.{"+"}&$-15$&&$-15$\cr
+15&\.{(x}&|sign_val|&\.{"+"}&$-15$&&$-1$\cr
+&\.{(x}&|sign_val_sign|&\.{"+"}&$-15$&$+1$&$+1$\cr
19&\.{(x}&|sign_val_val|&\.{"+"}&$-15$&$+19$&$+1$\cr
-&\.{(x}&|sign_val_sign|&\.{"+"}&$+4$&$-1$&$-1$\cr
-2&\.{(x}&|sign_val_val|&\.{"+"}&$+4$&$-2$&$-2$\cr
+2&\.{(x}&|sign_val_val|&\.{"+"}&$+4$&$-2$&$-1$\cr
)&\.{(x+2)}&|misc|\cr}}$$
At each stage we have put as much into the buffer as possible without
knowing what is coming next. Examples like `\.{x-0.1}' indicate why
@@ -2474,9 +2475,7 @@ end;
@ @<Read from |web_file|...@>=
begin incr(line);
if not input_ln(web_file) then input_has_ended:=true
-else if limit=change_limit then
- if buffer[0]=change_buffer[0] then
- if change_limit>0 then check_change;
+else if change_limit>0 then check_change;
end
@ @<Read from |change_file|...@>=
@@ -2505,7 +2504,7 @@ had a line that didn't match any relevant line in |web_file|.
@<Check that all changes have been read@>=
if change_limit<>0 then {|changing| is false}
- begin for ii:=0 to change_limit do buffer[ii]:=change_buffer[ii];
+ begin for ii:=0 to change_limit-1 do buffer[ii]:=change_buffer[ii];
limit:=change_limit; changing:=true; line:=other_line; loc:=change_limit;
err_print('! Change file entry did not match');
@.Change file entry did not match@>
@@ -2606,7 +2605,7 @@ exit:end;
@ @<Do special things when |c="@@"...@>=
if c="@@" then
begin c:=buffer[loc];
- if (c<>" ")and(c<>tab_mark)and(c<>"*")and(c<>"z")and(c<>"Z") then incr(loc)
+ if (c<>" ")and(c<>tab_mark)and(c<>"*") then incr(loc)
else begin err_print('! Section ended in mid-comment');
@.Section ended in mid-comment@>
decr(loc); return;
@@ -2827,7 +2826,7 @@ if k>=longest_name-2 then
@* Scanning a numeric definition.
When \.{TANGLE} looks at the \PASCAL\ text following the `\.=' of a numeric
-macro definition, it calls on the precedure |scan_numeric(p)|, where |p|
+macro definition, it calls on the procedure |scan_numeric(p)|, where |p|
points to the name that is to be defined. This procedure evaluates the
right-hand side, which must consist entirely of integer constants and
defined numeric macros connected with \.+ and \.- signs (no parentheses).
@@ -3105,14 +3104,14 @@ loop@+ begin continue: while next_control<=format do
else if next_control=equivalence_sign then
begin define_macro(simple); goto continue;
end
- else @<If the next text is `|(#)==|', call |define_macro|
+ else @<If the next text is `\.{(\#)==}', call |define_macro|
and |goto continue|@>;
err_print('! Definition flushed since it starts badly');
@.Definition flushed...@>
end;
done:
-@ @<If the next text is `|(#)==|'...@>=
+@ @<If the next text is `\.{(\#)==}'...@>=
if next_control="(" then
begin next_control:=get_next;
if next_control="#" then
diff --git a/systems/knuth/dist/web/weave.web b/systems/knuth/dist/web/weave.web
index c1785c35cf..4981570e9b 100644
--- a/systems/knuth/dist/web/weave.web
+++ b/systems/knuth/dist/web/weave.web
@@ -26,6 +26,7 @@
% Version 4.2 conforms to ANSI standard for-loop rules (September, 1990).
% Version 4.3 catches extra } in input (Breitenlohner, September, 1991).
% Version 4.4 corrects changed_module logic, %-overflow (January, 1992).
+% Version 4.5 corrects archaic @@z logic and empty change file (January, 2021).
% Here is TeX material that gets inserted after \input webmac
\def\hang{\hangindent 3em\indent\ignorespaces}
@@ -46,7 +47,7 @@
\def\rheader{\mainfont Appendix D\hfil \contentspagenumber}
\centerline{\titlefont The {\ttitlefont WEAVE} processor}
\vskip 15pt
- \centerline{(Version 4.4)}
+ \centerline{(Version 4.5)}
\vfill}
\pageno=\contentspagenumber \advance\pageno by 1
@@ -73,7 +74,7 @@ dependencies' in the index below.
The ``banner line'' defined here should be changed whenever \.{WEAVE}
is modified.
-@d banner=='This is WEAVE, Version 4.4'
+@d banner=='This is WEAVE, Version 4.5'
@ The program begins with a fairly normal header, made up of pieces that
@^system dependencies@>
@@ -817,7 +818,7 @@ to be treated when \PASCAL\ code is being formatted.
@d for_like=12 {\&{for}, \&{while}, \&{with}}
@d goto_like=13 {\&{goto}, \&{packed}}
@d if_like=14 {\&{if}}
-@d in_like=15 {\&{in}}
+@d intercal_like=15 {not used}
@d nil_like=16 {\&{nil}}
@d proc_like=17 {\&{function}, \&{procedure}, \&{program}}
@d record_like=18 {\&{record}}
@@ -831,7 +832,7 @@ to be treated when \PASCAL\ code is being formatted.
@ The names of modules are stored in |byte_mem| together
with the identifier names, but a hash table is not used for them because
\.{WEAVE} needs to be able to recognize a module name when given a prefix of
-that name. A conventional binary seach tree is used to retrieve module names,
+that name. A conventional binary search tree is used to retrieve module names,
with fields called |llink| and |rlink| in place of |link| and |ilk|. The
root of this tree is |rlink[0]|.
@@ -1027,7 +1028,7 @@ id_lookup:=p;
end;
@ A simple hash code is used: If the sequence of
-ASCII codes is $c_1c_2\ldots c_m$, its hash value will be
+ASCII codes is $c_1c_2\ldots c_n$, its hash value will be
$$(2^{n-1}c_1+2^{n-2}c_2+\cdots+c_n)\,\bmod\,|hash_size|.$$
@<Compute the hash...@>=
@@ -1458,9 +1459,7 @@ end;
@ @<Read from |web_file|...@>=
begin incr(line);
if not input_ln(web_file) then input_has_ended:=true
-else if limit=change_limit then
- if buffer[0]=change_buffer[0] then
- if change_limit>0 then check_change;
+else if change_limit>0 then check_change;
end
@ @<Read from |change_file|...@>=
@@ -1497,7 +1496,7 @@ had a line that didn't match any relevant line in |web_file|.
@<Check that all changes have been read@>=
if change_limit<>0 then {|changing| is false}
- begin for ii:=0 to change_limit do buffer[ii]:=change_buffer[ii];
+ begin for ii:=0 to change_limit-1 do buffer[ii]:=change_buffer[ii];
limit:=change_limit; changing:=true; line:=other_line; loc:=change_limit;
err_print('! Change file entry did not match');
@.Change file entry did not match@>
@@ -1951,7 +1950,8 @@ straightforward outline.
@<Phase I: Read all the user's text and store the cross references@>=
phase_one:=true; phase_three:=false;
reset_input;
-module_count:=0; skip_limbo; change_exists:=false;
+module_count:=0; changed_module[0]:=false;
+skip_limbo; change_exists:=false;
while not input_has_ended do
@<Store cross reference data for the current module@>;
changed_module[module_count]:=change_exists;
@@ -2330,11 +2330,9 @@ while buffer[loc]<>"@@" do
if loc<=limit then
begin loc:=loc+2; c:=buffer[loc-1];
if (c=" ")or(c=tab_mark)or(c="*") then return;
- if (c<>"z")and(c<>"Z") then
- begin out("@@");
- if c<>"@@" then err_print('! Double @@ required outside of sections');
+ out("@@");
+ if c<>"@@" then err_print('! Double @@ required outside of sections');
@.Double \AT! required...@>
- end;
end
@ The |copy_TeX| routine processes the \TeX\ code at the beginning of a
@@ -2453,7 +2451,7 @@ The combination rules are given as context-sensitive productions that are
applied from left to right. Suppose that we are currently working on the
sequence of scraps $s_1\,s_2\ldots s_n$. We try first to find the longest
production that applies to an initial substring $s_1\,s_2\ldots\,$; but if
-no such productions exist, we find to find the longest production
+no such productions exist, we try to find the longest production
applicable to the next substring $s_2\,s_3\ldots\,$; and if that fails, we
try to match $s_3\,s_4\ldots\,$, etc.
@@ -3244,7 +3242,7 @@ else if cat[pp+2]=semi then
else if cat[pp+2]=var_head then
begin if cat[pp+3]=intro then
begin app1(pp+1); app(math_op); app(cancel);
- app1(pp+2); app("}"); reduce(pp+1,3,math,0)(31);
+ app1(pp+2); app("}"); reduce(pp+1,3,math,0)(33);
end;
end;
end
@@ -3436,7 +3434,8 @@ function translate:text_pointer; {converts a sequence of scraps}
label done,found;
var i: 1..max_scraps; {index into |cat|}
@!j:0..max_scraps; {runs through final scraps}
-@!k:0..long_buf_size; {index into |buffer|}
+@!debug@!k:0..long_buf_size; {index into |buffer|}
+gubed
begin pp:=scrap_base; lo_ptr:=pp-1; hi_ptr:=pp;
@<If tracing, print an indication of where we are@>;
@<Reduce the scraps...@>;
diff --git a/systems/knuth/dist/web/webman.tex b/systems/knuth/dist/web/webman.tex
index 61e12a2878..e4781c1da7 100644
--- a/systems/knuth/dist/web/webman.tex
+++ b/systems/knuth/dist/web/webman.tex
@@ -622,7 +622,8 @@ in the final \PASCAL\ program. The \.{TANGLE} processor will convert
`\.{@\{}' into `\.\{' in the \PASCAL\ output file, unless
the output is already part of a meta-comment; in the latter case
`\.{@\{}' is converted into `\.[', since \PASCAL\ does not allow
-nested comments. Incidentally, module numbers are automatically inserted
+nested comments. The \.{WEAVE} processor outputs `\.{@\{}'.
+Incidentally, module numbers are automatically inserted
as meta-comments into the \PASCAL\ program, in order to help correlate the
outputs of \.{WEAVE} and \.{TANGLE} (see Appendix~C\null). Meta-comments
can be used to put conditional text into a \PASCAL\ program; this helps to
@@ -633,6 +634,7 @@ boolean expressions.
\@\} [P] The end of a ``meta comment'' is indicated by `\.{@\}}'; this is
converted either into `\.\}' or `\.{]}' in the \PASCAL\ output, according
to the conventions explained for \.{@\{} above.
+The \.{WEAVE} processor outputs `\.{@\}}'.
\@\& [P] The \.{@\&} operation causes whatever is on its left to be
adjacent to whatever is on its right, in the \PASCAL\ output. No spaces or
@@ -812,7 +814,7 @@ comment that includes a brace in a string in \pb---e.g., `\.{\{{ }look at
this |"\{"| \}}'---will be handled correctly by \.{WEAVE}, but \.{TANGLE}
will think there is an unmatched left brace. In order to satisfy both
processors, one can write `\.{\{{ }look at this \\leftbrace\\{ }\}}', after
-setting up`\.{\\def\\leftbrace\{|"\{"|\}}'.
+setting up `\.{\\def\\leftbrace\{|"\{"|\}}'.
7. Reserved words of \PASCAL\ must appear entirely in lowercase letters
in the \.{WEB} file; otherwise their special nature will not be recognized
@@ -1196,7 +1198,7 @@ WRITE(TERMOUT,'(That was a fatal error, my friend.)');END;END{:263};
END.{:261}
?endgroup
\vfill\eject
- \pageno=197 % take account of the page numbers for App's D and E.
+ \pageno=200 % take account of the page numbers for App's D and E.
\def\runninghead{APPENDIX F --- MACROS FOR FORMATTING}
\section Appendix F: The \.{webmac.tex} file.
This is the file that extends ``plain \TeX'' format in order to support the
@@ -1590,7 +1592,7 @@ define all the ``switches'' like \&{debug} and \&{gubed} to be null in your
first change files; then you can sure that your compiler will handle
all of the code.)
\step(4) Make the changes of (2) in your copy of \.{TANGLE.PAS}. (If these
-changes are extensive, you might be better off finding some computer that
+changes are extensive, you might be better off finding some computer
that already has \.{TANGLE} running, and making the new \.{TANGLE.PAS}
from \.{TANGLE.WEB} and your \.{TANGLE.CH}.)
\step(5) Use your \PASCAL\ compiler to convert your copy of \.{TANGLE.PAS}
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 0ef2cb2cc8..3211acee97 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/2020
-depend revision/57671
+depend revision/57685
name 00texlive.image
category TLCore
@@ -83338,7 +83338,7 @@ catalogue-version 0.2
name cweb
category Package
-revision 55757
+revision 57677
catalogue cwebbin
shortdesc CWEB for ANSI-C/C++ compilers
longdesc A highly portable and extended version of Levy/Knuth CWEB 3.64c
@@ -83357,9 +83357,9 @@ longdesc 2019 CTAN no longer holds a copy of this material. Please go to
longdesc the package's github repository for more information.
depend cweb.ARCH
containersize 23636
-containerchecksum 91aba25759ab0156d17abd54b74131955982497e58af56e8ab0e6888f7603a8fc59a5e80405433a05a55f459036777824aaa877125056a4bb30dd1253b419d28
+containerchecksum d035068b5180561d9ce1715a4b9ae10d1ef4831174090b3888b8b85e2cad9859d74fa5bc67238c51c56ba0109c7528f0e501634f81db047837bd4d97475c2608
doccontainersize 428876
-doccontainerchecksum 6a0a8b6f3ce22e6d6d55acf21f0c7f203762828d81617f84364ec655fef9884d20c59ab0cf4bf9c3a5178e4fbc85ec007f36dfe838c92a2ba8674577a1649f2e
+doccontainerchecksum 371c393d32f86817d31ddd3dbac1e4f322356622541238cf2f18dae50d02562b9d401e647ac9f7b61be3aad59fada4112695e6866010fa4c196f62ae935353c3
docfiles size=136
texmf-dist/doc/man/man1/ctangle.1
texmf-dist/doc/man/man1/ctangle.man1.pdf
@@ -203105,17 +203105,17 @@ catalogue-version 1.03
name moodle
category Package
-revision 57334
+revision 57683
shortdesc Generating Moodle quizzes via LaTeX
relocated 1
longdesc A package for writing Moodle quizzes in LaTeX. In addition to
longdesc typesetting the quizzes for proofreading, the package compiles
longdesc an XML file to be uploaded to a Moodle server.
-containersize 27944
-containerchecksum 50b712781d14be099022f093f98f7725c2e80932e05f23da4f04a8a68f2a99e2c5526166b1cb9a2b3f4cdb7170cfd925bb1166a3d919d1645eb9c0c64c7a5cef
-doccontainersize 287728
-doccontainerchecksum d3d3d7a05e98295af949f98c728eda7970df9370e1e45d32dae4daebade3e3777b8db3ecf0bd9d648884448407966e642a2a697577559cfbbec5f64dd3877494
-docfiles size=259
+containersize 29392
+containerchecksum b2f992d02b16711eb5a79247d0f0b7b590ab21f419f181dcfec33006e08181f035c502f3a4d473fd211ed391f5d6225f2a91946649911db7af851f97d1ba2da3
+doccontainersize 313796
+doccontainerchecksum 9c609a686d13a8577f672988fa037ec48cc46b4006f7d42070c1411978cce615ace296a10d9a1140671c9972362a4ddcda5ceb80ab35e8b9c0628d90032b53a7
+docfiles size=287
RELOC/doc/latex/moodle/LICENSE
RELOC/doc/latex/moodle/README.md details="Readme"
RELOC/doc/latex/moodle/moodle.pdf details="Package documentation"
@@ -203125,6 +203125,9 @@ docfiles size=259
RELOC/doc/latex/moodle/test/fig/4.jpg
RELOC/doc/latex/moodle/test/fig/5.jpeg
RELOC/doc/latex/moodle/test/fig/MoodlE_logo.SVG
+ RELOC/doc/latex/moodle/test/fig/NoodlE_logo.png
+ RELOC/doc/latex/moodle/test/fig/NoodlE_logo.svg
+ RELOC/doc/latex/moodle/test/latin1ref/test_allornothing-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_autopoints-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_calculated_python-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_categories-moodle.ref
@@ -203142,19 +203145,24 @@ docfiles size=259
RELOC/doc/latex/moodle/test/latin1ref/test_fractions-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_french-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_generalfeedback-moodle.ref
+ RELOC/doc/latex/moodle/test/latin1ref/test_german-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_handout-moodle.ref
+ RELOC/doc/latex/moodle/test/latin1ref/test_htmlonly-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_includegraphics-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_includegraphics_via_tikz-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_includegraphics_via_tikz_and_svg-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_includegraphics_with_svg-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_macros-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_matching-moodle.ref
+ RELOC/doc/latex/moodle/test/latin1ref/test_math-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_mathenv-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_minted-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_multi-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_multiple_categories-moodle.ref
+ RELOC/doc/latex/moodle/test/latin1ref/test_paragraph_breaks-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_penalty-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_point_points-moodle.ref
+ RELOC/doc/latex/moodle/test/latin1ref/test_shortanswer-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_special_characters-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_tags-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_tikz-moodle.ref
@@ -203163,6 +203171,7 @@ docfiles size=259
RELOC/doc/latex/moodle/test/latin1ref/test_truefalse-moodle.ref
RELOC/doc/latex/moodle/test/latin1ref/test_verbatim-moodle.ref
RELOC/doc/latex/moodle/test/makefile
+ RELOC/doc/latex/moodle/test/test_allornothing.tex
RELOC/doc/latex/moodle/test/test_autopoints.tex
RELOC/doc/latex/moodle/test/test_calculated_lua.tex
RELOC/doc/latex/moodle/test/test_calculated_python.tex
@@ -203181,19 +203190,24 @@ docfiles size=259
RELOC/doc/latex/moodle/test/test_fractions.tex
RELOC/doc/latex/moodle/test/test_french.tex
RELOC/doc/latex/moodle/test/test_generalfeedback.tex
+ RELOC/doc/latex/moodle/test/test_german.tex
RELOC/doc/latex/moodle/test/test_handout.tex
+ RELOC/doc/latex/moodle/test/test_htmlonly.tex
RELOC/doc/latex/moodle/test/test_includegraphics.tex
RELOC/doc/latex/moodle/test/test_includegraphics_via_tikz.tex
RELOC/doc/latex/moodle/test/test_includegraphics_via_tikz_and_svg.tex
RELOC/doc/latex/moodle/test/test_includegraphics_with_svg.tex
RELOC/doc/latex/moodle/test/test_macros.tex
RELOC/doc/latex/moodle/test/test_matching.tex
+ RELOC/doc/latex/moodle/test/test_math.tex
RELOC/doc/latex/moodle/test/test_mathenv.tex
RELOC/doc/latex/moodle/test/test_minted.tex
RELOC/doc/latex/moodle/test/test_multi.tex
RELOC/doc/latex/moodle/test/test_multiple_categories.tex
+ RELOC/doc/latex/moodle/test/test_paragraph_breaks.tex
RELOC/doc/latex/moodle/test/test_penalty.tex
RELOC/doc/latex/moodle/test/test_point_points.tex
+ RELOC/doc/latex/moodle/test/test_shortanswer.tex
RELOC/doc/latex/moodle/test/test_special_characters.tex
RELOC/doc/latex/moodle/test/test_tags.tex
RELOC/doc/latex/moodle/test/test_tikz.tex
@@ -203201,6 +203215,7 @@ docfiles size=259
RELOC/doc/latex/moodle/test/test_tolerance.tex
RELOC/doc/latex/moodle/test/test_truefalse.tex
RELOC/doc/latex/moodle/test/test_verbatim.tex
+ RELOC/doc/latex/moodle/test/utf8ref/test_allornothing-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_autopoints-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_calculated_lua-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_calculated_python-moodle.ref
@@ -203219,19 +203234,24 @@ docfiles size=259
RELOC/doc/latex/moodle/test/utf8ref/test_fractions-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_french-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_generalfeedback-moodle.ref
+ RELOC/doc/latex/moodle/test/utf8ref/test_german-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_handout-moodle.ref
+ RELOC/doc/latex/moodle/test/utf8ref/test_htmlonly-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_includegraphics-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_includegraphics_via_tikz-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_includegraphics_via_tikz_and_svg-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_includegraphics_with_svg-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_macros-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_matching-moodle.ref
+ RELOC/doc/latex/moodle/test/utf8ref/test_math-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_mathenv-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_minted-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_multi-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_multiple_categories-moodle.ref
+ RELOC/doc/latex/moodle/test/utf8ref/test_paragraph_breaks-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_penalty-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_point_points-moodle.ref
+ RELOC/doc/latex/moodle/test/utf8ref/test_shortanswer-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_special_characters-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_tags-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_tikz-moodle.ref
@@ -203239,18 +203259,21 @@ docfiles size=259
RELOC/doc/latex/moodle/test/utf8ref/test_tolerance-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_truefalse-moodle.ref
RELOC/doc/latex/moodle/test/utf8ref/test_verbatim-moodle.ref
-srccontainersize 56656
-srccontainerchecksum 5feaff9520731afe0a6c078ab153f1f0d5c6f9f0f6b90cf90d1645d4d5b9ccecf7bd7a716d8f5e44d689119ff286ca9f57034901719418d1ddedcbb60b0489dd
-srcfiles size=65
+srccontainersize 60312
+srccontainerchecksum 3dde72eb7b513695ad3d59dc51bb8f5ba93ed3c2d6d8e90bcbd65e6ec3f86c3ef392eda8537f7a096badf0fa97080b5fb2d61831b38339946b0f4b734ac419b5
+srcfiles size=70
RELOC/source/latex/moodle/makefile
RELOC/source/latex/moodle/moodle.dtx
RELOC/source/latex/moodle/moodle.ins
-runfiles size=37
+runfiles size=39
RELOC/tex/latex/moodle/moodle.sty
+catalogue-contact-bugs https://framagit.org/mattgk/moodle/-/issues
+catalogue-contact-development https://framagit.org/mattgk/moodle
+catalogue-contact-repository https://framagit.org/mattgk/moodle/-/tree/master
catalogue-ctan /macros/latex/contrib/moodle
catalogue-license lppl1.3
catalogue-topics exam
-catalogue-version 0.8
+catalogue-version 0.9
name moreenum
category Package
@@ -285283,7 +285306,7 @@ catalogue-version 1
name teubner
category Package
-revision 57486
+revision 57684
shortdesc Philological typesetting of classical Greek
relocated 1
longdesc An extension to babel greek option for typesetting classical
@@ -285293,18 +285316,18 @@ longdesc from that of the fonts used in printers' shops in Lispia. The
longdesc package name honours the publisher B.G. Teubner
longdesc Verlaggesellschaft whose Greek text publications are of high
longdesc quality.
-containersize 9624
-containerchecksum c6e84a06133c8abf312eeefe2204378525371b88dc30d4919c50ee7db5e3b83e92b72fad0faea722cd4a0fa2e7a84cfaf2fa8e8dee6c6f03b164156414b8179d
-doccontainersize 1049744
-doccontainerchecksum ca5fd8ad4c87c5d54e5db8dcc65226c1bc54133cceb5f67bb501c50db4ea8be451af9790113bdf858c9f2fbf585d6e0e22e228de04d126fe525f02d1ed7ea4bc
+containersize 9644
+containerchecksum 9f83b38366047a36b064162abce047026bf71341ab4d0ae1f3f827b1b73e790d25a5deaa1a5c724c80a75a081d82ffbc6e24b1b41c5c09efe4e10ffbd1ed5a65
+doccontainersize 1051276
+doccontainerchecksum 16e3c96b9a6da29e06a80cf1e98cb2b993d1f98b5827ab05cacba7f29dc1e28dfb704d096295bdf6b995408d83ad42af6b8a59eecc78be41a4e5219fded64627
docfiles size=278
RELOC/doc/latex/teubner/README details="Readme"
RELOC/doc/latex/teubner/teubner-doc.pdf details="User manual"
RELOC/doc/latex/teubner/teubner-doc.tex
RELOC/doc/latex/teubner/teubner.pdf details="Package documentation"
RELOC/doc/latex/teubner/teubner.txt
-srccontainersize 40432
-srccontainerchecksum 8fc149036450c812c47bb80b6028335a433fc0f5762a55a2a05f4e46efe83b175802485f3c9b41613eeba48b32ad92337b28bdeaa05aebd2aa099571514d5a22
+srccontainersize 40464
+srccontainerchecksum 807b8754730c20c0327eee6bef45a83ff8ba8134477fbecd4b5f3cc9c0ad95bad74a698c12a0906d0211a4d9a0b0a0ac3d74864db375e42879cc32821c363e23
srcfiles size=43
RELOC/source/latex/teubner/teubner.dtx
runfiles size=14
@@ -285313,7 +285336,7 @@ runfiles size=14
catalogue-ctan /macros/latex/contrib/teubner
catalogue-license lppl1.3c
catalogue-topics greek multilingual-addon
-catalogue-version 5.2
+catalogue-version 5.4
name tex
category TLCore
@@ -287469,7 +287492,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 57671
+revision 57685
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
@@ -287484,10 +287507,10 @@ longdesc restricted-syntax systems such as hyperlatex and gellmu. Note
longdesc that CTAN no longer holds the definitive sources of the
longdesc package: see the 'Readme' file.
depend tex4ht.ARCH
-containersize 903956
-containerchecksum 6bbbb7628875f696f8a744243d2a1bb0fb3736cec5b1181eea293ab3f802a15dd0bde5ebe99d02181f693995cd7d162bbfb87d48a7ac51c10943d73d4b98798b
-doccontainersize 136156
-doccontainerchecksum 159977954585d80e9b6af05b4dbc7752b06e8995f3aa6d6d508405075b8f4a7067966a18078363776fa865bcd424d27155fcec0ef9b4b43615ce20e13947909b
+containersize 903960
+containerchecksum ec79253673a57409af3fc529ede82b76a9f1c09248c8dbef3f61794183555d2ab394ae1f3abf389724b5f4ff5a71ef5fea2c1829c8cd9017e95188e699adbcdd
+doccontainersize 136160
+doccontainerchecksum 51a99d1bbac0fd677cf65a8c72fbce34051272e06a092bae7fe5cd6dc89a056db0e9237f723b404991ccce5be70131d5f8d6c17ba1f27b777e8134d0ee28216d
docfiles size=259
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex
@@ -296361,15 +296384,15 @@ docfiles size=591
name texlive-docindex
category TLCore
-revision 57631
+revision 57674
shortdesc top-level TeX Live doc.html, etc.
longdesc These files are regenerated as needed, which is often, so we
longdesc make them a separate package. See the tl-update-auto script for
longdesc the process.
containersize 388
-containerchecksum 8ca04792431f8505453e37e2f80e142c486e4c164d2eeeb759fc02f0b985e8231359595cc2dd167729ae256478c4fc4391862710248593aa5a01e3fed20ef8e6
-doccontainersize 172912
-doccontainerchecksum 1283fffe62e20b1016022409c2140a2dea81067dbb2af64f27bde33e9e45c09fade74e97bbc15c1702bcbc85c6bc94b1a66b7b620eefc8e8d0870a9a7412d3d9
+containerchecksum f75a7fe3fa463fad9a6269880c1654ed24128e91f51e4618f41452b37173966ddcf8cbe14cac27bae2623f01ca13f503d23726abb55db9bb635c1035a851eba8
+doccontainersize 172916
+doccontainerchecksum 610e90d5bbf5020f8f630c2895ca814009cd52e0c4cd95ed4cc18d1f14c50a5c5cfafd71dafcc4e8062b85f80ea75d85c3e743bd2d6114e9acefa639bd0dd542
docfiles size=343
doc.html
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 732516bb81..f50c17cd21 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-c0b26101d1c48edea1aa9b658bfe4170 texlive.tlpdb
+8728e7e717ac54f5957529836e098ef0 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index ca71492e72..3efaf6b77e 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-929e0d9b8ce03347cd3a0391fa3697159d133e3faf4dffc6ea3d10fd9afb5bc7476a016c081c05c5a1be2c0498be343724816ca8125d3aa584acd210666a6f29 texlive.tlpdb
+f4a208456c708729a0f739548da3a17c416c28b44473cc7b252515fd972b71e40b60358f39faa332d021e013760d5680c32b444f0c043d76a6153e4e541bcbbe texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index ba34e1fb8a..84c7561171 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-----
-iQEcBAEBCgAGBQJgIIzxAAoJEEzhh34ZQ4xw9tYH/0ZdfIsBFXC8z6UfBG4WtlEn
-DJ2ATcGdEQx0I9UuOC7e0IVj133vDBBHrTwaG0PRgUn1R6wKouKlRoAhMGYvPpuF
-B1R5P/+ik8a2p12CSCNhEo8bzuNy2+7pERiMYO77T5zab7V/ffzEr5zCR0/0I/rf
-yE78yTpSfixh0zY14Hc7tEizbgdpU9yC26Du/7S+GHCDTRX0Mb7O2B/RL7tcSt0s
-XuIrcqGeeTjMJ1DM9EDGZ+UdEdEYVURLPr6FHw4pyv0mUW6mOeUsjSCH0pVutwqz
-PdpwRQNa5GcLmRzIdroCjgC8cpNUayzFHszLlywkVLyQX3BRI65xcPgy+cQjh54=
-=7awd
+iQEcBAEBCgAGBQJgId4SAAoJEEzhh34ZQ4xwqrsIAJfSyFYYFRhoYsodpYCcrjk4
+Nmr0q3pD4lMpNLsOFH3ACB+ew1sFrbUYbeK3Z8rQieey8pXFys2p5YXdxewtDRyx
+eA5lB902J+2zmxAvErA9lzwnWzUc8jeT3LquIE+qnXAid+t/R2TV2ZS+8ng0Wdv0
+ayVIiyQrrJbBOOylSnSSyMCXsjgnR1AZmzNLOvHZ7jSGYD4zpWeAcNxXhDUtPDl3
+/vqDR9fKP+eMFuDoWKU9Y6P+HyIL8+EuWsw5RSUv1uRQ1gZ+lyMbkqUdWS7XXEmM
+m/v28tJ1EiL9/f6IYUlk7MhTrmBISCdx3xmdt8E8ZDK0gdBCbazOYrJgvBFNJCw=
+=NXsC
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index b43ff32e82..d7fa24c483 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index b14cbbccc3..b8b7017dd9 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1612818900
+date=1612905299
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=58753e29bcaf31e1a4ebcf49e83be266
+lstdigest=731dd6d6785a76fe90755332779a123e
numpkg=4044
relstate=next
-version=7709
+version=7710
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: pBltI25wEhsX8TDkynbBX0kjAi7xvOh5hEoRWsLJl5vdEIcgfe2CSdQAR8WzvRwyuFAfMV62jg7fibdHeCDw/sPwpdi4Q7dr3sPgYeC7ol97cjNYM1IG+rZLu2JgthAiMWL/MiZtXUDe3qYpARduGBi8mdglMhwLSZIdbhNQ6U56IO3wBJVyRNZ4RO+PjL76qEMJ/qnz+mEBpQELE4okjbp5wOT5xLirso1UPNUZz2V1YtdFVLrzYns+WUdEYFT2BuHIJ0l8Ot+/LAXI9VZjCLtanzElCLpZ5q0xk0vo5zq6xgMv83yQA8377TL7QziawcXZhqUHzd1f+t76cr154g==
+;;;; signature/miktex: LSMHTc54qe2laRql8OZVtBXBW49mOmPxNwV8qgPm2ZAf2oHZUwlOFx5qhgpQuvaa/wY/iRQJwEZChYMWKr62Imbycxs+sUHZMYN0T+mgdU9PYNIubKtXhZzEooWEBleodDrEv9AvwR2mqsO17yC6fh/Zy0FDC+jLZnQUcFcZs0EITxQWL0+BUaULZYOq3+WQzEEyEWi6wCB2N7N8C3aEreSFuqx6a+1P6/LoMcc0Z1zFii11EJE9xpPYvrrmq6srqXA2HXaD2a6P/el/yOUFLJDBC+GkAH0aUuMUqwIL/hVUl/MgMXcxje4313qC6hYpkf5z+uu8jmjiUHPrwdT0Cw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 2f552692f8..f15234a1fd 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1612818713
+date=1612905105
lastupd=easybook fontsize haranoaji haranoaji-extra kpfonts-otf lexend mcf2graph profcollege rmannot texnegar windycity witharrows xsim asymptote changes chinese-jfm cmap ebproof fancyhdr fontsetup
-lstdigest=83db353df8ae3299d8e6ffba660d3983
+lstdigest=fb0527363274cf9903cec93b2d7eba83
numpkg=4044
relstate=stable
-version=7709
+version=7710
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: QrX4SnGTISg9VWrCIv16A2vIB+twpPF+sPvA3vp1AlJaSBsFKkCEATdJJ8Uea9viDA+nlEom7xcV1WzaSxScgbFhvsT3++u4YafHWtbvlF3ChlK94XXP3nHoHVaUuhwM7DZ0WjlgH/0FPBfITkUvGQAMgGdtGxtJXbXfk2GcZpGnhXjWxQHl2VXp8uKGqQZh5WJu0mqXAn/Wdw2JkGNiruqsda6jJQEtDunf4UHrMzL85nHev5jq5Yir6M7EOqLYTj6y2+HI24qjkeLBrfci0SPJiNY2CbwUObstKPVNc3bHu0YhCXPdAjG46zRFcvVRDSuGLVjRD/whlXilh1XgXg==
+;;;; signature/miktex: ON1XAFGTw9Z/I8JP4CURoIwaDc1TnG8o4QqE2ehQb+0CTJ+07mRS8BkBwpDHIgjfUJ4BjKkTGUyuT27hc0MUSDhODpmVIDSFS472UTeZoveW/t5JsdGBKLmWh6YxldIUifFErULNJbweA45mK+hDI4y5wm7w9jtdRh9QYqwFp4L+yiyGSIl/cYwLoxRGZ0Xcpvz8udtOwCdAhmefVhnpnMs7/GMausyEygBxcRW8/BWp20ffDu/5vNOpygqi1QQ9QEjoD7hdew9U//9ho2nfMQ6cZq/J1G9aFQK33w942t0N8YNVeCDwZoB04LBK2urm0bFdnGvV0nyINKbOzwnozw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index 6ed154a689..3c4a853054 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,38 @@
W32TeX (x86 & x64) ChangeLog
+[2021/02/08]
+(01) cweb-w32.tar.xz
+ Update cweb.
+(02) latex-dev.tar.xz
+ Update format files.
+(03) ltxpkgs.tar.xz
+ Update hyperref, l3backend, l3experimental, l3kernel and moodle.
+(04) luatex-dev-w32.tar.xz
+ Update format files.
+(05) luatex-exp-w32.tar.xz
+ Update format files.
+(06) luatex-w32.tar.xz
+ Update format files.
+(07) pdftex-w32.tar.xz
+ Update format files.
+(08) pmx.tar.xz
+ Add xml2pmx.
+(09) ptex-ng-w32.tar.xz
+ Update format files.
+(10) ptex-w32.tar.xz
+ Update format files.
+(11) tex4htk-w32.tar.xz
+ Add exerquiz-hooks.4ht. Update exerquiz.4ht, html-mml.4ht,
+ html4.4ht, plain.4ht and usepackage.4ht.
+(12) uptex-w32.tar.xz
+ Update format files.
+(13) xetex-w32.tar.xz
+ Update format files.
+(14) win64/cweb-w64.tar.xz
+ Update cweb.
+(15) win64/pmx-w64.tar.xz
+ Add xml2pmx.
+
[2021/02/07]
(01) ltxpkgs.tar.xz
Update fontsize, ragged2e and suftesi.
diff --git a/timestamp b/timestamp
index d4b545bc04..271e5c9e39 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2021-02-09-02-02
+2021-02-10-02-02