diff options
100 files changed, 4789 insertions, 5934 deletions
diff --git a/FILES.byname b/FILES.byname index 900a8178f6..80c0dd0568 100644 --- a/FILES.byname +++ b/FILES.byname @@ -2059,12 +2059,12 @@ 2023/09/07 | 1710 | biblio/citation-style-language/README.md 2023/09/07 | 12878 | biblio/citation-style-language/vancouver.csl 2023/09/07 | 4530946 | biblio/citation-style-language.zip -2023/09/11 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2023/09/12 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2023/09/11 | 2812237 | biblio/ctan-bibdata/ctan.bib -2023/09/11 | 3708064 | biblio/ctan-bibdata/ctan.pdf +2023/09/12 | 2812617 | biblio/ctan-bibdata/ctan.bib +2023/09/12 | 3710556 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2023/09/11 | 4108910 | biblio/ctan-bibdata.zip +2023/09/12 | 4112325 | 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 @@ -5424,7 +5424,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/09/11 | 203817 | FILES.last07days +2023/09/12 | 200423 | 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 @@ -54813,19 +54813,20 @@ 2019/05/16 | 7717 | fonts/inconsolata/enc/i4-t1-7.enc 2016/02/17 | 9446 | fonts/inconsolata/enc/i4-ts1.enc 2016/12/29 | 13670 | fonts/inconsolata/map/zi4.map -2023/09/09 | 1899896 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Bold.ttf -2023/09/09 | 10205 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx -2023/09/09 | 2227 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.ins -2023/09/09 | 1846340 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Bold.ttf -2023/09/09 | 1845752 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Regular.ttf -2023/09/09 | 67426 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf -2023/09/09 | 1899844 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Bold.ttf -2023/09/09 | 1899256 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Regular.ttf -2023/09/09 | 1899308 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Regular.ttf -2023/09/09 | 19106 | fonts/inconsolata-nerd-font/LICENSE.txt -2023/09/09 | 4394 | fonts/inconsolata-nerd-font/OFL.txt -2023/09/09 | 626 | fonts/inconsolata-nerd-font/README.md -2023/09/10 | 6225684 | fonts/inconsolata-nerd-font.zip +2023/09/12 | 766 | fonts/inconsolata-nerd-font/CHANGELOG.md +2023/09/12 | 1899896 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Bold.ttf +2023/09/12 | 12715 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx +2023/09/12 | 2227 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.ins +2023/09/12 | 1846340 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Bold.ttf +2023/09/12 | 1845752 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Regular.ttf +2023/09/12 | 71967 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf +2023/09/12 | 1899844 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Bold.ttf +2023/09/12 | 1899256 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Regular.ttf +2023/09/12 | 1899308 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Regular.ttf +2023/09/12 | 19106 | fonts/inconsolata-nerd-font/LICENSE.txt +2023/09/12 | 4394 | fonts/inconsolata-nerd-font/OFL.txt +2023/09/12 | 614 | fonts/inconsolata-nerd-font/README.md +2023/09/12 | 6231088 | fonts/inconsolata-nerd-font.zip 2019/05/16 | 28464 | fonts/inconsolata/opentype/InconsolataN-Bold.otf 2019/05/16 | 26540 | fonts/inconsolata/opentype/InconsolataN-Regular.otf 2019/05/15 | 47780 | fonts/inconsolata/opentype/Inconsolatazi4-Bold.otf @@ -194685,7 +194686,7 @@ 2023/02/26 | 450556 | install/macros/latex/contrib/hrefhide.tds.zip 2016/11/20 | 951051 | install/macros/latex/contrib/hustthesis.tds.zip 2023/07/08 | 4476081 | install/macros/latex/contrib/hyperref.tds.zip -2023/02/20 | 1370380 | install/macros/latex/contrib/hyperxmp.tds.zip +2023/09/11 | 1365373 | install/macros/latex/contrib/hyperxmp.tds.zip 2009/09/02 | 167274 | install/macros/latex/contrib/hyphenat.tds.zip 2009/04/05 | 198256 | install/macros/latex/contrib/IEEEconf.tds.zip 2018/04/16 | 41342 | install/macros/latex/contrib/ifmtarg.tds.zip @@ -194798,7 +194799,6 @@ 2017/08/05 | 166767 | install/macros/latex/contrib/screenplay-pkg.tds.zip 2012/09/24 | 130991 | install/macros/latex/contrib/scrjrnl.tds.zip 2021/11/10 | 657160 | install/macros/latex/contrib/sdaps.tds.zip -2023/07/04 | 2531068 | install/macros/latex/contrib/se2thesis.tds.zip 2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip 2023/09/01 | 1594167 | install/macros/latex/contrib/siunitx.tds.zip 2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip @@ -194866,7 +194866,7 @@ 2023/06/11 | 7340085 | install/macros/latex-dev/required/latex-tools-dev.tds.zip 2023/06/19 | 40739586 | install/macros/latex/latex-base.tds.zip 2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip -2023/08/29 | 3435473 | install/macros/latex/required/babel-base.tds.zip +2023/09/12 | 3484668 | install/macros/latex/required/babel-base.tds.zip 2023/06/08 | 2795661 | install/macros/latex/required/latex-amsmath.tds.zip 2022/06/14 | 242625 | install/macros/latex/required/latexbug.tds.zip 2022/06/16 | 1352652 | install/macros/latex/required/latex-cyrillic.tds.zip @@ -197423,47 +197423,44 @@ 2009/04/27 | 15010 | language/greek/BibTeX.zip 2009/07/23 | 139204 | language/greek/doc/usage.pdf 2009/07/23 | 9828 | language/greek/doc/usage.tex -2023/08/16 | 381960 | language/greek/greek-fontenc/alphabeta-doc.pdf -2023/08/16 | 17719 | language/greek/greek-fontenc/alphabeta-doc.tex -2023/08/16 | 80652 | language/greek/greek-fontenc/alphabeta-doc-tu.pdf -2023/03/08 | 10384 | language/greek/greek-fontenc/alphabeta-lgr.def -2023/03/08 | 30445 | language/greek/greek-fontenc/alphabeta-lgr.def.html -2023/03/08 | 15838 | language/greek/greek-fontenc/alphabeta.sty -2023/03/08 | 42360 | language/greek/greek-fontenc/alphabeta.sty.html -2023/03/08 | 15413 | language/greek/greek-fontenc/alphabeta-tuenc.def -2023/03/08 | 36175 | language/greek/greek-fontenc/alphabeta-tuenc.def.html -2023/08/16 | 77527 | language/greek/greek-fontenc/char-list-luatex.pdf -2023/08/16 | 441004 | language/greek/greek-fontenc/char-list-pdftex.pdf -2023/08/16 | 67042 | language/greek/greek-fontenc/char-list.tex -2023/08/16 | 72052 | language/greek/greek-fontenc/char-list-xetex.pdf -2023/02/24 | 625 | language/greek/greek-fontenc/greek-euenc.def -2023/08/16 | 26784 | language/greek/greek-fontenc/greek-fontenc.def -2023/08/16 | 57839 | language/greek/greek-fontenc/greek-fontenc.def.html -2023/08/16 | 68305 | language/greek/greek-fontenc/greek-fontenc-doc.html -2023/08/16 | 24355 | language/greek/greek-fontenc/greek-fontenc-doc.rst -2023/08/16 | 413532 | language/greek/greek-fontenc/hyperref-with-greek.pdf -2023/02/25 | 12825 | language/greek/greek-fontenc/hyperref-with-greek.tex -2023/02/25 | 4574 | language/greek/greek-fontenc/lgr2licr.lua -2023/02/25 | 25793 | language/greek/greek-fontenc/lgr2licr.lua.html -2023/08/16 | 43829 | language/greek/greek-fontenc/lgrenc.def -2023/08/16 | 79729 | language/greek/greek-fontenc/lgrenc.def.html -2023/08/16 | 24426 | language/greek/greek-fontenc/puenc-greek.def -2023/08/16 | 47880 | language/greek/greek-fontenc/puenc-greek.def.html -2023/08/16 | 1742 | language/greek/greek-fontenc/README.md -2023/08/16 | 367125 | language/greek/greek-fontenc/test-lgrenc.pdf -2023/08/16 | 19334 | language/greek/greek-fontenc/test-lgrenc.tex -2023/08/16 | 414914 | language/greek/greek-fontenc/test-licr-input.pdf -2023/08/16 | 20305 | language/greek/greek-fontenc/test-licr-input.tex -2023/08/16 | 86286 | language/greek/greek-fontenc/test-tuenc-greek.pdf -2023/08/16 | 35354 | language/greek/greek-fontenc/test-tuenc-greek.tex -2023/08/16 | 521862 | language/greek/greek-fontenc/textalpha-doc.pdf -2023/08/16 | 19549 | language/greek/greek-fontenc/textalpha-doc.tex -2023/08/16 | 86618 | language/greek/greek-fontenc/textalpha-doc-tu.pdf -2023/08/16 | 23997 | language/greek/greek-fontenc/textalpha.sty -2023/08/16 | 54827 | language/greek/greek-fontenc/textalpha.sty.html -2023/08/16 | 53768 | language/greek/greek-fontenc/tuenc-greek.def -2023/08/16 | 89416 | language/greek/greek-fontenc/tuenc-greek.def.html -2023/08/17 | 3135514 | language/greek/greek-fontenc.zip +2023/09/12 | 535896 | language/greek/greek-fontenc/alphabeta-doc.pdf +2023/09/12 | 39414 | language/greek/greek-fontenc/alphabeta-doc.tex +2023/09/12 | 180054 | language/greek/greek-fontenc/alphabeta-doc-tu.pdf +2023/09/12 | 35873 | language/greek/greek-fontenc/alphabeta.sty +2023/09/12 | 65227 | language/greek/greek-fontenc/alphabeta.sty.html +2023/09/12 | 360224 | language/greek/greek-fontenc/char-list-alphabeta.pdf +2023/09/12 | 57292 | language/greek/greek-fontenc/char-list-alphabeta-tu.pdf +2023/09/12 | 484229 | language/greek/greek-fontenc/char-list.pdf +2023/09/12 | 70228 | language/greek/greek-fontenc/char-list.tex +2023/09/12 | 84828 | language/greek/greek-fontenc/char-list-tu.pdf +2023/09/12 | 625 | language/greek/greek-fontenc/greek-euenc.def +2023/09/12 | 26758 | language/greek/greek-fontenc/greek-fontenc.def +2023/09/12 | 57770 | language/greek/greek-fontenc/greek-fontenc.def.html +2023/09/12 | 69152 | language/greek/greek-fontenc/greek-fontenc-doc.html +2023/09/12 | 25173 | language/greek/greek-fontenc/greek-fontenc-doc.rst +2023/09/12 | 407929 | language/greek/greek-fontenc/hyperref-with-greek.pdf +2023/09/12 | 18342 | language/greek/greek-fontenc/hyperref-with-greek.tex +2023/09/12 | 4574 | language/greek/greek-fontenc/lgr2licr.lua +2023/09/12 | 25952 | language/greek/greek-fontenc/lgr2licr.lua.html +2023/09/12 | 44064 | language/greek/greek-fontenc/lgrenc.def +2023/09/12 | 80082 | language/greek/greek-fontenc/lgrenc.def.html +2023/09/12 | 26371 | language/greek/greek-fontenc/puenc-greek.def +2023/09/12 | 50169 | language/greek/greek-fontenc/puenc-greek.def.html +2023/09/12 | 1742 | language/greek/greek-fontenc/README.md +2023/09/12 | 365264 | language/greek/greek-fontenc/test-lgrenc.pdf +2023/09/12 | 19358 | language/greek/greek-fontenc/test-lgrenc.tex +2023/09/12 | 117921 | language/greek/greek-fontenc/test-luainputenc.pdf +2023/09/12 | 20219 | language/greek/greek-fontenc/test-luainputenc.tex +2023/09/12 | 77573 | language/greek/greek-fontenc/test-tuenc-greek.pdf +2023/09/12 | 21365 | language/greek/greek-fontenc/test-tuenc-greek.tex +2023/09/12 | 468693 | language/greek/greek-fontenc/textalpha-doc.pdf +2023/09/12 | 20436 | language/greek/greek-fontenc/textalpha-doc.tex +2023/09/12 | 85257 | language/greek/greek-fontenc/textalpha-doc-tu.pdf +2023/09/12 | 23977 | language/greek/greek-fontenc/textalpha.sty +2023/09/12 | 54879 | language/greek/greek-fontenc/textalpha.sty.html +2023/09/12 | 40477 | language/greek/greek-fontenc/tuenc-greek.def +2023/09/12 | 75790 | language/greek/greek-fontenc/tuenc-greek.def.html +2023/09/12 | 3390764 | language/greek/greek-fontenc.zip 2023/03/21 | 33465 | language/greek/greek-inputenc/greek-inputenc-doc.html 2023/03/21 | 8040 | language/greek/greek-inputenc/greek-inputenc-doc.rst 2023/03/19 | 141 | language/greek/greek-inputenc/greek-utf8-minimal.tex @@ -225898,18 +225895,18 @@ 1997/08/24 | 1034 | macros/latex/contrib/hyper/scontrib/harvard.hyp 1997/08/24 | 297 | macros/latex/contrib/hyper/scontrib/README 1997/08/24 | 1381 | macros/latex/contrib/hyper/TODO -2023/02/20 | 70830 | macros/latex/contrib/hyperxmp/einstein1.pdf -2023/02/20 | 77679 | macros/latex/contrib/hyperxmp/einstein2.pdf -2023/02/20 | 11330 | macros/latex/contrib/hyperxmp/einstein-xmp.tex -2023/02/20 | 3466 | macros/latex/contrib/hyperxmp/gglo-hyxmp.ist -2023/02/20 | 3442 | macros/latex/contrib/hyperxmp/gind-hyxmp.ist -2023/02/20 | 979 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.1 -2023/02/20 | 7815 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.pl -2023/02/20 | 272780 | macros/latex/contrib/hyperxmp/hyperxmp.dtx -2023/02/20 | 2034 | macros/latex/contrib/hyperxmp/hyperxmp.ins -2023/02/20 | 1272020 | macros/latex/contrib/hyperxmp/hyperxmp.pdf -2023/02/20 | 2294 | macros/latex/contrib/hyperxmp/README -2023/02/20 | 1353987 | macros/latex/contrib/hyperxmp.zip +2023/09/11 | 70830 | macros/latex/contrib/hyperxmp/einstein1.pdf +2023/09/11 | 77679 | macros/latex/contrib/hyperxmp/einstein2.pdf +2023/09/11 | 11330 | macros/latex/contrib/hyperxmp/einstein-xmp.tex +2023/09/11 | 3466 | macros/latex/contrib/hyperxmp/gglo-hyxmp.ist +2023/09/11 | 3442 | macros/latex/contrib/hyperxmp/gind-hyxmp.ist +2023/09/11 | 979 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.1 +2023/09/11 | 7815 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.pl +2023/09/11 | 273661 | macros/latex/contrib/hyperxmp/hyperxmp.dtx +2023/09/11 | 2034 | macros/latex/contrib/hyperxmp/hyperxmp.ins +2023/09/11 | 1289541 | macros/latex/contrib/hyperxmp/hyperxmp.pdf +2023/09/11 | 2294 | macros/latex/contrib/hyperxmp/README +2023/09/12 | 1349079 | macros/latex/contrib/hyperxmp.zip 2010/03/06 | 321222 | macros/latex/contrib/hyper.zip 2009/09/02 | 35493 | macros/latex/contrib/hyphenat/hyphenat.dtx 2009/09/02 | 3153 | macros/latex/contrib/hyphenat/hyphenat.ins @@ -230171,12 +230168,13 @@ 2013/11/15 | 5545 | macros/latex/contrib/minorrevision/minorrevision.tex 2013/11/15 | 5248 | macros/latex/contrib/minorrevision/README 2013/11/15 | 167187 | macros/latex/contrib/minorrevision.zip -2022/12/12 | 820 | macros/latex/contrib/minted/Makefile -2022/12/12 | 204145 | macros/latex/contrib/minted/minted.dtx -2022/12/12 | 972 | macros/latex/contrib/minted/minted.ins -2022/12/12 | 859601 | macros/latex/contrib/minted/minted.pdf -2022/12/12 | 712 | macros/latex/contrib/minted/README -2022/12/12 | 888058 | macros/latex/contrib/minted.zip +2023/09/12 | 126 | macros/latex/contrib/minted/DEPENDS.txt +2023/09/12 | 820 | macros/latex/contrib/minted/Makefile +2023/09/12 | 209755 | macros/latex/contrib/minted/minted.dtx +2023/09/12 | 972 | macros/latex/contrib/minted/minted.ins +2023/09/12 | 871382 | macros/latex/contrib/minted/minted.pdf +2023/09/12 | 712 | macros/latex/contrib/minted/README +2023/09/12 | 901388 | macros/latex/contrib/minted.zip 2016/09/30 | 91628 | macros/latex/contrib/minutes/minutes.dtx 2016/09/30 | 3730 | macros/latex/contrib/minutes/minutes.ins 2016/09/30 | 378874 | macros/latex/contrib/minutes/minutes.pdf @@ -230251,31 +230249,30 @@ 2023/08/29 | 159311 | macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf 2023/08/29 | 157329 | macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf 2023/08/29 | 161163 | macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf -2023/09/04 | 41414 | macros/latex/contrib/mitthesis/mitthesis.cls -2023/09/04 | 92436 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf -2023/09/04 | 29410 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex -2023/09/04 | 514295 | macros/latex/contrib/mitthesis/MIT-Thesis.pdf +2023/09/11 | 41499 | macros/latex/contrib/mitthesis/mitthesis.cls +2023/09/12 | 92640 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf +2023/09/12 | 29406 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex +2023/09/12 | 491030 | macros/latex/contrib/mitthesis/MIT-Thesis.pdf 2023/08/27 | 1161 | macros/latex/contrib/mitthesis/MIT-thesis-template/abstract.tex 2023/06/17 | 253 | macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex 2023/07/05 | 1889 | macros/latex/contrib/mitthesis/MIT-thesis-template/appendixa.tex 2023/06/13 | 1759 | macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex 2023/09/04 | 7973 | macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex -2023/07/03 | 654 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex -2023/08/30 | 990 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex -2023/07/03 | 2857 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex -2023/07/03 | 2332 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex -2023/07/03 | 5639 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex -2023/07/03 | 1054 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex -2023/07/03 | 986 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex -2023/07/03 | 2318 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex -2023/07/03 | 2980 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex -2023/07/03 | 2378 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex +2023/09/12 | 734 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex +2023/09/12 | 1118 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex +2023/09/12 | 2987 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex +2023/09/12 | 2395 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex +2023/09/12 | 5683 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex +2023/09/12 | 1139 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex +2023/09/12 | 1042 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex +2023/09/12 | 2377 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex +2023/09/12 | 3120 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex +2023/09/12 | 2496 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex 2023/08/26 | 11511 | macros/latex/contrib/mitthesis/MIT-thesis-template/mitthesis-sample.bib -2023/09/04 | 11682 | macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex -2023/09/04 | 2771 | macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex -2023/09/04 | 3725770 | macros/latex/contrib/mitthesis/mitthesis.zip -2023/09/04 | 5778 | macros/latex/contrib/mitthesis/README.md -2023/09/04 | 7354904 | macros/latex/contrib/mitthesis.zip +2023/09/12 | 11691 | macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex +2023/09/12 | 2827 | macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex +2023/09/12 | 5934 | macros/latex/contrib/mitthesis/README.md +2023/09/12 | 3625667 | macros/latex/contrib/mitthesis.zip 2016/12/14 | 23727 | macros/latex/contrib/mkstmpdad/aeb_dad.dtx 2016/08/21 | 2010 | macros/latex/contrib/mkstmpdad/aeb_dad.ins 2016/12/14 | 740061 | macros/latex/contrib/mkstmpdad/doc/mkstmpdad_man.pdf @@ -236700,21 +236697,21 @@ 2016/05/28 | 3273 | macros/latex/contrib/sduthesis/sduthesis.ins 2016/05/28 | 377608 | macros/latex/contrib/sduthesis/sduthesis.pdf 2016/06/13 | 3196829 | macros/latex/contrib/sduthesis.zip -2023/07/04 | 4637 | macros/latex/contrib/se2thesis/CHANGELOG.md -2023/07/04 | 19106 | macros/latex/contrib/se2thesis/LICENSE.txt -2023/07/04 | 863 | macros/latex/contrib/se2thesis/README.md -2023/07/04 | 12816 | macros/latex/contrib/se2thesis/se2colors.dtx -2023/07/04 | 10127 | macros/latex/contrib/se2thesis/se2fonts.dtx -2023/07/04 | 26952 | macros/latex/contrib/se2thesis/se2packages.dtx -2023/07/04 | 57451 | macros/latex/contrib/se2thesis/se2thesis.dtx -2023/07/04 | 3015 | macros/latex/contrib/se2thesis/se2thesis.ins -2023/07/04 | 1101766 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf -2023/07/04 | 1543 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex -2023/07/04 | 383798 | macros/latex/contrib/se2thesis/se2thesis.pdf -2023/07/04 | 6503 | macros/latex/contrib/se2thesis/se2thesis.tex -2023/07/04 | 1102663 | macros/latex/contrib/se2thesis/test.pdf -2023/07/04 | 1894 | macros/latex/contrib/se2thesis/test.tex -2023/07/04 | 2514246 | macros/latex/contrib/se2thesis.zip +2023/09/12 | 4998 | macros/latex/contrib/se2thesis/CHANGELOG.md +2023/09/12 | 19106 | macros/latex/contrib/se2thesis/LICENSE.txt +2023/09/12 | 1152 | macros/latex/contrib/se2thesis/README.md +2023/09/12 | 12815 | macros/latex/contrib/se2thesis/se2colors.dtx +2023/09/12 | 9528 | macros/latex/contrib/se2thesis/se2fonts.dtx +2023/09/12 | 26921 | macros/latex/contrib/se2thesis/se2packages.dtx +2023/09/12 | 57160 | macros/latex/contrib/se2thesis/se2thesis.dtx +2023/09/12 | 3015 | macros/latex/contrib/se2thesis/se2thesis.ins +2023/09/12 | 1101796 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf +2023/09/12 | 1543 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex +2023/09/12 | 328749 | macros/latex/contrib/se2thesis/se2thesis.pdf +2023/09/12 | 6512 | macros/latex/contrib/se2thesis/se2thesis.tex +2023/09/12 | 1102663 | macros/latex/contrib/se2thesis/test.pdf +2023/09/12 | 1894 | macros/latex/contrib/se2thesis/test.tex +2023/09/12 | 2463572 | macros/latex/contrib/se2thesis.zip 2010/10/24 | 2193 | macros/latex/contrib/secdot/secdot.ltx 2010/10/24 | 254804 | macros/latex/contrib/secdot/secdot.pdf 2000/07/17 | 2366 | macros/latex/contrib/secdot/secdot.sty @@ -244732,15 +244729,15 @@ 2023/06/08 | 454559 | macros/latex/required/amsmath/testmath.pdf 2023/06/08 | 82371 | macros/latex/required/amsmath/testmath.tex 2023/06/09 | 2762754 | macros/latex/required/amsmath.zip -2023/08/29 | 632983 | macros/latex/required/babel/base/babel-code.pdf -2023/08/29 | 779167 | macros/latex/required/babel/base/babel.dtx -2023/08/29 | 8905 | macros/latex/required/babel/base/babel.ins -2023/08/29 | 406368 | macros/latex/required/babel/base/babel.pdf -2023/08/29 | 21890 | macros/latex/required/babel/base/bbcompat.dtx -2023/08/29 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx -2023/08/29 | 966919 | macros/latex/required/babel/base/locale.zip -2023/08/29 | 2215 | macros/latex/required/babel/base/README.md -2023/08/29 | 2210881 | macros/latex/required/babel/base.zip +2023/09/12 | 634915 | macros/latex/required/babel/base/babel-code.pdf +2023/09/12 | 780659 | macros/latex/required/babel/base/babel.dtx +2023/09/12 | 8905 | macros/latex/required/babel/base/babel.ins +2023/09/12 | 407370 | macros/latex/required/babel/base/babel.pdf +2023/09/12 | 21890 | macros/latex/required/babel/base/bbcompat.dtx +2023/09/12 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx +2023/09/12 | 988939 | macros/latex/required/babel/base/locale.zip +2023/09/12 | 2289 | macros/latex/required/babel/base/README.md +2023/09/12 | 2236377 | macros/latex/required/babel/base.zip 2022/06/16 | 5612 | macros/latex/required/cyrillic/changes.txt 2022/06/16 | 57710 | macros/latex/required/cyrillic/cyinpenc.dtx 2022/06/16 | 215413 | macros/latex/required/cyrillic/cyinpenc.pdf @@ -284575,14 +284572,14 @@ 2023/04/15 | 40835 | support/pdfcrop/pdfcrop.pl 2023/04/15 | 10601 | support/pdfcrop/README.md 2023/04/16 | 16181 | support/pdfcrop.zip -2023/07/30 | 44039 | support/pdfjam/bin/pdfjam -2023/07/30 | 17992 | support/pdfjam/COPYING -2023/07/30 | 1713 | support/pdfjam/man1/pdfjam.1 -2023/07/30 | 4015 | support/pdfjam/pdfjam.conf -2023/07/30 | 17768 | support/pdfjam/README.md -2023/07/30 | 148380 | support/pdfjam/tests.zip -2023/07/30 | 19 | support/pdfjam/VERSION -2023/07/30 | 178644 | support/pdfjam.zip +2023/09/12 | 44033 | support/pdfjam/bin/pdfjam +2023/09/12 | 17992 | support/pdfjam/COPYING +2023/09/12 | 1713 | support/pdfjam/man1/pdfjam.1 +2023/09/12 | 4015 | support/pdfjam/pdfjam.conf +2023/09/12 | 17768 | support/pdfjam/README.md +2023/09/12 | 148378 | support/pdfjam/tests.zip +2023/09/12 | 19 | support/pdfjam/VERSION +2023/09/12 | 178639 | support/pdfjam.zip 2018/02/12 | 117642 | support/pdflatexpicscale/pdflatexpicscale.pdf 2018/02/12 | 7442 | support/pdflatexpicscale/pdflatexpicscale.pl 2018/02/12 | 13520 | support/pdflatexpicscale/pdflatexpicscale.tex @@ -286307,7 +286304,7 @@ 2021/05/03 | 629 | support/TeX4ht/doc/README 2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex 2021/05/11 | 262 | support/TeX4ht/README -2023/09/08 | 229949 | support/TeX4ht/source/ChangeLog +2023/09/11 | 230268 | support/TeX4ht/source/ChangeLog 2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua 2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex 2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex @@ -286319,7 +286316,7 @@ 2021/05/03 | 1121 | support/TeX4ht/source/README 2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua 2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex -2023/09/01 | 1164745 | support/TeX4ht/source/tex4ht-4ht.tex +2023/09/11 | 1165034 | support/TeX4ht/source/tex4ht-4ht.tex 2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex 2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex 2022/06/05 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex @@ -286368,7 +286365,7 @@ 2021/05/03 | 102444 | support/TeX4ht/source/tex4ht-mathltx.tex 2023/09/08 | 148853 | support/TeX4ht/source/tex4ht-mathml.tex 2021/05/03 | 8860 | support/TeX4ht/source/tex4ht-mathplayer.tex -2023/09/01 | 46498 | support/TeX4ht/source/tex4ht-mkht.tex +2023/09/11 | 46498 | support/TeX4ht/source/tex4ht-mkht.tex 2021/05/03 | 26652 | support/TeX4ht/source/tex4ht-moz.tex 2023/01/25 | 338567 | support/TeX4ht/source/tex4ht-ooffice.tex 2021/05/03 | 11161 | support/TeX4ht/source/tex4ht-ooimpress.tex @@ -291598,8 +291595,8 @@ 2023/03/22 | 29220 | systems/texlive/tlnet/archive/biblatex-ext.r66641.tar.xz 2019/02/28 | 595408 | systems/texlive/tlnet/archive/biblatex-fiwi.doc.r45876.tar.xz 2019/02/28 | 16768 | systems/texlive/tlnet/archive/biblatex-fiwi.r45876.tar.xz -2023/05/26 | 1419940 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.doc.r67214.tar.xz -2023/05/26 | 52768 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.r67214.tar.xz +2023/09/12 | 1426620 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.doc.r68240.tar.xz +2023/09/12 | 53004 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.r68240.tar.xz 2023/03/08 | 173876 | systems/texlive/tlnet/archive/biblatex-german-legal.doc.r66461.tar.xz 2023/03/08 | 6148 | systems/texlive/tlnet/archive/biblatex-german-legal.r66461.tar.xz 2023/04/26 | 1005352 | systems/texlive/tlnet/archive/biblatex-gost.doc.r66935.tar.xz @@ -292698,7 +292695,7 @@ 2023/09/06 | 1692 | systems/texlive/tlnet/archive/collection-mathscience.r68179.tar.xz 2023/05/12 | 564 | systems/texlive/tlnet/archive/collection-metapost.r67071.tar.xz 2023/02/18 | 496 | systems/texlive/tlnet/archive/collection-music.r65862.tar.xz -2023/09/10 | 1604 | systems/texlive/tlnet/archive/collection-pictures.r68219.tar.xz +2023/09/12 | 1612 | systems/texlive/tlnet/archive/collection-pictures.r68239.tar.xz 2023/06/27 | 984 | systems/texlive/tlnet/archive/collection-plaingeneric.r67486.tar.xz 2022/12/27 | 816 | systems/texlive/tlnet/archive/collection-pstricks.r65367.tar.xz 2023/09/10 | 1716 | systems/texlive/tlnet/archive/collection-publishers.r68224.tar.xz @@ -297685,8 +297682,8 @@ 2023/05/04 | 3244724 | systems/texlive/tlnet/archive/luatexja.doc.r67003.tar.xz 2023/05/04 | 193016 | systems/texlive/tlnet/archive/luatexja.r67003.tar.xz 2023/05/04 | 83900 | systems/texlive/tlnet/archive/luatexja.source.r67003.tar.xz -2022/11/02 | 350116 | systems/texlive/tlnet/archive/luatexko.doc.r64893.tar.xz -2022/11/02 | 23448 | systems/texlive/tlnet/archive/luatexko.r64893.tar.xz +2023/09/12 | 350680 | systems/texlive/tlnet/archive/luatexko.doc.r68243.tar.xz +2023/09/12 | 23676 | systems/texlive/tlnet/archive/luatexko.r68243.tar.xz 2023/04/30 | 13712 | systems/texlive/tlnet/archive/luatex.r66967.tar.xz 2019/02/28 | 317312 | systems/texlive/tlnet/archive/luatextra.doc.r20747.tar.xz 2019/02/28 | 1056 | systems/texlive/tlnet/archive/luatextra.r20747.tar.xz @@ -297954,9 +297951,9 @@ 2019/02/28 | 293968 | systems/texlive/tlnet/archive/mathfixs.doc.r49547.tar.xz 2019/02/28 | 2796 | systems/texlive/tlnet/archive/mathfixs.r49547.tar.xz 2019/02/28 | 11900 | systems/texlive/tlnet/archive/mathfixs.source.r49547.tar.xz -2023/08/23 | 876764 | systems/texlive/tlnet/archive/mathfont.doc.r68018.tar.xz -2023/08/23 | 21460 | systems/texlive/tlnet/archive/mathfont.r68018.tar.xz -2023/08/23 | 62576 | systems/texlive/tlnet/archive/mathfont.source.r68018.tar.xz +2023/09/12 | 885332 | systems/texlive/tlnet/archive/mathfont.doc.r68241.tar.xz +2023/09/12 | 21876 | systems/texlive/tlnet/archive/mathfont.r68241.tar.xz +2023/09/12 | 64260 | systems/texlive/tlnet/archive/mathfont.source.r68241.tar.xz 2019/02/28 | 1650056 | systems/texlive/tlnet/archive/math-into-latex-4.doc.r44131.tar.xz 2019/02/28 | 548 | systems/texlive/tlnet/archive/math-into-latex-4.r44131.tar.xz 2020/03/12 | 2436 | systems/texlive/tlnet/archive/mathlig.r54244.tar.xz @@ -298790,9 +298787,9 @@ 2019/02/28 | 342164 | systems/texlive/tlnet/archive/newlfm.doc.r15878.tar.xz 2019/02/28 | 20156 | systems/texlive/tlnet/archive/newlfm.r15878.tar.xz 2019/02/28 | 48828 | systems/texlive/tlnet/archive/newlfm.source.r15878.tar.xz -2022/09/17 | 63844 | systems/texlive/tlnet/archive/newpax.doc.r64415.tar.xz -2022/09/17 | 8836 | systems/texlive/tlnet/archive/newpax.r64415.tar.xz -2022/09/17 | 9040 | systems/texlive/tlnet/archive/newpax.source.r64415.tar.xz +2023/09/12 | 70276 | systems/texlive/tlnet/archive/newpax.doc.r68242.tar.xz +2023/09/12 | 9336 | systems/texlive/tlnet/archive/newpax.r68242.tar.xz +2023/09/12 | 10832 | systems/texlive/tlnet/archive/newpax.source.r68242.tar.xz 2023/09/09 | 448828 | systems/texlive/tlnet/archive/newpx.doc.r68213.tar.xz 2023/09/09 | 4750980 | systems/texlive/tlnet/archive/newpx.r68213.tar.xz 2023/09/09 | 392 | systems/texlive/tlnet/archive/newpx.source.r68213.tar.xz @@ -298877,9 +298874,9 @@ 2020/10/07 | 6340 | systems/texlive/tlnet/archive/nnext.source.r56575.tar.xz 2019/02/28 | 1104 | systems/texlive/tlnet/archive/noconflict.doc.r30140.tar.xz 2019/02/28 | 1688 | systems/texlive/tlnet/archive/noconflict.r30140.tar.xz -2022/12/18 | 273576 | systems/texlive/tlnet/archive/nodetree.doc.r65298.tar.xz -2022/12/18 | 12880 | systems/texlive/tlnet/archive/nodetree.r65298.tar.xz -2022/12/18 | 3844 | systems/texlive/tlnet/archive/nodetree.source.r65298.tar.xz +2023/09/12 | 293324 | systems/texlive/tlnet/archive/nodetree.doc.r68244.tar.xz +2023/09/12 | 17784 | systems/texlive/tlnet/archive/nodetree.r68244.tar.xz +2023/09/12 | 3384 | systems/texlive/tlnet/archive/nodetree.source.r68244.tar.xz 2021/05/15 | 399864 | systems/texlive/tlnet/archive/noindentafter.doc.r59195.tar.xz 2021/05/15 | 1384 | systems/texlive/tlnet/archive/noindentafter.r59195.tar.xz 2021/05/15 | 4696 | systems/texlive/tlnet/archive/noindentafter.source.r59195.tar.xz @@ -299231,6 +299228,8 @@ 2019/02/28 | 437088 | systems/texlive/tlnet/archive/papertex.doc.r19230.tar.xz 2019/02/28 | 5644 | systems/texlive/tlnet/archive/papertex.r19230.tar.xz 2019/02/28 | 14804 | systems/texlive/tlnet/archive/papertex.source.r19230.tar.xz +2023/09/12 | 536116 | systems/texlive/tlnet/archive/papiergurvan.doc.r68239.tar.xz +2023/09/12 | 3288 | systems/texlive/tlnet/archive/papiergurvan.r68239.tar.xz 2019/02/28 | 2088752 | systems/texlive/tlnet/archive/paracol.doc.r49560.tar.xz 2019/02/28 | 18856 | systems/texlive/tlnet/archive/paracol.r49560.tar.xz 2019/02/28 | 211364 | systems/texlive/tlnet/archive/paracol.source.r49560.tar.xz @@ -299862,8 +299861,8 @@ 2019/02/28 | 4972 | systems/texlive/tlnet/archive/play.source.r15878.tar.xz 2021/03/23 | 25344 | systems/texlive/tlnet/archive/pl.doc.r58661.tar.xz 2023/09/09 | 82356 | systems/texlive/tlnet/archive/plex.doc.r68207.tar.xz -2023/09/10 | 558932 | systems/texlive/tlnet/archive/plex-otf.doc.r68218.tar.xz -2023/09/10 | 3532 | systems/texlive/tlnet/archive/plex-otf.r68218.tar.xz +2023/09/12 | 559048 | systems/texlive/tlnet/archive/plex-otf.doc.r68238.tar.xz +2023/09/12 | 3532 | systems/texlive/tlnet/archive/plex-otf.r68238.tar.xz 2023/09/09 | 10719780 | systems/texlive/tlnet/archive/plex.r68207.tar.xz 2020/10/10 | 219292 | systems/texlive/tlnet/archive/plimsoll.doc.r56605.tar.xz 2020/10/10 | 4692 | systems/texlive/tlnet/archive/plimsoll.r56605.tar.xz @@ -301957,13 +301956,13 @@ 2023/08/16 | 108860 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r67940.tar.xz 2023/08/16 | 87320 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r67940.tar.xz 2023/08/16 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r67940.tar.xz -2023/09/08 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r68203.tar.xz +2023/09/12 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r68245.tar.xz 2023/08/16 | 93764 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r67940.tar.xz 2023/08/16 | 91236 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r67940.tar.xz 2023/08/16 | 76184 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r67940.tar.xz 2023/08/16 | 83936 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r67940.tar.xz -2023/09/08 | 1103256 | systems/texlive/tlnet/archive/tex4ht.r68203.tar.xz -2023/09/08 | 1453780 | systems/texlive/tlnet/archive/tex4ht.source.r68203.tar.xz +2023/09/12 | 1103176 | systems/texlive/tlnet/archive/tex4ht.r68245.tar.xz +2023/09/12 | 1453472 | systems/texlive/tlnet/archive/tex4ht.source.r68245.tar.xz 2023/08/16 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r67940.tar.xz 2023/08/16 | 62092 | systems/texlive/tlnet/archive/tex4ht.windows.r67940.tar.xz 2023/08/16 | 57992 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r67940.tar.xz @@ -302224,7 +302223,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/09/11 | 429404 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68227.tar.xz +2023/09/12 | 429464 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68236.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 @@ -302246,7 +302245,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/09/11 | 114128 | systems/texlive/tlnet/archive/texlive-scripts.r68227.tar.xz +2023/09/12 | 114076 | systems/texlive/tlnet/archive/texlive-scripts.r68236.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 @@ -304124,16 +304123,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/09/11 | 5743038 | systems/texlive/tlnet/install-tl-unx.tar.gz -2023/09/11 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2023/09/11 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2023/09/12 | 5740216 | systems/texlive/tlnet/install-tl-unx.tar.gz +2023/09/12 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2023/09/12 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat -2023/09/11 | 21038343 | systems/texlive/tlnet/install-tl-windows.exe -2023/09/11 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2023/09/11 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2023/09/11 | 26028706 | systems/texlive/tlnet/install-tl.zip -2023/09/11 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2023/09/11 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2023/09/12 | 21038096 | systems/texlive/tlnet/install-tl-windows.exe +2023/09/12 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2023/09/12 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2023/09/12 | 26028654 | systems/texlive/tlnet/install-tl.zip +2023/09/12 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2023/09/12 | 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 @@ -304143,7 +304142,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/09/10 | 7362 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2023/09/11 | 7106 | 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 @@ -304185,12 +304184,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/09/11 | 18253160 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2023/09/11 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2023/09/12 | 18254944 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2023/09/12 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2023/09/11 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2023/09/11 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2023/09/11 | 2474352 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2023/09/12 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2023/09/12 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2023/09/12 | 2474272 | 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 @@ -314932,7 +314931,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/09/12 | 186 | timestamp +2023/09/13 | 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 Binary files differindex a7c0c74b0b..28132c2e26 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index d114a5cb59..3b66e79782 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,4 +1,156 @@ +2023/09/12 | 988939 | macros/latex/required/babel/base/locale.zip +2023/09/12 | 972 | macros/latex/contrib/minted/minted.ins +2023/09/12 | 9528 | macros/latex/contrib/se2thesis/se2fonts.dtx +2023/09/12 | 9336 | systems/texlive/tlnet/archive/newpax.r68242.tar.xz +2023/09/12 | 92640 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf +2023/09/12 | 901388 | macros/latex/contrib/minted.zip +2023/09/12 | 8905 | macros/latex/required/babel/base/babel.ins +2023/09/12 | 885332 | systems/texlive/tlnet/archive/mathfont.doc.r68241.tar.xz +2023/09/12 | 871382 | macros/latex/contrib/minted/minted.pdf +2023/09/12 | 85257 | language/greek/greek-fontenc/textalpha-doc-tu.pdf +2023/09/12 | 84828 | language/greek/greek-fontenc/char-list-tu.pdf +2023/09/12 | 820 | macros/latex/contrib/minted/Makefile +2023/09/12 | 80082 | language/greek/greek-fontenc/lgrenc.def.html +2023/09/12 | 780659 | macros/latex/required/babel/base/babel.dtx +2023/09/12 | 77573 | language/greek/greek-fontenc/test-tuenc-greek.pdf +2023/09/12 | 766 | fonts/inconsolata-nerd-font/CHANGELOG.md +2023/09/12 | 75790 | language/greek/greek-fontenc/tuenc-greek.def.html +2023/09/12 | 734 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex +2023/09/12 | 71967 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf +2023/09/12 | 712 | macros/latex/contrib/minted/README +2023/09/12 | 70276 | systems/texlive/tlnet/archive/newpax.doc.r68242.tar.xz +2023/09/12 | 70228 | language/greek/greek-fontenc/char-list.tex +2023/09/12 | 69152 | language/greek/greek-fontenc/greek-fontenc-doc.html +2023/09/12 | 65227 | language/greek/greek-fontenc/alphabeta.sty.html +2023/09/12 | 6512 | macros/latex/contrib/se2thesis/se2thesis.tex +2023/09/12 | 64260 | systems/texlive/tlnet/archive/mathfont.source.r68241.tar.xz +2023/09/12 | 634915 | macros/latex/required/babel/base/babel-code.pdf +2023/09/12 | 625 | language/greek/greek-fontenc/greek-euenc.def +2023/09/12 | 6231088 | fonts/inconsolata-nerd-font.zip +2023/09/12 | 614 | fonts/inconsolata-nerd-font/README.md +2023/09/12 | 5934 | macros/latex/contrib/mitthesis/README.md +2023/09/12 | 57770 | language/greek/greek-fontenc/greek-fontenc.def.html +2023/09/12 | 5740216 | systems/texlive/tlnet/install-tl-unx.tar.gz +2023/09/12 | 57292 | language/greek/greek-fontenc/char-list-alphabeta-tu.pdf +2023/09/12 | 57160 | macros/latex/contrib/se2thesis/se2thesis.dtx +2023/09/12 | 5683 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex +2023/09/12 | 559048 | systems/texlive/tlnet/archive/plex-otf.doc.r68238.tar.xz +2023/09/12 | 54879 | language/greek/greek-fontenc/textalpha.sty.html +2023/09/12 | 536116 | systems/texlive/tlnet/archive/papiergurvan.doc.r68239.tar.xz +2023/09/12 | 535896 | language/greek/greek-fontenc/alphabeta-doc.pdf +2023/09/12 | 53004 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.r68240.tar.xz +2023/09/12 | 50169 | language/greek/greek-fontenc/puenc-greek.def.html +2023/09/12 | 4998 | macros/latex/contrib/se2thesis/CHANGELOG.md +2023/09/12 | 491030 | macros/latex/contrib/mitthesis/MIT-Thesis.pdf +2023/09/12 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2023/09/12 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2023/09/12 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2023/09/12 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2023/09/12 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2023/09/12 | 484229 | language/greek/greek-fontenc/char-list.pdf +2023/09/12 | 468693 | language/greek/greek-fontenc/textalpha-doc.pdf +2023/09/12 | 4574 | language/greek/greek-fontenc/lgr2licr.lua +2023/09/12 | 44064 | language/greek/greek-fontenc/lgrenc.def +2023/09/12 | 44033 | support/pdfjam/bin/pdfjam +2023/09/12 | 4394 | fonts/inconsolata-nerd-font/OFL.txt +2023/09/12 | 429464 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68236.tar.xz +2023/09/12 | 4112325 | biblio/ctan-bibdata.zip +2023/09/12 | 407929 | language/greek/greek-fontenc/hyperref-with-greek.pdf +2023/09/12 | 407370 | macros/latex/required/babel/base/babel.pdf +2023/09/12 | 40477 | language/greek/greek-fontenc/tuenc-greek.def +2023/09/12 | 4015 | support/pdfjam/pdfjam.conf +2023/09/12 | 39414 | language/greek/greek-fontenc/alphabeta-doc.tex +2023/09/12 | 3710556 | biblio/ctan-bibdata/ctan.pdf +2023/09/12 | 365264 | language/greek/greek-fontenc/test-lgrenc.pdf +2023/09/12 | 3625667 | macros/latex/contrib/mitthesis.zip +2023/09/12 | 360224 | language/greek/greek-fontenc/char-list-alphabeta.pdf +2023/09/12 | 35873 | language/greek/greek-fontenc/alphabeta.sty +2023/09/12 | 3532 | systems/texlive/tlnet/archive/plex-otf.r68238.tar.xz +2023/09/12 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx +2023/09/12 | 350680 | systems/texlive/tlnet/archive/luatexko.doc.r68243.tar.xz +2023/09/12 | 3484668 | install/macros/latex/required/babel-base.tds.zip +2023/09/12 | 3390764 | language/greek/greek-fontenc.zip +2023/09/12 | 3384 | systems/texlive/tlnet/archive/nodetree.source.r68244.tar.xz +2023/09/12 | 3288 | systems/texlive/tlnet/archive/papiergurvan.r68239.tar.xz +2023/09/12 | 328749 | macros/latex/contrib/se2thesis/se2thesis.pdf +2023/09/12 | 3120 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex +2023/09/12 | 3015 | macros/latex/contrib/se2thesis/se2thesis.ins +2023/09/12 | 2987 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex +2023/09/12 | 29406 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex +2023/09/12 | 293324 | systems/texlive/tlnet/archive/nodetree.doc.r68244.tar.xz +2023/09/12 | 2827 | macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex +2023/09/12 | 2812617 | biblio/ctan-bibdata/ctan.bib +2023/09/12 | 26921 | macros/latex/contrib/se2thesis/se2packages.dtx +2023/09/12 | 26758 | language/greek/greek-fontenc/greek-fontenc.def +2023/09/12 | 26371 | language/greek/greek-fontenc/puenc-greek.def +2023/09/12 | 26028654 | systems/texlive/tlnet/install-tl.zip +2023/09/12 | 25952 | language/greek/greek-fontenc/lgr2licr.lua.html +2023/09/12 | 25173 | language/greek/greek-fontenc/greek-fontenc-doc.rst +2023/09/12 | 2496 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex +2023/09/12 | 2474272 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2023/09/12 | 2463572 | macros/latex/contrib/se2thesis.zip +2023/09/12 | 23977 | language/greek/greek-fontenc/textalpha.sty +2023/09/12 | 2395 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex +2023/09/12 | 2377 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex +2023/09/12 | 23676 | systems/texlive/tlnet/archive/luatexko.r68243.tar.xz +2023/09/12 | 2289 | macros/latex/required/babel/base/README.md +2023/09/12 | 2236377 | macros/latex/required/babel/base.zip +2023/09/12 | 2227 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.ins +2023/09/12 | 21890 | macros/latex/required/babel/base/bbcompat.dtx +2023/09/12 | 21876 | systems/texlive/tlnet/archive/mathfont.r68241.tar.xz +2023/09/12 | 21365 | language/greek/greek-fontenc/test-tuenc-greek.tex +2023/09/12 | 21038096 | systems/texlive/tlnet/install-tl-windows.exe +2023/09/12 | 209755 | macros/latex/contrib/minted/minted.dtx +2023/09/12 | 20436 | language/greek/greek-fontenc/textalpha-doc.tex +2023/09/12 | 20219 | language/greek/greek-fontenc/test-luainputenc.tex +2023/09/12 | 19 | support/pdfjam/VERSION +2023/09/12 | 19358 | language/greek/greek-fontenc/test-lgrenc.tex +2023/09/12 | 19106 | macros/latex/contrib/se2thesis/LICENSE.txt +2023/09/12 | 19106 | fonts/inconsolata-nerd-font/LICENSE.txt +2023/09/12 | 1899896 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Bold.ttf +2023/09/12 | 1899844 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Bold.ttf +2023/09/12 | 1899308 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Regular.ttf +2023/09/12 | 1899256 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Regular.ttf +2023/09/12 | 1894 | macros/latex/contrib/se2thesis/test.tex +2023/09/12 | 1846340 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Bold.ttf +2023/09/12 | 1845752 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Regular.ttf +2023/09/12 | 18342 | language/greek/greek-fontenc/hyperref-with-greek.tex +2023/09/12 | 18254944 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2023/09/12 | 180054 | language/greek/greek-fontenc/alphabeta-doc-tu.pdf +2023/09/12 | 17992 | support/pdfjam/COPYING +2023/09/12 | 178639 | support/pdfjam.zip +2023/09/12 | 17784 | systems/texlive/tlnet/archive/nodetree.r68244.tar.xz +2023/09/12 | 17768 | support/pdfjam/README.md +2023/09/12 | 1742 | language/greek/greek-fontenc/README.md +2023/09/12 | 1713 | support/pdfjam/man1/pdfjam.1 +2023/09/12 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2023/09/12 | 1612 | systems/texlive/tlnet/archive/collection-pictures.r68239.tar.xz +2023/09/12 | 1543 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex +2023/09/12 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2023/09/12 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2023/09/12 | 148378 | support/pdfjam/tests.zip +2023/09/12 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2023/09/12 | 1453472 | systems/texlive/tlnet/archive/tex4ht.source.r68245.tar.xz +2023/09/12 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2023/09/12 | 1426620 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.doc.r68240.tar.xz +2023/09/12 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r68245.tar.xz +2023/09/12 | 1349079 | macros/latex/contrib/hyperxmp.zip +2023/09/12 | 12815 | macros/latex/contrib/se2thesis/se2colors.dtx +2023/09/12 | 12715 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx +2023/09/12 | 126 | macros/latex/contrib/minted/DEPENDS.txt +2023/09/12 | 117921 | language/greek/greek-fontenc/test-luainputenc.pdf +2023/09/12 | 11691 | macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex +2023/09/12 | 1152 | macros/latex/contrib/se2thesis/README.md +2023/09/12 | 114076 | systems/texlive/tlnet/archive/texlive-scripts.r68236.tar.xz +2023/09/12 | 1139 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex +2023/09/12 | 1118 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex +2023/09/12 | 1103176 | systems/texlive/tlnet/archive/tex4ht.r68245.tar.xz +2023/09/12 | 1102663 | macros/latex/contrib/se2thesis/test.pdf +2023/09/12 | 1101796 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf +2023/09/12 | 10832 | systems/texlive/tlnet/archive/newpax.source.r68242.tar.xz +2023/09/12 | 1042 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex 2023/09/11 | 988 | systems/texlive/tlnet/archive/collection-binextra.r68232.tar.xz +2023/09/11 | 979 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.1 2023/09/11 | 967104 | macros/latex/contrib/mathfont.zip 2023/09/11 | 96703 | macros/latex/contrib/spreadtab/spreadtab-en.tex 2023/09/11 | 9502 | macros/luatex/generic/luatexko/ChangeLog @@ -8,44 +160,42 @@ 2023/09/11 | 855 | macros/latex/contrib/newpax/README.md 2023/09/11 | 84682 | macros/latex/contrib/mathfont/mathfont_example_kelvinch.pdf 2023/09/11 | 81041 | macros/latex/contrib/newpax/doc-use-newpax.pdf +2023/09/11 | 7815 | macros/latex/contrib/hyperxmp/hyperxmp-add-bytecount.pl +2023/09/11 | 77679 | macros/latex/contrib/hyperxmp/einstein2.pdf 2023/09/11 | 76030 | fonts/khatalmaqala/sample-of-khatalmaqala.pdf 2023/09/11 | 75748 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md 2023/09/11 | 73858 | macros/luatex/generic/luatexko/luatexko.lua 2023/09/11 | 731873 | macros/latex/contrib/spreadtab.zip 2023/09/11 | 72808 | systems/texlive/tlnet/archive/inconsolata-nerd-font.doc.r68231.tar.xz +2023/09/11 | 7106 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2023/09/11 | 70830 | macros/latex/contrib/hyperxmp/einstein1.pdf 2023/09/11 | 6444 | macros/luatex/generic/luatexko/luatexko-normalize.lua 2023/09/11 | 587 | graphics/pgf/contrib/papiergurvan/README.md -2023/09/11 | 5743038 | systems/texlive/tlnet/install-tl-unx.tar.gz 2023/09/11 | 551699 | graphics/pgf/contrib/papiergurvan.zip 2023/09/11 | 54396 | macros/latex/contrib/mathfont/mathfont_example_roboto.pdf 2023/09/11 | 5407 | macros/latex/contrib/mathfont/README.txt 2023/09/11 | 5348 | fonts/khatalmaqala/OFL.txt 2023/09/11 | 51361 | macros/latex/contrib/mathfont/mathfont_example_cormorant.pdf -2023/09/11 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2023/09/11 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2023/09/11 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2023/09/11 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2023/09/11 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/09/11 | 481263 | graphics/pgf/contrib/papiergurvan/doc/PapierGurvan-doc-fr.pdf 2023/09/11 | 47469 | macros/latex/contrib/mathfont/mathfont_example_typey.pdf +2023/09/11 | 46498 | support/TeX4ht/source/tex4ht-mkht.tex 2023/09/11 | 462 | macros/latex/contrib/photobook/DEPENDS.txt 2023/09/11 | 45968 | macros/latex/contrib/newpax/newpax.dtx 2023/09/11 | 44968 | macros/latex/contrib/newpax/doc-use-pax.pdf -2023/09/11 | 429404 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68227.tar.xz 2023/09/11 | 42807 | macros/latex/contrib/newpax/doc-input1.pdf 2023/09/11 | 42518 | macros/latex/contrib/newpax/doc-input2.pdf 2023/09/11 | 4172 | macros/latex/contrib/photobook/scripts/cls2tex.sh 2023/09/11 | 416064 | fonts/khatalmaqala.zip -2023/09/11 | 4108910 | biblio/ctan-bibdata.zip +2023/09/11 | 41499 | macros/latex/contrib/mitthesis/mitthesis.cls 2023/09/11 | 4000 | systems/texlive/tlnet/archive/inconsolata-nerd-font.source.r68231.tar.xz 2023/09/11 | 3783 | macros/luatex/generic/luatexko/luatexko-uhc2utf8.lua 2023/09/11 | 377794 | macros/luatex/generic/luatexko.zip 2023/09/11 | 377615 | macros/latex/contrib/mathfont/mathfont_code.pdf 2023/09/11 | 3720 | macros/luatex/generic/luatexko/README -2023/09/11 | 3708064 | biblio/ctan-bibdata/ctan.pdf 2023/09/11 | 3664 | systems/texlive/tlnet/archive/defoldfonts.source.r68234.tar.xz 2023/09/11 | 35829 | macros/luatex/generic/luatexko/luatexko-doc.tex 2023/09/11 | 352 | systems/texlive/tlnet/archive/runtexshebang.x86_64-darwinlegacy.r68232.tar.xz +2023/09/11 | 3466 | macros/latex/contrib/hyperxmp/gglo-hyxmp.ist 2023/09/11 | 346204 | macros/latex/contrib/spreadtab/spreadtab-fr.pdf 2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.x86_64-solaris.r68232.tar.xz 2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.x86_64-linux.r68232.tar.xz @@ -58,6 +208,7 @@ 2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.amd64-netbsd.r68232.tar.xz 2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.amd64-freebsd.r68232.tar.xz 2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.aarch64-linux.r68232.tar.xz +2023/09/11 | 3442 | macros/latex/contrib/hyperxmp/gind-hyxmp.ist 2023/09/11 | 340 | systems/texlive/tlnet/archive/runtexshebang.i386-solaris.r68232.tar.xz 2023/09/11 | 340 | systems/texlive/tlnet/archive/runtexshebang.i386-linux.r68232.tar.xz 2023/09/11 | 339895 | macros/luatex/generic/luatexko/luatexko-doc.pdf @@ -66,12 +217,10 @@ 2023/09/11 | 327599 | macros/latex/contrib/spreadtab/spreadtab-en.pdf 2023/09/11 | 326006 | macros/latex/contrib/mathfont/mathfont_code.dtx 2023/09/11 | 31240 | graphics/pgf/contrib/papiergurvan/doc/PapierGurvan-BelleAllure-A5.pdf -2023/09/11 | 2812237 | biblio/ctan-bibdata/ctan.bib +2023/09/11 | 273661 | macros/latex/contrib/hyperxmp/hyperxmp.dtx 2023/09/11 | 2611 | graphics/pgf/contrib/papiergurvan/doc/PapierGurvan-BelleAllure-A5.tex -2023/09/11 | 26028706 | systems/texlive/tlnet/install-tl.zip 2023/09/11 | 2563 | macros/latex/contrib/photobook/README.md 2023/09/11 | 2529 | graphics/pgf/contrib/papiergurvan/doc/PapierGurvan-BelleAllure-A4.tex -2023/09/11 | 2474352 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2023/09/11 | 2448 | systems/texlive/tlnet/archive/runtexshebang.doc.r68232.tar.xz 2023/09/11 | 240548 | fonts/khatalmaqala/ttf/khatalmaqala-italic.ttf 2023/09/11 | 236 | macros/latex/contrib/newpax/doc-extract-newpax.tex @@ -79,16 +228,17 @@ 2023/09/11 | 231 | macros/latex/contrib/newpax/doc-extract-pax.tex 2023/09/11 | 2308 | systems/texlive/tlnet/archive/runtexshebang.windows.r68232.tar.xz 2023/09/11 | 230592 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex +2023/09/11 | 230268 | support/TeX4ht/source/ChangeLog +2023/09/11 | 2294 | macros/latex/contrib/hyperxmp/README 2023/09/11 | 2214 | fonts/khatalmaqala/sample-of-khatalmaqala.tex 2023/09/11 | 216131 | macros/latex/contrib/newpax/newpax.pdf 2023/09/11 | 210464 | fonts/khatalmaqala/ttf/khatalmaqala-bolditalic.ttf -2023/09/11 | 21038343 | systems/texlive/tlnet/install-tl-windows.exe +2023/09/11 | 2034 | macros/latex/contrib/hyperxmp/hyperxmp.ins 2023/09/11 | 2016 | systems/texlive/tlnet/archive/collection-fontsextra.r68231.tar.xz 2023/09/11 | 199620 | fonts/khatalmaqala/ttf/khatalmaqala-regular.ttf 2023/09/11 | 198572 | systems/texlive/tlnet/archive/defoldfonts.doc.r68234.tar.xz 2023/09/11 | 196437 | macros/latex/contrib/photobook.zip 2023/09/11 | 1896 | systems/texlive/tlnet/archive/runtexshebang.r68232.tar.xz -2023/09/11 | 18253160 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2023/09/11 | 181157 | macros/latex/contrib/mathfont/mathfont_symbol_list.pdf 2023/09/11 | 17894 | macros/latex/contrib/photobook/scripts/make-spreads.sh 2023/09/11 | 178497 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx @@ -99,23 +249,21 @@ 2023/09/11 | 1727093 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf 2023/09/11 | 169828 | fonts/khatalmaqala/ttf/khatalmaqala-bold.ttf 2023/09/11 | 16853 | macros/latex/contrib/newpax/newpax.tex -2023/09/11 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2023/09/11 | 157745 | macros/latex/contrib/newpax.zip 2023/09/11 | 1573032 | systems/texlive/tlnet/archive/inconsolata-nerd-font.r68231.tar.xz -2023/09/11 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 2023/09/11 | 1534 | fonts/khatalmaqala/README.md -2023/09/11 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 2023/09/11 | 1527 | macros/latex/contrib/photobook/LICENSE -2023/09/11 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2023/09/11 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2023/09/11 | 144969 | macros/latex/contrib/photobook/photobook.pdf 2023/09/11 | 14467 | macros/latex/contrib/photobook/scripts/README.md +2023/09/11 | 1365373 | install/macros/latex/contrib/hyperxmp.tds.zip 2023/09/11 | 1364 | systems/texlive/tlnet/archive/firamath-otf.r68233.tar.xz 2023/09/11 | 13205 | graphics/pgf/contrib/papiergurvan/tex/PapierGurvan.sty +2023/09/11 | 1289541 | macros/latex/contrib/hyperxmp/hyperxmp.pdf 2023/09/11 | 1277 | macros/latex/contrib/spreadtab/README 2023/09/11 | 124252 | systems/texlive/tlnet/archive/firamath-otf.doc.r68233.tar.xz 2023/09/11 | 118518 | macros/latex/contrib/mathfont/mathfont_user_guide.pdf -2023/09/11 | 114128 | systems/texlive/tlnet/archive/texlive-scripts.r68227.tar.xz +2023/09/11 | 1165034 | support/TeX4ht/source/tex4ht-4ht.tex +2023/09/11 | 11330 | macros/latex/contrib/hyperxmp/einstein-xmp.tex 2023/09/11 | 1093 | macros/latex/contrib/newpax/doc-use-newpax.tex 2023/09/11 | 1084 | systems/texlive/tlnet/archive/defoldfonts.r68234.tar.xz 2023/09/11 | 106609 | macros/latex/contrib/spreadtab/spreadtab-fr.tex @@ -183,7 +331,6 @@ 2023/09/10 | 74614 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma 2023/09/10 | 74524 | systems/texlive/tlnet/archive/latexindent.r68225.tar.xz 2023/09/10 | 737654 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma -2023/09/10 | 7362 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2023/09/10 | 73266 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma 2023/09/10 | 7313 | systems/win32/miktex/tm/packages/wrapfig2.tar.lzma 2023/09/10 | 72778 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma @@ -208,7 +355,6 @@ 2023/09/10 | 633825 | systems/win32/miktex/tm/packages/numerica-tables__doc.tar.lzma 2023/09/10 | 63254 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2023/09/10 | 6300 | systems/win32/miktex/tm/packages/exesheet.tar.lzma -2023/09/10 | 6225684 | fonts/inconsolata-nerd-font.zip 2023/09/10 | 608062 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma 2023/09/10 | 60431 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma 2023/09/10 | 601741 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma @@ -223,7 +369,6 @@ 2023/09/10 | 5668 | systems/texlive/tlnet/archive/runcode.r68223.tar.xz 2023/09/10 | 5620 | systems/win32/miktex/tm/packages/penlightplus__source.tar.lzma 2023/09/10 | 55960 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2023/09/10 | 558932 | systems/texlive/tlnet/archive/plex-otf.doc.r68218.tar.xz 2023/09/10 | 5505 | systems/win32/miktex/tm/packages/fitch__source.tar.lzma 2023/09/10 | 54622 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma 2023/09/10 | 544762 | systems/win32/miktex/tm/packages/mitthesis__doc.tar.lzma @@ -280,7 +425,6 @@ 2023/09/10 | 36539 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma 2023/09/10 | 353793 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma 2023/09/10 | 3532 | systems/win32/miktex/tm/packages/marginnote.tar.lzma -2023/09/10 | 3532 | systems/texlive/tlnet/archive/plex-otf.r68218.tar.xz 2023/09/10 | 35262 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma 2023/09/10 | 351375 | systems/win32/miktex/tm/packages/bibcop__doc.tar.lzma 2023/09/10 | 3386 | systems/win32/miktex/tm/packages/fitch.tar.lzma @@ -365,7 +509,6 @@ 2023/09/10 | 1678762 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2023/09/10 | 16325 | systems/win32/miktex/tm/packages/odsfile__source.tar.lzma 2023/09/10 | 16219 | systems/win32/miktex/tm/packages/blopentype.tar.lzma -2023/09/10 | 1604 | systems/texlive/tlnet/archive/collection-pictures.r68219.tar.xz 2023/09/10 | 1589 | systems/win32/miktex/tm/packages/firamath-otf.tar.lzma 2023/09/10 | 157429 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma 2023/09/10 | 1555406 | systems/win32/miktex/tm/packages/stellenbosch-2.tar.lzma @@ -432,12 +575,10 @@ 2023/09/09 | 6898 | support/latexindent/LatexIndent/Environment.pm 2023/09/09 | 6890 | support/latexindent/LatexIndent/Item.pm 2023/09/09 | 68177 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm -2023/09/09 | 67426 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf 2023/09/09 | 6664 | support/latexindent/documentation/contributors.bib 2023/09/09 | 6620 | support/latexindent/LatexIndent/OptionalArgument.pm 2023/09/09 | 6402551 | support/latexindent/bin/macos/latexindent 2023/09/09 | 6391 | support/latexindent/LatexIndent/Else.pm -2023/09/09 | 626 | fonts/inconsolata-nerd-font/README.md 2023/09/09 | 6173320 | support/latexindent/bin/linux/latexindent 2023/09/09 | 5857 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm 2023/09/09 | 58516 | systems/texlive/tlnet/archive/parsinevis.doc.r68214.tar.xz @@ -455,7 +596,6 @@ 2023/09/09 | 44096 | support/latexindent/documentation/logo.png 2023/09/09 | 4404 | support/latexindent/LatexIndent/RoundBrackets.pm 2023/09/09 | 4402 | support/latexindent/documentation/latex-indent.bib -2023/09/09 | 4394 | fonts/inconsolata-nerd-font/OFL.txt 2023/09/09 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm 2023/09/09 | 438372 | support/latexindent/documentation/latexindent.tex 2023/09/09 | 421028 | macros/latex/contrib/runcode.zip @@ -487,20 +627,12 @@ 2023/09/09 | 23266 | support/latexindent/defaultSettings.yaml 2023/09/09 | 2320 | support/latexindent/LatexIndent/Logger.pm 2023/09/09 | 22321 | support/latexindent/LatexIndent/Sentence.pm -2023/09/09 | 2227 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.ins 2023/09/09 | 2196936 | systems/texlive/tlnet/archive/simpleicons.doc.r68208.tar.xz 2023/09/09 | 21900 | systems/texlive/tlnet/archive/pst-3dplot.r68210.tar.xz 2023/09/09 | 20870 | support/latexindent/LatexIndent/Indent.pm 2023/09/09 | 205246 | macros/latex/contrib/profmaquette.zip 2023/09/09 | 2006 | support/latexindent/README -2023/09/09 | 19106 | fonts/inconsolata-nerd-font/LICENSE.txt -2023/09/09 | 1899896 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Bold.ttf -2023/09/09 | 1899844 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Bold.ttf -2023/09/09 | 1899308 | fonts/inconsolata-nerd-font/InconsolataNerdFont-Regular.ttf -2023/09/09 | 1899256 | fonts/inconsolata-nerd-font/InconsolataNerdFontPropo-Regular.ttf 2023/09/09 | 18591 | support/latexindent/LatexIndent/ModifyLineBreaks.pm -2023/09/09 | 1846340 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Bold.ttf -2023/09/09 | 1845752 | fonts/inconsolata-nerd-font/InconsolataNerdFontMono-Regular.ttf 2023/09/09 | 184526 | graphics/pgf/contrib/tkz-bernoulli.zip 2023/09/09 | 182354 | graphics/pgf/contrib/tkz-bernoulli/doc/tkz-bernoulli-doc.pdf 2023/09/09 | 177327 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf @@ -525,7 +657,6 @@ 2023/09/09 | 10648 | support/latexindent/LatexIndent/Command.pm 2023/09/09 | 106197 | macros/latex/contrib/ucph-revy/ucph-revy.dtx 2023/09/09 | 102456 | systems/texlive/tlnet/archive/curriculum-vitae.doc.r68211.tar.xz -2023/09/09 | 10205 | fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx 2023/09/08 | 99268 | fonts/parsinevis/ParsiNevis-Italic.ttf 2023/09/08 | 94352 | macros/latex/contrib/ppt-slides/socrates.jpg 2023/09/08 | 93510 | graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex @@ -602,7 +733,6 @@ 2023/09/08 | 2425 | fonts/simpleicons/enc/simpleiconsfive.enc 2023/09/08 | 236954 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex 2023/09/08 | 231960 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex -2023/09/08 | 229949 | support/TeX4ht/source/ChangeLog 2023/09/08 | 2289 | fonts/simpleicons/enc/simpleiconsoneone.enc 2023/09/08 | 2186472 | fonts/simpleicons/doc/simpleicons.pdf 2023/09/08 | 2031168 | fonts/simpleicons/opentype/SimpleIcons.otf @@ -617,7 +747,6 @@ 2023/09/08 | 1521 | fonts/simpleicons/tex/simpleicons.sty 2023/09/08 | 148853 | support/TeX4ht/source/tex4ht-mathml.tex 2023/09/08 | 14808 | systems/texlive/tlnet/archive/suftesi.r68204.tar.xz -2023/09/08 | 1453780 | systems/texlive/tlnet/archive/tex4ht.source.r68203.tar.xz 2023/09/08 | 1449 | macros/latex/contrib/runcode/README 2023/09/08 | 1420 | macros/latex/contrib/ppt-slides/ppt-schemes/ppt-light.tex 2023/09/08 | 1420 | macros/latex/contrib/ppt-slides/ppt-schemes/ppt-light-mono.tex @@ -629,7 +758,6 @@ 2023/09/08 | 139390 | graphics/metapost/contrib/macros/wordcloud.zip 2023/09/08 | 1390728 | systems/texlive/tlnet/archive/lshort-slovenian.doc.r68204.tar.xz 2023/09/08 | 1369 | macros/latex/contrib/ucph-revy/ucph-revy-da-doc.ins -2023/09/08 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r68203.tar.xz 2023/09/08 | 1329 | macros/latex/contrib/ucph-revy/ucph-revy-en-doc.ins 2023/09/08 | 1311544 | systems/texlive/tlnet/archive/profcollege.r68204.tar.xz 2023/09/08 | 12 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln9.tex @@ -651,7 +779,6 @@ 2023/09/08 | 122504 | systems/texlive/tlnet/archive/korigamik.doc.r68204.tar.xz 2023/09/08 | 120980 | fonts/firamath-otf/doc/firamath-otf-doc.pdf 2023/09/08 | 110928 | systems/texlive/tlnet/archive/odsfile.doc.r68204.tar.xz -2023/09/08 | 1103256 | systems/texlive/tlnet/archive/tex4ht.r68203.tar.xz 2023/09/08 | 1083 | macros/latex/contrib/ppt-slides/LICENSE.txt 2023/09/08 | 10759 | graphics/pgf/contrib/tkz-bernoulli/tex/tkz-bernoulli.sty 2023/09/08 | 1040744 | systems/texlive/tlnet/archive/suftesi.doc.r68204.tar.xz @@ -2582,17 +2709,12 @@ 2023/09/07 | 1000 | fonts/plex/tfm/plxMono-LightItalic-sup-ot1.tfm 2023/09/06 | 963880 | systems/texlive/tlnet/archive/biber.source.r68188.tar.xz 2023/09/06 | 9584 | systems/texlive/tlnet/archive/penlightplus.r68185.tar.xz -2023/09/06 | 85893 | fonts/arsenal/arsenal.pdf 2023/09/06 | 804316 | systems/texlive/tlnet/archive/piton.doc.r68186.tar.xz 2023/09/06 | 780793 | macros/latex/contrib/numerica-tables/numerica-tables.pdf 2023/09/06 | 736 | systems/texlive/tlnet/archive/biber.r68188.tar.xz 2023/09/06 | 685210 | macros/latex/contrib/numerica-tables.zip -2023/09/06 | 67926 | fonts/arsenal/sample-math-arsenal+kpsans.pdf -2023/09/06 | 67017 | fonts/arsenal/sample-text.pdf 2023/09/06 | 625440 | fonts/arsenal.zip -2023/09/06 | 62313 | fonts/arsenal/sample-math-iwona.pdf 2023/09/06 | 60772 | systems/texlive/tlnet/archive/penlightplus.doc.r68185.tar.xz -2023/09/06 | 58187 | fonts/arsenal/sample-math-kpsans.pdf 2023/09/06 | 55778 | macros/latex/contrib/robust-externalize/robust-externalize.sty 2023/09/06 | 5403040 | systems/texlive/tlnet/archive/stellenbosch-2.doc.r68183.tar.xz 2023/09/06 | 5332044 | systems/texlive/tlnet/archive/mitthesis.doc.r68187.tar.xz @@ -2603,7 +2725,6 @@ 2023/09/06 | 463 | macros/latex/contrib/robust-externalize/README.md 2023/09/06 | 448699 | macros/latex/contrib/robust-externalize/robust-externalize.pdf 2023/09/06 | 438597 | macros/latex/contrib/robust-externalize.zip -2023/09/06 | 4372 | fonts/arsenal/LICENSE_FONTS 2023/09/06 | 3934 | fonts/newpx/enc/npxsups_TS1.enc 2023/09/06 | 385765 | fonts/newpx/afm/TeXGyrePagellaX-BoldItalic.afm 2023/09/06 | 382853 | fonts/newpx/afm/TeXGyrePagellaX-Slanted.afm @@ -2654,57 +2775,8 @@ 2023/09/06 | 15543 | fonts/newpx/afm/npxsups-Italic.afm 2023/09/06 | 15531 | fonts/newpx/afm/npxsups-Bold.afm 2023/09/06 | 1550016 | systems/texlive/tlnet/archive/stellenbosch-2.r68183.tar.xz -2023/09/06 | 1533 | fonts/arsenal/README 2023/09/06 | 150744 | systems/texlive/tlnet/archive/blopentype.doc.r68184.tar.xz -2023/09/06 | 14380 | fonts/arsenal/arsenal.dtx 2023/09/06 | 124712 | macros/latex/contrib/numerica-tables/numerica-tables.tex -2023/09/06 | 115628 | fonts/arsenal/Arsenal-Bold.otf 2023/09/06 | 115037 | macros/latex/contrib/robust-externalize/robust-externalize.tex -2023/09/06 | 114436 | fonts/arsenal/Arsenal-Regular.otf -2023/09/06 | 109912 | fonts/arsenal/Arsenal-BoldItalic.otf -2023/09/06 | 109884 | fonts/arsenal/Arsenal-Italic.otf 2023/09/06 | 10744 | systems/texlive/tlnet/archive/mitthesis.r68187.tar.xz 2023/09/06 | 1035 | macros/latex/contrib/numerica-tables/README.txt -2023/09/05 | 99252 | macros/latex/contrib/exesheet/exesheet.dtx -2023/09/05 | 952445 | macros/luatex/latex/piton.zip -2023/09/05 | 945723 | macros/luatex/latex/piton/piton.pdf -2023/09/05 | 8730 | macros/latex/contrib/fitch/fitch.sty -2023/09/05 | 770 | macros/latex/contrib/stellenbosch-2/doc/CHANGELOG -2023/09/05 | 72818 | macros/luatex/generic/penlightplus.zip -2023/09/05 | 698093 | macros/latex/contrib/stellenbosch-2/source/stb-titlepage.zip -2023/09/05 | 5758656 | systems/texlive/tlnet/archive/bib2gls.doc.r68172.tar.xz -2023/09/05 | 5111 | fonts/arsenal/sample-math.dtx -2023/09/05 | 5001 | macros/latex/contrib/stellenbosch-2/source/stb-nomencl.zip -2023/09/05 | 4879 | obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.rst -2023/09/05 | 465647 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-article.zip -2023/09/05 | 451064 | systems/texlive/tlnet/archive/wordle.doc.r68170.tar.xz -2023/09/05 | 4295431 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-beamer.zip -2023/09/05 | 42719 | macros/latex/contrib/stellenbosch-2/source/stb-bib.zip -2023/09/05 | 410048 | systems/texlive/tlnet/archive/metsymb.doc.r68175.tar.xz -2023/09/05 | 4049 | fonts/newpx/enc/zplsups-ts1.enc -2023/09/05 | 383036 | macros/luatex/latex/piton/piton-french.pdf -2023/09/05 | 294607 | macros/latex/contrib/exesheet/exesheet.pdf -2023/09/05 | 29193 | obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html -2023/09/05 | 2916 | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty -2023/09/05 | 2724 | systems/texlive/tlnet/archive/wordle.r68170.tar.xz -2023/09/05 | 2659147 | obsolete/macros/latex/contrib/substitutefont.zip -2023/09/05 | 264426 | macros/latex/contrib/fitch.zip -2023/09/05 | 259514 | macros/latex/contrib/exesheet.zip -2023/09/05 | 2576 | systems/texlive/tlnet/archive/highlightx.r68171.tar.xz -2023/09/05 | 2545 | macros/latex/contrib/fitch/README.md -2023/09/05 | 248637 | macros/latex/contrib/fitch/fitchdoc.pdf -2023/09/05 | 237479 | macros/luatex/latex/piton/piton.dtx -2023/09/05 | 228202 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-masters.zip -2023/09/05 | 217924 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-report-eng.zip -2023/09/05 | 1907844 | systems/texlive/tlnet/archive/bib2gls.r68172.tar.xz -2023/09/05 | 186120 | systems/texlive/tlnet/archive/highlightx.doc.r68171.tar.xz -2023/09/05 | 185519 | macros/latex/contrib/stellenbosch-2/source/stb-thesis.zip -2023/09/05 | 1799480 | systems/texlive/tlnet/archive/bib2gls.source.r68172.tar.xz -2023/09/05 | 169376 | macros/luatex/generic/blopentype.zip -2023/09/05 | 16840 | systems/texlive/tlnet/archive/metsymb.r68175.tar.xz -2023/09/05 | 15712 | systems/texlive/tlnet/archive/metsymb.source.r68175.tar.xz -2023/09/05 | 13860 | macros/latex/contrib/fitch/fitchdoc.tex -2023/09/05 | 13025826 | install/macros/latex/contrib/stellenbosch-2.tds.zip -2023/09/05 | 13018214 | macros/latex/contrib/stellenbosch-2.zip -2023/09/05 | 1262983 | macros/latex/contrib/stellenbosch-2/source/stb-beamer.zip -2023/09/05 | 113921 | macros/latex/contrib/stellenbosch-2/source/info.zip diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index 754a3e930d..a766ee5daa 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 12-09-2023, 02:00:52 +%% created at 13-09-2023, 02:01:30 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -5119,8 +5119,8 @@ title = {The \texttt{babel} package}, subtitle = {Multilingual support for \LaTeX{}, LuaLaTeX, \XeLaTeX{}, and Plain \TeX{}}, author = {Javier Bezos López and Johannes L. Braams}, - date = {2023-08-29}, - version = {3.93}, + date = {2023-09-12}, + version = {3.94}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/required/babel/base}, url = {https://ctan.org/pkg/babel}, @@ -30063,9 +30063,9 @@ title = {The \texttt{greek-fontenc} package}, subtitle = {LICR macros and encoding definition files for Greek}, author = {Günter Milde}, - date = {2023-08-17}, - version = {2.4}, - license = {lppl1.3}, + date = {2023-09-12}, + version = {2.5}, + license = {lppl1.3,bsd2}, mirror = {https://mirror.ctan.org/language/greek/greek-fontenc}, url = {https://ctan.org/pkg/greek-fontenc}, } @@ -32691,8 +32691,8 @@ title = {The \texttt{hyperxmp} package}, subtitle = {Embed XMP metadata within a \LaTeX{} document}, author = {Scott Pakin}, - date = {2023-02-20}, - version = {5.11}, + date = {2023-09-12}, + version = {5.12}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/hyperxmp}, url = {https://ctan.org/pkg/hyperxmp}, @@ -33764,8 +33764,8 @@ title = {The \texttt{inconsolata-nerd-font} package}, subtitle = {Inconsolata Nerd Font with support for \XeLaTeX{} or LuaLaTeX}, author = {Stephan Lukasczyk}, - date = {2023-09-11}, - version = {0.1}, + date = {2023-09-12}, + version = {0.2}, license = {ofl,lppl1.3c}, mirror = {https://mirror.ctan.org/fonts/inconsolata-nerd-font}, url = {https://ctan.org/pkg/inconsolata-nerd-font}, @@ -45586,8 +45586,8 @@ title = {The \texttt{minted} package}, subtitle = {Highlighted source code for \LaTeX{}}, author = {Geoffrey Poore and Konrad Rudolph}, - date = {2022-12-12}, - version = {2.7}, + date = {2023-09-12}, + version = {2.8}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/minted}, url = {https://ctan.org/pkg/minted}, @@ -45673,8 +45673,8 @@ title = {The \texttt{mitthesis} package}, subtitle = {A \LaTeX{} template for MIT theses}, author = {John H. Lienhard}, - date = {2023-09-04}, - version = {1.07}, + date = {2023-09-12}, + version = {1.08}, license = {mit}, mirror = {https://mirror.ctan.org/macros/latex/contrib/mitthesis}, url = {https://ctan.org/pkg/mitthesis}, @@ -51116,7 +51116,7 @@ title = {The \texttt{PapierGurvan} package}, subtitle = {Commands to work with Gurvan Paper}, author = {Cédric Pierquet}, - date = {2023-09-11}, + date = {2023-09-12}, version = {0.1.0}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/graphics/pgf/contrib/papiergurvan}, @@ -51876,8 +51876,8 @@ title = {The \texttt{pdfjam} package}, subtitle = {Shell scripts interfacing to pdfpages}, author = {David Firth and Reuben Thomas}, - date = {2023-07-30}, - version = {3.07}, + date = {2023-09-12}, + version = {3.08}, license = {gpl2+}, mirror = {https://mirror.ctan.org/support/pdfjam}, url = {https://ctan.org/pkg/pdfjam}, @@ -61295,8 +61295,8 @@ title = {The \texttt{se2thesis} package}, subtitle = {A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany}, author = {Stephan Lukasczyk}, - date = {2023-07-04}, - version = {3.1.0}, + date = {2023-09-12}, + version = {3.2.0}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/se2thesis}, url = {https://ctan.org/pkg/se2thesis}, diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf Binary files differindex fc4de56864..67e18e9c9b 100644 --- a/biblio/ctan-bibdata/ctan.pdf +++ b/biblio/ctan-bibdata/ctan.pdf diff --git a/fonts/inconsolata-nerd-font/CHANGELOG.md b/fonts/inconsolata-nerd-font/CHANGELOG.md new file mode 100644 index 0000000000..8e0c017d72 --- /dev/null +++ b/fonts/inconsolata-nerd-font/CHANGELOG.md @@ -0,0 +1,24 @@ +# Changelog +All notable changes to this project will be documented in this file. + +## [Unreleased] + +## [v0.2] — 2023–09–12 + +### Added +- Add a CHANGELOG file. +- Additional macros to also easily use the variants of the font. +- Add a notice on the licenses in the documentation itself. + +### Changed +- The description should be much clearer now, thanks to Petra Rübe-Pugliese from + the CTAN team. +- Do not create a `.tds.zip` any more during build as this is discouraged by the + CTAN team. +- Fix typos and clarify the documentation. + +## v0.1 — 2023–09–09 +- First public release + +[Unreleased]: https://github.com/stephanlukasczyk/inconsolata-nerd-font/compare/v0.2...HEAD +[v0.2]: https://github.com/stephanlukasczyk/inconsolata-nerd-font/compare/v0.2...v0.1
\ No newline at end of file diff --git a/fonts/inconsolata-nerd-font/README.md b/fonts/inconsolata-nerd-font/README.md index d0eacd92fd..39be40a94a 100644 --- a/fonts/inconsolata-nerd-font/README.md +++ b/fonts/inconsolata-nerd-font/README.md @@ -1,8 +1,8 @@ # Inconsolata Nerd Font -The `inconsolata-nerd-font` package provides a convenient wrapper -to use the [Inconsolata Nerd Font](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Inconsolata) -with XeTeX or LuaTeX. +The `inconsolata-nerd-font` package provides +the [Inconsolata Nerd Font](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Inconsolata) +with support for XeLaTeX or LuaLaTeX. ## License diff --git a/fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx b/fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx index d276f8eb12..34ef638be7 100644 --- a/fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx +++ b/fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx @@ -87,8 +87,9 @@ % However, that package provides a pretty old version of the font; % Additionally, the Nerd Font project extended the font by a huge amount of % additional glyphs. -% This package provides a convenient interface to load the font for the -% \XeTeX{} and \LuaTeX{} engines. +% This package provides the font itself +% and a convenient interface to load the font for the +% \XeLaTeX{} and \LuaLaTeX{} engines. % \end{abstract} % % \tableofcontents @@ -110,18 +111,30 @@ % The extended version is available from GitHub.\footnote{ % \href{https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Inconsolata}{github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Inconsolata} % } -% This package provides a convenient way to use the font +% This package provides the TrueType font files +% and a convenient way to use the font % with the \XeTeX{} or \LuaTeX{} engines. % % This user guide gives a brief introduction into the possibilities % provided by the \pkg{inconsolata-nerd-font} package. % +% \subsection{License}\label{sec:doc-license} +% +% Permission is granted to copy, distribute, and/or modify this software under +% the terms of the \LaTeX{} Project Public License~(LPPL), version~1.3c or +% later~(\href{https://www.latex-project.org/lppl.txt}{https://www.latex-project.org/lppl.txt}). +% The software has the status \enquote{maintained}. +% +% The font files bundled with the package (\texttt{InconsolataNerdFont*.ttf}) +% are licensed under the terms of the SIL Open Font License~(LPPL), +% version~1.1~(\href{http://scripts.sil.org/OFL}{http://scripts.sil.org/OFL}). +% % \subsection{Helper Macros}\label{sec:doc-helper} % % The following macro is not strictly part of the package. % It is actually defined by recent \LaTeX{} kernels. % However, to make the package compatible with older kernels, too, -% we provide it if it is not yet defined. +% we provide it, if it is not yet defined. % % The macro's purpose is to check whether the used \LaTeX{} format % is at least from the given date @@ -131,7 +144,7 @@ % \cs{IfFormatAtLeastTF} \marg{date} \marg{true} \marg{false} % \end{syntax} % We define this macro to execute code depending on the \LaTeX{} format date. -% It is only defined if it is not already part of the \LaTeX{} kernel, +% The macro is only defined if it is not already part of the \LaTeX{} kernel, % which it is for recent versions of the kernel. % \end{function} % @@ -160,13 +173,16 @@ % \end{syntax} % Set the scaling of the font. % See the \pkg{fontspec} documentation for more details. +% The default value is |MatchLowercase| to match the height of the lower-case +% character of the default main font of your document. % \end{variable} % % \subsection{Font Macros}\label{sec:doc-macros} % % While the package sets the default mono-spaced font % to the selected variant of the Inconsolata Nerd Font, -% the package provides two additional macros for convenience. +% the package provides six additional macros for convenience, +% one pair of each variant of the font. % % \begin{function}{\inconsolatanffamily} % \begin{syntax} @@ -175,6 +191,20 @@ % A font family for the Inconsolata Nerd Font, % the default variant provided by this package. % \end{function} +% \begin{function}{\inconsolatanfmonofamily} +% \begin{syntax} +% \cs{inconsolatanfmonofamily} +% \end{syntax} +% A font family for the Inconsolata Nerd Font, +% the mono variant provided by this package. +% \end{function} +% \begin{function}{\inconsolatanfpropofamily} +% \begin{syntax} +% \cs{inconsolatanfpropofamily} +% \end{syntax} +% A font family for the Inconsolata Nerd Font, +% the propo variant provided by this package. +% \end{function} % % \begin{function}{\textinconsolatanf} % \begin{syntax} @@ -183,6 +213,20 @@ % A convenience macro to typeset a short |text| using the default % Inconsolata Nerd Font variant. % \end{function} +% \begin{function}{\textinconsolatanfmono} +% \begin{syntax} +% \cs{textinconsolatanfmono} \marg{text} +% \end{syntax} +% A convenience macro to typeset a short |text| using the mono +% Inconsolata Nerd Font variant. +% \end{function} +% \begin{function}{\textinconsolatanfpropo} +% \begin{syntax} +% \cs{textinconsolatanfpropo} \marg{text} +% \end{syntax} +% A convenience macro to typeset a short |text| using the propo +% Inconsolata Nerd Font variant. +% \end{function} % % The following sentence uses the \cs{textinconsolatanf} % to typeset the words \enquote{an example} using Inconsolata Nerd Font: @@ -239,7 +283,7 @@ % % Identify the package and give the overall version information. % \begin{macrocode} -\ProvidesExplPackage {inconsolata-nerd-font} {2023-09-09} {0.1} +\ProvidesExplPackage {inconsolata-nerd-font} {2023-09-12} {0.2} {Support package to use the Inconsolata Nerd Font TrueType fonts} % \end{macrocode} % @@ -269,7 +313,7 @@ \keys_set:nn { inconsolatanerdfont } { variant = default, - scale = 0.9, + scale = MatchLowercase, } \tl_clear:N \l_@@_variant_tl % \end{macrocode} @@ -311,8 +355,15 @@ } % \end{macrocode} % -% Define a font family for the font and a command for esiere usage -% \begin{macro}{\inconsolatanffamily, \textinconsolatanf} +% Define a font family for the three fonts and commands for easier usage +% \begin{macro}{ +% \inconsolatanffamily, +% \inconsolatanfmonofamily, +% \inconsolatanfpropofamily, +% \textinconsolatanf, +% \textinconsolatanfmono, +% \textinconsolatanfpropo, +% } % \begin{macrocode} \newfontfamily\inconsolatanffamily{InconsolataNerdFont-Regular.ttf}[ BoldFont = InconsolataNerdFont-Bold.ttf, @@ -320,7 +371,22 @@ NFSSFamily = inconsolatanf, Scale = \l_@@_scale_tl, ] +\newfontfamily\inconsolatanfmonofamily{InconsolataNerdFontMono-Regular.ttf}[ + BoldFont = InconsolataNerdFontMono-Bold.ttf, + FakeStretch = {0.9}, + NFSSFamily = inconsolatanfmono, + Scale = \l_@@_scale_tl, +] +\newfontfamily\inconsolatanfpropofamily{InconsolataNerdFontPropo-Regular.ttf}[ + BoldFont = InconsolataNerdFontPropo-Bold.ttf, + FakeStretch = {0.9}, + NFSSFamily = inconsolatanfpropo, + Scale = \l_@@_scale_tl, +] + \DeclareTextFontCommand{\textinconsolatanf}{\inconsolatanffamily} +\DeclareTextFontCommand{\textinconsolatanfmono}{\inconsolatanffamilymono} +\DeclareTextFontCommand{\textinconsolatanfpropo}{\inconsolatanffamilypropo} % \end{macrocode} % \end{macro} % diff --git a/fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf b/fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf Binary files differindex 77a3f22ff0..10f32f4d75 100644 --- a/fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf +++ b/fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf diff --git a/language/greek/greek-fontenc/README.md b/language/greek/greek-fontenc/README.md index da3da0ece5..2b8c906b30 100644 --- a/language/greek/greek-fontenc/README.md +++ b/language/greek/greek-fontenc/README.md @@ -8,7 +8,7 @@ script. The included LaTeX packages [textalpha][textalpha.sty] and [alphabeta][alphabeta.sty] facilitate the use of Greek symbols in text. -**Version**: 2.4 +**Version**: 2.5 **Copyright**: © 2010 – 2023 Günter Milde diff --git a/language/greek/greek-fontenc/alphabeta-doc-tu.pdf b/language/greek/greek-fontenc/alphabeta-doc-tu.pdf Binary files differindex 2cfe30bae8..f9d2cf0536 100644 --- a/language/greek/greek-fontenc/alphabeta-doc-tu.pdf +++ b/language/greek/greek-fontenc/alphabeta-doc-tu.pdf diff --git a/language/greek/greek-fontenc/alphabeta-doc.pdf b/language/greek/greek-fontenc/alphabeta-doc.pdf Binary files differindex f1b625fb99..5ad89f5873 100644 --- a/language/greek/greek-fontenc/alphabeta-doc.pdf +++ b/language/greek/greek-fontenc/alphabeta-doc.pdf diff --git a/language/greek/greek-fontenc/alphabeta-doc.tex b/language/greek/greek-fontenc/alphabeta-doc.tex index 35cd14c204..2bf4e068b0 100644 --- a/language/greek/greek-fontenc/alphabeta-doc.tex +++ b/language/greek/greek-fontenc/alphabeta-doc.tex @@ -11,12 +11,9 @@ % As it contains tests for the different limitations, there will be warnings % in the log, which can be safely ignored. -\documentclass{scrartcl} +\documentclass[a4paper]{scrartcl} +\addtokomafont{disposition}{\rmfamily} -\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} -% \usepackage{bookmark} -\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,pdfencoding=auto} -% \usepackage{parskip} \usepackage{amssymb, amsmath} \frenchspacing @@ -28,15 +25,17 @@ \newcommand{\engine}{LuaTeX} \fi % Setup for Unicode fonts (Xe-/LuaTeX) - \usepackage[no-math,tuenc]{fontspec} - \setmainfont{Linux Libertine O} - \setsansfont{Linux Biolinum O} - \setmonofont{Liberation Mono}[Scale=MatchLowercase] + \usepackage[no-math]{fontspec} + % The Harfbuzz renderer provides selection of pre-composed characters + % (NFC normalization) with LuaTeX + \setmainfont[Renderer=Harfbuzz]{Linux Libertine O} + \setsansfont[Renderer=Harfbuzz]{Linux Biolinum O} + \setmonofont[Renderer=Harfbuzz,Scale=MatchLowercase]{Liberation Mono} \usepackage[libertine,slantedGreek]{newtxmath} % \usepackage{unicode-math} % package conflict \newcommand{\fontset}{fontspec with Unicode fonts} \else - \newcommand{\engine}{8-bit TeX} + \newcommand{\engine}{pdfTeX} \usepackage[utf8]{inputenc} \DeclareUnicodeCharacter{03DE}{\textKoppa} % in LGR mapped to \textkoppa \usepackage[LGR,T1]{fontenc} @@ -46,15 +45,26 @@ % \usepackage{gfsdidot} % \usepackage{kerkis} % \usepackage{newtxtext,newtxmath} - % \usepackage{substitutefont} - % \substitutefont{LGR}{\rmdefault}{artemisia} \usepackage{isomath} \newcommand{\fontset}{fontenc with TeX fonts} \fi % load alphabeta after math setup and encoding setup! -% \usepackage{alphabeta}[2015/08/08] -\usepackage[normalize-symbols]{alphabeta}[2015/08/08] +\usepackage[normalize-symbols]{alphabeta} + +% Check, if loading hyperref after/before alphabeta works: +\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} +\usepackage{bookmark} +\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,pdfencoding=auto} + +\DeclareTextCommandDefault{\,}{\thinspace} +\DeclareTextCommand{\,}{PU}{\9040\011}% U+2009 THIN SPACE + + +% correct upcasing requires Babel, +% the remainder should work without requiring Babel +\usepackage[greek.polutoniko,english]{babel} + % Fallback macros: @@ -63,7 +73,7 @@ \ProvideTextCommandDefault{\textvarstigma}{\missing} % varkappa, only defined with newtxmath \providecommand*{\varkappa}{\missing} -% varbeta and varTheta only defined with unicode-math +% varbeta only defined with additional packages \providecommand*{\varbeta}{\missing} % Semantic styling: @@ -88,12 +98,12 @@ \begin{abstract}\noindent The \emph{alphabeta} package makes the standard macros for Greek letters in -mathematical mode also available in text mode. This way, you can input Greek +mathematical mode also available in text mode. This way, you can input Greek letters ``by name'' everywhere in the document. The mode determines whether the characters are taken from the text or math font. With 8-bit TeX and \pkgref{greek-inputenc}, -literal Unicode charactes can also be used in mathematical mode. +literal Unicode charactes can also be used in mathematical mode.% \footnote{\label{compiler}% This document was compiled with \engine{} using the \href{https://ctan.org/pkg/encguide}{font encoding} \encodingdefault{} @@ -109,7 +119,7 @@ literal Unicode charactes can also be used in mathematical mode. } \end{abstract} -% \tableofcontents +\tableofcontents \section{Requirements and Conflicts} @@ -124,7 +134,7 @@ Depending on the converter and fonts, different The package conflicts with \pkgref{unicode-math}. It also fails, if the \texttt{utf8x} input encoding is selected. -(The interface to the \pkgref{ucs} package uses a non-compatible +(The interface to the \pkgref{ucs} package uses an incompatible definition of \cs{DeclareUnicodeCharacter}.) @@ -138,16 +148,21 @@ setup) with % Now you can write a single Greek symbol (like \Psi{} or \mu{}) or a \lambda\omicron\gamma\omicron\varsigma{} in non-Greek text as well as -ISO-conforming formulas with upright symbols for constants -like $A = \text{\pi} r^2$ (instead of $A = \pi r^2$).% -\footnote{The \pkgref{isomath} documentation describes more alternatives - for upright Greek symbols in math mode.} - +ISO-conforming formulas with upright symbols\footnote{ + The \pkgref{isomath} documentation describes more alternatives + for upright Greek symbols in math mode.} +for constants like +\[ + A = \text{\pi} r^2 +\] +(instead of $A = \pi r^2$). Just like Latin letters, the Greek counterparts are by default italic in math mode% \footnote{Capital Greek letters are upright in TeX unless a package selects - the ``ISO'' math-style. See the \pkgref{isomath} documentation - for a detailled discussion of math-styles.} + the ``ISO'' math-style. This document uses \pkgref{isomath} with + 8-bit Tex and \pkgref{newtxmath} with the \texttt{slantedgreek} + option with Xe/LuaTeX. See the \emph{isomath} documentation for a + detailled discussion of math-styles.} and upright in text: \begin{quote} @@ -155,7 +170,7 @@ and upright in text: mathematics: $ L \ \Gamma \ l \ \gamma $ \end{quote} % -See the source of this document \url{alphabeta-doc.tex} for a setup and +See the source of this document \texttt{alphabeta-doc.tex} for a setup and usage example. @@ -168,23 +183,29 @@ package. Example call with options: \usepackage[normalize-symbols,keep-semicolon]{alphabeta} \end{verbatim} -\texttt{normalize-symbols} merges ``letter'' and ``symbol`` variants of some -Greek letters (cf. next section) to the ``letter'' character: Without this -option, the symbol variant characters cannot be used in text, because they -are not supported by 8-bit Greek fonts (LGR encoding). -\textbf{Attention}: Be careful in cases where the distinction between the -symbol variants may be important (e.g. in a mathematical or scientific -context). Use XeTeX/LuaTeX with Unicode fonts or the respective characters -in mathematical mode (e.g. $\pi$ vs. $\varpi$). - -The option \texttt{keep-semicolon} prevents conversion of the -semicolon to an \emph{ano teleia} in 8-bit TeX -(see \emph{\href{textalpha-doc.pdf}{textalpha-doc}}). - +\begin{description} +\item[\texttt{normalize-symbols}] \label{item:normalize-symbols} + merges ``letter'' and ``symbol`` variants of some Greek letters + (cf. Table\,\ref{tab:symbol-variant-macros} and + section~\ref{sec:symbol-variants} below) to the ``letter'' character: + Without this option, the symbol variant characters cannot be used in text + under 8-bit LaTeX, because they are not supported by the Greek 8-bit font + encoding LGR. + + \textbf{Attention}: Be careful in cases where the distinction between the + symbol variants may be important (e.g. in a mathematical or scientific + context). Use XeTeX/LuaTeX with Unicode fonts or the respective characters + in mathematical mode (e.g. $\pi$ vs. $\varpi$). + +\item[\texttt{keep-semicolon}] + prevents conversion of the semicolon to an \emph{ano teleia} in 8-bit TeX + (see \emph{\href{textalpha-doc.pdf}{textalpha-doc}}). +\end{description} +% Both options are ignored in text set using Unicode fonts. -\subsection{symbol variants} +\subsection{symbol variants \label{sec:symbol-variants}} Mathematical notation uses variant shapes of some Greek letters as additional symbols. The variations have no syntactic meaning in Greek text @@ -206,19 +227,24 @@ are short forms of the set defined in \file{tuenc-greek.def} GREEK ... SYMBOL variant, \verb|\var<name>| selects the variant - shape according to TeX' mathematical mode + shape according to TeX's mathematical mode \end{quote} -See Table \ref{tab:symbol-variant-macros} for the full list. +See Table\,\ref{tab:symbol-variant-macros} at the end of this document for +the full list. \section{Limitations \label{sec:limitations}} With 8-bit TeX, the limitations described in the -\href{textalpha-doc.pdf}{textalpha documentation} apply. See also the tests -in section \hyperref[sec:8-bit-limitations]{8 bit limitations}. +\href{textalpha-doc.pdf}{textalpha documentation} apply +(see also section~\ref{sec:diacritics}). These limitations do not apply, if the text language is switched to ``greek'' -with Babel, the text part is wrapped in \verb+\ensuregreek+, or set using -Unicode fonts (with XeTeX/LuaTeX). +with Babel\footnote{\label{footnote:babel-greek} + Setting the correct language for Greek text parts with the + \pkgref{babel} package additionally ensures correct hyphenation and + upcasing.}, +the text part is wrapped in \verb+\ensuregreek+, +or set using Unicode fonts with XeTeX/LuaTeX. With XeTeX/LuaTeX and Unicode fonts, literal Unicode characters cannot be used in formulas (the log file reports missing characters) This is a generic @@ -238,94 +264,129 @@ switch (active font encoding \encodingdefault): \Alpha{} \Beta{} \Gamma{} \Delta{} \Epsilon{} \Zeta{} \Eta{} \Theta{} \Iota{} \Kappa{} \Lambda{} \Mu{} \Nu{} \Xi{} \Omicron{} \Pi{} \Rho{} \Sigma{} \Tau{} \Upsilon{} \Phi{} \Chi{} \Psi{} \Omega{} + \quad + \Digamma{} \Stigma{} \Koppa + \footnote{In LGR, there is no separate glyph for uppercase Koppa.} + \Qoppa{} \Sampi{} \\ \alpha{} \beta{} \gamma{} \delta{} \epsilon{} \zeta{} \eta{} \theta{} \iota{} \kappa{} \lambda{} \mu{} \nu{} \xi{} \omicron{} \pi{} \rho{} - \sigma{} \varsigma{} \tau{} \upsilon{} \phi{} \chi{} \psi{} \omega{} - \\ - \digamma{} \Digamma{} \stigma{} \varstigma{}% + \sigma{} \finalsigma{} \tau{} \upsilon{} \phi{} \chi{} \psi{} \omega{} + \quad + \digamma{} \stigma{} \varstigma \footnote{There is no separate Unicode code point for a stigma variant - symbol, \cs{varstigma} is not defined with - Xe/LuaTeX and similar to \cs{stigma} in some fonts.} - \koppa{} \Koppa{}% - \footnote{In LGR, there is no separate glyph for uppercase Koppa.} - \qoppa{} \Qoppa{} \Stigma{} \Sampi{} \sampi{} + symbol, \cs{varstigma} is not defined with + Xe/LuaTeX and similar to \cs{stigma} in some fonts.} + \koppa{} \qoppa{} \sampi{} + \end{quote} % -Greek letters via Unicode (active font encoding \encodingdefault): +Greek letters via Unicode literals (active font encoding \encodingdefault): \begin{quote} - Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω\\ - α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω\\ - ϝ Ϝ ϛ ϟ Ϟ ϙ Ϙ Ϛ Ϡ ϡ + Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω \quad Ϝ Ϛ Ϟ Ϙ Ϡ + \\ + α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω \quad ϝ ϛ ϟ ϙ ϡ \end{quote} -\subsection{Diacritics} - -Accent macros are set up for use with the generic macros by definition of -``TextComposite'' commands. - -Diacritics (except the dialytika) should placed -before capital letters. -According to Greek typographical conventions, diacritics are dropped in -UPPERCASE. Since 2022, \cs{MakeUppercase} only drops diacritics when the -text language is set to \texttt{greek} with Babel or Polyglossia. +\subsection{Diacritics \label{sec:diacritics}} +According to Greek typographical conventions, diacritics (except the +dialytika and sub iota) are placed before capital letters and +dropped in UPPERCASE. +Since 2022, \cs{MakeUppercase} only drops diacritics from Greek literals +when the text language is set to \texttt{greek} with Babel or Polyglossia. +Diacritics input as standard accent macros are only dropped if the Greek +language is defined with Babel (i.e. not in this document). +For an example using \pkgref{babel-greek} see +\href{char-list-alphabeta.pdf}{char-list-alphabeta.pdf}). +% \begin{quote} -\ensuregreek{ -\<{\alpha} \>{\epsilon} \"'{\iota} \>`{\eta} -\'<{\omicron} \~<{\upsilon} \~>{\omega} -\\ -\<{\Alpha} \>{\Epsilon} \'{\Iota} \>`{\Eta} -\'<{\Omicron} \~<{\Upsilon} \~>{\Omega} -\\ -\MakeUppercase{% - \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{} - \'<{\omicron} \~<{\upsilon} \~>{\omega} -}} + \greekscript + \newcommand{\sample}{\<{\alpha} \>{\epsilon} \"'{\iota} \>`{\eta} + \'<{\omicron} \~<{\upsilon} \~>{\omega}} + \sample{} → \MakeUppercase{\sample} + + \renewcommand{\sample}{\<{\Alpha} \>{\Epsilon} \"{\Iota} \>`{\Eta} + \'<{\Omicron} \~<{\Upsilon} \~>{\Omega}} + \sample{} → \MakeUppercase{\sample} \end{quote} +% +Certain \textbf{limitations} apply \textbf{if} Greek LICRs are +\textbf{used in a non-Greek font encoding} (e.g. T1).% +\ifdefined \UnicodeEncodingName + \footnote{This document is typeset using Unicode fonts, + for details see the version using 8-bit fonts + \href{alphabeta-doc.pdf}{alphabeta-doc.pdf}.} +\else + \footnote{This document is typeset using 8-bit fonts.} + + \begin{itemize} + + \item Composition of diacritics (like \verb|\>\'| or \verb|\accpsili\accoxia|) + fails: \\ + \"'{\iota} \>`\eta{} + \'<{\omicron} \~<{\upsilon} \~>{\omega} (\currentEncoding) vs. + \ensuregreek{\"'{\iota} \>`\eta{} + \'<{\omicron} \~<{\upsilon} \~>{\omega} (\currentEncoding)} + + Simple diacritics and long names (like \verb+\accdasiaoxia+) work in + any font encoding. + + \item Accent macros do not select precomposed characters + (the subtle difference becomes obvious if you drag-and-drop text from + the PDF version of this document): + \\ + \accdasiaoxia\alpha{} (\currentEncoding) vs. + \ensuregreek{\accdasiaoxia\alpha{} (\currentEncoding)} + + \item Wrong placement of diacritics on capital letters: + \'\Alpha{} \accdasiaoxia\Omega{} (\currentEncoding) vs. + \ensuregreek{\'\Alpha{} \accdasiaoxia\Omega{} (\currentEncoding)} + + \item Uppercasing characters with diacritics leads to compilation errors + unless the base letter is put in braces, + e.g., \verb|\MakeUppercase{\'\alpha}| fails,\\ + \verb|\MakeUppercase{\'{\alpha}}| works. + \end{itemize} + The \cs{ensuregreek} macro can be used to avoid these problems. + It sets its argument with a font encoding supporting Greek.% + \footref{footnote:babel-greek} +\fi \subsection{normalize-symbols} The \texttt{normalize-symbols} option merges ``letters'' and ``symbol`` variants of some Greek letters to the ``letter'' character. It is ignored, -if the document uses Unicode fonts and is compiled with XeTeX or LuaTeX. -(This document is compiled using \engine.) +if the document uses Unicode fonts and is compiled with XeTeX or LuaTeX +(this document is compiled using \engine). \begin{quote} The source of this quote uses both variants for beta (β|ϐ), epsilon (ε|ϵ), phi (φ|ϕ), kappa (κ|ϰ), pi (π|ϖ), rho (ρ|ϱ), theta (θ|ϑ), - and Theta (Θ|ϴ) in the LaTeX source.% + and Theta (Θ|ϴ). \end{quote} \subsection{\ensuregreek{% - Ἑλληνικά (\<\Epsilon\lambda\lambda\eta\nu\iota\kappa\'\alpha{})} - in PDF strings} + \<\Epsilon\lambda\lambda\eta\nu\iota\kappa\'\alpha} in PDF strings} With the alphabeta package, you get Greek letters in both, the document body -and PDF metadata generated by hyperref if the input uses Unicode literals or -macros. Wrapping in \verb+\ensuregreek+ ensures the right placement of the -accents and breathings (before, not above capital letters). With LICR input -(accent macros as well as symbol macros), non-standard diacritics are -missing in the PDF data, as hyperref's PU encoding currently does not -support polytonic Greek. (Here, the dasia is dropped at the start of the -word in parentheses in the PDF toc. The warning ``\texttt{Glyph not defined -in PU encoding, removing `\textbackslash<' on input line 145.}'' is written -to the log.) +and PDF metadata generated by \pkgref{hyperref} if the input uses Unicode +literals or macros. Wrapping in \verb+\ensuregreek+ ensures the right +placement of the accents and breathings (before, not above capital letters). \subsection{Greek in maths $\Gamma = \sin\alpha / \cos{\beta}$} -In the main document, Greek in math mode should work as usual: +In the main document, Greek in ``math'' mode should work as usual: \[\Gamma = \frac{\sin\alpha}{\cos{\beta}}. \] -Greek letters and symbols in math mode,\footnote{% - There are no math macros for Greek letters wich exist with similar - shape in the Latin alphabet} -input as macro: +Greek letters and symbols in math mode, input as macro:\footnote{ + There are no math macros for Greek letters wich exist + with similar shape in the Latin alphabet.} \begin{align*} & % \Alpha{} \Beta{} @@ -386,101 +447,964 @@ so that the output matches the Unicode reference glyph This corresponds to the behaviour of \pkgref{unicode-math}. -\subsection{8-bit limitations \label{sec:8-bit-limitations}} +\section{Character Tables} -Certain limitations apply if Greek LICRs are used in non-Greek context with -8-bit TeX fonts (this document is typeset using -\ifdefined \UnicodeEncodingName - Unicode fonts% -\else - 8-bit fonts% -\fi -). - -\begin{itemize} - -\item Composition of diacritics (like \verb+\>\'+) fails: - \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{} - \'<{\omicron} \~<{\upsilon} \~>{\omega} - - Simple diacritics and long names (like \verb+\accdasiaoxia+) work in - any font encoding, however they do not select precomposed characters - (the difference becomes obvious if you drag-and-drop text from the PDF - version of this document): - % - \ensuregreek{\<'\alpha{} \accdasia\acctonos\alpha{} \accdasiaoxia\alpha{} - (\currentEncoding)} vs. \accdasiaoxia\alpha{} (\currentEncoding) - -\item MakeUppercase fails with composite diacritics in other font encodings.% - \footnote{Since the re-implementation 2022/06, MakeUppercase follows - the Greek typesetting rules only for text parts given the - \pkgref{babel} language \texttt{greek}.} - % \MakeUppercase{% - % \<\alpha{} \>\epsilon{} \'\iota{} \`\eta{} \~\upsilon{} - % } - -\item There is no kerning between Greek letters, if the font encoding does not - support Greek: compare \ensuregreek{\Alpha\Upsilon\Alpha{} - (\currentEncoding)} to \Alpha\Upsilon\Alpha{} (\currentEncoding). -\end{itemize} -% -The \verb+\ensuregreek+ macro ensures that the argument is typeset with a -font encoding supporting Greek. This keeps kerning (if the kerning pair is -inside the argument, \ensuregreek{\Alpha\"\Upsilon\Alpha}), and allows -combining of accent macros where pre-composed characters are selected -(\ensuregreek{\<'\alpha}). -Setting the corrct language for Greek text parts with the \pkgref{babel} -package additionally ensures correct hyphenation and upcasing. +\subsection{Greek and Coptic} +\newcommand*{\GreekAndCopticI}{% + \ensuregreek{% + \'{} % ΄ + \"'{} % ΅ + \'\Alpha{} % Ά + \textanoteleia{} % · + \'\Epsilon{} % Έ + \'\Eta{} % Ή + \'\Iota{} % Ί + \'\Omicron{} % Ό + \'\Upsilon{} % Ύ + \'\Omega{} % Ώ +}} +\newcommand*{\GreekAndCopticII}{% + \ensuregreek{% + \'"\iota{} % ΐ + \Alpha{} % Α + \Beta{} % Β + \Gamma{} % Γ + \Delta{} % Δ + \Epsilon{} % Ε + \Zeta{} % Ζ + \Eta{} % Η + \Theta{} % Θ + \Iota{} % Ι + \Kappa{} % Κ + \Lambda{} % Λ + \Mu{} % Μ + \Nu{} % Ν + \Xi{} % Ξ + \Omicron{} % Ο +}} +\newcommand*{\GreekAndCopticIII}{% + \ensuregreek{% + \Pi{} % Π + \Rho{} % Ρ + \Sigma{} % Σ + \Tau{} % Τ + \Upsilon{} % Υ + \Phi{} % Φ + \Chi{} % Χ + \Psi{} % Ψ + \Omega{} % Ω + \"\Iota{} % Ϊ + \"\Upsilon{} % Ϋ + \'\alpha{} % ά + \'\epsilon{} % έ + \'\eta{} % ή + \'\iota{} % ί +}} +\newcommand*{\GreekAndCopticIV}{% + \ensuregreek{% + \"'\upsilon{} % ΰ + \alpha{} % α + \beta{} % β + \gamma{} % γ + \delta{} % δ + \epsilon{} % ε + \zeta{} % ζ + \eta{} % η + \theta{} % θ + \iota{} % ι + \kappa{} % κ + \lambda{} % λ + \mu{} % μ + \nu{} % ν + \xi{} % ξ + \omicron{} % ο +}} +\newcommand*{\GreekAndCopticV}{% + \ensuregreek{% + \pi{} % π + \rho{} % ρ + \finalsigma{} % ς + \sigma{} % σ + \tau{} % τ + \upsilon{} % υ + \phi{} % φ + \chi{} % χ + \psi{} % ψ + \omega{} % ω + \"\iota{} % ϊ + \"\upsilon{} % ϋ + \'\omicron{} % ό + \'\upsilon{} % ύ + \'\omega{} % ώ +}} +\newcommand*{\GreekAndCopticVI}{% + \ensuregreek{% + % x03D0 + \betasymbol{} % ϐ + \thetasymbol{} % ϑ + \phisymbol{} % ϕ + \pisymbol{} % ϖ + \Qoppa{} % Ϙ + \qoppa{} % ϙ + \Stigma{} % Ϛ + \stigma{} % ϛ + \Digamma{} % Ϝ + \digamma{} % ϝ + \Koppa{} % Ϟ + \koppa{} % ϟ +}} +\newcommand*{\GreekAndCopticVII}{% + \ensuregreek{% + % x03E0 + \Sampi{} % Ϡ + \sampi{} % ϡ + % x03F0 + \kappasymbol{} % ϰ + \rhosymbol{} % ϱ + \Thetasymbol{} % ϴ + \epsilonsymbol{} % ϵ +}} + +\begin{minipage}{0.48\linewidth} + symbol accent macros + + \GreekAndCopticI + + \GreekAndCopticII + + \GreekAndCopticIII + + \GreekAndCopticIV + + \GreekAndCopticV + + \GreekAndCopticVI + + \GreekAndCopticVII +\end{minipage} +\hfill +\begin{minipage}{0.5\linewidth} +\noindent +named accent macros + +\ensuregreek{% +% x0384 +\acctonos{} % ΄ +\accdialytikatonos{} % ΅ +\acctonos\Alpha{} % Ά +\textanoteleia{} % · +\acctonos\Epsilon{} % Έ +\acctonos\Eta{} % Ή +\acctonos\Iota{} % Ί +\acctonos\Omicron{} % Ό +\acctonos\Upsilon{} % Ύ +\acctonos\Omega{} % Ώ + +% x0390 +\accdialytikatonos\iota{} % ΐ +\Alpha{} % Α +\Beta{} % Β +\Gamma{} % Γ +\Delta{} % Δ +\Epsilon{} % Ε +\Zeta{} % Ζ +\Eta{} % Η +\Theta{} % Θ +\Iota{} % Ι +\Kappa{} % Κ +\Lambda{} % Λ +\Mu{} % Μ +\Nu{} % Ν +\Xi{} % Ξ +\Omicron{} % Ο + +% 0x3A0 +\Pi{} % Π +\Rho{} % Ρ +\Sigma{} % Σ +\Tau{} % Τ +\Upsilon{} % Υ +\Phi{} % Φ +\Chi{} % Χ +\Psi{} % Ψ +\Omega{} % Ω +\accdialytika\Iota{} % Ϊ +\accdialytika\Upsilon{} % Ϋ +\acctonos\alpha{} % ά +\acctonos\epsilon{} % έ +\acctonos\eta{} % ή +\acctonos\iota{} % ί + +% x03B0 +\accdialytikatonos\upsilon{} % ΰ +\alpha{} % α +\beta{} % β +\gamma{} % γ +\delta{} % δ +\epsilon{} % ε +\zeta{} % ζ +\eta{} % η +\theta{} % θ +\iota{} % ι +\kappa{} % κ +\lambda{} % λ +\mu{} % μ +\nu{} % ν +\xi{} % ξ +\omicron{} % ο + +% x03C0 +\pi{} % π +\rho{} % ρ +\finalsigma{} % ς +\sigma{} % σ +\tau{} % τ +\upsilon{} % υ +\phi{} % φ +\chi{} % χ +\psi{} % ψ +\omega{} % ω +\accdialytika\iota{} % ϊ +\accdialytika\upsilon{} % ϋ +\acctonos\omicron{} % ό +\acctonos\upsilon{} % ύ +\acctonos\omega{} % ώ + +% x03D0 +\betasymbol{} % ϐ +\thetasymbol{} % ϑ +\phisymbol{} % ϕ +\pisymbol{} % ϖ +\Qoppa{} % Ϙ +\qoppa{} % ϙ +\Stigma{} % Ϛ +\stigma{} % ϛ +\Digamma{} % Ϝ +\digamma{} % ϝ +\Koppa{} % Ϟ +\koppa{} % ϟ + +% x03E0 +\Sampi{} % Ϡ +\sampi{} % ϡ +% x03F0 +\kappasymbol{} % ϰ +\rhosymbol{} % ϱ +\Thetasymbol{} % ϴ +\epsilonsymbol{} % ϵ +} % end \ensuregreek +\end{minipage} + + +\subsection{Greek Extended} + +\newcommand*{\GreekExtendedI}{% + \ensuregreek{% + \>\alpha{} + \<\alpha{} + \>`\alpha{} + \<`\alpha{} + \>'\alpha{} + \<'\alpha{} + \~>\alpha{} + \~<\alpha{} + \>\Alpha{} + \<\Alpha{} + \>`\Alpha{} + \<`\Alpha{} + \>'\Alpha{} + \<'\Alpha{} + \~>\Alpha{} + \~<\Alpha{} +}} +\newcommand*{\GreekExtendedII}{% + \ensuregreek{% + \>\epsilon{} + \<\epsilon{} + \>`\epsilon{} + \<`\epsilon{} + \>'\epsilon{} + \<'\epsilon{} + \>\Epsilon{} + \<\Epsilon{} + \>`\Epsilon{} + \<`\Epsilon{} + \>'\Epsilon{} + \<'\Epsilon{} +}} +\newcommand*{\GreekExtendedIII}{% + \ensuregreek{% + \>\eta{} + \<\eta{} + \>`\eta{} + \<`\eta{} + \>'\eta{} + \<'\eta{} + \~>\eta{} + \~<\eta{} + \>\Eta{} + \<\Eta{} + \>`\Eta{} + \<`\Eta{} + \>'\Eta{} + \<'\Eta{} + \~>\Eta{} + \~<\Eta{} +}} +\newcommand*{\GreekExtendedIV}{% + \ensuregreek{% + \>\iota{} + \<\iota{} + \>`\iota{} + \<`\iota{} + \>'\iota{} + \<'\iota{} + \~>\iota{} + \~<\iota{} + \>\Iota{} + \<\Iota{} + \>`\Iota{} + \<`\Iota{} + \>'\Iota{} + \<'\Iota{} + \~>\Iota{} + \~<\Iota{} +}} +\newcommand*{\GreekExtendedV}{% + \ensuregreek{% + \>\omicron{} + \<\omicron{} + \>`\omicron{} + \<`\omicron{} + \>'\omicron{} + \<'\omicron{} + \>\Omicron{} + \<\Omicron{} + \>`\Omicron{} + \<`\Omicron{} + \>'\Omicron{} + \<'\Omicron{} +}} +\newcommand*{\GreekExtendedVI}{% + \ensuregreek{% + \>\upsilon{} + \<\upsilon{} + \>`\upsilon{} + \<`\upsilon{} + \>'\upsilon{} + \<'\upsilon{} + \~>\upsilon{} + \~<\upsilon{} + \<\Upsilon{} + \<`\Upsilon{} + \<'\Upsilon{} + \~<\Upsilon{} +}} +\newcommand*{\GreekExtendedVII}{% + \ensuregreek{% + \>\omega{} + \<\omega{} + \>`\omega{} + \<`\omega{} + \>'\omega{} + \<'\omega{} + \~>\omega{} + \~<\omega{} + \>\Omega{} + \<\Omega{} + \>`\Omega{} + \<`\Omega{} + \>'\Omega{} + \<'\Omega{} + \~>\Omega{} + \~<\Omega{} +}} +\newcommand*{\GreekExtendedVIII}{% + \ensuregreek{% + \`\alpha{} + \'\alpha{} + \`\epsilon{} + \'\epsilon{} + \`\eta{} + \'\eta{} + \`\iota{} + \'\iota{} + \`\omicron{} + \'\omicron{} + \`\upsilon{} + \'\upsilon{} + \`\omega{} + \'\omega{} +}} +\newcommand*{\GreekExtendedIX}{% + \ensuregreek{% + \>\alpha\ypogegrammeni{} + \<\alpha\ypogegrammeni{} + \>`\alpha\ypogegrammeni{} + \<`\alpha\ypogegrammeni{} + \>'\alpha\ypogegrammeni{} + \<'\alpha\ypogegrammeni{} + \~>\alpha\ypogegrammeni{} + \~<\alpha\ypogegrammeni{} + \>\Alpha\ypogegrammeni{} + \<\Alpha\ypogegrammeni{} + \>`\Alpha\ypogegrammeni{} + \<`\Alpha\ypogegrammeni{} + \>'\Alpha\ypogegrammeni{} + \<'\Alpha\ypogegrammeni{} + \~>\Alpha\ypogegrammeni{} + \~<\Alpha\ypogegrammeni{} +}} +\newcommand*{\GreekExtendedX}{% + \ensuregreek{% + \>\eta\ypogegrammeni{} + \<\eta\ypogegrammeni{} + \>`\eta\ypogegrammeni{} + \<`\eta\ypogegrammeni{} + \>'\eta\ypogegrammeni{} + \<'\eta\ypogegrammeni{} + \~>\eta\ypogegrammeni{} + \~<\eta\ypogegrammeni{} + \>\Eta\ypogegrammeni{} + \<\Eta\ypogegrammeni{} + \>`\Eta\ypogegrammeni{} + \<`\Eta\ypogegrammeni{} + \>'\Eta\ypogegrammeni{} + \<'\Eta\ypogegrammeni{} + \~>\Eta\ypogegrammeni{} + \~<\Eta\ypogegrammeni{} +}} +\newcommand*{\GreekExtendedXI}{% + \ensuregreek{% + \>\omega\ypogegrammeni{} + \<\omega\ypogegrammeni{} + \>`\omega\ypogegrammeni{} + \<`\omega\ypogegrammeni{} + \>'\omega\ypogegrammeni{} + \<'\omega\ypogegrammeni{} + \~>\omega\ypogegrammeni{} + \~<\omega\ypogegrammeni{} + \>\Omega\ypogegrammeni{}\,% + \<\Omega\ypogegrammeni{}\,% + \>`\Omega\ypogegrammeni{}\,% + \<`\Omega\ypogegrammeni{}\,% + \>'\Omega\ypogegrammeni{}\,% + \<'\Omega\ypogegrammeni{}\,% + \~>\Omega\ypogegrammeni{}\,% + \~<\Omega\ypogegrammeni{} +}} +\newcommand*{\GreekExtendedXII}{% + \ensuregreek{% + \u\alpha{} + \=\alpha{} + \`\alpha\ypogegrammeni{} + \alpha\ypogegrammeni{} + \'\alpha\ypogegrammeni{} + \~\alpha{} + \~\alpha\ypogegrammeni{} + \u\Alpha{} + \=\Alpha{} + \`\Alpha{} + \'\Alpha{} + \Alpha\ypogegrammeni{} + \>{} + \prosgegrammeni{} + \>{} +}} +\newcommand*{\GreekExtendedXIII}{% + \ensuregreek{% + \~{} + \"\~{} + \`\eta\ypogegrammeni{} + \eta\ypogegrammeni{} + \'\eta\ypogegrammeni{} + \~\eta{} + \~\eta\ypogegrammeni{} + \`\Epsilon{} + \'\Epsilon{} + \`\Eta{} + \'\Eta{} + \Eta\ypogegrammeni{} + \>`{} + \>'{} + \~>{} +}} +\newcommand*{\GreekExtendedXIV}{% + \ensuregreek{% + \u\iota{} + \=\iota{} + \`"\iota{} + \'"\iota{} + \~\iota{} + \~"\iota{} + \u\Iota{} + \=\Iota{} + \`\Iota{} + \'\Iota{} + \<`{} + \<'{} + \~<{} +}} +\newcommand*{\GreekExtendedXV}{% + \ensuregreek{% + \u\upsilon{} + \=\upsilon{} + \`"\upsilon{} + \'"\upsilon{} + \>\rho{} + \<\rho{} + \~\upsilon{} + \~"\upsilon{} + \u\Upsilon{} + \=\Upsilon{} + \`\Upsilon{} + \'\Upsilon{} + \<\Rho{} + \`"{} + \'"{} + \`{} +}} +\newcommand*{\GreekExtendedXVI}{% + \ensuregreek{% + \`\omega\ypogegrammeni{} + \omega\ypogegrammeni{} + \'\omega\ypogegrammeni{} + \~\omega{} + \~\omega\ypogegrammeni{} + \`\Omicron{} + \'\Omicron{} + \`\Omega{} + \'\Omega{} + \Omega\ypogegrammeni{} + \'{} + \<{} +}} + + +\begin{minipage}{0.5\linewidth} + symbol accent macros + + \GreekExtendedI + + \GreekExtendedII + + \GreekExtendedIII + + \GreekExtendedIV + + \GreekExtendedV + + \GreekExtendedVI + + \GreekExtendedVII + + \GreekExtendedVIII + + \GreekExtendedIX + + \GreekExtendedX + + \GreekExtendedXI + + \GreekExtendedXII + + \GreekExtendedXIII + + \GreekExtendedXIV + + \GreekExtendedXV + + \GreekExtendedXVI +\end{minipage} +\hfill +\begin{minipage}{0.48\linewidth} +\noindent +named accent macros + +\ensuregreek{% +\accpsili\alpha{} +\accdasia\alpha{} +\accpsilivaria\alpha{} +\accdasiavaria\alpha{} +\accpsilioxia\alpha{} +\accdasiaoxia\alpha{} +\accpsiliperispomeni\alpha{} +\accdasiaperispomeni\alpha{} +\accpsili\Alpha{} +\accdasia\Alpha{} +\accpsilivaria\Alpha{} +\accdasiavaria\Alpha{} +\accpsilioxia\Alpha{} +\accdasiaoxia\Alpha{} +\accpsiliperispomeni\Alpha{} +\accdasiaperispomeni\Alpha{} + +\accpsili\epsilon{} +\accdasia\epsilon{} +\accpsilivaria\epsilon{} +\accdasiavaria\epsilon{} +\accpsilioxia\epsilon{} +\accdasiaoxia\epsilon{} +\accpsili\Epsilon{} +\accdasia\Epsilon{} +\accpsilivaria\Epsilon{} +\accdasiavaria\Epsilon{} +\accpsilioxia\Epsilon{} +\accdasiaoxia\Epsilon{} + +\accpsili\eta{} +\accdasia\eta{} +\accpsilivaria\eta{} +\accdasiavaria\eta{} +\accpsilioxia\eta{} +\accdasiaoxia\eta{} +\accpsiliperispomeni\eta{} +\accdasiaperispomeni\eta{} +\accpsili\Eta{} +\accdasia\Eta{} +\accpsilivaria\Eta{} +\accdasiavaria\Eta{} +\accpsilioxia\Eta{} +\accdasiaoxia\Eta{} +\accpsiliperispomeni\Eta{} +\accdasiaperispomeni\Eta{} + +\accpsili\iota{} +\accdasia\iota{} +\accpsilivaria\iota{} +\accdasiavaria\iota{} +\accpsilioxia\iota{} +\accdasiaoxia\iota{} +\accpsiliperispomeni\iota{} +\accdasiaperispomeni\iota{} +\accpsili\Iota{} +\accdasia\Iota{} +\accpsilivaria\Iota{} +\accdasiavaria\Iota{} +\accpsilioxia\Iota{} +\accdasiaoxia\Iota{} +\accpsiliperispomeni\Iota{} +\accdasiaperispomeni\Iota{} + +\accpsili\omicron{} +\accdasia\omicron{} +\accpsilivaria\omicron{} +\accdasiavaria\omicron{} +\accpsilioxia\omicron{} +\accdasiaoxia\omicron{} +\accpsili\Omicron{} +\accdasia\Omicron{} +\accpsilivaria\Omicron{} +\accdasiavaria\Omicron{} +\accpsilioxia\Omicron{} +\accdasiaoxia\Omicron{} + +\accpsili\upsilon{} +\accdasia\upsilon{} +\accpsilivaria\upsilon{} +\accdasiavaria\upsilon{} +\accpsilioxia\upsilon{} +\accdasiaoxia\upsilon{} +\accpsiliperispomeni\upsilon{} +\accdasiaperispomeni\upsilon{} +\accdasia\Upsilon{} +\accdasiavaria\Upsilon{} +\accdasiaoxia\Upsilon{} +\accdasiaperispomeni\Upsilon{} + +\accpsili\omega{} +\accdasia\omega{} +\accpsilivaria\omega{} +\accdasiavaria\omega{} +\accpsilioxia\omega{} +\accdasiaoxia\omega{} +\accpsiliperispomeni\omega{} +\accdasiaperispomeni\omega{} +\accpsili\Omega{} +\accdasia\Omega{} +\accpsilivaria\Omega{} +\accdasiavaria\Omega{} +\accpsilioxia\Omega{} +\accdasiaoxia\Omega{} +\accpsiliperispomeni\Omega{} +\accdasiaperispomeni\Omega{} + +\accvaria\alpha{} +\accoxia\alpha{} +\accvaria\epsilon{} +\accoxia\epsilon{} +\accvaria\eta{} +\accoxia\eta{} +\accvaria\iota{} +\accoxia\iota{} +\accvaria\omicron{} +\accoxia\omicron{} +\accvaria\upsilon{} +\accoxia\upsilon{} +\accvaria\omega{} +\accoxia\omega{} + +\accpsili\alpha\ypogegrammeni{} +\accdasia\alpha\ypogegrammeni{} +\accpsilivaria\alpha\ypogegrammeni{} +\accdasiavaria\alpha\ypogegrammeni{} +\accpsilioxia\alpha\ypogegrammeni{} +\accdasiaoxia\alpha\ypogegrammeni{} +\accpsiliperispomeni\alpha\ypogegrammeni{} +\accdasiaperispomeni\alpha\ypogegrammeni{} +\accpsili\Alpha\ypogegrammeni{} +\accdasia\Alpha\ypogegrammeni{} +\accpsilivaria\Alpha\ypogegrammeni{} +\accdasiavaria\Alpha\ypogegrammeni{} +\accpsilioxia\Alpha\ypogegrammeni{} +\accdasiaoxia\Alpha\ypogegrammeni{} +\accpsiliperispomeni\Alpha\ypogegrammeni{} +\accdasiaperispomeni\Alpha\ypogegrammeni{} + +\accpsili\eta\ypogegrammeni{} +\accdasia\eta\ypogegrammeni{} +\accpsilivaria\eta\ypogegrammeni{} +\accdasiavaria\eta\ypogegrammeni{} +\accpsilioxia\eta\ypogegrammeni{} +\accdasiaoxia\eta\ypogegrammeni{} +\accpsiliperispomeni\eta\ypogegrammeni{} +\accdasiaperispomeni\eta\ypogegrammeni{} +\accpsili\Eta\ypogegrammeni{} +\accdasia\Eta\ypogegrammeni{} +\accpsilivaria\Eta\ypogegrammeni{} +\accdasiavaria\Eta\ypogegrammeni{} +\accpsilioxia\Eta\ypogegrammeni{} +\accdasiaoxia\Eta\ypogegrammeni{} +\accpsiliperispomeni\Eta\ypogegrammeni{} +\accdasiaperispomeni\Eta\ypogegrammeni{} + +\accpsili\omega\ypogegrammeni{} +\accdasia\omega\ypogegrammeni{} +\accpsilivaria\omega\ypogegrammeni{} +\accdasiavaria\omega\ypogegrammeni{} +\accpsilioxia\omega\ypogegrammeni{} +\accdasiaoxia\omega\ypogegrammeni{} +\accpsiliperispomeni\omega\ypogegrammeni{} +\accdasiaperispomeni\omega\ypogegrammeni{} +\accpsili\Omega\ypogegrammeni{}\,% +\accdasia\Omega\ypogegrammeni{}\,% +\accpsilivaria\Omega\ypogegrammeni{}\,% +\accdasiavaria\Omega\ypogegrammeni{}\,% +\accpsilioxia\Omega\ypogegrammeni{}\,% +\accdasiaoxia\Omega\ypogegrammeni{}\,% +\accpsiliperispomeni\Omega\ypogegrammeni{}\,% +\accdasiaperispomeni\Omega\ypogegrammeni{} + +\u\alpha{} +\=\alpha{} +\accvaria\alpha\ypogegrammeni{} +\alpha\ypogegrammeni{} +\accoxia\alpha\ypogegrammeni{} +\accperispomeni\alpha{} +\accperispomeni\alpha\ypogegrammeni{} +\u\Alpha{} +\=\Alpha{} +\accvaria\Alpha{} +\accoxia\Alpha{} +\Alpha\ypogegrammeni{} +\accpsili{} +\prosgegrammeni{} +\accpsili{} + +\accperispomeni{} +\accdialytikaperispomeni{} +\accvaria\eta\ypogegrammeni{} +\eta\ypogegrammeni{} +\accoxia\eta\ypogegrammeni{} +\accperispomeni\eta{} +\accperispomeni\eta\ypogegrammeni{} +\accvaria\Epsilon{} +\accoxia\Epsilon{} +\accvaria\Eta{} +\accoxia\Eta{} +\Eta\ypogegrammeni{} +\accpsilivaria{} +\accpsilioxia{} +\accpsiliperispomeni{} + +\u\iota{} +\=\iota{} +\accdialytikavaria\iota{} +\accdialytikatonos\iota{} +\accperispomeni\iota{} +\accdialytikaperispomeni\iota{} +\u\Iota{} +\=\Iota{} +\accvaria\Iota{} +\accoxia\Iota{} +\accdasiavaria{} +\accdasiaoxia{} +\accdasiaperispomeni{} + +\u\upsilon{} +\=\upsilon{} +\accdialytikavaria\upsilon{} +\accdialytikatonos\upsilon{} +\accpsili\rho{} +\accdasia\rho{} +\accperispomeni\upsilon{} +\accdialytikaperispomeni\upsilon{} +\u\Upsilon{} +\=\Upsilon{} +\accvaria\Upsilon{} +\accoxia\Upsilon{} +\accdasia\Rho{} +\accdialytikavaria{} +\accdialytikatonos{} +\accvaria{} + +\accvaria\omega\ypogegrammeni{} +\omega\ypogegrammeni{} +\accoxia\omega\ypogegrammeni{} +\accperispomeni\omega{} +\accperispomeni\omega\ypogegrammeni{} +\accvaria\Omicron{} +\accoxia\Omicron{} +\accvaria\Omega{} +\accoxia\Omega{} +\Omega\ypogegrammeni{} +\accoxia{} +\accdasia{} +} % end \ensuregreek +\end{minipage} + +\section{PDF Strings} + +Generic LICRs and symbol accent macros. +(Check the ToC in the PDF sidebar to see how PDF strings are handled.) + +\subsection{Greek and Coptic} + +\subsubsection{\GreekAndCopticI} +\subsubsection{\GreekAndCopticII} +\subsubsection{\GreekAndCopticIII} +\subsubsection{\GreekAndCopticIV} +\subsubsection{\GreekAndCopticV} +\subsubsection{\GreekAndCopticVI} +\subsubsection{\GreekAndCopticVII} + +\subsection{Greek Extended} + +\subsubsection{\GreekExtendedI} +\subsubsection{\GreekExtendedII} +\subsubsection{\GreekExtendedIII} +\subsubsection{\GreekExtendedIV} +\subsubsection{\GreekExtendedV} +\subsubsection{\GreekExtendedVI} +\subsubsection{\GreekExtendedVII} +\subsubsection{\GreekExtendedVIII} +\subsubsection{\GreekExtendedIX} +\subsubsection{\GreekExtendedX} +\subsubsection{\GreekExtendedXI} +\subsubsection{\GreekExtendedXII} +\subsubsection{\GreekExtendedXIII} +\subsubsection{\GreekExtendedXIV} +\subsubsection{\GreekExtendedXV} +\subsubsection{\GreekExtendedXVI} + +If this document is compiled with a post 2022 LaTeX and \emph{Babel}, +a test for \cs{MakeUppercase} follows. + +\ifdefined \AddToNoCaseChangeList + % skip \MakeUppercase tests for LaTeX older than 2022/6 + + \subsection{MakeUppercase} + + \ifdefined \extrasgreek + \selectlanguage{greek} % must be done before the \section command + \fi + + \subsubsection{\MakeUppercase{\GreekAndCopticI}} + \subsubsection{\MakeUppercase{\GreekAndCopticII}} + \subsubsection{\MakeUppercase{\GreekAndCopticIII}} + \subsubsection{\MakeUppercase{\GreekAndCopticIV}} + \subsubsection{\MakeUppercase{\GreekAndCopticV}} + \subsubsection{\MakeUppercase{\GreekAndCopticVI}} + \subsubsection{\MakeUppercase{\GreekAndCopticVII}} + + \subsubsection{\MakeUppercase{\GreekExtendedI}} + \subsubsection{\MakeUppercase{\GreekExtendedII}} + \subsubsection{\MakeUppercase{\GreekExtendedIII}} + \subsubsection{\MakeUppercase{\GreekExtendedIV}} + \subsubsection{\MakeUppercase{\GreekExtendedV}} + \subsubsection{\MakeUppercase{\GreekExtendedVI}} + \subsubsection{\MakeUppercase{\GreekExtendedVII}} + \subsubsection{\MakeUppercase{\GreekExtendedVIII}} + \subsubsection{\MakeUppercase{\GreekExtendedIX}} + \subsubsection{\MakeUppercase{\GreekExtendedX}} + \subsubsection{\MakeUppercase{\GreekExtendedXI}} + \subsubsection{\MakeUppercase{\GreekExtendedXII}} + \subsubsection{\MakeUppercase{\GreekExtendedXIII}} + \subsubsection{\MakeUppercase{\GreekExtendedXIV}} + \subsubsection{\MakeUppercase{\GreekExtendedXV}} + \subsubsection{\MakeUppercase{\GreekExtendedXVI}} + + \ifdefined \extrasgreek + \selectlanguage{english} + \fi +\fi \begin{table}[bp] \centering - \begin{tabular}{lcc} - \hline - macro & text & math \\ - \hline - \verb$\beta$ & \beta & $\beta$ \\ - \verb$\varbeta$ & \varbeta & $\varbeta$ \\ - \verb$\betasymbol$ & \betasymbol & $\betasymbol$ \\ - \hline - \verb$\epsilon$ & \epsilon & $\epsilon$ \\ - \verb$\varepsilon$ & \varepsilon & $\varepsilon$ \\ - \verb$\epsilonsymbol$ & \epsilonsymbol & $\epsilonsymbol$ \\ - \hline - \verb$\phi$ & \phi & $\phi$ \\ - \verb$\varphi$ & \varphi & $\varphi$ \\ - \verb$\phisymbol$ & \phisymbol & $\phisymbol$ \\ - \hline - \verb$\kappa$ & \kappa & $\kappa$ \\ - \verb$\varkappa$ & \varkappa & $\varkappa$ \\ - \verb$\kappasymbol$ & \kappasymbol & $\kappasymbol$ \\ - \hline - \verb$\pi$ & \pi & $\pi$ \\ - \verb$\varpi$ & \varpi & $\varpi$ \\ - \verb$\pisymbol$ & \pisymbol & $\pisymbol$ \\ - \hline - \verb$\rho$ & \rho & $\rho$ \\ - \verb$\varrho$ & \varrho & $\varrho$ \\ - \verb$\rhosymbol$ & \rhosymbol & $\rhosymbol$ \\ - \hline - \verb$\sigma$ & \sigma & $\sigma$ \\ - \verb$\varsigma$ & \varsigma & $\varsigma$ \\ - \verb$\finalsigma$ & \finalsigma & $\finalsigma$ \\ - \hline - \verb$\theta$ & \theta & $\theta$ \\ - \verb$\vartheta$ & \vartheta & $\vartheta$ \\ - \verb$\thetasymbol$ & \thetasymbol & $\thetasymbol$ \\ - \hline - \verb$\Theta$ & \Theta & $\Theta$ \\ - \verb$\varTheta$ & \missing & $\varTheta$ \\ - \verb$\Thetasymbol$ & \Thetasymbol & \missing \\ - \hline + \begin{tabular}[t]{lcc} + \hline + macro & text & math \\ + \hline \\ + \verb$\beta$ & \beta & $\beta$ \\ + \verb$\varbeta$ & \varbeta & $\varbeta$ \\ + \verb$\betasymbol$ & \betasymbol & $\betasymbol$ \\ + \hline \\ + \verb$\epsilon$ & \epsilon & $\epsilon$ \\ + \verb$\varepsilon$ & \varepsilon & $\varepsilon$ \\ + \verb$\epsilonsymbol$ & \epsilonsymbol & $\epsilonsymbol$\\ + \hline \\ + \verb$\phi$ & \phi & $\phi$ \\ + \verb$\varphi$ & \varphi & $\varphi$ \\ + \verb$\phisymbol$ & \phisymbol & $\phisymbol$ \\ + \hline \\ + \verb$\kappa$ & \kappa & $\kappa$ \\ + \verb$\varkappa$ & \varkappa & $\varkappa$ \\ + \verb$\kappasymbol$ & \kappasymbol & $\kappasymbol$ \\ + \hline \\ + \verb$\pi$ & \pi & $\pi$ \\ + \verb$\varpi$ & \varpi & $\varpi$ \\ + \verb$\pisymbol$ & \pisymbol & $\pisymbol$ \\ + \hline \\ + % \end{tabular} + % \begin{tabular}[t]{lcc} + % \hline + % macro & text & math \\ + % \hline \\ + \verb$\rho$ & \rho & $\rho$ \\ + \verb$\varrho$ & \varrho & $\varrho$ \\ + \verb$\rhosymbol$ & \rhosymbol & $\rhosymbol$ \\ + \hline \\ + \verb$\sigma$ & \sigma & $\sigma$ \\ + \verb$\varsigma$ & \varsigma & $\varsigma$ \\ + \verb$\finalsigma$ & \finalsigma & $\finalsigma$ \\ + \hline \\ + \verb$\theta$ & \theta & $\theta$ \\ + \verb$\vartheta$ & \vartheta & $\vartheta$ \\ + \verb$\thetasymbol$ & \thetasymbol & $\thetasymbol$ \\ + \hline \\ + \verb$\Theta$ & \Theta & $\Theta$ \\ + \verb$\varTheta$ & \varTheta & $\varTheta$ \\ + \verb$\Thetasymbol$ & \Thetasymbol & \missing \\ + \hline \\ \end{tabular} - \caption{Macros for Greek symbol variants (\missing = symbol only - available with additional packages). - With 8-bit TeX and the \texttt{normalize-symbols} option, the output for - both variants in text mode is the same (8-bit Greek text fonts contain - only one symbol variant). \label{tab:symbol-variant-macros}} + \caption{Macros for Greek \hyperref[sec:symbol-variants]{symbol variants} + (\missing = symbol only available with additional packages). + With 8-bit TeX and the + \hyperref[item:normalize-symbols]{\texttt{normalize-symbols}} option, + the output for both variants in text mode is the same (8-bit Greek text + fonts contain only one symbol variant). \label{tab:symbol-variant-macros}} \end{table} + \end{document} diff --git a/language/greek/greek-fontenc/alphabeta-lgr.def b/language/greek/greek-fontenc/alphabeta-lgr.def deleted file mode 100644 index 1affabd264..0000000000 --- a/language/greek/greek-fontenc/alphabeta-lgr.def +++ /dev/null @@ -1,189 +0,0 @@ -% alphabeta-lgr.def -% =================== -% Composite definitions for 8-bit TeX -% ****************************************** -% -% :Copyright: © 2014, 2020 Günter Milde -% :Licence: This work may be distributed and/or modified under the -% conditions of the `LaTeX Project Public License`_, either -% version 1.3 of this license or any later version. -% :Identification: -% :: - -\ProvidesFile{alphabeta-lgr} -[2020/09/25 1.0 Composite definitions for 8-bit TeX] - -% :Changelog: -% .. class:: borderless -% -% ====== ========== ===================================================== -% 0.11.2 2014-09-04 outsourced from ``alphabeta.sty``. -% 1.0 2020-09-25 New package version. No changes in this file. -% ====== ========== ===================================================== -% -% The alphabeta_ package re-defines the math macros for Greek letters to work -% in both, text and math mode, so that Greek letters can be specified with -% the established command names in text, too. -% -% The NFSS TextComposite mechanism looks for the next token without expanding -% it. In order to let compositions like ``\>"\alpha`` work as expected we -% define TextComposites with the `letter name commands`. -% -% This file expands the font encoding definitions in lgrenc.def_ with -% composite commands for use with 8-bit TeX fonts. It is sourced by -% alphabeta_ under 8-bit TeX (pdfTeX, eTeX, TeX). -% -% :: - - \DeclareTextComposite{\accvaria}{LGR}{\alpha}{128} - \DeclareTextComposite{\accdasia}{LGR}{\alpha}{129} - \DeclareTextComposite{\accpsili}{LGR}{\alpha}{130} - \DeclareTextComposite{\accdasiavaria}{LGR}{\alpha}{131} - \DeclareTextComposite{\acctonos}{LGR}{\alpha}{136} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\alpha}{137} - \DeclareTextComposite{\accpsilioxia}{LGR}{\alpha}{138} - \DeclareTextComposite{\accpsilivaria}{LGR}{\alpha}{139} - \DeclareTextComposite{\accperispomeni}{LGR}{\alpha}{144} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\alpha}{145} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\alpha}{146} - \DeclareTextComposite{\accvaria}{LGR}{\eta}{152} - \DeclareTextComposite{\accdasia}{LGR}{\eta}{153} - \DeclareTextComposite{\accpsili}{LGR}{\eta}{154} - \DeclareTextComposite{\acctonos}{LGR}{\eta}{160} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\eta}{161} - \DeclareTextComposite{\accpsilioxia}{LGR}{\eta}{162} - \DeclareTextComposite{\accdasiavaria}{LGR}{\eta}{163} - \DeclareTextComposite{\accperispomeni}{LGR}{\eta}{168} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\eta}{169} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\eta}{170} - \DeclareTextComposite{\accpsilivaria}{LGR}{\eta}{171} - \DeclareTextComposite{\accvaria}{LGR}{\omega}{176} - \DeclareTextComposite{\accdasia}{LGR}{\omega}{177} - \DeclareTextComposite{\accpsili}{LGR}{\omega}{178} - \DeclareTextComposite{\accdasiavaria}{LGR}{\omega}{179} - \DeclareTextComposite{\acctonos}{LGR}{\omega}{184} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\omega}{185} - \DeclareTextComposite{\accpsilioxia}{LGR}{\omega}{186} - \DeclareTextComposite{\accpsilivaria}{LGR}{\omega}{187} - \DeclareTextComposite{\accperispomeni}{LGR}{\omega}{192} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\omega}{193} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\omega}{194} - \DeclareTextComposite{\accvaria}{LGR}{\iota}{200} - \DeclareTextComposite{\accdasia}{LGR}{\iota}{201} - \DeclareTextComposite{\accpsili}{LGR}{\iota}{202} - \DeclareTextComposite{\accdasiavaria}{LGR}{\iota}{203} - \DeclareTextComposite{\acctonos}{LGR}{\iota}{208} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\iota}{209} - \DeclareTextComposite{\accpsilioxia}{LGR}{\iota}{210} - \DeclareTextComposite{\accpsilivaria}{LGR}{\iota}{211} - \DeclareTextComposite{\accperispomeni}{LGR}{\iota}{216} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\iota}{217} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\iota}{218} - \DeclareTextComposite{\accdialytika}{LGR}{\iota}{240} - \DeclareTextComposite{\accdialytikavaria}{LGR}{\iota}{241} - \DeclareTextComposite{\accdialytikatonos}{LGR}{\iota}{242} - \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\iota}{243} - \DeclareTextComposite{\accvaria}{LGR}{\upsilon}{204} - \DeclareTextComposite{\accdasia}{LGR}{\upsilon}{205} - \DeclareTextComposite{\accpsili}{LGR}{\upsilon}{206} - \DeclareTextComposite{\accdasiavaria}{LGR}{\upsilon}{207} - \DeclareTextComposite{\acctonos}{LGR}{\upsilon}{212} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\upsilon}{213} - \DeclareTextComposite{\accpsilioxia}{LGR}{\upsilon}{214} - \DeclareTextComposite{\accpsilivaria}{LGR}{\upsilon}{215} - \DeclareTextComposite{\accperispomeni}{LGR}{\upsilon}{220} - \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\upsilon}{221} - \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\upsilon}{222} - \DeclareTextComposite{\accdialytika}{LGR}{\upsilon}{244} - \DeclareTextComposite{\accdialytikavaria}{LGR}{\upsilon}{245} - \DeclareTextComposite{\accdialytikatonos}{LGR}{\upsilon}{246} - \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\upsilon}{247} - \DeclareTextComposite{\accvaria}{LGR}{\epsilon}{224} - \DeclareTextComposite{\accdasia}{LGR}{\epsilon}{225} - \DeclareTextComposite{\accpsili}{LGR}{\epsilon}{226} - \DeclareTextComposite{\accdasiavaria}{LGR}{\epsilon}{227} - \DeclareTextComposite{\acctonos}{LGR}{\epsilon}{232} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\epsilon}{233} - \DeclareTextComposite{\accpsilioxia}{LGR}{\epsilon}{234} - \DeclareTextComposite{\accpsilivaria}{LGR}{\epsilon}{235} - \DeclareTextComposite{\accvaria}{LGR}{\omicron}{228} - \DeclareTextComposite{\accdasia}{LGR}{\omicron}{229} - \DeclareTextComposite{\accpsili}{LGR}{\omicron}{230} - \DeclareTextComposite{\accdasiavaria}{LGR}{\omicron}{231} - \DeclareTextComposite{\acctonos}{LGR}{\omicron}{236} - \DeclareTextComposite{\accdasiaoxia}{LGR}{\omicron}{237} - \DeclareTextComposite{\accpsilioxia}{LGR}{\omicron}{238} - \DeclareTextComposite{\accpsilivaria}{LGR}{\omicron}{239} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Alpha}{<A} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Alpha}{<`A} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Alpha}{<'A} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Alpha}{<\char126A} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Alpha}{>A} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Alpha}{>`A} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Alpha}{>'A} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Alpha}{>\char126A} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Alpha}{'A} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Alpha}{`A} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Epsilon}{<E} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Epsilon}{<'E} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Epsilon}{<`E} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Epsilon}{>E} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Epsilon}{>'E} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Epsilon}{>`E} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Epsilon}{'E} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Epsilon}{`E} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Eta}{<H} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Eta}{<`H} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Eta}{<'H} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Eta}{<\char126H} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Eta}{>H} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Eta}{>`H} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Eta}{>'H} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Eta}{>\char126H} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Eta}{'H} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Eta}{`H} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Iota}{<I} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Iota}{<`I} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Iota}{<'I} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Iota}{<\char126I} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Iota}{>I} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Iota}{>`I} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Iota}{>'I} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Iota}{>\char126I} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Iota}{'I} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Iota}{`I} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omicron}{<O} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omicron}{<`O} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omicron}{<'O} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Omicron}{>O} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omicron}{>`O} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omicron}{>'O} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omicron}{'O} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omicron}{`O} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Upsilon}{<U} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Upsilon}{<`U} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Upsilon}{<'U} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Upsilon}{<\char126U} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Upsilon}{'U} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Upsilon}{`U} - \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omega}{<W} - \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omega}{<`W} - \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omega}{<'W} - \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Omega}{<\char126W} - \DeclareTextCompositeCommand{\accpsili}{LGR}{\Omega}{>W} - \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omega}{>`W} - \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omega}{>'W} - \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Omega}{>\char126W} - \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omega}{'W} - \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omega}{`W} - \DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219} - \DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223} - \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Alpha}{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Epsilon}{\LGR@E@hiatus} - - -% .. References -% -% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _alphabeta: alphabeta.sty.html -% .. _lgrenc.def: lgrenc.def.html diff --git a/language/greek/greek-fontenc/alphabeta-lgr.def.html b/language/greek/greek-fontenc/alphabeta-lgr.def.html deleted file mode 100644 index 05af3f854e..0000000000 --- a/language/greek/greek-fontenc/alphabeta-lgr.def.html +++ /dev/null @@ -1,978 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta charset="utf-8" /> -<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> -<meta name="viewport" content="width=device-width, initial-scale=1" /> -<meta name="dcterms.rights" content="© 2014, 2020 Günter Milde" /> -<title>alphabeta-lgr.def</title> -<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> -<style type="text/css"> - -/* Minimal style sheet for the HTML output of Docutils. */ -/* */ -/* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015, 2021 Günter Milde. */ -/* :License: Released under the terms of the `2-Clause BSD license`_, */ -/* in short: */ -/* */ -/* Copying and distribution of this file, with or without modification, */ -/* are permitted in any medium without royalty provided the copyright */ -/* notice and this notice are preserved. */ -/* */ -/* This file is offered as-is, without any warranty. */ -/* */ -/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ - -/* This CSS3 stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantics visible. */ -/* */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* titles */ -p.topic-title, -p.admonition-title, -p.system-message-title { - font-weight: bold; -} -p.sidebar-title, -p.rubric { - font-weight: bold; - font-size: larger; -} -p.rubric { - color: maroon; -} -p.subtitle, -p.section-subtitle, -p.sidebar-subtitle { - font-weight: bold; - margin-top: -0.5em; -} -h1 + p.subtitle { - font-size: 1.6em; -} -a.toc-backref { - color: inherit; - text-decoration: none; -} - -/* Warnings, Errors */ -.system-messages h2, -.system-message-title, -span.problematic { - color: red; -} - -/* Inline Literals */ -.docutils.literal { - font-family: monospace; - white-space: pre-wrap; -} -/* do not wrap at hyphens and similar: */ -.literal > span.pre { white-space: nowrap; } - -/* Lists */ - -/* compact and simple lists: no margin between items */ -.simple li, .simple ul, .simple ol, -.compact li, .compact ul, .compact ol, -.simple > li p, dl.simple > dd, -.compact > li p, dl.compact > dd { - margin-top: 0; - margin-bottom: 0; -} -/* Nested Paragraphs */ -p:first-child { margin-top: 0; } -p:last-child { margin-bottom: 0; } -details > p:last-child { margin-bottom: 1em; } - -/* Table of Contents */ -.contents ul.auto-toc { /* section numbers present */ - list-style-type: none; -} - -/* Enumerated Lists */ -ol.arabic { list-style: decimal } -ol.loweralpha { list-style: lower-alpha } -ol.upperalpha { list-style: upper-alpha } -ol.lowerroman { list-style: lower-roman } -ol.upperroman { list-style: upper-roman } - -/* Definition Lists and Derivatives */ -dt .classifier { font-style: italic } -dt .classifier:before { - font-style: normal; - margin: 0.5em; - content: ":"; -} -/* Field Lists and similar */ -/* bold field name, content starts on the same line */ -dl.field-list, -dl.option-list, -dl.docinfo { - display: flow-root; -} -dl.field-list > dt, -dl.option-list > dt, -dl.docinfo > dt { - font-weight: bold; - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.2em; -} -/* Offset for field content (corresponds to the --field-name-limit option) */ -dl.field-list > dd, -dl.option-list > dd, -dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ -} -/* start nested lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; -} -/* start field-body on a new line after long field names */ -dl.field-list > dd > *:first-child, -dl.option-list > dd > *:first-child -{ - display: inline-block; - width: 100%; - margin: 0; -} - -/* Bibliographic Fields (docinfo) */ -dl.docinfo pre.address { - font: inherit; - margin: 0.5em 0; -} -dl.docinfo > dd.authors > p { margin: 0; } - -/* Option Lists */ -dl.option-list > dt { font-weight: normal; } -span.option { white-space: nowrap; } - -/* Footnotes and Citations */ - -.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ -/* hanging indent */ -.citation { padding-left: 2em; } -.footnote { padding-left: 1.7em; } -.footnote.superscript { padding-left: 1.0em; } -.citation > .label { margin-left: -2em; } -.footnote > .label { margin-left: -1.7em; } -.footnote.superscript > .label { margin-left: -1.0em; } - -.footnote > .label + *, -.citation > .label + * { - display: inline-block; - margin-top: 0; - vertical-align: top; -} -.footnote > .backrefs + *, -.citation > .backrefs + * { - margin-top: 0; -} -.footnote > .label + p, .footnote > .backrefs + p, -.citation > .label + p, .citation > .backrefs + p { - display: inline; - vertical-align: inherit; -} - -.backrefs { user-select: none; } -.backrefs > a { font-style: italic; } - -/* superscript footnotes */ -a[role="doc-noteref"].superscript, -.footnote.superscript > .label, -.footnote.superscript > .backrefs { - vertical-align: super; - font-size: smaller; - line-height: 1; -} -a[role="doc-noteref"].superscript > .fn-bracket, -.footnote.superscript > .label > .fn-bracket { - /* hide brackets in display but leave for copy/paste */ - display: inline-block; - width: 0; - overflow: hidden; -} -[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { - padding-left: 0.15em; /* separate consecutive footnote references */ - /* TODO: unfortunately, "+" also selects with text between the references. */ -} - -/* Alignment */ -.align-left { - text-align: left; - margin-right: auto; -} -.align-center { - text-align: center; - margin-left: auto; - margin-right: auto; -} -.align-right { - text-align: right; - margin-left: auto; -} -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } - -/* reset inner alignment in figures and tables */ -figure.align-left, figure.align-right, -table.align-left, table.align-center, table.align-right { - text-align: inherit; -} - -/* Text Blocks */ -.topic { margin: 1em 2em; } -.sidebar, -.admonition, -.system-message { - margin: 1em 2em; - border: thin solid; - padding: 0.5em 1em; -} -div.line-block { display: block; } -div.line-block div.line-block, pre { margin-left: 2em; } - -/* Code line numbers: dropped when copying text from the page */ -pre.code .ln { display: none; } -pre.code code:before { - content: attr(data-lineno); /* …, none) fallback not supported by any browser */ - color: gray; -} - -/* Tables */ -table { - border-collapse: collapse; -} -td, th { - border: thin solid silver; - padding: 0 1ex; -} -.borderless td, .borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - -table > caption { - text-align: left; - margin-top: 0.2em; - margin-bottom: 0.2em; -} -table.captionbelow { - caption-side: bottom; -} - -/* Document Header and Footer */ -header { border-bottom: 1px solid black; } -footer { border-top: 1px solid black; } - -/* Images are block-level by default in Docutils */ -/* New HTML5 block elements: set display for older browsers */ -img, header, footer, main, aside, nav, section, figure, video, details { - display: block; -} -/* inline images */ -p img, p video, figure img, figure video { - display: inline; -} - -</style> -<style type="text/css"> - -/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ -/* Generic responsive design for all screen sizes. */ -/* */ -/* :Author: Günter Milde */ -/* */ -/* :Id: $Id$ */ -/* :Copyright: © 2021 Günter Milde. */ -/* :License: Released under the terms of the `2-Clause BSD license`_, */ -/* in short: */ -/* */ -/* Copying and distribution of this file, with or without modification, */ -/* are permitted in any medium without royalty provided the copyright */ -/* notice and this notice are preserved. */ -/* */ -/* This file is offered as-is, without any warranty. */ -/* */ -/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: https://www.w3.org/Style/CSS/ */ - -/* Note: */ -/* This style sheet is provisional: */ -/* the API is not settled and may change with any minor Docutils version. */ - - - -/* General Settings */ -/* ================ */ - - -* { box-sizing: border-box; } - -body { - background-color: #fafaf6; - margin: auto; - --field-indent: 6.6em; /* indent of fields in field lists */ - --sidebar-margin-right: 0; /* adapted in media queries below */ -} -main { - counter-reset: figure table; -} -body > * { - background-color: white; - line-height: 1.6; - padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ - margin: auto; - max-width: 100rem; -} -sup, sub { /* avoid additional inter-line space for lines with sup/sub */ - line-height: 1; -} - -/* Vertical Space (Parskip) */ -p, ol, ul, dl, li, -div.line-block, -.topic, -.footnote, .citation, -div > math, -table { - margin-top: 0.5em; - margin-bottom: 0.5em; -} -h1, h2, h3, h4, h5, h6, -dl > dd, details > p:last-child { - margin-bottom: 0.5em; -} - -/* Indented Blocks */ -blockquote, figure, .topic { - margin: 1em 2%; - padding-left: 1em; -} -div.line-block div.line-block, -pre, dd, dl.option-list { - margin-left: calc(2% + 1em); -} - -/* Object styling */ -/* ============== */ - -footer, header { - font-size: small; -} - -/* Frontmatter */ -div.dedication { - padding: 0; - margin: 1.4em 0; - font-style: italic; - font-size: large; -} -.dedication p.topic-title { - display: none; -} - -blockquote p.attribution, -.topic p.attribution { - text-align: right; -} - -/* Table of Contents */ -nav.contents ul { - padding-left: 1em; -} -ul.auto-toc > li > p { /* hanging indent */ - padding-left: 1em; - text-indent: -1em; -} -main > nav.contents ul:not(.auto-toc) { - list-style-type: square; -} -main > nav.contents ul ul:not(.auto-toc) { - list-style-type: disc; -} -main > nav.contents ul ul ul:not(.auto-toc) { - list-style-type: '\2B29\ '; -} -main > nav.contents ul ul ul ul:not(.auto-toc) { - list-style-type: '\2B1D\ '; -} -main > nav.contents ul ul ul ul ul:not(.auto-toc) { - list-style-type: '\2B2A\ '; -} -nav.contents ul > li::marker { - color: grey; -} - -/* Transitions */ -hr { - margin: 1em 10%; -} - -/* Lists */ - -ul, ol { - padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ -} -dl.field-list > dd, -dl.docinfo > dd { - margin-left: var(--field-indent); /* adapted in media queries or HTML */ -} -dl.option-list > dd { - margin-left: 20%; -} -/* run-in: start field-body on same line after long field names */ -dl.field-list.run-in > dd p { - display: block; -} -/* "description style" like in most dictionaries, encyclopedias etc. */ -dl.description { - display: flow-root; -} -dl.description > dt { - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.3em; - font-weight: bold; -} -dl.description > dd:after { - display: table; - content: ""; - clear: left; /* clearfix for empty descriptions */ -} -/* start lists nested in description/field lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; -} - -/* disclosures */ -details { padding-left: 1em; } -summary { margin-left: -1em; } - -/* Footnotes and Citations */ -.footnote { - font-size: small; -} - -/* Images, Figures, and Tables */ -img { - display: block; -} -p > img, p > a > img, -figure > img, figure > a > img { - display: inline; -} - -figcaption, -table > caption { - /* font-size: small; */ - font-style: italic; -} -figcaption > .legend { - font-size: small; - font-style: initial; -} -figure.numbered > figcaption > p:before { - counter-increment: figure; - content: "Figure " counter(figure) ": "; - font-weight: bold; - font-style: initial; -} - -table tr { - text-align: left; - vertical-align: baseline; -} -table.booktabs { /* "booktabs" style (no vertical lines) */ - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} -table.numbered > caption:before { - counter-increment: table; - content: "Table " counter(table) ": "; - font-weight: bold; - font-style: initial; -} - -/* Admonitions and System Messages */ -.admonition, -div.system-message { - border: thin solid silver; - margin: 1em 2%; - padding: 0.5em 1em; -} -.caution p.admonition-title, -.attention p.admonition-title, -.danger p.admonition-title, -.warning p.admonition-title, -div.error { - color: maroon; -} -div.system-message > p > span.literal { - overflow-wrap: break-word; -} - -/* Literal and Code */ -pre.literal-block, pre.doctest{ - padding: 0.2em; - overflow-x: auto; -} -.literal-block, .doctest, span.literal { - background-color: #f6f9f8; -} -.system-message span.literal { - background-color: inherit; -} - -/* basic highlighting: for a complete scheme, see */ -/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ -pre.code .comment, code .comment { color: #5C6576 } -pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } -pre.code .literal.string, code .literal.string { color: #0C5404 } -pre.code .name.builtin, code .name.builtin { color: #352B84 } -pre.code .deleted, code .deleted { background-color: #DEB0A1} -pre.code .inserted, code .inserted { background-color: #A3D289} - -/* Hyperlink References */ -a { - text-decoration: none; /* for chromium */ - /* Wrap links at any place, if this is the only way to prevent overflow */ - overflow-wrap: break-word; -} -.contents a, a.toc-backref, a.citation-reference { - overflow-wrap: inherit; -} -/* Undecorated Links (see also minimal.css) */ -/* a.citation-reference, */ -.citation a.fn-backref { - color: inherit; -} -a:hover { - text-decoration: underline; -} -*:hover > a.toc-backref:after { - content: " \2191"; /* ↑ UPWARDS ARROW */ - color: grey; -} -*:hover > a.self-link:after { - content: "\1F517"; /* LINK SYMBOL */ - color: grey; - font-size: smaller; - margin-left: 0.2em; -} -/* highlight the target of the current URL */ -section:target > h2, section:target > h3, section:target > h4, -section:target > h5, section:target > h6, -.contents :target, -.contents:target > .topic-title, -[role="doc-biblioentry"]:target > .label, -[role="doc-biblioref"]:target, -[role="note"]:target, /* Docutils 0.18 ... 0.19 */ -[role="doc-footnote"]:target, /* Docutils >= 0.20 */ -[role="doc-noteref"]:target { - background-color: #d2e6ec; -} - -/* Block Alignment */ -/* Let content flow to the side of aligned images and figures */ - -/* no floats around this elements */ -footer, header, hr, -h1, h2, h3 { - clear: both; -} - -img.align-left, -video.align-left, -figure.align-left, -table.align-left { - margin-left: 0; - padding-left: 0; - margin-right: 0.5em; - clear: left; - float: left; -} -img.align-right, -video.align-right, -figure.align-right, -table.align-right { - margin-left: 0.5em; - margin-right: 0; - clear: right; - float: right; -} - -/* Margin Elements */ -/* see below for screen size dependent rules */ -.sidebar, -.marginal, -.admonition.marginal { - max-width: 40%; - border: none; - background-color: #efefea; - margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; - padding: 0.5em; - padding-left: 0.7em; - clear: right; - float: right; - font-size: small; -} -.sidebar { - width: 40%; -} - -/* Math */ -/* for math-output=MathML (for math-output=HTML, see math.css) */ -math .boldsymbol { - font-weight: bold; -} -mstyle.mathscr, mi.mathscr { - font-family: STIX; -} - -/* Adaptive page layout */ -/* ==================== */ - -@media (max-width: 30em) { - /* Smaller margins and no floating elements for small screens */ - /* (main text less than 40 characters/line) */ - body > * { - padding: 0.5rem 5%; - line-height: 1.4 - } - .sidebar, - .marginal, - .admonition.marginal { - width: auto; - max-width: 100%; - float: none; - } - dl.option-list, - pre { - margin-left: 0; - } - body { - --field-indent: 4em; - } - dl.field-list.narrow, dl.docinfo, dl.option-list { - --field-indent: 2.4em; - } - pre, pre * { - font-size: 0.9em; - /* overflow: auto; */ - } -} - -@media (min-width: 54em) { - /* Move ToC to the left */ - /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ - /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ - body.with-toc { - padding-left: 8%; - } - body.with-toc > * { - margin-left: 0; - padding-left: 22rem; /* fallback for webkit */ - padding-left: min(22%, 22rem); - padding-right: 7%; - } - main > nav.contents { /* global ToC */ - position: fixed; - top: 0; - left: 0; - width: min(25%, 25em); - height: 100vh; - margin: 0; - background-color: #fafaf6; - padding: 1em 2% 0 2%; - overflow: auto; - } - main > nav.contents > * { - padding-left: 0; - line-height: 1.4; - } - main > nav.contents a { - color: inherit; - } -} - -@media (min-width: 70em) { - body { - --field-indent: 9em; - } -} - -@media (min-width: 77em) { - /* Move marginalia to 6rem from right border */ - /* .sidebar, */ - /* .marginal, */ - /* .admonition.marginal { */ - /* margin-right: calc(6rem - 15%); */ - /* } */ - /* BUG: margin is calculated for break point width */ - /* workaround: variable + many breakpoints */ - body > * { - padding-left: 18%; - padding-right: 28%; /* fallback for webkit */ - padding-right: min(28%, 28rem); - --sidebar-margin-right: -20rem; - } - /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ - body.with-toc > * { - padding-left: min(22%, 22rem); - padding-right: calc(78% - 50rem); /* fallback for webkit */ - padding-right: min(78% - 50rem, 28rem); - --sidebar-margin-right: 0; - } -} - -@media (min-width: 85em) { - body.with-toc > * { - --sidebar-margin-right: -9rem; - } -} - -@media (min-width: 90em) { - /* move marginalia into the margin */ - body > * { - padding-left: min(22%, 22rem); - --sidebar-margin-right: -23rem; - } - body.with-toc > * { - --sidebar-margin-right: -14rem; - } -} - -@media (min-width: 99em) { - /* move marginalia out of main text area */ - body.with-toc > * { - --sidebar-margin-right: -20rem; - } - body > *, body.with-toc > * { /* for webkit */ - padding-left: 22rem; - padding-right: 28rem; - } - .admonition.marginal, - .marginal { - width: 40%; /* make marginal figures, ... "full width" */ - } -} - -@media (min-width: 104em) { - body.with-toc > * { - --sidebar-margin-right: -23rem; - } -} - -</style> -</head> -<body> -<main id="alphabeta-lgr-def"> -<h1 class="title">alphabeta-lgr.def</h1> -<p class="subtitle" id="composite-definitions-for-8-bit-tex">Composite definitions for 8-bit TeX</p> -<dl class="docinfo"> -<dt class="copyright">Copyright<span class="colon">:</span></dt> -<dd class="copyright">© 2014, 2020 Günter Milde</dd> -<dt class="licence">Licence<span class="colon">:</span></dt> -<dd class="licence"><p>This work may be distributed and/or modified under the -conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either -version 1.3 of this license or any later version.</p> -</dd> -<dt class="identification">Identification<span class="colon">:</span></dt> -<dd class="identification"><pre class="literal-block">\ProvidesFile{alphabeta-lgr} -[2020/09/25 1.0 Composite definitions for 8-bit TeX]</pre> -</dd> -<dt class="changelog">Changelog<span class="colon">:</span></dt> -<dd class="changelog"><table class="borderless"> -<tbody> -<tr><td><p>0.11.2</p></td> -<td><p>2014-09-04</p></td> -<td><p>outsourced from <span class="docutils literal">alphabeta.sty</span>.</p></td> -</tr> -<tr><td><p>1.0</p></td> -<td><p>2020-09-25</p></td> -<td><p>New package version. No changes in this file.</p></td> -</tr> -</tbody> -</table> -</dd> -</dl> -<p>The <a class="reference external" href="alphabeta.sty.html">alphabeta</a> package re-defines the math macros for Greek letters to work -in both, text and math mode, so that Greek letters can be specified with -the established command names in text, too.</p> -<p>The NFSS TextComposite mechanism looks for the next token without expanding -it. In order to let compositions like <span class="docutils literal"><span class="pre">\>"\alpha</span></span> work as expected we -define TextComposites with the <cite>letter name commands</cite>.</p> -<p>This file expands the font encoding definitions in <a class="reference external" href="lgrenc.def.html">lgrenc.def</a> with -composite commands for use with 8-bit TeX fonts. It is sourced by -<a class="reference external" href="alphabeta.sty.html">alphabeta</a> under 8-bit TeX (pdfTeX, eTeX, TeX).</p> -<pre class="literal-block">\DeclareTextComposite{\accvaria}{LGR}{\alpha}{128} -\DeclareTextComposite{\accdasia}{LGR}{\alpha}{129} -\DeclareTextComposite{\accpsili}{LGR}{\alpha}{130} -\DeclareTextComposite{\accdasiavaria}{LGR}{\alpha}{131} -\DeclareTextComposite{\acctonos}{LGR}{\alpha}{136} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\alpha}{137} -\DeclareTextComposite{\accpsilioxia}{LGR}{\alpha}{138} -\DeclareTextComposite{\accpsilivaria}{LGR}{\alpha}{139} -\DeclareTextComposite{\accperispomeni}{LGR}{\alpha}{144} -\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\alpha}{145} -\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\alpha}{146} -\DeclareTextComposite{\accvaria}{LGR}{\eta}{152} -\DeclareTextComposite{\accdasia}{LGR}{\eta}{153} -\DeclareTextComposite{\accpsili}{LGR}{\eta}{154} -\DeclareTextComposite{\acctonos}{LGR}{\eta}{160} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\eta}{161} -\DeclareTextComposite{\accpsilioxia}{LGR}{\eta}{162} -\DeclareTextComposite{\accdasiavaria}{LGR}{\eta}{163} -\DeclareTextComposite{\accperispomeni}{LGR}{\eta}{168} -\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\eta}{169} -\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\eta}{170} -\DeclareTextComposite{\accpsilivaria}{LGR}{\eta}{171} -\DeclareTextComposite{\accvaria}{LGR}{\omega}{176} -\DeclareTextComposite{\accdasia}{LGR}{\omega}{177} -\DeclareTextComposite{\accpsili}{LGR}{\omega}{178} -\DeclareTextComposite{\accdasiavaria}{LGR}{\omega}{179} -\DeclareTextComposite{\acctonos}{LGR}{\omega}{184} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\omega}{185} -\DeclareTextComposite{\accpsilioxia}{LGR}{\omega}{186} -\DeclareTextComposite{\accpsilivaria}{LGR}{\omega}{187} -\DeclareTextComposite{\accperispomeni}{LGR}{\omega}{192} -\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\omega}{193} -\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\omega}{194} -\DeclareTextComposite{\accvaria}{LGR}{\iota}{200} -\DeclareTextComposite{\accdasia}{LGR}{\iota}{201} -\DeclareTextComposite{\accpsili}{LGR}{\iota}{202} -\DeclareTextComposite{\accdasiavaria}{LGR}{\iota}{203} -\DeclareTextComposite{\acctonos}{LGR}{\iota}{208} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\iota}{209} -\DeclareTextComposite{\accpsilioxia}{LGR}{\iota}{210} -\DeclareTextComposite{\accpsilivaria}{LGR}{\iota}{211} -\DeclareTextComposite{\accperispomeni}{LGR}{\iota}{216} -\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\iota}{217} -\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\iota}{218} -\DeclareTextComposite{\accdialytika}{LGR}{\iota}{240} -\DeclareTextComposite{\accdialytikavaria}{LGR}{\iota}{241} -\DeclareTextComposite{\accdialytikatonos}{LGR}{\iota}{242} -\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\iota}{243} -\DeclareTextComposite{\accvaria}{LGR}{\upsilon}{204} -\DeclareTextComposite{\accdasia}{LGR}{\upsilon}{205} -\DeclareTextComposite{\accpsili}{LGR}{\upsilon}{206} -\DeclareTextComposite{\accdasiavaria}{LGR}{\upsilon}{207} -\DeclareTextComposite{\acctonos}{LGR}{\upsilon}{212} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\upsilon}{213} -\DeclareTextComposite{\accpsilioxia}{LGR}{\upsilon}{214} -\DeclareTextComposite{\accpsilivaria}{LGR}{\upsilon}{215} -\DeclareTextComposite{\accperispomeni}{LGR}{\upsilon}{220} -\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\upsilon}{221} -\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\upsilon}{222} -\DeclareTextComposite{\accdialytika}{LGR}{\upsilon}{244} -\DeclareTextComposite{\accdialytikavaria}{LGR}{\upsilon}{245} -\DeclareTextComposite{\accdialytikatonos}{LGR}{\upsilon}{246} -\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\upsilon}{247} -\DeclareTextComposite{\accvaria}{LGR}{\epsilon}{224} -\DeclareTextComposite{\accdasia}{LGR}{\epsilon}{225} -\DeclareTextComposite{\accpsili}{LGR}{\epsilon}{226} -\DeclareTextComposite{\accdasiavaria}{LGR}{\epsilon}{227} -\DeclareTextComposite{\acctonos}{LGR}{\epsilon}{232} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\epsilon}{233} -\DeclareTextComposite{\accpsilioxia}{LGR}{\epsilon}{234} -\DeclareTextComposite{\accpsilivaria}{LGR}{\epsilon}{235} -\DeclareTextComposite{\accvaria}{LGR}{\omicron}{228} -\DeclareTextComposite{\accdasia}{LGR}{\omicron}{229} -\DeclareTextComposite{\accpsili}{LGR}{\omicron}{230} -\DeclareTextComposite{\accdasiavaria}{LGR}{\omicron}{231} -\DeclareTextComposite{\acctonos}{LGR}{\omicron}{236} -\DeclareTextComposite{\accdasiaoxia}{LGR}{\omicron}{237} -\DeclareTextComposite{\accpsilioxia}{LGR}{\omicron}{238} -\DeclareTextComposite{\accpsilivaria}{LGR}{\omicron}{239} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Alpha}{<A} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Alpha}{<`A} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Alpha}{<'A} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Alpha}{<\char126A} -\DeclareTextCompositeCommand{\accpsili}{LGR}{\Alpha}{>A} -\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Alpha}{>`A} -\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Alpha}{>'A} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Alpha}{>\char126A} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Alpha}{'A} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Alpha}{`A} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Epsilon}{<E} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Epsilon}{<'E} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Epsilon}{<`E} -\DeclareTextCompositeCommand{\accpsili}{LGR}{\Epsilon}{>E} -\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Epsilon}{>'E} -\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Epsilon}{>`E} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Epsilon}{'E} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Epsilon}{`E} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Eta}{<H} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Eta}{<`H} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Eta}{<'H} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Eta}{<\char126H} -\DeclareTextCompositeCommand{\accpsili}{LGR}{\Eta}{>H} -\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Eta}{>`H} -\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Eta}{>'H} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Eta}{>\char126H} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Eta}{'H} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Eta}{`H} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Iota}{<I} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Iota}{<`I} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Iota}{<'I} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Iota}{<\char126I} -\DeclareTextCompositeCommand{\accpsili}{LGR}{\Iota}{>I} -\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Iota}{>`I} -\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Iota}{>'I} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Iota}{>\char126I} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Iota}{'I} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Iota}{`I} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Omicron}{<O} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omicron}{<`O} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omicron}{<'O} -\DeclareTextCompositeCommand{\accpsili}{LGR}{\Omicron}{>O} -\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omicron}{>`O} -\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omicron}{>'O} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Omicron}{'O} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Omicron}{`O} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Upsilon}{<U} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Upsilon}{<`U} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Upsilon}{<'U} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Upsilon}{<\char126U} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Upsilon}{'U} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Upsilon}{`U} -\DeclareTextCompositeCommand{\accdasia}{LGR}{\Omega}{<W} -\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omega}{<`W} -\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omega}{<'W} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Omega}{<\char126W} -\DeclareTextCompositeCommand{\accpsili}{LGR}{\Omega}{>W} -\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omega}{>`W} -\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omega}{>'W} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Omega}{>\char126W} -\DeclareTextCompositeCommand{\acctonos}{LGR}{\Omega}{'W} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\Omega}{`W} -\DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219} -\DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223} -\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Alpha}{\LGR@A@hiatus} -\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Epsilon}{\LGR@E@hiatus}</pre> -<!-- References --> -</main> -</body> -</html> diff --git a/language/greek/greek-fontenc/alphabeta-tuenc.def b/language/greek/greek-fontenc/alphabeta-tuenc.def deleted file mode 100644 index 897cd68516..0000000000 --- a/language/greek/greek-fontenc/alphabeta-tuenc.def +++ /dev/null @@ -1,251 +0,0 @@ -% alphabeta-tuenc.def -% =================== -% Composite definitions for XeTeX and LuaTeX -% ****************************************** -% -% :Copyright: © 2013, 2020 Günter Milde -% :Licence: This work may be distributed and/or modified under the -% conditions of the `LaTeX Project Public License`_, either -% version 1.3 of this license or any later version. -% :Identification: -% :: - -\ProvidesFile{alphabeta-tuenc} -[2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX] - -% :Abstract: -% Composite definitions for ``alphabeta.sty`` with XeTeX and LuaTeX. -% -% :Changelog: -% .. class:: borderless -% -% ====== ========== ======================================================== -% 0.1 2013-09-12 initial version -% 0.1.1 2013-10-01 remove clashing defs for legacy characters with oxia. -% 0.11.2 2014-09-04 documentation update -% 0.14 2020-02-28 rename to ``alphabeta-tuenc.def``, -% use ``\UTFencname`` instead of ``\LastDeclaredEncoding`` -% 1.0 2020-09-25 New package version. No changes in this file. -% 2.0 2020-10-30 Use ``\UnicodeEncodingName`` instead of ``\UTFencname``. -% ====== ========== ======================================================== -% -% -% The alphabeta_ package re-defines the math macros for Greek letters to work -% in both, text and math mode, so that Greek letters can be specified with -% the established command names in text, too. -% -% The NFSS TextComposite mechanism looks for the next token without expanding -% it. In order to let compositions like ``\>"\alpha`` work as expected we -% define TextComposites with the `letter name commands`. -% -% This file expands the font encoding definitions in tuenc-greek.def_ with -% composite commands for use with Unicode fonts. It is sourced by alphabeta_ -% under XeTeX/LuaTeX. -% -% Greek and Coptic -% ~~~~~~~~~~~~~~~~ -% :: - -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Alpha}{Ά} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Epsilon}{Έ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Eta}{Ή} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Iota}{Ί} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omicron}{Ό} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Upsilon}{Ύ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omega}{Ώ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ} - -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Iota}{Ϊ} -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Upsilon}{Ϋ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\alpha}{ά} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\epsilon}{έ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\eta}{ή} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\iota}{ί} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ} - -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\iota}{ϊ} -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\upsilon}{ϋ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omicron}{ό} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\upsilon}{ύ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omega}{ώ} - - -% Greek Extended -% ~~~~~~~~~~~~~~ -% Postfix ypogegrammeni cannot be second part of composite defs. -% :: - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\alpha}{ἀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\alpha}{ἁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\alpha}{ἂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\alpha}{ἃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\alpha}{ἄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\alpha}{ἅ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\alpha}{ἆ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\alpha}{ἇ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Alpha}{Ἀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Alpha}{Ἁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Alpha}{Ἂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Alpha}{Ἃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Alpha}{Ἄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Alpha}{Ἅ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἆ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἇ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\epsilon}{ἐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\epsilon}{ἑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\epsilon}{ἒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\epsilon}{ἓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\epsilon}{ἔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\epsilon}{ἕ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Epsilon}{Ἐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Epsilon}{Ἑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Epsilon}{Ἒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Epsilon}{Ἓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Epsilon}{Ἔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Epsilon}{Ἕ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\eta}{ἠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\eta}{ἡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\eta}{ἢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\eta}{ἣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\eta}{ἤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\eta}{ἥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\eta}{ἦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\eta}{ἧ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Eta}{Ἠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Eta}{Ἡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Eta}{Ἢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Eta}{Ἣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Eta}{Ἤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Eta}{Ἥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Eta}{Ἦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Eta}{Ἧ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\iota}{ἰ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\iota}{ἱ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\iota}{ἲ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\iota}{ἳ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\iota}{ἴ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\iota}{ἵ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\iota}{ἶ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\iota}{ἷ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Iota}{Ἰ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Iota}{Ἱ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Iota}{Ἲ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Iota}{Ἳ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Iota}{Ἴ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Iota}{Ἵ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Iota}{Ἶ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Iota}{Ἷ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omicron}{ὀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omicron}{ὁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omicron}{ὂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omicron}{ὃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omicron}{ὄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omicron}{ὅ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omicron}{Ὀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omicron}{Ὁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omicron}{Ὂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omicron}{Ὃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omicron}{Ὄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omicron}{Ὅ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\upsilon}{ὐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\upsilon}{ὑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\upsilon}{ὒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\upsilon}{ὓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\upsilon}{ὔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\upsilon}{ὕ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\upsilon}{ὖ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\upsilon}{ὗ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Upsilon}{Ὑ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Upsilon}{Ὓ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Upsilon}{Ὕ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Upsilon}{Ὗ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omega}{ὠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omega}{ὡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omega}{ὢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omega}{ὣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omega}{ὤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omega}{ὥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\omega}{ὦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\omega}{ὧ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omega}{Ὠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omega}{Ὡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omega}{Ὢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omega}{Ὣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omega}{Ὤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omega}{Ὥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Omega}{Ὦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Omega}{Ὧ} - -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\alpha}{ὰ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\epsilon}{ὲ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\eta}{ὴ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\iota}{ὶ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omicron}{ὸ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\upsilon}{ὺ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omega}{ὼ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\alpha}{ᾰ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\alpha}{ᾱ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\alpha}{ᾶ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\alpha}{ᾶ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Alpha}{Ᾰ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Alpha}{Ᾱ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Alpha}{Ὰ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Alpha}{Ὰ} - -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\eta}{ῆ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\eta}{ῆ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Epsilon}{Ὲ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Eta}{Ὴ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Epsilon}{Ὲ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Eta}{Ὴ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\iota}{ῐ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\iota}{ῑ} -\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\iota}{ῒ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\iota}{ῖ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\iota}{ῖ} -\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\iota}{ῗ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Iota}{Ῐ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Iota}{Ῑ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Iota}{Ὶ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Iota}{Ὶ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\upsilon}{ῠ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\upsilon}{ῡ} -\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\upsilon}{ῢ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\rho}{ῤ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\rho}{ῥ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\upsilon}{ῦ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\upsilon}{ῦ} -\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\upsilon}{ῧ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Upsilon}{Ῠ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Upsilon}{Ῡ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Upsilon}{Ὺ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Upsilon}{Ὺ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Rho}{Ῥ} - -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\omega}{ῶ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\omega}{ῶ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omega}{Ὼ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omega}{Ὼ} - -% .. References -% -% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _alphabeta: alphabeta.sty.html -% .. _tuenc-greek.def: tuenc-greek.def.html -% -% .. fix scaling in mobile browsers -% .. meta:: -% :viewport: width=device-width, initial-scale=1 diff --git a/language/greek/greek-fontenc/alphabeta-tuenc.def.html b/language/greek/greek-fontenc/alphabeta-tuenc.def.html deleted file mode 100644 index 55e8042b22..0000000000 --- a/language/greek/greek-fontenc/alphabeta-tuenc.def.html +++ /dev/null @@ -1,1049 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta charset="utf-8" /> -<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> -<meta name="viewport" content="width=device-width, initial-scale=1" /> -<meta content="width=device-width, initial-scale=1" name="viewport" /> -<meta name="dcterms.rights" content="© 2013, 2020 Günter Milde" /> -<title>alphabeta-tuenc.def</title> -<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> -<style type="text/css"> - -/* Minimal style sheet for the HTML output of Docutils. */ -/* */ -/* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015, 2021 Günter Milde. */ -/* :License: Released under the terms of the `2-Clause BSD license`_, */ -/* in short: */ -/* */ -/* Copying and distribution of this file, with or without modification, */ -/* are permitted in any medium without royalty provided the copyright */ -/* notice and this notice are preserved. */ -/* */ -/* This file is offered as-is, without any warranty. */ -/* */ -/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ - -/* This CSS3 stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantics visible. */ -/* */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* titles */ -p.topic-title, -p.admonition-title, -p.system-message-title { - font-weight: bold; -} -p.sidebar-title, -p.rubric { - font-weight: bold; - font-size: larger; -} -p.rubric { - color: maroon; -} -p.subtitle, -p.section-subtitle, -p.sidebar-subtitle { - font-weight: bold; - margin-top: -0.5em; -} -h1 + p.subtitle { - font-size: 1.6em; -} -a.toc-backref { - color: inherit; - text-decoration: none; -} - -/* Warnings, Errors */ -.system-messages h2, -.system-message-title, -span.problematic { - color: red; -} - -/* Inline Literals */ -.docutils.literal { - font-family: monospace; - white-space: pre-wrap; -} -/* do not wrap at hyphens and similar: */ -.literal > span.pre { white-space: nowrap; } - -/* Lists */ - -/* compact and simple lists: no margin between items */ -.simple li, .simple ul, .simple ol, -.compact li, .compact ul, .compact ol, -.simple > li p, dl.simple > dd, -.compact > li p, dl.compact > dd { - margin-top: 0; - margin-bottom: 0; -} -/* Nested Paragraphs */ -p:first-child { margin-top: 0; } -p:last-child { margin-bottom: 0; } -details > p:last-child { margin-bottom: 1em; } - -/* Table of Contents */ -.contents ul.auto-toc { /* section numbers present */ - list-style-type: none; -} - -/* Enumerated Lists */ -ol.arabic { list-style: decimal } -ol.loweralpha { list-style: lower-alpha } -ol.upperalpha { list-style: upper-alpha } -ol.lowerroman { list-style: lower-roman } -ol.upperroman { list-style: upper-roman } - -/* Definition Lists and Derivatives */ -dt .classifier { font-style: italic } -dt .classifier:before { - font-style: normal; - margin: 0.5em; - content: ":"; -} -/* Field Lists and similar */ -/* bold field name, content starts on the same line */ -dl.field-list, -dl.option-list, -dl.docinfo { - display: flow-root; -} -dl.field-list > dt, -dl.option-list > dt, -dl.docinfo > dt { - font-weight: bold; - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.2em; -} -/* Offset for field content (corresponds to the --field-name-limit option) */ -dl.field-list > dd, -dl.option-list > dd, -dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ -} -/* start nested lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; -} -/* start field-body on a new line after long field names */ -dl.field-list > dd > *:first-child, -dl.option-list > dd > *:first-child -{ - display: inline-block; - width: 100%; - margin: 0; -} - -/* Bibliographic Fields (docinfo) */ -dl.docinfo pre.address { - font: inherit; - margin: 0.5em 0; -} -dl.docinfo > dd.authors > p { margin: 0; } - -/* Option Lists */ -dl.option-list > dt { font-weight: normal; } -span.option { white-space: nowrap; } - -/* Footnotes and Citations */ - -.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ -/* hanging indent */ -.citation { padding-left: 2em; } -.footnote { padding-left: 1.7em; } -.footnote.superscript { padding-left: 1.0em; } -.citation > .label { margin-left: -2em; } -.footnote > .label { margin-left: -1.7em; } -.footnote.superscript > .label { margin-left: -1.0em; } - -.footnote > .label + *, -.citation > .label + * { - display: inline-block; - margin-top: 0; - vertical-align: top; -} -.footnote > .backrefs + *, -.citation > .backrefs + * { - margin-top: 0; -} -.footnote > .label + p, .footnote > .backrefs + p, -.citation > .label + p, .citation > .backrefs + p { - display: inline; - vertical-align: inherit; -} - -.backrefs { user-select: none; } -.backrefs > a { font-style: italic; } - -/* superscript footnotes */ -a[role="doc-noteref"].superscript, -.footnote.superscript > .label, -.footnote.superscript > .backrefs { - vertical-align: super; - font-size: smaller; - line-height: 1; -} -a[role="doc-noteref"].superscript > .fn-bracket, -.footnote.superscript > .label > .fn-bracket { - /* hide brackets in display but leave for copy/paste */ - display: inline-block; - width: 0; - overflow: hidden; -} -[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { - padding-left: 0.15em; /* separate consecutive footnote references */ - /* TODO: unfortunately, "+" also selects with text between the references. */ -} - -/* Alignment */ -.align-left { - text-align: left; - margin-right: auto; -} -.align-center { - text-align: center; - margin-left: auto; - margin-right: auto; -} -.align-right { - text-align: right; - margin-left: auto; -} -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } - -/* reset inner alignment in figures and tables */ -figure.align-left, figure.align-right, -table.align-left, table.align-center, table.align-right { - text-align: inherit; -} - -/* Text Blocks */ -.topic { margin: 1em 2em; } -.sidebar, -.admonition, -.system-message { - margin: 1em 2em; - border: thin solid; - padding: 0.5em 1em; -} -div.line-block { display: block; } -div.line-block div.line-block, pre { margin-left: 2em; } - -/* Code line numbers: dropped when copying text from the page */ -pre.code .ln { display: none; } -pre.code code:before { - content: attr(data-lineno); /* …, none) fallback not supported by any browser */ - color: gray; -} - -/* Tables */ -table { - border-collapse: collapse; -} -td, th { - border: thin solid silver; - padding: 0 1ex; -} -.borderless td, .borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - -table > caption { - text-align: left; - margin-top: 0.2em; - margin-bottom: 0.2em; -} -table.captionbelow { - caption-side: bottom; -} - -/* Document Header and Footer */ -header { border-bottom: 1px solid black; } -footer { border-top: 1px solid black; } - -/* Images are block-level by default in Docutils */ -/* New HTML5 block elements: set display for older browsers */ -img, header, footer, main, aside, nav, section, figure, video, details { - display: block; -} -/* inline images */ -p img, p video, figure img, figure video { - display: inline; -} - -</style> -<style type="text/css"> - -/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ -/* Generic responsive design for all screen sizes. */ -/* */ -/* :Author: Günter Milde */ -/* */ -/* :Id: $Id$ */ -/* :Copyright: © 2021 Günter Milde. */ -/* :License: Released under the terms of the `2-Clause BSD license`_, */ -/* in short: */ -/* */ -/* Copying and distribution of this file, with or without modification, */ -/* are permitted in any medium without royalty provided the copyright */ -/* notice and this notice are preserved. */ -/* */ -/* This file is offered as-is, without any warranty. */ -/* */ -/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: https://www.w3.org/Style/CSS/ */ - -/* Note: */ -/* This style sheet is provisional: */ -/* the API is not settled and may change with any minor Docutils version. */ - - - -/* General Settings */ -/* ================ */ - - -* { box-sizing: border-box; } - -body { - background-color: #fafaf6; - margin: auto; - --field-indent: 6.6em; /* indent of fields in field lists */ - --sidebar-margin-right: 0; /* adapted in media queries below */ -} -main { - counter-reset: figure table; -} -body > * { - background-color: white; - line-height: 1.6; - padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ - margin: auto; - max-width: 100rem; -} -sup, sub { /* avoid additional inter-line space for lines with sup/sub */ - line-height: 1; -} - -/* Vertical Space (Parskip) */ -p, ol, ul, dl, li, -div.line-block, -.topic, -.footnote, .citation, -div > math, -table { - margin-top: 0.5em; - margin-bottom: 0.5em; -} -h1, h2, h3, h4, h5, h6, -dl > dd, details > p:last-child { - margin-bottom: 0.5em; -} - -/* Indented Blocks */ -blockquote, figure, .topic { - margin: 1em 2%; - padding-left: 1em; -} -div.line-block div.line-block, -pre, dd, dl.option-list { - margin-left: calc(2% + 1em); -} - -/* Object styling */ -/* ============== */ - -footer, header { - font-size: small; -} - -/* Frontmatter */ -div.dedication { - padding: 0; - margin: 1.4em 0; - font-style: italic; - font-size: large; -} -.dedication p.topic-title { - display: none; -} - -blockquote p.attribution, -.topic p.attribution { - text-align: right; -} - -/* Table of Contents */ -nav.contents ul { - padding-left: 1em; -} -ul.auto-toc > li > p { /* hanging indent */ - padding-left: 1em; - text-indent: -1em; -} -main > nav.contents ul:not(.auto-toc) { - list-style-type: square; -} -main > nav.contents ul ul:not(.auto-toc) { - list-style-type: disc; -} -main > nav.contents ul ul ul:not(.auto-toc) { - list-style-type: '\2B29\ '; -} -main > nav.contents ul ul ul ul:not(.auto-toc) { - list-style-type: '\2B1D\ '; -} -main > nav.contents ul ul ul ul ul:not(.auto-toc) { - list-style-type: '\2B2A\ '; -} -nav.contents ul > li::marker { - color: grey; -} - -/* Transitions */ -hr { - margin: 1em 10%; -} - -/* Lists */ - -ul, ol { - padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ -} -dl.field-list > dd, -dl.docinfo > dd { - margin-left: var(--field-indent); /* adapted in media queries or HTML */ -} -dl.option-list > dd { - margin-left: 20%; -} -/* run-in: start field-body on same line after long field names */ -dl.field-list.run-in > dd p { - display: block; -} -/* "description style" like in most dictionaries, encyclopedias etc. */ -dl.description { - display: flow-root; -} -dl.description > dt { - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.3em; - font-weight: bold; -} -dl.description > dd:after { - display: table; - content: ""; - clear: left; /* clearfix for empty descriptions */ -} -/* start lists nested in description/field lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; -} - -/* disclosures */ -details { padding-left: 1em; } -summary { margin-left: -1em; } - -/* Footnotes and Citations */ -.footnote { - font-size: small; -} - -/* Images, Figures, and Tables */ -img { - display: block; -} -p > img, p > a > img, -figure > img, figure > a > img { - display: inline; -} - -figcaption, -table > caption { - /* font-size: small; */ - font-style: italic; -} -figcaption > .legend { - font-size: small; - font-style: initial; -} -figure.numbered > figcaption > p:before { - counter-increment: figure; - content: "Figure " counter(figure) ": "; - font-weight: bold; - font-style: initial; -} - -table tr { - text-align: left; - vertical-align: baseline; -} -table.booktabs { /* "booktabs" style (no vertical lines) */ - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} -table.numbered > caption:before { - counter-increment: table; - content: "Table " counter(table) ": "; - font-weight: bold; - font-style: initial; -} - -/* Admonitions and System Messages */ -.admonition, -div.system-message { - border: thin solid silver; - margin: 1em 2%; - padding: 0.5em 1em; -} -.caution p.admonition-title, -.attention p.admonition-title, -.danger p.admonition-title, -.warning p.admonition-title, -div.error { - color: maroon; -} -div.system-message > p > span.literal { - overflow-wrap: break-word; -} - -/* Literal and Code */ -pre.literal-block, pre.doctest{ - padding: 0.2em; - overflow-x: auto; -} -.literal-block, .doctest, span.literal { - background-color: #f6f9f8; -} -.system-message span.literal { - background-color: inherit; -} - -/* basic highlighting: for a complete scheme, see */ -/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ -pre.code .comment, code .comment { color: #5C6576 } -pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } -pre.code .literal.string, code .literal.string { color: #0C5404 } -pre.code .name.builtin, code .name.builtin { color: #352B84 } -pre.code .deleted, code .deleted { background-color: #DEB0A1} -pre.code .inserted, code .inserted { background-color: #A3D289} - -/* Hyperlink References */ -a { - text-decoration: none; /* for chromium */ - /* Wrap links at any place, if this is the only way to prevent overflow */ - overflow-wrap: break-word; -} -.contents a, a.toc-backref, a.citation-reference { - overflow-wrap: inherit; -} -/* Undecorated Links (see also minimal.css) */ -/* a.citation-reference, */ -.citation a.fn-backref { - color: inherit; -} -a:hover { - text-decoration: underline; -} -*:hover > a.toc-backref:after { - content: " \2191"; /* ↑ UPWARDS ARROW */ - color: grey; -} -*:hover > a.self-link:after { - content: "\1F517"; /* LINK SYMBOL */ - color: grey; - font-size: smaller; - margin-left: 0.2em; -} -/* highlight the target of the current URL */ -section:target > h2, section:target > h3, section:target > h4, -section:target > h5, section:target > h6, -.contents :target, -.contents:target > .topic-title, -[role="doc-biblioentry"]:target > .label, -[role="doc-biblioref"]:target, -[role="note"]:target, /* Docutils 0.18 ... 0.19 */ -[role="doc-footnote"]:target, /* Docutils >= 0.20 */ -[role="doc-noteref"]:target { - background-color: #d2e6ec; -} - -/* Block Alignment */ -/* Let content flow to the side of aligned images and figures */ - -/* no floats around this elements */ -footer, header, hr, -h1, h2, h3 { - clear: both; -} - -img.align-left, -video.align-left, -figure.align-left, -table.align-left { - margin-left: 0; - padding-left: 0; - margin-right: 0.5em; - clear: left; - float: left; -} -img.align-right, -video.align-right, -figure.align-right, -table.align-right { - margin-left: 0.5em; - margin-right: 0; - clear: right; - float: right; -} - -/* Margin Elements */ -/* see below for screen size dependent rules */ -.sidebar, -.marginal, -.admonition.marginal { - max-width: 40%; - border: none; - background-color: #efefea; - margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; - padding: 0.5em; - padding-left: 0.7em; - clear: right; - float: right; - font-size: small; -} -.sidebar { - width: 40%; -} - -/* Math */ -/* for math-output=MathML (for math-output=HTML, see math.css) */ -math .boldsymbol { - font-weight: bold; -} -mstyle.mathscr, mi.mathscr { - font-family: STIX; -} - -/* Adaptive page layout */ -/* ==================== */ - -@media (max-width: 30em) { - /* Smaller margins and no floating elements for small screens */ - /* (main text less than 40 characters/line) */ - body > * { - padding: 0.5rem 5%; - line-height: 1.4 - } - .sidebar, - .marginal, - .admonition.marginal { - width: auto; - max-width: 100%; - float: none; - } - dl.option-list, - pre { - margin-left: 0; - } - body { - --field-indent: 4em; - } - dl.field-list.narrow, dl.docinfo, dl.option-list { - --field-indent: 2.4em; - } - pre, pre * { - font-size: 0.9em; - /* overflow: auto; */ - } -} - -@media (min-width: 54em) { - /* Move ToC to the left */ - /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ - /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ - body.with-toc { - padding-left: 8%; - } - body.with-toc > * { - margin-left: 0; - padding-left: 22rem; /* fallback for webkit */ - padding-left: min(22%, 22rem); - padding-right: 7%; - } - main > nav.contents { /* global ToC */ - position: fixed; - top: 0; - left: 0; - width: min(25%, 25em); - height: 100vh; - margin: 0; - background-color: #fafaf6; - padding: 1em 2% 0 2%; - overflow: auto; - } - main > nav.contents > * { - padding-left: 0; - line-height: 1.4; - } - main > nav.contents a { - color: inherit; - } -} - -@media (min-width: 70em) { - body { - --field-indent: 9em; - } -} - -@media (min-width: 77em) { - /* Move marginalia to 6rem from right border */ - /* .sidebar, */ - /* .marginal, */ - /* .admonition.marginal { */ - /* margin-right: calc(6rem - 15%); */ - /* } */ - /* BUG: margin is calculated for break point width */ - /* workaround: variable + many breakpoints */ - body > * { - padding-left: 18%; - padding-right: 28%; /* fallback for webkit */ - padding-right: min(28%, 28rem); - --sidebar-margin-right: -20rem; - } - /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ - body.with-toc > * { - padding-left: min(22%, 22rem); - padding-right: calc(78% - 50rem); /* fallback for webkit */ - padding-right: min(78% - 50rem, 28rem); - --sidebar-margin-right: 0; - } -} - -@media (min-width: 85em) { - body.with-toc > * { - --sidebar-margin-right: -9rem; - } -} - -@media (min-width: 90em) { - /* move marginalia into the margin */ - body > * { - padding-left: min(22%, 22rem); - --sidebar-margin-right: -23rem; - } - body.with-toc > * { - --sidebar-margin-right: -14rem; - } -} - -@media (min-width: 99em) { - /* move marginalia out of main text area */ - body.with-toc > * { - --sidebar-margin-right: -20rem; - } - body > *, body.with-toc > * { /* for webkit */ - padding-left: 22rem; - padding-right: 28rem; - } - .admonition.marginal, - .marginal { - width: 40%; /* make marginal figures, ... "full width" */ - } -} - -@media (min-width: 104em) { - body.with-toc > * { - --sidebar-margin-right: -23rem; - } -} - -</style> -</head> -<body> -<main id="alphabeta-tuenc-def"> -<h1 class="title">alphabeta-tuenc.def</h1> -<p class="subtitle" id="composite-definitions-for-xetex-and-luatex">Composite definitions for XeTeX and LuaTeX</p> -<dl class="docinfo"> -<dt class="copyright">Copyright<span class="colon">:</span></dt> -<dd class="copyright">© 2013, 2020 Günter Milde</dd> -<dt class="licence">Licence<span class="colon">:</span></dt> -<dd class="licence"><p>This work may be distributed and/or modified under the -conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either -version 1.3 of this license or any later version.</p> -</dd> -<dt class="identification">Identification<span class="colon">:</span></dt> -<dd class="identification"><pre class="literal-block">\ProvidesFile{alphabeta-tuenc} -[2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX]</pre> -</dd> -<dt class="changelog">Changelog<span class="colon">:</span></dt> -<dd class="changelog"><table class="borderless"> -<tbody> -<tr><td><p>0.1</p></td> -<td><p>2013-09-12</p></td> -<td><p>initial version</p></td> -</tr> -<tr><td><p>0.1.1</p></td> -<td><p>2013-10-01</p></td> -<td><p>remove clashing defs for legacy characters with oxia.</p></td> -</tr> -<tr><td><p>0.11.2</p></td> -<td><p>2014-09-04</p></td> -<td><p>documentation update</p></td> -</tr> -<tr><td><p>0.14</p></td> -<td><p>2020-02-28</p></td> -<td><p>rename to <span class="docutils literal"><span class="pre">alphabeta-tuenc.def</span></span>, -use <span class="docutils literal">\UTFencname</span> instead of <span class="docutils literal">\LastDeclaredEncoding</span></p></td> -</tr> -<tr><td><p>1.0</p></td> -<td><p>2020-09-25</p></td> -<td><p>New package version. No changes in this file.</p></td> -</tr> -<tr><td><p>2.0</p></td> -<td><p>2020-10-30</p></td> -<td><p>Use <span class="docutils literal">\UnicodeEncodingName</span> instead of <span class="docutils literal">\UTFencname</span>.</p></td> -</tr> -</tbody> -</table> -</dd> -</dl> -<div class="topic abstract" role="doc-abstract"> -<p class="topic-title">Abstract</p> -<p>Composite definitions for <span class="docutils literal">alphabeta.sty</span> with XeTeX and LuaTeX.</p> -</div> -<p>The <a class="reference external" href="alphabeta.sty.html">alphabeta</a> package re-defines the math macros for Greek letters to work -in both, text and math mode, so that Greek letters can be specified with -the established command names in text, too.</p> -<p>The NFSS TextComposite mechanism looks for the next token without expanding -it. In order to let compositions like <span class="docutils literal"><span class="pre">\>"\alpha</span></span> work as expected we -define TextComposites with the <cite>letter name commands</cite>.</p> -<p>This file expands the font encoding definitions in <a class="reference external" href="tuenc-greek.def.html">tuenc-greek.def</a> with -composite commands for use with Unicode fonts. It is sourced by <a class="reference external" href="alphabeta.sty.html">alphabeta</a> -under XeTeX/LuaTeX.</p> -<section id="greek-and-coptic"> -<h2>Greek and Coptic</h2> -<pre class="literal-block">\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Alpha}{Ά} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Epsilon}{Έ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Eta}{Ή} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Iota}{Ί} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omicron}{Ό} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Upsilon}{Ύ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omega}{Ώ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ} - -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Iota}{Ϊ} -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Upsilon}{Ϋ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\alpha}{ά} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\epsilon}{έ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\eta}{ή} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\iota}{ί} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ} - -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\iota}{ϊ} -\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\upsilon}{ϋ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omicron}{ό} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\upsilon}{ύ} -\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omega}{ώ}</pre> -</section> -<section id="greek-extended"> -<h2>Greek Extended</h2> -<p>Postfix ypogegrammeni cannot be second part of composite defs.</p> -<pre class="literal-block">\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\alpha}{ἀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\alpha}{ἁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\alpha}{ἂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\alpha}{ἃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\alpha}{ἄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\alpha}{ἅ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\alpha}{ἆ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\alpha}{ἇ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Alpha}{Ἀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Alpha}{Ἁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Alpha}{Ἂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Alpha}{Ἃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Alpha}{Ἄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Alpha}{Ἅ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἆ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἇ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\epsilon}{ἐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\epsilon}{ἑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\epsilon}{ἒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\epsilon}{ἓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\epsilon}{ἔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\epsilon}{ἕ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Epsilon}{Ἐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Epsilon}{Ἑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Epsilon}{Ἒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Epsilon}{Ἓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Epsilon}{Ἔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Epsilon}{Ἕ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\eta}{ἠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\eta}{ἡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\eta}{ἢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\eta}{ἣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\eta}{ἤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\eta}{ἥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\eta}{ἦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\eta}{ἧ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Eta}{Ἠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Eta}{Ἡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Eta}{Ἢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Eta}{Ἣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Eta}{Ἤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Eta}{Ἥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Eta}{Ἦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Eta}{Ἧ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\iota}{ἰ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\iota}{ἱ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\iota}{ἲ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\iota}{ἳ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\iota}{ἴ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\iota}{ἵ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\iota}{ἶ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\iota}{ἷ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Iota}{Ἰ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Iota}{Ἱ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Iota}{Ἲ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Iota}{Ἳ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Iota}{Ἴ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Iota}{Ἵ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Iota}{Ἶ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Iota}{Ἷ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omicron}{ὀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omicron}{ὁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omicron}{ὂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omicron}{ὃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omicron}{ὄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omicron}{ὅ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omicron}{Ὀ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omicron}{Ὁ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omicron}{Ὂ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omicron}{Ὃ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omicron}{Ὄ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omicron}{Ὅ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\upsilon}{ὐ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\upsilon}{ὑ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\upsilon}{ὒ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\upsilon}{ὓ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\upsilon}{ὔ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\upsilon}{ὕ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\upsilon}{ὖ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\upsilon}{ὗ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Upsilon}{Ὑ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Upsilon}{Ὓ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Upsilon}{Ὕ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Upsilon}{Ὗ} - -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omega}{ὠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omega}{ὡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omega}{ὢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omega}{ὣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omega}{ὤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omega}{ὥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\omega}{ὦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\omega}{ὧ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omega}{Ὠ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omega}{Ὡ} -\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omega}{Ὢ} -\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omega}{Ὣ} -\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omega}{Ὤ} -\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omega}{Ὥ} -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Omega}{Ὦ} -\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Omega}{Ὧ} - -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\alpha}{ὰ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\epsilon}{ὲ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\eta}{ὴ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\iota}{ὶ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omicron}{ὸ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\upsilon}{ὺ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omega}{ὼ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\alpha}{ᾰ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\alpha}{ᾱ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\alpha}{ᾶ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\alpha}{ᾶ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Alpha}{Ᾰ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Alpha}{Ᾱ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Alpha}{Ὰ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Alpha}{Ὰ} - -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\eta}{ῆ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\eta}{ῆ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Epsilon}{Ὲ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Eta}{Ὴ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Epsilon}{Ὲ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Eta}{Ὴ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\iota}{ῐ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\iota}{ῑ} -\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\iota}{ῒ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\iota}{ῖ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\iota}{ῖ} -\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\iota}{ῗ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Iota}{Ῐ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Iota}{Ῑ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Iota}{Ὶ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Iota}{Ὶ} - -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\upsilon}{ῠ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\upsilon}{ῡ} -\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\upsilon}{ῢ} -\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ} -\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\rho}{ῤ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\rho}{ῥ} -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\upsilon}{ῦ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\upsilon}{ῦ} -\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\upsilon}{ῧ} -\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Upsilon}{Ῠ} -\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Upsilon}{Ῡ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Upsilon}{Ὺ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Upsilon}{Ὺ} -\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Rho}{Ῥ} - -\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\omega}{ῶ} -\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\omega}{ῶ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omega}{Ὼ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omega}{Ὼ}</pre> -<!-- References --> -<!-- fix scaling in mobile browsers --> -</section> -</main> -</body> -</html> diff --git a/language/greek/greek-fontenc/alphabeta.sty b/language/greek/greek-fontenc/alphabeta.sty index a0352815db..223126275c 100644 --- a/language/greek/greek-fontenc/alphabeta.sty +++ b/language/greek/greek-fontenc/alphabeta.sty @@ -3,9 +3,9 @@ % Greek symbols in text and math % ****************************** % -% :Version: 2.2.1 (changelog_) +% :Version: 2.5 (changelog_) % -% :Copyright: © 2010, 2020 Günter Milde +% :Copyright: © 2010, 2020, 2023 Günter Milde % % :Licence: This work may be distributed and/or modified under the % conditions of the `LaTeX Project Public License`_, either @@ -27,8 +27,9 @@ % math mode, so that Greek letters can be specified with the established % command names in text, too. % -% If used together with the ``utf8`` option of inputenc_, literal Unicode -% characters can be used for Greek symbols in mathematical formulas. +% The package works with both, 8-bit TeX as well as Xe/LuaTeX. +% Under 8-bit TeX, literal Unicode characters can be used for Greek symbols +% in mathematical formulas. % % .. Attention:: % The macros work well in any font encoding for single symbols. @@ -39,7 +40,7 @@ % Therefore, Greek text should be written with the help of Babel_ or % Polyglossia_ (setting the language to ``greek``) or wrapped in the % provided ``ensuregreek`` macro. Using Babel_ or Polyglossia_ also helps -% to ensure proper hyphenation. +% to ensure correct hyphenation and case changes. % % % Usage @@ -47,15 +48,11 @@ % % .. code:: latex % -% \usepackage{alphabeta} +% \usepackage[<options>]{alphabeta} % -% The greek-inputenc_ package provides support for Unicode (utf-8) input -% of Greek characters with 8-bit TeX and the inputenc_ package: +% The package provides the same options__ as textalpha_. % -% .. code:: latex -% -% \usepackage[utf-8]{inputenc} -% \usepackage{alphabeta} +% __ textalpha.sty.html#options % % Conflicts % ---------- @@ -77,29 +74,24 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} - [2023/03/08 2.2.1 macros for Greek letters in text and math] + [2023-09-12 2.5 macros for Greek letters in text and math] % Requirements % ------------ % % This package extends the `textalpha <textalpha.sty.html>`_ package. +% (Just like `alphabeta`, `textalpha`_ is part of greek-fontenc_.) % Package options are passed on to `textalpha`:: \RequirePackageWithOptions{textalpha} -% Just like `alphabeta`, `textalpha` is part of greek-fontenc_. -% % This package requires the e-TeX_ extensions (i.e. a not too old TeX % distribution) for the ``\ifdefined`` test. % -% It uses the ``\TextOrMath`` test from the fixltx2e_ standard LaTeX package. -% ``fixltx2e`` is loaded by default since TeXLive 2015. In case of an -% ``\TextOrMath undefined`` error, load it in the document preamble via -% -% .. code:: latex -% -% \usepackage{fixltx2e} +% It uses the ``\TextOrMath`` test (in the LaTeX kernel since 2015). +% In case of an ``\TextOrMath undefined`` error, load the +% ``fixltx2e`` package. % % % Postpone the re-definitions @@ -110,6 +102,10 @@ \AtBeginDocument{ +% save @-catcode, allow @ in command names:: + +\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}% +\makeatletter % Save math macros % ---------------- @@ -150,7 +146,6 @@ \let\mathvarrho\varrho \let\mathsigma\sigma \let\mathvarsigma\varsigma -\let\mathfinalsigma\varsigma \let\mathtau\tau \let\mathupsilon\upsilon \let\mathphi\phi @@ -162,7 +157,10 @@ \providecommand*{\digamma}{\textit{\textdigamma}} \let\mathdigamma\digamma -% \varkappa and \varbeta are defined by some math packages +% \varTheta, \varkappa, and \varbeta are defined by math packages +\ifdefined\varTheta + \let\mathvarTheta\varTheta +\fi \ifdefined\varbeta \let\mathvarbeta\varbeta \fi @@ -187,14 +185,21 @@ % no syntactic meaning in Greek text and are not given code-points in the LGR % encoding while Unicode defines separate code points for the symbol variants. % -% Greek Alphabet: +% Greek Alphabet +% '''''''''''''' % % Macros keep their meaning in mathematical mode (i.e. use the same shape as % without this package) and refer to GREEK LETTER ... in text. For % ``\epsilon`` and ``phi``, this means that the selected symbol variant % differs in text vs. math mode. Use ``\varepsilon`` and ``\varphi`` (see -% section `variant shape symbols`_ below) to select the GREEK LETTER ...” +% section `variant shape symbols`_ below) to select the "GREEK LETTER ..." % in both, text and math mode. +% +% Macros for letters that can take diacritical marks and are used in text +% and math mode are defined with ``\DeclareTextCommandDefault`` to ensure +% the selection of pre-composed characters and correct case changes with +% ``\MakeUppercase`` and ``\MakeLowercase``. +% % :: \providecommand*{\Alpha}{\textAlpha} @@ -216,21 +221,21 @@ \providecommand*{\Rho}{\textRho} \renewcommand*{\Sigma}{\TextOrMath{\textSigma}{\mathSigma}} \providecommand*{\Tau}{\textTau} -\renewcommand*{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} +\DeclareTextCommandDefault{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} \renewcommand*{\Phi}{\TextOrMath{\textPhi}{\mathPhi}} \providecommand*{\Chi}{\textChi} \renewcommand*{\Psi}{\TextOrMath{\textPsi}{\mathPsi}} -\renewcommand*{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} +\DeclareTextCommandDefault{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} % -\renewcommand*{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} +\DeclareTextCommandDefault{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} \renewcommand*{\beta}{\TextOrMath{\textbeta}{\mathbeta}} \renewcommand*{\gamma}{\TextOrMath{\textgamma}{\mathgamma}} \renewcommand*{\delta}{\TextOrMath{\textdelta}{\mathdelta}} -\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ +\DeclareTextCommandDefault{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ \renewcommand*{\zeta}{\TextOrMath{\textzeta}{\mathzeta}} -\renewcommand*{\eta}{\TextOrMath{\texteta}{\matheta}} +\DeclareTextCommandDefault{\eta}{\TextOrMath{\texteta}{\matheta}} \renewcommand*{\theta}{\TextOrMath{\texttheta}{\maththeta}} -\renewcommand*{\iota}{\TextOrMath{\textiota}{\mathiota}} +\DeclareTextCommandDefault{\iota}{\TextOrMath{\textiota}{\mathiota}} \renewcommand*{\kappa}{\TextOrMath{\textkappa}{\mathkappa}} \renewcommand*{\lambda}{\TextOrMath{\textlambda}{\mathlambda}} \renewcommand*{\mu}{\TextOrMath{\textmu}{\mathmu}} @@ -238,16 +243,16 @@ \renewcommand*{\xi}{\TextOrMath{\textxi}{\mathxi}} \providecommand*{\omicron}{\textomicron} \renewcommand*{\pi}{\TextOrMath{\textpi}{\mathpi}} -\renewcommand*{\rho}{\TextOrMath{\textrho}{\mathrho}} +\DeclareTextCommandDefault{\rho}{\TextOrMath{\textrho}{\mathrho}} \renewcommand*{\sigma}{\TextOrMath{\textsigma}{\mathsigma}} -\renewcommand*{\varsigma}{\TextOrMath{\textvarsigma}{\mathvarsigma}} -\providecommand*{\finalsigma}{\varsigma} +\providecommand*{\finalsigma}{\TextOrMath{\textfinalsigma}{\mathvarsigma}} +\renewcommand*{\varsigma}{\finalsigma} \renewcommand*{\tau}{\TextOrMath{\texttau}{\mathtau}} -\renewcommand*{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} +\DeclareTextCommandDefault{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} \renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} % ϕ/φ \renewcommand*{\chi}{\TextOrMath{\textchi}{\mathchi}} \renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}} -\renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}} +\DeclareTextCommandDefault{\omega}{\TextOrMath{\textomega}{\mathomega}} % Archaic letters @@ -261,7 +266,8 @@ \providecommand*{\varstigma}{\textvarstigma} % stigma variant (CB.enc, teubner) \providecommand*{\koppa}{\textkoppa} % ϟ (greek small letter koppa) \providecommand*{\Koppa}{\textKoppa} % Ϟ (greek letter koppa) -\providecommand*{\qoppa}{\textqoppa} % ϙ (archaic koppa) +% !! babel-greek defines \qoppa as alias for ϟ (\textkoppa)! +\def\qoppa{\textqoppa} % ϙ (archaic koppa) \providecommand*{\Qoppa}{\textQoppa} % Ϙ (archaic Koppa) \providecommand*{\Stigma}{\textStigma} % Ϛ (in some fonts ϹΤ ligature) \providecommand*{\Sampi}{\textSampi} % Ϡ @@ -304,36 +310,353 @@ \providecommand*{\varkappa}{\textkappasymbol} \fi \providecommand*{\kappasymbol}{\varkappa} -% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta +% ..symbol != var.. (in "amsmath", \varTheta is italic shape of \Theta) +\ifdefined\mathvarTheta + \renewcommand*{\varTheta}{\TextOrMath{\textTheta}{\mathvarTheta}} +\else + \providecommand*{\varTheta}{\textTheta} % Θ +\fi \providecommand*{\Thetasymbol}{\textThetasymbol} % ϴ -% TextCompositeCommands for the generic macros -% -------------------------------------------- +% TextCompositeCommands for the letter-name macros +% ------------------------------------------------ % % The NFSS TextComposite mechanism looks for the next token without expanding % it. In order to let compositions like ``\ensuregreek{\'\Alpha}`` or -% ``\ensuregreek{\>"\alpha}`` work as expected we define TextComposites with the -% `letter name commands`. (Composition only works if the active font encoding -% is LGR). :: +% ``\ensuregreek{\>"\alpha}`` work as expected we define TextComposites with +% the `letter name commands`. +% +% TextCompositeCommands are always specific for the font-encoding. +% Documents may use TU, LGR, and PU in parallel. +% We define auxiliary commands with definitions +% that are required by more than one font encoding. +% +% +% Select pre-composed characters. +% ''''''''''''''''''''''''''''''' +% +% Required by LGR and PU. +% +% With TU, most pre-composed characters are selected by the the engine. +% (Actually by the `Harfbuzz` renderer which is default for XeTeX and can +% be selected with fontspec for LuaTeX). :: + +\newcommand*{\alphabeta@select@precomposed}[1]{ + \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha} {\accvaria\textalpha} + \DeclareTextCompositeCommand{\accdasia}{#1}{\alpha} {\accdasia\textalpha} + \DeclareTextCompositeCommand{\accpsili}{#1}{\alpha} {\accpsili\textalpha} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\alpha} {\accdasiavaria\textalpha} + \DeclareTextCompositeCommand{\acctonos}{#1}{\alpha} {\acctonos\textalpha} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\alpha} {\accdasiaoxia\textalpha} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\alpha} {\accpsilioxia\textalpha} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\alpha} {\accpsilivaria\textalpha} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\alpha} {\accperispomeni\textalpha} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\alpha} {\accdasiaperispomeni\textalpha} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\alpha} {\accpsiliperispomeni\textalpha} + \DeclareTextCompositeCommand{\accvaria}{#1}{\eta} {\accvaria\texteta} + \DeclareTextCompositeCommand{\accdasia}{#1}{\eta} {\accdasia\texteta} + \DeclareTextCompositeCommand{\accpsili}{#1}{\eta} {\accpsili\texteta} + \DeclareTextCompositeCommand{\acctonos}{#1}{\eta} {\acctonos\texteta} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\eta} {\accdasiaoxia\texteta} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\eta} {\accpsilioxia\texteta} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\eta} {\accdasiavaria\texteta} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\eta} {\accperispomeni\texteta} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\eta} {\accdasiaperispomeni\texteta} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\eta} {\accpsiliperispomeni\texteta} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\eta} {\accpsilivaria\texteta} + \DeclareTextCompositeCommand{\accvaria}{#1}{\omega} {\accvaria\textomega} + \DeclareTextCompositeCommand{\accdasia}{#1}{\omega} {\accdasia\textomega} + \DeclareTextCompositeCommand{\accpsili}{#1}{\omega} {\accpsili\textomega} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omega} {\accdasiavaria\textomega} + \DeclareTextCompositeCommand{\acctonos}{#1}{\omega} {\acctonos\textomega} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omega} {\accdasiaoxia\textomega} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omega} {\accpsilioxia\textomega} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omega} {\accpsilivaria\textomega} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\omega} {\accperispomeni\textomega} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\omega} {\accdasiaperispomeni\textomega} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\omega} {\accpsiliperispomeni\textomega} + \DeclareTextCompositeCommand{\accvaria}{#1}{\iota} {\accvaria\textiota} + \DeclareTextCompositeCommand{\accdasia}{#1}{\iota} {\accdasia\textiota} + \DeclareTextCompositeCommand{\accpsili}{#1}{\iota} {\accpsili\textiota} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\iota} {\accdasiavaria\textiota} + \DeclareTextCompositeCommand{\acctonos}{#1}{\iota} {\acctonos\textiota} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\iota} {\accdasiaoxia\textiota} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\iota} {\accpsilioxia\textiota} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\iota} {\accpsilivaria\textiota} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\iota} {\accperispomeni\textiota} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\iota} {\accdasiaperispomeni\textiota} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\iota} {\accpsiliperispomeni\textiota} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\iota} {\accdialytika\textiota} + \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\iota} {\accdialytikavaria\textiota} + \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\iota} {\accdialytikatonos\textiota} + \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\iota} {\accdialytikaperispomeni\textiota} + \DeclareTextCompositeCommand{\accvaria}{#1}{\upsilon} {\accvaria\textupsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\upsilon} {\accdasia\textupsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\upsilon} {\accpsili\textupsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\upsilon} {\accdasiavaria\textupsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\upsilon} {\acctonos\textupsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\upsilon} {\accdasiaoxia\textupsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\upsilon} {\accpsilioxia\textupsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\upsilon} {\accpsilivaria\textupsilon} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\upsilon} {\accperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\upsilon} {\accdasiaperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\upsilon} {\accpsiliperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\upsilon} {\accdialytika\textupsilon} + \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\upsilon} {\accdialytikavaria\textupsilon} + \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\upsilon} {\accdialytikatonos\textupsilon} + \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\upsilon} {\accdialytikaperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\epsilon} {\accvaria\textepsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\epsilon} {\accdasia\textepsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\epsilon} {\accpsili\textepsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\epsilon} {\accdasiavaria\textepsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\epsilon} {\acctonos\textepsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\epsilon} {\accdasiaoxia\textepsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\epsilon} {\accpsilioxia\textepsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\epsilon} {\accpsilivaria\textepsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\omicron} {\accvaria\textomicron} + \DeclareTextCompositeCommand{\accdasia}{#1}{\omicron} {\accdasia\textomicron} + \DeclareTextCompositeCommand{\accpsili}{#1}{\omicron} {\accpsili\textomicron} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omicron} {\accdasiavaria\textomicron} + \DeclareTextCompositeCommand{\acctonos}{#1}{\omicron} {\acctonos\textomicron} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omicron} {\accdasiaoxia\textomicron} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omicron} {\accpsilioxia\textomicron} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omicron} {\accpsilivaria\textomicron} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\Iota} {\accdialytika\textIota} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\Upsilon} {\accdialytika\textUpsilon} + % + \DeclareTextCompositeCommand{\accdasia}{#1}{\Alpha}{\accdasia\textAlpha} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Alpha}{\accdasiavaria\textAlpha} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Alpha}{\accdasiaoxia\textAlpha} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Alpha}{\accdasiaperispomeni\textAlpha} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Alpha}{\accpsili\textAlpha} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Alpha}{\accpsilivaria\textAlpha} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Alpha}{\accpsilioxia\textAlpha} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Alpha}{\accpsiliperispomeni\textAlpha} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Alpha}{\acctonos\textAlpha} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha}{\accvaria\textAlpha} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Epsilon}{\accdasia\textEpsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Epsilon}{\accdasiaoxia\textEpsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Epsilon}{\accdasiavaria\textEpsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Epsilon}{\accpsili\textEpsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Epsilon}{\accpsilioxia\textEpsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Epsilon}{\accpsilivaria\textEpsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Epsilon}{\acctonos\textEpsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Epsilon}{\accvaria\textEpsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Eta}{\accdasia\textEta} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Eta}{\accdasiavaria\textEta} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Eta}{\accdasiaoxia\textEta} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Eta}{\accdasiaperispomeni\textEta} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Eta}{\accpsili\textEta} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Eta}{\accpsilivaria\textEta} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Eta}{\accpsilioxia\textEta} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Eta}{\accpsiliperispomeni\textEta} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Eta}{\acctonos\textEta} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Eta}{\accvaria\textEta} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Iota}{\accdasia\textIota} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Iota}{\accdasiavaria\textIota} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Iota}{\accdasiaoxia\textIota} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Iota}{\accdasiaperispomeni\textIota} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Iota}{\accpsili\textIota} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Iota}{\accpsilivaria\textIota} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Iota}{\accpsilioxia\textIota} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Iota}{\accpsiliperispomeni\textIota} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Iota}{\acctonos\textIota} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Iota}{\accvaria\textIota} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Omicron}{\accdasia\textOmicron} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omicron}{\accdasiavaria\textOmicron} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omicron}{\accdasiaoxia\textOmicron} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Omicron}{\accpsili\textOmicron} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omicron}{\accpsilivaria\textOmicron} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omicron}{\accpsilioxia\textOmicron} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Omicron}{\acctonos\textOmicron} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Omicron}{\accvaria\textOmicron} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Upsilon}{\accdasia\textUpsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Upsilon}{\accdasiavaria\textUpsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Upsilon}{\accdasiaoxia\textUpsilon} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Upsilon}{\accdasiaperispomeni\textUpsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Upsilon}{\acctonos\textUpsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Upsilon}{\accvaria\textUpsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Rho}{\accdasia\textRho} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Omega}{\accdasia\textOmega} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omega}{\accdasiavaria\textOmega} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omega}{\accdasiaoxia\textOmega} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Omega}{\accdasiaperispomeni\textOmega} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Omega}{\accpsili\textOmega} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omega}{\accpsilivaria\textOmega} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omega}{\accpsilioxia\textOmega} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Omega}{\accpsiliperispomeni\textOmega} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Omega}{\acctonos\textOmega} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Omega}{\accvaria\textOmega} +} + +% Drop "capital" accents +% '''''''''''''''''''''' +% +% Definitions in babel-greek_ let ``\MakeUppercase`` convert standard accents +% ``\'``, ``\` ``, ``\~``, and ``\"`` to "capital" versions. +% +% In LGR, the "capital" accents are generally dropped. In PU and TU, they +% must be kept on Latin letters but dropped from Greek letters:: + +\newcommand*{\alphabeta@drop@capital@accents}[1]{ + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Alpha }{\alphabeta@alpha@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Epsilon}{\alphabeta@epsilon@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Omega }{\textOmega } + % + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Alpha }{\textAlpha } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Epsilon}{\textEpsilon} + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Omega }{\textOmega } + % + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Alpha }{\textAlpha } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Omega }{\textOmega } +} + +% Hiatus feature +% '''''''''''''' +% +% Look ahead and place a diaeresis on Ι or Υ. +% Leads to errors in PU. :: + +\newcommand*{\alphabeta@hiatus@composites}[1]{ + \DeclareTextCommand{\alphabeta@alpha@hiatus}{#1}{% + \csname LGR@ifnextchar\endcsname {\Iota}{\Alpha\"}{% + \csname LGR@ifnextchar\endcsname {\Upsilon}{\Alpha\"}{\Alpha}% + }% + } + \DeclareTextCommand{\alphabeta@epsilon@hiatus}{#1}{% + \csname LGR@ifnextchar\endcsname {\Iota}{\Epsilon\"}{% + \csname LGR@ifnextchar\endcsname {\Upsilon}{\Epsilon\"}{\Epsilon}% + }% + } + \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Alpha}{\alphabeta@alpha@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Epsilon}{\alphabeta@epsilon@hiatus} +} + + +% Composites for TU +% ''''''''''''''''' +% +% With font encoding TU, pre-composed characters are selected by the +% the Harfbuzz renderer (default for XeTeX, select with fontspec for LuaTeX). +% Exception: the (standard) combining tilde. :: \@ifl@aded{def}{tuenc-greek}{ - \input{alphabeta-tuenc.def} + \DeclareUnicodeComposite{\~}{\alpha }{"1FB6} % ᾶ + \DeclareUnicodeComposite{\~}{\eta }{"1FC6} % ῆ + \DeclareUnicodeComposite{\~}{\iota }{"1FD6} % ῖ + \DeclareUnicodeComposite{\~}{\upsilon}{"1FE6} % ῦ + \DeclareUnicodeComposite{\~}{\omega }{"1FF6} % ῶ + + \alphabeta@drop@capital@accents{\UnicodeEncodingName} + \alphabeta@hiatus@composites{\UnicodeEncodingName} }{} + + +% Composites for LGR +% '''''''''''''''''' +% :: + \@ifl@aded{def}{lgrenc}{ - \input{alphabeta-lgr.def} + \alphabeta@select@precomposed{LGR} + \alphabeta@hiatus@composites{LGR} +}{} + + +% Composites for PU +% ''''''''''''''''' +% +% Composite commands in PDF strings work only, if aliases set up with +% ``DeclareTextCommandDefault`` are also defined for the PU font encoding:: + +\@ifl@aded{def}{puenc}{ + \DeclareTextCommand{\Upsilon}{PU}{\textUpsilon} + \DeclareTextCommand{\Omega}{PU}{\textOmega} + \DeclareTextCommand{\alpha}{PU}{\textalpha} + \DeclareTextCommand{\epsilon}{PU}{\textepsilon} + \DeclareTextCommand{\eta}{PU}{\texteta} + \DeclareTextCommand{\iota}{PU}{\textiota} + \DeclareTextCommand{\rho}{PU}{\textrho} + \DeclareTextCommand{\upsilon}{PU}{\textupsilon} + \DeclareTextCommand{\omega}{PU}{\textomega} + +% Now load composite defs:: + + \alphabeta@select@precomposed{PU} + \alphabeta@drop@capital@accents{PU} + +% The hiatus feature leads to errors in PU:: + + \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Alpha}{\textAlpha} + \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Epsilon}{\textEpsilon} + % fix ``\'\alpha`` and ``\'\epsilon`` (\'{\alpha} works): + \DeclareTextCompositeCommand{\accACUTE}{PU}{\Alpha }{\textAlpha} + \DeclareTextCompositeCommand{\accACUTE}{PU}{\Epsilon}{\textEpsilon} }{} +% ------------------------------------------- + +% Drop auxiliary definitions to free memory:: + +\renewcommand*{\alphabeta@select@precomposed }{\relax} +\renewcommand*{\alphabeta@drop@capital@accents}{\relax} +\renewcommand*{\alphabeta@hiatus@composites }{\relax} + + +% Case changing +% ------------- +% +% We need to extend the case-mapping ``\@uclclist`` for characters that are +% defined with ``\DeclareTextCommandDefault``. +% +% The definition of an auxiliary, self-resetting macro makes this idempotent +% (only the first use of this function will expand the ``@uclclist``). +% The second and third lines are TeX's way of writing ``@uclclist += …``. +% +% Since 2022, ``\MakeUppercase`` expects the default for ambiguous mappings +% in first position, before, the default was in last position. +% :: + +\providecommand*\alphabeta@update@uclclist{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \alpha \Alpha + \epsilon \Epsilon + \epsilonsymbol \Epsilon + \varepsilon \Epsilon + \eta \Eta + \iota \Iota + \omicron \Omicron + \rho \Rho + \varrho \Rho + \rhosymbol \Rho + \upsilon \Upsilon + \omega \Omega + % repeat default for pre-2022 \MakeUppercase + \epsilon \Epsilon + \rho \Rho + }% + \let\alphabeta@update@uclclist\relax +} + +% Expand the @uclclist using the just defined macro:: + +\alphabeta@update@uclclist + % Re-definition for Greek Unicode input in math mode % -------------------------------------------------- % -% Check with ``\ifdefined`` for the definition of -% ``\DeclareUnicodeCharacter``. In contrast to ``\@ifdefined``, this works -% without side-effects. It makes the package dependent on the `e-TeX`_ -% extensions but these are standard in all current TeX distributions anyway. -% -% Map Greek characters that are also defined in math mode to the generic +% Map Greek characters that are also defined in math mode to the letter-name % macros:: \ifdefined\DeclareUnicodeCharacter @@ -365,7 +688,7 @@ \DeclareUnicodeCharacter{03BE}{\xi} % ξ \DeclareUnicodeCharacter{03C0}{\pi} % π \DeclareUnicodeCharacter{03C1}{\rho} % ρ - \DeclareUnicodeCharacter{03C2}{\varsigma} % ς + \DeclareUnicodeCharacter{03C2}{\finalsigma} % ς \DeclareUnicodeCharacter{03C3}{\sigma} % σ \DeclareUnicodeCharacter{03C4}{\tau} % τ \DeclareUnicodeCharacter{03C5}{\upsilon} % υ @@ -380,11 +703,11 @@ \DeclareUnicodeCharacter{03DD}{\digamma} % ϝ \DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ \DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$ - \fi % :: +\RestoreAtCatcode } % close the \AtBeginDocument macro @@ -407,6 +730,14 @@ % 1.0 2020/09/25 New package version. No changes in this file. % 2.0 2020/10/13 Provide ``\Koppa``. % 2.2.1 2023-03-08 Documentation update. +% 2.5 2023-09-12 Fixes for ``\MakeUppercase`` / ``\MakeLowercase``. +% .. Text mode alias ``\varTheta`` → ``\Theta``. +% .. Overwrite legacy `babel-greek` alias ``\qoppa`` (ϟ) +% with ``\textqoppa`` (ϙ). +% .. Inline ``alphabeta-tuenc.def`` and ``alphabeta-lgr.def`` +% (dropping redundant composite definitions). +% .. Composite definitions to select pre-composed characters +% in PU (PDF strings). % ====== =========== ======================================================== % % @@ -415,9 +746,9 @@ % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt % .. _CB Fonts: https://ctan.org/pkg/cbgreek-complete % .. _Babel: https://ctan.org/pkg/babel +% .. _babel-greek: https://ctan.org/pkg/babel-greek % .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex % .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc % .. _greek-inputenc: https://ctan.org/pkg/greek-inputenc -% .. _inputenc: https://ctan.org/pkg/inputenc % .. _fixltx2e: https://ctan.org/pkg/fixltx2e % .. _Polyglossia: https://ctan.org/pkg/polyglossia diff --git a/language/greek/greek-fontenc/alphabeta.sty.html b/language/greek/greek-fontenc/alphabeta.sty.html index f6deffaf26..3ba83c0486 100644 --- a/language/greek/greek-fontenc/alphabeta.sty.html +++ b/language/greek/greek-fontenc/alphabeta.sty.html @@ -2,9 +2,9 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> -<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="generator" content="Docutils 0.21b.dev: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> -<meta name="dcterms.rights" content="© 2010, 2020 Günter Milde" /> +<meta name="dcterms.rights" content="© 2010, 2020, 2023 Günter Milde" /> <title>alphabeta.sty</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> @@ -308,8 +308,8 @@ p img, p video, figure img, figure video { /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ /* .. _CSS3: https://www.w3.org/Style/CSS/ */ -/* Note: */ -/* This style sheet is provisional: */ +/* Note: */ +/* This style sheet is provisional: */ /* the API is not settled and may change with any minor Docutils version. */ @@ -648,7 +648,8 @@ math .boldsymbol { font-weight: bold; } mstyle.mathscr, mi.mathscr { - font-family: STIX; + font-family: STIX, XITSMathJax_Script, rsfs10, + "Asana Math", Garamond, cursive; } /* Adaptive page layout */ @@ -793,9 +794,9 @@ mstyle.mathscr, mi.mathscr { <p class="subtitle" id="greek-symbols-in-text-and-math">Greek symbols in text and math</p> <dl class="docinfo"> <dt class="version">Version<span class="colon">:</span></dt> -<dd class="version">2.2.1 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dd class="version">2.5 (<a class="reference internal" href="#changelog">changelog</a>)</dd> <dt class="copyright">Copyright<span class="colon">:</span></dt> -<dd class="copyright">© 2010, 2020 Günter Milde</dd> +<dd class="copyright">© 2010, 2020, 2023 Günter Milde</dd> <dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either @@ -824,15 +825,26 @@ mode.</p> <li><p><a class="reference internal" href="#save-math-macros" id="toc-entry-8">Save math macros</a></p></li> <li><p><a class="reference internal" href="#commands-to-access-greek-letters-by-name" id="toc-entry-9">Commands to access Greek letters by name</a></p> <ul> -<li><p><a class="reference internal" href="#archaic-letters" id="toc-entry-10">Archaic letters</a></p></li> -<li><p><a class="reference internal" href="#variant-shape-symbols" id="toc-entry-11">Variant shape symbols</a></p></li> +<li><p><a class="reference internal" href="#greek-alphabet" id="toc-entry-10">Greek Alphabet</a></p></li> +<li><p><a class="reference internal" href="#archaic-letters" id="toc-entry-11">Archaic letters</a></p></li> +<li><p><a class="reference internal" href="#variant-shape-symbols" id="toc-entry-12">Variant shape symbols</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#textcompositecommands-for-the-generic-macros" id="toc-entry-12">TextCompositeCommands for the generic macros</a></p></li> -<li><p><a class="reference internal" href="#re-definition-for-greek-unicode-input-in-math-mode" id="toc-entry-13">Re-definition for Greek Unicode input in math mode</a></p></li> +<li><p><a class="reference internal" href="#textcompositecommands-for-the-letter-name-macros" id="toc-entry-13">TextCompositeCommands for the letter-name macros</a></p> +<ul> +<li><p><a class="reference internal" href="#select-pre-composed-characters" id="toc-entry-14">Select pre-composed characters.</a></p></li> +<li><p><a class="reference internal" href="#drop-capital-accents" id="toc-entry-15">Drop “capital” accents</a></p></li> +<li><p><a class="reference internal" href="#hiatus-feature" id="toc-entry-16">Hiatus feature</a></p></li> +<li><p><a class="reference internal" href="#composites-for-tu" id="toc-entry-17">Composites for TU</a></p></li> +<li><p><a class="reference internal" href="#composites-for-lgr" id="toc-entry-18">Composites for LGR</a></p></li> +<li><p><a class="reference internal" href="#composites-for-pu" id="toc-entry-19">Composites for PU</a></p></li> +</ul> +</li> +<li><p><a class="reference internal" href="#case-changing" id="toc-entry-20">Case changing</a></p></li> +<li><p><a class="reference internal" href="#re-definition-for-greek-unicode-input-in-math-mode" id="toc-entry-21">Re-definition for Greek Unicode input in math mode</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#changelog" id="toc-entry-14">Changelog</a></p></li> +<li><p><a class="reference internal" href="#changelog" id="toc-entry-22">Changelog</a></p></li> </ul> </nav> <section id="motivation"> @@ -842,8 +854,9 @@ are only valid in mathematical mode.</p> <p>With this package, the math macros are redefined to work in both, text and math mode, so that Greek letters can be specified with the established command names in text, too.</p> -<p>If used together with the <span class="docutils literal">utf8</span> option of <a class="reference external" href="https://ctan.org/pkg/inputenc">inputenc</a>, literal Unicode -characters can be used for Greek symbols in mathematical formulas.</p> +<p>The package works with both, 8-bit TeX as well as Xe/LuaTeX. +Under 8-bit TeX, literal Unicode characters can be used for Greek symbols +in mathematical formulas.</p> <aside class="admonition attention"> <p class="admonition-title">Attention!</p> <p>The macros work well in any font encoding for single symbols. @@ -853,16 +866,13 @@ accent+character with a pre-composed character.</p> <p>Therefore, Greek text should be written with the help of <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> or <a class="reference external" href="https://ctan.org/pkg/polyglossia">Polyglossia</a> (setting the language to <span class="docutils literal">greek</span>) or wrapped in the provided <span class="docutils literal">ensuregreek</span> macro. Using <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> or <a class="reference external" href="https://ctan.org/pkg/polyglossia">Polyglossia</a> also helps -to ensure proper hyphenation.</p> +to ensure correct hyphenation and case changes.</p> </aside> </section> <section id="usage"> <h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Usage</a></h2> -<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre> -<p>The <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a> package provides support for Unicode (utf-8) input -of Greek characters with 8-bit TeX and the <a class="reference external" href="https://ctan.org/pkg/inputenc">inputenc</a> package:</p> -<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[utf-8]</span><span class="name builtin">{</span>inputenc<span class="name builtin">}</span> -<span class="keyword">\usepackage</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre> +<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[<options>]</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre> +<p>The package provides the same <a class="reference external" href="textalpha.sty.html#options">options</a> as <a class="reference external" href="textalpha.sty.html">textalpha</a>.</p> <section id="conflicts"> <h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Conflicts</a></h3> <p><cite>alphabeta</cite> does not work if the <span class="docutils literal">utf8x</span> input encoding is selected. @@ -877,26 +887,28 @@ non-compatible definition of <span class="docutils literal">\DeclareUnicodeChara <h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3> <pre class="literal-block">\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} - [2023/03/08 2.2.1 macros for Greek letters in text and math]</pre> + [2023-09-12 2.5 macros for Greek letters in text and math]</pre> </section> <section id="requirements"> <h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Requirements</a></h3> <p>This package extends the <a class="reference external" href="textalpha.sty.html">textalpha</a> package. +(Just like <cite>alphabeta</cite>, <a class="reference external" href="textalpha.sty.html">textalpha</a> is part of <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.) Package options are passed on to <cite>textalpha</cite>:</p> <pre class="literal-block">\RequirePackageWithOptions{textalpha}</pre> -<p>Just like <cite>alphabeta</cite>, <cite>textalpha</cite> is part of <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p> <p>This package requires the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex">e-TeX</a> extensions (i.e. a not too old TeX distribution) for the <span class="docutils literal">\ifdefined</span> test.</p> -<p>It uses the <span class="docutils literal">\TextOrMath</span> test from the <a class="reference external" href="https://ctan.org/pkg/fixltx2e">fixltx2e</a> standard LaTeX package. -<span class="docutils literal">fixltx2e</span> is loaded by default since TeXLive 2015. In case of an -<span class="docutils literal">\TextOrMath undefined</span> error, load it in the document preamble via</p> -<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>fixltx2e<span class="name builtin">}</span></code></pre> +<p>It uses the <span class="docutils literal">\TextOrMath</span> test (in the LaTeX kernel since 2015). +In case of an <span class="docutils literal">\TextOrMath undefined</span> error, load the +<span class="docutils literal">fixltx2e</span> package.</p> </section> <section id="postpone-the-re-definitions"> <h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Postpone the re-definitions</a></h3> <p>To prevent other packages overwriting the re-defined commands we postpone the next steps until the start of the document body:</p> <pre class="literal-block">\AtBeginDocument{</pre> +<p>save @-catcode, allow @ in command names:</p> +<pre class="literal-block">\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}% +\makeatletter</pre> </section> <section id="save-math-macros"> <h3><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Save math macros</a></h3> @@ -935,7 +947,6 @@ the next steps until the start of the document body:</p> \let\mathvarrho\varrho \let\mathsigma\sigma \let\mathvarsigma\varsigma -\let\mathfinalsigma\varsigma \let\mathtau\tau \let\mathupsilon\upsilon \let\mathphi\phi @@ -947,7 +958,10 @@ the next steps until the start of the document body:</p> \providecommand*{\digamma}{\textit{\textdigamma}} \let\mathdigamma\digamma -% \varkappa and \varbeta are defined by some math packages +% \varTheta, \varkappa, and \varbeta are defined by math packages +\ifdefined\varTheta + \let\mathvarTheta\varTheta +\fi \ifdefined\varbeta \let\mathvarbeta\varbeta \fi @@ -967,13 +981,18 @@ rho, theta (small and capital), beta, and kappa (characters for the latter three symbols are not included in TeX’s math fonts). These variations have no syntactic meaning in Greek text and are not given code-points in the LGR encoding while Unicode defines separate code points for the symbol variants.</p> -<p>Greek Alphabet:</p> +<section id="greek-alphabet"> +<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Greek Alphabet</a></h4> <p>Macros keep their meaning in mathematical mode (i.e. use the same shape as without this package) and refer to GREEK LETTER … in text. For <span class="docutils literal">\epsilon</span> and <span class="docutils literal">phi</span>, this means that the selected symbol variant differs in text vs. math mode. Use <span class="docutils literal">\varepsilon</span> and <span class="docutils literal">\varphi</span> (see -section <a class="reference internal" href="#variant-shape-symbols">variant shape symbols</a> below) to select the GREEK LETTER …” +section <a class="reference internal" href="#variant-shape-symbols">variant shape symbols</a> below) to select the “GREEK LETTER …” in both, text and math mode.</p> +<p>Macros for letters that can take diacritical marks and are used in text +and math mode are defined with <span class="docutils literal">\DeclareTextCommandDefault</span> to ensure +the selection of pre-composed characters and correct case changes with +<span class="docutils literal">\MakeUppercase</span> and <span class="docutils literal">\MakeLowercase</span>.</p> <pre class="literal-block">\providecommand*{\Alpha}{\textAlpha} \providecommand*{\Beta}{\textBeta} \renewcommand*{\Gamma}{\TextOrMath{\textGamma}{\mathGamma}} @@ -993,21 +1012,21 @@ in both, text and math mode.</p> \providecommand*{\Rho}{\textRho} \renewcommand*{\Sigma}{\TextOrMath{\textSigma}{\mathSigma}} \providecommand*{\Tau}{\textTau} -\renewcommand*{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} +\DeclareTextCommandDefault{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} \renewcommand*{\Phi}{\TextOrMath{\textPhi}{\mathPhi}} \providecommand*{\Chi}{\textChi} \renewcommand*{\Psi}{\TextOrMath{\textPsi}{\mathPsi}} -\renewcommand*{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} +\DeclareTextCommandDefault{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} % -\renewcommand*{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} +\DeclareTextCommandDefault{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} \renewcommand*{\beta}{\TextOrMath{\textbeta}{\mathbeta}} \renewcommand*{\gamma}{\TextOrMath{\textgamma}{\mathgamma}} \renewcommand*{\delta}{\TextOrMath{\textdelta}{\mathdelta}} -\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ +\DeclareTextCommandDefault{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ \renewcommand*{\zeta}{\TextOrMath{\textzeta}{\mathzeta}} -\renewcommand*{\eta}{\TextOrMath{\texteta}{\matheta}} +\DeclareTextCommandDefault{\eta}{\TextOrMath{\texteta}{\matheta}} \renewcommand*{\theta}{\TextOrMath{\texttheta}{\maththeta}} -\renewcommand*{\iota}{\TextOrMath{\textiota}{\mathiota}} +\DeclareTextCommandDefault{\iota}{\TextOrMath{\textiota}{\mathiota}} \renewcommand*{\kappa}{\TextOrMath{\textkappa}{\mathkappa}} \renewcommand*{\lambda}{\TextOrMath{\textlambda}{\mathlambda}} \renewcommand*{\mu}{\TextOrMath{\textmu}{\mathmu}} @@ -1015,32 +1034,34 @@ in both, text and math mode.</p> \renewcommand*{\xi}{\TextOrMath{\textxi}{\mathxi}} \providecommand*{\omicron}{\textomicron} \renewcommand*{\pi}{\TextOrMath{\textpi}{\mathpi}} -\renewcommand*{\rho}{\TextOrMath{\textrho}{\mathrho}} +\DeclareTextCommandDefault{\rho}{\TextOrMath{\textrho}{\mathrho}} \renewcommand*{\sigma}{\TextOrMath{\textsigma}{\mathsigma}} -\renewcommand*{\varsigma}{\TextOrMath{\textvarsigma}{\mathvarsigma}} -\providecommand*{\finalsigma}{\varsigma} +\providecommand*{\finalsigma}{\TextOrMath{\textfinalsigma}{\mathvarsigma}} +\renewcommand*{\varsigma}{\finalsigma} \renewcommand*{\tau}{\TextOrMath{\texttau}{\mathtau}} -\renewcommand*{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} +\DeclareTextCommandDefault{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} \renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} % ϕ/φ \renewcommand*{\chi}{\TextOrMath{\textchi}{\mathchi}} \renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}} -\renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}}</pre> +\DeclareTextCommandDefault{\omega}{\TextOrMath{\textomega}{\mathomega}}</pre> +</section> <section id="archaic-letters"> -<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Archaic letters</a></h4> +<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Archaic letters</a></h4> <pre class="literal-block">\renewcommand*{\digamma}{\TextOrMath{\textdigamma}{\mathdigamma}} % ϝ \providecommand*{\Digamma}{\textDigamma} % Ϝ \providecommand*{\stigma}{\textstigma} % ϛ \providecommand*{\varstigma}{\textvarstigma} % stigma variant (CB.enc, teubner) \providecommand*{\koppa}{\textkoppa} % ϟ (greek small letter koppa) \providecommand*{\Koppa}{\textKoppa} % Ϟ (greek letter koppa) -\providecommand*{\qoppa}{\textqoppa} % ϙ (archaic koppa) +% !! babel-greek defines \qoppa as alias for ϟ (\textkoppa)! +\def\qoppa{\textqoppa} % ϙ (archaic koppa) \providecommand*{\Qoppa}{\textQoppa} % Ϙ (archaic Koppa) \providecommand*{\Stigma}{\textStigma} % Ϛ (in some fonts ϹΤ ligature) \providecommand*{\Sampi}{\textSampi} % Ϡ \providecommand*{\sampi}{\textsampi} % ϡ</pre> </section> <section id="variant-shape-symbols"> -<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Variant shape symbols</a></h4> +<h4><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Variant shape symbols</a></h4> <p>TeX’s concept of “standard” vs. “variant” math symbols does not map to the distinction between GREEK LETTER … vs. GREEK … SYMBOL in the Unicode standard (see <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a>).</p> @@ -1073,31 +1094,316 @@ math (or, if not supported, the SYMBOL shape):</p> \providecommand*{\varkappa}{\textkappasymbol} \fi \providecommand*{\kappasymbol}{\varkappa} -% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta +% ..symbol != var.. (in "amsmath", \varTheta is italic shape of \Theta) +\ifdefined\mathvarTheta + \renewcommand*{\varTheta}{\TextOrMath{\textTheta}{\mathvarTheta}} +\else + \providecommand*{\varTheta}{\textTheta} % Θ +\fi \providecommand*{\Thetasymbol}{\textThetasymbol} % ϴ</pre> </section> </section> -<section id="textcompositecommands-for-the-generic-macros"> -<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">TextCompositeCommands for the generic macros</a></h3> +<section id="textcompositecommands-for-the-letter-name-macros"> +<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">TextCompositeCommands for the letter-name macros</a></h3> <p>The NFSS TextComposite mechanism looks for the next token without expanding it. In order to let compositions like <span class="docutils literal"><span class="pre">\ensuregreek{\'\Alpha}</span></span> or -<span class="docutils literal"><span class="pre">\ensuregreek{\>"\alpha}</span></span> work as expected we define TextComposites with the -<cite>letter name commands</cite>. (Composition only works if the active font encoding -is LGR).</p> +<span class="docutils literal"><span class="pre">\ensuregreek{\>"\alpha}</span></span> work as expected we define TextComposites with +the <cite>letter name commands</cite>.</p> +<p>TextCompositeCommands are always specific for the font-encoding. +Documents may use TU, LGR, and PU in parallel. +We define auxiliary commands with definitions +that are required by more than one font encoding.</p> +<section id="select-pre-composed-characters"> +<h4><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Select pre-composed characters.</a></h4> +<p>Required by LGR and PU.</p> +<p>With TU, most pre-composed characters are selected by the the engine. +(Actually by the <cite>Harfbuzz</cite> renderer which is default for XeTeX and can +be selected with fontspec for LuaTeX).</p> +<pre class="literal-block">\newcommand*{\alphabeta@select@precomposed}[1]{ + \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha} {\accvaria\textalpha} + \DeclareTextCompositeCommand{\accdasia}{#1}{\alpha} {\accdasia\textalpha} + \DeclareTextCompositeCommand{\accpsili}{#1}{\alpha} {\accpsili\textalpha} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\alpha} {\accdasiavaria\textalpha} + \DeclareTextCompositeCommand{\acctonos}{#1}{\alpha} {\acctonos\textalpha} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\alpha} {\accdasiaoxia\textalpha} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\alpha} {\accpsilioxia\textalpha} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\alpha} {\accpsilivaria\textalpha} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\alpha} {\accperispomeni\textalpha} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\alpha} {\accdasiaperispomeni\textalpha} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\alpha} {\accpsiliperispomeni\textalpha} + \DeclareTextCompositeCommand{\accvaria}{#1}{\eta} {\accvaria\texteta} + \DeclareTextCompositeCommand{\accdasia}{#1}{\eta} {\accdasia\texteta} + \DeclareTextCompositeCommand{\accpsili}{#1}{\eta} {\accpsili\texteta} + \DeclareTextCompositeCommand{\acctonos}{#1}{\eta} {\acctonos\texteta} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\eta} {\accdasiaoxia\texteta} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\eta} {\accpsilioxia\texteta} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\eta} {\accdasiavaria\texteta} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\eta} {\accperispomeni\texteta} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\eta} {\accdasiaperispomeni\texteta} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\eta} {\accpsiliperispomeni\texteta} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\eta} {\accpsilivaria\texteta} + \DeclareTextCompositeCommand{\accvaria}{#1}{\omega} {\accvaria\textomega} + \DeclareTextCompositeCommand{\accdasia}{#1}{\omega} {\accdasia\textomega} + \DeclareTextCompositeCommand{\accpsili}{#1}{\omega} {\accpsili\textomega} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omega} {\accdasiavaria\textomega} + \DeclareTextCompositeCommand{\acctonos}{#1}{\omega} {\acctonos\textomega} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omega} {\accdasiaoxia\textomega} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omega} {\accpsilioxia\textomega} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omega} {\accpsilivaria\textomega} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\omega} {\accperispomeni\textomega} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\omega} {\accdasiaperispomeni\textomega} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\omega} {\accpsiliperispomeni\textomega} + \DeclareTextCompositeCommand{\accvaria}{#1}{\iota} {\accvaria\textiota} + \DeclareTextCompositeCommand{\accdasia}{#1}{\iota} {\accdasia\textiota} + \DeclareTextCompositeCommand{\accpsili}{#1}{\iota} {\accpsili\textiota} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\iota} {\accdasiavaria\textiota} + \DeclareTextCompositeCommand{\acctonos}{#1}{\iota} {\acctonos\textiota} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\iota} {\accdasiaoxia\textiota} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\iota} {\accpsilioxia\textiota} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\iota} {\accpsilivaria\textiota} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\iota} {\accperispomeni\textiota} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\iota} {\accdasiaperispomeni\textiota} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\iota} {\accpsiliperispomeni\textiota} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\iota} {\accdialytika\textiota} + \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\iota} {\accdialytikavaria\textiota} + \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\iota} {\accdialytikatonos\textiota} + \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\iota} {\accdialytikaperispomeni\textiota} + \DeclareTextCompositeCommand{\accvaria}{#1}{\upsilon} {\accvaria\textupsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\upsilon} {\accdasia\textupsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\upsilon} {\accpsili\textupsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\upsilon} {\accdasiavaria\textupsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\upsilon} {\acctonos\textupsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\upsilon} {\accdasiaoxia\textupsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\upsilon} {\accpsilioxia\textupsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\upsilon} {\accpsilivaria\textupsilon} + \DeclareTextCompositeCommand{\accperispomeni}{#1}{\upsilon} {\accperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\upsilon} {\accdasiaperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\upsilon} {\accpsiliperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\upsilon} {\accdialytika\textupsilon} + \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\upsilon} {\accdialytikavaria\textupsilon} + \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\upsilon} {\accdialytikatonos\textupsilon} + \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\upsilon} {\accdialytikaperispomeni\textupsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\epsilon} {\accvaria\textepsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\epsilon} {\accdasia\textepsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\epsilon} {\accpsili\textepsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\epsilon} {\accdasiavaria\textepsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\epsilon} {\acctonos\textepsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\epsilon} {\accdasiaoxia\textepsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\epsilon} {\accpsilioxia\textepsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\epsilon} {\accpsilivaria\textepsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\omicron} {\accvaria\textomicron} + \DeclareTextCompositeCommand{\accdasia}{#1}{\omicron} {\accdasia\textomicron} + \DeclareTextCompositeCommand{\accpsili}{#1}{\omicron} {\accpsili\textomicron} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omicron} {\accdasiavaria\textomicron} + \DeclareTextCompositeCommand{\acctonos}{#1}{\omicron} {\acctonos\textomicron} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omicron} {\accdasiaoxia\textomicron} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omicron} {\accpsilioxia\textomicron} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omicron} {\accpsilivaria\textomicron} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\Iota} {\accdialytika\textIota} + \DeclareTextCompositeCommand{\accdialytika}{#1}{\Upsilon} {\accdialytika\textUpsilon} + % + \DeclareTextCompositeCommand{\accdasia}{#1}{\Alpha}{\accdasia\textAlpha} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Alpha}{\accdasiavaria\textAlpha} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Alpha}{\accdasiaoxia\textAlpha} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Alpha}{\accdasiaperispomeni\textAlpha} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Alpha}{\accpsili\textAlpha} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Alpha}{\accpsilivaria\textAlpha} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Alpha}{\accpsilioxia\textAlpha} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Alpha}{\accpsiliperispomeni\textAlpha} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Alpha}{\acctonos\textAlpha} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha}{\accvaria\textAlpha} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Epsilon}{\accdasia\textEpsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Epsilon}{\accdasiaoxia\textEpsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Epsilon}{\accdasiavaria\textEpsilon} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Epsilon}{\accpsili\textEpsilon} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Epsilon}{\accpsilioxia\textEpsilon} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Epsilon}{\accpsilivaria\textEpsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Epsilon}{\acctonos\textEpsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Epsilon}{\accvaria\textEpsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Eta}{\accdasia\textEta} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Eta}{\accdasiavaria\textEta} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Eta}{\accdasiaoxia\textEta} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Eta}{\accdasiaperispomeni\textEta} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Eta}{\accpsili\textEta} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Eta}{\accpsilivaria\textEta} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Eta}{\accpsilioxia\textEta} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Eta}{\accpsiliperispomeni\textEta} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Eta}{\acctonos\textEta} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Eta}{\accvaria\textEta} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Iota}{\accdasia\textIota} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Iota}{\accdasiavaria\textIota} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Iota}{\accdasiaoxia\textIota} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Iota}{\accdasiaperispomeni\textIota} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Iota}{\accpsili\textIota} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Iota}{\accpsilivaria\textIota} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Iota}{\accpsilioxia\textIota} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Iota}{\accpsiliperispomeni\textIota} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Iota}{\acctonos\textIota} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Iota}{\accvaria\textIota} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Omicron}{\accdasia\textOmicron} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omicron}{\accdasiavaria\textOmicron} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omicron}{\accdasiaoxia\textOmicron} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Omicron}{\accpsili\textOmicron} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omicron}{\accpsilivaria\textOmicron} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omicron}{\accpsilioxia\textOmicron} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Omicron}{\acctonos\textOmicron} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Omicron}{\accvaria\textOmicron} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Upsilon}{\accdasia\textUpsilon} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Upsilon}{\accdasiavaria\textUpsilon} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Upsilon}{\accdasiaoxia\textUpsilon} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Upsilon}{\accdasiaperispomeni\textUpsilon} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Upsilon}{\acctonos\textUpsilon} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Upsilon}{\accvaria\textUpsilon} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Rho}{\accdasia\textRho} + \DeclareTextCompositeCommand{\accdasia}{#1}{\Omega}{\accdasia\textOmega} + \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omega}{\accdasiavaria\textOmega} + \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omega}{\accdasiaoxia\textOmega} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Omega}{\accdasiaperispomeni\textOmega} + \DeclareTextCompositeCommand{\accpsili}{#1}{\Omega}{\accpsili\textOmega} + \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omega}{\accpsilivaria\textOmega} + \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omega}{\accpsilioxia\textOmega} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Omega}{\accpsiliperispomeni\textOmega} + \DeclareTextCompositeCommand{\acctonos}{#1}{\Omega}{\acctonos\textOmega} + \DeclareTextCompositeCommand{\accvaria}{#1}{\Omega}{\accvaria\textOmega} +}</pre> +</section> +<section id="drop-capital-accents"> +<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Drop “capital” accents</a></h4> +<p>Definitions in <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> let <span class="docutils literal">\MakeUppercase</span> convert standard accents +<span class="docutils literal">\'</span>, <span class="docutils literal">\` ``, <span class="pre">``\~</span></span>, and <span class="docutils literal">\"</span> to “capital” versions.</p> +<p>In LGR, the “capital” accents are generally dropped. In PU and TU, they +must be kept on Latin letters but dropped from Greek letters:</p> +<pre class="literal-block">\newcommand*{\alphabeta@drop@capital@accents}[1]{ + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Alpha }{\alphabeta@alpha@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Epsilon}{\alphabeta@epsilon@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accACUTE}{#1}{\Omega }{\textOmega } + % + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Alpha }{\textAlpha } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Epsilon}{\textEpsilon} + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Omega }{\textOmega } + % + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Alpha }{\textAlpha } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Eta }{\textEta } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Iota }{\textIota } + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Upsilon}{\textUpsilon} + \DeclareTextCompositeCommand{\accTILDE}{#1}{\Omega }{\textOmega } +}</pre> +</section> +<section id="hiatus-feature"> +<h4><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">Hiatus feature</a></h4> +<p>Look ahead and place a diaeresis on Ι or Υ. +Leads to errors in PU.</p> +<pre class="literal-block">\newcommand*{\alphabeta@hiatus@composites}[1]{ + \DeclareTextCommand{\alphabeta@alpha@hiatus}{#1}{% + \csname LGR@ifnextchar\endcsname {\Iota}{\Alpha\"}{% + \csname LGR@ifnextchar\endcsname {\Upsilon}{\Alpha\"}{\Alpha}% + }% + } + \DeclareTextCommand{\alphabeta@epsilon@hiatus}{#1}{% + \csname LGR@ifnextchar\endcsname {\Iota}{\Epsilon\"}{% + \csname LGR@ifnextchar\endcsname {\Upsilon}{\Epsilon\"}{\Epsilon}% + }% + } + \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Alpha}{\alphabeta@alpha@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Epsilon}{\alphabeta@epsilon@hiatus} +}</pre> +</section> +<section id="composites-for-tu"> +<h4><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">Composites for TU</a></h4> +<p>With font encoding TU, pre-composed characters are selected by the +the Harfbuzz renderer (default for XeTeX, select with fontspec for LuaTeX). +Exception: the (standard) combining tilde.</p> <pre class="literal-block">\@ifl@aded{def}{tuenc-greek}{ - \input{alphabeta-tuenc.def} -}{} -\@ifl@aded{def}{lgrenc}{ - \input{alphabeta-lgr.def} + \DeclareUnicodeComposite{\~}{\alpha }{"1FB6} % ᾶ + \DeclareUnicodeComposite{\~}{\eta }{"1FC6} % ῆ + \DeclareUnicodeComposite{\~}{\iota }{"1FD6} % ῖ + \DeclareUnicodeComposite{\~}{\upsilon}{"1FE6} % ῦ + \DeclareUnicodeComposite{\~}{\omega }{"1FF6} % ῶ + + \alphabeta@drop@capital@accents{\UnicodeEncodingName} + \alphabeta@hiatus@composites{\UnicodeEncodingName} +}{}</pre> +</section> +<section id="composites-for-lgr"> +<h4><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">Composites for LGR</a></h4> +<pre class="literal-block">\@ifl@aded{def}{lgrenc}{ + \alphabeta@select@precomposed{LGR} + \alphabeta@hiatus@composites{LGR} }{}</pre> </section> +<section id="composites-for-pu"> +<h4><a class="toc-backref" href="#toc-entry-19" role="doc-backlink">Composites for PU</a></h4> +<p>Composite commands in PDF strings work only, if aliases set up with +<span class="docutils literal">DeclareTextCommandDefault</span> are also defined for the PU font encoding:</p> +<pre class="literal-block">\@ifl@aded{def}{puenc}{ + \DeclareTextCommand{\Upsilon}{PU}{\textUpsilon} + \DeclareTextCommand{\Omega}{PU}{\textOmega} + \DeclareTextCommand{\alpha}{PU}{\textalpha} + \DeclareTextCommand{\epsilon}{PU}{\textepsilon} + \DeclareTextCommand{\eta}{PU}{\texteta} + \DeclareTextCommand{\iota}{PU}{\textiota} + \DeclareTextCommand{\rho}{PU}{\textrho} + \DeclareTextCommand{\upsilon}{PU}{\textupsilon} + \DeclareTextCommand{\omega}{PU}{\textomega}</pre> +<p>Now load composite defs:</p> +<pre class="literal-block">\alphabeta@select@precomposed{PU} +\alphabeta@drop@capital@accents{PU}</pre> +<p>The hiatus feature leads to errors in PU:</p> +<pre class="literal-block"> \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Alpha}{\textAlpha} + \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Epsilon}{\textEpsilon} + % fix ``\'\alpha`` and ``\'\epsilon`` (\'{\alpha} works): + \DeclareTextCompositeCommand{\accACUTE}{PU}{\Alpha }{\textAlpha} + \DeclareTextCompositeCommand{\accACUTE}{PU}{\Epsilon}{\textEpsilon} +}{}</pre> +<hr class="docutils" /> +<p>Drop auxiliary definitions to free memory:</p> +<pre class="literal-block">\renewcommand*{\alphabeta@select@precomposed }{\relax} +\renewcommand*{\alphabeta@drop@capital@accents}{\relax} +\renewcommand*{\alphabeta@hiatus@composites }{\relax}</pre> +</section> +</section> +<section id="case-changing"> +<h3><a class="toc-backref" href="#toc-entry-20" role="doc-backlink">Case changing</a></h3> +<p>We need to extend the case-mapping <span class="docutils literal">\@uclclist</span> for characters that are +defined with <span class="docutils literal">\DeclareTextCommandDefault</span>.</p> +<p>The definition of an auxiliary, self-resetting macro makes this idempotent +(only the first use of this function will expand the <span class="docutils literal">@uclclist</span>). +The second and third lines are TeX’s way of writing <span class="docutils literal">@uclclist += …</span>.</p> +<p>Since 2022, <span class="docutils literal">\MakeUppercase</span> expects the default for ambiguous mappings +in first position, before, the default was in last position.</p> +<pre class="literal-block">\providecommand*\alphabeta@update@uclclist{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \alpha \Alpha + \epsilon \Epsilon + \epsilonsymbol \Epsilon + \varepsilon \Epsilon + \eta \Eta + \iota \Iota + \omicron \Omicron + \rho \Rho + \varrho \Rho + \rhosymbol \Rho + \upsilon \Upsilon + \omega \Omega + % repeat default for pre-2022 \MakeUppercase + \epsilon \Epsilon + \rho \Rho + }% + \let\alphabeta@update@uclclist\relax +}</pre> +<p>Expand the @uclclist using the just defined macro:</p> +<pre class="literal-block">\alphabeta@update@uclclist</pre> +</section> <section id="re-definition-for-greek-unicode-input-in-math-mode"> -<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">Re-definition for Greek Unicode input in math mode</a></h3> -<p>Check with <span class="docutils literal">\ifdefined</span> for the definition of -<span class="docutils literal">\DeclareUnicodeCharacter</span>. In contrast to <span class="docutils literal">\@ifdefined</span>, this works -without side-effects. It makes the package dependent on the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex">e-TeX</a> -extensions but these are standard in all current TeX distributions anyway.</p> -<p>Map Greek characters that are also defined in math mode to the generic +<h3><a class="toc-backref" href="#toc-entry-21" role="doc-backlink">Re-definition for Greek Unicode input in math mode</a></h3> +<p>Map Greek characters that are also defined in math mode to the letter-name macros:</p> <pre class="literal-block">\ifdefined\DeclareUnicodeCharacter \DeclareUnicodeCharacter{0393}{\Gamma} % Γ @@ -1128,7 +1434,7 @@ macros:</p> \DeclareUnicodeCharacter{03BE}{\xi} % ξ \DeclareUnicodeCharacter{03C0}{\pi} % π \DeclareUnicodeCharacter{03C1}{\rho} % ρ - \DeclareUnicodeCharacter{03C2}{\varsigma} % ς + \DeclareUnicodeCharacter{03C2}{\finalsigma} % ς \DeclareUnicodeCharacter{03C3}{\sigma} % σ \DeclareUnicodeCharacter{03C4}{\tau} % τ \DeclareUnicodeCharacter{03C5}{\upsilon} % υ @@ -1143,13 +1449,13 @@ macros:</p> \DeclareUnicodeCharacter{03DD}{\digamma} % ϝ \DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ \DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$ - \fi</pre> -<pre class="literal-block">} % close the \AtBeginDocument macro</pre> +<pre class="literal-block">\RestoreAtCatcode +} % close the \AtBeginDocument macro</pre> </section> </section> <section id="changelog"> -<h2><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Changelog</a></h2> +<h2><a class="toc-backref" href="#toc-entry-22" role="doc-backlink">Changelog</a></h2> <table class="borderless"> <tbody> <tr><td><p>0.1</p></td> @@ -1199,6 +1505,33 @@ macros:</p> <td><p>2023-03-08</p></td> <td><p>Documentation update.</p></td> </tr> +<tr><td><p>2.5</p></td> +<td><p>2023-09-12</p></td> +<td><p>Fixes for <span class="docutils literal">\MakeUppercase</span> / <span class="docutils literal">\MakeLowercase</span>.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Text mode alias <span class="docutils literal">\varTheta</span> → <span class="docutils literal">\Theta</span>.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Overwrite legacy <cite>babel-greek</cite> alias <span class="docutils literal">\qoppa</span> (ϟ) +with <span class="docutils literal">\textqoppa</span> (ϙ).</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Inline <span class="docutils literal"><span class="pre">alphabeta-tuenc.def</span></span> and <span class="docutils literal"><span class="pre">alphabeta-lgr.def</span></span> +(dropping redundant composite definitions).</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Composite definitions to select pre-composed characters +in PU (PDF strings).</p></td> +</tr> </tbody> </table> <!-- References diff --git a/language/greek/greek-fontenc/char-list-alphabeta-tu.pdf b/language/greek/greek-fontenc/char-list-alphabeta-tu.pdf Binary files differnew file mode 100644 index 0000000000..94e2628d6d --- /dev/null +++ b/language/greek/greek-fontenc/char-list-alphabeta-tu.pdf diff --git a/language/greek/greek-fontenc/char-list-alphabeta.pdf b/language/greek/greek-fontenc/char-list-alphabeta.pdf Binary files differnew file mode 100644 index 0000000000..72ad8d1a0e --- /dev/null +++ b/language/greek/greek-fontenc/char-list-alphabeta.pdf diff --git a/language/greek/greek-fontenc/char-list-luatex.pdf b/language/greek/greek-fontenc/char-list-luatex.pdf Binary files differdeleted file mode 100644 index fe5318ce5b..0000000000 --- a/language/greek/greek-fontenc/char-list-luatex.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/char-list-pdftex.pdf b/language/greek/greek-fontenc/char-list-pdftex.pdf Binary files differdeleted file mode 100644 index 01fdfc5344..0000000000 --- a/language/greek/greek-fontenc/char-list-pdftex.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/char-list-tu.pdf b/language/greek/greek-fontenc/char-list-tu.pdf Binary files differnew file mode 100644 index 0000000000..09f1723f2b --- /dev/null +++ b/language/greek/greek-fontenc/char-list-tu.pdf diff --git a/language/greek/greek-fontenc/char-list-xetex.pdf b/language/greek/greek-fontenc/char-list-xetex.pdf Binary files differdeleted file mode 100644 index 8ed6ee7210..0000000000 --- a/language/greek/greek-fontenc/char-list-xetex.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/char-list.pdf b/language/greek/greek-fontenc/char-list.pdf Binary files differnew file mode 100644 index 0000000000..d48279f17f --- /dev/null +++ b/language/greek/greek-fontenc/char-list.pdf diff --git a/language/greek/greek-fontenc/char-list.tex b/language/greek/greek-fontenc/char-list.tex index 72b993393e..027065bb0d 100644 --- a/language/greek/greek-fontenc/char-list.tex +++ b/language/greek/greek-fontenc/char-list.tex @@ -1,24 +1,25 @@ \documentclass[a4paper]{article} - +\usepackage[left=3.5cm, right=3.5cm]{geometry} \ifdefined \UnicodeEncodingName \usepackage{fontspec} - \setmainfont{FreeSerif} - % \setmainfont{Linux Libertine O} + % The Harfbuzz renderer provides selection of pre-composed characters + % (NFC normalization) with LuaTeX + \setmainfont[Renderer=Harfbuzz]{FreeSerif} + % \setmainfont[Renderer=Harfbuzz]{Linux Libertine O} \ifdefined\luatexversion - \newcommand*{\texengine}{LuaLaTeX} + \newcommand*{\texengine}{LuaTeX} \else - \newcommand*{\texengine}{XeLaTeX} + \newcommand*{\texengine}{XeTeX} \fi \newcommand*{\ux}[2]{#1} \else \usepackage[LGR,T1]{fontenc} \usepackage{lmodern} - \newcommand*{\texengine}{pdfLaTeX} + \newcommand*{\texengine}{pdfTeX} \newcommand*{\ux}[2]{#2} \fi - % Load encoding definitions \usepackage[normalize-symbols]{textalpha} % "Greek script everywhere" @@ -55,6 +56,7 @@ \providecommand*{\greekfontencoding}{undefined} \newcommand{\cs}[1]{\texttt{\textbackslash#1}} +\newcommand{\pkgref}[1]{\emph{\href{https://ctan.org/pkg/#1}{#1}}} % print the selected language variant \newcommand*{\GreekLanguageVariant}{% @@ -74,14 +76,8 @@ & \Greek{#1} & \Greek{\MakeUppercase{#1}} & \Greek{\MakeLowercase{#1}} } -\newcommand*{\TestUppercase}[1]{% - \Greek{#1 → \MakeUppercase{#1}}% -} +\newcommand*{\TestUppercase}[1]{\Greek{#1 → \MakeUppercase{#1}}} -% % Test: pre-composed characters with LuaTeX -% \ifdefined\luatexversion -% \DeclareUnicodeComposite{\'}{Α} {"0386} % Ά -% \fi % ----------------------------------------------------------------------- @@ -92,7 +88,7 @@ \maketitle \abstract{ \noindent This document lists all Greek characters that are -supported by \emph{greek-fontenc}. It also tests the outcome of +supported by \emph{greek-fontenc} and tests the outcome of \cs{MakeUppercase} and \cs{MakeLowercase} for different input variants (literal input, LICR% \footnote{LaTeX internal character representation} @@ -140,13 +136,13 @@ Characters from the Greek and Coptic Unicode block that are supported by \begin{longtable}{llll} x0374 \Cases{ ʹ \textdexiakeraia{} } \\ x0375 \Cases{ ͵ \textaristerikeraia{} } \\ - x037A \Cases{ ͺ { }\ypogegrammeni{} { }\ypogegrammeni{} \ux{ͺ} {| |} } \\ - 0x37E \Cases{ ; \texterotimatiko{} \texterotimatiko{} \ux{;} {? ?} } \\ + x037A \Cases{ ͺ { }\ypogegrammeni{} \ux{} {| } } \\ + x037E \Cases{ ; \texterotimatiko{} \ux{} {? } } \\ \\ - x0384 \Cases{ ΄ \acctonos{ } \'{ } \ux{΄} {\'{} '} } \\ + x0384 \Cases{ ΄ \acctonos{ } \'{ } \ux{} {\'{} '} } \\ x0385 \Cases{ ΅ \accdialytikatonos{ } \"'{ } \ux{\"'{}} {\"'{} "'} } \\ x0386 \Cases{ Ά \acctonos\textAlpha{} \'\textAlpha{} \ux{\'Α} {\'A 'A} } \\ - x0387 \Cases{ · \textanoteleia{} \textanoteleia{} \ux{·} {; ;} } \\ + x0387 \Cases{ · \textanoteleia{} \textanoteleia{} \ux{} {; ;} } \\ x0388 \Cases{ Έ \acctonos\textEpsilon{} \'\textEpsilon{} \ux{\'Ε} {\'E 'E} } \\ x0389 \Cases{ Ή \acctonos\textEta{} \'\textEta{} \ux{\'Η} {\'H 'H} } \\ x038A \Cases{ Ί \acctonos\textIota{} \'\textIota{} \ux{\'Ι} {\'I 'I} } \\ @@ -154,76 +150,81 @@ Characters from the Greek and Coptic Unicode block that are supported by x038E \Cases{ Ύ \acctonos\textUpsilon{} \'\textUpsilon{} \ux{\'Υ} {\'U 'U} } \\ x038F \Cases{ Ώ \acctonos\textOmega{} \'\textOmega{} \ux{\'Ω} {\'W 'W} } \\ \\ - x0390 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i \"'i \'\"i \"\'i '"i "'i} } \\ - x0391 \Cases{ Α \textAlpha{} \textAlpha{} \ux{Α} {A A } } \\ - x0392 \Cases{ Β \textBeta{} \textBeta{} \ux{Β} {B B } } \\ - x0393 \Cases{ Γ \textGamma{} \textGamma{} \ux{Γ} {G G } } \\ - x0394 \Cases{ Δ \textDelta{} \textDelta{} \ux{Δ} {D D } } \\ - x0395 \Cases{ Ε \textEpsilon{} \textEpsilon{} \ux{Ε} {E E } } \\ - x0396 \Cases{ Ζ \textZeta{} \textZeta{} \ux{Ζ} {Z Z } } \\ - x0397 \Cases{ Η \textEta{} \textEta{} \ux{Η} {H H } } \\ - x0398 \Cases{ Θ \textTheta{} \textTheta{} \ux{Θ} {J J } } \\ - x0399 \Cases{ Ι \textIota{} \textIota{} \ux{Ι} {I I } } \\ - x039A \Cases{ Κ \textKappa{} \textKappa{} \ux{Κ} {K K } } \\ - x039B \Cases{ Λ \textLambda{} \textLambda{} \ux{Λ} {L L } } \\ - x039C \Cases{ Μ \textMu{} \textMu{} \ux{Μ} {M M } } \\ - x039D \Cases{ Ν \textNu{} \textNu{} \ux{Ν} {N N } } \\ - x039E \Cases{ Ξ \textXi{} \textXi{} \ux{Ξ} {X X } } \\ - x039F \Cases{ Ο \textOmicron{} \textOmicron{} \ux{Ο} {O O } } \\ + x0390 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i \"'i \'\"i \"\'i '"i "'i}}% + \ux{}{\footnote{With the pre-2022 \cs{MakeUppercase} and literal input, + the order of combined accents involving the dialytika is important, + e.g., \texttt{"'i} results in \Greek{"'i → "vI}.}} \\ + x0391 \Cases{ Α \textAlpha{} \ux{} {A } } \\ + x0392 \Cases{ Β \textBeta{} \ux{} {B } } \\ + x0393 \Cases{ Γ \textGamma{} \ux{} {G } } \\ + x0394 \Cases{ Δ \textDelta{} \ux{} {D } } \\ + x0395 \Cases{ Ε \textEpsilon{} \ux{} {E } } \\ + x0396 \Cases{ Ζ \textZeta{} \ux{} {Z } } \\ + x0397 \Cases{ Η \textEta{} \ux{} {H } } \\ + x0398 \Cases{ Θ \textTheta{} \textvarTheta{} \ux{} {J } } \\ + x0399 \Cases{ Ι \textIota{} \ux{} {I } } \\ + x039A \Cases{ Κ \textKappa{} \ux{} {K } } \\ + x039B \Cases{ Λ \textLambda{} \ux{} {L } } \\ + x039C \Cases{ Μ \textMu{} \ux{} {M } } \\ + x039D \Cases{ Ν \textNu{} \ux{} {N } } \\ + x039E \Cases{ Ξ \textXi{} \ux{} {X } } \\ + x039F \Cases{ Ο \textOmicron{} \ux{} {O } } \\ \\ - 0x3A0 \Cases{ Π \textPi{} \textPi{} \ux{Π} {P P } } \\ - 0x3A1 \Cases{ Ρ \textRho{} \textRho{} \ux{Ρ} {R R } } \\ - 0x3A3 \Cases{ Σ \textSigma{} \textSigma{} \ux{Σ} {S S } } \\ - 0x3A4 \Cases{ Τ \textTau{} \textTau{} \ux{Τ} {T T } } \\ - 0x3A5 \Cases{ Υ \textUpsilon{} \textUpsilon{} \ux{Υ} {U U } } \\ - 0x3A6 \Cases{ Φ \textPhi{} \textPhi{} \ux{Φ} {F F } } \\ - 0x3A7 \Cases{ Χ \textChi{} \textChi{} \ux{Χ} {Q Q } } \\ - 0x3A8 \Cases{ Ψ \textPsi{} \textPsi{} \ux{Ψ} {Y Y } } \\ - 0x3A9 \Cases{ Ω \textOmega{} \textOmega{} \ux{Ω} {W W } } \\ + 0x3A0 \Cases{ Π \textPi{} \ux{} {P } } \\ + 0x3A1 \Cases{ Ρ \textRho{} \ux{} {R } } \\ + 0x3A3 \Cases{ Σ \textSigma{} \ux{} {S } }% + cf. section~\ref{sec:sigma} \\ + 0x3A4 \Cases{ Τ \textTau{} \ux{} {T } } \\ + 0x3A5 \Cases{ Υ \textUpsilon{} \ux{} {U } } \\ + 0x3A6 \Cases{ Φ \textPhi{} \ux{} {F } } \\ + 0x3A7 \Cases{ Χ \textChi{} \ux{} {Q } } \\ + 0x3A8 \Cases{ Ψ \textPsi{} \ux{} {Y } } \\ + 0x3A9 \Cases{ Ω \textOmega{} \ux{} {W } } \\ 0x3AA \Cases{ Ϊ \accdialytika\textIota{} \"\textIota{} \ux{\"Ι} {\"I "I } } \\ 0x3AB \Cases{ Ϋ \accdialytika\textUpsilon{} \"\textUpsilon{} \ux{\"Υ} {\"U "U } } \\ 0x3AC \Cases{ ά \acctonos\textalpha{} \'\textalpha{} \ux{\'α} {\'a 'a } } \\ 0x3AD \Cases{ έ \acctonos\textepsilon{} \'\textepsilon{} \ux{\'ε} {\'e 'e } } \\ 0x3AE \Cases{ ή \acctonos\texteta{} \'\texteta{} \ux{\'η} {\'h 'h } } \\ 0x3AF \Cases{ ί \acctonos\textiota{} \'\textiota{} \ux{\'ι} {\'i 'i } } \\ - \\ + \\ x03B0 \Cases{ ΰ \accdialytikatonos\textupsilon{} \"'\textupsilon{} \ux{\"'υ \'"υ \'\"υ \"\'υ} {\'"u \"'u \'\"u \"\'u '"u "'u} } \\ - x03B1 \Cases{ α \textalpha{} \textalpha{} \ux{α} {a a } } \\ - x03B2 \Cases{ β \textbeta{} \textbeta{} \ux{β} {b b } } \\ - x03B3 \Cases{ γ \textgamma{} \textgamma{} \ux{γ} {g g } } \\ - x03B4 \Cases{ δ \textdelta{} \textdelta{} \ux{δ} {d d } } \\ - x03B5 \Cases{ ε \textepsilon{} \textepsilon{} \ux{ε} {e e } } \\ - x03B6 \Cases{ ζ \textzeta{} \textzeta{} \ux{ζ} {z z } } \\ - x03B7 \Cases{ η \texteta{} \texteta{} \ux{η} {h h } } \\ - x03B8 \Cases{ θ \texttheta{} \texttheta{} \ux{θ} {j j } } \\ - x03B9 \Cases{ ι \textiota{} \textiota{} \ux{ι} {i i } } \\ - x03BA \Cases{ κ \textkappa{} \textkappa{} \ux{κ} {k k } } \\ - x03BB \Cases{ λ \textlambda{} \textlambda{} \ux{λ} {l l } } \\ - x03BC \Cases{ μ \textmu{} \textmu{} \ux{μ} {m m } } \\ - x03BD \Cases{ ν \textnu{} \textnu{} \ux{ν} {n n } } \\ - x03BE \Cases{ ξ \textxi{} \textxi{} \ux{ξ} {x x } } \\ - x03BF \Cases{ ο \textomicron{} \textomicron{} \ux{ο} {o o } } \\ + x03B1 \Cases{ α \textalpha{} \ux{} {a } } \\ + x03B2 \Cases{ β \textbeta{} \ux{} {b } } \\ + x03B3 \Cases{ γ \textgamma{} \ux{} {g } } \\ + x03B4 \Cases{ δ \textdelta{} \ux{} {d } } \\ + x03B5 \Cases{ ε \textepsilon{} \textvarepsilon{} \ux{} {e } } \\ + x03B6 \Cases{ ζ \textzeta{} \ux{} {z } } \\ + x03B7 \Cases{ η \texteta{} \ux{} {h } } \\ + x03B8 \Cases{ θ \texttheta{} \ux{} {j } } \\ + x03B9 \Cases{ ι \textiota{} \ux{} {i } } \\ + x03BA \Cases{ κ \textkappa{} \ux{} {k } } \\ + x03BB \Cases{ λ \textlambda{} \ux{} {l } } \\ + x03BC \Cases{ μ \textmu{} \ux{} {m } } \\ + x03BD \Cases{ ν \textnu{} \ux{} {n } } \\ + x03BE \Cases{ ξ \textxi{} \ux{} {x } } \\ + x03BF \Cases{ ο \textomicron{} \ux{} {o } } \\ \\ - x03C0 \Cases{ π \textpi{} \textpi{} \ux{π} {p p } } \\ - x03C1 \Cases{ ρ \textrho{} \textrho{} \ux{ρ} {r r } } \\ - x03C2 \Cases{ ς \textfinalsigma{} \textfinalsigma{} \ux{ς} {s s } } \\ - x03C3 \Cases{ σ \textsigma{} \textsigma{} \ux{σ} {s\textcompwordmark{} sv } } \\ - x03C4 \Cases{ τ \texttau{} \texttau{} \ux{τ} {t t } } \\ - x03C5 \Cases{ υ \textupsilon{} \textupsilon{} \ux{υ} {u u } } \\ - x03C6 \Cases{ φ \textphi{} \textphi{} \ux{φ} {f f } } \\ - x03C7 \Cases{ χ \textchi{} \textchi{} \ux{χ} {q q } } \\ - x03C8 \Cases{ ψ \textpsi{} \textpsi{} \ux{ψ} {y y } } \\ - x03C9 \Cases{ ω \textomega{} \textomega{} \ux{ω} {w w } } \\ + x03C0 \Cases{ π \textpi{} \ux{} {p } } \\ + x03C1 \Cases{ ρ \textrho{} \ux{} {r } } \\ + x03C2 \Cases{ ς \textfinalsigma{} \textvarsigma{} \ux{} {s } } \\ + x03C3 \Cases{ σ \textsigma{} \textsigma{} \ux{} {s\textcompwordmark{} sv } } + \ux{}{sic!\footnote{transliteration \texttt{sv} fails in uppercase}} \\ + x03C4 \Cases{ τ \texttau{} \ux{} {t } } \\ + x03C5 \Cases{ υ \textupsilon{} \ux{} {u } } \\ + x03C6 \Cases{ φ \textphi{} \textvarphi{} \ux{} {f } } \\ + x03C7 \Cases{ χ \textchi{} \ux{} {q } } \\ + x03C8 \Cases{ ψ \textpsi{} \ux{} {y } } \\ + x03C9 \Cases{ ω \textomega{} \ux{} {w } } \\ x03CA \Cases{ ϊ \accdialytika\textiota{} \"\textiota{} \ux{\"ι} {\"i "i } } \\ x03CB \Cases{ ϋ \accdialytika\textupsilon{} \"\textupsilon{} \ux{\"υ} {\"u "u } } \\ x03CC \Cases{ ό \acctonos\textomicron{} \'\textomicron{} \ux{\'ο} {\'o 'o } } \\ x03CD \Cases{ ύ \acctonos\textupsilon{} \'\textupsilon{} \ux{\'υ} {\'u 'u } } \\ x03CE \Cases{ ώ \acctonos\textomega{} \'\textomega{} \ux{\'ω } {\'w 'w } } \\ - \\ - x03D0 \Cases{ ϐ \textbetasymbol } \\ - x03D1 \Cases{ ϑ \textthetasymbol } \\ - x03D5 \Cases{ ϕ \textphisymbol } \\ - x03D6 \Cases{ ϖ \textpisymbol } \\ + \\ + x03D0 \Cases{ ϐ \textbetasymbol{} \textvarbeta{} } \\ + x03D1 \Cases{ ϑ \textthetasymbol{} \textvartheta{} } \\ + x03D5 \Cases{ ϕ \textphisymbol{} } \\ + x03D6 \Cases{ ϖ \textpisymbol{} \textvarpi{} } \\ x03D8 \Cases{ Ϙ \textQoppa{} } \\ x03D9 \Cases{ ϙ \textqoppa{} } \\ x03DA \Cases{ Ϛ \textStigma{} } \\ @@ -236,10 +237,10 @@ Characters from the Greek and Coptic Unicode block that are supported by x03E0 \Cases{ Ϡ \textSampi{} } \\ x03E1 \Cases{ ϡ \textsampi{} } \\ \\ - x03F0 \Cases{ ϰ \textkappasymbol } \\ - x03F1 \Cases{ ϱ \textrhosymbol } \\ - x03F4 \Cases{ ϴ \textThetasymbol } \\ - x03F5 \Cases{ ϵ \textepsilonsymbol } \\ + x03F0 \Cases{ ϰ \textkappasymbol{} \textvarkappa{} } \\ + x03F1 \Cases{ ϱ \textrhosymbol{} \textvarrho{} } \\ + x03F4 \Cases{ ϴ \textThetasymbol{} } \\ + x03F5 \Cases{ ϵ \textepsilonsymbol{} } \\ \end{longtable} @@ -452,36 +453,42 @@ Characters from the Greek and Coptic Unicode block that are supported by x1FCE \Cases{ ῎ \accpsilioxia{} \>'{} \ux{\>'{} \'>{}} {\>'{} >'} } \\ x1FCF \Cases{ ῏ \accpsiliperispomeni{} \~>{} \ux{\>~{} \~>{}} {\~>{} ~>} } \\ \\ - x1FD0 \Cases{ ῐ \u\textiota{} \u\textiota{} \ux{\u{ι}} {\u{i} \u{i}} } \\ - x1FD1 \Cases{ ῑ \=\textiota{} \=\textiota{} \ux{\=ι} {\=i \=i} } \\ - x1FD2 \Cases{ ῒ \accdialytikavaria\textiota{} \`"\textiota{} \ux{\`"ι \"`ι \`\"ι \"\`ι} {\`"i `"i} } \\ - x1FD3 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i '"i} } \\ - x1FD6 \Cases{ ῖ \accperispomeni\textiota{} \~\textiota{} \ux{\~ι } {\~i ~i} } \\ - x1FD7 \Cases{ ῗ \accdialytikaperispomeni\textiota{} \~"\textiota{} \ux{\~"ι \"~ι \~\"ι \"\~ι} {\~"i ~"i} } \\ - x1FD8 \Cases{ Ῐ \u\textIota{} \u\textIota{} \ux{\u{Ι}} {\u{I} \u{I}} } \\ - x1FD9 \Cases{ Ῑ \=\textIota{} \=\textIota{} \ux{\=Ι} {\=I \=I} } \\ - x1FDA \Cases{ Ὶ \accvaria\textIota{} \`\textIota{} \ux{\`Ι} {\`I `I} } \\ - x1FDB \Cases{ Ί \accoxia\textIota{} \'\textIota{} \ux{\'Ι} {\'I 'I} } \\ - x1FDD \Cases{ ῝ \accdasiavaria{} \<`{} \ux{\<`{} \`<{}} {\<`{} <`} } \\ - x1FDE \Cases{ ῞ \accdasiaoxia{} \<'{} \ux{\<'{} \'<{}} {\<'{} <'} } \\ - x1FDF \Cases{ ῟ \accdasiaperispomeni{} \~<{} \ux{\<~{} \~<{}} {\~<{} ~<} } \\ - \\ - x1FE0 \Cases{ ῠ \u\textupsilon{} \u\textupsilon{} \ux{\u{υ}} {\u{u} } } \\ - x1FE1 \Cases{ ῡ \=\textupsilon{} \=\textupsilon{} \ux{\=υ} {\=u } } \\ - x1FE2 \Cases{ ῢ \accdialytikavaria\textupsilon{} \`"\textupsilon{} \ux{\`"υ \"`υ \`\"υ \"\`υ} {\`"u \"`u \`\"u \"\`u `"u "`u} } \\ - x1FE3 \Cases{ ΰ \accdialytikatonos\textupsilon{} \'"\textupsilon{} \ux{\'"υ \"'υ \'\"υ \"\'υ} {\'"u \"'u \'\"u \"\'u '"u "'u} } \\ - x1FE4 \Cases{ ῤ \accpsili\textrho{} \>\textrho{} \ux{\>ρ} {\>r >r } } \\ - x1FE5 \Cases{ ῥ \accdasia\textrho{} \<\textrho{} \ux{\<ρ} {\<r <r } } \\ - x1FE6 \Cases{ ῦ \accperispomeni\textupsilon{} \~\textupsilon{} \ux{\~υ} {\~u ~u } } \\ - x1FE7 \Cases{ ῧ \accdialytikaperispomeni\textupsilon{} \~"\textupsilon{} \ux{\~"υ \"~υ \~\"υ \"\~υ} {\~"u \"~u \~\"u \"\~u ~"u "~u} } \\ - x1FE8 \Cases{ Ῠ \u\textUpsilon{} \u\textUpsilon{} \ux{\u{Υ}} {\u{U} \u{U}} } \\ - x1FE9 \Cases{ Ῡ \=\textUpsilon{} \=\textUpsilon{} \ux{\=Υ} {\=U \=U} } \\ - x1FEA \Cases{ Ὺ \accvaria\textUpsilon{} \`\textUpsilon{} \ux{\`Υ} {\`U `U} } \\ - x1FEB \Cases{ Ύ \accoxia\textUpsilon{} \'\textUpsilon{} \ux{\'Υ} {\'U 'U} } \\ - x1FEC \Cases{ Ῥ \accdasia\textRho{} \<\textRho{} \ux{\<Ρ} {\<R <R} } \\ - x1FED \Cases{ ῭ \accdialytikavaria{} \`"{} \ux{\`"{} \"`{}} {\`"{} `"} } \\ - x1FEE \Cases{ ΅ \accdialytikatonos{} \'"{} \ux{\'"{} \"'{}} {\'"{} '"} } \\ - x1FEF \Cases{ ` \accvaria{} \`{} \ux{\`{}} {\`{} `} } \\ + x1FD0 \Cases{ ῐ \u\textiota{} \u\textiota{} \ux{\u{ι}} {\u{i} \u{i}} } \\ + x1FD1 \Cases{ ῑ \=\textiota{} \=\textiota{} \ux{\=ι} {\=i \=i} } \\ + x1FD2 \Cases{ ῒ \accdialytikavaria\textiota{} \`"\textiota{} \`\"\textiota{} + \"`\textiota{} \"\`\textiota{} \ux{\`"ι \"`ι \`\"ι \"\`ι} {\`"i `"i} } \\ + x1FD3 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \'\"\textiota{} + \"'\textiota{} \"\'\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i '"i} } \\ + x1FD6 \Cases{ ῖ \accperispomeni\textiota{} \~\textiota{} \ux{\~ι } {\~i ~i} } \\ + x1FD7 \Cases{ ῗ \accdialytikaperispomeni\textiota{} \~"\textiota{} \~\"\textiota{} + \"~\textiota{} \"\~\textiota{} \ux{\~"ι \"~ι \~\"ι \"\~ι} {\~"i ~"i} } \\ + x1FD8 \Cases{ Ῐ \u\textIota{} \u\textIota{} \ux{\u{Ι}} {\u{I} \u{I}} } \\ + x1FD9 \Cases{ Ῑ \=\textIota{} \=\textIota{} \ux{\=Ι} {\=I \=I} } \\ + x1FDA \Cases{ Ὶ \accvaria\textIota{} \`\textIota{} \ux{\`Ι} {\`I `I} } \\ + x1FDB \Cases{ Ί \accoxia\textIota{} \'\textIota{} \ux{\'Ι} {\'I 'I} } \\ + x1FDD \Cases{ ῝ \accdasiavaria{} \<`{} \ux{\<`{} \`<{}} {\<`{} <`} } \\ + x1FDE \Cases{ ῞ \accdasiaoxia{} \<'{} \ux{\<'{} \'<{}} {\<'{} <'} } \\ + x1FDF \Cases{ ῟ \accdasiaperispomeni{} \~<{} \ux{\<~{} \~<{}} {\~<{} ~<} } \\ + \\ + x1FE0 \Cases{ ῠ \u\textupsilon{} \u\textupsilon{} \ux{\u{υ}} {\u{u} } } \\ + x1FE1 \Cases{ ῡ \=\textupsilon{} \=\textupsilon{} \ux{\=υ} {\=u } } \\ + x1FE2 \Cases{ ῢ \accdialytikavaria\textupsilon{} \`"\textupsilon{} \`\"\textupsilon{} + \"`\textupsilon{} \"\`\textupsilon{} \ux{\`"υ \"`υ \`\"υ \"\`υ} {\`"u \"`u \`\"u \"\`u `"u "`u} } \\ + x1FE3 \Cases{ ΰ \accdialytikatonos\textupsilon{} \'"\textupsilon{} \'\"\textupsilon{} + \"'\textupsilon{} \"\'\textupsilon{} \ux{\'"υ \"'υ \'\"υ \"\'υ} {\'"u \"'u \'\"u \"\'u '"u "'u} } \\ + x1FE4 \Cases{ ῤ \accpsili\textrho{} \>\textrho{} \ux{\>ρ} {\>r >r } } \\ + x1FE5 \Cases{ ῥ \accdasia\textrho{} \<\textrho{} \ux{\<ρ} {\<r <r } } \\ + x1FE6 \Cases{ ῦ \accperispomeni\textupsilon{} \~\textupsilon{} \ux{\~υ} {\~u ~u } } \\ + x1FE7 \Cases{ ῧ \accdialytikaperispomeni\textupsilon{} \~"\textupsilon{} \~\"\textupsilon{} + \"~\textupsilon{} \"\~\textupsilon{} \ux{\~"υ \"~υ \~\"υ \"\~υ} {\~"u \"~u \~\"u \"\~u ~"u "~u} } \\ + x1FE8 \Cases{ Ῠ \u\textUpsilon{} \u\textUpsilon{} \ux{\u{Υ}} {\u{U} \u{U}} } \\ + x1FE9 \Cases{ Ῡ \=\textUpsilon{} \=\textUpsilon{} \ux{\=Υ} {\=U \=U} } \\ + x1FEA \Cases{ Ὺ \accvaria\textUpsilon{} \`\textUpsilon{} \ux{\`Υ} {\`U `U} } \\ + x1FEB \Cases{ Ύ \accoxia\textUpsilon{} \'\textUpsilon{} \ux{\'Υ} {\'U 'U} } \\ + x1FEC \Cases{ Ῥ \accdasia\textRho{} \<\textRho{} \ux{\<Ρ} {\<R <R} } \\ + x1FED \Cases{ ῭ \accdialytikavaria{} \`"{} \ux{\`"{} \"`{}} {\`"{} `"} } \\ + x1FEE \Cases{ ΅ \accdialytikatonos{} \'"{} \ux{\'"{} \"'{}} {\'"{} '"} } \\ + x1FEF \Cases{ ` \accvaria{} \`{} \ux{\`{}} {\`{} `} } \\ \\ x1FE3 \Cases{ ῲ \accvaria\textomega\ypogegrammeni{} \`\textomega\ypogegrammeni{} \ux{\`ω\ypogegrammeni{}} {\`w| `w|} } \\ x1FE4 \Cases{ ῳ \textomega\ypogegrammeni{} \textomega\ypogegrammeni{} \ux{ω\ypogegrammeni{}} {w| w|} } \\ @@ -500,56 +507,78 @@ Characters from the Greek and Coptic Unicode block that are supported by \section{Discussion} -\subsection{Differences between literal input and LICRs} +\subsection{Pre-composed vs. combining characters} Under pdfTeX and XeTeX, all input variants select pre-composed characters -if possible (\href{https://www.unicode.org/reports/tr15/}{Unicode -normalization} NFC). -Under luaTeX, accent macros on a literal character are printed using -combining diacritical marks. This leads to suboptimal placement of -diacritics with many fonts, often resulting in illegible output. - -\subsubsection{Upcasing} - -Up to 2022, diacritics were dropped from Greek letters in UPPERCASE in any -locale. The new \cs{MakeUppercase} implementation follows the Unicode -standard, where dropping diacritics is a feature of the Greek locale (``el''). - -However, ``named'' accent macros with Greek names behave according to Greek -typsetting rules in \emph{all} locales. -The current implementation also drops diacritics input via standard accent -macros in documents that declare the Greek language with Babel. - -Apart from the diacritical marks native to Greek itself, linguists also -regularly mark vowel length with macrons (¯) and breves (˘). -The length markers are used in dictionaries and textbooks -but not part of the Greek orthography. There is no established praxis -regarding their handling in uppercase. LaTeX keeps them but -the \href{https://icu.unicode.org/design/case/greek-upper}{% -Unicode reference implementation} drops them. - -Greek stand-alone diacritics are dropped by \cs{MakeUppercase} if input via -accent macros (e.g. \cs{accdialytika} or \cs{'>}). - - -\subsubsection{Sigma, final sigma, and ``autosigma''} +if possible (using the NFC +\href{https://www.unicode.org/reports/tr15/}{Unicode normalization} +with XeTeX and ligature definitions in LGR fonts under pdfTeX). + +The default LuaTeX renderer does no NFC normalization. +This leads to sub-optimal placement of diacritics with many fonts, +often resulting in illegible output. +NFC normalization for LuaTeX is provided by the \pkgref{uninormalize} +package and, alternatively, by the \emph{Harfbuzz} renderer that can be +selected with the \verb|[Renderer=Harfbuzz]| option of the \pkgref{fontspec} +font selection commands. This document uses the Harfbuzz renderer with LuaTeX. + + +\subsection{Case changing} + +\subsubsection{Diacritics} + +According to Greek typographical conventions, most\footnote{ + Exceptions are the diaeresis, the sub-iota, and the + length markers macron (¯) and breve (˘). + The length markers are used in dictionaries and textbooks but not + part of the Greek orthography. There is no established practice + regarding their handling in uppercase. LaTeX keeps them but the + \href{https://icu.unicode.org/design/case/greek-upper} + {Unicode reference implementation} drops them. +} +diacritics are dropped in UPPERCASE. Up to 2022, \cs{MakeUppercase} +dropped diacritics from Greek letters in any locale +(except for standard accent macros). + +For \emph{literal characters}, the new \cs{MakeUppercase} +implementation follows the Unicode standard, where dropping diacritics is a +feature of the Greek locale (``el''). +However, \emph{accent macros} behave according to Greek typesetting +rules in \emph{all} locales (standard accent macros only in documents that +declare the Greek language with Babel). + +\newcommand*{\sample}{\'a \`e \"i \~o \'u}% +Since version 1.14, babel-greek maps standard accent macros +to ``capital'' versions to fix uppercasing accented Greek letters with the new +\cs{MakeUppercase}. +The default expansion ensures that accents are kept on Latin letters: +\sample{} → \MakeUppercase{\sample}. +It also works if the Language is set to Greek: +\TestUppercase{\ensureascii{\sample}}. +\ifdefined \UnicodeEncodingName +\else + (Mind, that with 8-bit TeX Latin letters are interpreted as transliteration + input and converted to Greek if not wrapped in \cs{ensureascii}: + \TestUppercase{\sample}.) +\fi -There are two variants of the lower case letter \emph{sigma}. -The lowercasing \ensuregreek{Σ} should select a final sigma at the end of a -word: \ensuregreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}. +\subsubsection{Sigma, final sigma, and ``autosigma'' \label{sec:sigma}} -Since 2022, \cs{MakeLowercase} selects the correct sigma variant for a -literal Sigma under Xe/LuaTeX, too. +There are two variants of the small letter \emph{sigma}. -The \cs{textSigma} \emph{macro} is mapped to \verb|\textautosigma| which -under 8-bit TeX prints the sigma variant according to its position but, -unfortunately, fails with Unicode fonts: +Lowercasing a capital \ensuregreek{Σ} at the end of a word should print a +final sigma. This works as expected with 8-bit TeX and, since 2022, also +with Xe/LuaTeX and a literal Sigma: \ensuregreek{ΣΣ → \MakeLowercase{ΣΣ}}. +However, it fails with the \cs{textSigma} macro and Unicode fonts: \ensuregreek{\textSigma\textSigma{} → \MakeLowercase{\textSigma\textSigma}}. -In LGR, you can add a ZWNJ or use the \verb|\noboundary| macro to prevent the -conversion to a final sigma: \ensuregreek{\MakeLowercase{ΣΣ}}. - +\ifdefined \UnicodeEncodingName +\else + With 8-bit TeX, you can add a ZWNJ or use the \cs{noboundary} macro + to prevent the conversion to a final sigma: + \ensuregreek{\MakeLowercase{ΣΣ}}. +\fi \subsubsection{% The one-letter word @@ -561,62 +590,95 @@ conversion to a final sigma: \ensuregreek{\MakeLowercase{ΣΣ}}. (or)} For disambiguation, the Greek word \emph{or} (ή / ἢ) keeps diacritics in -UPPERCASE: +UPPERCASE. +The 2022 MakeUppercase handles this for literal input. \TestUppercase{ή Ή ἢ Ἢ ἤ Ἤ }.\footnote{ - TODO: The polytonic variant with dasia and oxia used in + TODO: The polytonic variant ETA WITH DASIA AND OXIA used in ἢ … ἤ (\emph{either … or}) drops diacritics! By mistake, omission, or intent?} -\noindent However, eta drops diacritics if it is part of a word: +\noindent Currently, this feature is not supported with other input methods. + +Diacritics are dropped from eta if it is part of a word: \TestUppercase{ήτοι, Ήτοι, επιταγή ἤτοι, Ἤτοι}.% \footnote{TODO: It seems the test is only for whitespace on both sides: \TestUppercase{ή, Ή. ἢ; Ἢ} } -\smallskip\noindent -TODO: The 2022 MakeUppercase handles this for literal input. -Currently, this feature is not supported with other input methods. - -\subsection{Case conversion if the locale is \emph{not} Greek} +\subsubsection{Case conversion if the locale is \emph{not} Greek} + +Since 2022, \cs{MakeUppercase} keeps diacritics on Greek letters and uses +combining diacritical characters for characters that have no pre-composed +uppercase equivalent. + +With Xe/LuaTeX, the result may be illegible due to overlapping diacritics. +With pdfTeX, this led to compiling errors. +This is fixed in \emph{greek-fontenc} 2.3. by mapping the affected +characters to macro representations before case conversions +(requires the 2023 LaTeX release). +Consequently, with pdfTeX, diacritics are dropped from literal characters +without pre-composed uppercase equivalent also if the text language is +\emph{not} Greek. + +\renewcommand*{\sample}{ΐΰὐὒὔὖᾶᾷῆῇῒΐῖῗῢΰῤῦῧῶῷ} +\sample → \MakeUppercase{\sample} + + +\subsubsection{PDF strings} + +MakeUppercase in PDF strings led to compiling errors until 2022. + +\ifdefined \AddToNoCaseChangeList % introduced with 2022 \MakeUppercase + Check the table of contents in the side-bar of a PDF viewer. + + \subsubsection{\TestUppercase{ + ῒ \accdialytikavaria{\textiota} + \"`{\textiota}\"\`{\textiota}\`"{\textiota}\`\"{\textiota} + \ux{\accdialytikavaria ι \`"ι \"`ι \`\"ι \"\`ι} + {\accdialytikavaria i \`"i \"`i \`\"i \"\`i}}} + + \subsubsection{\TestUppercase{ + ῢ \accdialytikavaria{\textupsilon} + \"`{\textupsilon}\"\`{\textupsilon}\`"{\textupsilon}\`\"{\textupsilon} + \ux{\accdialytikavaria υ \`"υ \"`υ \`\"υ \"\`υ} + {\accdialytikavaria u \`"u \"`u \`\"u \"\`u}}} + \subsubsection{\TestUppercase{ + ΐ \accdialytikaoxia\textiota{} + \"'{\textiota}\"\'{\textiota}\'"{\textiota}\'\"{\textiota} + \ux{\accdialytikaoxia ι \'"ι \"'ι \'\"ι \"\'ι} + {\accdialytikaoxia i \'"i \"'i \'\"i \"\'i}}} + \subsubsection{\TestUppercase{ + ΰ \accdialytikaoxia\textupsilon{} + \"'{\textupsilon}\"\'{\textupsilon}\'"{\textupsilon}\'\"{\textupsilon} + \ux{\accdialytikaoxia υ \'"υ \"'υ \'\"υ \"\'υ} + {\accdialytikaoxia u \'"u \"'u \'\"u \"\'u}}} + \subsubsection{\TestUppercase{ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ}} +\fi -In order to fix upcasing for Greek, babel-greek maps standard accent macros -to ``capital'' versions.\footnote{% - In case of problems, these mappings can be disabled with the - \texttt{local-MakeUppercase-fixes} language modifier.} -The default expansion ensures that accents are -kept on Latin letters: \'a \`a \~a \"a → \MakeUppercase{\'a \`a \~a \"a}.% -\footnote{If the Language is set to Greek, this works unless the font encoding - is 8-bit LGR (where Latin letters are interpreted as Latin transliteration - anyway): \Greek{\'u \`u \~u \"u \ensureascii{\'u} → - \MakeUppercase{\'u \`u \~u \"u \ensureascii{\'u}}}.} +\ux{}{Transliteration input stays Latin in PDF strings.} -Some characters from the “Greek and Coptic” and “Greek extended” Unicode -blocks have no pre-composed uppercase equivalent. Since 2022, upcasing them -led to compiling errors under pdfLaTeX. -This is fixed in the 2023 LaTeX release by mapping the affected characters -to macro representations before case conversions: -with pdfLaTeX, diacritics are dropped from literal characters without -pre-composed uppercase equivalent also if the text language is \emph{not} -Greek, with Xe/LuaTeX, combining charactes are used (and may overlap with -the base letter). +Diacritics are not dropped from literal characters in text, ToC but not +PDF sidebar ToC, if the language switch is inside the \cs{section} command. +(It works if the language is switched before the section command.) -ΐΰὐὒὔὖᾶᾷῆῇῒΐῖῗῢΰῤῦῧῶῷ → \MakeUppercase{ΐΰὐὒὔὖᾶᾷῆῇῒΐῖῗῢΰῤῦῧῶῷ} +See \href{hyperref-with-greek.pdf}{hyperref-with-greek.pdf} for a +comprehensive test. \subsection{Symbol variants} -Several Greek letters have alternative representations which may have a -different semantic in a mathematical context. -Unicode reserves code points for the alternative representations -(naming them ``symbol'' as opposed to ``letter''). +For several Greek letters, there are alternative glyphs which may +have a different semantic in a mathematical context. +Unicode reserves code points for the alternative glyphs +(naming them SYMBOL as opposed to LETTER). Some of these symbols are available as \cs{var<name>} macros in TeX's mathematical mode. -In text, they are considered typographical variants without special -meaning. The 8-bit LGR font encoding does not allocate code points for them. -\emph{Babel-greek} and the \emph{% +In text, the alternative glyphs are considered typographical variants +without special meaning. The 8-bit LGR font encoding does not allocate +code points for them. \emph{Babel-greek} and the \emph{% \href{http://mirrors.ctan.org/language/greek/greek-fontenc/textalpha-doc.pdf} {textalpha}} package provide the \texttt{normalize-symbols} option (ignored with Xe/LuaTeX) that is also used in this test document. @@ -692,15 +754,15 @@ A dialytika must be placed on the second vowel if they are dropped: } (short+LICR) \TestUppercase{\ux{\'αι \'αυ \'ει \>'αι \>'αυ \>'ει \>αυ} - {\'ai \'au \'ei \>'ai \>'au \>'ei \>au} + {\'ai \'au \'ei \>'ai \>'au \>'ei \>au} } (short+\ux{literal}{transliteration}) - \TestUppercase{\ux{\'>αι \'>αυ \'>ει \'\>αι \'\>αυ \'\>ει} - {\'>ai \'>au \'>ei \'\>ai \'\>au \'\>ei} + \TestUppercase{\ux{\'\>αι \'\>αυ \'\>ει} + {\'\>ai \'\>au \'\>ei} } (short+\ux{literal}{transliteration}, reversed) \end{quote} The ``hiatus feature'' does not work with the LGR ``input ligatures''. -Support for monotonic literal charactes came with the 2022 +Support for monotonic literal characters came with the 2022 \cs{MakeUppercase} implementation changes. Since 2023 it also works with polytonic literals (\TestUppercase{ἀυπνία}). @@ -747,8 +809,8 @@ Rows 3 \ldots 7: Look-ahead (to check for a hiatus) breaks kerning before % \'AA \'AB \'AG \'AD \'AE \'AZ \'AH \'AJ \'AI \'AK \'AL \'AM \'AN \'AX % \'AO \'AP \'AR \'AS \'AC \'AT \'AU \'AF \'AQ \'AY \'AW -Downcasing should keep diacritics (of course, it cannot regenerate -``manually" dropped ones): +Lowercasing should keep diacritics (of course, it cannot regenerate +``manually" dropped ones): \Greek{'A \"I \"U \~<A $\mapsto$ \MakeLowercase{\'A \"I \"U \~<A}}. @@ -786,11 +848,6 @@ Downcasing should keep diacritics (of course, it cannot regenerate a dialytika \verb|"~ "` "'| appears as apostrophe, as a single \verb|"| stands for an apostrophe in the LGR transliteration if followed by a space or empty character. - -\item - With the pre-2022 \cs{MakeUppercase}, the input order is important - in combined accents involving the dialytika, e.g., - \verb|'"i "'i| is upcased \Greek{'"i "'i → \MakeUppercase{'"i "'i}}. \end{itemize} \end{document} diff --git a/language/greek/greek-fontenc/greek-fontenc-doc.html b/language/greek/greek-fontenc/greek-fontenc-doc.html index a4e4cb9184..d40c4985e2 100644 --- a/language/greek/greek-fontenc/greek-fontenc-doc.html +++ b/language/greek/greek-fontenc/greek-fontenc-doc.html @@ -794,7 +794,7 @@ mstyle.mathscr, mi.mathscr { <p class="subtitle" id="greek-font-encoding-definition-files">Greek font encoding definition files</p> <dl class="docinfo"> <dt class="version">Version<span class="colon">:</span></dt> -<dd class="version">2.4 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dd class="version">2.5 (<a class="reference internal" href="#changelog">changelog</a>)</dd> <dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2010 – 2023 Günter Milde <<a class="reference external" href="mailto:milde@users.sf.net">milde@users.sf.net</a>></dd> <dt class="licence">Licence<span class="colon">:</span></dt> @@ -811,9 +811,9 @@ version 1.3 of this license or any later version.</p> </dl> <div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> -<p>The <cite>greek-fontenc</cite> bundle provides LICR<a class="superscript" href="#footnote-1" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> macros -for characters from the Greek script and encoding -definition files for <a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a>.</p> +<p>The <cite>greek-fontenc</cite> bundle provides encoding definition files +for <a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a> that define LICR<a class="superscript" href="#footnote-1" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> macros +for characters from the Greek script</p> <p>Included are also the LaTeX packages <a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> </div> <aside class="footnote-list superscript"> @@ -841,18 +841,18 @@ Use cases are macro definitions and generated text.</p> <li><p><a class="reference internal" href="#usage" id="toc-entry-8">Usage</a></p></li> <li><p><a class="reference internal" href="#greek-text-font-encodings" id="toc-entry-9">Greek text font encodings</a></p> <ul> -<li><p><a class="reference internal" href="#t7" id="toc-entry-10">T7</a></p></li> -<li><p><a class="reference internal" href="#lgr" id="toc-entry-11">LGR</a></p></li> -<li><p><a class="reference internal" href="#lgi" id="toc-entry-12">LGI</a></p></li> -<li><p><a class="reference internal" href="#tu" id="toc-entry-13">TU</a></p></li> -<li><p><a class="reference internal" href="#pu" id="toc-entry-14">PU</a></p></li> +<li><p><a class="reference internal" href="#lgr" id="toc-entry-10">LGR</a></p></li> +<li><p><a class="reference internal" href="#tu" id="toc-entry-11">TU</a></p></li> +<li><p><a class="reference internal" href="#pu" id="toc-entry-12">PU</a></p></li> +<li><p><a class="reference internal" href="#lgi" id="toc-entry-13">LGI</a></p></li> +<li><p><a class="reference internal" href="#t7" id="toc-entry-14">T7</a></p></li> </ul> </li> <li><p><a class="reference internal" href="#greek-licr-macro-names" id="toc-entry-15">Greek LICR macro names</a></p> <ul> -<li><p><a class="reference internal" href="#letters-and-symbols" id="toc-entry-16">letters and symbols</a></p></li> -<li><p><a class="reference internal" href="#accent-macros" id="toc-entry-17">accent macros</a></p></li> -<li><p><a class="reference internal" href="#symbol-variants" id="toc-entry-18">symbol variants</a></p></li> +<li><p><a class="reference internal" href="#letters-and-symbols" id="toc-entry-16">Letters and symbols</a></p></li> +<li><p><a class="reference internal" href="#accent-macros" id="toc-entry-17">Accent macros</a></p></li> +<li><p><a class="reference internal" href="#symbol-variants" id="toc-entry-18">Symbol variants</a></p></li> </ul> </li> <li><p><a class="reference internal" href="#changelog" id="toc-entry-19">Changelog</a></p></li> @@ -863,24 +863,18 @@ Use cases are macro definitions and generated text.</p> <h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">TeX files and packages</a></h2> <section id="packages"> <h3><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Packages</a></h3> -<dl class="simple" id="textalpha"> +<dl id="textalpha"> <dt><a class="reference external" href="textalpha.sty">textalpha.sty</a>: <a class="reference external" href="textalpha.sty.html">Greek symbols in text</a></dt> -<dd><p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> or Greek literal characters<a class="superscript" href="#footnote-2" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> -independent of font encoding and TeX engine. -Documentation: <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a></p> +<dd><p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> or Greek literal characters +independent of font encoding and TeX engine.</p> +<p>Documentation: <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a></p> </dd> <dt id="alphabeta"><a class="reference external" href="alphabeta.sty">alphabeta.sty</a>: <a class="reference external" href="alphabeta.sty.html">Greek symbols in text and math</a></dt> <dd><p>Use <span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span> independent of text/math mode, -font encoding, and TeX engine. -Documentation: <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a></p> +font encoding, and TeX engine.</p> +<p>Documentation: <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a></p> </dd> </dl> -<aside class="footnote-list superscript"> -<aside class="footnote superscript" id="footnote-2" role="doc-footnote"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-2">2</a><span class="fn-bracket">]</span></span> -<p>requires <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a></p> -</aside> -</aside> </section> <section id="font-encoding-definitions"> <h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Font encoding definitions</a></h3> @@ -902,12 +896,6 @@ Documentation: <a class="reference external" href="alphabeta-doc.pdf">alphabeta- <section id="auxiliary-files"> <h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Auxiliary files</a></h3> <dl class="simple"> -<dt><a class="reference external" href="alphabeta-lgr.def">alphabeta-lgr.def</a></dt> -<dd><p>Composite definitions for <a class="reference internal" href="#alphabeta">alphabeta</a> with 8-bit TeX.</p> -</dd> -<dt><a class="reference external" href="alphabeta-tuenc.def">alphabeta-tuenc.def</a></dt> -<dd><p>Composite definitions for <a class="reference internal" href="#alphabeta">alphabeta</a> with XeTeX/LuaTeX.</p> -</dd> <dt><a class="reference external" href="greek-euenc.def">greek-euenc.def</a></dt> <dd><p>Backwards compatibility file loading <a class="reference external" href="tuenc-greek.def">tuenc-greek.def</a>.</p> </dd> @@ -922,27 +910,25 @@ with <a class="reference external" href="https://docutils.sourceforge.io/rst.htm </section> <section id="usage-examples-and-test-documents"> <h2><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Usage examples and test documents</a></h2> -<dl> -<dt><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a></dt> -<dd><p>LGR test and usage example. [<a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a>]</p> +<dl class="simple"> +<dt><a class="reference external" href="char-list.tex">char-list.tex</a>: <a class="reference external" href="char-list.pdf">char-list.pdf</a>, <a class="reference external" href="char-list-tu.pdf">char-list-tu.pdf</a></dt> +<dd><p>List of Greek characters supported by <cite>greek-fontenc</cite>. +Compares input variants and tests chase changing.</p> </dd> -<dt><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a></dt> -<dd><p>TU test and usage example. [<a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a>]</p> +<dt><a class="reference external" href="char-list-alphabeta.tex">char-list-alphabeta.tex</a>: <a class="reference external" href="char-list-alphabeta.pdf">char-list-alphabeta.pdf</a>, <a class="reference external" href="char-list-alphabeta-tu.pdf">char-list-alphabeta-tu.pdf</a></dt> +<dd><p>List/test of Greek characters supported by <cite>alphabeta</cite>.</p> </dd> -<dt><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a></dt> -<dd><p><a class="reference external" href="https://ctan.org/pkg/hyperref">Hyperref</a> test and usage example. [<a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>]</p> +<dt><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>: <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a></dt> +<dd><p><a class="reference external" href="https://ctan.org/pkg/hyperref">Hyperref</a> test and usage example.</p> </dd> -<dt><a class="reference external" href="char-list.tex">char-list.tex</a></dt> -<dd><p>List of Greek characters supported by <cite>greek-fontenc</cite>. [<a class="reference external" href="char-list.pdf">char-list.pdf</a>]</p> -<p>Compares input variants and tests chase changing.</p> +<dt><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>: <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a></dt> +<dd><p>LGR test and usage example.</p> </dd> -<dt><a class="reference external" href="test-licr-input.tex">test-licr-input.tex</a></dt> -<dd><p>Test LICRs with non-Greek legacy 8-bit input encoding. -[<a class="reference external" href="test-licr-input.pdf">test-licr-input.pdf</a>]</p> +<dt><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>: <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a></dt> +<dd><p>TU test and usage example.</p> </dd> -<dt><a class="reference external" href="test-diacritics.tex">test-diacritics.tex</a></dt> -<dd><p>Test Greek diacritics with standard accent macros. -[<a class="reference external" href="test-diacritics.pdf">test-diacritics.pdf</a>]</p> +<dt><a class="reference external" href="test-luainputenc.tex">test-luainputenc.tex</a>: <a class="reference external" href="test-luainputenc.pdf">test-luainputenc.pdf</a></dt> +<dd><p>Test LICRs LuaTeX in 8-bit compatibility mode (with <a class="reference external" href="https://ctan.org/pkg/luainputenc">luainputenc</a>).</p> </dd> </dl> </section> @@ -1034,51 +1020,33 @@ is loaded after <span class="docutils literal">arabic</span>:</p> </section> <section id="greek-text-font-encodings"> <h2><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Greek text font encodings</a></h2> -<p>Greek TeX font encodings are the envisaged <a class="reference internal" href="#t7">T7</a>, <a class="reference internal" href="#lgr">LGR</a>, and <a class="reference internal" href="#lgi">LGI</a>. -Greek letters and symbols are also defined in the Unicode-based font -encodings <a class="reference internal" href="#tu">TU</a>, and <a class="reference internal" href="#pu">PU</a>.</p> -<section id="t7"> -<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">T7</a></h3> -<p>The <a class="citation-reference" href="#encguide" id="citation-reference-2" role="doc-biblioref">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>. -However, up to now, there is no agreement on an implementation because the -restrictions for general text encodings are too severe for typesetting -polytonic Greek.</p> -</section> <section id="lgr"> -<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">LGR</a></h3> +<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">LGR</a></h3> <p>The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font +8-bit LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font encoding definition file</a>.</p> <p>Fonts in this encoding include the <a class="reference external" href="https://ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM), <a class="reference external" href="https://ctan.org/pkg/grtimes">grtimes</a> (Greek Times), <a class="reference external" href="https://ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), <a class="reference external" href="https://ctan.org/pkg/dejavu">DejaVu</a>, <a class="reference external" href="https://ctan.org/pkg/libertinegc">Libertine GC</a>, and the <a class="reference external" href="https://ctan.org/pkg/gfs">GFS fonts</a>. Setup of these fonts as Greek variant to matching Latin fonts is facilitated by the <span class="docutils literal">\DeclareFontfamilySubstitution</span> command added to the -LaTeX kernel in the 2020-02 release <a class="citation-reference" href="#ltnews31" id="citation-reference-3" role="doc-biblioref">[ltnews31]</a>.</p> +LaTeX kernel in the 2020-02 release <a class="citation-reference" href="#ltnews31" id="citation-reference-2" role="doc-biblioref">[ltnews31]</a>.</p> <p>The LGR font encoding allows to access Greek characters via an ASCII transliteration. This enables simple input with a Latin keyboard. Characters with diacritics can be selected by ligature definitions in the -font (see <a class="citation-reference" href="#greek-usage" id="citation-reference-4" role="doc-biblioref">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="citation-reference-5" role="doc-biblioref">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="citation-reference-6" role="doc-biblioref">[cbfonts]</a>).</p> -<p>A major drawback of the transliteration is, that you cannot access Latin -letters if LGR is the active font encoding (e.g. in documents or parts of -documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or <span class="docutils literal">polutionikogreek</span>). -This means that for every Latin-written word or acronym an explicit -language-switch is required. This problem can only be solved via a -font-encoding comprising Latin and Greek like the envisaged <a class="reference internal" href="#t7">T7</a> or -Unicode (with XeTeX or LuaTeX).</p> -</section> -<section id="lgi"> -<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">LGI</a></h3> -<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="https://ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative -transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="citation-reference-7" role="doc-biblioref">[babel-patch]</a>). -It is currently not supported by <cite>greek-fontenc</cite>.</p> -<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="https://ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic -setup (without any LICR macros or composite definitions).</p> +font (see <a class="citation-reference" href="#greek-usage" id="citation-reference-3" role="doc-biblioref">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="citation-reference-4" role="doc-biblioref">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="citation-reference-5" role="doc-biblioref">[cbfonts]</a>).</p> +<p>A major drawback of the transliteration is the fact, that you cannot +access Latin letters if LGR is the active font encoding (e.g. in +documents or parts of documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or +<span class="docutils literal">polutionikogreek</span>). This means that for every Latin-written word or +acronym an explicit language-switch is required. This problem can be +circumvented using Unicode fonts (font encoding <a class="reference internal" href="#tu">TU</a>) with XeTeX or +LuaTeX.</p> </section> <section id="tu"> -<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">TU</a></h3> +<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">TU</a></h3> <p>Standard Unicode font encoding for XeTeX and LuaTeX loaded by <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> -(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 <a class="citation-reference" href="#ltnews26" id="citation-reference-8" role="doc-biblioref">[ltnews26]</a>. +(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 <a class="citation-reference" href="#ltnews26" id="citation-reference-6" role="doc-biblioref">[ltnews26]</a>.<a class="superscript" href="#footnote-2" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> <cite>greek-fontenc</cite> adds support for the Greek script (see <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>).</p> <p>Xe/LuaTeX works with any system-wide installed <a class="reference external" href="https://ctan.org/topic/font-otf">OpenType font</a>. Suitable fonts supporting Greek include <a class="reference external" href="https://ctan.org/pkg/cm-unicode">CM Unicode</a>, <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>, <a class="reference external" href="https://ctan.org/pkg/ebgaramond">EB Garamond</a>, @@ -1086,19 +1054,42 @@ the <a class="reference external" href="https://ctan.org/pkg/gfs">GFS fonts</a>, <a class="reference external" href="https://ctan.org/pkg/tempora">Tempora</a>, and <a class="reference external" href="https://ctan.org/pkg/umtypewriter">UM Typewriter</a> (all available on CTAN) but also many commercial fonts. Unfortunately, the <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> default, <a class="reference external" href="http://www.gust.org.pl/projects/e-foundry/latin-modern">Latin Modern</a> misses most Greek characters.</p> -<p>Older versions of LuaTeX did not apply the NFC normalization. This lead to +<p>LuaTeX does not apply the NFC normalization by default. This leads to sub-optimal placing of some diacritics, especially the sub-iota (becoming -unintelligible in combination with small letter eta). This issue if fixed -since at least 2022.</p> +unintelligible in combination with small letter eta). This issue can be fixed +specifiying the “Harfbuzz” renderer when loading fonts with fontspec, +e.g.</p> +<pre class="literal-block">\setmainfont[Renderer=Harfbuzz]{FreeSerif}</pre> +<aside class="footnote-list superscript"> +<aside class="footnote superscript" id="footnote-2" role="doc-footnote"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-2">2</a><span class="fn-bracket">]</span></span> <p>The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX -respectively were superseded by TU in the 2017 <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> release.</p> +respectively were superseded by TU in the 2017 fontspec release.</p> +</aside> +</aside> </section> <section id="pu"> -<h3><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">PU</a></h3> +<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">PU</a></h3> <p>The package <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding for use in PDF strings -(ToC, bookmarks) which supports monotonic Greek. <cite>greek-fontenc</cite> adds -support for polytonic Greek and some archaic characters also supported in -LGR and TU (see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p> +(ToC, bookmarks). <cite>greek-fontenc</cite> adds support for Greek LICRs +(see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p> +<hr class="docutils" /> +<p>The following two encodings are not supported by <cite>greek-fontenc</cite>:</p> +</section> +<section id="lgi"> +<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">LGI</a></h3> +<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="https://ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative +transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="citation-reference-7" role="doc-biblioref">[babel-patch]</a>). +It is currently not supported by <cite>greek-fontenc</cite>.</p> +<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="https://ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic +setup (without any LICR macros or composite definitions).</p> +</section> +<section id="t7"> +<h3><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">T7</a></h3> +<p>The <a class="citation-reference" href="#encguide" id="citation-reference-8" role="doc-biblioref">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>. +However, up to now, there is no agreement on an implementation because the +restrictions for general text encodings are too severe for typesetting +polytonic Greek.</p> </section> </section> <section id="greek-licr-macro-names"> @@ -1114,7 +1105,7 @@ punctuation may change in future versions.</p> for Greek letters and diacritics. Macro names were selected based on the following considerations:</p> <section id="letters-and-symbols"> -<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">letters and symbols</a></h3> +<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">Letters and symbols</a></h3> <ul> <li><p>The <a class="reference internal" href="#fntguide">fntguide</a> (section 6.4 Naming conventions) recommends:</p> <blockquote> @@ -1148,11 +1139,8 @@ made available as <span class="docutils literal">\textvarsigma</span>.</p> </li> <li><p>The <a class="reference external" href="http://www.unicode.org/Public/UNIDATA/NamesList.txt">Unicode names list</a> provides standardized descriptive names for all Unicode characters that use only capital letters of the Latin alphabet. -While not suited for direct use in LICR macros, they can be either</p> -<ol class="lowerroman simple"> -<li><p>used as inspiration for new LICR macro names or</p></li> -<li><p>converted to LICR macro names via a defined set of transformation rules.</p></li> -</ol> +While not suited for direct use in LICR macros, they can be +converted to LICR macro names via a defined set of transformation rules.</p> <dl class="simple"> <dt>Example:</dt> <dd><p><span class="docutils literal">\textfinalsigma</span> is a descriptive alias for @@ -1192,19 +1180,20 @@ mode,</p></li> </dl> <p>The font encoding definition files use the <span class="docutils literal">text</span> prefix for symbols. Aliases (short forms, compatibility defs, etc.) are defined in -additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a>, <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a>, or <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a>)</p> +additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a> and <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a>)</p> </li> </ul> </section> <section id="accent-macros"> -<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">accent macros</a></h3> +<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">Accent macros</a></h3> <ul> <li><p>standard accent macros (<span class="docutils literal">\DeclareTextAccent</span> definitions in <span class="docutils literal"><span class="pre">latex/base/...</span></span>) are one-character macros (<span class="docutils literal">\' \" ... \u \v ...</span>) .</p></li> -<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accents.</p> +<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accent +macros.</p> <p>However, the <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> maps, e.g., “tonos” and -“dieresistonos” to the spacing characters GREEK TONOS and GREEK DIALYTIKA -TONOS, hence <cite>texttonos</cite> and <cite>textdiaresistonos</cite> should be spacing +“dieresistonos” to the spacing characters GREEK TONOS rsp. GREEK DIALYTIKA +TONOS, hence <span class="docutils literal">\texttonos</span> and <span class="docutils literal">\textdieresistonos</span> should be spacing characters.</p> </li> <li><p>textcomp (ts1enc.def) defines <span class="docutils literal"><span class="pre">\capital...</span></span> accents (i.e. without @@ -1216,12 +1205,12 @@ characters.</p> <li><p>the prefix <span class="docutils literal">\acc</span> to distinguish the macros as <cite>TextAaccent</cite> and reduce the risk of name clashes with spacing characters.</p></li> </ul> -<p>For the end-user “symbol macros” (<span class="docutils literal">\~ \' \` \" \"' \"` ...</span>) are -provided. (With <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a> also <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> for -<span class="docutils literal">\accdasia</span> and <span class="docutils literal">\accpsili</span>.)</p> +<p>Aliases to the “symbol macros” <span class="docutils literal">\~ \' \` \" \"' \"` ...</span> are +provided. With <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a> also <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> for +<span class="docutils literal">\accdasia</span> and <span class="docutils literal">\accpsili</span>.</p> </section> <section id="symbol-variants"> -<h3><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">symbol variants</a></h3> +<h3><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">Symbol variants</a></h3> <p>Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta (θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon (ε|ϵ).</p> @@ -1421,6 +1410,31 @@ downcasing <span class="docutils literal">\textStigma</span> to <span class="doc <li><p><a class="reference internal" href="#textalpha">textalpha</a>: Map character 00B5 MICRO SIGN to <span class="docutils literal">\textmicro</span>.</p></li> </ul> </dd> +<dt>2.5 (2023-09-12)</dt> +<dd><ul class="simple"> +<li><p><span class="docutils literal">\textvarTheta</span> is now an alias for <span class="docutils literal">\textTheta</span> (the AMS-math +command <span class="docutils literal">\varTheta</span> sets the <em>letter</em> Theta in italic shape).</p></li> +<li><p>Fix errors in LuaTeX’s 8-bit compatibility mode (<a class="reference external" href="https://ctan.org/pkg/luainputenc">luainputenc</a>).</p></li> +<li><p>Fix <span class="docutils literal">\MakeUppercase</span> in PDF strings.</p></li> +<li><p>Drop composite definitions if the pre-composed character can also be +selected by the <a class="reference external" href="https://www.unicode.org/reports/tr15/">Unicode NFC normalization</a>.</p></li> +<li><p>Test/fix case change commands with <a class="reference internal" href="#alphabeta">alphabeta</a>. +Composite commands for PU. +Inline <span class="docutils literal"><span class="pre">alphabeta-tuenc.def</span></span> and <span class="docutils literal"><span class="pre">alphabeta-lgr.def</span></span>.</p></li> +<li><p>Update documentation, fix links.</p></li> +</ul> +</dd> +<dt>TODO:</dt> +<dd><ul class="simple"> +<li><p>Fix <span class="docutils literal">\textautosigma</span> with Unicode fonts.</p></li> +</ul> +<!-- report issues: +The polytonic variant with dasia and oxia used in ἢ … ἤ (*either … or*) +drops diacritics! By mistake, omission, or intent? + +Compilation error with MakeUppercase and combining ypogegrammeni in Greek +locale: ``\foreignlanguage{greek}{Λͅ → \MakeUppercase{Λͅ}}`` --> +</dd> </dl> </section> <section id="references"> @@ -1441,13 +1455,13 @@ encoding</cite> Εὔτυπον, τεῦχος № 20, 2008. <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf</a></p> </div> <div class="citation" id="cbfonts" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-6">cbfonts</a><span class="fn-bracket">]</span></span> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">cbfonts</a><span class="fn-bracket">]</span></span> <p>Claudio Beccari, <cite>The CB Greek fonts</cite>, Εὔτυπον, τεῦχος № 21, 2008. <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf</a></p> </div> <div class="citation" id="encguide" role="doc-biblioentry"> <span class="label"><span class="fn-bracket">[</span>encguide<span class="fn-bracket">]</span></span> -<span class="backrefs">(<a role="doc-backlink" href="#citation-reference-2">1</a>,<a role="doc-backlink" href="#citation-reference-9">2</a>)</span> +<span class="backrefs">(<a role="doc-backlink" href="#citation-reference-8">1</a>,<a role="doc-backlink" href="#citation-reference-9">2</a>)</span> <p>Frank Mittelbach, Robin Fairbairns, Werner Lemberg, LaTeX3 Project Team, <cite>LaTeX font encodings</cite>. <a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/encguide.pdf">https://mirrors.ctan.org/macros/latex/base/encguide.pdf</a></p> @@ -1458,23 +1472,23 @@ LaTeX3 Project Team, <cite>LaTeX font encodings</cite>. <a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/fntguide.pdf">https://mirrors.ctan.org/macros/latex/base/fntguide.pdf</a></p> </div> <div class="citation" id="greek-usage" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">greek-usage</a><span class="fn-bracket">]</span></span> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">greek-usage</a><span class="fn-bracket">]</span></span> <p>Apostolos Syropoulos, <cite>Writing Greek with the greek option of the babel package</cite>, 1997. <a class="reference external" href="https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf">https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf</a></p> </div> <div class="citation" id="ltnews26" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-8">ltnews26</a><span class="fn-bracket">]</span></span> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-6">ltnews26</a><span class="fn-bracket">]</span></span> <p>LaTeX Project Team, <cite>LaTeX News</cite> Issue 26, January 2017. <a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews26.pdf">https://www.latex-project.org/news/latex2e-news/ltnews26.pdf</a></p> </div> <div class="citation" id="ltnews31" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">ltnews31</a><span class="fn-bracket">]</span></span> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-2">ltnews31</a><span class="fn-bracket">]</span></span> <p><cite>LaATeX News</cite>, Issue 31, February 2020, p. 3: <a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews31.pdf">https://www.latex-project.org/news/latex2e-news/ltnews31.pdf</a>.</p> </div> <div class="citation" id="teubner-doc" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">teubner-doc</a><span class="fn-bracket">]</span></span> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">teubner-doc</a><span class="fn-bracket">]</span></span> <p>Claudio Beccari, <span class="docutils literal">teubner.sty</span> <cite>An extension to the greek option of the babel package</cite>, 2011. <a class="reference external" href="https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf</a></p> diff --git a/language/greek/greek-fontenc/greek-fontenc-doc.rst b/language/greek/greek-fontenc/greek-fontenc-doc.rst index 4b25969c0d..9883989c1d 100644 --- a/language/greek/greek-fontenc/greek-fontenc-doc.rst +++ b/language/greek/greek-fontenc/greek-fontenc-doc.rst @@ -4,7 +4,7 @@ greek-fontenc Greek font encoding definition files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:Version: 2.4 (changelog_) +:Version: 2.5 (changelog_) :Copyright: © 2010 -- 2023 Günter Milde <milde@users.sf.net> :Licence: This work may be distributed and/or modified under the @@ -15,9 +15,9 @@ Greek font encoding definition files :Latest Release: https://ctan.org/pkg/greek-fontenc -:Abstract: The `greek-fontenc` bundle provides LICR [#]_ macros - for characters from the Greek script and encoding - definition files for `Greek text font encodings`_. +:Abstract: The `greek-fontenc` bundle provides encoding definition files + for `Greek text font encodings`_ that define LICR [#]_ macros + for characters from the Greek script Included are also the LaTeX packages textalpha_ and alphabeta_. @@ -38,8 +38,9 @@ Packages .. _textalpha: `<textalpha.sty>`_: `Greek symbols in text <textalpha.sty.html>`_ - Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters [#]_ + Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters independent of font encoding and TeX engine. + Documentation: textalpha-doc.pdf_ .. _alphabeta: @@ -47,9 +48,8 @@ Packages `<alphabeta.sty>`_: `Greek symbols in text and math <alphabeta.sty.html>`_ Use ``\alpha`` ... ``\Omega`` independent of text/math mode, font encoding, and TeX engine. - Documentation: alphabeta-doc.pdf_ -.. [#] requires greek-inputenc_ + Documentation: alphabeta-doc.pdf_ Font encoding definitions ------------------------- @@ -73,10 +73,6 @@ Font encoding definitions Auxiliary files --------------- -`<alphabeta-lgr.def>`_ - Composite definitions for alphabeta_ with 8-bit TeX. -`<alphabeta-tuenc.def>`_ - Composite definitions for alphabeta_ with XeTeX/LuaTeX. `<greek-euenc.def>`_ Backwards compatibility file loading tuenc-greek.def_. `<lgr2licr.lua>`_ @@ -90,27 +86,25 @@ with Docutils_ to the HTML documentation. Usage examples and test documents ================================= -`<test-lgrenc.tex>`_ - LGR test and usage example. [`<test-lgrenc.pdf>`_] +`<char-list.tex>`_: `<char-list.pdf>`_, `<char-list-tu.pdf>`_ + List of Greek characters supported by `greek-fontenc`. + Compares input variants and tests chase changing. -`<test-tuenc-greek.tex>`_ - TU test and usage example. [`<test-tuenc-greek.pdf>`_] +`<char-list-alphabeta.tex>`_: `<char-list-alphabeta.pdf>`_, `<char-list-alphabeta-tu.pdf>`_ + List/test of Greek characters supported by `alphabeta`. -`<hyperref-with-greek.tex>`_ - Hyperref_ test and usage example. [`<hyperref-with-greek.pdf>`_] -`<char-list.tex>`_ - List of Greek characters supported by `greek-fontenc`. [`<char-list.pdf>`_] +`<hyperref-with-greek.tex>`_: `<hyperref-with-greek.pdf>`_ + Hyperref_ test and usage example. - Compares input variants and tests chase changing. +`<test-lgrenc.tex>`_: `<test-lgrenc.pdf>`_ + LGR test and usage example. -`<test-licr-input.tex>`_ - Test LICRs with non-Greek legacy 8-bit input encoding. - [`<test-licr-input.pdf>`_] +`<test-tuenc-greek.tex>`_: `<test-tuenc-greek.pdf>`_ + TU test and usage example. -`<test-diacritics.tex>`_ - Test Greek diacritics with standard accent macros. - [`<test-diacritics.pdf>`_] +`<test-luainputenc.tex>`_: `<test-luainputenc.pdf>`_ + Test LICRs LuaTeX in 8-bit compatibility mode (with luainputenc_). Download and Installation @@ -239,23 +233,11 @@ More secure is an explicit reverse-definition, e.g. :: Greek text font encodings ========================= -Greek TeX font encodings are the envisaged T7_, LGR_, and LGI_. -Greek letters and symbols are also defined in the Unicode-based font -encodings TU_, and PU_. - -T7 --- - -The [encguide]_ reserves the name T7 for a Greek `standard font encoding`. -However, up to now, there is no agreement on an implementation because the -restrictions for general text encodings are too severe for typesetting -polytonic Greek. - LGR --- The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. `greek-fontenc` provides a comprehensive `LGR font +8-bit LaTeX. `greek-fontenc` provides a comprehensive `LGR font encoding definition file`_. Fonts in this encoding include the `CB fonts`_ (matching CM), grtimes_ @@ -270,29 +252,19 @@ transliteration. This enables simple input with a Latin keyboard. Characters with diacritics can be selected by ligature definitions in the font (see [greek-usage]_, [teubner-doc]_, [cbfonts]_). -A major drawback of the transliteration is, that you cannot access Latin -letters if LGR is the active font encoding (e.g. in documents or parts of -documents given the `Babel` language ``greek`` or ``polutionikogreek``). -This means that for every Latin-written word or acronym an explicit -language-switch is required. This problem can only be solved via a -font-encoding comprising Latin and Greek like the envisaged T7_ or -Unicode (with XeTeX or LuaTeX). - -LGI ---- - -The ‘Ibycus’ fonts from the package ibygrk_ implement an alternative -transliteration scheme (also explained in [babel-patch]_). -It is currently not supported by `greek-fontenc`. - -The font encoding file ``lgienc.def`` from ibycus-babel_ provides a basic -setup (without any LICR macros or composite definitions). +A major drawback of the transliteration is the fact, that you cannot +access Latin letters if LGR is the active font encoding (e.g. in +documents or parts of documents given the `Babel` language ``greek`` or +``polutionikogreek``). This means that for every Latin-written word or +acronym an explicit language-switch is required. This problem can be +circumvented using Unicode fonts (font encoding TU_) with XeTeX or +LuaTeX. TU -- Standard Unicode font encoding for XeTeX and LuaTeX loaded by fontspec_ -(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_. +(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_. [#]_ `greek-fontenc` adds support for the Greek script (see tuenc-greek_). Xe/LuaTeX works with any system-wide installed `OpenType font`_. Suitable @@ -302,21 +274,45 @@ Tempora_, and `UM Typewriter`_ (all available on CTAN) but also many commercial fonts. Unfortunately, the fontspec_ default, `Latin Modern`_ misses most Greek characters. -Older versions of LuaTeX did not apply the NFC normalization. This lead to +LuaTeX does not apply the NFC normalization by default. This leads to sub-optimal placing of some diacritics, especially the sub-iota (becoming -unintelligible in combination with small letter eta). This issue if fixed -since at least 2022. +unintelligible in combination with small letter eta). This issue can be fixed +specifiying the "Harfbuzz" renderer when loading fonts with fontspec, +e.g. :: + + \setmainfont[Renderer=Harfbuzz]{FreeSerif} -The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX -respectively were superseded by TU in the 2017 fontspec_ release. +.. [#] The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX + respectively were superseded by TU in the 2017 fontspec release. PU -- The package hyperref_ defines the PU font encoding for use in PDF strings -(ToC, bookmarks) which supports monotonic Greek. `greek-fontenc` adds -support for polytonic Greek and some archaic characters also supported in -LGR and TU (see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_). +(ToC, bookmarks). `greek-fontenc` adds support for Greek LICRs +(see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_). + +---------------------------------------------------------------------------- + +The following two encodings are not supported by `greek-fontenc`: + +LGI +--- + +The ‘Ibycus’ fonts from the package ibygrk_ implement an alternative +transliteration scheme (also explained in [babel-patch]_). +It is currently not supported by `greek-fontenc`. + +The font encoding file ``lgienc.def`` from ibycus-babel_ provides a basic +setup (without any LICR macros or composite definitions). + +T7 +-- + +The [encguide]_ reserves the name T7 for a Greek `standard font encoding`. +However, up to now, there is no agreement on an implementation because the +restrictions for general text encodings are too severe for typesetting +polytonic Greek. Greek LICR macro names @@ -332,7 +328,7 @@ This bundle provides LaTeX internal character representations (LICR macros) for Greek letters and diacritics. Macro names were selected based on the following considerations: -letters and symbols +Letters and symbols ------------------- * The fntguide_ (section 6.4 Naming conventions) recommends: @@ -362,10 +358,8 @@ letters and symbols * The `Unicode names list`_ provides standardized descriptive names for all Unicode characters that use only capital letters of the Latin alphabet. - While not suited for direct use in LICR macros, they can be either - - i. used as inspiration for new LICR macro names or - ii. converted to LICR macro names via a defined set of transformation rules. + While not suited for direct use in LICR macros, they can be + converted to LICR macro names via a defined set of transformation rules. Example: ``\textfinalsigma`` is a descriptive alias for @@ -397,20 +391,21 @@ letters and symbols The font encoding definition files use the ``text`` prefix for symbols. Aliases (short forms, compatibility defs, etc.) are defined in - additional packages (e.g. alphabeta.sty_, `babel-greek`_, or teubner_) + additional packages (e.g. alphabeta.sty_ and teubner_) -accent macros +Accent macros ------------- * standard accent macros (``\DeclareTextAccent`` definitions in ``latex/base/...``) are one-character macros (``\' \" ... \u \v ...``) . -* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accents. +* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accent + macros. However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and - "dieresistonos" to the spacing characters GREEK TONOS and GREEK DIALYTIKA - TONOS, hence `\texttonos` and `\textdiaresistonos` should be spacing + "dieresistonos" to the spacing characters GREEK TONOS rsp. GREEK DIALYTIKA + TONOS, hence ``\texttonos`` and ``\textdieresistonos`` should be spacing characters. * textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without @@ -423,12 +418,12 @@ Currently, `greek-fontenc` uses for diacritics: - the prefix ``\acc`` to distinguish the macros as `TextAaccent` and reduce the risk of name clashes with spacing characters. -For the end-user "symbol macros" (``\~ \' \` \" \"' \"` ...``) are -provided. (With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for -``\accdasia`` and ``\accpsili``.) +Aliases to the "symbol macros" ``\~ \' \` \" \"' \"` ...`` are +provided. With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for +``\accdasia`` and ``\accpsili``. -symbol variants +Symbol variants --------------- Mathematical notation distinguishes variant shapes for beta (β|ϐ), @@ -559,6 +554,28 @@ Changelog 2.4 (2023-08-15) - Fixes for the 2022 implementation of ``\MakeUppercase``. - textalpha_: Map character 00B5 MICRO SIGN to ``\textmicro``. +2.5 (2023-09-12) + - ``\textvarTheta`` is now an alias for ``\textTheta`` (the AMS-math + command ``\varTheta`` sets the *letter* Theta in italic shape). + - Fix errors in LuaTeX's 8-bit compatibility mode (luainputenc_). + - Fix ``\MakeUppercase`` in PDF strings. + - Drop composite definitions if the pre-composed character can also be + selected by the `Unicode NFC normalization`_. + - Test/fix case change commands with alphabeta_. + Composite commands for PU. + Inline ``alphabeta-tuenc.def`` and ``alphabeta-lgr.def``. + - Update documentation, fix links. + +TODO: + - Fix ``\textautosigma`` with Unicode fonts. + + .. report issues: + The polytonic variant with dasia and oxia used in ἢ … ἤ (*either … or*) + drops diacritics! By mistake, omission, or intent? + + Compilation error with MakeUppercase and combining ypogegrammeni in Greek + locale: ``\foreignlanguage{greek}{Λͅ → \MakeUppercase{Λͅ}}`` + __ http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin .. _ltxbugs 4399: @@ -610,6 +627,7 @@ from the ucs_ package. .. _Adobe Glyph List: http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt +.. _Unicode NFC normalization: https://www.unicode.org/reports/tr15/ .. _XML Entity Definitions for Characters: http://www.w3.org/TR/xml-entity-names/ .. _CB fonts: https://ctan.org/pkg/cbgreek-complete @@ -624,6 +642,7 @@ from the ucs_ package. .. _Libertinus: https://ctan.org/pkg/libertinus .. _Old Standard: https://ctan.org/pkg/oldstandard .. _OpenType Font: https://ctan.org/topic/font-otf +.. _Tempora: https://ctan.org/pkg/tempora .. _UM Typewriter: https://ctan.org/pkg/umtypewriter .. _amssymb: https://ctan.org/pkg/amsfonts .. _arabi: https://ctan.org/pkg/arabi @@ -639,9 +658,8 @@ from the ucs_ package. .. _ibygrk: https://ctan.org/pkg/ibygrk .. _lgrx: https://ctan.org/pkg/lgrx .. _libertine: https://ctan.org/pkg/libertine-legacy -.. _lua-uni-algos: https://ctan.org/pkg/lua-uni-algos +.. _luainputenc: https://ctan.org/pkg/luainputenc .. _substitutefont: https://ctan.org/pkg/substitutefont -.. _tempora: https://ctan.org/pkg/tempora .. _teubner: https://ctan.org/pkg/teubner .. _ucs: https://ctan.org/pkg/unicode .. _unicode-math: https://ctan.org/pkg/unicode-math diff --git a/language/greek/greek-fontenc/greek-fontenc.def b/language/greek/greek-fontenc/greek-fontenc.def index b9a89af3e4..58c53111c4 100644 --- a/language/greek/greek-fontenc/greek-fontenc.def +++ b/language/greek/greek-fontenc/greek-fontenc.def @@ -4,7 +4,7 @@ % Common Greek font encoding definitions % ====================================== % -% :Version: 2.4 (changelog_) +% :Version: 2.5 (changelog_) % % :Copyright: © 2013 -- 2023 Günter Milde % @@ -31,7 +31,7 @@ % :: \ProvidesFile{greek-fontenc.def} - [2023-08-15 2.4 Common Greek font encoding definitions] + [2023-09-12 2.5 Common Greek font encoding definitions] % ensuregreek, greekscript % ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,11 +68,11 @@ % \var... matching GREEK ... SYMBOL \DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} % ϐ \DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{\textkappasymbol} % ϰ -\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textThetasymbol} % ϴ \DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{\textthetasymbol} % ϑ \DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{\textpisymbol} % ϖ \DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{\textrhosymbol} % ϱ % \var... matching GREEK LETTER ... +\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textTheta} % Θ \DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{\textepsilon} % ε \DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{\textphi} % φ \DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{\textfinalsigma} % ς @@ -103,7 +103,7 @@ % Two Unicode code points and names for one character:: \DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos} -\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialyikatonos} +\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialytikatonos} \DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili} % Symbol macros for the breathings: @@ -248,44 +248,37 @@ % Also define the combinations with "capital" accent macros:: -\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 -\IfFormatAtLeastTF{2022/06/01}{ - \ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} - - \ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} - - \ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} - - \ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\@tabacckludge"} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{'}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{`}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{~}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accACUTE}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accGRAVE}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accTILDE}{\accdialytika} - - \ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone} - \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped} - \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped} -}{} % else do nothing +\ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + +\ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + +\ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + +\ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\@tabacckludge"} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{'}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{`}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{~}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accACUTE}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accGRAVE}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accTILDE}{\accdialytika} % .. _@uclclist: @@ -327,9 +320,9 @@ % % The definition of an auxiliary, self-resetting macro makes this idempotent % (only the first use of this function will expand the ``@uclclist``). -% The second and third lines are TeX' way of writing ``@uclclist += …`` +% The second and third lines are TeX's way of writing ``@uclclist += …`` % -% The new ``\MakeUppercase`` expects the default for ambiguous mappings +% Since 2022, ``\MakeUppercase`` expects the default for ambiguous mappings % in first position, the old in last position. % % The ``\LGR@…`` auxiliary macros are defined below. @@ -338,78 +331,80 @@ \providecommand*\update@uclc@with@greek{% \expandafter\def\expandafter\@uclclist\expandafter{% \@uclclist - \accdasia\LGR@accdropped - \accdasiaoxia\LGR@hiatus - \accdasiavaria\LGR@accdropped + \accdasia \LGR@accdropped + \accdasiaoxia \LGR@hiatus + \accdasiavaria \LGR@accdropped \accdasiaperispomeni\LGR@accdropped - \accpsili\LGR@hiatus - \accpsilioxia\LGR@hiatus - \accpsilivaria\LGR@hiatus + \accpsili \LGR@hiatus + \accpsilioxia \LGR@hiatus + \accpsilivaria \LGR@hiatus \accpsiliperispomeni\LGR@accdropped - \acctonos\LGR@hiatus - \accoxia\LGR@hiatus - \accvaria\LGR@accdropped - \accdialytikatonos\LGR@accDialytika - \accdialytikavaria\LGR@accDialytika + \acctonos \LGR@hiatus + \accoxia \LGR@hiatus + \accvaria \LGR@accdropped + \accdialytikatonos \LGR@accDialytika + \accdialytikaoxia \LGR@accDialytika + \accdialytikavaria \LGR@accDialytika \accdialytikaperispomeni\LGR@accDialytika - \accperispomeni\LGR@accdropped - \LGR@ypogegrammeni\prosgegrammeni - \textalpha \textAlpha - \textbeta \textBeta + \accperispomeni \LGR@accdropped + \LGR@ypogegrammeni \prosgegrammeni + \textalpha \textAlpha + \textbeta \textBeta \textbetasymbol \textBeta \textvarbeta \textBeta - \textgamma \textGamma - \textdelta \textDelta - \textepsilon \textEpsilon + \textgamma \textGamma + \textdelta \textDelta + \textepsilon \textEpsilon \textepsilonsymbol \textEpsilon \textvarepsilon \textEpsilon - \textzeta \textZeta - \texteta \textEta - \texttheta \textTheta + \textzeta \textZeta + \texteta \textEta + \texttheta \textTheta \texttheta \textThetasymbol \texttheta \textvarTheta \textthetasymbol \textTheta \textvartheta \textTheta - \textiota \textIota - \textkappa \textKappa + \textiota \textIota + \textkappa \textKappa \textkappasymbol \textKappa \textvarkappa \textKappa - \textlambda \textLambda - \textmu \textMu - \textnu \textNu - \textxi \textXi - \textomicron \textOmicron - \textpi \textPi - \textpisymbol \textPi - \textvarpi \textPi - \textrho \textRho + \textlambda \textLambda + \textmu \textMu + \textnu \textNu + \textxi \textXi + \textomicron \textOmicron + \textpi \textPi + \textpisymbol \textPi + \textvarpi \textPi + \textrho \textRho \textvarrho \textRho \textrhosymbol \textRho - \textautosigma \textSigma - \textfinalsigma \textSigma - \textvarsigma \textSigma - \textsigma \textSigma - \texttau \textTau - \textupsilon \textUpsilon - \textphi \textPhi - \textphisymbol \textPhi - \textvarphi \textPhi - \textchi \textChi - \textpsi \textPsi - \textomega \textOmega - \textkoppa \textKoppa - \textqoppa \textQoppa - \textvarstigma \LGR@Stigma - \textstigma \textStigma - \textsampi \textSampi - \textdigamma \textDigamma + \textautosigma \textSigma + \textfinalsigma \textSigma + \textvarsigma \textSigma + \textsigma \textSigma + \texttau \textTau + \textupsilon \textUpsilon + \textphi \textPhi + \textphisymbol \textPhi + \textvarphi \textPhi + \textchi \textChi + \textpsi \textPsi + \textomega \textOmega + \textkoppa \textKoppa + \textqoppa \textQoppa + \textstigma \textStigma + \textvarstigma \textStigma + \textsampi \textSampi + \textdigamma \textDigamma % Repeat default for ambiguous mappings for pre-2022 MakeUppercase: - \textbeta \textBeta - \texttheta \textTheta - \textkappa \textKappa - \textpi \textPi - \textrho \textRho - \textautosigma \textSigma + \textbeta \textBeta + \texttheta \textTheta + \textkappa \textKappa + \textpi \textPi + \textrho \textRho + \textautosigma \textSigma + \textstigma \textStigma }% \let\update@uclc@with@greek\relax } @@ -428,7 +423,9 @@ % where the character ``~`` maps to a no-break space. % :: -\DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1} +\ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped} \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{~}{\LGR@accdropped} % Keep dialytika: Define a dummy alias so that downcasing with @@ -439,18 +436,12 @@ \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@accdropped}{\accdialytika} -% The prosgegrammeni (adscript iota) is used only with capital letters. +% The prosgegrammeni (adscript iota) is used only with capital letters. % We define a dummy macro to enable the conversion of ``\prosgegrammeni`` -% to ``\ypogegrammeni`` (subscript iota) but not vice versa:: +% to ``\ypogegrammeni`` (subscript iota) but not vice versa:: \DeclareTextCommand{\LGR@ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni} -% Prevent downcasing ``\textStigma`` to the stigma variant ``\textvarstigma`` -% (only available in LGR). This happened sometimes with the post-2022/06 -% ``\MakeLowercase``:: - -\DeclareTextCommand{\LGR@Stigma}{\LastDeclaredEncoding}{\textStigma} - % Hiatus % """""" @@ -520,6 +511,9 @@ % 2.3 2023-06-01 @uclclist entries for symbol variants. % 2.4 2023-08-15 Fix @uclclist_ for ambiguous mappings. % .. Composite commands for "captital" macros and ``~``. +% 2.5 2023-09-12 ``\textvarTheta`` is now an alias for ``\textTheta`` +% (the math command `\varTheta` set the *letter* Theta +% in italic shape). % ====== ============ ======================================================== % % diff --git a/language/greek/greek-fontenc/greek-fontenc.def.html b/language/greek/greek-fontenc/greek-fontenc.def.html index b9a43fd656..a4060bab54 100644 --- a/language/greek/greek-fontenc/greek-fontenc.def.html +++ b/language/greek/greek-fontenc/greek-fontenc.def.html @@ -794,7 +794,7 @@ mstyle.mathscr, mi.mathscr { <p class="subtitle" id="common-greek-font-encoding-definitions">Common Greek font encoding definitions</p> <dl class="docinfo"> <dt class="version">Version<span class="colon">:</span></dt> -<dd class="version">2.4 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dd class="version">2.5 (<a class="reference internal" href="#changelog">changelog</a>)</dd> <dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2013 – 2023 Günter Milde</dd> <dt class="licence">Licence<span class="colon">:</span></dt> @@ -842,7 +842,7 @@ font encodings providing Greek characters.</p> <section id="identification"> <h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Identification</a></h3> <pre class="literal-block">\ProvidesFile{greek-fontenc.def} - [2023-08-15 2.4 Common Greek font encoding definitions]</pre> + [2023-09-12 2.5 Common Greek font encoding definitions]</pre> </section> <section id="ensuregreek-greekscript"> <h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">ensuregreek, greekscript</a></h3> @@ -869,11 +869,11 @@ without the need for additional @uclclist_ entries.</p> <pre class="literal-block">% \var... matching GREEK ... SYMBOL \DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} % ϐ \DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{\textkappasymbol} % ϰ -\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textThetasymbol} % ϴ \DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{\textthetasymbol} % ϑ \DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{\textpisymbol} % ϖ \DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{\textrhosymbol} % ϱ % \var... matching GREEK LETTER ... +\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textTheta} % Θ \DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{\textepsilon} % ε \DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{\textphi} % φ \DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{\textfinalsigma} % ς</pre> @@ -895,7 +895,7 @@ without the need for additional @uclclist_ entries.</p> </span><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\katwtonos</span><span class="name builtin">}{</span><span class="keyword">\LastDeclaredEncoding</span><span class="name builtin">}{</span><span class="keyword">\textaristerikeraia</span><span class="name builtin">}</span> <span class="comment">% ͵</span></code></pre> <p>Two Unicode code points and names for one character:</p> <pre class="literal-block">\DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos} -\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialyikatonos} +\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialytikatonos} \DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili}</pre> <p>Symbol macros for the breathings:</p> <p>Moved to <span class="docutils literal">textalpha.sty</span> to avoid clashes with local definitions @@ -1021,44 +1021,37 @@ composite definitions starting with standard macros are requried:</p> \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accperispomeni}{\accdasiaperispomeni} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni}</pre> <p>Also define the combinations with “capital” accent macros:</p> -<pre class="literal-block">\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 -\IfFormatAtLeastTF{2022/06/01}{ - \ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} - - \ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} - \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} - - \ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@accdropped} - \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} - - \ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\@tabacckludge"} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{'}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{`}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{~}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accACUTE}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accGRAVE}{\accdialytika} - \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accTILDE}{\accdialytika} - - \ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone} - \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped} - \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped} -}{} % else do nothing</pre> +<pre class="literal-block">\ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + +\ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} +\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + +\ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@accdropped} +\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + +\ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\@tabacckludge"} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{'}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{`}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{~}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accACUTE}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accGRAVE}{\accdialytika} +\DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accTILDE}{\accdialytika}</pre> </section> <section id="case-changing"> <span id="uclclist"></span><h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Case changing</a></h3> @@ -1086,85 +1079,87 @@ get the expected behaviour:</p> <p>Based on Werner Lemberg’s 2008 <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> and <span class="docutils literal">fontenc.sty</span>.</p> <p>The definition of an auxiliary, self-resetting macro makes this idempotent (only the first use of this function will expand the <span class="docutils literal">@uclclist</span>). -The second and third lines are TeX’ way of writing <span class="docutils literal">@uclclist += …</span></p> -<p>The new <span class="docutils literal">\MakeUppercase</span> expects the default for ambiguous mappings +The second and third lines are TeX’s way of writing <span class="docutils literal">@uclclist += …</span></p> +<p>Since 2022, <span class="docutils literal">\MakeUppercase</span> expects the default for ambiguous mappings in first position, the old in last position.</p> <p>The <span class="docutils literal">\LGR@…</span> auxiliary macros are defined below.</p> <pre class="literal-block">\providecommand*\update@uclc@with@greek{% \expandafter\def\expandafter\@uclclist\expandafter{% \@uclclist - \accdasia\LGR@accdropped - \accdasiaoxia\LGR@hiatus - \accdasiavaria\LGR@accdropped + \accdasia \LGR@accdropped + \accdasiaoxia \LGR@hiatus + \accdasiavaria \LGR@accdropped \accdasiaperispomeni\LGR@accdropped - \accpsili\LGR@hiatus - \accpsilioxia\LGR@hiatus - \accpsilivaria\LGR@hiatus + \accpsili \LGR@hiatus + \accpsilioxia \LGR@hiatus + \accpsilivaria \LGR@hiatus \accpsiliperispomeni\LGR@accdropped - \acctonos\LGR@hiatus - \accoxia\LGR@hiatus - \accvaria\LGR@accdropped - \accdialytikatonos\LGR@accDialytika - \accdialytikavaria\LGR@accDialytika + \acctonos \LGR@hiatus + \accoxia \LGR@hiatus + \accvaria \LGR@accdropped + \accdialytikatonos \LGR@accDialytika + \accdialytikaoxia \LGR@accDialytika + \accdialytikavaria \LGR@accDialytika \accdialytikaperispomeni\LGR@accDialytika - \accperispomeni\LGR@accdropped - \LGR@ypogegrammeni\prosgegrammeni - \textalpha \textAlpha - \textbeta \textBeta + \accperispomeni \LGR@accdropped + \LGR@ypogegrammeni \prosgegrammeni + \textalpha \textAlpha + \textbeta \textBeta \textbetasymbol \textBeta \textvarbeta \textBeta - \textgamma \textGamma - \textdelta \textDelta - \textepsilon \textEpsilon + \textgamma \textGamma + \textdelta \textDelta + \textepsilon \textEpsilon \textepsilonsymbol \textEpsilon \textvarepsilon \textEpsilon - \textzeta \textZeta - \texteta \textEta - \texttheta \textTheta + \textzeta \textZeta + \texteta \textEta + \texttheta \textTheta \texttheta \textThetasymbol \texttheta \textvarTheta \textthetasymbol \textTheta \textvartheta \textTheta - \textiota \textIota - \textkappa \textKappa + \textiota \textIota + \textkappa \textKappa \textkappasymbol \textKappa \textvarkappa \textKappa - \textlambda \textLambda - \textmu \textMu - \textnu \textNu - \textxi \textXi - \textomicron \textOmicron - \textpi \textPi - \textpisymbol \textPi - \textvarpi \textPi - \textrho \textRho + \textlambda \textLambda + \textmu \textMu + \textnu \textNu + \textxi \textXi + \textomicron \textOmicron + \textpi \textPi + \textpisymbol \textPi + \textvarpi \textPi + \textrho \textRho \textvarrho \textRho \textrhosymbol \textRho - \textautosigma \textSigma - \textfinalsigma \textSigma - \textvarsigma \textSigma - \textsigma \textSigma - \texttau \textTau - \textupsilon \textUpsilon - \textphi \textPhi - \textphisymbol \textPhi - \textvarphi \textPhi - \textchi \textChi - \textpsi \textPsi - \textomega \textOmega - \textkoppa \textKoppa - \textqoppa \textQoppa - \textvarstigma \LGR@Stigma - \textstigma \textStigma - \textsampi \textSampi - \textdigamma \textDigamma + \textautosigma \textSigma + \textfinalsigma \textSigma + \textvarsigma \textSigma + \textsigma \textSigma + \texttau \textTau + \textupsilon \textUpsilon + \textphi \textPhi + \textphisymbol \textPhi + \textvarphi \textPhi + \textchi \textChi + \textpsi \textPsi + \textomega \textOmega + \textkoppa \textKoppa + \textqoppa \textQoppa + \textstigma \textStigma + \textvarstigma \textStigma + \textsampi \textSampi + \textdigamma \textDigamma % Repeat default for ambiguous mappings for pre-2022 MakeUppercase: - \textbeta \textBeta - \texttheta \textTheta - \textkappa \textKappa - \textpi \textPi - \textrho \textRho - \textautosigma \textSigma + \textbeta \textBeta + \texttheta \textTheta + \textkappa \textKappa + \textpi \textPi + \textrho \textRho + \textautosigma \textSigma + \textstigma \textStigma }% \let\update@uclc@with@greek\relax }</pre> @@ -1178,7 +1173,9 @@ The argument passing ensures that kerning is preserved and allows definition of CompositeCommands (cf. <a class="citation-reference" href="#fntguide" id="citation-reference-4" role="doc-biblioref">[fntguide]</a>) Composite definitions with the tilde prevent errors in monotonic Greek where the character <span class="docutils literal">~</span> maps to a no-break space.</p> -<pre class="literal-block">\DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1} +<pre class="literal-block">\ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped} \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{~}{\LGR@accdropped}</pre> <p>Keep dialytika: Define a dummy alias so that downcasing with <span class="docutils literal">\MakeLowercase</span> does not convert a simple dialytika to a composite @@ -1186,14 +1183,10 @@ accent:</p> <pre class="literal-block">\DeclareTextCommand{\LGR@accDialytika}{\LastDeclaredEncoding}{\accdialytika} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@accdropped}{\accdialytika}</pre> -<p>The prosgegrammeni (adscript iota) is used only with capital letters. +<p>The prosgegrammeni (adscript iota) is used only with capital letters. We define a dummy macro to enable the conversion of <span class="docutils literal">\prosgegrammeni</span> -to <span class="docutils literal">\ypogegrammeni</span> (subscript iota) but not vice versa:</p> +to <span class="docutils literal">\ypogegrammeni</span> (subscript iota) but not vice versa:</p> <pre class="literal-block">\DeclareTextCommand{\LGR@ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni}</pre> -<p>Prevent downcasing <span class="docutils literal">\textStigma</span> to the stigma variant <span class="docutils literal">\textvarstigma</span> -(only available in LGR). This happened sometimes with the post-2022/06 -<span class="docutils literal">\MakeLowercase</span>:</p> -<pre class="literal-block">\DeclareTextCommand{\LGR@Stigma}{\LastDeclaredEncoding}{\textStigma}</pre> </section> <section id="hiatus"> <h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Hiatus</a></h4> @@ -1294,6 +1287,12 @@ downcasing <span class="docutils literal">\textStigma</span> to <span class="doc <td></td> <td><p>Composite commands for “captital” macros and <span class="docutils literal">~</span>.</p></td> </tr> +<tr><td><p>2.5</p></td> +<td><p>2023-09-12</p></td> +<td><p><span class="docutils literal">\textvarTheta</span> is now an alias for <span class="docutils literal">\textTheta</span> +(the math command <cite>varTheta</cite> set the <em>letter</em> Theta +in italic shape).</p></td> +</tr> </tbody> </table> </section> diff --git a/language/greek/greek-fontenc/hyperref-with-greek.pdf b/language/greek/greek-fontenc/hyperref-with-greek.pdf Binary files differindex b190db75f6..05020c366c 100644 --- a/language/greek/greek-fontenc/hyperref-with-greek.pdf +++ b/language/greek/greek-fontenc/hyperref-with-greek.pdf diff --git a/language/greek/greek-fontenc/hyperref-with-greek.tex b/language/greek/greek-fontenc/hyperref-with-greek.tex index c8906a36d2..227807d420 100644 --- a/language/greek/greek-fontenc/hyperref-with-greek.tex +++ b/language/greek/greek-fontenc/hyperref-with-greek.tex @@ -1,20 +1,30 @@ \documentclass{article} \usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} -% \usepackage{bookmark} +\usepackage{bookmark} +% \pagestyle{headings} -\usepackage[LGR,T1]{fontenc} -\usepackage{lmodern} -\usepackage[greek,english]{babel} +\ifdefined \UnicodeEncodingName + \usepackage{fontspec} + \setmainfont[Renderer=Harfbuzz]{FreeSerif} + \ifdefined\luatexversion + \newcommand*{\texengine}{LuaTeX} + \else + \newcommand*{\texengine}{XeTeX} + \fi +\else + \usepackage[LGR,T1]{fontenc} + \usepackage{lmodern} + \newcommand*{\texengine}{pdfTeX} +\fi + +\usepackage[greek.polutoniko,english]{babel} \usepackage[normalize-symbols]{alphabeta} -\usepackage[utf8]{inputenc} - -% \pagestyle{headings} -\IfFormatAtLeastTF{2022/06/01} - {\newcommand*{\testnewmakeuppercase}{\MakeUppercase}} - {\newcommand*{\testnewmakeuppercase}{\relax}} +% auxiliary commands +\newcommand{\cs}[1]{\texttt{\textbackslash #1}} +\newcommand*{\TestUppercase}[1]{#1 → \MakeUppercase{#1}} \begin{document} @@ -23,11 +33,13 @@ \date{2020/10/30} \maketitle +\tableofcontents + \noindent On 2010-11-05, Heiko Oberdiek wrote in comp.text.tex: % \begin{quote} - \textbackslash pdfstringdef (converting TeX code to PDF strings for + \cs{pdfstringdef} (converting TeX code to PDF strings for bookmarks) supports NFSS2 and needs active characters. Encoding stuff based on the internal font machinery of TeX (letters with catcode 11 or 12, ligatures) does not work, because the strings @@ -49,7 +61,7 @@ explicit change of the font encoding or Babel language (with some caveats, see textalpha-doc.pdf). For correct hyphenation and other fixes, mark Greek text parts with the Babel language \texttt{greek}. There should be no space around a language -switch: |\foreignlanguage{greek}{λογος}| +switch: |\foreignlanguage{greek}{λογος}|. \section{Transcription: \ensuregreek{logos}, \foreignlanguage{greek}{logos}} @@ -58,15 +70,15 @@ In the PDF-bookmark are Latin letters instead of Greek ones. \section{Macros: \foreignlanguage{greek}{% - \textlambda\textomicron\textgamma\textomicron\textvarsigma}, - \textlambda\textomicron\textgamma\textomicron\textvarsigma{}, - \lambda\omicron\gamma\omicron\varsigma{}, + \textlambda\textomicron\textgamma\textomicron\textfinalsigma}, + \textlambda\textomicron\textgamma\textomicron\textfinalsigma{}, + \lambda\omicron\gamma\omicron\finalsigma{}, λογος, } -\emph{Babel-Greek} or \emph{textalpha} package with \verb|\textalpha| \ldots -\verb|textomega| macros; \emph{alphabeta} package with -\verb|alpha| \ldots \verb|Omega| macros. +\emph{Babel-Greek} or \emph{textalpha} package with \cs{textalpha} … +\cs{textomega} macros; \emph{alphabeta} package with +\cs{alpha} … \cs{Omega} macros. With 8-bit TeX (pdflatex), literal Greek Unicode characters are converted to LICR Macros, too. @@ -82,7 +94,7 @@ to \emph{hyperref}.% \foreignlanguage{greek}{\textAlpha\textUpsilon\textLambda}% } -Kerning is impossible if the font encoding is switched for every single +Kerning is impeded if the font encoding is switched for every single character. To fix this, wrap the Greek part in a command switching to a font encoding supporting Greek, either \verb+\ensuregreek{...}+ (with package \emph{textalpha} or \emph{Babel}) or \verb+\foreignlanguage{greek}{...}+ @@ -104,7 +116,7 @@ Greek and Coptic Unicode block: lowercase letters \subsection{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ} \subsection{ἐἑἒἓἔἕἘἙἚἛἜἝ} \subsection{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ} -\subsection{ἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ} +\subsection{ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ} \subsection{ὀὁὂὃὄὅὈὉὊὋὌὍ} \subsection{ὐὑὒὓὔὕὖὗὙὛὝὟ} \subsection{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ} @@ -114,7 +126,7 @@ Greek and Coptic Unicode block: lowercase letters \subsection{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ} \subsection{ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿} \subsection{῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏} -\subsection{ῐῑῒΐῖῗῘῙῚΊ῝῞῟} +\subsection{ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝῞῟} \subsection{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`} \subsection{ῲῳῴῶῷῸΌῺΏῼ´῾} @@ -123,9 +135,9 @@ works fine. \section{LICR command input} -\subsection{\ensuregreek{ - \textnumeralsigngreek - \textnumeralsignlowergreek +\newcommand*{\GreekAndCopticI}{\greekscript + \textdexiakeraia + \textaristerikeraia { }\ypogegrammeni \texterotimatiko \acctonos{ } @@ -151,8 +163,9 @@ works fine. \textKappa \textLambda \textMu - \textNu}} -\subsection{\ensuregreek{ + \textNu +} +\newcommand*{\GreekAndCopticII}{\greekscript \textXi \textOmicron \textPi @@ -166,9 +179,8 @@ works fine. \textOmega \"\textIota \"\textUpsilon -}} - -\subsection{\ensuregreek{ +} +\newcommand*{\GreekAndCopticIII}{\greekscript \'\textalpha \'\textepsilon \'\texteta @@ -186,13 +198,13 @@ works fine. \textkappa \textlambda \textmu - \textnu}} -\subsection{\ensuregreek{ + \textnu} +\newcommand*{\GreekAndCopticIV}{\greekscript \textxi \textomicron \textpi \textrho - \textvarsigma + \textfinalsigma \textsigma \texttau \textupsilon @@ -219,13 +231,12 @@ works fine. \textkoppa \textSampi \textsampi -}} - +} -\emph{textalpha} load definitions for LICR input with non-standard +\emph{textalpha} loads definitions for LICR input with non-standard accents or combined diacritics characters also for PU (hyperref). -\subsection{\ensuregreek{ +\newcommand*{\GreekExtendedI}{\greekscript \>\textalpha \<\textalpha \>`\textalpha @@ -233,7 +244,7 @@ accents or combined diacritics characters also for PU (hyperref). \>'\textalpha \<'\textalpha \~>\textalpha - \~<\textalpha + \~<\textalpha{} \>\textAlpha \<\textAlpha \>`\textAlpha @@ -242,22 +253,22 @@ accents or combined diacritics characters also for PU (hyperref). \<'\textAlpha \~>\textAlpha \~<\textAlpha -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedII}{\greekscript \>\textepsilon \<\textepsilon \>`\textepsilon \<`\textepsilon \>'\textepsilon - \<'\textepsilon + \<'\textepsilon{} \>\textEpsilon \<\textEpsilon \>`\textEpsilon \<`\textEpsilon \>'\textEpsilon \<'\textEpsilon -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedIII}{\greekscript \>\texteta \<\texteta \>`\texteta @@ -265,7 +276,7 @@ accents or combined diacritics characters also for PU (hyperref). \>'\texteta \<'\texteta \~>\texteta - \~<\texteta + \~<\texteta{} \>\textEta \<\textEta \>`\textEta @@ -274,40 +285,40 @@ accents or combined diacritics characters also for PU (hyperref). \<'\textEta \~>\textEta \~<\textEta -}} -\subsection{\ensuregreek{ - \>\textiota - \<\textiota - \>`\textiota - \<`\textiota - \>'\textiota - \<'\textiota - \~>\textiota - \~<\textiota - \>\textIota - \<\textIota - \>`\textIota - \<`\textIota - \>'\textIota - \<'\textIota - \~>\textIota - \~<\textIota -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedIV}{\greekscript + \>\textiota{} + \<\textiota{} + \>`\textiota{} + \<`\textiota{} + \>'\textiota{} + \<'\textiota{} + \~>\textiota{} + \~<\textiota{}\ {} + \>\textIota{} + \<\textIota{} + \>`\textIota{} + \<`\textIota{} + \>'\textIota{} + \<'\textIota{} + \~>\textIota{} + \~<\textIota{} +} +\newcommand*{\GreekExtendedV}{\greekscript \>\textomicron \<\textomicron \>`\textomicron \<`\textomicron \>'\textomicron - \<'\textomicron + \<'\textomicron{} \>\textOmicron \<\textOmicron \>`\textOmicron \<`\textOmicron \>'\textOmicron \<'\textOmicron -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedVI}{\greekscript \>\textupsilon \<\textupsilon \>`\textupsilon @@ -315,13 +326,13 @@ accents or combined diacritics characters also for PU (hyperref). \>'\textupsilon \<'\textupsilon \~>\textupsilon - \~<\textupsilon + \~<\textupsilon{} \<\textUpsilon \<`\textUpsilon \<'\textUpsilon \~<\textUpsilon -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedVII}{\greekscript \>\textomega \<\textomega \>`\textomega @@ -329,7 +340,7 @@ accents or combined diacritics characters also for PU (hyperref). \>'\textomega \<'\textomega \~>\textomega - \~<\textomega + \~<\textomega{} \>\textOmega \<\textOmega \>`\textOmega @@ -338,8 +349,8 @@ accents or combined diacritics characters also for PU (hyperref). \<'\textOmega \~>\textOmega \~<\textOmega -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedVIII}{\greekscript \accvaria\textalpha \accoxia\textalpha \accvaria\textepsilon @@ -354,8 +365,8 @@ accents or combined diacritics characters also for PU (hyperref). \accoxia\textupsilon \accvaria\textomega \accoxia\textomega -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedIX}{\greekscript \>\textalpha\ypogegrammeni \<\textalpha\ypogegrammeni \>`\textalpha\ypogegrammeni @@ -372,8 +383,8 @@ accents or combined diacritics characters also for PU (hyperref). \<'\textAlpha\ypogegrammeni \~>\textAlpha\ypogegrammeni \~<\textAlpha\ypogegrammeni -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedX}{\greekscript \>\texteta\ypogegrammeni \<\texteta\ypogegrammeni \>`\texteta\ypogegrammeni @@ -390,8 +401,8 @@ accents or combined diacritics characters also for PU (hyperref). \<'\textEta\ypogegrammeni \~>\textEta\ypogegrammeni \~<\textEta\ypogegrammeni -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedXI}{\greekscript \>\textomega\ypogegrammeni \<\textomega\ypogegrammeni \>`\textomega\ypogegrammeni @@ -408,8 +419,8 @@ accents or combined diacritics characters also for PU (hyperref). \<'\textOmega\ypogegrammeni \~>\textOmega\ypogegrammeni \~<\textOmega\ypogegrammeni -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedXII}{\greekscript \u\textalpha \=\textalpha \accvaria\textalpha\ypogegrammeni @@ -425,8 +436,8 @@ accents or combined diacritics characters also for PU (hyperref). \>{ } { }\prosgegrammeni \>{ } -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedXIII}{\greekscript \accperispomeni\textcompwordmark \"\~{ } \accvaria\texteta\ypogegrammeni @@ -442,23 +453,23 @@ accents or combined diacritics characters also for PU (hyperref). \>`{ } \>'{ } \~>{ } -}} -\subsection{\ensuregreek{ - \u\textiota - \=\textiota - \`"\textiota - \'"\textiota - \~\textiota - \~"\textiota - \u\textIota - \=\textIota - \accvaria\textIota - \accoxia\textIota +} +\newcommand*{\GreekExtendedXIV}{\greekscript + \u\textiota{} + \=\textiota{} + \`"\textiota{} + \'"\textiota{} + \~\textiota{} + \~"\textiota{} + \u\textIota{} + \=\textIota{} + \accvaria\textIota{} + \accoxia\textIota{} \<`{ } \>'{ } \~<{ } -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedXV}{\greekscript \u\textupsilon \=\textupsilon \`"\textupsilon @@ -475,8 +486,8 @@ accents or combined diacritics characters also for PU (hyperref). \`"{ } \'"{ } \accvaria{ } -}} -\subsection{\ensuregreek{ +} +\newcommand*{\GreekExtendedXVI}{\greekscript \accvaria\textomega\ypogegrammeni \textomega\ypogegrammeni \accoxia\textomega\ypogegrammeni @@ -489,40 +500,165 @@ accents or combined diacritics characters also for PU (hyperref). \textOmega\ypogegrammeni \accoxia{ } \<{ } +} + +\subsection{Greek and Coptic} + +\subsubsection{\GreekAndCopticI} +\subsubsection{\GreekAndCopticII} +\subsubsection{\GreekAndCopticIII} +\subsubsection{\GreekAndCopticIV} + + +\subsection{Greek Extended} + +\subsubsection{\GreekExtendedI} +\subsubsection{\GreekExtendedII} +\subsubsection{\GreekExtendedIII} +\subsubsection{\GreekExtendedIV} +\subsubsection{\GreekExtendedV} +\subsubsection{\GreekExtendedVI} +\subsubsection{\GreekExtendedVII} +\subsubsection{\GreekExtendedVIII} +\subsubsection{\GreekExtendedIX} +\subsubsection{\GreekExtendedX} +\subsubsection{\GreekExtendedXI} +\subsubsection{\GreekExtendedXII} +\subsubsection{\GreekExtendedXIII} +\subsubsection{\GreekExtendedXIV} +\subsubsection{\GreekExtendedXV} +\subsubsection{\GreekExtendedXVI} + + +\section{Alias character names} + +\subsection{\ensuregreek{ + \textvarTheta + \textvarepsilon + \textvarphi + \textvarsigma + \textvarbeta + \textvartheta + \textvarpi + \textvarkappa + \textvarrho + \textnumeralsigngreek + \textnumeralsignlowergreek + \textmugreek + \textStigmagreek + \textDigammagreek + \textdigammagreek + \textSampigreek + \textsampigreek }} + \section{Makeuppercase} According to Greek typesetting conventions, diacritics (except the dialytika) are dropped in UPPERCASE. -The LaTeX \verb|\Makeuppercase| implementation changed fundamentally +The LaTeX \cs{Makeuppercase} implementation changed fundamentally with the release in 06/2022.\footnote{% This change cannot be reverted with the rollback mechanism ``for technical reasons''.} -\verb|\Makeuppercase| is now supported PDF-strings. +Since the change, \cs{Makeuppercase} is also supported in PDF-strings. Greek typesetting rules are ony applied if the text language is -set to \texttt{greek} with Babel's \verb|\setlanguage| or -\verb|\foreignlanguage|. +set to \texttt{greek} with Babel's \cs{setlanguage} or +\cs{foreignlanguage}. The changes broke the support for upcasing of polutonic Greek (combined accents) with LICR input and of Greek with the LGR Latin transliteration. -Restoring support is currently (2023/02/10) worked on. - -\selectlanguage{greek} -\subsection{\testnewmakeuppercase{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ}} +Support is restored as of 2023-09-07, some issues remain with PDF strings. + +\ifdefined \AddToNoCaseChangeList + % skip \MakeUppercase tests for LaTeX older than 2022/6 + + \subsection{Literal Unicode input} + + \subsubsection{\MakeUppercase{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝ}} + Text language English --- diacritics not dropped. + + \subsubsection{\foreignlanguage{greek}{% + \MakeUppercase{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝ}}} + Language set to Greek inside the \cs{subsection} command -- + diacritics dropped in the text and ToC but not in the PDF sidebar (sic!). + + \selectlanguage{greek} + \subsubsection{\MakeUppercase{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝ}} + + \ensureascii{Language switched before the \cs{subsection} command -- + diacritics dropped in text, ToC, and PDF sidebar.} + + \subsubsection{\MakeUppercase{ΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}} + \subsubsection{\MakeUppercase{άέήίΰαβγδεζηθικλμν}} + \subsubsection{\MakeUppercase{ξοπρςστυφχψωϊϋόύώϐϑϕϖϘϙϛϝϟϡ}} + + \subsubsection{\MakeUppercase{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ}} + \subsubsection{\MakeUppercase{ἐἑἒἓἔἕἘἙἚἛἜἝ}} + \subsubsection{\MakeUppercase{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ}} + \subsubsection{\MakeUppercase{ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ}} + \subsubsection{\MakeUppercase{ὀὁὂὃὄὅὈὉὊὋὌὍ}} + \subsubsection{\MakeUppercase{ὐὑὒὓὔὕὖὗὙὛὝὟ}} + \subsubsection{\MakeUppercase{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ}} + \subsubsection{\MakeUppercase{ὰάὲέὴήὶίὸόὺύὼώ}} + \subsubsection{\MakeUppercase{ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏ}} + \subsubsection{\MakeUppercase{ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ}} + \subsubsection{\MakeUppercase{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ}} + \subsubsection{\MakeUppercase{ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿}} + \ % dummy content to allow page-break + \subsubsection{\MakeUppercase{῀῁ῂῃῄῆῇῈΈῊΉῌ῍ ῎ ῏}} + \subsubsection{\MakeUppercase{ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝῞῟}} + \subsubsection{\MakeUppercase{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`}} + \subsubsection{\MakeUppercase{ῲῳῴῶῷῸΌῺΏῼ´῾}} + + \subsection{\ensureascii{LICR input}} + + \subsubsection{\MakeUppercase{\GreekAndCopticI}} + \subsubsection{\MakeUppercase{\GreekAndCopticII}} + \subsubsection{\MakeUppercase{\GreekAndCopticIII}} + \subsubsection{\MakeUppercase{\GreekAndCopticIV}} + + \subsubsection{\MakeUppercase{\GreekExtendedI}} + \subsubsection{\MakeUppercase{\GreekExtendedII}} + \subsubsection{\MakeUppercase{\GreekExtendedIII}} + \subsubsection{\MakeUppercase{\GreekExtendedIV}} + \subsubsection{\MakeUppercase{\GreekExtendedV}} + \subsubsection{\MakeUppercase{\GreekExtendedVI}} + \subsubsection{\MakeUppercase{\GreekExtendedVII}} + \subsubsection{\MakeUppercase{\GreekExtendedVIII}} + \subsubsection{\MakeUppercase{\GreekExtendedIX}} + \subsubsection{\MakeUppercase{\GreekExtendedX}} + \subsubsection{\MakeUppercase{\GreekExtendedXI}} + \subsubsection{\MakeUppercase{\GreekExtendedXII}} + \subsubsection{\MakeUppercase{\GreekExtendedXIII}} + \subsubsection{\MakeUppercase{\GreekExtendedXIV}} + \subsubsection{\MakeUppercase{\GreekExtendedXV}} + \subsubsection{\MakeUppercase{\GreekExtendedXVI}} + + \subsection{Hiatus} + \subsubsection{\TestUppercase{άι άυ έι ἄι ἄυ ἔι ἀυ}} + \subsubsection{\TestUppercase{\'\textalpha\textiota{} + \'\textalpha\textupsilon{} \'\textepsilon\textiota{} + \>'\textalpha\textiota{} \>'\textalpha\textupsilon{} + \>'\textepsilon\textiota{} \>\textalpha\textupsilon{} + }} + +\fi \selectlanguage{english} -\verb|Makeuppercase| is not supported in PDF strings with LaTeX versions -older than 06/2022. + +In PDF strings, the hiatus feature only works with literal input. \section{Conclusion} For Greek text parts in section headers use either literal Unicode characters% - \footnote{Pre-composed Unicode characters must be used for multi-accented - letters or non-standard accents. Combining Unicode characters do not work - with inputenc and 8-bit LaTeX – this is a general restriction.} + \footnote{Combining Unicode characters do not work + with inputenc and 8-bit LaTeX. (This is a general restriction.) + Use pre-composed Unicode characters or accent macros + for letters with diacritics. } or macros. For proper kerning und upcasing in the main document, set the -language with \verb|\foreignlanguage{greek}|. +text language of Greek text parts to \texttt{greek}. If you use polytonic +Greek, set the \texttt{polutoniko} language attribute. \end{document} diff --git a/language/greek/greek-fontenc/lgr2licr.lua.html b/language/greek/greek-fontenc/lgr2licr.lua.html index 6fc3143515..ef82483467 100644 --- a/language/greek/greek-fontenc/lgr2licr.lua.html +++ b/language/greek/greek-fontenc/lgr2licr.lua.html @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> -<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="generator" content="Docutils 0.21b.dev: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 2010 Günter Milde" /> <title>LGR Transcription to Greek LICR transformation</title> @@ -308,8 +308,8 @@ p img, p video, figure img, figure video { /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ /* .. _CSS3: https://www.w3.org/Style/CSS/ */ -/* Note: */ -/* This style sheet is provisional: */ +/* Note: */ +/* This style sheet is provisional: */ /* the API is not settled and may change with any minor Docutils version. */ @@ -648,7 +648,8 @@ math .boldsymbol { font-weight: bold; } mstyle.mathscr, mi.mathscr { - font-family: STIX; + font-family: STIX, XITSMathJax_Script, rsfs10, + "Asana Math", Garamond, cursive; } /* Adaptive page layout */ diff --git a/language/greek/greek-fontenc/lgrenc.def b/language/greek/greek-fontenc/lgrenc.def index 8ff80d1d1b..d0890015ce 100644 --- a/language/greek/greek-fontenc/lgrenc.def +++ b/language/greek/greek-fontenc/lgrenc.def @@ -63,6 +63,7 @@ % 2.3 2023-06-01 Fix Unicode errors with "new" ``\MakeUppercase``. % 2.4 2023-08-15 Add LGR-specific definitions for "capital" accent % for the ``\MakeUppercase`` fix in babel-greek_. +% 2.5 2023-09-12 Small formatting and documentation fixes. % ====== ============ ======================================================== % % Usage @@ -102,7 +103,7 @@ % :: \ProvidesFile{lgrenc.def} -[2023-08-15 2.4 LGR Greek font encoding definitions] +[2023-09-12 2.5 LGR Greek font encoding definitions] % Copyright © 2010 -- 2023 Günter Milde % This file is part of the "greek-fontenc" package. % It may be distributed and/or modified under the @@ -260,8 +261,8 @@ \PackageError{greek-fontenc}{character \string#1 not available \MessageBreak in 8-bit TeX} {Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak - The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak - character to the corresponding GREEK LETTER.\MessageBreak + The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak + maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak Press <return> to proceed (dropping the symbol from the document).} } @@ -269,8 +270,8 @@ \PackageError{greek-fontenc}{character \string#1 not available in text mode} {Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak the symbol from the letter.\MessageBreak - The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak - character to the corresponding GREEK LETTER.\MessageBreak + The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak + maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak Press <return> to proceed (dropping the symbol from the document).} } @@ -866,31 +867,32 @@ % letters without pre-composed uppercase version % """""""""""""""""""""""""""""""""""""""""""""" % -% The default \MakeUppercase (2022-version) emits "composing" Unicode in -% characters for letters with diacriticals but no matching pre-composed -% capital equivalent. The fix requires a LaTeX version 2023 or later:: +% The default ``\MakeUppercase`` (2022-version) emits "composing" Unicode +% characters for letters with diacritics but no matching pre-composed +% capital equivalent. We drop diacritics to prevent compilation errors. +% The ``\DeclareUppercaseMapping`` macro is new in the 2023 LaTeX release:: \ifdefined\DeclareUppercaseMapping - \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ - \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ - \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ - \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ - \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ - \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ - \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ + \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ + \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ + \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ + \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ + \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ + \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ + \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ \DeclareUppercaseMapping{"1FB7}{\accperispomeni{\textalpha}\ypogegrammeni} % ᾷ - \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ + \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ \DeclareUppercaseMapping{"1FC7}{\accperispomeni{\texteta}\ypogegrammeni} % ῇ - \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ - \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ - \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ - \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ - \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ - \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ - \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ - \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ - \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ - \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ + \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ + \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ + \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ + \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ + \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ + \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ + \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ + \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ + \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ + \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ \DeclareUppercaseMapping{"1FF7}{\accperispomeni{\textomega}\ypogegrammeni} % ῷ \fi diff --git a/language/greek/greek-fontenc/lgrenc.def.html b/language/greek/greek-fontenc/lgrenc.def.html index fd050004e1..ec5caeb7ee 100644 --- a/language/greek/greek-fontenc/lgrenc.def.html +++ b/language/greek/greek-fontenc/lgrenc.def.html @@ -1014,6 +1014,10 @@ package.</p> <td><p>Add LGR-specific definitions for “capital” accent for the <span class="docutils literal">\MakeUppercase</span> fix in <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a>.</p></td> </tr> +<tr><td><p>2.5</p></td> +<td><p>2023-09-12</p></td> +<td><p>Small formatting and documentation fixes.</p></td> +</tr> </tbody> </table> </section> @@ -1052,7 +1056,7 @@ anyway.</p> <section id="identification"> <h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3> <pre class="literal-block">\ProvidesFile{lgrenc.def} -[2023-08-15 2.4 LGR Greek font encoding definitions] +[2023-09-12 2.5 LGR Greek font encoding definitions] % Copyright © 2010 -- 2023 Günter Milde % This file is part of the "greek-fontenc" package. % It may be distributed and/or modified under the @@ -1185,8 +1189,8 @@ provide fallback LICR macros with detailed error reporting:</p> \PackageError{greek-fontenc}{character \string#1 not available \MessageBreak in 8-bit TeX} {Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak - The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak - character to the corresponding GREEK LETTER.\MessageBreak + The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak + maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak Press <return> to proceed (dropping the symbol from the document).} } @@ -1194,8 +1198,8 @@ provide fallback LICR macros with detailed error reporting:</p> \PackageError{greek-fontenc}{character \string#1 not available in text mode} {Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak the symbol from the letter.\MessageBreak - The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak - character to the corresponding GREEK LETTER.\MessageBreak + The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak + maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak Press <return> to proceed (dropping the symbol from the document).} } @@ -1734,30 +1738,31 @@ in cases where they are not needed when writing in lowercase)</p> <h3><a class="toc-backref" href="#toc-entry-25" role="doc-backlink">UPPERCASE</a></h3> <section id="letters-without-pre-composed-uppercase-version"> <h4><a class="toc-backref" href="#toc-entry-26" role="doc-backlink">letters without pre-composed uppercase version</a></h4> -<p>The default MakeUppercase (2022-version) emits “composing” Unicode in -characters for letters with diacriticals but no matching pre-composed -capital equivalent. The fix requires a LaTeX version 2023 or later:</p> +<p>The default <span class="docutils literal">\MakeUppercase</span> (2022-version) emits “composing” Unicode +characters for letters with diacritics but no matching pre-composed +capital equivalent. We drop diacritics to prevent compilation errors. +The <span class="docutils literal">\DeclareUppercaseMapping</span> macro is new in the 2023 LaTeX release:</p> <pre class="literal-block">\ifdefined\DeclareUppercaseMapping - \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ - \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ - \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ - \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ - \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ - \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ - \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ + \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ + \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ + \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ + \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ + \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ + \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ + \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ \DeclareUppercaseMapping{"1FB7}{\accperispomeni{\textalpha}\ypogegrammeni} % ᾷ - \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ + \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ \DeclareUppercaseMapping{"1FC7}{\accperispomeni{\texteta}\ypogegrammeni} % ῇ - \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ - \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ - \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ - \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ - \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ - \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ - \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ - \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ - \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ - \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ + \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ + \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ + \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ + \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ + \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ + \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ + \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ + \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ + \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ + \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ \DeclareUppercaseMapping{"1FF7}{\accperispomeni{\textomega}\ypogegrammeni} % ῷ \fi</pre> </section> diff --git a/language/greek/greek-fontenc/puenc-greek.def b/language/greek/greek-fontenc/puenc-greek.def index 920b49ab53..d308991642 100644 --- a/language/greek/greek-fontenc/puenc-greek.def +++ b/language/greek/greek-fontenc/puenc-greek.def @@ -24,6 +24,8 @@ % 2.2 2023-02-28 Add compatibility definitions for hyperref. % 2.2.1 2023-03-08 Documentation update. % 2.4 2023-08-15 Print σ, not ς with ``textautosigma`` dummy definition. +% 2.5 2023-09-12 Composite definitions for "capital" diacritics to fix +% ``\MakeUppercase`` in PDF strings. % ====== =========== ======================================================= % % .. contents:: @@ -34,7 +36,7 @@ % :: \ProvidesFile{puenc-greek.def} - [2023-08-15 2.4 Greek LICRs for PDF strings] + [2023-09-12 2.5 Greek LICRs for PDF strings] % Diacritics @@ -107,7 +109,7 @@ % Without coptic and archaic letters (except the ones used in Greek numerals). % :: -% NR Unicode Name % PU name (alias in greek-fontenc.def) +% NR Unicode Name % legacy PU name (alias in greek-fontenc.def) \DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek \DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek @@ -465,6 +467,42 @@ \DeclareTextCommand{\textpentemuria}{PU}{𐅇} % "10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND +% UPPERCASE +% --------- +% +% Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE. +% +% Babel-Greek introduces macros for "capital accents" in release 1.13.3. +% Here, we add definitions to drop diacritics in uppercase:: + +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEpsilon}{\textEpsilon} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmicron}{\textOmicron} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmega }{\textOmega} + +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEpsilon}{\textEpsilon} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmicron}{\textOmicron} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmega }{\textOmega} + +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textOmega }{\textOmega} + +% The "hiatus" feature does not work with PU (Alpha/Epsilon is dropped!):: + +\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textEpsilon}{\textEpsilon} + + % .. References % % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt diff --git a/language/greek/greek-fontenc/puenc-greek.def.html b/language/greek/greek-fontenc/puenc-greek.def.html index 7c58aae70b..83d316e9dd 100644 --- a/language/greek/greek-fontenc/puenc-greek.def.html +++ b/language/greek/greek-fontenc/puenc-greek.def.html @@ -827,6 +827,11 @@ Used by <a class="reference external" href="https://ctan.org/pkg/babel-greek">ba <td><p>2023-08-15</p></td> <td><p>Print σ, not ς with <span class="docutils literal">textautosigma</span> dummy definition.</p></td> </tr> +<tr><td><p>2.5</p></td> +<td><p>2023-09-12</p></td> +<td><p>Composite definitions for “capital” diacritics to fix +<span class="docutils literal">\MakeUppercase</span> in PDF strings.</p></td> +</tr> </tbody> </table> </dd> @@ -844,6 +849,7 @@ Used by <a class="reference external" href="https://ctan.org/pkg/babel-greek">ba <li><p><a class="reference internal" href="#greek-extended" id="toc-entry-7">Greek Extended</a></p></li> <li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-8">Letterlike Symbols</a></p></li> <li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-9">Ancient Greek Numbers</a></p></li> +<li><p><a class="reference internal" href="#uppercase" id="toc-entry-10">UPPERCASE</a></p></li> </ul> </li> </ul> @@ -851,7 +857,7 @@ Used by <a class="reference external" href="https://ctan.org/pkg/babel-greek">ba <section id="identification"> <h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Identification</a></h2> <pre class="literal-block">\ProvidesFile{puenc-greek.def} - [2023-08-15 2.4 Greek LICRs for PDF strings]</pre> + [2023-09-12 2.5 Greek LICRs for PDF strings]</pre> </section> <section id="diacritics"> <h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Diacritics</a></h2> @@ -900,7 +906,7 @@ Distinguish MICRO SIGN from letter mu:</p> <section id="greek-and-coptic"> <h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Greek and Coptic</a></h3> <p>Without coptic and archaic letters (except the ones used in Greek numerals).</p> -<pre class="literal-block">% NR Unicode Name % PU name (alias in greek-fontenc.def) +<pre class="literal-block">% NR Unicode Name % legacy PU name (alias in greek-fontenc.def) \DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek \DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek</pre> <p>037A GREEK YPOGEGRAMMENI (use textcompwordmarkypogegrammeni) % ͺ @@ -1237,6 +1243,36 @@ hexadecimal digits:</p> \DeclareTextCommand{\textpentehekaton}{PU}{𐅅} % "10145 GREEK ACROPHONIC ATTIC FIVE HUNDRED \DeclareTextCommand{\textpenteqilioi}{PU}{𐅆} % "10146 GREEK ACROPHONIC ATTIC FIVE THOUSAND \DeclareTextCommand{\textpentemuria}{PU}{𐅇} % "10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND</pre> +</section> +<section id="uppercase"> +<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">UPPERCASE</a></h3> +<p>Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.</p> +<p>Babel-Greek introduces macros for “capital accents” in release 1.13.3. +Here, we add definitions to drop diacritics in uppercase:</p> +<pre class="literal-block">\DeclareTextCompositeCommand{\accACUTE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEpsilon}{\textEpsilon} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmicron}{\textOmicron} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmega }{\textOmega} + +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEpsilon}{\textEpsilon} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmicron}{\textOmicron} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmega }{\textOmega} + +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textEta }{\textEta} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textIota }{\textIota} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textUpsilon}{\textUpsilon} +\DeclareTextCompositeCommand{\accTILDE}{PU}{\textOmega }{\textOmega}</pre> +<p>The “hiatus” feature does not work with PU (Alpha/Epsilon is dropped!):</p> +<pre class="literal-block">\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textAlpha }{\textAlpha} +\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textEpsilon}{\textEpsilon}</pre> <!-- References --> </section> </section> diff --git a/language/greek/greek-fontenc/test-lgrenc.pdf b/language/greek/greek-fontenc/test-lgrenc.pdf Binary files differindex e94fe616b9..cadfc32b4d 100644 --- a/language/greek/greek-fontenc/test-lgrenc.pdf +++ b/language/greek/greek-fontenc/test-lgrenc.pdf diff --git a/language/greek/greek-fontenc/test-lgrenc.tex b/language/greek/greek-fontenc/test-lgrenc.tex index 676df13100..98e43f6b8b 100644 --- a/language/greek/greek-fontenc/test-lgrenc.tex +++ b/language/greek/greek-fontenc/test-lgrenc.tex @@ -105,7 +105,6 @@ using the LICR macros: \>\textepsilon\textrho\~\textomega\textnu{} \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} - \end{quote} \tableofcontents @@ -405,14 +404,15 @@ This is implemented for all combinations that are used in Greek texts e.g., \LGR\~W\Latin). Since 2022, LaTeX's \cs{MakeUppercase} uses the Greek upcasing rules only if the text language (locale) is set to ``greek'' with Babel (i.e.\ not in this document). -See \texttt{char-list.tex | char-list.pdf} for a comprehensive example. +See \href{char-list.pdf}{char-list.pdf} for a comprehensive +example using the Greek language. Different conventions exist for the treatment of the sub-iota with uppercase letters. The CB-Fonts use a capital Iota ``index'' (\LGR A|, H|, W|\Latin). LaTeX standard accents% \footnote{The ogonek (\emph{little hook}) accent \k{ } (\textbackslash k) -is not defined in LGR.} +does not work in LGR.} (Latin, Greek, Greek Capitals $\mapsto$ UPPERCASE) \begin{quote} @@ -458,16 +458,14 @@ $\mapsto$ UPPERCASE) } \end{quote} -\Latin Input variants and their conversion with MakeUppercase: +\Latin Input variants and their conversion with \cs{MakeUppercase}:\footnote{ + With the 2022 \cs{MakeUppercase} implementation, there are issues like + wrongly placed diacritics or \texttt{~} leading to a NBSP with + letters/diacritics that are never used in an initial position because this + document does not set the text language to ``greek''. However, there + should not be any compiling errors.} \begin{quote} -As this document does not set the text language to ``greek'', capital -letters do not drop accents (since the 2022 MakeUppercase revamp). - -There are issues like wrongly placed diacritics or \verb|~| leading to a -NBSP with letters/diacritics that are never used in an initial position. -However, there should not be any compiling errors. - \LGR \~>a \>\~a \~\>{a}, \~<a \<\~a \<~a \~\<a \~<a, \>\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~<h \<\~h, diff --git a/language/greek/greek-fontenc/test-licr-input.pdf b/language/greek/greek-fontenc/test-licr-input.pdf Binary files differdeleted file mode 100644 index 37e9e5148a..0000000000 --- a/language/greek/greek-fontenc/test-licr-input.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/test-luainputenc.pdf b/language/greek/greek-fontenc/test-luainputenc.pdf Binary files differnew file mode 100644 index 0000000000..cba5456a29 --- /dev/null +++ b/language/greek/greek-fontenc/test-luainputenc.pdf diff --git a/language/greek/greek-fontenc/test-licr-input.tex b/language/greek/greek-fontenc/test-luainputenc.tex index 79cdac3aeb..529593cc2a 100644 --- a/language/greek/greek-fontenc/test-licr-input.tex +++ b/language/greek/greek-fontenc/test-luainputenc.tex @@ -8,29 +8,19 @@ % the Greek font setup for TU and PU: % test with different input encoding (before Greek font setup) -\usepackage[latin1]{inputenc} -% \usepackage[latin1]{luainputenc} -% -> errors with LuaTeX: -% ! Missing \endcsname inserted. -% <to be read again> -% \pm -% l.118 ...and{\~}{\UnicodeEncodingName}{α}{ᾶ} -% ... -% -% "tuenc-greek.def" uses literal Unicode characters which is incompatible -% with legacy 8-bit encodings defined via ”luainputenc”. -% The output seems OK, though. - +\usepackage[latin1]{luainputenc} \ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines % Unicode font setup: \usepackage{fontspec} - % \setmainfont{DejaVu Serif} # no YPOGEGRAMMENI - % \setsansfont{DejaVu Sans} + % The Harfbuzz renderer provides selection of pre-composed characters + % (NFC normalization) with LuaTeX + % \setmainfont[Renderer=Harfbuzz]{DejaVu Serif} # no YPOGEGRAMMENI + % \setsansfont[Renderer=Harfbuzz]{DejaVu Sans} + % \setmainfont[Renderer=Harfbuzz]{FreeSerif} % \setmainfont{cmunrm.otf} % CMU Serif % many missing characters :( - % \setmainfont{FreeSerif} - \setmainfont{Linux Libertine O} - \setsansfont{Linux Biolinum O} + \setmainfont[Renderer=Harfbuzz]{Linux Libertine O} + \setsansfont[Renderer=Harfbuzz]{Linux Biolinum O} \else \usepackage[LGR,T1]{fontenc} \usepackage{lmodern} @@ -60,21 +50,16 @@ % characters are required: \hypersetup{pdfauthor=\textTau\'<\textepsilon\textsigma\textthetasymbol} -\title{Test Greek LaTeX internal character representations (LICR macros)} +\title{Test LICR macros in LuaTeX's 8-bit compatibility mode} \author{G\"unter Milde} \date{2023/03/08} \maketitle - This document tests the compatibility of ``luainputenc'' and the Greek font setup for TU and PU. It uses only ASCII input. See the source \texttt{test-inputenc.tex} for the input used in the examples. -TODO: Compiling with LuaTeX fails: \texttt{tuenc-greek.def} uses -literal Unicode characters which is incompatible with legacy 8-bit encodings -defined via "luainputenc". - \tableofcontents @@ -109,10 +94,11 @@ glyph if it ends a word: \textsigma{} \verb|textsigma|\\ \textfinalsigma{} \verb|textfinalsigma| or \verb|textvarsigma| \end{quote} -With Unicode fonts (Xe/LuaTeX, font encoding TU), the \verb|\textautosigma| -macro (which automatically chooses the glyph according to the position) -does not work with LaTeX versions older than 2022/06 (requires the new -\verb|\MakeLowercase| implementation). +% +The \verb|\textautosigma| macro (which automatically chooses the glyph +according to the position) does not work with Unicode fonts (Xe/LuaTeX, font +encoding TU). + \subsection{Diacritics} @@ -129,6 +115,14 @@ Greek diacritics can be input by named macro or symbol macro: \accdasia\textalpha \<\textalpha{} \accdasia x\<x \end{quote} % +Combining diacritics were misplaced with the 2021 version of LuaTeX in 8-bit +compatibility mode. This can be solved by selecting the "Harfbuzz" renderer +(see the source). +\begin{quote} + \accdasia`\textepsilon{} \accpsili'\textepsilon{} \~>\textupsilon{} + \~>\textalpha\ypogegrammeni{} \~<\textalpha\ypogegrammeni +\end{quote} +% Diacritics as spacing characters: with empty argument: @@ -229,6 +223,7 @@ letters usually gives better results. \subsubsection{symbols for Greek numbers} \begin{quote} +\raggedright \textkoppa{} textkoppa \\ % ϟ \textKoppa{} textKoppa \\ % Ϟ \textqoppa{} textqoppa (archaic koppa) \\ % ϙ @@ -248,51 +243,6 @@ letters usually gives better results. \textaristerikeraia{} textaristerikeraia \\ % ͵ \end{quote} - -\begin{table}[tbp] - \centering - \begin{tabular}{lclc} - \hline - \multicolumn{2}{c}{text} & \multicolumn{2}{c}{mathematics} \\ - macro & output & macro & output \\ - \hline - \verb$\textpi$ & \textpi & \verb$\pi$ & $\pi$ \\ - \verb$\textvarpi$ & \textvarpi & \verb$\varpi$ & $\varpi$ \\ - \verb$\textpisymbol$ & \textpisymbol & & \\ - \hline - \verb$\textrho$ & \textrho & \verb$\rho$ & $\rho$ \\ - \verb$\textvarrho$ & \textvarrho & \verb$\varrho$ & $\varrho$ \\ - \verb$\textrhosymbol$ & \textrhosymbol & & \\ - \hline - \verb$\texttheta$ & \texttheta & \verb$\theta$ & $\theta$ \\ - \verb$\textvartheta$ & \textvartheta & \verb$\vartheta$ & $\vartheta$ \\ - \verb$\textthetasymbol$ & \textthetasymbol & & \\ - \hline - \verb$\textepsilon$ & \textepsilon & \verb$\epsilon$ & $\epsilon$ \\ - \verb$\textvarepsilon$ & \textvarepsilon & \verb$\varepsilon$ & $\varepsilon$ \\ - \verb$\textepsilonsymbol$ & \textepsilonsymbol & & \\ - \hline - \verb$\textphi$ & \textphi & \verb$\phi$ & $\phi$ \\ - \verb$\textvarphi$ & \textvarphi & \verb$\varphi$ & $\varphi$ \\ - \verb$\textphisymbol$ & \textphisymbol & & \\ - \hline - \verb$\textbeta$ & \textbeta & \verb$\beta$ & $\beta$ \\ - \verb$\textvarbeta$ & \textvarbeta & \emph{missing} & \\ - \verb$\textbetasymbol$ & \textbetasymbol & & \\ - \hline - \verb$\textkappa$ & \textkappa & \verb$\kappa$ & $\kappa$ \\ - \verb$\textvarkappa$ & \textvarkappa & \verb$\varkappa$ & $\varkappa$ \\ - \verb$\textkappasymbol$ & \textkappasymbol & & \\ - \hline - \verb$\textTheta$ & \textTheta & \verb$\Theta$ & $\Theta$ \\ - \verb$\textvarTheta$ & \textvarTheta & \emph{missing} & \\ - \verb$\textThetasymbol$ & \textThetasymbol & & \\ - \hline - \end{tabular} - \caption{Macros for Greek symbol variants} - \label{tab:symbol-variant-macros} -\end{table} - % \subsubsection{Ancient Greek Numbers} % % Ancient Greek Numbers are missing in most fonts (including Libertine and @@ -327,7 +277,9 @@ The packages \emph{textalpha} and \emph{alphabeta} as well as \emph{babel-greek}, add hyperref support for LICR input with non-standard accents or combined diacritics. -\subsection{0374 \ensuregreek{ +\subsection{Greek and Coptic} + +\subsubsection{\ensuregreek{ \textnumeralsigngreek{} \textnumeralsignlowergreek{} \ \ypogegrammeni{} @@ -344,7 +296,7 @@ non-standard accents or combined diacritics. \'\textOmega \'"\textiota }} -\subsection{0391 \ensuregreek{ +\subsubsection{\ensuregreek{ \textAlpha \textBeta \textGamma @@ -370,7 +322,7 @@ non-standard accents or combined diacritics. \textPsi \textOmega }} -\subsection{03AA \ensuregreek{ +\subsubsection{\ensuregreek{ \"\textIota \"\textUpsilon \'\textalpha @@ -379,7 +331,7 @@ non-standard accents or combined diacritics. \'\textiota \"'\textupsilon }} -\subsection{03B1 \ensuregreek{ +\subsubsection{\ensuregreek{ \textalpha \textbeta \textgamma @@ -406,7 +358,7 @@ non-standard accents or combined diacritics. \textpsi \textomega }} -\subsection{03CA \ensuregreek{ +\subsubsection{\ensuregreek{ \"\textiota \"\textupsilon \'\textomicron @@ -432,8 +384,9 @@ non-standard accents or combined diacritics. \textepsilonsymbol }} +\subsection{Greek Extended} -\subsection{1F00 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textalpha \accdasia\textalpha \accpsili`\textalpha @@ -451,7 +404,7 @@ non-standard accents or combined diacritics. \~>\textAlpha \~<\textAlpha }} -\subsection{1F10 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textepsilon \accdasia\textepsilon \accpsili`\textepsilon @@ -465,7 +418,7 @@ non-standard accents or combined diacritics. \accpsili'\textEpsilon \accdasia'\textEpsilon }} -\subsection{1F20 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\texteta \accdasia\texteta \accpsili`\texteta @@ -483,7 +436,7 @@ non-standard accents or combined diacritics. \~>\textEta \~<\textEta }} -\subsection{1F30 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textiota \accdasia\textiota \accpsili`\textiota @@ -501,7 +454,7 @@ non-standard accents or combined diacritics. \~>\textIota \~<\textIota }} -\subsection{1F40 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textomicron \accdasia\textomicron \accpsili`\textomicron @@ -515,7 +468,7 @@ non-standard accents or combined diacritics. \accpsili'\textOmicron \accdasia'\textOmicron }} -\subsection{1F50 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textupsilon \accdasia\textupsilon \accpsili`\textupsilon @@ -529,7 +482,7 @@ non-standard accents or combined diacritics. \accdasia'\textUpsilon \~<\textUpsilon }} -\subsection{1F60 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textomega \accdasia\textomega \accpsili`\textomega @@ -547,7 +500,7 @@ non-standard accents or combined diacritics. \~>\textOmega \~<\textOmega }} -\subsection{1F70 \ensuregreek{ +\subsubsection{\ensuregreek{ \accvaria\textalpha \accoxia\textalpha \accvaria\textepsilon @@ -563,7 +516,7 @@ non-standard accents or combined diacritics. \accvaria\textomega \accoxia\textomega }} -\subsection{1F80 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textalpha\ypogegrammeni \accdasia\textalpha\ypogegrammeni \accpsili`\textalpha\ypogegrammeni @@ -581,7 +534,7 @@ non-standard accents or combined diacritics. \~>\textAlpha\ypogegrammeni \~<\textAlpha\ypogegrammeni }} -\subsection{1F90 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\texteta\ypogegrammeni \accdasia\texteta\ypogegrammeni \accpsili`\texteta\ypogegrammeni @@ -599,7 +552,7 @@ non-standard accents or combined diacritics. \~>\textEta\ypogegrammeni \~<\textEta\ypogegrammeni }} -\subsection{1FA0 \ensuregreek{ +\subsubsection{\ensuregreek{ \accpsili\textomega\ypogegrammeni \accdasia\textomega\ypogegrammeni \accpsili`\textomega\ypogegrammeni @@ -617,7 +570,7 @@ non-standard accents or combined diacritics. \~>\textOmega\ypogegrammeni \~<\textOmega\ypogegrammeni }} -\subsection{1FB0 \ensuregreek{ +\subsubsection{\ensuregreek{ \u\textalpha \=\textalpha \accvaria\textalpha\ypogegrammeni @@ -635,7 +588,7 @@ non-standard accents or combined diacritics. \accpsili{ } }} -\subsection{1FC0 \ensuregreek{ +\subsubsection{\ensuregreek{ \accperispomeni{ } \"\~{ } \accvaria\texteta\ypogegrammeni @@ -653,7 +606,7 @@ non-standard accents or combined diacritics. \~>{ } }} -\subsection{1FD0 \ensuregreek{ +\subsubsection{\ensuregreek{ \u\textiota \=\textiota \`"\textiota @@ -668,7 +621,7 @@ non-standard accents or combined diacritics. \accpsili'{ } \~<{ } }} -\subsection{1FE0 \ensuregreek{ +\subsubsection{\ensuregreek{ \u\textupsilon \=\textupsilon \`"\textupsilon @@ -686,7 +639,7 @@ non-standard accents or combined diacritics. \'"{ } \accvaria{ } }} -\subsection{1FF0 \ensuregreek{ +\subsubsection{\ensuregreek{ \accvaria\textomega\ypogegrammeni \textomega\ypogegrammeni \accoxia\textomega\ypogegrammeni @@ -701,4 +654,49 @@ non-standard accents or combined diacritics. \accdasia{ } }} + +\begin{table}[tbp] + \centering + \begin{tabular}{lclc} + \hline + \multicolumn{2}{c}{text} & \multicolumn{2}{c}{mathematics} \\ + macro & output & macro & output \\ + \hline + \verb$\textpi$ & \textpi & \verb$\pi$ & $\pi$ \\ + \verb$\textvarpi$ & \textvarpi & \verb$\varpi$ & $\varpi$ \\ + \verb$\textpisymbol$ & \textpisymbol & & \\ + \hline + \verb$\textrho$ & \textrho & \verb$\rho$ & $\rho$ \\ + \verb$\textvarrho$ & \textvarrho & \verb$\varrho$ & $\varrho$ \\ + \verb$\textrhosymbol$ & \textrhosymbol & & \\ + \hline + \verb$\texttheta$ & \texttheta & \verb$\theta$ & $\theta$ \\ + \verb$\textvartheta$ & \textvartheta & \verb$\vartheta$ & $\vartheta$ \\ + \verb$\textthetasymbol$ & \textthetasymbol & & \\ + \hline + \verb$\textepsilon$ & \textepsilon & \verb$\epsilon$ & $\epsilon$ \\ + \verb$\textvarepsilon$ & \textvarepsilon & \verb$\varepsilon$ & $\varepsilon$ \\ + \verb$\textepsilonsymbol$ & \textepsilonsymbol & & \\ + \hline + \verb$\textphi$ & \textphi & \verb$\phi$ & $\phi$ \\ + \verb$\textvarphi$ & \textvarphi & \verb$\varphi$ & $\varphi$ \\ + \verb$\textphisymbol$ & \textphisymbol & & \\ + \hline + \verb$\textbeta$ & \textbeta & \verb$\beta$ & $\beta$ \\ + \verb$\textvarbeta$ & \textvarbeta & \emph{missing} & \\ + \verb$\textbetasymbol$ & \textbetasymbol & & \\ + \hline + \verb$\textkappa$ & \textkappa & \verb$\kappa$ & $\kappa$ \\ + \verb$\textvarkappa$ & \textvarkappa & \verb$\varkappa$ & $\varkappa$ \\ + \verb$\textkappasymbol$ & \textkappasymbol & & \\ + \hline + \verb$\textTheta$ & \textTheta & \verb$\Theta$ & $\Theta$ \\ + \verb$\textvarTheta$ & \textvarTheta & \emph{missing} & \\ + \verb$\textThetasymbol$ & \textThetasymbol & & \\ + \hline + \end{tabular} + \caption{Macros for Greek symbol variants} + \label{tab:symbol-variant-macros} +\end{table} + \end{document} diff --git a/language/greek/greek-fontenc/test-tuenc-greek.pdf b/language/greek/greek-fontenc/test-tuenc-greek.pdf Binary files differindex c96b551c60..bec3133ff6 100644 --- a/language/greek/greek-fontenc/test-tuenc-greek.pdf +++ b/language/greek/greek-fontenc/test-tuenc-greek.pdf diff --git a/language/greek/greek-fontenc/test-tuenc-greek.tex b/language/greek/greek-fontenc/test-tuenc-greek.tex index 4a72bea9c9..49b3227ef1 100644 --- a/language/greek/greek-fontenc/test-tuenc-greek.tex +++ b/language/greek/greek-fontenc/test-tuenc-greek.tex @@ -1,14 +1,16 @@ -\documentclass[a4paper]{article} +\documentclass[a4paper]{scrartcl} + \usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} -% \usepackage{bookmark} -% \usepackage{parskip} +\usepackage{bookmark} \usepackage{booktabs} \usepackage{amssymb} % It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding % also with XeTeX/LuaTeX, if the »fontenc« package is loaded before % »fontspec« and »textalpha«: -\usepackage[LGR]{fontenc} +\usepackage[LGR,TU]{fontenc} +% Prevent a font substitution warning: +\DeclareFontFamilySubstitution{LGR}{FreeSerif(0)}{cmr} % Unicode font setup: \usepackage{fontspec} @@ -16,18 +18,24 @@ % \setsansfont{DejaVu Sans} % \usepackage{libertineotf} % \setmainfont{Linux Libertine O} -\setsansfont{Linux Biolinum O} +\setsansfont[Renderer=Harfbuzz]{Linux Biolinum O} % \setmainfont{cmunrm.otf} % CMU Serif % many missing characters :( -\setmainfont{FreeSerif}% +\setmainfont[Renderer=Harfbuzz]{FreeSerif}% % \setmainfont{Droid Sans} % Declare the font encoding and Greek LICR definitions: \usepackage[normalize-symbols]{textalpha} % For the new \MakeUppercase, we need to set the text language to Greek -% with Babel or polyglossia: +% with Babel or Polyglossia: \usepackage[greek,english]{babel} +\newcommand{\Greek}{ + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi +} + % select the LGR font encoding and CB fonts \providecommand*{\lgrfont}[1]{\leavevmode{% \fontfamily{cmr}\fontencoding{LGR}\selectfont#1}% @@ -75,18 +83,15 @@ up language-specific fonts with the \verb|\babelfont| command. \href{alphabeta-doc.pdf}{\emph{alphabeta}}, or \pkgref{Babel} (with the language option \href{https://ctan.org/pkg/babel-greek}{greek}) if these packages are used with Unicode-aware TeX engines (XeTeX or LuaTeX). This -provides support for Greek LICR input and fixes for MakeUppercase. -The \verb|\MakeUppercase| implementation introduced in the 2022/06 LaTeX -release uses Greek upcasing rules only for text parts with the -\pkgref{babel} language \texttt{greek} and ignores the changes to -\texttt{uccode} values done in this package. +provides support for Greek LICR input and fixes for MakeUppercase +(cf. section~\ref{sec:uppercase-and-lowercase}). \section{LICR input% \label{licr}} -The LaTeX internal character representation (LICR) is a verbose, -fail-safe 7-bit ASCII encoding that can be used unaltered under both, 8-bit +The LaTeX internal character representation (LICR) can be used as a verbose, +fail-safe 7-bit ASCII encoding. It works under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro definitions and generated text. See the source of this document, @@ -131,11 +136,16 @@ Greek diacritics can be input by named macro or symbol macro: \accdasia\textalpha \<\textalpha{} \accdasia x\<x \end{quote} % -XeTeX and LuaTeX (since 2022) normalise base letter and combining diacritics -to the corresponding pre-composed character (if such character exists in the -\emph{Greek and Coptic} or \emph{Greek Extended} Unicode Blocks). - - +XeTeX and LuaTeX with the Harfbuzz renderer normalise combining diacritics +with the base letter to the corresponding pre-composed Unicode character +(if such a character exists).% +\footnote{\label{fnt:overlap} + Composite diacritics may overlap when they are not normalised to a + pre-composed character. + However, this is no problem in normal use as there are pre-composed + Unicode characters for all letters/diacritic combinations that are + actually used in the Greek language.% +} \begin{quote} % άάὰὰϊϊᾶᾶἀἀἁἁ \acctonos α \'α @@ -153,18 +163,23 @@ a circumflex accent. The Unicode standard provides distinct code points. Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered equivalent to the pre-composed character <Greek letter> WITH PERISPOMENI. -The ``named'' \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI, +The \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI, while the standard tilde-accent macro \verb|\~| uses the COMBINING TILDE. Composite definitions for \verb|\~| select the pre-composed character: \begin{quote} - \~α = ᾶ, \~η = ῆ, \~ι = ῖ, \~υ = ῦ, \~ω = ῶ + accent + base char / literal: + \~α/ᾶ, \~η/ῆ, \~ι/ῖ, \~υ/ῦ, \~ω\ypogegrammeni{}/ῷ + + There are no pre-composed capital letters with perispomeni: + \~Α, \~Η, \~Ι, \~Υ, \~ῼ \footref{fnt:overlap} \end{quote} -\subsubsection{combined diacritics} +\subsubsection{composite diacritics} -Combined accents are defined using combining diacritical characters. +Composite diacritics are defined using two combining diacritical characters.% +\footref{fnt:overlap} \begin{quote} \accdialytikatonos\textiota{} \"'\textiota{} \"\'\textiota{} @@ -188,10 +203,6 @@ Combined accents are defined using combining diacritical characters. \accpsiliperispomeni\textiota{} \~>\textiota{} \~\>\textiota{} \accpsiliperispomeni x \~>x \~\>x \end{quote} -Composite diacritics overlap when they are not normalised to a pre-composed -character. However, this is not a major problem in normal use as -pre-composed characters exist in Unicode for all letters that are -used with diacritics in (ancient, polytonic or monotonic) Greek. \subsubsection{sub-iota} @@ -204,8 +215,7 @@ The sub-iota is input after the base letter. A Greek capital letter followed by COMBINING GREEK YPOGEGRAMMENI is normalised to the corresponding Greek capital letter WITH [... AND] - PROSGEGRAMMENI, if a mapping exists in the Unicode standard (by XeTeX but - not by LuaTeX) + PROSGEGRAMMENI, if a mapping exists in the Unicode standard. \item \verb|\prosgegrammeni| sets a spacing GREEK PROSGEGRAMMENI: \textAlpha\prosgegrammeni{} K\prosgegrammeni{}. @@ -222,28 +232,25 @@ The sub-iota is input after the base letter. Test letters with ypogegrammeni and prosgegrammeni (literal/LICR): \begin{quote} - % TODO: infinite recursion with new \MakeUppercase - % \ifdefined\extrasgreek - % \selectlanguage{greek} - % \fi - \begin{tabbing} - unchanged \quad\= make lowercase\quad\= make uppercase. \\ - - ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni{} \> - \MakeLowercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} \> - \MakeUppercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} \\ - - ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{} \> - \MakeLowercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} \> - \MakeUppercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} \\ - - ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni{} \> - \MakeLowercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} \> - \MakeUppercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} - - \end{tabbing} + % \Greek % compilation error, see section TODO below + \begin{tabular}{lll} + unchanged & make lowercase & make uppercase. \\ + + ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni{} & + \MakeLowercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} & + \MakeUppercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} \\ + + ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{} & + \MakeLowercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} & + \MakeUppercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} \\ + + ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni{} & + \MakeLowercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} & + \MakeUppercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} + \end{tabular} \end{quote} + \subsection{Additional Greek symbols} \subsubsection{symbols for Greek numbers} @@ -314,7 +321,7 @@ letters: GREEK ... SYMBOL variant, \verb|\textvar<name>| selects the variant - shape according to TeX' mathematical mode + shape according to TeX's mathematical mode \end{quote} See Table \ref{tab:symbol-variant-macros} for the full list. The \href{alphabeta-doc.pdf}{\emph{alphabeta}} package defines short macros that @@ -390,9 +397,9 @@ defines the \verb|\lgrfont| command for this purpose in the preamble.) \subsubsection{generic text symbols} -There are some LICR macros for some symbols from the 8-bit font encoding LGR -that are not confined to Greek but not defined in -\texttt{tuenc.def} [2018/08/11 v2.0j]. +There are some LICR macros for symbols from the 8-bit font encoding LGR +that are not confined to Greek but missing in +\texttt{tuenc.def} [2021/04/29 v2.0v] in TeXLive 23. \begin{quote} \textsemicolon{} textsemicolon\\ @@ -410,8 +417,8 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \section{Latin transliteration} The Latin transliteration known from LGR encoded 8-bit fonts% -\footnote{See the \pkgref{teubner} package or the file usage.pdf from - \pkgref{babel-greek} for a description.} +\footnote{See the \pkgref{teubner} package or \pkgref{babel-greek} + for a description.} does not work with Unicode fonts. For LuaTeX, there is a \texttt{transliteration.omega} \emph{transform} that @@ -421,9 +428,9 @@ Omega system (cf. the Babel documentation for the It is possible to set up LGR encoded fonts parallel to Unicode fonts (see the preamble of the source file \url{test-tuenc-greek.tex} for an example). -After switching the font encoding to LGR, Greek letters can be input +After switching the font encoding to LGR, Greek text can be input via a \emph{Latin transliteration}, e.g. «logos» becomes «\lgrfont{logos}» -and «\verb|>aupn\'ia|» becomes «\lgrfont{>aupn\'ia}». +and «\texttt{>aupn'ia}» becomes «\lgrfont{>aupn\'ia}». Mark that you cannot use Unicode input with LGR encoded fonts except when running in 8-bit compatibility mode. @@ -434,53 +441,47 @@ LICR macros work in both, TU and LGR: compare \textrho\acctonos\textiota\textomicron\textupsilon} (LGR). -\section{UPPERCASE and lowercase} +\section{UPPERCASE and lowercase \label{sec:uppercase-and-lowercase}} According to Greek typesetting conventions, Greek diacritics (except the dialytika and sub-iota) are placed to the left (instead of above) capital -letters and dropped if text is set in ALL CAPS, e.g. \ensuregreek{μαΐστρος -$\mapsto$ \MakeUppercase{μαΐστρος}}. The macron and breve accents are -handled as in Latin texts. - -The new \verb|\MakeUppercase| implementation (rolled out in the -\href{https://www.latex-project.org/news/latex2e-news/ltnews35.pdf} -{June 2022 LaTeX release}) relies on Unicode data. It upcases according to -the Greek conventions \textbf{if the text language is set to Greek} with -\pkgref{babel} or \pkgref{polyglossia}. - -For the pre-2022/06 implementation, \texttt{tuenc-greek.def} contains code -to get the same effect. -The uccode/lccode corrections (taken from Apostolos Syropoulos xgreek -package) ensure dropping of accents with \verb|\MakeUppercase| for literal -Unicode characters. - -@uclclist additions ensure that upcasing also drops Greek diacritics. -However, when the tonos, varia, and perispomeni accents -are input using the symbol macros (\verb|\' \` \~|), this does not work, as -they cannot be distinguished from Latin acute, grave, and tilde accents.% -If these accents should be dropped by MakeUppercase, they must be input as -named macro: - +letters and dropped if text is set in UPPERCASE, e.g. \ensuregreek{μαΐστρος +$\mapsto$ \MakeUppercase{μαΐστρος}}. + +The 2022 \verb|\MakeUppercase| implementation +(cf. \textsf{ltnews35.pdf}) relies on Unicode data. +It upcases literal characters according to the Greek conventions +\textbf{if the text language is set to Greek} with \pkgref{babel} +or \pkgref{polyglossia}. +For the pre-2022/06 implementation, \texttt{tuenc-greek.def} contains +uccode/lccode corrections (taken from Apostolos Syropoulos \pkgref{xgreek} +package) to get the same effect (independent of the text language). + +In addition, \texttt{tuenc-greek.def} contains code to drop Greek diacritics +input as accent macros. +However, when using the symbol macros (\verb|\' \` \~|) for tonos, varia, +and perispomeni, special definitions from \pkgref{babel-greek} ≥ 1.13.3 are +required to distinguish them from acute, grave, and tilde accents that must +be kept on Latin letters. + +Named Greek accents and symbol accents on Greek vs. Latin letter: \begin{quote} - \ifdefined\extrasgreek - \selectlanguage{greek} - \fi - \acctonos\textalpha\'\textalpha{} \acctonos a\'a - \accvaria\textalpha\`\textalpha{} \accvaria a\`a - $\mapsto$ - \MakeUppercase{ - \acctonos\textalpha\'\textalpha{} \acctonos a\'a - \accvaria\textalpha\`\textalpha{} \accvaria a\`a - } + \Greek + \newcommand{\sample}{ + \acctonos\textupsilon\'\textupsilon{} \acctonos u\'u + \accvaria\textupsilon\`\textupsilon{} \accvaria u\`u} + \sample → \MakeUppercase{\sample} \end{quote} +Standard symbol accents on Latin letters are kept (OK). With pre-2023 LaTeX +versions or babel-greek < 1.13.3, standard accents are also kept on Greek +letters (sic!). + \subsection{hiatus} Tonos and psili mark a \emph{hiatus} (break-up of a diphthong) if placed on the first of two consecutive vowels (άι, άυ, έι, ἀυ, ἄι, ἄυ, ἔι). -A dialytika must be placed on the second vowel if they are dropped. - -The «hiatus» feature works with macro input: +A dialytika must be placed on the second vowel if they are dropped: \begin{quote} % from teubner: άυλος/ΑΫΛΟΣ \acctonos\textalpha\textupsilon λος $\mapsto$ @@ -498,31 +499,24 @@ The «hiatus» feature works with macro input: \accpsili\textalpha\textupsilon πνία $\mapsto$ \MakeUppercase{\accpsili\textalpha\textupsilon πνία}. \end{quote} - -Since the 2022/06 LaTeX release, it works with monotonic Unicode literals -(since 2023/02/10 also some polytonic) +% +Since 2023/02/10, this works with all literals \begin{quote} - \ifdefined\extrasgreek - \selectlanguage{greek} - \fi + \Greek \newcommand*{\hiatest}{άι, άυ, έι, ἄι, ἄυ, ἔι, ἀυ} - \hiatest{} $\mapsto$ \MakeUppercase{\hiatest} + \hiatest{} $\mapsto$ \MakeUppercase{\hiatest}, \end{quote} -but not with the named accent-macro + Unicode literals +with named accent-macro + Unicode literals: \begin{quote} - \ifdefined\extrasgreek - \selectlanguage{greek} - \fi + \Greek \newcommand*{\hiatest}{ \acctonos αι, \acctonos αυ, \acctonos ει, \accpsilioxia αι, \accpsilioxia αυ, \accpsilioxia ει, \accpsili αυ} \hiatest{} $\mapsto$ \MakeUppercase{\hiatest} \end{quote} -nor with short accent-macro + Unicode literals (yet?) +and, with babel-greek 1.13.3 with short accent-macro + Unicode literals: \begin{quote} - \ifdefined\extrasgreek - \selectlanguage{greek} - \fi + \Greek \newcommand*{\hiatest}{ \'αι, \'αυ, \'ει, \'>αι, \'>αυ, \'>ει, \>αυ} \hiatest{} $\mapsto$ \MakeUppercase{\hiatest} @@ -530,598 +524,21 @@ nor with short accent-macro + Unicode literals (yet?) \section{Character Tables} -The following tables list the Greek Unicode characters. In the input, the -LICR macro is followed by the corresponding literal Unicode character. - -\subsection{Greek and Coptic Unicode block} - -Only characters that are supported by LGR encoded TeX fonts have a LICR -definition. - -\newcommand{\greekandcoptic}{ -% NR Unicode Name % babel name, UCS name -% 0370 GREEK CAPITAL LETTER HETA % Ͱ -% 0371 GREEK SMALL LETTER HETA % ͱ -% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ -% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % Ͳ -\textnumeralsigngreek ʹ % \anwtonos, \textdexiakeraia -\textnumeralsignlowergreek ͵ % \katwtonos, \textaristerikeraia, -% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ -% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ -{ }\ypogegrammeni ͺ % \textsubiota{\empty} -% 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL % -% 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL % -% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL % -\texterotimatiko ; % \textquestion - -\acctonos{ } ΄ -\"'{ } ΅ -\'\textAlpha Ά -\textanoteleia · % \anoteleia, 00B7 (middle dot) is the preferred character -\'\textEpsilon Έ -\'\textEta Ή -\'\textIota Ί -\'\textOmicron Ό -\'\textUpsilon Ύ -\'\textOmega Ώ - -\'"\textiota ΐ -\textAlpha Α -\textBeta Β -\textGamma Γ -\textDelta Δ -\textEpsilon Ε -\textZeta Ζ -\textEta Η -\textTheta Θ -\textIota Ι -\textKappa Κ -\textLambda Λ -\textMu Μ -\textNu Ν -\textXi Ξ -\textOmicron Ο - -\textPi Π -\textRho Ρ -\textSigma Σ -\textTau Τ -\textUpsilon Υ -\textPhi Φ -\textChi Χ -\textPsi Ψ -\textOmega Ω -\"\textIota Ϊ -\"\textUpsilon Ϋ -\'\textalpha ά -\'\textepsilon έ -\'\texteta ή -\'\textiota ί - -\"'\textupsilon ΰ -\textalpha α -\textbeta β -\textgamma γ -\textdelta δ -\textepsilon ε -\textzeta ζ -\texteta η -\texttheta θ -\textiota ι -\textkappa κ -\textlambda λ -\textmu μ % \textmugreek -\textnu ν -\textxi ξ -\textomicron ο - -\textpi π -\textrho ρ -\textfinalsigma ς -\textsigma σ -\texttau τ -\textupsilon υ -\textphi φ -\textchi χ -\textpsi ψ -\textomega ω -\"\textiota ϊ -\"\textupsilon ϋ -\'\textomicron ό -\'\textupsilon ύ -\'\textomega ώ - -\textbetasymbol ϐ -\textthetasymbol ϑ -% ϒ ϓ ϔ -\textphisymbol ϕ -\textpisymbol ϖ %ϗ - -\textQoppa Ϙ -\textqoppa ϙ -\textStigma Ϛ -\textstigma ϛ -\textDigamma Ϝ -\textdigamma ϝ -\textKoppa Ϟ % \textKoppagreek -\textkoppa ϟ % \koppa, \textqoppa [sic!] - -\textSampi Ϡ -\textsampi ϡ - -% Ϣ ϣ Ϥ ϥ Ϧ ϧ Ϩ ϩ Ϫ ϫ Ϭ ϭ Ϯ ϯ - -\textkappasymbol ϰ -\textrhosymbol ϱ -% ϲ -% ϳ -\textThetasymbol ϴ -\textepsilonsymbol ϵ -% ϶ -% Ϸ ϸ -% Ϲ -% Ϻ ϻ ϼ -% Ͻ Ͼ Ͽ -} - -\greekandcoptic +The file \texttt{char-list.tex} contains a listing of all Greek +Unicode characters supported by the \emph{greek-fontenc} package. +See \texttt{char-list-tu.tex} for the output with XeTeX/LuaTeX. -\noindent MakeUppercase (TODO: standard accents not dropped, accents from -pre-composed characters dropped since 2022/06, if the text language is set -to Greek): - -\foreignlanguage{greek}{ - \MakeUppercase{\greekandcoptic} -} - -TODO: Alias \verb|\textvarsigma| not upcased with new MakeUppercase: -\foreignlanguage{greek}{ - \textvarsigma ς → \MakeUppercase{\textvarsigma ς} -} +\section{TODO} -\noindent MakeLowercase: +Compilation error with MakeUppercase and combining ypogegrammeni in Greek +locale. -\foreignlanguage{greek}{ - \MakeLowercase{\greekandcoptic} -} - -\noindent -The lowercase of ΣΣ is \MakeLowercase{ΣΣ}.\footnote{% - With LaTeX versions since 2022/06, - the final sigma is used if the algorithm detects the end of a word.} - - -\subsection{Greek Extended Unicode block} - -Note: There are no LICR definitions for spacing diacritical characters. -Use the corresponding accent macro with an empty argument or a space. - -\medskip - -\newcommand{\greekextended}{ -\>\textalpha ἀ -\<\textalpha ἁ -\>`\textalpha ἂ -\<`\textalpha ἃ -\>'\textalpha ἄ -\<'\textalpha ἅ -\~>\textalpha ἆ -\~<\textalpha ἇ -\>\textAlpha Ἀ -\<\textAlpha Ἁ -\>`\textAlpha Ἂ -\<`\textAlpha Ἃ -\>'\textAlpha Ἄ -\<'\textAlpha Ἅ -\~>\textAlpha Ἆ -\~<\textAlpha Ἇ - -\>\textepsilon ἐ -\<\textepsilon ἑ -\>`\textepsilon ἒ -\<`\textepsilon ἓ -\>'\textepsilon ἔ -\<'\textepsilon ἕ -\>\textEpsilon Ἐ -\<\textEpsilon Ἑ -\>`\textEpsilon Ἒ -\<`\textEpsilon Ἓ -\>'\textEpsilon Ἔ -\<'\textEpsilon Ἕ - -\>\texteta ἠ -\<\texteta ἡ -\>`\texteta ἢ -\<`\texteta ἣ -\>'\texteta ἤ -\<'\texteta ἥ -\~>\texteta ἦ -\~<\texteta ἧ -\>\textEta Ἠ -\<\textEta Ἡ -\>`\textEta Ἢ -\<`\textEta Ἣ -\>'\textEta Ἤ -\<'\textEta Ἥ -\~>\textEta Ἦ -\~<\textEta Ἧ - -\>\textiota ἰ -\<\textiota ἱ -\>`\textiota ἲ -\<`\textiota ἳ -\>'\textiota ἴ -\<'\textiota ἵ -\~>\textiota ἶ -\~<\textiota ἷ -\>\textIota Ἰ -\<\textIota Ἱ -\>`\textIota Ἲ -\<`\textIota Ἳ -\>'\textIota Ἴ -\<'\textIota Ἵ -\~>\textIota Ἶ -\~<\textIota Ἷ - -\>\textomicron ὀ -\<\textomicron ὁ -\>`\textomicron ὂ -\<`\textomicron ὃ -\>'\textomicron ὄ -\<'\textomicron ὅ -\>\textOmicron Ὀ -\<\textOmicron Ὁ -\>`\textOmicron Ὂ -\<`\textOmicron Ὃ -\>'\textOmicron Ὄ -\<'\textOmicron Ὅ - -\>\textupsilon ὐ -\<\textupsilon ὑ -\>`\textupsilon ὒ -\<`\textupsilon ὓ -\>'\textupsilon ὔ -\<'\textupsilon ὕ -\~>\textupsilon ὖ -\~<\textupsilon ὗ -\<\textUpsilon Ὑ -\<`\textUpsilon Ὓ -\<'\textUpsilon Ὕ -\~<\textUpsilon Ὗ - -\>\textomega ὠ -\<\textomega ὡ -\>`\textomega ὢ -\<`\textomega ὣ -\>'\textomega ὤ -\<'\textomega ὥ -\~>\textomega ὦ -\~<\textomega ὧ -\>\textOmega Ὠ -\<\textOmega Ὡ -\>`\textOmega Ὢ -\<`\textOmega Ὣ -\>'\textOmega Ὤ -\<'\textOmega Ὥ -\~>\textOmega Ὦ -\~<\textOmega Ὧ - -\accvaria\textalpha ὰ -\accoxia\textalpha ά -\accvaria\textepsilon ὲ -\accoxia\textepsilon έ -\accvaria\texteta ὴ -\accoxia\texteta ή -\accvaria\textiota ὶ -\accoxia\textiota ί -\accvaria\textomicron ὸ -\accoxia\textomicron ό -\accvaria\textupsilon ὺ -\accoxia\textupsilon ύ -\accvaria\textomega ὼ -\accoxia\textomega ώ - -\>\textalpha\ypogegrammeni ᾀ -\<\textalpha\ypogegrammeni ᾁ -\>`\textalpha\ypogegrammeni ᾂ -\<`\textalpha\ypogegrammeni ᾃ -\>'\textalpha\ypogegrammeni ᾄ -\<'\textalpha\ypogegrammeni ᾅ -\~>\textalpha\ypogegrammeni ᾆ -\~<\textalpha\ypogegrammeni ᾇ -\>\textAlpha\ypogegrammeni ᾈ -\<\textAlpha\ypogegrammeni ᾉ -\>`\textAlpha\ypogegrammeni ᾊ -\<`\textAlpha\ypogegrammeni ᾋ -\>'\textAlpha\ypogegrammeni ᾌ -\<'\textAlpha\ypogegrammeni ᾍ -\~>\textAlpha\ypogegrammeni ᾎ -\~<\textAlpha\ypogegrammeni ᾏ - -\>\texteta\ypogegrammeni ᾐ -\<\texteta\ypogegrammeni ᾑ -\>`\texteta\ypogegrammeni ᾒ -\<`\texteta\ypogegrammeni ᾓ -\>'\texteta\ypogegrammeni ᾔ -\<'\texteta\ypogegrammeni ᾕ -\~>\texteta\ypogegrammeni ᾖ -\~<\texteta\ypogegrammeni ᾗ -\>\textEta\ypogegrammeni ᾘ -\<\textEta\ypogegrammeni ᾙ -\>`\textEta\ypogegrammeni ᾚ -\<`\textEta\ypogegrammeni ᾛ -\>'\textEta\ypogegrammeni ᾜ -\<'\textEta\ypogegrammeni ᾝ -\~>\textEta\ypogegrammeni ᾞ -\~<\textEta\ypogegrammeni ᾟ - -\>\textomega\ypogegrammeni ᾠ -\<\textomega\ypogegrammeni ᾡ -\>`\textomega\ypogegrammeni ᾢ -\<`\textomega\ypogegrammeni ᾣ -\>'\textomega\ypogegrammeni ᾤ -\<'\textomega\ypogegrammeni ᾥ -\~>\textomega\ypogegrammeni ᾦ -\~<\textomega\ypogegrammeni ᾧ -\>\textOmega\ypogegrammeni ᾨ -\<\textOmega\ypogegrammeni ᾩ -\>`\textOmega\ypogegrammeni ᾪ -\<`\textOmega\ypogegrammeni ᾫ -\>'\textOmega\ypogegrammeni ᾬ -\<'\textOmega\ypogegrammeni ᾭ -\~>\textOmega\ypogegrammeni ᾮ -\~<\textOmega\ypogegrammeni ᾯ - -\u\textalpha ᾰ -\=\textalpha ᾱ -\accvaria\textalpha\ypogegrammeni ᾲ -\textalpha\ypogegrammeni ᾳ -\accoxia\textalpha\ypogegrammeni ᾴ -\~\textalpha ᾶ -\~\textalpha\ypogegrammeni ᾷ -\u\textAlpha Ᾰ -\=\textAlpha Ᾱ -\accvaria\textAlpha Ὰ -\accoxia\textAlpha Ά -\textAlpha\ypogegrammeni ᾼ -\>{ } ᾽ -{ }\prosgegrammeni ι -\>{ } ᾿ - -\accperispomeni{ } ῀ -\"\~{ } ῁ -\accvaria\texteta\ypogegrammeni ῂ -\texteta\ypogegrammeni ῃ -\accoxia\texteta\ypogegrammeni ῄ -\~\texteta ῆ -\~\texteta\ypogegrammeni ῇ -\accvaria\textEpsilon Ὲ -\accoxia\textEpsilon Έ -\accvaria\textEta Ὴ -\accoxia\textEta Ή -\textEta\ypogegrammeni ῌ -\>`{ } ῍ -\>'{ } ῎ -\~>{ } ῏ - -\u\textiota ῐ -\=\textiota ῑ -\`"\textiota ῒ -\'"\textiota ΐ -\~\textiota ῖ -\~"\textiota ῗ -\u\textIota Ῐ -\=\textIota Ῑ -\accvaria\textIota Ὶ -\accoxia\textIota Ί - \<`{ } ῝ -\>'{ } ῞ -\~<{ } ῟ - -\u\textupsilon ῠ -\=\textupsilon ῡ -\`"\textupsilon ῢ -\'"\textupsilon ΰ -\>\textrho ῤ -\<\textrho ῥ -\~\textupsilon ῦ -\~"\textupsilon ῧ -\u\textUpsilon Ῠ -\=\textUpsilon Ῡ -\accvaria\textUpsilon Ὺ -\accoxia\textUpsilon Ύ -\<\textRho Ῥ -\`"{ } ῭ -\'"{ } ΅ -\accvaria{ } ` - -\accvaria\textomega\ypogegrammeni ῲ -\textomega\ypogegrammeni ῳ -\accoxia\textomega\ypogegrammeni ῴ -\~\textomega ῶ -\~\textomega\ypogegrammeni ῷ -\accvaria\textOmicron Ὸ -\accoxia\textOmicron Ό -\accvaria\textOmega Ὼ -\accoxia\textOmega Ώ -\textOmega\ypogegrammeni ῼ -\accoxia{ } ´ -\<{ } ῾ -} - -\greekextended - -\noindent MakeUppercase: - -\foreignlanguage{greek}{ - \MakeUppercase{\greekextended} -} - -\noindent MakeLowercase: - -\foreignlanguage{greek}{ - \MakeLowercase{\greekextended} -} - -\subsection{Character Tables: accent + literal base character} - -With Xe/LuaTeX and Unicode fonts, diacritics may also be input using -accent macros on a literal Unicode base character. - -\subsubsection{Greek and Coptic Unicode block} - -\renewcommand{\greekandcoptic}{ - -\'ΑΆ \'ΕΈ \'ΗΉ \'ΙΊ \'ΟΌ \'ΥΎ \'ΩΏ - -\"'ιΐ \"ΙΪ \"ΥΫ \'αά \'εέ \'ηή \'ιί - -\"'υΰ - -\"ιϊ \"υϋ \'οό \'υύ \'ωώ -} - -Accented letters from the Greek and Coptic Unicode Block - -\greekandcoptic - -\noindent MakeUppercase: - -\foreignlanguage{greek}{ - \MakeUppercase{\greekandcoptic} -} - -\noindent MakeLowercase: - -\foreignlanguage{greek}{ - \MakeLowercase{\greekandcoptic} -} - -\subsubsection{Greek Extended Unicode block} - - -\renewcommand{\greekextended}{ -\>αἀ \<αἁ \>`αἂ \<`αἃ \>'αἄ \<'αἅ \~>αἆ \~<αἇ -\>ΑἈ \<ΑἉ \>`ΑἊ \<`ΑἋ \>'ΑἌ \<'ΑἍ \~>ΑἎ \~<ΑἏ - -\>εἐ \<εἑ \>`εἒ \<`εἓ \>'εἔ \<'εἕ -\>ΕἘ \<ΕἙ \>`ΕἚ \<`ΕἛ \>'ΕἜ \<'ΕἝ - -\>ηἠ \<ηἡ \>`ηἢ \<`ηἣ \>'ηἤ \<'ηἥ \~>ηἦ \~<ηἧ -\>ΗἨ \<ΗἩ \>`ΗἪ \<`ΗἫ \>'ΗἬ \<'ΗἭ \~>ΗἮ \~<ΗἯ - -\>ιἰ \<ιἱ \>`ιἲ \<`ιἳ \>'ιἴ \<'ιἵ \~>ιἶ \~<ιἷ -\>ΙἸ \<ΙἹ \>`ΙἺ \<`ΙἻ \>'ΙἼ \<'ΙἽ \~>ΙἾ \~<ΙἿ - -\>οὀ \<οὁ \>`οὂ \<`οὃ \>'οὄ \<'οὅ -\>ΟὈ \<ΟὉ \>`ΟὊ \<`ΟὋ \>'ΟὌ \<'ΟὍ - -\>υὐ \<υὑ \>`υὒ \<`υὓ \>'υὔ \<'υὕ \~>υὖ \~<υὗ -\<ΥὙ \<`ΥὛ \<'ΥὝ \~<ΥὟ - -\>ωὠ \<ωὡ \>`ωὢ \<`ωὣ \>'ωὤ \<'ωὥ \~>ωὦ \~<ωὧ -\>ΩὨ \<ΩὩ \>`ΩὪ \<`ΩὫ \>'ΩὬ \<'ΩὭ \~>ΩὮ \~<ΩὯ - -\`αὰ \'αά \`εὲ \'εέ \`ηὴ \'ηή \`ιὶ \'ιί \`οὸ \'οό \`υὺ \'υύ \`ωὼ \'ωώ - -\>α\ypogegrammeni ᾀ -\<α\ypogegrammeni ᾁ -\>`α\ypogegrammeni ᾂ -\<`α\ypogegrammeni ᾃ -\>'α\ypogegrammeni ᾄ -\<'α\ypogegrammeni ᾅ -\~>α\ypogegrammeni ᾆ -\~<α\ypogegrammeni ᾇ -\>Α\ypogegrammeni ᾈ -\<Α\ypogegrammeni ᾉ -\>`Α\ypogegrammeni ᾊ -\<`Α\ypogegrammeni ᾋ -\>'Α\ypogegrammeni ᾌ -\<'Α\ypogegrammeni ᾍ -\~>Α\ypogegrammeni ᾎ -\~<Α\ypogegrammeni ᾏ - -\>η\ypogegrammeni ᾐ -\<η\ypogegrammeni ᾑ -\>`η\ypogegrammeni ᾒ -\<`η\ypogegrammeni ᾓ -\>'η\ypogegrammeni ᾔ -\<'η\ypogegrammeni ᾕ -\~>η\ypogegrammeni ᾖ -\~<η\ypogegrammeni ᾗ -\>Η\ypogegrammeni ᾘ -\<Η\ypogegrammeni ᾙ -\>`Η\ypogegrammeni ᾚ -\<`Η\ypogegrammeni ᾛ -\>'Η\ypogegrammeni ᾜ -\<'Η\ypogegrammeni ᾝ -\~>Η\ypogegrammeni ᾞ -\~<Η\ypogegrammeni ᾟ - -\>ω\ypogegrammeni ᾠ -\<ω\ypogegrammeni ᾡ -\>`ω\ypogegrammeni ᾢ -\<`ω\ypogegrammeni ᾣ -\>'ω\ypogegrammeni ᾤ -\<'ω\ypogegrammeni ᾥ -\~>ω\ypogegrammeni ᾦ -\~<ω\ypogegrammeni ᾧ -\>Ω\ypogegrammeni ᾨ -\<Ω\ypogegrammeni ᾩ -\>`Ω\ypogegrammeni ᾪ -\<`Ω\ypogegrammeni ᾫ -\>'Ω\ypogegrammeni ᾬ -\<'Ω\ypogegrammeni ᾭ -\~>Ω\ypogegrammeni ᾮ -\~<Ω\ypogegrammeni ᾯ - -\u αᾰ \= αᾱ -\`α\ypogegrammeni ᾲ -α\ypogegrammeni ᾳ -\'α\ypogegrammeni ᾴ -\~αᾶ -\~α\ypogegrammeni ᾷ -\u ΑᾸ \= ΑᾹ \`ΑᾺ \'ΑΆ -Α\ypogegrammeni ᾼ - -\`η\ypogegrammeni ῂ -η\ypogegrammeni ῃ -\'η\ypogegrammeni ῄ -\~ηῆ -\~η\ypogegrammeni ῇ -\`ΕῈ \'ΕΈ \`ΗῊ \'ΗΉ -Η\ypogegrammeni ῌ - -\u ιῐ \=ιῑ \"`ιῒ \"'ιΐ \~ιῖ \"~ιῗ \u ΙῘ \= ΙῙ \`ΙῚ \'ΙΊ - -\u υῠ \=υῡ \"`υῢ \'"υΰ \>ρῤ \<ρῥ \~υῦ \~"υῧ -\u ΥῨ \=ΥῩ \`ΥῪ \'ΥΎ \<ΡῬ - -\`ω\ypogegrammeni ῲ -ω\ypogegrammeni ῳ -\'ω\ypogegrammeni ῴ -\~ω ῶ -\~ω\ypogegrammeni ῷ -\`ΟῸ \'ΟΌ \`ΩῺ \'ΩΏ -Ω\ypogegrammeni ῼ -} - -Accented letters from the Greek Extended Unicode block - -\greekextended - - -\medskip -\noindent MakeUppercase: - -\foreignlanguage{greek}{ -\MakeUppercase{\greekextended} -} - -\medskip -\noindent MakeLowercase: +% \begin{quote} +% \Greek +% Λͅ → \MakeUppercase{Λͅ} % fails with new XeTeX / LuaTeX +% +% % \~α\ypogegrammeni{} → +% % \MakeUppercase{\~α\ypogegrammeni{}} % fails with old LuaTeX (but not XeTeX) +% \end{quote} -\foreignlanguage{greek}{ -\MakeLowercase{\greekextended} -} \end{document} diff --git a/language/greek/greek-fontenc/textalpha-doc-tu.pdf b/language/greek/greek-fontenc/textalpha-doc-tu.pdf Binary files differindex b2eba7d76a..1e66061ca3 100644 --- a/language/greek/greek-fontenc/textalpha-doc-tu.pdf +++ b/language/greek/greek-fontenc/textalpha-doc-tu.pdf diff --git a/language/greek/greek-fontenc/textalpha-doc.pdf b/language/greek/greek-fontenc/textalpha-doc.pdf Binary files differindex 1ddc33a175..8657c89589 100644 --- a/language/greek/greek-fontenc/textalpha-doc.pdf +++ b/language/greek/greek-fontenc/textalpha-doc.pdf diff --git a/language/greek/greek-fontenc/textalpha-doc.tex b/language/greek/greek-fontenc/textalpha-doc.tex index da2f6725eb..ed26821c32 100644 --- a/language/greek/greek-fontenc/textalpha-doc.tex +++ b/language/greek/greek-fontenc/textalpha-doc.tex @@ -1,5 +1,4 @@ -\documentclass[a4paper]{article} -\usepackage{parskip} +\documentclass[a4paper, parskip=true]{scrartcl} \usepackage{booktabs} \ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines @@ -19,7 +18,7 @@ \fi \usepackage[pdfencoding=auto,colorlinks=true,linkcolor=blue]{hyperref} -% \usepackage{bookmark} +\usepackage{bookmark} \makeatletter \providecommand*{\href}{\@secondoftwo} \providecommand*{\url}{\texttt} @@ -29,15 +28,9 @@ keep-semicolon% ]{textalpha} -% compatibility defs: -\ProvideTextCommandDefault{\textvarstigma}{$\oslash$% - \message{Character textvarstigma not defined.}} -\ProvideTextCommand{\textvarstigma}{PU}{⌀} -\providecommand*{\accinvertedbrevebelow}{$\oslash$% - \message{Character accinvertedbrevebelow not defined.}} -\providecommand*{\accbrevebelow}{$\oslash$% - \message{Character accbrevebelow not defined.}} - +% auxiliary definitions: +\ProvideTextCommandDefault{\textvarstigma}{} +\newcommand{\cs}[1]{\texttt{\textbackslash#1}} \begin{document} @@ -63,11 +56,11 @@ in text independent of font encoding or TeX engine.% \href{textalpha-tu.pdf}{textalpha-tu.pdf}. \fi } -Input is possible via text commands (\verb|\textalpha| \ldots -\verb|\textOmega|) or Unicode literals\footnote{% -Requires \emph{\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc}} -or XeTeX/LuaTeX.}. -} +Input is possible via text commands (\cs{textalpha} \ldots \cs{textOmega}) +or Unicode literals\footnote{\label{requires-greek-inputenc} + Requires \emph{\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc}} + or XeTeX/LuaTeX.}. +} % end abstract \tableofcontents @@ -78,11 +71,14 @@ Load this package in the preamble of your document with \begin{verbatim} \usepackage[<options>]{textalpha} \end{verbatim} -See the source of this document \url{textalpha-doc.tex} for a setup and -usage example, the literate source of the package -\href{textalpha.sty.html}{textalpha.sty} for the implementation, and -\href{test-tuenc-greek.pdf}{test-tuenc-greek.pdf} for Greek with -XeTeX/LuaTeX. +Now you are ready to use literal Unicode +characters\footref{requires-greek-inputenc} or the \cs{textalpha} \ldots +\cs{textOmega} macros anywhere in the text.\footnote{ + Using the shorter \cs{alpha} \ldots \cs{Omega} macros (known from math mode) + is possible with the \emph{\href{alphabeta-doc.pdf}{alphabeta}} package.} +See the source of this document \texttt{textalpha-doc.tex} for a setup and +usage example and \href{greek-fontenc-doc.html}{greek-fontenc-doc} for +links to additional documentation. \subsection{Options} @@ -110,11 +106,10 @@ errors even if it contains a GREEK SYMBOL … in place of a GREEK LETTER … This option is ignored with Unicode fonts. \begin{description} - \item [Attention:] Do not use this option in cases where the distinction -between the symbol variants may be important (e.g. in a mathematical or -scientific context). Try the \href{alphabeta-doc.pdf}{alphabeta} package -with the respective characters in mathematical mode or use XeTeX/LuaTeX with -Unicode fonts in these cases. +\item [Attention:] Do not use this option in cases where the distinction + between the symbol variants may be important (e.g. in a mathematical or + scientific context). Use the respective characters in mathematical mode + or XeTeX/LuaTeX with Unicode fonts. \end{description} \subsubsection{\texttt{keep-semicolon}} @@ -164,9 +159,9 @@ Test whether this works as expected in math mode: \ensuregreek{$a b; a\;b, (\mathrm{a;}\textrm{a;}2)$}. -\subsection{Shortcuts for Breathings} +\subsection{Symbol macros for Breathings} -\emph{textalpha} defines the shortcut macros \verb|\<| and \verb|\>| for the +\emph{textalpha} defines the macros \cs{<} and \cs{>} for the \href{https://en.wikipedia.org/wiki/Rough_breathing}{dasia} (rough breathing) and \href{https://en.wikipedia.org/wiki/Smooth_breathing}{psili} (smooth breathing) diacritics. @@ -174,121 +169,125 @@ breathing) diacritics. \section{Limitations \label{sec:limitations}} -If compiling with 8-bit TeX, the internal font encoding switches interfere -with other work behind the scenes. Kerning, diacritics and up/down-casing -show problems if Greek letters are used without explicit change of the font -encoding. - -These problems can be avoided by use of \emph{babel} and the correct -language setting (greek), an explicit font encoding switch (e.g. -wrapping the Greek text in \verb|\ensuregreek|% -\footnote{The \texttt{\textbackslash ensuregreek} macro ensures the argument - is set in a font encoding supporting Greek. - % This can be used to fix these - % problems without adverse side-effects if the active font encoding is - % already LGR or TU. - }, -or XeTeX/LuaTeX with Unicode fonts. - -\subsection{Kerning} - -With pdfTeX and 8-bit fonts, no kerning occurs between Greek characters in -non-Greek text due to the internal font encoding switch: compare -\ensuregreek{\textAlpha\textUpsilon\textAlpha} (\greekfontencoding) to -\textAlpha\textUpsilon\textAlpha{} (\latinencoding). - -Compiling with LuaTeX provides kerning also on font encoding boundaries. - -\subsection{Diacritics} - -Accent macros do not work with Unicode literals as base character -under 8-bit TeX engines. Use the Latin transliteration or LICR commands. - -Composition of diacritics (like \verb|\accdasia\acctonos| or \verb|\<\'|) -fails in other font encodings. Long names (like \verb|\accdasiaoxia|) work. +If Greek letters are used while the active font encoding does not support +Greek, the internal font encoding switches interfere with other work behind +the scenes. +Kerning, diacritics and up/down-casing show problems that can be avoided by +\begin{itemize} + \item use of \emph{babel} and the correct language setting, + \item an explicit font encoding switch, + e.g., wrapping in \cs{ensuregreek}\footnote{ + The \cs{ensuregreek} macro ensures the argument + is set in a font encoding supporting Greek + without adverse side-effects if the active font encoding is + already LGR or TU.}, or + \item XeTeX/LuaTeX with Unicode fonts. +\end{itemize} +% +\ifdefined\UnicodeEncodingName + For details, see \href{textalpha-doc.pdf}{textalpha-doc.pdf}. +\else -With LGR and TU, pre-composed glyphs are chosen if available. In other font -encodings, accent macros do not select pre-composed characters. -The difference is a sub-optimal placement of the accent and becomes obvious -if you drag-and-drop text from the PDF version of this document.: -\begin{quote} - \ensuregreek{\<'\textalpha - \'<\textalpha - \accdasia\acctonos\textalpha - \acctonos\accdasia\textalpha - \accdasiaoxia\textalpha{} - \<'\textAlpha - \'<\textAlpha - \accdasia\acctonos\textAlpha - \acctonos\accdasia\textAlpha - \accdasiaoxia\textAlpha - } (\greekfontencoding) - vs. \accdasiaoxia\textalpha{} \accdasiaoxia\textAlpha{} (\latinencoding). -\end{quote} + \subsection{Kerning} -Greek diacritics (except the dialytika and sub-iota) are placed before -capital letters in Titlecase (Ἀρχιμήδης) and and dropped in uppercase -(ΑΡΧΙΜΗΔΗΣ). With the \verb|\MakeUppercase| implementation introduced -2022/06, Greek upcasing rules are only applied to literal characters -if the text language is set to Greek with Babel. + With pdfTeX and 8-bit fonts, no kerning occurs between Greek characters in + non-Greek text due to the internal font encoding switch: + \begin{quote} + \textAlpha\textUpsilon\textAlpha{} (\latinencoding) vs. + \ensuregreek{\textAlpha\textUpsilon\textAlpha} (\greekfontencoding). + \end{quote} + Compiling with LuaTeX provides kerning also on font encoding boundaries. -With the old \verb|\MakeUppercase| implementation, the above rules are fully -applied if the active font encoding is LGR or TU. However, accents input as -macros are misplaced if the active font encoding does not support Greek. -Pre-composed literal Unicode characters are handled correctly: -\begin{quote} - \begin{tabular}{ccc} - & LICR & literal input \\ \hline - \greekfontencoding & \ensuregreek{\'\textAlpha} & \ensuregreek{Ά} \\ - \latinencoding & \'\textAlpha & Ά - \end{tabular} -\end{quote} -The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be -present in UPPERCASE even where it is redundant in lowercase (the hiatus can -also be marked by an accent or breathing on the first of two consecutive -vowels). The auto-hiatus feature works in LGR and TU font encodings only: -\begin{quote} - \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} $\mapsto$ - \MakeUppercase{\ensuregreek{ - \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} - }} (\greekfontencoding) vs. - \MakeUppercase{ - \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}% - } (\latinencoding) -\end{quote} + \subsection{Diacritics} -With the old implementation of \verb|\MakeUppercase|, the auto-hiatus -feature works with LICR macros but not Unicode literals. -The new implementation works with Unicode literals, too, but only if the text -language is Greek (i.e. not in this document that does not load Babel). -\begin{quote} -\ensuregreek{% -\accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha} -$\mapsto$ \ensuregreek{\MakeUppercase{% -\accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}} -(LICR macros: OK with LGR or TU) - -\ensuregreek{ἀυπνία} $\mapsto$ -\ensuregreek{\MakeUppercase{ἀυπνία}} (literal characters: fails without Babel) -\end{quote} + With 8-bit TeX, accent macros do not work with Unicode literals as base + character. Use the Latin transliteration or LICR commands. + \medskip\noindent + Composition of diacritics (like \verb|\accdasia\acctonos| or \cs{<\'}) + fails in other font encodings. Long names (like \cs{accdasiaoxia}) work. + \begin{quote} + \<'\textalpha{} vs. + \ensuregreek{\<'\textalpha} (\greekfontencoding) + \end{quote} + % + With LGR and TU, pre-composed glyphs are chosen if available. In other font + encodings, accent macros do not select pre-composed characters. + The difference is a sub-optimal placement of the accent and becomes + obvious if you drag-and-drop text from the PDF version of this document.: + \begin{quote} + \accdasiaoxia\textalpha{} (\latinencoding) vs. + \ensuregreek{\accdasiaoxia\textalpha{}} (\greekfontencoding). + \end{quote} + % + In Greek typographical practice, diacritics (except the dialytika and + sub-iota) are placed before capital letters in Titlecase (Ἀρχιμήδης) and + dropped in uppercase (ΑΡΧΙΜΗΔΗΣ). + + Diacritics input via standard accent macros are misplaced + if the active font encoding does not support Greek. + + With the \cs{MakeUppercase} implementation introduced 2022/06, Greek + upcasing rules are only applied to literal characters if the text language + is set to Greek with Babel and to standard accent macros if the documents + loads Greek with Babel (i.e. not in this document).\footnote{ + With the pre-2022 \cs{MakeUppercase} implementation, the above rules + were fully applied if the active font encoding is LGR or TU.} + \begin{quote} + \begin{tabular}{cccc} + & named accent & standard accent & literal \\ \midrule + \greekfontencoding + & \ensuregreek{\acctonos\textAlpha{} → \MakeUppercase{\acctonos\textAlpha}} + & \ensuregreek{\'\textAlpha{} → \MakeUppercase{\'\textAlpha}} + & \ensuregreek{Ά → \MakeUppercase{Ά}} \\ + \latinencoding + & \acctonos\textAlpha{} → \MakeUppercase{\acctonos\textAlpha} + & \'\textAlpha{} → \MakeUppercase{\'\textAlpha} + & Ά → \MakeUppercase{Ά} + \end{tabular} + \end{quote} + + The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be + present in UPPERCASE even where it is redundant in lowercase (the hiatus can + also be marked by an accent or breathing on the first of two consecutive + vowels). The auto-hiatus feature works in LGR and TU font encodings only: + \begin{quote} + \newcommand*{\sample}{% + \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}} + \sample{} → \MakeUppercase{\sample} (\latinencoding) vs. + \ensuregreek{\sample{} → \MakeUppercase{\sample}} (\greekfontencoding) + \end{quote} + + With the old implementation of \cs{MakeUppercase}, the auto-hiatus + feature works with LICR macros but not Unicode literals. + The new implementation works with Unicode literals, too, but only if the text + language is Greek (i.e. not in this document). + \begin{quote} + \ensuregreek{% + \accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha} + $\mapsto$ \ensuregreek{\MakeUppercase{% + \accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}} + (LICR macros: OK with LGR or TU) + + \ensuregreek{ἀυπνία} $\mapsto$ + \ensuregreek{\MakeUppercase{ἀυπνία}} (literal characters: fails without Babel) + \end{quote} +\fi \section{Test and Examples} \subsection{Greek alphabet} -Greek letters via Latin transliteration (works only in LGR font encoding): - +Greek literal characters in Latin text (font encoding \latinencoding): \begin{quote} - \ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w} + α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω - \ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W} + Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω \end{quote} % -Greek letters via default macros in the font for Latin script -(here \latinencoding): - +Greek letters via default macros in Latin text (font encoding \latinencoding): +% \newcommand*{\greekAlphabetsample}{ \textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{} \textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{} @@ -309,6 +308,16 @@ Greek letters via default macros in the font for Latin script \greekAlphabetsample \end{quote} % +\ifdefined\UnicodeEncodingName +\else + Greek letters via Latin transliteration (works only in LGR font encoding): + \begin{quote} + \ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w} + + \ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W} + \end{quote} +\fi +% Archaic Greek letters and Greek punctuation \newcommand*{\archaicgreeksample}{ @@ -316,13 +325,14 @@ Archaic Greek letters and Greek punctuation \textkoppa \textKoppa{} \textqoppa \textQoppa{} \textsampi \textSampi{} - \textstigma \textvarstigma \textStigma{} + \textstigma + \textvarstigma % only in LGR + \textStigma{} \textanoteleia{} \texterotimatiko{} \textdexiakeraia{} \textaristerikeraia{} } - \begin{quote} \archaicgreeksample \end{quote} @@ -330,9 +340,8 @@ Archaic Greek letters and Greek punctuation Diacritics \begin{quote} - Short macros:% - \footnote{Composite diacritics require wrapping in - \texttt{\textbackslash ensuregreek}.} + Short macros:\footnote{ + Composite diacritics require wrapping in \cs{ensuregreek}.} \"{} \'{} \`{} \~{} \<{} \>{} \u{} \={} \ensuregreek{\"~{} \"'{} \"`{} \<~{} \<`{} \<'{} \>~{} \>'{} \>`{}} @@ -355,21 +364,23 @@ Diacritics \accpsiliperispomeni{} \accpsilioxia{} \accpsilivaria{} - % - Only in LGR: - \accinvertedbrevebelow{} % == \textsubarch{} - \accbrevebelow{} + \ifdefined\UnicodeEncodingName + \else + Only in LGR: + \accinvertedbrevebelow{} % == \textsubarch{} + \accbrevebelow{} + \fi \end{quote} \medskip\noindent -Accent macros can start with \verb|\a| instead of \verb|\| when the +Accent macros can start with ``\verb|\a|'' instead of ``\verb|\|'' when the short form is redefined, e.\,g. inside a \emph{tabbing} environment. This also works for the new-defined Dasia and Psili shortcuts: \begin{quote} \begin{tabbing} - COL1\quad \= COL2\quad \= COL3\quad \= COL4\quad \\ - Viele \> Gr\a"u\ss e + col 1\quad \= col 2\quad \= col 3\quad \= col 4\quad \\ + Viele \> Gr\a"u\ss e \> \greekscript \a<\textalpha{} \> \greekscript \a>\textomega \end{tabbing} @@ -384,36 +395,36 @@ used inside a word and \verb|\textfinalsigma| \textfinalsigma{} (or In LGR, the Latin letter \verb|s| and the command \verb|\textautosigma| print the ``normal'' sigma if followed by another letter and the final sigma if followed by space or punctuation. This is implemented via the font -ligature mechanism in LGR: -\ensuregreek{\textautosigma\textautosigma} (\greekfontencoding) vs. -\textautosigma{}\textautosigma{} (\latinencoding).% -\footnote{TODO: Fix \texttt{\textbackslash textautosigma} with Unicode fonts.} - - +ligature mechanism in LGR\footnote{ + TODO: Fix \cs{textautosigma} with Unicode fonts.}: +\begin{quote} + \ensuregreek{\textautosigma\textautosigma} (\greekfontencoding) vs. + \textautosigma{}\textautosigma{} (\latinencoding). +\end{quote} The upper case of both sigma variants is \verb|\textSigma|, the lower case -of \verb|\textSigma| is \verb|\textautosigma|. - -\smallskip\noindent -Test: Unicode literal and \verb|\text...| commands - -\newcommand{\sample}{σ\textsigma{} - ς\textvarsigma \textfinalsigma \textautosigma{} - ΣΣ \textSigma\textSigma{}} - -no change: \sample - -MakeUppercase: \MakeUppercase{\sample} - -MakeLowercase (\latinencoding): \MakeLowercase{\sample} - -MakeLowercase (\greekfontencoding): \ensuregreek{\MakeLowercase{\sample}} +of \cs{textSigma} is \cs{textautosigma}. +\medskip\noindent +\begin{samepage} +Test Unicode literal and \verb|\text...| commands: +\begin{quote} + \newcommand{\sample}{σ\textsigma{} + ς\textvarsigma \textfinalsigma \textautosigma{} + ΣΣ \textSigma\textSigma{}} + \begin{tabular}{ll} + no change: & \sample \\ + MakeUppercase: & \MakeUppercase{\sample} \\ + MakeLowercase (\latinencoding): & \MakeLowercase{\sample} \\ + MakeLowercase (\greekfontencoding): & \ensuregreek{\MakeLowercase{\sample}} + \end{tabular} +\end{quote} +\end{samepage} \subsection{Greek literal characters in non-Greek text} With the \emph{textalpha} package, \href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc} and input -encoding \texttt{utf8}, Greek Unicode characters can be used in text with +encoding \texttt{utf8}, Greek Unicode literals can be used in text with any font encoding. See Tables \ref{tab:greek-and-coptic} and \ref{tab:greek-extended}. @@ -482,8 +493,7 @@ Combined Diacritics work for pre-composed characters: ᾅ. Diacritics (except diaeresis) are dropped with MakeUppercase with LaTeX versions older than 2022/06 -For other versions, set the language of to-be-upcased Greek text with Babel. - +For other versions, set the language of to-be-upcased Greek text with Babel: μαΐστρος, δύο $\mapsto$ \MakeUppercase{μαΐστρος, δύο}. @@ -495,7 +505,7 @@ are two options to get Greek letters in PDF strings: LICR macros and literal Unicode input. \subsubsection{\textlambda\textomicron\textgamma\textomicron\textvarsigma{}, - λογος and \ensuregreek{logos}} + λογος, and \ensuregreek{logos}} The subsection title above uses: LICR macros, Unicode input and the LGR transliteration for the Greek word \ensuregreek{logos}. @@ -505,7 +515,13 @@ Latin transliteration remains Latin in the PDF metadata (sidebar table of contents in the PDF viewer) and with Xe/LuaTeX. \subsubsection{\greekalphabetsample} + \subsubsection{\greekAlphabetsample} + \subsubsection{\archaicgreeksample} +\ifdefined \UnicodeEncodingName + Archaic characters are missing in many fonts, including the ``Biolinum'' font + used in this document. +\fi. \end{document} diff --git a/language/greek/greek-fontenc/textalpha.sty b/language/greek/greek-fontenc/textalpha.sty index 7f09a4469d..ef70c8094a 100644 --- a/language/greek/greek-fontenc/textalpha.sty +++ b/language/greek/greek-fontenc/textalpha.sty @@ -3,7 +3,7 @@ % Greek symbols in text % ********************* % -% :Version: 2.4 (changelog_) +% :Version: 2.5 (changelog_) % % :Copyright: © 2010, 2023 Günter Milde % @@ -113,7 +113,7 @@ % :: \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{textalpha}[2023-08-15 2.4 macros for Greek letters in text] +\ProvidesPackage{textalpha}[2023-09-12 2.5 macros for Greek letters in text] % Options @@ -181,6 +181,8 @@ % Psili) are input as < and >. Provide the corresponding NFSS macro accents. % (Used below for LGR, TU, and PU, if these font encodings are defined):: +\providecommand*{\IfFormatAtLeastTF}[3]{#3} % new in 2020 + \newcommand{\textalpha@define@breathings}[1]{ \DeclareTextCommand{\<}{#1}{\accdasia} \DeclareTextCommand{\>}{#1}{\accpsili} @@ -192,8 +194,13 @@ \DeclareTextCompositeCommand{\<}{#1}{`}{\accdasiavaria} \DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni} + \IfFormatAtLeastTF{2022/06/01}{}{% else + \DeclareTextCompositeCommand{\<}{#1}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{#1}{^^9f}{\LGR@hiatus} + } + % Also define "mixed" composites (required due to the fix for -% ``\MakeUppercse`` below:: +% ``\MakeUppercase`` below:: % \MakeUppercse: \>~a, \<~a % \DeclareTextCompositeCommand{\accpsili}{#1}{~}{\accpsiliperispomeni} @@ -234,8 +241,6 @@ \ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines \input{tuenc-greek.def} \textalpha@define@breathings{\UnicodeEncodingName} - \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} \else \@ifl@aded{def}{lgrenc} {} @@ -248,11 +253,7 @@ % Add setup for breathings:: \@ifl@aded{def}{lgrenc} - {\textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} - } + {\textalpha@define@breathings{LGR}} {} % The package hyperref_ defines the PU font encoding and adds some @@ -385,15 +386,15 @@ \DeclareTextSymbolDefault{\textkappa}{LGR} \DeclareTextSymbolDefault{\textlambda}{LGR} \DeclareTextSymbolDefault{\textmu}{LGR} -\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) +\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) \DeclareTextSymbolDefault{\textnu}{LGR} \DeclareTextSymbolDefault{\textxi}{LGR} \DeclareTextSymbolDefault{\textomicron}{LGR} \DeclareTextSymbolDefault{\textpi}{LGR} \DeclareTextSymbolDefault{\textrho}{LGR} \DeclareTextSymbolDefault{\textsigma}{LGR} -\DeclareTextSymbolDefault{\textvarsigma}{LGR} -\DeclareTextSymbolDefault{\textfinalsigma}{LGR} % alias for \textvarsigma +\DeclareTextSymbolDefault{\textfinalsigma}{LGR} +\DeclareTextSymbolDefault{\textvarsigma}{LGR} % alias for \textfinalsigma \DeclareTextSymbolDefault{\textautosigma}{LGR} % char 115 in LGR \DeclareTextSymbolDefault{\texttau}{LGR} \DeclareTextSymbolDefault{\textupsilon}{LGR} @@ -486,6 +487,7 @@ \DeclareTextAccentDefault{\accdasia}{LGR} \DeclareTextAccentDefault{\accpsili}{LGR} \DeclareTextAccentDefault{\acctonos}{LGR} +\DeclareTextAccentDefault{\accoxia}{LGR} \DeclareTextAccentDefault{\accvaria}{LGR} \DeclareTextAccentDefault{\accperispomeni}{LGR} \DeclareTextAccentDefault{\accdialytika}{LGR} @@ -603,6 +605,7 @@ % 2.2.2 2023-03-17 Don't map active `;` to ``\textsemicolon`` in math mode. % 2.4 2023-08-16 Map character 00B5 MICRO SIGN to ``\textmicro``. % .. Fix upcasing of Greek letters with ``\<`` and ``\>``. +% 2.5 2023-09-12 Support the ``\accoxia`` alias. % ====== =========== ======================================================== % % diff --git a/language/greek/greek-fontenc/textalpha.sty.html b/language/greek/greek-fontenc/textalpha.sty.html index f3cd385494..8f8d046012 100644 --- a/language/greek/greek-fontenc/textalpha.sty.html +++ b/language/greek/greek-fontenc/textalpha.sty.html @@ -794,7 +794,7 @@ mstyle.mathscr, mi.mathscr { <p class="subtitle" id="greek-symbols-in-text">Greek symbols in text</p> <dl class="docinfo"> <dt class="version">Version<span class="colon">:</span></dt> -<dd class="version">2.4 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dd class="version">2.5 (<a class="reference internal" href="#changelog">changelog</a>)</dd> <dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2010, 2023 Günter Milde</dd> <dt class="licence">Licence<span class="colon">:</span></dt> @@ -916,7 +916,7 @@ in the same document (see <a class="reference external" href="test-tuenc-greek.t <section id="identification"> <h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3> <pre class="literal-block">\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{textalpha}[2023-08-15 2.4 macros for Greek letters in text]</pre> +\ProvidesPackage{textalpha}[2023-09-12 2.5 macros for Greek letters in text]</pre> </section> <section id="options"> <h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Options</a></h3> @@ -967,7 +967,9 @@ With XeTeX/LuaTeX and Unicode fonts, this option is ignored.</p> <p>In the Latin transliteration provided by LGR, breathing accents (Dasia and Psili) are input as < and >. Provide the corresponding NFSS macro accents. (Used below for LGR, TU, and PU, if these font encodings are defined):</p> -<pre class="literal-block">\newcommand{\textalpha@define@breathings}[1]{ +<pre class="literal-block">\providecommand*{\IfFormatAtLeastTF}[3]{#3} % new in 2020 + +\newcommand{\textalpha@define@breathings}[1]{ \DeclareTextCommand{\<}{#1}{\accdasia} \DeclareTextCommand{\>}{#1}{\accpsili} % Composite accents starting with the new-defined shortcuts: @@ -976,9 +978,14 @@ Psili) are input as < and >. Provide the corresponding NFSS macro accents. \DeclareTextCompositeCommand{\>}{#1}{~}{\accpsiliperispomeni} \DeclareTextCompositeCommand{\<}{#1}{'}{\accdasiaoxia} \DeclareTextCompositeCommand{\<}{#1}{`}{\accdasiavaria} - \DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni}</pre> + \DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni} + + \IfFormatAtLeastTF{2022/06/01}{}{% else + \DeclareTextCompositeCommand{\<}{#1}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{#1}{^^9f}{\LGR@hiatus} + }</pre> <p>Also define “mixed” composites (required due to the fix for -<span class="docutils literal">\MakeUppercse</span> below:</p> +<span class="docutils literal">\MakeUppercase</span> below:</p> <pre class="literal-block"> % \MakeUppercse: \>~a, \<~a % \DeclareTextCompositeCommand{\accpsili}{#1}{~}{\accpsiliperispomeni} % \DeclareTextCompositeCommand{\accdasia}{#1}{~}{\accdasiaperispomeni} @@ -1005,8 +1012,6 @@ macros:</p> <pre class="literal-block">\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines \input{tuenc-greek.def} \textalpha@define@breathings{\UnicodeEncodingName} - \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} \else \@ifl@aded{def}{lgrenc} {} @@ -1017,11 +1022,7 @@ macros:</p> (enables use of 8-bit TeX fonts and input via the Latin transliteration). Add setup for breathings:</p> <pre class="literal-block">\@ifl@aded{def}{lgrenc} - {\textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} - } + {\textalpha@define@breathings{LGR}} {}</pre> <p>The package <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding and adds some LICR commands for monotonic Greek (in punenc-greekbasick.def). @@ -1131,15 +1132,15 @@ would work also for cases like <span class="docutils literal"><span class="pre"> \DeclareTextSymbolDefault{\textkappa}{LGR} \DeclareTextSymbolDefault{\textlambda}{LGR} \DeclareTextSymbolDefault{\textmu}{LGR} -\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) +\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) \DeclareTextSymbolDefault{\textnu}{LGR} \DeclareTextSymbolDefault{\textxi}{LGR} \DeclareTextSymbolDefault{\textomicron}{LGR} \DeclareTextSymbolDefault{\textpi}{LGR} \DeclareTextSymbolDefault{\textrho}{LGR} \DeclareTextSymbolDefault{\textsigma}{LGR} -\DeclareTextSymbolDefault{\textvarsigma}{LGR} -\DeclareTextSymbolDefault{\textfinalsigma}{LGR} % alias for \textvarsigma +\DeclareTextSymbolDefault{\textfinalsigma}{LGR} +\DeclareTextSymbolDefault{\textvarsigma}{LGR} % alias for \textfinalsigma \DeclareTextSymbolDefault{\textautosigma}{LGR} % char 115 in LGR \DeclareTextSymbolDefault{\texttau}{LGR} \DeclareTextSymbolDefault{\textupsilon}{LGR} @@ -1216,6 +1217,7 @@ The variations have no syntactic meaning in Greek text.</p> <pre class="literal-block">\DeclareTextAccentDefault{\accdasia}{LGR} \DeclareTextAccentDefault{\accpsili}{LGR} \DeclareTextAccentDefault{\acctonos}{LGR} +\DeclareTextAccentDefault{\accoxia}{LGR} \DeclareTextAccentDefault{\accvaria}{LGR} \DeclareTextAccentDefault{\accperispomeni}{LGR} \DeclareTextAccentDefault{\accdialytika}{LGR} @@ -1384,6 +1386,10 @@ Don’t use <span class="docutils literal">\LastDeclaredEncoding</span>.</p></td <td></td> <td><p>Fix upcasing of Greek letters with <span class="docutils literal">\<</span> and <span class="docutils literal">\></span>.</p></td> </tr> +<tr><td><p>2.5</p></td> +<td><p>2023-09-12</p></td> +<td><p>Support the <span class="docutils literal">\accoxia</span> alias.</p></td> +</tr> </tbody> </table> <!-- References diff --git a/language/greek/greek-fontenc/tuenc-greek.def b/language/greek/greek-fontenc/tuenc-greek.def index 1a4c8875c5..b6c784df63 100644 --- a/language/greek/greek-fontenc/tuenc-greek.def +++ b/language/greek/greek-fontenc/tuenc-greek.def @@ -3,7 +3,7 @@ % Greek LICR definitions for XeTeX and LuaTeX % ******************************************* % -% :Version: 2.4 (changelog_) +% :Version: 2.5 (changelog_) % % :Copyright: © 2013 -- 2023 Günter Milde % @@ -51,9 +51,15 @@ % :: \ProvidesFile{tuenc-greek.def} - [2023-08-15 2.4 Greek LICRs for XeTeX and LuaTeX] + [2023-09-12 2.5 Greek LICRs for XeTeX and LuaTeX] +% Auxiliary command (modeled after definitions in ``tuenc.def``):: + +\providecommand*{\DeclareUnicodeCompositeCommand}[2]{% + \DeclareTextCompositeCommand{#1}{\UnicodeEncodingName}{#2} +} + % Greek Diacritics % ---------------- % @@ -165,117 +171,74 @@ % 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL \DeclareTextSymbol{\texterotimatiko}\UnicodeEncodingName{"003B} % use SEMICOLON, not 037E GREEK QUESTION MARK -\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS -\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS -\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά -\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA -\DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ -\DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή -\DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί -\DeclareUnicodeComposite{\'} {\textOmicron}{"038C} % Ό -\DeclareUnicodeComposite{\'} {\textUpsilon}{"038E} % Ύ -\DeclareUnicodeComposite{\'} {\textOmega} {"038F} % Ώ -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\acctonos} {\textAlpha} {"0386} % Ά -\DeclareUnicodeComposite{\acctonos} {\textEpsilon}{"0388} % Έ -\DeclareUnicodeComposite{\acctonos} {\textEta} {"0389} % Ή -\DeclareUnicodeComposite{\acctonos} {\textIota} {"038A} % Ί -\DeclareUnicodeComposite{\acctonos} {\textOmicron}{"038C} % Ό -\DeclareUnicodeComposite{\acctonos} {\textUpsilon}{"038E} % Ύ -\DeclareUnicodeComposite{\acctonos} {\textOmega} {"038F} % Ώ -\DeclareUnicodeComposite{\accdialytikatonos}{\textiota} {"0390} % ΐ - -\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α -\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β -\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ -\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ -\DeclareTextSymbol{\textEpsilon}\UnicodeEncodingName{"0395} % Ε -\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ -\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η -\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ -\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι -\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ -\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ -\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ -\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν -\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ -\DeclareTextSymbol{\textOmicron}\UnicodeEncodingName{"039F} % Ο -\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π -\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ -\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ -\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ -\DeclareTextSymbol{\textUpsilon}\UnicodeEncodingName{"03A5} % Υ -\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ -\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ -\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ -\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω - -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textUpsilon}{"03AB} % Ϋ -\DeclareUnicodeComposite{\'} {\textalpha} {"03AC} % ά -\DeclareUnicodeComposite{\'} {\textepsilon}{"03AD} % έ -\DeclareUnicodeComposite{\'} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textUpsilon}{"03AB} % Ϋ -\DeclareUnicodeComposite{\acctonos} {\textalpha} {"03AC} % ά -\DeclareUnicodeComposite{\acctonos} {\textepsilon}{"03AD} % έ -\DeclareUnicodeComposite{\acctonos} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί -\DeclareUnicodeComposite{\accdialytikatonos}{\textupsilon}{"03B0} % ΰ - -\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α -\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β -\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ -\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ -\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε -\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ -\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η -\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ -\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι -\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ -\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ -\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek -\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν -\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ -\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο -\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π -\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ -\DeclareTextSymbol{\textfinalsigma}\UnicodeEncodingName{"03C2} % ς % final sigma -\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ -\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ -\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ -\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ -\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ -\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ -\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω - -\DeclareUnicodeComposite{\"}{\textiota}{"03CA} % ϊ -\DeclareUnicodeComposite{\"}{\textupsilon}{"03CB} % ϋ -\DeclareUnicodeComposite{\'}{\textomicron}{"03CC} % ό -\DeclareUnicodeComposite{\'}{\textupsilon}{"03CD} % ύ -\DeclareUnicodeComposite{\'}{\textomega}{"03CE} % ώ -\DeclareUnicodeComposite{\accdialytika}{\textiota}{"03CA} % ϊ -\DeclareUnicodeComposite{\accdialytika}{\textupsilon}{"03CB} % ϋ -\DeclareUnicodeComposite{\acctonos}{\textomicron}{"03CC} % ό -\DeclareUnicodeComposite{\acctonos}{\textupsilon}{"03CD} % ύ -\DeclareUnicodeComposite{\acctonos}{\textomega}{"03CE} % ώ +\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS +\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS + +\DeclareTextSymbol{\textanoteleia }\UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA + +\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α +\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β +\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ +\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ +\DeclareTextSymbol{\textEpsilon }\UnicodeEncodingName{"0395} % Ε +\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ +\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η +\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ +\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι +\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ +\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ +\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ +\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν +\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ +\DeclareTextSymbol{\textOmicron }\UnicodeEncodingName{"039F} % Ο +\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π +\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ +\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ +\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ +\DeclareTextSymbol{\textUpsilon }\UnicodeEncodingName{"03A5} % Υ +\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ +\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ +\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ +\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω + +\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α +\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β +\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ +\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ +\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε +\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ +\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η +\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ +\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι +\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ +\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ +\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek +\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν +\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ +\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο +\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π +\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ +\DeclareTextSymbol{\textfinalsigma }\UnicodeEncodingName{"03C2} % ς % final sigma +\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ +\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ +\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ +\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ +\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ +\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ +\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω % Archaic letters (still used in Greek numerals):: -\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ -\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ -\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ -\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ -\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ -\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ -\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa -\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!] -\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ -\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ +\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ +\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ +\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ +\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ +\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ +\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ +\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa +\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!] +\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ +\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ % Symbol variants:: @@ -300,262 +263,84 @@ % Greek Extended % ~~~~~~~~~~~~~~ % -% We skip definitions for characters "... WITH OXIA", because they would -% overwrite the definitions for "... WITH TONOS" in the `Greek and Coptic` -% block. -% +% spacing diacritics +% """""""""""""""""" % :: -\DeclareUnicodeComposite{\accpsili }{\textalpha}{"1F00} % ἀ -\DeclareUnicodeComposite{\accdasia }{\textalpha}{"1F01} % ἁ -\DeclareUnicodeComposite{\accpsilivaria }{\textalpha}{"1F02} % ἂ -\DeclareUnicodeComposite{\accdasiavaria }{\textalpha}{"1F03} % ἃ -\DeclareUnicodeComposite{\accpsilioxia }{\textalpha}{"1F04} % ἄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textalpha}{"1F05} % ἅ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textalpha}{"1F06} % ἆ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textalpha}{"1F07} % ἇ -\DeclareUnicodeComposite{\accpsili }{\textAlpha}{"1F08} % Ἀ -\DeclareUnicodeComposite{\accdasia }{\textAlpha}{"1F09} % Ἁ -\DeclareUnicodeComposite{\accpsilivaria }{\textAlpha}{"1F0A} % Ἂ -\DeclareUnicodeComposite{\accdasiavaria }{\textAlpha}{"1F0B} % Ἃ -\DeclareUnicodeComposite{\accpsilioxia }{\textAlpha}{"1F0C} % Ἄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textAlpha}{"1F0D} % Ἅ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textAlpha}{"1F0E} % Ἆ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textAlpha}{"1F0F} % Ἇ - -\DeclareUnicodeComposite{\accpsili }{\textepsilon}{"1F10} % ἐ -\DeclareUnicodeComposite{\accdasia }{\textepsilon}{"1F11} % ἑ -\DeclareUnicodeComposite{\accpsilivaria }{\textepsilon}{"1F12} % ἒ -\DeclareUnicodeComposite{\accdasiavaria }{\textepsilon}{"1F13} % ἓ -\DeclareUnicodeComposite{\accpsilioxia }{\textepsilon}{"1F14} % ἔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textepsilon}{"1F15} % ἕ -\DeclareUnicodeComposite{\accpsili }{\textEpsilon}{"1F18} % Ἐ -\DeclareUnicodeComposite{\accdasia }{\textEpsilon}{"1F19} % Ἑ -\DeclareUnicodeComposite{\accpsilivaria }{\textEpsilon}{"1F1A} % Ἒ -\DeclareUnicodeComposite{\accdasiavaria }{\textEpsilon}{"1F1B} % Ἓ -\DeclareUnicodeComposite{\accpsilioxia }{\textEpsilon}{"1F1C} % Ἔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textEpsilon}{"1F1D} % Ἕ - -\DeclareUnicodeComposite{\accpsili }{\texteta}{"1F20} % ἠ -\DeclareUnicodeComposite{\accdasia }{\texteta}{"1F21} % ἡ -\DeclareUnicodeComposite{\accpsilivaria }{\texteta}{"1F22} % ἢ -\DeclareUnicodeComposite{\accdasiavaria }{\texteta}{"1F23} % ἣ -\DeclareUnicodeComposite{\accpsilioxia }{\texteta}{"1F24} % ἤ -\DeclareUnicodeComposite{\accdasiaoxia }{\texteta}{"1F25} % ἥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\texteta}{"1F26} % ἦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\texteta}{"1F27} % ἧ -\DeclareUnicodeComposite{\accpsili }{\textEta}{"1F28} % Ἠ -\DeclareUnicodeComposite{\accdasia }{\textEta}{"1F29} % Ἡ -\DeclareUnicodeComposite{\accpsilivaria }{\textEta}{"1F2A} % Ἢ -\DeclareUnicodeComposite{\accdasiavaria }{\textEta}{"1F2B} % Ἣ -\DeclareUnicodeComposite{\accpsilioxia }{\textEta}{"1F2C} % Ἤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textEta}{"1F2D} % Ἥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textEta}{"1F2E} % Ἦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textEta}{"1F2F} % Ἧ - -\DeclareUnicodeComposite{\accpsili }{\textiota}{"1F30} % ἰ -\DeclareUnicodeComposite{\accdasia }{\textiota}{"1F31} % ἱ -\DeclareUnicodeComposite{\accpsilivaria }{\textiota}{"1F32} % ἲ -\DeclareUnicodeComposite{\accdasiavaria }{\textiota}{"1F33} % ἳ -\DeclareUnicodeComposite{\accpsilioxia }{\textiota}{"1F34} % ἴ -\DeclareUnicodeComposite{\accdasiaoxia }{\textiota}{"1F35} % ἵ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textiota}{"1F36} % ἶ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textiota}{"1F37} % ἷ -\DeclareUnicodeComposite{\accpsili }{\textIota}{"1F38} % Ἰ -\DeclareUnicodeComposite{\accdasia }{\textIota}{"1F39} % Ἱ -\DeclareUnicodeComposite{\accpsilivaria }{\textIota}{"1F3A} % Ἲ -\DeclareUnicodeComposite{\accdasiavaria }{\textIota}{"1F3B} % Ἳ -\DeclareUnicodeComposite{\accpsilioxia }{\textIota}{"1F3C} % Ἴ -\DeclareUnicodeComposite{\accdasiaoxia }{\textIota}{"1F3D} % Ἵ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textIota}{"1F3E} % Ἶ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textIota}{"1F3F} % Ἷ - -\DeclareUnicodeComposite{\accpsili }{\textomicron}{"1F40} % ὀ -\DeclareUnicodeComposite{\accdasia }{\textomicron}{"1F41} % ὁ -\DeclareUnicodeComposite{\accpsilivaria }{\textomicron}{"1F42} % ὂ -\DeclareUnicodeComposite{\accdasiavaria }{\textomicron}{"1F43} % ὃ -\DeclareUnicodeComposite{\accpsilioxia }{\textomicron}{"1F44} % ὄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textomicron}{"1F45} % ὅ -\DeclareUnicodeComposite{\accpsili }{\textOmicron}{"1F48} % Ὀ -\DeclareUnicodeComposite{\accdasia }{\textOmicron}{"1F49} % Ὁ -\DeclareUnicodeComposite{\accpsilivaria }{\textOmicron}{"1F4A} % Ὂ -\DeclareUnicodeComposite{\accdasiavaria }{\textOmicron}{"1F4B} % Ὃ -\DeclareUnicodeComposite{\accpsilioxia }{\textOmicron}{"1F4C} % Ὄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textOmicron}{"1F4D} % Ὅ - -\DeclareUnicodeComposite{\accpsili }{\textupsilon}{"1F50} % ὐ -\DeclareUnicodeComposite{\accdasia }{\textupsilon}{"1F51} % ὑ -\DeclareUnicodeComposite{\accpsilivaria }{\textupsilon}{"1F52} % ὒ -\DeclareUnicodeComposite{\accdasiavaria }{\textupsilon}{"1F53} % ὓ -\DeclareUnicodeComposite{\accpsilioxia }{\textupsilon}{"1F54} % ὔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textupsilon}{"1F55} % ὕ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textupsilon}{"1F56} % ὖ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textupsilon}{"1F57} % ὗ -\DeclareUnicodeComposite{\accdasia }{\textUpsilon}{"1F59} % Ὑ -\DeclareUnicodeComposite{\accdasiavaria }{\textUpsilon}{"1F5B} % Ὓ -\DeclareUnicodeComposite{\accdasiaoxia }{\textUpsilon}{"1F5D} % Ὕ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textUpsilon}{"1F5F} % Ὗ - -\DeclareUnicodeComposite{\accpsili }{\textomega}{"1F60} % ὠ -\DeclareUnicodeComposite{\accdasia }{\textomega}{"1F61} % ὡ -\DeclareUnicodeComposite{\accpsilivaria }{\textomega}{"1F62} % ὢ -\DeclareUnicodeComposite{\accdasiavaria }{\textomega}{"1F63} % ὣ -\DeclareUnicodeComposite{\accpsilioxia }{\textomega}{"1F64} % ὤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textomega}{"1F65} % ὥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textomega}{"1F66} % ὦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textomega}{"1F67} % ὧ -\DeclareUnicodeComposite{\accpsili }{\textOmega}{"1F68} % Ὠ -\DeclareUnicodeComposite{\accdasia }{\textOmega}{"1F69} % Ὡ -\DeclareUnicodeComposite{\accpsilivaria }{\textOmega}{"1F6A} % Ὢ -\DeclareUnicodeComposite{\accdasiavaria }{\textOmega}{"1F6B} % Ὣ -\DeclareUnicodeComposite{\accpsilioxia }{\textOmega}{"1F6C} % Ὤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textOmega}{"1F6D} % Ὥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textOmega}{"1F6E} % Ὦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textOmega}{"1F6F} % Ὧ - -\DeclareUnicodeComposite{\`} {\textalpha} {"1F70} % ὰ -\DeclareUnicodeComposite{\`} {\textepsilon}{"1F72} % ὲ -\DeclareUnicodeComposite{\`} {\texteta} {"1F74} % ὴ -\DeclareUnicodeComposite{\`} {\textiota} {"1F76} % ὶ -\DeclareUnicodeComposite{\`} {\textomicron}{"1F78} % ὸ -\DeclareUnicodeComposite{\`} {\textupsilon}{"1F7A} % ὺ -\DeclareUnicodeComposite{\`} {\textomega} {"1F7C} % ὼ -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\accvaria} {\textalpha} {"1F70} % ὰ -\DeclareUnicodeComposite{\accvaria} {\textepsilon}{"1F72} % ὲ -\DeclareUnicodeComposite{\accvaria} {\texteta} {"1F74} % ὴ -\DeclareUnicodeComposite{\accvaria} {\textiota} {"1F76} % ὶ -\DeclareUnicodeComposite{\accvaria} {\textomicron}{"1F78} % ὸ -\DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ -\DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ - -% Skipping pre-composed characters with mute iota (misleadingly named -% … WITH PROSGEGRAMMENI): letter + ``\ypogegrammeni`` is normalized -% to the pre-composed character. :: - -\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ -\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ -% ᾲ -% ᾳ -% ᾴ -\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ -\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ -% ᾷ -\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ -\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ -\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ -\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ -% ᾼ -\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ +% 1FBD GREEK KORONIS -> psili % ᾽ \DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι \DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ \DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ \DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ -% ῂ -% ῃ -% ῄ -\DeclareUnicodeComposite{\accperispomeni} {\texteta} {"1FC6} % ῆ -\DeclareUnicodeComposite{\~} {\texteta} {"1FC6} % ῆ -% ῇ -\DeclareUnicodeComposite{\`} {\textEpsilon}{"1FC8} % Ὲ -\DeclareUnicodeComposite{\accvaria} {\textEpsilon}{"1FC8} % Ὲ -\DeclareUnicodeComposite{\`} {\textEta} {"1FCA} % Ὴ -\DeclareUnicodeComposite{\accvaria} {\textEta} {"1FCA} % Ὴ -% ῌ + \DeclareUnicodeComposite{\accpsilivaria} {} {"1FCD} % ῍ \DeclareUnicodeComposite{\accpsilioxia} {} {"1FCE} % ῎ \DeclareUnicodeComposite{\accpsiliperispomeni} {} {"1FCF} % ῏ -\DeclareUnicodeComposite{\u} {\textiota} {"1FD0} % ῐ -\DeclareUnicodeComposite{\=} {\textiota} {"1FD1} % ῑ -\DeclareUnicodeComposite{\accdialytikavaria} {\textiota} {"1FD2} % ῒ -\DeclareUnicodeComposite{\accdialytikaoxia} {\textiota} {"1FD3} % ΐ -\DeclareUnicodeComposite{\accperispomeni} {\textiota} {"1FD6} % ῖ -\DeclareUnicodeComposite{\~} {\textiota} {"1FD6} % ῖ -\DeclareUnicodeComposite{\~} {ι} {"1FD6} % ῖ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textiota} {"1FD7} % ῗ -\DeclareUnicodeComposite{\u} {\textIota} {"1FD8} % Ῐ -\DeclareUnicodeComposite{\=} {\textIota} {"1FD9} % Ῑ -\DeclareUnicodeComposite{\`} {\textIota} {"1FDA} % Ὶ -\DeclareUnicodeComposite{\accvaria} {\textIota} {"1FDA} % Ὶ \DeclareUnicodeComposite{\accdasiavaria} {} {"1FDD} % ῝ \DeclareUnicodeComposite{\accdasiaoxia} {} {"1FDE} % ῞ \DeclareUnicodeComposite{\accdasiaperispomeni} {} {"1FDF} % ῟ -\DeclareUnicodeComposite{\u} {\textupsilon}{"1FE0} % ῠ -\DeclareUnicodeComposite{\=} {\textupsilon}{"1FE1} % ῡ -\DeclareUnicodeComposite{\accdialytikavaria} {\textupsilon}{"1FE2} % ῢ -\DeclareUnicodeComposite{\accdialytikaoxia} {\textupsilon}{"1FE3} % ΰ -\DeclareUnicodeComposite{\accpsili} {\textrho} {"1FE4} % ῤ -\DeclareUnicodeComposite{\accdasia} {\textrho} {"1FE5} % ῥ -\DeclareUnicodeComposite{\~} {\textupsilon}{"1FE6} % ῦ -\DeclareUnicodeComposite{\accperispomeni} {\textupsilon}{"1FE6} % ῦ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textupsilon}{"1FE7} % ῧ -\DeclareUnicodeComposite{\u} {\textUpsilon}{"1FE8} % Ῠ -\DeclareUnicodeComposite{\=} {\textUpsilon}{"1FE9} % Ῡ -\DeclareUnicodeComposite{\`} {\textUpsilon}{"1FEA} % Ὺ -\DeclareUnicodeComposite{\accvaria} {\textUpsilon}{"1FEA} % Ὺ -% Ύ -\DeclareUnicodeComposite{\accdasia} {\textRho} {"1FEC} % Ῥ \DeclareUnicodeComposite{\accdialytikavaria} {} {"1FED} % ῭ \DeclareUnicodeComposite{\accdialytikaoxia} {} {"1FEE} % ΅ % ` - -% ῲ -% ῳ -% ῴ -\DeclareUnicodeComposite{\accperispomeni} {\textomega} {"1FF6} % ῶ -\DeclareUnicodeComposite{\~} {\textomega} {"1FF6} % ῶ -% ῷ -\DeclareUnicodeComposite{\`} {\textOmicron}{"1FF8} % Ὸ -\DeclareUnicodeComposite{\accvaria} {\textOmicron}{"1FF8} % Ὸ -\DeclareUnicodeComposite{\`} {\textOmega} {"1FFA} % Ὼ -\DeclareUnicodeComposite{\accvaria} {\textOmega} {"1FFA} % Ὼ -% ῼ \DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´ \DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾ + % Perispomeni and tilde accent % """""""""""""""""""""""""""" % -% XeTeX and LuaTeX (since 2022) convert letters followed by combining +% XeTeX normalizes letters followed by combining % characters to a pre-composed character, if there is an equivalent -% pre-composed character. +% pre-composed character (Unicode normalization NFC). +% With LuaTeX NFC is provided by the \emph{Harfbuzz} renderer +% (select with the ``[Renderer=Harfbuzz]`` option of the `fontspec`_ +% font selection commands or the `uninormalize`_ package. % % The ``\accperispomeni`` macro expands to COMBINING GREEK PERISPOMENI % while the standard short accent macro ``\~`` uses the COMBINING TILDE. % Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered % equivalent to the pre-composed <Greek letter> WITH PERISPOMENI. -% Composite definitions for ``\~`` select the pre-composed character -% -% TODO: don't use literal Unicode characters if ``\inputencodingname`` -% is defined and not "lutf8" to prevent errors with legacy 8-bit documents -% read with "luainputenc.sty" (cf. test-licr-input.tex). -% :: - -\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ -\DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ -\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ -\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ -\DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ -\DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ - -% If there is no pre-composed Capital letter with perispomeni, -% we want no perispomeni with ``\MakeUppercase``. -% (These definitions may be redundant with the new (2022/06) -% implementation of ``\MakeUppercase``.) :: - -\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α -\DeclareUnicodeComposite{\~}{Α} {"0391} % Α -\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η -\DeclareUnicodeComposite{\~}{Η} {"0397} % Η -\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι -\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι -\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ -\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ -\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω -\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω +% Therefore, we define composite definitions for ``\~``:: + +\DeclareUnicodeComposite{\~}{\textalpha }{"1FB6} % ᾶ +\DeclareUnicodeComposite{\~}{\texteta }{"1FC6} % ῆ +\DeclareUnicodeComposite{\~}{\textiota }{"1FD6} % ῖ +\DeclareUnicodeComposite{\~}{\textupsilon}{"1FE6} % ῦ +\DeclareUnicodeComposite{\~}{\textomega }{"1FF6} % ῶ + +% There are no pre-composed capital letters with perispomeni +% (the perispomeni is not used on initial letters and normally +% dropped in UPPERCASE_). +% However, it is kept with the pre-2022 ``\MakeUppercase`` and in documents +% that don't load `babel-greek`_ (or an old babel-greek or use the +% modifier ``local-MakeUppercase-fixes``):: + +\DeclareUnicodeCompositeCommand{\~}{\textAlpha }{\accperispomeni\textAlpha} +\DeclareUnicodeCompositeCommand{\~}{\textEta }{\accperispomeni\textEta} +\DeclareUnicodeCompositeCommand{\~}{\textIota }{\accperispomeni\textIota} +\DeclareUnicodeCompositeCommand{\~}{\textUpsilon}{\accperispomeni\textUpsilon} +\DeclareUnicodeCompositeCommand{\~}{\textOmega }{\accperispomeni\textOmega} + +% Using literal Unicode chars leads to errors in LuaTeX's 8-bit compatibility +% mode. OTOH, composite definitions do a literal check, so we cannot use +% a replacement:: + +\@ifl@aded{sty}{luainputenc}{}{% else + \DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ + \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ + \DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ + \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ + \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ + + \DeclareUnicodeCompositeCommand{\~}{Α}{\accperispomeni Α} + \DeclareUnicodeCompositeCommand{\~}{Η}{\accperispomeni Η} + \DeclareUnicodeCompositeCommand{\~}{Ι}{\accperispomeni Ι} + \DeclareUnicodeCompositeCommand{\~}{Υ}{\accperispomeni Υ} + \DeclareUnicodeCompositeCommand{\~}{Ω}{\accperispomeni Ω} +} % Letterlike Symbols @@ -582,44 +367,60 @@ % % Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE. % -% Babel-Greek indroduces macros for "capital accents" in 1.13.3. +% Babel-Greek introduces macros for "capital accents" in release 1.13.3. % Here, we add definitions to drop diacritics in uppercase:: -\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 -\IfFormatAtLeastTF{2022/06/01}{ - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textAlpha }{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEpsilon}{\LGR@E@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEta }{Η} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textIota }{Ι} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmicron}{Ο} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textUpsilon}{Υ} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmega }{Ω} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Α}{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ε}{\LGR@E@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Η}{Η} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ι}{Ι} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ο}{Ο} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Υ}{Υ} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ω}{Ω} - - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textAlpha }{Α} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEpsilon}{Ε} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEta }{Η} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textIota }{Ι} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmicron}{Ο} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textUpsilon}{Υ} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmega }{Ω} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Α}{Α} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ε}{Ε} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Η}{Η} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ι}{Ι} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ο}{Ο} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Υ}{Υ} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω} - - \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Α}{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Ε}{\LGR@E@hiatus} +\DeclareUnicodeCompositeCommand{\accACUTE}{\textAlpha }{\LGR@A@hiatus} +\DeclareUnicodeCompositeCommand{\accACUTE}{\textEpsilon}{\LGR@E@hiatus} +\DeclareUnicodeComposite{\accACUTE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accACUTE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accACUTE}{\textOmicron}{"039F} % Ο +\DeclareUnicodeComposite{\accACUTE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accACUTE}{\textOmega }{"03A9} % Ω + +\DeclareUnicodeComposite{\accGRAVE}{\textAlpha }{"0391} % Α +\DeclareUnicodeComposite{\accGRAVE}{\textEpsilon}{"0395} % Ε +\DeclareUnicodeComposite{\accGRAVE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accGRAVE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accGRAVE}{\textOmicron}{"039F} % Ο +\DeclareUnicodeComposite{\accGRAVE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accGRAVE}{\textOmega }{"03A9} % Ω + +\DeclareUnicodeComposite{\accTILDE}{\textAlpha }{"0391} % Α +\DeclareUnicodeComposite{\accTILDE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accTILDE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accTILDE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accTILDE}{\textOmega }{"03A9} % Ω + +% Repeat with literal Unicode as base character +% (fails in LuaTeX's 8-bit compatibility mode):: + +\@ifl@aded{sty}{luainputenc}{}{% else + \DeclareUnicodeCompositeCommand{\accACUTE}{Α}{\LGR@A@hiatus} + \DeclareUnicodeCompositeCommand{\accACUTE}{Ε}{\LGR@E@hiatus} + \DeclareUnicodeComposite{\accACUTE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accACUTE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accACUTE}{Ο}{"039F} % Ο + \DeclareUnicodeComposite{\accACUTE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accACUTE}{Ω}{"03A9} % Ω + + \DeclareUnicodeComposite{\accGRAVE}{Α}{"0391} % Α + \DeclareUnicodeComposite{\accGRAVE}{Ε}{"0395} % Ε + \DeclareUnicodeComposite{\accGRAVE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accGRAVE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accGRAVE}{Ο}{"039F} % Ο + \DeclareUnicodeComposite{\accGRAVE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accGRAVE}{Ω}{"03A9} % Ω + + \DeclareUnicodeComposite{\accTILDE}{Α}{"0391} % Α + \DeclareUnicodeComposite{\accTILDE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accTILDE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accTILDE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accTILDE}{Ω}{"03A9} % Ω + + \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Α}{\LGR@A@hiatus} + \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Ε}{\LGR@E@hiatus} +} % The new (2022) implementation of ``\MakeUppercase`` drops accents from % literal Unicode input (if the text language is set to Greek with Babel). @@ -628,6 +429,8 @@ % ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by % Apostolos Syropoulos:: +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 +\IfFormatAtLeastTF{2022/06/01}{ }{% else \global\lccode"0370="0371 \global\uccode"0370="0370 \global\lccode"0371="0371 \global\uccode"0371="0370 @@ -1013,6 +816,10 @@ % 2.2.1 2023-03-08 Documentation update. % 2.4 2023-08-15 Fix behaviour of composite diacritics. % .. Composite commands for "captital" macros. +% 2.5 2023-09-12 Drop composite definitions duplicating the Unicode +% NFC transformation. +% .. Skip definitions requiring literal UTF8 chars in +% LuaTeX's 8-bit compatibility mode. % ====== =========== ======================================================== % % @@ -1027,6 +834,7 @@ % .. _grnumalt: https://ctan.org/pkg/grnumalt % .. _inputenc: https://ctan.org/pkg/inputenc % .. _textalpha: textalpha.sty.html +% .. _uninormalize: https://ctan.org/pkg/uninormalize % .. _xgreek: https://ctan.org/pkg/xgreek % .. _xunicode: https://ctan.org/pkg/xunicode % diff --git a/language/greek/greek-fontenc/tuenc-greek.def.html b/language/greek/greek-fontenc/tuenc-greek.def.html index 7a5fab007c..daa868df0b 100644 --- a/language/greek/greek-fontenc/tuenc-greek.def.html +++ b/language/greek/greek-fontenc/tuenc-greek.def.html @@ -794,7 +794,7 @@ mstyle.mathscr, mi.mathscr { <p class="subtitle" id="greek-licr-definitions-for-xetex-and-luatex">Greek LICR definitions for XeTeX and LuaTeX</p> <dl class="docinfo"> <dt class="version">Version<span class="colon">:</span></dt> -<dd class="version">2.4 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dd class="version">2.5 (<a class="reference internal" href="#changelog">changelog</a>)</dd> <dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2013 – 2023 Günter Milde</dd> <dt class="licence">Licence<span class="colon">:</span></dt> @@ -827,21 +827,22 @@ Used by <a class="reference external" href="https://ctan.org/pkg/babel-greek">ba <li><p><a class="reference internal" href="#greek-and-coptic" id="toc-entry-11">Greek and Coptic</a></p></li> <li><p><a class="reference internal" href="#greek-extended" id="toc-entry-12">Greek Extended</a></p> <ul> -<li><p><a class="reference internal" href="#perispomeni-and-tilde-accent" id="toc-entry-13">Perispomeni and tilde accent</a></p></li> +<li><p><a class="reference internal" href="#spacing-diacritics" id="toc-entry-13">spacing diacritics</a></p></li> +<li><p><a class="reference internal" href="#perispomeni-and-tilde-accent" id="toc-entry-14">Perispomeni and tilde accent</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-14">Letterlike Symbols</a></p></li> -<li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-15">Ancient Greek Numbers</a></p></li> +<li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-15">Letterlike Symbols</a></p></li> +<li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-16">Ancient Greek Numbers</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#uppercase" id="toc-entry-16">UPPERCASE</a></p> +<li><p><a class="reference internal" href="#uppercase" id="toc-entry-17">UPPERCASE</a></p> <ul> -<li><p><a class="reference internal" href="#uclclist" id="toc-entry-17">uclclist</a></p></li> +<li><p><a class="reference internal" href="#uclclist" id="toc-entry-18">uclclist</a></p></li> </ul> </li> </ul> </li> -<li><p><a class="reference internal" href="#changelog" id="toc-entry-18">Changelog</a></p></li> +<li><p><a class="reference internal" href="#changelog" id="toc-entry-19">Changelog</a></p></li> </ul> </nav> <section id="motivation"> @@ -865,7 +866,11 @@ usage examples.</p> <section id="identification"> <h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Identification</a></h3> <pre class="literal-block">\ProvidesFile{tuenc-greek.def} - [2023-08-15 2.4 Greek LICRs for XeTeX and LuaTeX]</pre> + [2023-09-12 2.5 Greek LICRs for XeTeX and LuaTeX]</pre> +<p>Auxiliary command (modeled after definitions in <span class="docutils literal">tuenc.def</span>):</p> +<pre class="literal-block">\providecommand*{\DeclareUnicodeCompositeCommand}[2]{% + \DeclareTextCompositeCommand{#1}{\UnicodeEncodingName}{#2} +}</pre> </section> <section id="greek-diacritics"> <h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Greek Diacritics</a></h3> @@ -950,115 +955,72 @@ character, discarded in favour of COMBINING COMMA ABOVE.</p> % 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL \DeclareTextSymbol{\texterotimatiko}\UnicodeEncodingName{"003B} % use SEMICOLON, not 037E GREEK QUESTION MARK -\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS -\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS -\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά -\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA -\DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ -\DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή -\DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί -\DeclareUnicodeComposite{\'} {\textOmicron}{"038C} % Ό -\DeclareUnicodeComposite{\'} {\textUpsilon}{"038E} % Ύ -\DeclareUnicodeComposite{\'} {\textOmega} {"038F} % Ώ -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\acctonos} {\textAlpha} {"0386} % Ά -\DeclareUnicodeComposite{\acctonos} {\textEpsilon}{"0388} % Έ -\DeclareUnicodeComposite{\acctonos} {\textEta} {"0389} % Ή -\DeclareUnicodeComposite{\acctonos} {\textIota} {"038A} % Ί -\DeclareUnicodeComposite{\acctonos} {\textOmicron}{"038C} % Ό -\DeclareUnicodeComposite{\acctonos} {\textUpsilon}{"038E} % Ύ -\DeclareUnicodeComposite{\acctonos} {\textOmega} {"038F} % Ώ -\DeclareUnicodeComposite{\accdialytikatonos}{\textiota} {"0390} % ΐ - -\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α -\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β -\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ -\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ -\DeclareTextSymbol{\textEpsilon}\UnicodeEncodingName{"0395} % Ε -\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ -\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η -\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ -\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι -\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ -\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ -\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ -\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν -\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ -\DeclareTextSymbol{\textOmicron}\UnicodeEncodingName{"039F} % Ο -\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π -\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ -\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ -\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ -\DeclareTextSymbol{\textUpsilon}\UnicodeEncodingName{"03A5} % Υ -\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ -\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ -\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ -\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω - -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textUpsilon}{"03AB} % Ϋ -\DeclareUnicodeComposite{\'} {\textalpha} {"03AC} % ά -\DeclareUnicodeComposite{\'} {\textepsilon}{"03AD} % έ -\DeclareUnicodeComposite{\'} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textUpsilon}{"03AB} % Ϋ -\DeclareUnicodeComposite{\acctonos} {\textalpha} {"03AC} % ά -\DeclareUnicodeComposite{\acctonos} {\textepsilon}{"03AD} % έ -\DeclareUnicodeComposite{\acctonos} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί -\DeclareUnicodeComposite{\accdialytikatonos}{\textupsilon}{"03B0} % ΰ - -\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α -\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β -\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ -\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ -\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε -\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ -\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η -\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ -\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι -\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ -\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ -\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek -\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν -\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ -\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο -\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π -\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ -\DeclareTextSymbol{\textfinalsigma}\UnicodeEncodingName{"03C2} % ς % final sigma -\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ -\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ -\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ -\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ -\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ -\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ -\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω - -\DeclareUnicodeComposite{\"}{\textiota}{"03CA} % ϊ -\DeclareUnicodeComposite{\"}{\textupsilon}{"03CB} % ϋ -\DeclareUnicodeComposite{\'}{\textomicron}{"03CC} % ό -\DeclareUnicodeComposite{\'}{\textupsilon}{"03CD} % ύ -\DeclareUnicodeComposite{\'}{\textomega}{"03CE} % ώ -\DeclareUnicodeComposite{\accdialytika}{\textiota}{"03CA} % ϊ -\DeclareUnicodeComposite{\accdialytika}{\textupsilon}{"03CB} % ϋ -\DeclareUnicodeComposite{\acctonos}{\textomicron}{"03CC} % ό -\DeclareUnicodeComposite{\acctonos}{\textupsilon}{"03CD} % ύ -\DeclareUnicodeComposite{\acctonos}{\textomega}{"03CE} % ώ</pre> +\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS +\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS + +\DeclareTextSymbol{\textanoteleia }\UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA + +\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α +\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β +\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ +\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ +\DeclareTextSymbol{\textEpsilon }\UnicodeEncodingName{"0395} % Ε +\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ +\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η +\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ +\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι +\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ +\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ +\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ +\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν +\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ +\DeclareTextSymbol{\textOmicron }\UnicodeEncodingName{"039F} % Ο +\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π +\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ +\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ +\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ +\DeclareTextSymbol{\textUpsilon }\UnicodeEncodingName{"03A5} % Υ +\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ +\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ +\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ +\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω + +\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α +\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β +\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ +\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ +\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε +\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ +\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η +\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ +\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι +\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ +\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ +\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek +\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν +\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ +\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο +\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π +\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ +\DeclareTextSymbol{\textfinalsigma }\UnicodeEncodingName{"03C2} % ς % final sigma +\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ +\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ +\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ +\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ +\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ +\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ +\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω</pre> <p>Archaic letters (still used in Greek numerals):</p> -<pre class="literal-block">\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ -\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ -\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ -\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ -\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ -\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ -\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa -\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!] -\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ -\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ</pre> +<pre class="literal-block">\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ +\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ +\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ +\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ +\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ +\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ +\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa +\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!] +\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ +\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ</pre> <p>Symbol variants:</p> <pre class="literal-block">\DeclareTextSymbol{\textbetasymbol }\UnicodeEncodingName{"03D0} % ϐ \DeclareTextSymbol{\textkappasymbol }\UnicodeEncodingName{"03F0} % ϰ @@ -1077,257 +1039,82 @@ TODO: Fix implementation of autosigma for TU:</p> </section> <section id="greek-extended"> <h4><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Greek Extended</a></h4> -<p>We skip definitions for characters “… WITH OXIA”, because they would -overwrite the definitions for “… WITH TONOS” in the <cite>Greek and Coptic</cite> -block.</p> -<pre class="literal-block">\DeclareUnicodeComposite{\accpsili }{\textalpha}{"1F00} % ἀ -\DeclareUnicodeComposite{\accdasia }{\textalpha}{"1F01} % ἁ -\DeclareUnicodeComposite{\accpsilivaria }{\textalpha}{"1F02} % ἂ -\DeclareUnicodeComposite{\accdasiavaria }{\textalpha}{"1F03} % ἃ -\DeclareUnicodeComposite{\accpsilioxia }{\textalpha}{"1F04} % ἄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textalpha}{"1F05} % ἅ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textalpha}{"1F06} % ἆ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textalpha}{"1F07} % ἇ -\DeclareUnicodeComposite{\accpsili }{\textAlpha}{"1F08} % Ἀ -\DeclareUnicodeComposite{\accdasia }{\textAlpha}{"1F09} % Ἁ -\DeclareUnicodeComposite{\accpsilivaria }{\textAlpha}{"1F0A} % Ἂ -\DeclareUnicodeComposite{\accdasiavaria }{\textAlpha}{"1F0B} % Ἃ -\DeclareUnicodeComposite{\accpsilioxia }{\textAlpha}{"1F0C} % Ἄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textAlpha}{"1F0D} % Ἅ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textAlpha}{"1F0E} % Ἆ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textAlpha}{"1F0F} % Ἇ - -\DeclareUnicodeComposite{\accpsili }{\textepsilon}{"1F10} % ἐ -\DeclareUnicodeComposite{\accdasia }{\textepsilon}{"1F11} % ἑ -\DeclareUnicodeComposite{\accpsilivaria }{\textepsilon}{"1F12} % ἒ -\DeclareUnicodeComposite{\accdasiavaria }{\textepsilon}{"1F13} % ἓ -\DeclareUnicodeComposite{\accpsilioxia }{\textepsilon}{"1F14} % ἔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textepsilon}{"1F15} % ἕ -\DeclareUnicodeComposite{\accpsili }{\textEpsilon}{"1F18} % Ἐ -\DeclareUnicodeComposite{\accdasia }{\textEpsilon}{"1F19} % Ἑ -\DeclareUnicodeComposite{\accpsilivaria }{\textEpsilon}{"1F1A} % Ἒ -\DeclareUnicodeComposite{\accdasiavaria }{\textEpsilon}{"1F1B} % Ἓ -\DeclareUnicodeComposite{\accpsilioxia }{\textEpsilon}{"1F1C} % Ἔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textEpsilon}{"1F1D} % Ἕ - -\DeclareUnicodeComposite{\accpsili }{\texteta}{"1F20} % ἠ -\DeclareUnicodeComposite{\accdasia }{\texteta}{"1F21} % ἡ -\DeclareUnicodeComposite{\accpsilivaria }{\texteta}{"1F22} % ἢ -\DeclareUnicodeComposite{\accdasiavaria }{\texteta}{"1F23} % ἣ -\DeclareUnicodeComposite{\accpsilioxia }{\texteta}{"1F24} % ἤ -\DeclareUnicodeComposite{\accdasiaoxia }{\texteta}{"1F25} % ἥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\texteta}{"1F26} % ἦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\texteta}{"1F27} % ἧ -\DeclareUnicodeComposite{\accpsili }{\textEta}{"1F28} % Ἠ -\DeclareUnicodeComposite{\accdasia }{\textEta}{"1F29} % Ἡ -\DeclareUnicodeComposite{\accpsilivaria }{\textEta}{"1F2A} % Ἢ -\DeclareUnicodeComposite{\accdasiavaria }{\textEta}{"1F2B} % Ἣ -\DeclareUnicodeComposite{\accpsilioxia }{\textEta}{"1F2C} % Ἤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textEta}{"1F2D} % Ἥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textEta}{"1F2E} % Ἦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textEta}{"1F2F} % Ἧ - -\DeclareUnicodeComposite{\accpsili }{\textiota}{"1F30} % ἰ -\DeclareUnicodeComposite{\accdasia }{\textiota}{"1F31} % ἱ -\DeclareUnicodeComposite{\accpsilivaria }{\textiota}{"1F32} % ἲ -\DeclareUnicodeComposite{\accdasiavaria }{\textiota}{"1F33} % ἳ -\DeclareUnicodeComposite{\accpsilioxia }{\textiota}{"1F34} % ἴ -\DeclareUnicodeComposite{\accdasiaoxia }{\textiota}{"1F35} % ἵ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textiota}{"1F36} % ἶ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textiota}{"1F37} % ἷ -\DeclareUnicodeComposite{\accpsili }{\textIota}{"1F38} % Ἰ -\DeclareUnicodeComposite{\accdasia }{\textIota}{"1F39} % Ἱ -\DeclareUnicodeComposite{\accpsilivaria }{\textIota}{"1F3A} % Ἲ -\DeclareUnicodeComposite{\accdasiavaria }{\textIota}{"1F3B} % Ἳ -\DeclareUnicodeComposite{\accpsilioxia }{\textIota}{"1F3C} % Ἴ -\DeclareUnicodeComposite{\accdasiaoxia }{\textIota}{"1F3D} % Ἵ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textIota}{"1F3E} % Ἶ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textIota}{"1F3F} % Ἷ - -\DeclareUnicodeComposite{\accpsili }{\textomicron}{"1F40} % ὀ -\DeclareUnicodeComposite{\accdasia }{\textomicron}{"1F41} % ὁ -\DeclareUnicodeComposite{\accpsilivaria }{\textomicron}{"1F42} % ὂ -\DeclareUnicodeComposite{\accdasiavaria }{\textomicron}{"1F43} % ὃ -\DeclareUnicodeComposite{\accpsilioxia }{\textomicron}{"1F44} % ὄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textomicron}{"1F45} % ὅ -\DeclareUnicodeComposite{\accpsili }{\textOmicron}{"1F48} % Ὀ -\DeclareUnicodeComposite{\accdasia }{\textOmicron}{"1F49} % Ὁ -\DeclareUnicodeComposite{\accpsilivaria }{\textOmicron}{"1F4A} % Ὂ -\DeclareUnicodeComposite{\accdasiavaria }{\textOmicron}{"1F4B} % Ὃ -\DeclareUnicodeComposite{\accpsilioxia }{\textOmicron}{"1F4C} % Ὄ -\DeclareUnicodeComposite{\accdasiaoxia }{\textOmicron}{"1F4D} % Ὅ - -\DeclareUnicodeComposite{\accpsili }{\textupsilon}{"1F50} % ὐ -\DeclareUnicodeComposite{\accdasia }{\textupsilon}{"1F51} % ὑ -\DeclareUnicodeComposite{\accpsilivaria }{\textupsilon}{"1F52} % ὒ -\DeclareUnicodeComposite{\accdasiavaria }{\textupsilon}{"1F53} % ὓ -\DeclareUnicodeComposite{\accpsilioxia }{\textupsilon}{"1F54} % ὔ -\DeclareUnicodeComposite{\accdasiaoxia }{\textupsilon}{"1F55} % ὕ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textupsilon}{"1F56} % ὖ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textupsilon}{"1F57} % ὗ -\DeclareUnicodeComposite{\accdasia }{\textUpsilon}{"1F59} % Ὑ -\DeclareUnicodeComposite{\accdasiavaria }{\textUpsilon}{"1F5B} % Ὓ -\DeclareUnicodeComposite{\accdasiaoxia }{\textUpsilon}{"1F5D} % Ὕ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textUpsilon}{"1F5F} % Ὗ - -\DeclareUnicodeComposite{\accpsili }{\textomega}{"1F60} % ὠ -\DeclareUnicodeComposite{\accdasia }{\textomega}{"1F61} % ὡ -\DeclareUnicodeComposite{\accpsilivaria }{\textomega}{"1F62} % ὢ -\DeclareUnicodeComposite{\accdasiavaria }{\textomega}{"1F63} % ὣ -\DeclareUnicodeComposite{\accpsilioxia }{\textomega}{"1F64} % ὤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textomega}{"1F65} % ὥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textomega}{"1F66} % ὦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textomega}{"1F67} % ὧ -\DeclareUnicodeComposite{\accpsili }{\textOmega}{"1F68} % Ὠ -\DeclareUnicodeComposite{\accdasia }{\textOmega}{"1F69} % Ὡ -\DeclareUnicodeComposite{\accpsilivaria }{\textOmega}{"1F6A} % Ὢ -\DeclareUnicodeComposite{\accdasiavaria }{\textOmega}{"1F6B} % Ὣ -\DeclareUnicodeComposite{\accpsilioxia }{\textOmega}{"1F6C} % Ὤ -\DeclareUnicodeComposite{\accdasiaoxia }{\textOmega}{"1F6D} % Ὥ -\DeclareUnicodeComposite{\accpsiliperispomeni}{\textOmega}{"1F6E} % Ὦ -\DeclareUnicodeComposite{\accdasiaperispomeni}{\textOmega}{"1F6F} % Ὧ - -\DeclareUnicodeComposite{\`} {\textalpha} {"1F70} % ὰ -\DeclareUnicodeComposite{\`} {\textepsilon}{"1F72} % ὲ -\DeclareUnicodeComposite{\`} {\texteta} {"1F74} % ὴ -\DeclareUnicodeComposite{\`} {\textiota} {"1F76} % ὶ -\DeclareUnicodeComposite{\`} {\textomicron}{"1F78} % ὸ -\DeclareUnicodeComposite{\`} {\textupsilon}{"1F7A} % ὺ -\DeclareUnicodeComposite{\`} {\textomega} {"1F7C} % ὼ -% repeat with named accents (LuaTeX does not normalize to pre-composed chars): -\DeclareUnicodeComposite{\accvaria} {\textalpha} {"1F70} % ὰ -\DeclareUnicodeComposite{\accvaria} {\textepsilon}{"1F72} % ὲ -\DeclareUnicodeComposite{\accvaria} {\texteta} {"1F74} % ὴ -\DeclareUnicodeComposite{\accvaria} {\textiota} {"1F76} % ὶ -\DeclareUnicodeComposite{\accvaria} {\textomicron}{"1F78} % ὸ -\DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ -\DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ</pre> -<p>Skipping pre-composed characters with mute iota (misleadingly named -… WITH PROSGEGRAMMENI): letter + <span class="docutils literal">\ypogegrammeni</span> is normalized -to the pre-composed character.</p> -<pre class="literal-block">\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ -\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ -% ᾲ -% ᾳ -% ᾴ -\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ -\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ -% ᾷ -\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ -\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ -\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ -\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ -% ᾼ -\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ +<section id="spacing-diacritics"> +<h5><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">spacing diacritics</a></h5> +<pre class="literal-block">% 1FBD GREEK KORONIS -> psili % ᾽ \DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι \DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ \DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ \DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ -% ῂ -% ῃ -% ῄ -\DeclareUnicodeComposite{\accperispomeni} {\texteta} {"1FC6} % ῆ -\DeclareUnicodeComposite{\~} {\texteta} {"1FC6} % ῆ -% ῇ -\DeclareUnicodeComposite{\`} {\textEpsilon}{"1FC8} % Ὲ -\DeclareUnicodeComposite{\accvaria} {\textEpsilon}{"1FC8} % Ὲ -\DeclareUnicodeComposite{\`} {\textEta} {"1FCA} % Ὴ -\DeclareUnicodeComposite{\accvaria} {\textEta} {"1FCA} % Ὴ -% ῌ + \DeclareUnicodeComposite{\accpsilivaria} {} {"1FCD} % ῍ \DeclareUnicodeComposite{\accpsilioxia} {} {"1FCE} % ῎ \DeclareUnicodeComposite{\accpsiliperispomeni} {} {"1FCF} % ῏ -\DeclareUnicodeComposite{\u} {\textiota} {"1FD0} % ῐ -\DeclareUnicodeComposite{\=} {\textiota} {"1FD1} % ῑ -\DeclareUnicodeComposite{\accdialytikavaria} {\textiota} {"1FD2} % ῒ -\DeclareUnicodeComposite{\accdialytikaoxia} {\textiota} {"1FD3} % ΐ -\DeclareUnicodeComposite{\accperispomeni} {\textiota} {"1FD6} % ῖ -\DeclareUnicodeComposite{\~} {\textiota} {"1FD6} % ῖ -\DeclareUnicodeComposite{\~} {ι} {"1FD6} % ῖ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textiota} {"1FD7} % ῗ -\DeclareUnicodeComposite{\u} {\textIota} {"1FD8} % Ῐ -\DeclareUnicodeComposite{\=} {\textIota} {"1FD9} % Ῑ -\DeclareUnicodeComposite{\`} {\textIota} {"1FDA} % Ὶ -\DeclareUnicodeComposite{\accvaria} {\textIota} {"1FDA} % Ὶ \DeclareUnicodeComposite{\accdasiavaria} {} {"1FDD} % ῝ \DeclareUnicodeComposite{\accdasiaoxia} {} {"1FDE} % ῞ \DeclareUnicodeComposite{\accdasiaperispomeni} {} {"1FDF} % ῟ -\DeclareUnicodeComposite{\u} {\textupsilon}{"1FE0} % ῠ -\DeclareUnicodeComposite{\=} {\textupsilon}{"1FE1} % ῡ -\DeclareUnicodeComposite{\accdialytikavaria} {\textupsilon}{"1FE2} % ῢ -\DeclareUnicodeComposite{\accdialytikaoxia} {\textupsilon}{"1FE3} % ΰ -\DeclareUnicodeComposite{\accpsili} {\textrho} {"1FE4} % ῤ -\DeclareUnicodeComposite{\accdasia} {\textrho} {"1FE5} % ῥ -\DeclareUnicodeComposite{\~} {\textupsilon}{"1FE6} % ῦ -\DeclareUnicodeComposite{\accperispomeni} {\textupsilon}{"1FE6} % ῦ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textupsilon}{"1FE7} % ῧ -\DeclareUnicodeComposite{\u} {\textUpsilon}{"1FE8} % Ῠ -\DeclareUnicodeComposite{\=} {\textUpsilon}{"1FE9} % Ῡ -\DeclareUnicodeComposite{\`} {\textUpsilon}{"1FEA} % Ὺ -\DeclareUnicodeComposite{\accvaria} {\textUpsilon}{"1FEA} % Ὺ -% Ύ -\DeclareUnicodeComposite{\accdasia} {\textRho} {"1FEC} % Ῥ \DeclareUnicodeComposite{\accdialytikavaria} {} {"1FED} % ῭ \DeclareUnicodeComposite{\accdialytikaoxia} {} {"1FEE} % ΅ % ` - -% ῲ -% ῳ -% ῴ -\DeclareUnicodeComposite{\accperispomeni} {\textomega} {"1FF6} % ῶ -\DeclareUnicodeComposite{\~} {\textomega} {"1FF6} % ῶ -% ῷ -\DeclareUnicodeComposite{\`} {\textOmicron}{"1FF8} % Ὸ -\DeclareUnicodeComposite{\accvaria} {\textOmicron}{"1FF8} % Ὸ -\DeclareUnicodeComposite{\`} {\textOmega} {"1FFA} % Ὼ -\DeclareUnicodeComposite{\accvaria} {\textOmega} {"1FFA} % Ὼ -% ῼ \DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´ \DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾</pre> +</section> <section id="perispomeni-and-tilde-accent"> -<h5><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">Perispomeni and tilde accent</a></h5> -<p>XeTeX and LuaTeX (since 2022) convert letters followed by combining +<h5><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Perispomeni and tilde accent</a></h5> +<p>XeTeX normalizes letters followed by combining characters to a pre-composed character, if there is an equivalent -pre-composed character.</p> +pre-composed character (Unicode normalization NFC). +With LuaTeX NFC is provided by the emph{Harfbuzz} renderer +(select with the <span class="docutils literal">[Renderer=Harfbuzz]</span> option of the <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> +font selection commands or the <a class="reference external" href="https://ctan.org/pkg/uninormalize">uninormalize</a> package.</p> <p>The <span class="docutils literal">\accperispomeni</span> macro expands to COMBINING GREEK PERISPOMENI while the standard short accent macro <span class="docutils literal">\~</span> uses the COMBINING TILDE. Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered equivalent to the pre-composed <Greek letter> WITH PERISPOMENI. -Composite definitions for <span class="docutils literal">\~</span> select the pre-composed character</p> -<p>TODO: don’t use literal Unicode characters if <span class="docutils literal">\inputencodingname</span> -is defined and not “lutf8” to prevent errors with legacy 8-bit documents -read with “luainputenc.sty” (cf. test-licr-input.tex).</p> -<pre class="literal-block">\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ -\DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ -\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ -\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ -\DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ -\DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ</pre> -<p>If there is no pre-composed Capital letter with perispomeni, -we want no perispomeni with <span class="docutils literal">\MakeUppercase</span>. -(These definitions may be redundant with the new (2022/06) -implementation of <span class="docutils literal">\MakeUppercase</span>.)</p> -<pre class="literal-block">\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α -\DeclareUnicodeComposite{\~}{Α} {"0391} % Α -\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η -\DeclareUnicodeComposite{\~}{Η} {"0397} % Η -\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι -\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι -\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ -\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ -\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω -\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω</pre> +Therefore, we define composite definitions for <span class="docutils literal">\~</span>:</p> +<pre class="literal-block">\DeclareUnicodeComposite{\~}{\textalpha }{"1FB6} % ᾶ +\DeclareUnicodeComposite{\~}{\texteta }{"1FC6} % ῆ +\DeclareUnicodeComposite{\~}{\textiota }{"1FD6} % ῖ +\DeclareUnicodeComposite{\~}{\textupsilon}{"1FE6} % ῦ +\DeclareUnicodeComposite{\~}{\textomega }{"1FF6} % ῶ</pre> +<p>There are no pre-composed capital letters with perispomeni +(the perispomeni is not used on initial letters and normally +dropped in <a class="reference internal" href="#uppercase">UPPERCASE</a>). +However, it is kept with the pre-2022 <span class="docutils literal">\MakeUppercase</span> and in documents +that don’t load <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> (or an old babel-greek or use the +modifier <span class="docutils literal"><span class="pre">local-MakeUppercase-fixes</span></span>):</p> +<pre class="literal-block">\DeclareUnicodeCompositeCommand{\~}{\textAlpha }{\accperispomeni\textAlpha} +\DeclareUnicodeCompositeCommand{\~}{\textEta }{\accperispomeni\textEta} +\DeclareUnicodeCompositeCommand{\~}{\textIota }{\accperispomeni\textIota} +\DeclareUnicodeCompositeCommand{\~}{\textUpsilon}{\accperispomeni\textUpsilon} +\DeclareUnicodeCompositeCommand{\~}{\textOmega }{\accperispomeni\textOmega}</pre> +<p>Using literal Unicode chars leads to errors in LuaTeX’s 8-bit compatibility +mode. OTOH, composite definitions do a literal check, so we cannot use +a replacement:</p> +<pre class="literal-block">\@ifl@aded{sty}{luainputenc}{}{% else + \DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ + \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ + \DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ + \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ + \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ + + \DeclareUnicodeCompositeCommand{\~}{Α}{\accperispomeni Α} + \DeclareUnicodeCompositeCommand{\~}{Η}{\accperispomeni Η} + \DeclareUnicodeCompositeCommand{\~}{Ι}{\accperispomeni Ι} + \DeclareUnicodeCompositeCommand{\~}{Υ}{\accperispomeni Υ} + \DeclareUnicodeCompositeCommand{\~}{Ω}{\accperispomeni Ω} +}</pre> </section> </section> <section id="letterlike-symbols"> -<h4><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Letterlike Symbols</a></h4> +<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Letterlike Symbols</a></h4> <pre class="literal-block">\DeclareTextSymbol{\textohm}\UnicodeEncodingName{"03A9} % OHM SIGN, use 03A9 Omega</pre> </section> <section id="ancient-greek-numbers"> -<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Ancient Greek Numbers</a></h4> +<h4><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">Ancient Greek Numbers</a></h4> <p>TODO: map other chars to corresponding Greek letters. See also the <a class="reference external" href="https://ctan.org/pkg/grnumalt">grnumalt</a> package.</p> <pre class="literal-block">\DeclareTextSymbol{\textpentedeka }\UnicodeEncodingName{"10144} % GREEK ACROPHONIC ATTIC FIFTY @@ -1337,51 +1124,67 @@ See also the <a class="reference external" href="https://ctan.org/pkg/grnumalt"> </section> </section> <section id="uppercase"> -<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">UPPERCASE</a></h3> +<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">UPPERCASE</a></h3> <p>Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.</p> -<p>Babel-Greek indroduces macros for “capital accents” in 1.13.3. +<p>Babel-Greek introduces macros for “capital accents” in release 1.13.3. Here, we add definitions to drop diacritics in uppercase:</p> -<pre class="literal-block">\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 -\IfFormatAtLeastTF{2022/06/01}{ - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textAlpha }{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEpsilon}{\LGR@E@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEta }{Η} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textIota }{Ι} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmicron}{Ο} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textUpsilon}{Υ} - \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmega }{Ω} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Α}{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ε}{\LGR@E@hiatus} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Η}{Η} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ι}{Ι} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ο}{Ο} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Υ}{Υ} - \DeclareTextCompositeCommand{\accACUTE}{TU}{Ω}{Ω} - - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textAlpha }{Α} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEpsilon}{Ε} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEta }{Η} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textIota }{Ι} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmicron}{Ο} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textUpsilon}{Υ} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmega }{Ω} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Α}{Α} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ε}{Ε} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Η}{Η} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ι}{Ι} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ο}{Ο} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Υ}{Υ} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω} - \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω} - - \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Α}{\LGR@A@hiatus} - \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Ε}{\LGR@E@hiatus}</pre> +<pre class="literal-block">\DeclareUnicodeCompositeCommand{\accACUTE}{\textAlpha }{\LGR@A@hiatus} +\DeclareUnicodeCompositeCommand{\accACUTE}{\textEpsilon}{\LGR@E@hiatus} +\DeclareUnicodeComposite{\accACUTE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accACUTE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accACUTE}{\textOmicron}{"039F} % Ο +\DeclareUnicodeComposite{\accACUTE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accACUTE}{\textOmega }{"03A9} % Ω + +\DeclareUnicodeComposite{\accGRAVE}{\textAlpha }{"0391} % Α +\DeclareUnicodeComposite{\accGRAVE}{\textEpsilon}{"0395} % Ε +\DeclareUnicodeComposite{\accGRAVE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accGRAVE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accGRAVE}{\textOmicron}{"039F} % Ο +\DeclareUnicodeComposite{\accGRAVE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accGRAVE}{\textOmega }{"03A9} % Ω + +\DeclareUnicodeComposite{\accTILDE}{\textAlpha }{"0391} % Α +\DeclareUnicodeComposite{\accTILDE}{\textEta }{"0397} % Η +\DeclareUnicodeComposite{\accTILDE}{\textIota }{"0399} % Ι +\DeclareUnicodeComposite{\accTILDE}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\accTILDE}{\textOmega }{"03A9} % Ω</pre> +<p>Repeat with literal Unicode as base character +(fails in LuaTeX’s 8-bit compatibility mode):</p> +<pre class="literal-block">\@ifl@aded{sty}{luainputenc}{}{% else + \DeclareUnicodeCompositeCommand{\accACUTE}{Α}{\LGR@A@hiatus} + \DeclareUnicodeCompositeCommand{\accACUTE}{Ε}{\LGR@E@hiatus} + \DeclareUnicodeComposite{\accACUTE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accACUTE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accACUTE}{Ο}{"039F} % Ο + \DeclareUnicodeComposite{\accACUTE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accACUTE}{Ω}{"03A9} % Ω + + \DeclareUnicodeComposite{\accGRAVE}{Α}{"0391} % Α + \DeclareUnicodeComposite{\accGRAVE}{Ε}{"0395} % Ε + \DeclareUnicodeComposite{\accGRAVE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accGRAVE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accGRAVE}{Ο}{"039F} % Ο + \DeclareUnicodeComposite{\accGRAVE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accGRAVE}{Ω}{"03A9} % Ω + + \DeclareUnicodeComposite{\accTILDE}{Α}{"0391} % Α + \DeclareUnicodeComposite{\accTILDE}{Η}{"0397} % Η + \DeclareUnicodeComposite{\accTILDE}{Ι}{"0399} % Ι + \DeclareUnicodeComposite{\accTILDE}{Υ}{"03A5} % Υ + \DeclareUnicodeComposite{\accTILDE}{Ω}{"03A9} % Ω + + \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Α}{\LGR@A@hiatus} + \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Ε}{\LGR@E@hiatus} +}</pre> <p>The new (2022) implementation of <span class="docutils literal">\MakeUppercase</span> drops accents from literal Unicode input (if the text language is set to Greek with Babel).</p> <p>With the old <span class="docutils literal">\MakeUppercase</span> implementation, we can fix this using <span class="docutils literal">\lccode</span> and <span class="docutils literal">\uccode</span> corrections from the <a class="reference external" href="https://ctan.org/pkg/xgreek">xgreek</a> package by Apostolos Syropoulos:</p> -<pre class="literal-block">}{% else +<pre class="literal-block">\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020 +\IfFormatAtLeastTF{2022/06/01}{ +}{% else \global\lccode"0370="0371 \global\uccode"0370="0370 \global\lccode"0371="0371 \global\uccode"0371="0370 \global\lccode"0372="0373 \global\uccode"0372="0372 @@ -1702,7 +1505,7 @@ Apostolos Syropoulos:</p> \global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC }</pre> <section id="uclclist"> -<h4><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">uclclist</a></h4> +<h4><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">uclclist</a></h4> <p>The common Greek font encoding definitions in <a class="reference external" href="greek-fontenc.def.html">greek-fontenc.def</a> extend the <cite>uclclist</cite> with Greek LICR macros. Here, we add Unicode-specific “<a class="reference external" href="greek-fontenc.def.html#mark-hiatus">hiatus</a>” handling (copied from <a class="reference external" href="lgrenc.def.html">lgrenc.def</a> and changed @@ -1730,7 +1533,7 @@ Latin transliteration to Unicode literals).</p> </section> </section> <section id="changelog"> -<h2><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">Changelog</a></h2> +<h2><a class="toc-backref" href="#toc-entry-19" role="doc-backlink">Changelog</a></h2> <table class="borderless"> <tbody> <tr><td><p>0.1</p></td> @@ -1847,6 +1650,17 @@ in other encodings with <cite>luainputenc</cite>).</p></td> <td></td> <td><p>Composite commands for “captital” macros.</p></td> </tr> +<tr><td><p>2.5</p></td> +<td><p>2023-09-12</p></td> +<td><p>Drop composite definitions duplicating the Unicode +NFC transformation.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Skip definitions requiring literal UTF8 chars in +LuaTeX’s 8-bit compatibility mode.</p></td> +</tr> </tbody> </table> <!-- References diff --git a/macros/latex/contrib/hyperxmp/hyperxmp.dtx b/macros/latex/contrib/hyperxmp/hyperxmp.dtx index ea0d533429..9be837cf2a 100644 --- a/macros/latex/contrib/hyperxmp/hyperxmp.dtx +++ b/macros/latex/contrib/hyperxmp/hyperxmp.dtx @@ -22,7 +22,7 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{hyperxmp} %<*package> - [2022/10/16 v5.11 Store hyperref metadata in XMP format] + [2023/09/10 v5.12 Store hyperref metadata in XMP format] %</package> % %<*driver> @@ -131,7 +131,7 @@ %</driver> % \fi % -% \CheckSum{2844} +% \CheckSum{2848} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -653,10 +653,10 @@ % \pkgname{hyperxmp} works by postprocessing some of the package options % honored by \pkgname{hyperref}. To use \pkgname{hyperxmp}, merely put % a |\usepackage{hyperxmp}| in your document's preamble. That line can -% appear anywhere before the \pkgname{hyperref} \acro{PDF} options are -% specified (i.e.,~with either |\usepackage[|\dots|]{hyperref}| or -% |\hypersetup{|\dots|}|). \pkgname{hyperxmp} will construct its -% \acro{XMP} data using the following \pkgname{hyperref} options: +% appear anywhere \emph{after} the |\usepackage{hyperref}| but +% \emph{before} \pkgname{hyperref}'s \acro{PDF} options are specified +% with |\hypersetup|. \pkgname{hyperxmp} will construct its \acro{XMP} +% data using the following \pkgname{hyperref} options: % % \begin{multicols}{3} % \raggedcolumns @@ -1060,8 +1060,8 @@ % \begin{verbatim} % \documentclass{article} % \usepackage[utf8]{inputenc} -% \usepackage{hyperxmp} % \usepackage[unicode]{hyperref} +% \usepackage{hyperxmp} % % \title{% % On a heuristic viewpoint concerning the production and @@ -2641,6 +2641,32 @@ sub mycmd { % same thing. This is required in case \pkgname{hyperref} is loaded % before \pkgname{hyperxmp}. % +% \changes{v5.12}{2023/09/10}{Require that \pkgname{hyperref} be loaded +% before \pkgname{hyperxmp}} +% \begin{center} +% \fbox{% +% \begin{minipage}{0.75\linewidth} +% \paragraph{New in v5.12} +% \pkgname{hyperref} must be loaded \emph{before} \pkgname{hyperxmp}. +% This is because recent changes in \pkgname{hyperref} and the +% \LaTeX\ kernel prevent \pkgname{hyperxmp} from hooking into +% \pkgname{hyperref}'s internals if \pkgname{hyperref} is loaded +% first. +% \end{minipage}% +% } +% \end{center} +% +% \begin{macrocode} +\@ifpackageloaded{hyperref}{% +}{% + \PackageError{hyperxmp}% + {hyperref must be loaded before hyperxmp}% + {Recent versions of hyperref and the LaTeX kernel inhibit\MessageBreak + hyperxmp's ability to hook into hyperref's internals unless\MessageBreak + hyperref is loaded first.} +} +% \end{macrocode} +% % \begin{macro}{\hyxmp@pdfauthor} % \begin{macro}{\hyxmp@pdfkeywords} % Prepare to store the name of the author and a list of keywords. diff --git a/macros/latex/contrib/hyperxmp/hyperxmp.pdf b/macros/latex/contrib/hyperxmp/hyperxmp.pdf Binary files differindex 2374394e6b..2664608ae6 100644 --- a/macros/latex/contrib/hyperxmp/hyperxmp.pdf +++ b/macros/latex/contrib/hyperxmp/hyperxmp.pdf diff --git a/macros/latex/contrib/minted/DEPENDS.txt b/macros/latex/contrib/minted/DEPENDS.txt new file mode 100644 index 0000000000..5c39ebf2e9 --- /dev/null +++ b/macros/latex/contrib/minted/DEPENDS.txt @@ -0,0 +1,15 @@ +catchfile +etoolbox +float +framed +fvextra +ifplatform +ifthen +keyval +kvoptions +lineno +newfloat +pdftexcmds +shellesc +xcolor +xstring diff --git a/macros/latex/contrib/minted/minted.dtx b/macros/latex/contrib/minted/minted.dtx index 6ff75d9069..b326c9baee 100644 --- a/macros/latex/contrib/minted/minted.dtx +++ b/macros/latex/contrib/minted/minted.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2013-2022 by Geoffrey M. Poore <gpoore@gmail.com> +% Copyright (C) 2013-2023 by Geoffrey M. Poore <gpoore@gmail.com> % Copyright (C) 2010-2011 by Konrad Rudolph <konrad_rudolph@madrat.net> % --------------------------------------------------------------------------- % This work may be distributed and/or modified under the @@ -31,7 +31,7 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{minted} %<*package> - [2022/12/12 v2.7 Yet another Pygments shim for LaTeX] + [2023/09/12 v2.8 Yet another Pygments shim for LaTeX] %</package> %<*driver> \documentclass{ltxdoc} @@ -50,6 +50,7 @@ \usepackage{textcomp} \usepackage[cache, langlinenos]{minted} +\usepackage{calc} \usepackage{environ} \usepackage{graphicx} \usepackage{multicol} @@ -208,7 +209,7 @@ %</driver> % \fi % -% \CheckSum{2548} +% \CheckSum{2565} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -229,6 +230,19 @@ % % % +% \begin{changelog}{v2.8}{2023/09/12} +% \item Under non-Windows operating systems, detect executables with \Verb{command -v} rather than \Verb{which} to provide better cross-platform support (\#345). +% \item Added new package option \Verb{inputlanglinenos}. This extends the existing \Verb{langlinenos} to cover \Verb{\inputminted} as well (\#361). +% \item Improved and updated Pygments documentation (\#339). +% \item Improved \Verb{\mintinline} documentation to address packages that redefine \Verb{\section} (\#368). +% \item Added support for \texpkg{fvextra} options \texttt{breakafterinrun} and \texttt{breakbeforeinrun} (\#358). In \texpkg{fvextra} version 1.5, \texttt{breakaftergroup} and \texttt{breakbeforegroup} were renamed to \texttt{breakafterinrun} and \texttt{breakbeforeinrun} to avoid naming ambiguity with new options. The old options \texttt{breakaftergroup} and \texttt{breakbeforegroup} are no longer supported. +% \item Added \texttt{DEPENDS.txt} (\#331). +% \item Removed unnecessary dependency on \texpkg{calc} package (\#313). +% \item Added documentation in FAQ about copy and paste limitations (\#302). +% \item Added note on \texttt{text} lexer to documentation (\#274). +% \end{changelog} +% +% % \begin{changelog}{v2.7}{2022/12/12} % \item Reimplemented \texttt{\string\mintinline} to use \texttt{fvextra}'s argument reading and processing macros, and to use \texttt{fvextra}'s \texttt{\string\Verb} internally. \texttt{\string\mintinline} now works with all line breaking options supported by \texttt{fvextra}'s \texttt{\string\Verb}, including \texttt{breakanywhere} (\#329, \#340). It now gives better results when used inside other commands, since it uses \texttt{fvextra}'s retokenization macros. It is now compatible with \texttt{hyperref} for PDF strings such as bookmarks. % \item Reimplemented \texttt{\string\newmintinline} based on new \texttt{\string\mintinline}. @@ -463,9 +477,12 @@ % \noindent\texpkg{minted} is a package that facilitates expressive syntax highlighting % using the powerful \app{Pygments} library. The package also provides options to % customize the highlighted source code output. +% +% \vspace{0.5in} +% \noindent\textbf{Development status:} \pkg{minted} version 3.0 is now under development, thanks to a \href{https://tug.org/tc/devfund/grants.html}{\TeX\ Development Fund grant} from the \href{https://tug.org/}{\TeX\ Users Group}. This will bring a new Python executable that replaces |pygmentize|. The new executable will be compatible with restricted shell escape, so no more |-shell-escape| with associated security vulnerabilities. The new executable will also make it possible to extend \pkg{minted} using Python, not just \LaTeX\ macros. This will bring official support for custom lexers, allow including snippets of external files based on regular expressions, and make possible a number of other improvements and bugfixes. For compatibility purposes, the final version of \pkg{minted} v2.x will be released as the compatibility package \pkg{minted2}. Initial beta versions of minted v3.0 are expected by early 2024. A final minted v3.x release including all planned features is expected before the end of summer 2024. % \end{abstract} % -% \vspace{2in} +% \vspace{0.5in} % % \subsection*{License} % \href{http://www.latex-project.org/lppl.txt}{LaTeX Project Public License (LPPL)} version 1.3. @@ -684,6 +701,8 @@ % Optionally, the environment accepts a number of options in |key=value| notation, which are described % in more detail below. % +% To use \texpkg{minted} with a language that is not supported by Pygments, or simply to disable highlighting, set the language to |text|: |\begin{minted}{text}|. +% % % \DescribeMacro{\mint} % For a single line of source code, you can alternatively use a shorthand notation: @@ -711,7 +730,9 @@ % % The syntax is \cmd\mintinline\oarg{options}\marg{language}\meta{delim}\meta{code}\meta{delim}. The delimiters can be a single repeated character, just like for \cmd{\verb}. They can also be a pair of curly braces, |{}|. Curly braces are required when \cmd{\mintinline} is used in a movable argument, such as in a \cmd{\section}. % -% \cmd{\mintinline} has been carefully crafted so that in most cases it will function correctly when used inside other commands. The main exception is when the code contains the percent \texttt{\%} or hash \texttt{\#} characters, or unmatched curly braces. For example, \cmd{\mintinline} works in \cmd{\footnote} and \cmd{\section}! The code typesetting for \cmd{\mintinline} is based on \texpkg{fvextra}'s \cmd{\Verb}. See the \href{https://github.com/gpoore/fvextra/}{\texpkg{fvextra} documentation on \cmd{\Verb}} for details about functionality and limitations. +% Unlike \cmd{\verb}, \cmd{\mintinline} can usually be used inside other commands. The main exception is when the code contains the percent \texttt{\%} or hash \texttt{\#} characters, or unmatched curly braces. For example, \cmd{\mintinline} typically works in \cmd{\footnote} and \cmd{\section}! Note that some document classes or packages, such as \texpkg{memoir}, redefine \cmd{\section} or have options that modify it in ways that are incompatible with \cmd{\mintinline}. If you use \cmd{\mintinline} inside \cmd{\section} or otherwise in a movable argument, you should experiment to make sure it is compatible with your document configuration. You may also want to consider \texpkg{fvextra}'s \cmd{\Verb} or \cmd{\EscVerb} as an alternative. +% +% The code typesetting for \cmd{\mintinline} is based on \texpkg{fvextra}'s \cmd{\Verb}. See the \href{https://github.com/gpoore/fvextra/}{\texpkg{fvextra} documentation on \cmd{\Verb}} for additional details about functionality and limitations. % % \DescribeMacro{\inputminted} % Finally, there's the |\inputminted| command to read and format whole files. @@ -729,7 +750,7 @@ % % The full syntax is \cmd\usemintedstyle\oarg{language}\marg{style}. The style may be set for the document as a whole (no language specified), or only for a particular language. Note that the style may also be set via \cmd\setminted\ and via the optional argument for each command and environment.\footnote{Version 2.0 added the optional language argument and removed the restriction that the command be used in the preamble.} % -% To get a list of all available stylesheets, see the online demo at the \href{http://pygments.org/demo/}{Pygments website} or execute the following command on the command line: +% Highlighting styles with examples can be viewed online at \href{https://pygments.org/styles/}{pygments.org/styles}. It is possible to preview your code with different styles using the online demo at \href{http://pygments.org/demo/}{pygments.org/demo}. Available styles can also be listed by executing the following command on the command line: % % \begin{Verbatim}[gobble=3,commandchars=\\\{\}] % \$ pygmentize -L styles @@ -742,7 +763,7 @@ % % \subsection{Supported languages} % -% \app{Pygments} supports over 300 different programming languages, template languages, and other markup languages. To see an exhaustive list of the currently supported languages, use the command +% \app{Pygments} supports hundreds of different programming languages, template languages, and other markup languages. To see an exhaustive list of the currently supported languages, use the command % % \begin{Verbatim}[gobble=3,commandchars=\\\{\}] % \$ pygmentize -L lexers @@ -889,6 +910,12 @@ % This is the opposite of |draft|; it is equivalent to |draft=false|. Again, note that |draft| and |final| settings are typically inherited from the document class. % % +% \DescribeMacro{inputlanglinenos=\meta{boolean} (default:~false)} +% This enables |langlinenos| and causes it to apply to |\inputminted| (and custom commands based on it) in addition to |minted| environments and |\mint| commands (and custom environments/commands based on them). +% +% The regular |langlinenos| option treats all code within a document's |.tex| files as having one set of line numbering per language, and then treats each inputted source file as having its own separate numbering. |inputlanglinenos| defines a single numbering per language, regardless of where code originates. +% +% % \DescribeMacro{kpsewhich=\meta{boolean} (default:~false)} % This option uses |kpsewhich| to locate files that are to be highlighted. Some build tools such as |texi2pdf| function by modifying |TEXINPUTS|; in some cases, users may customize |TEXINPUTS| as well. The |kpsewhich| option allows \texpkg{minted} to work with such configurations. % @@ -898,6 +925,8 @@ % % % \DescribeMacro{langlinenos=\meta{boolean} (default:~false)} +% This allows all |minted| environments and |\mint| commands (and custom environments/commands based on them) for a given language to share line numbering when |firstnumber=last|, so that each subsequent command/environment has line numbering that continues from the previous one. This does not apply to |\inputminted| (and custom commands based on it); see the package option |inputlanglinenos| for that. +% % \texpkg{minted} uses the \texpkg{fancyvrb} package behind the scenes for the code typesetting. \texpkg{fancyvrb} provides an option |firstnumber| that allows the starting line number of an environment to be specified. For convenience, there is an option |firstnumber=last| that allows line numbering to pick up where it left off. The |langlinenos| option makes |firstnumber| work for each language individually with all |minted| and |\mint| usages. For example, consider the code and output below. % % \begin{VerbatimOut}[gobble=1]{minted.doc.out} @@ -1033,12 +1062,55 @@ % Give the |<| and |>| characters their normal text meanings when used with |escapeinside| and |texcomments|, so that \texpkg{beamer} overlays of the form |\only<1>{...}| will work. % % +% \item[bgcolor (string) (\meta{none})] +% Background color of the listing. Be aware that this option has several limitations (described below); see ``Framing alternatives'' below for more powerful alternatives. +% +% The value of this option must \emph{not} be a color command. Instead, it must be a color \emph{name}, given as a string, of a previously-defined color: +% +% \begin{example} +% \definecolor{bg}{rgb}{0.95,0.95,0.95} +% \begin{minted}[bgcolor=bg]{php} +% <?php +% echo "Hello, $x"; +% ?> +% \end{minted} +% \end{example} +% +% This option puts \texttt{minted} environments and \texttt{\string\mint} commands in a \texttt{snugshade*} environment from the \texpkg{framed} package, which supports breaks across pages. (Prior to \texpkg{minted} 2.2, a \texttt{minipage} was used, which prevented page breaks and gave undesirable spacing from surrounding text.) Be aware that if \texttt{bgcolor} is used with \texttt{breaklines=true}, and a line break occurs just before a page break, then text may extend below the colored background in some instances. It is best to use a more advanced framing package in those cases; see ``Framing alternatives'' below. +% +% This option puts \texttt{\string\mintinline} inside a \texttt{\string\colorbox}, which \textbf{does not allow line breaks}. If you want to use \texttt{\string\setminted} to set background colors, and only want background colors on \texttt{minted} and \texttt{\string\mint}, you may use \texttt{\string\setmintedinline\{bgcolor=\{\}\}} to turn off the coloring for inline commands. +% +% ~ +% +% \textbf{Framing alternatives} +% +% If you want more reliable and advanced options for background colors and framing, you should consider a more advanced framing package such as \texpkg{mdframed} or \texpkg{tcolorbox}. It is easy to add framing to \texpkg{minted} commands and environments using the \texpkg{etoolbox} package, which is automatically loaded by \texpkg{minted}. For example, using \texpkg{mdframed}: +%\begin{Verbatim} +%\BeforeBeginEnvironment{minted}{\begin{mdframed}} +%\AfterEndEnvironment{minted}{\end{mdframed}} +%\end{Verbatim} +% Some framing packages also provide built-in commands for such purposes. For example, \texpkg{mdframed} provides a \texttt{\string\surroundwithmdframed} command, which could be used to add a frame to all \texttt{minted} environments: +%\begin{Verbatim} +%\surroundwithmdframed{minted} +%\end{Verbatim} +% \texpkg{tcolorbox} even provides a built-in framing environment with \texpkg{minted} support. Simply use \texttt{\string\tcbuselibrary\{minted\}} in the preamble, and then put code within a \texttt{tcblisting} environment: +%\begin{Verbatim} +%\begin{tcblisting}{<tcb options>, +% minted language=<language>, +% minted style=<style>, +% minted options={<option list>} } +%<code> +%\end{tcblisting} +%\end{Verbatim} +% \texpkg{tcolorbox} provides other commands and environments for fine-tuning listing appearance and for working with external code files. +% +% % \item[breakafter (string) (\meta{none})] % Break lines after specified characters, not just at spaces, when \texttt{breaklines=true}. % % For example, \texttt{breakafter=-/} would allow breaks after any hyphens or slashes. Special characters given to \texttt{breakafter} should be backslash-escaped (usually \texttt{\hashchar}, \texttt{\{}, \texttt{\}}, \texttt{\%}, \texttt{[}, \texttt{]}; the backslash \texttt{\textbackslash} may be obtained via \texttt{\textbackslash\textbackslash}). % -% For an alternative, see \texttt{breakbefore}. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforegroup} and \texttt{breakaftergroup} must both have the same setting. +% For an alternative, see \texttt{breakbefore}. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforeinrun} and \texttt{breakafterinrun} must both have the same setting. % % \begin{longexample} % \begin{minted}[breaklines, breakafter=d]{python} @@ -1046,8 +1118,8 @@ % \end{minted} % \end{longexample} % -% \item[breakaftergroup] (boolean) (true) -% When \texttt{breakafter} is used, group all adjacent identical characters together, and only allow a break after the last character. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforegroup} and \texttt{breakaftergroup} must both have the same setting. +% \item[breakafterinrun] (boolean) (true) +% When \texttt{breakafter} is used, group all adjacent identical characters together, and only allow a break after the last character. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforeinrun} and \texttt{breakafterinrun} must both have the same setting. % % \item[breakaftersymbolpre (string) (\string\,\string\footnotesize\string\ensuremath\{\_\string\rfloor\}, \,\footnotesize\ensuremath{_\rfloor})] % The symbol inserted pre-break for breaks inserted by \texttt{breakafter}. @@ -1081,7 +1153,7 @@ % % For example, \texttt{breakbefore=A} would allow breaks before capital A's. Special characters given to \texttt{breakbefore} should be backslash-escaped (usually \texttt{\hashchar}, \texttt{\{}, \texttt{\}}, \texttt{\%}, \texttt{[}, \texttt{]}; the backslash \texttt{\textbackslash} may be obtained via \texttt{\textbackslash\textbackslash}). % -% For an alternative, see \texttt{breakafter}. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforegroup} and \texttt{breakaftergroup} must both have the same setting. +% For an alternative, see \texttt{breakafter}. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforeinrun} and \texttt{breakafterinrun} must both have the same setting. % % \begin{longexample} % \begin{minted}[breaklines, breakbefore=A]{python} @@ -1089,8 +1161,8 @@ % \end{minted} % \end{longexample} % -% \item[breakbeforegroup] (boolean) (true) -% When \texttt{breakbefore} is used, group all adjacent identical characters together, and only allow a break before the first character. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforegroup} and \texttt{breakaftergroup} must both have the same setting. +% \item[breakbeforeinrun] (boolean) (true) +% When \texttt{breakbefore} is used, group all adjacent identical characters together, and only allow a break before the first character. When \texttt{breakbefore} and \texttt{breakafter} are used for the same character, \texttt{breakbeforeinrun} and \texttt{breakafterinrun} must both have the same setting. % % \item[breakbeforesymbolpre (string) (\string\,\string\footnotesize\string\ensuremath\{\_\string\rfloor\}, \,\footnotesize\ensuremath{_\rfloor})] % The symbol inserted pre-break for breaks inserted by \texttt{breakbefore}. @@ -1214,48 +1286,6 @@ % Allows |breaksymbolsepright| to be specified as an integer number of characters rather than as a dimension (assumes a fixed-width font). % % -% \item[bgcolor (string) (\meta{none})] -% Background color of the listing. Be aware that this option has several limitations (described below); see ``Framing alternatives'' below for more powerful alternatives. -% -% The value of this option must \emph{not} be a color command. Instead, it must be a color \emph{name}, given as a string, of a previously-defined color: -% -% \begin{example} -% \definecolor{bg}{rgb}{0.95,0.95,0.95} -% \begin{minted}[bgcolor=bg]{php} -% <?php -% echo "Hello, $x"; -% ?> -% \end{minted} -% \end{example} -% -% This option puts \texttt{minted} environments and \texttt{\string\mint} commands in a \texttt{snugshade*} environment from the \texpkg{framed} package, which supports breaks across pages. (Prior to \texpkg{minted} 2.2, a \texttt{minipage} was used, which prevented page breaks and gave undesirable spacing from surrounding text.) Be aware that if \texttt{bgcolor} is used with \texttt{breaklines=true}, and a line break occurs just before a page break, then text may extend below the colored background in some instances. It is best to use a more advanced framing package in those cases; see ``Framing alternatives'' below. -% -% This option puts \texttt{\string\mintinline} inside a \texttt{\string\colorbox}, which \textbf{does not allow line breaks}. If you want to use \texttt{\string\setminted} to set background colors, and only want background colors on \texttt{minted} and \texttt{\string\mint}, you may use \texttt{\string\setmintedinline\{bgcolor=\{\}\}} to turn off the coloring for inline commands. -% -% ~ -% -% \textbf{Framing alternatives} -% -% If you want more reliable and advanced options for background colors and framing, you should consider a more advanced framing package such as \texpkg{mdframed} or \texpkg{tcolorbox}. It is easy to add framing to \texpkg{minted} commands and environments using the \texpkg{etoolbox} package, which is automatically loaded by \texpkg{minted}. For example, using \texpkg{mdframed}: -%\begin{Verbatim} -%\BeforeBeginEnvironment{minted}{\begin{mdframed}} -%\AfterEndEnvironment{minted}{\end{mdframed}} -%\end{Verbatim} -% Some framing packages also provide built-in commands for such purposes. For example, \texpkg{mdframed} provides a \texttt{\string\surroundwithmdframed} command, which could be used to add a frame to all \texttt{minted} environments: -%\begin{Verbatim} -%\surroundwithmdframed{minted} -%\end{Verbatim} -% \texpkg{tcolorbox} even provides a built-in framing environment with \texpkg{minted} support. Simply use \texttt{\string\tcbuselibrary\{minted\}} in the preamble, and then put code within a \texttt{tcblisting} environment: -%\begin{Verbatim} -%\begin{tcblisting}{<tcb options>, -% minted language=<language>, -% minted style=<style>, -% minted options={<option list>} } -%<code> -%\end{tcblisting} -%\end{Verbatim} -% \texpkg{tcolorbox} provides other commands and environments for fine-tuning listing appearance and for working with external code files. -% % \item[codetagify (list of strings) (\textrm{highlight \texttt{XXX}, \texttt{TODO}, \texttt{BUG}, and \texttt{NOTE}})] % Highlight special code tags in comments and docstrings. % @@ -1524,9 +1554,10 @@ % % \section{FAQ and Troubleshooting} % -% In some cases, \texpkg{minted} may not give the desired result due to other document settings that it cannot control. Common issues are described below, with workarounds or solutions. You may also wish to search \href{http://tex.stackexchange.com/}{tex.stackexchange.com} or ask a question there, if you are working with \texpkg{minted} in a non-typical context. +% In some cases, \texpkg{minted} may not give the desired result due to other document settings that it cannot control, or due to limitations in \LaTeX\ or the PDF format. Common issues are described below, with workarounds or solutions. You may also wish to search \href{http://tex.stackexchange.com/}{tex.stackexchange.com} or ask a question there, if you are working with \texpkg{minted} in a non-typical context. % % \begin{itemize} +% \item \textbf{I can't copy and paste code out of a PDF created with \texpkg{minted}. The line numbers also get copied, or whitespace is lost, or something else happens that makes the code incorrect.} There is no known method that always guarantees correct copy and paste for code in a PDF. This does not depend on whether \texpkg{minted} is used. You may want to search \href{http://tex.stackexchange.com/}{tex.stackexchange.com} to find current approaches (and their limitations). You may also want to consider using \href{https://ctan.org/pkg/attachfile}{\texpkg{attachfile}} or a similar package to bundle source code files as part of your PDF. % \item \textbf{There are intermittent ``I can't write on file'' errors.} This can be caused by using \texpkg{minted} in a directory that is synchronized with Dropbox or a similar file syncing program. These programs can try to sync \texpkg{minted}'s temporary files while it still needs to be able to modify them. The solution is to turn off file syncing or use a directory that is not synced. % \item \textbf{I receive a ``Font Warning: Some font shapes were not available'' message, or bold or italic seem to be missing.} This is due to a limitation in the font that is currently in use for typesetting code. In some cases, the default font shapes that \LaTeX\ substitutes are perfectly adequate, and the warning may be ignored. In other cases, the font substitutions may not clearly indicate bold or italic text, and you will want to switch to a different font. See The \LaTeX\ Font Catalogue's section on \href{http://www.tug.dk/FontCatalogue/typewriterfonts.html}{Typewriter Fonts} for alternatives. If you like the default \LaTeX\ fonts, the \texpkg{lmodern} package is a good place to start. The \texpkg{beramono} and \texpkg{courier} packages may also be good options. % \item \textbf{I receive a ``Too many open files'' error under OS X when using caching.} See the note on OS X under Section~\ref{sec:basic:preliminary}. @@ -1643,7 +1674,6 @@ \RequirePackage{kvoptions} \RequirePackage{fvextra} \RequirePackage{ifthen} -\RequirePackage{calc} \IfFileExists{shellesc.sty} {\RequirePackage{shellesc} \@ifpackagelater{shellesc}{2016/04/29} @@ -1752,6 +1782,14 @@ % \end{macro} % % +% \begin{macro}{inputlanglinenos} +% Enable |langlinenos| and make it apply to |\inputminted|. +% \begin{macrocode} +\DeclareBoolOption{inputlanglinenos} +% \end{macrocode} +% \end{macro} +% +% % \begin{macro}{kpsewhich} % Define an option that invokes |kpsewhich| to locate the files that are to be |pygmentize|d. This isn't done by default to avoid the extra overhead, but can be useful with some build tools such as |texi2pdf| that rely on modifying |TEXINPUTS|. % \begin{macrocode} @@ -2009,7 +2047,7 @@ % On Unix-like systems, we do a straightforward |which| test and create a file upon success, whose existence we can then check. % % \begin{macrocode} - \ShellEscape{which #1 && touch \minted@jobname.aex}% + \ShellEscape{command -v #1 && touch \minted@jobname.aex}% \IfFileExists{\minted@jobname.aex}% {\AppExiststrue \DeleteFile{\minted@jobname.aex}}% @@ -2764,9 +2802,9 @@ \minted@def@optfv{breakbefore} \minted@def@optfv{breakbeforesymbolpre} \minted@def@optfv{breakbeforesymbolpost} -\minted@def@optfv@switch{breakbeforegroup} +\minted@def@optfv@switch{breakbeforeinrun} \minted@def@optfv{breakafter} -\minted@def@optfv@switch{breakaftergroup} +\minted@def@optfv@switch{breakafterinrun} \minted@def@optfv{breakaftersymbolpre} \minted@def@optfv{breakaftersymbolpost} \minted@def@optfv@switch{breakanywhere} @@ -3205,12 +3243,27 @@ % % Disable the language-specific settings if the package option isn't used. % \begin{macrocode} -\ifthenelse{\boolean{minted@langlinenos}}{}{% - \let\minted@langlinenoson\relax - \let\minted@langlinenosoff\relax +\ifbool{minted@langlinenos}{}{% + \ifbool{minted@inputlanglinenos}{}{% + \let\minted@langlinenoson\relax + \let\minted@langlinenosoff\relax + } } % \end{macrocode} % +% \begin{macro}{\minted@inputlanglinenoson} +% \begin{macro}{\minted@inputlanglinenosoff} +% Language-specific settings that apply to |\inputminted| in addition to |minted| and |\mintinline|. +% \begin{macrocode} +\ifbool{minted@inputlanglinenos}% + {\def\minted@inputlanglinenoson{\minted@langlinenoson}% + \def\minted@inputlanglinenosoff{\minted@langlinenosoff}}% + {\let\minted@inputlanglinenoson\relax + \let\minted@inputlanglinenosoff\relax} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % % % \subsection{Public API} @@ -3420,14 +3473,18 @@ \minted@configlang{#2}% \setkeys{minted@opt@cmd}{#1}% \minted@fvset + \minted@inputlanglinenoson \VerbatimInput{#3}% + \minted@inputlanglinenosoff \endgroup}}% {\newcommand{\inputminted}[3][]{% \begingroup \minted@configlang{#2}% \setkeys{minted@opt@cmd}{#1}% \minted@fvset + \minted@inputlanglinenoson \minted@pygmentize[#3]{#2}% + \minted@inputlanglinenosoff \endgroup}} % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/minted/minted.pdf b/macros/latex/contrib/minted/minted.pdf Binary files differindex bfbe68653a..88b374271b 100644 --- a/macros/latex/contrib/minted/minted.pdf +++ b/macros/latex/contrib/minted/minted.pdf diff --git a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf Binary files differindex 3d310e11a5..738dac8ff3 100644 --- a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf +++ b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex index 3448505b57..8ab5d9d04c 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex @@ -4,7 +4,7 @@ % This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class. % -% Version: 1.07, 2023/09/04 +% Version: 1.08, 2023/09/11 % % Author: John H. Lienhard, copyright 2023. Reuse under the MIT license: https://ctan.org/license/mit @@ -20,7 +20,7 @@ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[twoside]{mitthesis} %,fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 +\documentclass[twoside,mydesign]{mitthesis} %,fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2 % % option [twoside] gives facing-page behavior for printing; omitting twoside will eliminate even-numbered blank pages. % option [lineno] provides line numbers, as for editing diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex index 935408ea07..8795eb547e 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex @@ -1,7 +1,8 @@ % From mitthesis package -% Version: 1.02, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-defaultfonts.tex}[2023/09/12 v1.03 Load Computer/Latin Modern text and math fonts] + %% Default fonts % \ifpdftex diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex index 90ab699b18..01fa981d78 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.03, 2023/08/29 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-fira-newtxsf.tex}[2023/09/12 v1.04 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font] %% Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font % @@ -13,7 +13,7 @@ \RequirePackage[scaled=1.05]{newtxsf} % sans serif math \RequirePackage{bm} \else - \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts} + \ClassWarning{mitnewthesis}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts} \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} % suppress tiresome warnings about lack of integration between mathtools and unicode-math. % Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case. diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex index fabfd030cf..26ee2ab07b 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.01, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-heros-stix2.tex}[2023/09/12 v1.02 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font] %% TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font % diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex index 12e2a80ef6..57cf26f915 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex @@ -1,7 +1,8 @@ % From mitthesis package -% Version: 1.01, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-libertine.tex}[2023/09/12 v1.02 Load Libertine and related fonts] + %% Linux Libertine (serif) text font with newtxmath[libertine] (pdftex) or Libertinus (unicode) math font % % These fonts are available here https://ctan.org/tex-archive/fonts/libertine/opentype @@ -9,7 +10,7 @@ % install these as system fonts on your computer % \ifpdftex - \typeout{^^JLoading newtx-libertine text and math fonts with insolata typewriter font^^J} + \typeout{^^JLoading newtx-libertine text and math fonts with Insolata typewriter font^^J} \RequirePackage[lining,semibold]{libertine} \RequirePackage[T1]{fontenc} \RequirePackage[varqu,varl]{inconsolata}% typewriter diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex index 57107e7624..6466c36929 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.01, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-lucida.tex}[2023/09/12 v1.02 Load Lucida fonts] %% Lucida Bright and Lucida Bright Math fonts (available from the TeX Users Group) diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex index faa64929b0..a599af35e2 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.01, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/09/12 v1.02 Load newtx sans-serif text and regular math fonts] %% newtx package with sans-serif text (Helvetica-like text with Times-like math) % diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex index 2d4f5b0110..cc43427055 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.02, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-newtx.tex}[2023/09/12 v1.03 Load newtx text and math fonts] \ifpdftex \typeout{^^JLoading newtx fonts with inconsolata typewriter^^J} diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex index b85f36d727..de3983fe4e 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.02, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-stix2.tex}[2023/09/12 v1.03 Load STIX Two text and math fonts] %% STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font % diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex index 62a5013a50..1e65724cc0 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.02, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-termes-stix2.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font] %% TeX Gyre Termes text font and Heros sans serif font with STIX2 math font and Inconsolata monospaced font % diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex index 6579eb4f31..64fffb9264 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.02, 2023/07/03 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mitthesis-termes.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font] %% TeX Gyre Termes (Times-like) text font with Termes math font and Heros sans serif font and Cursor monospaced font % diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex index 2bfd4625ec..5694b372e4 100644 --- a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex +++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex @@ -1,7 +1,7 @@ % From mitthesis package -% Version: 1.01, 2023/09/04 % Documentation: https://ctan.org/pkg/mitthesis +\ProvidesFile{mydesign.tex}[2023/09/12 v1.02 Typographic design options for thesis] %%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/macros/latex/contrib/mitthesis/README.md b/macros/latex/contrib/mitthesis/README.md index 181daae385..d870fb11d5 100644 --- a/macros/latex/contrib/mitthesis/README.md +++ b/macros/latex/contrib/mitthesis/README.md @@ -1,7 +1,7 @@ #mitthesis --- A LaTeX template for an MIT thesis# - v1.07 dated 2023/09/04 + v1.08 dated 2023/09/12 ####Overview#### This class provides a LaTeX template to format an MIT thesis according to @@ -30,9 +30,9 @@ appendixa.tex -- put your first appendix in this file (etc.) mitthesis-sample.bib -- a sample bibliography file with many examples mydesign.tex -- an optional file to load packages for document design + fontsets/ -- a subdirectory of input files that load optional fonts * mitthesis-doc/ -- documentation for usage and options - fontsets/ -- a directory of input files that load optional fonts examples/font_samples/ -- sample theses in different fonts examples/cover_page_samples/ @@ -53,8 +53,12 @@ --- ####Change log#### + v1.08 (11 September 2023): + - accommodate recent changes in hyperxmp package (used when \\DocumentMetadata is not called) + - various minor edits + v1.07 (04 September 2023): - - Improve handling of custom fontset files; move fontset directory into MIT-theis-template directory + - Improve handling of custom fontset files; move fontset directory into MIT-thesis-template directory - Remove unnecessary latex code - Move hyperlink and line number color choices to mydesign.tex - Enable some backward compatibility in expl3 code diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf Binary files differindex 20d0a5f9bb..5f89df615f 100644 --- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf +++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex index 0aa76e0156..1471f6dc00 100644 --- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex +++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex @@ -222,7 +222,7 @@ \section*{The MIT thesis template} -\LaTeX\ has changed tremendously since the original MIT thesis template was written in the 1980s. \LaTeX\ 2.09 was replaced by \LaTeX2e\ in the 1994. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the \LaTeX\ kernel began in 2018. Further, the MIT Libraries have changed the required format several times, especially as electronic thesis submission has become the norm. The original template served MIT well, but by the early 2020's, it was substantially out of date. +\LaTeX\ has changed tremendously since the original MIT thesis template was written in the 1980s. \LaTeX\ 2.09 was replaced by \LaTeX2e\ in 1994. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the \LaTeX\ kernel began in 2018. Further, the MIT Libraries have changed the required format several times, especially as electronic thesis submission has become the norm. The original template served MIT well, but by the early 2020s, it was substantially out of date. This \textit{new} MIT thesis template was developed in 2023 at the request of the MIT Libraries. The title and abstract pages strictly follow the current requirements of the Libraries. The underlying code is entirely new. @@ -443,15 +443,6 @@ produces the nomenclature list below \end{minipage} \end{center} -\section*{Resources for \LaTeX} -\LaTeX\ documentation is easy to find online. A few useful resources, among many, are these: -\begin{description} -\item[\LaTeX\ Wikibook.] \url{https://en.wikibooks.org/wiki/LaTeX}. An online tutorial book. -\item[\LaTeX 2e: An unofficial reference manual.] \url{https://latexref.xyz/dev/latex2e.html}. A comprehensive explanation of each \LaTeX\ command, from the \TeX\ User's Group. -\item[\TeX\ Stack-Exchange.]\ \url{https://tex.stackexchange.com/}. More than 250,000 answered questions, and you can ask your own! -\item[ChatGPT.] At the time of this writing, ChatGPT, a large language model-based chatbot, could both answer some \LaTeX-related questions and write acceptable \LaTeX\ and expl3 code. -\end{description} - \section*{Additional commands} The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed. @@ -466,9 +457,19 @@ If you wish to adapt this template for use at a different institution, you can p \end{itemize} Please do not remove the license/copyright text from the sources files --- it took me some time to compose all this! -\vskip 30pt +\section*{Resources for \LaTeX} +\LaTeX\ documentation is easy to find online. A few useful resources, among many, are these: +\begin{description} +\item[\LaTeX\ Wikibook.] \url{https://en.wikibooks.org/wiki/LaTeX}. An online tutorial book. +\item[\LaTeX 2e: An unofficial reference manual.] \url{https://latexref.xyz/dev/latex2e.html}. A comprehensive explanation of each \LaTeX\ command, from the \TeX\ User's Group. +\item[\TeX\ Stack-Exchange.]\ \url{https://tex.stackexchange.com/}. More than 250,000 answered questions, and you can ask your own! +\item[ChatGPT.] At the time of this writing, ChatGPT, a large language model-based chatbot, could both answer some \LaTeX-related questions and write acceptable \LaTeX\ and expl3 code. +\end{description} + + +\vskip 40pt -\centering{\color{Red3}\large\textbf{\textit{Good luck with your thesis and your thesis defense!}} +\centering{\color{Red3}\Large\textbf{\textit{Good luck with your thesis and your thesis defense!}} \end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/mitthesis/mitthesis.cls b/macros/latex/contrib/mitthesis/mitthesis.cls index 6cba02e334..7118d8df9b 100644 --- a/macros/latex/contrib/mitthesis/mitthesis.cls +++ b/macros/latex/contrib/mitthesis/mitthesis.cls @@ -7,8 +7,8 @@ %% MIT Libraries' requirements as of 2023. %% %% This file's version and date: - \def\versionno{1.07} - \def\versiondate{2023/09/04\space} + \def\versionno{1.08} + \def\versiondate{2023/09/11\space} %% %% Author: John H. Lienhard, V %% Department of Mechanical Engineering @@ -65,6 +65,7 @@ } % check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp) +\newif\ifmit@pdfmanagement \ExplSyntaxOn \msg_new:nnn { \ClassName } { loading_hyperxmp } { pdfmanagement\ is\ not\ active.\ Will\ load\ hyperxmp\ instead. } % As of 2021/07/23 we could instead use \IfPDFManagementActiveTF{true code}{false code} @@ -75,13 +76,12 @@ { \cs_if_exist_p:N \pdfmanagement_if_active_p: } { \pdfmanagement_if_active_p: } } - { \scan_stop: } - { \RequirePackage{hyperxmp} + { \mit@pdfmanagementtrue } + { \mit@pdfmanagementfalse \msg_warning:nn { \ClassName } { loading_hyperxmp } } - }{ - \RequirePackage{hyperxmp} - \msg_warning:nn { \ClassName } { loading_hyperxmp } + }{ \mit@pdfmanagementfalse + \msg_warning:nn { \ClassName } { loading_hyperxmp } } \ExplSyntaxOff @@ -247,8 +247,12 @@ \providecommand\hrefurl[2]{\href{#1}{#2}}% in case \DocumentMetadata has not been loaded \RequirePackage{doi} % create macro for hyperlinking doi numbers -% the user can override alter these choices in the preamble, or -% by using \AtBeginDocument{ \hypersetup{..} } in mydesign.tex +\ifmit@pdfmanagement\else + \RequirePackage{hyperxmp} +\fi + +% the user can alter these choices in the preamble, or by +% using \AtBeginDocument{ \hypersetup{..} } in mydesign.tex \hypersetup{ colorlinks=true, pdfborder={0 0 0}, @@ -565,7 +569,8 @@ { Missing\ acceptor\ department,\ check\ for\ blank\ in\ \Acceptor{name}{department}{title}\ command. }{ You\ MUST\ provide\ the\ acceptor's\ department\ using\ the\ \Acceptor{name}{department}{title}\ command.} \msg_new:nnn { \ClassName } { blank_acceptor_title } - { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\ Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\ You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\ For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.} + { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\ Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\ + You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\ For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.} \cs_new_protected:Nn \__acceptor_data_add:nnn { diff --git a/macros/latex/contrib/se2thesis/CHANGELOG.md b/macros/latex/contrib/se2thesis/CHANGELOG.md index a7a887addf..28d32ce95b 100644 --- a/macros/latex/contrib/se2thesis/CHANGELOG.md +++ b/macros/latex/contrib/se2thesis/CHANGELOG.md @@ -7,6 +7,19 @@ and this project adheres to ## [Unreleased] +## [v3.2.0] – 2023–09–12 + +### Changed + +- Remove deprecated options from `siunitx` loading. +- Use `inconsolata-nerd-font` as the default mono-spaced font. +- Updates on the documentation. + +### Removed + +- Removed option `fontmode` of the `se2thesis` class, which was already + deprecated. + ## [v3.1.0] – 2023–07–04 ### Changed @@ -137,6 +150,7 @@ These changes might be breaking changes! ### Added - First official release +[v3.2.0]: https://github.com/se2p/se2thesis/compare/v3.2.0...v3.1.0 [v3.1.0]: https://github.com/se2p/se2thesis/compare/v3.1.0...v3.0.0 [v3.0.0]: https://github.com/se2p/se2thesis/compare/v3.0.0...v2.1.0 [v2.1.0]: https://github.com/se2p/se2thesis/compare/v2.1.0...v2.0.0 diff --git a/macros/latex/contrib/se2thesis/README.md b/macros/latex/contrib/se2thesis/README.md index 006085d427..f5441905bf 100644 --- a/macros/latex/contrib/se2thesis/README.md +++ b/macros/latex/contrib/se2thesis/README.md @@ -12,3 +12,12 @@ users. However, the package's documentation also provides recommendations regarding several aspects, for example, recommending [biblatex](https://ctan.org/pkg/biblatex) for bibliographies. + +## License + +The bundle is licensed under the terms of the +[LaTeX Project Public License (LPPL)](https://www.latex-project.org/lppl.txt), +version 1.3c. + +Its current maintenance status is “maintained”, +the current maintainer is [Stephan Lukasczyk](https://github.com/stephanlukasczyk). diff --git a/macros/latex/contrib/se2thesis/se2colors.dtx b/macros/latex/contrib/se2thesis/se2colors.dtx index 8b4f738c8c..4460b22889 100644 --- a/macros/latex/contrib/se2thesis/se2colors.dtx +++ b/macros/latex/contrib/se2thesis/se2colors.dtx @@ -50,14 +50,14 @@ % \GetFileInfo{se2colors.sty} % % \title{^^A -% \pkg{se2colors} -- Colour Definitions for the \pkg{se2thesis} Bundle^^A +% \pkg{se2colors}---Colour Definitions for the \pkg{se2thesis} Bundle^^A % \thanks{This file describes \fileversion, last revised \filedate.}^^A % } % % \author{^^A % Stephan Lukasczyk^^A % \thanks{^^A -% E-mail: \href{mailto:tex@lukasczyk.me}{tex@lukasczyk.me}^^A +% E-mail: \href{mailto:stephan@dante.de}{stephan@dante.de}^^A % }^^A % } % @@ -231,7 +231,7 @@ % % Identify the package and give the overall version information. % \begin{macrocode} -\ProvidesExplPackage {se2colors} {2023-07-04} {3.1.0} +\ProvidesExplPackage {se2colors} {2023-09-12} {3.2.0} {A colour support package for the se2thesis bundle} % \end{macrocode} % diff --git a/macros/latex/contrib/se2thesis/se2fonts.dtx b/macros/latex/contrib/se2thesis/se2fonts.dtx index 09e2351a94..e3ad0016da 100644 --- a/macros/latex/contrib/se2thesis/se2fonts.dtx +++ b/macros/latex/contrib/se2thesis/se2fonts.dtx @@ -44,14 +44,14 @@ % \GetFileInfo{se2fonts.sty} % % \title{^^A -% \pkg{se2fonts} -- Font Definitions for the \pkg{se2thesis} Bundle^^A +% \pkg{se2fonts}---Font Definitions for the \pkg{se2thesis} Bundle^^A % \thanks{This file describes \fileversion, last revised \filedate.}^^A % } % % \author{^^A % Stephan Lukasczyk^^A % \thanks{^^A -% E-mail: \href{mailto:tex@lukasczyk.me}{tex@lukasczyk.me}^^A +% E-mail: \href{mailto:stephan@dante.de}{stephan@dante.de}^^A % }^^A % } % @@ -75,8 +75,8 @@ % we use the \emph{Libertinus} fonts\footnote{ % \href{https://github.com/alerque/libertinus}{https://github.com/alerque/libertinus} % } for serif, sans-serif, and math typesetting -% and the \emph{Anonymous Pro} font\footnote{ -% \href{https://www.marksimonson.com/fonts/view/anonymous-pro}{https://www.marksimonson.com/fonts/view/anonymous-pro} +% and the \emph{Inconsolata} font\footnote{ +% \href{http://levien.com/type/myfonts/inconsolata.html}{http://levien.com/type/myfonts/inconsolata.html} % } as a monospaced font. % % \emph{Please note:} this change might affect they way your documents look, @@ -91,19 +91,11 @@ % The following options are defined by the \pkg{se2fonts} package % to influence the selection of the fonts. % -% \begin{function}[updated = 2022-11-03, deprecated = 2023-01-05]{fmode} -% \begin{syntax} -% |fmode| = \meta{choice} -% \end{syntax} -% The argument is deprecated and will raise a warning. -% It is to be removed by a future version of the \pkg{se2thesis} bundle. -% \end{function} -% % The following list provides examples for each of the fonts: % \begin{itemize} % \item {\fontspec{LibertinusSerif}An example text in Libertinus Serif} % \item {\fontspec{LibertinusSans}An example text in Libertinus Sans} -% \item {\fontspec{AnonymousPro}An example text in Anonymous Pro} +% \item {\fontspec{inconsolata}An example text in Inconsolata} % \end{itemize} % % The package provides additional helper functions @@ -159,7 +151,7 @@ % % Identify the package and give the overall version information. % \begin{macrocode} -\ProvidesExplPackage {se2fonts} {2023-07-04} {3.1.0} +\ProvidesExplPackage {se2fonts} {2023-09-12} {3.2.0} {A font-selection support package for the se2thesis bundle} % \end{macrocode} % @@ -285,19 +277,9 @@ \RequirePackage{libertinus-otf} % \end{macrocode} % -% Load the \emph{Anonymous Pro} monospaced font. +% Load the \emph{Inconsolata Nerd Font} monospaced font. % \begin{macrocode} - \setmonofont{AnonymousPro}[ - RawFeature = {+tnum, +lnum}, - Scale = {MatchLowercase}, - FakeStretch = {0.9}, - UprightFont = *-Regular, - ItalicFont = *-Italic, - SlantedFont = *-Italic, - BoldFont = *-Bold, - BoldItalicFont = *-BoldItalic, - Extension = .ttf, - ] + \RequirePackage{inconsolata-nerd-font} % \end{macrocode} % % \begin{macrocode} @@ -307,10 +289,10 @@ % The user does not use \LuaTeX{}, thus fallback to T1 fonts. % \begin{macrocode} \PassOptionsToPackage{T1}{fontenc} - \PassOptionsToPackage{scale=0.85}{AnonymousPro} + \PassOptionsToPackage{scaled=0.9,varl}{inconsolata} \PassOptionsToPackage{mono=false}{libertinus-type1} \RequirePackage{fontenc} - \RequirePackage{AnonymousPro} + \RequirePackage{inconsolata} \RequirePackage{libertinus-type1} } % \end{macrocode} diff --git a/macros/latex/contrib/se2thesis/se2packages.dtx b/macros/latex/contrib/se2thesis/se2packages.dtx index 1e987c3575..f1a530ba4d 100644 --- a/macros/latex/contrib/se2thesis/se2packages.dtx +++ b/macros/latex/contrib/se2thesis/se2packages.dtx @@ -42,7 +42,7 @@ % \GetFileInfo{se2packages.sty} % % \title{^^A -% \pkg{se2packages} -- Supporting Packages for the \pkg{se2thesis} Bundle^^A +% \pkg{se2packages}---Supporting Packages for the \pkg{se2thesis} Bundle^^A % \thanks{This file describes \fileversion, last revised \filedate.}^^A % } % @@ -431,7 +431,7 @@ % % Identify the package and give the overall version information. % \begin{macrocode} -\ProvidesExplPackage {se2packages} {2023-07-04} {3.1.0} +\ProvidesExplPackage {se2packages} {2023-09-12} {3.2.0} {Supporting packages for the se2thesis bundle} % \end{macrocode} % @@ -621,6 +621,7 @@ \bool_if:NT \l_@@_csquotes_bool { \msg_info:nnn { seiipackages } { load-package } { csquotes } + \RequirePackage{fvextra} \RequirePackage{csquotes} } % \end{macrocode} @@ -641,8 +642,6 @@ \msg_info:nnn { seiipackages } { load-package } { siunitx } \RequirePackage[ add-integer-zero=false, - detect-inline-weight=math, - detect-weight=true, free-standing-units, group-minimum-digits=4, list-final-separator={, and }, diff --git a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf Binary files differindex 8cb95d80c3..a6a215ff14 100644 --- a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf +++ b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf diff --git a/macros/latex/contrib/se2thesis/se2thesis.dtx b/macros/latex/contrib/se2thesis/se2thesis.dtx index 9e04544bab..7f1fbbdde0 100644 --- a/macros/latex/contrib/se2thesis/se2thesis.dtx +++ b/macros/latex/contrib/se2thesis/se2thesis.dtx @@ -38,14 +38,14 @@ % \GetFileInfo{se2colors.sty} % % \title{^^A -% \pkg{se2thesis} -- Overall set up^^A +% \pkg{se2thesis}---Overall set up^^A % \thanks{This file describes \fileversion, last revised \filedate.}^^A % } % % \author{^^A % Stephan Lukasczyk^^A % \thanks{^^A -% E-Mail: \href{mailto:tex@lukasczyk.me}{tex@lukasczyk.me}^^A +% E-Mail: \href{mailto:stephan@dante.de}{stephan@dante.de}^^A % }^^A % } % @@ -76,7 +76,10 @@ % Its main class is the \pkg{se2thesis} document class, % an extension of the \KOMAScript{} |scrreprt| document class. % The packages \pkg{se2colors} and \pkg{se2fonts} provide necessary -% colour and font settings for the \pkg{se2thesis} class. +% colour and font settings for the \pkg{se2thesis} class; +% the \pkg{se2packages} allows to load several recommended packages~(see +% \cref{sec:doc-se2packages}) with our recommended, +% predefined settings. % They are available as separate packages, however, to allow their reuse for % other classes, packages, and projects, as well. % @@ -110,7 +113,9 @@ % Please note that \texttt{l3build} also provides a |l3build install| target % to install the bundle files to your local texmf tree. % -% The “Island of \TeX{}” project provides Docker images of \TeXLive. +% The “Island of \TeX{}” project provides Docker images of \TeXLive\footnote{% +% \href{https://islandoftex.gitlab.io/community/projects/docker/}{islandoftex.gitlab.io/community/projects/docker/} +% }. % If you do not want to install/update \TeXLive{} on your system % you might want to consider their \texttt{latest} image, % which contains a recent \TeXLive{} 2023 build. @@ -190,10 +195,11 @@ % |class| = \meta{choice} % \end{syntax} % Set the base document class. -% Values are \cls{scrreprt}, \cls{scrartcl}, or \cls{scrbook}. +% Values are \cls{scrreprt} or \cls{scrbook}. +% \emph{Note:} you cannot use \cls{scrartcl} because it does not provide +% the required |chapter| sectioning. % Default is |scrbook|. % \end{function} -% % \begin{function}{paper} % \begin{syntax} % |paper| = \meta{choice} @@ -230,16 +236,6 @@ % package, see \cref{sec:doc-se2colors} for a description. % \end{function} % -% \begin{function}[updated = 2023-01-10]{fontmode} -% \begin{syntax} -% |fontmode| = \meta{choice} -% \end{syntax} -% Select the font scheme used by the automatically loaded \pkg{se2fonts} -% package, see \cref{sec:doc-se2fonts} for a description. -% -% \emph{This option is deprecated and will be removed in the future!} -% \end{function} -% % % \subsection{The title page}\label{sec:doc-se2thesis-title} % @@ -589,7 +585,7 @@ % % Identify the class and give the overall version number. % \begin{macrocode} -\ProvidesExplClass {se2thesis} {2023-07-04} {3.1.0} +\ProvidesExplClass {se2thesis} {2023-09-12} {3.2.0} {A thesis class for the Chair of Software Engineering II} % \end{macrocode} % @@ -647,7 +643,7 @@ % \l_@@_clsopts_prop, % \l_@@_unknown_clsopts_prop % } -% Store the base class, the known, and the unknown class options. +% Store the known and the unknown class options. % The latter will be forwarded to the base class later. % \begin{macrocode} \tl_new:N \l_@@_base_class_tl @@ -734,7 +730,6 @@ % \l_@@_licensemodifier_tl, % \l_@@_licenseversion_tl, % \l_@@_colormode_tl, -% \l_@@_fontmode_tl, % } % \begin{macrocode} \keys_define:nn { seiithesis } @@ -742,8 +737,6 @@ class .choice:, class / report .meta:n = {class=scrreprt}, class / scrreprt .code:n = \tl_gset:Nn \l_@@_base_class_tl {scrreprt}, - class / article .meta:n = {class=scrartcl}, - class / scrartcl .code:n = \tl_gset:Nn \l_@@_base_class_tl {scrartcl}, class / book .meta:n = {class=scrbook}, class / scrbook .code:n = \tl_gset:Nn \l_@@_base_class_tl {scrbook}, class .initial:n = scrbook, @@ -776,11 +769,6 @@ }, colormode .initial:n = cmyk, - fontmode .choices:nn = {original,replacement,auto}{ - \tl_gset_eq:NN \l_@@_fontmode_tl \l_keys_choice_tl - }, - fontmode .initial:n = auto, - unknown .code:n = { \prop_gput:NVn \l_@@_unknown_clsopts_prop \l_keys_key_tl {#1} }, @@ -1615,7 +1603,7 @@ % We provide the following English translations. % % \begin{macrocode} -\ProvideDictionaryFor{English}{se2translations}[2023/07/04] +\ProvideDictionaryFor{English}{se2translations}[2023/09/12] \ProvideDictTranslation{abstract}{abstract} \ProvideDictTranslation{Abstract}{Abstract} \ProvideDictTranslation{acknowledgement}{acknowledgement} @@ -1666,7 +1654,7 @@ % We provide the following German translations. % % \begin{macrocode} -\ProvideDictionaryFor{German}{se2translations}[2023/07/04] +\ProvideDictionaryFor{German}{se2translations}[2023/09/12] \ProvideDictTranslation{abstract}{Zusammenfassung} \ProvideDictTranslation{Abstract}{Zusammenfassung} \ProvideDictTranslation{acknowledgement}{Danksagung} diff --git a/macros/latex/contrib/se2thesis/se2thesis.pdf b/macros/latex/contrib/se2thesis/se2thesis.pdf Binary files differindex 04e910061f..6e771da96d 100644 --- a/macros/latex/contrib/se2thesis/se2thesis.pdf +++ b/macros/latex/contrib/se2thesis/se2thesis.pdf diff --git a/macros/latex/contrib/se2thesis/se2thesis.tex b/macros/latex/contrib/se2thesis/se2thesis.tex index 4747857e55..eac8fdf59e 100644 --- a/macros/latex/contrib/se2thesis/se2thesis.tex +++ b/macros/latex/contrib/se2thesis/se2thesis.tex @@ -143,7 +143,7 @@ for those people who are interested. \makeatother \usepackage[UKenglish]{babel} -\usepackage{fontspec} +\usepackage{se2fonts} \usepackage{hvlogos} % Taken from xcolor.dtx @@ -155,7 +155,7 @@ for those people who are interested. \usepackage{hvfloat} \hypersetup{% allcolors=UPSE2-Blue,% - pdftitle={se2thesis -- A Thesis Class for the Chair of Software Engineering II + pdftitle={se2thesis---A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany},% pdfauthor={Stephan Lukasczyk}, } @@ -166,7 +166,7 @@ for those people who are interested. \GetFileInfo{se2colors.sty} \title{% - \pkg{se2thesis} -- A Thesis Class for the Chair of Software + \pkg{se2thesis}---A Thesis Class for the Chair of Software Engineering~II at the University of Passau, Germany% \thanks{This file describes \fileversion, last revised \filedate.}% @@ -175,7 +175,7 @@ for those people who are interested. \author{% Stephan Lukasczyk% \thanks{% - E-mail: \href{mailto:tex@lukasczyk.me}{tex@lukasczyk.me}% + E-mail: \href{mailto:stephan@dante.de}{stephan@dante.de}% }% } @@ -234,6 +234,7 @@ starting at page~\pageref{sec:impl}, for those who are curious. \EnableImplementation \DisableDocumentation +\clearpage \part{Implementation}\label{sec:impl} The second part of this file provides the implementation of the package diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md index a94ed0408f..0429aa3cc1 100644 --- a/macros/latex/required/babel/base/README.md +++ b/macros/latex/required/babel/base/README.md @@ -1,6 +1,6 @@ -s## Babel 3.93 +## Babel 3.94 -2023-08-29 +2023-09-12 This package manages culturally-determined typographical (and other) rules, and hyphenation patterns for a wide range of languages. Many @@ -10,9 +10,9 @@ is a set of ini files for about 250 languages. The latest stable version is available on <https://ctan.org/pkg/babel>. -Changes in version 3.93 are described in: +Changes in version 3.94 are described in: -https://latex3.github.io/babel/news/whats-new-in-babel-3.93.html +https://latex3.github.io/babel/news/whats-new-in-babel-3.94.html Apart from the manual, you can find information on some aspects of babel at: @@ -48,15 +48,15 @@ respective authors. ### Summary of latest changes ``` -3.93 2023-08-29 - * More Hebrew numerals (also Yiddish). - * Chinese calendar. +3.94 2023-09-12 + * Chinese dates (numeric and sexagenary). + * New locales: Javanese, Nigerian Pidgin, Maithili, Wolof. + * Minimum locales: Balinese, Ladino, Old Norse, Lombard, Navajo, Akkadian. + * New transform for kashida (by Christian Lück). * Fixes: - - Table with Arabic text corrupted when trying to colour cells (#252). - - Bold small caps were wrong in some cases (#92). - - Missing numerals in 'sanskri'`. - * Added a few ‘bare minimum locales’: Southern Altai, Divehi, - Ancient Egyptian, Egyptian Arabic, Phoenician, Newari. + - Babel is not aware of \if@nonlatin conditional from bidi (#256). + - Referencing equations doesn't use custom tags (#260). + - Hyphenation error with Tibetan and lualatex (#261). ``` ### Previous changes diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf Binary files differindex 1902f1390c..abbc49c0f4 100644 --- a/macros/latex/required/babel/base/babel-code.pdf +++ b/macros/latex/required/babel/base/babel-code.pdf diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx index 55b6e0c26f..95ede8b7f4 100644 --- a/macros/latex/required/babel/base/babel.dtx +++ b/macros/latex/required/babel/base/babel.dtx @@ -32,7 +32,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2023/08/29 v3.93 The Babel package] +\ProvidesFile{babel.dtx}[2023/09/12 v3.94 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -2042,6 +2042,7 @@ inuktitut\\ irish\\ italian\\ japanese\\ +javanese\\ jju\\ jolafonyi\\ kabuverdianu\\ @@ -2081,6 +2082,7 @@ luxembourgish\\ luyia\\ macedonian\\ machame\\ +maithiri\\ makhuwameetto\\ makonde\\ malagasy\\ @@ -2114,6 +2116,7 @@ ngerman\\ ngiemboon\\ ngomba\\ nheengatu\\ +nigerianpidgin\\ nko\\ norsk\\ northernkurdish\\ @@ -2277,6 +2280,7 @@ walser\\ welsh\\ westernfrisian\\ wolaytta\\ +wolof\\ yangben\\ yiddish\\ yoruba\\ @@ -2288,6 +2292,30 @@ zulu \bigskip +Many locale templates are quite useable, provided captions and dates are +not required (which is a very frequent case, particularly in ancient +languages). So, they will be included in the default \babel{} distribution. +This can serve to encourage contributions, too. A warning will remember +they are ‘bare minumum locales’. The locales are currently +the following: +\begin{multicols}{4} +\small +akkadian\\ +ancientegyptian\\ +balinese\\ +divehi\\ +egyptianarabic\footnote{Masri or Colloquial Egyptian, with tag +\texttt{arz}, not to be confused with the Standard Arabic as spoken in +Egypt, with tag \texttt{ar-EG}).}\\ +ladino\\ +lombard\\ +navajo\\ +newari\\ +oldnorse\\ +phoenician\\ +southernaltai +\end{multicols} + \textbf{Modifying and adding values to |ini| files} \nobreak @@ -3145,7 +3173,7 @@ the current date is converted and stored in the three last arguments, which must be macros. Allowed calendars are: \begin{multicols}{4} |buddhist|\\ - |chinese| (strings in locales pending) \New{3.93}\\ + |chinese| \New{3.94}\\ |coptic|\\ |ethiopic|\\ |hebrew|\\ @@ -5499,8 +5527,8 @@ wouldn’t exist. % \section{Tools} % % \begin{macrocode} -%<<version=3.93>> -%<<date=2023/08/29>> +%<<version=3.94>> +%<<date=2023/09/12>> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -11212,6 +11240,7 @@ wouldn’t exist. {There is little you can do. Sorry.}% \fi\fi\fi\fi}} \newcommand\BabelDateyyyy[1]{{\number#1}} % TODO - add leading 0 +\newcommand\BabelDateU[1]{{\number#1}}% \def\bbl@replace@finish@iii#1{% \bbl@exp{\def\\#1####1####2####3{\the\toks@}}} \def\bbl@TG@@date{% @@ -11225,7 +11254,9 @@ wouldn’t exist. \bbl@replace\bbl@toreplace{[y]}{\BabelDatey{####1}}% \bbl@replace\bbl@toreplace{[yy]}{\BabelDateyy{####1}}% \bbl@replace\bbl@toreplace{[yyyy]}{\BabelDateyyyy{####1}}% + \bbl@replace\bbl@toreplace{[U]}{\BabelDateU{####1}}% \bbl@replace\bbl@toreplace{[y|}{\bbl@datecntr[####1|}% + \bbl@replace\bbl@toreplace{[U|}{\bbl@datecntr[####1|}% \bbl@replace\bbl@toreplace{[m|}{\bbl@datecntr[####2|}% \bbl@replace\bbl@toreplace{[d|}{\bbl@datecntr[####3|}% \bbl@replace@finish@iii\bbl@toreplace} @@ -12417,7 +12448,12 @@ wouldn’t exist. \AtEndOfPackage{% \EnableBabelHook{babel-bidi}% \bbl@loadfontspec % bidi needs fontspec - \usepackage#1{bidi}}% + \usepackage#1{bidi}% + \let\bbl@digitsdotdash\DigitsDotDashInterCharToks + \def\DigitsDotDashInterCharToks{% See the 'bidi' package + \ifnum\@nameuse{bbl@wdir@\languagename}=\tw@ % 'AL' bidi + \bbl@digitsdotdash % So ignore in 'R' bidi + \fi}}% \fi} \ifnum\bbl@bidimode>200 % Any xe bidi= \ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or @@ -12465,7 +12501,7 @@ wouldn’t exist. \global\bbl@csarg\chardef{wdir@#1}\@ne \bbl@xin@{\csname bbl@sname@#1\endcsname}{\bbl@alscripts}% \ifin@ - \global\bbl@csarg\chardef{wdir@#1}\tw@ % useless in xetex + \global\bbl@csarg\chardef{wdir@#1}\tw@ \fi \else \global\bbl@csarg\chardef{wdir@#1}\z@ @@ -12506,9 +12542,11 @@ wouldn’t exist. \def\bbl@textdir#1{% \ifcase#1\relax \chardef\bbl@thetextdir\z@ + \@nameuse{setlatin}% \bbl@textdir@i\beginL\endL \else \chardef\bbl@thetextdir\@ne + \@nameuse{setnonlatin}% \bbl@textdir@i\beginR\endR \fi} \def\bbl@textdir@i#1#2{% @@ -14503,7 +14541,7 @@ end \catcode`_=11 \catcode`:=11 \gdef\bblar@nofswarn{\gdef\msg_warning:nnx##1##2##3{}} \endgroup -\gdef\bbl@arabicjust{% +\gdef\bbl@arabicjust{% TODO. Allow for serveral locales. \let\bbl@arabicjust\relax \newattribute\bblar@kashida \directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar@kashida' }% @@ -14699,13 +14737,15 @@ function Babel.arabic.justify_hlist(head, line, gc, size, pack) width = node.dimensions(line.head) % The 'natural' width k_curr = #k_list % Traverse backwards, from the end wt_pos = 1 - + while width < goal do subst_done = true k_item = k_list[k_curr].node - if k_list[k_curr].weight == Babel.kashida_wts[wt_pos] then + if k_list[k_curr].weight == Babel.kashida_wts[wt_pos] then d = node.copy(k_item) d.char = 0x0640 + d.yoffset = 0 % TODO. From the prev char. But 0 seems safe. + d.xoffset = 0 line.head, new = node.insert_after(line.head, k_item, d) width_new = node.dimensions(line.head) if width > goal or width == width_new then @@ -15356,9 +15396,7 @@ end %<</More package options>> % \ifnum\bbl@bidimode>\z@ % Any bidi= - \ifx\matheqdirmode\@undefined\else - \matheqdirmode\@ne % A luatex primitive - \fi + \matheqdirmode\@ne % A luatex primitive \let\bbl@eqnodir\relax \def\bbl@eqdel{()} \def\bbl@eqnum{% @@ -15371,17 +15409,21 @@ end \def\bbl@eqno@flip#1{% \ifdim\predisplaysize=-\maxdimen \eqno - \hb@xt@.01pt{\hb@xt@\displaywidth{\hss{#1}}\hss}% + \hb@xt@.01pt{% + \hb@xt@\displaywidth{\hss{#1\glet\bbl@upset\@currentlabel}}\hss}% \else - \leqno\hbox{#1}% - \fi} + \leqno\hbox{#1\glet\bbl@upset\@currentlabel}% + \fi + \bbl@exp{\def\\\@currentlabel{\[bbl@upset]}}} \def\bbl@leqno@flip#1{% \ifdim\predisplaysize=-\maxdimen \leqno - \hb@xt@.01pt{\hss\hb@xt@\displaywidth{{#1}\hss}}% + \hb@xt@.01pt{% + \hss\hb@xt@\displaywidth{{#1\glet\bbl@upset\@currentlabel}\hss}}% \else - \eqno\hbox{#1}% - \fi} + \eqno\hbox{#1\glet\bbl@upset\@currentlabel}% + \fi + \bbl@exp{\def\\\@currentlabel{\[bbl@upset]}}} \AtBeginDocument{% \ifx\bbl@noamsmath\relax\else \ifx\maketag@@@\@undefined % Normal equation, eqnarray diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins index e5cb9bcd5a..b350a28077 100644 --- a/macros/latex/required/babel/base/babel.ins +++ b/macros/latex/required/babel/base/babel.ins @@ -26,7 +26,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -\def\filedate{2023/08/29} +\def\filedate{2023/09/12} \def\batchfile{babel.ins} \input docstrip.tex diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf Binary files differindex eea2d0ba2a..2013a2b784 100644 --- a/macros/latex/required/babel/base/babel.pdf +++ b/macros/latex/required/babel/base/babel.pdf diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx index 0f958a13e2..2d2e5530d5 100644 --- a/macros/latex/required/babel/base/bbcompat.dtx +++ b/macros/latex/required/babel/base/bbcompat.dtx @@ -30,7 +30,7 @@ % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2023/08/29 v3.93] +\ProvidesFile{bbcompat.dtx}[2023/09/12 v3.94] %</dtx> % %% File 'bbcompat.dtx' diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog index 8c8eee18c7..f435205901 100644 --- a/support/TeX4ht/source/ChangeLog +++ b/support/TeX4ht/source/ChangeLog @@ -1,5 +1,12 @@ 2023-09-11 Michal Hoftich <michal.h21@gmail.com> + * tex4ht-html4.tex (html4.4ht): prevent duplicate TOC when the + \tableofcontents command is used in the document which is not split + into subpages. + https://tex.stackexchange.com/a/695831/2891 + +2023-09-11 Michal Hoftich <michal.h21@gmail.com> + * tex4ht-4ht.tex (hyperref-hooks.4ht): undefine the \@chapter command to prevent wrong cutting of pages with numeric options. https://puszcza.gnu.org.ua/bugs/?608 diff --git a/support/TeX4ht/source/tex4ht-html4.tex b/support/TeX4ht/source/tex4ht-html4.tex index 8e6c52b3b7..cd4571657a 100644 --- a/support/TeX4ht/source/tex4ht-html4.tex +++ b/support/TeX4ht/source/tex4ht-html4.tex @@ -1,4 +1,4 @@ -% $Id: tex4ht-html4.tex 1363 2023-08-31 15:26:11Z michal_h21 $ +% $Id: tex4ht-html4.tex 1369 2023-09-12 12:36:05Z michal_h21 $ % Compile 4 times: latex tex4ht-html4 % Copy html4.4ht into the work directory before all but the last compilation. % @@ -1054,6 +1054,8 @@ is the default font size. |<cutat: part|> |<object tocs|> \else + % This should prevent duplication of TOC when document is not split into subpages + \pend:def\tableofcontents{\gdef\:StartSec{\au:StartSec}}% \Log:Note{for automatic sectioning pagination, use the command line option `1', `2', `3', '4', '5', '6', or '7'}% diff --git a/support/pdfjam/VERSION b/support/pdfjam/VERSION index 1de2ea467f..824e1853a4 100644 --- a/support/pdfjam/VERSION +++ b/support/pdfjam/VERSION @@ -1 +1 @@ -This is pdfjam 3.07
\ No newline at end of file +This is pdfjam 3.08
\ No newline at end of file diff --git a/support/pdfjam/bin/pdfjam b/support/pdfjam/bin/pdfjam index 455d2cbeca..cd6ea75cbe 100755 --- a/support/pdfjam/bin/pdfjam +++ b/support/pdfjam/bin/pdfjam @@ -1,5 +1,5 @@ #!/bin/sh -version=3.07 +version=3.08 ######################################################################### ## ## ## pdfjam: A shell-script interface to the "pdfpages" LaTeX package ## @@ -943,7 +943,7 @@ fi ## A function to check if using non-Cygwin "${latex}" from Cygwin using_non_cygwin_latex_from_cygwin () { if [ -z "${__cache__using_non_cygwin_latex_from_cygwin}" ]; then - if [ "$(uname -o)" = "Cygwin" ] \ + if uname | grep -q CYGWIN \ && "${latex}" -version | head -1 | grep -qv Cygwin; then __cache__using_non_cygwin_latex_from_cygwin=0 else diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index d2bbbe3120..9ac3e2166a 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -136,6 +136,10 @@ $mirrors = { 'https://repo.skni.umcs.pl/ctan/' => 1, 'https://sunsite.icm.edu.pl/pub/CTAN/' => 1, }, + 'Portugal' => { + 'https://ftp.eq.uc.pt/software/TeX/' => 1, + 'https://mirrors.up.pt/pub/CTAN/' => 1, + }, 'Romania' => { 'https://mirrors.nxthost.com/ctan/' => 1, }, @@ -173,11 +177,15 @@ $mirrors = { 'https://mirror.quantum5.ca/CTAN/' => 1, 'https://muug.ca/mirror/ctan/' => 1, }, + 'Costa Rica' => { + 'https://mirrors.ucr.ac.cr/CTAN/' => 1, + }, 'USA' => { 'http://bay.uchicago.edu/CTAN/' => 1, 'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1, 'https://ctan.math.illinois.edu/' => 1, 'https://ctan.math.utah.edu/ctan/tex-archive/' => 1, + 'https://ctan.math.washington.edu/tex-archive/' => 1, 'https://ctan.mirrors.hoobly.com/' => 1, 'https://mirror.las.iastate.edu/tex-archive/' => 1, 'https://mirror.math.princeton.edu/pub/CTAN/' => 1, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 649d88a8ce..ab2c46c72a 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/68245 +depend revision/68260 name 00texlive.image category TLCore -revision 68239 +revision 68252 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 @@ -2459,6 +2459,7 @@ runfiles size=13074 tlpkg/tlpsrc/keyval2e.tlpsrc tlpkg/tlpsrc/keyvaltable.tlpsrc tlpkg/tlpsrc/kfupm-math-exam.tlpsrc + tlpkg/tlpsrc/khatalmaqala.tlpsrc tlpkg/tlpsrc/kinematikz.tlpsrc tlpkg/tlpsrc/kix.tlpsrc tlpkg/tlpsrc/kixfont.tlpsrc @@ -4799,7 +4800,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 68236 +revision 68247 shortdesc TeX Live standalone installer package longdesc This package defines the files to go into the installer longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the @@ -28386,7 +28387,7 @@ catalogue-version 1.0 name babel category Package -revision 68111 +revision 68258 shortdesc Multilingual support for LaTeX, LuaLaTeX, XeLaTeX, and Plain TeX relocated 1 longdesc This package manages culturally-determined typographical (and @@ -28399,23 +28400,23 @@ longdesc has to be done for each language. Included is also a set of ini longdesc files for about 250 languages. Many language styles work with longdesc pdfLaTeX, as well as with XeLaTeX and LuaLaTeX, out of the box. longdesc A few even work with plain formats. -containersize 213460 -containerchecksum 1764e08ffbe867dfcb7f5d8ef3ca0b39df748525a36840e6008921244e2a4b94ba35e142f673f449099367a4b0f273dc3dc81ca7855e0a92eeb331dd24828031 -doccontainersize 1021980 -doccontainerchecksum f451624ba15529b0af285d311c43febe75145336e99e7c9b0afc9b2fae0e417936725a789c4ef727ac5420f7e10123bcccc0abf5432bef7d0f9906f759d7d476 -docfiles size=256 +containersize 216292 +containerchecksum edc0861cffa77bbb6c7908b0c0ebf4885eca2cc8f8330ff915b086067ffdfc4fda38a78a84c48b55d81f3b4f2a4f0a8fc985c94570ca22041e7a270f7c6b57c7 +doccontainersize 1024932 +doccontainerchecksum f29a90fa95c623df69b4b1962d7d451cb1ad1a102307e713d713a83786fbf7a3c1447afdbb865770d899c060cd0cd3a5590aa7e17f7d0a7592850fffba31959a +docfiles size=257 RELOC/doc/latex/babel/README.md details="Readme" RELOC/doc/latex/babel/babel-code.pdf details="Code documentation" RELOC/doc/latex/babel/babel.pdf details="User guide" -srccontainersize 813792 -srccontainerchecksum 628c006dca9d6c177423ef392130318c27068f744a94c379d6cea6888bbceeaa9d8313a51ac01ff28509a643434efb08017bde2ec29ae1a7a5255a71e0681aee -srcfiles size=438 +srccontainersize 829072 +srccontainerchecksum a0dd314e4ae1e18841bd88f98c20a1d0ed29d4b15964c2c7ba25fc226bd952165020b98a8ae14b9d0274570b565ca7d0bb08defde70abe7b96c235ef7a27aaf1 +srcfiles size=443 RELOC/source/latex/babel/babel.dtx RELOC/source/latex/babel/babel.ins RELOC/source/latex/babel/bbcompat.dtx RELOC/source/latex/babel/bbidxglo.dtx RELOC/source/latex/babel/locale.zip -runfiles size=1131 +runfiles size=1157 RELOC/makeindex/babel/bbglo.ist RELOC/makeindex/babel/bbind.ist RELOC/tex/generic/babel/UKenglish.sty @@ -28476,6 +28477,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/agq/babel-agq.ini RELOC/tex/generic/babel/locale/ak/babel-ak.ini RELOC/tex/generic/babel/locale/ak/babel-akan.tex + RELOC/tex/generic/babel/locale/akk/babel-akk.ini + RELOC/tex/generic/babel/locale/akk/babel-akkadian.tex RELOC/tex/generic/babel/locale/alt/babel-alt.ini RELOC/tex/generic/babel/locale/alt/babel-southernaltai.tex RELOC/tex/generic/babel/locale/am/babel-am.ini @@ -28530,6 +28533,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/az/babel-azerbaijani.tex RELOC/tex/generic/babel/locale/bal/babel-bal.ini RELOC/tex/generic/babel/locale/bal/babel-baluchi.tex + RELOC/tex/generic/babel/locale/ban/babel-balinese.tex + RELOC/tex/generic/babel/locale/ban/babel-ban.ini RELOC/tex/generic/babel/locale/bas/babel-bas.ini RELOC/tex/generic/babel/locale/bas/babel-basaa.tex RELOC/tex/generic/babel/locale/be/babel-be.ini @@ -28791,6 +28796,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/jgo/babel-ngomba.tex RELOC/tex/generic/babel/locale/jmc/babel-jmc.ini RELOC/tex/generic/babel/locale/jmc/babel-machame.tex + RELOC/tex/generic/babel/locale/jv/babel-javanese.tex + RELOC/tex/generic/babel/locale/jv/babel-jv.ini RELOC/tex/generic/babel/locale/ka/babel-georgian.tex RELOC/tex/generic/babel/locale/ka/babel-ka.ini RELOC/tex/generic/babel/locale/kab/babel-kab.ini @@ -28859,6 +28866,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/la/babel-la.ini RELOC/tex/generic/babel/locale/la/babel-latin.tex RELOC/tex/generic/babel/locale/la/babel-medievallatin.tex + RELOC/tex/generic/babel/locale/lad/babel-lad.ini + RELOC/tex/generic/babel/locale/lad/babel-ladino.tex RELOC/tex/generic/babel/locale/lag/babel-lag.ini RELOC/tex/generic/babel/locale/lag/babel-langi.tex RELOC/tex/generic/babel/locale/lb/babel-lb.ini @@ -28869,6 +28878,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/lij/babel-lij.ini RELOC/tex/generic/babel/locale/lkt/babel-lakota.tex RELOC/tex/generic/babel/locale/lkt/babel-lkt.ini + RELOC/tex/generic/babel/locale/lmo/babel-lmo.ini + RELOC/tex/generic/babel/locale/lmo/babel-lombard.tex RELOC/tex/generic/babel/locale/ln/babel-lingala.tex RELOC/tex/generic/babel/locale/ln/babel-ln.ini RELOC/tex/generic/babel/locale/lo/babel-lao.tex @@ -28885,6 +28896,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/luy/babel-luyia.tex RELOC/tex/generic/babel/locale/lv/babel-latvian.tex RELOC/tex/generic/babel/locale/lv/babel-lv.ini + RELOC/tex/generic/babel/locale/mai/babel-mai.ini + RELOC/tex/generic/babel/locale/mai/babel-maithili.tex RELOC/tex/generic/babel/locale/mas/babel-mas.ini RELOC/tex/generic/babel/locale/mas/babel-masai.tex RELOC/tex/generic/babel/locale/mer/babel-mer.ini @@ -28947,6 +28960,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/no/babel-no.ini RELOC/tex/generic/babel/locale/no/babel-norsk.tex RELOC/tex/generic/babel/locale/no/babel-norwegian.tex + RELOC/tex/generic/babel/locale/non/babel-non.ini + RELOC/tex/generic/babel/locale/non/babel-oldnorse.tex RELOC/tex/generic/babel/locale/nqo/babel-nko.tex RELOC/tex/generic/babel/locale/nqo/babel-nqo.ini RELOC/tex/generic/babel/locale/nr/babel-nr.ini @@ -28955,6 +28970,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/nso/babel-nso.ini RELOC/tex/generic/babel/locale/nus/babel-nuer.tex RELOC/tex/generic/babel/locale/nus/babel-nus.ini + RELOC/tex/generic/babel/locale/nv/babel-navajo.tex + RELOC/tex/generic/babel/locale/nv/babel-nv.ini RELOC/tex/generic/babel/locale/ny/babel-ny.ini RELOC/tex/generic/babel/locale/ny/babel-nyanja.tex RELOC/tex/generic/babel/locale/nyn/babel-nyankole.tex @@ -28978,6 +28995,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/pa/babel-punjabi.tex RELOC/tex/generic/babel/locale/pap/babel-pap.ini RELOC/tex/generic/babel/locale/pap/babel-papiamento.tex + RELOC/tex/generic/babel/locale/pcm/babel-nigerianpidgin.tex + RELOC/tex/generic/babel/locale/pcm/babel-pcm.ini RELOC/tex/generic/babel/locale/phn/babel-phn.ini RELOC/tex/generic/babel/locale/phn/babel-phoenician.tex RELOC/tex/generic/babel/locale/pl/babel-pl.ini @@ -29196,6 +29215,8 @@ runfiles size=1131 RELOC/tex/generic/babel/locale/wae/babel-walser.tex RELOC/tex/generic/babel/locale/wal/babel-wal.ini RELOC/tex/generic/babel/locale/wal/babel-wolaytta.tex + RELOC/tex/generic/babel/locale/wo/babel-wo.ini + RELOC/tex/generic/babel/locale/wo/babel-wolof.tex RELOC/tex/generic/babel/locale/xog/babel-soga.tex RELOC/tex/generic/babel/locale/xog/babel-xog.ini RELOC/tex/generic/babel/locale/yav/babel-yangben.tex @@ -29268,7 +29289,7 @@ catalogue-contact-repository https://github.com/latex3/babel catalogue-ctan /macros/latex/required/babel/base catalogue-license lppl1.3 catalogue-topics multilingual -catalogue-version 3.93 +catalogue-version 3.94 name babel-albanian category Package @@ -69944,7 +69965,7 @@ containerchecksum 4f0311e8e9c8dc9fcba918f175049279d4ed2342224af9807de04e44262f4a name collection-langarabic category Collection -revision 68214 +revision 68250 shortdesc Arabic relocated 1 longdesc Support for Arabic and Persian. @@ -69965,6 +69986,7 @@ depend hvarabic depend hyphen-arabic depend hyphen-farsi depend imsproc +depend khatalmaqala depend kurdishlipsum depend lshort-persian depend luabidi @@ -69979,8 +70001,8 @@ depend tram depend xepersian depend xepersian-hm depend xindy-persian -containersize 464 -containerchecksum da13362af1fa50a8a7f693ea4070cda6094bc5159db246a6e3e86684c35710be3cbfac0985412963f1b12c9c206fb098103b71e8d42049aa79d1994e6ef7bd56 +containersize 472 +containerchecksum 3a35f2a8fc20c636cd2a4fe59993860caf18c6e8aa3b64622f8373bdcc0b48654d7c39c242346dd06eb37163be46cc9856ffd53c939a19f548c3ecc4ef9ba85b name collection-langchinese category Collection @@ -139955,26 +139977,25 @@ catalogue-topics misc-support pdf-forms adobe-distiller name greek-fontenc category Package -revision 67956 +revision 68249 shortdesc LICR macros and encoding definition files for Greek relocated 1 longdesc LICR macros for characters from the Greek script and encoding longdesc definition files for Greek text font encodings. -containersize 34012 -containerchecksum 0e33382d2510ad373949dce17d8c8b266d2beb923fe531aa158936ed5e64a1a10cc4785da940c9db7a5e84a609f285f5855f7b27c0e2f1d72d3098b2205d4843 -doccontainersize 2880268 -doccontainerchecksum 19ca01a88ec68a44b274b9f66fd6abc8739f7ba2df0cc1f55428bb26c873e418b72f1166d50f5458901564486a0a4e05213bbca09379cb08a74cc1f917a84007 -docfiles size=916 +containersize 33396 +containerchecksum 90d3e6178e90de038641820e89de1f7945a41f7e4f6a39a8a7fd565f30b214fb52b44fa1494d4a2b73070e78680437ca166e69c93dcaf0a7c8f7604f0c7ce96c +doccontainersize 3009184 +doccontainerchecksum 58f89803eeb0a9d068b4983ee7db5a6487edc78ba47f5c5944bb81e9b9a9780cc9cb510ae95f1a617f6aa930b53c6a9eef92ddd7c9017fc1d9b4f50caa755f00 +docfiles size=974 RELOC/doc/latex/greek-fontenc/README.md details="Readme" RELOC/doc/latex/greek-fontenc/alphabeta-doc-tu.pdf RELOC/doc/latex/greek-fontenc/alphabeta-doc.pdf RELOC/doc/latex/greek-fontenc/alphabeta-doc.tex - RELOC/doc/latex/greek-fontenc/alphabeta-lgr.def.html - RELOC/doc/latex/greek-fontenc/alphabeta-tuenc.def.html RELOC/doc/latex/greek-fontenc/alphabeta.sty.html - RELOC/doc/latex/greek-fontenc/char-list-luatex.pdf - RELOC/doc/latex/greek-fontenc/char-list-pdftex.pdf - RELOC/doc/latex/greek-fontenc/char-list-xetex.pdf + RELOC/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf + RELOC/doc/latex/greek-fontenc/char-list-alphabeta.pdf + RELOC/doc/latex/greek-fontenc/char-list-tu.pdf + RELOC/doc/latex/greek-fontenc/char-list.pdf RELOC/doc/latex/greek-fontenc/char-list.tex RELOC/doc/latex/greek-fontenc/greek-fontenc-doc.html details="Package documentation (HTML)" RELOC/doc/latex/greek-fontenc/greek-fontenc-doc.rst @@ -139986,8 +140007,8 @@ docfiles size=916 RELOC/doc/latex/greek-fontenc/puenc-greek.def.html RELOC/doc/latex/greek-fontenc/test-lgrenc.pdf RELOC/doc/latex/greek-fontenc/test-lgrenc.tex - RELOC/doc/latex/greek-fontenc/test-licr-input.pdf - RELOC/doc/latex/greek-fontenc/test-licr-input.tex + RELOC/doc/latex/greek-fontenc/test-luainputenc.pdf + RELOC/doc/latex/greek-fontenc/test-luainputenc.tex RELOC/doc/latex/greek-fontenc/test-tuenc-greek.pdf RELOC/doc/latex/greek-fontenc/test-tuenc-greek.tex RELOC/doc/latex/greek-fontenc/textalpha-doc-tu.pdf @@ -139995,9 +140016,7 @@ docfiles size=916 RELOC/doc/latex/greek-fontenc/textalpha-doc.tex RELOC/doc/latex/greek-fontenc/textalpha.sty.html RELOC/doc/latex/greek-fontenc/tuenc-greek.def.html -runfiles size=58 - RELOC/tex/latex/greek-fontenc/alphabeta-lgr.def - RELOC/tex/latex/greek-fontenc/alphabeta-tuenc.def +runfiles size=53 RELOC/tex/latex/greek-fontenc/alphabeta.sty RELOC/tex/latex/greek-fontenc/greek-euenc.def RELOC/tex/latex/greek-fontenc/greek-fontenc.def @@ -140009,9 +140028,9 @@ runfiles size=58 catalogue-contact-bugs https://codeberg.org/milde/greek-tex/issues catalogue-contact-repository https://codeberg.org/milde/greek-tex catalogue-ctan /language/greek/greek-fontenc -catalogue-license lppl1.3 +catalogue-license lppl1.3 bsd2 catalogue-topics greek fontenc -catalogue-version 2.4 +catalogue-version 2.5 name greek-inputenc category Package @@ -147075,7 +147094,7 @@ catalogue-version 7.01b name hyperxmp category Package -revision 65980 +revision 68251 shortdesc Embed XMP metadata within a LaTeX document longdesc XMP (eXtensible Metadata Platform) is a mechanism proposed by longdesc Adobe for embedding document metadata within the document @@ -147097,17 +147116,17 @@ longdesc address/URL. Hyperxmp currently embeds XMP only within PDF longdesc documents; it is compatible with pdfLaTeX, XeLaTeX, longdesc LaTeX+dvipdfm, and LaTeX+dvips+ps2pdf. depend hyperxmp.ARCH -containersize 15092 -containerchecksum ed89d3ec618c2826bcaad1b4766c8dda2e4561a5a7f54f373170740977139bab3d89af01143110054b31645311a6d8fbf9a615881af0097e9fe2082cb757670c -doccontainersize 1171384 -doccontainerchecksum 350822e58fc27cf949615ab5fcc4e0b3a31c51921c64d59a039b235f786560f5f30debb676ea1a0cc2b21e1fd4fc0a390caf37846440350067417de7a7718069 -docfiles size=319 +containersize 15176 +containerchecksum 79dfcb70b4df1be8ada345507f0cece0b36c38f57c1b5e92fa008af3ceb5209c5df10d9144a24af4473a2f640d2adb59054cd9985f762b9b6cf7db45ed99c4cf +doccontainersize 1165076 +doccontainerchecksum b56e9ef7beb7502ba2e952267fddeb3a26597e9e5193ed66369dc3c78f5a08d34b5fca0685cab8f6ec67e12167a1aca309a18b85073b8e9c497641cf062be6b1 +docfiles size=323 texmf-dist/doc/latex/hyperxmp/README details="Readme" texmf-dist/doc/latex/hyperxmp/hyperxmp.pdf details="Package documentation" texmf-dist/doc/man/man1/hyperxmp-add-bytecount.1 texmf-dist/doc/man/man1/hyperxmp-add-bytecount.man1.pdf -srccontainersize 157468 -srccontainerchecksum cfe6c86273ab20ec869361ee03031d59a7f57edc868ed910a571ccb72aebca078bc81c45c5add1150efdfa5e8e98813c54ecdd8c82fa7b3ed1d7ea694359e4a8 +srccontainersize 157676 +srccontainerchecksum 02ca43c9809c347a6db12e0a8ffb2ec96db3b27d4c89ceea10091235c6b411de38d76f976a08d139bad0b0efa0b181e2e2fe5e2edd8cdf41ac5043fcc8758bbe srcfiles size=111 texmf-dist/source/latex/hyperxmp/einstein-xmp.tex texmf-dist/source/latex/hyperxmp/einstein1.pdf @@ -147123,7 +147142,7 @@ runfiles size=18 catalogue-ctan /macros/latex/contrib/hyperxmp catalogue-license lppl1.3c catalogue-topics pdf-feat -catalogue-version 5.11 +catalogue-version 5.12 name hyperxmp.aarch64-linux category Package @@ -150952,7 +150971,7 @@ catalogue-version 1.121 name inconsolata-nerd-font category Package -revision 68231 +revision 68248 shortdesc Inconsolata Nerd Font with support for XeLaTeX or LuaLaTeX relocated 1 longdesc Inconsolata is a monospaced font designed by Raph Levien. It is @@ -150962,18 +150981,19 @@ longdesc Additionally, the Nerd Font project extended the font by a huge longdesc amount of additional glyphs. This package provides the longdesc Inconsolata Nerd Font in .ttf format as well as a convenient longdesc interface to load the font for the XeTeX and LuaTeX engines. -containersize 1573032 -containerchecksum 95cadadae4b67bea5cd0de8327c3a12a146d877fcb7af6c49b06f18cf0e2f26811bb40e73e4bae5c0b9762b2ba5565f7ceb7f5d56b76587c18dae46d4b009d16 -doccontainersize 72808 -doccontainerchecksum aa2b673a2fecdc2cbb34543660affe45abaa159f5cdeb827a0596ac32a61044ba9ed36cc6f866110dfacc623b5a3c0b14315c69d5fc17e249cb92951a3abe7e7 -docfiles size=25 +containersize 1573116 +containerchecksum 367f33078eb22d686d5d27def66f9ca24f4bc23a8106b11fad0b5af1a72fa1f5c34b7058021ba74737c2d96e5aca6c10fa8c729bbe97655a73cd9dec3f4ebfe3 +doccontainersize 77520 +doccontainerchecksum b47ed8d271762c80d44d05c588679bedfca7a9c6f0064157ace429b52fae29a9ba27d2a1cf4bd6f981ef7f928b808f60a6ddf35da0719b6dd1b29a347b39cb42 +docfiles size=27 + RELOC/doc/fonts/inconsolata-nerd-font/CHANGELOG.md RELOC/doc/fonts/inconsolata-nerd-font/LICENSE.txt RELOC/doc/fonts/inconsolata-nerd-font/OFL.txt RELOC/doc/fonts/inconsolata-nerd-font/README.md details="Readme" RELOC/doc/fonts/inconsolata-nerd-font/inconsolata-nerd-font.pdf details="Package documentation" -srccontainersize 4000 -srccontainerchecksum 092bb6f3d1d68d7c894be8acba0814bd3a73ea93ec5bfb836d0c055b1c2d71e9c550a26ed27f8d70c78e4acda153e6be57939c702a800f6c96e16126c692b9a2 -srcfiles size=4 +srccontainersize 4388 +srccontainerchecksum d20493f77bf20b346d2556b107cfc37cc8cdecac98c03cbedc4a6d691db6ef3bb0edb0f5426f506f0906d82c051da323b98d8b72c3c720dfe4a13d6355665339 +srcfiles size=5 RELOC/source/fonts/inconsolata-nerd-font/inconsolata-nerd-font.dtx RELOC/source/fonts/inconsolata-nerd-font/inconsolata-nerd-font.ins runfiles size=2759 @@ -150989,7 +151009,7 @@ catalogue-contact-repository https://github.com/stephanlukasczyk/inconsolata-ner catalogue-ctan /fonts/inconsolata-nerd-font catalogue-license ofl lppl1.3c catalogue-topics font font-ttf font-mono font-supp expl3 -catalogue-version 0.1 +catalogue-version 0.2 name index category Package @@ -167592,6 +167612,38 @@ catalogue-license mit catalogue-topics exam catalogue-version 0.1.0 +name khatalmaqala +category Package +revision 68250 +shortdesc Arabic font for university articles +relocated 1 +longdesc This font family is a modification of "cm-unicode" fonts, with +longdesc Arabic support. It was originally made for a group of +longdesc undergraduate students at Misr University For Science And +longdesc Technology (Egypt) many years ago. After a few semesters, it +longdesc had become the main font for their articles and assignments. +longdesc Now, it is on CTAN for easier access. khatalmaqala = khat +longdesc (font) + maqala (article) = font for article +containersize 664 +containerchecksum a485368ff12581e67cd1c39993a92004911910a0a52e34527dd6ece0e1b2e49adba6b763ea8c3d8fb4514bc192234689b83b558860d193839e58478ca3113ab9 +doccontainersize 313980 +doccontainerchecksum 4b161ed5e0942a6c02f133d02ce99f3cd23ab7b92265f7a36d35c8def4f3302bcc2ab4481d06b6b18ef1388781bb11ecd164eca11359712f4a8939e846de1204 +docfiles size=225 + RELOC/doc/fonts/khatalmaqala/OFL.txt + RELOC/doc/fonts/khatalmaqala/README.md details="Readme" + RELOC/doc/fonts/khatalmaqala/sample-of-khatalmaqala.pdf details="Example of use" + RELOC/doc/fonts/khatalmaqala/sample-of-khatalmaqala.tex + RELOC/doc/fonts/khatalmaqala/ttf/khatalmaqala-bold.ttf + RELOC/doc/fonts/khatalmaqala/ttf/khatalmaqala-bolditalic.ttf + RELOC/doc/fonts/khatalmaqala/ttf/khatalmaqala-italic.ttf + RELOC/doc/fonts/khatalmaqala/ttf/khatalmaqala-regular.ttf +catalogue-contact-bugs https://github.com/zainibnabdalmatin/khatalmaqala/issues +catalogue-contact-repository https://github.com/zainibnabdalmatin/khatalmaqala +catalogue-ctan /fonts/khatalmaqala +catalogue-license ofl +catalogue-topics font font-arabic font-body font-ttf font-cm font-serif +catalogue-version 1.0.2 + name kinematikz category Package revision 61392 @@ -210601,7 +210653,7 @@ catalogue-version 1.1 name minted category Package -revision 65252 +revision 68252 shortdesc Highlighted source code for LaTeX relocated 1 longdesc The package that facilitates expressive syntax highlighting in @@ -210610,7 +210662,6 @@ longdesc provides options to customize the highlighted source code longdesc output using fancyvrb. depend catchfile depend etoolbox -depend fancyvrb depend float depend framed depend fvextra @@ -210618,25 +210669,26 @@ depend graphics depend ifplatform depend kvoptions depend lineno +depend newfloat depend pdftexcmds depend tools -depend upquote depend xcolor depend xstring -containersize 10028 -containerchecksum faf543c7f48371cca2a4af7d1e4e1e9b16c13673908417ec982d773dac561ab9e467f79bed230f5c0e359fc82c5cfff1f83e18cb6261279943d1e5a2f117ea2f -doccontainersize 837736 -doccontainerchecksum 41640837e53d5b9cdce55a8f29707fe4f654da19813efbc1770df39b8f00aabdf600032dd504a8cebe23b4ef91e226014a94e031c52d0458f0684c5a53bd276a -docfiles size=211 +containersize 10088 +containerchecksum c6562bd27f0239728da51bd72fd611cb4f17570df5d9844e46bbd27d81117ebf5f2eedbfc7c47fd463ed7546384c99f04f8950e22daf2e9dfee67650970a0f67 +doccontainersize 849336 +doccontainerchecksum 6d8289670a699bfcd3c7368c5c149f9624fae047432c73db408a5d88e7cd986635832cd5c56996af8e5859ed8a882023a927cd2f22564f14fe9ea5ee0f84e776 +docfiles size=215 + RELOC/doc/latex/minted/DEPENDS.txt RELOC/doc/latex/minted/README details="Readme" RELOC/doc/latex/minted/minted.pdf details="Package documentation" -srccontainersize 46460 -srccontainerchecksum 384af78dba5447f7169804597afba5b42f8860cabe691e2490d90248ed798880d11471e8cad7ede8a4b1dbaf7b9684dea05ae54719c7637b8f5b6d953fd0ba98 -srcfiles size=52 +srccontainersize 47724 +srccontainerchecksum 466f34ae891af02f2bc97551ea6b4b4700da347f16899ac10d4b1cc82ea79feee4f9448bf9f5636965c493fbd4288c8a7ba58ba3a60c9b1d9ded4818df249781 +srcfiles size=54 RELOC/source/latex/minted/Makefile RELOC/source/latex/minted/minted.dtx RELOC/source/latex/minted/minted.ins -runfiles size=15 +runfiles size=16 RELOC/tex/latex/minted/minted.sty RELOC/tex/latex/minted/minted1.sty catalogue-also texments verbments @@ -210644,7 +210696,7 @@ catalogue-contact-repository https://github.com/gpoore/minted catalogue-ctan /macros/latex/contrib/minted catalogue-license lppl1.3 catalogue-topics listing synt-hlt -catalogue-version 2.7 +catalogue-version 2.8 name mintspirit category Package @@ -211343,7 +211395,7 @@ catalogue-version 2.0 name mitthesis category Package -revision 68187 +revision 68253 shortdesc A LaTeX template for MIT theses relocated 1 longdesc This class provides a LaTeX template for MIT theses formatted @@ -211358,11 +211410,11 @@ longdesc distributions, ideally 11/2022 or later, but compatible with longdesc distributions back to 2020. This template replaces the older longdesc version of mitthesis.cls, which was first composed in the longdesc 1980s. -containersize 10744 -containerchecksum f081909bb00f6355b43faa3ae4433c4ac18a13001a3400144d6d55b2daf554791a15103c80b40f735c5c7f8073b400bf36953ff17bfd0da8f350e50126b2ab61 -doccontainersize 5332044 -doccontainerchecksum 415035df866489706af935fdde9aa66d10766266a81603466f04cd673376bb1b46e0ef77127e78668a5b516b30308d8fb502f65e643c8b12e958347a1d2e869c -docfiles size=1958 +containersize 10764 +containerchecksum 3437db95adce06750961cefe25af6907316b4cb0366850f041ff9ad197bf580f9848716c73cfb70c59bf68964528e223e0aed1d8a51d28574ac6df3f68b443a3 +doccontainersize 2237768 +doccontainerchecksum 4ddf51fe293c011f037edc716f1ede6c178781a479711b7eb05d06656bd1edad7e5b5df6026cdf053cb21585ebcacaf1df33f997407009129332964a2d9720eb +docfiles size=1042 RELOC/doc/latex/mitthesis/MIT-Thesis.pdf details="Example of use" RELOC/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex RELOC/doc/latex/mitthesis/MIT-thesis-template/abstract.tex @@ -211418,13 +211470,12 @@ docfiles size=1958 RELOC/doc/latex/mitthesis/examples/font_samples/latex_sources/Termes.tex RELOC/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf details="Package documentation" RELOC/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex - RELOC/doc/latex/mitthesis/mitthesis.zip runfiles size=11 RELOC/tex/latex/mitthesis/mitthesis.cls catalogue-ctan /macros/latex/contrib/mitthesis catalogue-license mit catalogue-topics class dissertation engineering humanities scientific-docs doc-templ expl3 -catalogue-version 1.07 +catalogue-version 1.08 name mkgrkindex category Package @@ -245576,7 +245627,7 @@ catalogue-version 0.3 name pdfjam category Package -revision 67773 +revision 68257 shortdesc Shell scripts interfacing to pdfpages longdesc The package makes available the pdfjam shell script that longdesc provides a simple interface to much of the functionality of the @@ -245587,10 +245638,10 @@ longdesc output. It is useful for joining files together, selecting longdesc pages, reducing several source pages onto one output page, longdesc etc., etc. depend pdfjam.ARCH -containersize 12752 -containerchecksum a6569d2f468fbd97bacdd671e4239da81de395b392f220c28405e92bdf37d0898e06001cdbb50db97b129fa69026e6d3237fbea460aecdbc3a1d72f03d0143d2 -doccontainersize 159612 -doccontainerchecksum 5cb1f37673b6498c96dae9be19a99d5892ae73ef8afe09aa0c663280ea1f6658ac578613a94d81edb8e93b7c280f2206bd56f4fe2794c637272ccd0fa0399743 +containersize 12744 +containerchecksum 36da2d7ed8f309eb48565747837e5f25d2b2df9fd45e0ea985ec4176de691cd8a5c810addd205f03daf047729edca00f8c584d3acbe23d536c38b69b7e95d8e7 +doccontainersize 159652 +doccontainerchecksum 5e7e7a2f313854bc709c342e4adfa0d80ebda5de4e64540de24f447c05d9755a0e443a1d6d3aaa47de0fad69cd74db288bfd76dd24e9086f0a611485eb994a0a docfiles size=54 texmf-dist/doc/man/man1/pdfjam.1 texmf-dist/doc/man/man1/pdfjam.man1.pdf @@ -245605,7 +245656,7 @@ catalogue-contact-repository https://github.com/rrthomas/pdfjam catalogue-ctan /support/pdfjam catalogue-license gpl2+ catalogue-topics pdfprocess -catalogue-version 3.07 +catalogue-version 3.08 name pdfjam.aarch64-linux category Package @@ -250929,7 +250980,7 @@ catalogue-topics float name photobook category Package -revision 68182 +revision 68254 shortdesc A document class for typesetting photo books relocated 1 longdesc The photobook LaTeX document class extends the book class @@ -250963,10 +251014,10 @@ depend xargs depend xcolor depend xint depend xkeyval -containersize 33108 -containerchecksum 05f999fa0ce4d4198e399670716f3855a76920f8800bc38254f346996f6900f98554a94195cfb0dde474aa508709a579d36b47a00151b2864efdb6e1f8bcb0c8 -doccontainersize 155784 -doccontainerchecksum e41cddfde02ddcf4ce6d19aa72bd3a0ccaefa4d03bf995434554e758ee8be69b59536887e75d46eea7cdf896cb360f037c21c10ca0e322c631a7a1bca3cb5d7a +containersize 33228 +containerchecksum c6f58d0b62838594cb26eecd7fba488a6020bd73609d9fc87d72a6f5f42f0621f319694b37260b006fac162c34055d69b2a09ec69980b109a68ca0a0efc46b57 +doccontainersize 156180 +doccontainerchecksum 22054c40246dd8bd6755dc5ccf4d5b4d74a51e3dff8309f572c65c7074e179ec82baed54d7f6f570703745b27b618dc90831370887d9d9e79afe229acd3b6443 docfiles size=54 RELOC/doc/latex/photobook/DEPENDS.txt RELOC/doc/latex/photobook/LICENSE @@ -250984,7 +251035,7 @@ catalogue-contact-repository https://github.com/flynx/photobook catalogue-ctan /macros/latex/contrib/photobook catalogue-license bsd3 catalogue-topics class -catalogue-version 0.1.26 +catalogue-version 0.1.28 name physconst category Package @@ -283633,7 +283684,7 @@ catalogue-version 1.2.1 name se2thesis category Package -revision 67548 +revision 68255 shortdesc A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany relocated 1 longdesc The se2thesis bundle provides a document class for writing a @@ -283646,11 +283697,11 @@ longdesc title page, it still provides large degrees of freedom to its longdesc users. However, the package's documentation also provides longdesc recommendations regarding several aspects, for example, longdesc recommending BibLaTeX for bibliographies. -containersize 9176 -containerchecksum cbd50459815ff3191491d909141e8eb7d0125234c70d13565f113268aea4aa41780320aabf559b30ba18257ec42376b1c3e50c332fb743bf286844e63aac5167 -doccontainersize 1465596 -doccontainerchecksum 26c27031e6e981fbc9998a2c2c2a517a469ec0adcd2c9d3cb9f06bd3c4f133f29a81da43062fe96ba43b93f6fc9e41d072e57bd4cf31cebd43f19f88b95904ab -docfiles size=645 +containersize 8992 +containerchecksum a9283b1b34e7d9db35dbb64641b68eab662ddfd7e468f856e466c56c7c7ace6de3efacb43b1810e97d2eb2d0c2cf89d50ac45d79a5bcc9f79b52a1011e41ad39 +doccontainersize 1414316 +doccontainerchecksum 562a8c929ae8bcacc2dbdcc4b585b26b910da3792089670f89e4300b771a06971513978a0c656e563c7189673b6067acd450a2698fcb32449a4de75715a2c270 +docfiles size=632 RELOC/doc/latex/se2thesis/CHANGELOG.md RELOC/doc/latex/se2thesis/LICENSE.txt RELOC/doc/latex/se2thesis/README.md details="Readme" @@ -283660,9 +283711,9 @@ docfiles size=645 RELOC/doc/latex/se2thesis/se2thesis.tex RELOC/doc/latex/se2thesis/test.pdf RELOC/doc/latex/se2thesis/test.tex -srccontainersize 24004 -srccontainerchecksum 1163c3bfdc2c4f23c5ddb3344532e452129979ef095dae32cad44eda9c7b0f5dd100e8c7d88f846fb328006e719954f7f15e2d0bc0613e062deeaf73ce647a31 -srcfiles size=30 +srccontainersize 23876 +srccontainerchecksum 8a76b7e1139ecec4b8c9a4bd670f3bb82d354eeb0cb9d94afe7f8ad3b7656921b510ecd9223443efcb2e38c5b91e621fe66b99d282bc650402977fc84e4ffc7c +srcfiles size=29 RELOC/source/latex/se2thesis/se2colors.dtx RELOC/source/latex/se2thesis/se2fonts.dtx RELOC/source/latex/se2thesis/se2packages.dtx @@ -283680,7 +283731,7 @@ catalogue-contact-repository https://github.com/se2p/se2thesis catalogue-ctan /macros/latex/contrib/se2thesis catalogue-license lppl1.3c catalogue-topics class dissertation expl3 -catalogue-version 3.1.0 +catalogue-version 3.2.0 name secdot category Package @@ -293824,29 +293875,29 @@ catalogue-version 1.2 name spreadtab category Package -revision 66655 +revision 68256 shortdesc Spreadsheet features for LaTeX tabular environments relocated 1 longdesc The package allows the user to construct tables in a manner longdesc similar to a spreadsheet. The cells of a table have row and longdesc column indices and these can be used in formulas to generate longdesc values in other cells. -containersize 21892 -containerchecksum 0db0d19f0b5aa4a6eabe1caa81daed530ba0bc8732d383c11502ec0fc3633de38220235f2865a36b059e6e53aad9ce3bcdf5818b6a1ac72f3d7ee3ac24262fe2 -doccontainersize 1089924 -doccontainerchecksum b2c6047336baab43d45492aa1f3e47d1f6d51d3394b22efd86d4d26844f3afb13cc177e225a50763a7bfe621659eab44177bea0a6f74533dcc63cf388142bdd9 -docfiles size=343 +containersize 22564 +containerchecksum f808d82cde55b9b8fbe0cafe9f2e67acb19547e85f8d48965ecc6c8ea70302b9ebcf4097330707780fddaf1d9b2a2a12512fe4026a0d660c5a376fbcffdb6f19 +doccontainersize 607828 +doccontainerchecksum a2b57066ab198d88be6736572276593cb2b31a9c6392f74c68358d39a8c88077266b2138730225b6ef54245a6f084aa73dad5bbd31a77fdd8b60f53f7342e25f +docfiles size=217 RELOC/doc/latex/spreadtab/README details="Readme" RELOC/doc/latex/spreadtab/spreadtab-en.pdf details="Package documentation (English)" language="en" RELOC/doc/latex/spreadtab/spreadtab-en.tex RELOC/doc/latex/spreadtab/spreadtab-fr.pdf details="Package documentation (French)" language="fr" RELOC/doc/latex/spreadtab/spreadtab-fr.tex -runfiles size=25 +runfiles size=26 RELOC/tex/latex/spreadtab/spreadtab.sty catalogue-ctan /macros/latex/contrib/spreadtab catalogue-license lppl1.3c catalogue-topics table -catalogue-version 0.5 +catalogue-version 0.52 name spverbatim category Package @@ -303885,7 +303936,7 @@ binfiles arch=x86_64-solaris size=1 name tex4ht category Package -revision 68245 +revision 68260 shortdesc Convert (La)TeX to HTML/XML longdesc A converter from TeX and LaTeX to SGML-based formats such as longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a @@ -303906,10 +303957,10 @@ longdesc files from them is nontrivial, and generally done with the longdesc Makefile in development, from which the TeX4ht package in TeX longdesc Live is updated. depend tex4ht.ARCH -containersize 1103176 -containerchecksum a28cd4286d19395ca1377e44d5eb52ff00d3cc0609310ffeb5f45b17c4b853b1db1f239961a67a2f712a1b5952d06357110d2ebbf11653070f3692f7c0fe6d23 +containersize 1103304 +containerchecksum 19c28ffe4153657256481ff4b403ae4e99d817b4a993edd0d2c0ad47564c053c6bda6dc18c1e2628253e4d5218e37ef9cbbfd8247b5d868c05b75ef45097dc9c doccontainersize 136384 -doccontainerchecksum 399a0c353097ef9a9cfad2a8c68f8d40af9d6f1ea345bbddc1c5ff291b6f52816962b5c9c8782b33289dca2d97f10cc1a312925b6281303e1dbdc1f46c0098b9 +doccontainerchecksum 37735110be40af5d6e346b0531a1eddb20684864b4d0b10d62ed2cba6db689f8b8f0b0dc966cfb15fdd185c673c894d5053e008c062a403f9323479a5c9ab1d1 docfiles size=260 texmf-dist/doc/generic/tex4ht/Makefile texmf-dist/doc/generic/tex4ht/README details="Readme" @@ -303981,8 +304032,8 @@ docfiles size=260 texmf-dist/doc/generic/tex4ht/mn56.html texmf-dist/doc/generic/tex4ht/mn5x.png texmf-dist/doc/generic/tex4ht/mn6x.png -srccontainersize 1453472 -srccontainerchecksum f9fa06d1370c7855d98fa17231620dc67f484053e12f79e69b76b3632feb4838e5fc77b9b7a9856d01426a9a9b465cfba70234ce725bb188cb24276d073751db +srccontainersize 1456060 +srccontainerchecksum 429b80ec2079d9ad60aaf2ee4f3b257ed0d4c56c2a0373e74474e7cb233fff57a3676689cbdae5acbc99ab874d97ddb33106249747b3159196441ac601740d3e srcfiles size=4398 texmf-dist/source/generic/tex4ht/ChangeLog texmf-dist/source/generic/tex4ht/Makefile @@ -315485,7 +315536,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 68236 +revision 68247 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. @@ -315493,10 +315544,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 114076 -containerchecksum cf54b4da9650cfe98d7cc1c727fb1132acd127b5bf59059fd4eb3ff69b5541824ffa72f2ea7b1e2902f2e7069115b9c963fdabe94211c4c85a1aae9807eff791 -doccontainersize 429464 -doccontainerchecksum ae6f015f618414c8985c5765dd2d087dcdcdceefd3191cee01820bd49b740d34120e66d6d17b31f33013bdb2b552dd6bb4abcd519f1f2e8018259de8bd5e70cb +containersize 114132 +containerchecksum 9abe163f0c16881ab0ba37f8e2bc2c9b0d4379b6d7846d0622f446d333d307e7f8e6ebeb63239ec9b88976baab6a87324f0bedfc7fdf8d26d7e83a3295af2672 +doccontainersize 429604 +doccontainerchecksum ca3c5e4f3f3b16f8885adf9f0ff83f9e1b732c6d7d2614fdec2f4103943e5df072f59a41172d68d1823535497bdf57c5776c0d03683241d1741cc9a5b463b899 docfiles size=550 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 487e528912..f1b8b827dd 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -a16d816657349dc544f12c565b9e2c07 texlive.tlpdb +de60d4e124624ad01869c403dbf11f64 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 711d43711d..7cbfa8b308 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -d05c595bb843ad13fd74216f61e926c90c8810ddf19aa6cc495a05884dd76167bf4a7d3519dcfbb1366a1bae7c24f9aa9913c8d0a4c9fc2c96290a15f6b4d8d4 texlive.tlpdb +fcc79df229b453cb138f303d650cd65cab99e36714c477bb9cb39dc79b96532ff34ca173856cc29bd4ad5b2aea5d96f92cbf57c59de5e0ceab5851351f8068bb texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 843f9c7d53..ddd6de64c3 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+QqiBBqTOGHfhlDjHAFAmT/ppwACgkQTOGHfhlD -jHCwwgf6A3VSu2yp9og7Y0CCVMu1Hq/niFA+8Ozw822xHHWehsZIJDSPB8e+h3VM -YsGU+Uy4/UApEzCxRXYSQmo1YdXU5tvmbZqSNJ18n6WSUMiJN9YJfRoaChh0khDs -ScfDSUVca/BUrSE+1yeEbbQlmIMM67xBMsgxHMhfFrivruYVsvydS0C9+LQE9LZ5 -5x9Ep6DDbT1jRgIKPfMhd3xGXrTaXN1TwCN0AZvjXBdaccu4443k5/raPsVOU03a -7MUAqIEOjJbUumnmGNjZt6PL0SZtxzEoQyS6+d9hsUjcMcINPVRzpQzd/FfSt3q0 -/VvRscZDqz2oNFHxVMe1Gl386OivSA== -=3xhV +iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmUA+AcACgkQTOGHfhlD +jHC1MQgArS/IGNDYKGpAOZ1exQ0n1pGLC+n+Py3BsUaRNVD1dPO80JZhzzhjDVkb +1lcYBfgg7QWTfttWJ6oPmNzGh+hLLp8dv7BDvbQ1VK7gnHIuw6JARjAAHX0EOVmq +W0vX+JZ/6PrPrO67HwGW0IxyqZxphCg0D3EsEARzh1NypzloEElXExHIgiTI4hfV +UUgBD1ESRISdhnxMBg1JHKhXwgXTtEOZkSl8i/USYQ2lOQ1z0J1ZkBZWQpsuGTvX +prFo32SIzmN89zMtllTnolK8gwyVkevR9zcciLjniFBPhsraZ17SHD7yydLgjWmv +DBXiuuDfoViT36z0pSETVlENbE9rbA== +=6UOC -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex 2b77ccf501..315bc4872e 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz @@ -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-09-12-02-02 +2023-09-13-02-02 |