summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname143
-rw-r--r--FILES.byname.gzbin2544008 -> 2544097 bytes
-rw-r--r--FILES.last07days274
-rw-r--r--biblio/ctan-bibdata/ctan.bib16
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3700630 -> 3701009 bytes
-rw-r--r--info/latex4wp/HOW-TO-TYPESET20
-rw-r--r--info/latex4wp/README.md (renamed from info/latex4wp/README)0
-rw-r--r--info/latex4wp/TODO.md18
-rw-r--r--info/latex4wp/exa.sty2
-rw-r--r--info/latex4wp/inkscape-tb.pngbin19507 -> 17361 bytes
-rw-r--r--info/latex4wp/latex4wp.pdfbin647140 -> 1155101 bytes
-rw-r--r--info/latex4wp/latex4wp.tex2242
-rw-r--r--info/latex4wp/pandoc_template.md30
-rw-r--r--info/latex4wp/pandoc_template.pdfbin0 -> 200717 bytes
-rw-r--r--info/latex4wp/piper.jpgbin0 -> 6264 bytes
-rw-r--r--info/latex4wp/tbx.eps840
-rw-r--r--info/latex4wp/tbx.pdfbin7277 -> 21608 bytes
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx304
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin3399651 -> 3405893 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua4
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.lua57
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.pdfbin55459 -> 62224 bytes
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.sty117
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.tex91
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb141
-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.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2470840 -> 2464888 bytes
-rw-r--r--timestamp2
31 files changed, 1844 insertions, 2479 deletions
diff --git a/FILES.byname b/FILES.byname
index b6c1edca88..dac03875eb 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2056,12 +2056,12 @@
2023/07/04 | 1675 | biblio/citation-style-language/README.md
2023/07/04 | 12878 | biblio/citation-style-language/vancouver.csl
2023/07/04 | 4522435 | biblio/citation-style-language.zip
-2023/08/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/08/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/08/27 | 2806567 | biblio/ctan-bibdata/ctan.bib
-2023/08/27 | 3700020 | biblio/ctan-bibdata/ctan.pdf
+2023/08/28 | 2806566 | biblio/ctan-bibdata/ctan.bib
+2023/08/28 | 3700630 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/08/27 | 4101565 | biblio/ctan-bibdata.zip
+2023/08/28 | 4101014 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5421,7 +5421,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/08/27 | 93352 | FILES.last07days
+2023/08/28 | 74623 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -147939,7 +147939,7 @@
2014/10/12 | 3888 | fonts/utilities/ps2pk/blues.h
2006/01/17 | 231 | fonts/utilities/ps2pk/bstring.c
2021/06/30 | 5863 | fonts/utilities/ps2pk/c-auto.in
-2022/11/06 | 13161 | fonts/utilities/ps2pk/ChangeLog
+2023/08/27 | 13286 | fonts/utilities/ps2pk/ChangeLog
2016/02/01 | 3295 | fonts/utilities/ps2pk/CHANGES.type1
2006/01/17 | 1595 | fonts/utilities/ps2pk/cluts.h
2007/07/03 | 710 | fonts/utilities/ps2pk/configure
@@ -148013,9 +148013,9 @@
2014/10/13 | 3319 | fonts/utilities/ps2pk/t1stdio.h
2014/10/12 | 1717 | fonts/utilities/ps2pk/t1stub.c
2006/01/17 | 16948 | fonts/utilities/ps2pk/t1test.c
-2017/11/15 | 705 | fonts/utilities/ps2pk/tests/lmmath.test
+2023/08/27 | 775 | fonts/utilities/ps2pk/tests/lmmath.test
2014/10/14 | 18700 | fonts/utilities/ps2pk/tests/lmmi12.600pk
-2018/09/09 | 1392 | fonts/utilities/ps2pk/tests/ps2pk.test
+2023/08/27 | 1566 | fonts/utilities/ps2pk/tests/ps2pk.test
2012/07/11 | 9216 | fonts/utilities/ps2pk/tests/Symbol10.300pk
2012/07/11 | 9644 | fonts/utilities/ps2pk/tests/Symbol.afm
2012/07/11 | 279 | fonts/utilities/ps2pk/tests/Symbol.alpha.hex
@@ -148034,7 +148034,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
-2023/06/19 | 501804 | fonts/utilities/ps2pk.zip
+2023/08/28 | 501990 | 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
@@ -166596,7 +166596,7 @@
2023/03/01 | 46300 | indexing/makeindexk/aclocal.m4
2009/04/23 | 341 | indexing/makeindexk/ac/withenable.ac
2021/06/30 | 5087 | indexing/makeindexk/c-auto.in
-2022/05/22 | 9653 | indexing/makeindexk/ChangeLog
+2023/08/27 | 9762 | indexing/makeindexk/ChangeLog
2007/07/03 | 710 | indexing/makeindexk/configure
2022/05/22 | 988 | indexing/makeindexk/configure.ac
2023/06/19 | 542840 | indexing/makeindexk/configure.texk
@@ -166629,7 +166629,7 @@
2021/09/19 | 15087 | indexing/makeindexk/scanst.c
2011/09/24 | 5321 | indexing/makeindexk/scanst.h
2013/04/16 | 7443 | indexing/makeindexk/sortid.c
-2022/05/22 | 2313 | indexing/makeindexk/tests/makeindex.test
+2023/08/27 | 2389 | indexing/makeindexk/tests/makeindex.test
2011/09/24 | 225 | indexing/makeindexk/tests/nested-range-bb.idx
2011/09/24 | 2251 | indexing/makeindexk/tests/nested-range-bb.tex
2011/09/24 | 84 | indexing/makeindexk/tests/nested-range.idx
@@ -166676,7 +166676,7 @@
2022/05/22 | 681 | indexing/makeindexk/tests/romalpD.idx
2012/07/27 | 459 | indexing/makeindexk/tests/sample.idx
2012/07/27 | 268 | indexing/makeindexk/tests/sample.ind
-2023/06/19 | 246871 | indexing/makeindexk.zip
+2023/08/28 | 246932 | indexing/makeindexk.zip
1989/08/31 | 10291 | indexing/makeindex/lib/idxmac-amstex.tex
1989/08/31 | 7082 | indexing/makeindex/lib/idxmac.tex
1989/08/31 | 280 | indexing/makeindex/lib/makeidx.doc
@@ -191673,12 +191673,12 @@
2019/01/19 | 75713 | info/latex4musicians/verses-chords.pdf
2019/01/19 | 2343413 | info/latex4musicians.zip
2014/02/07 | 547 | info/latex4wp/dat2tex.sh
-2014/02/07 | 3040 | info/latex4wp/exa.sty
+2017/09/20 | 3043 | info/latex4wp/exa.sty
2014/02/07 | 399 | info/latex4wp/gnuplot.gp
2014/02/07 | 47724 | info/latex4wp/gnuplot.pdf
-2015/01/07 | 662 | info/latex4wp/HOW-TO-TYPESET
+2023/08/28 | 751 | info/latex4wp/HOW-TO-TYPESET
2014/12/15 | 80642 | info/latex4wp/inkscape.png
-2014/12/15 | 19507 | info/latex4wp/inkscape-tb.png
+2023/08/10 | 17361 | info/latex4wp/inkscape-tb.png
2015/01/07 | 668 | info/latex4wp-it/COME-COMPORRE
2014/02/07 | 547 | info/latex4wp-it/dat2tex
2014/02/07 | 3040 | info/latex4wp-it/exa.sty
@@ -191694,14 +191694,17 @@
2014/02/07 | 7850 | info/latex4wp-it/tbx.pdf
2014/02/07 | 375 | info/latex4wp-it/tbx.tex
2015/01/08 | 867019 | info/latex4wp-it.zip
-2015/01/08 | 647140 | info/latex4wp/latex4wp.pdf
-2015/01/08 | 94119 | info/latex4wp/latex4wp.tex
+2023/08/28 | 1155101 | info/latex4wp/latex4wp.pdf
+2023/08/28 | 100281 | info/latex4wp/latex4wp.tex
2014/02/07 | 6766 | info/latex4wp/midifile.mid
-2014/12/15 | 270 | info/latex4wp/README
-2014/02/07 | 47583 | info/latex4wp/tbx.eps
-2014/02/07 | 7277 | info/latex4wp/tbx.pdf
-2014/02/07 | 360 | info/latex4wp/tbx.tex
-2015/01/08 | 835492 | info/latex4wp.zip
+2018/01/03 | 455 | info/latex4wp/pandoc_template.md
+2018/01/03 | 200717 | info/latex4wp/pandoc_template.pdf
+2016/04/13 | 6264 | info/latex4wp/piper.jpg
+2014/12/15 | 270 | info/latex4wp/README.md
+2023/08/10 | 21608 | info/latex4wp/tbx.pdf
+2017/09/21 | 360 | info/latex4wp/tbx.tex
+2023/08/28 | 173 | info/latex4wp/TODO.md
+2023/08/28 | 1543533 | info/latex4wp.zip
2013/01/22 | 1661992 | info/latex-brochure/brochure-a3folderFB.pdf
2013/01/22 | 363506 | info/latex-brochure/brochure-a3folderIN.pdf
2013/01/22 | 1208297 | info/latex-brochure/brochure-a4.pdf
@@ -194496,7 +194499,7 @@
2012/10/01 | 317588 | install/macros/latex/contrib/longnamefilelist.tds.zip
2012/05/03 | 406018 | install/macros/latex/contrib/lstaddons.tds.zip
2011/03/25 | 10183 | install/macros/latex/contrib/ltxdockit.tds.zip
-2023/02/28 | 4470969 | install/macros/latex/contrib/lwarp.tds.zip
+2023/08/28 | 4476570 | install/macros/latex/contrib/lwarp.tds.zip
2019/11/29 | 336437 | install/macros/latex/contrib/magicnum.tds.zip
2009/09/03 | 125014 | install/macros/latex/contrib/makecmds.tds.zip
2018/08/09 | 330020 | install/macros/latex/contrib/marginnote.tds.zip
@@ -202108,7 +202111,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
-2023/08/16 | 115989948 | macros/context/latest/cont-tmf.zip
+2023/08/27 | 116557832 | 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
@@ -228985,15 +228988,15 @@
1999/06/10 | 980 | macros/latex/contrib/lucold/t1hlos.fd
1999/05/25 | 407 | macros/latex/contrib/lucold/test.tex
2005/04/30 | 25682 | macros/latex/contrib/lucold.zip
-2023/02/28 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
-2023/02/28 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
-2023/02/28 | 2851759 | macros/latex/contrib/lwarp/lwarp.dtx
-2023/02/28 | 33823 | macros/latex/contrib/lwarp/lwarp.ins
-2023/02/28 | 29836 | macros/latex/contrib/lwarp/lwarpmk.lua
-2023/02/28 | 3399651 | macros/latex/contrib/lwarp/lwarp.pdf
-2023/02/28 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
-2023/02/28 | 1623 | macros/latex/contrib/lwarp/README.txt
-2023/02/28 | 3871689 | macros/latex/contrib/lwarp.zip
+2023/08/28 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
+2023/08/28 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
+2023/08/28 | 2854154 | macros/latex/contrib/lwarp/lwarp.dtx
+2023/08/28 | 33823 | macros/latex/contrib/lwarp/lwarp.ins
+2023/08/28 | 29836 | macros/latex/contrib/lwarp/lwarpmk.lua
+2023/08/28 | 3405893 | macros/latex/contrib/lwarp/lwarp.pdf
+2023/08/28 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
+2023/08/28 | 1623 | macros/latex/contrib/lwarp/README.txt
+2023/08/28 | 3877270 | macros/latex/contrib/lwarp.zip
2006/09/11 | 4093 | macros/latex/contrib/lyx/sikumuna/article-sikumuna.layout
2006/09/11 | 781 | macros/latex/contrib/lyx/sikumuna/README
2006/09/11 | 1806 | macros/latex/contrib/lyx/sikumuna.zip
@@ -245330,12 +245333,12 @@
2023/07/22 | 26787 | macros/luatex/generic/penlight/penlight.pdf
2023/07/22 | 1569 | macros/luatex/generic/penlight/penlight.sty
2023/07/22 | 4053 | macros/luatex/generic/penlight/penlight.tex
-2023/07/22 | 26417 | macros/luatex/generic/penlightplus/penlightplus.lua
-2023/07/22 | 55459 | macros/luatex/generic/penlightplus/penlightplus.pdf
-2023/07/22 | 4027 | macros/luatex/generic/penlightplus/penlightplus.sty
-2023/07/22 | 8957 | macros/luatex/generic/penlightplus/penlightplus.tex
-2023/07/22 | 1132 | macros/luatex/generic/penlightplus/README.md
-2023/07/23 | 63014 | macros/luatex/generic/penlightplus.zip
+2023/08/27 | 27623 | macros/luatex/generic/penlightplus/penlightplus.lua
+2023/08/27 | 62224 | macros/luatex/generic/penlightplus/penlightplus.pdf
+2023/08/27 | 5630 | macros/luatex/generic/penlightplus/penlightplus.sty
+2023/08/27 | 11611 | macros/luatex/generic/penlightplus/penlightplus.tex
+2023/08/27 | 1132 | macros/luatex/generic/penlightplus/README.md
+2023/08/28 | 71183 | macros/luatex/generic/penlightplus.zip
2023/07/22 | 1259 | macros/luatex/generic/penlight/README.md
2023/07/23 | 143942 | macros/luatex/generic/penlight.zip
2013/05/25 | 2280 | macros/luatex/generic/spelling/CHANGES
@@ -291631,9 +291634,9 @@
2023/08/16 | 4532 | systems/texlive/tlnet/archive/brandeis-dissertation.source.r67935.tar.xz
2019/05/05 | 148788 | systems/texlive/tlnet/archive/brandeis-problemset.doc.r50991.tar.xz
2019/05/05 | 6860 | systems/texlive/tlnet/archive/brandeis-problemset.r50991.tar.xz
-2023/08/24 | 150536 | systems/texlive/tlnet/archive/brandeis-thesis.doc.r68039.tar.xz
-2023/08/24 | 1720 | systems/texlive/tlnet/archive/brandeis-thesis.r68039.tar.xz
-2023/08/24 | 3592 | systems/texlive/tlnet/archive/brandeis-thesis.source.r68039.tar.xz
+2023/08/28 | 151072 | systems/texlive/tlnet/archive/brandeis-thesis.doc.r68092.tar.xz
+2023/08/28 | 1892 | systems/texlive/tlnet/archive/brandeis-thesis.r68092.tar.xz
+2023/08/28 | 3844 | systems/texlive/tlnet/archive/brandeis-thesis.source.r68092.tar.xz
2019/02/28 | 148116 | systems/texlive/tlnet/archive/breakcites.doc.r21014.tar.xz
2019/02/28 | 956 | systems/texlive/tlnet/archive/breakcites.r21014.tar.xz
2019/02/28 | 107520 | systems/texlive/tlnet/archive/breakurl.doc.r29901.tar.xz
@@ -292375,7 +292378,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2023/05/16 | 400 | systems/texlive/tlnet/archive/collection-langportuguese.r67125.tar.xz
2023/06/09 | 396 | systems/texlive/tlnet/archive/collection-langspanish.r67307.tar.xz
-2023/08/19 | 6936 | systems/texlive/tlnet/archive/collection-latexextra.r67974.tar.xz
+2023/08/28 | 6948 | systems/texlive/tlnet/archive/collection-latexextra.r68087.tar.xz
2022/06/10 | 700 | systems/texlive/tlnet/archive/collection-latex.r63515.tar.xz
2023/01/11 | 744 | systems/texlive/tlnet/archive/collection-latexrecommended.r65512.tar.xz
2023/08/26 | 1008 | systems/texlive/tlnet/archive/collection-luatex.r68053.tar.xz
@@ -292699,6 +292702,8 @@
2019/02/28 | 1544 | systems/texlive/tlnet/archive/crbox.r29803.tar.xz
2023/07/24 | 99940 | systems/texlive/tlnet/archive/create-theorem.doc.r67712.tar.xz
2023/07/24 | 11304 | systems/texlive/tlnet/archive/create-theorem.r67712.tar.xz
+2023/08/28 | 159092 | systems/texlive/tlnet/archive/creationboites.doc.r68087.tar.xz
+2023/08/28 | 2200 | systems/texlive/tlnet/archive/creationboites.r68087.tar.xz
2023/07/25 | 75892 | systems/texlive/tlnet/archive/crefthe.doc.r67721.tar.xz
2023/07/25 | 4340 | systems/texlive/tlnet/archive/crefthe.r67721.tar.xz
2022/10/01 | 34252 | systems/texlive/tlnet/archive/crimson.doc.r64559.tar.xz
@@ -296131,8 +296136,8 @@
2019/02/28 | 197100 | systems/texlive/tlnet/archive/jvlisting.doc.r24638.tar.xz
2019/02/28 | 2552 | systems/texlive/tlnet/archive/jvlisting.r24638.tar.xz
2019/02/28 | 6744 | systems/texlive/tlnet/archive/jvlisting.source.r24638.tar.xz
-2023/01/08 | 90996 | systems/texlive/tlnet/archive/jwjournal.doc.r65480.tar.xz
-2023/01/08 | 2612 | systems/texlive/tlnet/archive/jwjournal.r65480.tar.xz
+2023/08/28 | 91232 | systems/texlive/tlnet/archive/jwjournal.doc.r68088.tar.xz
+2023/08/28 | 2668 | systems/texlive/tlnet/archive/jwjournal.r68088.tar.xz
2019/02/28 | 365480 | systems/texlive/tlnet/archive/kalendarium.doc.r48744.tar.xz
2019/02/28 | 3540 | systems/texlive/tlnet/archive/kalendarium.r48744.tar.xz
2019/02/28 | 16432 | systems/texlive/tlnet/archive/kalendarium.source.r48744.tar.xz
@@ -298492,8 +298497,8 @@
2019/02/28 | 225404 | systems/texlive/tlnet/archive/niceframe.doc.r36086.tar.xz
2019/02/28 | 34512 | systems/texlive/tlnet/archive/niceframe.r36086.tar.xz
2019/02/28 | 7064 | systems/texlive/tlnet/archive/niceframe.source.r36086.tar.xz
-2019/02/28 | 604 | systems/texlive/tlnet/archive/niceframe-type1.doc.r44671.tar.xz
-2019/02/28 | 276328 | systems/texlive/tlnet/archive/niceframe-type1.r44671.tar.xz
+2023/08/28 | 520 | systems/texlive/tlnet/archive/niceframe-type1.doc.r68091.tar.xz
+2023/08/28 | 275488 | systems/texlive/tlnet/archive/niceframe-type1.r68091.tar.xz
2023/08/16 | 2129620 | systems/texlive/tlnet/archive/nicematrix.doc.r67925.tar.xz
2023/08/16 | 40608 | systems/texlive/tlnet/archive/nicematrix.r67925.tar.xz
2023/08/16 | 88152 | systems/texlive/tlnet/archive/nicematrix.source.r67925.tar.xz
@@ -298597,8 +298602,8 @@
2023/08/23 | 427424 | systems/texlive/tlnet/archive/notomath.doc.r68014.tar.xz
2023/08/23 | 213708 | systems/texlive/tlnet/archive/notomath.r68014.tar.xz
2022/09/13 | 26607012 | systems/texlive/tlnet/archive/noto.r64351.tar.xz
-2023/08/08 | 4728832 | systems/texlive/tlnet/archive/novel.doc.r67840.tar.xz
-2023/08/08 | 116132 | systems/texlive/tlnet/archive/novel.r67840.tar.xz
+2023/08/28 | 4729768 | systems/texlive/tlnet/archive/novel.doc.r68090.tar.xz
+2023/08/28 | 116188 | systems/texlive/tlnet/archive/novel.r68090.tar.xz
2019/02/28 | 175128 | systems/texlive/tlnet/archive/nowidow.doc.r24066.tar.xz
2019/02/28 | 1200 | systems/texlive/tlnet/archive/nowidow.r24066.tar.xz
2019/02/28 | 3340 | systems/texlive/tlnet/archive/nowidow.source.r24066.tar.xz
@@ -299698,8 +299703,8 @@
2023/08/16 | 1305244 | systems/texlive/tlnet/archive/profcollege.r67936.tar.xz
2022/04/27 | 134096 | systems/texlive/tlnet/archive/proflabo.doc.r63147.tar.xz
2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz
-2023/08/26 | 1336344 | systems/texlive/tlnet/archive/proflycee.doc.r68058.tar.xz
-2023/08/26 | 35956 | systems/texlive/tlnet/archive/proflycee.r68058.tar.xz
+2023/08/28 | 1336536 | systems/texlive/tlnet/archive/proflycee.doc.r68089.tar.xz
+2023/08/28 | 35976 | systems/texlive/tlnet/archive/proflycee.r68089.tar.xz
2023/08/17 | 178296 | systems/texlive/tlnet/archive/profmaquette.doc.r67948.tar.xz
2023/08/17 | 13664 | systems/texlive/tlnet/archive/profmaquette.r67948.tar.xz
2023/08/25 | 316752 | systems/texlive/tlnet/archive/profsio.doc.r68045.tar.xz
@@ -301872,7 +301877,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/08/27 | 428836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68064.tar.xz
+2023/08/28 | 428836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68081.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -301894,7 +301899,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/08/27 | 114116 | systems/texlive/tlnet/archive/texlive-scripts.r68064.tar.xz
+2023/08/28 | 114112 | systems/texlive/tlnet/archive/texlive-scripts.r68081.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -303765,16 +303770,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
2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
-2023/08/27 | 5742508 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/08/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/08/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/08/28 | 5741425 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/08/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/08/28 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/08/27 | 21037704 | systems/texlive/tlnet/install-tl-windows.exe
-2023/08/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/08/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/08/27 | 26028697 | systems/texlive/tlnet/install-tl.zip
-2023/08/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/08/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/08/28 | 21038385 | systems/texlive/tlnet/install-tl-windows.exe
+2023/08/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/08/28 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/08/28 | 26028701 | systems/texlive/tlnet/install-tl.zip
+2023/08/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/08/28 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -303784,7 +303789,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/08/03 | 50576 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/08/26 | 7322 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/08/27 | 7312 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/23 | 221470 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -303826,12 +303831,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/08/27 | 18221739 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/08/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/08/28 | 18223122 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/08/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/08/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/08/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/08/27 | 2468700 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/08/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/08/28 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/08/28 | 2470840 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -314520,7 +314525,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/08/28 | 186 | timestamp
+2023/08/29 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index d503097bde..018e5c9dcf 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 21c64a0770..eaef0808f7 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,62 +1,106 @@
+2023/08/28 | 91232 | systems/texlive/tlnet/archive/jwjournal.doc.r68088.tar.xz
+2023/08/28 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
+2023/08/28 | 751 | info/latex4wp/HOW-TO-TYPESET
+2023/08/28 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
+2023/08/28 | 71183 | macros/luatex/generic/penlightplus.zip
+2023/08/28 | 6948 | systems/texlive/tlnet/archive/collection-latexextra.r68087.tar.xz
+2023/08/28 | 5741425 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/08/28 | 520 | systems/texlive/tlnet/archive/niceframe-type1.doc.r68091.tar.xz
+2023/08/28 | 501990 | fonts/utilities/ps2pk.zip
+2023/08/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/08/28 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/08/28 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/08/28 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/08/28 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/08/28 | 4729768 | systems/texlive/tlnet/archive/novel.doc.r68090.tar.xz
+2023/08/28 | 4476570 | install/macros/latex/contrib/lwarp.tds.zip
+2023/08/28 | 428836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68081.tar.xz
+2023/08/28 | 4101014 | biblio/ctan-bibdata.zip
+2023/08/28 | 3877270 | macros/latex/contrib/lwarp.zip
+2023/08/28 | 3844 | systems/texlive/tlnet/archive/brandeis-thesis.source.r68092.tar.xz
+2023/08/28 | 3700630 | biblio/ctan-bibdata/ctan.pdf
+2023/08/28 | 35976 | systems/texlive/tlnet/archive/proflycee.r68089.tar.xz
+2023/08/28 | 3405893 | macros/latex/contrib/lwarp/lwarp.pdf
+2023/08/28 | 33823 | macros/latex/contrib/lwarp/lwarp.ins
+2023/08/28 | 29836 | macros/latex/contrib/lwarp/lwarpmk.lua
+2023/08/28 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
+2023/08/28 | 2854154 | macros/latex/contrib/lwarp/lwarp.dtx
+2023/08/28 | 2806566 | biblio/ctan-bibdata/ctan.bib
+2023/08/28 | 275488 | systems/texlive/tlnet/archive/niceframe-type1.r68091.tar.xz
+2023/08/28 | 2668 | systems/texlive/tlnet/archive/jwjournal.r68088.tar.xz
+2023/08/28 | 26028701 | systems/texlive/tlnet/install-tl.zip
+2023/08/28 | 2470840 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/08/28 | 246932 | indexing/makeindexk.zip
+2023/08/28 | 2200 | systems/texlive/tlnet/archive/creationboites.r68087.tar.xz
+2023/08/28 | 21038385 | systems/texlive/tlnet/install-tl-windows.exe
+2023/08/28 | 1892 | systems/texlive/tlnet/archive/brandeis-thesis.r68092.tar.xz
+2023/08/28 | 18223122 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/08/28 | 173 | info/latex4wp/TODO.md
+2023/08/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/08/28 | 1623 | macros/latex/contrib/lwarp/README.txt
+2023/08/28 | 159092 | systems/texlive/tlnet/archive/creationboites.doc.r68087.tar.xz
+2023/08/28 | 1543533 | info/latex4wp.zip
+2023/08/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/08/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/08/28 | 151072 | systems/texlive/tlnet/archive/brandeis-thesis.doc.r68092.tar.xz
+2023/08/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/08/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/08/28 | 1336536 | systems/texlive/tlnet/archive/proflycee.doc.r68089.tar.xz
+2023/08/28 | 116188 | systems/texlive/tlnet/archive/novel.r68090.tar.xz
+2023/08/28 | 1155101 | info/latex4wp/latex4wp.pdf
+2023/08/28 | 114112 | systems/texlive/tlnet/archive/texlive-scripts.r68081.tar.xz
+2023/08/28 | 100281 | info/latex4wp/latex4wp.tex
2023/08/27 | 9956 | systems/texlive/tlnet/archive/teubner.r68074.tar.xz
2023/08/27 | 97819 | macros/latex/contrib/jwjournal.zip
+2023/08/27 | 9762 | indexing/makeindexk/ChangeLog
+2023/08/27 | 775 | fonts/utilities/ps2pk/tests/lmmath.test
2023/08/27 | 7743 | macros/latex/contrib/jwjournal/jwjournal.cls
2023/08/27 | 767652 | systems/texlive/tlnet/archive/piton.doc.r68075.tar.xz
2023/08/27 | 75740 | systems/texlive/tlnet/archive/xepersian.source.r68076.tar.xz
2023/08/27 | 7332 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
+2023/08/27 | 7312 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/27 | 7063 | macros/latex/contrib/jwjournal/README.md
2023/08/27 | 7025 | macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
2023/08/27 | 6792716 | systems/texlive/tlnet/archive/newtx.r68071.tar.xz
2023/08/27 | 6665 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex
+2023/08/27 | 62224 | macros/luatex/generic/penlightplus/penlightplus.pdf
2023/08/27 | 6161 | macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
2023/08/27 | 60620 | systems/texlive/tlnet/archive/xepersian.r68076.tar.xz
2023/08/27 | 6024 | systems/texlive/tlnet/archive/exesheet.r68073.tar.xz
2023/08/27 | 58395 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
-2023/08/27 | 5742508 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/08/27 | 5630 | macros/luatex/generic/penlightplus/penlightplus.sty
2023/08/27 | 5409 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex
2023/08/27 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
-2023/08/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/08/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/08/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/08/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/08/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/08/27 | 46611 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.pdf
2023/08/27 | 448744 | systems/texlive/tlnet/archive/newpx.doc.r68070.tar.xz
2023/08/27 | 44644 | systems/texlive/tlnet/archive/piton.source.r68075.tar.xz
2023/08/27 | 444 | systems/texlive/tlnet/archive/xetexref.r68072.tar.xz
-2023/08/27 | 428836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68064.tar.xz
2023/08/27 | 41972 | systems/texlive/tlnet/archive/teubner.source.r68074.tar.xz
2023/08/27 | 41126 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf
-2023/08/27 | 4101565 | biblio/ctan-bibdata.zip
2023/08/27 | 392 | systems/texlive/tlnet/archive/newpx.source.r68070.tar.xz
-2023/08/27 | 3700020 | biblio/ctan-bibdata/ctan.pdf
2023/08/27 | 3235 | macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
2023/08/27 | 296316 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2023/08/27 | 2890596 | systems/texlive/tlnet/archive/newpx.r68070.tar.xz
-2023/08/27 | 2806567 | biblio/ctan-bibdata/ctan.bib
-2023/08/27 | 26028697 | systems/texlive/tlnet/install-tl.zip
-2023/08/27 | 2468700 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/08/27 | 27623 | macros/luatex/generic/penlightplus/penlightplus.lua
2023/08/27 | 23964 | systems/texlive/tlnet/archive/exesheet.source.r68073.tar.xz
+2023/08/27 | 2389 | indexing/makeindexk/tests/makeindex.test
2023/08/27 | 226800 | systems/texlive/tlnet/archive/exesheet.doc.r68073.tar.xz
-2023/08/27 | 21037704 | systems/texlive/tlnet/install-tl-windows.exe
2023/08/27 | 19847 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.pdf
2023/08/27 | 19506 | macros/latex/contrib/jwjournal/jwjournal-demo-en.pdf
2023/08/27 | 19106 | macros/latex/contrib/jwjournal/LICENSE
2023/08/27 | 1837 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.tex
-2023/08/27 | 18221739 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/08/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/08/27 | 163432 | systems/texlive/tlnet/archive/xetexref.doc.r68072.tar.xz
2023/08/27 | 1594 | macros/latex/contrib/jwjournal/jwjournal-demo-en.tex
2023/08/27 | 15818 | macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
+2023/08/27 | 1566 | fonts/utilities/ps2pk/tests/ps2pk.test
2023/08/27 | 1549 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.tex
-2023/08/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/08/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/08/27 | 15156 | systems/texlive/tlnet/archive/piton.r68075.tar.xz
-2023/08/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/08/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/08/27 | 1406335 | macros/latex/contrib/proflycee.zip
+2023/08/27 | 13286 | fonts/utilities/ps2pk/ChangeLog
2023/08/27 | 12 | macros/latex/contrib/jwjournal/DEPENDS.txt
-2023/08/27 | 114116 | systems/texlive/tlnet/archive/texlive-scripts.r68064.tar.xz
+2023/08/27 | 116557832 | macros/context/latest/cont-tmf.zip
+2023/08/27 | 11611 | macros/luatex/generic/penlightplus/penlightplus.tex
+2023/08/27 | 1132 | macros/luatex/generic/penlightplus/README.md
2023/08/27 | 1117812 | systems/texlive/tlnet/archive/teubner.doc.r68074.tar.xz
2023/08/27 | 1074202 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
2023/08/27 | 1053468 | systems/texlive/tlnet/archive/newtx.doc.r68071.tar.xz
@@ -66,7 +110,6 @@
2023/08/26 | 8312 | systems/texlive/tlnet/archive/hvextern.r68056.tar.xz
2023/08/26 | 784492 | macros/xetex/latex/xepersian/xepersian.pdf
2023/08/26 | 76979 | macros/luatex/latex/piton/piton-french.tex
-2023/08/26 | 7322 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/26 | 71387 | macros/xetex/latex/xepersian/xepersian-doc-basics.ltx
2023/08/26 | 617 | info/xetexref/Makefile
2023/08/26 | 582032 | systems/texlive/tlnet/archive/evangelion-jfm.doc.r68059.tar.xz
@@ -83,7 +126,6 @@
2023/08/26 | 410 | macros/xetex/latex/xepersian/xepersian-doc-boolean.ltx
2023/08/26 | 38725 | macros/xetex/latex/xepersian/ftxe-0.12.py
2023/08/26 | 369685 | macros/luatex/latex/piton/piton-french.pdf
-2023/08/26 | 35956 | systems/texlive/tlnet/archive/proflycee.r68058.tar.xz
2023/08/26 | 346697 | macros/xetex/latex/xepersian/xepersian.dtx
2023/08/26 | 3460 | systems/texlive/tlnet/archive/evangelion-jfm.r68059.tar.xz
2023/08/26 | 338904 | systems/texlive/tlnet/archive/parsianfonts.doc.r68054.tar.xz
@@ -131,7 +173,6 @@
2023/08/26 | 14616 | macros/xetex/latex/xepersian/img/weather/rain.jpg
2023/08/26 | 1390 | macros/xetex/latex/xepersian/README
2023/08/26 | 13804 | macros/xetex/latex/xepersian/undk-0.6.py
-2023/08/26 | 1336344 | systems/texlive/tlnet/archive/proflycee.doc.r68058.tar.xz
2023/08/26 | 13088 | macros/xetex/latex/xepersian/img/weather/clouds.jpg
2023/08/26 | 1305051 | install/macros/xetex/latex/xepersian.tds.zip
2023/08/26 | 12348 | macros/xetex/latex/xepersian/unldk-0.2.py
@@ -410,7 +451,6 @@
2023/08/24 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
2023/08/24 | 36762 | macros/latex/contrib/siunitx/siunitx-print.dtx
2023/08/24 | 3672 | support/bib2gls/examples/mathsobjects.bib
-2023/08/24 | 3592 | systems/texlive/tlnet/archive/brandeis-thesis.source.r68039.tar.xz
2023/08/24 | 355 | graphics/pgf/contrib/commutative-diagrams/commutative-diagrams.tex
2023/08/24 | 3496 | support/bib2gls/examples/books.bib
2023/08/24 | 338 | support/bib2gls/examples/interpret-preamble2.bib
@@ -463,7 +503,6 @@
2023/08/24 | 1740 | support/bib2gls/examples/sample-units3.tex
2023/08/24 | 1734 | support/bib2gls/examples/sample-media.tex
2023/08/24 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2023/08/24 | 1720 | systems/texlive/tlnet/archive/brandeis-thesis.r68039.tar.xz
2023/08/24 | 17019 | macros/latex/contrib/photobook/scripts/make-spreads.sh
2023/08/24 | 168660 | macros/latex/contrib/siunitx/siunitx.tex
2023/08/24 | 166598 | support/bib2gls/examples/sample-media.pdf
@@ -477,7 +516,6 @@
2023/08/24 | 1527 | macros/latex/contrib/photobook/LICENSE
2023/08/24 | 15153 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
2023/08/24 | 1506 | support/bib2gls/examples/sample-authors.tex
-2023/08/24 | 150536 | systems/texlive/tlnet/archive/brandeis-thesis.doc.r68039.tar.xz
2023/08/24 | 150069 | info/xetexref/xetex-reference.pdf
2023/08/24 | 1485 | macros/luatex/latex/piton/piton.ins
2023/08/24 | 1478943 | macros/latex/contrib/hvextern/doc/hvextern.pdf
@@ -643,7 +681,6 @@
2023/08/22 | 432982 | macros/latex/contrib/babel-contrib/hebrew.zip
2023/08/22 | 431934 | systems/win32/miktex/tm/packages/newpx__doc.tar.lzma
2023/08/22 | 43080 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2023/08/22 | 421675 | fonts/notomath/doc/notomath-doc.pdf
2023/08/22 | 41366 | macros/generic/xstring/test_latex.tex
2023/08/22 | 410297 | macros/latex/contrib/babel-contrib/hebrew/hebrew.pdf
2023/08/22 | 406373 | systems/win32/miktex/tm/packages/hebrew-fonts__doc.tar.lzma
@@ -690,16 +727,12 @@
2023/08/22 | 257240 | macros/latex/contrib/verifiche/verifiche-example.pdf
2023/08/22 | 25474 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2023/08/22 | 25387 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2023/08/22 | 2516 | fonts/notomath/tfm/notobmia.tfm
2023/08/22 | 249719 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2023/08/22 | 2484 | fonts/notomath/tfm/notomia.tfm
2023/08/22 | 246241 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2023/08/22 | 245790 | macros/generic/xstring/xstring-en.pdf
2023/08/22 | 24051 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2023/08/22 | 238471 | macros/generic/xstring/xstring-fr.pdf
2023/08/22 | 231422 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2023/08/22 | 2304 | fonts/notomath/vf/notobmia.vf
-2023/08/22 | 2284 | fonts/notomath/vf/notomia.vf
2023/08/22 | 22436 | systems/texlive/tlnet/archive/postnotes.source.r68006.tar.xz
2023/08/22 | 221152 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2023/08/22 | 2204794 | systems/win32/miktex/tm/packages/simpleicons__doc.tar.lzma
@@ -723,7 +756,6 @@
2023/08/22 | 1714 | support/bibtexperllibs/README
2023/08/22 | 1673270 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2023/08/22 | 1673062 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2023/08/22 | 16153 | fonts/notomath/doc/notomath-doc.tex
2023/08/22 | 157670 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2023/08/22 | 157431 | systems/win32/miktex/tm/packages/luamplib__doc.tar.lzma
2023/08/22 | 156956 | systems/texlive/tlnet/archive/luamplib.doc.r68008.tar.xz
@@ -766,181 +798,3 @@
2023/08/22 | 101524 | macros/latex/contrib/numerica-plus/numerica-plus.tex
2023/08/22 | 1007300 | systems/texlive/tlnet/archive/postnotes.doc.r68006.tar.xz
2023/08/22 | 100185 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2023/08/21 | 96219 | macros/luatex/generic/luamplib/luamplib.dtx
-2023/08/21 | 956926 | macros/latex/contrib/mathfont.zip
-2023/08/21 | 9068 | systems/win32/miktex/tm/packages/lualibs__source.tar.lzma
-2023/08/21 | 89182 | systems/win32/miktex/tm/packages/lualibs__doc.tar.lzma
-2023/08/21 | 88736 | systems/texlive/tlnet/archive/lualibs.doc.r67994.tar.xz
-2023/08/21 | 881 | macros/latex/contrib/postnotes/README.md
-2023/08/21 | 8612 | systems/texlive/tlnet/archive/lualibs.source.r67994.tar.xz
-2023/08/21 | 849779 | macros/latex/contrib/postnotes/postnotes-code.pdf
-2023/08/21 | 7423 | macros/latex/contrib/memoir/doc-src/memnoidxnum.tex
-2023/08/21 | 7292 | systems/texlive/tlnet/archive/luaotfload.source.r67995.tar.xz
-2023/08/21 | 7186 | systems/win32/miktex/tm/packages/babel-greek.tar.lzma
-2023/08/21 | 665 | fonts/simpleicons/README.md
-2023/08/21 | 637428 | systems/texlive/tlnet/archive/luaotfload.doc.r67995.tar.xz
-2023/08/21 | 621388 | systems/texlive/tlnet/archive/luaotfload.r67995.tar.xz
-2023/08/21 | 620111 | systems/win32/miktex/tm/packages/luaotfload.tar.lzma
-2023/08/21 | 600905 | macros/latex/contrib/joinbox.zip
-2023/08/21 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
-2023/08/21 | 5611 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
-2023/08/21 | 560557 | systems/win32/miktex/tm/packages/luaotfload__doc.tar.lzma
-2023/08/21 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
-2023/08/21 | 5447065 | fonts/simpleicons.zip
-2023/08/21 | 52682 | macros/latex/contrib/memoir/README
-2023/08/21 | 492 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsoneone.tfm
-2023/08/21 | 481363 | macros/latex/contrib/hebrew-fonts.zip
-2023/08/21 | 47014 | macros/latex/contrib/numerica-tables/numerica-tables.sty
-2023/08/21 | 45066 | systems/win32/miktex/tm/packages/babel-greek__source.tar.lzma
-2023/08/21 | 4410 | systems/win32/miktex/tm/packages/luacolor.tar.lzma
-2023/08/21 | 432 | macros/latex/contrib/memoir/doc-src/memman.gst
-2023/08/21 | 42378 | macros/latex/contrib/memoir/doc-src/memsty.sty
-2023/08/21 | 4205 | macros/latex/contrib/hebrew-fonts/hebrew-fonts.ins
-2023/08/21 | 4182 | systems/win32/miktex/tm/packages/readablecv.tar.lzma
-2023/08/21 | 411301 | macros/latex/contrib/joinbox/joinbox.pdf
-2023/08/21 | 40795 | macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
-2023/08/21 | 40227 | macros/latex/contrib/postnotes/postnotes-doc.tex
-2023/08/21 | 3977 | macros/latex/contrib/memoir/memoir.ins
-2023/08/21 | 39772 | macros/latex/contrib/hebrew-fonts/hebfontenc.fdd
-2023/08/21 | 389 | macros/latex/contrib/memoir/doc-src/memman.ist
-2023/08/21 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
-2023/08/21 | 3857 | macros/latex/contrib/postnotes/CHANGELOG.md
-2023/08/21 | 371600 | macros/latex/contrib/mathfont/mathfont_code.pdf
-2023/08/21 | 36940 | macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
-2023/08/21 | 36897 | fonts/newtx/map/newtx.map
-2023/08/21 | 368426 | macros/latex/contrib/reledmac/migration.pdf
-2023/08/21 | 36627 | macros/latex/contrib/memoir/mempatch.dtx
-2023/08/21 | 3609924 | install/macros/latex/contrib/memoir.tds.zip
-2023/08/21 | 3508877 | macros/latex/contrib/memoir.zip
-2023/08/21 | 32047 | macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
-2023/08/21 | 318512 | macros/latex/contrib/mathfont/mathfont_code.dtx
-2023/08/21 | 310603 | macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
-2023/08/21 | 3077 | systems/win32/miktex/tm/packages/readablecv__source.tar.lzma
-2023/08/21 | 302774 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
-2023/08/21 | 298422 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
-2023/08/21 | 295209 | macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
-2023/08/21 | 292434 | macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
-2023/08/21 | 289211 | macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
-2023/08/21 | 288795 | macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
-2023/08/21 | 288123 | macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
-2023/08/21 | 286626 | macros/latex/contrib/reledmac/examples/2-linespacing.pdf
-2023/08/21 | 285556 | macros/latex/contrib/reledmac/examples/1-tabular.pdf
-2023/08/21 | 285503 | macros/latex/contrib/reledmac/examples/2-glossaries.pdf
-2023/08/21 | 2852 | macros/latex/contrib/memoir/mempatch.ins
-2023/08/21 | 284583 | macros/latex/contrib/reledmac/examples/2-performances.pdf
-2023/08/21 | 2841 | fonts/simpleicons/enc/simpleiconsone.enc
-2023/08/21 | 2826556 | macros/latex/contrib/memoir/memman.pdf
-2023/08/21 | 278070 | macros/latex/contrib/reledmac/examples/2-indexing.pdf
-2023/08/21 | 27753 | fonts/newtx/tex/newtx.sty
-2023/08/21 | 276219 | macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
-2023/08/21 | 2752 | macros/luatex/generic/luamplib/Makefile
-2023/08/21 | 274 | fonts/simpleicons/tex/usimpleiconsonezero.fd
-2023/08/21 | 2737 | fonts/simpleicons/enc/simpleiconsfour.enc
-2023/08/21 | 2708 | fonts/simpleicons/enc/simpleiconsnine.enc
-2023/08/21 | 269 | fonts/simpleicons/tex/usimpleiconsoneone.fd
-2023/08/21 | 2670 | fonts/simpleicons/enc/simpleiconssix.enc
-2023/08/21 | 2659 | fonts/simpleicons/enc/simpleiconstwo.enc
-2023/08/21 | 2657 | fonts/simpleicons/enc/simpleiconsseven.enc
-2023/08/21 | 264 | fonts/simpleicons/tex/usimpleiconsthree.fd
-2023/08/21 | 264 | fonts/simpleicons/tex/usimpleiconsseven.fd
-2023/08/21 | 264 | fonts/simpleicons/tex/usimpleiconseight.fd
-2023/08/21 | 259 | fonts/simpleicons/tex/usimpleiconsnine.fd
-2023/08/21 | 259 | fonts/simpleicons/tex/usimpleiconsfour.fd
-2023/08/21 | 259 | fonts/simpleicons/tex/usimpleiconsfive.fd
-2023/08/21 | 2592 | macros/latex/contrib/postnotes/postnotes.ins
-2023/08/21 | 258832 | macros/latex/contrib/hebrew-fonts/hebfontenc.pdf
-2023/08/21 | 2562 | fonts/simpleicons/enc/simpleiconseight.enc
-2023/08/21 | 254 | fonts/simpleicons/tex/usimpleiconstwo.fd
-2023/08/21 | 254 | fonts/simpleicons/tex/usimpleiconssix.fd
-2023/08/21 | 254 | fonts/simpleicons/tex/usimpleiconsone.fd
-2023/08/21 | 2540 | fonts/simpleicons/enc/simpleiconsthree.enc
-2023/08/21 | 2520 | fonts/notomath/tfm/notosansbmia.tfm
-2023/08/21 | 2512 | fonts/simpleicons/enc/simpleiconsonezero.enc
-2023/08/21 | 251176 | fonts/parsianfonts/ParsianTeXClassic/ParsianTeXClassic-BoldItalic.ttf
-2023/08/21 | 251002 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
-2023/08/21 | 2492 | fonts/notomath/tfm/notosansmia.tfm
-2023/08/21 | 2425 | fonts/simpleicons/enc/simpleiconsfive.enc
-2023/08/21 | 24195 | macros/latex/contrib/hebrew-fonts/hebinp.dtx
-2023/08/21 | 236954 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
-2023/08/21 | 23682 | macros/latex/contrib/joinbox/joinbox.tex
-2023/08/21 | 2364 | fonts/notomath/vf/notosansbmia.vf
-2023/08/21 | 23444 | macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
-2023/08/21 | 2340 | fonts/notomath/vf/notosansmia.vf
-2023/08/21 | 232140 | fonts/parsianfonts/ParsianTeXClassic/ParsianTeXClassic-Italic.ttf
-2023/08/21 | 231960 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
-2023/08/21 | 23005 | fonts/newtx/tex/newtxtext.sty
-2023/08/21 | 2289 | fonts/simpleicons/enc/simpleiconsoneone.enc
-2023/08/21 | 225555 | macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
-2023/08/21 | 219029 | macros/latex/contrib/hebrew-fonts/hebinp.pdf
-2023/08/21 | 2186469 | fonts/simpleicons/doc/simpleicons.pdf
-2023/08/21 | 2152869 | macros/latex/contrib/reledmac/reledmac.pdf
-2023/08/21 | 214377 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
-2023/08/21 | 212242 | macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
-2023/08/21 | 210969 | macros/latex/contrib/reledmac/examples/2-antilabe.pdf
-2023/08/21 | 210488 | macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
-2023/08/21 | 206 | macros/latex/contrib/memoir/doc-src/Makeidxglo
-2023/08/21 | 206955 | macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
-2023/08/21 | 2058 | macros/luatex/generic/luamplib/README
-2023/08/21 | 205449 | systems/win32/miktex/tm/packages/readablecv__doc.tar.lzma
-2023/08/21 | 204974 | macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
-2023/08/21 | 204669 | macros/latex/contrib/reledmac/examples/2-notes-width.pdf
-2023/08/21 | 204015 | macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
-2023/08/21 | 203838 | macros/latex/contrib/memoir/doc-src/setpage-example.pdf
-2023/08/21 | 2031168 | fonts/simpleicons/opentype/SimpleIcons.otf
-2023/08/21 | 202431 | install/macros/luatex/generic/luamplib.tds.zip
-2023/08/21 | 202381 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
-2023/08/21 | 201564 | macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
-2023/08/21 | 201443 | macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
-2023/08/21 | 200041 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
-2023/08/21 | 199918 | macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
-2023/08/21 | 199681 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
-2023/08/21 | 199278 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
-2023/08/21 | 198959 | macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
-2023/08/21 | 198856 | fonts/parsianfonts/ParsianTeXClassic/ParsianTeXClassic-Bold.ttf
-2023/08/21 | 198797 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
-2023/08/21 | 198794 | macros/latex/contrib/reledmac/examples/1-verses.pdf
-2023/08/21 | 198665 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
-2023/08/21 | 198615 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
-2023/08/21 | 198565 | macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
-2023/08/21 | 198304 | macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
-2023/08/21 | 198152 | fonts/parsianfonts/ParsianTeXClassic/ParsianTeXClassic-Regular.ttf
-2023/08/21 | 197819 | macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
-2023/08/21 | 19723 | macros/latex/contrib/joinbox/joinbox.sty
-2023/08/21 | 1947818 | fonts/simpleicons/type1/SimpleIcons.pfb
-2023/08/21 | 194198 | macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
-2023/08/21 | 187788 | macros/luatex/generic/luamplib.zip
-2023/08/21 | 1844 | fonts/simpleicons/doc/simpleicons.tex
-2023/08/21 | 177635 | macros/latex/contrib/postnotes/postnotes-doc.pdf
-2023/08/21 | 177110 | macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
-2023/08/21 | 175650 | macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
-2023/08/21 | 17396 | macros/latex/contrib/memoir/doc-src/titlepages.sty
-2023/08/21 | 1688654 | systems/win32/miktex/tm/packages/babel-greek__doc.tar.lzma
-2023/08/21 | 1542304 | macros/latex/contrib/memoir/doc-src/memman.tex
-2023/08/21 | 153620 | macros/luatex/generic/luamplib/luamplib.pdf
-2023/08/21 | 1521 | fonts/simpleicons/tex/simpleicons.sty
-2023/08/21 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps
-2023/08/21 | 14 | macros/latex/contrib/postnotes/DEPENDS.txt
-2023/08/21 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty
-2023/08/21 | 1443 | macros/latex/contrib/postnotes/postnotes-code.tex
-2023/08/21 | 140214 | fonts/simpleicons/doc/bindings.tex
-2023/08/21 | 13627453 | macros/latex/contrib/reledmac.zip
-2023/08/21 | 133320 | systems/texlive/tlnet/archive/lualibs.r67994.tar.xz
-2023/08/21 | 131823 | systems/win32/miktex/tm/packages/lualibs.tar.lzma
-2023/08/21 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconseight.tfm
-2023/08/21 | 1236 | fonts/simpleicons/map/simpleicons.map
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconstwo.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsthree.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconssix.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsseven.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsonezero.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsnine.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsfour.tfm
-2023/08/21 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsfive.tfm
-2023/08/21 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsone.tfm
-2023/08/21 | 1122937 | macros/latex/contrib/memoir/memoir.dtx
-2023/08/21 | 11015673 | macros/latex/contrib/pdfmanagement-testphase.zip
-2023/08/21 | 1046914 | macros/latex/contrib/reledmac/reledpar.pdf
-2023/08/21 | 1032407 | macros/latex/contrib/postnotes.zip
-2023/08/21 | 102133 | macros/latex/contrib/postnotes/postnotes.dtx
-2023/08/21 | 10046 | macros/luatex/generic/luamplib/NEWS
-2023/08/21 | 1001 | macros/latex/contrib/hebrew-fonts/README.md
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index b9f68bad81..335745eda1 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 28-08-2023, 02:00:59
+%% created at 29-08-2023, 02:00:48
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -15879,7 +15879,7 @@
title = {The \texttt{creationboites} package},
subtitle = {Macros to create simple tcolorbox with some customizations},
author = {Cédric Pierquet},
- date = {2023-08-27},
+ date = {2023-08-28},
version = {0.1.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/creationboites},
@@ -37952,11 +37952,11 @@
}
@manual{ctan-latex4wp,
- title = {The \texttt{latex4wp} package},
+ title = {The \texttt{LaTeX4WP} package},
subtitle = {A \LaTeX{} guide specifically designed for word processor users},
author = {Guido Gonzato},
- date = {2016-06-24},
- version = {1.0.10},
+ date = {2023-08-28},
+ version = {1.2},
license = {fdl},
mirror = {https://mirror.ctan.org/info/latex4wp},
url = {https://ctan.org/pkg/latex4wp},
@@ -42096,8 +42096,8 @@
title = {The \texttt{lwarp} package},
subtitle = {Converts \LaTeX{} to HTML},
author = {Brian Dunn},
- date = {2023-02-28},
- version = {0.911},
+ date = {2023-08-28},
+ version = {0.912},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/lwarp},
url = {https://ctan.org/pkg/lwarp},
@@ -52159,7 +52159,7 @@
title = {The \texttt{penlightplus} package},
subtitle = {Additions to the Penlight Lua libraries},
author = {Kale Ewasiuk},
- date = {2023-08-24},
+ date = {2023-08-28},
version = {},
license = {mit},
mirror = {https://mirror.ctan.org/macros/luatex/generic/penlightplus},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index f6316b9b2c..041c18f20d 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/info/latex4wp/HOW-TO-TYPESET b/info/latex4wp/HOW-TO-TYPESET
index 630377d332..180fba22ce 100644
--- a/info/latex4wp/HOW-TO-TYPESET
+++ b/info/latex4wp/HOW-TO-TYPESET
@@ -10,14 +10,24 @@ http://www.ctan.org/tex-archive/macros/latex/contrib/slashbox
- run these commands:
-$ mkdir -p ~/texmf/tex/latex/slashbox
-$ cp slashbox.sty ~/texmf/tex/latex/slashbox
-$ texhash ~/texmf
+ $ mkdir -p ~/texmf/tex/latex/slashbox
+ $ cp slashbox.sty ~/texmf/tex/latex/slashbox
-- repeat the above steps for each missing package
+- repeat the above steps for each missing package; when you're done,
+type:
+
+ $ texhash ~/texmf
- typeset the guide with pdflatex:
-$ pdflatex latex4wp.tex; pdflatex latex4wp.tex; pdflatex latex4wp.tex
+$ latexmk -pdf latex4wp
+
+or run 'pdflatex' three times.
Enjoy!
+
+--
+Guido Gonzato, PhD
+<guido dot gonzato at gmail dot com>
+
+---
diff --git a/info/latex4wp/README b/info/latex4wp/README.md
index 618ab4e9c7..618ab4e9c7 100644
--- a/info/latex4wp/README
+++ b/info/latex4wp/README.md
diff --git a/info/latex4wp/TODO.md b/info/latex4wp/TODO.md
new file mode 100644
index 0000000000..c4ad04d209
--- /dev/null
+++ b/info/latex4wp/TODO.md
@@ -0,0 +1,18 @@
+# Things to describe (?)
+
+- pdfcomment
+
+- QR code
+
+- listings
+
+- https://www.ctan.org/pkg/easylist
+
+- upquotes
+
+- makecell
+
+- alternative verbatim fonts
+
+- `tcolorbox.sty`
+
diff --git a/info/latex4wp/exa.sty b/info/latex4wp/exa.sty
index 1e1cbe5e65..ffdd215495 100644
--- a/info/latex4wp/exa.sty
+++ b/info/latex4wp/exa.sty
@@ -1,6 +1,6 @@
% exa.sty
% modified after example.sty by J.Schrod, xitijsch@ddathd21.bitnet
-% Guido Gonzato, guido.gonzato@univr.it
+% Guido Gonzato, guido.gonzato @ gmail.com
\chardef\escape=0
\chardef\open=1
diff --git a/info/latex4wp/inkscape-tb.png b/info/latex4wp/inkscape-tb.png
index 9374455bb4..116f864d5b 100644
--- a/info/latex4wp/inkscape-tb.png
+++ b/info/latex4wp/inkscape-tb.png
Binary files differ
diff --git a/info/latex4wp/latex4wp.pdf b/info/latex4wp/latex4wp.pdf
index 6927036054..4ca554c55e 100644
--- a/info/latex4wp/latex4wp.pdf
+++ b/info/latex4wp/latex4wp.pdf
Binary files differ
diff --git a/info/latex4wp/latex4wp.tex b/info/latex4wp/latex4wp.tex
index 503962e14f..d7b8683992 100644
--- a/info/latex4wp/latex4wp.tex
+++ b/info/latex4wp/latex4wp.tex
@@ -4,89 +4,116 @@
% by Guido Gonzato, guido.gonzato (at) gmail.com
%
% This document was written with the Jed editor,
-% http://www.jedsoft.org/jed, and the new LaTeX mode
+% https://www.jedsoft.org/jed, and the new LaTeX mode
% available from CTAN mirrors, e.g.
-% http://www.ctan.org/tex-archive/support/jed
+% https://www.ctan.org/pkg/jed
%
-% Last updated: January 7, 2015
+% Last updated: August 28, 2023
-% debug
-% \overfullrule=15pt
+% \RequirePackage[l2tabu,orthodox]{nag} % LaTeX syntax check
\documentclass[a4paper,11pt]{article}
-\usepackage[margin=3cm]{geometry}
-\usepackage{color} % coloured stuff
-\usepackage{ifpdf} % ps/pdf output
-\ifpdf
- \usepackage[pdftex]{graphicx}
- \pdfcompresslevel=9
-\else
- \usepackage{graphicx}
-\fi
-\usepackage{alltt} % like verbatim, but obeys LaTeX commands
-\usepackage{dcolumn} % aligning numbers to digital position
-\usepackage{url} % urls and links
-\usepackage{colortbl} % colour tables
-\usepackage{pifont} % dinglist
-\usepackage{fancyvrb} % fancy verbatim
+% packages
+\usepackage[export]{adjustbox} % images on centre or right
+\usepackage{alltt} % like verbatim, but obeys LaTeX commands
+\usepackage{booktabs} % better looking tables
\usepackage{boxedminipage} % what it says
-\usepackage{framed} % frames around stuff
-\usepackage{rotating} % rotate stuff
-\usepackage[colorlinks,
- urlcolor=blue,
- filecolor=magenta,
- linkcolor=darkred,
- hyperfootnotes=false]{hyperref} % browseable links
-% \usepackage{fancyhdr} % fancy headers and footers
-\usepackage{marvosym} % Euro sign and other nice characters
-\usepackage[gen]{eurosym} % Euro sign
-\usepackage{mflogo} % Metafont logo
-\usepackage{setspace} % custom line spacing
-\usepackage{tabularx} % extended tabular environment
-\usepackage{exa} % local package for typesetting LaTeX examples
-\usepackage{enumerate} % optional args for enumerate environment
-\usepackage{wrapfig} % wrapping text around figures
-\usepackage[normalem]{ulem} % underline styles - !!! NOT IN MINT
-\usepackage{slashbox} % slashed box in tables - !!! NOT IN MINT
-\usepackage{paralist} % paragraph lists
-\usepackage[version=3]{mhchem} % chemical formulae - !!! NOT IN MINT
-\usepackage{lettrine} % dropped capitals
-
-\urlstyle{same} % urls in default font
+\usepackage{xcolor} % coloured stuff
+\usepackage{colortbl} % colour tables
+\usepackage{comment} % comment out text
+\usepackage{contour} % outlined text
+\usepackage{diagbox} % diagonal through boxes
+\usepackage{dcolumn} % aligning numbers to digital position
+\usepackage{endnotes} % footnotes at the end of sections
+\usepackage{enumerate} % optional args for enumerate environment
+\usepackage{exa} % local package for typesetting LaTeX examples
+\usepackage{fancyhdr} % fancy headers and footers
+\usepackage{fancyvrb} % fancy verbatim
+\usepackage{forloop} % loops
+\usepackage{framed} % frames around stuff
+\usepackage[%
+a4paper,%
+outer=2.2cm,%
+inner=3cm,%
+top=2.7cm,%
+bottom=2.7cm]%
+ {geometry} % page geometry
+\usepackage{graphicx} % including graphics files
+\usepackage[colorlinks,urlcolor=blue,
+ filecolor=magenta,linkcolor=darkred,
+ hyperfootnotes=false]
+ {hyperref} % browseable links
+\usepackage{latexdemo} % showing examples
+\usepackage{lettrine} % dropped capitals
+% \usepackage{lmodern} % Type 1 Latin Modern font
+\usepackage{libertine} % nice font
+\usepackage{listings} % syntax highlighting
+% marvosym must be loaded before eurosym
+\usepackage{marvosym} % Euro sign and other nice characters
+\usepackage{multicol} % multiple columns
+\usepackage[gen]{eurosym} % Euro sign
+\usepackage{mflogo} % Metafont logo
+% mhchem is included in texlive-science
+\usepackage[version=4]%
+ {mhchem} % chemical formulae
+\usepackage{paralist} % paragraph lists
+\usepackage{pifont} % dinglist
+\usepackage[icon=note,color={1 1 0}]
+ {pdfcomment} % popup comments in PDF
+\usepackage{pdfpages} % insert external PDF pages
+\usepackage{rotating} % rotate stuff
+\usepackage{setspace} % custom line spacing
+\usepackage{subcaption} % subfigures and subcaptions
+\usepackage{tabularx} % extended tabular environment
+% \usepackage{tcolorbox} % coloured boxes
+% clashes with something - too bad
+\usepackage{tikz} % graphics
+\usepackage[normalem]%
+ {ulem} % underline styles
+\usepackage{upquote} % fix quotes in verbatim output
+\usepackage{url} % urls and links
+\usepackage{wrapfig} % wrapping text around figures
% --- Definitions and new commands ---
-\def\version {1.0.10}
-\def\bs {\textbackslash}
-\def\unix {\textsc{Unix}}
-% \def\warning {\marginpar{\Huge{\textcolor{red}{\Stopsign}}}}
-\def\note {\marginpar{\Huge{\textcolor{magenta}{\Writinghand}}}}
-\def\PS {\textsc{PostScript}}
+\renewcommand{\ttdefault}{cmtt} % better looking
+
+\pdfcompresslevel=9
+\urlstyle{same} % urls are printed in default font
+\pagestyle{fancy}
+
+\def\version {1.2}
+
+\newcommand{\Bs}{\textbackslash}
+\newcommand{\unix}{\textsc{Unix}}
+\newcommand{\PS}{\textsc{PostScript}}
\definecolor {darkred}{rgb}{0.75,0,0}
+\newcommand {\copyleft}{\reflectbox{\textcopyright}}
-\hyphenation{lo-cal-tex-mf land-sca-pe}
+\hyphenation{lo-cal-tex-mf land-sca-pe Post-Script}
-\newcounter{fnsym}
+\newcounter{fnsym} % footnote symbols
\setcounter{fnsym}{1}
-%\newcounter{tmpbaselineskip}
-%\setlength{tmpbaselineskip}{\value{\baselineskip}}
\newenvironment{margins}[2]
-{
- \begin{list}{} {
+{ % begin def
+ \begin{list}{}
+ {
\setlength{\leftmargin}{#1}
\setlength{\rightmargin}{#2}
- } \item }
+ } \item
+} % end def
{\end{list}}
\newenvironment{warn}
{ % beg def
\medskip
+ \noindent
\begin{minipage}[t]{0.1\linewidth}
\vspace{0pt}
\textcolor{magenta}{\Huge{\Pointinghand}}
\end{minipage}%
- \begin{minipage}[t]{0.88\textwidth}
+ \begin{minipage}[t]{0.85\textwidth}
\vspace{0pt}
\begin{small}
\begin{spacing}{0.97}
@@ -98,7 +125,7 @@
\medskip
}
-\newcommand{\package}[1]
+\newcommand{\Pkg}[1]
{\textsf{#1}}
\newcommand{\parm}[1]
@@ -107,11 +134,11 @@
\newcommand{\cmdparm}[1]
{\textit{#1}}
-\newcommand{\env}[1]
+\newcommand{\Env}[1]
{\texttt{#1}}
\newcommand{\cmd}[1]
-{\texttt{\bs{}#1}}
+{\texttt{\Bs{}#1}}
\newcommand{\cmdline}[1]
{\texttt{#1}}
@@ -125,7 +152,7 @@
\newcommand{\app}[1]
{\texttt{#1}}
-\newcommand{\file}[1]
+\newcommand{\File}[1]
{\texttt{#1}}
\newcommand{\style}[1]
@@ -134,23 +161,25 @@
\newcommand{\ltx}[1]
{\texttt{#1}}
+% I want to use the dagger sign as footnote symbol
+% \renewcommand{\thefootnote}{\fnsymbol{footnote}}
+\setcounter{footnote}{2}
+
% --- end of definitions and new commands ---
+
% ok, let's start
\begin{document}
+\renewcommand{\democodeprefix}{}
+\renewcommand{\demoresultprefix}{}
+
\pagenumbering{roman}
-\setlength{\parindent}{0pt}
-\setlength{\parskip}{3pt}
\title{\LaTeX{} for Word Processor Users\\version \version}
-\author{Guido Gonzato, Ph.D.\\
-\texttt{guido.gonzato@gmail.com}}
-
-% I want to use the dagger sign as footnote symbol
-\renewcommand{\thefootnote}{\fnsymbol{footnote}}
-\setcounter{footnote}{2}
+\author{Guido Gonzato, PhD\\
+\texttt{guido.gonzato at gmail.com}}
\date{\today}
@@ -172,11 +201,14 @@
\end{abstract}
-\begin{footnotesize}
+\bigskip
+
+\begin{multicols}{2}
+ \small
\tableofcontents
\listoftables
\listoffigures
-\end{footnotesize}
+\end{multicols}
% INTRODUCTION
@@ -191,15 +223,12 @@ basic understanding of \LaTeX{} and of its basic commands. In this
guide, I'll explain how to replace a word processor effectively using
\LaTeX.
-Word processors are the `killer app' in modern office automation.
-They're perceived to be easier than \LaTeX{} as they have a friendly
-WYSIWYG interface, and the average secretary will learn to use them in
-a relatively short time. The problem is, these beasts keep growing
-slow, bloated,\footnote{once upon a time, I wrote my thesis on a 128k
-RAM, Z80-based home computer. The word processor WordStar and my
-thesis fit on a single CP/M-bootable 720K floppy, with lots of room to
-spare!} buggy, crash-prone, expensive, virus ridden, and incompatible
-with each other. Not to talk about their default output quality.
+Word processors are perceived to be easier than \LaTeX{} since they
+have a friendly WYSIWYG interface, and the average secretary will
+learn to use them in a relatively short time. The problem is, these
+beasts keep growing slow, bloated, and unusable. People who had to
+write long texts with lots of tables and figures know what I'm talking
+about.
\LaTeX{} is an excellent alternative (in some cases, it is the
\emph{only} viable alternative); but it's not much intuitive for those
@@ -208,14 +237,24 @@ accustomed to WYSIWYG.
To sum up, sometimes you may want to use word processor-like
features---but using \LaTeX. It would be nice to know how to obtain
some effects with \LaTeX{} when you know how to get them with your
-once-favourite \texttt{:-)} word processor.
+word processor.
+
+That's why I wrote this quick reference, which is meant to be a
+concept-by-concept guide. As I said, it assumes some basic \LaTeX{}
+knowledge; if it's not the case, I suggest that you have a look at one of
+the following guides:
+
+\begin{itemize}
+
+\item \href{https://www.ctan.org/tex-archive/info/lshort/}{The
+(Not So) Short Introduction to \LaTeX2e{}}
+
+\item \href{https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes}
+{Learn LaTeX in 30 minutes}
+
+\item \url{https://en.wikibooks.org/wiki/LaTeX/}
-That's why I wrote this quick reference. As I said, it assumes some
-basic \LaTeX{} knowledge; if it's not the case, I suggest that you go
-to \url{http://www.ctan.org/starter.html} and download
-\href{http://www.ctan.org/tex-archive/info/lshort/}{The (Not So) Short
-Introduction to \LaTeX2e{}}. Another good primer is
-\url{http://en.wikibooks.org/wiki/LaTeX/}.
+\end{itemize}
In the following sections, we shall navigate through the menus and
menu items of an imaginary word processor, finding out the
@@ -236,45 +275,57 @@ how to install them. More about packages in
Section~\ref{sec:packages}.
Packages and other \TeX{}-related material are available at many sites
-that constitute the CTAN: the Comprehensive TeX Archive Network. I
-already mentioned \url{http://www.ctan.org}; this site has a wide list
-of mirrors. From now on, \href{http://www.ctan.org}{CTAN:} means `your
+that constitute the Comprehensive TeX Archive Network (CTAN), whose
+web site is \url{https://www.ctan.org}.
+
+From now on, \href{https://www.ctan.org}{CTAN:} means `your
favourite CTAN mirror here, starting from the \TeX{} directory'. For
-instance, you can get \LaTeX{} for your platform from
-\href{http://www.tex.ac.uk/tex-archive/systems}{CTAN://systems} (e.g.,
-\url{http://www.tex.ac.uk/tex-archive/systems/}).
+instance, you can get this document from
+\href{https://www.ctan.org/pkg/latex4wp}{CTAN://latex4wp}, which
+corresponds to \url{https://www.ctan.org/pkg/latex4wp}.
-To write your documents, you will need a good text editor. A better
-choice for beginners is a \emph{\LaTeX{} IDE}: an editor dedicated
-to writing \LaTeX{} source, with preview and many facilities.
+To write your documents, you will need a good UTF-8 enabled text
+editor. A better choice for beginners is a \emph{\LaTeX{} IDE}: an
+editor dedicated to writing \LaTeX{} source, with output preview
+and many other facilities.
I suggest that you install one of the programs listed below; all of
them are Free/Open Source software.
\begin{itemize}
- \item Texmaker (multiplatform):\\
- \url{http://www.xm1math.net/texmaker/index.html}
+ \item TeXstudio (multiplatform; GNU/Linux AppImage and portable app for
+ Windows available):\\
+ \url{https://www.texstudio.org}
- \item TeXstudio (multiplatform):\\
- \url{http://texstudio.sourceforge.net/}
+ \item TeXworks (multiplatform; GNU/Linux AppImage available):\\
+ \url{https://tug.org/texworks/} (included in TeX Live)
+
+ \item Texmaker (multiplatform):\\
+ \url{https://www.xm1math.net/texmaker/index.html}
- \item TeXworks (multiplatform):\\
- \url{http://tug.org/texworks/}
-
-% \item LyX, an almost-WYSIWYG \LaTeX{} editor (multiplatform):\\
-% \url{http://www.lyx.org/}
-
\item TeXShop (Mac OS X):\\
- \url{http://www.uoregon.edu/~koch/texshop/}
-
+ \url{https://www.uoregon.edu/koch/texshop/}
+
\item TeXnicCenter (Windows):\\
- \url{http://www.texniccenter.org/}
-
+ \url{https://www.texniccenter.org/}
+
\end{itemize}
-Information about \LaTeX{} on the Mac can be found at
-\url{http://www.esm.psu.edu/mac-tex/}.
+Finally, I assume modern \LaTeX{} usage, i.e.\ PDF output using
+\app{pdflatex} or \app{xelatex} or \app{lualatex}. The same goes for
+graphics inclusion; no \PS{} or EPS files will be considered.
+
+% -----
+
+\subsubsection{Typographic Conventions}
+
+Throughout this document, I'll be using the facilities provided by the
+\href{https://www.ctan.org/pkg/latexdemo}{CTAN://latexdemo} package to
+typeset \LaTeX{} snippets along with their output. Occasionally,
+\ltx{latexdemo} does not work properly; in those cases, I'll be using a
+local modification of the old
+\href{https://www.ctan.org/pkg/example}{CTAN://example} package.
% -----
@@ -282,22 +333,22 @@ Information about \LaTeX{} on the Mac can be found at
\subsubsection{Editor-Supported Features}
-\LaTeX{} is just a formatter: things like cut and paste, search and
+\LaTeX{} is just a typesetter: things like cut and paste, search and
replace etc. are delegated to the editor. Table~\ref{tab:editing}
summarises the main commands of popular editors for geeks: GNU
\app{emacs} and \app{vim} with their native key bindings, and
\app{jed} configured for Borland IDE key bindings.
\begin{table}[htbp]
-\begin{center}
-\begin{tabular}{|lccc|} \hline
+\centering
+\begin{tabular}{lccc} \hline
\textbf{Action} & \textbf{Emacs} & \textbf{Vim} & \textbf{Jed} \\
-\hline
+\toprule
command mode & \texttt{Alt-X} & \texttt{ESC} & \texttt{Alt-X} \\
insert mode & n/a & \texttt{i a o O} & n/a \\
line editor mode & n/a & \texttt{:} & n/a \\
%\hline
-\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}file operations}} \\
+\multicolumn{4}{c}{\textit{\rule{0pt}{0.3cm}file operations}} \\
%\hline
open file & \texttt{Ctrl-X Ctrl-F} & \texttt{:e} & \texttt{Ctrl-KE}\\
insert file & \texttt{Ctrl-Xi} & \texttt{:r} & \texttt{Ctrl-KR}\\
@@ -309,7 +360,7 @@ undo & \texttt{Ctrl-XU} & \texttt{u} & \texttt{Ctrl-U}\\
redo & \texttt{Ctrl-\^} & \texttt{Ctrl-R} & \texttt{Ctrl-G Ctrl-U}\\
exit & \texttt{Ctrl-X Ctrl-C} & \texttt{:qa!} & \texttt{Ctrl-KX}\\
%\hline
-\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}moving around}}\\
+\multicolumn{4}{c}{\textit{\rule{0pt}{0.3cm}moving around}}\\
%\hline
word left & \texttt{Alt-B} & \texttt{b} & \texttt{Ctrl-A}\\
word right & \texttt{Alt-F} & \texttt{w} & \texttt{Ctrl-F}\\
@@ -321,7 +372,7 @@ start of buffer & \texttt{Alt-<} & \texttt{1G} & \texttt{Ctrl-QR}\\
end of buffer & \texttt{Alt->} & \texttt{G} & \texttt{Ctrl-QC}\\
line n. & \texttt{Alt-G n.} & \texttt{n.G} & \texttt{Ctrl-QI}\\
%\hline
-\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}deleting}}\\
+\multicolumn{4}{c}{\textit{\rule{0pt}{0.3cm}deleting}}\\
%\hline
character left & \texttt{Ctrl-H} & \texttt{X} & \texttt{BS}\\
character right & \texttt{Ctrl-D} & \texttt{x} & \texttt{Alt-G}\\
@@ -330,22 +381,21 @@ word right & \texttt{Alt-D} & \texttt{dw} &\texttt{Ctrl-T} \\
end of line & \texttt{Ctrl-K} & \texttt{d\$} & \texttt{Ctrl-QY} \\
line & \texttt{Ctrl-A Ctrl-K} & \texttt{dd} & \texttt{Ctrl-Y} \\
%\hline
-\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}search \& replace}}\\
+\multicolumn{4}{c}{\textit{\rule{0pt}{0.3cm}search \& replace}}\\
%\hline
search & \texttt{Ctrl-S text} & \texttt{/text} & \texttt{Ctrl-QS}\\
replace & \texttt{Alt-\%} & \texttt{:s/old/new/g} & \texttt{Ctrl-QA}\\
%\hline
-\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}blocks}}\\
+\multicolumn{4}{c}{\textit{\rule{0pt}{0.3cm}blocks}}\\
%\hline
start selection & \texttt{Ctrl-SPACE} & \texttt{v} & \texttt{Ctrl-KB} \\
cut & \texttt{Ctrl-W} & \texttt{D} & \texttt{Ctrl-KY} \\
copy & \texttt{Alt-W} & \texttt{Y} & \texttt{Ctrl-KH} \\
paste & \texttt{Ctrl-Y} & \texttt{P} & \texttt{Ctrl-KC} \\
-\hline
+\bottomrule
\end{tabular}
\caption{Useful key bindings for Emacs, Vim, and Jed in IDE mode.}
\label{tab:editing}
-\end{center}
\end{table}
% -----
@@ -355,54 +405,56 @@ paste & \texttt{Ctrl-Y} & \texttt{P} & \texttt{Ctrl-KC} \\
\subsubsection{Adding Packages}
\label{sec:packages}
-The following information applies to \app{TeX Live}, which ships with
-most GNU/Linux distributions. It may also work on MacTeX, but I have
-no first-hand experience. Instructions for MiK\TeX{} (probably the
-most popular implementation for Windows) will follow below.
+The following information applies to
+\href{https://www.tug.org/texlive/}{TeX Live}, a comprehensive \TeX{}
+system that ships with most GNU\-/Linux distributions. It should also
+work on \href{https://www.tug.org/mactex/}{MacTeX}, but I have no
+first-hand experience. Instructions for
+\href{https://miktex.org/}{MiKTeX} (probably the most popular
+implementation for Windows) will follow below.
A large collection of \LaTeX{} packages is natively supported; for
-instance, Ubuntu provides lots of \app{texlive-*} packages. Please
-note the ambiguity: we're talking of \texttt{.deb} \emph{packages}
-containing \LaTeX{} \emph{packages}.
+instance, Debian-based GNU/Linux variants provide lots of
+\app{texlive-*} packages. Please note the ambiguity: we're talking of
+\File{.deb} \emph{packages} containing \LaTeX{} \emph{packages}.
If you need to install an unsupported package, do the following.
\begin{enumerate}
\item create this directory structure:
-
- \begin{verbatim}
- $ mkdir -p ~/texmf/tex/latex
- \end{verbatim}
-
+
+ \cmdline{\$ mkdir -p \~{}/texmf/tex/latex}
+
Under this directory, new packages will be installed.
\item get the package (typically as a zip-compressed directory) from
your favourite CTAN mirror; let's call it \app{foo.zip}
-
+
\item unpack it in the right place:
-
+
\begin{verbatim}
$ mkdir ~/texmf/tex/latex/foo
$ mv foo.zip ~/texmf/tex/latex/foo
$ cd ~/texmf/tex/latex/foo ; unzip foo.zip
\end{verbatim}
-
- \item If no \texttt{.sty} file exists, run the command
- \texttt{latex foo.ins} or \texttt{latex foo.dtx} to create it;
-
- \item run the command \cmdline{texhash \~{}/texmf}.
-
+
+ \item If no \ltx{.sty} file exists, run the command
+ \cmdline{latex foo.ins} or \cmdline{latex foo.dtx} to create it;
+
+ \item run the command \cmdline{texhash \~{}/texmf}
+
\end{enumerate}
-To add a package to MiK\TeX, create the directory
-\path{\latex\newpackage} under \path{C:\localtexmf\tex\} and put the
-relevant files in there. Proceed as above, then run MiKTeX Options and
-click on the `Refresh now' button. Alternatively, issue the command
-\cmdline{initexmf -u}. That's it!
+To add a package to MiK\TeX, you may use the MiK\TeX{} console or a
+command line procedure. Create the directory \path{\latex\newpackage}
+under \path{C:\localtexmf\tex\} and put the relevant files in there.
+Proceed as above, then run MiKTeX Options and click on the `Refresh
+now' button. Alternatively, issue the command \cmdline{initexmf -u}.
+That's it!
Once a package is installed, you make it available in your documents
-adding a line under the \texttt{documentclass} declaration:
+adding a line under the \ltx{documentclass} declaration:
\begin{verbatim}
\usepackage{foo}
@@ -414,25 +466,26 @@ adding a line under the \texttt{documentclass} declaration:
\label{sec:infopage}
`Man' and `Info' pages are command-line sources of documentation for
-software, widely employed in \unix{} and Linux systems. If your
-\LaTeX{} distributions lacks the \file{latex2e.info} info page, do the
+software, widely employed in \unix{} and GNU/Linux systems. If your
+\LaTeX{} distributions lacks the \File{latex2e.info} info page, do the
following:
\begin{enumerate}
-
+
\item download it from
- \url{http://tug.ctan.org/info/latex2e-help-texinfo/latex2e.info};
-
+ \url{https://tug.ctan.org/info/latex2e-help-texinfo/latex2e.info};
+
\item run these commands:
-
+
\begin{verbatim}
- $ sudo cp latex2e.info /usr/share/info/
+ $ gzip latex2e.info
+ $ sudo cp latex2e.info.gz /usr/share/info/
$ sudo ginstall-info latex2e.info dir
\end{verbatim}
-
+
\end{enumerate}
-Now, \cmdline{info latex} or \cmdline{info latex2e} is available.
+Now, \cmdline{info latex2e} is available.
% -----
@@ -446,25 +499,17 @@ Before we start, please keep this in mind:
\item get used to \emph{structuring} your documents: think in terms of
parts, chapters, sections, and so on. This holds true even if you're
- not writing a scientific paper.
+ not writing a scientific paper;
- \item \LaTeX{} explicitly discourages the user from messing about with
- formatting parameters. Don't worry too much about the \emph{looks}
- of what you're writing, concentrate on the \emph{contents}.
+ \item \LaTeX{} is designed to produce output of the highest possible quality. The less you mess with formatting parameters, the better;
+
+ \item that said, there are times when you do want to break the rules. If you know what you are doing, that's fine. This guide breaks the rules a lot.
\end{enumerate}
Applying these simple rules, your printed material will magically look
professional.
-That said, this guide (which breaks the second rule somehow!) will
-help you overcome the second rule. So, you will also be able to
-compose unstructured material such as circulars, notices, poster, etc.
-
-
-\bigskip
-{\color{blue} \dingline{45}}
-
% -----
% FILE
@@ -473,7 +518,7 @@ compose unstructured material such as circulars, notices, poster, etc.
Obviously, some entries of this menu have nothing to do with \LaTeX{}:
\entry{File}{Open}, \entry{File}{Save}, \entry{File}{Close} depend on
-the editor.
+the editor.
% -----
@@ -492,6 +537,14 @@ This is the \LaTeX{} equivalent of a blank page:
\end{document}
\end{Verbatim}
+% \begin{source}
+%\\documentclass\{article\}
+%\\thispagestyle\{empty\} % no page number
+%\\begin\{document\}
+% This is a comment. Write your stuff here.
+%\\end\{document\}
+% \end{source}
+
As documents written in \LaTeX{} are inherently structured, this is a
more realistic example:
@@ -517,7 +570,7 @@ This is the end of the document. Please go to Section
\ref{sec:start} to read it again.
\begin{thebibliography}{99}
\bibitem{Gonzato} Gonzato G. \textit{\LaTeX{} for Word Processor
-Users}. CTAN, 2001--2015.
+Users}. CTAN, 2001--2023.
\end{thebibliography}
\end{document}
\end{Verbatim}
@@ -535,28 +588,29 @@ formats:
\begin{itemize}
- \item \app{\TeX4ht} is probably the best \LaTeX{} to HTML converter:\\
- \url{http://tug.org/tex4ht}
+ \item \app{\TeX4ht} is probably the best \LaTeX{} to HTML/XML
+ converter:\\
+ \url{https://tug.org/tex4ht}
\item \app{latex2html}, another converter to HTML:\\
- \url{http://saftsack.fs.uni-bayreuth.de/~latex2ht/},\\
- \href{http://www.ctan.org/tex-archive/support/latex2html}
- {CTAN://support/latex2html}
-
+ \href{https://www.ctan.org/pkg/latex2html}
+ {CTAN://latex2html}
+
\item \app{latex2rtf}, a converter to Rich Text Format:\\
- \href{http://www.ctan.org/tex-archive/support/latex2rtf}
- {CTAN://support/latex2rtf}
+ \href{https://www.ctan.org/pkg/latex2rtf}
+ {CTAN://latex2rtf}
\item \app{detex} (a command line converter) removes all \LaTeX{} tags and
outputs plain text:\\
- \url{http://www.cs.purdue.edu/homes/trinkle/detex/}, \\
- \href{http://www.ctan.org/tex-archive/support/detex}
- {CTAN://support/detex/}
+ \url{https://github.com/pkubowicz/opendetex}, \\
+ \href{https://www.ctan.org/pkg/detex}
+ {CTAN://detex/}
-
\end{itemize}
-See also Section~\ref{sec:prpreview} for details on PDF creation.
+But please read Section~\ref{sec:import} to learn what \app{Pandoc}
+can do fo you. See also Section~\ref{sec:prpreview} for details on PDF
+creation.
% -----
@@ -573,40 +627,124 @@ of this guide.
% FILE/IMPORT
\subsection{\entry{File}{Import}}
+\label{sec:import}
-These tools convert from other formats to \LaTeX{}:
+This is taken from the home page of \app{Pandoc},
+\url{https://pandoc.org}:
-\begin{itemize}
+\begin{quote}
+ If you need to convert files from one markup format into another,
+ pandoc is your swiss-army knife.
+\end{quote}
- \item \app{rtf2latex}:
- \href{http://www.ctan.org/tex-archive/support/rtf2latex}
- {CTAN://support/rtf2latex}
-
- \item \app{html2latex}:
- \href{http://www.ctan.org/tex-archive/support/html2latex}
- {CTAN://support/html2latex}
-
- \item \app{wvware} is a set of tools that convert from MS Word to
- several formats including \LaTeX{};
- \url{http://wvware.sourceforge.net}
-
- \item the free word processor Abiword, \url{http://www.abiword.org},
- imports MS Word and can export \LaTeX.
-
- \item \app{txt2tex}:
- \href{http://www.ctan.org/tex-archive/support/txt2tex}
- {CTAN://support/txt2tex} does a fairly good job at converting plain
- text files into \LaTeX.
-
-\end{itemize}
+\app{Pandoc} is an outstanding converter that produces excellent
+\LaTeX{} output, and much more. It's an invaluable tool when you need
+to write (or convert) documents in multiple formats.
+
+\app{Pandoc}'s native format is an extended version of
+\href{https://en.wikipedia.org/wiki/Markdown}{Markdown}, which
+translates smoothly into good \LaTeX. For example, this is a document
+written in Markdown:
+
+\begin{Verbatim}[fontsize=\small]
+---
+title: |
+ This is the title: \
+ now write the rest
+author: Guido Gonzato
+date: August 2023
+abstract: |
+ This is the abstract.
+...
+
+<!--- This is a comment. -->
+
+[comment]: # (This too is a comment)
+
+# Section
+
+This is **bold text**, this is *emphasized text*, this is normal text.
+
+If you're bored, go to [The End].
+
+## Subsection
-Other \texttt{*2latex} converters are available at the same address.
+This is `verbatim text`.
-Another interesting extension is OOoLatex, a set of macros for
-OpenOffice: \url{http://ooolatex.sourceforge.net/}. Libreoffice users
-have an equivalent extension called TexMaths,
-\url{http://roland65.free.fr/texmaths/}.
+# The End
+My dad used to say:
+
+> Damn, Pandoc has not been invented yet!
+
+but not it has.
+
+<!--- end of pandoc_template.md -->
+\end{Verbatim}
+
+To turn this document into a standalone \LaTeX{} source, type:
+
+\begin{Verbatim}[fontsize=\small]
+pandoc -s pandoc_template.md -o pandoc_template.tex
+\end{Verbatim}
+
+To typeset this source to PDF using \LaTeX, type:
+
+\begin{Verbatim}[fontsize=\small]
+$ pandoc --toc \
+ -V urlcolor=blue -V toccolor=red \
+ -V geometry:margin=2cm \
+ pandoc_template.md -o pandoc_template.pdf
+\end{Verbatim}
+
+The \cmdparm{-V} lines are used to specify options; please consult
+\app{Pandoc}'s documentation.
+
+You can use \app{Pandoc} to convert lots of different formats to
+\LaTeX. For example:
+
+\begin{Verbatim}[fontsize=\small]
+$ pandoc -s index.html -o index.tex
+$ pandoc -s text.docx -o text.tex
+$ pandoc -s text2.rtf -o text2.tex
+$ ...and so son.
+\end{Verbatim}
+
+The \cmdparm{-s} flag means ``standalone'', i.e.\ the output file is a
+complete \LaTeX{} document.
+
+% There are other tools that convert from other formats to \LaTeX{}:
+
+% \begin{itemize}
+
+% \item \app{rtf2latex}:
+% \href{https://www.ctan.org/pkg/rtf2latex}
+% {CTAN://support/rtf2latex}
+
+% \item \app{html2latex}:
+% \href{https://www.ctan.org/pkg/html2latex}
+% {CTAN://support/html2latex}
+
+% \item \app{wvware} is a set of tools that convert from MS Word to
+% several formats including \LaTeX{};
+% \url{https://wvware.sourceforge.net}
+
+% \item the free word processor Abiword, \url{https://www.abiword.org},
+% imports MS Word and can export \LaTeX.
+
+% \item \app{txt2tex}:
+% \href{https://www.ctan.org/pkg/txt2tex}
+% {CTAN://support/txt2tex} does a fairly good job at converting plain
+% text files into \LaTeX.
+
+% \end{itemize}
+
+% Other \File{*2latex} converters are available at the same address.
+
+% Another interesting extension is OOoLatex, a set of macros for
+% OpenOffice: \url{https://ooolatex.sourceforge.net/}. Libreoffice users
+% have an equivalent extension called TexMaths,
+% \url{https://roland65.free.fr/texmaths/}.
% -----
@@ -616,32 +754,20 @@ have an equivalent extension called TexMaths,
\label{sec:pagesetup}
The normal method for setting paper size, orientation, and margins, is
-to use parameters in \cmd{documentclass}. Paper size can be
+to use parameters in \cmd{docu\-ment\-class}. Paper size can be
\parm{a4paper}, \parm{a5paper}, \parm{b5paper}, \parm{letterpaper},
-\parm{legalpaper}, \parm{executivepaper}; orientation is
-\parm{portrait} by default, or optionally \parm{landscape}. For
-example,
+\parm{legalpaper}, \parm{executi\-ve\-pa\-per}; orientation is
+\parm{por\-trait} by default, or optionally \parm{land\-scape}. For
+example,
\begin{Verbatim}[fontsize=\small]
\documentclass[a5paper,landscape,12pt]{article}
\end{Verbatim}
Document-wide margins are set with the \cmd{setlength} command, which
-is used to change the value of variables and counters:
-
-\begin{Verbatim}[fontsize=\small]
-\setlength{\leftmargin}{2cm}
-\setlength{\rightmargin}{2cm}
-\setlength{\oddsidemargin}{2cm}
-\setlength{\evensidemargin}{2cm}
-\setlength{\topmargin}{-1cm}
-\setlength{\textwidth}{18cm}
-\setlength{\textheight}{25cm}
-\end{Verbatim}
-
-The \package{geometry} package allows for complete control of
-parameters such as paper size, margins width, and so on.
-\package{geometry} has far too many options to list them all, and
+is used to change the value of variables and counters. It's better to use
+the \href{https://www.ctan.org/pkg/geometry}{geometry} package, which allows for complete control of parameters such as paper size, margins width, and so on.
+\Pkg{geometry} has far too many options to list them all, and
you're invited to read its documentation. A fairly complete example of
its usage is shown below. In this example, some parameters are not
compatible with each other, and are there for purpose of argument
@@ -682,13 +808,13 @@ Options can also be set this way:
\subsubsection{\entry{Page Setup}{Headers and Footers}}
\label{sec:headers_footers}
-The \package{fancyhdr} package provides the new command
-\cmd{pagestyle\{fancy\}}. This will create a header reporting the
-current section (\style{chapter} in \style{book.cls}) and subsection,
-and a footer with the page number: pretty fancy indeed. Headers and
-footers can obviously be customised. They are made of three parts: a
-left-aligned part, a centre-aligned part, and a right-aligned part. To
-set those, use the commands like in this example:
+The \href{https://www.ctan.org/pkg/fancyhdr}{fancyhdr} package provides the new command \cmd{pagestyle\{fancy\}}. This will create a header reporting the
+current section (or \style{chapter} in \style{book.cls}) and
+subsection, and a footer with the page number: pretty fancy indeed.
+Headers and footers can obviously be customised. They are made of
+three parts: a left-aligned part, a centre-aligned part, and a
+right-aligned part. To set those, use the commands like in this
+example:
\begin{Verbatim}[fontsize=\small]
\usepackage{fancyhdr}
@@ -696,64 +822,22 @@ set those, use the commands like in this example:
\lhead{} % empty
\chead{Hello, world!}
\rhead{Page \thepage} % page number
-\lfoot{}
+\lfoot{}
\cfoot{\textbf{Hello!}}
\rfoot{}
\end{Verbatim}
% -----
-% FILE/PRINTER SETUP
-
-\subsection{\entry{File}{Printer Setup}}
-
-This is highly OS-dependent, and definitely outside of the scopes of
-\LaTeX{}. Assuming that you're using a \unix-like system, these tips
-may come in handy:
-
-\begin{itemize}
-
- \item \cmdline{lpr -P printername} prints to the specified printer;
-
- \item \cmdline{lpr -\# 10} prints 10 copies;
-
- \item \cmdline{lpr -r} removes the file after printing it
-
-\end{itemize}
-
-See below for more tips.
-
-% -----
-
% FILE/PRINT PREVIEW
\subsection{\entry{File}{Print Preview}}
\label{sec:prpreview}
-When the \LaTeX{} input file is ready, you have several options:
-
-\begin{itemize}
-
- \item convert it to \file{.dvi} (\cmdline{latex file.tex}) and previewing
- it with \app{xdvi}, \app{yap} or other DVI previewer;
-
- \item convert the \file{.dvi} to \PS{} with \app{dvips}, then use
- some variant of \app{Ghostview};
-
- \item producing a \file{.pdf} file with \app{dvipdf} or directly
- with \app{pdflatex}.
-
-\end{itemize}
-
-In my opinion, producing a \file{.pdf} file is the best option, as it
-makes for widest portability.
+That's very simple: produce a \File{PDF} file directly with \app{pdflatex},
+\app{xelatex}, or \app{lualatex}, then use your favourite PDF viewer.
-While \app{dvipdf} is just a script that converts the \file{.dvi} to
-\file{.ps} then to \file{.pdf}, using \app{pdflatex} is more
-interesting. In fact, some packages like \package{hyperref} and
-\package{url} make the resulting \file{.pdf} file browseable; see
-Section~\ref{sec:hyperlink}. However, \note{} using \app{pdflatex} you
-might experience problems with other packages. More details in
+Some packages like \href{https://www.ctan.org/pkg/hyperref}{hyperref} and \href{https://www.ctan.org/pkg/url}{url} make the resulting PDF file browseable; see Section~\ref{sec:hyperlink}. However, using \app{pdflatex} you might experience problems with other packages. More details in
Section~\ref{sec:figure}.
% -----
@@ -762,8 +846,7 @@ Section~\ref{sec:figure}.
\subsection{\entry{File}{Print}}
-Simply use \cmdline{lpr file.ps} from the command line, or via the
-\entry{File}{Print} menu entry of your previewer.
+Simply use the \entry{File}{Print} menu entry of your PDF viewer..
% -----
@@ -771,18 +854,20 @@ Simply use \cmdline{lpr file.ps} from the command line, or via the
\subsection{\entry{File}{Versions}}
-Although the \package{version} package provides basic facilities for
-versioning \LaTeX{} sources, using external tools is usually a better
-choice.
+Several programs for revision control and collaborative
+writing are available. While old-style geeks may want to use a single-user
+tool like RCS, more powerful and multi-user tools like Subversion, Git,
+Mercurial etc.\ are preferable. Git is probably the most commonly used, and some documentation about \LaTeX{} integration is here:
-There are lots of programs for revision control and collaborative
-writing. While old-style geeks may want to use a single-user tool like
-RCS (I do), more powerful and multi-user tools like Subversion, Git,
-Mercurial etc.\ may be preferable. Some of them are integrated with
-the editor.
-An introduction to \LaTeX{} and Subversion is here:\\
-\url{http://tug.org/pracjourn/2007-3/kalderon-svnmulti/}.
+\begin{itemize}
+
+\item \url{https://www.desy.de/~bargheer/gitintro/git.html}
+
+\item \url{https://www.math.cmu.edu/~gautam/sj/blog/20130929-git-quickstart.html}
+
+\end{itemize}
+
% -----
@@ -802,14 +887,16 @@ in \LaTeX{} is to enclose the text either between braces, or in an
environment. For example, to apply the bold attribute to a portion of
text you will use one of the following:
-\begin{example}
+\begin{DefineCode}
this is \textbf{bold text;}\\
this is also
{\bfseries bold text;}\\
\begin{bfseries}
this is bold text, too!
\end{bfseries}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
% -----
@@ -822,7 +909,7 @@ have the word `PostScript' automatically expanded. This is an editor
feature, but there's a rough \LaTeX{} equivalent:
\begin{Verbatim}[fontsize=\small]
-\def\PS {\textsc{PostScript}}
+\newcommand{\PS}{\textsc{PostScript}}
\end{Verbatim}
which will insert the equivalent of \verb|\textsc{PostScript}|
@@ -844,25 +931,28 @@ whenever you type \verb|\PS|. Beware, case is important.
\begin{itemize}
\item a non-breakable space is set with \textasciitilde{} (tilde)
-
+
\item to force a line break, use \cmd{linebreak} or \cmd{newline};
see below for details
-
- \item to start a new paragraph use a blank line, or \cmd{\bs} (possibly
- followed by an optional space, as in \cmd{\bs[1cm]}), or \cmd{par}
-
+
+ \item to start a new paragraph use a blank line, or \cmd{\Bs} (possibly
+ followed by an optional space, as in \cmd{\Bs[1cm]}), or \cmd{par}
+
\item finally, for a page break use \cmd{newpage} or \cmd{clearpage}
-
+
\end{itemize}
Unlike \cmd{newline}, \cmd{linebreak} stretches the line to the
margins:
-\begin{example}
+\begin{DefineCode}
I am stretched!\linebreak
But I am not.\newline
+Another line.\\
Ok, now you get it.
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Besides, \cmd{clearpage} differs from \cmd{newpage} in that it prints
all pending \emph{floats}, that is figures and tables. Floats will be
@@ -874,26 +964,28 @@ explained in Section~\ref{sec:figure}.
\subsection{\entry{Insert}{Enumerated List}}
-Bulleted and enumerated lists correspond to the \env{itemize} and
-\env{enumerate} environments. To customise the bullet in a list
+Bulleted and enumerated lists correspond to the \Env{itemize} and
+\Env{enumerate} environments. To customise the bullet in a list
environment, you can specify it as an argument to \cmd{item}:
-\begin{example}
+\begin{DefineCode}
\begin{itemize}
\item[*] with an asterisk;
\item[-] with a dash;
\item[.] with a dot.
\end{itemize}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Another way is to redefine the style of the
-\emph{counters}\footnote{each text element numbered by \LaTeX{}
-(sections, lists, figures, etc.) has a counter associated with it.}
-hat refer to the digits in the first- to fourth-level lists. These
-counters are \cmd{labelitemi}, \cmd{labelitemii}, \cmd{labelitemiii}
-and \cmd{labelitemiv} for itemised lists; \cmd{labelenumi},
-\cmd{labelenumii}, \cmd{labelenumiii} and \cmd{labelenumiv} for
-enumerated lists.
+\emph{counters}\footnote{each text element that is numbered by
+\LaTeX{} (sections, lists, figures, etc.) has a counter associated
+with it.} that refer to the digits in the first- to fourth-level
+lists. These counters are \cmd{labelitemi}, \cmd{labelitemii},
+\cmd{labelitemiii} and \cmd{labelitemiv} for itemised lists;
+\cmd{la\-bel\-enumi}, \cmd{labelenumii}, \cmd{labelenumiii} and
+\cmd{labele\-num\-iv} for enumerated lists.
There are several styles: \cmd{arabic} for `normal' numbers,
\cmd{roman} for lower-case roman numerals (e.g., viii is 8),
@@ -901,7 +993,7 @@ There are several styles: \cmd{arabic} for `normal' numbers,
for lower- and upper-case letters, and \cmd{fnsymbol} that I will not
explain for now:
-\begin{example}
+\begin{DefineCode}
\begin{itemize}
\renewcommand{\labelitemi}{*}
\renewcommand{\labelitemii}{-}
@@ -913,12 +1005,14 @@ explain for now:
\end{itemize}
\item first level, item 3
\end{itemize}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
To use, say, roman numbers and uppercase letters in enumerated lists,
do this:
-\begin{example}
+\begin{DefineCode}
\begin{enumerate}
\renewcommand{\labelenumi}
{\Alph{enumi}}
@@ -932,27 +1026,30 @@ do this:
\end{enumerate}
\item first level, item 3
\end{enumerate}
-\end{example}
+\end{DefineCode}
-Alternatively, use the \package{enumerate} package. It redefines the
-\env{enumerate} environment with the ability to specify an optional
-argument. Any occurrence of one of the characters \texttt{A a I i 1}
-will produce the value of the counter, using (respectively)
+\PrintDemo{style=parallel}
+
+Alternatively, use the \href{https://www.ctan.org/pkg/enumerate}{enumerate}
+package. It redefines the \Env{enumerate} environment with the ability to specify an optional argument. Any occurrence of one of the characters \ltx{A a I i 1} will produce the value of the counter, using (respectively)
\cmd{Alph}, \cmd{alph}, \cmd{Roman}, \cmd{roman}, or \cmd{arabic}. To
include some text, enclose it in braces:
-\begin{example}
+\begin{DefineCode}
\begin{enumerate}[{Example} I.]
- \item First example.\label{item:first}
+ \item First example.
+ \label{item:first}
\item Second example.
\item Last example.
Go to Item~\ref{item:first}.
\end{enumerate}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
To change the number of an enumerated item, just redefine its counter:
-\begin{example}
+\begin{DefineCode}
\begin{enumerate}
\setcounter{enumi}{2}
\item Example 3.
@@ -960,13 +1057,14 @@ To change the number of an enumerated item, just redefine its counter:
\setcounter{enumi}{5}
\item Example 6.
\end{enumerate}
-\end{example}
+\end{DefineCode}
-Lists within paragraphs are implemented by the \package{paralist}
-package, which provides the \env{inparaenum} environment:
+\PrintDemo{style=parallel}
-\begin{example}
-I'll throw in a list of items:
+Lists within paragraphs are implemented by the \href{https://www.ctan.org/pkg/paralist}{paralist} package, which provides the \Env{in\-pa\-rae\-num} environment:
+
+\begin{DefineCode}
+I'll throw in a list of items:
\begin{inparaenum}
\item apples,
\item pears, and
@@ -980,17 +1078,19 @@ with letters:
\item pears, and
\item oranges. The first item is \ref{first}.
\end{inparaenum}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
-As seen above, the characters \texttt{A a I i 1} can be used to modify
-the counter. \package{paralist} can do much more, and I suggest that
+As seen above, the characters \ltx{A a I i 1} can be used to modify
+the counter. \Pkg{paralist} can do much more, and I suggest that
you read its documentation.
% Finally, to change the indentation and distance between items you do:
% There are many counters associated with countable things like
% \cmd{section}, \cmd{page}, \cmd{table}, and so on: these have the same name
-% of the environment or command that produces the number, but no leading \bs.
+% of the environment or command that produces the number, but no leading \Bs.
% To force a counter to a given number, do something like this:
@@ -1011,16 +1111,16 @@ you read its documentation.
\subsection{\entry{Insert}{Special Character}}
First of all, let's remind that some characters have a special meaning
-in \LaTeX{}. They must be entered either with a leading \bs, or using
+in \LaTeX{}. They must be entered either with a leading \Bs, or using
them in math mode, or even writing special commands: see
Table~\ref{tab:characters}.
\begin{table}
-\begin{center}
- \begin{tabular}{ll}
- \hline
- \textbf{Character} & \textbf{\LaTeX{} Sequence} \\
- \hline
+\centering
+ \begin{tabular}{cl}
+ \toprule
+ \textbf{Special Character} & \textbf{\LaTeX{} Sequence} \\
+ \midrule
\$ & \verb|\$| or \verb|\textdollar| \\
\& & \verb|\&| \\
\% & \verb|\%| \\
@@ -1029,7 +1129,7 @@ Table~\ref{tab:characters}.
\} & \verb|\}| or \verb|\textbraceright| \\
$<$ & \verb|$<$| or \verb|\textless| \\
$>$ & \verb|$>$| or \verb|\textgreater| \\
- \bs & \verb|\textbackslash| \\
+ \Bs & \verb|\textbackslash| \\
\textbar & \verb|\textbar| \\
\textbullet & \verb|\textbullet| \\
\textdaggerdbl & \verb|\textdaggerdbl| \\
@@ -1044,54 +1144,53 @@ Table~\ref{tab:characters}.
\texttrademark & \verb|\texttrademark| \\
\textordfeminine & \verb|\textordfeminine| \\
\textordmasculine & \verb|\textordmasculine| \\
- \hline
+ \bottomrule
\end{tabular}
\caption{How to obtain some special characters.}
\label{tab:characters}
-\end{center}
\end{table}
Another way to enter special characters is using their ASCII code and
the \cmd{char} command. For example, you could insert the characters
-\texttt{\char36 \char38 \char94 \char126} entering \cmd{char36}
+\ltx{\char36 \char38 \char94 \char126} entering \cmd{char36}
\cmd{char38} \cmd{char94} \cmd{char126}.
There are packages that provide thousands of unusual characters and
-symbols. For instance, \package{pifont} provides the commands
-\cmd{ding}, \cmd{dingfill}, \cmd{dingline}, and \cmd{dinglist}. The
-first command produces the Dingbat character of the specified code.
-The other commands are equivalent to the \cmd{fill}, \cmd{line}, and
-\cmd{list} commands and environment, but use the Dingbat code given as
+symbols. For instance, \href{https://www.ctan.org/pkg/pifont}{pifont} provides the commands \cmd{ding}, \cmd{dingfill}, \cmd{dingline}, and \cmd{dinglist}. The first command produces the Dingbat character of the specified code. The other commands are equivalent to the \cmd{fill}, \cmd{line}, and \cmd{list} commands and environment, but use the Dingbat code given as
parameter:
-\begin{example}
+\begin{DefineCode}
\begin{dinglist}{43}
\item one
\item two
\item three
\end{dinglist}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Another nice variant is this:
-\begin{example}
+\begin{DefineCode}
\begin{dingautolist}{172}
\item one
\item two
\item three
\end{dingautolist}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
-There are far too many symbols to mention them all in this guide.
+There are way too many symbols to mention them all in this guide.
Rather, I'll point you to `The Comprehensive \LaTeX{} Symbol List' at
-\href{http://www.ctan.org/tex-archive/info/symbols/comprehensive}
-{CTAN://info/symbols/comprehensive}.
+\href{https://www.ctan.org/tex-archive/info/symbols/comprehensive}
+{CTAN://comprehensive}.
% -----
\subsubsection{The \euro{} Sign}
-The official Euro sign is provided by the \package{eurosym} package,
+The official Euro sign is provided by the \href{https://www.ctan.org/pkg/eurosym}{eurosym} package,
which can be used in two ways:
\begin{verbatim}
@@ -1102,10 +1201,10 @@ which can be used in two ways:
Both provide the \cmd{euro} command, which produces \euro. The actual
shape of the symbol depends on the declaration: the \verb|[gen]|
option provides a symbol that works with all font styles; the second
-declaration produces \officialeuro. Please note the difference. The
-latter shape can always be obtained with \cmd{officialeuro}.
+declaration produces \officialeuro. Please note the subtle difference.
+The latter shape can always be obtained with \cmd{officialeuro}.
-Another package that provides the Euro sign is \package{marvosym},
+Another package that provides the Euro sign is \href{https://www.ctan.org/pkg/marvosym}{marvosym},
which also provides many more fine characters. You get \EUR{} with
\cmd{EUR}.
@@ -1116,29 +1215,84 @@ which also provides many more fine characters. You get \EUR{} with
\subsection{\entry{Insert}{Formula}}
\LaTeX{} is particularly strong at typesetting math. To insert math
-symbols in the main text, you must enclose them between \texttt{\$}:
+symbols in the main text (\emph{inline mode}), you must enclose them between \ltx{\$}:
-\begin{example}
+\begin{DefineCode}
I like math: $x^n + y^n \neq
-z^n \forall n \neq 2$
+z^n\ \forall n \neq 2$
is my favourite theorem.
-\end{example}
+\end{DefineCode}
-The environments \env{displaymath} and \env{equation} typeset formulae
-aside from the text. The latter adds an equation number for later
-reference:
+\PrintDemo{style=parallel}
-\begin{example}
+The environments \Env{displaymath} and \Env{equation} typeset formulae
+aside from the text; this is called \emph{display mode}. \Env{equation} adds an equation number for later reference:
+
+\begin{DefineCode}
Fermat's Last Theorem is
defined as:
\begin{equation}
-x^n + y^n \neq z^n
-\forall n \neq 2
+x^n + y^n \neq
+z^n\ \forall n \neq 2
\label{eq:fermat}
\end{equation}
Can you prove
Eq.~\ref{eq:fermat}?
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+% TO DO (maybe): cite LaTeX equation editors, e.g. EqualX
+
+% -----
+
+\subsection{Using SymPy}
+
+Programming languages and spreadsheets use a standard syntax to enter
+math formulae. Using a great Python library called
+\href{https://www.sympy.org}{SymPy}, you can get \LaTeX{} formulae
+from math expressions. You don't have to be proficient in Python;
+just use the standard math syntax.
+
+This is a sample SymPy session. We want to obtain the \LaTeX{}
+code for the expression $\left(\frac{x}{2} - \frac{2
+y}{3}\right)^{3}$ and for its expansion $\frac{x^{3}}{8} - \frac{x^{2}
+y}{2} + \frac{2 x}{3}y^{2} - \frac{8 y^{3}}{27}$:
+
+\begin{Verbatim}
+In [1]: from sympy import *
+
+In [2]: init_session()
+IPython console for SymPy 1.9 (Python 3.10.6-64-bit) (ground
+types: python)
+
+These commands were executed:
+>>> from __future__ import division
+>>> from sympy import *
+>>> x, y, z, t = symbols('x y z t')
+>>> k, m, n = symbols('k m n', integer=True)
+>>> f, g, h = symbols('f g h', cls=Function)
+>>> init_printing()
+
+Documentation can be found at https://www.sympy.org
+
+In [3]: expr = (x/2 - 2*y/3)**3
+
+In [4]: latex(expr)
+Out[4]: '\\left(\\frac{x}{2} - \\frac{2 y}{3}\\right)^{3}'
+
+In [5]: latex(expr.expand())
+Out[5]: '\\frac{x^{3}}{8} - \\frac{x^{2} y}{2} + \\frac{2 x}{3}
+y^{2} - \\frac{8 y^{3}}{27}'
+\end{Verbatim}
+
+Now you can copy and paste the resulting formulae into your editor,
+only changing \ltx{\Bs{}\Bs} to \ltx{\Bs}.
+
+If you are reasonably proficient in Python, you may be interested in
+the \href{https://www.ctan.org/pkg/python}{python} \LaTeX{} package and the
+\href{https://mech.fsv.cvut.cz/~stransky/en/software/latexexpr/}{LaTeX
+Expression project} module.
% -----
@@ -1152,14 +1306,16 @@ optional parameter \verb|[n]| modifies the footnote number. The
and other punctuation signs that follow the word.
To use a symbol or arbitrary text instead of a number, redefine the
-counter associated with \cmd{footnote}:
+counter associated with \cmd{foot\-no\-te}:
-% can't use example, it uses minipages!
+% here we cheat: can't use example, it uses minipages!
\medskip
+\noindent
\begin{minipage}[c]{0.5\textwidth}
\begin{Verbatim}[fontsize=\small]
-\renewcommand{\thefootnote}{read me!}
+\renewcommand{\thefootnote}%
+{read me!}
This footnote\footnote
{I mean this one.}
says it all.
@@ -1179,6 +1335,7 @@ replaced by nice symbols:
\medskip
+\noindent
\begin{minipage}[c]{0.5\textwidth}
\begin{Verbatim}[fontsize=\small]
\renewcommand{\thefootnote}
@@ -1194,7 +1351,7 @@ The end.\footnote[8]{At last!}
\end{minipage}%
\begin{boxedminipage}[c]{0.5\textwidth}
\renewcommand{\thempfootnote}
- {\Roman{footnote}}
+ {\Roman{mpfootnote}}
This\footnote{The first.}
is the first footnote,
and this\footnote{The second.}
@@ -1207,21 +1364,22 @@ The end.\footnote[8]{At last!}
\medskip
Note the \verb|\fnsymbol{footnote}| thing. It uses 9 symbols
-associated with the values 1{\ldots}9 of the \texttt{footnote}
-counter: \fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym}
-\stepcounter{fnsym} \fnsymbol{fnsym} \stepcounter{fnsym}
-\fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym}
-\stepcounter{fnsym} \fnsymbol{fnsym} \stepcounter{fnsym}
-\fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym}
-\stepcounter{fnsym} \fnsymbol{fnsym}.
+associated with the values 1{\ldots}9 of the \ltx{footnote}
+counter: \forloop{fnsym}{1}{\value{fnsym} < 10}{\fnsymbol{fnsym}~}
-% gosh. How do you write the `for ()' loop in TeX?
+% \fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym}
+% \stepcounter{fnsym} \fnsymbol{fnsym} \stepcounter{fnsym}
+% \fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym}
+% \stepcounter{fnsym} \fnsymbol{fnsym} \stepcounter{fnsym}
+% \fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym}
+% \stepcounter{fnsym} \fnsymbol{fnsym}.
To make several references to the same footnote, don't write its
number explicitly. Rather, do this:
\medskip
+\noindent
\begin{minipage}[c]{0.5\textwidth}
\begin{Verbatim}[fontsize=\small]
This\footnote{the first.}
@@ -1240,27 +1398,29 @@ This\footnote{the first.} \newcounter{myfootnote}%
\setcounter{myfootnote}{\value{mpfootnote}}%
and this\footnote{the second.} are footnotes: please read note%
\footnotemark[\value{myfootnote}] again.
-% This footnote\footnote{I mean this one.} says it all. Please read
+% This footnote\footnote{I mean this one.} says it all. Please read
% note\footnotemark[\value{mpfootnote}] again.
\end{boxedminipage}
\medskip
-Warning: minipages use their own counters, \texttt{mpfootnote} and
-\texttt{thempfootnote}.
+Warning: minipages use their own counters, \ltx{mpfootnote} and
+\ltx{themp\-foot\-note}.
% -----
-\subsubsection{Footnotes at End of Document}
+\subsubsection{Footnotes and Endnotes}
-The \package{endnotes} package lets you move all footnotes at the end
-of the document. You'll have to add this line to the preamble:
+The \href{https://www.ctan.org/pkg/endnotes}{endnotes} package provides a new command, \cmd{endnote}, which you use instead of \cmd{footnote} to write footnotes that are printed after a \cmd{theendnotes} command.\endnote{This is an endnote.} This is useful when you want to print footnotes at the end of a chapter or section.
+
+You can also move all footnotes at the end of the document. You'll
+have to add this line to the preamble:
\begin{Verbatim}[fontsize=\small]
\let\footnote=\endnote
\end{Verbatim}
-and these lines as the last thing in your document:
+and add these lines as the last thing in your document:
\begin{Verbatim}[fontsize=\small]
\newpage
@@ -1272,8 +1432,7 @@ and these lines as the last thing in your document:
\endgroup
\end{Verbatim}
-Other commands are available, please read the \file{endnotes.sty}
-source.
+\theendnotes
% -----
@@ -1294,14 +1453,11 @@ document:
\end{Verbatim}
% TO DO: \renewcommand{\contentsname}{Table of Contents}
-
% TO DO: how to customise the table of contents.
-
-% The table of contents can be customised.
-
+% The table of contents can be customised.
% \setcounter{tocdepth}{3}
-% http://stackoverflow.com/questions/544051/how-does-one-change-the-paragraph-formatting-in-latex
+% https://stackoverflow.com/questions/544051/how-does-one-change-the-paragraph-formatting-in-latex
% -----
@@ -1312,7 +1468,7 @@ document:
\label{sec:space}
This entry doesn't actually exist in any word processor I am aware of.
-This is in fact a limitation that \LaTeX{} fills in a very elegant
+This is in fact a limitation that \LaTeX{} fills in a very simple
way.
\emph{Space filling} is used to center text horizontally, vertically,
@@ -1321,14 +1477,16 @@ and requires a lot of trial end error. Use a combination of \cmd{null}
or \verb|~| to set fixed marks, followed by \cmd{vfill} and
\cmd{hfill} like in this example:
-\begin{example}
+\begin{DefineCode}
one \hfill two\\
\vfill
~ \hfill three \hfill ~\\
\vfill
four \hfill five
\null
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Normally, \LaTeX{} won't let you insert blank spaces at your will: two
or more are considered a single space. However, if you do want to make
@@ -1336,10 +1494,12 @@ your document look messy, use \verb|~| to make a non-breakable space.
Also, use the command \cmd{hspace} like in this example:
-\begin{example}
+\begin{DefineCode}
This is a \hspace{2cm}
2-cm-wide hole.
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
% -----
@@ -1347,15 +1507,15 @@ This is a \hspace{2cm}
\subsection{\entry{Insert}{Tabs}}
-The \env{tabbing} environment provides a rough equivalent to the
+The \Env{tabbing} environment provides a rough equivalent to the
action of the TAB key, and it's used to align text in columns. These
are the most commonly used commands:
\begin{center}
\begin{tabular}{ll}
- \hline
+ \toprule
\textbf{Command} & \textbf{Action} \\
- \hline
+ \midrule
\verb|\=| & Sets a tab stop \\
\verb|\>| & Advances to the next tab stop \\
\verb|\+| & Sets the left margin one tab stop to the right \\
@@ -1363,30 +1523,32 @@ are the most commonly used commands:
\verb|\\| & Ends a line \\
\verb|\pushtabs| & Saves all tab stop positions \\
\verb|\poptabs| & Restores previously saved tab stop positions \\
- \hline
+ \bottomrule
\end{tabular}
\end{center}
This example shows some of the available commands:
-\begin{example}
+\begin{DefineCode}
\begin{tabbing}
% let's set the tab positions
-~ \hspace{1cm} \= ~ \hspace{2cm} \=
-~ \hspace{3cm} \= \kill % discard text
+~ \hspace{1cm} \= ~ \hspace{1.7cm} \=
+~ \hspace{2.2cm} \= \kill % discard text
Zero \> One \> Two \> Three \\
Zero \> One \> \> Three \+ \\ % go right
Zero \> Two \> Three \- \\ % go left
Zero \> One \> Two \\
\pushtabs % save tab positions
-new tab 1{\ldots} \= new tab 2 \\
+new tab 1{\dots} \= new tab 2 \\
new \> tab \\
\poptabs % restore tab positions
Zero \> One \> Two \> Three
\end{tabbing}
-\end{example}
+\end{DefineCode}
-See also the \env{tabular} and \env{table} environments.
+\PrintDemo{style=parallel}
+
+See also the \Env{tabular} and \Env{table} environments.
% -----
@@ -1397,34 +1559,38 @@ See also the \env{tabular} and \env{table} environments.
The commands \cmd{label}, \cmd{ref}, and \cmd{pageref} are all you
need to insert labels in the text and do cross referencing. The
-standard format of labels is the \texttt{prefix:suffix} form, where
-\texttt{prefix} is one of the following: \texttt{cha} for chapters,
-\texttt{eq} for equations, \texttt{fig} for figures, \texttt{sec} for
-(sub)sections, and \texttt{tab} for tables.
+standard format of labels is the \ltx{prefix:suffix} form, where
+\ltx{prefix} is one of the following: \ltx{cha} for chapters,
+\ltx{eq} for equations, \ltx{fig} for figures, \ltx{sec} for
+(sub)sections, and \ltx{tab} for tables.
References to a page (section, table, figure, etc.) number can be
obtained using \cmd{label} and \cmd{ref} as in this example:
-\begin{example}
+\begin{DefineCode}
\paragraph{Example.}
\label{par:example}
This paragraph appears
in Section~\ref{par:example}
on page~\pageref{par:example}.
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Of course, you may use your own prefixes. For example, take this
enumerated list:
-\begin{example}
+\begin{DefineCode}
\begin{enumerate}
- \item{first step: skip to
+ \item{first step: skip to
\ref{item:end} \label{item:start}}
\item{another step (unreferenced)}
\item{end: go back to
\ref{item:start} \label{item:end}}
\end{enumerate}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
% -----
@@ -1432,7 +1598,8 @@ enumerated list:
\subsection{\entry{Insert}{Margin Notes}}
-Very simple: use \verb|\marginpar{text}|.
+Very\marginpar{\emph{Note!}} simple: use \verb|\marginpar{text}|.
+This feature is not commonly used with word processors.
% -----
@@ -1442,27 +1609,31 @@ Very simple: use \verb|\marginpar{text}|.
A text frame is used to define a part of text that does not break
across pages. To place a text frame on a fixed position on the page,
-use the \package{textpos} package, as shown in the example listed in
-fig.~\ref{fig:poster} (see Appendix~\ref{ap:templates}).
+use the \href{https://www.ctan.org/pkg/textpos}{textpos} package,
+as shown in the example listed in fig.~\ref{fig:poster} (see Appendix~\ref{ap:templates}).
-\setlength{\fboxsep}{5mm}
+\setlength{\fboxsep}{3mm}
\begin{center}
\begin{minipage}[c]{0.4\linewidth}
If you don't need to specify a fixed position, then use the
- \env{minipage} (miniature page) environment. This text is enclosed
+ \Env{minipage} (miniature page) environment. This text is enclosed
in a minipage{\ldots}
\end{minipage}
+ % empty minipage
+ \begin{minipage}[c]{0.1\linewidth}
+ ~
+ \end{minipage}
\begin{boxedminipage}[c]{0.4\linewidth}
{\ldots}and this is some other text enclosed in a
- \env{boxedminipage} environment, provided by the package of same
+ \Env{boxedminipage} environment, provided by the package of same
name.
\end{boxedminipage}
\end{center}
\setlength{\fboxsep}{3pt} % default
-I remind you what a \env{minipage} declaration looks like:
+I remind you what a \Env{minipage} declaration looks like:
\begin{verbatim}
\begin{minipage}[position]{width}
@@ -1470,7 +1641,7 @@ I remind you what a \env{minipage} declaration looks like:
\end{minipage}
\end{verbatim}
-In a \env{boxedminipage}, the space between the frame and the text is
+In a \Env{boxedminipage}, the space between the frame and the text is
set with this command:
\begin{verbatim}
@@ -1479,160 +1650,188 @@ set with this command:
% -----
+% INSERT/IMAGE
+
+\subsection{\entry{Insert}{Image}}
+\label{sec:image}
+
+Please note: an \emph{image} and a \emph{figure} are not the same thing! Please see Section~\ref{sec:figure} for details.
+
+Images can be inserted as PDF, JPG, PNG, and TIFF files. If you need to insert \PS{} or EPS files, then you're a geek and you surely know how to convert these formats to PDF.
+
+The almighty \href{https://www.ctan.org/pkg/graphicx}{graphicx} package provides the \cmd{includegraphics} command:
+
+\begin{DefineCode}
+This is a lovely picture
+
+\includegraphics[width=3cm]{piper.jpg}
+
+of a guy playing the pipes.
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+Parameters \ltx{height}, \ltx{scale}, and \ltx{angle} can also be specified. \ltx{width} can be set to exact units as above, or related to text or line width:
+
+\begin{verbatim}
+width=\textwidth % width of text on page
+width=\linewidth % width of text in current environment
+width=0.5\linewidth % half of line width
+\end{verbatim}
+
+To centre or right-align an image, use the \href{https://www.ctan.org/pkg/adjustbox}{adjustbox} package and add this line to your document:
+
+\begin{verbatim}
+\usepackage[export]{adjustbox}
+\end{verbatim}
+
+The \Pkg{adjustbox} package adds options \ltx{left}, \ltx{right}, \ltx{center}, \ltx{outer}, and \ltx{inner} to \cmd{inclu\-de\-gra\-phics}. The latter two options apply to multi-column text.
+
+\begin{DefineCode}
+This is a lovely picture
+
+\includegraphics%
+[width=3cm,right]{piper.jpg}
+
+of a guy playing the pipes.
+\end{DefineCode}
+
+Needless to say, bitmap images don't have the same quality as PDF vector images; besides, they can make the resulting output file quite large.
+
+% -----
+
% INSERT/FIGURE
\subsection{\entry{Insert}{Figure}}
\label{sec:figure}
-(The reference guide for graphic inclusion in \LaTeX{} is `Using
-Imported Graphics in \LaTeX2e', a.k.a. \texttt{epslatex.ps}.)
-
-A `figure' can be not only a picture, but also a portion of text, a
-table, etc.\ that you put in a \env{figure} environment. This is an
-example:
+Inserting a \emph{figure} is not the same as inserting an \emph{image}. In fact, a figure is not necessarily an image; it has no fixed position on the page; it usually has a caption; and it can be referenced to. All this is accomplished with the \Env{figure} environment. Two examples of figure follow.
\begin{figure}[htbp]
\begin{minipage}[c]{0.6\textwidth}
\begin{Verbatim}[fontsize=\small]
\begin{figure}[htbp]
-% [htbp] specifies the
-% preferred placement: here, top,
-% bottom, or separate page.
- \begin{center}
+% [htbp] specifies the preferred placement:
+% here, top, bottom, or separate page.
+ \centering
\texttt{=8-)}
- \end{center}
- \caption{A smiley representing
+ \caption{A smiley representing
the author of this guide.}
\label{fig:mysmiley}
\end{figure}
\end{Verbatim}
\end{minipage}%
\begin{boxedminipage}[c]{0.4\textwidth}
- \begin{center}
- \texttt{=8-)}
- \end{center}
+ \centering
+ \large{ \texttt{=8-)} }
\caption{A smiley representing the author of this guide.}
\label{fig:mysmiley}
\end{boxedminipage}
\end{figure}
-Please \note note that figures are not guaranteed to appear exactly
-where you write the code! In fact, the main difference with word
-processors is that figures don't have a fixed placement; they `float'
-to the optimal position that \LaTeX{} finds for them. So, the text
-shouldn't refer to a figure like `the figure below' or `the figure
-above'; use `\verb|see fig.~\ref{fig:label}|' instead.
-
-Owing to this property, figures and tables are called \emph{floats}.
-If you do need to position a float exactly, use the \package{here}
-package that provides an optional placement argument \texttt{H}
-(meaning, ``right HERE!'').
-
-Given a picture in Encapsulated \PS{} (\texttt{.eps}) format, you
-insert it in a \LaTeX{} source file using the \package{graphicx}
-package and commands like those shown in fig.~\ref{fig:gnuplot}.
-
-\medskip
-
\begin{figure}[htbp]
- \begin{minipage}[c]{0.5\textwidth}
+ \begin{minipage}[c]{0.38\textwidth}
\begin{Verbatim}[fontsize=\small]
-\begin{figure}
-\begin{center}
-\fbox{\includegraphics
-[width=0.5\textwidth, angle=-90]
-{gnuplot.ps}}
+\begin{figure}[htbp]
+\centering
+\includegraphics%
+[width=0.7\textwidth, angle=-90]%
+{gnuplot.pdf}
\caption{A Gnuplot graph.}
\label{fig:gnuplot}
-\end{center}
\end{figure}
\end{Verbatim}
\end{minipage}%
- \begin{minipage}[c]{0.5\textwidth}
- \begin{center}
- % I cheat! PDF only.
- \fbox{\includegraphics[width=0.6\textwidth, angle=-90]{gnuplot.pdf}}
+ \begin{minipage}[c]{0.58\textwidth}
+ \centering
+ \includegraphics[width=0.7\textwidth, angle=-90]{gnuplot.pdf}
\caption{A Gnuplot graph.}
\label{fig:gnuplot}
- \end{center}
\end{minipage}
\end{figure}
-When you typeset your document with \cmd{latex} then \app{dvips},
-graphic inclusion only works with \texttt{EPS} files; \app{pdflatex}
-accepts JPG, PNG, and of course PDF files. The latter choice might be
-preferable for most users.
-
-There are several packages that convert common graphic formats like
-\file{.jpg}, \file{.gif}, \file{.png} etc. to \file{.eps} and/or
-\file{.pdf}; for example, ImageMagik (\url{http://www.imagemagik.org})
-and The GIMP (\url{http://www.gimp.org}). However, these applications
-produce huge \PS{} files.
-
-Best results are obtained using applications that wrap the bitmap,
-turning it into a compact \PS{} file. You'll want to use \app{jpeg2ps}
-(\url{http://www.pdflib.com/jpeg2ps/index.html}) or \app{bmeps}
-(\href{http://www.ctan.org/tex-archive/support/bmeps}
-{CTAN://support/bmeps}). The former is often the best choice for
-wrapping \file{.jpg} files, but the latter handles more graphics
-formats.
-
-If you wish to make both \file{.pdf} and \file{.ps} from the same
-source file, include these commands:
-
-\begin{Verbatim}[fontsize=\small]
-\usepackage{ifpdf}
-...
-% include the right options
-\ifpdf
- \usepackage[pdftex]{graphicx}
- \pdfcompresslevel=9
-\else
- \usepackage{graphicx}
-\fi
-...
-% include the right graphic file
-\ifpdf
- \includegraphics{file.png}
-\else
- \includegraphics{file.eps}
-\fi
-\end{Verbatim}
-
-\begin{warn}
+Please note that figures are not guaranteed to appear exactly
+where you write the code! In fact, the main difference with word
+processors is that figures don't have a fixed placement; they `float'
+to the optimal position that \LaTeX{} finds for them. So, the text
+shouldn't refer to a figure like `the figure below' or `the figure
+above'; use `\verb|see fig.~\ref{fig:label}|' instead.
- If you have more than 18 figures without text between them, you'll
- get the `Too many unprocessed floats' \LaTeX{} error. The quickest
- way to solve this problem is to put \cmd{clearpage} after three or
- four figures.
+Owing to this property, figures and tables are called \emph{floats}.
+If you do need to position a float exactly, use the \href{https://www.ctan.org/pkg/here}{here} package that provides an optional placement argument \ltx{H} (meaning, ``right HERE!'').
+
+To include figures side by side, use the \href{https://www.ctan.org/pkg/subcaption}{subcaption} package that provides the \ltx{subfigure} environment (after Figure~\ref{fig:gnuplot}):
+
+\lstset{language=TeX}
+
+\begin{lstlisting}
+\begin{figure}[h]
+ % first subfigure
+ \begin{subfigure}{0.5\textwidth} % half figure for 1st subfigure
+ \includegraphics[width=0.9\linewidth]{piper.jpg}
+ \caption{Caption of 1st subfigure.}
+ \label{fig:subfig1}
+ \end{subfigure}
+ % second subfigure
+ \begin{subfigure}{0.5\textwidth}
+ \includegraphics[width=0.9\linewidth, angle=-90]%
+ {gnuplot.pdf}
+ \caption{Caption of 2nd subfigure.}
+ \label{fig:subfig2}
+ \end{subfigure}
+ % whole figure
+ \caption{Caption of the figure with two images.}
+ \label{fig:image2}
+\end{figure}
+\end{lstlisting}
+
+\begin{figure}[h]
+
+% first subfigure
+\begin{subfigure}{0.45\textwidth} % half figure for 1st subfigure
+ \includegraphics[width=0.9\linewidth]{piper.jpg}
+ \caption{Caption of 1st subfigure.}
+ \label{fig:subfig1}
+\end{subfigure}
+% second subfigure
+\begin{subfigure}{0.45\textwidth}
+ \includegraphics[width=0.7\linewidth, angle=-90]{gnuplot.pdf}
+ \caption{Caption of 2nd subfigure.}
+ \label{fig:subfig2}
+\end{subfigure}
+
+\caption{A figure with two subfigures.}
+\label{fig:image2}
-\end{warn}
+\end{figure}
% -----
\subsubsection{Wrapping Floats}
-For a magazine-like layout, use the \package{wrapfig} package:
+For a magazine-like layout, use the \href{https://www.ctan.org/pkg/wrapfig}{wrapfig} package:
-\begin{example}
+\begin{DefineCode}
If you meet this guy, give him some money.
\begin{wrapfigure}[4]{l}[5pt]{2cm}
-{\Huge
- \texttt{=8-)}
+{\huge
+ ~\texttt{=8-)}
}
\end{wrapfigure}
-The reason may not be apparent to you,
+The reason may not be clear to you,
but I can assure that your money
will end up in good hands.
I say again, if you meet this guy,
give him some money: he knows how to
use it properly. OK?
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
The parameters are the number of lines to be narrowed, the figure
-placement, the overhang, and the figure width.
+placement (like in \ltx{htbp}, the overhang, and the figure width.
% -----
@@ -1640,100 +1839,117 @@ placement, the overhang, and the figure width.
\subsection{\entry{Insert}{Shapes}}
-\LaTeX{} provides a \env{picture} environment whithin which you use
-commands like \cmd{circle}, \cmd{oval} and so on. In my opinion,
-drawing pictures without a graphical environment is just too hard, and
-\env{picture} has several limitations too. It's much better to use a
-couple of great programs, both free and open source: the vector
-drawing program Inkscape, \url{https://inkscape.org/}, along with
-Pstoedit, \url{http://www.pstoedit.net/}.
+\href{https://github.com/pgf-tikz/pgf}{PGF/TikZ} PGF is a powerful package for generating graphics programmatically. This is a minimal example:
+
+\begin{DefineCode}
+\begin{tikzpicture}
+\draw[red,thick] (-2,-1) -- (2,1);
+\draw[green,thick] (-2, 1) -- (2,-1);
+\draw[blue,ultra thick] (0, 0) circle
+ (1cm) node{\huge \LaTeX};
+\end{tikzpicture}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+but you can do miracles, as shown at the \href{https://tikz.net/}{TikZ.net} page.
+
+If you prefer to use a WYSIWYG graphics program, I recommend that you start with Inkscape, \url{https://inkscape.org/}. This program is \LaTeX{} aware, i.e.\ it can interact with \LaTeX{} to typeset formulae and text.
Start Inkscape and draw any shape you wish using its tools. To insert
-text rendered by \LaTeX, select \menu{Extensions/Render/LaTeX
-formula...}, insert your text as in fig.~\ref{fig:ink1}, then click on
-Apply.
+text rendered by \LaTeX, select \menu{Extensions/Text/Formula (pdflatex)...} or \menu{Extensions/Render/Mathematics/LaTeX (pdflatex)...}, insert your text as in fig.~\ref{fig:ink1}, then click on Apply.
\begin{figure}[htbp]
\centering
- \includegraphics[width=0.6\textwidth]{inkscape-tb.png}
+ \includegraphics[width=0.75\textwidth]{inkscape-tb.png}
\caption{Inserting a \LaTeX{} formula.}
\label{fig:ink1}
\end{figure}
Your \LaTeX-rendered text will be included as a graphics object, and
-you'll be able to edit it as you wish. The resulting picture can be
-exported to several formats supported by \LaTeX, such as PDF, PNG, and
-many others. More information here:
-\url{http://www.ctan.org/tex-archive/info/svg-inkscape}.
+you'll be able to edit it as you wish (Figure~\ref{fig:ink2}). The resulting picture can be exported to several formats supported by \LaTeX, such as PDF, PNG, and many others.
\begin{figure}[htbp]
\centering
- \includegraphics[width=0.6\textwidth]{inkscape.png}
+ \includegraphics[width=\textwidth]{inkscape.png}
\caption{A \LaTeX{} object can be edited as desired.}
\label{fig:ink2}
\end{figure}
-If you wish to do real magic, then check out the following
-packages/programs:
+Many graphics programs provide \LaTeX-friendly output, both programmatically and interactively. The first that spring to mind are:
\begin{itemize}
-
- \item \package{pgf} is a \TeX{} macro package for generating
- graphics:\\
- \url{http://sourceforge.net/projects/pgf/}
-
- \item \package{GLE} (Graphics Layout Engine) is a graphics
- scripting language designed for creating publication quality graphs,
- plots, diagrams, figures and slides:\\
+
+ \item \Pkg{GLE} (Graphics Layout Engine) is a graphics scripting language designed for creating publication quality figures. [\dots] GLE relies on \LaTeX{} for text output and supports mathematical formulae in graphs and figures:\\
\url{www.gle-graphics.org}
-
- \item Asymptote is a powerful descriptive vector graphics language
- that provides a natural coordinate-based framework for technical
- drawing:\\
- \url{http://asymptote.sourceforge.net/}
-
- \item ePiX, a collection of batch utilities for GNU/Linux and
- similar platforms, creates mathematically accurate figures, plots,
- and movies using easy-to-learn syntax:\\
- \url{http://mathcs.holycross.edu/~ahwang/current/ePiX.html};
-
- \item \package{pstricks} is a set of macros that allow the inclusion
- of PostScript drawings in \LaTeX{} documents:\\
- \url{http://tug.org/PSTricks/main.cgi/}
-
+
+ \item \Pkg{Asymptote} is a powerful descriptive vector graphics language that provides a natural coordi\-na\-te-based framework for technical drawing. Labels and equations are typeset with \LaTeX:\\
+ \url{https://asymptote.sourceforge.net/}
+
+ \item \Pkg{LaTeXDraw} is a graphical drawing editor for \LaTeX:\\
+ \url{https://latexdraw.sourceforge.net/}
+
+ \item \Pkg{Graphviz} takes descriptions of graphs in a simple text language, and make diagrams for inclusion in \LaTeX:\\
+ \url{https://graphviz.org}.
+
\end{itemize}
-These packages let you make publication-quality \PS{} drawings in
+These packages let you make publication-quality drawings in
\LaTeX. Many more are available; search the web for ``LaTeX vector
graphics''.
Many more kinds of `shapes' can also be inserted. To whet your
appetite, please visit the \TeX{} Showcase page,
-\url{http://www.tug.org/texshowcase/}.
+\url{https://www.tug.org/texshowcase/}.
+
+% -----
+
+\subsection{\entry{Insert}{Page}}
+\label{sec:inspage}
+
+Inserting external PDF pages without producing overfull errors is
+easily done with the \href{https://www.ctan.org/pkg/pdfpages}{pdfpages}
+package. The following command:
+
+\begin{Verbatim}[fontsize=\small]
+\includepdf[fitpaper]{pandoc_template.pdf}
+\end{Verbatim}
+
+includes the PDF document that was made by \app{Pandoc}
+(Section~\ref{sec:import}).
+
+\includepdf[fitpaper]{pandoc_template.pdf}
+
+Obviously, \Pkg{pdfpages} can do much more and its documentation
+is a good read.
% -----
% INSERT/LINE
-\subsection{\entry{Insert}{Line}}
+\subsection{\entry{Insert}{Rule}}
Draw lines of any length and thickness with \cmd{rule}:
-\begin{example}
+\begin{DefineCode}
This is a page-wide
rule:\\
\rule{\linewidth}{1pt}
but this one is shorter
and thicker:\\
\rule{2cm}{2mm}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Another interesting `line' is that made of dots (\cmd{dotfill}), often
used to relate things. This is how it's done:
-\begin{example}
+\begin{DefineCode}
Total price \dotfill \euro~10
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
% -----
@@ -1742,10 +1958,8 @@ Total price \dotfill \euro~10
\subsection{\entry{Insert}{Hyperlink}}
\label{sec:hyperlink}
-The \package{hyperref} package lets you write URLs and other external
-references. When used together with \app{dvipdf} or \app{pdflatex},
-\package{hyperref} lets you make browseable \file{.pdf} documents! For
-instance, this document uses this declaration:
+The \href{https://www.ctan.org/pkg/hyperref}{hyperref} package lets you write URLs and other external references, making the PDF output browseable.
+For instance, this document uses this declaration:
\begin{Verbatim}[fontsize=\small]
\usepackage[colorlinks,
@@ -1757,19 +1971,21 @@ instance, this document uses this declaration:
Let's see an example:
-\begin{example}
+\begin{DefineCode}
The \hypertarget{ctan}{CTAN} main site
-is \url{http://www.ctan.org}, a.k.a
-\href{http://www.ctan.org}{CTAN://}.
+is \url{https://www.ctan.org}, a.k.a
+\href{https://www.ctan.org}{CTAN://}.
Listen to \href{run:midifile.mid}
{this MIDI file}.
Click \hyperlink{ctan}{here} to go
back to the top.
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
-As you can see, the \cmd{url} command typesets its contents using a
+By default, the \cmd{url} command typesets its contents using a
monospace font. To use the same font as the remaining text, use the
command:
@@ -1777,26 +1993,15 @@ command:
\urlstyle{same}
\end{Verbatim}
-after the \cmd{hyperref} declaration.
+after the \cmd{hyperref} declaration, as this document does.
The \cmd{hypertarget} and \cmd{hyperlink} commands provide internal
links, just like HTML; \cmd{href} creates links to URLs or external
-files. Note the \texttt{run:} parameter: you can run external programs
-like multimedia players, office applications, whatever. As far as I
-know, this feature only works in Adobe Reader, Okular, and Evince.
+files. Note the \ltx{run:} parameter: you can run external programs
+like multimedia players, office applications, whatever. This feature
+only works with some PDF readers, though.
-On Linux and possibly other \unix{} variants, you'll have to instruct
-your favourite PDF reader what to run when an external file is
-referenced. Insert lines like the following in your \file{.mailcap} or
-\file{/etc/mailcap}:
-
-\begin{verbatim}
-audio/midi;/usr/bin/timidity %s
-audio/*; xmms %s
-video/*; xine -pfhq %s
-\end{verbatim}
-
-Please read \package{hyperref}'s documentation for further examples
+Please read \Pkg{hyperref}'s documentation for further examples
and possibilities.
% -----
@@ -1805,8 +2010,36 @@ and possibilities.
\subsection{\entry{Insert}{Comment}}
-This is done inserting \% before each line, or by using the package
-\package{comment} that provides the environment of the same name.
+This is done inserting \% before each line, or by using the \href{https://www.ctan.org/pkg/comment}{comment} package
+that provides \ltx{\Bs{}comment}, \ltx{\Bs{}endcomment},
+and the \ltx{comment} environment:
+
+\begin{DefineCode}
+This text % boring example
+\begin{comment}
+what a boring example
+\end{comment}
+is just an example.
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+Pop-ups comments in PDF output are provided by the \Pkg{pdfcomment} package. This document uses this declaration:
+
+\begin{Verbatim}
+\usepackage[icon=note,color={1 1 0}]{pdfcomment}
+\end{Verbatim}
+
+\begin{DefineCode}
+This text is nothing special
+\pdfmargincomment{yup, definitely.},
+but it contains a couple of \pdfmarkupcomment{nice}%
+{simple, more than nice} comments.
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+Please note that not all PDF viewers can display pop-up comments correctly.
% -----
@@ -1816,9 +2049,9 @@ This is done inserting \% before each line, or by using the package
In general, the main format properties of a document are set with
parame\-ters in \cmd{document\-class}: default font size (10, 11, or
-12pt), paper (\texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper},
-\texttt{letterpaper}, \texttt{legalpaper}, \texttt{executivepaper}),
-and orientation (\texttt{portrait}, \texttt{landscape}). For example,
+12pt), paper (\ltx{a4paper}, \ltx{a5paper}, \ltx{b5paper},
+\ltx{letterpaper}, \ltx{legalpaper}, \ltx{executivepaper}),
+and orientation (\ltx{portrait}, \ltx{landscape}). For example,
\begin{Verbatim}[fontsize=\small]
\documentclass[a5paper,landscape,12pt]{article}
@@ -1833,25 +2066,25 @@ Section~\ref{sec:extsizes}.
\subsection{\entry{Format}{Line Spacing}}
-The package \package{setspace} provide the environments
-\env{singlespace}, \env{onehalfspace}, and \env{double\-space}. In
-addition, the environment/command \cmd{spacing}\cmdparm{\{amount\}}
-will set the spacing to the specified amount:
+The \href{https://www.ctan.org/pkg/setspace}{setspace} package provides the environments \Env{singlespace}, \Env{onehalfspace}, and \Env{double\-space}. In addition, the environment/command \cmd{spacing}\cmdparm{\{amount\}}
+will set the spacing to the specified a\-mount:
-\begin{example}
+\begin{DefineCode}
\begin{spacing}{2.5}
These two lines \\
are crazily spaced!
\end{spacing}
\begin{spacing}{1}
Much better, these lines\\
-have a pretty space.
+are spaced normally.
\end{spacing}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
To apply line spacing to the whole document, use the
-\cmd{linespread\{factor\}} command in the preamble. Default value of
-\texttt{factor} is 1; larger values give larger line spacing (1.6 is
+\cmd{linespread\{fac\-tor\}} command in the preamble. Default value of
+\ltx{factor} is 1; larger values give larger line spacing (1.6 is
roughly double line spacing).
% -----
@@ -1867,10 +2100,11 @@ in \ltx{docu\-ment\-class} (10, 11, or 12 pt); see
Table~\ref{tab:font_sizes2}.
\begin{table}[htbp]
-\begin{center}
-\begin{tabular}{lll} \hline
+\centering
+\begin{tabular}{lll}
+\toprule
\textbf{Text attribute} & \textbf{Environment form} & \textbf{Example} \\
-\hline
+\midrule
\cmd{textnormal} & \verb|textnormal| & main document font \\
\cmd{textrm} & \verb|rmfamily| & \textrm{roman} \\
\cmd{textit} & \verb|itshape| & \textit{italics} \\
@@ -1891,11 +2125,10 @@ Table~\ref{tab:font_sizes2}.
\cmd{mathit} & n/a & $\mathit{x^n + y^n \neq z^n \forall n \neq 2}$ \\
\cmd{mathnormal} & n/a & $\mathnormal{x^n + y^n \neq z^n \forall n \neq 2}$ \\
\cmd{mathcal} & n/a & $\mathcal{x^n + y^n \neq z^n \forall n \neq 2}$ \\
-\hline
+\bottomrule
\end{tabular}
\caption{Font attributes.}
\label{tab:properties}
-\end{center}
\end{table}
Please note the difference between italics and emphasised text.
@@ -1906,16 +2139,20 @@ Please note the difference between italics and emphasised text.
Also, please note that subscript is normally used in math mode only.
The trick to use it in normal text is:
-\begin{example}
-this is
-$_{\mbox{\footnotesize{subscript}}}$
-\end{example}
+\begin{DefineCode}
+this is
+$_{\mbox{\footnotesize%
+{subscript}}}$
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
\begin{table}[ht]
-\begin{center}
-\begin{tabular}{ll} \hline
+\centering
+\begin{tabular}{ll}
+\toprule
\textbf{Font size} & \textbf{Example} \\
-\hline
+\midrule
\verb|tiny| & \tiny{sample text} \\
\verb|scriptsize| & \scriptsize{sample text} \\
\verb|footnotesize| & \footnotesize{sample text} \\
@@ -1926,19 +2163,18 @@ $_{\mbox{\footnotesize{subscript}}}$
\verb|LARGE| & \LARGE{sample text} \\
\verb|huge| & \huge{sample text} \\
\verb|Huge| & \Huge{sample text} \\
-\hline
+\bottomrule
\end{tabular}
-\caption{Font sizes}
+\caption{Font sizes.}
\label{tab:font_sizes}
-\end{center}
\end{table}
\begin{table}[ht]
-\begin{center}
+\centering
\begin{tabular}{llll}
- \hline
+ \toprule
Default font size & 10pt & 11pt & 12pt \\
- \hline
+ \midrule
\ltx{tiny} & 5 & 6 & 6 \\
\ltx{scriptsize} & 7 & 8 & 8 \\
\ltx{footnotesize} & 8 & 9 & 10 \\
@@ -1949,11 +2185,10 @@ $_{\mbox{\footnotesize{subscript}}}$
\ltx{LARGE} & 17.2 & 17.28 & 20.74 \\
\ltx{huge} & 20.7 & 20.74 & 24.88 \\
\ltx{Huge} & 24.8 & 24.88 & 24.88 \\
- \hline
+ \bottomrule
\end{tabular}
- \caption{Actual font size in pt}
+ \caption{Actual font size in pt.}
\label{tab:font_sizes2}
-\end{center}
\end{table}
% -----
@@ -1961,17 +2196,22 @@ $_{\mbox{\footnotesize{subscript}}}$
\subsubsection{Superscript and Subscript in Chemical Formulae}
Most chemical formulae could be entered as math formulae, using
-\verb|^| and \verb|_| to obtain superscript and subscript. The
-\env{mhchem} package provides a simpler command, though. Digits are
-printed as subscripts by default, as superscript when preceded by
+\verb|^| and \verb|_| to obtain superscript and subscript, but the \href{https://www.ctan.org/pkg/mhchem}{mhchem}
+package provides a simpler command. Digits are printed as
+subscripts by default, and are printed as superscript when preceded by
\verb|^|. Formulae must be enclosed in the \cmd{ce} command:
-\begin{example}
+\begin{DefineCode}
\ce{H2O + CO2 -> H2CO3}\\
\ce{CaCO3 -> Ca^2+ + CO3^2-}\\
\ce{CO3^2- + H2CO3 -> 2 HCO3^-}\\
-\ce{CaCO3 + H2CO3 -> Ca^2+ + 2HCO3^-}
-\end{example}
+\ce{CaCO3 + H2CO3 -> Ca^2+ + 2 HCO3^-}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+Alternatively, you could use the \href{https://www.ctan.org/pkg/chemformula}{chemformula} package that
+uses a similar syntax.
% -----
@@ -1979,17 +2219,19 @@ printed as subscripts by default, as superscript when preceded by
Normally, \uline{underline} is not used. It's just a relic of the old
teletype era, and it doesn't look really good. If you still want to
-use underline, the \package{ulem} package provides some fancy styles:
+use underline, the \href{https://www.ctan.org/pkg/ulem}{ulem} package provides some fancy styles:
-\begin{example}
+\begin{DefineCode}
\uline{important}
\uuline{urgent}
\uwave{boat}
\sout{wrong}
\xout{removed}
-\end{example}
+\end{DefineCode}
-Beware: \package{ulem} redefines the \cmd{emph} command, which will be
+\PrintDemo{style=parallel}
+
+Beware: \Pkg{ulem} redefines the \cmd{emph} command, which will be
replaced by underline. To avoid this behaviour, use this declaration:
\begin{verbatim}
@@ -2004,10 +2246,8 @@ replaced by underline. To avoid this behaviour, use this declaration:
\subsubsection{\entry{Format}{Character Size}}
\label{sec:extsizes}
-If the standard font sizes aren't enough for you, the package
-\package{extsizes} may be handy. It provides `extended' versions of
-the standard document classes, with support for sizes 8--12, 14, 17,
-and 20 pt.
+If the standard font sizes aren't enough for you, the \href{https://www.ctan.org/pkg/extsizes}{extsizes} package
+may be handy. It provides `extended' versions of the standard document classes, with support for sizes 8--12, 14, 17, and 20 pt.
For example, let's suppose you want to typeset an article using a 17
pt font. You'll use this document preamble:
@@ -2016,7 +2256,7 @@ pt font. You'll use this document preamble:
\documentclass[17pt]{extarticle}
\end{Verbatim}
-Another way to get big fonts is to use the package \package{type1cm},
+Another way to get big fonts is to use the \href{https://www.ctan.org/pkg/type1cm}{type1cm} package,
which provides commands like the following:
\begin{Verbatim}[fontsize=\small]
@@ -2028,14 +2268,14 @@ No Smoking
Parameters are font size and baseline. Yet another approach is this:
-\begin{example}
+\begin{DefineCode}
\resizebox{!}{1cm}{1-cm tall}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
\lettrine{D}{ropped} capitals at the start of a paragraph can be
-obtained using the \package{lettrine} package, which provides a fully
-customisable \cmd{lettrine} command. This paragraph uses the default
-behaviour:
+obtained using the \href{https://www.ctan.org/pkg/lettrine}{lettrine} package, which provides a fully customisable \cmd{lettrine} command. This paragraph uses the default behaviour:
\begin{verbatim}
\lettrine{D}{ropped} capitals at the start...
@@ -2043,7 +2283,6 @@ behaviour:
% -----
-
% FORMAT/FONT
\subsubsection{\entry{Format}{Character Font}}
@@ -2053,90 +2292,59 @@ when needed by the \MF{} subsystem. This ensures portability and
yields very good results. However, many of us are accustomed to other
fonts: Times, Helvetica, Sans Serif{\ldots}
-Fortunately, \LaTeX{} can use \PS{} fonts. Try using one of the
-following packages: \package{avant}, \package{avangar},
-\package{bookman}, \package{chancery}, \package{charter},
-\package{courier}, \package{helvet}, \package{helvetic},
-\package{ncntrsbk}, \package{newcent}, \package{palatcm},
-\package{palatino}, \package{pifont}, \package{times},
-\package{utopia}, \package{zapfchan}. Insert \verb|\usepackage{times}|
-and enjoy the results. The only caveat is that \LaTeX{} handles maths
-at its best only with Computer Modern fonts: using \PS{} fonts might
-render your formulas slightly less appealing.
-
-The packages above set the font for the whole document. To use a \PS{}
+Fortunately, several \LaTeX{} engines can use \PS{} Type 1 and Open Type OTF fonts. Try using one of the following packages: \Pkg{avant}, \Pkg{avangar},
+\Pkg{bookman}, \Pkg{chancery}, \Pkg{charter}, \Pkg{courier}, \Pkg{helvet}, \Pkg{helvetic}, \Pkg{ncntrsbk}, \Pkg{newcent}, \Pkg{palatcm},
+\Pkg{palatino}, \Pkg{pifont}, \Pkg{times},\Pkg{utopia}, \Pkg{zapfchan}. Insert \verb|\usepackage{times}| and enjoy the results. This document uses \Pkg{libertine}.
+
+The only caveat is that \LaTeX{} handles maths at its best only with Computer Modern fonts: using other fonts might render your formulas slightly less appealing.
+
+A world of possibilities is available when you use \ltx{xelatex}, which supports Unicode, OpenType and TrueType fonts. Please visit the \href{https://tug.org/FontCatalogue/}{LaTeX Font Catalogue} and enjoy.
+
+The packages above set the font for the whole document. To use a
font for a region of text only, specify the font family as in the
example below. Common font families are listed in
-Table~\ref{tab:font_families}.
-
-\begin{warn}
- Beware, some font shapes may be unavailable on some systems!
-\end{warn}
+Table~\ref{tab:font_families}; but beware, some font shapes may be
+unavailable on some systems!
-\begin{example}
+\begin{DefineCode}
This is Computer Modern Roman,
{\fontfamily{phv}\selectfont
this is Helvetica!}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
\begin{table}
-\begin{center}
+\centering
\begin{tabular}{ll}
- \hline
+ \toprule
\textmd{Family} & \textmd{Name}\\
- \hline
- \texttt{cmr} & Computer Modern Roman\\
- \texttt{cmss} &
+ \midrule
+ \ltx{cmr} & Computer Modern Roman\\
+ \ltx{cmss} &
{\fontfamily{cmss}\selectfont Computer Modern Sans Serif}\\
- \texttt{cmtt} &
+ \ltx{cmtt} &
{\fontfamily{cmtt}\selectfont Computer Modern Typewriter}\\
- \texttt{pag} &
+ \ltx{pag} &
{\fontfamily{pag}\selectfont Avantgarde}\\
- \texttt{pbk} &
+ \ltx{pbk} &
{\fontfamily{pbk}\selectfont Bookman}\\
- \texttt{phv} &
+ \ltx{phv} &
{\fontfamily{phv}\selectfont Helvetica}\\
- \texttt{pnc} &
+ \ltx{pnc} &
{\fontfamily{pnc}\selectfont New Century Schoolbook}\\
- \texttt{ppl} &
+ \ltx{ppl} &
{\fontfamily{ppl}\selectfont Palatino}\\
- \texttt{ptm} &
+ \ltx{ptm} &
{\fontfamily{ptm}\selectfont Times}\\
- \texttt{pcr} &
+ \ltx{pcr} &
{\fontfamily{pcr}\selectfont Courier}\\
- \hline
+ \bottomrule
\end{tabular}
\caption{Common font families.}
\label{tab:font_families}
-\end{center}
\end{table}
-\medskip
-
-Yet another possibility is replacing a standard \LaTeX{} font with a
-\PS{} one: for example, you may want to use Avantgarde whenever
-Computer Modern Sans Serif would appear. These commands can be renewed
-as in the example below:
-
-\begin{itemize}
-
- \item \verb|\rmdefault| (roman)
- \item \verb|\sfdefault| (sans serif)
- \item \verb|\ttdefault| (typewriter)
- \item \verb|\bfdefault| (boldface)
- \item \verb|\mddefault| (medium)
- \item \verb|\itdefault| (italics)
- \item \verb|\sldefault| (slanted)
- \item \verb|\scdefault| (small caps)
- \item \verb|\updefault| (upright)
-
-\end{itemize}
-
-\begin{Verbatim}[fontsize=\small]
- % Avantgarde replaces sans serif
-\renewcommand{\sfdefault}{pag}
-\end{Verbatim}
-
% -----
% FORMAT/COLOUR
@@ -2144,11 +2352,9 @@ as in the example below:
\subsubsection{\entry{Format}{Character Colour}}
\label{sec:charcol}
-You can colour words using the package \package{color} and appropriate
-commands. Predefined colours are black, white, red, green, blue, cyan,
-magenta, and yellow; you can also define your own.
+You can colour words using the \href{https://www.ctan.org/pkg/color}{color} package and appropriate commands. Predefined colours are black, white, red, green, blue, cyan, magenta, and yellow; you can also define your own.
-\begin{example}
+\begin{DefineCode}
\textcolor{red}{This is red.}\\
\color{blue}
This text is blue!\\
@@ -2161,13 +2367,35 @@ This is my shade of green!\\
\colorbox{cyan}{A cyan box}\\
\fcolorbox{blue}{green}
{A green box in a blue frame}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Moreover, the command \cmd{pagecolor} lets you specify{\ldots} guess
what?
% -----
+\subsubsection{\entry{Format}{Character Outline}}
+\label{sec:charoutline}
+
+If coloured text is not fancy enough, you can also have outlined
+(contoured) text using the \href{https://www.ctan.org/pkg/contour}{contour} package. The \cmd{contour} command creates 16 copies of the text (or a number you specify):
+
+\begin{DefineCode}
+\contourlength{0.5pt}
+\Large
+\textcolor{blue}{\contour{red}
+{Blue text, thin red outline}}
+\contourlength{2pt}
+\textcolor{white}{\contour[32]{blue}
+{White text, thick blue outline}}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+% -----
+
% FORMAT/PARAGRAPH
\subsection{\entry{Format}{Paragraph}}
@@ -2190,22 +2418,25 @@ Environments have this general form:
\end{Verbatim}
For example, if you want to center a paragraph you'll use the
-\env{center} environment:
+\Env{center} environment:
-\begin{example}
+\begin{DefineCode}
\begin{center}
this text is centered
\end{center}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Standard environments are listed in Table~\ref{tab:environments}. In the
following sections, I'll show you what to use and when.
\begin{table}[p]
-\begin{center}
-\begin{tabular}{ll} \hline
+\centering
+\begin{tabular}{ll}
+\toprule
\textbf{Environment} & \textbf{Purpose} \\
-\hline
+\midrule
\ltx{abstract} & abstract\\
\ltx{array} & Math arrays\\
\ltx{center} & Centered lines\\
@@ -2234,11 +2465,10 @@ following sections, I'll show you what to use and when.
\ltx{titlepage} & For hand crafted title pages\\
\ltx{verbatim} & Simulating typed input\\
\ltx{verse} & For poetry and other things\\
-\hline
+\bottomrule
\end{tabular}
\caption{Standard \LaTeX{} environments.}
\label{tab:environments}
-\end{center}
\end{table}
% -----
@@ -2248,9 +2478,9 @@ following sections, I'll show you what to use and when.
\subsubsection{\entry{Paragraph}{Horizontal Alignment}}
By default, the text is justified. To get left--aligned,
-right--aligned or centered text, use the \env{flushleft},
-\env{flushright} and \env{center} environments. The commands
-\cmd{raggedright}, \cmd{ragged\-left}, and \cmd{centering} are
+right--aligned or centered text, use the \Env{flushleft},
+\Env{flushright} and \Env{center} environments. The commands
+\cmd{raggedright}, \cmd{ragged\-left}, and \cmd{cen\-te\-ring} are
equivalent to their correspondent environments, but they do not start
a new paragraph.
@@ -2270,40 +2500,43 @@ between paragraphs.
If you need more space, use the command
\cmd{vskip}\{\textit{parameter}\} as in this example:
-% \begin{margins}{-1cm}{-0.5cm}
-\begin{example}
+\begin{DefineCode}
These paragraphs will be
separated by 1.3 cm:\\
\vskip 1.3cm
there is a 1.3 cm gap above me.
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Note that \cmd{vskip} only works between paragraphs. What if you
wanted to start a page after an additional margin of, say, 1.5 cm?
You'll have to use \cmd{null}, which sets a `mark' in the text:
-\begin{example}
+\begin{DefineCode}
\null
\vskip 1.3 cm
This text comes after 1.3 cm...
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Finally, the command \cmd{vfill} is used to add empty lines between
two paragraphs so that the second paragraph goes exactly to the bottom
-of the page. For example,
+of the page. For example,
% \begin{example} will not work here
\medskip
-\begin{minipage}[c]{0.49\textwidth}
+\begin{minipage}[c]{0.45\textwidth}
\begin{Verbatim}[fontsize=\small]
- This appears at the top of
+ This appears at the top of
the page{\ldots}
\vfill
{\ldots}and this at the bottom.
\end{Verbatim}
\end{minipage}
-\begin{boxedminipage}[c]{0.49\textwidth}
+\begin{boxedminipage}[c]{0.45\textwidth}
This appears at the top of
the page{\ldots}
\vskip 1.3 cm
@@ -2316,14 +2549,14 @@ of the page. For example,
\subsubsection{\entry{Paragraph}{Margins}}
-Normally, the margins are set for the whole document as seen in
+Normally, margins are set for the whole document as seen in
Section~\ref{sec:pagesetup}. Redefining them for a section of text
will not work: if you want to set a paragraph's margins, you'll have
to create a new environment like in the following example:
\begin{Verbatim}[fontsize=\small]
\newenvironment{margins}[2]
-{
+{
\begin{list}{} {
\setlength{\leftmargin}{#1}
\setlength{\rightmargin}{#2}
@@ -2333,14 +2566,16 @@ to create a new environment like in the following example:
Then you will use the new environment:
-\begin{example}
+\begin{DefineCode}
As you can see, this paragraph
has normal margins.
\begin{margins}{0.5cm}{1cm}
But please note that this
- paragraph has custom margins.
+ paragraph has custom margins.
\end{margins}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
% -----
@@ -2349,7 +2584,7 @@ has normal margins.
\subsubsection{\entry{Paragraph}{Indentation}}
To set the amount of indentation of the first line of a paragraph, we
-redefine the value of the \cmd{parindent} counter. In the following
+redefine the value of the \cmd{par\-in\-dent} counter. In the following
example, we set a 1-cm indentation:
\begin{Verbatim}[fontsize=\small]
@@ -2371,16 +2606,11 @@ paragraphs is set by the \cmd{parskip} counter:
\subsubsection{\entry{Paragraph}{Border and Shade}}
To get framed (bordered) paragraphs or words, you have the choice of
-using the \package{framed} package or the \cmd{parbox} command. The
-package \package{calc} is required in the latter case.
+using the \href{https://www.ctan.org/pkg/framed}{framed} package or the \cmd{parbox} command. The \href{https://www.ctan.org/pkg/calc}{calc} package is required in the latter case.
-This is the simplest method, using \package{framed}:
+This is the simplest method, using \Pkg{framed}:
-% \begin{example} will not work here
-\medskip
-
-\begin{minipage}[c]{0.5\textwidth}
- \begin{Verbatim}[fontsize=\small]
+\begin{DefineCode}
\setlength{\FrameRule}{2pt}
\setlength{\FrameSep}{5pt}
\begin{framed}
@@ -2392,26 +2622,11 @@ This is the simplest method, using \package{framed}:
this is a shaded paragraph,
do you like it?
\end{shaded}
- \end{Verbatim}
-\end{minipage}%
-\begin{minipage}[c]{0.5\textwidth}
-\setlength{\FrameRule}{2pt}
-\setlength{\FrameSep}{5pt}
-\begin{framed}
- this is a framed paragraph!
-\end{framed}
-\definecolor{shadecolor}{rgb}
- {0.9,1,1}
- \begin{shaded}
- this is a shaded paragraph,
- do you like it?
- \end{shaded}
-\end{minipage}
+\end{DefineCode}
-\medskip
+\PrintDemo{style=parallel}
-Equivalently, use the \package{boxedminipage} package and the equally
-named environment. For those who want to know more: the commands
+Equivalently, use the \href{https://www.ctan.org/pkg/boxedminipage}{boxedminipage} package and the equally named environment. For those who want to know more: the commands
\begin{Verbatim}[fontsize=\small]
\framebox{
@@ -2421,14 +2636,14 @@ named environment. For those who want to know more: the commands
}
\end{Verbatim}
-are functionally equivalent to the \env{boxedminipage} environment.
+are functionally equivalent to the \Env{boxedminipage} environment.
% This example uses \cmd{parbox}:
% \begin{example}
% \noindent
% \fbox{
-% \parbox{\linewidth
+% \parbox{\linewidth
% -2 \fboxsep -2 \fboxrule}
% {again, a framed paragraph!}
% }
@@ -2440,19 +2655,23 @@ remaining text. Obviously, you can specify the width as you like.
Finally, to frame something adapting the frame to the width of the
text:
-\begin{example}
-this is a
+\begin{DefineCode}
+this is a
\framebox[\width]{framed}
word
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Modifying the parameter, you can adjust the frame width:
-\begin{example}
+\begin{DefineCode}
this is another
\framebox[2\width][r]{framed}
word
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Note that the second optional parameter specifies the alignment (to
the right in this example).
@@ -2466,7 +2685,7 @@ the right in this example).
Now that you have a bordered paragraph, you'll want to set its colour
too. Do this:
-\begin{example}
+\begin{DefineCode}
\colorbox{yellow}{
\begin{minipage}
{0.8\linewidth}
@@ -2474,7 +2693,9 @@ too. Do this:
is yellow!
\end{minipage}
}
-\end{example}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
Just as an example, we set the minipage colour for only the 80\% of
its width. More about colours in Section~\ref{sec:charcol}.
@@ -2487,8 +2708,8 @@ its width. More about colours in Section~\ref{sec:charcol}.
The commands \cmd{twocolumn} and \cmd{onecolumn} start a new page and
set the number of columns; they can also be used as parameters in
-\cmd{documentclass}. If this is not enough for you, the package
-\package{multicols} provides an environment of the same name. I could
+\cmd{documentclass}. If this is not enough for you, the \href{https://www.ctan.org/pkg/multicols}{multicols} package
+provides an environment of the same name. I could
have set this section in two columns with these commands:
\begin{Verbatim}[fontsize=\small]
@@ -2509,57 +2730,48 @@ is excluded from the environment.
\section{The \menu{Table} Menu}
-Quite a complex subject{\ldots} A \emph{table} is a float (as
-explained in Section~\ref{sec:figure}) that must fit on one page. It
-usually contains a \env{tabular} environment, even though other
-possibilities exist. By default, a table adjusts its width to match
-the width of its contents.
+Welcome to hell---kind of.
-Let me stress that the \env{table} environment is a float, but
-\env{tabular} is not. Keep this in mind if you want to write informal
-tabular material, i.e. without label and caption.
+Just like an \emph{image} is not a \emph{figure} (Section~\ref{sec:image}), a \emph{\Env{tabular} environment} is not a \emph{table}. A \LaTeX{} table is a float (as explained in Section~\ref{sec:figure}) that must fit on one page; it has a caption, and it usually contains a \Env{tabular} environment. The latter is typeset using the special syntax explained below.
-This is the general format of a table:
+Default \LaTeX{} tabular material is defined as follows:
-\begin{Verbatim}[fontsize=\footnotesize]
-\begin{table}[htbp] % placement: here, top, bottom, separate page
-% \begin{small} % sets the table font
-\begin{center} % optional
-% 4-column table; alignment is left, centered, right, fixed width
-\begin{tabular}{|l|c|rp{4cm}|}
-\hline % horizontal line
-\textbf{Left} & \textbf{Centre} & \textbf{Right} & \textbf{4 cm}\\
+\begin{DefineCode}
+\begin{tabular}{|l|c r|} % left, centre, right alignment
+% three columns, items separated by (ugly) vertical bars
\hline
-row 1, col 1 & row 1, col 2 & row 1, col 3 & row 1, col 4\\
-\cline{1-2} % horizontal line spanning columns 1-2
-row 2, col 1 & row 2, col 2 & row 2, col 3 & row 2, col 4\\
-\cline{1-2}
-\multicolumn{2}{|c|}{spanning two columns} & row 3, col 3 &
-row 3, col 4\\
-\cline{1-3}
-row 4, col 1 & row 4, col 2 & row 4, col 3 & ~ \hfill right\\
-% force a space with "\ "
-row 5, col 1 & row 5, col 2 & row 5, col 3 & left \hfill ~\\
-row 5, col 1 & row 5, col 2 & row 5, col 3 &
-~ \hfill centre \hfill ~\\
+1 & 2 & 3 \\ % end of line
+\hline % horizontal line
+a & & c \\ % second column is blank
+one & two & three \\
\hline
\end{tabular}
-\caption{A sample table.}
-% labels are used for cross references;
-% for example, "see Table~\ref{tab:sampletab}"
-\label{tab:sampletab}
-\end{center}
-% \end{small}
-\end{table}
-\end{Verbatim}
+\end{DefineCode}
+
+\PrintDemo{style=parallel}
+
+where the definition specifies vertical bars, alignment, and number of columns. Each line in the tabular contains elements separated by \texttt{\&}.
+
+The \href{https://www.ctan.org/pkg/booktabs}{booktabs} package provides better-looking tabular material:
+
+\begin{DefineCode}
+\begin{tabular}{lcr}
+\toprule
+1 & 2 & 3 \\
+\midrule
+a & & c \\
+one & two & three \\
+\bottomrule
+\end{tabular}
+\end{DefineCode}
-Table~\ref{tab:sampletab} shows the result.
+\PrintDemo{style=parallel}
-\begin{table}[htbp] % placement: here, top, bottom, separate page
-% \begin{tiny}
-\begin{center} % optional
-% 4-column table; alignment is left, centered, right, fixed width
-\begin{tabular}{|l|c|rp{4cm}|}
+The following mess is the general format of tabular material:
+
+\begin{DefineCode}
+% 4-column tabular; alignment is left, centered, right, fixed width
+\begin{tabular}{lc|rp{4cm}|}
\hline % horizontal line
\textbf{Left} & \textbf{Centre} & \textbf{Right} & \textbf{4 cm}\\
\hline
@@ -2567,122 +2779,98 @@ row 1, col 1 & row 1, col 2 & row 1, col 3 & row 1, col 4\\
\cline{1-2} % horizontal line spanning columns 1-2
row 2, col 1 & row 2, col 2 & row 2, col 3 & row 2, col 4\\
\cline{1-2}
-\multicolumn{2}{|c|}{spanning two columns} & row 3, col 3 &
+\multicolumn{2}{|c|}{spanning two columns} & row 3, col 3 &
row 3, col 4\\
\cline{1-3}
row 4, col 1 & row 4, col 2 & row 4, col 3 & ~ \hfill right\\
% force a space with "\ "
row 5, col 1 & row 5, col 2 & row 5, col 3 & left \hfill ~\\
-row 5, col 1 & row 5, col 2 & row 5, col 3 &
+row 5, col 1 & row 5, col 2 & row 5, col 3 &
~ \hfill centre \hfill ~\\
\hline
\end{tabular}
-\caption{A sample table.}
-% labels are used for cross references;
-% for example, "see Table~\ref{tab:sampletab}"
-\label{tab:sampletab}
-\end{center}
-% \end{small}
-\end{table}
+\end{DefineCode}
+
+\PrintDemo{style=stacked}
-Sometimes, a table is too wide and won't fit on the page. In that
-case, the \package{rotating} package provides the new environment
-\env{sidewaystable}. Also, \package{rotating} makes it possible to
-rotate the contents of a cell by a specified angle. Finally, the
-\package{tabularx} package lets one specify tables of fixed width: the
-\texttt{X} column specifier indicates that a column can be spread as
+Sometimes, a tabular is too wide and won't fit on the page. The first solution is using the \href{https://www.ctan.org/pkg/longtable}{longtable} package, which provides a multi-page version of Pkg{tabular}. Besides, the \href{https://www.ctan.org/pkg/rotating}{rotating} package provides the new environment \Env{sideways} that can be used to rotate a tabular (or a single cell) sideways or by a specified angle.
+
+The \href{https://www.ctan.org/pkg/tabularx}{tabularx} package lets you specify tabular columns of fixed width: the \ltx{X} column specifier indicates that a column can be spread as
needed.
Here's an example:
-% \begin{example} will not work here
-\medskip
-
-\begin{minipage}[c]{0.7\textwidth}
- \begin{Verbatim}[fontsize=\small]
- \begin{sidewaystable}
+\begin{DefineCode}
+ \begin{sideways}
\begin{tabularx}{7.5cm}{|l|X|X|}
\hline
- \textbf{normal} & \textbf{tilted} &
+ \textbf{normal} & \textbf{tilted} &
\textbf{wider}\\
\hline
- normal & \rotatebox{30}{I'm tilted!} &
+ normal & \rotatebox{30}%
+ {I'm tilted!} &
I'm wider\\
\hline
\end{tabularx}
- \end{sidewaystable}
-\end{Verbatim}
-\end{minipage}%
-\begin{minipage}[c]{0.3\textwidth}
-% here we cheat. Tabularx won't work inside a minipage,
-% so let's load the picture.
-\ifpdf
- \includegraphics{tbx.pdf}
-\else
- \includegraphics{tbx.eps}
-\fi
+ \end{sideways}
+\end{DefineCode}
-\end{minipage}
-
-\medskip
+\PrintDemo{style=parallel}
-The \note standard \env{tabular} environment cannot span more than one
-page! There are some packages that overcome this limitation: you will
-want to try out \package{longtable}, \package{supertabular}, and
-\package{xtab}.
+Other useful packages are \Pkg{longtable}, \Pkg{supertabular}, and
+\Pkg{xtab}.
-To enable colours in tables, you use the \package{colortbl} package:
+To enable colours in tables, you use the \href{https://www.ctan.org/pkg/colortbl}{colortbl} package:
-\begin{example}
+\begin{DefineCode}
Colour by row:\\\vskip 2mm
-\begin{tabular}{|l|c|r|}
- \hline
+\begin{tabular}{lcr}
\rowcolor{cyan}
one & two & three\\
\rowcolor{green}
one & two & three\\
\rowcolor{yellow}
one & two & three\\
- \hline
\end{tabular}
-\end{example}
+\end{DefineCode}
-\begin{example}
+\PrintDemo{style=parallel}
+
+\begin{DefineCode}
Colour by column:\\\vskip 2mm
\begin{tabular}
- {|>{\columncolor{cyan}}l|
+ {>{\columncolor{cyan}}l
>{\color{red}
- \columncolor{green}}c|
- >{\columncolor{yellow}}r|}
- \hline
+ \columncolor{green}}c
+ >{\columncolor{yellow}}r}
one & two & three\\
one & two & three\\
one & two & three\\
- \hline
\end{tabular}
-\end{example}
+\end{DefineCode}
-To conclude the subject, a neat little trick. If you think that
-writing \LaTeX{} tables is too complicated, you could be relieved by
-OpenOffice Calc and Calc2LaTeX. The former is the well-known free
-spreadsheet, while the latter is a plugin that that lets you turn a
-cell range into a \LaTeX{} table. Links:
-\url{http://www.openoffice.org/},
-\url{http://calc2latex.sourceforge.net/}.
+\PrintDemo{style=parallel}
+% To conclude the subject, a neat little trick. If you think that
+% writing \LaTeX{} tables is too complicated, you could be relieved by
+% OpenOffice Calc and Calc2LaTeX. The former is the well-known free
+% spreadsheet, while the latter is a plugin that that lets you turn a
+% cell range into a \LaTeX{} table. Links:
+% \url{https://www.openoffice.org/},
+% \url{https://calc2latex.sourceforge.net/}.
% -----
\subsection{\entry{Table}{Line Spacing}}
-A line adjusts itself to the height of the text it contains. To add
-some space \emph{before} a line, the trick is to start it with a
-\texttt{\textbackslash{}rule} of 0 length and specified height. To add
+A table line adjusts itself to the height of the text it contains. To
+add some space \emph{before} a line, the trick is to start it with a
+\ltx{\textbackslash{}rule} of 0 length and specified height. To add
space \emph{after} a line, use
-\texttt{\textbackslash{}\textbackslash{}} followed by optional space.
+\ltx{\textbackslash{}\textbackslash{}} followed by optional space.
Here is an example:
-\begin{example}
+\begin{DefineCode}
\begin{tabular}{lll}
one & two & three\\
0.3 centimeters & \textbf{after} &
@@ -2692,50 +2880,33 @@ one & two & three\\
\rule{0pt}{1.2cm}1.2 centimeters &
\textbf{before} & this line\\
\end{tabular}
-\end{example}
-
-% -----
+\end{DefineCode}
-\subsection{\entry{Table}{Rule Width}}
-
-% TO DO: \setlength{\arrayrulewidth}{<width>}
-
-\begin{example}
-\begin{tabular}{|lll|}
-\hline
-%\setlength{\arrayrulewidth}{5pt}
-one & two & three\\
-\hline
-four & five & six\\
-%\setlength{\arrayrulewidth}{1pt}
-\hline
-\end{tabular}
-\end{example}
+\PrintDemo{style=parallel}
% -----
\subsection{\entry{Table}{Aligning Numbers}}
A special case of a tabular environment is when we want to align
-numbers with respect to the decimal positions.
+numbers with respect to the decimal positions.
The simplest method is using the \ltx{@} column specifier, which in
practice is useful in tables containing only numbers. The column
-separator \texttt{\&} is replaced by the decimal dot:
+separator \ltx{\&} is replaced by the decimal dot:
-\begin{example}
+\begin{DefineCode}
\begin{tabular}{r@{.}l}
3&14159\\
1&61803\\
1&41421\\
100&00000
\end{tabular}
-\end{example}
+\end{DefineCode}
-Alternatively, use the \package{dcolumn} package, which adds the
-\texttt{D} column specifier. \texttt{D} has three arguments: the
-separator to use in the \LaTeX{} source and in output (usually the
-same, `.'), and the number of digits to the right of the decimal place
+\PrintDemo{style=parallel}
+
+Alternatively, use the \href{https://www.ctan.org/pkg/dcolumn}{dcolumn} package, which adds the \ltx{D} column specifier. \ltx{D} has three arguments: the separator to use in the \LaTeX{} source and in output (usually the same, `.'), and the number of digits to the right of the decimal place
indicator. Optionally, the third argument can specify the number of
digits to the left and to the right of the decimal place indicator,
separated by a dot. Lastly, if the third argument is -1, the material
@@ -2744,76 +2915,62 @@ of the column is centered around the separator.
All material in the table is typeset in math mode. To insert headings,
you'll have to put the text in an \cmd{mbox}.
-% \begin{example} will not work here
-\medskip
-
-\begin{minipage}[c]{0.5\textwidth}
- \begin{Verbatim}[fontsize=\small]
- \begin{tabular}{|D{.}{,}{4.2}|%
- D{.}{.}{5}|D{.}{.}{-1}|}
- \hline
+\begin{DefineCode}
+ \begin{tabular}{D{.}{,}{4.2}%
+ D{.}{.}{5}D{.}{.}{-1}}
+ \toprule
\mbox{One} & \mbox{Two} &
\mbox{Three}\\
10.33 & 10.33 & 10.33\\
1000 & 1000 & 1000\\
5.1 & 5.1 & 5.1\\
3.14 & 3.14159 & 3.14159\\
- \hline
+ \bottomrule
\end{tabular}
- \end{Verbatim}
-\end{minipage}%
-\begin{minipage}[c]{0.5\textwidth}
-\begin{tabular}{|D{.}{,}{4.2}|%
-D{.}{.}{5}|D{.}{.}{-1}|}
-\hline
-\mbox{One} & \mbox{Two} &
-\mbox{Three}\\
-10.33 & 10.33 & 10.33\\
-1000 & 1000 & 1000\\
-5.1 & 5.1 & 5.1\\
-3.14 & 3.14159 & 3.14159\\
-\hline
-\end{tabular}
-\end{minipage}
+\end{DefineCode}
-% -----
+\PrintDemo{style=parallel}
-\subsection{Using \package{slashbox}}
+% -----
-This package add the \cmd{backslashbox} command:
+\subsection{Using \Pkg{diagbox}}
-\medskip
+This package add the \cmd{diagbox} command:
-\begin{minipage}[c]{0.5\textwidth}
- \begin{Verbatim}[fontsize=\small]
+\begin{DefineCode}
\begin{tabular}{|l|l|l|}
- \hline
- \backslashbox[2cm]{Lesson}{Date} &
+ \toprule
+ \diagbox{Lesson}{Date} &
Monday & Tuesday\\
- \hline
+ \midrule
Stratigraphy & room A & room A\\
Chemistry & room B & Lab $\alpha$\\
- Physics & room C & Lab $\beta$\\
- \hline
+ Physics & room C & Lab $\delta$\\
+ \bottomrule
\end{tabular}
-\end{Verbatim}
-\end{minipage}%
-\begin{minipage}[c]{0.5\textwidth}
-\begin{tabular}{|l|l|l|}
- \hline
- \backslashbox[2cm]{Lesson}{Date} &
- Monday & Tuesday\\
- \hline
- Stratigraphy & room A & room A\\
- Chemistry & room B & Lab $\alpha$\\
- Physics & room C & Lab $\beta$\\
- \hline
-\end{tabular}
-\end{minipage}
+\end{DefineCode}
-\medskip
+\PrintDemo{style=parallel}
+
+% -----
+
+\subsection{\LaTeX{} Table Generators}
-% \emph{TODO: mention \cmd{newcolumntype} and \package{floatflt}}
+Let's face it, inserting tabular material is quite a chore.
+Fortunately, there are web sites that allow you to create \LaTeX{}
+code for tabular material in a visual way. Try these:
+
+\begin{itemize}
+
+ \item \url{https://www.tablesgenerator.com/}
+
+ \item \url{https://www.latex-tables.com/}
+
+ \item \url{https://tableconvert.com/latex-generator}
+
+ \item \url{https://products.aspose.app/tex/latex-table-generator}
+
+\end{itemize}
% -----
@@ -2822,15 +2979,15 @@ This package add the \cmd{backslashbox} command:
For many people, data files are the bread and butter of everyday's
work. Most data files are simply ASCII text with columns of numbers,
but some people use spreadsheets. Nearly all spreadsheet applications
-can export sheets in the ASCII-based \file{.csv} file format; values
+can export sheets in the ASCII-based \File{.csv} file format; values
are usually separated by the `;' character.
Converting a data file into a \LaTeX{} table is quite a tedious
process. The following script for \unix{} will convert a datafile with
an arbitrary number of columns to a table. It will also work on
-\file{.csv} files.
+\File{.csv} files.
-\begin{Verbatim}[fontsize=\small]
+\begin{Verbatim}[fontsize=\small]
#!/bin/sh
# dat2tex.sh: converts tabular data to a tabular environment
@@ -2874,13 +3031,11 @@ $AWK '{if (1 == FNR) { \
\subsection{\entry{Tools}{Mail Merges}}
This useful and time-saving tool is implemented in \LaTeX{} by the
-\package{textmerg} package. Let's consider a simple document, in which
-the name, surname, and title of people we're writing to may vary. The
-remaining text does not change.
+\href{https://www.ctan.org/pkg/textmerg}{textmerg} package. Let's consider a simple document, in which the name, surname, and title of people we're writing to may vary. The remaining text does not change.
We'll define three \emph{fields}, which are the variable part of the
text: \cmd{Name}, \cmd{Surname}, and \cmd{Title}. Their values will be
-gathered from an external file, \file{data.dat}.
+gathered from an external file, \File{data.dat}.
\begin{Verbatim}[fontsize=\small]
\documentclass{article}
@@ -2902,7 +3057,7 @@ for illustration. It's preceded by a minus sign, which indicates that
it can be empty in the data file. Simply put, we want to separate the
records using empty lines.
-The file \file{data.dat} reads:
+The file \File{data.dat} reads:
\begin{Verbatim}[fontsize=\small]
Guido
@@ -2930,9 +3085,8 @@ for each recipient.
If making mail merges was easy, making labels is even trivial. Let's
suppose you want to make 20 equal labels on a 3$\times$8 peel--off
-label sheet. The package to use, predictably, is called
-\package{labels}. In this example, we'll make 10 plain labels and 10
-boxed labels:
+label sheet. The package to use, predictably, is called \href{https://www.ctan.org/pkg/labels}{labels}.
+In this example, we'll make 10 plain labels and 10 boxed labels:
\begin{Verbatim}[fontsize=\small]
\documentclass[a4paper,12pt]{article}
@@ -2950,16 +3104,16 @@ boxed labels:
\begin{document}
\addresslabel[\large] % optional arguments
{\textbf{Guido Gonzato}, Ph.D.\\
- \textsl{Linux system manager}}
+ \textsl{GNU/Linux Sysadmin}}
% now on to the boxed labels
\boxedaddresslabel[\fboxsep=4mm\fboxrule=1mm]
{\textbf{Guido Gonzato}, Ph.D.\\
- \textsl{Linux system manager}}
+ \textsl{GNU/Linux Sysadmin}}
\end{document}
\end{Verbatim}
% You'll also have to choose the correct paper size and adjust the page
-% margins (use \package{geometry}; omitted in this example).
+% margins (use \Pkg{geometry}; omitted in this example).
To make labels containing different addresses, you may use either an
external file or insert the addresses in the main file:
@@ -2994,7 +3148,7 @@ external file or insert the addresses in the main file:
\end{document}
\end{Verbatim}
-It is left to you to combine \package{textmerg} and \package{labels}!
+It is left to you to combine \Pkg{textmerg} and \Pkg{labels}!
% -----
@@ -3006,15 +3160,16 @@ It is left to you to combine \package{textmerg} and \package{labels}!
supported. By language support I mean the translation of terms like
`Chapter' or `Index', correct hyphenation, and the possibility of
inserting characters like `\c c' or `\'e' directly via your keyboard.
-(The normal way being typing \texttt{\bs{}c c} and \texttt{\bs{}'e}.)
+(The normal way being typing \ltx{\Bs{}c c} and \ltx{\Bs{}'e}.)
-Your \LaTeX{} distribution contains a file called \file{language.dat}
-(usually \path{$TEXMF/tex/generic/config/language.dat} that contains a
+Your \LaTeX{} distribution contains a file called \File{language.dat}
+(usually \path{$TEXMF/tex/generic/con\-fig/language.dat} that contains a
list of languages. Editing this file you choose the languages for
which you want hyphenation patterns.
If you are not a native English speaker, you'll want to use the
-package \package{babel} as in the following example:
+\href{https://www.ctan.org/pkg/babel}{babel} package as in the following
+example:
\begin{Verbatim}[fontsize=\small]
\usepackage[italian,english]{babel}
@@ -3022,53 +3177,22 @@ package \package{babel} as in the following example:
\begin{warn}
- \package{babel} alters the way some characters behave in a
- language-dependent way. If you experience odd problems, insert the
- offending characters using the \cmd{charXX} syntax.
+ \Pkg{babel} alters the way some characters behave in a
+ language-dependent way. If you get odd pro\-blems with some
+ characters, try and insert them using the \cmd{charXX} syntax.
\end{warn}
-In addition, to type accented letters and in general non-standard
-ASCII characters\footnote{in computer jargon, `standard ASCII
-characters' are the characters whose code is included between 32
-(space) and 126 (tilde).} you may want to use the packages
-\package{inputenc} and \package{fontenc}. In most cases, UTF-8 is the
-right choice: remember to enable it in your editor too!
+In addition, to type accented letters and in general UTF-8 characters you
+may have to use enable UTF-8 in your editor. Besides, packages
+\Pkg{inputenc} and \Pkg{fontenc} were needed before 2018:
\begin{Verbatim}[fontsize=\small]
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\end{Verbatim}
-A different way of inserting accented letters is configuring your
-editor to type those for you. For example, I set up my editor of
-choice (\app{jed}) to have it insert \texttt{\bs{}'e} whenever I type
-`\'e'. I included this in my \file{.jedrc}:
-
-{\small
-\begin{alltt}
-define latex_mode_hook ()
-\{
- set_abbrev_mode (1);
- if ( () = abbrev_table_p ("LaTeX") )
- use_abbrev_table ("LaTeX");
-#ifdef WIN32
- % prevent clash with movement keys
- undefinekey ("\`a\`a", "LaTeX-Mode");
- definekey (" \bs\bs`a", "\`a\`a", "LaTeX-Mode");
-#else
- local_setkey (" \bs\bs`a", "\`a");
-#endif
- local_setkey (" \bs\bs'e", "\'e");
- local_setkey (" \bs\bs`e", "\`e");
- local_setkey (" \bs\bs`\bs\bs{}i\{\}", "\`\i");
- local_setkey (" \bs\bs`o", "\`o");
- local_setkey (" \bs\bs`u", "\`u");
-\}
-\end{alltt}
-}
-
-Please consult your editor's documentation.
+Since 2018, \LaTeX{} defaults to UTF-8 input.
% -----
@@ -3090,7 +3214,7 @@ The above declaration instructs \LaTeX{} not to hyphen the word
in \cmd{mbox}:
\begin{Verbatim}[fontsize=\small]
-Do not hyphen \mbox{internationalisation}, please. I'm a masochistic.
+Do not hyphen \mbox{internationalisation}, please. I'm a masochistic man.
\end{Verbatim}
% -----
@@ -3107,9 +3231,9 @@ you can use \app{ispell} this way:
shell> ispell -t mydocument.tex
\end{Verbatim}
-The \texttt{-t} switch instructs \app{ispell} to ignore \TeX{} and
+The \cmdparm{-t} switch instructs \app{ispell} to ignore \TeX{} and
\LaTeX{} commands. If your language is not English, specify the
-appropriate dictionary with the \texttt{-d} switch:
+appropriate dictionary with the \cmdparm{-d} switch:
\begin{Verbatim}[fontsize=\small]
shell> ispell -d italiano -t mydocument.tex
@@ -3123,35 +3247,42 @@ shell> ispell -d italiano -t mydocument.tex
There are many ways of getting help with \LaTeX{}, both online and offline.
The best place to start is the CTAN site,
-\url{http://www.ctan.org/tex-archive/info/}.
+\url{https://www.ctan.org/tex-archive/info/}.
\begin{itemize}
\item \verb|info latex| (\unix{} systems) gives a concise but very complete
on-line summary of commands and concepts;
-
- \item \url{http://www.ctan.org/tex-archive/info/LatexHelpBook/} is a very
- nice help system for \LaTeX{}, fully integrated with Windows.
-
+
+ \item \url{https://www.ctan.org/tex-archive/info/LatexHelpBook/} is a very
+ nice help system for \LaTeX{}, ful\-ly integrated with Windows.
+
\item don't forget the
- \url{http://groups.google.com/group/comp.text.tex/topics} newsgroup:
+ \url{https://groups.google.com/group/comp.text.tex/topics} newsgroup:
it's an invaluable source of help.
-
+
\end{itemize}
-As of 2015, most GNU/Linux distributions ship with \app{TeXLive},
-probably the most complete \TeX/\LaTeX{} systems. A lot of
-documentation is provided; on my Ubuntu machine, it's found in
-\path{/usr/share/doc/texlive-doc/}.
+As of this writing, most GNU/Linux distributions ship with \app{TeXLive}, the
+most complete \TeX/\LaTeX{} systems. A lot of documentation is
+provided; on my Ubuntu machine, it's found in
+\path{/usr/share/doc/texlive-doc/}. Besides, the \cmd{texdoc} command is
+very useful. For example:
+
+\begin{Verbatim}[fontsize=\small]
+shell> texdoc fancyvrb
+\end{Verbatim}
+
+will open the \Pkg{fancyvrb} documentation.
% -----
\section{The End}
-This document is copyleft \textcopyright{} Guido Gonzato, 2001--2015,
-and released under the GNU Free Documentation Licence. I really hope
-you'll find this guide useful. For any suggestions or comments, please
-feel free to contact me.
+This document is copyleft \copyleft{} Guido Gonzato, and released
+under the GNU Free Documentation Licence. I really hope you'll find
+this guide useful. For any suggestions or comments, please feel free
+to contact me.
\newpage
@@ -3162,7 +3293,7 @@ feel free to contact me.
\section{Document Templates}
\label{ap:templates}
-A template for the class \texttt{article} was presented in
+A template for the class \ltx{article} was presented in
Section~\ref{sec:filenew}. More examples are shown in the following
figures.
@@ -3292,6 +3423,7 @@ Thank you for being my friend.
\setlength{\TPboxrulesize}{1pt} % box line width
% start everything near the top-left corner
\textblockorigin{0mm}{0mm}
+\thispagestyle{empty} % no page number
\begin{document}
\setlength{\parindent}{0pt}
@@ -3311,7 +3443,7 @@ Thank you for being my friend.
\end{center}
\end{textblock}
\begin{textblock}{6}(10,1)
- \includegraphics[width=6cm,angle=-90]{gnuplot.ps}
+ \includegraphics[width=6cm,angle=-90]{gnuplot.pdf}
This picture is at (10,1). Note that rotating it
by -90 makes it overflow the margin.
\end{textblock}
@@ -3323,7 +3455,7 @@ which is located at that point, rather than the top-left corner.
\begin{textblock}{3,4}(6,4)
The dimensions of this block are 3$\times$4 cm.
Its origin is position (6,4) on the page. Note that the text
-overflows the margin in some cases; you'll want to
+overflows the margin in some cases; you'll want to
use the \texttt{minipage} environment to prevent that.
\end{textblock}
\end{document}
diff --git a/info/latex4wp/pandoc_template.md b/info/latex4wp/pandoc_template.md
new file mode 100644
index 0000000000..0e031a8feb
--- /dev/null
+++ b/info/latex4wp/pandoc_template.md
@@ -0,0 +1,30 @@
+---
+title: |
+ This is the title: \
+ now write the rest
+author: Guido Gonzato
+date: January 2018
+abstract: |
+ This is the abstract.
+---
+
+<!--- This is a comment. -->
+
+# Section
+
+This is **bold text**, this is *emphasized text*, this is normal text.
+If you're bored, go to [The End].
+
+## Subsection
+
+This is `verbatim text`.
+
+# The End
+
+My dad used to say:
+
+> Damn, Pandoc has not been invented yet!
+
+but not it has.
+
+<!--- end of pandoc_template.md -->
diff --git a/info/latex4wp/pandoc_template.pdf b/info/latex4wp/pandoc_template.pdf
new file mode 100644
index 0000000000..d2b6556965
--- /dev/null
+++ b/info/latex4wp/pandoc_template.pdf
Binary files differ
diff --git a/info/latex4wp/piper.jpg b/info/latex4wp/piper.jpg
new file mode 100644
index 0000000000..e23d823a6a
--- /dev/null
+++ b/info/latex4wp/piper.jpg
Binary files differ
diff --git a/info/latex4wp/tbx.eps b/info/latex4wp/tbx.eps
deleted file mode 100644
index 2a514e6753..0000000000
--- a/info/latex4wp/tbx.eps
+++ /dev/null
@@ -1,840 +0,0 @@
-%!PS-Adobe-2.0 EPSF-1.2
-%%Title: /home/guido/testi/latex/latex4wp-1.0.4/tbx.dvi
-%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
-%%CreationDate: Nov 5 15:06
-%%For:guido guido
-%%Pages: 1
-%%DocumentFonts:
-%%BoundingBox: 267 123 321 323
-%%BeginPreview: 54 200 8 400
-% 44888888888888888888888888888844888888888888888888888888888888888888888888888888
-% 8888888888888888888888888800
-% 44000000000000000000000000000044000000000000000000000000000000000000000000000000
-% 0000000000000000000000000044
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 880000000000ee220000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 880000000000ee000000880000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000055770000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000066eedd66550000000088000000000000000000000000000000000000000000000000
-% 0000000099000000440000000088
-% 880000000000ff77ff00cc0000000088000000000000000000000000000000000000000000000000
-% 0000000099330000ff0000000088
-% 880000000000ff00ff00ff0000000088000000000000000000000000000000000000000000000000
-% 00000044ffffffffff0000000088
-% 8800000000009900ff33dd0000000088000000000000000000000000000000000000000000000000
-% 0000003333000000aa0000000088
-% 88000000000066eeffcc330000000088000000000000000000000000000000000000000000000000
-% 0000000066eedd44550000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 00000000ee33ff00cc0000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 00000000ee00ff11ff0000000088
-% 88000000000000000000880000000088000000000000000000000000000000000000000000000000
-% 000000008811ff88990000000088
-% 880000ffffffffffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000011bbffbb110000000088
-% 880000aa0000ee000000880000000088000000000000000000000000000000000000000000000000
-% 0000000000000000110000000088
-% 880000000000ee000000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000660000000088
-% 88000000000088000044dd0000000088000000000000000000000000000000000000000000000000
-% 44ffffffdd888888aa0000000088
-% 88000000000066ddffcc330000000088000000000000000000000000000000000000000000000000
-% 22880000ee000000bb0000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 00000000cc000000ff0000000088
-% 88000000000000000000440000000088000000000000000000000000000000000000000000000000
-% 0000000077220088aa0000000088
-% 880000aa770000000000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000011bbffbb110000000088
-% 880000eebb00ffffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000ff0000000088
-% 880000000022c8000000880000000088000000000000000000000000000000000000000000000000
-% 00dd0044ffffffffff0000000088
-% 880000000000cc330000000000000088000000000000000000000000000000000000000000000000
-% 0000002288000000770000000088
-% 88000000000055668866110000000088000000000000000000000000000000000000000000000000
-% 00000011dd110000000000000088
-% 880000000000000044ccdd0000000088000000000000000000000000000000000000000000000000
-% 00000000ee334455110000000088
-% 880000000022ffbbcc66110000000088000000000000000000000000000000000000000000000000
-% 0000000000005599990000000088
-% 880000000000ee888822000000000088000000000000000000000000000000000000000000000000
-% 00000000ffdd7711000000000088
-% 880000000000880033eeaa0000000088000000000000000000000000000000000000000000000000
-% 00000000cc114466220000000088
-% 880000000033ff99ffbb660000000088000000000000000000000000000000000000000000000000
-% 00000000883388bb880000000088
-% 880000000000ffbb4400000000000088000000000000000000000000000000000000000000000000
-% 00000000dd995500000000000088
-% 880000000033bb000000000000000088000000000000000000000000000000000000000000000000
-% 00000000ff000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% a88888888888888888888888888888a8888888888888888888888888888888888888888888888888
-% 8888888888888888888888888888
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000008822000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000022115520000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000228877000022880000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088002299bb22000088cc881100000000000000000000000000
-% 0000000000000000000000000088
-% 8800000000000000000000000000008833ff77000055cc7700005500000000000000000000000000
-% 0000000000000000000000000088
-% 8800000000000000000000000000008800220022bbbb110000008800000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000077bb224400000033aa00000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000033440000556688dd3300000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000003344110033441100000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000665500005500000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000022993311008800000000000000000000
-% 0000000000000000000000000088
-% 8800000000000000000000000000008800000000000000004411004422aa00000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000774488dd3300000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000005566114455550000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000aa0000000000000000
-% 0000000000000000000000000088
-% 880000000000000000000000000000880000000000000000000022330044cc660033000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000077bb99110011aa220000000000
-% 0000000000000000000000000088
-% 880000000000000000008800000000880000000000000000001177bb77000066bb66440000000000
-% 0000000000000000000000000088
-% 880000ffffffffffffffff00000000880000000000000000000000002244bb881100330000000000
-% 0000000000000000000000000088
-% 880000aa0000ee00000088000000008800000000000000000000001199aa22000011aa2200000000
-% 0000000000000000000000000088
-% 880000000000ee000000ff00000000880000000000000000000011cc4400000066bb664400000000
-% 0000000000000000000000000088
-% 88000000000088000044dd0000000088000000000000000000000055000033bb8811000000000000
-% 0000000000000000000000000088
-% 88000000000066ddffcc330000000088000000000000000000000000221133770000445555000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000aa77001100000000aa000000
-% 0000000000000000000000000088
-% 88000000000066eedd6655000000008800000000000000000000000000000022330044cc66000000
-% 0000000000000000000000000088
-% 880000000000ff77ff00cc00000000880000000000000000000000000000000077bb991100000000
-% 0000000000000000000000000088
-% 880000000000ff00ff00ff000000008800000000000000000000000000001177bb77000000000000
-% 0000000000000000000000000088
-% 8800000000009900ff33dd0000000088000000000000000000000000000000000022000000000000
-% 0000000000000000000000000088
-% 88000000000066eeffcc330000000088000000000000000000000000000000000000000000000000
-% 1100000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 7700000000000000000000000088
-% 880000000000bb0000ff6600000000880000000000000000000000000000000000000000000022bb
-% aa44000000000000000000000088
-% 880000000000ff000000ee000000008800000000000000000000000000000000000000000088bb33
-% 0033000000000000000000000088
-% 880000000000ff000022ff0000000088000000000000000000000000000000000000000044660000
-% 0044660000000000000000000088
-% 8800004466ccffffffff880000000088000000000000000000000000000000000000000022220011
-% 88bb881100000000000000000088
-% 880000000011bb0000000000000000880000000000000000000000000000000000000000001177cc
-% 6600003300000000000000000088
-% 88000000000000000000880000000088000000000000000000000000000000000000000000009911
-% 000011aa22000000000000000088
-% 88000000000000000000ff0000000088000000000000000000000000000000000000000000003311
-% 0066cc6644000000000000000088
-% 880000ffffffffffffffff0000000088000000000000000000000000000000000000000000000055
-% ee88110000000000000000000088
-% 88000088000000000000a80000000088000000000000000000000000000000000000000000000033
-% 8800000000000000000000000088
-% 880000aa770000000000ff0000000088000000000000000000000000000000000000000000000000
-% 1100000000001111000000000088
-% 880000eebb00ffffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000066000000000088
-% 88000000000088000000880000000088000000000000000000000000000000000000000000000044
-% 44441100001188ff220000000088
-% 880000000000000000000000000000880000000000000000000000000000000000000000000000ff
-% 0000000066ee8811440000000088
-% 880000000000bb0000ff660000000088000000000000000000000000000000000000000000000000
-% 220044ccbb220000000000000088
-% 880000000000ff000000ee0000000088000000000000000000000000000000000000000000000000
-% 66aadd4400000000000000000088
-% 880000000000ff000022ff0000000088000000000000000000000000000000000000000000000000
-% 11aa000000000000000000000088
-% 8800004466ccffffffff880000000088000000000000000000000000000000000000000000000000
-% 0033000000000000000000000088
-% 880000000011bb000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% a88888888888888888888888888888a8888888888888888888888888888888888888888888888888
-% 8888888888888888888888888888
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000880000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 880000ffffffffffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000088000000000000a80000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000990000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000088ffffff880000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 880000000000ff114400bb0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000dd0000000088
-% 880000000000aa008811ff0000000088000000000000000000000000000000000000000000000000
-% 44ffffffffffffffff0000000088
-% 880000000000772255ffaa0000000088000000000000000000000000000000000000000000000000
-% 2288000000000000770000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 00000000000000bbbb0000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000066eeffffcc0000000088
-% 88000000000000000000ff0000000088000000000000000000000000000000000000000000000000
-% 00000000ff224411880000000088
-% 880000000000bbffffffff0000000088000000000000000000000000000000000000000000000000
-% 00000000ee003300ff0000000088
-% 880000000000ff000000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000099bb6611ff0000000088
-% 880000000000dd000000440000000088000000000000000000000000000000000000000000000000
-% 00000000447711ddc00000000088
-% 88000000000088110000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000088eeffffff0000000088
-% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
-% 00000000ff110000dd0000000088
-% 880000000000ff000000bb0000000088000000000000000000000000000000000000000000000000
-% 00000000ee110000440000000088
-% 880000000000bb110000880000000088000000000000000000000000000000000000000000000000
-% 0000000088ffffffff0000000088
-% 880000000000ccffffffff0000000088000000000000000000000000000000000000000000000000
-% 00000000ee110000dd0000000088
-% 88000000000055000000ff0000000088000000000000000000000000000000000000000000000000
-% 00000000ff000000440000000088
-% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
-% 0000000088110000dd0000000088
-% 880000000000ee220000000000000088000000000000000000000000000000000000000000000000
-% 00000044ffffffffff0000000088
-% 880000000000ee000000880000000088000000000000000000000000000000000000000000000000
-% 0000002222000000770000000088
-% 88000000000055770000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000099000000440000000088
-% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
-% 0000000099330000ff0000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 00000044ffffffffff0000000088
-% 88000000000033ddffcc330000000088000000000000000000000000000000000000000000000000
-% 0000003333000000aa0000000088
-% 880000000000bb110055cc0000000088000000000000000000000000000000000000000000000000
-% 0000000011bbff99110000000088
-% 880000000000ff000000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000088441177880000000088
-% 88000000000088000033dd0000000088000000000000000000000000000000000000000000000000
-% 00000000ee000000bb0000000088
-% 88000000000066eeffcc330000000088000000000000000000000000000000000000000000000000
-% 00000000cc000000ff0000000088
-% 88000000000000000000440000000088000000000000000000000000000000000000000000000000
-% 0000000077330055aa0000000088
-% 88000000000000000000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000011bbffbb500000000088
-% 880000000000ccffffffff0000000088000000000000000000000000000000000000000000000000
-% 0000000022000000bb0000000088
-% 880000000000ff000000bb0000000088000000000000000000000000000000000000000000000000
-% 00000000ffffffffff0000000088
-% 880000000000cc000000880000000088000000000000000000000000000000000000000000000000
-% 00000000ff000000330000000088
-% 88000000000033220000ff0000000088000000000000000000000000000000000000000000000000
-% 0000000088110000dd0000000088
-% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
-% 00000044ffffffffff0000000088
-% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
-% 0000002222000000770000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
-% 0000000000000000000000000088
-% a88888888888888888888888888888a8888888888888888888888888888888888888888888888888
-% 8888888888888888888888888888
-%%EndImage
-%%EndPreview
-save countdictstack mark newpath /showpage {} def /setpagedevice {pop} def
-%%EndProlog
-%%Page 1 1
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips /home/guido/testi/latex/latex4wp-1.0.4/tbx.dvi
-%DVIPSParameters: dpi=600, compressed
-%DVIPSSource: TeX output 2002.11.05:1506
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
-1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
-0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
-sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
-rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
-gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
-/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
-/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
-A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
-get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
-ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
-fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
-{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
-chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
-1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
-forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
-exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
-dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
-ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
-end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
-dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
-roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
-dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
-if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
-def end
-
-%!
-TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
-/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
-/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
-/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
-/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
-X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
-/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
-/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
-{userdict/md get type/dicttype eq{userdict begin md length 10 add md
-maxlength ge{/md md dup length 20 add dict copy def}if end md begin
-/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
-atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
-itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
-transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
-curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
-pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
-if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
--1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
-get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
-yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
-neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
-noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
-90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
-neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
-1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
-2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
--1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
-TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
-Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
-}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
-save N userdict maxlength dict begin/magscale true def normalscale
-currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
-/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
-psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
-psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
-TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
-psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
-roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
-moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
-begin/SpecialSave save N gsave normalscale currentpoint TR
-@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
-CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
-closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
-sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
-}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
-CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
-lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
-/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
-repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
-/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
-currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
-moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
-/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
-1 startangle endangle arc savematrix setmatrix}N end
-
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 33 /exclam put
-dup 39 /quoteright put
-dup 73 /I put
-dup 97 /a put
-dup 100 /d put
-dup 101 /e put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 114 /r put
-dup 116 /t put
-dup 119 /w put
-readonly def
-/FontBBox{-34 -251 988 750}readonly def
-/UniqueXX 5000794 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf
-5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b
-edad3b72ad63c2918b6e5a2017457e0d4ebc204a520640fd7c4d05e35ea5486f
-a43d0e970787203855daccb1ed0b16325828b13b7c767a1a58c87902f0546ea5
-404440fa6526975783c2d7a9572b8e5d5176bac598b8960609f49016aebf3763
-89c1adfe6a1ffc0c53b3acd9d168ec3a278fd4f1d9b085dc2df701346c9d0887
-3d230a161692b42a45bb5da343b4edd839dd60685a59aaa49fc65cd8e2ad2a9c
-5cab953495172a1a9f40d5f38e922443a519dd96f667201a408bd1d89e35f4ab
-98e2f68c3366efc14b5afe1018d9c845d808d4f8e07ea8168518a171ab4d6e21
-70eeac099eb7ef46eb9781384da1fac3b3133bb718bc80082eaea88759745188
-f266b31d0c7e791d633f16ed94e05517a32163e74cbd96dc5db066f2a5313d6d
-7f09465608cb404613e0f058073af000e5bdfafbbf9da0c0d5c02a3447f2cdc1
-f56481901e34265c26d331ac3f85bdcbc7c51ef9eddf2b9c189c5253f8e74282
-d6f053d7d183ae17ea175e5ebc401e67d21a9fea139cbbf3bb1358c713a75843
-b39a69aa2b1a7b975f53ff22d1dc3bdf7acd17afa1da21568310c68241b31d3d
-03bf404bd30baf9cc19c75b958bce7155f03cb0cfe2cae0327aad4b603284a51
-7c26de75b8c6f6aaa9debe4aec08ca4b646d787a9dfac85b2c01760e9c6c6162
-fbbc67dbd0796831e00c477d8e23c375ffab46d289be9d2328aec2b7534ae4cd
-d782ec2453e7787f6e6b4537b46c01545cba6f90b8e9a1bccac1937bceeaa5e7
-8e9f368ce067a0a31da98bfbb545be555a7270f0031fadd4f9b186629e5d2c5f
-d264f8f24cd5a1c0f68399ff4b29fd77c4a54d8296523410a54442ae159a95d5
-a03d4e0cc760df8338035b4722eea7e781b168e6013b3599e7b797e7607d7ab4
-4e5f5dc82c150b5c866daaf9d7e1b55a9994eeadbf128d8ee06bc728472e4473
-b4e6d548b8af2e64dc9b380959b5f76d627f6008d9ff1b47044f1b463f30289f
-2389a8d0acd64337626f379e36c16dd568fe581c7bffe00863037777786e3aaf
-64bd0955f8342955b070649af3443f69ecb105eaf61c37d2bec9f188210d4a65
-61c260586a0f3e72c99299b7fc30032bc17f9bb88c8d57305a6dda6399e259ef
-7069ff5b2a8ffad44210df78d0ab5420415e78d6d0a341261bb14aff65a65be6
-2a91c2a31029f8c4f149229e6480bb98200ba493611a4af72a4a418bb9a4a61a
-8cff2771d2c60d55d2a962937acfcf803c4a814a0899ec52ff6c44bb39b3e39b
-9e22ddc649f4e51352fb1cfe09a1438937d7f0db807ff38aa4953ea5bb124436
-13360690f0b9e51dda6ce317762aabbf37717dc65fe35bd51ea30c8c281c82e0
-eda0d36f76b0c6e940a19a858a321c33c0c6361eaaf9def7d1bf37233a960de2
-1d8f132cb0f04564de64be08285c053d915ac7c8054de2f3edd7209dc88ae52a
-eb24fb86bd4c7d19afe89650803e65ed8adc3bd1d92b3bdb24c710afe7ec28b4
-e66d4fb385da0730d55222048a1f0c5465015f226bcf279f8d2a60f8bd3a61ad
-9b19cd35e7ffb190a3fd9d962884b3a9427b29cb23b3edfd418090738d17a68b
-eddee4eaa4962a1b91bab85460b0240d8466f2a909cd2653f23034ecd328b14a
-bf7b809dd6f12b83e9de940d6372001342911af68e7bed36140d7993cc03d9cc
-af7bad833b66e36b367aa23b6f59ea85e407b6bb108b07ae197726c334fe52a3
-a5dca598b35167661a7878f4564084f28392ee4abe6589da934d706915028319
-e814473deb8c5e97dc2f343017275c992b59b101fe562370653cb49ab2c61a28
-b6be5d052f890fe57fa2b9fd7c4ac0d1eaaca2cd1ceb04080426c8c0be4f423b
-995051332350f3ad9affbb350f77e4b1cfef37c1ad8647d516d781629136acdf
-a916593aff8fcf1d2a1ed7e838d4574534f82e883bcf3c486fe04a636e68fde0
-7819d4be15f6329b54813260816e22203e24df36526e5d4ee4783f15ac2ceb74
-407fd250052b4639b51c7fcc80b0d634e089b0438303350d8ccf8434e9142c67
-1aa1fe5b4363694c0b4091acdc13b20521b94e6ede89728b2811d40bc5b909bf
-6d10bc045ff62af936e39b3af87782aef7c067489862cdae4120c6bbe71df595
-4f906867a72e22896c58ea299132526de702c6d5f99dbb4d5bc2b8c7cf26a14a
-06b39e350885da4712288e2a5a5d1d1ca1c24d09a2d92ad9833b65dcc322b9c6
-92b79384058ff13ca2a7c732a1a886d9a14dcf3ac0580592b62faec307b8fea4
-df28693cf5719dd96570488de8216584cff39053cc59bdad410d75050ce88405
-e43948fd33bf70ace2967b15d52bd22bcc1b93aa0bef97ff25a081c04c7fcc39
-339ee615418345890adcb5141c8064605dbdde2112bb142342a18c8ad3361b73
-72d946ce04072ae0e030e7e2f82b08945663c1078575ce89c777a5316fdd08a3
-739b7e2bc2eb76070ba7807da6017e1c7092de9b52af0e2018cd33ef780d380a
-cacfea3073c3510f0d31263f944cc08169b6c630313e67ce3e80470cd2ac7f0a
-45799d33a328e04430d5f1d3f4b21bc59a4f165dc40c1885c24ef43138450681
-4ed97d01a1d4ecf9e836a18d89cd707c4578c9f1db1f219538f60be15877ba9e
-cf32bd61eda75316d1328ac9aebc0dbacf76fd7122175beb489fcb06ec95061f
-69d7c2e95a967b45eaa62d30ca1d69cccecc7a70b51d9966a2ac277be334ee76
-723001cce9eb018ed3a58c34706a45544ca5281dd510d30931b80a83e5aa18d9
-3ddb1e16891177465a58c85a91cf0fd7e326982ff0d8ac69e69ca09e52818f44
-4034ec415e1f9121ded06fefa9d529e097eb23e95a7acffb45e6e4299ee7c2aa
-532eac6ed902398b5bda5efbaff9485c3cc8b10621b2c5fae24047baf09cedbc
-d246d3233fa901e13fcaa3e8fa821b2d42977b30356df0e1e530d10b93a0057f
-1a33f6bdb67aa280f664db5ea4602c20666ee3d809a80dd9003c0201226e06e2
-d51f553f9794503978fe90c4d8aaa64936a853769bafc2e5f46103f1ce9be6c7
-3f0199771b95d102e1be5e668c5d6e87f287a85ac77938344cbf9d63f7537d66
-05697c8006e49ae73bce2fd85d5623d8a6d56e21c6881d252f712960c210bccf
-a0d80def2e0847885e7af26671ecbfe4b6efef23e7502a5a45776cf8fa62910a
-6ed738de32e54c259895a7a68c5267e195710f823231d1c4c3b2d27f61116cc9
-a1433cee0a0ce86a23fb05d469e9087730666b686c0e18ce94167698bd8ad3be
-ad662786c701df15f25528305897700f20ca66cf1713b8d74b50a45c61e55436
-ec7e0ec97cd6268645e923057a6c78d55cef6e6431a0c6ef5bc5930f1bdfaaf3
-82f5cc7464ea678b7b3386ce3b2ea3942ca5dd23af73acad4cacbec763569fc6
-6578d276eff0068741ddb34c7e09eb320b6fcb9d0f2586160b370dcc21c8e09c
-2179a79512cd425e2bc8a857714f9afed8d6e2fb8ab2c26ecdb08d34febd63c7
-1a7b97c3eb62cf7c5c02db78682bdb794a2f57a6db23ef509bda7d62d8f215b0
-462613544ba7e4bf98e71303f5c723d74fa5ac8f6d2b1902ee7f3c33825dac9f
-2501e3aaeef2ec4d35e8e9f7a4a39fed23227aca8ce2cfc21263c98ffbcc7109
-0dfd10984a788ffb72d27b4c7fd28944d87f34f4815860e3cd50a8f192fdf057
-e79f7af9d88fee443bfa24e118192a4611d459e5998cdaf58cc83f907d31d61f
-f20f80f82aefeceb1a6405ecb3585f67798d78a1516926eebf9a2d770ce477c1
-19c74014503dc5fe1ac27ae248b33804bba1003b49c67e25fd91057434f21a3a
-11ac2a999c21445de5798fa59a009d48e196d94f9f75ee4be1ce52bdf03fd5ed
-5c751785e1cb60658b3f12fdb96d2edd76d3ef7b28
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 97 /a put
-dup 100 /d put
-dup 101 /e put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 114 /r put
-dup 116 /t put
-dup 119 /w put
-readonly def
-/FontBBox{-53 -251 1139 750}readonly def
-/UniqueXX 5000769 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b4486be79011d1f5bfae5c1f476ee6f05eb1d2caeb
-269958b194521197b312fcced4867f3c8fbd030bd715d8ffda1dcd454b174e7a
-1a97b59fe770e67702519d9d9b23d61ac08424d555242a8ca08c49aef300945d
-99b999a79ce74804ae6bfde623f4463371442f6523a5f6ce19c839a708c02513
-2e22c696c8ccade45680e5197189d0f98e7f0d5f955e353970b392cf530a68cc
-56b0035ddfbf206c3074beeb0739dcbca272a6e629fb7aea2c5ba7bae50c7b4c
-a595df78200c352997ec3ee564df229fbb5473f5e8ccb1cc0153e9a7e299a8ea
-a29b69d1b622b1f0cffc58291248759607d91150cb0651120970dc9f743bebef
-44f6ae92facec57658999c8bf01f60611560043962c0695e1bb87d090e0fdaab
-659d6557208a660be9aeef8ae55f71b8bc76394d792967e41bd8023b6e7f8c3d
-9987d5e54c53bf2bbb32855b946473b44833bd78873df8e4c7e668ffff25aabb
-8da4148f744b9d0524d6cb8281247b3052cc5d66f3f1bcf8a56a3fb446ea587b
-d8be30257652cee035628aeddfd8283b5ad21b8b1480ad24d898970ac8a1e33e
-543ce4e3c48f9ee621c5ce3e8ae930f890011b630866c988606068d9e92396eb
-f51bb3db204505fc3d09d4701ac703a14d92bbfe27bd7411b363a88e33a8e9a8
-025ac31f21e73dc52b333b918d0b1270c54873a490222d041a66e0192612be6d
-2c88958a8f70c10390146ee5091df020ab97675e8e6b9e705fbe5d4a561453fc
-99aacd038d0c9d92ce58c764a1a6cd497ec3cef52975ae84cc7e1d0401a7fcd4
-d5e847133c58d736e373745cbfa06237a1ee4ff0706bcc02e316bfe85ec2f0b4
-2dc3c3bb232c4045115c86f37c3bf3aa17b765020265aa22553707335d7fcd8d
-9f619e844ae579bedcd8326b4e97b5ec744e172232ba7d7752786a46fbfc4f60
-820702802e7b394104c5b0b18dec681a34a37f8aa072ff2a47ff6d1f09ccf799
-5aa27d14f2204428267e1960d3b2ca914d77328d299603355a17d1919b60e3aa
-409b52d31b8095b2fb43bcaa653f4cf7b1300b9031c76fb63a93050c7ce80ba0
-7765c289b42b9c4515e329fe655270bc75a7668f88edaf282629d5b78c038c33
-bd0ce5833d76227f76456823e5914e45ab1dc0fe2b568a10133204fd3e238fbd
-eaa6e07926e69cbb8655ec51c133419d5de05883965cf26ec8cc7d998607e02b
-ceb032ee6ca6dc422cc0533a8d28e3c8c6b09473806b83054eb98473d0e69039
-46e22a21cc79202f9d6520eb8e93ce3c05afae28d7f3e848f61ca6de03189d1c
-ff88e548ae82ade0dafd44104f6c8c0e2c67478fe2de32ad65d26c1dae55b441
-3a326cd2bba19ad0e967049402d799019865568ec0a73790f1ffabbdd174556a
-69e38fc6ea782920f177f11cf0bccd075f9b14fd1e81902801ee2015e63e09d5
-2122f1aafd2d506ab29eeab311454bb07ed103e9e44b9d9b6dda60c17fe2590a
-5692064674331cc51457d52e6fcf4024a0f0ecb57c936a905a70406773ff4b28
-9ce5fd4438a2cd13fcf3b71ba7a0fe81cc1ea2d7929cb3df3c77d72c71b85f67
-6797dee62578d4575c8f164b83da483ce879bcf700db2ce33aa0a78b655bf2e8
-b88602cd0350a1f64182d09af75fd7cde7f2d1fed68f99814afea07e5a6ac319
-d1f333c29b079d261a4a5f725962e438122ca54da4ba0ab44e4aa3ec116bd565
-425427e0ad08b87113b4a57e4e2decf7f93f6df85ff6e2d4efc66d8cb6c1eb08
-357dc201895fa2b7258592143424dd6561bbcbb889bdc36a6dbc9e4212cd526d
-d097575be079384d105b9617c0f90881a0e8badc724074ab3afd70e64e3f5e6b
-98b25fa62c187764ff586d3459587131da1dac8f6701ac26e526bb1ba833117d
-3aba4c5921d8c793ac08bb273dc106050302c048feb532559f6891c6548fe532
-a7e27629b9412420393f882187e42f5121be603e5413842859183a7087b32974
-ac1ddd0804b69c1f44d26b1165a0be013373067eb6c360dc75d161e4ad36ae54
-ef4f78b5cf993e8ec04e05463304545a9c5d4278c34c5b9f3153ed439181a0b7
-fd6af42983b50324b06c3fea8fbac1f0bcca91dedb4f36433bcbffbe9b891d5f
-de7a02f457ff6c4a21fa836b3898595914fd27ce9457424bed2df9ff581f157c
-c00f2966bb97c4403943f87c249b481a491e97e2979612bb8e514b027d11001f
-c3c528feb7598cf3ce62ca65e2de250f25b7106a7aaa086781f0a13472635d67
-0557d6f410e3a0e38e5da4b446879f7357ec4530aa1025959f7fb9c7c88b25b3
-b18451ab154211768d4fb01d1b88c6522b3b0bb2a345a13022c6e489ffb8d11d
-b888d7fda7b851018ce7984346284db9cd26001269dbd3de729a0a777e91aa70
-e3da194326c748ffdf86380e766d385156ac2e6b70b5333ace21f42831e56f1e
-03ddbb055c555f364d1e7e37914cac4497618a55ea17730cf9becd7d5b201545
-39c0a1bcfb07dd6110f279dcbbedc308d95d2e63f71e28e7a383b00e82b08801
-e4559a966e9ff0fd8d96f41e9841b1f440204b34a08f05674f94c227611220fd
-c8e167d982c6413f0517867cc982c6c32415fd3758b281535cf5cac6e379a5bb
-de482bb92fa4b956166b81687a5eae1478e6cf099f4b65ac7c24fdf1eea04da1
-54c873239438be69ee9bd23f9d3e95e8cabbbe97dfecd6500c792d8360ef09af
-da3d9755efc06d7b36530d7e93a31f40b9af9b39b8f8e6d2a227548bf544dd1b
-84ffe40cf96fe26dfea46001e3d8d3c190043e7459c23da5ad61035ec437b711
-232cb75de88b31646059c6cd991d2f1207a15530fd38511549ca179dc8d532ba
-5beee844029ef89383b5d8c413e0409333f531cf7a1ece17a068436a0c317747
-3a8b9f6bc0eb4e612034541bb12595fca90d536c94ae84e6bae02fb549ad7ed1
-2733dc842ac4b06a73370fc383ec83db61f59fd1aa120d065c4b37b1766cc652
-030cc56dafbf2945e3c13af232430bea37f7f37c792c4d81d96b2b532aa6a43d
-3b80c406d44af8d500b6e6bbe7c91c013e4513227d0cf65d0ebc4fcd3ab0624c
-ea94f91d9cbcda988f7495c655e8b764124e388563a7651677085c72dd95a265
-f626fe264d91e3ec91b54b34c74238ec6688d91366d7743e5301ecc4aeb3f788
-b27d8e57942c1c44c65a8a94b734cb47a2cfab6347a3b82276610a32367f25de
-c1676b80ec70869a42afe6ada328d66031bae92f023343988def5301ca693596
-ba965ab648bde769df0d8e57d766d6785006d7df70147647d57a19addc422282
-ff94179becd48197
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-TeXDict begin 39158280 55380996 1000 600 600
-(/home/guido/testi/latex/latex4wp-1.0.4/tbx.dvi) @start
-/Fa 136[70 2[38 1[38 2[49 54 81 27 2[27 3[43 54 2[49
-23[35 33[27 5[27 33[{}14 99.6264 /CMR12 rf /Fb 136[81
-2[44 1[46 2[56 62 93 31 2[31 3[51 62 2[54 97[{}11 99.6264
-/CMBX12 rf end
-TeXDict begin
-
-1 0 bop 1876 5388 a
- gsave currentpoint currentpoint translate 90 neg rotate neg exch neg
-exch translate
- 1876 5388 a 1876 5146 1654 4 v 1876
-5266 4 121 v 1929 5230 a Fb(normal)p 2322 5266 V 104
-w(tilted)p 2924 5266 V 340 w(wider)p 3527 5266 V 1876
-5269 1654 4 v 1876 5581 4 312 v 1929 5545 a Fa(normal)p
-2322 5581 V 2410 5545 a
- gsave currentpoint currentpoint translate 30 neg rotate neg exch neg
-exch translate
- 2410 5545 a Fa(I'm)33 b(tilted!)2841
-5545 y
- currentpoint grestore moveto
- 2841 5545 a 2924 5581 4 312 v 137 w Fa(wider)p
-3527 5581 V 1876 5584 1654 4 v 1876 5388 a
- currentpoint grestore moveto
- 1876 5388
-a eop
-end
-userdict /end-hook known{end-hook}if
-%%Trailer
-cleartomark countdictstack exch sub { end } repeat restore
-%%EOF
diff --git a/info/latex4wp/tbx.pdf b/info/latex4wp/tbx.pdf
index 29b814ea36..455c00c55b 100644
--- a/info/latex4wp/tbx.pdf
+++ b/info/latex4wp/tbx.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index 92fff483cc..3918deb3e5 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.911 README.txt
+LaTeX lwarp package v0.912 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index 4865f5567e..d7f79fc3cf 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2023/02/28 v0.911 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2023/08/28 v0.912 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -3423,6 +3423,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.909}{2022/11/22}{\ 2022/11/22}
% \changes{v0.910}{2023/01/03}{\ 2023/01/03}
% \changes{v0.911}{2023/02/28}{\ 2023/02/28}
+% \changes{v0.912}{2023/08/28}{\ 2023/08/28}
@@ -3656,6 +3657,13 @@ This boolean may be tested by the user for later use.
% see the end of the Change History on page \pageref{sec:changesend}.
%
% \begin{description}
+% \item[v0.912:] Updated for new \LaTeX\ label system.
+% \begin{itemize}
+% \item Fixed for updated kernel label system, name and back references.
+% \item Updated \pkg{memoir}, \pkg{tcolorbox}.
+% \item \pkg{nameref}: Now allowed to load before \pkg{lwarp}, such as by \pkg{memoir}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.911:] Updated \pkg{mismath}, \pkg{tcolorbox}.
% \needspace{2\baselineskip}
% \item[v0.910:] Updated \pkg{fvextra}, \pkg{minted}.
@@ -13906,7 +13914,6 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{musicography}
\LWR@loadafter{mwe}
\LWR@loadafter{nameauth}
-\LWR@loadafter{nameref}
\LWR@loadafter{natbib}
\LWR@notmemoirloadafter{nccfancyhdr}
\LWR@loadafter{nccfoots}
@@ -14569,6 +14576,18 @@ This boolean may be tested by the user for later use.
% \end{macro}
%
%
+% \begin{macro}{\LWR@edeffirstoffive} \marg{first} \marg{second} \marg{third} \marg{fourth} \marg{fifth}
+% \cs{edef}s to the first of five arguments.
+% Used for back referencing.
+% \changes{v0.912}{2023/08/24}{Added.}
+% \begin{macrocode}
+\long\def\LWR@edeffirstoffive#1#2#3#4#5{%
+ \edef\@tempa{#1}%
+}%
+% \end{macrocode}
+% \end{macro}
+
+
% \subsection{Inside boxes}
%
% Greater than zero if currently inside a \TeX\ box,
@@ -21118,10 +21137,10 @@ MathJax = {
\begin{filecontents*}[overwrite]{lwarpmk.lua}
#!/usr/bin/env texlua
--- Copyright 2016-2022 Brian Dunn
+-- Copyright 2016-2023 Brian Dunn
-printversion = "v0.911"
+printversion = "v0.912"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -23687,9 +23706,10 @@ end -- not --version
%
% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
% \changes{v0.896}{2021/03/05}{Added \ARIA\ role.}
+% \changes{v0.912}{2023/08/27}{Fixed with tracing on.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@htmlspanclass}{o D(){} m +m}{%
- \LWR@traceinfo{LWR@htmlspanclass |#1|#2|#3|}%
+ \LWR@traceinfo{LWR@htmlspanclass #3}%
\LWR@ensuredoingapar%
\ifblank{#2}%
{\LWR@subhtmlelementclass{span}[#1]{#3}}%
@@ -23697,8 +23717,8 @@ end -- not --version
\begin{LWR@nestspan}%
#4%
\LWR@htmltagc{/span}%
- \LWR@traceinfo{LWR@htmlspanclass done}%
\end{LWR@nestspan}%
+ \LWR@traceinfo{LWR@htmlspanclass done}%
}
% \end{macrocode}
% \end{macro}
@@ -23805,10 +23825,11 @@ end -- not --version
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
% \changes{v0.892}{2020/10/03}{Ignore empty class.}
% \changes{v0.896}{2021/03/05}{Added \ARIA\ role.}
+% \changes{v0.912}{2023/08/27}{Fixed with tracing on.}
%
% \begin{macrocode}
\NewDocumentCommand{\LWR@subhtmlelementclass}{m O{} D(){} m}{%
- \LWR@traceinfo{LWR@subhtmlelementclass !#1!#2!#3!#4!}%
+ \LWR@traceinfo{LWR@subhtmlelementclass !#1!#4!}%
\ifblank{#2}%
{% empty style
\LWR@htmltag{%
@@ -24314,7 +24335,8 @@ end -- not --version
% \end{macrocode}
%
% The opening paragraph tag.
-% Do not create tag if doing \pkg{algorithm2e} handling instead:
+% Do not create tag if doing \pkg{algorithm2e} handling
+% or inside a \cs{multirow}.
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
% \changes{v0.903}{2021/12/17}{Par handling.}
% \begin{macrocode}
@@ -27831,19 +27853,7 @@ end -- not --version
}\LWR@orignewline
% \end{macrocode}
%
-% IE patch:
-% \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.}
-% \begin{macrocode}
-\LWR@htmltag{!-\/-[if lt IE 9]}\LWR@orignewline
-\LWR@htmltag{%
- script % space
- src=\LWR@orig@textquotedbl{}%
- http://html5shiv.googlecode.com/svn/trunk/html5.js%
- \LWR@orig@textquotedbl%
-}%
-\LWR@htmltag{/script}\LWR@orignewline
-\LWR@htmltag{![endif]-\/-}\LWR@orignewline
-% \end{macrocode}
+% \changes{v0.912}{2023/08/28}{Removed IE 9 shim patch.}
%
% The page's title, if there is one.
% A section name is also added if given.
@@ -30099,6 +30109,7 @@ end -- not --version
% \section{Tabular}
+% ^^A *tabular
%
% This is arguably the most complicated part of the entire package.
% Numerous tricks are employed to handle the syntax of the \LaTeX\ core
@@ -32085,16 +32096,17 @@ end -- not --version
\LWR@maybenewtablerow%
% \end{macrocode}
%
-% Don't start a new paragraph tag if have already started one:
+% Don't start a new paragraph tag if have already started one,
+% or have found the end of the tabular,
+% or if are inside a \cs{multirow}:
+% \changes{v0.912}{2023/08/28}{Fixed \cs{multirow} par handling.}
% \begin{macrocode}
- \ifbool{LWR@intabularmetadata}%
- {%
-% \end{macrocode}
-%
-% If have found the end of tabular command, do not create the next data cell:
-% \begin{macrocode}
- \ifbool{LWR@exitingtabular}{}%
- {% not exiting tabular
+ \ifboolexpr{
+ bool{LWR@intabularmetadata}
+ and not bool{LWR@exitingtabular}
+ and not bool {LWR@in@multirow@par}
+ }%
+ {% making a tabular data cell
% \end{macrocode}
%
% Print the |@| and |!| contents before first column:
@@ -32197,8 +32209,8 @@ end -- not --version
\LWR@getexparray{LWR@colbeforespec}{\arabic{LWR@tableLaTeXcolindex}}%
}%
\boolfalse{LWR@intabularmetadata}%
- }% not exiting tabular
- }{}% in tabular metadata
+ }% making a tabular data cell
+ {}% not making a tabular data cell
\LWR@traceinfo{LWR@tabledatasinglecolumntag: done}%
}%
% \end{macrocode}
@@ -34525,19 +34537,19 @@ end -- not --version
% \item [\cs{refstepcounter}:] Steps the couunter and sets \cs{@currentlabel}.
% \item [\cs{@currentlabel}:] \cs{p@<ctr>}\cs{the<ctr>} Updated by \cs{refstepcounter}.
% \item [\cs{label}:] Writes to the |.aux| file:
-% \qquad |\newlabel{<label>}{{\@currentlabel}{\thepage}}|
+% \qquad |\newlabel{<label>}{{\@currentlabel}{\thepage}{name}{Href}{()}}|
% \item [\cs{newlabel}:] When the |.aux| file is read, sets \cs{r@<label>}.
-% \item [\cs{r@<label>}:] Set to: |{{\@currentlabel}{\thepage}}|
+% \item [\cs{r@<label>}:] Set to: |{\@currentlabel}{\thepage}{name}{Href}{}|
% \item [\cs{ref}:] Returns the first part of \cs{r@<label>}.
% \item [\cs{pageref}:] Returns the second part of \cs{r@<label>}.
% \end{description}
% \item [Added by \pkg{lwarp}:] \hfill (\HTML\ only)
% \begin{description}
% \item [\cs{label}:] Adds \HTML\ tags (\cref{sec:labels}),
-% and another \filenm{.aux} entry (\cref{sec:lwarplabelsetup}).
-% If \pkg{memoir} is used, its \cs{@mem@old@label} points to \pkg{lwarp}'s version,
-% and \pkg{cleveref} patches.
-% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read, sets \cs{r@<label>@lwarp}.
+% and another \filenm{.aux} entry (\cref{sec:lwarplabelsetup}) for \cs{r@<label>@lwarp}.
+% (\pkg{nameref} changes to \cs{ref}, etc. are undone \cs{AtBeginDocument}.)
+% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read,
+% used to set \cs{r@<label>}, and then \cs{r@<label>@lwarp}.
% \item [\cs{r@<label>@lwarp}:] Set to |{{section_name}{file_name}{depth}{number}}|:
% \begin{description}
% \item [\cs{LWR@nameref}:] The section or object name for this label.
@@ -34561,9 +34573,9 @@ end -- not --version
% \begin{description}
% \item [\cs{refstepcounter:}] Added: sets \cs{cref@currentlabel}.
% \item [\cs{cref@currentlabel}:] (|<type>|=|<ctr>| unless an alias is used):
-% \qquad |[<type>][\arabic{<ctr>}][<parent ctrs>]{\p@<ctr>\the<ctr>}|
+% \qquad |[<type>][\arabic{<ctr>}][<parent ctrs>]{\p@<ctr>\the<ctr>}| \\
% Also see \cref{sec:footnotesregular} for use with footnotes.
-% \item [\cs{label}:] Writes to the |.aux| file:
+% \item [\cs{label}:] Also writes to the |.aux| file:
% \qquad |\newlabel{<label>@cref}{{\cref@currentlabel}{\thepage}}|
% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read, sets \cs{r@<label>@cref}.
% \item [\cs{r@<label>@cref}:] Set to: |{{\cref@currentlabel}{\thepage}}|
@@ -34879,10 +34891,9 @@ end -- not --version
% the special label handling is required, but \cs{LWR@label@createtag} does not
% generate \HTML\ tags inside a \env{lateximage}.
%
-% If \pkg{memoir} is used, it's \cs{@mem@old@label} is pointed here.
+% \pkg{clevereref} later encases this to add its own cross-referencing.
%
-% \pkg{clevereref} later encases this to add its own cross-referencing,
-% and also patches \pkg{memoir}.
+% \pkg{nameref} patches are undone \cs{AtBeginDocument}.
%
% \changes{v0.84}{2020/04/05}{Removed optional args.}
% \changes{v0.896}{2021/04/08}{Revert to a simple \cs{newcommand*}.}
@@ -35056,8 +35067,9 @@ end -- not --version
{\LWR@subnewref{#2}{#2}}%
}
+\AtBeginDocument{% **8*
\LWR@formatted{ref}
-
+}
\NewDocumentCommand{\LWR@HTML@Ref}{s m}{%
\LWR@traceinfo{LWR@HTML@Ref !#2!}%
@@ -35066,17 +35078,20 @@ end -- not --version
{\LWR@subnewref{#2}{#2}}%
}
+\AtBeginDocument{% **8*
\LWR@formatted{Ref}
+}
% \end{macrocode}
%
%
% \begin{macro}{\LWR@refwithsection} * \marg{label}
%
-% Creates a reference, using the section number as the text.
+% Creates a reference, printing the section number as the text.
% Used for back references.
%
% \changes{v0.896}{2021/04/21}{Added.}
% \changes{v0.903}{2021/12/13}{Fixed: Ref undefined or w/o label.}
+% \changes{v0.912}{2023/08/26}{Fixed back references.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@refwithsection}{s m}{%
\LWR@traceinfo{LWR@refwithsection !#2!}%
@@ -35086,62 +35101,71 @@ end -- not --version
% \begin{macrocode}
\IfBooleanTF{#1}%
{\LWR@print@ref{\BaseJobname-autopage-\LWR@currentautosecpageref{#2}}}%
- {%
+% \end{macrocode}
+%
+% If not starred:
+% Check for a reference to the start of the document.
+% (Generated by \pkg{backref}.
+%
+% \begin{macrocode}
+ {% not starred
+ \ifstrequal{#2}{Doc-Start}%
+ {%
+ \LWR@startref{\BaseJobname-autopage-1}%
+ *%
+ \LWR@htmltag{/a}%
+ }%
+ {% not Doc-Start
% \end{macrocode}
%
% Open the reference:
% \begin{macrocode}
- \LWR@startref{#2}%
+ \LWR@startref{#2}%
% \end{macrocode}
%
% Add the text of the link.
%
% Check for and handle an undefined reference:
% \begin{macrocode}
- \edef\@tempa{\LWR@currentautosecpageref{#2}}%
- \ifdefstring{\@tempa}{??}%
- {??}%
+ \edef\@tempa{\LWR@currentautosecpageref{#2}}%
+ \ifdefstring{\@tempa}{??}%
+ {??}%
% \end{macrocode}
%
% For a defined reference:
% \begin{macrocode}
- {%
+ {% not ??
% \end{macrocode}
%
-% Set \cs{@tempa} to \cs{r@<label>}, which is |{section number}{page number}|.
+% Set \cs{@tempa} to \cs{r@<label>}, which is |{section number}{page number}{name}{Href}{}|.
% \begin{macrocode}
- \edef\@tempa{%
- \csname
- r@\BaseJobname-autopage-\LWR@currentautosecpageref{#2}%
- \endcsname%
- }%
+ \edef\@tempa{\csexpandonce{r@\BaseJobname-autopage-\@tempa}}%
+ \expandafter\LWR@edeffirstoffive\@tempa%
% \end{macrocode}
%
% Check the section number alone:
-% \begin{macrocode}
- \edef\@tempa{\expandafter\@firstoftwo\@tempa}%
-% \end{macrocode}
%
% If the reference has no section number print an asterisk:
% \begin{macrocode}
- \expandafter\ifblank\expandafter{\@tempa}%
- {*}
+ \expandafter\ifblank\expandafter{\@tempa}%
+ {*}
% \end{macrocode}
%
% If there is a section number, print it:
% \begin{macrocode}
- {%
- \LWR@print@ref{%
- \BaseJobname-autopage-\LWR@currentautosecpageref{#2}%
- }%
- }%
- }%
+ {%
+ \LWR@print@ref{%
+ \BaseJobname-autopage-\LWR@currentautosecpageref{#2}%
+ }%
+ }%
+ }% not ??
% \end{macrocode}
%
% Close the reference:
% \begin{macrocode}
- \LWR@htmltag{/a}%
- }%
+ \LWR@htmltag{/a}%
+ }% not Doc-Start
+ }% not starred
}
% \end{macrocode}
% \end{macro}
@@ -35186,8 +35210,14 @@ end -- not --version
% \begin{macro}{\nameref} \marg{label}
%
% \changes{v0.43}{2017/10/31}{Made robust.}
+% \changes{v0.912}{2023/08/24}{\pkg{nameref}: Allow load before \pkg{lwarp}.}
+%
+% \pkg{nameref} may have already defined \cs{nameref}.
+% Redefine it here.
% \begin{macrocode}
-\newrobustcmd*{\nameref}[1]{%
+\providecommand{\nameref}[1]{}%
+
+\renewrobustcmd*{\nameref}[1]{%
\LWR@traceinfo{nameref}%
\LWR@startref{#1}%
\LWR@traceinfo{nameref B}%
@@ -35203,6 +35233,8 @@ end -- not --version
% \begin{macro}{\Nameref} \marg{label}
% In print, adds the page number. In \HTML, does not.
+%
+% Overwrites \pkg{nameref} definition if already defined.
% \begin{macrocode}
\LetLtxMacro\Nameref\nameref
% \end{macrocode}
@@ -36942,7 +36974,7 @@ end -- not --version
\newcommand*{\LWR@indexnameref@ref}[1]{%
\edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
\ifdefvoid{\LWR@thisref}{}{%
- \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \edef\LWR@thisref{\expandafter\@firstoffive\LWR@thisref}%
\ifdefvoid{\LWR@thisref}%
{\LWR@indexnameref@anonref{#1}}%
{\ref{LWRindex-#1}}%
@@ -36958,11 +36990,12 @@ end -- not --version
% To avoid an unwanted space if there is nothing to reference,
% the reference is checked first.
% For links to starred or |??| objects, only the name is used.
+% \changes{v0.912}{2023/08/27}{Fixed for new LaTeX labels.}
% \begin{macrocode}
\newcommand*{\LWR@indexnameref@refnameref}[1]{%
\edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
\ifdefvoid{\LWR@thisref}{}{%
- \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \edef\LWR@thisref{\expandafter\@firstoffive\LWR@thisref}%
\ifdefvoid{\LWR@thisref}{}{%
\ifdefstring{\LWR@thisref}{(*)}%
{}%
@@ -36981,13 +37014,14 @@ end -- not --version
% If no numbered reference is available, a \cs{nameref} is used instead.
% If the reference is |??|, which will be changed by \cs{LWR@indexnameref}
% to become |(*)|, then the link is changed to show |(*)|.
+% \changes{v0.912}{2023/08/27}{Fixed for new LaTeX labels.}
% \begin{macrocode}
\newcommand*{\LWR@indexnameref@cref}[1]{%
\edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
\ifdefvoid{\LWR@thisref}{%
\nameref{LWRindex-#1}%
}{%
- \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \edef\LWR@thisref{\expandafter\@firstoffive\LWR@thisref}%
\ifdefvoid{\LWR@thisref}{%
\nameref{LWRindex-#1}%
}{%
@@ -37009,13 +37043,14 @@ end -- not --version
% If no numbered reference is available, a \cs{nameref} is used instead.
% If the reference is |??|, which will be changed by \cs{LWR@indexnameref}
% to become |(*)|, then the link is changed to show only the name.
+% \changes{v0.912}{2023/08/27}{Fixed for new LaTeX labels.}
% \begin{macrocode}
\newcommand*{\LWR@indexnameref@crefnameref}[1]{%
\edef\LWR@thisref{\csuse{r@LWRindex-#1}}%
\ifdefvoid{\LWR@thisref}%
{}%
{%
- \edef\LWR@thisref{\expandafter\@firstoftwo\LWR@thisref}%
+ \edef\LWR@thisref{\expandafter\@firstoffive\LWR@thisref}%
\ifdefvoid{\LWR@thisref}%
{}%
{%
@@ -37336,7 +37371,7 @@ end -- not --version
% which meant the \HTML\ version could not resolve until the print version was
% also present. This also confused \pkg{multibib}.
% It has been reverted to the original to use \cs{jobname}\filenm{.bbl}.
-% \changes{v0.87}{2020/05/17}{Reverted to original.}
+% \changes{v0.87}{2020/05/17}{Reverted \cs{bibliography} to original.}
% \end{macro}
%
%
@@ -40130,9 +40165,10 @@ end -- not --version
\LetLtxMacro\@footnotetext\LWR@footnotetext%
}%
% \end{macrocode}
-% Create the |LWRlateximage<number>| label:
+% Create the |LWRlateximage-jobname-<number>| label:
% \begin{macrocode}
- \LWR@traceinfo{lateximage: about to create label}%
+ \LWR@traceinfo{lateximage: about to create label
+ LWRlateximage-\BaseJobname-\arabic{LWR@lateximagenumber}}%
\LWR@orig@label{LWRlateximage-\BaseJobname-\arabic{LWR@lateximagenumber}}%
\LWR@traceinfo{lateximage: finished creating the label}%
% \end{macrocode}
@@ -40460,6 +40496,15 @@ end -- not --version
% \end{macrocode}
% \end{macro}
+
+% Undo \pkg{nameref} if already loaded, such as by \pkg{memoir}:
+% \changes{v0.912}{2023/08/24}{\pkg{nameref}: Allow load before \pkg{lwarp}.}
+% \begin{macrocode}
+\LWR@PreloadedPackage{nameref}
+% \end{macrocode}
+
+
+
% If \pkg{inputtrc} was loaded before \pkg{lwarp},
% as is usually done,
% explicitly load the lwarp patches now:
@@ -40965,17 +41010,43 @@ end -- not --version
% print or \HTML\ output, and thus do not use the \cs{LWR@formatted} system.
%
% \codehtml
+%
+% \changes{v0.912}{2023/08/24}{\pkg{nameref}: Allow load before \pkg{lwarp}.}
% \begin{macrocode}
\begin{warpHTML}
-\LetLtxMacro\LWR@orig@label\label% includes memoir, before cleveref
+\LetLtxMacro\LWR@orig@label\label
\LetLtxMacro\label\LWR@new@label
-\LetLtxMacro\LWR@orig@pageref\pageref
-\LetLtxMacro\pageref\LWR@new@pageref
+\AtBeginDocument{%
+\LetLtxMacro\LWR@orig@pageref\pageref%
+\LetLtxMacro\pageref\LWR@new@pageref%
+}
+% \end{macrocode}
+
+% \begin{macro}{\label}
+% Detokenize \cs{@currentnamelabel} to avoid bug if math is in the name.
+% \changes{v0.912}{2023/08/24}{Detokenize \cs{@currentnamelabel} while writing.}
+% \begin{macrocode}
+\xpatchcmd{\LWR@orig@label}
+ {{\@currentlabelname}}
+ {{\detokenize\expandafter{\@currentlabelname}}}
+ {}
+ {
+ \typeout{***}
+ \typeout{***}
+ \typeout{*** Package lwarp warning:}
+ \typeout{*** Could not patch \string\label.}
+ \typeout{*** This may cause an error with section names or float captions}
+ \typeout{*** containing math, for example.}
+ \typeout{*** (Recent updates in the LaTeX kernel may make things work again.)}
+ \typeout{***}
+ \typeout{***}
+ }
\end{warpHTML}
% \end{macrocode}
+% \end{macro}
@@ -41576,11 +41647,11 @@ end -- not --version
% \cs{LWR@forceminwidth} must be used first in order to set the border width.
%
% \changes{v0.66}{2019/02/04}{Use current text color.}
+% \changes{v0.912}{2023/08/27}{Fixed with tracing on.}
%
% \begin{macrocode}
\newcommand*{\LWR@fboxstyle}{%
\LWR@findcurrenttextcolor%
-\LWR@traceinfo{LWR@fboxstyle B}%
border:\LWR@printlength{\LWR@atleastonept} solid \LWR@origpound\LWR@tempcolor ; %
padding:\LWR@printlength{\fboxsep} ; %
color:\LWR@origpound\LWR@tempcolor%
@@ -41610,6 +41681,7 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@traceinfo{HTML fbox: done}%
}
% \end{macrocode}
+%
% \pkg{xcolor} \cs{let}s things to \cs{fbox} when it is loaded,
% and this must remain even for \HTML\ output while in a \env{lateximage},
% so \cs{fbox} is not modified until \cs{AtBeginDocument}:
@@ -71902,22 +71974,16 @@ background:
% \section{nameref}
%
% \DescribePackage{nameref}
-% \pkg{nameref} is emulated by \pkg{lwarp}.
+% \pkg{nameref} is nullified here, then emulated by \pkg{lwarp}.
%
% \changes{v0.22}{2017/03/01}{\pkg{nameref}: Added.}
+% \changes{v0.912}{2023/08/24}{\pkg{nameref}: Allow load before \pkg{lwarp}.}
%
% \codehtml
%
% Discard all options for \pkg{lwarp-nameref}:
% \begin{macrocode}
-\PackageInfo{lwarp}{%
-Using the lwarp HTML version of package `nameref',\MessageBreak
-and discarding options.\MessageBreak
-(Not using \protect\ProvidesPackage, so that other packages\MessageBreak
-do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
-}
-\DeclareOption*{}
-\ProcessOptions\relax
+\LWR@ProvidesPackageDrop{nameref}[2023-08-07]
% \end{macrocode}
% \iffalse
@@ -85626,11 +85692,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% For the lower part, the upper part is finished then the lower is started.
-% \cs{tcblower} is only temporarily defined where appropriate, so the \HTML\ version is
-% defined globally via \cs{newcommand} instead of \cs{renewcommand}.
+%
+% \cs{tcblower} is \cs{let} to \cs{tcb@error@nolower} globally,
+% which gives an error in print mode, but is redefined here for \HTML.
+% \changes{v0.912}{2023/08/27}{\pkg{tcolorbox}: Updated to v6.0.4}
% \begin{macrocode}
-\newcommand{\tcblower}{
- \tcb@insert@after@upper%
+\newcommand{\LWR@HTML@tcb@error@nolower}{%
+ \tcb@insert@after@upper%
\end{BlockClass}
\begin{BlockClass}[%
border-top: 1px dashed \LWR@origpound\LWR@tcbcolframe ;
@@ -85638,6 +85706,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
]{tcolorboxlower}
\tcb@insert@before@lower%
}
+\LWR@formatted{tcb@error@nolower}
% \end{macrocode}
%
% Starred and unstarred \cs{tcbline} are simple \cs{hrule}s.
@@ -93594,40 +93663,35 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Insert the \pkg{lwarp} label mechanism into the \pkg{memoir} package mechanism:
%
% \begin{itemize}
-% \item \cs{@mem@old@label} is the \LaTeX\ definition of \cs{label}.
-% \item \cs{LWR@orig@label} becomes the \pkg{memoir} definition.
+% \item \cs{LWR@orig@label} is the kernel version,
+% or \pkg{nameref} version if loaded before \pkg{lwarp}.
% \item \pkg{lwarp}'s \cs{LWR@new@label} uses \cs{LWR@orig@label}.
-% \item Want \pkg{memoir}'s \cs{label} to use \pkg{lwarp}'s \cs{label},
-% which then would use \LaTeX's \cs{label}.
-% \item So:
-% \begin{itemize}
-% \item \cs{@mem@old@label} is set to \cs{LWR@new@label}.
-% \item \cs{LWR@orig@label} is set to \cs{@mem@old@label}.
-% \end{itemize}
% \item \pkg{cleveref} then encapsulates all the above with \cs{cref@old@label}.
% \item For a subcaption, \pkg{cleveref} modifies \pkg{memoir}'s \cs{sf@memsub@label},
% but that change is undone by \pkg{lwarp}.
+% \item \pkg{memoir} uses the final \cs{label} for subcaptions.
% \end{itemize}
-% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: Fix: \cs{label}.}
-% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\@mem@old@label
-\LetLtxMacro\@mem@old@label\LWR@new@label
-% \end{macrocode}
%
% Patches for subfloats to support additional \pkg{lwarp} labels.
% This is the non-\pkg{hyperref} version from \pkg{memoir}.
+% \changes{v0.912}{2023/08/27}{\pkg{memoir}: Fixed for new \LaTeX\ labels.}
% \begin{macrocode}
\AtBeginDocument{
\renewcommand*{\sf@@memsub@label}[1]{%
\@bsphack
- \sf@@memsub@label@hook{#1}%
-% \@memoldlabel{#1}%
- \cref@label{#1}% lwarp
+% \@mem@kernel@label{#1}%
+ \cref@label{#1}% lwarp
\LWR@label@createtag{sub@#1}% lwarp
\protected@write\@auxout{}{%
\string\newlabel{sub@#1}%
- {{\@nameuse{@@thesub\@captype}}%
- {\thepage}}}%
+ {%
+ {\@nameuse{@@thesub\@captype}}%
+ {\thepage}%
+ {\detokenize\expandafter{\@currentlabelname}}% name
+ {#1}% Href
+ {}% reserved
+ }%
+ }%
\LWR@write@lwarplabel{sub@#1}% lwarp
\@esphack
}
@@ -94884,15 +94948,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LetLtxMacro\titleref\nameref
\renewcommand*{\headnameref}{}
\renewcommand*{\tocnameref}{}
+% \end{macrocode}
-\providecounter{LWR@currenttitle}
-
-\renewcommand*{\currenttitle}{%
- \addtocounter{LWR@currenttitle}{1}%
- \label{currenttitle\arabic{LWR@currenttitle}}%
- \nameref{currenttitle\arabic{LWR@currenttitle}}%
-}
-
+% \changes{v0.912}{2023/08/24}{\pkg{memoir}: Updated to v3.8.1}
+% \cs{currenttitle} has been removed from \pkg{memoir}.
+% \begin{macrocode}
\renewcommand*{\theTitleReference}[2]{}
\renewcommand*{\namerefon}{}
\renewcommand*{\namerefoff}{}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index be875b28e7..550c9096d7 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index 7275b345e7..1d47893217 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -1,8 +1,8 @@
#!/usr/bin/env texlua
--- Copyright 2016-2022 Brian Dunn
+-- Copyright 2016-2023 Brian Dunn
-printversion = "v0.911"
+printversion = "v0.912"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
diff --git a/macros/luatex/generic/penlightplus/penlightplus.lua b/macros/luatex/generic/penlightplus/penlightplus.lua
index ffdbe89bc5..96eb565fb6 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.lua
+++ b/macros/luatex/generic/penlightplus/penlightplus.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2023-07-22
+--% 2023-08-27
--% Copyright (C) 2021-2023 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -67,6 +67,10 @@ penlight.tex._xTrue = '\\BooleanTrue '
penlight.tex._xFalse = '\\BooleanFalse '
penlight.tex._xNoValue = '-NoValue-'
+penlight.tex.xTrue = '\\BooleanTrue '
+penlight.tex.xFalse = '\\BooleanFalse '
+penlight.tex.xNoValue = '-NoValue-'
+
--Generic LuaLaTeX utilities for print commands or environments
if not __PL_SKIP_TEX__ then
@@ -138,6 +142,8 @@ function penlight.tex.help_wrt(s1, s2) -- helpful printing, makes it easy to deb
wrt2('\n^^^^^\n')
end
penlight.help_wrt = penlight.tex.help_wrt
+penlight.wrth = penlight.help_wrt
+penlight.tex.wrth = penlight.help_wrt
function penlight.tex.prt_array2d(t)
for _, r in ipairs(t) do
@@ -171,9 +177,10 @@ end
--definition helpers -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-function penlight.tex.defmacro(cs, val) -- , will not work if val contains undefined tokens (so pre-define them if using..)
+function penlight.tex.defmacro(cs, val, g) -- , will not work if val contains undefined tokens (so pre-define them if using..)
val = val or '' -- however this works for arbitrary command names (\@hello-123 etc allowed)
- token.set_macro(cs, val, 'global')
+ g = g or 'global'
+ token.set_macro(cs, val, g)
end
@@ -767,6 +774,47 @@ function penlight.tex.split2items(s, d)
end
+penlight.tbls = {}
+
+function penlight.get_tbl_item(s, p) -- get item with string, p means print value
+ p = p or false
+ local itm = 'tbl: INVALID INDEX WITH: "'..s..'"'
+ if s:find('%.') then
+ local tt = s:split('.')
+ itm = penlight.tbls[tt[1]][tt[2]]
+ elseif s:find('/') then
+ local tt = s:split('/')
+ itm = penlight.tbls[tt[1]][tonumber(tonumber(tt[2]))]
+ else
+ if s:isdigit() then
+ itm = penlight.tbls._recent[tonumber(s)]
+ else
+ itm = penlight.tbls._recent[s]
+ end
+ end
+ if p then
+ tex.sprint(tostring(itm))
+ end
+ return itm
+end
+
+
+function penlight.set_tbl_item(s, v)
+ if s:find('%.') then
+ local tt = s:split('.')
+ penlight.tbls[tt[1]][tt[2]] = v
+ elseif s:find('/') then
+ local tt = s:split('/')
+ penlight.tbls[tt[1]][tonumber(tonumber(tt[2]))] = v
+ else
+ if s:isdigit() then
+ penlight.tbls._recent[tonumber(s)] = v
+ else
+ penlight.tbls._recent[s] = v
+ end
+ end
+ end
+
if penlight.hasval(__PL_GLOBALS__) then
-- iterators
@@ -803,8 +851,9 @@ if penlight.hasval(__PL_GLOBALS__) then
penlight.filterfiles = penlight.utils.filterfiles
penlight.a2 = penlight.array2d
+ A2d = penlight.array2d
penlight.tbl = penlight.tablex
-
+ TX = penlight.tablex
for k,v in pairs(penlight.tex) do -- make tex functions global
_G[k] = v
diff --git a/macros/luatex/generic/penlightplus/penlightplus.pdf b/macros/luatex/generic/penlightplus/penlightplus.pdf
index 89b8236d66..32135ebb6e 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.pdf
+++ b/macros/luatex/generic/penlightplus/penlightplus.pdf
Binary files differ
diff --git a/macros/luatex/generic/penlightplus/penlightplus.sty b/macros/luatex/generic/penlightplus/penlightplus.sty
index 0d49ff90d0..3f95ae4d9e 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.sty
+++ b/macros/luatex/generic/penlightplus/penlightplus.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2023-07-22
+% 2023-08-27
% Copyright (C) 2021-2023 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -22,11 +22,12 @@
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
% OR OTHER DEALINGS IN THE SOFTWARE.
-\ProvidesPackage{penlightplus}[2023-07-22]
+\ProvidesPackage{penlightplus}[2023-08-27]
\RequirePackage{luacode}
\RequirePackage{luakeys}
\RequirePackage[import]{penlight}
+\RequirePackage{etoolbox}
\DeclareOption{globals}{\luadirect{__PL_GLOBALS__ = true}}
\DeclareOption{pl}{\directlua{pl = penlight}}
@@ -72,43 +73,92 @@
}
-%
-%
-%\NewDocumentCommand{\tblnew}{m}{\luadirect{
-% _G[\luastring{#1}] = {}
-%}}
-%
-%\NewDocumentCommand{\tblfrkv}{m m O{} }{\luadirect{
-% _G[\luastring{#1}] = penlight.luakeys.parse(\luastring{#2}, penlight.luakeys.parse(\luastring{#3}))
-%}}
-%
-%\NewDocumentCommand{\tblset}{m m m}{\luadirect{
-% _G[\luastring{#1}][\luastring{#2}] = \luastring{#3}
-%}}
-%
-%\NewDocumentCommand{\tblget}{m m}{\luadirect{
-% tex.sprint(tostring(_G[\luastring{#1}][\luastring{#2}]))
-%}}
-%
-%\NewDocumentCommand{\tblidx}{m m}{\luadirect{
-% tex.sprint(tostring(_G[\luastring{#1}][#2]))
-%}}
-%
-%
+
+
+
+
+
+
+%%%%
+
+\newtoggle{luaexpr}\togglefalse{luaexpr}
+
+\begin{luacode*}
+ function toggle_luaexpr(expr)
+ if expr then
+ tex.sprint('\\toggletrue{luaexpr}')
+ else
+ tex.sprint('\\togglefalse{luaexpr}')
+ end
+ end
+\end{luacode*}
+
+\NewDocumentCommand{\ifluax}{m m O{}}{%
+ \luadirect{toggle_luaexpr(#1)}%
+ \iftoggle{luaexpr}{#2}{#3}%
+ \togglefalse{luaexpr}% safety set to false
+}
+
+\NewDocumentCommand{\ifluaxv}{m m O{}}{\ifluax{penlight.hasval(#1)}{#2}[#3]}
+
+
+% testing ifluax
+% {-->\ifluax{1 == 2}{\LARGE TRUE}[\tiny FALSE]<--test\\
+% -->\ifluax{abc == nil}{\LARGE TRUE}[\tiny FALSE]<--test}
+
+
+%%%
+
+\NewDocumentCommand{\newtbl}{m}{\luadirect{
+ penlight.tbls[\luastring{#1}] = {}
+ penlight.tbls._recent = penlight.tbls[\luastring{#1}]
+}}
+
+\NewDocumentCommand{\tblfrkv}{m m O{}}{ \luadirect{
+ penlight.tbls[\luastring{#1}] = penlight.luakeys.parse(\luastring{#2}, penlight.luakeys.parse(\luastring{#3}))
+ penlight.tbls._recent = penlight.tbls[\luastring{#1}]
+}}
+
+\NewDocumentCommand{\chgtbl}{ m }{ \luadirect{
+ penlight.tbls._recent = penlight.tbls[\luastring{#1}]
+}}
+
+\NewDocumentCommand{\gettbl}{m}{\luadirect{
+ penlight.get_tbl_item(\luastring{#1}, true)
+}}
+
+\NewDocumentCommand{\settbl}{m m}{\luadirect{
+ penlight.set_tbl_item(\luastring{#1}, \luastring{#2})
+}}
+
+\NewDocumentCommand{\deftbl}{ m m }{\luadirect{% define a table, use * to make definition
+ token.set_macro(\luastring{#2}, tostring(penlight.get_tbl_item(\luastring{#1})))
+}}
+
+\NewDocumentCommand{\gdeftbl}{ m m }{\luadirect{% define a table, use * to make global definition
+ token.set_macro(\luastring{#2}, tostring(penlight.get_tbl_item(\luastring{#1})), 'global')
+}}
+
+\NewDocumentCommand{\iftbl}{m m O{}}{\ifluax{penlight.get_tbl_item(\luastring{#1})}{#2}[#3]}
+
+\NewDocumentCommand{\iftblv}{m m O{}}{\ifluaxv{penlight.get_tbl_item(\luastring{#1})}{#2}[#3]}
+
+
+
%\NewDocumentCommand{\tblupd}{ m m}{\luadirect{
-% penlight.tablex.update(_G[\luastring{#1}], _G[\luastring{#2}])
+% penlight.tablex.update(penlight.tbls[\luastring{#1}], penlight.tbls[\luastring{#2}])
%}}
%
%\NewDocumentCommand{\tblupdkv}{ m m }{\luadirect{
-% penlight.tablex.update(_G[\luastring{#1}], penlight.luakeys.parse(\luastring{#2}))
+% penlight.tablex.update(penlight.tbls[\luastring{#1}], penlight.luakeys.parse(\luastring{#2}))
%}}
+
%
%% todo need a get table function. If blank is passed, the last table referenced is used.
%\NewDocumentCommand{\tblfrkvII}{ m m m }{\luadirect{
% _G[\luastring{#1}] = penlight.tablex.update(penlight.luakeys.parse(\luastring{#2}), luakeys.parse(\luastring{#3}))
%}}
-
%\NewDocumentCommand{\tbldo}{m m O{} }{\luadirect{
% % tex.sprint(tostring(_G[\luastring{#1}][#2]))
% % todo allow one to use pl tablex function here,
@@ -117,3 +167,14 @@
%}}
+
+
+%%%%%%%%5
+
+%\begin{luacode*}
+% function set_dim(name, len)
+% tex.sprint('\\global\\let\\'..name..'\\relax') -- reset length
+% tex.sprint('\\global\\newlength{\\'..name..'}') -- make new len
+% tex.setglue(name, tex.sp(len))
+% end
+%\end{luacode*}
diff --git a/macros/luatex/generic/penlightplus/penlightplus.tex b/macros/luatex/generic/penlightplus/penlightplus.tex
index 50f87fa38b..fec72b8dfd 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.tex
+++ b/macros/luatex/generic/penlightplus/penlightplus.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2023-07-22
+% 2023-08-27
% Copyright (C) 2021-2023 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -85,20 +85,17 @@ require'penlightplus'
+The following global Lua variables are defined:
-
-\subsection*{}
-
-The following global variables are defined:
-
-\llcmd{__SKIP_TEX__} If using the \cmd{penlightplus} package with \cmd{texlua} (good for troubleshooting), set this global before loading \cmd{penlight}\\
+\cmd{__SKIP_TEX__} If using the \cmd{penlightplus} package with \cmd{texlua} (good for troubleshooting), set this global before loading \cmd{penlight}\\
The gloals flags below are taken care of in the package options:\\
-\llcmd{__PL_}\cmd{GLOBALS__} If using package with \cmd{texlua} and you don't want to set some globals (described in next sections), set this global before to \cmd{true} loading \cmd{penlight}\\
+\cmd{__PL_GLOBALS__} If using package with \cmd{texlua} and you don't want to set some globals (described in next sections), set this global before to \cmd{true} loading \cmd{penlight}\\
\cmd{__PL_NO_HYPERREF__} a flag used to change the behaviour of a function, depending on if you don't use the hyperref package\\
+\cmd{__PDFmetadata__} a table used to store PDF meta-data
\subsubsection*{penlight additions}
-Some functionality is added to penlight/lua.
+Some functionality is added to penlight and Lua.
\llcmd{pl.hasval(x)} Python-like boolean testing\\
\llcmd{COMP'xyz'()} Python-like comprehensions:\\\url{https://lunarmodules.github.io/Penlight/libraries/pl.comprehension.html}\\
@@ -116,18 +113,19 @@ Some functionality is added to penlight/lua.
\llcmd{_NumBkts} internal integer for tracking the number of brackets\\
\llcmd{opencmd(cs)} prints \cmd{\cs}\{ and adds to the bracket counters.\\
\\
-\llcmd{_xNoValue,}\cmd{_xTrue,_xFalse}: \cmd{xparse} equivalents for commands\\
+\llcmd{xNoValue,}\cmd{xTrue,xFalse}: \cmd{xparse} equivalents for commands\\
\\
\llcmd{prt(x),prtn(x)} print without or with a newline at end. Tries to help with special characters or numbers printing.\\
\llcmd{prtl(l),prtt(t)} print a literal string, or table\\
\llcmd{wrt(x), wrtn(x)} write to log\\
-\llcmd{help_wrt}\cmd{(s1, s2)} pretty-print something to console. S2 is a flag to help you find.\\
+\llcmd{help_wrt}\cmd{(s1, s2)} pretty-print something to console. S2 is a flag to help you find., alias is \cmd{wrth}\\
\llcmd{prt_array2d(tt)} pretty print a 2d array\\
\\
\llcmd{pkgwarn}\cmd{(pkg, msg1, msg2)} throw a package warning\\
\llcmd{pkgerror}\cmd{(pkg, msg1, msg2, stop)} throw a package error. If stop is true, immediately ceases compile.\\
\\
-\llcmd{defcmd}\cmd{(cs, val)} like \cmd{\gdef}\\
+\llcmd{defcmd}\cmd{(cs, val)} like \cmd{\gdef}, but note that no special chars allowed in \cmd{cs}(eg. \cmd{@})\\
+\llcmd{defmacro}\cmd{(cs, val)} like \cmd{\gdef}, allows special characters, but any tokens in val must be pre-defined (this uses \cmd{token.set_macro} internally)\\
\llcmd{newcmd}\cmd{(cs, val)} like \cmd{\newcommand}\\
\llcmd{renewcmd}\cmd{(cs, val)} like \cmd{\renewcommand}\\
\llcmd{prvcmd}\cmd{(cs, val)} like \cmd{\providecommand}\\
@@ -139,9 +137,11 @@ is true, it will overwrite an existing command (using \cmd{defcmd}), otherwise,
\subsubsection*{global extras}
-If \cmd{extrasglobals} is used and NOT \cmd{extras}, many additional globals are set for shortcuts\\
-All \cmd{pl.tex} modules are made global.\\
-\cmd{pl.hasval}, \cmd{pl.COMP}, \cmd{pl.utils.kpairs}, \cmd{pl.utils.npairs} become globals with the function name.\\
+If the package option \cmd{globals} is used, many additional globals are set for easier scripting.
+All \cmd{pl.tex} functions, and variables, \cmd{pl.hasval}, \cmd{pl.COMP}, \cmd{pl.utils.kpairs}, \cmd{pl.utils.npairs} become globals.
+\cmd{pl.tablex} is aliased as \cmd{TX} (which also includes all native Lua table functions), and
+\cmd{pl.array2d} is aliased as \cmd{A2d}.
+\\
@@ -150,7 +150,14 @@ All \cmd{pl.tex} modules are made global.\\
based on the letters that \cmd{spec} is set to (or \cmd{def} if nothing is provided)
This is useful if you want to write a command with flexibility on argument expansion.
The user can specify \cmd{n}, \cmd{o}, \cmd{t}, and \cmd{f} (case insensitve) if they want
-no, once, twice, or full expansion.
+no, once, twice, or full expansion. For example, we can control the expansion of args 2 and 3 with arg 1:
+
+\begin{verbatim}
+ \NewDocumentCommand{\splitToComma}{ O{nn} m m }{%
+ \MakeluastringCommands[nn]{#1}%
+ \luadirect{penlight.tex.split2comma(\plluastringA{#2},\plluastringB{#3})}%
+}
+\end{verbatim}
% BELOW IS FOR TROUBLESHOOTING ABOVE
%\def\NOTexp{\ONEexp}
@@ -171,14 +178,57 @@ no, once, twice, or full expansion.
%\luastringExpTest{ n o t f }{\NOTexp}
+\subsection*{Lua boolean expressions for LaTeX conditionals}
+
+\cmd{\ifluax{<Lua expr>}{<do if true>}[<do if false>]} and\\ \cmd{\ifluax{<Lua expr>}{<do if true>}[<do if false>]} for truthy (uses \cmd{penlight.hasval})
+
+\begin{LTXexample}
+\ifluax{3^3 == 27}{3*3*3 is 27}[WRONG]\\
+\ifluax{abc123 == nil}{Var is nil}[WRONG]\\
+\ifluax{not true}{tRuE}[fAlSe]\\
+\ifluax{''}{TRUE}[FALSE]\\
+\ifluaxv{''}{true}[false]\\
+\end{LTXexample}
+
+\subsection*{Creating and using Lua tables in LaTeX}
+\cmd{penlightplus} provides a Lua-table interface. Tables are stored in the
+\cmd{penlight.tbls} table.
+
+
+\cmd{\newtbl{t}} declares a new table with name \cmd{t}\\
+\cmd{\chgtbl{t}} changes the 'recent' table\\
+\cmd{\tblfrkv{t}{key-val string}[luakeys opts]} new table from key-vals, used \cmd{luakeys} \\
+\cmd{\settbl{i}{v}} sets a value of the table/index \cmd{i} to \cmd{v}\\
+\cmd{\gettbl{i}} gets the value and \cmd{tex.sprint()}'s it\\
+\cmd{\deftbl{i}{d}} pushes the value to a \cmd{cs} named \cmd{d}\\
+\cmd{\gdeftbl{i}{d}} pushes the value to a global\\
+\cmd{\iftbl{i}{t}[f]} runs code \cmd{t} if the item is true else \cmd{f}\\
+\cmd{\iftblv{i}{t}[f]} runs code \cmd{t} if the item is truthy else \cmd{f}\\
+
+There are 3 ways to use the index (placeholder \cmd{{i}} above).
+\cmd{t.key} where \cmd{t} is the table name and \cmd{key} is a string key,
+\cmd{t/int} where \cmd{int} is a numeric indexer (ie uses \cmd{t[int]}),
+or simply \cmd{ind} without the table name, where the assumed table is the last one that was created or changed to, (pure-numbers are not treated as strings in this case).
+
+\begin{LTXexample}
+\tblfrkv{my}{a,b,c,first=john,last=smith}[defaults={x=0,1=one,n=false,y=yes}, naked_as_value=true]
+
+\settbl{my/4}{d}\gettbl{my/4}\\
+\settbl{5}{e}\gettbl{5}\\
+\gettbl{my.x}\\
+\iftbl{n}{t}[f]\\
+\iftblv{n}{t}[f]\\
+\iftbl{my.y}{t}[f]\\
+\iftblv{y}{t}[f]\\
+\end{LTXexample}
-\subsection*{Split stuff}
+
+\subsection*{Splitting strings}
Splitting text (or a cmd) into oxford comma format via:
\cmd{\splitToComma[expansion level]{text}{text to split on}}:
\begin{LTXexample}
-
-\splitToComma{ j doe }{\and}-\\
-\splitToComma{ j doe \and s else }{\and}-\\
-\splitToComma{ j doe \and s else \and a per }{\and}-\\
@@ -188,13 +238,14 @@ Splitting text (or a cmd) into oxford comma format via:
\splitToComma[o]{\authors}{\and}
\end{LTXexample}
-The expansion level is up to two characters, \cmd{n|o|t|f}, to control teh expasion of each argument.
+The expansion level is up to two characters, \cmd{n|o|t|f}, to control the expansion of each argument.
+You can do a similar string split but to \cmd{\item} instead of commas with \cmd{\splitToItems}
\begin{LTXexample}
-spliToItems:
\begin{itemize}
\splitToItems{kale\and john}{\and}
\splitToItems{kale -john -someone else}{-}
+ \splitToItems{1,2,3,4}{,}
\end{itemize}
\end{LTXexample}
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index c3f4fcfab0..ab6c5220fa 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/68093
+depend revision/68100
name 00texlive.image
category TLCore
-revision 68087
+revision 68099
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -3254,7 +3254,6 @@ runfiles size=13070
tlpkg/tlpsrc/parrun.tlpsrc
tlpkg/tlpsrc/parsa.tlpsrc
tlpkg/tlpsrc/parselines.tlpsrc
- tlpkg/tlpsrc/parsianfonts.tlpsrc
tlpkg/tlpsrc/parskip.tlpsrc
tlpkg/tlpsrc/pas-cours.tlpsrc
tlpkg/tlpsrc/pas-crosswords.tlpsrc
@@ -69847,7 +69846,7 @@ containerchecksum 4f0311e8e9c8dc9fcba918f175049279d4ed2342224af9807de04e44262f4a
name collection-langarabic
category Collection
-revision 68054
+revision 68099
shortdesc Arabic
relocated 1
longdesc Support for Arabic and Persian.
@@ -69872,7 +69871,6 @@ depend kurdishlipsum
depend lshort-persian
depend luabidi
depend na-box
-depend parsianfonts
depend persian-bib
depend quran
depend sexam
@@ -69882,8 +69880,8 @@ depend tram
depend xepersian
depend xepersian-hm
depend xindy-persian
-containersize 468
-containerchecksum dbda8ea4ce6b8a14e1f97e32dce9afaea40b9132bbfe49c24182b0c56e3ad847ff2cd12eab03c2a6f3fcc6550954404c95bcc8bf425e41174628f2fafbea2832
+containersize 456
+containerchecksum bd5bc048adca6c9a7594908881e45ca29c01d0e0f05e55fc5f370aa1dff3f245ab1395d05c5d68d99cea045509a44515e8448a2379f02b0985086011ea9854d3
name collection-langchinese
category Collection
@@ -177642,20 +177640,21 @@ catalogue-version 1.0.1
name latex4wp
category Package
-revision 35999
+revision 68096
shortdesc A LaTeX guide specifically designed for word processor users
relocated 1
longdesc "LaTeX for Word Processor Users" is a guide that helps
longdesc converting knowledge and techniques of word processing into the
longdesc LaTeX typesetting environment. It aims at helping WP users use
longdesc LaTeX instead.
-containersize 504
-containerchecksum 64ce122ac380c4f2c06d3afe2cf1aa2af2dd6d29fc451ced9df05206c97dc0343e6867d770d9b4e1c0425ea41ef89cb2d0a003d43cddf82ea19a7b33d383b7ca
-doccontainersize 785532
-doccontainerchecksum e8f22deb966044c87e7414d828ae3d8bfabfda40bdebb4b26b712692020c785ad8688595cced27ea5993c8b8f34f7fbe0cc86180d2ff8bfcc44cc009fd52e936
-docfiles size=240
+containersize 476
+containerchecksum 0111de0987679fe40b14a4ad0dfa098fef36acf15e099f932e75121c26bdadc2e493c77b1d5b4208e662f2e5893955cfad639bf018d48aa5e7a7c77e5d009c6c
+doccontainersize 1290324
+doccontainerchecksum eae8e0b5e4fe28311508b09b4b8b03ac31469e32772427c5d016bf43d48e458fea06f9dcf9ed696e1eaaea7bfd6b0ef4661d8b84c2bdedec44ca35c782079bf9
+docfiles size=413
RELOC/doc/latex/latex4wp/HOW-TO-TYPESET
- RELOC/doc/latex/latex4wp/README details="Readme"
+ RELOC/doc/latex/latex4wp/README.md details="Readme"
+ RELOC/doc/latex/latex4wp/TODO.md
RELOC/doc/latex/latex4wp/dat2tex.sh
RELOC/doc/latex/latex4wp/exa.sty
RELOC/doc/latex/latex4wp/gnuplot.gp
@@ -177665,13 +177664,15 @@ docfiles size=240
RELOC/doc/latex/latex4wp/latex4wp.pdf details="The document itself"
RELOC/doc/latex/latex4wp/latex4wp.tex
RELOC/doc/latex/latex4wp/midifile.mid
- RELOC/doc/latex/latex4wp/tbx.eps
+ RELOC/doc/latex/latex4wp/pandoc_template.md
+ RELOC/doc/latex/latex4wp/pandoc_template.pdf
+ RELOC/doc/latex/latex4wp/piper.jpg
RELOC/doc/latex/latex4wp/tbx.pdf
RELOC/doc/latex/latex4wp/tbx.tex
catalogue-ctan /info/latex4wp
catalogue-license fdl
catalogue-topics documentation fac-survey
-catalogue-version 1.0.10
+catalogue-version 1.2
name latex4wp-it
category Package
@@ -198245,7 +198246,7 @@ catalogue-topics luatex table
name lwarp
category Package
-revision 66259
+revision 68097
shortdesc Converts LaTeX to HTML
longdesc This package converts LaTeX to HTML by using LaTeX to process
longdesc the user's document and generate HTML tags. External utility
@@ -198265,16 +198266,16 @@ longdesc utilities, and Perl. Detailed installation instructions are
longdesc included for each of the major operating systems and TeX
longdesc distributions. A quick-start tutorial is provided.
depend lwarp.ARCH
-containersize 212948
-containerchecksum 2001aeb9c76b008488cededa297bfd8802cc2f4961c6f1432ed4118de204d9e8a0769b3b540ac922e786e2e6723964cdf2975f1e59ed7006029062129996e4f4
-doccontainersize 3256024
-doccontainerchecksum 704b3f89973e2fa158252e48f3804b4de5f45bd1ae03954d0eb0f598a4c1c05d6378229dec906caffaf5dfd1ea57dbd53afc77d3d1abd96c3d1be7f146b7ebfc
-docfiles size=832
+containersize 213032
+containerchecksum 5afbb2670d6d76bb8d4c4ff8195a325d96843fdf13a487bff25bc3d695c0e66eb6cc1c0a18e97fb127ab6c1c0b8a51bf3ff11a6ff1b2af13c7e43172f1d1835a
+doccontainersize 3260656
+doccontainerchecksum 25d2ec11f348cde9327e7cbce408031b897b02c48edd8cdde3f7d2d8389dc3e6a5eb3187a32c12083b6a494464469fc9ebb46a377a07eaddb8952708a3496de5
+docfiles size=834
texmf-dist/doc/latex/lwarp/README.txt details="Readme"
texmf-dist/doc/latex/lwarp/lwarp.pdf details="Package documentation"
texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt details="Quick-start tutorial"
-srccontainersize 460028
-srccontainerchecksum 96623669ff327e7548a4c08534f454b49d9b70f038d37bd726d8c15be8beb63b1443b43219dedcad15a9415304533489c86871c1fa7cddb6878f93c7c1ca8cb5
+srccontainersize 460392
+srccontainerchecksum d5dc371b9f2afb68dc3faee82961e272eceeb8f67eff080365257125f8140e46f415f04ebb99ce7902fe29184879391908f1e32ee3ee06a7275235d71ee6a4e7
srcfiles size=706
texmf-dist/source/latex/lwarp/lwarp.dtx
texmf-dist/source/latex/lwarp/lwarp.ins
@@ -198877,7 +198878,7 @@ catalogue-contact-home https://bdtechconcepts.com/
catalogue-ctan /macros/latex/contrib/lwarp
catalogue-license lppl1.3
catalogue-topics cvt-html
-catalogue-version 0.911
+catalogue-version 0.912
name lwarp.aarch64-linux
category Package
@@ -243540,72 +243541,6 @@ catalogue-license lppl1.3
catalogue-topics decoration macro-supp
catalogue-version 1.4
-name parsianfonts
-category Package
-revision 68054
-shortdesc Some of the most used fonts among Persian language users
-relocated 1
-longdesc This package contains seven Persian font families: Parsian:
-longdesc This font is based on the "Nazli" font, which itself is a free
-longdesc edition of the popular Nazanin font. Parsian Sans: A font based
-longdesc on the "Roya" font. The name of this font was chosen because of
-longdesc its similar structure to "Nazanin" font and its modern
-longdesc appearance. Parsian Mono: One of the best monospace fonts you
-longdesc can find that supports Persian language! Unlike other fonts
-longdesc that are based on other fonts, this one is designed by the
-longdesc author himself. Parsian TeX: Persian language support for TeX's
-longdesc default font, "Persian Modern". Parsian TeX Classic: One of the
-longdesc oldest Persian fonts used for typesetting scientific and
-longdesc academic texts is the default font of TeX-e-Parsi software.
-longdesc Some publishing houses still type their books with this font.
-longdesc The Parsian TeX Classic font allows you to use this old font in
-longdesc the latest versions of TeX and LaTeX. Parsian Title: Based on
-longdesc "Titr", which is a title font and is widely used in Persian
-longdesc printed texts. Parsian Naskh: The "Naskh" script provides good
-longdesc readability when used for official Persian texts. This font is
-longdesc based on "Yas" which is one of the most used fonts among
-longdesc TeX/LaTeX users.
-containersize 1670108
-containerchecksum 6f41ab918f7a76603a2de53c121f9412f49a96374b455afce80e0c9048a6d34e5afc9b197e5fed9f1eff70192d8dd054f3986057ee13dcec21e7d08a628f6c64
-doccontainersize 338904
-doccontainerchecksum afeb0ef100646c232ab9dc365419f5ecc0b5d67353f4edd543ebcaea38d29711e8dc6249b0104e3ac6ced7c3dd57824bfb53768302f0ebaab467617965742801
-docfiles size=87
- RELOC/doc/fonts/parsianfonts/README.md details="Readme"
- RELOC/doc/fonts/parsianfonts/parsianfonts-samples.pdf details="Package documentation"
- RELOC/doc/fonts/parsianfonts/parsianfonts-samples.tex
-runfiles size=1599
- RELOC/fonts/truetype/public/parsianfonts/Parsian-Bold.ttf
- RELOC/fonts/truetype/public/parsianfonts/Parsian-BoldItalic.ttf
- RELOC/fonts/truetype/public/parsianfonts/Parsian-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/Parsian-Regular.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianMono-Bold.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianMono-BoldItalic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianMono-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianMono-Regular.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianNaskh-Bold.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianNaskh-BoldItalic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianNaskh-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianNaskh-Regular.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianSans-Bold.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianSans-BoldItalic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianSans-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianSans-Regular.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeX-Bold.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeX-BoldItalic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeX-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeX-Regular.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeXClassic-Bold.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeXClassic-BoldItalic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeXClassic-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTeXClassic-Regular.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTitle-Italic.ttf
- RELOC/fonts/truetype/public/parsianfonts/ParsianTitle-Regular.ttf
-catalogue-contact-repository https://github.com/SajadKazemi
-catalogue-ctan /fonts/parsianfonts
-catalogue-license lppl1.3c
-catalogue-topics font font-ttf persian
-catalogue-version 1.0.1
-
name parskip
category Package
revision 58358
@@ -247290,20 +247225,20 @@ catalogue-topics luatex
name penlightplus
category Package
-revision 68037
+revision 68098
shortdesc Additions to the Penlight Lua libraries
relocated 1
longdesc This package extends the penlight package by adding useful
longdesc functions for interfacing with LaTeX.
-containersize 9000
-containerchecksum d78c76be795db1d62cd8c234d0cf162939eee37c5cf2780b2f2da6f9316dd41d8ec8e5af6e3fe9e4eec26efae26d40ca8c73e4e94eef7ddc9ef5a495ff0dedb0
-doccontainersize 51684
-doccontainerchecksum 9eedb43f6be165b704423a9273b51a7f5f67f07667adf6cf93decfe48cb129eb71c4331a2aa69a87b71687b96015382ea15aed6b77c74c531eec27f6a1984b29
-docfiles size=18
+containersize 9648
+containerchecksum ef7083ca734fc70e8c0ea6276fb814cc5bd4bda5c9584cef801c8bd9c769db68a28345caff53c595a5f281c7ff34833c0e9f564326fe176a18c010f4e1b0151c
+doccontainersize 59104
+doccontainerchecksum 42745741fa5152065b21d9aa4ed54f7afea8b23b6b5125fb44a496189dda5455304eb62df1296fe74cbe3485234e3eeef744d3d51c291bc79a4084f7dba397d5
+docfiles size=20
RELOC/doc/luatex/penlightplus/README.md details="Readme"
RELOC/doc/luatex/penlightplus/penlightplus.pdf details="Package documentation"
RELOC/doc/luatex/penlightplus/penlightplus.tex
-runfiles size=8
+runfiles size=9
RELOC/tex/luatex/penlightplus/penlightplus.lua
RELOC/tex/luatex/penlightplus/penlightplus.sty
catalogue-contact-repository https://github.com/kalekje/penlight
@@ -314768,7 +314703,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 68081
+revision 68095
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -314776,10 +314711,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114112
-containerchecksum 5c4ec13647b027e72d88e6a283394c12b43e3654100b29acfe239d3c5e9d2a741e2e7bb91994d4acdfc224cbe3dd066a4d8490be27d5156fc5c4ee6bde2a4713
-doccontainersize 428836
-doccontainerchecksum 5d1ab96ee013cc651b882365febfd0a23b605e736e636c589e4b51fa4e29cb53b50ef820209ac1dfbef2df94f51891acfbaf19fd25fd3f86d81e91e1ada0b24b
+containersize 114116
+containerchecksum 03c871c6577ec4cfc29392eb9a00e66ea21acb50e28e954c387d4c2c70084a510bd5e43861aa5705ce2631ed40a1e4464fe84da7948c06b973676eb1f0298fed
+doccontainersize 428856
+doccontainerchecksum d86e984a5ee9ab027a0d7e94b5e720f41d659b3d0a98e25a6269f5b73fd1680afde2e87abc2d45972eb02faad8af61daf2c2704f90005d9faa5133a1530360cf
docfiles size=549
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 2d0d16937f..d927ec2a76 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-057ea2df770e70619e4a39fb716464c5 texlive.tlpdb
+36c28c08adea97a9b161f655d844e86f texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 1f141648f1..15b1f30cfe 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-dfcae9b605cffb5668bc05163aa214e2344c9ab30a36557409bdf0ee2843366a12c6a26f1a93753440c867d74726436d47a1e56047f38eeb2cf0adfa832abed5 texlive.tlpdb
+0c70f048ee0cde7647a847dace68c2df67d076ddc9a36ca4d0a530fc9ec0b6e0bd8881a246c2ee02e5123c31b99b50e44c5980f20a0bf786f8b2cc12d79e369b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index ed026ed767..e510f5f354 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmTr4CsACgkQTOGHfhlD
-jHBR2AgAqXh0KKbUHeTheYlqq90ebgloxJxNRKrgthIlOmQTkyVAMT6yXTB2ODgj
-RHB3Ca4jMiglJuo1pCk8MrQGtjpc8j06HsHQlHOteTTsUd0aOoXWKkH/6Vg3kNK3
-3Otwe2dugyJlzAj7UirPe4fk8digZneVda7uXX5nRA4EKmOpNNqzfnpS1ogwNjwO
-Yv4QjtUumOBO3vzgM3lIg9s7Tzx4it5ljEVTN6YVvJevudIac3joHqUibvNyaIYC
-cKoMhn8UoEZkQGzUDofF60mJ5emS7Tjj2sw1Kct42uCWNCvdvH1q7/Ii0oRUzhOa
-Q7DEchRkftb0vKDB1f+QSk91vYet8w==
-=tGXm
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmTtMV8ACgkQTOGHfhlD
+jHDWQQgAuR5pQh//JUGMlBm9QM9b+CtfDaZ26BG4oV9Dd/pzk5feE0S2Ul7CnJy6
+2Qiomla29/ElIzUc36flvryKBBNL5w4b7vOeX/zOuZ97VXdps6SVX8J3u1qVB1Vy
+xrwZggpAnQL8ezP6waWdIXQvaOpuenAaUbBw4bcYeSPZSoATt1dEF7PMn4czlH9T
+zPbkVEmTca9SnsJ/Gv+K0JRF/+ys5XHL2j0rxlvTzSe3LqjYtIYBmuaBqiUMnCd8
+4nIIIeb+25CLlGt1W0s2rlFkn9bUjxnU9Dd9w2RWXOFawSkJipYhht/15RVHVU5j
+G489bZlMh1fpYmbzyJprz6ffdrQdmw==
+=H0pb
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index de85a25ee8..ea81060d93 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 4587e6e64a..e4041baf00 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-08-28-02-02
+2023-08-29-02-02