diff options
author | Norbert Preining <norbert@preining.info> | 2022-10-03 03:03:44 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-10-03 03:03:44 +0000 |
commit | 0ec122c100e39ea118fdb2c4b6223ece8053f439 (patch) | |
tree | d7077d4e42fc0d4e6f697738c3852c6967dd3b35 | |
parent | 097f244236b682cc77c6ecf25be4150091d8daf9 (diff) |
CTAN sync 202210030303
160 files changed, 17233 insertions, 11246 deletions
diff --git a/FILES.byname b/FILES.byname index ef9c4f961b..68676c435f 100644 --- a/FILES.byname +++ b/FILES.byname @@ -5409,7 +5409,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2022/10/01 | 71660 | FILES.last07days +2022/10/02 | 69997 | 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 @@ -208507,16 +208507,16 @@ 2017/05/04 | 1031 | macros/latex/contrib/bgteubner/usefiles.txt 2017/05/05 | 2855695 | macros/latex/contrib/bgteubner.zip 2009/04/29 | 122631 | macros/latex/contrib/bg.zip -2022/01/10 | 332462 | macros/latex/contrib/bibarts/ba-short.pdf -2022/01/10 | 29417 | macros/latex/contrib/bibarts/ba-short.tex -2022/01/10 | 1044258 | macros/latex/contrib/bibarts/bibarts.pdf -2022/01/10 | 142424 | macros/latex/contrib/bibarts/bibarts.sty -2022/01/10 | 334474 | macros/latex/contrib/bibarts/bibarts.tex -2022/01/10 | 296440 | macros/latex/contrib/bibarts/bibsort.c -2022/01/10 | 229888 | macros/latex/contrib/bibarts/bibsort.exe +2022/10/01 | 336771 | macros/latex/contrib/bibarts/ba-short.pdf +2022/10/01 | 33013 | macros/latex/contrib/bibarts/ba-short.tex +2022/10/01 | 1071753 | macros/latex/contrib/bibarts/bibarts.pdf +2022/10/01 | 148995 | macros/latex/contrib/bibarts/bibarts.sty +2022/10/01 | 367337 | macros/latex/contrib/bibarts/bibarts.tex +2022/10/01 | 310294 | macros/latex/contrib/bibarts/bibsort.c +2022/10/01 | 233472 | macros/latex/contrib/bibarts/bibsort.exe 1993/11/28 | 17982 | macros/latex/contrib/bibarts/COPYING -2022/01/10 | 10040 | macros/latex/contrib/bibarts/README.txt -2022/01/10 | 1381314 | macros/latex/contrib/bibarts.zip +2022/10/01 | 12460 | macros/latex/contrib/bibarts/README.txt +2022/10/02 | 1419488 | macros/latex/contrib/bibarts.zip 2022/01/18 | 871 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-examples.bib 2022/01/18 | 132428 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-hyperref.pdf 2022/01/18 | 126889 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-hyperref-result.pdf @@ -219218,7 +219218,7 @@ 2022/05/27 | 713 | macros/latex/contrib/hvextern/README 2022/06/21 | 1030 | macros/latex/contrib/hvextern/script/hvextern-checkfile.lua 2022/06/24 | 1371984 | macros/latex/contrib/hvextern.zip -2022/09/01 | 4323 | macros/latex/contrib/hvfloat/Changes +2022/10/02 | 4390 | macros/latex/contrib/hvfloat/Changes 2022/09/01 | 80285 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf 2021/11/20 | 2379 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex 2022/09/01 | 86639 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf @@ -219345,7 +219345,7 @@ 2021/11/11 | 4184 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.tex 2022/09/01 | 121871 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf 2021/11/11 | 3964 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.tex -2022/09/01 | 5038218 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf +2022/10/02 | 5040712 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf 2022/07/20 | 120656 | macros/latex/contrib/hvfloat/doc/hvfloat.tex 2019/04/01 | 69089 | macros/latex/contrib/hvfloat/doc/images/CTAN.png 2021/03/12 | 1362739 | macros/latex/contrib/hvfloat/doc/images/felsen-wasser-small.pdf @@ -219354,9 +219354,9 @@ 2019/04/01 | 2493 | macros/latex/contrib/hvfloat/doc/images/rose.png 2021/03/14 | 501524 | macros/latex/contrib/hvfloat/doc/images/sonne-meer.jpg 2021/06/20 | 918 | macros/latex/contrib/hvfloat/latex/hvfloat-fps.sty -2022/09/01 | 69959 | macros/latex/contrib/hvfloat/latex/hvfloat.sty +2022/10/02 | 70188 | macros/latex/contrib/hvfloat/latex/hvfloat.sty 2021/03/08 | 563 | macros/latex/contrib/hvfloat/README -2022/09/01 | 17996510 | macros/latex/contrib/hvfloat.zip +2022/10/02 | 17998673 | macros/latex/contrib/hvfloat.zip 2017/12/12 | 533 | macros/latex/contrib/hvindex/Changes 2017/12/12 | 74896 | macros/latex/contrib/hvindex/doc/hvindex-doc.pdf 2017/12/12 | 7652 | macros/latex/contrib/hvindex/doc/hvindex-doc.tex @@ -220579,17 +220579,19 @@ 2011/07/07 | 92388 | macros/latex/contrib/kdgdocs/pi-orchid.jpg 2011/10/31 | 2700 | macros/latex/contrib/kdgdocs/README 2011/11/02 | 883256 | macros/latex/contrib/kdgdocs.zip -2022/07/03 | 143 | macros/latex/contrib/kdpcover/DEPENDS.txt -2022/07/03 | 5008 | macros/latex/contrib/kdpcover/kdpcover.cls -2022/07/03 | 104667 | macros/latex/contrib/kdpcover/kdpcover.pdf -2022/07/03 | 7256 | macros/latex/contrib/kdpcover/kdpcover-signature.pdf -2022/07/03 | 3850 | macros/latex/contrib/kdpcover/kdpcover.tex -2022/07/03 | 8540 | macros/latex/contrib/kdpcover/kdpcover-vol-1.pdf -2022/07/03 | 6504 | macros/latex/contrib/kdpcover/kdpcover-vol-2.pdf -2022/07/03 | 7156 | macros/latex/contrib/kdpcover/kdpcover-vol-3.pdf -2022/07/03 | 6723 | macros/latex/contrib/kdpcover/kdpcover-vol-4.pdf -2022/07/03 | 1811 | macros/latex/contrib/kdpcover/README.md -2022/07/03 | 135077 | macros/latex/contrib/kdpcover.zip +2022/10/02 | 47687 | macros/latex/contrib/kdpcover/cactus.pdf +2022/10/02 | 117 | macros/latex/contrib/kdpcover/DEPENDS.txt +2022/10/02 | 12745 | macros/latex/contrib/kdpcover/kdpcover.dtx +2022/10/02 | 2648 | macros/latex/contrib/kdpcover/kdpcover.ins +2022/10/02 | 260022 | macros/latex/contrib/kdpcover/kdpcover.pdf +2022/10/02 | 7256 | macros/latex/contrib/kdpcover/kdpcover-signature.pdf +2022/10/02 | 8540 | macros/latex/contrib/kdpcover/kdpcover-vol-1.pdf +2022/10/02 | 6504 | macros/latex/contrib/kdpcover/kdpcover-vol-2.pdf +2022/10/02 | 7156 | macros/latex/contrib/kdpcover/kdpcover-vol-3.pdf +2022/10/02 | 6723 | macros/latex/contrib/kdpcover/kdpcover-vol-4.pdf +2022/10/02 | 1083 | macros/latex/contrib/kdpcover/LICENSE.txt +2022/10/02 | 1892 | macros/latex/contrib/kdpcover/README.md +2022/10/02 | 339763 | macros/latex/contrib/kdpcover.zip 2004/04/14 | 1412 | macros/latex/contrib/kerntest/ChangeLog 2004/04/14 | 169870 | macros/latex/contrib/kerntest/kerntest.dtx 2004/04/12 | 1068 | macros/latex/contrib/kerntest/kerntest.ins @@ -230473,12 +230475,12 @@ 2004/11/06 | 1611 | macros/latex/contrib/srcltx/srcltx.ins 2006/12/06 | 130115 | macros/latex/contrib/srcltx/srcltx.pdf 2006/12/07 | 120683 | macros/latex/contrib/srcltx.zip -2022/09/11 | 986 | macros/latex/contrib/srdp-mathematik/README.md -2022/09/11 | 179280 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf -2022/09/11 | 77312 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty -2022/09/11 | 48032 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex +2022/10/02 | 986 | macros/latex/contrib/srdp-mathematik/README.md +2022/10/02 | 180179 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf +2022/10/02 | 78447 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty +2022/10/02 | 48433 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex 2021/11/09 | 112313 | macros/latex/contrib/srdp-mathematik/srdp-tables.sty -2022/09/11 | 189167 | macros/latex/contrib/srdp-mathematik.zip +2022/10/02 | 190297 | macros/latex/contrib/srdp-mathematik.zip 2013/09/06 | 64496 | macros/latex/contrib/sseq/sseq.dtx 2009/04/10 | 112 | macros/latex/contrib/sseq/sseq.ins 2013/09/06 | 215050 | macros/latex/contrib/sseq/sseq.pdf @@ -234656,49 +234658,51 @@ 1998/08/05 | 1143 | macros/latex/contrib/units/units.ins 2005/07/30 | 220961 | macros/latex/contrib/units/units.pdf 2005/07/30 | 216905 | macros/latex/contrib/units.zip -2022/07/19 | 24366 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx -2022/07/19 | 3602 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx -2022/09/08 | 116016 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf -2019/01/15 | 5231 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.tex -2019/01/15 | 106622 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf -2019/01/15 | 4737 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.tex -2022/09/08 | 200629 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf -2022/07/19 | 553 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex -2022/07/19 | 200633 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf -2022/07/19 | 531 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex -2021/11/03 | 155796 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf -2021/10/28 | 4367 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.tex -2021/11/03 | 151605 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf -2019/01/15 | 3965 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.tex -2022/09/08 | 173919 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf -2021/10/28 | 4727 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex -2018/09/06 | 2940 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.xmpdata -2021/10/13 | 170180 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf -2021/10/28 | 4268 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex -2018/09/06 | 2942 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.xmpdata -2022/09/08 | 249650 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf -2022/03/03 | 2060 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex -2022/09/08 | 457216 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf -2022/09/08 | 26229 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex -2022/09/08 | 447007 | macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf -2022/09/08 | 25747 | macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex -2022/09/08 | 453044 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf -2022/09/08 | 28960 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex -2022/09/08 | 458319 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf -2022/09/08 | 32213 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex -2022/09/08 | 341316 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf -2022/09/08 | 12495 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex -2022/09/08 | 9023 | macros/latex/contrib/univie-ling/README -2022/09/08 | 21577 | macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls -2022/09/08 | 29140 | macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls -2022/09/08 | 24958 | macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls -2022/09/08 | 26681 | macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls -2022/05/18 | 304 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg -2022/09/08 | 29957 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls -2018/09/06 | 93530 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf -2018/09/06 | 25574 | macros/latex/contrib/univie-ling/tex/univielogo.pdf -2018/09/06 | 25365 | macros/latex/contrib/univie-ling/tex/univielogo-sw.pdf -2022/09/08 | 3855271 | macros/latex/contrib/univie-ling.zip +2022/10/02 | 24366 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx +2022/10/02 | 3602 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx +2022/10/02 | 132481 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf +2022/10/02 | 5231 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.tex +2022/10/02 | 127717 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf +2022/10/02 | 4737 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.tex +2022/10/02 | 200629 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf +2022/10/02 | 553 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex +2022/10/02 | 200633 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf +2022/10/02 | 531 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex +2022/10/02 | 171999 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf +2022/10/02 | 4367 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.tex +2022/10/02 | 167017 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf +2022/10/02 | 3965 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.tex +2022/10/02 | 189870 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf +2022/10/02 | 4727 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex +2021/12/30 | 2940 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.xmpdata +2022/10/02 | 186018 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf +2022/10/02 | 4268 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex +2021/12/30 | 2942 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.xmpdata +2022/10/02 | 372059 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf +2022/10/02 | 2258 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex +2022/10/02 | 457719 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf +2022/10/02 | 26598 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex +2022/10/02 | 447447 | macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf +2022/10/02 | 26128 | macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex +2022/10/02 | 453762 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf +2022/10/02 | 29336 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex +2022/10/02 | 364169 | macros/latex/contrib/univie-ling/doc/univie-ling.pdf +2022/10/02 | 4426 | macros/latex/contrib/univie-ling/doc/univie-ling.tex +2022/10/02 | 458697 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf +2022/10/02 | 32604 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex +2022/10/02 | 342852 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf +2022/10/02 | 12878 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex +2022/10/02 | 9584 | macros/latex/contrib/univie-ling/README +2022/10/02 | 21363 | macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls +2022/10/02 | 28180 | macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls +2022/10/02 | 24779 | macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls +2022/10/02 | 26550 | macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls +2022/09/11 | 304 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cfg +2022/10/02 | 30587 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls +2022/09/29 | 93497 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf +2022/09/11 | 25574 | macros/latex/contrib/univie-ling/tex/univielogo.pdf +2022/09/11 | 25365 | macros/latex/contrib/univie-ling/tex/univielogo-sw.pdf +2022/10/02 | 4446908 | macros/latex/contrib/univie-ling.zip 2019/07/14 | 30359 | macros/latex/contrib/unizgklasa/example.pdf 2019/07/14 | 4187 | macros/latex/contrib/unizgklasa/example.tex 2019/07/14 | 1729 | macros/latex/contrib/unizgklasa/README.md @@ -236061,14 +236065,14 @@ 2022/06/13 | 236871 | macros/latex/contrib/yathesis/source/yathesis.dtx 2022/06/13 | 52692 | macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx 2022/06/13 | 12859357 | macros/latex/contrib/yathesis.zip -2022/01/03 | 464 | macros/latex/contrib/yb-book/DEPENDS.txt -2022/01/03 | 1087 | macros/latex/contrib/yb-book/README.md -2022/01/03 | 1416 | macros/latex/contrib/yb-book/samples/sample.tex -2022/01/03 | 9992 | macros/latex/contrib/yb-book/yb-book.cls -2022/01/03 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf -2022/01/03 | 239404 | macros/latex/contrib/yb-book/yb-book.pdf -2022/01/03 | 2905 | macros/latex/contrib/yb-book/yb-book.tex -2022/01/03 | 251424 | macros/latex/contrib/yb-book.zip +2022/10/02 | 425 | macros/latex/contrib/yb-book/DEPENDS.txt +2022/10/02 | 1083 | macros/latex/contrib/yb-book/LICENSE.txt +2022/10/02 | 1279 | macros/latex/contrib/yb-book/README.md +2022/10/02 | 17873 | macros/latex/contrib/yb-book/yb-book.dtx +2022/10/02 | 2645 | macros/latex/contrib/yb-book/yb-book.ins +2022/10/02 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf +2022/10/02 | 283494 | macros/latex/contrib/yb-book/yb-book.pdf +2022/10/02 | 293533 | macros/latex/contrib/yb-book.zip 2018/01/02 | 586 | macros/latex/contrib/ycbook/README.md 2018/01/02 | 20474 | macros/latex/contrib/ycbook/ycbook.cls 2018/01/02 | 126255 | macros/latex/contrib/ycbook/ycbook-doc.pdf @@ -237429,114 +237433,115 @@ 2015/10/04 | 263467 | macros/luatex/generic/luatexbase/luatexbase.pdf 2015/10/04 | 450 | macros/luatex/generic/luatexbase/README.md 2015/10/04 | 270547 | macros/luatex/generic/luatexbase.zip -2022/08/10 | 1536 | macros/luatex/generic/luatexja/COPYING -2022/08/10 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua -2022/08/10 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua -2022/08/10 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua -2022/08/10 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf -2022/08/10 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex -2022/08/10 | 397581 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf -2022/08/10 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf -2022/08/10 | 456577 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf -2022/08/10 | 541346 | macros/luatex/generic/luatexja/doc/luatexja.dtx -2022/08/10 | 717611 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf -2022/08/10 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins -2022/08/10 | 1149406 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf -2022/08/10 | 390299 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf -2022/08/10 | 57155 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex -2022/08/10 | 3797 | macros/luatex/generic/luatexja/README -2022/08/10 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty -2022/08/10 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty -2022/08/10 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty -2022/08/10 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty -2022/08/10 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty -2022/08/10 | 29572 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty -2022/08/10 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty -2022/08/10 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty -2022/08/10 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua -2022/08/10 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua -2022/08/10 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua -2022/08/10 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua -2022/08/10 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua -2022/08/10 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua -2022/08/10 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua -2022/08/10 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua -2022/08/10 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua -2022/08/10 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua -2022/08/10 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua -2022/08/10 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua -2022/08/10 | 11508 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua -2022/08/10 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty -2022/08/10 | 21879 | macros/luatex/generic/luatexja/src/ltj-adjust.lua -2022/08/10 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua -2022/08/10 | 6214 | macros/luatex/generic/luatexja/src/ltj-base.sty -2022/08/10 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua -2022/08/10 | 177686 | macros/luatex/generic/luatexja/src/ltjclasses.dtx -2022/08/10 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins -2022/08/10 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua -2022/08/10 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua -2022/08/10 | 39632 | macros/luatex/generic/luatexja/src/ltj-direction.lua -2022/08/10 | 3425 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua -2022/08/10 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua -2022/08/10 | 55553 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua -2022/08/10 | 48551 | macros/luatex/generic/luatexja/src/ltj-jfont.lua -2022/08/10 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua -2022/08/10 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex -2022/08/10 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty -2022/08/10 | 3804 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua -2022/08/10 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua -2022/08/10 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx -2022/08/10 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins -2022/08/10 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua -2022/08/10 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua -2022/08/10 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty -2022/08/10 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua -2022/08/10 | 14929 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua -2022/08/10 | 32183 | macros/luatex/generic/luatexja/src/ltj-ruby.lua -2022/08/10 | 189093 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx -2022/08/10 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins -2022/08/10 | 13238 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua -2022/08/10 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua -2022/08/10 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua -2022/08/10 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty -2022/08/10 | 29814 | macros/luatex/generic/luatexja/src/luatexja-core.sty -2022/08/10 | 22453 | macros/luatex/generic/luatexja/src/luatexja.lua -2022/08/10 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty -2022/08/10 | 12716 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty -2022/08/10 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty -2022/08/10 | 49557 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty -2022/08/10 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty -2022/08/10 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty -2022/08/10 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty -2022/08/10 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty -2022/08/10 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty -2022/08/10 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty -2022/08/10 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty -2022/08/10 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty -2022/08/10 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty -2022/08/10 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty -2022/08/10 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty -2022/08/10 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty -2022/08/10 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty -2022/08/10 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty -2022/08/10 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty -2022/08/10 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb -2022/08/10 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb -2022/08/10 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua -2022/08/10 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex -2022/08/10 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua -2022/08/10 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb -2022/08/10 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex -2022/08/10 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt -2022/08/10 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl -2022/08/10 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt -2022/08/10 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt -2022/08/10 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt -2022/08/10 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt -2022/08/10 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua -2022/08/10 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex -2022/08/10 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex -2022/08/10 | 3835991 | macros/luatex/generic/luatexja.zip +2022/10/02 | 1536 | macros/luatex/generic/luatexja/COPYING +2022/10/02 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua +2022/10/02 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua +2022/10/02 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua +2022/10/02 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf +2022/10/02 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex +2022/10/02 | 403681 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf +2022/10/02 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf +2022/10/02 | 460413 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf +2022/10/02 | 543528 | macros/luatex/generic/luatexja/doc/luatexja.dtx +2022/10/02 | 717361 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf +2022/10/02 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins +2022/10/02 | 1149287 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf +2022/10/02 | 390299 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf +2022/10/02 | 57155 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex +2022/10/02 | 3796 | macros/luatex/generic/luatexja/README +2022/10/02 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty +2022/10/02 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty +2022/10/02 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty +2022/10/02 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty +2022/10/02 | 6922 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty +2022/10/02 | 29572 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty +2022/10/02 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty +2022/10/02 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty +2022/10/02 | 2599 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua +2022/10/02 | 2203 | macros/luatex/generic/luatexja/src/jfm-CCT.lua +2022/10/02 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua +2022/10/02 | 2582 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua +2022/10/02 | 8103 | macros/luatex/generic/luatexja/src/jfm-min.lua +2022/10/02 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua +2022/10/02 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua +2022/10/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua +2022/10/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua +2022/10/02 | 2573 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua +2022/10/02 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua +2022/10/02 | 13895 | macros/luatex/generic/luatexja/src/jfm-ujis.lua +2022/10/02 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua +2022/10/02 | 27058 | macros/luatex/generic/luatexja/src/lltjext.sty +2022/10/02 | 22125 | macros/luatex/generic/luatexja/src/ltj-adjust.lua +2022/10/02 | 12136 | macros/luatex/generic/luatexja/src/ltj-base.lua +2022/10/02 | 6246 | macros/luatex/generic/luatexja/src/ltj-base.sty +2022/10/02 | 4215 | macros/luatex/generic/luatexja/src/ltj-charrange.lua +2022/10/02 | 178115 | macros/luatex/generic/luatexja/src/ltjclasses.dtx +2022/10/02 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins +2022/10/02 | 3756 | macros/luatex/generic/luatexja/src/ltj-compat.lua +2022/10/02 | 5215 | macros/luatex/generic/luatexja/src/ltj-debug.lua +2022/10/02 | 39302 | macros/luatex/generic/luatexja/src/ltj-direction.lua +2022/10/02 | 3429 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua +2022/10/02 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua +2022/10/02 | 55401 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua +2022/10/02 | 48082 | macros/luatex/generic/luatexja/src/ltj-jfont.lua +2022/10/02 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua +2022/10/02 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex +2022/10/02 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty +2022/10/02 | 3879 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua +2022/10/02 | 5931 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua +2022/10/02 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx +2022/10/02 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins +2022/10/02 | 7546 | macros/luatex/generic/luatexja/src/ltj-math.lua +2022/10/02 | 8695 | macros/luatex/generic/luatexja/src/ltj-otf.lua +2022/10/02 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty +2022/10/02 | 7042 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua +2022/10/02 | 14926 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua +2022/10/02 | 31807 | macros/luatex/generic/luatexja/src/ltj-ruby.lua +2022/10/02 | 189539 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx +2022/10/02 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins +2022/10/02 | 13346 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua +2022/10/02 | 4521 | macros/luatex/generic/luatexja/src/ltj-stack.lua +2022/10/02 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua +2022/10/02 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty +2022/10/02 | 29378 | macros/luatex/generic/luatexja/src/luatexja-core.sty +2022/10/02 | 22079 | macros/luatex/generic/luatexja/src/luatexja.lua +2022/10/02 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty +2022/10/02 | 12716 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty +2022/10/02 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty +2022/10/02 | 49558 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty +2022/10/02 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty +2022/10/02 | 4308 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty +2022/10/02 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty +2022/10/02 | 425 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty +2022/10/02 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty +2022/10/02 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty +2022/10/02 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty +2022/10/02 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty +2022/10/02 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty +2022/10/02 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty +2022/10/02 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty +2022/10/02 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty +2022/10/02 | 6135 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty +2022/10/02 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty +2022/10/02 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty +2022/10/02 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb +2022/10/02 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb +2022/10/02 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua +2022/10/02 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex +2022/10/02 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua +2022/10/02 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb +2022/10/02 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex +2022/10/02 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt +2022/10/02 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl +2022/10/02 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt +2022/10/02 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt +2022/10/02 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt +2022/10/02 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt +2022/10/02 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua +2022/10/02 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex +2022/10/02 | 1740 | macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex +2022/10/02 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex +2022/10/02 | 3845689 | macros/luatex/generic/luatexja.zip 2022/03/20 | 9193 | macros/luatex/generic/luatexko/ChangeLog 2022/03/20 | 339172 | macros/luatex/generic/luatexko/luatexko-doc.pdf 2022/03/20 | 35829 | macros/luatex/generic/luatexko/luatexko-doc.tex @@ -272599,115 +272604,115 @@ 2017/07/15 | 239616 | support/excel2latex/Excel2LaTeX.xla 2017/07/15 | 3018 | support/excel2latex/README.md 2017/07/16 | 105344 | support/excel2latex.zip -2019/02/11 | 108040 | support/extractpdfmark/aclocal.m4 -2019/02/11 | 1436 | support/extractpdfmark/autogen.sh -2019/02/11 | 7382 | support/extractpdfmark/compile -2019/02/11 | 43993 | support/extractpdfmark/config.guess -2019/02/11 | 2510 | support/extractpdfmark/config.h.in -2019/02/11 | 18574 | support/extractpdfmark/config.rpath -2019/02/11 | 36428 | support/extractpdfmark/config.sub -2019/02/11 | 294655 | support/extractpdfmark/configure -2019/02/11 | 8343 | support/extractpdfmark/configure.ac -2019/02/11 | 35147 | support/extractpdfmark/COPYING -2019/02/11 | 23567 | support/extractpdfmark/depcomp -2019/02/11 | 14676 | support/extractpdfmark/install-sh -2019/02/11 | 6571 | support/extractpdfmark/m4/ax_compare_version.m4 -2019/02/11 | 1677 | support/extractpdfmark/m4/ax_cxx_compile_stdcxx_11.m4 -2019/02/11 | 19246 | support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 -2019/02/11 | 125 | support/extractpdfmark/Makefile.am -2019/02/11 | 27642 | support/extractpdfmark/Makefile.in -2019/02/11 | 2414 | support/extractpdfmark/man/extractpdfmark.1 -2019/02/11 | 53 | support/extractpdfmark/man/Makefile.am -2019/02/11 | 15165 | support/extractpdfmark/man/Makefile.in -2019/02/11 | 6873 | support/extractpdfmark/missing -2019/02/11 | 333 | support/extractpdfmark/NEWS -2019/02/11 | 9023 | support/extractpdfmark/README.ja.md -2019/02/11 | 7033 | support/extractpdfmark/README.md -2019/02/11 | 25040 | support/extractpdfmark/src/cmdlineparse.hh -2019/02/11 | 2747 | support/extractpdfmark/src/encodename.cc -2019/02/11 | 5752 | support/extractpdfmark/src/iconv_wrapper.hh -2019/02/11 | 2521 | support/extractpdfmark/src/main.cc -2019/02/11 | 1096 | support/extractpdfmark/src/Makefile.am -2019/02/11 | 25379 | support/extractpdfmark/src/Makefile.in -2019/02/11 | 1947 | support/extractpdfmark/src/output-pdfmark.cc -2019/02/11 | 1968 | support/extractpdfmark/src/output-pdfmark.hh -2019/02/11 | 6531 | support/extractpdfmark/src/poppler-core/destname.cc -2019/02/11 | 1886 | support/extractpdfmark/src/poppler-core/destname-private.hh -2019/02/11 | 254 | support/extractpdfmark/src/poppler-core/Makefile.am -2019/02/11 | 25435 | support/extractpdfmark/src/poppler-core/Makefile.in -2019/02/11 | 1850 | support/extractpdfmark/src/poppler-core/pagemode.cc -2019/02/11 | 1894 | support/extractpdfmark/src/poppler-core/poppler-core.cc -2019/02/11 | 1584 | support/extractpdfmark/src/poppler-core/poppler-core.hh -2019/02/11 | 3528 | support/extractpdfmark/src/poppler-cpp/destname-cpp.cc -2019/02/11 | 241 | support/extractpdfmark/src/poppler-cpp/Makefile.am -2019/02/11 | 25560 | support/extractpdfmark/src/poppler-cpp/Makefile.in -2019/02/11 | 1958 | support/extractpdfmark/src/poppler-cpp/pagemode-cpp.cc -2019/02/11 | 1552 | support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc -2019/02/11 | 1310 | support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh -2019/02/11 | 4228 | support/extractpdfmark/src/poppler-glib/destname-glib.cc -2019/02/11 | 249 | support/extractpdfmark/src/poppler-glib/Makefile.am -2019/02/11 | 25750 | support/extractpdfmark/src/poppler-glib/Makefile.in -2019/02/11 | 1945 | support/extractpdfmark/src/poppler-glib/pagemode-glib.cc -2019/02/11 | 3114 | support/extractpdfmark/src/poppler-glib/poppler-glib.cc -2019/02/11 | 1449 | support/extractpdfmark/src/poppler-glib/poppler-glib.hh -2019/02/11 | 917 | support/extractpdfmark/src/utf16.cc -2019/02/11 | 898 | support/extractpdfmark/src/utf16.hh -2019/02/11 | 1742 | support/extractpdfmark/src/utf8.cc -2019/02/11 | 894 | support/extractpdfmark/src/utf8.hh -2019/02/11 | 120 | support/extractpdfmark/test/addnamedict.ps -2019/02/11 | 286 | support/extractpdfmark/test/binary-expected.pdfmark -2019/02/11 | 11537 | support/extractpdfmark/test/binary.pdf -2019/02/11 | 679 | support/extractpdfmark/test/binary.tex -2019/02/11 | 166 | support/extractpdfmark/test/destonly-expected-hex.pdfmark -2019/02/11 | 178 | support/extractpdfmark/test/destonly-expected-literal-escape.pdfmark -2019/02/11 | 170 | support/extractpdfmark/test/destonly-expected-name-escape.pdfmark -2019/02/11 | 158 | support/extractpdfmark/test/destonly-expected-name.pdfmark -2019/02/11 | 160 | support/extractpdfmark/test/destonly-expected.pdfmark -2019/02/11 | 11384 | support/extractpdfmark/test/destonly.pdf -2019/02/11 | 158 | support/extractpdfmark/test/destonly.tex -2019/02/11 | 719 | support/extractpdfmark/test/desttype-expected.pdfmark -2019/02/11 | 17442 | support/extractpdfmark/test/desttype.pdf -2019/02/11 | 1116 | support/extractpdfmark/test/desttype.tex -2019/02/11 | 4641 | support/extractpdfmark/test-driver -2019/02/11 | 5058 | support/extractpdfmark/test/Makefile.am -2019/02/11 | 32858 | support/extractpdfmark/test/Makefile.in -2019/02/11 | 160 | support/extractpdfmark/test/namedict-expected.pdfmark -2019/02/11 | 7586 | support/extractpdfmark/test/namedict.pdf -2019/02/11 | 38 | support/extractpdfmark/test/nodest-expected.pdfmark -2019/02/11 | 11293 | support/extractpdfmark/test/nodest.pdf -2019/02/11 | 96 | support/extractpdfmark/test/nodest.tex -2019/02/11 | 41 | support/extractpdfmark/test/pagemode-fullscreen-expected.pdfmark -2019/02/11 | 11307 | support/extractpdfmark/test/pagemode-fullscreen.pdf -2019/02/11 | 136 | support/extractpdfmark/test/pagemode-fullscreen.tex -2019/02/11 | 40 | support/extractpdfmark/test/pagemode-thumbs-expected.pdfmark -2019/02/11 | 11308 | support/extractpdfmark/test/pagemode-thumbs.pdf -2019/02/11 | 134 | support/extractpdfmark/test/pagemode-thumbs.tex -2019/02/11 | 38 | support/extractpdfmark/test/pagemode-usenone-expected.pdfmark -2019/02/11 | 11305 | support/extractpdfmark/test/pagemode-usenone.pdf -2019/02/11 | 130 | support/extractpdfmark/test/pagemode-usenone.tex -2019/02/11 | 214 | support/extractpdfmark/test/pdfdocencoding-expected.pdfmark -2019/02/11 | 11518 | support/extractpdfmark/test/pdfdocencoding.pdf -2019/02/11 | 458 | support/extractpdfmark/test/pdfdocencoding.tex -2019/02/11 | 887 | support/extractpdfmark/test/special-chars-expected-hex.pdfmark -2019/02/11 | 915 | support/extractpdfmark/test/special-chars-expected-literal-escape.pdfmark -2019/02/11 | 887 | support/extractpdfmark/test/special-chars-expected-name-escape.pdfmark -2019/02/11 | 885 | support/extractpdfmark/test/special-chars-expected-name.pdfmark -2019/02/11 | 885 | support/extractpdfmark/test/special-chars-expected.pdfmark -2019/02/11 | 20949 | support/extractpdfmark/test/special-chars.pdf -2019/02/11 | 1885 | support/extractpdfmark/test/special-chars.tex -2019/02/11 | 1031 | support/extractpdfmark/test/test-expected-pdfmark.sh -2019/02/11 | 1082 | support/extractpdfmark/test/test-round.sh -2019/02/11 | 286 | support/extractpdfmark/test/utf16-expected.pdfmark -2019/02/11 | 11537 | support/extractpdfmark/test/utf16.pdf -2019/02/11 | 503 | support/extractpdfmark/test/utf16.tex -2019/02/11 | 190 | support/extractpdfmark/test/utf8-expected-hex.pdfmark -2019/02/11 | 222 | support/extractpdfmark/test/utf8-expected-literal-escape.pdfmark -2019/02/11 | 204 | support/extractpdfmark/test/utf8-expected-name-escape.pdfmark -2019/02/11 | 184 | support/extractpdfmark/test/utf8-expected-name.pdfmark -2019/02/11 | 174 | support/extractpdfmark/test/utf8-expected.pdfmark -2019/02/11 | 11545 | support/extractpdfmark/test/utf8.pdf -2019/02/11 | 698 | support/extractpdfmark/test/utf8.tex -2019/02/11 | 409004 | support/extractpdfmark.zip +2022/09/30 | 140583 | support/extractpdfmark/aclocal.m4 +2022/09/30 | 1436 | support/extractpdfmark/autogen.sh +2022/09/30 | 7400 | support/extractpdfmark/compile +2022/09/30 | 48588 | support/extractpdfmark/config.guess +2022/09/30 | 2655 | support/extractpdfmark/config.h.in +2022/09/30 | 18574 | support/extractpdfmark/config.rpath +2022/09/30 | 31620 | support/extractpdfmark/config.sub +2022/09/30 | 386567 | support/extractpdfmark/configure +2022/09/30 | 9176 | support/extractpdfmark/configure.ac +2022/09/30 | 35147 | support/extractpdfmark/COPYING +2022/09/30 | 23568 | support/extractpdfmark/depcomp +2022/09/30 | 15358 | support/extractpdfmark/install-sh +2022/09/30 | 6571 | support/extractpdfmark/m4/ax_compare_version.m4 +2022/09/30 | 1677 | support/extractpdfmark/m4/ax_cxx_compile_stdcxx_11.m4 +2022/09/30 | 21126 | support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 +2022/09/30 | 125 | support/extractpdfmark/Makefile.am +2022/09/30 | 28058 | support/extractpdfmark/Makefile.in +2022/09/30 | 2414 | support/extractpdfmark/man/extractpdfmark.1 +2022/09/30 | 53 | support/extractpdfmark/man/Makefile.am +2022/09/30 | 15276 | support/extractpdfmark/man/Makefile.in +2022/09/30 | 6878 | support/extractpdfmark/missing +2022/09/30 | 621 | support/extractpdfmark/NEWS +2022/09/30 | 9413 | support/extractpdfmark/README.ja.md +2022/09/30 | 7287 | support/extractpdfmark/README.md +2022/09/30 | 25040 | support/extractpdfmark/src/cmdlineparse.hh +2022/09/30 | 2747 | support/extractpdfmark/src/encodename.cc +2022/09/30 | 5811 | support/extractpdfmark/src/iconv_wrapper.hh +2022/09/30 | 2521 | support/extractpdfmark/src/main.cc +2022/09/30 | 1096 | support/extractpdfmark/src/Makefile.am +2022/09/30 | 26146 | support/extractpdfmark/src/Makefile.in +2022/09/30 | 1947 | support/extractpdfmark/src/output-pdfmark.cc +2022/09/30 | 1968 | support/extractpdfmark/src/output-pdfmark.hh +2022/09/30 | 6531 | support/extractpdfmark/src/poppler-core/destname.cc +2022/09/30 | 1886 | support/extractpdfmark/src/poppler-core/destname-private.hh +2022/09/30 | 254 | support/extractpdfmark/src/poppler-core/Makefile.am +2022/09/30 | 26292 | support/extractpdfmark/src/poppler-core/Makefile.in +2022/09/30 | 1850 | support/extractpdfmark/src/poppler-core/pagemode.cc +2022/09/30 | 1894 | support/extractpdfmark/src/poppler-core/poppler-core.cc +2022/09/30 | 1584 | support/extractpdfmark/src/poppler-core/poppler-core.hh +2022/09/30 | 3528 | support/extractpdfmark/src/poppler-cpp/destname-cpp.cc +2022/09/30 | 241 | support/extractpdfmark/src/poppler-cpp/Makefile.am +2022/09/30 | 26429 | support/extractpdfmark/src/poppler-cpp/Makefile.in +2022/09/30 | 1958 | support/extractpdfmark/src/poppler-cpp/pagemode-cpp.cc +2022/09/30 | 1611 | support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc +2022/09/30 | 1334 | support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh +2022/09/30 | 4228 | support/extractpdfmark/src/poppler-glib/destname-glib.cc +2022/09/30 | 249 | support/extractpdfmark/src/poppler-glib/Makefile.am +2022/09/30 | 26637 | support/extractpdfmark/src/poppler-glib/Makefile.in +2022/09/30 | 1945 | support/extractpdfmark/src/poppler-glib/pagemode-glib.cc +2022/09/30 | 3114 | support/extractpdfmark/src/poppler-glib/poppler-glib.cc +2022/09/30 | 1449 | support/extractpdfmark/src/poppler-glib/poppler-glib.hh +2022/09/30 | 917 | support/extractpdfmark/src/utf16.cc +2022/09/30 | 898 | support/extractpdfmark/src/utf16.hh +2022/09/30 | 1742 | support/extractpdfmark/src/utf8.cc +2022/09/30 | 894 | support/extractpdfmark/src/utf8.hh +2022/09/30 | 120 | support/extractpdfmark/test/addnamedict.ps +2022/09/30 | 286 | support/extractpdfmark/test/binary-expected.pdfmark +2022/09/30 | 11538 | support/extractpdfmark/test/binary.pdf +2022/09/30 | 679 | support/extractpdfmark/test/binary.tex +2022/09/30 | 166 | support/extractpdfmark/test/destonly-expected-hex.pdfmark +2022/09/30 | 178 | support/extractpdfmark/test/destonly-expected-literal-escape.pdfmark +2022/09/30 | 170 | support/extractpdfmark/test/destonly-expected-name-escape.pdfmark +2022/09/30 | 158 | support/extractpdfmark/test/destonly-expected-name.pdfmark +2022/09/30 | 160 | support/extractpdfmark/test/destonly-expected.pdfmark +2022/09/30 | 11385 | support/extractpdfmark/test/destonly.pdf +2022/09/30 | 158 | support/extractpdfmark/test/destonly.tex +2022/09/30 | 719 | support/extractpdfmark/test/desttype-expected.pdfmark +2022/09/30 | 17443 | support/extractpdfmark/test/desttype.pdf +2022/09/30 | 1116 | support/extractpdfmark/test/desttype.tex +2022/09/30 | 4879 | support/extractpdfmark/test-driver +2022/09/30 | 5058 | support/extractpdfmark/test/Makefile.am +2022/09/30 | 33035 | support/extractpdfmark/test/Makefile.in +2022/09/30 | 160 | support/extractpdfmark/test/namedict-expected.pdfmark +2022/09/30 | 7606 | support/extractpdfmark/test/namedict.pdf +2022/09/30 | 38 | support/extractpdfmark/test/nodest-expected.pdfmark +2022/09/30 | 11294 | support/extractpdfmark/test/nodest.pdf +2022/09/30 | 96 | support/extractpdfmark/test/nodest.tex +2022/09/30 | 41 | support/extractpdfmark/test/pagemode-fullscreen-expected.pdfmark +2022/09/30 | 11308 | support/extractpdfmark/test/pagemode-fullscreen.pdf +2022/09/30 | 136 | support/extractpdfmark/test/pagemode-fullscreen.tex +2022/09/30 | 40 | support/extractpdfmark/test/pagemode-thumbs-expected.pdfmark +2022/09/30 | 11309 | support/extractpdfmark/test/pagemode-thumbs.pdf +2022/09/30 | 134 | support/extractpdfmark/test/pagemode-thumbs.tex +2022/09/30 | 38 | support/extractpdfmark/test/pagemode-usenone-expected.pdfmark +2022/09/30 | 11306 | support/extractpdfmark/test/pagemode-usenone.pdf +2022/09/30 | 130 | support/extractpdfmark/test/pagemode-usenone.tex +2022/09/30 | 214 | support/extractpdfmark/test/pdfdocencoding-expected.pdfmark +2022/09/30 | 11519 | support/extractpdfmark/test/pdfdocencoding.pdf +2022/09/30 | 458 | support/extractpdfmark/test/pdfdocencoding.tex +2022/09/30 | 887 | support/extractpdfmark/test/special-chars-expected-hex.pdfmark +2022/09/30 | 915 | support/extractpdfmark/test/special-chars-expected-literal-escape.pdfmark +2022/09/30 | 887 | support/extractpdfmark/test/special-chars-expected-name-escape.pdfmark +2022/09/30 | 885 | support/extractpdfmark/test/special-chars-expected-name.pdfmark +2022/09/30 | 885 | support/extractpdfmark/test/special-chars-expected.pdfmark +2022/09/30 | 20949 | support/extractpdfmark/test/special-chars.pdf +2022/09/30 | 1885 | support/extractpdfmark/test/special-chars.tex +2022/09/30 | 902 | support/extractpdfmark/test/test-expected-pdfmark.sh +2022/09/30 | 1082 | support/extractpdfmark/test/test-round.sh +2022/09/30 | 286 | support/extractpdfmark/test/utf16-expected.pdfmark +2022/09/30 | 11538 | support/extractpdfmark/test/utf16.pdf +2022/09/30 | 503 | support/extractpdfmark/test/utf16.tex +2022/09/30 | 190 | support/extractpdfmark/test/utf8-expected-hex.pdfmark +2022/09/30 | 222 | support/extractpdfmark/test/utf8-expected-literal-escape.pdfmark +2022/09/30 | 204 | support/extractpdfmark/test/utf8-expected-name-escape.pdfmark +2022/09/30 | 184 | support/extractpdfmark/test/utf8-expected-name.pdfmark +2022/09/30 | 174 | support/extractpdfmark/test/utf8-expected.pdfmark +2022/09/30 | 11546 | support/extractpdfmark/test/utf8.pdf +2022/09/30 | 698 | support/extractpdfmark/test/utf8.tex +2022/10/02 | 425624 | support/extractpdfmark.zip 2000/02/01 | 3193 | support/fancyhdrBoxed/Header.py 2000/02/01 | 4763 | support/fancyhdrBoxed/MiniBloquiHeader.tex 2006/03/19 | 3823 | support/fancyhdrBoxed.zip @@ -281993,9 +281998,9 @@ 2022/02/21 | 293528 | systems/texlive/tlnet/archive/babel-serbianc.doc.r62110.tar.xz 2022/02/21 | 4332 | systems/texlive/tlnet/archive/babel-serbianc.r62110.tar.xz 2022/02/21 | 9860 | systems/texlive/tlnet/archive/babel-serbianc.source.r62110.tar.xz -2022/02/17 | 256896 | systems/texlive/tlnet/archive/babel-serbian.doc.r62041.tar.xz -2022/02/17 | 3368 | systems/texlive/tlnet/archive/babel-serbian.r62041.tar.xz -2022/02/17 | 7432 | systems/texlive/tlnet/archive/babel-serbian.source.r62041.tar.xz +2022/10/02 | 256632 | systems/texlive/tlnet/archive/babel-serbian.doc.r64571.tar.xz +2022/10/02 | 3360 | systems/texlive/tlnet/archive/babel-serbian.r64571.tar.xz +2022/10/02 | 7436 | systems/texlive/tlnet/archive/babel-serbian.source.r64571.tar.xz 2019/02/28 | 195272 | systems/texlive/tlnet/archive/babel-slovak.doc.r30292.tar.xz 2019/02/28 | 5432 | systems/texlive/tlnet/archive/babel-slovak.r30292.tar.xz 2019/02/28 | 13924 | systems/texlive/tlnet/archive/babel-slovak.source.r30292.tar.xz @@ -283753,8 +283758,8 @@ 2022/09/26 | 61900 | systems/texlive/tlnet/archive/crefthe.doc.r64498.tar.xz 2022/09/26 | 3244 | systems/texlive/tlnet/archive/crefthe.r64498.tar.xz 2022/10/01 | 34252 | systems/texlive/tlnet/archive/crimson.doc.r64559.tar.xz -2020/03/24 | 85172 | systems/texlive/tlnet/archive/crimsonpro.doc.r54512.tar.xz -2020/03/24 | 2563452 | systems/texlive/tlnet/archive/crimsonpro.r54512.tar.xz +2022/10/02 | 85180 | systems/texlive/tlnet/archive/crimsonpro.doc.r64565.tar.xz +2022/10/02 | 2549080 | systems/texlive/tlnet/archive/crimsonpro.r64565.tar.xz 2022/10/01 | 1383500 | systems/texlive/tlnet/archive/crimson.r64559.tar.xz 2020/06/06 | 326624 | systems/texlive/tlnet/archive/crop.doc.r55424.tar.xz 2020/06/06 | 4680 | systems/texlive/tlnet/archive/crop.r55424.tar.xz @@ -285653,9 +285658,9 @@ 2022/02/21 | 7580 | systems/texlive/tlnet/archive/flashcards.source.r62104.tar.xz 2019/02/28 | 1323548 | systems/texlive/tlnet/archive/flashmovie.doc.r25768.tar.xz 2019/02/28 | 19612 | systems/texlive/tlnet/archive/flashmovie.r25768.tar.xz -2022/07/11 | 291264 | systems/texlive/tlnet/archive/flexipage.doc.r63865.tar.xz -2022/07/11 | 3856 | systems/texlive/tlnet/archive/flexipage.r63865.tar.xz -2022/07/11 | 8004 | systems/texlive/tlnet/archive/flexipage.source.r63865.tar.xz +2022/10/02 | 292592 | systems/texlive/tlnet/archive/flexipage.doc.r64572.tar.xz +2022/10/02 | 3912 | systems/texlive/tlnet/archive/flexipage.r64572.tar.xz +2022/10/02 | 8172 | systems/texlive/tlnet/archive/flexipage.source.r64572.tar.xz 2019/02/28 | 348720 | systems/texlive/tlnet/archive/flipbook.doc.r25584.tar.xz 2019/02/28 | 1792 | systems/texlive/tlnet/archive/flipbook.r25584.tar.xz 2020/10/28 | 149840 | systems/texlive/tlnet/archive/flippdf.doc.r56782.tar.xz @@ -285856,8 +285861,8 @@ 2019/02/28 | 129364 | systems/texlive/tlnet/archive/formular.doc.r15878.tar.xz 2019/02/28 | 3240 | systems/texlive/tlnet/archive/formular.r15878.tar.xz 2019/02/28 | 8208 | systems/texlive/tlnet/archive/formular.source.r15878.tar.xz -2020/08/03 | 27440 | systems/texlive/tlnet/archive/forum.doc.r56025.tar.xz -2020/08/03 | 675572 | systems/texlive/tlnet/archive/forum.r56025.tar.xz +2022/10/02 | 27448 | systems/texlive/tlnet/archive/forum.doc.r64566.tar.xz +2022/10/02 | 675560 | systems/texlive/tlnet/archive/forum.r64566.tar.xz 2019/02/28 | 211220 | systems/texlive/tlnet/archive/fouridx.doc.r32214.tar.xz 2019/02/28 | 1184 | systems/texlive/tlnet/archive/fouridx.r32214.tar.xz 2019/02/28 | 3260 | systems/texlive/tlnet/archive/fouridx.source.r32214.tar.xz @@ -286778,8 +286783,8 @@ 2022/01/24 | 34844 | systems/texlive/tlnet/archive/hyph-utf8.source.r61719.tar.xz 2019/02/28 | 48884 | systems/texlive/tlnet/archive/hyplain.doc.r15878.tar.xz 2019/02/28 | 3136 | systems/texlive/tlnet/archive/hyplain.r15878.tar.xz -2020/07/13 | 213996 | systems/texlive/tlnet/archive/ibarra.doc.r55820.tar.xz -2020/07/13 | 1106008 | systems/texlive/tlnet/archive/ibarra.r55820.tar.xz +2022/10/02 | 213588 | systems/texlive/tlnet/archive/ibarra.doc.r64567.tar.xz +2022/10/02 | 1106004 | systems/texlive/tlnet/archive/ibarra.r64567.tar.xz 2019/02/28 | 53824 | systems/texlive/tlnet/archive/ibycus-babel.doc.r15878.tar.xz 2019/02/28 | 2164 | systems/texlive/tlnet/archive/ibycus-babel.r15878.tar.xz 2019/02/28 | 7824 | systems/texlive/tlnet/archive/ibycus-babel.source.r15878.tar.xz @@ -286809,8 +286814,9 @@ 2022/04/06 | 17644 | systems/texlive/tlnet/archive/ieejtran.r62957.tar.xz 2019/02/28 | 3464 | systems/texlive/tlnet/archive/ietfbibs.doc.r41332.tar.xz 2019/02/28 | 456 | systems/texlive/tlnet/archive/ietfbibs.r41332.tar.xz -2022/01/10 | 127304 | systems/texlive/tlnet/archive/iexec.doc.r61551.tar.xz -2022/01/10 | 1764 | systems/texlive/tlnet/archive/iexec.r61551.tar.xz +2022/10/02 | 284432 | systems/texlive/tlnet/archive/iexec.doc.r64575.tar.xz +2022/10/02 | 1864 | systems/texlive/tlnet/archive/iexec.r64575.tar.xz +2022/10/02 | 3964 | systems/texlive/tlnet/archive/iexec.source.r64575.tar.xz 2021/07/24 | 175068 | systems/texlive/tlnet/archive/ifallfalse.doc.r60027.tar.xz 2021/07/24 | 1248 | systems/texlive/tlnet/archive/ifallfalse.r60027.tar.xz 2021/07/24 | 3084 | systems/texlive/tlnet/archive/ifallfalse.source.r60027.tar.xz @@ -286858,8 +286864,8 @@ 2019/02/28 | 518160 | systems/texlive/tlnet/archive/imakeidx.doc.r42287.tar.xz 2019/02/28 | 4072 | systems/texlive/tlnet/archive/imakeidx.r42287.tar.xz 2019/02/28 | 20128 | systems/texlive/tlnet/archive/imakeidx.source.r42287.tar.xz -2019/02/28 | 143264 | systems/texlive/tlnet/archive/imfellenglish.doc.r38547.tar.xz -2019/02/28 | 2947156 | systems/texlive/tlnet/archive/imfellenglish.r38547.tar.xz +2022/10/02 | 143300 | systems/texlive/tlnet/archive/imfellenglish.doc.r64568.tar.xz +2022/10/02 | 3095296 | systems/texlive/tlnet/archive/imfellenglish.r64568.tar.xz 2020/03/04 | 3943832 | systems/texlive/tlnet/archive/impatient-cn.doc.r54080.tar.xz 2020/03/04 | 456 | systems/texlive/tlnet/archive/impatient-cn.r54080.tar.xz 2020/03/04 | 1665608 | systems/texlive/tlnet/archive/impatient.doc.r54080.tar.xz @@ -287098,8 +287104,8 @@ 2020/11/07 | 7892 | systems/texlive/tlnet/archive/jnuexam.r56867.tar.xz 2022/09/26 | 440624 | systems/texlive/tlnet/archive/jobname-suffix.doc.r64512.tar.xz 2022/09/26 | 1752 | systems/texlive/tlnet/archive/jobname-suffix.r64512.tar.xz -2020/12/17 | 173112 | systems/texlive/tlnet/archive/josefin.doc.r57152.tar.xz -2020/12/17 | 1097116 | systems/texlive/tlnet/archive/josefin.r57152.tar.xz +2022/10/02 | 173116 | systems/texlive/tlnet/archive/josefin.doc.r64569.tar.xz +2022/10/02 | 1097100 | systems/texlive/tlnet/archive/josefin.r64569.tar.xz 2022/07/15 | 160748 | systems/texlive/tlnet/archive/jpneduenumerate.doc.r63893.tar.xz 2022/07/15 | 2720 | systems/texlive/tlnet/archive/jpneduenumerate.r63893.tar.xz 2022/07/11 | 327416 | systems/texlive/tlnet/archive/jpnedumathsymbols.doc.r63864.tar.xz @@ -288571,9 +288577,9 @@ 2019/02/28 | 317412 | systems/texlive/tlnet/archive/marginnote.doc.r48383.tar.xz 2019/02/28 | 3356 | systems/texlive/tlnet/archive/marginnote.r48383.tar.xz 2019/02/28 | 10216 | systems/texlive/tlnet/archive/marginnote.source.r48383.tar.xz -2022/08/31 | 1028324 | systems/texlive/tlnet/archive/markdown.doc.r64240.tar.xz -2022/08/31 | 45880 | systems/texlive/tlnet/archive/markdown.r64240.tar.xz -2022/08/31 | 95468 | systems/texlive/tlnet/archive/markdown.source.r64240.tar.xz +2022/10/02 | 1047672 | systems/texlive/tlnet/archive/markdown.doc.r64570.tar.xz +2022/10/02 | 47164 | systems/texlive/tlnet/archive/markdown.r64570.tar.xz +2022/10/02 | 98552 | systems/texlive/tlnet/archive/markdown.source.r64570.tar.xz 2019/02/28 | 426608 | systems/texlive/tlnet/archive/marvosym.doc.r29349.tar.xz 2019/02/28 | 133476 | systems/texlive/tlnet/archive/marvosym.r29349.tar.xz 2019/02/28 | 1256 | systems/texlive/tlnet/archive/marvosym.source.r29349.tar.xz @@ -290689,8 +290695,8 @@ 2022/09/11 | 1217484 | systems/texlive/tlnet/archive/profcollege.r64334.tar.xz 2022/04/27 | 134096 | systems/texlive/tlnet/archive/proflabo.doc.r63147.tar.xz 2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz -2022/09/23 | 903644 | systems/texlive/tlnet/archive/proflycee.doc.r64471.tar.xz -2022/09/23 | 16400 | systems/texlive/tlnet/archive/proflycee.r64471.tar.xz +2022/10/02 | 922480 | systems/texlive/tlnet/archive/proflycee.doc.r64573.tar.xz +2022/10/02 | 17284 | systems/texlive/tlnet/archive/proflycee.r64573.tar.xz 2019/02/28 | 49880 | systems/texlive/tlnet/archive/program.doc.r44214.tar.xz 2019/02/28 | 11780 | systems/texlive/tlnet/archive/program.r44214.tar.xz 2019/02/28 | 86236 | systems/texlive/tlnet/archive/progressbar.doc.r33822.tar.xz @@ -292535,9 +292541,9 @@ 2021/11/06 | 51652 | systems/texlive/tlnet/archive/testidx.source.r60966.tar.xz 2019/02/28 | 108080 | systems/texlive/tlnet/archive/tetragonos.doc.r49732.tar.xz 2019/02/28 | 207756 | systems/texlive/tlnet/archive/tetragonos.r49732.tar.xz -2022/08/29 | 1108872 | systems/texlive/tlnet/archive/teubner.doc.r64217.tar.xz -2022/08/29 | 9920 | systems/texlive/tlnet/archive/teubner.r64217.tar.xz -2022/08/29 | 41556 | systems/texlive/tlnet/archive/teubner.source.r64217.tar.xz +2022/10/02 | 1107128 | systems/texlive/tlnet/archive/teubner.doc.r64574.tar.xz +2022/10/02 | 9924 | systems/texlive/tlnet/archive/teubner.r64574.tar.xz +2022/10/02 | 41572 | systems/texlive/tlnet/archive/teubner.source.r64574.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.aarch64-linux.r46208.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-freebsd.r37771.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-netbsd.r37771.tar.xz @@ -292821,7 +292827,7 @@ 2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz -2022/10/01 | 421616 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64557.tar.xz +2022/10/02 | 421616 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64564.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 @@ -292845,7 +292851,7 @@ 2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz -2022/10/01 | 113680 | systems/texlive/tlnet/archive/texlive-scripts.r64557.tar.xz +2022/10/02 | 113672 | systems/texlive/tlnet/archive/texlive-scripts.r64564.tar.xz 2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz 2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz @@ -294687,16 +294693,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2022/07/17 | 124404 | systems/texlive/tlnet/install-tl -2022/10/01 | 5833059 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/10/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/10/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/10/02 | 5831823 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/10/02 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/10/02 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2022/10/01 | 20435786 | systems/texlive/tlnet/install-tl-windows.exe -2022/10/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/10/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/10/01 | 25516638 | systems/texlive/tlnet/install-tl.zip -2022/10/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/10/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/10/02 | 20435943 | systems/texlive/tlnet/install-tl-windows.exe +2022/10/02 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/10/02 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/10/02 | 25516608 | systems/texlive/tlnet/install-tl.zip +2022/10/02 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/10/02 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2022/04/03 | 1229 | systems/texlive/tlnet/README.md 2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022 2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -294706,7 +294712,7 @@ 2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2022/09/12 | 49769 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2022/09/30 | 7415 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/10/01 | 7182 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/07/21 | 222477 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt 2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe 2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt @@ -294749,12 +294755,12 @@ 2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2022/10/01 | 17668128 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/10/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/10/02 | 17669470 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/10/02 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2022/10/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/10/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/10/01 | 2414192 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/10/02 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/10/02 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/10/02 | 2416036 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2022/09/14 | 58922 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2022/08/01 | 42206 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -300114,7 +300120,7 @@ 2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma 2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma 2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma -2022/10/01 | 665028 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/10/02 | 665028 | systems/win32/miktex/tm/packages/files.csv.lzma 2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma 2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma 2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma @@ -301823,9 +301829,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2022/08/27 | 43640 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2022/10/01 | 295614 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/10/01 | 1498522 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/10/01 | 1375659 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/10/02 | 295605 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/10/02 | 1498087 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/10/02 | 1376664 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2022/08/27 | 14450 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma 2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma @@ -302071,102 +302077,102 @@ 2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma 2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma 2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma -2022/10/01 | 662835 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/10/01 | 57319 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2022/10/01 | 1161750 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/10/01 | 31588 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/10/01 | 35266 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/10/01 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/10/01 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2022/10/01 | 77211 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/10/01 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2022/10/01 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2022/10/01 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2022/10/01 | 57505 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/10/01 | 270466 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2022/10/01 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2022/10/01 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2022/10/01 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/10/01 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/10/01 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2022/10/01 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/10/01 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/10/01 | 135463 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2022/10/01 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/10/01 | 112980 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/10/01 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2022/10/01 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/10/01 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/10/01 | 155431 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/10/01 | 79064 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2022/10/01 | 81449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2022/10/01 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2022/10/01 | 25118 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2022/10/01 | 112880 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2022/10/01 | 73264 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/10/01 | 115580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2022/10/01 | 43890 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2022/10/01 | 565080 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2022/10/01 | 247207 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/10/01 | 169677 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2022/10/01 | 109650 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2022/10/01 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2022/10/01 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2022/10/01 | 682216 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/10/01 | 599103 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/10/01 | 527567 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/10/01 | 103599 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/10/01 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2022/10/01 | 74100 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2022/10/01 | 32074 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2022/10/01 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2022/10/01 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2022/10/01 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2022/10/01 | 104919 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2022/10/01 | 140012 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2022/10/01 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2022/10/01 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2022/10/01 | 55319 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2022/10/01 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2022/10/01 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/10/01 | 48037 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2022/10/01 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/10/01 | 213848 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/10/01 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2022/10/01 | 824997 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2022/10/01 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/10/01 | 245152 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/10/01 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/10/01 | 1323744 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2022/10/01 | 23949 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2022/10/01 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/10/01 | 72979 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/10/01 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/10/01 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/10/01 | 1503053 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/10/01 | 52626 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/10/01 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/10/01 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/10/01 | 18510 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/10/01 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2022/10/01 | 173178 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/10/01 | 68146 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2022/10/01 | 107438 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/10/01 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2022/10/01 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2022/10/01 | 41190 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/10/01 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/10/01 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/10/01 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/10/01 | 57502 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/10/01 | 630437 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/10/01 | 43528 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2022/10/01 | 295528 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/10/01 | 1495982 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/10/01 | 1375136 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2022/10/01 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/10/02 | 662835 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/10/02 | 57316 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/10/02 | 1161753 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/10/02 | 31586 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/10/02 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/10/02 | 65129 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/10/02 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/10/02 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/10/02 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/10/02 | 394142 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/10/02 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/10/02 | 57506 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/10/02 | 270466 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/10/02 | 196212 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/10/02 | 103244 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/10/02 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/10/02 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/10/02 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/10/02 | 325979 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/10/02 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/10/02 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/10/02 | 1458151 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/10/02 | 112979 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/10/02 | 48851 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/10/02 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/10/02 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/10/02 | 155432 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/10/02 | 79065 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/10/02 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/10/02 | 295944 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/10/02 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/10/02 | 112879 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/10/02 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/10/02 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/10/02 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/10/02 | 565080 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/10/02 | 247208 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/10/02 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/10/02 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/10/02 | 18381 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/10/02 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/10/02 | 682214 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/10/02 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/10/02 | 527568 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/10/02 | 103597 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/10/02 | 2023131 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/10/02 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/10/02 | 32073 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/10/02 | 8825 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/10/02 | 209138 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/10/02 | 286684 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/10/02 | 104920 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/10/02 | 140010 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/10/02 | 325482 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/10/02 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/10/02 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/10/02 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/10/02 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/10/02 | 48038 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/10/02 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/10/02 | 213847 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/10/02 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/10/02 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/10/02 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/10/02 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/10/02 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/10/02 | 1323743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/10/02 | 23950 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/10/02 | 37505 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/10/02 | 72978 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/10/02 | 58632 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/10/02 | 769651 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/10/02 | 1503053 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/10/02 | 52626 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/10/02 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/10/02 | 27464 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/10/02 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/10/02 | 70940 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/10/02 | 173178 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/10/02 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/10/02 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/10/02 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/10/02 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/10/02 | 41192 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/10/02 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/10/02 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/10/02 | 352464 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/10/02 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/10/02 | 630433 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/10/02 | 43528 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/10/02 | 295581 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/10/02 | 1495594 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/10/02 | 1376310 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/10/02 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma -2022/10/01 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini +2022/10/02 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini 2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma 2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma 2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma @@ -302673,7 +302679,7 @@ 2022/02/22 | 6917 | systems/win32/miktex/tm/packages/preview.tar.lzma 2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma 2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma -2022/10/01 | 931 | systems/win32/miktex/tm/packages/pr.ini +2022/10/02 | 931 | systems/win32/miktex/tm/packages/pr.ini 2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma 2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma 2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma @@ -304636,7 +304642,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 -2022/10/02 | 186 | timestamp +2022/10/03 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex b6461a1dff..9012caa45c 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index 2ebb628076..653ff2c104 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,279 +1,603 @@ +2022/10/02 | 9924 | systems/texlive/tlnet/archive/teubner.r64574.tar.xz +2022/10/02 | 986 | macros/latex/contrib/srdp-mathematik/README.md +2022/10/02 | 98552 | systems/texlive/tlnet/archive/markdown.source.r64570.tar.xz +2022/10/02 | 9584 | macros/latex/contrib/univie-ling/README +2022/10/02 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/10/02 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua +2022/10/02 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua +2022/10/02 | 931 | systems/win32/miktex/tm/packages/pr.ini +2022/10/02 | 922480 | systems/texlive/tlnet/archive/proflycee.doc.r64573.tar.xz +2022/10/02 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt +2022/10/02 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty +2022/10/02 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/10/02 | 8825 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/10/02 | 8695 | macros/luatex/generic/luatexja/src/ltj-otf.lua +2022/10/02 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx +2022/10/02 | 8540 | macros/latex/contrib/kdpcover/kdpcover-vol-1.pdf +2022/10/02 | 85180 | systems/texlive/tlnet/archive/crimsonpro.doc.r64565.tar.xz +2022/10/02 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty +2022/10/02 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/10/02 | 8172 | systems/texlive/tlnet/archive/flexipage.source.r64572.tar.xz +2022/10/02 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/10/02 | 8103 | macros/luatex/generic/luatexja/src/jfm-min.lua +2022/10/02 | 79065 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/10/02 | 78447 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty +2022/10/02 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua +2022/10/02 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/10/02 | 769651 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/10/02 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua +2022/10/02 | 7546 | macros/luatex/generic/luatexja/src/ltj-math.lua +2022/10/02 | 7436 | systems/texlive/tlnet/archive/babel-serbian.source.r64571.tar.xz +2022/10/02 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/10/02 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/10/02 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/10/02 | 72978 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/10/02 | 7256 | macros/latex/contrib/kdpcover/kdpcover-signature.pdf +2022/10/02 | 717361 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf +2022/10/02 | 7156 | macros/latex/contrib/kdpcover/kdpcover-vol-3.pdf +2022/10/02 | 70940 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/10/02 | 7042 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua +2022/10/02 | 70188 | macros/latex/contrib/hvfloat/latex/hvfloat.sty +2022/10/02 | 6922 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty +2022/10/02 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf +2022/10/02 | 682214 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/10/02 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/10/02 | 675560 | systems/texlive/tlnet/archive/forum.r64566.tar.xz +2022/10/02 | 6723 | macros/latex/contrib/kdpcover/kdpcover-vol-4.pdf +2022/10/02 | 665028 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/10/02 | 662835 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/10/02 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty +2022/10/02 | 65129 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/10/02 | 6504 | macros/latex/contrib/kdpcover/kdpcover-vol-2.pdf +2022/10/02 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/10/02 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/10/02 | 630433 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/10/02 | 6246 | macros/luatex/generic/luatexja/src/ltj-base.sty +2022/10/02 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/10/02 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty +2022/10/02 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty +2022/10/02 | 6135 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty +2022/10/02 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex +2022/10/02 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/10/02 | 5931 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua +2022/10/02 | 58632 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/10/02 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty +2022/10/02 | 5831823 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/10/02 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb +2022/10/02 | 57506 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/10/02 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/10/02 | 57316 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/10/02 | 57155 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex +2022/10/02 | 565080 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/10/02 | 55401 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua +2022/10/02 | 553 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.tex +2022/10/02 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/10/02 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb +2022/10/02 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua +2022/10/02 | 543528 | macros/luatex/generic/luatexja/doc/luatexja.dtx +2022/10/02 | 531 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.tex +2022/10/02 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty +2022/10/02 | 527568 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/10/02 | 52626 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/10/02 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/10/02 | 5231 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.tex +2022/10/02 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf +2022/10/02 | 5215 | macros/luatex/generic/luatexja/src/ltj-debug.lua +2022/10/02 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/10/02 | 5040712 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf +2022/10/02 | 49558 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty +2022/10/02 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/10/02 | 48851 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/10/02 | 48433 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex +2022/10/02 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/10/02 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua +2022/10/02 | 48082 | macros/luatex/generic/luatexja/src/ltj-jfont.lua +2022/10/02 | 48038 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/10/02 | 47687 | macros/latex/contrib/kdpcover/cactus.pdf +2022/10/02 | 4737 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.tex +2022/10/02 | 4727 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex +2022/10/02 | 47164 | systems/texlive/tlnet/archive/markdown.r64570.tar.xz +2022/10/02 | 460413 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf +2022/10/02 | 458697 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf +2022/10/02 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/10/02 | 457719 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf +2022/10/02 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/10/02 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/10/02 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/10/02 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/10/02 | 453762 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf +2022/10/02 | 4521 | macros/luatex/generic/luatexja/src/ltj-stack.lua +2022/10/02 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty +2022/10/02 | 447447 | macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf +2022/10/02 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua +2022/10/02 | 4446908 | macros/latex/contrib/univie-ling.zip +2022/10/02 | 4426 | macros/latex/contrib/univie-ling/doc/univie-ling.tex +2022/10/02 | 4390 | macros/latex/contrib/hvfloat/Changes +2022/10/02 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/10/02 | 4367 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.tex +2022/10/02 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/10/02 | 43528 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/10/02 | 4308 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty +2022/10/02 | 4268 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex +2022/10/02 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt +2022/10/02 | 425 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty +2022/10/02 | 425 | macros/latex/contrib/yb-book/DEPENDS.txt +2022/10/02 | 425624 | support/extractpdfmark.zip +2022/10/02 | 421616 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64564.tar.xz +2022/10/02 | 4215 | macros/luatex/generic/luatexja/src/ltj-charrange.lua +2022/10/02 | 41572 | systems/texlive/tlnet/archive/teubner.source.r64574.tar.xz +2022/10/02 | 41192 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/10/02 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/10/02 | 403681 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf +2022/10/02 | 3965 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.tex +2022/10/02 | 3964 | systems/texlive/tlnet/archive/iexec.source.r64575.tar.xz +2022/10/02 | 394142 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/10/02 | 39302 | macros/luatex/generic/luatexja/src/ltj-direction.lua +2022/10/02 | 3912 | systems/texlive/tlnet/archive/flexipage.r64572.tar.xz +2022/10/02 | 390299 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf +2022/10/02 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty +2022/10/02 | 3879 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua +2022/10/02 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins +2022/10/02 | 3845689 | macros/luatex/generic/luatexja.zip +2022/10/02 | 3796 | macros/luatex/generic/luatexja/README +2022/10/02 | 3756 | macros/luatex/generic/luatexja/src/ltj-compat.lua +2022/10/02 | 37505 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/10/02 | 372059 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf +2022/10/02 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/10/02 | 364169 | macros/latex/contrib/univie-ling/doc/univie-ling.pdf +2022/10/02 | 3602 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx +2022/10/02 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt +2022/10/02 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins +2022/10/02 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/10/02 | 352464 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/10/02 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/10/02 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty +2022/10/02 | 3429 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua +2022/10/02 | 342852 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf +2022/10/02 | 339763 | macros/latex/contrib/kdpcover.zip +2022/10/02 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/10/02 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty +2022/10/02 | 3360 | systems/texlive/tlnet/archive/babel-serbian.r64571.tar.xz +2022/10/02 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty +2022/10/02 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl +2022/10/02 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt +2022/10/02 | 32604 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex +2022/10/02 | 325979 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/10/02 | 325482 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/10/02 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua +2022/10/02 | 32073 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/10/02 | 31807 | macros/luatex/generic/luatexja/src/ltj-ruby.lua +2022/10/02 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt +2022/10/02 | 31586 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/10/02 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/10/02 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex +2022/10/02 | 3095296 | systems/texlive/tlnet/archive/imfellenglish.r64568.tar.xz +2022/10/02 | 30587 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls +2022/10/02 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/10/02 | 295944 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/10/02 | 29572 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty +2022/10/02 | 295605 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/10/02 | 295581 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/10/02 | 29378 | macros/luatex/generic/luatexja/src/luatexja-core.sty +2022/10/02 | 293533 | macros/latex/contrib/yb-book.zip +2022/10/02 | 29336 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex +2022/10/02 | 292592 | systems/texlive/tlnet/archive/flexipage.doc.r64572.tar.xz +2022/10/02 | 286684 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/10/02 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/10/02 | 284432 | systems/texlive/tlnet/archive/iexec.doc.r64575.tar.xz +2022/10/02 | 283494 | macros/latex/contrib/yb-book/yb-book.pdf +2022/10/02 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/10/02 | 28180 | macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls +2022/10/02 | 27464 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/10/02 | 27448 | systems/texlive/tlnet/archive/forum.doc.r64566.tar.xz +2022/10/02 | 27058 | macros/luatex/generic/luatexja/src/lltjext.sty +2022/10/02 | 270466 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/10/02 | 26598 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex +2022/10/02 | 26550 | macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls +2022/10/02 | 2648 | macros/latex/contrib/kdpcover/kdpcover.ins +2022/10/02 | 2645 | macros/latex/contrib/yb-book/yb-book.ins +2022/10/02 | 26128 | macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex +2022/10/02 | 260022 | macros/latex/contrib/kdpcover/kdpcover.pdf +2022/10/02 | 2599 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua +2022/10/02 | 2582 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua +2022/10/02 | 2573 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua +2022/10/02 | 256632 | systems/texlive/tlnet/archive/babel-serbian.doc.r64571.tar.xz +2022/10/02 | 25516608 | systems/texlive/tlnet/install-tl.zip +2022/10/02 | 2549080 | systems/texlive/tlnet/archive/crimsonpro.r64565.tar.xz +2022/10/02 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/10/02 | 24779 | macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls +2022/10/02 | 247208 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/10/02 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/10/02 | 24366 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx +2022/10/02 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/10/02 | 2416036 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/10/02 | 23950 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/10/02 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty +2022/10/02 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua +2022/10/02 | 2258 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex +2022/10/02 | 22125 | macros/luatex/generic/luatexja/src/ltj-adjust.lua +2022/10/02 | 22079 | macros/luatex/generic/luatexja/src/luatexja.lua +2022/10/02 | 2203 | macros/luatex/generic/luatexja/src/jfm-CCT.lua +2022/10/02 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty +2022/10/02 | 213847 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/10/02 | 21363 | macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls +2022/10/02 | 213588 | systems/texlive/tlnet/archive/ibarra.doc.r64567.tar.xz +2022/10/02 | 209138 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/10/02 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty +2022/10/02 | 20435943 | systems/texlive/tlnet/install-tl-windows.exe +2022/10/02 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty +2022/10/02 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/10/02 | 2023131 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/10/02 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua +2022/10/02 | 200633 | macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf +2022/10/02 | 200629 | macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf +2022/10/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua +2022/10/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua +2022/10/02 | 196212 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/10/02 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua +2022/10/02 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty +2022/10/02 | 190297 | macros/latex/contrib/srdp-mathematik.zip +2022/10/02 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty +2022/10/02 | 189870 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf +2022/10/02 | 189539 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx +2022/10/02 | 1892 | macros/latex/contrib/kdpcover/README.md +2022/10/02 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex +2022/10/02 | 1864 | systems/texlive/tlnet/archive/iexec.r64575.tar.xz +2022/10/02 | 186018 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf +2022/10/02 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/10/02 | 18381 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/10/02 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/10/02 | 180179 | macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf +2022/10/02 | 17998673 | macros/latex/contrib/hvfloat.zip +2022/10/02 | 17873 | macros/latex/contrib/yb-book/yb-book.dtx +2022/10/02 | 178115 | macros/luatex/generic/luatexja/src/ltjclasses.dtx +2022/10/02 | 17669470 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/10/02 | 1740 | macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex +2022/10/02 | 173178 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/10/02 | 173116 | systems/texlive/tlnet/archive/josefin.doc.r64569.tar.xz +2022/10/02 | 17284 | systems/texlive/tlnet/archive/proflycee.r64573.tar.xz +2022/10/02 | 171999 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf +2022/10/02 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/10/02 | 167017 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf +2022/10/02 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf +2022/10/02 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty +2022/10/02 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty +2022/10/02 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty +2022/10/02 | 155432 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/10/02 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua +2022/10/02 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/10/02 | 1536 | macros/luatex/generic/luatexja/COPYING +2022/10/02 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/10/02 | 1503053 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/10/02 | 1498087 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/10/02 | 1495594 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/10/02 | 14926 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua +2022/10/02 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty +2022/10/02 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/10/02 | 1458151 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/10/02 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/10/02 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/10/02 | 143300 | systems/texlive/tlnet/archive/imfellenglish.doc.r64568.tar.xz +2022/10/02 | 1419488 | macros/latex/contrib/bibarts.zip +2022/10/02 | 140010 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/10/02 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex +2022/10/02 | 13895 | macros/luatex/generic/luatexja/src/jfm-ujis.lua +2022/10/02 | 1376664 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/10/02 | 1376310 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/10/02 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex +2022/10/02 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/10/02 | 13346 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua +2022/10/02 | 132481 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf +2022/10/02 | 1323743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/10/02 | 12878 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex +2022/10/02 | 1279 | macros/latex/contrib/yb-book/README.md +2022/10/02 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins +2022/10/02 | 127717 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf +2022/10/02 | 12745 | macros/latex/contrib/kdpcover/kdpcover.dtx +2022/10/02 | 12716 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty +2022/10/02 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins +2022/10/02 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb +2022/10/02 | 12136 | macros/luatex/generic/luatexja/src/ltj-base.lua +2022/10/02 | 117 | macros/latex/contrib/kdpcover/DEPENDS.txt +2022/10/02 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini +2022/10/02 | 1161753 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/10/02 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/10/02 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua +2022/10/02 | 1149287 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf +2022/10/02 | 113672 | systems/texlive/tlnet/archive/texlive-scripts.r64564.tar.xz +2022/10/02 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex +2022/10/02 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua +2022/10/02 | 112979 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/10/02 | 112879 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/10/02 | 1107128 | systems/texlive/tlnet/archive/teubner.doc.r64574.tar.xz +2022/10/02 | 1106004 | systems/texlive/tlnet/archive/ibarra.r64567.tar.xz +2022/10/02 | 1097100 | systems/texlive/tlnet/archive/josefin.r64569.tar.xz +2022/10/02 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/10/02 | 1083 | macros/latex/contrib/yb-book/LICENSE.txt +2022/10/02 | 1083 | macros/latex/contrib/kdpcover/LICENSE.txt +2022/10/02 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/10/02 | 104920 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/10/02 | 1047672 | systems/texlive/tlnet/archive/markdown.doc.r64570.tar.xz +2022/10/02 | 103597 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/10/02 | 103244 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/10/02 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty 2022/10/01 | 9942 | macros/latex/contrib/teubner/teubner.txt 2022/10/01 | 968 | macros/latex/contrib/proflycee/doc/cap.csv -2022/10/01 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma 2022/10/01 | 944788 | macros/latex/contrib/proflycee.zip 2022/10/01 | 944476 | systems/texlive/tlnet/archive/tex4ht.r64562.tar.xz -2022/10/01 | 931 | systems/win32/miktex/tm/packages/pr.ini 2022/10/01 | 92792 | macros/latex/contrib/teubner/teubner-doc.tex 2022/10/01 | 888520 | macros/generic/markdown/markdown.pdf -2022/10/01 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma 2022/10/01 | 8835 | macros/generic/simplekv/simplekv.tex -2022/10/01 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2022/10/01 | 852659 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf 2022/10/01 | 8360 | macros/latex/contrib/iexec/iexec.dtx -2022/10/01 | 824997 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2022/10/01 | 81449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma 2022/10/01 | 812 | macros/latex/contrib/dijkstra/README 2022/10/01 | 807036 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.doc.r64560.tar.xz -2022/10/01 | 79064 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma 2022/10/01 | 78071 | macros/latex/contrib/proflycee/tex/ProfLycee.sty 2022/10/01 | 779595 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf -2022/10/01 | 77211 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/10/01 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma 2022/10/01 | 75 | macros/generic/markdown/examples/scientists.csv -2022/10/01 | 74100 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma 2022/10/01 | 736 | macros/latex/contrib/proflycee/doc/perroquet.csv -2022/10/01 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma 2022/10/01 | 733155 | macros/generic/markdown/markdown.html -2022/10/01 | 73264 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/10/01 | 72979 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/10/01 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/10/01 | 7182 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/10/01 | 687161 | macros/generic/markdown/markdown.dtx 2022/10/01 | 6833668 | systems/texlive/tlnet/archive/coelacanth.r64558.tar.xz -2022/10/01 | 682216 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/10/01 | 68146 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma 2022/10/01 | 67104 | systems/texlive/tlnet/archive/coelacanth.doc.r64558.tar.xz 2022/10/01 | 670679 | macros/latex/contrib/teubner/teubner.pdf -2022/10/01 | 665028 | systems/win32/miktex/tm/packages/files.csv.lzma -2022/10/01 | 662835 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/10/01 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/10/01 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/10/01 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/10/01 | 630437 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/10/01 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2022/10/01 | 616 | macros/generic/simplekv/README -2022/10/01 | 599103 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/10/01 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/10/01 | 5833059 | systems/texlive/tlnet/install-tl-unx.tar.gz 2022/10/01 | 5780 | systems/texlive/tlnet/archive/abntexto.r64561.tar.xz -2022/10/01 | 57505 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/10/01 | 57502 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/10/01 | 57319 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma 2022/10/01 | 568 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.r64560.tar.xz -2022/10/01 | 565080 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2022/10/01 | 55319 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma 2022/10/01 | 529 | macros/latex/contrib/proflycee/doc/testscript.py -2022/10/01 | 527567 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/10/01 | 52626 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/10/01 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/10/01 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma 2022/10/01 | 508108 | info/mathtrip.zip -2022/10/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2022/10/01 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2022/10/01 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/10/01 | 48037 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma 2022/10/01 | 46154 | info/mathtrip/doc/HowtoModify.pdf -2022/10/01 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/10/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/10/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2022/10/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/10/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2022/10/01 | 4530 | macros/generic/markdown/markdown.css 2022/10/01 | 4490 | fonts/josefin/latex/josefin.sty 2022/10/01 | 439 | info/mathtrip/src/version.tex -2022/10/01 | 43890 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma 2022/10/01 | 4377 | macros/generic/markdown/docstrip.cfg -2022/10/01 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/10/01 | 43528 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma 2022/10/01 | 431632 | macros/latex/contrib/teubner/teubner-doc.pdf -2022/10/01 | 421616 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64557.tar.xz 2022/10/01 | 4152828 | install/fonts/imfellEnglish.tds.zip 2022/10/01 | 4142832 | fonts/imfellenglish.zip -2022/10/01 | 41190 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/10/01 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma 2022/10/01 | 40 | macros/latex/contrib/iexec/DEPENDS.txt 2022/10/01 | 4023 | fonts/gandhi/latex/gandhi.sty -2022/10/01 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2022/10/01 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/10/01 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/10/01 | 367337 | macros/latex/contrib/bibarts/bibarts.tex 2022/10/01 | 3561 | macros/generic/markdown/examples/example.md -2022/10/01 | 35266 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/10/01 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/10/01 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma 2022/10/01 | 34252 | systems/texlive/tlnet/archive/crimson.doc.r64559.tar.xz -2022/10/01 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/10/01 | 336771 | macros/latex/contrib/bibarts/ba-short.pdf +2022/10/01 | 33013 | macros/latex/contrib/bibarts/ba-short.tex 2022/10/01 | 32 | macros/latex/contrib/proflycee/doc/basique.csv -2022/10/01 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/10/01 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2022/10/01 | 32074 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma 2022/10/01 | 31 | macros/generic/markdown/VERSION -2022/10/01 | 31588 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/10/01 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2022/10/01 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/10/01 | 310294 | macros/latex/contrib/bibarts/bibsort.c 2022/10/01 | 304211 | macros/latex/contrib/flexipage.zip 2022/10/01 | 3005 | fonts/ibarra/latex/ibarra.sty -2022/10/01 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2022/10/01 | 295614 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/10/01 | 295528 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma 2022/10/01 | 288137 | macros/latex/contrib/iexec.zip -2022/10/01 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma 2022/10/01 | 2854553 | install/fonts/gandhi.tds.zip -2022/10/01 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma 2022/10/01 | 284051 | macros/latex/contrib/iexec/iexec.pdf -2022/10/01 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma 2022/10/01 | 27741 | macros/latex/contrib/flexipage/flexipage.dtx 2022/10/01 | 2747939 | fonts/gandhi.zip -2022/10/01 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/10/01 | 270466 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma 2022/10/01 | 269146 | macros/latex/contrib/flexipage/flexipage.pdf 2022/10/01 | 2641 | macros/latex/contrib/iexec/iexec.ins 2022/10/01 | 26269 | macros/generic/markdown/CHANGES.md 2022/10/01 | 25892 | info/mathtrip/src/MathTrip.sty -2022/10/01 | 25516638 | systems/texlive/tlnet/install-tl.zip -2022/10/01 | 25118 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma 2022/10/01 | 2483 | macros/latex/contrib/teubner/README -2022/10/01 | 247207 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/10/01 | 245152 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/10/01 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/10/01 | 2414192 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz -2022/10/01 | 23949 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/10/01 | 233472 | macros/latex/contrib/bibarts/bibsort.exe 2022/10/01 | 2244 | fonts/josefin/README 2022/10/01 | 22371 | macros/generic/markdown/libraries/markdown-tinyyaml.lua -2022/10/01 | 213848 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/10/01 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma 2022/10/01 | 2088670 | install/fonts/ibarra.tds.zip 2022/10/01 | 2075 | fonts/gandhi/README 2022/10/01 | 2061248 | fonts/ibarra.zip -2022/10/01 | 20435786 | systems/texlive/tlnet/install-tl-windows.exe -2022/10/01 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/10/01 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2022/10/01 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma 2022/10/01 | 1893 | fonts/ibarra/README -2022/10/01 | 18510 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/10/01 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma 2022/10/01 | 18273 | macros/latex/contrib/dijkstra/dijkstra.sty -2022/10/01 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma 2022/10/01 | 1811 | fonts/imfellenglish/README 2022/10/01 | 177564 | info/mathtrip/MathTrip_lualatex.pdf -2022/10/01 | 17668128 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2022/10/01 | 17604 | macros/generic/markdown/README.md 2022/10/01 | 1737 | macros/generic/markdown/examples/latex.tex -2022/10/01 | 173178 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma 2022/10/01 | 1716750 | install/fonts/josefin.tds.zip 2022/10/01 | 1699 | macros/generic/markdown/examples/context-mkiv.tex 2022/10/01 | 1699314 | fonts/josefin.zip -2022/10/01 | 169677 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma 2022/10/01 | 164470 | macros/latex/contrib/teubner/teubner.dtx 2022/10/01 | 163948 | macros/latex/contrib/dijkstra.zip 2022/10/01 | 161 | macros/generic/simplekv/simplekv.sty 2022/10/01 | 161293 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex 2022/10/01 | 15796 | macros/generic/simplekv/simplekv-fr.tex -2022/10/01 | 155431 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma 2022/10/01 | 155405 | macros/latex/contrib/dijkstra/dijkstra-fr.pdf -2022/10/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/10/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 2022/10/01 | 1508 | macros/generic/markdown/examples/context-mkii.tex -2022/10/01 | 1503053 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma 2022/10/01 | 14998 | macros/latex/contrib/dijkstra/dijkstra-fr.tex -2022/10/01 | 1498522 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/10/01 | 1495982 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/10/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/10/01 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/10/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/10/01 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/10/01 | 148995 | macros/latex/contrib/bibarts/bibarts.sty 2022/10/01 | 142334 | info/mathtrip/MathTrip_xelatex.pdf 2022/10/01 | 140951 | macros/generic/markdown/markdown.png -2022/10/01 | 140012 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma 2022/10/01 | 1393 | fonts/imfellenglish/latex/imfellEnglish.sty 2022/10/01 | 1383500 | systems/texlive/tlnet/archive/crimson.r64559.tar.xz -2022/10/01 | 1375659 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2022/10/01 | 1375136 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma 2022/10/01 | 137064 | systems/texlive/tlnet/archive/abntexto.doc.r64561.tar.xz 2022/10/01 | 1369 | macros/latex/contrib/iexec/README.md 2022/10/01 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r64562.tar.xz -2022/10/01 | 135463 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma 2022/10/01 | 1333 | macros/generic/markdown/markdown.ins 2022/10/01 | 133045 | macros/generic/simplekv.zip -2022/10/01 | 1323744 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma 2022/10/01 | 1281969 | install/macros/generic/markdown.tds.zip 2022/10/01 | 1269772 | systems/texlive/tlnet/archive/tex4ht.source.r64562.tar.xz 2022/10/01 | 126106 | macros/generic/simplekv/simplekv-fr.pdf +2022/10/01 | 12460 | macros/latex/contrib/bibarts/README.txt 2022/10/01 | 1224 | info/mathtrip/README.txt 2022/10/01 | 1215194 | macros/generic/markdown.zip -2022/10/01 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini -2022/10/01 | 1161750 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/10/01 | 115580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma 2022/10/01 | 1155211 | macros/latex/contrib/teubner.zip -2022/10/01 | 113680 | systems/texlive/tlnet/archive/texlive-scripts.r64557.tar.xz -2022/10/01 | 112980 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/10/01 | 112880 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma 2022/10/01 | 1103 | macros/latex/contrib/flexipage/README.txt -2022/10/01 | 109650 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma 2022/10/01 | 1083 | macros/latex/contrib/iexec/LICENSE.txt -2022/10/01 | 107438 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/10/01 | 104919 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2022/10/01 | 103599 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/10/01 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/10/01 | 1071753 | macros/latex/contrib/bibarts/bibarts.pdf +2022/09/30 | 96 | support/extractpdfmark/test/nodest.tex 2022/09/30 | 9646413 | install/fonts/coelacanth.tds.zip 2022/09/30 | 9593707 | fonts/coelacanth.zip +2022/09/30 | 9413 | support/extractpdfmark/README.ja.md 2022/09/30 | 93528 | systems/texlive/tlnet/archive/caladea.doc.r64549.tar.xz +2022/09/30 | 917 | support/extractpdfmark/src/utf16.cc +2022/09/30 | 9176 | support/extractpdfmark/configure.ac +2022/09/30 | 915 | support/extractpdfmark/test/special-chars-expected-literal-escape.pdfmark +2022/09/30 | 902 | support/extractpdfmark/test/test-expected-pdfmark.sh +2022/09/30 | 898 | support/extractpdfmark/src/utf16.hh +2022/09/30 | 894 | support/extractpdfmark/src/utf8.hh 2022/09/30 | 8948 | systems/texlive/tlnet/archive/graphics-pln.r64553.tar.xz 2022/09/30 | 889260 | systems/texlive/tlnet/archive/l3backend.doc.r64552.tar.xz +2022/09/30 | 887 | support/extractpdfmark/test/special-chars-expected-name-escape.pdfmark +2022/09/30 | 887 | support/extractpdfmark/test/special-chars-expected-hex.pdfmark 2022/09/30 | 886337 | install/fonts/forum.tds.zip +2022/09/30 | 885 | support/extractpdfmark/test/special-chars-expected.pdfmark +2022/09/30 | 885 | support/extractpdfmark/test/special-chars-expected-name.pdfmark 2022/09/30 | 877141 | fonts/forum.zip 2022/09/30 | 843584 | systems/texlive/tlnet/archive/bithesis.doc.r64554.tar.xz 2022/09/30 | 821425 | info/install-latex-guide-zh-cn.zip 2022/09/30 | 80 | info/mathtrip/doc/ExampleDoc2.tex 2022/09/30 | 7846 | info/mathtrip/doc/HowtoModify.tex 2022/09/30 | 7779 | fonts/crimsonpro/latex/CrimsonPro.sty -2022/09/30 | 7415 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/09/30 | 7606 | support/extractpdfmark/test/namedict.pdf +2022/09/30 | 7400 | support/extractpdfmark/compile 2022/09/30 | 7383 | dviware/dvisirule/src/config/compile +2022/09/30 | 7287 | support/extractpdfmark/README.md 2022/09/30 | 727641 | fonts/urw/classico.zip +2022/09/30 | 719 | support/extractpdfmark/test/desttype-expected.pdfmark +2022/09/30 | 698 | support/extractpdfmark/test/utf8.tex +2022/09/30 | 6878 | support/extractpdfmark/missing 2022/09/30 | 6878 | dviware/dvisirule/src/config/missing +2022/09/30 | 679 | support/extractpdfmark/test/binary.tex +2022/09/30 | 6571 | support/extractpdfmark/m4/ax_compare_version.m4 +2022/09/30 | 6531 | support/extractpdfmark/src/poppler-core/destname.cc +2022/09/30 | 621 | support/extractpdfmark/NEWS 2022/09/30 | 60244 | dviware/dvisirule/dvisirule.pdf 2022/09/30 | 5989 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex 2022/09/30 | 597728 | systems/texlive/tlnet/archive/l3kernel.source.r64552.tar.xz 2022/09/30 | 5882 | info/install-latex-guide-zh-cn/chapter/overleaf.tex +2022/09/30 | 5811 | support/extractpdfmark/src/iconv_wrapper.hh +2022/09/30 | 53 | support/extractpdfmark/man/Makefile.am 2022/09/30 | 533312 | systems/texlive/tlnet/archive/cinzel.r64550.tar.xz 2022/09/30 | 5269694 | install/fonts/crimsonpro.tds.zip 2022/09/30 | 5193564 | fonts/crimsonpro.zip +2022/09/30 | 5058 | support/extractpdfmark/test/Makefile.am +2022/09/30 | 503 | support/extractpdfmark/test/utf16.tex +2022/09/30 | 4879 | support/extractpdfmark/test-driver +2022/09/30 | 48588 | support/extractpdfmark/config.guess +2022/09/30 | 458 | support/extractpdfmark/test/pdfdocencoding.tex 2022/09/30 | 4408 | fonts/coelacanth/latex/coelacanth.sty 2022/09/30 | 4355 | macros/latex/contrib/babel-contrib/serbian/serbian.ins +2022/09/30 | 4228 | support/extractpdfmark/src/poppler-glib/destname-glib.cc +2022/09/30 | 41 | support/extractpdfmark/test/pagemode-fullscreen-expected.pdfmark 2022/09/30 | 41888 | dviware/dvisirule/src/aclocal.m4 2022/09/30 | 4158 | macros/latex/contrib/babel-contrib/serbianc/serbianc.ins 2022/09/30 | 4133 | dviware/dvisirule/src/config.h +2022/09/30 | 40 | support/extractpdfmark/test/pagemode-thumbs-expected.pdfmark 2022/09/30 | 39128 | systems/texlive/tlnet/archive/cinzel.doc.r64550.tar.xz +2022/09/30 | 38 | support/extractpdfmark/test/pagemode-usenone-expected.pdfmark +2022/09/30 | 38 | support/extractpdfmark/test/nodest-expected.pdfmark +2022/09/30 | 386567 | support/extractpdfmark/configure 2022/09/30 | 3850 | dviware/dvisirule/src/config.h.in 2022/09/30 | 366 | info/mathtrip/doc/ExampleDoc1.tex +2022/09/30 | 3528 | support/extractpdfmark/src/poppler-cpp/destname-cpp.cc +2022/09/30 | 35147 | support/extractpdfmark/COPYING 2022/09/30 | 343472 | systems/texlive/tlnet/archive/caladea.r64549.tar.xz 2022/09/30 | 33172 | systems/texlive/tlnet/archive/l3backend.source.r64552.tar.xz 2022/09/30 | 33128 | systems/texlive/tlnet/archive/bithesis.source.r64554.tar.xz +2022/09/30 | 33035 | support/extractpdfmark/test/Makefile.in +2022/09/30 | 31620 | support/extractpdfmark/config.sub 2022/09/30 | 314116 | macros/latex/contrib/babel-contrib/serbianc/serbianc.pdf +2022/09/30 | 3114 | support/extractpdfmark/src/poppler-glib/poppler-glib.cc 2022/09/30 | 30740 | systems/texlive/tlnet/archive/colorframed.doc.r64551.tar.xz 2022/09/30 | 30709 | macros/latex/contrib/babel-contrib/serbianc/serbianc.dtx 2022/09/30 | 3060 | systems/texlive/tlnet/archive/colorframed.r64551.tar.xz 2022/09/30 | 305092 | macros/latex/contrib/babel-contrib/serbianc.zip 2022/09/30 | 29500 | systems/texlive/tlnet/archive/arimo.doc.r64548.tar.xz 2022/09/30 | 2905268 | systems/texlive/tlnet/archive/arimo.r64548.tar.xz +2022/09/30 | 286 | support/extractpdfmark/test/utf16-expected.pdfmark +2022/09/30 | 286 | support/extractpdfmark/test/binary-expected.pdfmark +2022/09/30 | 28058 | support/extractpdfmark/Makefile.in +2022/09/30 | 2747 | support/extractpdfmark/src/encodename.cc 2022/09/30 | 272947 | macros/latex/contrib/babel-contrib/serbian/serbian.pdf 2022/09/30 | 2721 | info/mathtrip/doc/HowtoModify.sty +2022/09/30 | 26637 | support/extractpdfmark/src/poppler-glib/Makefile.in +2022/09/30 | 2655 | support/extractpdfmark/config.h.in 2022/09/30 | 265369 | macros/latex/contrib/babel-contrib/serbian.zip +2022/09/30 | 26429 | support/extractpdfmark/src/poppler-cpp/Makefile.in +2022/09/30 | 26292 | support/extractpdfmark/src/poppler-core/Makefile.in +2022/09/30 | 26146 | support/extractpdfmark/src/Makefile.in +2022/09/30 | 254 | support/extractpdfmark/src/poppler-core/Makefile.am +2022/09/30 | 2521 | support/extractpdfmark/src/main.cc +2022/09/30 | 25040 | support/extractpdfmark/src/cmdlineparse.hh +2022/09/30 | 249 | support/extractpdfmark/src/poppler-glib/Makefile.am 2022/09/30 | 24525 | dviware/dvisirule/src/Makefile.in 2022/09/30 | 24408 | dviware/dvisirule/src/Makefile +2022/09/30 | 241 | support/extractpdfmark/src/poppler-cpp/Makefile.am +2022/09/30 | 2414 | support/extractpdfmark/man/extractpdfmark.1 +2022/09/30 | 23568 | support/extractpdfmark/depcomp 2022/09/30 | 23568 | dviware/dvisirule/src/config/depcomp 2022/09/30 | 2248 | systems/texlive/tlnet/archive/graphics-pln.doc.r64553.tar.xz +2022/09/30 | 222 | support/extractpdfmark/test/utf8-expected-literal-escape.pdfmark 2022/09/30 | 2165 | info/mathtrip/src/Title.tex +2022/09/30 | 214 | support/extractpdfmark/test/pdfdocencoding-expected.pdfmark 2022/09/30 | 2140 | fonts/crimson/latex/crimson.sty +2022/09/30 | 21126 | support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 2022/09/30 | 20952 | macros/latex/contrib/babel-contrib/serbian/serbian.dtx +2022/09/30 | 20949 | support/extractpdfmark/test/special-chars.pdf +2022/09/30 | 204 | support/extractpdfmark/test/utf8-expected-name-escape.pdfmark 2022/09/30 | 202626 | support/TeX4ht/source/ChangeLog 2022/09/30 | 19800 | systems/texlive/tlnet/archive/bithesis.r64554.tar.xz 2022/09/30 | 1972 | fonts/crimson/README +2022/09/30 | 1968 | support/extractpdfmark/src/output-pdfmark.hh +2022/09/30 | 1958 | support/extractpdfmark/src/poppler-cpp/pagemode-cpp.cc +2022/09/30 | 1947 | support/extractpdfmark/src/output-pdfmark.cc +2022/09/30 | 1945 | support/extractpdfmark/src/poppler-glib/pagemode-glib.cc 2022/09/30 | 1942 | macros/latex/contrib/babel-contrib/serbianc/README.md +2022/09/30 | 190 | support/extractpdfmark/test/utf8-expected-hex.pdfmark +2022/09/30 | 1894 | support/extractpdfmark/src/poppler-core/poppler-core.cc +2022/09/30 | 1886 | support/extractpdfmark/src/poppler-core/destname-private.hh +2022/09/30 | 1885 | support/extractpdfmark/test/special-chars.tex +2022/09/30 | 18574 | support/extractpdfmark/config.rpath +2022/09/30 | 1850 | support/extractpdfmark/src/poppler-core/pagemode.cc +2022/09/30 | 184 | support/extractpdfmark/test/utf8-expected-name.pdfmark 2022/09/30 | 1849 | fonts/forum/README 2022/09/30 | 183181 | dviware/dvisirule.zip 2022/09/30 | 182744 | dviware/dvisirule/src/configure 2022/09/30 | 17917 | CTAN.sites +2022/09/30 | 178 | support/extractpdfmark/test/destonly-expected-literal-escape.pdfmark 2022/09/30 | 175504 | systems/texlive/tlnet/archive/l3kernel.r64552.tar.xz +2022/09/30 | 174 | support/extractpdfmark/test/utf8-expected.pdfmark +2022/09/30 | 17443 | support/extractpdfmark/test/desttype.pdf +2022/09/30 | 1742 | support/extractpdfmark/src/utf8.cc +2022/09/30 | 170 | support/extractpdfmark/test/destonly-expected-name-escape.pdfmark 2022/09/30 | 1709 | fonts/crimsonpro/README 2022/09/30 | 1688859 | install/fonts/crimson.tds.zip 2022/09/30 | 1678159 | fonts/crimson.zip +2022/09/30 | 1677 | support/extractpdfmark/m4/ax_cxx_compile_stdcxx_11.m4 +2022/09/30 | 166 | support/extractpdfmark/test/destonly-expected-hex.pdfmark +2022/09/30 | 1611 | support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc +2022/09/30 | 160 | support/extractpdfmark/test/namedict-expected.pdfmark +2022/09/30 | 160 | support/extractpdfmark/test/destonly-expected.pdfmark +2022/09/30 | 158 | support/extractpdfmark/test/destonly.tex +2022/09/30 | 158 | support/extractpdfmark/test/destonly-expected-name.pdfmark +2022/09/30 | 1584 | support/extractpdfmark/src/poppler-core/poppler-core.hh 2022/09/30 | 15496 | systems/texlive/tlnet/archive/l3backend.r64552.tar.xz 2022/09/30 | 15368 | dviware/dvisirule/src/config/install-sh +2022/09/30 | 15358 | support/extractpdfmark/install-sh +2022/09/30 | 15276 | support/extractpdfmark/man/Makefile.in +2022/09/30 | 1449 | support/extractpdfmark/src/poppler-glib/poppler-glib.hh +2022/09/30 | 1436 | support/extractpdfmark/autogen.sh +2022/09/30 | 140583 | support/extractpdfmark/aclocal.m4 +2022/09/30 | 136 | support/extractpdfmark/test/pagemode-fullscreen.tex +2022/09/30 | 134 | support/extractpdfmark/test/pagemode-thumbs.tex +2022/09/30 | 1334 | support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh +2022/09/30 | 130 | support/extractpdfmark/test/pagemode-usenone.tex +2022/09/30 | 125 | support/extractpdfmark/Makefile.am 2022/09/30 | 1248 | fonts/forum/latex/forum.sty +2022/09/30 | 120 | support/extractpdfmark/test/addnamedict.ps 2022/09/30 | 11915464 | systems/texlive/tlnet/archive/l3kernel.doc.r64552.tar.xz +2022/09/30 | 11546 | support/extractpdfmark/test/utf8.pdf +2022/09/30 | 11538 | support/extractpdfmark/test/utf16.pdf +2022/09/30 | 11538 | support/extractpdfmark/test/binary.pdf +2022/09/30 | 11519 | support/extractpdfmark/test/pdfdocencoding.pdf +2022/09/30 | 11385 | support/extractpdfmark/test/destonly.pdf 2022/09/30 | 1133061 | support/TeX4ht/source/tex4ht-4ht.tex +2022/09/30 | 11309 | support/extractpdfmark/test/pagemode-thumbs.pdf +2022/09/30 | 11308 | support/extractpdfmark/test/pagemode-fullscreen.pdf +2022/09/30 | 11306 | support/extractpdfmark/test/pagemode-usenone.pdf +2022/09/30 | 11294 | support/extractpdfmark/test/nodest.pdf +2022/09/30 | 1116 | support/extractpdfmark/test/desttype.tex +2022/09/30 | 1096 | support/extractpdfmark/src/Makefile.am 2022/09/30 | 1087 | macros/latex/contrib/babel-contrib/serbian/README.md +2022/09/30 | 1082 | support/extractpdfmark/test/test-round.sh 2022/09/29 | 960 | fonts/urw/classico/tfm/URWClassico-Italic-lf-ot1--base.tfm +2022/09/29 | 93497 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf 2022/09/29 | 934302 | macros/latex/contrib/l3backend.zip 2022/09/29 | 9331 | macros/latex/contrib/abntexto/abntexto-manual.tex 2022/09/29 | 881812 | systems/texlive/tlnet/archive/achemso.doc.r64538.tar.xz @@ -914,30 +1238,3 @@ 2022/09/26 | 10488340 | systems/texlive/tlnet/archive/plex.r64496.tar.xz 2022/09/26 | 10300 | macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py 2022/09/26 | 10124 | macros/latex/contrib/wargame/source/hex/paths.dtx -2022/09/25 | 97444 | macros/latex/contrib/lettrine/doc/lettrine.pdf -2022/09/25 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex -2022/09/25 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty -2022/09/25 | 827639 | install/fonts/universalis.tds.zip -2022/09/25 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty -2022/09/25 | 811655 | fonts/universalis.zip -2022/09/25 | 73141 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf -2022/09/25 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty -2022/09/25 | 62638 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf -2022/09/25 | 5854 | macros/luatex/latex/luatruthtable/luatruthtable.sty -2022/09/25 | 57736 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf -2022/09/25 | 46766 | macros/latex/contrib/lettrine/lettrine.dtx -2022/09/25 | 454372 | macros/latex/contrib/semantex.zip -2022/09/25 | 440171 | macros/latex/contrib/jobname-suffix.zip -2022/09/25 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex -2022/09/25 | 3631597 | fonts/tinos.zip -2022/09/25 | 333588 | macros/latex/contrib/lettrine.zip -2022/09/25 | 2724 | fonts/universalis/latex/universalis.sty -2022/09/25 | 2570 | macros/latex/contrib/lettrine/lettrine.ins -2022/09/25 | 21449 | macros/latex/contrib/lettrine/contrib.dtx -2022/09/25 | 1907 | fonts/universalis/README -2022/09/25 | 1777 | macros/latex/contrib/lettrine/contrib.ins -2022/09/25 | 156577 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm -2022/09/25 | 1492 | macros/latex/contrib/lettrine/README.md -2022/09/25 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf -2022/09/25 | 11992 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex -2022/09/25 | 101701 | macros/luatex/latex/luatruthtable.zip diff --git a/macros/latex/contrib/bibarts/README.txt b/macros/latex/contrib/bibarts/README.txt index 8fbb2c100f..701eb35450 100644 --- a/macros/latex/contrib/bibarts/README.txt +++ b/macros/latex/contrib/bibarts/README.txt @@ -7,7 +7,7 @@ it requires a program, for which source and Windows executable are provided. === -BibArts 2.4 is a LaTeX package to assist in making bibliographical features +BibArts 2.5 is a LaTeX package to assist in making bibliographical features common in the arts and humanities (history, political science, etc.). bibarts.sty provides commands for quotation, register keywords, abbreviations, and especially for a formatted citation of literature, @@ -22,18 +22,18 @@ with BibTeX, and it does not use any data bank except your own LaTeX text. The lists are created by bibsort. A file bibsort.exe is part of the package ( CTAN mirrors > BibArts > bibarts.zip ) and runs on newer Windows systems. Other users first have to create a binary file from bibsort.c (ANSI-C) with -their own C-compiler. BibArts 2.4 is developed and tested on Windows 10 -with the 2021-11-22 LaTeX 2e distribution, but it should be able to work +their own C-compiler. BibArts 2.5 is developed and tested on Windows 10 +with the 2022-06-01 LaTeX 2e distribution, but it should be able to work even with LaTeX 2.09. - BibArts 2.4 (9 files, 8 dated 2022-01-10): - README.txt This file here + BibArts 2.5 (9 files, 8 dated 2022-10-01): + README.txt This file here: Version history bibarts.sty The LaTeX style file ba-short.pdf Short introduction (English) ba-short.tex Source of ba-short.pdf bibarts.pdf Full documentation (German) bibarts.tex Source of bibarts.pdf - bibsort.exe Binary to create the lists + bibsort.exe bibarts-bin to create the lists bibsort.c Source of bibsort.exe COPYING License (dated 1993-11-28) @@ -64,7 +64,7 @@ see examples for the new commands \frompagesep and \ntsep in bibarts.pdf. Changes from BibArts version 2.0 (2015) to version 2.1 (2016): -BibArts 2.0 set \footnotesep to 2ex, whereas 2.1 to 2.4 do *not* change the +BibArts 2.0 set \footnotesep to 2ex, whereas 2.1 to 2.5 do *not* change the pre-set value. If you want to continue with the 2.0-distance between two footnotes, you will have to type \setlength{\footnotesep}{2ex} in your text. @@ -87,7 +87,7 @@ bibsort is able to evaluate the new fnsymbols (which expand to \TextOrMath). If bibsort should write into files with a different prefix as the .aux input file, you have to use -o <outfile> now. And you may type bibsort <infile>, -*or* bibsort -i <infile> (e.g. when the input file name begins with '-'). +*or* bibsort -i <infile> (e.g. if the input file name begins with '-'). bibsort sorts the 'official' $Greek variables$ since version 2.0. To write single words in Old Greek, BibArts 2.1 also provides \Alpha [A], \Beta [B], @@ -99,12 +99,15 @@ single words in Old Greek, BibArts 2.1 also provides \Alpha [A], \Beta [B], Changes from BibArts version 2.1 (2016) to version 2.2 (2019): -(1) bibsort, the sorting program of the package, has 3 new options: +(1) bibsort, the BibArts Program to create the lists, has 3 new options: Use bibsort -h [...] to sort hyphens ( - \hy \fhy "= "~ ) as spaces. -Use bibsort -b [...] to begin the sorting of the title at \bago, e.g.: +Use bibsort -b [...] if you want that your command \bago in an argument +should define the position at which each comparison begins. E.g. ... \vli{J.}{Smith}{The \bago \ktit{Book}, London 2005} +... with -b will be sorted like <Smith J Book London 2005> without 'The'. +(If you did not type \bago, the position is at the begin of the argument.) bibsort -n1 [...] will create blocks of footnote numbers only, if the entries are from footnotes on the same page, e.g.: 10^{3-6}, 11^{7-9} @@ -127,8 +130,8 @@ And errors in the sorting of entries with only-commands were eliminated. full stop between name and title; BibArts is avoiding e.g. "Smith, J..". (6) If you '\renewcommand' a pre-defined text element (caption), you -sometimes will have to adapt the italic correction. Bibarts provides -the homogenous command \bacorr instead of the four different commands +sometimes will have to adapt the italic correction. BibArts provides +the homogeneous command \bacorr instead of the four different commands \bakxxcorr, \baabkcorr, \balistcorr, and \bakntsepcorr (but those old commands are still valid). To print the lists, you may say now e.g.: \renewcommand{\frompagesep}{\bacorr ; } \printnumvli \printnumvkc @@ -144,8 +147,8 @@ german.sty or ngerman.sty, the use of \originalTeX is still reproduced. - \newhyss to set a \ss, which is splitted s-s only in small caps, and else is printing a sharp S, which is splitted as \language says (-\ss); - \hyss to execute \oldhyss, if \language is \l@german, and \newhyss else - (e.g. if \language is \l@ngerman --- so, \hyss can be used *always*); -- commands for the handling of "tripple consonant before vovel" in German: + (e.g. if \language is \l@ngerman), so you can use \hyss in all languages; +- commands to handle the "tripple consonant in front of vovel" in German: E.g. Sto\hyf figur, Scha\hyl leistung, Sta\hym mutter, Ke\hyn nummer, Ste\hyp pullover, Sta\hyr rahmen, and Schri\hyt tempo: If \language is \l@german, BibArts will PRINT AND SORT \hyf as f, and ELSE as ff, etc. @@ -165,12 +168,12 @@ Changes from BibArts version 2.2 (2019) to version 2.3 (2021): There have been two new options for bibsort: - -utf8 sorts UTF8 characters as definded in utf8enc.dfu 2021/01/27 v1.2l, + -utf8 sorts UTF-8 characters as definded in utf8enc.dfu 2021/01/27 v1.2l, except \cyr...- and \CYR...-commands, which bibsort still ignores. - bibsort is able to sort the accent \textcommabelow (parallel to - U+0218 to U+021B). The internal representation of accents did - change (two instead of one ASCII 1 to 31). For numerous smaller - changes see /* 2.3 comments */ in bibsort.c. + bibsort is able to sort the accent \textcommabelow (which LaTeX + uses from U+0218 to U+021B). The internal representation of + accents did change (two instead of one ASCII 1 to 31). For + numerous smaller changes see /* 2.3 comments */ in bibsort.c. Like in earlier versions, you can introduce e.g. a book in your text @@ -178,33 +181,88 @@ There have been two new options for bibsort: with Peter Young as co-author. (For further co-authors, use \midvauthor{FirstName}{LastName} in front of \vauthor.) Please always TYPE the FirstName first. - If you start bibsort without -e, \printvli will still print lists as: - Smith, John / Peter Young: ... [Title] ... - -e exchanges the PRINT ORDER of the args of \vauthor (and \midvauthor). - In your text, \printvli then will PRINT the List of Literature as: + -e exchanges the PRINT ORDER of the args of \vauthor (and \midvauthor) + on the List of Literature. So, \printvli will PRINT: Smith, John / Young, Peter: ... [Title] ... + If you start bibsort without -e, \printvli will still print: + Smith, John / Peter Young: ... [Title] ... + The SORT ORDER in *both* cases is (that did/does *not* change): Smith John Young Peter === -Changes from BibArts version 2.3 (2021) to version 2.4 (now, 2022): +Changes from BibArts version 2.3 (2021) to version 2.4 (2022) [2022a]: An error was fixed concerning "inner v-commands" on the List of Literature, and the List of Published Documents: In shortened "inner" references, BibArts 2.3 -- together with bibsort -e ... -- printed the first names of co-authors. Now, such shortened references only print the family names. -bibsort now knows ten new utf8-characters (parallel to the changes in +bibsort now knows ten new UTF-8 characters (according to the changes in utf8enc.dfu from version 2021/01/27 v1.2l to 2021/06/21 v1.2n). === +Changes from BibArts version 2.4 (2022[a]) to version 2.5 (now, 2022b): + + +(1) You may now put curly brackets around the \ktit{shortened title}, e.g.: + + \vli {K.} {Mayer} {The \textbf {\ktit{Book}}, Frankfurt/M.}. + +Older versions, despite \announcektit, did not print "(cited as ...)" in +that case. Now, this error has been fixed, and \vli prints correctly: + + K. Mayer: The Book, Frankfurt/M. (cited as Mayer: Book [L]). + + +(2) bibarts.sty now searches for a full stop at the end of the last argument +of \vli commands. So, you may set \notannouncektit, and you will get: + + K. Mayer: The Book, Frankfurt/M. + +(BibArts 2.5 automatically prints "." instead of ".." at the end.) + + +(3) BibArts now supports the name-year system. In this feature, the last +argument of a shortened reference \kli consists of the year of publication +(instead of a few words from the full title). In this new system, you also +use \ktit in the full reference \vli, but in the optional *{argument} as: + + \footnote{\vli {J.} {Smith} *{\onlyvoll{\ktit{2022}}} {An Alternative}.} + ... + \footnote{\kli {Smith} {2022}.} %% <= automatically prints IBIDEM. + +The \ktit in the *{argument} of the full reference \vli has to be masked by +\onlyvoll; only then, BibArts will print IBIDEM, if \kli{Smith}{2022} is in +the following footnote. Instead of especially *{\onlyvoll{\ktit{2022}}}, +you may use *{\starktit{2022}} as a shorter synonym; also see ba-short.pdf. + +After a start of the BibArts program bibsort, and a second start of LaTeX, +\printvli prints the List of Literature from the given name-year example as: + + Smith, J. 2022: An Alternative. + + +(4) Anyway, \ktit now is no more necessarily in the last argument of a \vli +command. The new bibsort tells you whether you have always chosen the same +argument (where "arg 3" means the optional *{argument}, and "arg 4" the last +argument). To get the new features, bibsort, and bibarts.sty, both need to +be updated to version 2.5. bibsort is sometimes referred to as bibarts-bin. + + +(5) bibsort now knows further eleven UTF-8 characters (according to the +changes in utf8enc.dfu from version 2021/06/21 v1.2n to 2022/06/07 v1.3c). + + +=== + Published under the terms of the GNU General Public License. -BibArts 2.4 (2022): -(C) Timo Baumann, Versions 2.x (2022, 2021, 2019, 2016, 2015) +BibArts 2.5 (2022b): +(C) Timo Baumann, Versions 2.x (2015-2022) diff --git a/macros/latex/contrib/bibarts/ba-short.pdf b/macros/latex/contrib/bibarts/ba-short.pdf Binary files differindex 8ab54f3f61..f8e760dbd7 100644 --- a/macros/latex/contrib/bibarts/ba-short.pdf +++ b/macros/latex/contrib/bibarts/ba-short.pdf diff --git a/macros/latex/contrib/bibarts/ba-short.tex b/macros/latex/contrib/bibarts/ba-short.tex index 642978d417..14cf1ff1a7 100644 --- a/macros/latex/contrib/bibarts/ba-short.tex +++ b/macros/latex/contrib/bibarts/ba-short.tex @@ -1,5 +1,5 @@ -%% BibArts 2.4 assists you to write LaTeX texts in arts and humanities. -%% Copyright (C) 2022 Timo Baumann bibarts[at]gmx.de (2022/01/10) +%% BibArts 2.5 assists you to write LaTeX texts in arts and humanities. +%% Copyright (C) 2022b Timo Baumann bibarts[at]gmx.de (2022/10/01) %%% LaTeX + "bibsort -i ba-short -m -utf8 -k -e -h" + LaTeX %%% @@ -16,7 +16,7 @@ \title{The \LaTeX\hy Package \BibArts \\[1.25ex] {\normalsize\slshape A package to assist in making bibliographical features \\[-1.25ex] common in the arts and humanities}} \author{\textsc{Timo Baumann}} - \date{\small Version 2.4 (2022). \hspace{1em}\copyright\ 2.x (2022, 2021, 2019, 2016, 2015).} + \date{\small {Version 2.5 (2022b).} \hspace{2.25em} {\copyright\ 2.x (2015$-$2022).}} \setcounter{secnumdepth}{0} %\renewcommand{\kxxemph}{\em} @@ -60,17 +60,17 @@ \vspace{1.75ex} \hbox{\parbox{7.7cm}{\footnotesize\noindent -\textbf{\BibArts~2.4 (9 files, 8 dated 2022\ko/01\ko/10):} \\[.875ex] +\textbf{\BibArts~2.5 (9 files, 8 dated 2022/10/01):} \\[.875ex] \begin{tabular}{ll}% - \texttt{README.txt} & Version history since 1.3 \\[-1.75pt] - \texttt{bibarts.sty} & The \LaTeX\ style file \\[-1.75pt] - \texttt{ba-short.pdf} & This documentation here \\[-1.75pt] - \texttt{ba-short.tex} & Source of \texttt{ba-short.pdf}\\[-1.75pt] - \texttt{bibarts.pdf} & Full documentation (German) \\[-1.75pt] - \texttt{bibarts.tex} & Source of \texttt{bibarts.pdf} \\[-1.75pt] - \texttt{bibsort.exe} & Binary to create the lists \\[-1.75pt] - \texttt{bibsort.c} & Source of \texttt{bibsort.exe} \\[-1.75pt] - \texttt{COPYING} & License (dated 1993/11/28) \\ + \texttt{README.txt} & Version history since 1.3 \\[-1.75pt] + \texttt{bibarts.sty} & The \LaTeX\ style file \\[-1.75pt] + \texttt{ba-short.pdf} & This documentation here \\[-1.75pt] + \texttt{ba-short.tex} & Source of \texttt{ba-short.pdf} \\[-1.75pt] + \texttt{bibarts.pdf} & Full documentation (German) \\[-1.75pt] + \texttt{bibarts.tex} & Source of \texttt{bibarts.pdf} \\[-1.75pt] + \texttt{bibsort.exe} & bibarts-bin to create the lists \\[-1.75pt] + \texttt{bibsort.c} & Source of \texttt{bibsort.exe} \\[-1.75pt] + \texttt{COPYING} & License (dated 1993/11/28) \\ \end{tabular}} \\ \hspace*{2.4mm} @@ -184,7 +184,7 @@ \vspace{-.25ex}\noindent \verb|\printper| your Periodicals, and \verb|\printarq| the List of Archive - Files. Spaces are forbidden before the optional arguments \verb+[Pg]+, + Files. Type no spaces in front of the optional arguments \verb+[Pg]+, \verb+(Foilo)+, \verb+|Vol|+, or \verb+_Num_+. @@ -421,7 +421,7 @@ Use \verb|\per| inside the last argument of a \texttt{v}\fhy command to cite art { You can use \texttt{*[Pg]} to cite a certain page inside \texttt{[PgBegin-PgEnd]}. -Do not type spaces before \texttt{*[Pg]}.\footnote{See +Do not type spaces in front of \texttt{*[Pg]}.\footnote{See \vqu {John Frederick Charles} {Fuller} {Gold Medal (Military) \ktit{Prize Essay} for 1919, first published in: \per{Journal of the Royal United Service @@ -760,6 +760,89 @@ Please use commands like \verb|\bfseries| to \verb|\renewcommand| fonts, not \ve \verb|\peremph| & \verb|{\normalfont\scshape}| & periodicals \verb| %{\upshape}| \\ \end{tabular}} + +%!!!> + +\newpage\noindent +Since version 2.5, \BibArts\ supports the \textbf{name\hy year system}\kern.025em: +In shortened references, you may also use the year of publication instead of a few words +from the full title. E.\,g.\ +\hspace{.25em}\verb|*{\onlyvoll{\ktit{1999}}}| +\hspace{.35em}$-$ or synonymously +\hspace{.35em}\verb|*{\starktit{1999}}| $-$ +\hspace{.25em}is used as the \texttt{*}\fhy argument of a v\fhy command; +the last argument of a k\fhy command is the year of publication. +If two cited works by the same author have been published in the same year, +use \verb|1999a|, \verb|1999b|. + +The following example uses \hspace{.075em}\verb|\notannouncektit|\kern.05em, because it seems to +be unnecessary to print \hspace{.15em}{\footnotesize (cited as \fabra{...})}\ \hspace{.15em}here; and \verb|\ntsep| +is redefined in a way that k\fhy commands do not print a colon after the +name(s) of the author(s):% +{\notannouncektit + \renewcommand{\ntsep}{\ifbashortcite{ }{: }}\notktitaddtok + \footnote { \printonlyvli{Roger} {Chickering} *{\starktit{1999}} + {Total War. The Use and Abuse of a Concept, in: + \xprintonlyvli{Manfred F.}{Boemeke} *{\midvauthor{Roger}{Chickering} + \vauthor{Stig}{Förster}\onlyvoll{ \editors\ \ktit{1999}}} + {Anticipating Total War. The German and American + Experiences 1871--1914, Cambridge U.\,K.}[13-28]}*[14\f].}% + \,\footnote{\printonlykli{Chickering}{1999}[14\f].\label{RC}}% + \,\footnote { \printonlyvli{Gerald D.}{Feldman}*{\starktit{1999}} + {Hugo Stinnes and the Prospect of War Before 1914, in: + \xprintonlykli{Boemeke} *{\midkauthor{Chickering} \kauthor{Förster}} + {1999}[77-95]}*[77]; and \printonlykli{Chickering}{1999}[16].}% +} + +\vspace{1.125ex} +\begin{small} +\noindent +\verb| \notannouncektit| \\ +\verb| \renewcommand{\ntsep}{\ifbashortcite{ }{: }} % : only in v-cmds| + +\vspace{-.75ex} +\begin{verbatim} + \footnote { \vli{Roger} {Chickering} *{\starktit{1999}} + {Total War. The Use and Abuse of a Concept, in: + \xvli{Manfred F.}{Boemeke} *{\midvauthor{Roger}{Chickering} + \vauthor{Stig}{Förster}\onlyvoll{ \editors\ \ktit{1999}}} + {Anticipating Total War. The German and American + Experiences 1871--1914, Cambridge U.\,K.}[13-28]}*[14\f].} +\end{verbatim} + +\vspace{-.675ex}\noindent +\verb| \footnote{\kli{Chickering}{1999}[14\f].} %% see footnote |\texttt{\ref{RC}} + +\vspace{-.675ex} +\begin{verbatim} + \footnote { \vli{Gerald D.}{Feldman}*{\starktit{1999}} + {Hugo Stinnes and the Prospect of War Before 1914, in: + \xkli{Boemeke} *{\midkauthor{Chickering} \kauthor{Förster}} + {1999}[77-95]}*[77]; and \kli{Chickering}{1999}[16].} +\end{verbatim} +\end{small} + +\vspace{.125ex}\noindent +Note, that there are spaces in front of \verb|\vauthor{Stig}{Förster}| as well as \verb|\kauthor{Förster}|. +Finally, \verb|\printvli| will print the List of Literature as: + +\vspace{-1.5ex}\subsection*{Literatur}\vspace{-.25ex} +\begin{description}\parsep 0ex \itemsep -.5ex +\item +{\scshape Boemeke}, Manfred F.\baslash {\scshape Chickering}, Roger\baslash {\scshape Förster}, Stig \editors\ +1999: Anticipating Total War. The German and American Experiences +1871-1914, Cambridge U.\,K. +\item +{\scshape Chickering}, Roger 1999: Total War. The Use and Abuse of a Concept, in: +{\scshape Boemeke}\baslash {\scshape Chickering}\baslash {\scshape Förster} 1999 [L], S.\,13-28. +\item +{\scshape Feldman}, Gerald D. 1999: Hugo Stinnes and the Prospect of War Before +1914, in: {\scshape Boemeke}\baslash {\scshape Chickering}\baslash {\scshape Förster} 1999 [L], S.\,77-95. +\end{description} + +%!!!< + + \edef\bamantestargs{ -h -utf8 -k -e } \ifx\bamantestargs\bibsortargs\else\newpage\noindent bibsort was started with options\\ \bibsortargs\\ instead of\\ \bamantestargs\fi diff --git a/macros/latex/contrib/bibarts/bibarts.pdf b/macros/latex/contrib/bibarts/bibarts.pdf Binary files differindex a8d267ff8f..103ef04712 100644 --- a/macros/latex/contrib/bibarts/bibarts.pdf +++ b/macros/latex/contrib/bibarts/bibarts.pdf diff --git a/macros/latex/contrib/bibarts/bibarts.sty b/macros/latex/contrib/bibarts/bibarts.sty index ccd48ba312..e0ab320722 100644 --- a/macros/latex/contrib/bibarts/bibarts.sty +++ b/macros/latex/contrib/bibarts/bibarts.sty @@ -1,5 +1,5 @@ -%% BibArts 2.4 assists you to write LaTeX texts in arts and humanities. -%% Copyright (C) 2022 Timo Baumann bibarts[at]gmx.de (2022/01/10) +%% BibArts 2.5 assists you to write LaTeX texts in arts and humanities. +%% Copyright (C) 2022b Timo Baumann bibarts[at]gmx.de (2022/10/01) %% %% This program is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by @@ -19,12 +19,13 @@ %% FILES OF THE PACKAGE AND DOCUMENTATION %% CTAN mirrors > BibArts > bibarts.zip +%% README.txt Version history since 1.3 %% bibarts.sty This file (a LaTeX style) %% ba-short.pdf Short documentation (English) %% ba-short.tex Source of ba-short.pdf %% bibarts.pdf Full documentation (German) %% bibarts.tex Source of bibarts.pdf -%% bibsort.exe Binary to create the lists +%% bibsort.exe bibarts-bin to create the lists %% bibsort.c Source of bibsort.exe %% COPYING The license of the package @@ -33,7 +34,7 @@ %% COMPATIBILITY %% Change \DeclareRobustCommand into \def before using LaTeX 2.09. %% Then, you still NOT have to \protect BibArts-cmds in args of v-cmds. -%% BibArts 2.4 ONLY has an EMULATION for 1.3 texts: Keep copies of 1.x? +%% BibArts 2.5 ONLY has an EMULATION for 1.3 texts: Keep copies of 1.x? @@ -72,7 +73,7 @@ \def\errmessage@ba#1{{\protectchars@active\errmessage{#1.^^J \space. . . . . . . . . . . }}} -\typeout@ba{Style Option BibArts, Version 2.4 [2022] ...} +\typeout@ba{Style Option BibArts, Version 2.5 [2022b] ...} \def\msg@bafontsubst#1#2{\typeout@ba{{\string#1 ...} is unknown; I'll substitute {\string#2 ...}.}} @@ -98,7 +99,7 @@ \def\baabkcorr{\bacorr} \def\balistcorr{\bacorr} \def\bakntsepcorr{\bacorr} -%% Only \barefcorr is not yet unified in 2.4 %% +%% Only \barefcorr is not yet unified in 2.5 %% \def\setup@ba#1#2{\let\@bahdtest-{#1{% \ifdim\fontdimen\@ne\font=\z@{\ignorespaces #2\ba@textmode\iflasthasdot@ba{\global\let\@bahdtest+}{}}\else @@ -201,7 +202,8 @@ \def\prep@bakntsepcorr{\def\bacorr{\ifdim\fontdimen\@ne\font=\z@\else{\kxxemph{\ifdim\fontdimen\@ne\font=\z@\@bacorrkern\nulskip@ba\fi}}\fi}} \def\not@bakntsepcorr{\def\bacorr{}} -\def\ntsep{: \bacorr} %{\ifbashortcite{:\hskip0pt plus 0pt\bacorr}{: }} +\def\ntsep{: \bacorr} %{\ifbashortcite{ }{: }} %{\bapoint\newsentence} + %{\ifbashortcite{:\hskip0pt plus 0pt}{: }\bacorr} \def\ppntsep{{\@kxxbafalse\not@bakntsepcorr\ntsep}} \def\printntsep{\protect\ppntsep} @@ -282,11 +284,6 @@ \def\pwriteidemwarnings{\wriwarn@batrue} \def\writeidemwarnings{\protect\pwriteidemwarnings} -%% \bullet : Ders. fehlt moeglicherweise (gleiche Nachnamen registriert). -%% \heartsuit: Ders. ist offenbar richtig gesetzt (gleiche Nachnamen registriert). -%% \nabla : Ders. wegen fehlender Autoren in vorausgehender Fussnote unberechtigt. -%% \spadesuit: Ders. ueberscheibt einen Namen, der nicht der vorausgehende ist. -%% \clubsuit : Ders. steht irrefuehrenderweise nach einer Fussnote mit mehreren Autoren. \def\pconferize{\ba@varstringtrue} @@ -505,8 +502,9 @@ \let\next@ba\getnext@km \fi \next@ba} -\def\erripfpevo@ba#1{%{ \erri@ba}% - \ifx#1x\type@bawarn{Empty [] or ()}\else\type@bawarn{Empty || or __}\fi} +\def\erripfpevo@ba#1{%{ \erri@ba}% %% outer/inner in 2.5: + \ifx#1x\type@bawarn{Empty [] or () at \if@baouter outer \else inner \fi cmd}\else + \type@bawarn{Empty || or __ at \if@baouter outer \else inner \fi cmd}\fi} \def\printpf@ba#1#2{\if@pfvba{\errorcontextlines=-1% \def\@testa{#2}% @@ -541,13 +539,14 @@ \ifx\@testa+\@bahasdot\fi \arqsep}}% \fi\fi}} -\def\initprintpf@ba#1#2#3{\if@pfvba +\def\initprintpf@ba#1#2#3{% + \if@pfvba {\@memfunctions\@outsavety\@herefunctions\fillpref@ba{#2}{#3}}% {\if@footnote \ifx\pmem@ba\pref@ba \ifx\isibidem@ba-\printpf@ba{#1}{#3}% \else\ifx\lastp@ba+\printpf@ba{#1}{#3}% - \else \global\let\lookpage@ba=+% + \else\global\let\lookpage@ba=+% \fi \fi \else\printpf@ba{#1}{#3}% @@ -555,11 +554,14 @@ \ifx\isibidem@ba+\ifx\pos@ba1\else\global\let\thisp@ba=+\fi\fi \fi \fi - \else\printpf@ba{#1}{#3}\fi - \global\let\lastp@ba=-% - }\global\let\pmem@ba=\pref@ba\fi} + \else\printpf@ba{#1}{#3}% + \global\let\lastp@ba=-% + \global\let\pmem@ba=\pref@ba %% moved in 2.5 + \fi}% + \fi} -\def\initprintpevo@ba#1#2{\if@pfvba +\def\initprintpevo@ba#1#2{% + \if@pfvba {\@memfunctions\@outsavety\@herefunctions\fillvolref@ba{#1}}% {\if@footnote \ifx\volmem@ba\volref@ba @@ -575,9 +577,12 @@ \ifx\isibidem@ba+\ifx\pos@ba1\else\global\let\thisvol@ba=+\fi\fi \fi \fi - \else\printpevo@ba{#1}{#2}\fi - \global\let\lastvol@ba=-% - }\global\let\volmem@ba=\volref@ba\fi} + \global\let\lastvol@ba=-% %% moved in 2.5 + \global\let\volmem@ba=\volref@ba %% moved in 2.5 + \else + \printpevo@ba{#1}{#2}% + \fi}% + \fi} \def\initprints@ba#1#2{% @@ -635,8 +640,9 @@ \def\ggrrtitlename{Ortsregister} \def\gprrtitlename{Personenregister} \def\gsrrtitlename{Sachregister} -\def\gannouncektitname{\bastrut\ (\kern 0.015em im Folgenden \baupcorr} %at:fortan -\def\gannouncekendname{)} +\def\gannouncektitname{\bastrut\ (\kern 0.015em im Folgenden \baupcorr} + %% 2.5 auch: {\bapoint\newsentence Fortan: } +\def\gannouncekendname{)} %%{\bapoint\banotdot} \def\grefvbegname{(} \def\grefverbname{siehe} \def\grefvpagname{S.\,} @@ -952,6 +958,7 @@ \def\onlyout{\protect\onlyout}% \def\onlyvoll{\protect\onlyvoll}% \def\onlykurz{\protect\onlykurz}% + \def\sechere##1##2{\onlyhere{##2}\onlyout{##1}}% %% new in 2.5 \def\kurz{\if@baouter\protect\outkurz\else\protect\delkurz\fi}% \def\ktit{\protect\ktit}% \def\vauthor{\protect\vauthor}% @@ -1092,6 +1099,17 @@ %% +%% inner only-cmds are identical on lists, +%% because v-cmds are changed to k-cmds: + +\def\@reprintIfunctions{% %% new in 2.5 + \def\onlyout##1{##1}% + \def\onlyhere##1{}% + \def\onlyvoll##1{}% + \def\onlykurz##1{##1}% +} + + \def\@hereRfunctions{% \def\onlyout##1{}% %% Genauso in \@herefunctions \def\onlyhere##1{##1}% %% Genauso in \@herefunctions @@ -1145,8 +1163,11 @@ \def\outkurz#1{\unskip{} [{#1\ba@textmode}]} \def\delkurz#1{\unskip} +\def\starktit#1{\onlyvoll{\ktit{#1}}} %% new in 2.5 \def\vollout#1{\onlyvoll{\onlyout{#1}}} \def\vollhere#1{\onlyvoll{\onlyhere{#1}}} +\def\sechere#1#2{\onlyout{#1}\onlyhere{#2}} %% new in 2.5 +\def\onlybakey#1{} %% new in 2.5 \def\protmva#1#2{\dofrco@ba\@printvname{#1}{\bastrut\ }{#2}{0}{0}{\nsep}\ignorespaces} \def\midvauthor{\protect\protmva} @@ -1236,14 +1257,16 @@ \def\makeibid@ba{% \if@bashowmem + \if@footnote %% added if, msg changed in 2.5 + \protec@scr{^^J SHOWBAMEM on input line \line@ba \space in}% \if@baminipage - \protec@scr{^^J Minipage-FNT \thempfootnote}\else - \protec@scr{^^J FNT \thefootnote}\fi - \protec@scr{^^J -- outer: \space \tmemo@ba \space -- }% - \protec@scr{ ---------- inner: \space \tmemi@ba \space -- }% - \if@baouter\protec@scr{ -- o-ref: \space \tref@ba \space -- ^^J}\else - \protec@scr{ ---------- i-ref: \space \tref@ba \space -- ^^J}\fi - \fi + \protec@scr{Minipage-FNT \thempfootnote:}\else + \protec@scr{FNT \thefootnote:}\fi + \protec@scr{^^J -- outer: \space \tmemo@ba}% + \protec@scr{^^J ---------- inner: \space \tmemi@ba}% + \if@baouter\protec@scr{^^J -- o-ref: \space \tref@ba ^^J}\else + \protec@scr{^^J ---------- i-ref: \space \tref@ba ^^J}\fi + \fi\fi \global\let\isibidem@ba=-% \if@baouter\global\let\lookpage@ba=-\fi \if@footnote \if@baouter\makethiso@ba\else\makethisi@ba\fi @@ -1301,6 +1324,8 @@ \ifx\thisti@ba+\ifx\tmemi@ba\tref@ba\else\global\let\thisti@ba=.\fi\fi \ifx\thisti@ba-\global\let\thisti@ba=+\fi} +\def\@bafnttextindent{0.1em} %% new in 2.5 (fnt=mpfnt) + \let\lastn@ba=- \expandafter\ifx\csname @footnotetext\endcsname\relax \type@bawarn{No footnote numbers}% @@ -1314,13 +1339,15 @@ \global\let\thiss@ba=-% \global\let\thisn@ba=-% \global\let\pos@ba=0% - \kern 0.1em\nulskip@ba{\@footnotetrue\ignorespaces - #1\nulskip@ba\ba@textmode}\global\let\lastto@ba=\thisto@ba + \kern\@bafnttextindent \nulskip@ba + {\@footnotetrue\ignorespaces #1\nulskip@ba\ba@textmode}% + \global\let\lastto@ba=\thisto@ba \global\let\lastti@ba=\thisti@ba \global\let\lastp@ba=\thisp@ba \global\let\lastvol@ba=\thisvol@ba \global\let\lasts@ba=\thiss@ba - \global\let\lastn@ba=\thisn@ba}}% + \global\let\lastn@ba=\thisn@ba}% + \ifx\pos@ba0{\@footnotetrue\fillvolref@ba{}}\fi} %% new in 2.5 \fi \expandafter\ifx\csname @mpfootnotetext\endcsname\relax @@ -1335,13 +1362,15 @@ \global\let\thiss@ba=-% \global\let\thisn@ba=-% \global\let\pos@ba=0% - \kern 0.1em\nulskip@ba{\@footnotetrue\ignorespaces - #1\nulskip@ba\ba@textmode}\global\let\lastto@ba=\thisto@ba + \kern\@bafnttextindent \nulskip@ba + {\@footnotetrue\ignorespaces #1\nulskip@ba\ba@textmode}% + \global\let\lastto@ba=\thisto@ba \global\let\lastti@ba=\thisti@ba \global\let\lastp@ba=\thisp@ba \global\let\lastvol@ba=\thisvol@ba \global\let\lasts@ba=\thiss@ba - \global\let\lastn@ba=\thisn@ba}}% + \global\let\lastn@ba=\thisn@ba}% + \ifx\pos@ba0{\@footnotetrue\fillvolref@ba{}}\fi} %% new in 2.5 \fi @@ -1349,7 +1378,9 @@ \newif\if@bainnerminipage\@bainnerminipagefalse \let\ba@minipg=\minipage -\def\minipage{\if@baminipage\@bainnerminipagetrue\else +\def\minipage{\if@baminipage\@bainnerminipagetrue + %% no \fillvolref@ba{}! %% + \else \savemem@ba\clearmem@ba \global\let\lastto@ba=+% \global\let\lastti@ba=+% @@ -1452,15 +1483,28 @@ \newbox\testbox@ba -\def\@printlastarg#1#2{{% - \setbox\testbox@ba=\hbox{#2{\ignorespaces #1\ba@textmode}}% +\def\@printlastarg#1#2#3{{% %% #2 changed into new #3 in 2.5 %% + \setbox\testbox@ba=\hbox{#3{\ignorespaces #1#2\ba@textmode}}% \ifdim\ht\testbox@ba=0pt% \if@kxxba \gdef\bacorr{}% %% no \if@printhint\else in 2.2 %% \fi \else - {\if@kxxba\iflasthasdot@ba{\not@bakntsepcorr}{\prep@bakntsepcorr}\else - \not@bakntsepcorr\fi\ntsep}{\unhbox\testbox@ba}% + {\if@kxxba + %% \iflasthasdot@ba{\not@bakntsepcorr}{\prep@bakntsepcorr}% + %% ... changed in 2.5 into: + \prep@bakntsepcorr + \else + \not@bakntsepcorr + \fi + \ntsep + }{\unhbox\testbox@ba}% + \if@kxxba\else \if@vxxbalist\else %% finddot new in 2.5 + \setbox\testbox@ba=\hbox{#3{#2}}% + \ifdim\ht\testbox@ba=0pt% + \let\@testa=-\finddot@ba{#1}\ifx\@testa+\@bahasdot\fi + \fi + \fi\fi \if@kxxba \let\@testa=-\finddot@ba{#1}% \ifx\@testa+\@bahasdot\gdef\bacorr{}\fi @@ -1488,11 +1532,11 @@ \def\@testb{#2}% \setbox\testbox@ba=\hbox{\ignorespaces #1\ba@textmode}% \ifdim\ht\testbox@ba=0pt\else - \ifx\@testb\@leer\@bastrut\ \else %% space before *{...} %% - {#2}\fi\fi %% #2 is \nsep at \x... %% - {\unhbox\testbox@ba}% - \let\@testa=-\finddot@ba{#1}% - \ifx\@testa+\@bahasdot\fi}} + \ifx\@testb\@leer\@bastrut\ \else %% space before *{...} + {#2}\fi %% #2 is \nsep at \x... + {\unhbox\testbox@ba}% %% <= moved in 2.5 before \fi => + \let\@testa=-\finddot@ba{#1}\ifx\@testa+\@bahasdot\fi + \fi}} \newif\ifreprint@ba\reprint@bafalse @@ -1502,16 +1546,20 @@ \errhelp{ ^^JIf you use a ...v#1-cmd inside the last arg of a ...v..-cmd, it is necessary ^^Jto use \ktit{...} to mark a part of the inner title as short title, because, - ^^Jon the v#1-list, I transform inner full titles into short titles. For that + ^^Jon the v-lists, I transform inner full titles into shortened titles. On the ^^Jlist, I've inserted `??' as inner short title. (In case of an inner \vli, or - ^^J\vqu, the inner full title will also be printed separately on the v..-list.)^^J}% - \errmessage@ba{Missing \string\ktit{...} or shadowed {\string\ktit{...}} in last arg}}\fi\fi} + ^^J\vqu, the inner full title will also be printed separately on the v..-list.) + ^^JAlso \vli[p{TEXT}]{}{}*{\ktit{..}}{...} without \ktit in TEXT is forbidden.^^J}% + \errmessage@ba{Missing \string\ktit{...} in *inner* ...v#1-cmd}}\fi\fi} + %% msgs changed in 2.5 %% \def\@initvprintonly#1#2#3#4#5#6#7#8{{% %% #1 == li, qu %% \resetcorr@ba {\@memfunctions\@outsavety\@hereRfunctions\@hereFfunctions\fillnref@ba{#4}}% \if@footnote\global\let\isibidem@ba=-\warn@baname{v#1}{#2}% - \if@baouter\global\let\nmem@ba=\nref@ba\fi + \if@baouter + \global\let\nmem@ba=\nref@ba + \fi \fi %%%% \let\ifmem@baouter=\if@baouter @@ -1521,8 +1569,8 @@ \ifmem@baouter{\filltmemo@ba{}{}{}{}}\else{\filltmemi@ba{}{}{}{}}\fi \def\@testa{#6}% \def\execute@ktit{\@nobaktit{#1}}% - \@baktitfalse - \def\ktit##1{\@baktittrue + \@baktitfalse + \def\ktit##1{\global\@baktittrue %% \global new in 2.5 %% \def\kurz{\kurz@ktit}% \ba@varlabel{#4}{#5}{##1}% \if@footnote @@ -1532,30 +1580,42 @@ \fi}% \fi \if@makektitk{\@initaddtok{#4}{#5}{##1}{#1}{{\nsep}{#8}{v}}{1}}\fi - \ifreprint@ba \def\execute@ktit{{\@kxxbatrue\@kprintonly{#1}{#2}{#4}{#5}{##1}{#7}}}% - \else \def\execute@ktit{{\@firstherald\if@rheraldktit - \cap@ba{announcektit}\@rootponly{#1}{#4}*{#5}{##1}{#7}% + \ifreprint@ba + \ifmem@baouter + \gdef\execute@ktit{{\@kxxbatrue\@kprintonly{#1}{#2}{#4}{#5}{##1}{#7}}}% + \fi + \else %% 2 * outer+gdef \execute@ktit new in 2.5 %% + \ifmem@baouter + \gdef\execute@ktit{{\@firstherald\if@rheraldktit + \cap@ba{announcektit}\@rootponly{#1}{#4}*{#5}{##1}{#7}% \do@banohint{{\bacorr}}\cap@ba{announcekend}\fi\fi}}% + \fi \fi ##1\ba@textmode}% \ifreprint@ba - {\setbox\testbox@ba=\hbox{#6\relax - \if@baktit \global\let\gargc@ba=\execute@ktit + {\setbox\testbox@ba=\hbox{#2\relax #3\relax #4\relax #5\relax #6\relax + \if@baktit %% #2...#5\relax new in 2.5 %% + \global\let\gargc@ba=\execute@ktit \else \gdef\gargc@ba{\@kxxbatrue\@kprintonly{#1}{#2}{#4}{#5}{\erri@ba}{#7}}% - \type@bawarn{Missing inner \string\ktit; use `??' as short title}% + {\errorcontextlines=-1% %% warn changed to err 2.5 %% + \errhelp{See the number of the line where the error comes from ...}% + \errmessage@ba{Missing \string\ktit{...} in *inner* ...v#1-cmd}}% \fi}% {\@hereRfunctions\gargc@ba}% %% <-> \@rootponly %% + %% new in 2.5: see \@reprintIfunctions %% \global\let\gargc@ba=\relax }% \else - \ifx\@testa\@leer{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{#7}}\else - \ifx\@testa\@leerz{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{#7}}\else - {\@vprintonly{#1}{#2}{#3}{#4}{#5}{#6\relax\execute@ktit}{#7}}\fi\fi + \ifx\@testa\@leer{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{}{#7}}\else + \ifx\@testa\@leerz{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{}{#7}}\else + {\@vprintonly{#1}{#2}{#3}{#4}{#5}{#6}{\execute@ktit}{#7}}\fi\fi + %% 2.5: {#6\relax\execute@ktit} changed in {\execute@ktit}{#7} %% \fi }\if@footnote \if@baouter\makethiso@ba\else\makethisi@ba\fi \fi} \def\clearmem@ba{{\@footnotetrue\filltmemo@ba{}{}{}{}\filltmemi@ba{}{}{}{}% - \fillpmem@ba{}{}\fillvolmem@ba{}\fillnmem@ba{}}} + \fillpmem@ba{}{}\fillvolmem@ba{}\fillnmem@ba{}% + \fillvolref@ba{}}} %% new in 2.5 \def\filltmemo@ba#1#2#3#4{\if@footnote \global\edef\tmemo@ba{{#1}{#2}{#3}{#4}}\fi} @@ -1648,14 +1708,16 @@ {\@footnotetrue\fillsref@ba{}} -\def\@vprintonly#1#2#3#4#5#6#7{{% +\def\@vprintonly#1#2#3#4#5#6#7#8{{% %% #7 changed into new #8 in 2.5 %% \@herefunctions \def\@testa{#2}% \ifx\@testa\@leer \@printvname{#3}{\bastrut\ }{#4}{0}{1}% - \@printoptarg{#5}{#7}% - \else\oletter@ba{v#1}{#2}{\@printoptarg{#5}{#7}}% + \@printoptarg{#5}{#8}% + \else\oletter@ba{v#1}{#2}{\@printoptarg{#5}{#8}}% \fi %% #1 == li, qu %% - \@printlastarg{#6}{}\@heraldktitfalse}} + \@printlastarg{#6}{#7}{}\@heraldktitfalse + %% {#6} changed into {#6}{#7} in 2.5 %% + }} @@ -1671,7 +1733,9 @@ {\@memfunctions\@outsavety\@herefunctions\filltref@ba{#1}{#3}{#4}{#5}\fillnref@ba{#3}}% \makeibid@ba \if@footnote\warn@baname{k#1}{#2}\fi - \ifx\isibidem@ba-{\@herefunctions\@kprintonly{#1}{#2}{#3}{#4}{#5}{#6}}% + \ifx\isibidem@ba-{\@herefunctions + \ifreprint@ba\@reprintIfunctions\fi %% new in 2.5 + \@kprintonly{#1}{#2}{#3}{#4}{#5}{#6}}% \else\ibidemname@ba \fi \makelast@ba} @@ -1714,7 +1778,7 @@ \ifx\@testa\@leer \@printkname{#3}{1}\@printoptarg{#4}{#6}% \else \oletter@ba{k#1}{#2}{\@printoptarg{#4}{#6}}% \fi}% - \@printlastarg{#5}{\kxxemph}% + \@printlastarg{#5}{}{\kxxemph}% \if@allowconferize \ifba@varstring\ \ba@varref{#3}{#4}{#5}% \else \@initprinthint{#1}% @@ -1728,7 +1792,7 @@ \@hereRfunctions \@printkname{#2}{1}% \@printoptarg{#3}{#5}% - {\@kxxbatrue\@printlastarg{#4}{\kxxemph}}% + {\@kxxbatrue\@printlastarg{#4}{}{\kxxemph}}% \@initprinthint{#1}}} %% #1 == li, qu %% @@ -1737,6 +1801,13 @@ \def\next@ba{} +%% new in 2.5: +\def\pfilled@baon{\if@pfvba\if@footnote\global\let\pfilled@ba=+\fi\fi} +\def\@balocalvolon{\if@pfvba\if@footnote\@balocalvoltrue\fi\fi} +\def\@balocalpgon{\if@pfvba\if@footnote\@balocalpgtrue\fi\fi} +\def\pevofilled@baon{\if@pfvba\if@footnote\global\let\pevofilled@ba=+\fi\fi} +%% + \def\getk@bapg#1]{\@bapg{#1}\bk@bapg} \def\getxk@bapg#1]{\@baxpg{#1}\bk@bapg} \def\getkf@bapg#1){\@bafolio{#1}\bk@bapg} @@ -1747,23 +1818,35 @@ \def\xk@bapg{\afterassignment\getxkch@bapg\let\next@ba= } \def\getxkch@bapg{% \ifx\next@ba[\let\next@ba=\getxk@bapg - \global\let\pfilled@ba=+% + \pfilled@baon \else \ifx\next@ba(\let\next@ba=\getxkf@bapg - \global\let\pfilled@ba=+% + \pfilled@baon + \else %% else-part new in 2.5 + \if@pfvba{ \erri@ba}{\errorcontextlines-1% + \@qqertypeout{*[n]- or *(n)}{... at the end of an \if@baouter outer \else inner \fi BibArts command.}% + \errhelp{^^JThe * at the end of a BibArts cmd has to be followed + ^^Jby [PageNum] or (FolioNum) without a space before. + ^^JNote, that *|n| and *_n_ do not exist. An outer *[n] or *(n) may define + ^^Ja special page/folio inside an inner [Begin-End] or (Begin-End) array.}% + \errmessage@ba{The * is not directly followed by [n] or (n)}}\fi \fi\fi \pknext@ba} -\def\lessinfoerror@ba#1#2#3#4#5{\if@baouter{ \erri@ba}{\errorcontextlines-1% - \@qqertypeout{#2}{Automatic IBIDEM-setting in footnote:}% +\def\lessinnerinfoerr@ba#1{\type@bawarn{No #1 in INNER ibidem-series}} + +\def\lessouterinfoerr@ba#1#2#3#4#5{{ \erri@ba}{\errorcontextlines-1% + %% minipage new in 2.5: + \@qqertypeout{#2}{Automatic IBIDEM-setting in \if@baminipage minipage \fi footnote:}% \errhelp{ - ^^JThe BibArts command before has had a #1 as #2-number, - ^^Jbut the command now has none. The titles are the same. I set IBIDEM, - ^^Jbut did you mean the whole #5? Later, you may type `passim', - ^^Jor what you've forgotten, as #2-number. (Then, you may set your - ^^Jwhole BibArts-\cmd in {#4\cmd...}).^^J}% - \errmessage@ba{Same title, before with :#3:, has now no #1 number}}\else - \type@bawarn{Check #1 after inner IBIDEM}\fi} + ^^JYour last BibArts command has had a #1 as #2-number, + ^^Jbut the command here has none. The titles are the same. I set IBIDEM, + ^^Jbut did you want to cite the whole #5? Later, you may type + ^^J`passim', or what you've forgotten, as #2-number. (Then, you + ^^Jmay put your whole BibArts-\cmd in {#4\cmd...}.) + ^^JOr switch off IBIDEM: Set \clearbamem in front of your BibArts command.^^J}% + %% errmsg changed in 2.5 + \errmessage@ba{Same outer title, before with :#3:, has now no #1}}} \def\do@banohint#1{\if@printhint\else\ifba@varstring\else #1\fi\fi} @@ -1785,54 +1868,149 @@ \let\pfilled@ba=- \let\pevofilled@ba=- + +%% new in 2.5: +\let\@bainnernewvol=- +\let\@bainnernewpg=- +\newif\if@balocalvol\@balocalvolfalse +\newif\if@balocalpg\@balocalpgfalse +\newif\if@bapglock\@bapglockfalse +%% + \def\ak@bapg{\afterassignment\getakch@bapg\let\next@ba= } \def\getakch@bapg{% - \ifx\last@ba-\makeendcorr@ba\fi - \global\let\last@ba=+% - \ifx\lockpevo@ba-\ifx\next@ba|\else\ifx\next@ba_\else - \if@pfvba - \ifx\isibidem@ba+\ifx\pevofilled@ba+% - \ifx\volref@ba\@leer\else\lessinfoerror@ba{no./vol}{_n_- or |n|}{{pervol}{\volref@ba}}{\notprintlongpervol}{series}\fi - \fi\fi - \fillvolmem@ba{}% - \global\let\pevofilled@ba=-% - \fi - \fi\fi\fi + \ifx\last@ba-\makeendcorr@ba\fi + \global\let\last@ba=+% + \@bapglockfalse + %%% + \ifx\lockpevo@ba-\ifx\next@ba|\else\ifx\next@ba_\else + \if@pfvba + \if@footnote %% new in 2.5 + \ifx\isibidem@ba+\ifx\pevofilled@ba+% + \ifx\volref@ba\@leer + \else + \if@baouter %% new in 2.5 + \lessouterinfoerr@ba{vol/no}{|n|- or _n_}{{pervol}{\volref@ba}}{\notprintlongpervol}{series}% + \fillvolref@ba{}% %% new in 2.5 + \fi + \fi + \fi\fi + %% 2.5: Simple \fillvolmem@ba{} changed into + \if@baouter + \fillvolmem@ba{}% + \else + \fillvolref@ba{}% + \fi + \global\let\pevofilled@ba=-% + \fi + \fi + \fi\fi\fi + %%% \ifx\next@ba[% - \let\next@ba=\getk@bapg \if@pfvba\global\let\pfilled@ba=+\fi - \else\ifx\next@ba(% - \let\next@ba=\getkf@bapg \if@pfvba\global\let\pfilled@ba=+\fi - \else\ifx\next@ba*% + \@balocalpgon + \let\next@ba=\getk@bapg + \pfilled@baon + \else + \ifx\next@ba(% + \@balocalpgon + \let\next@ba=\getkf@bapg + \pfilled@baon + \else + \ifx\next@ba*% + \@balocalpgon + \if@baouter\else %% new in 2.5 + \type@bawarn{Your * is at the end of an INNER cmd}% + \typeout@ba{ \space\space Use *[PageNum] or *(FolioNum) only at the end of OUTER BibArts cmds.}\fi \let\next@ba=\xk@bapg - \else\ifx\next@ba|% - \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi - \let\next@ba=\getvolno@ba \if@pfvba\global\let\onlypevo@ba=+\fi - \fi \if@pfvba\global\let\pevofilled@ba=+\fi - \else\ifx\next@ba_% - \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi - \let\next@ba=\getperno@ba \if@pfvba\global\let\onlypevo@ba=+\fi - \fi \if@pfvba\global\let\pevofilled@ba=+\fi \else - \if@pfvba - \ifx\isibidem@ba+\ifx\pfilled@ba+% - \lessinfoerror@ba{page/folio}{[n]- or (n)}{\pref@ba}{\notprintlongpagefolio}{document}% - \ifx\lockpevo@ba-% - \fillvolmem@ba{}% - \global\let\pevofilled@ba=-% - \fi - \fi\fi - \fillpmem@ba{}{}% - \global\let\pfilled@ba=-% - \ifx\next@ba.% + \ifx\next@ba|% + \@balocalvolon + \@bapglocktrue + \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi + \let\next@ba=\getvolno@ba \if@pfvba\global\let\onlypevo@ba=+\fi + \fi + \pevofilled@baon + \else + \ifx\next@ba_% + \@balocalvolon + \@bapglocktrue + \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi + \let\next@ba=\getperno@ba \if@pfvba\global\let\onlypevo@ba=+\fi + \fi + \pevofilled@baon + \else + %%% + %% new in 2.5 + \if@pfvba + \if@footnote %% new in 2.5 + \ifx\isibidem@ba+% + \ifx\pfilled@ba+% + \if@baouter %% new in 2.5 + \lessouterinfoerr@ba{page/folio}{[n]- or (n)}{\pref@ba}{\notprintlongpagefolio}{document}% + \fi + \ifx\lockpevo@ba-% + \fillvolmem@ba{}% + \global\let\pevofilled@ba=-% + \fi + \fi + \fi + %% 2.5: Simple \fillpmem@ba{}{} changed into + \if@baouter + \fillpref@ba{}{}% + \else + \fillpmem@ba{}{}% + \fi + \global\let\pfilled@ba=-% + \fi + \fi + %%% + \if@pfvba + \ifx\next@ba.% + \ifx\isibidem@ba+% + \ifx\onlypevo@ba-% + \if@ibidhp\let\next@ba=\relax\spacefactorMMM@ba\fi + \fi + \fi + \else + \spacefactorM@ba \@bastrut + \ifx\onlypevo@ba-\if@baouter\else\ifx\isibidem@ba+\if@ibidhp\@bahasdot\fi\fi\fi\fi %% new in 2.5 + \fi + \fi + %%% + \fi\fi\fi\fi\fi + %%% ONLY SCREEN-MESSAGES MAY FOLLOW HERE: + %% new in 2.5 + \if@pfvba\if@footnote + \if@baouter + \else + \if@balocalvol\global\let\@bainnernewvol=+% + \else\ifx\isibidem@ba-% + \global\let\@bainnernewvol=-% + \fi \fi + \if@balocalpg \global\let\@bainnernewpg=+% + \else\ifx\isibidem@ba-% + \global\let\@bainnernewpg=-% + \fi \fi \ifx\isibidem@ba+% - \ifx\onlypevo@ba-% - \if@ibidhp\let\next@ba=\relax\spacefactorMMM@ba\fi - \fi + \if@balocalvol + \else + \ifx\@bainnernewvol+% + \lessinnerinfoerr@ba{|n| or _n_}% + \fi + \fi + \if@balocalpg + \else + \ifx\@bainnernewpg+% + \if@bapglock + \else + \lessinnerinfoerr@ba{[n] or (n)}% + \fi + \fi + \fi \fi - \else - \spacefactorM@ba \@bastrut - \fi - \fi\fi\fi\fi\fi\fi + \fi + \fi\fi + %%% \pknext@ba} %% ||__ %% \def\bk@bapg{\afterassignment\getbkch@bapg\let\next@ba= } @@ -1894,7 +2072,8 @@ ^^J \space when you fix the problem later: \space Type a full-cited title as {a3}, ^^J \space OR set `*'-option, and type supplements and a full title as *{op}{a3}}}}} -\def\Check@ObligatoryLastvArg#1[#2]#3#4*#5#6{\csname @#1\endcsname[#2]{#3}{#4}*{#5}{#6\@leer}\pvcheck@ba} +\def\Check@ObligatoryLastvArg#1[#2]#3#4*#5#6{\csname @#1\endcsname[#2]{#3}{#4}*{#5}{#6}\pvcheck@ba} + %% {#6\@leer} changed into {#6} in 2.5 %% @@ -1936,8 +2115,8 @@ \typeout@ba{ \space <H><return> \space for immediate help, ^^J \space <return> \space\space\space\space to continue.}} -\def\command@misplace#1{\type@bawarn{\string#1\space was ignored: - ^^J\space\space\space\space You've used it outside the args of ....li, ....qu, ...per, or ...arq}} +\def\command@misplace#1{\type@bawarn{\string#1\space was ignored: You've used it + ^^J\space\space\space\space outside the args of ....li, ....qu, ...per, or ...arq}} \def\@qqerrhlp#1{\errhelp{% ^^JTeX reports errors by SETTING UP in quoting your text - AFTER the error. @@ -2649,13 +2828,6 @@ \def\sort##1{}% } -\def\@reprintkfunctions{% %% if bibsort is not used %% - \def\onlyhere##1{}% - \def\onlyout##1{##1}% - \def\onlyvoll##1{}% - \def\onlykurz##1{##1}% -} - \def\language@barep#1#2{% \ifnum\language=#1% @@ -2697,16 +2869,17 @@ \gdef\bacorr{}% \item{}\@printvname{#1}{\listlnfnsep}{#2}{1}{1}% \if@baaddx\@printoptarg{#3}{\nsep}\else\@printoptarg{#3}{}\fi - {\reprint@batrue \@printlastarg{#4}{}}\if@banonum{\fromnopagevxxsep}\fi\@reportbaupfalse\ignorespaces} + {\reprint@batrue \@printlastarg{#4}{}{}}\if@banonum{\fromnopagevxxsep}\fi\@reportbaupfalse\ignorespaces} -\def\@vkcitentry#1#2#3#4#5#6[#7][#8](#9){\@reprintkfunctions +\def\@vkcitentry#1#2#3#4#5#6[#7][#8](#9){\@reprintIfunctions + %% \@reprintkfunctions changed to \@reprintIfunctions in 2.5 \addxadd@ba#5\relax\relax\relax \language@barep{#8}{#9}% \activech@barep{#7}{#9}% \makeXcorrcmd@ba{\kxxemph}{\bacorr}% \item{}\@printkname{#1}{1}% \if@baaddx\@printoptarg{#2}{\nsep}\else\@printoptarg{#2}{}\fi - \@printlastarg{#3}{\kxxemph}\@initprinthint{#4}% + \@printlastarg{#3}{}{\kxxemph}\@initprinthint{#4}% \if@banonum{\fromnopagevkcsep}\fi \@reportbaupfalse\ignorespaces} @@ -2821,11 +2994,23 @@ %%% \sloppy\begin{description} \listparm@ba\relax + \gdef\@bibsortvers{[OLD]}% \@input{\jobname.#1} - \def\@noitemerr{\info@emptyba{#1}} - \end{description}\fussy}\message{\string>\string> }} + \def\@noitemerr{\info@emptyba{#1}\gdef\@bibsortvers{-}} + \end{description}\fussy}\checkversion@ba{#1}\message{\string>\string> }} +\def\getversuf@ba#1{{\def\@testa{vli}\def\@testb{vqu}\def\@testc{vkc}\def\@testd{#1}% + \ifx\@testd\@testa\typeversion@ba\fi + \ifx\@testd\@testb\typeversion@ba\fi + \ifx\@testd\@testc\typeversion@ba\fi}} +\def\typeversion@ba{{\def\@testa{[OLD]}% + \ifx\@bibsortvers\@testa\type@bawarn{Input file created by outdated bibsort}\fi + \typeout@ba{ \space Version of bibsort is \ifx\@bibsortvers\@testa older than \else \@bibsortvers\space instead \fi 2.5 (version of bibarts.sty).}}} + +\def\checkversion@ba#1{{\def\@testa{2.5}\def\@testb{-}% %% new in 2.5 + \ifx\@bibsortvers\@testa\else\ifx\@bibsortvers\@testb\else + \getversuf@ba{#1}\fi\fi}} \def\@hereUfunctions{% \def\par{}% @@ -3041,6 +3226,7 @@ \def\SS{{SS}}% %% \ \def\aa{{\r{a}}}% %% > avoid [T1] errors \def\AA{{\r{A}}}% %% / + \def\onlybakey{}% %% new in 2.5 (add arg to keyword) \ifba@varstring \@bains@labtrue \getnext@baA#1\endlist@ba \@bains@labtrue \getnext@baB#2\endlist@ba \@bains@labtrue @@ -3142,8 +3328,9 @@ \ifx ~\next@ba \else\ifx :\next@ba \else\ifx ;\next@ba \else\ifx !\next@ba \else \ifx ?\next@ba \else\ifx `\next@ba \else\ifx '\next@ba \else \ifx <\next@ba \else\ifx >\next@ba \else - \ifcat 1\next@ba \csname savn@bavar#1\endcsname - \else \sonderz@banext{#1}% + %% \relax new in 2.5 to reduce errmsgs from \cmd{arg}: %% + \ifcat 1\next@ba \relax \csname savn@bavar#1\endcsname + \else \sonderz@banext{#1}% \fi \fi\fi \fi\fi\fi @@ -3154,16 +3341,24 @@ \fi\fi\fi\fi}% } +%% Ignore first arg of: \onlyvoll, \onlyout, \vauthor, \midvauthor, +%% and new in 2.5: \starktit, \vollout, \vollhere, \sechere, \sort: \def\analyselabeltext@ba#1{% - \expandafter\ifx \csname next@ba\endcsname\relax\else - \ifx \onlyvoll\next@ba \@bains@labfalse \count@ba0 \else - \ifx \onlyout \next@ba \@bains@labfalse \count@ba0 \else - \ifx \vauthor \next@ba \@bains@labfalse \count@ba0 \else - \ifx \midvauthor \next@ba \@bains@labfalse \count@ba0 - \fi\fi\fi\fi + \expandafter\ifx \csname next@ba\endcsname\relax \else + \ifx \onlyvoll \next@ba \@bains@labfalse \count@ba0 \else + \ifx \onlyout \next@ba \@bains@labfalse \count@ba0 \else + \ifx \vauthor \next@ba \@bains@labfalse \count@ba0 \else + \ifx \midvauthor \next@ba \@bains@labfalse \count@ba0 \else + \ifx \starktit \next@ba \@bains@labfalse \count@ba0 \else + \ifx \vollout \next@ba \@bains@labfalse \count@ba0 \else + \ifx \vollhere \next@ba \@bains@labfalse \count@ba0 \else + \ifx \sechere \next@ba \@bains@labfalse \count@ba0 \else + \ifx \sort \next@ba \@bains@labfalse \count@ba0 + \fi\fi\fi\fi\fi\fi\fi\fi\fi \if@bains@lab - \ifcat A\next@ba \csname savn@bavar#1\endcsname - \else \prepnumplussonder@ba{#1}% + %% \relax new in 2.5 to reduce errmsgs from \cmd{arg}: %% + \ifcat A\next@ba \relax \csname savn@bavar#1\endcsname + \else \prepnumplussonder@ba{#1}% \fi \else \ifx \bgroup\next@ba \advance\count@ba by 1 \else @@ -3960,7 +4155,7 @@ \def\addtobib{\addtoarq{}} \newif\if@oldba\@oldbafalse \def\makebar{\typeout@ba{ \space ***** \space That is obviously a file based on BibArts 1.x \space ***** - ^^J \space ***** \space BibArts 2.4 starts compatibility mode for 1.3 \space *****}% + ^^J \space ***** \space BibArts 2.5 starts compatibility mode for 1.3 \space *****}% \def\bibarts{\BibArts}% \def\schrift{}% \def\barschrift{}% diff --git a/macros/latex/contrib/bibarts/bibarts.tex b/macros/latex/contrib/bibarts/bibarts.tex index deed6c30d7..eaa2f92989 100644 --- a/macros/latex/contrib/bibarts/bibarts.tex +++ b/macros/latex/contrib/bibarts/bibarts.tex @@ -1,5 +1,5 @@ -%% BibArts 2.4 assists you to write LaTeX texts in arts and humanities. -%% Copyright (C) 2022 Timo Baumann bibarts[at]gmx.de (2022/01/10) +%% BibArts 2.5 assists you to write LaTeX texts in arts and humanities. +%% Copyright (C) 2022b Timo Baumann bibarts[at]gmx.de (2022/10/01) %%% LaTeX + "bibsort -i bibarts -m -utf8 -k -e -g1 -h" + LaTeX %%% @@ -21,7 +21,7 @@ \setlength{\footnotesep}{2ex} %% ... wie in bibarts.sty 2.0; siehe README.txt. %% - \usepackage[utf8]{inputenc} %% bibarts.tex, Vers. 2.4, enthaelt utf8-Zeichen. %% + \usepackage[utf8]{inputenc} %% bibarts.tex, Vers. 2.5, enthaelt utf8-Zeichen. %% \usepackage[T1]{fontenc} %% Automatische Trennung von Worten mit Umlauten. %% @@ -34,7 +34,7 @@ %\allprrtrue %% <= Prozent am Zeilenanfang auf Wunsch entfernen; -%% mit \allprrtrue kommen ALLE utf8-Zeichen, die bibsort 2.4 kennt, +%% mit \allprrtrue kommen ALLE utf8-Zeichen, die bibsort 2.5 kennt, %% in "Das Personenregister als Beispiel f"ur das Sortieren" (Kap. 18). @@ -44,14 +44,16 @@ \author{\scshape{Timo Baumann}} - \date{\small Version 2.4 (2022). \hspace{.5em}\copyright\ 2.x (2022, 2021, 2019, 2016, 2015). - \hspace{.5em}\textbf{Inhalt S.\,\pageref{SectIn}}.} + \date{\small {Version 2.5 (2022b).} + \hspace{2.25em} {\copyright\ 2.x (2015$-$2022).} + \hspace{2em} {\textbf{Inhalt siehe S.\,\pageref{SectIn}}.}} %% Trennhilfen hier sind teilweise heute nicht mehr noetig ... %% \hyphenation{Stern-ar-gu-ment Voll-ein-trag +Band-an-ga-be Satz-ende Nach-kom-ma-stel-len De-zi-mal-zah-len-er-ken-nung @@ -97,10 +99,9 @@ Zei-len-um-bruch \maketitle \noindent - \BibArts\ soll \LaTeX\hy Anwender beim Schreiben geisteswissenschaftlicher - Texte unterst"utzen (\kern-.05em\textit{arts faculty}). Der Vorspann eines deutschen - \LaTeX\hy Textdokuments, das das Stylefile \verb|bibarts.sty| einl"adt, - sieht typischerweise so aus: + \BibArts\ verfolgt die Idee, geisteswissenschaftliche Belegapparate direkt aus dem + Text zu erzeugen (\textit{Bibliography in the Arts}). Der Vorspann eines deutschen + \LaTeX\hy Textdokuments, das \texttt{bibarts.sty} einl"adt, sieht typischerweise so aus: \vspace{-1.5ex} {\small\begin{verbatim} @@ -123,11 +124,11 @@ Zei-len-um-bruch \hspace{.05em}markiert werden. \hspace{.025em}Und f"ur \BibArts\ gilt: \Doppelbox - {...\bs footnote\{Ein Beispiel für Geschichtsliteratur ist + {...\bs footnote\{Ein Beispiel f"ur Geschichtsliteratur ist \bs vli\{Hans-Ulrich\}\{Wehler\}\{Das Deutsche Kaiserreich, \\ Göttingen 1994\}.\} } - {Einfaches Vollzitat.\footnote{Ein Beispiel für Geschichtsliteratur ist + {Minimale volle Literaturangabe.\footnote{Ein Beispiel f"ur Geschichtsliteratur ist \vli{Hans-Ulrich}{Wehler}{Das Deutsche Kaiserreich, Göttingen 1994}.} } @@ -141,7 +142,7 @@ verwendeter Kurztitel so einf"uhren: \bs vli\{Niklas\} \{Luhmann\} \{\bs ktit\{Soziale Systeme\}. \\ Grundriß einer allgemeinen Theorie, 1984: Frankfurt/M.\}.\} } -{Vollwertiges Vollzitat.\footnote{Soziologie: +{Erweiterte volle Literaturangabe.\footnote{Soziologie: \vli{Niklas} {Luhmann} {\ktit{Soziale Systeme}. Grundriß einer allgemeinen Theorie, 1984: Frankfurt/M.}.\balabel{luhmann}} } @@ -164,21 +165,21 @@ nichts mit \textsc{Bib}\TeX\ zu tun:\pdfko{.25} \vspace{-.5ex} \begin{verbatim} - bibsort -g1 -k -utf8 meintext + bibsort -g1 -k -utf8 meintext \end{verbatim} \vspace{-3.25ex}\noindent in die Kommandozeile einzugeben. Dann liest \verb|bibsort| die mit - \verb|\vli|\hy Literaturangaben bef"ullte Datei \verb|meintext.aux| ein, + \verb|\vli|\hy Literaturangaben bef"ullte Datei \hspace{.125em}\verb|meintext.aux| \hspace{.1em}ein, sortiert die Vollzitate "uber die Option \verb|-g1| \hspace{.1em}nach deutschen Sortierregeln und legt das Ergebnis ab in einer Datei - \verb|meintext.vli|, die im Text mit \verb|\printvli| bei der zweiten + \hspace{.1em}\verb|meintext.vli|, die im Text mit \verb|\printvli| bei der zweiten \LaTeX\hy "Ubersetzung ausgedruckt wird. Die Option \verb|-k| \hspace{.2em}bewirkt, dass \textit{ein} Autor (Vor- und Nachname gleich), der mit mehreren Werken zitiert wird, ab seiner zweiten Nennung auf der Literaturliste als $\sim$ erscheint. \verb|-utf8| \hspace{.2em}sortiert - UTF8\hy Zeichen analog zu \verb|utf8enc.dfu| 2021/06/21 v1.2n - (\kern-.05em\textit{ohne} \verb|\cyr|...\ und \verb|\CYR|...\hy Zeichen). + UTF8\hy Zeichen analog zu \verb|utf8enc.dfu| \hspace{.05em}{\small 2022/06/07} \hspace{.05em}v1.3c + (\kern-.075em\textit{ohne} \verb|\cyr|...\ und \verb|\CYR|...\hy Zeichen). \vspace{1ex}\noindent Viele Texteditoren k"onnen den Start automatisieren. Falls sich die Datei @@ -204,7 +205,7 @@ nichts mit \textsc{Bib}\TeX\ zu tun:\pdfko{.25} Falls in Vollzitaten der Kurztitel mit \verb|\ktit| markiert ist, erscheint das Kurzzitat (Nachname plus Kurztitel) also im Verzeichnis. Um \verb|\printvli| zu nutzen, m"ussen Sie \verb|\ktit| also nicht verwenden - $-$ aber dazu, \verb|\printnumvkc| zu\pdfko{.5}\ + $-$ aber dazu, \verb|\printnumvkc| zu\pdfko{.25}\ bef"ullen. Dahinter folgten Orte mit `echten' Kurzzitaten; dazu gleich unten. Anwender, die das [L] $-$\,hei"st: \textit{Volltitel findet sich auf der @@ -241,10 +242,10 @@ nichts mit \textsc{Bib}\TeX\ zu tun:\pdfko{.25} \end{verbatim}} \vspace{-2ex}\noindent - Die Kontrolle macht \BibArts\ mittels der Daten f"ur die \hspace{-.2em}\verb|.vkc|\hy Datei: - (1)~Nachnamen\hy Argument und Argument von\hspace{-.1em} \verb|\ktit|\hspace{.1em} aus \underline{v\ko}\hy - Belegen, (2)~Namen- und Kurztitel\hy Argument aus \underline{k}\hy Belegen. - Die\hspace{-.2em} \verb|.vkc|\hy Datei, die `\ko\textit{\underline{c}ites}' + Die Kontrolle macht \BibArts\ mittels der Daten f"ur die \hspace{-.175em}\texttt{.\ko vkc}\hy Datei: + \hspace{.1em}(1)~Nachnamen\hy Argument und Argument von\hspace{-.1em} \verb|\ktit|\hspace{.1em} aus \underline{v\ko}\hy + Belegen, \hspace{.1em}(2)~Namen- und Kurztitel\hy Argument aus \underline{k}\hy Belegen. + Die \hspace{-.175em}\texttt{.\ko vkc}\hy Datei, die `\ko\textit{\underline{c}ites}' von Literatur \textit{und} gedruckten Quellen enth"alt, wurde oben mit \verb|\printnumvkc| ausgedruckt. @@ -255,7 +256,8 @@ nichts mit \textsc{Bib}\TeX\ zu tun:\pdfko{.25} \Doppelbox {...\bs footnote\{\bs kqu\{Clausewitz\} \\ \hspace{2em} \{Vom Kriege\}.\} - \ Aber ... \\ + \ Aber ... + \\[.5ex] ...\bs footnote \b{\b{\{}}Siehe dazu weiter \\ \hspace{.5em} \bs vqu \{Carl von\} \{Clausewitz\} @@ -281,9 +283,9 @@ nichts mit \textsc{Bib}\TeX\ zu tun:\pdfko{.25} \end{verbatim}} %% Zeilenangaben nur ausserhalb \Doppelbox brauchbar %% \vspace{-2.75ex}\noindent - Die mehrfache Vergabe \textit{gleicher} Kurzzitate ... \footnote{\vqu{Carl + Mehrfaches Vollzitieren (mehrfache Vergabe \textit{eines} Kurzzitats) ... \footnote{\vqu{Carl von}{Clausewitz}{\ktit{Vom Kriege}. Hinterlassenes Werk, 3.\,Auf"|l.\ - Frankfurt/M 1991}.} ... ergibt solche Warnungen + Frankfurt/M 1991}.} ... ergibt (der Vergleich ist f"ur \textit{aktive} \verb|"| sensitiv und \verb|!"| k"undigt deren Vorkommen an): @@ -297,7 +299,7 @@ nichts mit \textsc{Bib}\TeX\ zu tun:\pdfko{.25} \vspace{-2.75ex}\noindent Falls Sie in direkt aufeinanderfolgenden Fu"snoten \textit{verschiedene} Werke von \textit{einem} Autor zitieren, erscheint im - \LaTeX\kern.05em-\hspace{-.05em}\verb|.log|\kern.05em\hy File und auf dem + \LaTeX\hy\hspace{-.1em}\texttt{.\ko log}\kern.05em\hy File und auf dem Bildschirm:\balabel{DERS}% % Meldung ...vqu-cmd in 2.3 geaendert in ...vqu @@ -347,118 +349,112 @@ als~...\kern.15em.\footnote{\kqu{Clausewitz}{Strategie}[60]. \BibArts\ druckt in Fu"snote\,\ref{ErsterFall} nur den Abk"urzungspunkt von \textsc{ebd.}, nicht aber den direkt folgenden Punkt am Satzende. Dies funktioniert nur, -wenn zwischen \verb|[|\textit{Seitenzahl}\verb|]| und \verb|.| +wenn zwischen \verb|[|\textit{Seitenzahl}\verb|]| und \hspace{-.05em}\verb|.| \textit{keine Klammern oder Leerzeichen} stehen ...\footnote{\textbf{\kqu{Clausewitz}{Strategie}[60]}. \hspace{5.43em} $\Leftarrow$ \ \texttt{\bs textbf\b{\{}\bs kqu\{Clausewitz\}\{Strategie\}[60]\b{\}}. \texttt{ \%falsch}}}\kern.075em! Ein automatisches Ebenda\hy Setzen f"uhrt \BibArts\ in einer Fu"snote nicht durch, -wenn in der vorausgehenden Fu"snote zwei verschiedene Werke angegeben sind +falls in der vorausgehenden Fu"snote zwei verschiedene Werke angegeben sind (weil dies nicht eindeutig w"are): \hspace{.1em}...\footnote{\kqu[m]{Clausewitz}{Strategie}[60] und \kqu[m]{Clausewitz}{Vom Kriege}. \hspace{3em} \texttt{\%\% Ein Autor mit zwei Werken. \%\%}} $\leftarrow$ \footnote{\kqu[m]{Clausewitz}{Strategie}[12]. \hspace{3.85em} $\Leftarrow$ \ \texttt{\bs kqu[m]\{Clausewitz\}\{Strategie\}[12].}} -... Mit \verb|\notibidemize| l"asst sich das automatische Ebenda\hy Setzen ausschalten -(nicht demonstriert). +... Mit \verb|\notibidemize|\pdfko{.25}\ +l"asst sich das automatische Ebenda\hy Setzen ausschalten \baref[demonstriert]{notibidemize}. + +Das automatische \textsc{ebd.}\hy Setzen f"uhrt \BibArts\ nur von +Fu"snote zu Fu"snote durch, nicht im Haupttext. Nie in \textsc{ebd.} +\hspace{-.05em}umgewandelt werden v\fhy Befehle. In jedem Fall ist sinnvoll, im letzten Argument eines v\fhy Befehls einen Teil des Volltitels mittels \hspace{-.1em}\verb|\ktit| als Kurztitel zu -markieren: Dies bewirkt einerseits den Eintrag ins \hspace{-.25em}\verb|.vkc|\hy Verzeichnis +markieren: Dies bewirkt einerseits den Eintrag ins \hspace{-.175em}\texttt{.\ko vkc}\hy Verzeichnis und erm"oglicht \texttt{bibsort} parallel die Kontrolle, ob beim Erstzitieren stets vollzitiert wurde. Andererseits kann nur dann ein k\fhy Befehl in der folgenden Fu"snote als \textsc{ebd.} ausgedruckt werden. \BibArts\ erzwingt aber keine Verwendung von \hspace{-.1em}\verb|\ktit| in normalen v\fhy Befehlen, denn sicherlich wollen manche Anwender die k\hy Befehle -\hspace{-.1em}\verb|\kli| und \hspace{-.075em}\verb|\kqu|\pdfko{.5}\ +\hspace{-.1em}\verb|\kli| und \hspace{-.075em}\verb|\kqu|\pdfko{.25}\ "uberhaupt nicht benutzen.\footnote{Das -unten eingef"uhrte Setzen von \hspace{-.1em}\textit{`inneren' v\fhy Befehlen} (im letzten Argument -eines \hspace{-.1em}\textit{`"au\hyss eren' v\fhy Befehls}) ist dann allerdings nicht m"oglich; -\hspace{-.1em}\textit{`innere\kern-.075em' v\fhy Befehle} m"ussen immer ein \texttt{\bs ktit} haben. -Das liegt daran, dass auf den v\fhy Listen \hspace{-.1em}\textit{`innere\kern-.075em' v\fhy Befehle} -als Kurztitel ausgedruckt werden; der \hspace{-.1em}\textit{`innere\kern-.075em' v\fhy Befehl} -erh"alt automatisch seinen eigenen v\fhy Listenpunkt! Falls Sie \textit{beides} nicht wollen, k"onnen -Sie \hspace{-.1em}\textit{`innen'} \texttt{\bs ntvauthor} verwenden (siehe unten S.\,\pageref{ntvauthor}).} -Seit \BibArts~2.2 setzt \texttt{bibsort} "ubrigens Meldungen als Kommentare -in den erzeugten Dateien \hspace{-.25em}\verb|.vli| und -\hspace{-.2em}\verb|.vqu|\kern.05em, falls \hspace{-.075em}\verb|\ktit| -gelegentlich verwendet und gelegentlich vergessen -wurde.\footnote{Im \hspace{-.15em}\texttt{.vli}\hy File -etwa bei \hspace{.075em}\texttt{Wehler}: \hspace{.225em}\abra{...} -\hspace{.1em}\texttt{No} \texttt{\bs ktit} \texttt{in} \texttt{arg} \texttt{4} -\texttt{(other} \texttt{entries} \texttt{have} \texttt{\bs ktit).}} - -Das Weglassen von \hspace{-.05em}\verb|\ktit| ist aber keine gute Methode, im Ausdruck von +unten eingef"uhrte Setzen von \hspace{-.1em}\textit{`\kern.05em inneren' v\fhy Befehlen} (ins letzte Argument +eines \hspace{-.1em}\textit{`"au\hyss eren' v\fhy Befehls}) ohne \texttt{\bs ktit} ist nicht m"oglich; +\hspace{-.1em}\textit{`\kern.05em innere\kern-.075em' v\fhy Befehle} m"ussen ein \texttt{\bs ktit} haben! +Statt \textit{`\kern.05em innerer' v\fhy Befehle} k"onnen +Sie \texttt{\bs ntvauthor} verwenden (siehe unten S.\,\pageref{ntvauthor}).} +Falls Sie \hspace{-.075em}\verb|\ktit| dagegen uneinheitlich verwenden, +warnt \texttt{bibsort} summarisch auf dem Bildschirm und setzt (in Version 2.5 \balabel{angepasste} angepasste) Kommentare +bei den Eintr"agen in die Dateien \hspace{-.175em}\texttt{.\ko vli} und +\hspace{-.15em}\texttt{.\ko vqu}\kern.05em.\footnote{Im \hspace{-.175em}\texttt{.\ko vli}\hy File +etwa bei \hspace{.075em}\texttt{Wehler}: +\hspace{.5em}\texttt{\%\% \string<- Warning *outer v-cmd*: \bs ktit not used (or is masked)\string; +most other entries use arg 4 (reported No. 1).} +$-$ Dabei ist mit \hspace{.05em}\texttt{masked} \hspace{.05em}gemeint, dass \hspace{-.05em}\texttt{\bs ktit} im Argument von +\hspace{-.05em}\texttt{\bs onlyhere} oder \hspace{-.05em}\texttt{\bs onlykurz} steht.\pdfko{.25}\ +\texttt{\bs ktit} aber ins Argument eines +Befehls wie \hspace{-.05em}\texttt{\bs textbf} zu setzen, ist seit Version 2.5 erlaubt!} + +Das Weglassen von \hspace{-.05em}\verb|\ktit| ist allerdings keine gute Methode, im Ausdruck von Vollzitaten die\hspace{.15em} {\footnotesize im Folgenden \hspace{-.075em}\fabra{...}}\kern.15em\hy Ank"undigung \hspace{.1em}(wie nachfolgend kurzzitiert werden wird) auszuschalten. Dazu dient vielmehr \verb|\notannouncektit|, das im Dokumentenvorspann \textit{global} gesetzt werden kann. Das Beispiel zeigt, -wie es \textit{lokal} $-$\,also zusammen mit dem v\fhy Befehl eingeklammert\,$-$ zu +wie es {\small\texttt{\b{\b{\{}}}\kern.025em\textit{lokal}\kern.075em\texttt{\b{\b{\}}}}} +$-$\,also zusammen mit dem v\fhy Befehl eingeklammert\,$-$ zu setzen ist:\footnote{Das lokale Setzen eines v\fhy Befehls unter \texttt{\bs notannouncektit} scheint zwar naheliegend, falls ein Werk nur einmal pro Text angef"uhrt wird. Aber falls Sie sp"ater \textit{dasselbe} Werk doch noch kurzzitieren sollten, macht \BibArts\ keine Meldung, dass -\textit{der} Kurztitel \textit{im Text}\pdfko{.01}\ +\textit{der} Kurztitel \textit{im Text}\pdfko{0}\ nicht vorangek"undigt wurde: \hspace{.025em}\texttt{bibsort} wei"s von Ihrem \texttt{\bs notannouncektit} nicht~(nie!).} +\vspace{-.75ex} \Doppelbox {... \bs vli\{Niklas\}\{Luhmann\} \\ \{\bs ktit\{Soziale Systeme\}. \\ \ Grundriß einer allgemeinen - \\ \ Theorie, 1984: Frankfurt/M.\} - \\[1.25ex] - Unannonciert: + \\ \ Theorie, 1984: Frankfurt/M.\}. + \\[4.5ex] \b{\b{\{}}\bs notannouncektit - \bs vli\{Niklas\}\{Luhmann\} \b{\{}\bs ktit\{Soziale Systeme\}. + \\ ... \bs vli\{Niklas\}\{Luhmann\} \b{\{}\bs ktit\{Soziale Systeme\}. \\ \ Grundriß einer allgemeinen - \\ \ Theorie, 1984: Frankfurt/M.\b{\}}\b{\b{\}}} - \\[.75ex] \%\% Zu \}. siehe unten S.\pageref{v-Ausnahme}! \%\% + \\ \ Theorie, 1984: Frankfurt/M.\b{\}}.\b{\b{\}}} } -{\vspace{.375ex} +{\vspace{.25ex} Annonciert: \vli{Niklas}{Luhmann} {\ktit{Soziale Systeme}. - Grundriß einer allgemeinen Theorie, 1984: Frankfurt/M.} + Grundriß einer allgemeinen Theorie, 1984: Frankfurt/M.}. \\[4.6ex] Unannonciert: {\notannouncektit \vli{Niklas}{Luhmann} {\ktit{Soziale Systeme}. Grundriß einer allgemeinen - Theorie, 1984: Frankfurt/M.}} -} + Theorie, 1984: Frankfurt/M.}.} +}% -\vspace{.5ex}\noindent +\noindent Beide \verb|\vli|\hy Befehle ergeben $-$\,weil beide ein \verb|\ktit| haben\,$-$ -auch Eintr"age in die \hspace{-.175em}\verb|.vkc|\hy Datei \hspace{.1em}(die +auch Eintr"age in die \hspace{-.125em}\texttt{.\ko vkc}\hy Datei \hspace{.1em}(die \hspace{.05em}{\small\balistnumemph\thepage} \hspace{.05em}hinter \hspace{.05em}{\small\printonlykli{Luhmann}{Soziale Systeme}} \hspace{.1em}in der Liste S.\,\pageref{vkc}). -\vspace{1ex}\noindent -Das automatische \textsc{ebd.}\hy Setzen f"uhrt \BibArts\ nur von -Fu"snote zu Fu"snote durch, nicht im Haupttext. Nie in \textsc{ebd.} -\hspace{-.05em}umgewandelt werden v\fhy Befehle. - \vspace{1ex}\noindent Auch f"ur den Texttyp \textbf{Aufsatz} $-$\,gemeint ist: falls \verb|\printvli| nicht verwendet wird\,$-$ ist das Setzen von \hspace{-.1em}\verb|\ktit| stets sinnvoll. Dann l"asst sind n"amlich beim Kurzzitat ein Querverweis auf das Vollzitat ausdrucken, um auf die vollst"andigen bibliographischen -Angaben hinzuweisen. Eingeschaltet wird dies mit \verb|\conferize|\kern.05em. Dieser Befehl -sollte global gelten, also im Vorspann von -\LaTeX\hy Textdateien gesetzt werden.\footnote{Dies hat nichts -damit zu tun, ob f"ur den \LaTeX\hy Text der Dokumentenstil \texttt{\{article\}} -oder \texttt{\{book\}} gew"ahlt wird. Vielmehr sind die Auswahl des -Dokumentenstils und das Setzen von \texttt{\bs conferize} zwei voneinander -unabh"angige Entscheidungen. $-$ Studentische Hausarbeiten werden zwar oft -als Aufs"atze bezeichnet, sollen aber meist eine Literaturliste haben.} -Die Nummern der folgenden Fu"snoten \ref{vz} und \ref{fz} erscheinen auch bei \textsc{Luhmann} im -Kurzzitateverzeichnis Seite\nobreak\hspace{.25em}\pageref{vkc}\pdfko{.25}\ -(das \hspace{.05em}f"ur Kontrollen auch im \verb|\conferize|\kern.1em\hy Modus -\hspace{.05em}ausgedruckt werden kann): +Angaben hinzuweisen. Eingeschaltet wird dies mit \verb|\conferize|\kern.05em.\footnote{Dies hat nichts +mit der Auswahl des Dokumentenstils \texttt{\{article\}} oder \texttt{\{book\}} zu tun.} Dieser Befehl +sollte global gelten, also im Vorspann von \LaTeX\hy Textdateien gesetzt werden. +Die Nummern der folgenden Fu"snoten \ref{vz} und \ref{fz} erscheinen unter \textsc{Luhmann} auch im +Kurzzitateverzeichnis Seite \hspace{-.075em}\pageref{vkc} \hspace{.05em}(das +im \hspace{-.025em}\verb|\conferize|\kern.125em\hy Modus f"ur Kontrollen ausgedruckt werden kann): -\vspace{.25ex} +\vspace{-.75ex} \Doppelbox {\vspace{1.25ex} \bs conferize\ ...\bs footnote\b{\{} @@ -480,10 +476,17 @@ Kurzzitateverzeichnis Seite\nobreak\hspace{.25em}\pageref{vkc}\pdfko{.25}\ ...\footnote{\label{fz}Kurzzitat: \kli{Luhmann} {Soziale Systeme}[23\f].} } -\vspace{.25em}\noindent -Dies funktioniert sogar, falls \LaTeX\hy Befehle in den Nachnamen- oder Kurztitel\hy Argumenten der -v- und k\fhy Befehle stehen. \BibArts\ kopiert aus dem Text, den Sie in diese Argumente tippen, -insbesondere Zeichen \verb|A| bis \verb|Z|\kern.025em, \verb|a| bis \verb|z| und \verb|0| bis 9\kern.05em, +\vspace{-.125em}\noindent +Dies funktioniert sogar, falls in den Nachnamen- oder +Kurztitel\hy Argumenten der v- und k\fhy Belege \LaTeX\hy Befehle stehen.\footnote{Allerdings +sollten Sie \hspace{-.1em}\texttt{\bs newcommand}\kern.075em\hy Definitionen, die \hspace{-.05em}\texttt{\bs onlyvoll} oder \hspace{-.05em}\texttt{\bs onlyout} +\textit{enthalten}, +unter \hspace{-.1em}\texttt{\bs conferize} \textit{nicht} verwenden. Wie \hspace{-.05em}\texttt{\bs onlyvoll} \hspace{.05em}und \texttt{\bs onlyout} d"urfen Sie +zudem \hspace{-.05em}\texttt{\bs starktit} \baref{starktit}, \hspace{-.05em}\texttt{\bs vollhere}\kern.025em, \hspace{-.05em}\texttt{\bs vollout} \baref{vollout} +sowie \hspace{-.05em}\texttt{\bs sechere} \baref{sechere} nur \textit{direkt} antippen. +Dagegen sind \texttt{\bs onlykurz} und \texttt{\bs onlyhere} in Makros erlaubt.\balabel{conferizelimits}} +\BibArts\ kopiert aus dem Text, den Sie in diese Argumente tippen, +insbesondere Zeichen \verb|A| bis \verb|Z| \hspace{.025em}und \verb|a| bis \verb|z| \hspace{.1em}sowie \verb|0| bis \verb|9|, um das \textit{Schl"usselwort} f"ur die Marke automatisch zu erzeugen.\footnote{UTF8\hy Zeichen werden nicht "ubernommen. In den Marken fehlen ggf.\ Zeichen wie \texttt{ß}\pdfko{.5}\ und die Umlaute \texttt{ä}, \texttt{ö}, \texttt{ü}, \texttt{Ä}, \texttt{Ö}, \texttt{Ãœ}. @@ -495,7 +498,7 @@ wird bei der "Ubersetzung \hspace{.2em}{\texttt{LaTeX Warning:} \hspace{.2em}auf den Bildschirm ausgedruckt. Die beiden Namen w"aren dann als \hspace{.1em}\texttt{M\bs \string"uller} \hspace{.1em}und \hspace{.125em}\texttt{M\bs \string"oller} \hspace{.1em}zu tippen. -\BibArts\ bildet n"amlich einige Sonderzeichen bzw.\ Akzente im Schl"usselwort ab, etwa:\hspace{.8em} +\BibArts\ bildet n"amlich einige Sonderzeichen bzw\ko.\ Akzente im Schl"usselwort ab, etwa:\hspace{.8em} \texttt{\bs \string`}\nobreak\hspace{.25em}$\Rightarrow$\nobreak\hspace{.2em}\texttt{[}\hspace{.85em} \texttt{\bs \string'}\nobreak\hspace{.25em}$\Rightarrow$\nobreak\hspace{.2em}\texttt{]}\hspace{.8em} \texttt{\bs \string"}\nobreak\hspace{.25em}$\Rightarrow$\nobreak\hspace{.2em}\texttt{*}\hspace{.8em} @@ -514,12 +517,12 @@ Die beiden Namen w"aren dann als \hspace{.1em}\texttt{M\bs \string"uller} \{Die \bs ktit\{Reise\}, Verlagsstadt 2002\}}\hspace{.3em} die Querverweis\hy Marke \hspace{.325em}\texttt{\bs newlabel\{baf.M*uller..Reise\}\{\{{\normalfont -\textit{Fu"snote}}\}\{{\normalfont \textit{Seite}}\}\}}\hspace{.35em} ins\hspace{-.15em} \texttt{.aux}\hy File ab. +\textit{Fu"snote}}\}\{{\normalfont \textit{Seite}}\}\}}\hspace{.35em} ins \hspace{-.175em}\texttt{.aux}\hy File ab. $-$ Falls Sie mit \texttt{ngerman.sty} oder babel\hy ngermanb stattdessen \hspace{-.075em}\texttt{\string"u} tippen, wird \texttt{Muller}\pdfko{.325}\ automatisch erzeugt; dies unterschiede sich ebenfalls von einem mit \hspace{-.075em}\texttt{\string"o} erzeugten \texttt{Moller}.} Um bei Querverweisen in jedem Fall unabh"angig zu sein, steht zus"atzlich -das Befehlspaar \verb|\balabel| und \verb|\baref| bereit, um `von Hand' +das Befehlspaar \verb|\balabel{|\textit{Schl"usselwort}\verb|}| und \verb|\baref{|\textit{Schl"usselwort}\verb|}| bereit, um stets Marken setzen zu k"onnen, wie k\fhy Befehle es im \hspace{-.075em}\verb|\conferize|\hy Stil tun: \hspace{.05em}\verb|\baref| wei"s ebenfalls eigenst"andig, ob \verb|\balabel| in einer Fu"snote steht. Die \textit{Schl"usselworte} @@ -533,7 +536,7 @@ Befehle wie \texttt{\bs underline} \hspace{.05em}verboten.} M"uller \bs balabel\{Müller\} im Text.\bs footnote\b{\{}Maier in \\ \ Fu"snote.\bs balabel\{Maier\}\b{\}} - \\ ... M"uller ist nochmal erw"ahnt \bs baref\{Müller\} + \\[.25ex] ... M"uller ist nochmal erw"ahnt \bs baref\{Müller\} und Maier ebenfalls \bs baref[vgl.]\{Maier\}. } {M"uller \balabel{Müller} im @@ -544,18 +547,18 @@ Befehle wie \texttt{\bs underline} \hspace{.05em}verboten.} } \vspace{-.25ex}\noindent -\texttt{[}\textit{OptionalArg}\texttt{]} "uberschreibt das voreingestellte \textsf{siehe} -(\verb|\grefverbname|: S.\,\pageref{grefverbname}). +\texttt{[}\kern-.075em\textit{OptionalArg}\kern-.025em\texttt{]} "uberschreibt das voreingestellte \hspace{.15em}\textsf{siehe} +\hspace{.1em}(\verb|\grefverbname|: S.\,\pageref{grefverbname}). \vspace{1.5ex}\noindent -Nun zur"uck zu den v\fhy Befehlen. Bei der Auswahl eines Kurztitels aus -dem Volltitel mit \verb|\ktit| kann es vorkommen, dass -\textit{dort} der \textbf{Kurztitel mit einem Kleinbuchstaben} beginnt. \BibArts\ +Nun zur"uck zu den v\fhy Befehlen. Bei der Markierung des +\hspace{-.1em}\verb|\ktit{|\textit{Kurztitels}\verb|}| kann es vorkommen, dass +dort im Volltitel der \textbf{Kurztitel mit einem Kleinbuchstaben} beginnt. \BibArts\ erkennt die Verbindung mit sp"ater in k\fhy Befehlen gro"sgeschriebenen Kurztiteln mittels \hspace{-.05em}\verb|\onlyvoll| und \verb|\onlykurz|: -\vspace{-.325ex} +\vspace{-.5ex} \label{Ferguson}% \Doppelbox {\vspace{.75ex} @@ -564,9 +567,9 @@ Kurztiteln mittels \hspace{-.05em}\verb|\onlyvoll| und \verb|\onlykurz|: \\ \ \bs ktit\b{\{}\bs onlykurz\{F\}\% \\ \ \ \bs onlyvoll\{f\}alsche\bs onlykurz\{r\} \\ \ \ Krieg\b{\}}, München 2001\b{\b{\}}}[22].\} - ...\bs footnote\{\bs kli\{Ferguson\} + \\[.25ex] ...\bs footnote\{\bs kli\{Ferguson\} \\ \ \{Falscher Krieg\}[23].\} - ...\bs footnote\{\bs clearbamem + \\[.25ex] ...\bs footnote\{\bs clearbamem \\ \ \bs kli\{Ferguson\}\{Falscher Krieg\}.\}% \vspace{.5ex} } @@ -580,7 +583,7 @@ Kurztiteln mittels \hspace{-.05em}\verb|\onlyvoll| und \verb|\onlykurz|: ...\footnote{\clearbamem \kli{Ferguson}{Falscher Krieg}.\label{clearbamem}} } -\noindent +\vspace{-.25ex}\noindent Die Fu"snote\,\ref{clearbamem} soll sich auf das ganze Werk beziehen; nur \textsc{ebd.} \hspace{-.05em}wieder mittels \verb|\kli{Ferguson}{Falscher Krieg}[23]| \hspace{.05em}zu erzeugen, @@ -591,7 +594,7 @@ diese Fehlermeldung ausgel"ost: \vspace{-0.25ex}\label{before} {\scriptsize\begin{verbatim} - ! Same title, before with :{p}{23}:, has now no page/folio number. + ! Same outer title, before with :{p}{23}:, has now no page/folio. . . . . . . . . . . . . \errmessage@ba ... \space . . . . . . . . . . . } @@ -599,19 +602,17 @@ diese Fehlermeldung ausgel"ost: l.461 \footnote{\kli{Ferguson}{Falscher Krieg}.} } \end{verbatim}} +%% Bis BibArts 2.4 stand am Ende der Meldung ... no page/folio number. %% -\vspace{-.5ex}\noindent +\vspace{-.75ex}\noindent \BibArts\ erkennt zwei Argumente meist nur als gleich an, falls sie $-$\,nach Umsetzung von \hspace{-.05em}\verb|\onlyvoll|\kern.05em, \hspace{-.075em}\verb|\onlykurz|\kern.05em, \hspace{-.075em}\verb|\onlyhere| und \verb|\onlyout| \baref{onlyhere}\,$-$ zeichengleich sind. Ein neues Paar von v- und k\fhy Befehlen sollte darauf -getestet werden, ob die \textsc{ebd.}\hy Setzung funktioniert und -auf der \hspace{-.25em}\verb|.vkc|\hy Liste nur ein Eintrag erscheint. -Beides scheitert, falls Sie \hspace{-.125em}\verb|\underline| \label{underline} -im v\fhy Befehl mit \verb|\protect| sch"utzen \baref{zrbr} und in -k\fhy Befehlen nicht immer (Stand 2021). -%% Gilt noch, obwohl \underline nicht mehr wiklich zerbricht, aber nach -%% \underline und \protect\underline verschieden viele Leerzeichen stehen. +getestet werden, ob die \textsc{ebd.}\hy Setzung funktioniert \textit{und} +auf der \hspace{-.2em}\texttt{.\ko vkc}\hy Liste nur \textit{ein} Eintrag erscheint. +Die Forderung nach Zeichengleichheit schlie"st getippte Leerzeichen ein (wobei +gilt: ein Leerzeichen ist gleich mehreren Leerzeichen). \vspace{2ex}\noindent @@ -627,7 +628,7 @@ das Sternargument des v\fhy Befehls \hspace{.2em}\texttt{*\{\bs midvauthor\{Michael\}} \texttt{\{Epkenhans\}} \texttt{\bs vauthor\{Gerhard} \texttt{P.\}\{Groß\}\bs onlyvoll\{ [Hrsg.]\}\}} \hspace{.2em}lauten. Und nur auf der v\fhy Liste erschiene \hspace{.1em}\textsf{[Hrsg.]}\,, falls Sie \texttt{\bs vollout} statt -\texttt{\bs onlyvoll} verwenden. +\texttt{\bs onlyvoll} verwenden. \balabel{vollout} Beide maskieren ihr Argument und \hspace{.2em}\texttt{\bs xkqu} \hspace{.2em}d"urfte \hspace{.2em}\texttt{*\{\bs midkauthor\{Epkenhans\}} \texttt{\bs kauthor\{Groß\}\}} \hspace{.2em}enthalten.} @@ -658,17 +659,17 @@ Beide maskieren ihr Argument und \hspace{.2em}\texttt{\bs xkqu} \hspace{.2em}d"u \\ \ \ \}[467-477]\H{\}}*[469].\} } {\vspace{1ex} - \fbox{\parbox{.95\textwidth}{Siehe \hspace{-.1em}\texttt{.vkc}\hy Eintr"age oben S.\,\pageref{vkc}: + \fbox{\parbox{.95\textwidth}{Siehe \hspace{-.15em}\texttt{.\ko vkc}\hy Eintr"age oben S.\,\pageref{vkc}: \\[1ex] \scshape[Anonym]\\{}[Anonym]\\{}[...]\\Ehlert\baslash Epkenhans\baslash Gro"s}}\\ - \\[1ex] ...\footnote{`Innen' Vollzitat: \vqu {} {} + \\[1ex] Leerzeichen vor \texttt{\bs vauthor}.\footnote{`Innen' Vollzitat: \vqu {} {} {\ktit{Aufmarschanweisungen 1912}, abgedruckt in: \xvqu{Hans} {Ehlert} *{\midvauthor{Michael} {Epkenhans} \vauthor{Gerhard P.} {Gro"s} [Hrsg.]} {Der \ktit{Schlieffenplan}, - Paderborn 2007}[462-466]}*[463].\label{hrsg}} + Paderborn 2007}[462-466]}*[463].\label{hrsg}\label{InnVoll}} - ...\footnote{`Innen' kurz: \vqu {} {} + Leerzeichen vor \texttt{\bs kauthor}.\footnote{`Innen' kurz: \vqu {} {} {\ktit{\onlyhere{\onlykurz{\,}}Aufmarsch 1913/14}, abgedruckt in: \xkqu{Ehlert} *{\midkauthor{Epkenhans} \kauthor{Gro"s} [Hrsg.]} @@ -685,15 +686,14 @@ von runden statt eckigen Klammern w"urde \hspace{.2em}{\sffamily Bl.} \hspace{.1 Das Beispiel f"uhrte zudem das \verb|*{|\textit{Sternargument}\verb|}| ein, das in allen v- und k\hy Befehlen nach dem Nachnamen\hy Argument optional stehen darf. In v\fhy Befehlen sind dort f"ur Koautoren vauthor- und in -k\fhy Befehlen kauthor\fhy Formatierer zu verwenden. Nur, falls auch in den -Formatierern gleiche Nachnamen stehen, ist -\textsc{ebd.} m"oglich. Leerzeichen bitte einheitlich \textit{zwischen} -Formatierer setzen. +k\fhy Befehlen kauthor\fhy Formatierer zu verwenden. Nur, falls \textit{auch} in den +Formatierern \textit{gleiche Nachnamen} stehen und sonstiger Text gleich ist, +wird \textsc{ebd.} eingef"uhrt \baref[siehe \ko\texttt{\bs showbamem}]{bamem}. Die Formatierer \verb|\vauthor| und \verb|\kauthor| bezeichnen stets den letzten von mehreren Autoren. Falls $-$\,wie oben\,$-$ \textit{im Sternargument} -mehrere Autoren genannt werden, sind dort alle vor dem letzten Autor mittels -\hspace{-.05em}\verb|\midvauthor| bzw.\ \hspace{-.05em}\verb|\midkauthor| zu +mehrere Koautoren genannt werden, sind dort alle vor dem letzten Autor mittels +\hspace{-.05em}\verb|\midvauthor| bzw\ko.\ \hspace{-.05em}\verb|\midkauthor| zu kennzeichnen. Die setzen Schr"agstriche nach dem Nachnamen. Den Schr"agstrich nach dem Erstautor erzeugen die x\fhy Befehle \hspace{-.05em}\verb|\xvli| oder \verb|\xkli| respektive \hspace{-.05em}\verb|\xvqu| \hspace{.05em}oder @@ -722,7 +722,7 @@ Go!\footnote{\printonlykli{Maier}{Buch}.} \vfill\noindent Werden in direkter Folge verschiedene Aufs"atze aus demselben -Herausgeberwerk zitiert, erfolgen das `innere' und das `"au\hyss ere' +Herausgeberwerk zitiert, erfolgt das `innere' und das `"au\hyss ere' \textsc{ebd.}\hy Setzen automatisch: \vspace{.5ex} @@ -760,7 +760,7 @@ Herausgeberwerk zitiert, erfolgen das `innere' und das `"au\hyss ere' *{\midvauthor{Michael} {Epkenhans} \vauthor{Gerhard P.} {Gro"s} [Hrsg.]} {Der \ktit{Schlieffenplan}, - Paderborn 2007}[462-466]}*[463].\label{InnVoll}} + Paderborn 2007}[462-466]}*[463].} ...\footnote{\kqu{} {Aufmarschanweisungen 1912}[464].\label{zweite}} %% @@ -784,42 +784,46 @@ Ein k\fhy Befehl, der den Eintrag der `"au\hyss eren' Speicherebene wiederholt, l"asst die `innere' Ebene also unber"uhrt: In Fu"snote\,\ref{dritte} ist ein `inneres' \textsc{ebd.} gesetzt. -Die Zwischenspeicher lassen sich mit \verb|\showbamem| auch ansehen. -Dies kann bei Problemen mit dem \textsc{ebd.}\hy Setzen -helfen.\footnote{\BibArts\ gibt der \LaTeX-\texttt{minipage}\hy Umgebung -eigene Speicher; die \textsc{ebd.}\hy Setzung in \texttt{minipage}\hy -Fu"snoten erfolgt deshalb unabh"angig von Fu"snoten im "ubrigen Text.} -\BibArts\ druckt auf den Bildschirm aus (\verb|o-ref| bzw.\ \verb|i-ref| nennen -dabei den f"ur \textsc{ebd.} gesuchten Inhalt): - -{\scriptsize\vspace{3ex}\noindent -\verb| FNT |\texttt{\ref{zweite}} -\vspace{-3ex} +\noindent +Den Inhalt des "au"seren und inneren \textit{Speichers} zeigt \verb|\showbamem| +f"ur Tests an. Gedruckt wird auf den Bildschirm, \textit{wenn in Fu"snoten} bei kli\fhy, +kqu\fhy, per\hy\ oder arq\hy Befehlen auf \textsc{ebd.}\hy Setzung gepr"uft \balabel{bamem} +wird.\footnote{Die \textsc{ebd.}\hy Setzung in \texttt{minipage}\hy +Fu"snoten ist v"ollig unabh"angig von Fu"snoten im "ubrigen Text. Seit \BibArts\ 2.5 +erfolgt au"serhalb von Fu"snoten kein Bildschirm\hy Ausdruck mehr.} +Darunter wird hinter \verb|o-ref| bzw\ko.\ \verb|i-ref| der vom kli\fhy, kqu\fhy, +per\hy\ oder arq\hy Befehl \textit{gesuchte} Text gedruckt: + +{\scriptsize\vspace{2.75ex}\noindent +\verb| SHOWBAMEM on input line 776 in Minipage-FNT |\texttt{\ref{zweite}}\verb|:| +\vspace{-2.25ex} \begin{verbatim} - -- outer: {qu}{}{}{Aufmarschanweisungen 1912} -- - ---------- inner: {qu}{Ehlert}{\midkauthor {Epkenhans} - \kauthor {Gro"s} [Hrsg.]}{Schlieffenplan} -- - -- o-ref: {qu}{}{}{Aufmarschanweisungen 1912} -- + -- outer: {qu}{}{}{Aufmarschanweisungen 1912} + ---------- inner: {qu}{Ehlert}{\midkauthor {Epkenhans} \kauthor {Gro"s} [Hrsg + .]}{Schlieffenplan} + -- o-ref: {qu}{}{}{Aufmarschanweisungen 1912} \end{verbatim}} \vspace{-.5ex}\noindent -Nun h"atte in der mittleren Fu"snote alternativ auch ein dritter Aufsatz aus dem gleichen +Nun h"atte in dieser mittleren Fu"snote alternativ auch ein dritter Aufsatz aus dem gleichen Herausgeberband kurzzitiert sein k"onnen. Rein logisch d"urfte in der letzten -Fu"snote dann weiterhin \textsc{ebd.} stehen. Steht aber etwas Anderes als -\verb|\kqu{}{Aufmarschanweisungen 1912}| in der -zweiten Fu"snote, unterbleibt ohne weitere Ma"snahmen das `innere' \textsc{ebd.}\hy Setzen in -der dritten (Anm.\,\ref{dritte}).\footnote{Um das `innere' \textsc{ebd.} zu erzeugen: +Fu"snote (Anm.\,\ref{dritte}) \textit{auch dann} ein `inneres' \textsc{ebd.} stehen. +Steht aber etwas anderes als \verb|\kqu{}{Aufmarschanweisungen 1912}| in der +mittleren Fu"snote, f"uhrt \BibArts\ in der letzten Fu"snote kein `inneres' +\textsc{ebd.} ein.\footnote{Um das `innere' \textsc{ebd.} zu erzeugen: \texttt{\bs newbox\bs mybox} im Vorspann und vor Fu"snote~\ref{dritte}: \\[.3ex] \hspace*{.75em} \texttt{\bs setbox\bs mybox=\bs hbox\{\bs footnotetext\{\bs printonlyvqu\{\}\{\} \\ \hspace*{1em} \{\bs xprintonlykqu\{Ehlert\} \\ \hspace*{1.5em} *\{\bs midkauthor\{Epkenhans\} \bs kauthor\{Gro"s\} [Hrsg.]\} \\ \hspace*{1.5em} \{Schlieffenplan\}\}\}\}}} -\vspace{1.5ex}\noindent -Nun wird das Verzeichnis gedruckter Quellen mit \verb|\printnumvqu| gedruckt: - +\vspace{1ex}\noindent +Das Verzeichnis gedruckter Quellen wird hier mit \verb|\printnumvqu| ausgedruckt. +Dort gibt es keine `innere' \textsc{ebd.}\hy Setzung; +\hspace{-.05em}\textit{`\kern.05em innen'} werden \textit{Kurztitel} gedruckt: +\vspace{-1ex} \balabel{printnumvqu}\printnumvqu \noindent @@ -896,30 +900,98 @@ Fu"snote~\ref{I} \texttt{\bs kqu\{Marx\}\{Kapital\string~I\}} enthielte, w"urde dort auch \textsc{ebd.} gesetzt; Ziel war aber, im Kurzzitateverzeichnis S.\,\pageref{vkc} nur \textit{einen} Eintrag \textsc{Marx}: Kapital [Q] f"ur alle\pdfko{.25}\ -Teilb"ande des "`Kapital"' zu bekommen.} +Teilb"ande des "`Kapital"' zu bekommen (und nicht noch zus"atzlich +\textsc{Marx}: Kapital~I [Q]).} Ein weiterer Vergleich mit dieser Liste zeigt, dass das \verb|[m]| nach dem `inneren' \verb|\xvqu|\hy Befehl \hspace{.1em}\textsc{ders.\baslash Engels} \hspace{.1em}erzeugte \baref[Eintrag von]{ders}. -Neben der Markierung von Text in \BibArts\hy Befehlen mit -\hspace{-.1em}\verb|\onlyhere| und\pdfko{.5}\ -\hspace{-.1em}\verb|\onlyout| gibt es eine "altere M"oglichkeit, + +\noindent +Bei mehrfach zitierten \textbf{Werken mit mehreren Koautoren} funktioniert das +\textbf{automatische Ebendasetzen} nur, falls Sie in den Sternargumenten +\textit{zwischen die jeweiligen Namens\hy Formatier} einheitlich entweder \textit{Leerzeichen}\pdfko{.1}\ +tippen oder nicht.\footnote{Dies betrifft \textit{nicht} +etwaige Leerzeichen \textit{zwischen den beiden Argumenten} eines v\fhy Formatierers: +\texttt{\bs vauthor\{Manfred\underline{\} \{}Wagner\}} und \texttt{\bs vauthor\{Manfred\underline{\}\{}Wagner\}} +werden in einem direkt folgenden Kurzzitat von \texttt{\bs kauthor\{Wagner\}} gleicherma\hyss en +erkannt. Nur, falls Sie in Ihrem Text auf das Kurzzitieren verzichten und dann Werke +mit mehreren Autoren mehrfach vollzitieren, ergibt sich bez"uglich \underline{dieser Leerzeichen\vphantom{\texttt{\}}}} das weitere Problem, dass +\texttt{bibsort} verschieden getippte Werke unterscheidet und f"ur jede Notationsweise einen +eigenen Eintrag auf die v\fhy Liste setzt. Nur dann m"ussten Sie zudem einheitlich Leerzeichen +zwischen die Vornamen- und die Nachnamen\hy Argumente von v\fhy Formatierern setzen.} +Vergleichen Sie hier die doppelt unterstrichenen Stellen: + +\Doppelbox +{\vspace{1.5ex} + ...\bs footnote\{\$-1-\$: \bs xvli\{Hans\} + \\ \ \{Maier\} * \{\bs midvauthor\{Peter\} + \\ \ \ \{Müller\underline{\underline{\}}}\rule[-5.1pt]{2pt}{0pt} + \\ \ \ \underline{\underline{\bs}}vauthor\{Manfred\}\{Wagner\}\}\rule[-5.5pt]{2pt}{0pt} + \\ \ \{Der \bs ktit\{Beitrag\}\}.\} + \\[1.25ex] \bs footnote\{\$-2-\$: \bs xkli\{Maier\} + \\ \ *\{\bs midkauthor\{Müller\underline{\underline{\} \bs}}kauthor\rule[-5.1pt]{2pt}{0pt} + \\ \ \ \{Wagner\}\} \{Beitrag\} + \\ \ \bs textbf\{(wird~erkannt)\}.\} + \\[1.25ex] \bs footnote\{\$-3-\$: \bs xkli\{Maier\} + \\ \ *\{\bs midkauthor\{Müller\underline{\underline{\}\bs}}kauthor\rule[-5.1pt]{2pt}{0pt} + \\ \ \ \{Wagner\}\} \{Beitrag\} + \\ \ \bs textbf\{(wird~nicht erkannt)\}.\} + \vspace{1.5ex} +} +{\notktitaddtok + Diese Beispiele sind nicht in die Listen "ubernommen, + erg"aben auf der \hspace*{-.125em}\texttt{.\ko vkc}\hy Liste aber zwei Eintr"age.% + \footnote{$-1-$: \xprintonlyvli{Hans} {Maier} * {\midvauthor{Peter} {Müller} + \vauthor{Manfred}{Wagner}} {Der \ktit{Beitrag}}.} + \footnote{$-2-$: \xprintonlykli{Maier} *{\midkauthor{Müller} + \kauthor{Wagner}} {Beitrag} \textbf{(wird~erkannt)}.} + %% + \footnote{$-3-$: \xprintonlykli{Maier} *{\midkauthor{Müller}\kauthor + {Wagner}} {Beitrag} \textbf{(wird~nicht erkannt)}.} +} + + +\vspace{.5ex}\noindent +Bei der Maskierung mit \verb|\onlyvoll| \hspace{.1em}ist in v\fhy Befehlen au\hyss erdem zu beachten, +dass in \hspace{.2em}\texttt{*\{\bs vauthor\{Heinz\}\{Huber\}\bs onlyvoll\{ [Hrsg.]\}\}} +\hspace{.3em}das Leerzeichen \textit{in} das Argument von \verb|\onlyvoll| zu setzen ist, nicht nach \texttt{\{Huber\}}. +Nur dann kann der folgende Kurztitel einfach \hspace{.1em}\texttt{*\{\bs kauthor\{Huber\}\}} \hspace{.2em}lauten. +Falls Sie \hspace{.05em}\verb|\showbamem| \hspace{.15em}setzen, werden ins \hspace{-.175em}\texttt{.\ko log}\hy File und +auf den Bildschirm fertige Titel geschrieben, in denen die only\hy Befehle bereits umgesetzt sind. + +Zur Ebendasetzung erwartet \BibArts\ also mehr als nur gleiche Nachnamen: +Wenn man sich alle Namens\hy Formatierer und only\hy Befehle samt Argumenten wegdenkt, muss +zudem der Rest des Sternarguments zeichengleich sein, einschlie\hyss lich der Leerzeichen. +\textit{Zeichengleichheit} meint strenggenommen gleiche Zeichen, nur bei den Leerzeichen +sind Erleichterungen gegeben: Gleich entspricht dabei dem, was \LaTeX\ bekannterma\hyss en +unter verschiedenen Notationen gleich ausdruckt: \textit{Einfache} Zeilenumbr"uche gelten wie Leerzeichen; +und \textit{ein} Leerzeichen ist gleich \textit{mehreren} Leerzeichen. Diese +Spielregen gelten auch f"ur Leerzeichen \textit{in} allen Nachnamen, etwa in +\verb|\vli{|...\verb*|}{Liddell Hart}{|...\verb|}|\kern.05em! + +\noindent +Neben der Maskierung mit \hspace{-.1em}\verb|\onlyhere| und +\hspace{-.1em}\verb|\onlyout| \baref[sowie \texttt{\bs sechere}]{sechere} +gibt es alternativ eine "altere M"oglichkeit, unterschiedliche Eintr"age in Text und Liste zu erzeugen: \BibArts\hy Hauptbefehle (S.\,\pageref{Hauptbefehle}) lassen sich aufsplitten in eine printonly- und eine addto\hy Komponente, also in die -Aufgabenteile `Schreibe an Ort und Stelle' und `Schreibe in die Liste'. -\label{printonly} \verb|\vqu| beispielsweise l"asst\pdfko{.5}\ +Aufgabenteile `Schreibe an Ort und Stelle' und `Schreibe in die Liste'\kern-.025em. +\label{printonly} \hspace{-.05em}\verb|\vqu| beispielsweise l"asst\pdfko{.5}\ sich durch \verb|\printonlyvqu| \hspace{.05em}plus \hspace{-.1em}\verb|\addtovqu| ersetzen. Die Syntax ist identisch. +\vspace{-.75ex} \Doppelbox -{...\bs footnote\{ +{\vspace{.25ex} + ...\bs footnote\{ \\ \ \bs addtovqu\{Carl von\}\{Clausewitz\} \\ \ \ \b{\b{\{}}\bs ktit\{Strategie\}. Hrsg. von \\ \ \ \ \bs vauthor\{Eberhard\}\{Kessel\}, \\ \ \ \ Hamburg 1937\b{\b{\}}}\% - \\[.2ex] \ \bs printonlyvqu\{Carl von\} + \\[.3ex] \ \bs printonlyvqu\{Carl von\} \\ \ \ \ \ \{Clausewitz\} \\ \ \ \b{\{}\bs ktit\{Strategie\}, \\ \ \ \ Hamburg 1937\b{\}}[58].\} @@ -934,17 +1006,20 @@ sich durch \verb|\printonlyvqu| \hspace{.05em}plus Hamburg 1937}% \printonlyvqu{Carl von}{Clausewitz} {\ktit{Strategie}, - Hamburg 1937}[58].} + Hamburg 1937}[58].}\vspace{.1ex} } -\noindent -Da \hspace{-.05em}\textit{`in\kern-.075em' addto\hy Befehlen} v- und k\fhy Befehle nicht abgearbeitet -werden, gelangen sie nicht in die Listen und sind -ggf.\ als `"au\hyss ere' addto\hy Befehle zu wiederholen. +\vspace{-.5ex}\noindent +Die only\hy Befehle sind oft zu bevorzugen. \textit{Innerhalb} von addto\hy Befehlen +werden (`innere') \BibArts\fhy Hauptbefehle n"amlich nicht abgearbeitet. +Die schreiben also nichts in die Listen und w"aren als `"au\hyss ere' addto\hy Befehle +zu \textit{wiederholen}. -\vspace{.75ex}\noindent -Ein Verzicht auf \hspace{.02em}`innere' \hspace{-.02em}v- und k\fhy Befehle ergibt \textit{einen} Eintrag auf der v\fhy Liste: +\vfill\vspace{1ex}\noindent +Falls Sie aber umgekehrt ohnehin nur \textit{einen} Komplett\hy Eintrag in der v\fhy Liste wollen, +k"onnen Sie auf `innere' \hspace{-.02em}v- und k\fhy Befehle alternativ auch verzichten: +\vspace{-.5ex} \Doppelbox {\vspace{.3em} \bs vqu \{Karl\} \{Marx\} @@ -967,13 +1042,12 @@ Ein Verzicht auf \hspace{.02em}`innere' \hspace{-.02em}v- und k\fhy Befehle ergi }\label{ntvauthor}% -\vspace{.5ex}\noindent -Dies leitet "uber zur \textbf{Umdefinition vorgefertigter Textelemente}: -\BibArts\ l"asst gro\hyss e Freiheiten bei der Wahl von Zitierkonventionen. +\vspace{-.325ex}\noindent +Zitierkonventionen lassen sich "uber \textbf{vorgefertigte Textelemente} anpassen: Die Schr"agstiche definiert \hspace{-.05em}\verb|\nsep|, \label{nsep1} das seinerseits -\hspace{-.1em}\verb|\baslash| (\baslash) ausf"uhrt. mid\hy Formatierer und\pdfko{.25}\ -x\fhy Befehlen nutzen ihn. \verb*|\renewcommand{\nsep}{, }| -\hspace{.1em}w"urde Komma\pdfko{.5}\ statt Schr"agstrich zwischen Namen drucken. Dies kann +\hspace{-.1em}\verb|\baslash| (\baslash) ausf"uhrt. Die mid\hy Formatierer und +x\fhy Befehle nutzen ihn. \verb*|\renewcommand{\nsep}{, }| +\hspace{.1em}w"urde Komma statt Schr"agstrich zwischen Namen drucken. Dies kann auch lokal geschehen: Die jeweils aktuelle Definition von \hspace{-.1em}\verb|\nsep| reist \label{Ausreise} mit jedem v- und k\fhy Zugang \textit{separat} in die Listen und wird dort reproduziert. Die Voreinstellung l"asst sich mit @@ -1008,19 +1082,19 @@ mittels\hspace{.2em} \verb+\renewcommand{\gerscheditionname}{\teskip Aufl.,}+\,. \vspace{1.25ex}\label{female}\noindent -Falls in den \textit{v\fhy Listen bei Autorwiederholung} \hspace{.1em}{\small\textsc{dies.}} +Falls \textit{in den v\fhy Listen} bei Autorwiederholung \hspace{.1em}{\small\textsc{dies.}} \hspace{.1em}oder \hspace{.1em}{\small\textsc{ders.}} \hspace{.1em}statt $\sim$ stehen soll, -k"onnen Sie \verb|\female| bzw.\ \hspace{-.075em}\verb|\male| in die +k"onnen Sie \verb|\female| bzw\ko.\ \hspace{-.075em}\verb|\male| in die v\fhy Befehle am Anfang der Vornamen\hy Argumente tippen. Beispiel: \verb|\vqu{\male Karl}{Marx}{|\fabra{...}\verb|}|\,. Das muss $-$\,einmal etwa f"ur die vli\hy Liste angefangen\,$-$ dann \textit{in jedem ersten Argument\pdfko{.5}\ jedes vli\hy Befehls} stehen (ausgenommen anonyme Autoren \verb|\vli{}{}{|\fabra{...}\verb|}|): Nur so wird w\kern-.1em/m von -\hspace{.2em}\verb|bibsort| \verb|-k|\hspace{.2em} richtig zugeordnet. +\hspace{.2em}\verb|bibsort| \verb|-k| \hspace{.2em}richtig zugeordnet. Ins Vornamen\hy Argument von \verb|\vauthor| oder \verb|\midvauthor| sind \verb|\female| oder \verb|\male| aber nicht einzusetzen! Falls auch alle Koautoren gleich sind, wird automatisch \hspace{.1em}{\small\textsc{diesn.}} \hspace{.1em}f"ur `Dieselben' eingesetzt. -(Falls nur die ersten von mehreren \textit{Koautoren}\pdfko{0}\ +(Falls nur die ersten von mehreren \textit{Koautoren} gleich sind, wird f"ur \textit{die} weiterhin {\small$\sim$} oder {\small$\sim$\baslash$\sim$} gesetzt.) @@ -1068,10 +1142,10 @@ Kapitel~\ref{per} unten ab S.\,\pageref{per}.}% \newpage Da das \textbf{\textsc{ders.}\hy Setzen} mit \verb|[f]|, \verb|[m]| -oder \verb|[p{}]| fehleranf"allig ist, falls Textteile im +oder \verb|[p{|...\verb|}]| fehleranf"allig ist, falls Textteile im Texteditor ausgeschnitten und verschoben werden, gibt es eine weitere \textbf{Kontrollm"oglichkeit}: "Uber den \LaTeX\hy -Bildschirmausdruck hinaus \baref{DERS} k"onnen Sie sich testweise +Bildschirmausdruck hinaus \baref{DERS} k"onnen Sie sich \textit{testweise} im Ausdruck selbst informieren lassen: \vspace{.5ex} @@ -1109,7 +1183,8 @@ im Ausdruck selbst informieren lassen: \\ \ \ \ \ \ \bs onlyhere\{Berlin \\ \ \ \ \ \ \ 1962\}\b{\}}\b{\b{\}}}[67].\} } -{\writeidemwarnings +{\vspace{2ex} + \writeidemwarnings \footnote{\kqu[m]{Clausewitz} {Strategie}[61] und \kqu{Clausewitz} {Vom Kriege}[62].} \\[8.25ex] @@ -1128,30 +1203,29 @@ im Ausdruck selbst informieren lassen: *{\vauthor{Friedrich}{Engels}} {\ktit{Werke}, \onlyout{hrsg.\ vom Institut f"ur Marxismus-Leninismus beim ZK der SED, 40~Bde.\ Berlin 1958--1971}% - \onlyhere{Berlin 1962}}}[67]. - \\ - \texttt{\% Vgl.\ DERS. in der Liste \baref[]{printnumvqu}} - } + \onlyhere{Berlin 1962}}}[67]. + \\[.5ex] \texttt{\% Vgl.\ DERS. in der Liste \baref[]{printnumvqu}} + } } -\vspace{.5ex}\noindent +\vspace{.75ex}\noindent Nach Setzen von \verb|\writeidemwarnings| druckten v- und k\fhy Befehle -dabei das Nachnamen\hy Argument in Klammern und hinter folgenden Symbolen aus: +dabei das sonst unsichtbare \{\textit{Nachnamen\hy Argument}\} hinter folgenden Symbolen aus: - \vspace{2ex}\noindent + \vspace{1.5ex}\noindent {\small\begin{tabular}{cl}% $\bullet$ & \textsc{\footnotesize DERS.} \sffamily fehlt m"oglicherweise (gleiche Nachnamen registriert). \\ $\heartsuit$ & \textsc{\footnotesize DERS.} \sffamily ist offenbar richtig gesetzt (gleiche Nachnamen registriert). \\ $\nabla$ & \textsc{\footnotesize DERS.} \sffamily wegen fehlender Autoren in vorausgehender Fu"snote unberechtigt. \\ - $\spadesuit$ & \textsc{\footnotesize DERS.} \sffamily "uberschreibt einen Namen, der nicht der vorausgehende ist. \\ - $\clubsuit$ & \textsc{\footnotesize DERS.} \sffamily steht irref"uhrenderweise nach einer Fu"snote mit mehreren Autoren. \\ + $\spadesuit$ & \textsc{\footnotesize DERS.} \sffamily "uberschreibt einen Nachnamen, der nicht der vorausgehende ist. \\ + $\clubsuit$ & \textsc{\footnotesize DERS.} \sffamily irref"uhrend nach einer Fu"snote mit Werken verschiedener Autoren. \\ \end{tabular}} \vspace{2ex}\noindent -\BibArts\ kontrolliert niemals Koautoren. Falls auch die in +\BibArts\ kontrolliert bei \verb|[p{|...\verb|}]| die Koautoren nicht. Falls auch die in aufeinanderfolgenden Fu"snoten gleich sind, lassen sie sich zwar durch -Ersatzworte ersetzen, wozu \BibArts\ bei Anwenderfehlern aber nicht warnt. -Hier ein Beispiel ohne Fehler: +Ersatzworte ersetzen, wozu \BibArts\ bei Fehlern aber nicht warnt. +Ein Beispiel ohne Fehler: \Doppelbox {\vspace{1.25ex}% @@ -1162,7 +1236,7 @@ Hier ein Beispiel ohne Fehler: \\ \ \{Maier\} *\{\bs midkauthor\{M"uller\} \\ \ \ \ \bs kauthor\{Huber\}\} \{Haus\}[ii].\} \\[1ex] \bs footnote\{\bs xkli - \\ \ [p\b{\b{\{}} ersten beiden und + \\ \ [p\b{\b{\{}}\bs\ ersten beiden und \\ \ \ \ \ \ \bs kauthor\{Schmidt\} \bs editors\b{\b{\}}}] \\ \ \{Maier\} *\b{\{}\bs midkauthor\{M"uller\} \\ \ \ \ \ \ \bs kauthor\{Schmidt\} \bs editors\b{\}} @@ -1170,14 +1244,14 @@ Hier ein Beispiel ohne Fehler: \vspace{1ex} } {\texttt{\% HIER nicht in den Listen \%} - \\[3ex] + \\[3ex]%\nonfrenchspacing \footnote{Lokal erst \xprintonlykli {Maier} *{\midkauthor{M"uller} \kauthor{Huber}} {Geld}[i].} \footnote{\xprintonlykli[p{}] {Maier} *{\midkauthor{M"uller} \kauthor{Huber}} {Haus}[ii].} - \footnote{\xprintonlykli[p{ ersten beiden und \kauthor{Schmidt} \editors}] + \footnote{\xprintonlykli[p{\ ersten beiden und \kauthor{Schmidt} \editors}] {Maier} *{\midkauthor{M"uller} \kauthor{Schmidt} \editors} {Vorsorge}[iii].\label{wieder}} } @@ -1187,144 +1261,384 @@ Nur mit \verb|[p{}]| werden alle Namen mit \hspace{.1em}{\small\textsc{diesn.}} \hspace{.1em}"uberschrieben $-$ und nicht nur der erste Name (was \verb|[p]| t"ate)! \hspace{.15em}Falls mehrere, aber eben nicht alle Autoren \textit{dieselben} sind, k"onnen Sie die zuviel mit \textsc{diesn.} "uberschriebenen in \verb|[p{|\textit{xx}\verb|}]| wieder nennen -(oben in Anm.\,\ref{wieder} gezeigt). Wie vorgemacht d"urfen \verb|\editor| \hspace{.1em}oder -\verb|\editors| (dt.\ beide f"ur {\small\editor}) \hspace{.1em}in \textit{xx} auch verwendet werden. +(oben in Anm.\,\ref{wieder} gezeigt). Wie vorgemacht d"urfen auch \verb|\editor| \hspace{.1em}oder +\verb|\editors| \hspace{.1em}(dt.\ beide f"ur {\small\editor}) \hspace{.1em}in \textit{xx} verwendet werden. -Um \textit{richtig sortierte Listen} zu erzeugen, sollten in v- -und k\fhy Befehlen \textit{auch}\pdfko{.01}\ die `regul"aren' Namen\hy Argumente -\textit{in jedem Fall} vollst"andig bef"ullt sein! -\textit{Sie}\pdfko{.01}\ zieht \hspace{.2em}\verb|bibsort| \verb|-k| \hspace{.2em}zudem heran, -um Nachnamen gegen \hspace{.2em}$\sim$ \hspace{.2em}auszutauschen. -Das im Beispiel oben eingef"uhrte \verb|\editors| hat "ubrigens kein Sortiergewicht. +Obwohl \textit{xx} im Text ausgedruckt wird, sollten Sie in v- und k\fhy Befehlen auch +die "uberschriebenen Namen\hy Argumente stets vollst"andig bef"ullen: +Denn sie bestimmen die \textsc{ebd.}\hy Setzung! \hspace{.05em}`\ko "Au\hyss ere' +\hspace{-.1em}\textit{xx} werden auf den v\fhy Listen zudem nicht ausgedruckt und +die `regul"aren' Argumente bestimmen die Sortierung. \vspace{1.25ex}\noindent -Dass bei \hspace{-.075em}\textit{`inneren'} v- und k\fhy Befehlen gesetzte Schalter \verb|[f]|, -\verb|[m]| und \verb|[p{}]| in die Listen "ubernommen werden, wurde oben -beim Ausdruck des Verzeichnisses der gedruckten Quellen anhand des ersten -Bandes von Marx' Kapital demonstriert. Beim zweiten Band dagegen ist -der `innere' Marx nicht mit \verb|[m]| versehen; beim "Ubersetzen der -\textit{Fu"snote}, aus der der Eintrag herstammt, erscheint die Warnung - % Meldung ...vqu-cmd in 2.3 geaendert in ...vqu -\hspace{.3em}{\footnotesize\texttt{Inner ...vqu repeats author's lastname}}\kern.025em. -\hspace{.1em}Falls Sie nur dort kein \textsc{ders.} haben wollten, k"onnen -Sie vor den `inneren' v- oder k\fhy Befehl \verb|\notwarnsamename| -setzen, um die Warnung lokal auszuschalten. Beim -"Ubersetzen der \textit{Listen} erfolgen solche Warnungen "ubrigens niemals. - -\vfill\noindent Falls Sie \textsc{dies.}, \textsc{ders.} und \textsc{diesn.} nicht -verwenden wollen, k"onnen Sie alle diesbez"uglichen Warnungen auch -mit \verb|\notwarnsamename| im Vorspann Ihres \LaTeX\hy Textes +verwenden wollen, k"onnen Sie +im Vorspann Ihres \LaTeX\hy Textes mit \verb|\notwarnsamename| +alle diesbez"uglichen \hspace{-.1em}\textit{Warnungen} global ausschalten. Das unterbindet bei der \LaTeX\hy "Ubersetzung die Bildschirmwarnung \hspace{.2em}{\footnotesize...\ \texttt{repeats first author's lastname}} \hspace{.25em}samt allen weiteren Meldungen f"ur die eben -aufgelisteten Fehlertypen. \textit{Zus"atzlich} wird -\verb|\writeidemwarnings| unwirksam $-$ \BibArts\ druckt also nicht -mehr \hspace{.1em}{\small$\bullet\,\heartsuit\,\nabla\,\spadesuit\,\clubsuit$}\,. +aufgelisteten Fehlertypen. Allerdings wird dann auch +der Befehl \verb|\writeidemwarnings| unwirksam, also +\hspace{.1em}{\small$\bullet\,\heartsuit\,\nabla\,\spadesuit\,\clubsuit$} +\hspace{.1em}nicht gedruckt. + +\vfill\noindent +Die Schalter \verb|[f]|, \verb|[m]| und \verb|[p{}]| von \hspace{-.1em}\textit{`\kern.05em inneren'} v- und k\fhy Befehlen +werden in die Literaturliste "ubernommen. Die \hspace{-.1em}\textit{`\kern.05em inneren'} +Schalter beziehen sich auf die +\hspace{-.1em}\textit{`"au\hyss eren'} v- und k\fhy Befehle \textit{derselben} +Literaturangabe: Der Herausgeber des Bandes ist z.\,B. auch Autor eines Aufsatzes. +Die Nachnamen kontrolliert \BibArts\ nicht auf den Listen, nur in den Fu"snoten. +Fehlen \verb|[f]|, \verb|[m]| und \verb|[p{}]| \hspace{-.1em}\textit{`\kern.05em innen'}, lautet die Warnung: + % Meldung ...vqu-cmd in 2.3 geaendert in ...vqu +\hspace{.3em}{\footnotesize\texttt{Inner ...vqu repeats author's lastname}}\kern.025em. +\hspace{.1em}Falls dann aber Aufsatzautor und Herausgeber trotz gleicher Nachnamen nicht dieselbe +Person sind, k"onnen Sie \hspace{-.05em}\verb|\notwarnsamename| vor den \hspace{-.1em}\textit{`\kern.05em inneren'} +v- oder k\fhy Befehl setzen, falls Sie die Warnung \textit{nur lokal} ausschalten wollen. \newpage\noindent Zum \textbf{Zitieren mehrb"andiger Werke} gibt es einen optionalen Speicher f"ur Bandnummern. Nach -\hspace{.2em}\verb+\vli+\abra{...}\verb+{1983--1990}+\texttt{\b{\b{\}}}}\verb+|2|[98]+\vspace{-.2ex} -\hspace{.2em}ist er -zur \textsc{ebd.}\hy Setzung mit \verb|2| \hspace{.05em}bef"ullt (Nr.\,2 aus 4 B"anden; +\hspace{.2em}\verb+\vli+\abra{...}\verb+{1983--1990}+\texttt{\b{\b{\}}}} +\hspace{.2em}steht \verb+|2|+ vor \verb|[98]| zur \textsc{ebd.}\hy Setzung +\hspace{.05em}(Nr.\,2 aus \verb+\ersch|4|+ B"anden; vor und nach \verb+|2|+ keine Leerzeichen): -\label{Reinhard}% +\vspace{-.25ex}\label{Reinhard}% \Doppelbox -{\bs footnote\{... \bs vli\{Wolfgang\} +{...\bs footnote\{... \bs vli\{Wolfgang\} \\ \ \{Reinhard\} \b{\b{\{}}Geschichte der \\ \ \ \bs ktit\b{\{}\bs onlyvoll\{e\}\% \\ \ \ \ \ \ \ \ \ \bs onlykurz\{E\}urop"aische\% \\ \ \ \ \ \ \ \ \ \bs onlyvoll\{n\} Expansion\b{\}}, - \\ \ \ \bs ersch\string|4\string|\{Stuttgart\} + \\ \ \ \bs ersch \string|4\string| \{Stuttgart\} \\ \ \ \ \ \ \ \ \ \ \ \{1983-{}-1990\}\b{\b{\}}}\string|2\string|[98].\} - \\[1ex] \bs footnote\{\bs kli \{Reinhard\} \{Europ"aische Expansion\}\string|2\string|[98].\} - \\[1ex] \bs footnote\{\bs kli \{Reinhard\} \{Europ"aische Expansion\}\string|3\string|[1].\} + \\[1ex] ...\bs footnote\{\bs kli \{Reinhard\} \{Europ"aische Expansion\}\string|2\string|[98].\} + \\[1ex] ...\bs footnote\{\bs kli \{Reinhard\} \{Europ"aische Expansion\}\string|3\string|[1].\} } -{\vspace{1.5ex}% - \footnote{Band aus Reihe: \notktitaddtok\printonlyvli{Wolfgang} {Reinhard} {Geschichte der +{\vspace{1.5ex}\notktitaddtok + \texttt{\bs ersch} \hspace{.05em}bzw\ko.\ \hspace{-.075em}\texttt{\string|4|} sind optional.\footnote{Band aus Reihe: \printonlyvli{Wolfgang} + {Reinhard} {Geschichte der \ktit{\onlyvoll{e}% \onlykurz{E}urop"aische% \onlyvoll{n} Expansion}, - \ersch|4|{Stuttgart} {1983--1990}}|2|[98].\label{Ranf}} + \ersch |4| {Stuttgart} {1983--1990}}|2|[98].\label{Ranf}} - \footnote{\printonlykli {Reinhard} {Europ"aische Expansion}|2|[98].} + Selber Band.\footnote{\printonlykli {Reinhard} {Europ"aische Expansion}|2|[98].} - \footnote{\printonlykli {Reinhard} {Europ"aische Expansion}|3|[1].\label{Rend}} + Anderer Band.\footnote{\printonlykli {Reinhard} {Europ"aische Expansion}|3|[1].\label{Rend}} } \noindent St"unden hier \verb|\vli| und \verb|\kli| statt der tats"achlich verwendeten printonly\hy Befehle, ginge ins Kurzzitateverzeichnis -\textsc{Reinhard}: Europ"aische Expansion [L] \hspace{.5em} +\hspace{.2em}\textsc{Reinhard}: Europ"aische Expansion [L] \hspace{.5em} \textsf{\pageref{Ranf}$^{\ref{Ranf}-\ref{Rend}}$} -und ins Literaturverzeichnis: -\textsc{Reinhard}, Wolfgang: Geschichte der europ"aischen Expansion, +\hspace{.4em}und ins Literaturverzeichnis: +\hspace{.2em}\textsc{Reinhard}, Wolfgang: Geschichte der europ"aischen Expansion, 4 Bde., Stuttgart 1983--1990. \vspace{.1ex} -W"urde die Bandangabe \verb+|3|+ \hspace{.1em}(oder Nummer \hspace{-.3em}\verb+_n_+)\hspace{.1em} in -Fu"snote~\ref{Rend} fehlen, dann erschiene w"ahrend der \LaTeX\hy "Ubersetzung die -Fehlermeldung:\footnote{Eine Warnung bei `innerer' \textsc{ebd.}\hy Setzung erfolgt nur, -wenn \hspace{-.125em}\textit{`innen'} Band- bzw.\ Seitenangaben fehlen -\textit{und} zuvor (auch) entsprechende `"au\hyss ere' Angaben standen. Sie erhalten -also \textsc{ebd.}, aber u.\,U. keine Warnung, wenn Sie `innere' -Bandangaben zu tippen vergessen!} +W"urde in Fu"snote~\ref{Rend} die \hspace{-.15em}\textit{`\kern.05em "au"sere\ko'} Bandangabe +\verb+|3|+ \hspace{.25em}(oder Nummer +\hspace{.1em}\verb+_+\textit{n}\verb+_+) \hspace{.25em}fehlen, dann erschiene w"ahrend der +\LaTeX\hy "Ubersetzung die Fehlermeldung: -\vspace{.5ex}\noindent +\vspace{.4ex}\noindent \label{pervol}% -{\small\texttt{ !~Same title, before with :\{pervol\}\{2\}:, has now no no./vol number.}} +{\scriptsize\texttt{ \ !~Same outer title, before with :\{pervol\}\{2\}:, has now no vol/no.}} +%% Bis BibArts 2.4 stand am Ende der Meldung: ... no./vol number. %% -\vspace{.75ex}\noindent +\vspace{.8ex}\noindent Dagegen d"urfte die \verb|[1]| nach der \verb+|3|+ wegbleiben, weil es sich um einen anderen Band als in der vorausgehenden Fu"snote handelt. $-$ Im Falle von \textbf{mehrb"andigen Herausgeberwerken} -sind auch `innere' \verb+|+\kern-.1em\textit{Bandangaben}\kern-.125em\verb+|+ erlaubt: +sind `innere' \verb+|+\kern-.1em\textit{Bandangaben}\kern-.125em\verb+|+ vorgesehen: -\vspace{-.5ex}% +\vspace{-.1ex} \Doppelbox {\vspace{.5ex} \bs footnote\{\bs vli \{\}\{\} - \\[.1em] \ \b{\b{\{}}\bs ktit\{Au\{\bs hyss\}en\string~1\}, in: + \\[.1em] \ \b{\b{\{}}\bs ktit\{Außen\string~1\}, in: \\[.1em] \ \ \bs vli \{\}\{\} \b{\{}\bs ktit\{Innen\}\b{\}}\% \\[.2em] \ \ \ \ \ \ \string|12\string|[3-4]\b{\b{\}}}*[4].\} \\[1ex] \bs footnote\{\bs kli\{\} - \\[.1em] \ \ \ \ \ \ \ \ \ \ \ \ \{Au\{\bs hyss\}en\string~1\}[4].\} + \\[.1em] \ \ \ \ \ \ \ \ \ \ \ \ \{Außen\string~1\}[4].\} \\[1ex] \bs footnote\{... \bs vli\{\}\{\} - \\[.1em] \ \H{\{}\bs ktit\{Au\{\bs hyss\}en\string~2\}, in: + \\[.1em] \ \H{\{}\bs ktit\{Außen\string~2\}, in: \\[.2em] \ \ \bs kli\{\}\{Innen\}\string|12\string|[5-11]\H{\}}*[8].\} \vspace{.75ex} } {\footnote{\notktitaddtok\printonlyvli {}{}% - {\ktit{Au{\hyss}en~1}, in: + {\ktit{Außen~1}, in: \printonlyvli {}{} {\ktit{Innen}}% |12|[3-4]}*[4].} \footnote{\printonlykli{} - {Au{\hyss}en~1}[4].} + {Außen~1}[4].} \footnote{Gleiche Reihe: \notktitaddtok\printonlyvli{}{} - {\ktit {Au{\hyss}en~2}, in: - \printonlykli{}{Innen}|12|[5-11]}*[8].} + {\ktit {Außen~2}, in: + \printonlykli{}{Innen}|12|[5-11]}*[8].\label{zwoelf}} } -\vspace{-.6ex}\noindent -\BibArts\ pr"uft nicht, ob \hspace{.3em}\verb|*[|\textit{Seite}\verb|]| \hspace{.35em}im -`innen' genannten Intervall \hspace{.25em}\verb|[|\textit{n}\verb|-|\textit{m}\verb|]| \hspace{.25em}liegt. +\vspace{-.25ex}\noindent +Falls Sie in Anm.\,\ref{zwoelf} \hspace{.1em}die \hspace{-.1em}\textit{`\kern.05em innere\ko'} +\verb+|12|+ \hspace{.1em}zu tippen vergessen, +warnt \BibArts\ seit\pdfko{.5}\ Version 2.5 $-$ in der Fu"snote w"urde zwar ebenfalls +\hspace{.1em}{\footnotesize\textsc{ebd.}, S.\,5-11} \hspace{.1em}ausgedruckt;\pdfko{.25}\ +aber die Bandangabe w"urde f"alschlicherweise auf der Literaturliste fehlen! Doch \BibArts\ +pr"uft nie, ob die \hspace{.2em}\verb|*[|\textit{Seite}\verb|]| +\hspace{.25em}im Seitenzahlenbereich +\hspace{.15em}\verb|[|\textit{n}\verb|-|\textit{m}\verb|]| +\hspace{.15em}liegt.\pdfko{.25} + + +%!!!> + +\noindent +Seit \BibArts\ 2.5 wird die \textbf{Autor\hy Jahr\hy Zitierweise} \label{AutorJahr} +unterst"utzt. Das Stern\hy Argument eines v\fhy Befehls +kann nun etwa +\hspace{.25em}\verb|*{\onlyvoll{\ktit{1999}}}| +\hspace{.25em}lauten. K"urzer wird genau dasselbe mit +\hspace{.15em}\verb|*{\starktit{1999}}| +\hspace{.15em}erreicht. \balabel{starktit} Diese Maskierung von +\verb|\ktit| \hspace{.1em}dient +der \textsc{ebd.}\hy Setzung. +Die Jahreszahl ist in sp"ateren k\fhy Belegen dann (\ko nur\ko) als +letztes Argument einzutippen. Bei zwei Publikationen eines Autors im +selben Jahr sind Eingaben wie +\verb|1999a| und \verb|1999b| vorgesehen. Im folgenden Beispiel wird +\verb|\notannouncektit| gesetzt und \verb|\ntsep| +so umdefiniert, dass in k\fhy Belegen kein Doppelpunkt nach dem +Nachnamen gedruckt wird. Das Attribut \hspace{-.05em}\verb|\editors| steht +\textit{mit} \verb|\ktit| in \hspace{-.0625em}\verb|\onlyvoll|:\,% +{\notannouncektit + \renewcommand{\ntsep}{\ifbashortcite{ }{: }}\notktitaddtok + \footnote { \printonlyvli{Roger}{Chickering} *{\starktit{1999}} + {Total War. The Use and Abuse of a Concept, in: + \xprintonlyvli{Manfred F.}{Boemeke} *{\midvauthor{Roger}{Chickering} + \vauthor{Stig}{Förster}\onlyvoll{ \editors\ \ktit{1999}}} + {Anticipating Total War. The German and American + Experiences 1871--1914, Cambridge U.\,K.}[13-28]}*[14\f].}% + \,\footnote{\printonlykli{Chickering}{1999}[14\f].\label{RC}}% + \,\footnote { \printonlyvli{Gerald D.}{Feldman}*{\starktit{1999}} + {Hugo Stinnes and the Prospect of War Before 1914, in: + \xprintonlykli{Boemeke} *{\midkauthor{Chickering} \kauthor{Förster}} + {1999}[77-95]}*[77]; sowie \printonlykli{Chickering}{1999}[16].\label{inneribid}}\pdfko{.25}% +} + +\vspace{1.375ex} +\begin{small} +\noindent +\verb| \notannouncektit| \\[.25ex] +\verb| \renewcommand{\ntsep}{\ifbashortcite{ }{: }} % siehe S.|\texttt{\pageref{bacorr}} + +\vspace{-.75ex} +\begin{verbatim} + \footnote { \vli{Roger}{Chickering} *{\starktit{1999}} + {Total War. The Use and Abuse of a Concept, in: + \xvli{Manfred F.}{Boemeke} *{\midvauthor{Roger}{Chickering} + \vauthor{Stig}{Förster}\onlyvoll{ \editors\ \ktit{1999}}} + {Anticipating Total War. The German and American + Experiences 1871--1914, Cambridge U.\,K.}[13-28]}*[14\f].} +\end{verbatim} + +\vspace{-.75ex}\noindent +\verb| \footnote{\kli{Chickering}{1999}[14\f].} % siehe hier Anm.|\texttt{\ref{RC}} + +\vspace{-.75ex} +\begin{verbatim} + \footnote { \vli{Gerald D.}{Feldman}*{\starktit{1999}} + {Hugo Stinnes and the Prospect of War Before 1914, in: + \xkli{Boemeke} *{\midkauthor{Chickering} \kauthor{Förster}} + {1999}[77-95]}*[77]; sowie \kli{Chickering}{1999}[16].} +\end{verbatim} +\end{small} + +\vspace{.375ex}\noindent +Vor \verb|\vauthor{Stig}{Förster}| \textit{und} \verb|\kauthor{Förster}| +sind Leerzeichen, sonst st"unde kein \textsc{ebd.} \hspace{-.05em}in Anm.\,\ref{inneribid}. Und +\verb|\printvli| \hspace{.075em}w"urde in etwa drucken:\vspace{-1ex} + +\subsection*{Literatur} +\begin{description}\parsep 0ex \itemsep -.5ex\sloppy +\item +{\scshape Boemeke}, Manfred F.\baslash {\scshape Chickering}, Roger\baslash {\scshape Förster}, Stig \editors\ +1999: Anticipating Total War. The German and American Experiences +1871-1914, Cambridge U.\,K. +\item +{\scshape Chickering}, Roger 1999: Total War. The Use and Abuse of a Concept, in: +{\scshape Boemeke}\baslash {\scshape Chickering}\baslash {\scshape Förster} 1999 [L], S.\,13-28. +\item +{\scshape Feldman}, Gerald D. 1999: Hugo Stinnes and the Prospect of War Before +1914, in: {\scshape Boemeke}\baslash {\scshape Chickering}\baslash {\scshape Förster} 1999 [L], S.\,77-95. +\end{description} + +\newpage +Im Autor\hy Jahr\hy System wird die Literaturliste automatisch in der Reihenfolge +\hspace{.1em}\textit{Nachname--\hspace{.01em}Vorname--\hspace{.05em}[Nachname--\hspace{.01em}Vorname--]\hspace{.075em}Publikationsjahr} +\hspace{.05em}sortiert. \hspace{.1em}Falls \hspace{.15em}\texttt{bibsort} \hspace{.1em}mit der +Option \texttt{-k} \hspace{.175em}gestartet wird, um wiederholte Namen gegen +\hspace{.1em}{\scshape \Ikillname{}} \hspace{.1em}auszutauschen, k"onnte eine Literaturliste etwa so aussehen: + +\vspace{-1ex} +\begin{description}\parsep 0ex \itemsep -.5ex\sloppy +\item +{\scshape Boemeke}, Manfred F.\baslash {\scshape Chickering}, Roger\baslash {\scshape Förster}, Stig \editors\ +1999: Erster Titel. +\item +{\scshape \Ikillname{}}\baslash {\scshape \killname}\baslash {\scshape \killname} \editors\ +2000: Zweiter Titel. +\item +{\scshape \Ikillname{}}\baslash {\scshape \killname} und {\scshape \killname} \editors\ +2001: Dritter Titel. \texttt{ \%`und' ist sortierrelevant} +\end{description} + +\vspace{-1ex}\noindent +Der letzte Listenpunkt wurde mit \hspace{.2em}\verb*|*{\vauthor{Roger}{Chickering} |\underline{\texttt{un}}\verb|d| +\verb*|\vauthor{Stig}{Förster}\onlyvoll{ \editors\ \ktit{2001}}}| \hspace{.2em}im v\hy Befehl +erzeugt: Dabei steht der vorletzte Autor in \verb|\vauthor| \hspace{.05em}und +\hspace{.1em}\verb*| und| \hspace{.15em}ist dahinter getippt; \hspace{.05em}\texttt{bibsort} f"uhrt \verb|-k| +\hspace{.15em}wie gezeigt durch. +Passende k\fhy Befehle m"ussen \hspace{.2em}\verb*|*{\kauthor{Chickering} und \kauthor{Förster}}| +\hspace{.2em}enthalten. +Dazu ein Beispiel mit \verb|\notibidemize| $-$ und \verb|\conferize|\kern.025em\hy Verweisen +(automatisch wird ein +\hspace{.1em}{\footnotesize\verb|\newlabel{baf.Boemeke.Chickering|\underline{\texttt{un}}\verb|.2001}{{|\texttt{\ref{exconferize}}\verb|}{|\texttt{\pageref{exconferize}}\verb|}}|} +\hspace{.125em}erzeugt):\kern.05em% +{\notktitaddtok + \conferize \renewcommand {\ntsep} {\ifbashortcite{ }{: }}% + \notprinthints \notannouncektit \notwarnsamename \notibidemize +\footnote { \printonlyvli{Peter}{Müller} *{\starktit{2001a}} +{Text 1, in: \xprintonlyvli{Manfred F.}{Boemeke} +*{\vauthor{Roger}{Chickering} und +\vauthor{Stig} {Förster}\onlyvoll{ \editors\ \ktit{2001}}} +{Dritter Titel}[23-45]}.\label{exconferize}}% +\,% +\footnote { \printonlyvli {Peter} {Müller} +*{\starktit{2001b}} +{Text 2, in: +\xprintonlykli{Boemeke} *{\kauthor{Chickering} und +\kauthor{Förster}} +{2001}[46-78]}*[46].}% +\,% +\footnote{\printonlykli{Müller}{2001a}[23]; \printonlykli{Müller}{2001b}[48].}% +}\balabel{notibidemize}% + +\vspace{-.875ex}\begin{small} +\begin{verbatim} + \conferize \renewcommand {\ntsep} {\ifbashortcite{ }{: }} + \notprinthints \notannouncektit \notwarnsamename \notibidemize +\end{verbatim} + +\vspace{-4.5ex} +\begin{verbatim} + \footnote { \vli{Peter}{Müller} *{\starktit{2001a}} + {Text 1, in: \xvli{Manfred F.}{Boemeke} + *{\vauthor{Roger}{Chickering} und + \vauthor{Stig} {Förster}\onlyvoll{ \editors\ \ktit{2001}}} + {Dritter Titel}[23-45]}.} +\end{verbatim} + +\vspace{-4.5ex} +\begin{verbatim} + \footnote { \vli {Peter} {Müller}*{\starktit{2001b}} + {Text 2, in: \xkli{Boemeke} + *{\kauthor{Chickering} und + \kauthor{Förster}} + {2001}[46-78]}*[46].} +\end{verbatim} + +\vspace{-4.5ex} +\begin{verbatim} + \footnote{\kli{Müller}{2001a}[23]; \kli{Müller}{2001b}[48].} +\end{verbatim} +\end{small} + +\vspace{-.375em}\noindent +Speziell \verb|\onlyvoll| und \verb|\starktit| \hspace{.05em}sollten Sie $-$\,wie vorgemacht\,$-$ +nur direkt eintippen: Diese Befehle sollten Sie nicht in \hspace{-.05em}\verb|\newcommand|\kern.05em\hy Makros einsetzen, +sonst kann es zu fehlerhaften Querverweisen kommen \baref{conferizelimits}. + +Falls {\footnotesize\verb|\newlabel|} \hspace{.1em}\textit{zweier} Werke \textit{gleich} sind, +weil die sich z.\,B.\ nur im letzten Autor unterscheiden und der +fehlt (hier: \texttt{F"orster}), lassen sich {\footnotesize\verb|\newlabel|} \hspace{.1em}in der Art +\hspace{.175em}\verb|{\onlybakey{A}2001}| \hspace{.15em}in v- \textit{und} k\fhy Befehlen unsichtbar erg"anzen. + + +Falls bei Autor\hy Jahr\hy Zitierweise in v\fhy Befehlen ein Autorenname mit +\texttt{[f]} oder \texttt{[m]} als \textsc{dies.}\ oder \textsc{ders.}\ gedruckt +werden soll, ist dies einfach: + +\Doppelbox + { + \bs footnote\{\bs vli\{Petra\} \{Maier\} *\{\bs starktit\{2016\}\}\{Der eine Aufsatz\}.\} + \\[.5em] \bs footnote\{\bs vli[f]\{Petra\}\{Maier\} *\{\bs starktit\{2017\}\} \{Der andere Aufsatz\}.\} + \\[.5em] \bs footnote\{\bs kli\{Maier\}\{2017\}.\} + } + {\notktitaddtok + Hier nicht in den Listen.% + \footnote{\printonlyvli{Petra} {Maier} *{\starktit{2016}}{Der eine Aufsatz}.} + \footnote{\printonlyvli[f]{Petra}{Maier} *{\starktit{2017}} {Der andere Aufsatz}.} + \footnote{\printonlykli{Maier}{2017}.} + } + +\noindent +Falls Sie dagegen mit \verb|[p{}]| ein ganzes Autorenteam mit \textsc{diesn.} +"uberschreiben wollen, betrifft dies zus"atzlich das gesamte Sternargument und damit auch +den Kurztitel; \verb|\announcektit| und \verb|\ibidemize| funktionieren so nicht: + +\Doppelbox + {\vspace{1ex} + \bs footnote\{\bs xvli\{Petra\} \{Maier\} *\{\bs vauthor\{Hans\} \{Müller\}\{\bs onlyvoll\{ \bs ktit\{2018\}\}\}\} \{Der eine Aufsatz\}.\} + \\[.5em] \bs footnote\{\bs xvli [p\{\}] \{Petra\} \{Maier\} *\{\bs vauthor\{Hans\} \{Müller\}\bs onlyvoll\{ \bs ktit\{2019\}\}\} \{Der andere Aufsatz\}.\} + \\[.5em] \bs footnote\{\bs xkli\{Maier\} *\{\bs kauthor\{Müller\}\}\{2019\}.\} + \vspace{1ex} + } + {\notktitaddtok + Hier nicht in den Listen.% + \footnote{\xprintonlyvli{Petra} {Maier} *{\vauthor{Hans} {Müller}{\onlyvoll{ \ktit{2018}}}} {Der eine Aufsatz}.} + \footnote{\xprintonlyvli [p{}] {Petra} {Maier} *{\vauthor{Hans} {Müller}\onlyvoll{ \ktit{2019}}} {Der andere Aufsatz}.} + \footnote{\xprintonlykli{Maier} *{\kauthor{Müller}}{2019}.} + } + +\vspace{-.25ex}\noindent +Statt in der letzten Fu"snote \textsc{ebd.}\ zu setzen, weist \BibArts\ bei der \LaTeX\hy "Ubersetzung +darauf hin, dass der Nachname des ersten Autors wiederholt wird. +Im Autor\hy Jahr\hy System ist der Kurztitel innerhalb von \verb|[p{|\textit{xx}\verb|}]| zu wiederholen: + +\Doppelbox + {\vspace{1ex} + \bs footnote\{\bs xvli\{Petra\} \{Maier\} *\{\bs vauthor\{Hans\} \{Müller\}\{\bs onlyvoll\{ \bs ktit\{2018\}\}\}\} \{Der eine Aufsatz\}.\} + \\[.5em] \bs footnote\{\bs xvli [p\{\bs~\bs ktit\{2019\}\}] \{Petra\} \{Maier\} *\{\bs vauthor\{Hans\} \{Müller\}\bs onlyvoll\{ \bs ktit\{2019\}\}\} \{Der andere Aufsatz\}.\} + \\[.5em] \bs footnote\{\bs xkli\{Maier\} *\{\bs kauthor\{Müller\}\}\{2019\}.\} + \vspace{1ex} + } + {\notktitaddtok + Hier nicht in den Listen.% + \footnote{\xprintonlyvli{Petra} {Maier} *{\vauthor{Hans} {Müller}{\onlyvoll{ \ktit{2018}}}} {Der eine Aufsatz}.} + \footnote{\xprintonlyvli [p{\ \ktit{2019}}] {Petra} {Maier} *{\vauthor{Hans} {Müller}\onlyvoll{ \ktit{2019}}} {Der andere Aufsatz}.} + \footnote{\xprintonlykli{Maier} *{\kauthor{Müller}}{2019}.} +} + + +%!!!< \newpage\noindent Wie sind \textbf{Werke} in die Listen aufzunehmen, \textbf{die im Text nie -verwendet wurden}? Solche Werke d"urfen auf den num\hy Listen nicht mit den -Seiten\fhy/""Fu"snotennummern der Stelle gedruckt werden, an der die Angaben -im \hspace{-.2em}\verb|.tex|\hy File stehen; normale addto\hy Befehle sind also -ungeeignet. Stattdessen gibt es die \balabel{unused} \verb|{unused}|\hy -Umgebung. Dort eingef"ugte \BibArts\hy Hauptbefehle bef"ullen nur\pdfko{.25}\ +verwendet wurden}\kern.05em? Solche Werke d"urfen auf den num\hy Listen nicht mit den +Seiten\fhy\ko\slash Fu"snotennummern der Stelle gedruckt werden, an der die Angaben +im Ausdruck stehen; normale addto\hy Befehle sind also +ungeeignet. Stattdessen gibt es die \balabel{unused} \verb|{unused}|\kern.025em\hy +Umgebung. Dort eingef"ugte \BibArts\hy Hauptbefehle (siehe S.\,\pageref{Hauptbefehle}) bef"ullen nur die Listen, sind aber im DVI\fhy\slash PDF\hy File unsichtbar:\footnote{\hspace{.1em}`\ko"Au\hyss ere' Seitenzahlen\hy Angaben, im Beispiel \texttt{[vi]}, -werden auf der Liste nicht gedruckt (hier nicht umgesetzt). Dieses Ignorieren -in \texttt{\{unused\}}\hy Umgebungen erfolgt absichtlich.} +werden auf den Listen nicht gedruckt. Dieses Ignorieren +in \texttt{\{unused\}}\kern.05em\hy Umgebungen erfolgt absichtlich.} \vspace{-.5ex} {\small\begin{verbatim} @@ -1346,10 +1660,10 @@ in \texttt{\{unused\}}\hy Umgebungen erfolgt absichtlich.} Dieses \verb|\vli| wird als \verb|\addtovli|\hy Befehl unbestimmter Herkunft interpretiert (es geht um `"au\hyss erere' v\fhy Befehle).\footnote{\hspace{.1em}`\ko"Au\hyss ere' -\texttt{\bs printonlyvli}\hy Befehle sind in \texttt{\{unused\}}\hy Umgebungen +\texttt{\bs printonlyvli}\hy Befehle sind in \texttt{\{unused\}}\kern.05em\hy Umgebungen genauso sinnlos wie `innere' \texttt{\bs addtovli}\hy Befehle. Nutzen Sie einfach m"oglichst immer \hspace{-.05em}\texttt{\bs vli} etc.} -In \verb|{unused}|\hy Umgebungen d"urfen Sie +In \verb|{unused}|\kern.025em\hy Umgebungen d"urfen Sie alle \BibArts\hy Hauptbefehle wie etwa \verb|\vli|, \kern-.05em\verb|\vqu|, \kern-.05em\verb|\kli|, \kern-.05em\verb|\kqu| sowie die unten Seite~\pageref{per} und \pageref{archivquellen} eingef"uhrten Befehle \verb|\per| und \verb|\arq| nutzen; zwischen solchen Hauptbefehlen d"urfen @@ -1357,32 +1671,32 @@ beliebig Leerzeichen und \textit{einfache} Zeilenumbr"uche stehen. \vspace{2ex}\noindent -Das Innere von v\fhy Befehlen, die in \verb|{unused}|\hy Umgebungen stehen, -wird nicht abgearbeitet. Insofern gilt dasselbe, wie f"ur addto\fhy +Das Innere von v\fhy Befehlen, die in \verb|{unused}|\kern.025em\hy Umgebungen stehen, +wird nicht abgearbeitet. Insofern gilt dort dasselbe, wie f"ur addto\fhy Befehle au\hyss erhalb: \vspace{1ex}\noindent -\parbox{1.8em}{(1)}In einer \verb|{unused}|\hy Umgebung erzeugen +\parbox{1.8em}{(1)}In einer \verb|{unused}|\kern.025em\hy Umgebung erzeugen \hspace{-.15em}\textit{`\kern.05em innere\ko' v\fhy Befehle} keinen eigenen Volleintrag auf den v\fhy Listen. Trotzdem verwandelt \BibArts\ diese Eintr"age dort in Kurzzitate. Im letzten Argument von v\fhy Befehlen stehende v\fhy Eintr"age -sind deshalb nochmals separat in die \verb|{unused}|\hy Umgebung einzuf"ugen. -Oder Sie verwenden statt `innerer' v\fhy Befehle in der Umgebung den Befehl \verb|\ntvauthor| dazu, Herausgeber +sind deshalb nochmals separat in die \verb|{unused}|\kern.025em\hy Umgebung einzuf"ugen. +Oder Sie verwenden statt `innerer' v\fhy Befehle in der Umgebung den Befehl \verb|\ntvauthor|\pdfko{.25}\ dazu, Herausgeber zu nennen (entsprechend dem \hspace{-.05em}\verb|\vqu|\hy Befehl auf Seite~\pageref{ntvauthor}). \vspace{1ex}\noindent \parbox{1.8em}{(2)}Mit \verb|\ktit| markierte -Kurztitel bewirken in \verb|{unused}|\hy Umgebungen keinen Eintrag ins -Kurzzitateverzeichnis.\footnote{Au\hyss erhalb von \texttt{\{unused\}}\hy Umgebungen -wird der Eintrag f"ur die \hspace{-.2em}\texttt{.vkc}\hy Datei +Kurztitel bewirken in \verb|{unused}|\kern.025em\hy Umgebungen keinen Eintrag ins +Kurzzitateverzeichnis.\footnote{Au\hyss erhalb von \texttt{\{unused\}}\kern.05em\hy Umgebungen +wird der Eintrag f"ur die \hspace{-.175em}\texttt{.\ko vkc}\hy Datei \textit{"uber die\pdfko{.4}\ printonly\hy Komponente} eines \hspace{-.05em}\texttt{\bs vli}- oder \hspace{-.05em}\texttt{\bs vqu}\hy Befehls erzeugt: \textit{dort} wird \texttt{\bs ktit} ausgef"uhrt.} Das aber ist meist so erw"unscht. \vspace{1ex}\noindent \parbox{1.8em}{(3)}Direkt vor \verb|\end{document}| -$-$\,dort insbesondere \textit{nach} einer \verb|twocolum|\hy Umgebung\,$-$ -sind \verb|{unused}|\hy Umgebungen schlecht platziert, da sie \textit{dort} nicht +$-$\,dort insbesondere \textit{nach} einer \verb|twocolum|\kern.05em\hy Umgebung\,$-$ +sind \verb|{unused}|\kern.025em\hy Umgebungen schlecht platziert, da sie \textit{dort} nicht mehr umgesetzt werden: Die Eintr"age w"urden die Listen nicht erreichen. Ein guter Platz zum Sammeln ist \textit{vor} dem zugeh"origen Listenausdruckbefehl. @@ -1426,7 +1740,7 @@ ausdrucken zu k"onnen:\vspace{-.4ex} Gr"unde f"ur die neue Umgebung: Die \LaTeX\hy Umgebung \verb|{quote}| setzt den vertikalen Abstand zum Fu"snotenbereich viel zu klein, wenn mitten in den "ubersetzten Zitatblock ein Seitenumbruch f"allt. Damit die -\verb|{originalquote}|\hy Umgebung reagieren kann, versieht \verb|bibarts.sty| +\verb|{originalquote}|\kern.025em\hy Umgebung reagieren kann, versieht \verb|bibarts.sty| den bestehenden \LaTeX\hy Befehl\pdfko{.5}\ \verb|\footnoterule| mit einem Zusatz.\footnote{ Au\hyss erdem wird der \textit{Fu"snotenbereich} an den Fu"s der Seite geschoben @@ -1445,7 +1759,7 @@ lehrbuchgem"a"s \texttt{\bs footnoterule} "andern, beispielsweise: \\[.25ex] \hspace*{2em}{\ttfamily \bs renewcommand\{\bs fnrbasave\}\{\bs noindent\bs rule\{5cm\}\{0.5mm\}\bs vspace\{1ex\}\} }} -Ein zweiter Grund f"ur die \verb|{originalquote}|\hy Umgebung betrifft +Ein zweiter Grund f"ur die \verb|{originalquote}|\kern.025em\hy Umgebung betrifft den Zeilenumbruch. Geistes- und SozialwissenschaftlerInnen zitieren oft in einer von der Basissprache ihres Textes abweichenden Sprache. Dann muss zur richtigen Worttrennung @@ -1513,13 +1827,13 @@ steht, ist eine Besonderheit von \BibArts\ nur S.\,\pageref{Trennbeispiel} bei "`Zum Schluss ..."' zu sehen: \verb|bibsort| reproduziert den am Zugang g"ultigen Trennsatz \textit{beim Listenausdruck}. Bei der \LaTeX\hy "Ubersetzung -kommen \textit{bei der Datei mit der erzeugten Liste} Bildschirm\hy +\textit{der Datei mit der erzeugten Liste} kommen Bildschirm\hy Meldungen:\label{hyphenation}% \vspace{-0.5ex} {\scriptsize\begin{verbatim} - [bibsort] Reproduce hyphenation 73 in line 1969 of BibArts file. - [bibsort] Reproduce hyphenation 48 in line 1974 of BibArts file. + [bibsort] Reproduce hyphenation 73 in line 2259 of BibArts file. + [bibsort] Reproduce hyphenation 48 in line 2264 of BibArts file. \end{verbatim}} \vspace{-0.75ex}\noindent @@ -1554,7 +1868,7 @@ Abs"atzen: \vspace{2.5ex}\noindent Die verschiedenen Befehle zur Trennsatz\hy Einstellung sind -kombinierbar. Falls in einer \verb|{originalquote}|\hy Umgebung +kombinierbar. Falls in einer \verb|{originalquote}|\kern.025em\hy Umgebung der Titel des zitierten Werkes eine andere Sprache als das w"ortliche Zitat hat, darf \verb|\sethyphenation| am Kopf\pdfko{1}\ der Fu"snote stehen. Falls Sie \verb|\sethyphenation| oder @@ -1576,7 +1890,7 @@ $-$ Bei wechselnden Trennhilfen \texttt{\bs-} und \texttt{\dq-} setzt \hspace{.1em}dagegen richtig.} \vspace{1.5ex}\noindent -Nebenbei: Die \verb|{originalquote}|\hy Umgebung und der +Nebenbei: Die \verb|{originalquote}|\kern.025em\hy Umgebung und der \verb|\sethyphenation|\hy Befehl "andern absichtlich auch das \textit{spacing} nicht, weil dies in einem Text durchgehend gleich sein sollte. Vgl. unten Kap.\,\ref{nonfrenchspacing} ab S.\,\pageref{nonfrenchspacing} und @@ -1584,17 +1898,17 @@ Kap.\,\ref{Punkte} ab S.\,\pageref{Punkte}. \vspace{1.5ex}\noindent \BibArts\ reproduziert beim Listenausdruck zudem den Befehl \verb|\originalTeX|\pdfko{.25}\ -aus \verb|german.sty| bzw.\ \verb|ngerman.sty|, +aus \verb|german.sty| bzw\ko.\ \verb|ngerman.sty|, falls ein Eintrag aus einem Umfeld mit ver"andertem \textit{catcode} f"ur \verb|"| herstammt. Von den beiden \verb|"a| unten S.\,\pageref{originaltex} ist nur eines als "a einsortiert. \verb|\originalTeX| schaltet zudem in den Basis\hy Trennsatz um; -mir meldete die \LaTeX\hy "Ubersetzung (mit babel unterbliebe dies einfach): +mir meldete die \LaTeX\hy "Ubersetzung (\ko unter babel funktioniert dies nicht\ko): \vspace{-.75ex}{\scriptsize\begin{verbatim} - [bibsort] Set \baoriginalTeX in line 64 of BibArts file. - [bibsort] Reproduce hyphenation 0 in line 50 of BibArts file. - [bibsort] Set \bagermanTeX in line 55 of BibArts file. (new) - [bibsort] Reproduce hyphenation 48 in line 56 of BibArts file. + [bibsort] Set \baoriginalTeX in line 50 of BibArts file. + [bibsort] Reproduce hyphenation 0 in line 51 of BibArts file. + [bibsort] Set \bagermanTeX in line 56 of BibArts file. (new) + [bibsort] Reproduce hyphenation 48 in line 57 of BibArts file. \end{verbatim}} \vspace{-1ex}\noindent @@ -1603,7 +1917,7 @@ f"uhrt selbst"andig \hspace{-.1em}\verb|\germanTeX| oder \hspace{-.1em}\verb|\ng (mit Meldungen \texttt{\footnotesize (old)} oder \texttt{\footnotesize (new)}) aus, je nachdem, ob Sie \verb|german.sty| oder \verb|ngerman.sty| geladen haben.\footnote{\label{bagermanTeX}Die Zwischenstufe mit -\texttt{\bs baoriginalTeX} bzw.\ \hspace{-.05em}\texttt{\bs bagermanTeX} dient dazu, dass +\texttt{\bs baoriginalTeX} bzw\ko.\ \hspace{-.075em}\texttt{\bs bagermanTeX} dient dazu, dass Sie mit \texttt{\bs renewcommand} beide Definitionen ausschalten k"onnen, falls es in Ihrem Text eine andere Bedeutung hat, wenn sich der \textit{catcode} des \texttt{\dq} "andert. Siehe auch unten S.\,\pageref{original} samt Anm.\,\ref{original}.} @@ -1730,7 +2044,7 @@ d"urfen also auch keine Leerzeichen enthalten. F"ur das \verb|"| in \verb|"`| und \verb|"'| ist zudem Voraussetzung, dass es einen \textit{catcode} von 13 (\textit{aktiv}) hat, wie es nach Laden etwa von \verb|ngerman.sty| oder babel\hy ngerman der Fall ist. Sonst (Englisch\hy Original\hy\LaTeX) sind auch -\verb|\abra{"}| bzw.\ \verb|\fabra{"}| m"oglich:~{\originalTeX\fabra{"}} \hspace{.175em}(\texttt{U+0022}). +\verb|\abra{"}| bzw\ko.\ \verb|\fabra{"}| m"oglich:~{\originalTeX\fabra{"}} \hspace{.175em}(\texttt{U+0022}). \vspace{1ex}\vfill\noindent In den `kleinen' Klammern der abra\hy Befehle setzt \BibArts\ @@ -1783,7 +2097,7 @@ funktioniert nicht). \vspace{1.5ex}\noindent Dieses automatische \textit{kerning} l"asst sich durch \verb|\nothyko| ausschalten (Wiedereinschalten mit \verb|\hyko|). Setzen von -\verb|\hy{}|\hspace{-.15em}\textit{Wort} bzw.\ +\verb|\hy{}|\hspace{-.15em}\textit{Wort} bzw\ko.\ \verb|\fhy{}|\hspace{-.15em}\textit{Wort} unterbindet es ebenfalls. Das folgende Wort kann dann immer noch getrennt werden. In einem \texttt{typewriter}\hy Umfeld sollten Sie weiterhin @@ -1894,8 +2208,8 @@ Bildschirmausdruck allerdings etwa so: \vspace{-.5ex}\noindent Verwenden Sie Abk"urzungen im Text, die \textit{nur} in Fu"snoten -aufgel"ost sind, erscheint (nicht\hy abschaltbar) eine Bildschirm\hy -Warnung. Falls Sie tippen ... +aufgel"ost sind, erscheint eine Bildschirm\hy +Warnung. Falls Sie etwa tippen ... \Doppelbox {...\bs footnote\b{\{}Ein \bs abkdef\{e.\bs,V.\} @@ -1909,7 +2223,7 @@ Warnung. Falls Sie tippen ... \noindent ... "ubernimmt \verb|bibsort| Abk"urzung und zugeh"orige Auf"|l"osung -zwar ins Abk"urzungsverzeichnis, meldet allerdings stets etwas wie: +zwar ins Abk"urzungsverzeichnis, meldet allerdings etwas wie: {\scriptsize\begin{verbatim} %%> Warning: Abbreviation "e.\,V." is used in @@ -1924,7 +2238,7 @@ in einer vorausgehenden Editorzeile befand. \vspace{2ex}\noindent Das Abk"urzungsverzeichnis wird hier mit \verb|\printnumabklist| ausgedruckt. -Die Befehle \verb|\printabk| bzw.\ das zentrale \verb|\printnumabk| ergeben +Die Befehle \verb|\printabk| bzw\ko.\ das zentrale \verb|\printnumabk| ergeben einen doppelspaltigen Ausdruck in \verb|\footnotesize| auf einer neuen Seite unter der "Uberschrift \textbf{Abk"urzungen}, was hier nur aus Platzgr"unden unterbleibt: @@ -1938,7 +2252,7 @@ defaultm"a\hyss ig \verb|\bfseries| ausf"uhrt (\textbf{fett}). Die Seiten, von denen Definitionen herstammen, sind in der Auf"|listung von Seitenzahlen nicht hervorgehoben. Eine Hervorhebung einzelner Seitenzahlen sieht -auch \BibArts\ 2.4 nie vor. +auch \BibArts\ 2.5 nie vor. F"ur Abk"urzungen wie \printonlyabk{u.\,a.}, die Allgemeingut sind und deshalb vielleicht nicht ins Abk"urzungsverzeichnis sollen, kann @@ -1951,7 +2265,7 @@ die Hervorhebung von Abk"urzungen ausschalten und dann \verb|u.\,a.| tippen. Falls ein Eintrag ins Abk"urzungsverzeichnis soll, man sich die Auf"|l"osung im Text aber sparen will, hilft die bereits erw"ahnte -\verb|{unused}|\hy Umgebung: +\verb|{unused}|\kern.025em\hy Umgebung: \vspace{-1.25ex} {\small @@ -1966,8 +2280,8 @@ Auf"|l"osung im Text aber sparen will, hilft die bereits erw"ahnte \end{unused} \vspace{-1ex}\noindent -Solche Definitionen kommen ohne Seiten\fhy/""Fu"snotennummer in die -num\hy Liste. Zudem kann \verb|\abk{u.\,a.}| dann "uberall im Text +Solche Definitionen kommen ohne Seiten\fhy\ko\slash Fu"snotennummer in die +num\hy Liste. Zudem kann \hspace{.1em}\verb|\abk{u.\,a.}| \hspace{.15em}dann "uberall im Text (also auch davor) verwendet werden, ohne dass \verb|bibsort| das Fehlen der Auf"|l"osung bem"akelt. @@ -2044,7 +2358,7 @@ Dasselbe l"asst sich erreichen durch \hspace{-.05em}\verb|\onlyout| \noindent Es gibt somit auch zwei Notationsarten, um eine in Text und Liste -abweichende Gro"s\fhy/""Kleinschreibung der Abk"urzung auszudrucken: +abweichende Gro"s\fhy\ko\slash Kleinschreibung der Abk"urzung auszudrucken: \Doppelbox {\vspace{.75ex} @@ -2333,9 +2647,9 @@ mittels \verb|\renewcommand{\gpername}{, Heft }| ver"andern \vspace{.9ex}\noindent Falls \BibArts\ nach v\fhy, k- oder per\hy Befehlen im Eintrag zwischen den -\textit{senkrechten\pdfko{.5}\ Strichen} bzw.\ zwischen den \textit{underscores} +\textit{senkrechten\pdfko{.5}\ Strichen} bzw\ko.\ zwischen den \textit{underscores} Singular und Plural nicht richtig erkennt, l"asst sich mit -\verb|\basingular| bzw.\ \verb|\baplural| \textit{am Ende} +\verb|\basingular| bzw\ko.\ \verb|\baplural| \textit{am Ende} nachjustieren:\label{baplural} \vspace{-.25ex} @@ -2375,8 +2689,9 @@ nachjustieren:\label{baplural} } \vspace{-.25ex}\noindent -Falls Sie zwischen \verb+|+...\verb+|+ und \verb+_+...\verb+_+ -unbeabsichtigt wechseln (vgl.\ Anm.\,\ref{Wechsel}), +Falls Sie zwischen \hspace{.25em}{\footnotesize\verb+|+...\verb+|+} +\hspace{.325em}und \hspace{.325em}{\footnotesize\verb+_+...\verb+_+} +\hspace{.275em}unbeabsichtigt wechseln (vgl.\ Anm.\,\ref{Wechsel}), erhalten Sie keine Warnung (die Zahlen werden im selben Speicher hinterlegt). \BibArts\ macht auch hier nur die oben S.\,\pageref{before} und \pageref{pervol} beschrieben Fehlermeldungen. @@ -2462,7 +2777,7 @@ In Voreinstellung \verb|\printlongpervol| wird vor der \verb+|+\ko\textit{Bandnummer}\ko\verb+|+ der Separator\hspace{.2em} {\footnotesize Bd.}\hspace{.2em} ausdruckt. Mit \verb|\notprintlongpervol| wird stattdessen nur -ein Leerzeichen gedruckt; davor bleibt nach {\footnotesize [L]} bzw.\ +ein Leerzeichen gedruckt; davor bleibt nach {\footnotesize [L]} bzw\ko.\ {\footnotesize [Q]} das Komma erhalten: \Doppelbox @@ -2503,25 +2818,25 @@ Setzung zus"atzlich\hspace{.1em} {\footnotesize Nr.}\hspace{.1em} nicht ausgedru { \bs notprintlongpagefolio \\[.5ex] \bs footnote\{ - \\ \ \ \bs per\{ShortMagazine\}\string_25\string_[4].\} + \\ \ \bs per\{Le Petit Journal\}\string_25\string_[4].\} \\[.2ex] \bs footnote\{ - \\ \ \ \bs per\{ShortMagazine\}\string_25\string_[5].\} + \\ \ \bs per\{Le Petit Journal\}\string_25\string_[5].\} \\[.2ex] \bs footnote\{ - \\ \ \ \bs per\{ShortMagazine\}\string_26\string_[6].\} + \\ \ \bs per\{Le Petit Journal\}\string_26\string_[6].\} \\[3ex] \bs notprintlongpervol \\[.5ex] \bs footnote\{ - \\ \ \ \bs per\{ShortMagazine\}\string_27\string_[7].\} + \\ \ \bs per\{Le Petit Journal\}\string_27\string_[7].\} } { \notprintlongpagefolio - \footnote{\per {ShortMagazine}_25_[4].} + \footnote{\per {Le Petit Journal}_25_[4].} - \footnote{\per {ShortMagazine}_25_[5].} + \footnote{\per {Le Petit Journal}_25_[5].} - \footnote{\per{ShortMagazine}_26_[6].} + \footnote{\per{Le Petit Journal}_26_[6].} \notprintlongpervol - \footnote{\per{ShortMagazine}_27_[7].} + \footnote{\per{Le Petit Journal}_27_[7].} } @@ -2604,9 +2919,10 @@ in \verb|\gpername| das zweite Argument von \verb|\ifbaibidem| dann ("Anderung in \BibArts\ 2.2).} \vspace{3ex}\noindent -Die Befehle sind auch auf Listen anwendbar. Ausgedruckt -werden w"urde beispielsweise ein Eintrag unter\hspace{.1em} -\verb|{\notprintlongpagefolio|\,\verb|\printvqu|\,\verb|}|\hspace{.1em} so: +Die genannten Befehle sind auch auf Listen anwendbar. Ausgedruckt +werden w"urde beispielsweise mittels +\hspace{.25em}\verb|{\notprintlongpagefolio|\,\verb|\printvqu|\,\verb|}| +\hspace{.25em}etwa: \vspace{.1ex} {\footnotesize @@ -2683,7 +2999,7 @@ Neue Akte, erste Mappe.\footnote{\arq{Haber am 17.12.1914 an Kultusminister} {GStAPK, HA\,1, Rep~76~Vc, Sekt~1, Tit~23, Litt~A, Nr.\,108}|2|(223\f).} -Selbe Mappe, anderes Schriftst"uck.\footnote{\arq{Setsuro Tamaru am 24.12.1914 an +Selbe Mappe, neues Schriftst"uck.\footnote{\arq{Setsuro Tamaru am 24.12.1914 an Clara Haber} {GStAPK, HA\,1, Rep~76~Vc, Sekt~1, Tit~23, Litt~A, Nr.\,108}|2|(226-231).} @@ -2818,7 +3134,7 @@ R\,8729~4}(94) ersten Argumente von\hspace{-.1em} \verb|\arq|) zur Nachvollziehbarkeit als \hspace{.1em} {\small\verb|%%|~\textit{Kommentar}\ko~\verb|%%|} -\hspace{.1em} im\hspace{-.1em} \verb|.aux|\hy File festgehalten: +\hspace{.1em} im \hspace{-.1em}\verb|.aux|\hy File festgehalten: \vspace{-.75ex} {\footnotesize\begin{verbatim} @@ -2828,13 +3144,13 @@ zur Nachvollziehbarkeit als \hspace{.1em} \end{verbatim}} \vspace{-.75ex}\noindent -Die Eintr"age {\small\verb|(f)|} bzw.\ {\small\verb|(mpf)|} +Die Eintr"age {\small\verb|(f)|} bzw\ko.\ {\small\verb|(mpf)|} dokumentieren, ob Zug"ange aus einer normalen oder \verb|minipage|\hy Fu"snote herstammen (oder leer: nicht aus einer Fu"snote). \vspace{1.25ex}\noindent -Im\hspace{-.1em} \verb|.arq|\hy File stehen alle +Im \hspace{-.1em}\verb|.arq|\hy File stehen alle \textsf{R\,8729~4} zusammengefasst unter der BA\hy "Uberschrift. Im {\small\verb|%%|~\textit{Kommentar}\ko~\verb|%%|} steht der erste Eintrag. @@ -2971,7 +3287,7 @@ am Kopf von \texttt{\bs xrrlistopen} weder \texttt{\bs bastrut} noch die \textit{italics}\hy Korrektur \texttt{\bs bacorr} n"otig; vgl. unten das Kap.\,\ref{schraegkap} ab S.\,\pageref{schraegkap}.} Die Serie von fill\hy Befehlen ist im folgenden sorgf"altigen Beispiel -in eine \verb|{unused}|\hy Umgebung gesetzt \baref[vgl.]{unused}, +in eine \verb|{unused}|\kern.025em\hy Umgebung gesetzt \baref[vgl.]{unused}, damit an ihren Positionen im Text kein horizontaler Leerraum erzeugt wird: \vspace{1ex} @@ -3005,7 +3321,7 @@ diesem Nachnamen angetippt werden. Diese Nutzung ist wohl nur f"ur Fortgeschrittene geeignet. Verdeutlicht werden sollte jedoch: Die lokalen Umdefinitionen von \verb|\xrrlistopen| und \verb|\xrrlistclose| reisen separat mit dem \verb|Churchill|\hy\ und\pdfko{.25}\ -\verb|Bethmann-Hollweg|\hy \textit{fill} ins \hspace{-.2em}\verb|.prr|\hy File. +\verb|Bethmann-Hollweg|\hy \textit{fill} ins \hspace{-.175em}\verb|.prr|\hy File. Dann druckt \verb|\printnumprr| in etwa: @@ -3028,13 +3344,13 @@ besteht oft aus mehreren schon vorhandenen \LaTeX\hy Befehlen. Falls Sie den neuen Befehl in eines der Argumente eines \BibArts\hy Befehls, etwa \hspace{-.1em}\verb|\vli|\kern.01em, tippen, wird bei der \LaTeX\hy "Ubersetzung eine Kopie dieser Argumente an Ort und Stelle -ausgedruckt und eine zweite Kopie in das \hspace{-.2em}\verb|.aux|\hy +ausgedruckt und eine zweite Kopie in das \hspace{-.175em}\verb|.aux|\hy File geschrieben. Ist der neue Befehl nicht gesch"utzt, wird er beim -Schreiben in das \hspace{-.2em}\verb|.aux|\hy File allerdings +Schreiben in das \hspace{-.175em}\verb|.aux|\hy File allerdings teilweise ausgef"uhrt. Besteht seine Deklaration aus gesch"utzten Befehlen, werden \textit{sie}\pdfko{.25}\ -in das \hspace{-.15em}\verb|.aux|\hy -File geschrieben, sonst wiederum deren Deklarationen $-$ u.\,s.\,w. +in das \hspace{-.125em}\verb|.aux|\hy +File geschrieben, sonst wiederum deren Deklarationen $-$ u.\,s.\,w\ko. Solche Befehle nennt man \textit{zerbrechlich}. Ist ein zerbrechlicher Befehl ungesch"utzt, droht zumindest, dass \verb|bibsort| Ihre @@ -3047,25 +3363,24 @@ Befehle so definiert sind, dass sie nicht expandieren. Bleibt aber das Risiko, d Titel mit Ihren eigenen Neudefinitionen falsch einsortiert. Wenn Sie etwa \hspace{.1em}\verb|\newcommand{\meinspace}{{\hskip| \verb|3cm}}| \hspace{.1em}definieren und \hspace{.1em}\verb|\meinspace| \hspace{.1em}in das Argument eines \verb|\vli|\hy Befehls tippen, wird -\hspace{.1em}\verb|{\hskip 3cm}| \hspace{.1em}ins \hspace{-.2em}\verb|.aux|\hy File geschrieben und beim +\hspace{.1em}\verb|{\hskip 3cm}| \hspace{.1em}ins \hspace{-.175em}\verb|.aux|\hy File geschrieben und beim Einsortieren Ihres Literaturtitels \hspace{.05em}\verb|3cm| \hspace{.05em}mitgewichtet.\footnote{Zur richtigen Sortierung k"onnte \texttt{\bs newcommand\{\bs meinspace\}\{\bs nosort\{\bs hskip 3cm\}\}} definiert werden; dies ist aber nur bei \textit{absichtlich} zerbrechlichen Definitionen einzusetzen.} \underbar{Gegenma"snahme:} Durch Tippen von \verb|\protect\meinspace| in solche Argumente ist der Befehl gesch"utzt; es wird \verb|\meinspace| -ins \hspace{-.2em}\verb|.aux|\hy File kopiert.\footnote{\texttt{\bs protect} +ins \hspace{-.175em}\verb|.aux|\hy File kopiert.\footnote{\texttt{\bs protect} muss nicht mit \texttt{\bs onlyout} maskiert werden: Es arbeitet in der addto- und der printonly\hy Komponente etwa von \texttt{\bs vli} eigenst"andig unterschiedliche Deklarationen ab.} Wie sich \LaTeX\hy Befehle verhalten, "anderte sich wie gesagt "uber verschiedene Versionen hinweg. Seit Kurzem ist \verb|\underline| von \LaTeX\ selbst gesch"utzt, doch -im \hspace{-.2em}\verb|.aux|\hy File werden unterschiedlich viele Leerzeichen +im \hspace{-.175em}\verb|.aux|\hy File werden unterschiedlich viele Leerzeichen erzeugt, falls Sie bei \textit{einem} Titel mal trotzdem \verb|\protect| verwenden und mal nicht. -Statt einer Zusammenfassung zu \textit{einem} Listenpunkt erscheinen \textit{zwei} Eintr"age auf -den Listen und au\hyss erdem scheitert das \textsc{ebd.}\hy Setzen (wie schon -Seite~\pageref{underline} erw"ahnt). +Statt einer Zusammenfassung zu \textit{einem} Listenpunkt erscheinen \textit{zwei} Eintr"age auf\pdfko{.5}\ +den Listen und au\hyss erdem scheitert das \textsc{ebd.}\hy Setzen. Einen bestimmten \LaTeX\hy Befehl, den Sie in \BibArts\hy Argumenten nutzen, sollten Sie also einheitlich sch"utzen, oder nicht. @@ -3077,10 +3392,10 @@ oben S.\,\pageref{ProtectBeispiel} f"ur \texttt{\bs ko} vorgemacht\,$-$ \texttt{\bs protect} in eine Doppel\hy Definition setzen (um der Problematik auszuweichen).} Ob ein Befehl mit \verb|\protect| gesch"utzt werden sollte, ist nicht immer nur am -Umstand erkennbar, ob das, was Sie im\hspace{-.15em} \verb|.tex|\hy File eingegeben haben, -auch ebenso im\hspace{-.15em} \verb|.aux|\hy File erscheint. Der \BibArts\hy Befehl \verb|\hyf| +Umstand erkennbar, ob das, was Sie im \hspace{-.175em}\verb|.tex|\hy File eingegeben haben, +auch ebenso im \hspace{-.175em}\verb|.aux|\hy File erscheint. Der \BibArts\hy Befehl \verb|\hyf| ist ein Beispiel: Falls Sie \verb|\sethyphenation{german}| festgelegt haben, -wird ins\hspace{-.15em} \verb|.aux|\hy File \verb|\oldhyf| eingetragen, sonst \verb|ff|. Das +wird ins \hspace{-.175em}\verb|.aux|\hy File \verb|\oldhyf| eingetragen, sonst \verb|ff|. Das sollte eben nicht mit \verb|\protect| unterbunden werden (\verb|bibsort| kann sogar nur \verb|\oldhyf| richtig als \verb|f| sortieren, nicht jedoch \verb|\hyf|). Der Befehl macht aus \verb|Sto\hyf figur| unter Voreinstellung \verb|\sethyphenation{german}| @@ -3145,13 +3460,12 @@ der \BibArts\hy Hauptbefehle egal, ob \hspace{-.1em}\verb|\hyss| mit \newpage \section{Punkte, \,\texttt{\bs bahasdot} \,und \,\texttt{\bs banotdot}}\label{Sect10}\label{Punkte} -Die \BibArts\hy Befehle, die statt ihrer Argumente auch \textsc{ebd.} -ausdrucken k"onnen, -d"urfen den Ausdruck eines unmittelbar nach ihnen +\BibArts\hy Befehle, die statt ihrer Argumente auch \textsc{ebd.} +ausdrucken k"onnen, d"urfen den Ausdruck eines direkt nach ihnen getippten Punktes eigenst"andig unterbinden. Sonst w"urden am Satzende oft zwei Punkte gedruckt (\kern-.5pt\textsc{ebd.}.). -Diese Befehle sind \verb|\kli|, \verb|\kqu|, \verb|\per| -und \verb|\abkper|, sowie \verb|\arq|. +Das sind kli\fhy, kqu\fhy, per- und arq\hy Befehle samt aller ihrer +printonly\hy Varianten. %% zudem speziell \verb|\abkper| %% \vspace{1ex}\noindent In englischen Texten (unter \verb|\nonfrenchspacing|)\hspace{.1em} stellen @@ -3161,6 +3475,7 @@ Befehle markiert ein Satzende und verl"angert das \verb*| | entsprechend. Auch in \hspace{.1em}\verb*|\abk{X.X.X.}. | \hspace{.25em}bezeichnet \hspace{.25em}\verb*|}. | \hspace{.2em}ein Satzende. Es druckt \textit{immer} \hspace{.05em}\abk{X.X.X.}. +%% spacing ist auch nach v-Befehlen korrekt %% Auch im \hspace{-.05em}\verb|\frenchspacing| \hspace{.05em}(dt.\ oder frz.\ \hspace{-.05em}Texte mit stets gleicher Leerzeichenl"ange) @@ -3188,7 +3503,7 @@ Sie befehlen, den Punkt zu `verschlucken'\kern-.05em. \vspace{1ex}\noindent Diese Halbautomatisierung ist seit Version~2.2 auf Band- und Seitenangaben ausgedehnt. Weiterhin drucken\hspace{.1em} \verb|\f].| und\hspace{.15em} \verb|\sq].|\hspace{.1em} -(f"ur \textit{folgende} bzw.\ \textit{sequentes}\ko) \hspace{.05em}ein `f.' +(f"ur \textit{folgende} bzw\ko.\ \textit{sequentes}\ko) \hspace{.05em}ein `f.' unter {\small\verb|\bacaptionsgerman|} und (Beispiel) {\small\verb|\bacaptionsenglish|}: \vspace{1.25ex}\noindent @@ -3242,7 +3557,7 @@ erfolgen: \vspace{2ex}\noindent Nicht automatisch bew"altigt wird \,\verb|!\banotdot}| \,vor \textit{mehreren} Punkten. Zur\pdfko{.5}\ -L"osung dieses sehr seltenen Problems kann \hspace{-.075em}\verb|\strut| nach \verb|}| gesetzt +L"osung dieses sehr seltenen Problems \label{strut} kann \hspace{-.075em}\verb|\strut| nach \verb|}| gesetzt werden: \verb|\kli{N.}{XX!\banotdot}...| kann zur falschen \textit{italics}\hy Korrektur {\renewcommand{\kxxemph}{\itshape}\notprinthints \showbacorr \printonlykli{N.}{XX!\banotdot}...\pdfko{.25}\ @@ -3255,72 +3570,68 @@ f"uhren, w"ahrend Einfacher ist sicher, wenn Sie sich Kurztitel ohne Satzzeichen aussuchen.}} -\vspace{4ex}\noindent -Nach dem letzten Argument von \hspace{-.1ex}\verb|\vli| oder -\hspace{-.05ex}\verb|\vqu| \hspace{.05ex}l"oscht \BibArts\ einen Punkt\pdfko{.5}\ -\textit{im Text} \underline{nie} automatisch, -weil es \hspace{-.075ex}\textit{dort} das letzte Argument nicht durchsucht. -Falls das letzte Argument eines v\fhy Befehls mit einem Punkt -enden sollte, ist die Verwendung von \verb|\bahasdot| in jeder -Sprache sinnvoll, denn nur dann ist ein sp"aterer Wechsel zwischen -\verb|\announcektit| und \verb|\notannouncektit| -m"oglich (die Ank"undigung der sp"ateren Kurzzitierweise). - -\vspace{-.4ex} +\vspace{4.5ex}\noindent +Seit Version 2.5 behandelt \BibArts\ \hspace{.025em}\textbf{Punkte} nun auch am Ende des letzten +Arguments von \hspace{-.1ex}\verb|\vli| oder +\hspace{-.05ex}\verb|\vqu| eigenst"andig. Dieser Automatismus ist wichtig, falls \verb|\notannouncektit| gesetzt +oder \verb|\ktit| "uberhaupt nicht verwendet wird.\footnote{Allerdings ist nicht +vorgesehen, dass in \texttt{\bs gannouncektitname}\kern.025em, +\hspace{-.025em}\texttt{\bs fannouncektitname}\pdfko{.5}\ +oder \hspace{.1em}\texttt{\bs eannouncektitname} \hspace{.025em}\baref{announcektit} etwas +wie \texttt{\bs bapoint} \hspace{.025em}steht; es w"urde nicht automatisch bedient. Die drei genannten Separatoren +definieren den Text f"ur die \textit{im Folgenden\pdfko{.75}\ \hspace{-.075em}\fabra{...}}\kern.1em\hy +Ank"undigung und sollen diesen weiterhin stets mit einem Klammersymbol einleiten.} +Nur in Sonderf"allen ist weiterhin \verb|\bahasdot| oder \verb|\banotdot| n"otig: + \Doppelbox -{\vspace{.5ex} -\bs notannouncektit -\\[.25ex] -Vers.\string~1: \bs vli\{Niklas\}\{Luhmann\} \{\bs ktit\{Soziale Systeme\}. Grundriß -einer allgemeinen Theorie, 1984: Frankfurt/M.\}. \ \ \%\%~FALSCH -\\[1.5ex] -\% Nicht in den Listen umgesetzt: -\\[.5ex] -Vers.\string~2: \bs vli\{Niklas\}\{Luhmann\} \{\bs ktit\{Soziale Systeme\}. Grundriß -einer allgemeinen Theorie, 1984: Frankfurt/M.\bs bahasdot\}. Das ... -\vspace{.75ex} +{\vspace{2ex} +\bs vli\{Niklas\}\{Luhmann\} +\\ \ \{Soziale Systeme. +\\ \ \ Grundriß einer allgemeinen +\\ \ \ Theorie, 1984: +\\ \ \ Frankfurt/M.\}. \ \ \ \% . am Ende +\\[3.25ex] +\bs vli\{Niklas\}\{Luhmann\} +\\ \ \{Soziale Systeme. +\\ \ \ Grundriß einer allgemeinen +\\ \ \ Theorie, 1984: +\\ \ \ \string`Frankfurt/M.\string'\}. \ \% \string' am Ende +\\[3.25ex] +\bs vli\{Niklas\}\{Luhmann\} +\\ \ \{Soziale Systeme. +\\ \ \ Grundriß einer allgemeinen +\\ \ \ Theorie, 1984: +\\ \ \ \string`Frankfurt/M.\string'\bs banotdot\}. +\vspace{1.5ex} } -{\vspace{1.1ex} -\notannouncektit -Vers.~1: \vli{Niklas}{Luhmann} {\ktit{Soziale Systeme}. Grundriß -einer allgemeinen Theorie, 1984: Frankfurt/M.}. -\\[2.375ex] -Vers.~2: \printonlyvli{Niklas}{Luhmann} {\ktit{Soziale Systeme}. Grundriß -einer allgemeinen Theorie, 1984: Frankfurt/M.\bahasdot}. -Das ist auch unter \texttt{\bs frenchspacing} besser! -}% -\label{v-Ausnahme}% - -\noindent -Beim Drucken \hspace{-.1em}\textit{der Listen} wird im letzten Argument von v\fhy Befehlen -aber nach `Punkt' gesucht; Frankfurt/M.. ist so in -\hspace{-.05em}\verb|\printvli| und \verb|\printvqu|\pdfko{.3}\ -ausgeschlossen (solange nicht etwas wie \verb|.{}}| -am Ende steht). Vers.\,2 ist in den Listen nicht umgesetzt, -um dort zwei Luhmann\hy Eintr"age zu vermeiden. +{\texttt{\% . wird automatisch behandelt:} +\\ \printonlyvli{Niklas}{Luhmann} {Soziale Systeme. Grundriß +einer allgemeinen Theorie, 1984: Frankfurt/M.}. +\\[4.2ex] +\texttt{\% BibArts druckt den . nach \} :} +\\ \printonlyvli{Niklas}{Luhmann} {Soziale Systeme. Grundriß +einer allgemeinen Theorie, 1984: `Frankfurt/M.'}. +\\[4.2ex] +\texttt{\% Punkt von Hand ausgeschaltet:} +\\ \printonlyvli{Niklas}{Luhmann} {Soziale Systeme. Grundriß +einer allgemeinen Theorie, 1984: `Frankfurt/M.'\banotdot}.% +\vspace{.5ex}}% -\vfill\noindent -Zusammengefasst gibt es eine Ausnahme bei v\fhy Befehlen, -nachdem der Schalter \verb|\notannouncektit| gesetzt wurde. -Falls Sie darauf in deutschen Texten (\texttt{ngerman.sty} -\hspace{.05em}setzt \verb|\frenchspacing|) und auf \hspace{.05em}\verb|\notprinthints| -verzichten, brauchen Sie \hspace{-.05em}\verb|\banotdot| -und \verb|\bahasdot| nicht unbedingt zu kennen. \newpage\noindent F"ur die \textbf{Definition der Textelemente}, die f"ur den Ausdruck zwischen den Argumenten von \BibArts\hy Befehlen vorgefertigt sind (`Separatoren'), dient der Befehl \verb|\bapoint| zum Drucken eines Punktes am Separatoren"-\textit{kopf}. -\hspace{.1em}\verb|\bapoint| reagiert auf die Suche nach einem Punkt \textit{am Endes des +\balabel{bapoint} \hspace{.1em}\verb|\bapoint| reagiert auf die Suche nach einem Punkt \textit{am Endes des Arguments davor}\pdfko{.01}\ -(bzw.\ auf Ihr \verb|\bahasdot| oder \verb|\banotdot|) und druckt dann +(bzw\ko.\ auf Ihr \verb|\bahasdot| oder \verb|\banotdot|) und druckt dann \textit{keinen} Punkt. Falls Sie im Text in \hspace{-.05em}\verb|\arq| \hspace{.05em}zwischen Schriftst"uck und Signatur einen Punkt statt ein Komma haben wollen, m"ussen Sie\hspace{-.1em} \verb|\arqsep| -umdefinieren. Sie sollten nicht \verb*|{. }|\kern.1em\ zuweisen:\kern.2em\ -\verb|\renewcommand{\arqsep}{\bapoint\newsentence}| reagiert automatisch +umdefinieren. Sie sollten nicht \hspace{.05em}\verb*|{. }| \hspace{.1em}zuweisen: +\hspace{.125em}\verb|\renewcommand{\arqsep}{\bapoint\newsentence}| reagiert automatisch und druckt keinen Punkt, wenn die sp"atere Eingabe des Schriftst"ucks bereits selbst mit einem Punkt endet.\footnote{\balabel{arqsep}% \texttt{\,\bs renewcommand\{\bs arqsep\}\{\bs bapoint\bs newsentence\} @@ -3387,57 +3698,60 @@ Es gibt auch \verb|\ff| (und \verb|\sqq|). \newpage\noindent -Falls Sie etwa eine\hspace{-.1em} \verb|\onlyout|\hy Konstruktion im -Argument eines\hspace{-.1em} \verb|\kli|\hy Befehls \textit{ganz ans -Ende} setzen, findet \BibArts\ u.\,U. irrt"umlich den `falschen' -Punkt. Im folgenden Beispiel wird \verb|{}| in einem solchen Fall -genutzt, um den am Ende von \verb|o.O.| stehenden Punkt `hier' -auszublenden.\footnote{Am Argumenten\hy Ende ist `\texttt{\}}' -erlaubt:\hspace{.2em} \texttt{\bs abk\{\bs protect\bs underline\{Abk.\}\}. =>}\hspace{.3em} -\printonlyabk{\protect\underline{Abk.}}.} Damit der Punkt -trotz \verb|{}| aber in der Liste `gesehen' wird, steht -\verb|\bahasdot| am Ende von \verb|\onlyout|: +Falls Sie eine\hspace{-.1em} \verb|\onlyhere|\hy\ko\verb|\onlyout|\hy Konstruktion +\textit{ans Ende} etwa eines\hspace{-.1em} \verb|\kli|\hy Arguments setzen, findet +\BibArts\ einen dort am Ende stehenden Punkt entweder `hier' oder in der Liste +nicht.\footnote{Am Argumenten\hy Ende findet \BibArts\ +"ubrigens auch einen Punkt vor \texttt{\{\}} oder vor einem \LaTeX\hy Befehl +nicht. Aber \hspace{-.15em}\texttt{.\}} wird erkannt: +\hspace{.2em}\texttt{\bs abk\{\bs protect\bs underline\{Abk.\}\}. =>}\hspace{.3em} +\printonlyabk{\protect\underline{Abk.}}.} Eine M"oglichkeit ist, f"ur \BibArts\ +den Punkt im zuerst \textit{getippten} Argument mit \verb|\bahasdot| zu markieren. +Seit \BibArts\ 2.5 gibt es zudem den Befehl +\verb|\sechere{|\ko\textit{OutArg}\verb|}{|\textit{HereArg}\verb|}|, \balabel{sechere} +der beim Schreiben ins \hspace{-.175em}\verb|.aux|\hy File seine beiden Argumente vertauscht +schreibt, sodass immer das `richtige' \hspace{-.075em}Argument zuletzt steht und der Punkt +`von selbst' gefunden wird: -\vspace{1.25ex}\noindent +\vspace{.75ex}\noindent {\small \verb| \notprinthints| \notprinthints \\[.25ex] -\verb| \kli{}{Buch\onlyout{ o.O.\bahasdot}{}}. | \verb| =>| -\printonlykli{}{Buch\onlyout{ o.O.\bahasdot}{}}. +\verb| \kli{Yi}{\onlyhere{o.O.\bahasdot}{\onlyout{ohne Ort}}}. =>| +\printonlykli{Yi}{\onlyhere{o.O.\bahasdot}{\onlyout{ohne Ort}}}. \\[.25ex] -\verb| \kli{}{A.{\onlyhere{\bahasdot}}\onlyout{ N}}.| \verb| =>| -\printonlykli{}{A.{\onlyhere{\bahasdot}}\onlyout{ N}}. +\verb| \kli{Yi}{\sechere{ohne Ort}{o.O.}}. =>| +\printonlykli{Yi}{\sechere{ohne Ort}{o.O.}}. } -\vspace{1.75ex}\noindent +\vspace{1.25ex}\noindent Unter {\small\verb|\notprinthints| \verb|\renewcommand{\fromnopagevkcsep}{\bapoint}|} \balabel{fromnopagevkcsep2} -w"urde dann auch {\small\verb|\printvkc|} korrekt mit \textit{einem} Punkt je Eintrag ausgedruckt. +w"urde in beiden F"allen {\small\verb|\printvkc|} korrekt mit \textit{einem} Punkt je Eintrag ausgedruckt. -\vspace{2.5ex}\noindent -Seit Version~2.2 werden auch die Namen\hy Argumente -von v- und k\fhy Befehlen daraufhin gepr"uft, ob Punkte am Ende stehen; -und auch die optionalen Sternargumente werden durchsucht. +\vspace{1.5ex}\noindent +Auch die Nachnamen\hy Argumente sowie die Stern\hy Argumente von v- und k\fhy Befehlen +werden daraufhin durchsucht, ob ein Punkt am Ende steht. Damit ist m"oglich, \verb|\bapoint| in die Definition des Separators \verb|\ntsep| -aufzunehmen, ohne z.\,B. nach abgek"urzten Namen \verb|\bahasdot| setzen zu m"ussen: +aufzunehmen, ohne am Ende von abgek"urzten Namen immer \verb|\bahasdot| tippen zu m"ussen: \Doppelbox { -\vspace{.5ex} +\vspace{1.25ex} \bs renewcommand\{\bs ntsep\}\{\bs bapoint\bs\ \} \\[1.75ex] \bs vli\{N\}\{N\} \\ -\ \ \ \{Das \bs ktit\{Buch\}, London\} \\[1.75ex] +\ \ \ \{Das \bs ktit\{Buch\}, London\} \\[1.25ex] \bs vli\{N.\}\{N.\} \\ -\ \ \ \{Das \bs ktit\{Buch\}, London\} \\[1.75ex] +\ \ \ \{Das \bs ktit\{Buch\}, London\} \\[1.25ex] \bs vli\{N\}\{N\}*\{Hg\} \\ -\ \ \ \{Das \bs ktit\{Buch\}, London\} \\[1.75ex] +\ \ \ \{Das \bs ktit\{Buch\}, London\} \\[1.25ex] \bs xvli\{N.\}\{N.\} \\ \ \ \ *\{\bs vauthor\{M.\}\{M.\}\} \\ \ \ \ \{Das \bs ktit\{Buch\}, London\} -\vspace{.5ex} +\vspace{.75ex} } { -\vspace{2.5ex} +\vspace{3.5ex} \renewcommand{\ntsep}{\bapoint\ }\notktitaddtok \printonlyvli{N}{N}{Das \ktit{Buch}, London} \\[.9ex] \printonlyvli{N.}{N.}{Das \ktit{Buch}, London} \\[.9ex] @@ -3445,12 +3759,12 @@ aufzunehmen, ohne z.\,B. nach abgek"urzten Namen \verb|\bahasdot| setzen zu m"us \xprintonlyvli{N.}{N.}*{\vauthor{M.}{M.}}{Das \ktit{Buch}, London} } -\vspace{.5ex}\noindent +\vspace{.325ex}\noindent F"ur die hier in den Listen umgesetzten Titel ergibt dann die Anwendung von\hspace{.2em} {\footnotesize\verb|{\renewcommand{\ntsep}{\bapoint\newsentence} \nonfrenchspacing \printvli}|}\hspace{.2em}: -\vspace{-1ex} +\vspace{-1.75ex} {\renewcommand{\ntsep}{\bapoint\newsentence} \nonfrenchspacing \printvli} @@ -3466,16 +3780,17 @@ gelegentlich n"otig an $\bullet$~ihrem Kopf, \hspace{.25em} $\bullet$~ihrem Ende Die Stellen dieser\hspace{.1em} \textit{automatischen Korrekturen}\hspace{.1em} macht \verb|\showbacorr| sichtbar. -\vspace{1.5ex}\noindent +\vspace{1ex}\noindent Da v-, k-, per- und arq\hy Befehle am Kopf stets in aufrechte Schrift umschalten, ist \textit{in schr"aggestelltem -Umfeld} ggf.\ eine Korrektur n"otig. Nach \verb*| |\hspace{.05em} -oder am Absatzanfang wird diese \textbf{Kopf"|korrektur} -nicht durchgef"uhrt.\footnote{Die Kopf"|korrektur ist \texttt{\bs/}\hspace{.2em} -(f"ur andere \textit{italics}\hy Korrekturen setzt \BibArts\ \texttt{\bs kern 0.1em}).} - - -\vspace{1.5ex}\noindent\hspace{.5em} +Umfeld} ggf.\ eine Korrektur n"otig. Au\hyss er direkt nach Leerzeichen +f"uhrt \BibArts\ diese \textbf{Kopf"|korrektur} eigenst"andig +durch:\footnote{Die Kopf"|korrektur ist \texttt{\bs/}\hspace{.2em} +(f"ur andere \textit{italics}\hy Korrekturen setzt \BibArts\ \texttt{\bs kern} \texttt{0.1em\kern.025em}). +Bei `hohem Zeichen\texttt{+}Leerzeichen' w"are sorgf"altig: +\hspace{.05em}\texttt{\bs itshape} \texttt{H\bs/ \bs kli\{N\}\{\}.}\hspace{.1em}\texttt{=>} {\showbacorr\itshape H\/ \printonlykli{N}{}}.} + +\vspace{1ex}\noindent\hspace{.5em} {\small\itshape\showbacorr \begin{tabular}{ll} & \verb| \itshape \showbacorr| \\[.25ex] @@ -3496,34 +3811,61 @@ nicht durchgef"uhrt.\footnote{Die Kopf"|korrektur ist \texttt{\bs/}\hspace{.2em} (\printonlyabk{Initialen}) & \verb|(\abk{Initialen})| \\ \end{tabular}}\label{abkA} -\vspace{1.75ex}\noindent -\verb|\vauthor|, \verb|\midvauthor|, \verb|\kauthor| und -\verb|\midkauthor| korrigieren ebenfalls bei Bedarf `am Kopf' automatisch. +\vspace{1.25ex}\noindent +Die Befehle \verb|\vauthor|, \verb|\midvauthor|, \verb|\kauthor| und +\verb|\midkauthor| korrigieren auf die beschriebene Weise `am Kopf' +ebenfalls eigenst"andig. Mit dem Schalter +\hspace{.025em}\verb|\notbafrontcorr| \hspace{.075em}l"asst sich die +Kopf"|korrektur ausschalten. -Die Kopfkorrektur wird praktisch immer ben"otigt. Trotzdem existiert der -Befehl \verb|\notbafrontcorr|, um sie auszuschalten: +\vspace{1ex}\noindent +\textbf{Endkorrekturen} werden von \verb|\abk|\kern.05em, \verb|\kli| und \hspace{.025em}\verb|\kqu| +\hspace{.05em}durchgef"uhrt. Speziell innerhalb von Kurzzitaten +stellt \verb|\kxxemph| \hspace{.05em}die Schrift des Kurztitels ein:\footnote{Seit \BibArts\ 2.5 w"are zudem +\hspace{.1em}\texttt{\bs textit\{\bs ktit\{Soziale Systeme\}}\underline{\texttt{\}}} \hspace{.15em}erlaubt; +nun d"urfen Sie \texttt{\bs ktit\{}\fabra{...}\underline{\texttt{\}}} +\hspace{.05em}einklammern. Im v\fhy Argument sollte nach \hspace{.1em}\underline{\texttt{\}}} +\hspace{.15em}aber stets weiterer Text stehen!} -\vspace{-.5ex} +\vspace{-.75ex} \Doppelbox -{ -\bs itshape \bs showbacorr -\\[.1ex] \ \ (\bs arq\{Aktenst"uck\}\{Signatur\}) -\\[.5ex] \{\bs notbafrontcorr -\\ \ \ (\bs arq\{Aktenst"uck\}\{Signatur\})\} -} -{\vspace{2.6ex} -\itshape \showbacorr - (\printonlyarq{Aktenst"uck}{Signatur}) -\\[2.7ex] {\notbafrontcorr (\printonlyarq{Aktenst"uck}{Signatur})} +{\vspace{.5ex}% +\bs renewcommand \{\bs kxxemph\} \{\bs itshape\} \bs showbacorr + \\[.75ex] + \bs footnote\{ \bs kli\{Luhmann\} + \\ \{Soziale Systeme\}.\} + \\[.75ex] + \bs footnote\{Soziologie: + \bs vli\{Niklas\} \{Luhmann\} \{\bs ktit\{Soziale Systeme\}. + \\ Grundriß einer allgemeinen Theorie, 1984: Frankfurt/M.\}.\}% + \vspace{.5ex}% } +{\texttt{\% kursive Kurztitel} + \\[1.5ex] + \renewcommand {\kxxemph} {\itshape} \showbacorr + \footnote{ \kli{Luhmann} {Soziale Systeme}.} + \footnote{Soziologie: + \vli{Niklas} {Luhmann} {\ktit{Soziale Systeme}. Grundriß einer + allgemeinen Theorie, 1984: Frankfurt/M.}.}% +}\label{kxxA}% +\vspace{1.25ex}\noindent +Wird zus"atzlich \verb|\notprinthints| gesetzt, das den Ausdruck +von {\small [L]} und {\small [Q]} unterbindet, ergibt sich +(mit \verb|\strut!| statt \verb|!| w"urde nicht korrigiert; S.\,\pageref{strut}): -\vspace{2.25ex}\noindent -\textbf{Endkorrekturen} nach \verb|\abk|, \verb|\kli| und \verb|\kqu| -lassen sich nicht abschalten. Unter \verb|\renewcommand{\abkemph}{\itshape}| -korrigiert \verb|\abk| in aufrechtem Umfeld, falls das Argument -\textit{nicht} mit `\texttt{.}' endet, oder kein `\texttt{.}' oder -`\texttt{,}' folgt: +\vspace{1ex}\noindent +{\small\verb| {\showbacorr \kli{N}{K}, \kli{N}{K}!} =>|} +{\renewcommand{\kxxemph}{\itshape}\notprinthints\showbacorr\printonlykli{N}{K}, \printonlykli{N}{K}!} +\\ +{\small\verb| {\showbacorr \kli{N}{K.}, \kli{N}{K.}!} =>|} +{\renewcommand{\kxxemph}{\itshape}\notprinthints\showbacorr\printonlykli{N}{K.}, \printonlykli{N}{K.}!} + +\vspace{1.25ex}\noindent +Und \verb|\abk| \hspace{.15em}korrigiert unter \hspace{.075em}\verb|\renewcommand{\abkemph}{\itshape}| +\hspace{.15em}parallel genauso (falls das Argument +\textit{nicht} mit `\kern-.075em\texttt{.}\kern-.075em' endet $-$ bzw\ko.\ \textit{kein} \hspace{.05em}`\kern-.075em\texttt{.}\kern-.075em' oder +`\kern-.05em\texttt{,}\kern-.05em' folgt): \vspace{1ex}\noindent {\small\verb| {\showbacorr \abk{GmbH}, \abk{GmbH}!} =>|} @@ -3532,61 +3874,34 @@ korrigiert \verb|\abk| in aufrechtem Umfeld, falls das Argument {\small\verb| {\showbacorr \abk{e.\,V.}, \abk{e.\,V.}!} =>|} {\renewcommand{\abkemph}{\itshape}\showbacorr \abk{e.\,V.}, \abk{e.\,V.}!} - \vspace{1.25ex}\noindent -Dasselbe gilt f"ur \verb|\renewcommand{\kxxemph}{\itshape}|, \label{kxxA} -mit dem der Kurztitel in \verb|\kli| und \verb|\kqu| \textit{kursiv} -gesetzt wird.\footnote{\texttt{\bs kxxemph} wirkt sich au\hyss erdem noch auf die -Vorank"undigung der Kurzzitate in den v\fhy Befehlen aus; -\renewcommand{\kxxemph}{\bfseries\itshape}\showbacorr -\texttt{\bs renewcommand\{\bs kxxemph\}\{\bs bfseries\bs itshape\}} \texttt{\bs showbacorr} -bewirkt: \vli{Niklas} {Luhmann}{\ktit{Soziale Systeme}. Grundriß -einer allgemeinen Theorie, 1984: Frankfurt/M.}[123]. $-$ Falls das Argument von -\texttt{\bs ktit} hervorgehoben werden soll, w"urde -\hspace{-.05em}\texttt{\bs textit\{\bs ktit\{}\fabra{...}\texttt{\}\}} -die \textsf{im Folgenden}\hy Ank"undigung \hspace{.1em}unterbinden. \textit{Richtig w"are}: -\hspace{.1em}\texttt{\bs vli\{Niklas\} \{Luhmann\} - \{\bs em \bs ktit\{Soziale Systeme\}\bs em . Grundriß einer - allgemeinen Theorie, 1984: Frankfurt/M.\}}} -Im Fall von \verb|\notprinthints|, das den Ausdruck von {\small [L]} -und {\small [Q]} unterbindet, wird automatisch korrigiert: - -\vspace{.5ex}\noindent -{\small\verb| {\showbacorr \kli{N}{K}, \kli{N}{K}!} =>|} -{\renewcommand{\kxxemph}{\itshape}\notprinthints\showbacorr\printonlykli{N}{K}, \printonlykli{N}{K}!} -\\ -{\small\verb| {\showbacorr \kli{N}{K.}, \kli{N}{K.}!} =>|} -{\renewcommand{\kxxemph}{\itshape}\notprinthints\showbacorr\printonlykli{N}{K.}, \printonlykli{N}{K.}!} - -\vspace{.75ex}\noindent Auch im schr"aggestellten Umfeld verhalten sich beide Befehle weiter richtig: -\vspace{.6ex}\noindent +\vspace{1ex}\noindent {\small\verb| {\itshape\showbacorr \abk{GmbH}, \abk{GmbH}!} =>|} {\itshape\renewcommand{\abkemph}{\itshape}\showbacorr\abk{GmbH}, \abk{GmbH}!}\\ {\small\verb| {\itshape\showbacorr \kli{N}{K}, \kli{N}{K}!} =>|} {\itshape\renewcommand{\kxxemph}{\itshape}\notprinthints\showbacorr\printonlykli{N}{K}, \printonlykli{N}{K}!} -\vspace{1.25ex}\noindent +\vspace{2.25ex}\noindent In den vorgefertigten Textelementen (\textbf{Separatoren}), die \BibArts\ zwischen den Argumenten ausdruckt, sind ebenfalls oft \textit{italics}\hy Korrekturen n"otig.\footnote{Separatoren sollen \textit{nur} vorgefertigten Text und \BibArts\hy\textit{italics}\hy Korrekturen enthalten; -\textsc{Schriftumschaltbefehle} werden in die \BibArts\hy \texttt{\bs}...\texttt{emph}\hy Befehle gesetzt -\baref{hervor}!} -Auch diese Korrekturen arbeiten in Voreinstellung automatisch. +\textsc{Schriftumschaltbefehle} werden in die \BibArts\hy\ko\texttt{\bs}\fabra{...}\texttt{emph}\hy Befehle gesetzt +\baref{hervor}!} Auch diese Korrekturen arbeiten in Voreinstellung automatisch. Zur \textit{Ver"anderung von Separatoren} l"asst sich \verb|\renewcommand| verwenden.\pdfko{.25}\ Danach sollen die Korrekturen weiterhin automatisch arbeiten. \textit{Italics}\hy Korrekturen sind n"otig, wenn schr"age auf aufrechte Schriften treffen k"onnten und der -Separator (\underline{\underline{unteres Beispiel}}) nicht nur aus `niederen' Zeichen besteht: +Separator nicht mit \underline{\vphantom{p}`niederen' Zeichen} sondern \underline{\underline{`hohen' Zeichen}} endet: -\vspace{-.75ex} +\vspace{-.25ex} \Doppelbox -{ +{\vspace{1.75ex}% \bs itshape\bs showbacorr \\[1ex] \bs renewcommand\{\bs nsep\}\{\underline{,\vphantom{p} }\} @@ -3595,11 +3910,12 @@ Separator (\underline{\underline{unteres Beispiel}}) nicht nur aus `niederen' Ze \\ \ \ \ \bs kauthor\{Gro"s\} [Hrsg.]\b{\}} \\ \ \{Schlieffenplan\}[468]. \\[1.75ex] -\bs renewcommand\{\bs nsep\}\{\underline{\underline{/\bs baupcorr}}\} -\\[.75ex] ... ... \bs xkqu\{Ehlert\} +\bs renewcommand\{\bs nsep\}\{\underline{\underline{/}}\bs baupcorr\} +\\[1.25ex] ... ... \bs xkqu\{Ehlert\} \\ \ \string*\{\bs midkauthor\{Epkenhans\} \\ \ \ \ \bs kauthor\{Gro"s\} [Hrsg.]\} -\\ \ \{Schlieffenplan\}[469]. +\\ \ \{Schlieffenplan\}[469].% +\vspace{1.5ex}% } { \itshape\showbacorr\noindent @@ -3607,7 +3923,7 @@ Separator (\underline{\underline{unteres Beispiel}}) nicht nur aus `niederen' Ze ... ... \xkqu{Ehlert} *{\midkauthor{Epkenhans} \kauthor{Gro"s} [Hrsg.]} {Schlieffenplan}[468]. -\vspace{.5cm} +\vspace{.75cm} \textup{\texttt{\bs nsep}} steht zwischen Namen in ggf.\ kursiver Umfeldschrift, w"ahrend die Namen aufrecht sind. @@ -3622,25 +3938,26 @@ sollte eine automatische italics\hy Korrektur also \emph{ans Ende}: \label{nsep2}% -\vspace{-.25ex}\noindent +\vspace{.125ex}\noindent \verb|\baupcorr| korrigiert \textit{immer} dann, wenn es in schr"aggestelltem Umfeld steht. F"ur den \textit{Kopf} einer Separator\hy Definition ist \verb|\baupcorr| damit ungeeignet, denn es reagiert -nicht, falls Sie in das \textit{davorstehende Argument des -\BibArts\hy Befehls} Text tippen, der mit einem Punkt endet. +nicht, falls Sie in das \textit{davor} stehende Argument des +\BibArts\hy Befehls eine Abk"urzung tippen $-$ nach der \textit{nicht} korrigiert werden sollte!~... -\newpage \BibArts\ durchsucht etliche Argumente deshalb -und stellt f"ur den folgenden Separator eine \textit{italics}\hy Korrektur bereit. -Dieser Korrektur\hy Befehl hei"st seit Version 2.2 einheitlich -\hspace{-.1em}\verb|\bacorr|.\hspace{.1em} Er tut nichts, falls das vorausgehende Argument +\newpage\noindent +Deswegen durchsucht \BibArts\ etliche Argumente +und stellt f"ur den folgenden Separator einen dazu passenden \textit{italics}\hy Korrektur\hy Befehl bereit. +Der Befehl hei"st seit Version 2.2 einheitlich \label{bacorr} +\hspace{-.1em}\verb|\bacorr|.\hspace{.1em} Er tut nichts, falls das Argument mit einem Punkt endet. F"ur num\hy Listenausdrucke etwa steht -\verb|\bacorr| am Kopf des Separators \verb|\frompagesep|, \label{frompagesep} +\verb|\bacorr| am Kopf des Separators \verb|\frompagesep|\kern.025em, \label{frompagesep} um ggf.\ vor den stets aufrechten Indexzahlen zu korrigieren. (Das alte \verb|\balistcorr| speziell f"ur diesen Separator ist weiterhin Alternative.) -Das Argument von \verb|\frompagesep| und die Indexzahlen druckt \BibArts\ in -\verb|\balistnumemph| aus (voreingestellt -\verb|\sffamily|):\footnote{\label{listnum}In \texttt{\bs balistnumemph} eingesetzte Schr"agschrift\hy Befehle +Das \textsf{Argument} von \verb|\frompagesep| und die \textsf{Indexzahlen} druckt \BibArts\ in +\verb|\balistnumemph| aus; daf"ur ist \verb|\sffamily| +voreingestellt:\footnote{\label{listnum}In \texttt{\bs balistnumemph} eingesetzte Schr"agschrift\hy Befehle ignoriert \BibArts\ einfach, denn vor den `Fu"snoten'\hy Exponenten in num\hy Listen soll auf \textit{italics}\hy Korrekturen verzichtet werden.} @@ -3649,12 +3966,12 @@ num\hy Listen soll auf \textit{italics}\hy Korrekturen verzichtet werden.} {\small \begin{verbatim} {\renewcommand{\frompagesep}{\bacorr ; } % ; HOCH mit Korrektur - \itshape \showbacorr \printnumvlilist } + \itshape \showbacorr \printnumvlilist } \end{verbatim}} \vspace{-2.5ex} {\renewcommand{\frompagesep}{\bacorr ; } % ; HOCH mit Korrektur - \itshape \showbacorr \baonecolitemdefs\printnumvlilist }\label{frompagesep1}% + \itshape \showbacorr \baonecolitemdefs\printnumvlilist }\label{frompagesep1}% \vspace{.5ex}\noindent @@ -3695,8 +4012,8 @@ Doch k"onnen Sie mit \hspace{-.05em} \verb|\ifbashortcite|\hspace{.4em}\verb|{|\textit{Text k\fhy Befehl}\hspace{.2em}\verb|}|\hspace{.4em}% \verb|{|\textit{Text v\fhy Befehl}\hspace{.2em}\verb|}|\hspace{.4em} im Argument von \verb|\ntsep| weiterhin Textunterschiede f"ur k- und v\fhy Befehle festlegen.\footnote{\label{ntsepC}\texttt{% -\bs renewcommand}\hskip 1pt plus 2pt\texttt{\{\bs ntsep\}}\hskip 1pt plus 2pt\texttt{\{\bs ifbashortcite\{:\bs hskip0pt plus 0pt\bs bacorr\}\{: \}\}} -w"urde im v\hy Befehl \textit{ein Leerzeichen} nach dem `:' drucken, im k\fhy Befehl nicht.} +\bs renewcommand}\hskip 1pt plus 2pt\texttt{\{\bs ntsep\}}\hskip 1pt plus 2pt\texttt{\{\bs ifbashortcite\{:\bs hskip0pt plus 0pt\}\{: \}\bs bacorr\}} +druckt im v\hy Befehl nach `\kern.025em:' \textit{ein Leerzeichen} (im k\fhy Befehl nicht $-$ und korrigiert \textit{nur dort}).} \newpage @@ -3875,18 +4192,18 @@ stehen soll. Im Abk"urzungsverzeichnis steht die Abk"urzung immer links und die Erkl"arung immer rechts. \verb|bibarts.sty| -legt f"ur \verb|\abklistopen| zun"achst \verb|{\protect\pabklo}| fest; -das f"uhrt \verb|{\bastrut\hskip 1.2em minus 0.3em\bacorr}| aus. +\hspace{.05em}legt f"ur \verb|\abklistopen| \hspace{.1em}zun"achst \hspace{.1em}\verb|{\protect\pabklo}| \hspace{.1em}fest; +\hspace{.1em}\verb|\pabklo| \hspace{.2em}f"uhrt \hspace{.25em}\verb|{\bastrut\hskip 1.2em minus 0.3em\bacorr}| \hspace{.3em}aus. "Aquivalent h"angen \verb|\abklistclose| und \verb|\pabklc| zusammen (das nichts tut: \verb|{}|). -Im Beispiel werden die Listenseparatoren \verb|\pabklo| oder +Im folgenden Beispiel definiere ich \verb|\pabklo| und \verb|\pabklc| direkt vor dem Befehl zum Ausdruck des Abk"urzungsverzeichnisses -lokal umdefiniert. Dies wirkt sich aus auf alle Eintr"age, +lokal um. Dies wirkt sich aus auf alle Eintr"age, an deren Stellen im Text die Voreinstellungen f"ur \verb|\abklistopen| und \verb|\abklistclose| nicht ver"andert wurden. -Im Text ver"andert wurden die Listenseparatoren f"ur die Abk"urzung `S'; -dazu gleich. Zuerst der Ausdruck des gesamten Abk"urzungsverzeichnisses: +Dagegen im Text ver"andert wurden die Listenseparatoren f"ur die Abk"urzung \hspace{-.05em}{\itshape\bfseries S} +\hspace{.1em}(dazu gleich). Zuerst der Ausdruck des gesamten Abk"urzungsverzeichnisses: \vspace{.5ex}{\small \begin{verbatim} @@ -3921,14 +4238,14 @@ Der im Abk"urzungsverzeichnis abweichende Zugang kam so zustande: Der \\[.2ex] \b{\{}\bs renewcommand\{\bs abklistopen\}\{, \}\% \\ \ \bs renewcommand\{\bs abklistclose\} - \\ \ \ \ \ \{ [Erkl"arung am Zugangsort]\}\% + \\ \ \ \ \ \{ [Erklärung am Zugangsort]\}\% \\[.4ex] \ \bs abkdef\{S\}\{Sonderfall\}\b{\}} \\[.2ex] in der Liste. \vspace{1.2ex} } {\vspace{8.125ex} \ \ Der {\renewcommand{\abklistopen}{, }% - \renewcommand{\abklistclose}{ [Erkl"arung am Zugangsort]}% + \renewcommand{\abklistclose}{ [Erklärung am Zugangsort]}% \abkdef{S}{Sonderfall}} in der Liste. }\balabel{abklistopen}% @@ -3938,14 +4255,14 @@ Der im Abk"urzungsverzeichnis abweichende Zugang kam so zustande: halber mit einem `niederen' Zeichen beginnt, vor dem keine Korrektur n"otig ist; und \verb|\abklistclose| braucht keine. -Eingetragen wird ins\hspace{-.15em} \verb|.aux|\hy File f"ur die +Eingetragen wird ins \hspace{-.175em}\verb|.aux|\hy File f"ur die Einf"uhrung der Abk"urzungen \abk{OHG} und \abk{S} mit \verb|\abkdef| oder \verb|\defabk| etwas wie: \vspace{0.325ex} {\scriptsize\begin{verbatim} - %\abkrzentry{OHG}{Offene Handelsgesellschaft}{{\pabklo }{\pabklc }{}{}}...(line 1864) + %\abkrzentry{OHG}{Offene Handelsgesellschaft}{{\pabklo }{\pabklc }{}{}}...(line 2014) ... - %\abkrzentry{S}{Sonderfall}{{, }{ [Erkl\IeC {\"a}rung am Zugangsort]}{}{}}...(line 3928) + %\abkrzentry{S}{Sonderfall}{{, }{ [Erklärung am Zugangsort]}{}{}}...(line 4084) \end{verbatim}} \vspace{.725ex}\noindent @@ -3953,11 +4270,11 @@ Die Definitionen von \verb|\abklistopen| und \verb|\abklistclose| sind dabei jeweils ("ahnlich \verb|\nsep|\hspace{.075em} oben S.\,\pageref{Ausreise}) zusammen mit den beiden Hauptargumenten von \verb|\abkdef| oder \verb|\defabk| ins -\hspace{-.2em}\verb|.aux|\hy File gereist. Gelten f"ur Separatoren +\hspace{-.175em}\verb|.aux|\hy File gereist. Gelten f"ur Separatoren im Falle mehrerer Erkl"arungen \textit{einer} Abk"urzung unterschiedliche Definitionen, -warnt \texttt{bibsort} mittels Bildschirmmeldung; es verwendet auch bei den -Separatoren zum Ausdruck der Liste jeweils die erste Definition. +warnt \texttt{bibsort} mittels Bildschirmmeldung; es verwendet beim Ausdruck +der Liste auch f"ur die Separatoren immer die erste Definition. @@ -3974,7 +4291,7 @@ KCAG}{BA Zwischenarchiv Dahlwitz\hy Hoppegarten R\,8729~4}(94)}. \vspace{1.25ex}\noindent Beim \textbf{Drucken des Archivquellenverzeichnisses} darf f"ur \verb|\arqlistemph| (oder \verb|\arqemph|, siehe S.\,\pageref{arqemph2}) -dagegen \textit{kursiv} eingestellt werden. Im \BibArts\hy Archivalienverzeichnis werden +dagegen \textit{kursiv} eingestellt werden. Im \BibArts\hy Archivquellenverzeichnis werden die einzelnen Dokumente nicht aufgelistet: \vspace{.25ex} @@ -4009,7 +4326,7 @@ Die "offnenden und schlie\hyss enden Separatoren f"ur die per\hy Liste hei\hyss en (symmetrisch zu den abk\hy Befehlen) \label{perlistopen} \verb|\perlistopen| und \verb|\perlistclose|. Sie f"uhren \verb|\protect\pperlo| und \verb|\protect\pperlc| aus, um -beim Schreiben ins \hspace{-.15em}\verb|.aux|\hy File nicht zu zerbrechen. +beim Schreiben ins \hspace{-.175em}\verb|.aux|\hy File nicht zu zerbrechen. Beim Ausdrucken der per\hy Liste f"uhren \verb|\pperlo| und \verb|\pperlc| gem"a"s Voreinstellung \verb|{\bastrut\ \bacorr $-$ }| und \verb|{}| aus. Daran k"onnen @@ -4035,19 +4352,19 @@ Im \textbf{Archivquellenverzeichnis} dienen \verb|\arqlistopen| und \verb|\arqlistclose| als Separatoren. \label{Gedankenstriche} Sie f"uhren \verb|{\protect\parqlo}| und \verb|{\protect\parqlc}| aus und expandieren -zu \verb|{\bastrut\hskip 1em minus 0.3em\bacorr}| und zu \verb|{}|. +zu \hspace{.2em}\verb|{\bastrut\hskip 1em minus 0.3em\bacorr}| \hspace{.2em}und zu \hspace{.075em}\verb|{}|\kern.1em. Die "Uberschriften, die im Verzeichnis ungedruckter Quellen m"oglich sind, enthalten die oben gezeigten Gedankenstriche, die von den Befehlen \verb|\arqsectionopen|\kern.05em, \verb|\arqsubsectionopen| und \verb|\arqsubsubsectionopen| initiiert werden. Alle f"uhren direkt -\hspace{.1em}\verb|{\bastrut\ \bacorr $-$ }| \hspace{.1em}aus. +\hspace{.2em}\verb|{\bastrut\ \bacorr $-$ }| \hspace{.2em}aus. \vspace{1ex}\noindent Weiter existieren \verb|\xrrlistopen| und \verb|\xrrlistclose|\kern.025em. Sie schreiben f"ur die drei \BibArts\hy Register \verb|\protect|\hy gesch"utzt -\verb|\pxrrlo| und \verb|\pxrrlc| \hspace{.075em}ins \hspace{-.1em}\verb|.aux|\hy File und expandieren -zu \hspace{.2em}\verb|{\bastrut\ \bacorr(}| bzw.\ \verb|{)}| -\hspace{.3em}(vgl.\ oben S.\,\pageref{xrrlistclose}). +\verb|\pxrrlo| und \verb|\pxrrlc| \hspace{.075em}ins \hspace{-.125em}\verb|.aux|\hy File und expandieren +zu \hspace{.35em}\verb|{\bastrut\ \bacorr(}| \hspace{.4em}bzw\ko.\ \hspace{.35em}\verb|{)}| +\hspace{.35em}(vgl.\ oben S.\,\pageref{xrrlistclose}). @@ -4100,7 +4417,7 @@ zu \hspace{.2em}\verb|{\bastrut\ \bacorr(}| bzw.\ \verb|{)}| Argumenten mit einstellbarer Schrift (abk und k\fhy Titel). \verb|\baupcorr| ist dort ungeeignet; aber \verb|\bacorr| reagiert, falls Sie f"ur das Argument dahinter eine schr"aggestellte Schrift einstellen (mit \verb|\abkemph| - bzw.\ mit \verb|\kxxemph|). + bzw\ko.\ mit \verb|\kxxemph|). \end{itemize} @@ -4216,7 +4533,7 @@ kann stets sowohl `nichts' als auch ein Punkt stehen; hier die Voreinstellungen: \verb|\arqsubsubsectionclose => {\bahasdot}| \\[.05ex] \hspace*{1em} Klammerpaare um das zweite Argument von \verb|\arqsection| (Archiv S.\,\pageref{arqsection}, \pageref{Gedankenstriche}), -\\ \hspace*{1em} \verb|\arqsubsection| bzw.\hspace{-.1em} \verb|\arqsubsubsection|\kern.025em; die lokalen Definitionen dazu +\\ \hspace*{1em} \verb|\arqsubsection| bzw\ko.\ \hspace{-.075em}\verb|\arqsubsubsection|\kern.025em; die lokalen Definitionen dazu \\ \hspace*{1em} reisen in die arq\hy Liste; vor zerbrechlichen Befehlen sollte \verb|\protect| stehen \\[1.6ex] \verb|\perlistopen => {\protect\pperlo}| \hfill (siehe S.\,\pageref{perlistopen}) @@ -4232,7 +4549,7 @@ kann stets sowohl `nichts' als auch ein Punkt stehen; hier die Voreinstellungen: \\ \verb|\xrrlistclose => {\protect\pxrrlc}| \\[-.1ex] \hspace*{7em} \verb|\pxrrlc => {)}| -\\ \hspace*{1em} Klammern um das zweite Argument von \verb|\fillgrr|, \verb|\fillprr| bzw.\hspace{-.1em} \verb|\fillsrr|; +\\ \hspace*{1em} Klammern um das zweite Argument von \verb|\fillgrr|, \verb|\fillprr| bzw\ko.\ \hspace{-.075em}\verb|\fillsrr|; \\ \hspace*{1em} lokale Definitionen von \verb|\xrrlistopen| und \verb|\xrrlistclose| reisen in die Listen \end{small} @@ -4243,7 +4560,7 @@ kann stets sowohl `nichts' als auch ein Punkt stehen; hier die Voreinstellungen: Wenn Sie mit dem \BibArts\hy Befehl \verb|\sethyphenation{|\textit{Sprache}\verb|}| oder alternativ f"ur Zitatbl"ocke mit -\verb|\begin{originalquote}[|\textit{Sprache}\verb|]| eine bestimmte\pdfko{.5}\ +\verb|\begin{originalquote}[|\textit{Sprache}\verb|]| eine bestimmte Sprache einstellen, wird nur bestimmt, wie Worte getrennt werden (Trennsatz). Andere Schalter stellen die Basissprache des Textes ein, bestimmen also, in welcher Sprache Text\hy Separatoren (\kern-.1em\textit{captions}) zu drucken @@ -4413,12 +4730,12 @@ Titel des gesamten Belegapparats ("Uberschrift \BibArts-Anhang) \verb|\printbibt \verb|\gabktitlename => {Ab\-k\"ur\-zungen}| \\[-.8ex] \verb|\eabktitlename => {Abbreviations}| \\[-.8ex] \verb|\fabktitlename => {Ab\-r\'e\-viations}| \\[-.2ex] -Titel Abk"urzungsverzeichnis \verb|\printabk| und \verb|\printnumabk| bzw.\ \verb|\printabktitle| +Titel Abk"urzungsverzeichnis \verb|\printabk| und \verb|\printnumabk| bzw\ko.\ \verb|\printabktitle| \\[.8ex]% \verb|\gvlititlename => {Literatur}| \\[-.8ex] \verb|\evlititlename => {Literature}| \\[-.8ex] \verb|\fvlititlename => {Travaux}| \\[-.2ex] -Titel Literaturliste \verb|\printvli| und \verb|\printnumvli| bzw.\ \verb|\printvlititle|. +Titel Literaturliste \verb|\printvli| und \verb|\printnumvli| bzw\ko.\ \verb|\printvlititle|. \\[.8ex]% \verb|\ghinttovliname => {[L]} %\| \\[-.8ex] \verb|\ehinttovliname => {[L]} % ) Alle ohne italics-Korrektur!| \\[-.8ex] @@ -4438,32 +4755,32 @@ Hinweis auf Verzeichnis mit vollen Quellenangaben: \verb|\kqu{N}{T}. =>| \printo \verb|\gpertitlename => {Zeitschriften}| \\[-.8ex] \verb|\epertitlename => {Periodicals}| \\[-.8ex] \verb|\fpertitlename => {P\'e\-riodiques}| \\[-.2ex] -Titel Zeitschriftenverzeichnis \verb|\printper| und \verb|\printnumper| bzw.\ \verb|\printpertitle| +Titel Zeitschriftenverzeichnis \verb|\printper| und \verb|\printnumper| bzw\ko.\ \verb|\printpertitle| \\[.8ex]% \verb|\garqtitlename => {Ungedruckte Quellen}| \\[-.8ex] \verb|\earqtitlename => {Unpublished Documents}| \\[-.8ex] \verb|\farqtitlename => {Sources in\-\'edi\-tes}| \\[-.2ex] -Titel Archivquellenverzeichnis \verb|\printarq|, \verb|\printnumarq| bzw.\ \verb|\printarqtitle| +Titel Archivquellenverzeichnis \verb|\printarq|, \verb|\printnumarq| bzw\ko.\ \verb|\printarqtitle| \\[.8ex]% \verb|\gvkctitlename => {Verwendete Kurztitel}| \\[-.8ex] \verb|\evkctitlename => {Shortened References}| \\[-.8ex] \verb|\fvkctitlename => {Titres ab\-r\'e\-g\'ees}| \\[-.2ex] -Titel Kurzzitateverzeichnis \verb|\printnumvkc| und \verb|\printvkc| bzw.\ \verb|\printvkctitle| +Titel Kurzzitateverzeichnis \verb|\printnumvkc| und \verb|\printvkc| bzw\ko.\ \verb|\printvkctitle| \\[.8ex]% \verb|\ggrrtitlename => {Ortsregister}| \\[-.8ex] \verb|\egrrtitlename => {Geographical index}| \\[-.8ex] \verb|\fgrrtitlename => {Registre g\'eo\-graphique}| \\[-.2ex] -Titel Ortsregister f"ur Liste \verb|\printnumgrr| und \verb|\printgrr| bzw.\ \verb|\printgrrtitle| +Titel Ortsregister f"ur Liste \verb|\printnumgrr| und \verb|\printgrr| bzw\ko.\ \verb|\printgrrtitle| \\[.8ex]% \verb|\gprrtitlename => {Personenregister}| \\[-.8ex] \verb|\eprrtitlename => {Person index}| \\[-.8ex] \verb|\fprrtitlename => {Registre des personnes}| \\[-.2ex] -Titel Personenreg.\ f"ur Liste \verb|\printnumprr| und \verb|\printprr| bzw.\ \verb|\printprrtitle| +Titel Personenreg.\ f"ur Liste \verb|\printnumprr| und \verb|\printprr| bzw\ko.\ \verb|\printprrtitle| \\[.8ex]% \verb|\gsrrtitlename => {Sachregister}| \\[-.8ex] \verb|\esrrtitlename => {Subject index}| \\[-.8ex] \verb|\fsrrtitlename => {Registre des sujets}| \\[-.2ex] -Titel Sachregister f"ur Liste \verb|\printnumsrr| und \verb|\printsrr| bzw.\ \verb|\printsrrtitle| +Titel Sachregister f"ur Liste \verb|\printnumsrr| und \verb|\printsrr| bzw\ko.\ \verb|\printsrrtitle| \\[.8ex]% \verb|\gfolpagename => {\badelspacebefore\,f\kern -0.1pt.\bahasdot}| \\[-.8ex] \verb|\efolpagename => {\badelspacebefore\,f\kern -0.1pt.\bahasdot}| \\[-.8ex] @@ -4481,7 +4798,7 @@ Abk"urzung `mehrere folgende': \verb|\per{ZfG.}_2\ff_[3\sqq]. =>| \per{ZfG.}_2\f \hspace*{5cm} \verb|\eannouncekendname => {)}| \\[-.4ex] \verb|\fannouncektitname => |{\footnotesize\verb|{\bastrut\ (\kern 0.02em par la suite \baupcorr}|} \\[-.4ex] \hspace*{5cm} \verb|\fannouncekendname => {)}| \\[.2ex] -\verb|\ktit|\hy Ank"undigung: \verb|\vli{V}{N}{\ktit{T}} =>| {\notktitaddtok\printonlyvli{V}{N}{\ktit{T}}} +\verb|\ktit|\hy Ank"undigung: \verb|\vli{V}{N}{\ktit{T}} =>| {\notktitaddtok\printonlyvli{V}{N}{\ktit{T}}}\balabel{announcektit}% \newpage\noindent%\\[.8ex]% \verb|\grefvbegname => {(}| \\[-.8ex] \hspace*{1cm} \verb|\grefvendname => {\barefcorr)}| \\[-.8ex] @@ -4491,29 +4808,29 @@ Abk"urzung `mehrere folgende': \verb|\per{ZfG.}_2\ff_[3\sqq]. =>| \per{ZfG.}_2\f \hspace*{1cm} \verb|\frefvendname => {\barefcorr)}| \\[-.2ex] Klammern k-Befehle unter \verb|\conferize|: \verb|\kli{Luhmann}{Soziale Systeme} =>| \\[-.5ex] \hspace*{1em}{\conferize \kli{Luhmann}{Soziale Systeme}} \ \ \texttt{\% Fu"snote im Kasten} \\[-.5ex] -Die \textit{italics}\hy Korrektur \verb|\barefcorr| ist f"ur Verweise bes.\ auf \verb|{minipage}|-Fu"snoten. +Die \textit{italics}\hy Korrektur \verb|\barefcorr| ist f"ur Verweise bes.\ auf \verb|{minipage}|\kern.025em\hy Fu"snoten. \\[.8ex]% \verb|\gconfername => {\kern -0.03em wie}| \\[-.8ex] \verb|\econfername => {\kern -0.05em cf.\bahasdot}| \\[-.8ex] \verb|\fconfername => {\kern -0.03em op.\ cit.\bahasdot}| \\[-.2ex] -Bezugswort im Querverweis des eben genannten \verb|\conferize|-Stils. +Bezugswort im Querverweis des eben genannten \verb|\conferize|\hy Stils. \\[.8ex]% \verb|\grefvpagname => {S.\,}| \\[-.8ex] \verb|\erefvpagname => {p.\,}| \\[-.8ex] \verb|\frefvpagname => {p.\,}| \\[-.2ex] -Seitenabk"urzung im Querverweis des eben genannten \verb|\conferize|-Stils; und \\[-.5ex] +Seitenabk"urzung im Querverweis des eben genannten \verb|\conferize|\hy Stils; und \\[-.5ex] ebenso f"ur \BibArts-Querverweise: \verb|\baref{Müller} =>| \baref{Müller}, wozu auch \\[-.5ex] die oben unter \verb|\grefvbegname| ... genannten Klammersymbole benutzt werden. \\[.8ex]% \verb|\grefverbname => {siehe}| \label{grefverbname} \\[-.8ex] \verb|\erefverbname => {see}| \\[-.8ex] \verb|\frefverbname => {voir}| \\[-.2ex] -Bezugswort im eben genannten \verb|\baref|-Querverweis. +Bezugswort im eben genannten \verb|\baref|\hy Querverweis. \\[.8ex]% \verb|\grefvfntname => {, Anm.\,}| \\[-.8ex] \verb|\erefvfntname => {, n.\,}| \\[-.8ex] \verb|\frefvfntname => {, n.\,}| \\[-.2ex] -Abk"urzung f"ur `\kern-.05em Anmerkung'/`note' (Fu"snote) oben im \verb|\conferize|-k-Befehl und \\[-.5ex] +Abk"urzung f"ur `\kern-.05em Anmerkung'/`note' (Fu"snote) oben im \verb|\conferize|\hy k\fhy Befehl und \\[-.5ex] ebenso f"ur \BibArts\hy Querverweise:\footnote{ \balabel{XX}\texttt{\bs balabel\{XX\}} setzt Marke; \BibArts\ bemerkt automatisch, ob sie in einer Fu"snote ist.} @@ -4547,30 +4864,31 @@ Band-Abk"urzung in \hspace{.2em}\verb+\ersch |3| {Paris}{1899} =>+ \ersch |3| {P \noindent \textbf{Separater Ausdruck von vorgefertigten Textelementen}\\[1ex] Falls Befehle, die \hspace{-.06em}\verb|\bahasdot| oder \hspace{-.04em}\verb|\banotdot| -nutzen, nicht am Ende des Arguments eines \BibArts\fhy Hauptbefehls stehen, kann dies -einen Zeilenumbruch verhindern. An \verb*|\oJ, | wird umgebrochen, aber ein -\verb|\oJ| \textit{direkt} folgendes Leerzeichen ist oft gesch"utzt. Dann k"onnen -Sie \hspace{-.075em}\verb|\strut| einf"ugen: Im freien Text ist also \verb*|\oJ\strut\ | -\hspace{.05em}statt -\verb*|\oJ\ | \hspace{.05em}zu tippen. Das gilt auch, falls ein Befehl \verb|\oJ|\pdfko{.25}\ -ausf"uhrt, etwa bei: -\verb*|\ersch{Stuttgart}{}\strut\ next| \ \verb|=>| \ersch{Stuttgart}{}\strut\ next. -\hspace{.2em}Nur \textit{direkt vor} den \verb|}| der Hauptbefehle macht \BibArts\ dies automatisch: -\verb|\vli{}{N.}{|\fabra{...}\verb|,| \verb|\ersch{Stuttgart}{}}| \verb|next| \ \verb|=>| -\printonlyvli{}{N.}{\fabra{...}, \ersch{Stuttgart}{}} next. -\hspace{.15em}Obwohl das letzte Argument eines v\fhy Befehls nicht nach \hspace{-.125em}\verb|.| durchsucht -wird, `verschluckt' \BibArts\ Ihren ggf.\ direkt danach folgenden Satzende\hy Punkt: -\hspace{.1em}\verb|\vli{}{N.}{|\fabra{...}\verb|,| \verb|\ersch{Stuttgart}{}}.| \verb|=>| -\hspace{.2em}\printonlyvli{}{N.}{\fabra{...}, \ersch{Stuttgart}{}}. -\hspace{.2em}Oder: \hspace{.1em}\verb|\vli{}{N.}{|\fabra{...}\verb|,| \verb|\oJ}.| \verb|=>| -\hspace{.2em}\printonlyvli{}{N.}{\fabra{...}, \oJ}. -\hspace{.3em}An allen anderen Stellen in v\fhy Befehlen gilt: -\hspace{.2em}\verb|\oJ.| \verb|=>| \hspace{.3em}\oJ. +nutzen, nicht \textit{direkt} am Ende des Arguments eines \BibArts\fhy Hauptbefehls stehen, kann dies +einen Zeilenumbruch verhindern. An \verb*|\oJ, | \hspace{.05em}wird umgebrochen, aber +\verb*|\oJ\ | \hspace{.1em}folgt das Leerzeichen direkt und ist gesch"utzt. Dann k"onnen +Sie \hspace{-.075em}\verb|\strut| nutzen: Es ist \verb*|\oJ\strut\ | +\hspace{.1em}statt +\verb*|\oJ\ | \hspace{.1em}zu tippen. Das gilt auch f"ur Befehle, die \verb|\oJ|\hspace{.1em} +ausf"uhren, etwa in: +\hspace{.2em}\verb*|\ersch{Stuttgart}{}\strut\ next| \hspace{.2em}\verb|=>| \hspace{.2em}\ersch{Stuttgart}{}\strut\ next. +\hspace{.2em}Nur \textit{direkt} vor den +\hspace{.05em}\underline{\texttt{\}}} \hspace{.1em}der Hauptbefehle geschieht dies automatisch: +\hspace{.05em}\verb|\vli{}{Yi}{|\fabra{...}\verb|,| \hspace{-.05em}\verb|\ersch{Stuttgart}{}|\underline{\texttt{\}}}\kern.05em\verb*| next| \hspace{.2em}\verb|=>| +\hspace{.2em}\printonlyvli{}{Yi}{\fabra{...}, \ersch{Stuttgart}{}} next. +\hspace{.15em}Und nur am Ende der Argumente von \BibArts\hy Hauptbefehlen wird +daf"ur gesorgt, einen von Ihnen dahinter getippten \underline{Satzende\hy Punkt} zu `verschlucken': +\hspace{.1em}\verb|\vli{}{Yi}{|\fabra{...}\verb|,| \verb|\ersch{Stuttgart}{}}|\underline{\texttt{.\vphantom{\}}}} \hspace{.1em}\verb|=>| +\hspace{.2em}\printonlyvli{}{Yi}{\fabra{...}, \ersch{Stuttgart}{}}. +\hspace{.2em}Oder: \hspace{.1em}\verb|\vli{}{Yi}{|\fabra{...}\verb|,| \verb|\oJ}|\underline{\texttt{.\vphantom{\}}}} \verb|=>| +\hspace{.2em}\printonlyvli{}{Yi}{\fabra{...}, \oJ}. +\hspace{.2em}An allen anderen Orten gilt: +\hspace{.2em}\verb|\oJ|\underline{\texttt{.\vphantom{\}}}} \verb|=>| \hspace{.3em}\oJ. \hspace{.2em}und -\hspace{.2em}\verb|\ersch{Stuttgart}{}.| \verb|=>| \hspace{.3em}\ersch{Stuttgart}{}. +\hspace{.2em}\verb|\ersch{Stuttgart}{}|\underline{\texttt{.\vphantom{\}}}} \verb|=>| \hspace{.3em}\ersch{Stuttgart}{}. -Au\hyss erdem wird das \textit{spacing} nur am Ende von \BibArts\hy Hauptbefehlen -$-$\,wie oben Seite~\pageref{nonfrenchspacing} geschildert\,$-$ automatisch eingestellt +\vspace{.025ex}Gleichzeitig wird das \textit{spacing} nur am Ende von \BibArts\hy Hauptbefehlen +$-$\,siehe oben Seite~\pageref{nonfrenchspacing}\,$-$ automatisch eingestellt (L"ange von Leerzeichen). Falls Sie \hspace{-.1em}\verb|\ersch| anderswo verwenden wollen, sollten Sie @@ -4587,10 +4905,10 @@ die eben genannte \hspace{-.125em}\verb|\ersch|\hy Syntax ergibt: \vspace{1ex} {%\renewcommand{\poJ}{ohne Jahr}% -{\frenchspacing \verb|\frenchspacing | \ersch{Stuttgart}{}\bapoint\newsentence Next +{\frenchspacing \verb|\frenchspacing | \ersch{Stuttgart}{}\bapoint\newsentence N"achster Satz } -{\nonfrenchspacing \verb|\nonfrenchspacing | \ersch{Stuttgart}{}\bapoint\newsentence Next +{\nonfrenchspacing \verb|\nonfrenchspacing | \ersch{Stuttgart}{}\bapoint\newsentence Next sentence } } @@ -4599,7 +4917,7 @@ Vorgefertigte Textelemente, die \hspace{-.05em}\verb|\bacorr| enthalten, sollten Sie nie direkt verwenden. Nicht benutzt werden sollte somit \hspace{-.05em}\verb|\ntsep|\kern.05em, das \hspace{.15em}\verb*|{: \bacorr}| -\hspace{.15em}ausf"uhrt. Anders als f"ur andere Separatoren gibt +\hspace{.15em}ausf"uhrt. Zur freien Eingabe von Namen gibt es den Befehl \hspace{-.1em}\verb|\printntsep|\kern.05em, um \hspace{-.1em}\verb|\ntsep| auszudrucken. Auch \hspace{-.075em}\verb|\ntvauthor| und @@ -4678,7 +4996,7 @@ und \texttt{\bs ersch} nur ganz ans Ende des letzten Arguments von v\fhy Befehle \end{itemize} \vspace{1ex}\noindent -Bei abgek"urzten Zeitschriften f"ullt \verb|\abkper| die \verb|\abk|- \textit{und} die \verb|\per|\hy Liste. +Bei abgek"urzten Zeitschriften f"ullt \verb|\abkper| die \verb|\abk|\hy\ \textit{und} die \verb|\per|\hy Liste. @@ -4690,7 +5008,7 @@ Bei abgek"urzten Zeitschriften f"ullt \verb|\abkper| die \verb|\abk|- \textit{un \textbf{Befehl} & \textbf{Voreinstellung} & \textbf{Alternative} \\ \hline & & \\ \verb|\authoremph| & \verb|{\normalfont\scshape}| & \verb|{\upshape\|\abra{...}\verb|}| \\[.25ex] -\verb|\kxxemph| & \verb|{}| \ (\verb|\kli|- und \verb|\kqu|\hy Titel)& alles (S.\,\pageref{kxxB}, \pageref{kxxA}, \pageref{ntsepB}) \\[.25ex] +\verb|\kxxemph| & \verb|{}| \ (\verb|\kli|\hy\ und \verb|\kqu|\hy Titel)& alles (S.\,\pageref{kxxB}, \pageref{kxxA}, \pageref{ntsepB}) \\[.25ex] \verb|\edibidemph| & \verb|{\scshape}| \ (\textsc{ebd.}, \textsc{ders.}\ko)& \textbf{KEINE!} \\[.25ex] \verb|\abkemph| & \verb|{\sffamily}| & alles (S.\,\pageref{abkA}, \pageref{abkB}) \\[.25ex] \verb|\abklistemph| & \verb|{\bfseries}| & alles; \verb|{\abkemph}| \\[.25ex] @@ -4716,7 +5034,7 @@ warnen). \vspace{.25ex} Zudem sollten f"ur \verb|\edibidemph| nur \textsc{kleine kapitelle} als Basis verwendet werden, denn nur das umgeht das Problem der -Klein\fhy/""Gro"sschreibung $-$ \textsc{ebd.} und \textsc{ders.} m"ussen ja +Klein\fhy\ko\slash Gro"sschreibung $-$ \textsc{ebd.} und \textsc{ders.} m"ussen ja nicht immer am Anfang eines Satzes stehen! \vspace{1.5ex}\noindent @@ -4729,14 +5047,14 @@ F"ur listemph\hy Befehle gilt "ubertragbar: {\footnotesize \begin{verbatim} {\renewcommand{\perlistemph}{\slshape}% - Auf den Ausdruck von \per{ShortMagazine} wirkt sich dies nicht aus! + Auf den Ausdruck von \per{Le Petit Journal} wirkt sich das nicht aus! \renewcommand{\balistnumemph}{} %% Zahlen nicht in sans serif %% \printnumper} \end{verbatim}} \vspace{.5ex} {\renewcommand{\perlistemph}{\slshape}% - \hspace{.em}Auf den Ausdruck von \per{ShortMagazine} wirkt sich dies nicht aus! + \hspace{.em}Auf den Ausdruck von \per{Le Petit Journal} wirkt sich das nicht aus! \renewcommand{\balistnumemph}{} %% Zahlen nicht in sans serif %% \vspace{-1.25ex} \printnumper} @@ -4750,7 +5068,7 @@ F"ur listemph\hy Befehle gilt "ubertragbar: \hspace*{7.5mm} \begin{tabular}{ll} - \bf Voreinstellung "andern\hspace{1cm} & \bf $\sim$ wiederherstellen\hspace{1.1em}(1/2) \\ \hline + \bf Voreinstellung "andern\hspace{1cm} & \bf $\sim$ wiederherstellen\hspace{1.5em}(1/2) \\ \hline \multicolumn{2}{l}{} \\[1ex] %% \verb| \affixhints| & \verb|\notaffixhints| \\ @@ -4783,13 +5101,13 @@ F"ur listemph\hy Befehle gilt "ubertragbar: \multicolumn{2}{l}{\mynwarrow {\footnotesize\sffamily Automatisches {\normalfont\footnotesize\textsc{ebd.}}\hy Setzen ausschalten}} \\[3ex] %% \verb|\notktitaddtok| & \verb| \ktitaddtok| \\ - \multicolumn{2}{l}{\mynwarrow {\footnotesize\sffamily{\normalfont\footnotesize\texttt{\bs ktit}} im v\fhy Befehl erzeugt keinen \kern-.2em{\normalfont\footnotesize\texttt{.vkc}}\hy Eintrag wie ein k\fhy Befehl}} \\[3ex] + \multicolumn{2}{l}{\mynwarrow {\footnotesize\sffamily{\normalfont\footnotesize\texttt{\bs ktit}} im v\fhy Befehl erzeugt keinen \hspace{-.175em}{\normalfont\footnotesize\texttt{.\ko vkc}}\hy Eintrag wie ein k\fhy Befehl}} \\[3ex] %% \verb|\notkurzaddtoarq| & \verb| \kurzaddtoarq| \\ \multicolumn{2}{l}{\mynwarrow {\footnotesize\sffamily{\normalfont\footnotesize\texttt{\bs kurz}} (\kern-.075em {\normalfont\footnotesize\textit{Vorl"aufer}} von {\normalfont\footnotesize\texttt{\bs ktit}}) erzeugt keinen - \hspace{-.2em}{\normalfont\footnotesize\texttt{.arq}}\hy Eintrag}} \\%[3ex] + \hspace{-.175em}{\normalfont\footnotesize\texttt{.arq}}\hy Eintrag}} \\%[3ex] \end{tabular} @@ -4800,7 +5118,7 @@ F"ur listemph\hy Befehle gilt "ubertragbar: \hspace*{7.5mm} \begin{tabular}{ll} - \bf Voreinstellung "andern\hspace{1cm} & \bf $\sim$ wiederherstellen\hspace{1.1em}\hfill (2/2) \\ \hline + \bf Voreinstellung "andern\hspace{1cm} & \bf $\sim$ wiederherstellen\hspace{1.5em}\hfill (2/2) \\ \hline \multicolumn{2}{l}{} \\[1ex] %% \verb|\notnegcorrdefabk| & \verb| \negcorrdefabk| \\ @@ -4867,12 +5185,12 @@ Emulation.\footnote{Wird vom alten Vorspannbefehl \texttt{\bs makebar} eingeschaltet (stehen lassen!) und redefiniert auch \hspace{-.1em}\texttt{\bs printvli}, das in 1.3 keine "Uberschrift druckte. Sonst wird \texttt{\bs makebar} nicht\pdfko{.5}\ -mehr ben"otigt: Es gibt kein \hspace*{-.175em}\texttt{.bar}\hy File mehr; -\BibArts\ nutzt nun \hspace{-.175em}\texttt{.aux}\hy Files +mehr ben"otigt: Es gibt kein \hspace{-.125em}\texttt{.bar}\hy File mehr; +\BibArts\ nutzt nun \hspace{-.125em}\texttt{.aux}\hy Files (\textbf{dazu Kap.\,\ref{bibsort}}).} Kopien der Argumente von \hspace{-.1em}\verb|\kurz| \hspace{.075em}sowie der alten \hspace{-.1em}\verb|\bib|\kern.05em\hy Befehle gehen heute\pdfko{.25}\ -ins \hspace*{-.15em}\texttt{.arq}\hy +ins \hspace{-.125em}\texttt{.arq}\hy Verzeichnis, das es in \BibArts~1.3 nicht gab; eine \verb|\printind|\hy Emulation druckt alles aus $-$ nach Bearbeitung mit \texttt{bibsort}. F"ur \textsc{MakeIndex}\pdfko{.5}\ @@ -4945,26 +5263,24 @@ Bei beiden Befehlsklassen enth"alt das Befehlswort zum Ausdruck der jeweiligen Liste dieselben drei Buchstaben, die auch der Befehl zum F"ullen der Liste aufweist. Auch das Dateinamens\hy Suffix der von \verb|bibsort| erzeugten Liste hat diese Zeichen: Eintr"age des -\BibArts\hy Befehls \verb|\vli| kommen in eine Datei \verb|.vli|, -die Sie\pdfko{.5}\ -mit \verb|\printvli| oder \verb|\printnumvli| im Anhang +\BibArts\hy Befehls \verb|\vli| kommen in eine Datei \hspace{-.075em}\texttt{.\ko vli}, +die Sie mit\pdfko{.25}\ +\verb|\printvli| oder \verb|\printnumvli| im Anhang Ihres Textes ausdrucken k"onnen. Entsprechendes gilt f"ur \verb|\vqu|, \verb|\arq| und \verb|\per|. Ausnahme ist das Kurzzitateverzeichnis -\verb|.vkc|, das die Zug"ange der \verb|\kli|- \textit{und} +\hspace{-.1em}\texttt{.\ko vkc}, das die Zug"ange der \verb|\kli|\hy\ \textit{und} \verb|\kqu|\hy Eintr"age erh"alt (sowie der Zug"ange, die \BibArts\ aus den Argumenten von \verb|\ktit| und den Nachnamen\hy Argumenten der v\fhy Befehle \textit{automatisch} erzeugt); das Kurzzitateverzeichnis wird mit \verb|\printvkc| oder \verb|\printnumvkc| ausgedruckt. Und -f"ur das\pdfko{.25}\ -Abk"urzungsverzeichnis, das mit \verb|\printabk| oder -\verb|\printnumabk| ausgedruckt\pdfko{.25}\ -wird, bef"ullen die \BibArts\hy Befehle +f"ur das Abk"urzungsverzeichnis, das mit \verb|\printabk| oder +\verb|\printnumabk| ausgedruckt wird, bef"ullen die \BibArts\hy Befehle \verb|\abkdef| oder \verb|\defabk| eine von \verb|bibsort| erzeugte -Datei \verb|.abk|; f"ur so eingef"uhrte Abk"urzungen liefern +Datei \hspace{-.1em}\verb|.abk|; f"ur so eingef"uhrte Abk"urzungen liefern \verb|\abk|\hy Befehle weitere Seitenzahlen und ggf.\ Fu"snotennummern, die \verb|\printnumabk| ausdruckt. -F"ur alle diese Listen liest \verb|bibsort| das\slash die \verb|.aux|\hy +F"ur alle diese Listen liest \verb|bibsort| das\slash die \hspace{-.125em}\verb|.aux|\hy File{\small(}s{\small)} Ihres \LaTeX\hy Textes ein und erzeugt daraus die genannten Dateien. Das Namens\hy Pr"afix ist dasjenige des \LaTeX\hy Haupttextes (die Literaturliste \textit{hier} ist \verb|bibarts.vli|). @@ -5079,7 +5395,7 @@ Im folgenden Beispiel wird das Kurzzitateverzeichnis einspaltig ausgedruckt: \twocolumn[\subsubsection*{Die print\fhy\kern-.025em, printnum\fhy\kern-.025em, title\fhy\kern-.025em, list- und num\fabra{...}list\hy Befehle} -Hier \texttt{[}\kern-.05em\textit{OptArg}\texttt{]}'s f"ur "Uberschriften,\pdfko{.5}\ +Hier \texttt{[}\kern-.05em\textit{OptArg}\texttt{]}'s f"ur "Uberschriften, die eine Stufe gr"o\hyss er als der Default sind. Die jeweils ersten zwei Befehle sind in den title\kern.05em- und einen list\hy Befehl teilbar. \\ \strut \\ @@ -5181,7 +5497,7 @@ Es gibt vergr"o\hyss erte Abst"ande und Buchstaben: print\hy Befehle, die \textit{selbst} zweispaltig drucken, setzen strikte Vorgaben f"ur Abst"ande um, etwa \verb|\itemsep| \verb|0pt|. F"ur andere list\hy Befehle -gelten nur die Vorgaben der \verb|{description}|\hy Liste. +gelten nur die Vorgaben der \verb|{description}|\kern.025em\hy Liste. Um dann Abst"ande, die f"ur zweispaltigen Ausdruck gelten, einzustellen, kann \verb|\batwocolitemdefs| gesetzt werden. @@ -5207,7 +5523,7 @@ eine Kopfzeile danach nochmal zu definieren): \verb| {\small\bibsortheads \batwocolitemdefs\printvkclist}\onecolumn|} \vspace{1.25ex}\noindent -Unter \verb|\bibsortspaces| bzw.\ \verb|\bibsortheads| wird +Unter \verb|\bibsortspaces| bzw\ko.\ \verb|\bibsortheads| wird \verb|\batwocoltopskip| eigenst"andig von print\hy Befehlen, die zweispaltigen Druck anordnen, ausgef"uhrt. Falls \verb|\twocolumn| und \verb|\bibsortheads| gleichzeitig gelten, @@ -5224,7 +5540,7 @@ aus $-$ und umgekehrt. \vspace{1.5ex}\noindent Beim Archivquellenverzeichnis kann ein Konflikt auftreten: Sie sollten sich entscheiden, ob Sie \verb|\bibsortspaces| -bzw.\ \hspace{-.05em}\verb|\bibsortheads| aktivieren +bzw\ko.\ \hspace{-.075em}\verb|\bibsortheads| aktivieren m"ochten, \textit{oder} \verb|\arqsection|, \verb|\arqsubsection| und \verb|\arqsubsubsection| nutzen. Und nur im Archivquellenverzeichnis k"onnen Sie \textit{innerhalb @@ -5242,7 +5558,7 @@ Befehle mit Argumenten in eckigen Klammern wie eine arq\hy "Uberschrift der allererste Listeneintrag, dann sind \textit{nur} Abstandsbefehle wie etwa \texttt{\bs vspace} im optionalen Argument erlaubt, denn \texttt{bibsort} setzt die optionalen Argumente innerhalb -des \texttt{.arq}\hy Files in eine Zeile \textit{vor} die arq\hy section; +des \hspace{-.125em}\texttt{.arq}\hy Files in eine Zeile \textit{vor} die arq\hy section; in einer \LaTeX\hy Liste darf jedoch zu druckender Text oder \texttt{\bs rule} erst \textit{nach} dem ersten \texttt{\bs item}\hy Befehl stehen.} Einfach l"asst sich \textit{zus"atzlicher Abstand zum vorausgehenden @@ -5258,18 +5574,19 @@ untereinander austariert; Anf"anger sollten sie unver"andert lassen.} \newpage \section{\texttt{bibsort} samt Neuerungen seit Version~2.0}\label{Sect18}\label{bibsort} -\verb|bibsort| ist das Sortierprogramm von \BibArts\kern.1em. Eine -Datei \verb|bibsort.exe| liegt dem Paket neben \verb|bibarts.sty| bei. -Beide zusammen sollen den Anhang Ihres \LaTeX\hy Textes erzeugen. -Anwender, bei denen \verb|bibsort.exe| nicht startet, sollten -\verb|bibsort.c| mit einem f"ur ihr Betriebssystem -geeigneten C\fhy Compiler selbst in eine Bin"ardatei "ubersetzen und -dann diese einsetzen. Der Quellcode von \verb|bibsort.c| setzt kein -bestimmtes Betriebssystem voraus (ANSI~C).\footnote{F"ur GNU\hy Software habe ich -das getestet: Auch\hspace{.3em} \texttt{gcc -c bibsort.c -o bibsort.o}\hspace{.3em} -und\hspace{.3em} \texttt{gcc bibsort.o -o bibsort.exe}\hspace{.3em} ergaben bei mir eine -brauchbare Bin"ardatei. Bei mir machte der \texttt{Dev-Cpp\_5.4.0}\kern .1em\hy Editor -Schwierigkeiten, der \texttt{gcc} pers"onlich jedoch nie.} +\verb|bibsort| ist das Sortierprogramm von \BibArts\kern.1em. Eine Datei +\verb|bibsort.exe| liegt dem Paket neben \verb|bibarts.sty| bei. Beide +zusammen sollen den Anhang Ihres \LaTeX\hy Textes erzeugen. Anwender, bei +denen \verb|bibsort.exe| nicht startet, sollten \verb|bibsort.c| mit einem +f"ur ihr Betriebssystem geeigneten C\fhy Compiler selbst in eine Bin"ardatei +"ubersetzen und dann diese einsetzen. Der Quellcode von \verb|bibsort.c| +setzt kein bestimmtes Betriebssystem voraus (ANSI~C).\footnote{Ich testete +u.\,a.\ MinGW und tippte +\hspace{.5em}\texttt{gcc -c bibsort.c -o bibsort.o -O2} \hspace{.5em}und +\hspace{.5em}\texttt{gcc bibsort.o -o bibsort.exe} \hspace{.5em}sowie +\hspace{.5em}\texttt{strip bibsort.exe} \hspace{.5em}in die +Eingabeauf"|forderung von Windows~10 ein, um f"ur \BibArts\ 2.5 +eine ausf"uhrbare Bin"ardatei zu erzeugen.} \BibArts\ kommt heute (Version 2.x) ohne \textsc{MakeIndex} aus. \verb|bibsort| verarbeitet keine Steuerzeichen, hat kein @@ -5293,8 +5610,8 @@ erzeugt werden. F"ur \verb|bibarts.tex| hier ist \verb|bibarts.aux| erzeugte Datei \verb|bibarts.vli| enth"alt die Literaturliste, \verb|bibarts.abk| das Abk"urzungsverzeichnis, etc. -\verb|bibsort| liest aus einer \hspace{-.15em}\texttt{.aux}\hy Datei nur die Zeilen ein, die -mit \BibArts\ erzeugt wurden. In einem ersten Schritt sortiert es +\verb|bibsort| liest aus einer \hspace{-.2em}\texttt{.aux}\hy Datei nur die Zeilen ein, die +mit \BibArts\ erzeugt wurden. In einem ersten Schritt sortiert \verb|bibsort| diese Zeilen klein\fhy\slash gro"s\hy schreibungs\hy invariant. Das Programm sortiert \textit{in Grundeinstellung} "a, "o und~"u als a, o und u; weiter sind \verb|\ss| und \verb|\3| (sowie \verb|"s|, falls \verb|"| \textit{aktiv} ist\footnote{\BibArts\ @@ -5308,7 +5625,7 @@ Sortierreihenfolge z.\,B. von~\texttt{\string"a}\kern.1em.}) gleich~\verb|s|. Wird \texttt{bibsort} die Option \ko\verb|-g2|~(Wortliste) "ubergeben, sortiert es "s als \verb|ss|; mit \ko\verb|-g1|~(Namensliste) gelten \textit{zudem} die Umlaute als \verb|ae|, \verb|oe| und \verb|ue| -(letzteres entspricht DIN\,5007\fhy 2). Zahlen werden \textit{in Grundeinstellung} +(letzteres entspricht DIN\,5007\fhy 2). \hspace{.05em}\verb|0| bis \verb|9| werden \textit{in Grundeinstellung} vor Buchstaben sortiert; mit \ko\verb|-g1| oder \ko\verb|-g2| ist es umgekehrt. Nur, wenn Zeilen anhand der enthaltenen Zahlen sowie gro"s\fhy\slash klein\hy invarianten Buchstaben keinen Unterschied gegen"uber @@ -5316,7 +5633,7 @@ anderen Zeilen aufweisen, wird die Gro"s\fhy\slash Klein\hy Schreibung beachtet, danach etwaige Akzente auf den Buchstaben, dann weitere Zeichen. Etliche Einstellungen sind nicht ver"anderbar. Etwa wird \verb|\o|~(\o) im -ersten Schritt immer als \verb|o| einsortiert, dann vor allen \verb|o|'s mit +ersten Schritt immer als \verb|o| einsortiert, dann hinter alle \verb|o|'s mit `aufgesetzten' Akzenten. Ebenso nicht\hy einstellbar ist, dass \verb|$\alpha$| als \verb|a| einsortiert wird. Um im Einzelfall abweichende Sortierreihenfolgen zu erzwingen, k"onnen Sie den \BibArts\hy Befehl @@ -5333,14 +5650,14 @@ In \verb|\protect\pageref{|\textit{xx}\verb|}| wird \textit{xx} nicht gewichtet (suche \verb|\pageref{X1}|). \vspace{.75ex}\noindent -Nur \verb|bibsort| in der Eingabeauf"|forderung getippt druckt auf den Bildschirm: +Nur \hspace{.1em}\verb|bibsort| \hspace{.1em}in die Eingabeauf"|forderung getippt druckt auf den Bildschirm: {\scriptsize\makeatletter \catcode\grave@ba\|=\active\makeatother \def|{\hspace{-.25em}\hbox to 1em{\hfill$\sim$\hfill}\hspace{-.25em}}% \begin{verbatim} - %%> This is bibsort 2.4 (for help: bibsort -?) - %% bibsort 2.4 is part of BibArts 2.4 (C) Timo Baumann 2022. + %%> This is bibsort 2.5 (for help: bibsort -?) + %% bibsort 2.5 is part of BibArts 2.5 (C) Timo Baumann 2022b. %% I read a LaTeX .aux file (follow \@input), and I write my output in files %% .vli Literature .vqu Published sources .grr Geographic index %% .vkc Short titles .arq Unpublished sources .prr Person index @@ -5369,14 +5686,14 @@ Dabei ist die ganze Serie der neun Hilfsdateien aufgelistet, die \verb|bibsort| erzeugen kann $-$ \textit{und l"oschen darf}, falls keine Eintr"age da sind!\footnote{Wenn Sie z.\,B. \ko\texttt{\bs vli} in Ihrem Text verwenden, erzeugt \texttt{bibsort} eine Datei -\ko\texttt{.vli}; falls +\hspace{-.125em}\texttt{.\ko vli}; falls Sie \texttt{\bs vli} sp"ater wieder l"oschen und Ihr mit \LaTeX\ "ubersetzter Text derartige Literatur\-\hbox{anga}\-ben nicht mehr enth"alt, -l"oscht ein weiterer Start von \texttt{bibsort} die \ko\texttt{.vli}\hy Datei. -$-$ Unter \texttt{\bs nofiles} bleiben die \ko\texttt{.aux}\hy Files unver"andert +l"oscht ein weiterer Start von \texttt{bibsort} die \hspace{-.1em}\texttt{.\ko vli}\hy Datei. +$-$ Unter \texttt{\bs nofiles} bleiben die \hspace{-.1em}\texttt{.aux}\hy Files unver"andert stehen und \texttt{bibsort} erzeugt die Datei -\texttt{.vli} immer wieder gleich, d.\,h.: ohne neue/""ver"anderte -\texttt{\bs vli}\hy Befehle im Text aufzunehmen.} +\hspace{-.1em}\texttt{.\ko vli} immer wieder gleich, d.\,h.: ohne im Text neue\slash ver"anderte +\hspace{-.05em}\texttt{\bs vli}\hy Befehle aufzunehmen.} \vspace{.75ex} \verb|-d|\hspace{.1em} dient dazu, dass \verb|bibsort| Dateien findet, wenn im Text in @@ -5411,26 +5728,26 @@ irref"uhrend, es sei ein\hspace{.2em} \texttt{Incomplete} \texttt{\bs ifx}~...\h \vspace{.75ex} Weitere Optionen wie \verb|-l|\,, \verb|-i=j| und \verb|-p| werden unten ab Seite~\pageref{plit} erkl"art. -\vspace{1.5ex}\noindent -Seit Version 2.3 stellt \verb|bibsort| die Optionen \verb|-utf8| und \verb|-e| bereit: +\vspace{.75ex}\noindent +Seit Version 2.3 stellt \verb|bibsort| die Optionen \verb|-utf8| \hspace{.075em}und \verb|-e| \hspace{.075em}bereit: -\vspace{.75ex} -\verb|-utf8| \hspace{.1em}bewirkt, dass UTF8\hy Zeichen analog zu \verb|utf8enc.dfu| (v1.2n vom 2021/06/21 -\kern-.05em\textit{ohne} \verb|\cyr|...\ und \verb|\CYR|...\hy Zeichen) sortiert werden. Seit 2.4 sind nun zus"atzlich -ḟ \texttt{U+1E1F}, -Ḟ \texttt{U+1E1E}, -ḱ \texttt{U+1E31}, -Ḱ \texttt{U+1E30}, -Ẏ \texttt{U+1E8E}, -Ạ\texttt{U+1E8F}, -ẑ \texttt{U+1E91}, -Ạ\texttt{U+1E90}, -ỳ \texttt{U+1EF3} und -Ỳ \texttt{U+1EF2} -bekannt (neu gegen"uber v1.2l). - -Falls Sie UTF8\hy Zeichen verwenden, aber \verb|-utf8| \hspace{.05em}nicht gesetzt +\vspace{.5ex} +\verb|-utf8| \hspace{.1em}bewirkt, dass UTF8\hy Zeichen analog zu \verb|utf8enc.dfu| v1.3c von \hspace{.05em}{\small 2022/06/07} +\hspace{.05em}(\kern-.05em\textit{ohne} \verb|\cyr|...\ und \verb|\CYR|...\hy Zeichen) sortiert werden. \texttt{bibsort} 2.5 kennt neu + \hspace{.1em}Ç„ \texttt{\footnotesize [U+01C4]}, + \hspace{.1em}Ç… \texttt{\footnotesize [U+01C5]}, + \hspace{.1em}dž \texttt{\footnotesize [U+01C6]}, + \hspace{.1em}LJ \texttt{\footnotesize [U+01C7]}, + \hspace{.1em}Lj \texttt{\footnotesize [U+01C8]}, + \hspace{.1em}lj \texttt{\footnotesize [U+01C9]}, + \hspace{.1em}ÇŠ \texttt{\footnotesize [U+01CA]}, + \hspace{.1em}Ç‹ \texttt{\footnotesize [U+01CB]}, + \hspace{.1em}ÇŒ \texttt{\footnotesize [U+01CC]}, + \hspace{.1em}〈 \texttt{\footnotesize [U+3008]} und + \hspace{.1em}〉 \texttt{\footnotesize [U+3009]}. + +Falls Sie UTF8\hy Zeichen verwenden, aber \verb|-utf8| \hspace{.075em}nicht gesetzt haben, meldet \verb|bibsort| nur das letzte unbekannte Oktett aus Ihrem Text, also etwa:\footnote{Da UTF8\hy Zeichen jenseits Nr.\,127 aus mehreren Oktetten bestehen, ist die im Beispiel angegebene Nummer \texttt{165} kein eindeutiger Hinweis darauf, auf welches UTF8\hy Zeichen die Fehlermeldung zur"uckgeht. Es k"onnte sich dabei etwa um das zweite Oktett der Dublette \texttt{195-165} f"ur Ã¥ (\texttt{U+00E5}) handeln, @@ -5439,7 +5756,7 @@ aber vielleicht auch \texttt{194-165} f"ur Â¥ (\texttt{U+00A5}), oder sonstwas. \vspace{-1.25ex} {\scriptsize\begin{verbatim} %%> Default encoding: Gave ASCIIs > 127 like 165 NO sorting weight. - %% Did ignore all ASCIIs > 127. Start me using -utf8 or -t1 ? + %% Did not evaluate your ASCIIs > 127. Start me using -utf8 or -t1 ? %% ******* \end{verbatim}} @@ -5460,68 +5777,72 @@ bis zu zwanzig und gibt am Ende je Zeichen \textit{eine} Bildschirm\hy Meldung a Auch das aktuelle \LaTeX\ gibt bei Verwendung dieser Zeichen Fehler aus. Falls Sie \hspace{.15em}\verb|\DeclareUnicodeCharacter{01EC}{\k{\@tabacckludge=O}}| \hspace{.2em}im Vorspann Ihrer \LaTeX\hy Datei definieren, w"urde eine Nutzung von \verb|U+01EC| das Zeichen drucken und die \LaTeX\hy Fehlermeldung ausschalten; -\verb|bibsort| 2.4 g"abe \verb|U+01EC| aber weiterhin kein Sortiergewicht. -Nutzung von \verb|\k{\=O}| im Text w"urde stattdessen \k{\=O} ausdrucken\footnote{In \texttt{\{tabbing\}}\hy Umgebungen w"are \texttt{\bs k\{\bs a=O\}} zu verwenden, -weil \texttt{\bs=} dort Tabs setzt.} \textit{und} von \verb|bibarts| sortiert werden k"onnen. +\verb|bibsort| 2.5 g"abe \verb|U+01EC| aber weiterhin kein Sortiergewicht. +Tippen von \verb|\k{\=O}| w"urde stattdessen \k{\=O} ausdrucken\footnote{In \texttt{\{tabbing\}}\kern.05em\hy Umgebungen w"are \texttt{\bs k\{\bs a=O\}} zu verwenden, +weil \texttt{\bs=} dort Tabs setzt.} \textit{und} von \verb|bibsort| als \verb|O|\hy mit\hy Akzenten sortiert. %%\k{\a=O}%% \vspace{.75ex} -\verb|-e| \hspace{.2em}ist seit Version 2.3 eine weitere Option. Mit \hspace{.2em}\verb|\bibsort| \verb|-e| \hspace{.2em}werden die +\verb|-e| \hspace{.2em}ist seit Version 2.3 eine weitere Option. Mit \hspace{.25em}\verb|bibsort| \verb|-e| \hspace{.225em}werden die Argumente von \verb|\vauthor|, \verb|\midvauthor| und \verb|\ntvautor| auf den \BibArts\hy \textit{Listen} vertauscht ausgedruckt (\kern-.0875em\textit{e}xchange). Damit werden Koautoren in der Notation -\hspace{.1em}\textit{Nachname}\kern-.05em\verb|,| \hspace{-.1em}\textit{Vorname} \hspace{.15em}ausgedruckt, also wie der Hauptautor. +\hspace{.1em}\textit{Nachname}\kern-.075em\verb|,| \hspace{-.125em}\textit{Vorname} \hspace{.15em}ausgedruckt, also wie der Hauptautor. Die Sortierung "andert sich dadurch nicht: Die erfolgt immer in der Reihenfolge -\texttt{Nachname} \hspace{.05em}\texttt{Vorname}\kern.05em. \hspace{.1em}In Text und Fu"snoten druckt \BibArts\ -Autoren dagegen immer in der Reihenfolge \textit{Vorname Nachname} \hspace{.1em}aus; dies ist unver"anderlich. +\texttt{Nachname} \hspace{.05em}\texttt{Vorname}\kern.05em. \hspace{.1em}Im Text (auch in Fu"snoten) druckt \BibArts\ +"ubrigens unver"anderlich Autoren immer in der Reihenfolge \textit{Vorname Nachname} \hspace{.1em}aus. \vspace{1.25ex}\noindent Seit Version 2.2 gibt es f"ur \verb|bibsort| folgende weitere Optionen: \vspace{.75ex} \verb|-h| sortiert Minuszeichen wie Leerzeichen. Das bezieht sich neben `\verb|-|' auf\pdfko{.25}\ -\verb|\hy| und \verb|\fhy| sowie\footnote{Falls das Doppelanf"uhrungszeichen \textit{aktiv} ist und \texttt{-x} nicht gesetzt wurde.} auf \verb|"=| und \verb|"~|. Dabei sind \verb|\hy| und \verb|\fhy| in \BibArts\ definiert +\verb|\hy| und \verb|\fhy| sowie\footnote{Falls das Doppelanf"uhrungszeichen +\textit{aktiv} ist und \texttt{-x} nicht gesetzt wurde.} +auf \verb|"=| und \verb|"~|. Dabei sind \verb|\hy| und \verb|\fhy| in \BibArts\ definiert (siehe oben S.\,\pageref{hy}), w"ahrend \verb|"=| und \verb|"~| von \verb|german|, \verb|ngerman| oder den entsprechenden Versionen von babel bereitgestellt werden m"ussen. \vspace{.75ex} -\verb|-b| \hspace{.15em}beeinflusst die Sortierreihenfolge, falls Sie \hspace{.1em}\verb|\bago| \hspace{.1em}im Text verwenden. -Ohne \verb|-b|\hspace{.2em} hat \hspace{.1em}\verb|\bago| \hspace{.1em}keinen Einfluss. -Die Preu\hyss ischen Instruktionen etwa schrieben vor, dass im Titel das erste Substantiv, das im Nominativ steht, -sortierrelevant ist. -\hspace{.2em}\verb|\vli{J.}{Smith}{The| \verb|\bago| \verb|\ktit{Book},| \verb|London| \verb|2005}| \hspace{.2em}wird als -\hspace{.2em}\verb|Smith J Book London 2005| \hspace{.2em}sortiert. Das \verb|The| hat kein -Gewicht.\footnote{Anders als bei \texttt{\bs nosort\{}\fabra{...}\texttt{\}} gibt es keine Klammern. -Vorsicht: Nur Zeichen hinter \texttt{\bs bago} im \textit{ganzen} zugeh"origen Argument \hspace{-.125em}\textit{`"au\hyss erer'} -\BibArts\hy Befehle werden gewichtet. Nutzen Sie \hspace{.075em}\texttt{bibsort} \texttt{-b} \texttt{-m} \abra{...}\kern.05em, um -in den erzeugten Files die sortierrelevanten Zeichen anzuzeigen.} - -\vspace{.75ex} -\verb|-n1| dient dazu, dass in den num\hy Listen keine Zusammenfassungen von Fu"snoten -"uber mehrere Seiten hinweg erfolgen. Dies dient der Vermeidung seltener Fehler in Texten, +\verb|-n1| unterbindet, dass in den num\hy Listen Fu"snotennummern +"uber mehrere Seiten hinweg zusammengefasst werden. Dies dient der Vermeidung seltener Fehler in Texten, in denen in jedem Kapitel die Fu"snotenz"ahlung neu mit 1 beginnt. Dann k"onnte ein Kapitel auf seiner letzten Seite beispielsweise in den Fu"snoten 2 bis 4 dieselbe Belegstelle nennen $-$ und zudem k"onnte auf der n"achsten Seite in Fu"snote 5 -nochmals dieselbe Belegstelle folgen. Ohne \verb|-n1| \hspace{.05em}w"urde dies zu $6^2$$-$$7^5$ -zusammengefasst\hspace{.1em} (obwohl der Beleg auf Seite\hspace{-.1em} 7 in den Fu"snoten 1 bis 4 nicht vorkommt). -Mit \verb|-n1| \hspace{.05em}wird dagegen richtig $6^{2-4}$$,\ $$7^5$ ausgedruckt. Gerechtfertigte -Zusammenfassungen unterbleiben aber ebenso. +nochmals dieselbe Belegstelle folgen. Ohne \verb|-n1| \hspace{.05em}w"urde dies zu \hspace{.1em}$6^2$$-$$7^5$ +\hspace{.1em}zusammengefasst\hspace{.1em} (obwohl der Beleg auf Seite\hspace{-.1em} 7 in den Fu"snoten 1 bis 4 nicht vorkommt). +Mit \verb|-n1| \hspace{.05em}wird \hspace{.1em}$6^{2-4}$$,\ $$7^5$ \hspace{.1em}ausgedruckt. + +\vspace{.75ex} +\verb|-b| \hspace{.15em}beeinflusst die Sortierreihenfolge, falls Sie \verb|\bago| +\hspace{.1em}im Text verwenden. Die Preu\hyss ischen Instruktionen etwa lauteten, +dass im Titel das erste Substantiv, das im Nominativ steht, sortierrelevant ist. +\hspace{.2em}\verb|\vli{J.}{Smith}{The| \verb|\bago| \verb|\ktit{Book},| \verb|London| \verb|2005}| +\hspace{.25em}\textit{wird als} \hspace{.3em}\verb|Smith J Book London 2005| +\hspace{.2em}\textit{sortiert}. Das \verb|The| hat dabei kein Gewicht; +Zeichen \textit{gelten} ab \verb|\bago| \hspace{.075em}im \textit{ganzen}\pdfko{0}\ +Argument \hspace{-.1em}\textit{`"au\hyss erer'} \BibArts\hy Befehle. +Den \textit{Ausdruck} beeinflusst \verb|\bago| \hspace{.05em}nie. + +\vspace{1.25ex}\noindent +Seit \BibArts\ 2.5 darf \verb|\ktit| in Klammern gesetzt +und bei \textbf{Autor\hy Jahr\hy Zitierweise} im Sternargument stehen \baref{AutorJahr}. Dem wurde \texttt{bibsort} angepasst. +Es gibt Kommentare aus, falls Sie \verb|\ktit| \hspace{.05em}uneinheitlich verwenden \baref{angepasste}. \vspace{1.25ex}\vfill\noindent -Nun ein \textbf{Beispiel f"ur die Sortierreihenfolge}. Achten Sie darauf, dass bei \textit{gleichen} Buchstaben mit -mehreren \textit{verschiedenen} Akzenten (\c{\"a}\kern.05em, \"{\r a}) -die Akzente von hinten nach vorne gewichtet werden, d.\,h. der zuletzt -getippte Akzent (\verb|\"| \hspace{.1em}in \hspace{.1em}\verb|\c{\"a}| \hspace{.2em}und -\hspace{.15em}\verb|\r| \hspace{.15em}in \hspace{.1em}\verb|\"{\r| \hspace{.05em}\verb|a}|) \hspace{.05em}bestimmt die Sortierung am st"arksten. +Nun ein \textbf{Beispiel f"ur die Sortierreihenfolge}. Bei \textit{gleichen} Buchstaben mit +mehreren \textit{verschiedenen} Akzenten (\kern.075em\c{\"a}\kern.075em, \"{\r a}\kern.075em) bestimmt +der zuletzt getippte Akzent \hspace{.1em}(\kern.1em{\small\verb|\"|} \hspace{.15em}in \hspace{.15em}{\small\verb|\c{\"a}|} \hspace{.25em}und +\hspace{.15em}{\small\verb|\r|} \hspace{.2em}in \hspace{.15em}{\small\verb|\"{\r| \hspace{.05em}\verb|a}|}\kern.025em) \hspace{.15em}die Sortierung am st"arksten. Die folgende Liste enth"alt zun"achst nicht alle UTF8\hy Zeichen, die \verb|bibsort| verarbeiten kann. -In einer Kopie von \hspace{.05em}\verb|bibarts.tex| \hspace{.1em}im -k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| +In einer Kopie von \hspace{.05em}\verb|bibarts.tex| \hspace{.1em}k"onnen Sie f"ur eigene Tests im Vorspann das +\hspace{.1em}\verb|%| \hspace{.15em}am Kopf von \hspace{.1em}\verb|%\allprrtrue| \hspace{.15em}entfernen. Nach einem Durchlauf von -\hspace{.3em}\LaTeX\,$+$\,\verb|bibsort| \verb|-utf8| \abra{...}\kern.2em$+$\kern.15em\LaTeX\ +\hspace{.3em}\LaTeX~$+$~\verb|bibsort| \verb|-utf8| \abra{...}~$+$~\LaTeX\ \hspace{.3em}sind u.\,a.\ alle UTF8\hy Zeichen (mit \verb|[U+|\fabra{...}\verb|]| als Kommentar) da, die -\hspace{.15em}\verb|bibsort| \hspace{.15em}in Version 2.4 erkennt: +\hspace{.15em}\verb|bibsort| \hspace{.15em}in Version 2.5 erkennt. \newcommand{\demotext}[1]{\nosort{\protect\printdemotext{#1}}}% @@ -5582,7 +5903,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| %% Basiert auf \DeclareUnicodeCharacter-Befehlen in %% utf8enc.dfu 2021/01/27 v1.2l OHNE \cyr.../\CYR... \addtoprr{a b}%%[U+00A0]}%siehe zugehoeriges \fillprr -\addtoprr{¡\demotext{ [U+00A1]}} +\addtoprr{¡\demotext{ [U+00A1] \ \% Zeichen=kein Gewicht}} \addtoprr{¢\demotext{ [U+00A2]}} \addtoprr{£\demotext{ [U+00A3]}} \addtoprr{¤\demotext{ [U+00A4]}} @@ -5594,7 +5915,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{ª\demotext{ [U+00AA]}} \addtoprr{«\demotext{ [U+00AB]}} \addtoprr{¬\demotext{ [U+00AC]}} -\addtoprr{Â\demotext{ [U+00AD]}} +\addtoprr{Â\demotext{ [U+00AD] \ \ \% entspr. \bs-}} \addtoprr{®\demotext{ [U+00AE]}} \addtoprr{¯\demotext{ [U+00AF]}} \addtoprr{°\demotext{ [U+00B0]}} @@ -5602,10 +5923,10 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{²\demotext{ [U+00B2]}} \addtoprr{³\demotext{ [U+00B3]}} \addtoprr{´\demotext{ [U+00B4]}} -\addtoprr{µ\demotext{ [U+00B5]}}%Mikro-Zeichen; siehe \textmu +\addtoprr{µ\demotext{ [U+00B5/textmu]}}%Mikro-Zeichen \addtoprr{¶\demotext{ [U+00B6]}} \addtoprr{·\demotext{ [U+00B7]}} -\addtoprr{¸\demotext{ [U+00B8]}} +\addtoprr{¸\demotext{ [U+00B8] \ \% hat nur Unterl"ange}} \addtoprr{¹\demotext{ [U+00B9]}} \addtoprr{º\demotext{ [U+00BA]}} \addtoprr{»\demotext{ [U+00BB]}} @@ -5650,7 +5971,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{â\demotext{ [U+00E2]}} \addtoprr{ã\demotext{ [U+00E3]}} \addtoprr{ä\demotext{ [U+00E4]}} -\addtoprr{Ã¥\demotext{ [U+00E5]}}%siehe zugehoeriges \fillprr +\addtoprr{Ã¥} %[U+00E5]%siehe zugehoeriges \fillprr \addtoprr{æ\demotext{ [U+00E6]}} \addtoprr{ç\demotext{ [U+00E7]}} \addtoprr{è\demotext{ [U+00E8]}} @@ -5725,8 +6046,8 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{į\demotext{ [U+012F]}} \addtoprr{Ä°\demotext{ [U+0130]}} \addtoprr{ı\demotext{ [U+0131]}} -\addtoprr{IJ\demotext{ [U+0132]}}%siehe zugehoeriges \fillprr -\addtoprr{ij\demotext{ [U+0133]}}%siehe zugehoeriges \fillprr +\addtoprr{IJ} %[U+0132]%siehe zugehoeriges \fillprr +\addtoprr{ij} %[U+0133]%siehe zugehoeriges \fillprr \addtoprr{Ä´\demotext{ [U+0134]}} \addtoprr{ĵ\demotext{ [U+0135]}} \addtoprr{Ķ\demotext{ [U+0136]}} @@ -5796,7 +6117,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{ż\demotext{ [U+017C]}} \addtoprr{Ž\demotext{ [U+017D]}} \addtoprr{ž\demotext{ [U+017E]}} -\addtoprr{Æ’\demotext{ [U+0192]}} +\addtoprr{Æ’\demotext{ [U+0192/textflorin]}} \addtoprr{Ç\demotext{ [U+01CD]}} \addtoprr{ÇŽ\demotext{ [U+01CE]}} \addtoprr{Ç\demotext{ [U+01CF]}} @@ -5827,9 +6148,9 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{ˇ\demotext{ [U+02C7]}} \addtoprr{Ëœ\demotext{ [U+02DC]}} \addtoprr{˘\demotext{ [U+02D8]}} -\addtoprr{Ë™\demotext{ [U+02D9]}} -\addtoprr{Ë›\demotext{ [U+02DB]}} -\addtoprr{Ë\demotext{ [U+02DD]}} +\addtoprr{Ë™\demotext{ [U+02D9] \ \% entspr. \bs.\{\}}} +\addtoprr{Ë›\demotext{ [U+02DB] \ \% hat nur Unterl"ange}} +\addtoprr{Ë\demotext{ [U+02DD] \ \% kein Gewicht}} %% \cyr... und \CYR waeren hier %% \addtoprr{฿\demotext{ [U+0E3F]}} \addtoprr{Ḃ\demotext{ [U+1E02]}} @@ -5871,7 +6192,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{â„\demotext{ [U+2044]}} \addtoprr{âŽ\demotext{ [U+204E]}} \addtoprr{â’\demotext{ [U+2052]}} -\addtoprr{â‚¡\demotext{ [U+20A1]}}%siehe zugehoeriges \fillprr +\addtoprr{â‚¡} %[U+20A1]} %siehe zugehoeriges \fillprr \addtoprr{₤\demotext{ [U+20A4]}} \addtoprr{₦\demotext{ [U+20A6]}} \addtoprr{â‚©\demotext{ [U+20A9]}} @@ -5884,7 +6205,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{â„ž\demotext{ [U+211E]}} \addtoprr{â„ \demotext{ [U+2120]}} \addtoprr{â„¢\demotext{ [U+2122]}} -\addtoprr{Ω\demotext{ [U+2126]}}%siehe zugehoeriges \fillprr +\addtoprr{Ω} %[U+2126]%siehe zugehoeriges \fillprr \addtoprr{℧\demotext{ [U+2127]}} \addtoprr{â„®\demotext{ [U+212E]}} \addtoprr{â†\demotext{ [U+2190]}} @@ -5927,7 +6248,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| %% utf8enc.dfu 2021/01/27 v1.2l OHNE \cyr.../\CYR... \addtoprr{a\nobreakspace b}%siehe zugehoeriges \fillprr \addtoprr{\textexclamdown} -\addtoprr{\textcent} +\addtoprr{\textcent\demotext{ \bs textcent}} \addtoprr{\textsterling} \addtoprr{\textcurrency} \addtoprr{\textyen} @@ -5936,12 +6257,12 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\textasciidieresis} \addtoprr{\textcopyright} \addtoprr{\textordfeminine} -\addtoprr{\guillemotleft} +\addtoprr{\guillemetleft} %% v1.3c; vor 2.5: \guillemotleft \addtoprr{\textlnot} \addtoprr{a\-b}%siehe zugehoeriges \fillprr \addtoprr{\textregistered} \addtoprr{\textasciimacron} -\addtoprr{\textdegree} +\addtoprr{\textdegree\demotext{ \bs textdegree}} \addtoprr{\textpm} \addtoprr{\texttwosuperior} \addtoprr{\textthreesuperior} @@ -5949,98 +6270,99 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\textmu}%siehe zugehoeriges \fillprr \addtoprr{\textparagraph} \addtoprr{\textperiodcentered} -\addtoprr{\c\ \demotext{ \ \% \bs c\bs\ hat nur Unterl"ange}} +\addtoprr{\c\ \demotext{ \ \bs c\bs\ \ \ \% hat nur Unterl"ange}} \addtoprr{\textonesuperior} \addtoprr{\textordmasculine} -\addtoprr{\guillemotright} +\addtoprr{\guillemetright} %% v1.3c; vor 2.5: \guillemotright \addtoprr{\textonequarter} \addtoprr{\textonehalf} \addtoprr{\textthreequarters} \addtoprr{\textquestiondown} -\addtoprr{\@tabacckludge`A} -\addtoprr{\@tabacckludge'A} -\addtoprr{\^A} -\addtoprr{\~A} -\addtoprr{\"A} +\addtoprr{\`A\demotext{ \bs\protect\string`A}}%\addtoprr{\@tabacckludge`A\demotext{ \bs @tabacckludge\protect\string`A}} +\addtoprr{\'A\demotext{ \bs\protect\string'A}}%\addtoprr{\@tabacckludge'A\demotext{ \bs @tabacckludge\protect\string'A}} +\addtoprr{\^A\demotext{ \bs\protect\string^A}} +\addtoprr{\~A\demotext{ \bs\protect\string~A}} +\addtoprr{\"A}%siehe zugehoeriges \fillprr \addtoprr{\r A} \addtoprr{\AE} -\addtoprr{\c C} -\addtoprr{\@tabacckludge`E} -\addtoprr{\@tabacckludge'E} +\addtoprr{\c C\demotext{ \bs c C}} +\addtoprr{\`E\demotext{ \bs\protect\string`E}}%\addtoprr{\@tabacckludge`E\demotext{ \bs @tabacckludge\protect\string`E}} +\addtoprr{\'E\demotext{ \bs\protect\string'E}}%\addtoprr{\@tabacckludge'E\demotext{ \bs @tabacckludge\protect\string'E}} \addtoprr{\^E} \addtoprr{\"E} -\addtoprr{\@tabacckludge`I} -\addtoprr{\@tabacckludge'I} +\addtoprr{\`I\demotext{ \bs\protect\string`I}}%\addtoprr{\@tabacckludge`I\demotext{ \bs @tabacckludge\protect\string`I}} +\addtoprr{\'I\demotext{ \bs\protect\string'I}}%\addtoprr{\@tabacckludge'I\demotext{ \bs @tabacckludge\protect\string'I}} \addtoprr{\^I} \addtoprr{\"I} \addtoprr{\DH} \addtoprr{\~N} -\addtoprr{\@tabacckludge`O} -\addtoprr{\@tabacckludge'O} +\addtoprr{\`O\demotext{ \bs\protect\string`O}}%\addtoprr{\@tabacckludge`O\demotext{ \bs @tabacckludge\protect\string`O}} +\addtoprr{\'O\demotext{ \bs\protect\string'O}}%\addtoprr{\@tabacckludge'O\demotext{ \bs @tabacckludge\protect\string'O}} \addtoprr{\^O} \addtoprr{\~O} -\addtoprr{\"O} +\addtoprr{\"O\demotext{ \bs\protect\string"O}} \addtoprr{\texttimes} \addtoprr{\O} -\addtoprr{\@tabacckludge`U} -\addtoprr{\@tabacckludge'U} +\addtoprr{\@tabacckludge`U\demotext{ \bs @tabacckludge\protect\string`U}}%++ +\addtoprr{\@tabacckludge'U\demotext{ \bs @tabacckludge\protect\string'U}}%++ \addtoprr{\^U} -\addtoprr{\"U} -\addtoprr{\@tabacckludge'Y} +\addtoprr{\"U\demotext{ \bs\protect\string"U}} +\addtoprr{\'Y\demotext{ \bs\protect\string'Y}}%\addtoprr{\@tabacckludge'Y\demotext{ \bs @tabacckludge\protect\string'Y}} \addtoprr{\TH} -\addtoprr{\ss} -\addtoprr{\@tabacckludge`a} -\addtoprr{\@tabacckludge'a} -\addtoprr{\^a} -\addtoprr{\~a} +\addtoprr{\ss\demotext{ \ \bs ss}} +\addtoprr{\`a\demotext{ \bs\protect\string`a}}%\addtoprr{\@tabacckludge`a\demotext{ \bs @tabacckludge\protect\string`a}} +\addtoprr{\@tabacckludge'a\demotext{ \bs @tabacckludge\protect\string'a}}%++ +\addtoprr{\'a\demotext{ \bs\protect\string'a}} +\addtoprr{\^a\demotext{ \bs\protect\string^a}} +\addtoprr{\~a\demotext{ \bs\protect\string~a}} \addtoprr{\"a} \addtoprr{\r a} \addtoprr{\ae} -\addtoprr{\c c} -\addtoprr{\@tabacckludge`e} -\addtoprr{\@tabacckludge'e} +\addtoprr{\c c\demotext{ \bs c c}} +\addtoprr{\`e\demotext{ \bs\protect\string`e}}%\addtoprr{\@tabacckludge`e\demotext{ \bs @tabacckludge\protect\string`e}} +\addtoprr{\'e\demotext{ \bs\protect\string'e}}%\addtoprr{\@tabacckludge'e\demotext{ \bs @tabacckludge\protect\string'e}} \addtoprr{\^e} \addtoprr{\"e} -\addtoprr{\@tabacckludge`\i} -\addtoprr{\@tabacckludge'\i} +\addtoprr{\@tabacckludge`\i\demotext{ \bs @tabacckludge\protect\string`\bs i}}%++ +\addtoprr{\@tabacckludge'\i\demotext{ \bs @tabacckludge\protect\string'\bs i}}%++ \addtoprr{\^\i} \addtoprr{\"\i} \addtoprr{\dh} \addtoprr{\~n} -\addtoprr{\@tabacckludge`o} -\addtoprr{\@tabacckludge'o} +\addtoprr{\`o\demotext{ \bs\protect\string`o}}%\addtoprr{\@tabacckludge`o\demotext{ \bs @tabacckludge\protect\string`o}} +\addtoprr{\'o\demotext{ \bs\protect\string'o}}%\addtoprr{\@tabacckludge'o\demotext{ \bs @tabacckludge\protect\string'o}} \addtoprr{\^o} \addtoprr{\~o} -\addtoprr{\"o} +\addtoprr{\"o\demotext{ \bs\protect\string"o}} \addtoprr{\textdiv} \addtoprr{\o} -\addtoprr{\@tabacckludge`u} -\addtoprr{\@tabacckludge'u} +\addtoprr{\`u\demotext{ \bs\protect\string`u}}%\addtoprr{\@tabacckludge`u\demotext{ \bs @tabacckludge\protect\string`u}} +\addtoprr{\'u\demotext{ \bs\protect\string'u}}%\addtoprr{\@tabacckludge'u\demotext{ \bs @tabacckludge\protect\string'u}} \addtoprr{\^u} \addtoprr{\"u} -\addtoprr{\@tabacckludge'y} +\addtoprr{\'y\demotext{ \bs\protect\string'y}}%\addtoprr{\@tabacckludge'y\demotext{ \bs @tabacckludge\protect\string'y}} \addtoprr{\th} \addtoprr{\"y}%siehe zugehoeriges \fillprr -\addtoprr{\@tabacckludge=A} -\addtoprr{\@tabacckludge=a} -\addtoprr{\u A} -\addtoprr{\u a} -\addtoprr{\k A} -\addtoprr{\k a} -\addtoprr{\@tabacckludge'C} -\addtoprr{\@tabacckludge'c} -\addtoprr{\^C} -\addtoprr{\^c} -\addtoprr{\.C} -\addtoprr{\.c} -\addtoprr{\v C} -\addtoprr{\v c} +\addtoprr{\=A\demotext{ \bs=A}}%\addtoprr{\@tabacckludge=A\demotext{ \bs @tabacckludge=A}} +\addtoprr{\=a\demotext{ \bs=a}}%\addtoprr{\@tabacckludge=a\demotext{ \bs @tabacckludge=a}} +\addtoprr{\u A\demotext{ \bs u A}} +\addtoprr{\u a\demotext{ \bs u a}} +\addtoprr{\k A\demotext{ \bs k A}} +\addtoprr{\k a\demotext{ \bs k a}} +\addtoprr{\'C\demotext{ \bs\protect\string'C}}%\addtoprr{\@tabacckludge'C\demotext{ \bs @tabacckludge\protect\string'C}} +\addtoprr{\'c\demotext{ \bs\protect\string'c}}%\addtoprr{\@tabacckludge'c\demotext{ \bs @tabacckludge\protect\string'c}} +\addtoprr{\^C\demotext{ \bs\protect\string^C}} +\addtoprr{\^c\demotext{ \bs\protect\string^c}} +\addtoprr{\.C\demotext{ \bs.C}} +\addtoprr{\.c\demotext{ \bs.c}} +\addtoprr{\v C\demotext{ \bs v C}} +\addtoprr{\v c\demotext{ \bs v c}} \addtoprr{\v D} -\addtoprr{\v d} +\addtoprr{\v d\demotext{ \bs v d}} \addtoprr{\DJ} \addtoprr{\dj} -\addtoprr{\@tabacckludge=E} -\addtoprr{\@tabacckludge=e} +\addtoprr{\=E\demotext{ \bs=E}}%\addtoprr{\@tabacckludge=E\demotext{ \bs @tabacckludge=E}} +\addtoprr{\=e\demotext{ \bs=e}}%\addtoprr{\@tabacckludge=e\demotext{ \bs @tabacckludge=e}} \addtoprr{\u E} \addtoprr{\u e} \addtoprr{\.E} @@ -6055,14 +6377,14 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\u g} \addtoprr{\.G} \addtoprr{\.g} -\addtoprr{\c G} -\addtoprr{\c g} +\addtoprr{\c G\demotext{ \bs c G}} +\addtoprr{\c g\demotext{ \bs c g}} \addtoprr{\^H} \addtoprr{\^h} \addtoprr{\~I} \addtoprr{\~\i} -\addtoprr{\@tabacckludge=I} -\addtoprr{\@tabacckludge=\i} +\addtoprr{\=I\demotext{ \bs=I}}%\addtoprr{\@tabacckludge=I\demotext{ \bs @tabacckludge=I}} +\addtoprr{\=\i\demotext{ \bs=\bs i}}%\addtoprr{\@tabacckludge=\i\demotext{ \bs @tabacckludge=\bs i}} \addtoprr{\u I} \addtoprr{\u\i} \addtoprr{\k I} @@ -6073,54 +6395,54 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\ij} \addtoprr{\^J} \addtoprr{\^\j} -\addtoprr{\c K} -\addtoprr{\c k} -\addtoprr{\@tabacckludge'L} -\addtoprr{\@tabacckludge'l} -\addtoprr{\c L} -\addtoprr{\c l} -\addtoprr{\v L} -\addtoprr{\v l} -\addtoprr{\L} -\addtoprr{\l} -\addtoprr{\@tabacckludge'N} -\addtoprr{\@tabacckludge'n} -\addtoprr{\c N} -\addtoprr{\c n} +\addtoprr{\c K\demotext{ \bs c K}} +\addtoprr{\c k\demotext{ \bs c k}} +\addtoprr{\'L\demotext{ \bs\protect\string'L}}%\addtoprr{\@tabacckludge'L\demotext{ \bs @tabacckludge\protect\string'L}} +\addtoprr{\'l\demotext{ \bs\protect\string'l}}%\addtoprr{\@tabacckludge'l\demotext{ \bs @tabacckludge\protect\string'l}} +\addtoprr{\c L\demotext{ \bs c L}} +\addtoprr{\c l\demotext{ \bs c l}} +\addtoprr{\v L\demotext{ \v L}} +\addtoprr{\v l\demotext{ \bs v l}} +\addtoprr{\L}%siehe zugehoeriges \fillprr +\addtoprr{\l}%siehe zugehoeriges \fillprr +\addtoprr{\'N\demotext{ \bs\protect\string'N}}%\addtoprr{\@tabacckludge'N\demotext{ \bs @tabacckludge\protect\string'N}} +\addtoprr{\'n\demotext{ \bs\protect\string'n}}%\addtoprr{\@tabacckludge'n\demotext{ \bs @tabacckludge\protect\string'n}} +\addtoprr{\c N\demotext{ \bs c N}} +\addtoprr{\c n\demotext{ \bs c n}} \addtoprr{\v N} \addtoprr{\v n} \addtoprr{\NG} \addtoprr{\ng} -\addtoprr{\@tabacckludge=O} -\addtoprr{\@tabacckludge=o} +\addtoprr{\=O\demotext{ \bs=O}}%\addtoprr{\@tabacckludge=O\demotext{ \bs @tabacckludge=O}} +\addtoprr{\=o\demotext{ \bs=o}}%\addtoprr{\@tabacckludge=o\demotext{ \bs @tabacckludge=o}} \addtoprr{\u O} \addtoprr{\u o} \addtoprr{\H O} -\addtoprr{\H o} +\addtoprr{\H o\demotext{ \bs H o}} \addtoprr{\OE} \addtoprr{\oe} -\addtoprr{\@tabacckludge'R} -\addtoprr{\@tabacckludge'r} -\addtoprr{\c R} -\addtoprr{\c r} +\addtoprr{\'R\demotext{ \bs\protect\string'R}}%\addtoprr{\@tabacckludge'R\demotext{ \bs @tabacckludge\protect\string'R}} +\addtoprr{\'r\demotext{ \bs\protect\string'r}}%\addtoprr{\@tabacckludge'r\demotext{ \bs @tabacckludge\protect\string'r}} +\addtoprr{\c R\demotext{ \bs c R}} +\addtoprr{\c r\demotext{ \bs c r}} \addtoprr{\v R} \addtoprr{\v r} -\addtoprr{\@tabacckludge'S} -\addtoprr{\@tabacckludge's} +\addtoprr{\'S\demotext{ \bs\protect\string'S}}%\addtoprr{\@tabacckludge'S\demotext{ \bs @tabacckludge\protect\string'S}} +\addtoprr{\'s\demotext{ \bs\protect\string's}}%\addtoprr{\@tabacckludge's\demotext{ \bs @tabacckludge\protect\string's}} \addtoprr{\^S} \addtoprr{\^s} -\addtoprr{\c S} -\addtoprr{\c s} +\addtoprr{\c S\demotext{ \bs c S}} +\addtoprr{\c s}%siehe zugehoeriges \fillprr \addtoprr{\v S} \addtoprr{\v s} -\addtoprr{\c T} -\addtoprr{\c t} -\addtoprr{\v T} -\addtoprr{\v t} +\addtoprr{\c T\demotext{ \bs c T}} +\addtoprr{\c t\demotext{ \bs c t}} +\addtoprr{\v T\demotext{ \bs v T}} +\addtoprr{\v t\demotext{ \bs v t}} \addtoprr{\~U} \addtoprr{\~u} -\addtoprr{\@tabacckludge=U} -\addtoprr{\@tabacckludge=u} +\addtoprr{\@tabacckludge=U\demotext{ \bs @tabacckludge=U}}%++ +\addtoprr{\=u\demotext{ \bs=u}}%\addtoprr{\@tabacckludge=u\demotext{ \bs @tabacckludge=u}} \addtoprr{\u U} \addtoprr{\u u} \addtoprr{\r U} @@ -6134,23 +6456,23 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\^Y} \addtoprr{\^y} \addtoprr{\"Y}%siehe zugehoeriges \fillprr -\addtoprr{\@tabacckludge'Z} -\addtoprr{\@tabacckludge'z} +\addtoprr{\'Z\demotext{ \bs\protect\string'Z}}%\addtoprr{\@tabacckludge'Z\demotext{ \bs @tabacckludge\protect\string'Z}} +\addtoprr{\'z\demotext{ \bs\protect\string'z}}%\addtoprr{\@tabacckludge'z\demotext{ \bs @tabacckludge\protect\string'z}} \addtoprr{\.Z} \addtoprr{\.z} \addtoprr{\v Z} \addtoprr{\v z} -\addtoprr{\textflorin} -\addtoprr{\v A} -\addtoprr{\v a} +\addtoprr{\textflorin\demotext{ \bs textflorin}} +\addtoprr{\v A\demotext{ \bs v A}} +\addtoprr{\v a\demotext{ \bs v a}} \addtoprr{\v I} \addtoprr{\v \i} \addtoprr{\v O} \addtoprr{\v o} \addtoprr{\v U} \addtoprr{\v u} -\addtoprr{\@tabacckludge=\AE} -\addtoprr{\@tabacckludge=\ae} +\addtoprr{\=\AE\demotext{ \bs=\bs AE}}%\addtoprr{\@tabacckludge=\AE\demotext{ \bs @tabacckludge=\bs AE}} +\addtoprr{\=\ae\demotext{ \bs=\bs ae}}%\addtoprr{\@tabacckludge=\ae\demotext{ \bs @tabacckludge=\bs ae}} \addtoprr{\v G} \addtoprr{\v g} \addtoprr{\v K} @@ -6158,27 +6480,27 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\k O} \addtoprr{\k o} \addtoprr{\v\j} -\addtoprr{\@tabacckludge'G} -\addtoprr{\@tabacckludge'g} -\addtoprr{\textcommabelow S} -\addtoprr{\textcommabelow s} -\addtoprr{\textcommabelow T} -\addtoprr{\textcommabelow t} -\addtoprr{\@tabacckludge=Y} -\addtoprr{\@tabacckludge=y} -\addtoprr{\j} +\addtoprr{\'G\demotext{ \bs\protect\string'G}}%\addtoprr{\@tabacckludge'G\demotext{ \bs @tabacckludge\protect\string'G}} +\addtoprr{\'g\demotext{ \bs\protect\string'g}}%\addtoprr{\@tabacckludge'g\demotext{ \bs @tabacckludge\protect\string'g}} +\addtoprr{\textcommabelow S}%siehe zugehoeriges \fillprr +\addtoprr{\textcommabelow s}%siehe zugehoeriges \fillprr +\addtoprr{\textcommabelow T\demotext{ \bs textcommabelow T}} +\addtoprr{\textcommabelow t\demotext{ \bs textcommabelow t}} +\addtoprr{\=Y\demotext{ \bs=Y}}%\addtoprr{\@tabacckludge=Y\demotext{ \bs @tabacckludge=Y}} +\addtoprr{\=y\demotext{ \bs=y}}%\addtoprr{\@tabacckludge=y\demotext{ \bs @tabacckludge=y}} +\addtoprr{\j}%siehe zugehoeriges \fillprr \addtoprr{\textasciicircum} \addtoprr{\textasciicaron} \addtoprr{\textasciitilde} \addtoprr{\textasciibreve} -\addtoprr{\.{}} -\addtoprr{\k{} \demotext{ \ \% \bs k\{\} hat nur Unterl"ange}} -\addtoprr{\textacutedbl} +\addtoprr{\.{}\demotext{ \ \bs.\{\} \ \% Akzent mit Gewicht}} +\addtoprr{\k{}\demotext{ \ \bs k\{\} \ \% hat nur Unterl"ange}} +\addtoprr{\textacutedbl\demotext{ \bs textacutedbl \ \% kein Gewicht}} %% \cyr... und \CYR waeren hier %% -\addtoprr{\textbaht} -\addtoprr{\.B} -\addtoprr{\.b} -\addtoprr{\d d} +\addtoprr{\textbaht\demotext{ \bs textbaht}} +\addtoprr{\.B}%siehe zugehoeriges \fillprr +\addtoprr{\.b}%siehe zugehoeriges \fillprr +\addtoprr{\d d\demotext{ \bs d d}} \addtoprr{\d h} \addtoprr{\d l} \addtoprr{\d m} @@ -6187,14 +6509,14 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\d r} \addtoprr{\d s} \addtoprr{\d t} -\addtoprr{\SS} +\addtoprr{\SS\demotext{ \bs SS}} \addtoprr{\textcompwordmark\demotext{ \ \% unsichtbar}} \addtoprr{a-b\demotext{ a-b}} \addtoprr{a\mbox{-}b\demotext{ a\bs mbox\{-\}b \ \% nobreakminus}} -\addtoprr{\textendash} -\addtoprr{\textendash} -\addtoprr{\textemdash} -\addtoprr{\textemdash} +\addtoprr{\textendash\demotext{ \bs textendash}} +\addtoprr{\textendash\demotext{ \bs textendash}} +\addtoprr{\textemdash\demotext{ \bs textemdash}} +\addtoprr{\textemdash\demotext{ \bs textemdash}} \addtoprr{\textbardbl} \addtoprr{\textquoteleft} \addtoprr{\textquoteright} @@ -6219,10 +6541,10 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\textlira} \addtoprr{\textnaira} \addtoprr{\textwon} -\addtoprr{\textdong} +\addtoprr{\textdong\demotext{ \bs textdong}} \addtoprr{\texteuro} \addtoprr{\textpeso} -\addtoprr{\textcelsius} +\addtoprr{\textcelsius\demotext{ \bs textcelsius}} \addtoprr{\textnumero} \addtoprr{\textcircledP} \addtoprr{\textrecipe} @@ -6237,43 +6559,72 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\textdownarrow} \addtoprr{\textlangle} \addtoprr{\textrangle} -\addtoprr{\textblank} +\addtoprr{\textblank\demotext{ \bs textblank}} \addtoprr{\textvisiblespace} \addtoprr{\textopenbullet} \addtoprr{\textbigcircle} \addtoprr{\textmusicalnote} \addtoprr{\textlangle} \addtoprr{\textrangle} -\addtoprr{\@tabacckludge=G} -\addtoprr{\@tabacckludge=g} -\addtoprr{ff} -\addtoprr{fi} -\addtoprr{fl} -\addtoprr{ffi} -\addtoprr{ffl} -\addtoprr{st} -\addtoprr{st} +\addtoprr{\=G\demotext{ \bs=G}}%\addtoprr{\@tabacckludge=G\demotext{ \bs @tabacckludge=G}} +\addtoprr{\=g\demotext{ \bs=g}}%\addtoprr{\@tabacckludge=g\demotext{ \bs @tabacckludge=g}} +\addtoprr{ff\demotext{ ff}} +\addtoprr{fi\demotext{ fi}} +\addtoprr{fl\demotext{ fl}} +\addtoprr{ffi\demotext{ ffi}} +\addtoprr{ffl\demotext{ ffl}} +\addtoprr{st\demotext{ st}} %% parallel zu [U+FB05] +\addtoprr{st\demotext{ st}} %% parallel zu [U+FB06] \addtoprr{a\protect\nobreak\ b\demotext{ a\bs protect\bs nobreak\bs\ b}} %%\addtoprr{a\ifhmode\nobreak\fi\ b}%% Kommt nicht im .prr-File an. %% %% %% neu in 2.4 [utf8enc.dfu 2021/06/21 v1.2n]: \addtoprr{\.F} \addtoprr{\.f} -\addtoprr{\@tabacckludge'K} -\addtoprr{\@tabacckludge'k} +\addtoprr{\'K\demotext{ \bs\protect\string'K}}%\addtoprr{\@tabacckludge'K\demotext{ \bs @tabacckludge\protect\string'K}} +\addtoprr{\'k\demotext{ \bs\protect\string'k}}%\addtoprr{\@tabacckludge'k\demotext{ \bs @tabacckludge\protect\string'k}} \addtoprr{\.Y} \addtoprr{\.y} \addtoprr{\^Z} \addtoprr{\^z} -\addtoprr{\@tabacckludge`Y} -\addtoprr{\@tabacckludge`y} +\addtoprr{\`Y\demotext{ \bs\protect\string`Y}}%\addtoprr{\@tabacckludge`Y\demotext{ \bs @tabacckludge\protect\string`Y}} +\addtoprr{\`y\demotext{ \bs\protect\string`y}}%\addtoprr{\@tabacckludge`y\demotext{ \bs @tabacckludge\protect\string`y}} +%% +%% neu in 2.5 (LaTeX-Befehle): +\addtoprr{\capitaldieresis{A}\demotext{ \bs capitaldieresis\{A\} \ \%~2.5}} +\addtoprr{\capitaldieresis O\demotext{ \bs capitaldieresis O \ \%~2.5}} +\addtoprr{\capitaldieresis U\demotext{ \bs capitaldieresis U \ \%~2.5}} +\addtoprr{\capitaldieresis Y\demotext{ \bs capitaldieresis Y \ \%~2.5}} +\addtoprr{\textdegree F\demotext{ \bs textdegree F \ \%~2.5}} +\addtoprr{\"{A}\demotext{ \bs\protect\string"\{A\} \ \ \%~2.5}} +\addtoprr{\" A\demotext{ \bs\protect\string" A \ \ \ \%~2.5}} +\addtoprr{" A\demotext{ \protect\string" A \ \ \ \ \%~2.5}} +\addtoprr{"{A}\demotext{ \protect\string"\{A\} \ \ \ \%~2.5}} +\addtoprr{$\mathsterling$\demotext{ \$\bs mathsterling\$ \ \ \%~2.5}} +%% +%% neu in 2.5 [utf8enc.dfu 2022/06/07 v1.3c] +\addtoprr{D\v Z\demotext{ D\bs v Z}} +\addtoprr{Ç„\demotext{ [U+01C4] \ \%~2.5}} +\addtoprr{D\v z\demotext{ D\bs v z}} +\addtoprr{Ç…\demotext{ [U+01C5] \ \%~2.5}} +\addtoprr{d\v z\demotext{ d\bs v z}} +\addtoprr{dž\demotext{ [U+01C6] \ \%~2.5}} +\addtoprr{LJ\demotext{ LJ}} \addtoprr{LJ\demotext{ [U+01C7] \ \%~2.5}} +\addtoprr{Lj\demotext{ Lj}} \addtoprr{Lj\demotext{ [U+01C8] \ \%~2.5}} +\addtoprr{lj\demotext{ lj}} \addtoprr{lj\demotext{ [U+01C9] \ \%~2.5}} +\addtoprr{NJ\demotext{ NJ}} \addtoprr{ÇŠ\demotext{ [U+01CA] \ \%~2.5}} +\addtoprr{Nj\demotext{ Nj}} \addtoprr{Ç‹\demotext{ [U+01CB] \ \%~2.5}} +\addtoprr{nj\demotext{ nj}} \addtoprr{ÇŒ\demotext{ [U+01CC] \ \%~2.5}} +\addtoprr{\textlangle} \addtoprr{〈\demotext{ [U+3008] \ \%~2.5}} +\addtoprr{\textrangle} \addtoprr{〉\demotext{ [U+3009] \ \%~2.5}} %% \fi %%% +\addtoprr{\capitaldieresis A\demotext{ \bs capitaldieresis A \ \%~2.5}} \addtoprr{b\texttwooldstyle\demotext{ \ b\bs texttwooldstyle}} \addtoprr{b\textthreeoldstyle\demotext{ \ b\bs textthreeoldstyle}} %%% \addtoprr{\textoneoldstyle\demotext{ \bs textoneoldstyle \ \ \% 2.3}} -\ifallprr +%\ifallprr \addtoprr{\texttwooldstyle\demotext{ \bs texttwooldstyle \ \ \% 2.3}} \addtoprr{\textthreeoldstyle\demotext{ \bs textthreeoldstyle \ \ \% 2.3}} \addtoprr{\textfouroldstyle\demotext{ \bs textfouroldstyle \ \ \% 2.3}} @@ -6282,7 +6633,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\textsevenoldstyle\demotext{ \bs textsevenoldstyle \ \ \% 2.3}} \addtoprr{\texteightoldstyle\demotext{ \bs texteightoldstyle \ \ \% 2.3}} \addtoprr{\textnineoldstyle\demotext{ \bs textnineoldstyle \ \ \% 2.3}} -\fi +%\fi \addtoprr{\textzerooldstyle\demotext{ \bs textzerooldstyle \ \% 2.3}} \addtoprr{ÿ\demotext{ [U+00FF]}} \addtoprr{\"y} @@ -6294,21 +6645,23 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{Di Niro} \addtoprr{ba} \addtoprr{ a} + \fillprr{a}{\demotext{ \ \ a \ \ \ \ \ \ \ \% *a,A=prim"ar*}} \addtoprr{5.000} \addtoprr{0,5} \addtoprr{0.5} \addtoprr{0.a6} \addtoprr{0.26} \addtoprr{0.25} -\addtoprr{0,251} -\addtoprr{0.251} +\addtoprr{0,25100} +\addtoprr{0.25100} \addtoprr{1.500} \addtoprr{1,500} \addtoprr{1501} -\addtoprr{0,25} +\addtoprr{0,2500} \addtoprr{1,5} \addtoprr{1,1} \addtoprr{1,125} +\addtoprr{01,45} \addtoprr{1,45} \addtoprr{1.750} \addtoprr{1,75} @@ -6365,8 +6718,12 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{b100} \addtoprr{b\fup{\baRomannum{99}}\demotext{ b\bs fup\{\bs baRomannum\{99\}\}}} \addtoprr{{c}\demotext{ \{c\}}} -\addtoprr{{}c\demotext{ \{\}c}} +%\addtoprr{{}c\demotext{ \{\}c}} \addtoprr{c{}\demotext{ c\{\}}} +\addtoprr{\textdegree C\demotext{ \bs textdegree C \ \%~2.5}} +\addtoprr{°C\demotext{ [U+00B0]C}} +\addtoprr{\textcelsius\demotext{ \bs textcelsius}} +\addtoprr{℃\demotext{ [U+2103]}} %Grad-Celsius \addtoprr{ä\demotext{ [U+00E4]}} \addtoprr{\r{\"a}\demotext{ \bs r\{\bs\protect\string"a\}}} \addtoprr{\c{\"a}\demotext{ \bs c\{\bs\protect\string"a\}}} @@ -6376,7 +6733,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{"A\demotext{ \protect\string"A}} \addtoprr{\"A} \fillprr{\"A}{\demotext{ \bs\protect\string"A}} -\addtoprr{ae} +\addtoprr{ae\demotext{ ae}} \addtoprr{\c{\"a}\demotext{ \bs c\{\bs\protect\string"a\}}} \addtoprr{"a\demotext{ \protect\string"a}} \addtoprr{\r{ä}\demotext{ \bs r\{[U+00E4]\}}} @@ -6386,7 +6743,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\3\demotext{ \ \bs 3}} \addtoprr{ß\demotext{ [U+00DF]}} \addtoprr{"s\demotext{ \ \protect\string"s}} -\addtoprr{\sz\demotext{ \bs sz \ \%neu in 2.1}} +\addtoprr{\sz\demotext{ \protect\,\bs sz \ \ \%neu in 2.1}} \addtoprr{{\scshape \ss}\demotext{ \{\bs scshape \bs ss\}}} \addtoprr{"z\demotext{ \ \protect\string"z}} \addtoprr{Straße\demotext{ \ \ Stra[U+00DF]e}} @@ -6402,7 +6759,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| {\sethyphenation{UKenglish} \addtoprr{Zum Schluss die Worttrennung american im englischen Trennsatz}} -\addtoprr{A} +\addtoprr{A\demotext{ A \ \ \ \ \ \ \ \ \ \% *a,A=prim"ar*}} \addtoprr{B} \addtoprr{C} \addtoprr{D} @@ -6411,7 +6768,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{G} \addtoprr{H} \addtoprr{I} -\addtoprr{J} +\addtoprr{J\demotext{ J}} \addtoprr{K} \addtoprr{L} \addtoprr{M} @@ -6441,7 +6798,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| %\addtoprr{Ka} {\sethyphenation{ngerman}\addtoprr{Sto\hyf figur\demotext{ Sto\bs hyf figur\protect\nobreak\ \%ngerman}}} {\sethyphenation{german}\addtoprr{Sto\hyf figur\demotext{ \kern.3emSto\bs hyf figur\protect\nobreak\ \protect\nobreak\ \%german}}} -\addtoprr{stoffig\demotext{ \ \ stoffig}} +\addtoprr{stoffig\demotext{ \ \ \ stoffig}} %\addtoprr{La} \addtoprr{Ma} \addtoprr{Na} @@ -6458,14 +6815,15 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{Ya} \addtoprr{Za} -\addtoprr{a} +\addtoprr{a}%siehe \fillprr \addtoprr{b} \addtoprr{c} \addtoprr{d} \addtoprr{e} \addtoprr{f} \addtoprr{g} -\addtoprr{h} +%\addtoprr{h} +\addtoprr{$\hbar$\demotext{ \$\bs hbar\$}} \addtoprr{i\demotext{ i wird wie \bs i sortiert \ \%\protect\nobreak\ \bs.\bs i}} \addtoprr{\.\i\demotext{ \bs.\bs i}} \addtoprr{j} @@ -6532,10 +6890,11 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \fillprr{\c s}{\demotext{ \bs c s}} % \textcommabelow{t}, \textcommabelow{T}, \d{t}, \c{S}, \v{S}, \v{s}, \d{s}, \'S, \'s, \^S, \^s -\addtoprr{0000000000} +\addtoprr{0000000000\demotext{ \ \ \ \ \ \% *Zahl=prim"ar*}} \addtoprr{100000000} -\addtoprr{2~100~000,7\demotext{ 2\protect\string~100\protect\string~000,7}} +\addtoprr{2~100~000,7\demotext{ \ 2\protect\string~100\protect\string~000,7}} \addtoprr{2\,100\,000,65\demotext{ 2\bs,100\bs,000,65}} +\addtoprr{2 100 000,99\demotext{ 2 100 000,99}} \addtoprr{2.099.999} \addtoprr{2.100.001} \addtoprr{\sort{2.100.000}2,1\,Mio.\demotext{ \ \bs sort\{2.100.000\}2,1\bs,Mio.}} @@ -6553,9 +6912,12 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| %\addtoprr{!} %\addtoprr{?`\demotext{ \protect\string?{}\protect\string`}} %\addtoprr{!`\demotext{ \protect\string!{}\protect\string`}} -\addtoprr{!\demotext{ \ \protect\string!}} -\addtoprr{\$\demotext{ \protect\,\bs\protect\$}} -%\addtoprr{\#\demotext{ \bs\protect\#}} +\addtoprr{!\demotext{ \ \protect\,\protect\string! \ \ \ \% *Zeichen=kein Gewicht*}} +\addtoprr{\textdollar\demotext{ \ \bs textdollar}} +\addtoprr{Difabio} +\addtoprr{\$\demotext{ \ \bs\protect\$ \ \ \% vgl. \bs textdollaroldstyle}} +\addtoprr{\textdollaroldstyle\demotext{ \bs textdollaroldstyle \ \%~2.5}} +%\addtoprr{\&\demotext{ \ \bs\protect\&}} %\addtoprr{“aâ€\demotext{ [U+201C]a[U+201D]}} %\addtoprr{\textquotedblleft a\textquotedblright} % \fillprr{\textquotedblleft a\textquotedblright}{\demotext{ \bs textquotedblleft a\bs textquotedblright}} @@ -6563,41 +6925,43 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{"<a">\demotext{ \protect\,\protect\string"\protect\string<a\protect\string"\protect\string> \ \% ge"andert in 2.2}} \addtoprr{\nosort{'}a'\demotext{ \ \bs nosort\{{\protect\string'}\}a\protect\string'}} \addtoprr{'a'\demotext{ {\protect\string'}a{\protect\string'}}} -\addtoprr{a'a\demotext{ a\protect\string'a \ \ \%\% vgl. \bs nosort\{\protect\string'\}a}} +\addtoprr{a'a\demotext{ a\protect\string'a \ \ \ \% vgl.\bs nosort\{\protect\string'\}a}} {\originalTeX \addtoprr{"a"\demotext{ \{\bs originalTeX \bs addtoprr\{\protect\string"a\protect\string"\}\}\protect\label{originaltex}}}} -\addtoprr{«a»\demotext{ [U+00AB]a[U+00BB]}} - %\addtoprr{\guillemotleft a\guillemotright} - % \fillprr{\guillemotleft a\guillemotright}{\demotext{ \bs guillemotleft a\bs guillemotright}} -\addtoprr{„a“\demotext{ \protect\,[U+201E]a[U+201C]}} +\addtoprr{«a»\demotext{ [U+00AB]a[U+00BB] \% a,A=prim"ar}} + %\addtoprr{\guillemetleft a\guillemetright} + % \fillprr{\guillemetleft a\guillemetright}{\demotext{ \bs guillemetleft a\bs guillemetright}} +\addtoprr{„a“\demotext{ \ [U+201E]a[U+201C]}} \addtoprr{\glqq a\grqq\demotext{ \ \bs glqq a\bs grqq}} \addtoprr{\flqq a\frqq\demotext{ \protect\,\bs flqq a\bs frqq}} -\addtoprr{b\$2\demotext{ b\bs\$2}} -\addtoprr{b\&2\demotext{ b\bs\&2}} +%\addtoprr{b\$2\demotext{ b\bs\$2}} +%\addtoprr{b\&2\demotext{ b\bs\&2}} \addtoprr{b/2} \addtoprr{$b\;2$\demotext{ \$b\bs\protect\string;2\$}} \addtoprr{$b\:2$\demotext{ \$b\bs\protect\string:2\$}} \addtoprr{(b)} %\addtoprr{[b]} -\addtoprr{\.B\demotext{ \bs.B}} \addtoprr{Ḃ\demotext{ [U+1E02]}} \addtoprr{\{b\demotext{ \bs\{b}} -\addtoprr{\%\demotext{ \bs\%}} +%\addtoprr{\%\demotext{ \ \bs\%}} \addtoprr{b\_2\demotext{ b\bs\protect\string_2}} \addtoprr{b=2} -\addtoprr{b<2} -\addtoprr{b>2} -\addtoprr{b@2} +%\addtoprr{b<2} +%\addtoprr{b>2} +%\addtoprr{b@2} \addtoprr{b|2\demotext{ b\protect\string|2}} \addtoprr{b+2} \addtoprr{b-2\demotext{ \ \ \ b{\protect\string-}2}} -\addtoprr{b--2\demotext{ \ b{\protect\string-}{\protect\string-}2}} +\addtoprr{b--3\demotext{ \ b{\protect\string-}{\protect\string-}3}} %\addtoprr{b---2\demotext{ b{\protect\string-}{\protect\string-}{\protect\string-}2}} -\addtoprr{Ae} -\addtoprr{Ac} +\addtoprr{b \ 2\demotext{ \ \ \ b \bs\ 2}} +\addtoprr{Ab} +\addtoprr{Ae\demotext{ Ae}} \addtoprr{Af} \addtoprr{ḃ\demotext{ [U+1E03]}} \addtoprr{\.b} \fillprr{\.b}{\demotext{ \bs.b}} + \addtoprr{\.B} + \fillprr{\.B}{\demotext{ \bs.B}} \addtoprr{$\dot{b}$\demotext{ \$\bs dot\{b\}\$}} \addtoprr{\'b\demotext{ \bs\protect\string'b}} \addtoprr{$\acute{b}$\demotext{ \$\bs acute\{b\}\$}} @@ -6611,8 +6975,8 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{$\vec{b}$\demotext{ \$\bs vec\{b\}\$}} \addtoprr{\~b\demotext{ \bs\protect\string~b}} \addtoprr{$\tilde{b}$\demotext{ \$\bs tilde\{b\}\$}} - \addtoprr{Ã¥\demotext{ [U+00E5]}}%%auch \ifallprr - \fillprr{Ã¥\demotext{ [U+00E5]}}{\demotext{ \% *UTF8 neu in 2.3*}} + \addtoprr{Ã¥}%%auch \ifallprr + \fillprr{Ã¥}{\demotext{ [U+00E5] \ \% *UTF8 neu in 2.3*}} \addtoprr{\r a} \fillprr{\r a}{\demotext{ \bs r a}} \addtoprr{\"{\r a}\demotext{ \bs\protect\string"\{\bs r a\}}} @@ -6636,10 +7000,10 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{$\check{b}$\demotext{ \$\bs check\{b\}\$}} \addtoprr{\protect\underbar{\"b}\demotext{ \bs protect\bs underbar\{\bs\protect\string"b\}}} %\addtoprr{\protect\underline{\c{b}}\demotext{ \bs protect\bs underline\{\bs c\{b\}\}}} -\addtoprr{\@tabacckludge'b\demotext{ \bs @tabacckludge\protect\string'b \%neu in 2.3}} +\addtoprr{\@tabacckludge'b\demotext{ \bs @tabacckludge\protect\string'b \%neu in 2.3}}%+++ \addtoprr{\protect\underline{\"b}\demotext{ \bs protect\bs underline\{\bs\protect\string"b\}}} \addtoprr{ab} -\addtoprr{a b} +\addtoprr{a b\demotext{ a b}} \addtoprr{a\,b\demotext{ a\bs,b}} %\addtoprr{a\protect\space b\demotext{ a\bs protect\bs space b}} %\addtoprr{a\relax b\demotext{ a\bs relax b}} @@ -6654,18 +7018,18 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{ab} %\addtoprr{aba} \addtoprr{aâ€b} - \fillprr{aâ€b}{\demotext{ a[U+2010]b}} + \fillprr{aâ€b}{\demotext{ a[U+2010]b \ \ \% entspr. a-b}} \addtoprr{a‑b} \fillprr{a‑b}{\demotext{ a[U+2011/nobreakminus]b}} \addtoprr{a-b\demotext{ a-b}} -\addtoprr{a"|b\demotext{ a\protect\string"{\protect\string|}b \ \ \% ge"andert in 2.2}} +%\addtoprr{a"|b\demotext{ a\protect\string"{\protect\string|}b \ \ \% ge"andert in 2.2}} \addtoprr{a"~b\demotext{ a\protect\string"{\protect\string~}b \ \ \% ge"andert in 2.2}} \addtoprr{a"=b\demotext{ a\protect\string"{\protect\string=}b \ \ \% ge"andert in 2.2}} -\addtoprr{a"-b\demotext{ a\protect\string"{\protect\string-}b \ \ \% ge"andert in 2.2}} +\addtoprr{a"-b\demotext{ \protect\,a\protect\string"{\protect\string-}b \ \ \% ge"andert in 2.2}} \addtoprr{a\-b} \fillprr{a\-b}{\demotext{ a\bs{\protect\string-}b}} \addtoprr{a\hy b\demotext{ a\bs hy b}} -\addtoprr{a\fhy b\demotext{ a\bs fhy b}} +\addtoprr{a\fhy b\demotext{ a\bs fhy b \ \ \% nobreakminus}} %\addtoprr{ac} \addtoprr{ı\demotext{ [U+0131]}} \addtoprr{\i} @@ -6710,21 +7074,21 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\l} \fillprr{\l}{\demotext{ \bs l}} \addtoprr{$\ell$\demotext{ \$\bs ell\$}} - \addtoprr{ij\demotext{ [U+0133]}}%%auch \ifallprr - \fillprr{ij\demotext{ [U+0133]}}{\demotext{ \% Ligatur ij}} + \addtoprr{ij}%%auch \ifallprr + \fillprr{ij}{\demotext{ [U+0133] \ \% Ligatur ij}} \addtoprr{\ij} \fillprr{\ij}{\demotext{ \bs ij niederl"and.\ als i sortiert}} - \addtoprr{IJ\demotext{ [U+0132]}}%%auch \ifallprr - \fillprr{IJ\demotext{ [U+0132]}}{\demotext{ \% Ligatur IJ}} + \addtoprr{IJ}%%auch \ifallprr + \fillprr{IJ}{\demotext{ [U+0132] \ \% Ligatur IJ}} \addtoprr{\IJ} - \fillprr{\IJ}{\demotext{ \bs IJ "aquivalent zu \bs ij}} + \fillprr{\IJ}{\demotext{ \bs IJ=\string>I "aquivalent zu \bs ij=\string>i}} \addtoprr{$\Im$\demotext{ \$\bs Im\$}} \addtoprr{Å\demotext{ [U+0141]}} \addtoprr{\L} \fillprr{\L}{\demotext{ \bs L}} -%\addtoprr{\LaTeX\demotext{ \bs LaTeX}} +\addtoprr{\LaTeX\demotext{ \bs LaTeX}} %\addtoprr{LATEX} -\addtoprr{LaTeX} +%\addtoprr{LaTeX} \addtoprr{Å‹\demotext{ [U+014B]}} \addtoprr{\ng} \fillprr{\ng}{\demotext{ \bs ng}} @@ -6758,7 +7122,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{\TH} \fillprr{\TH}{\demotext{ \bs TH}} \addtoprr{\protect\TeX\demotext{ \bs protect\bs TeX}} -\addtoprr{TEX\demotext{ TEX}} +%\addtoprr{TEX\demotext{ TEX}} \addtoprr{TeX\demotext{ TeX}} \addtoprr{$\alpha$\demotext{ \$\bs alpha\$}} \addtoprr{$\beta$\demotext{ \$\bs beta\$}} @@ -6823,8 +7187,8 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{â„ž\demotext{ [U+211E]}} \addtoprr{\textrecipe} \fillprr{\textrecipe}{\demotext{ \bs textrecipe}} - \addtoprr{Ω\demotext{ [U+2126]}}%%auch \ifallprr - \fillprr{Ω\demotext{ [U+2126]}}{\demotext{ \% Ohm}} + \addtoprr{Ω}%%auch \ifallprr + \fillprr{Ω}{\demotext{ [U+2126/textohm] \ \% Ohm}} \addtoprr{\textohm} \fillprr{\textohm}{\demotext{ \bs textohm}} \addtoprr{℧\demotext{ [U+2127]}} @@ -6839,7 +7203,7 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{b\hspace{2mm}b\demotext{ \ b\bs hspace\{2mm\}b}} \addtoprr{b\index{X}b\demotext{ \ \ b\bs index\{X\}b}} \addtoprr{b \index{X}b\demotext{ \ \ b \bs index\{X\}b}} -\addtoprr{b \index{X} b\demotext{ \ \ b \bs index\{X\} b}} +%\addtoprr{b \index{X} b\demotext{ \ \ b \bs index\{X\} b}} \addtoprr{b\glossary{X}b\demotext{ \ b\bs glossary\{X\}b}} \addtoprr{b \label{X1} b\demotext{ \ \ \protect\,b \bs label\{X1\} b}} \addtoprr{b \pageref{X1} b\demotext{ \ b \bs pageref\{X1\} b}} @@ -6878,16 +7242,16 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{b\message{9}b\demotext{ b\bs message\{9\}b}} \addtoprr{b\mathhexbox{1}{2}{3}b\demotext{ b\bs mathhexbox\{1\}\{2\}\{3\}b}} \addtoprr{b\protect\phantom{X}b\demotext{ \ b\bs protect\bs phantom\{X\}b}} -\addtoprr{b\protect\vphantom{X}b\demotext{ \ b\bs protect\bs vphantom\{X\}b}} +\addtoprr{b\protect\vphantom{X}b\demotext{ b\bs protect\bs vphantom\{X\}b}} \addtoprr{b\protect\hphantom{X}b\demotext{ \ b\bs protect\bs hphantom\{X\}b}} \addtoprr{b\sethyphenation{french}b\demotext{ b\bs sethyphenation\{french\}b}} \addtoprr{b\selectlanguage{french}b\demotext{ b\bs selectlanguage\{french\}b}} \addtoprr{b\discretionary{a-}{c} {b}\demotext{ b\bs discretionary\{a-\}\{c\} \{b\}}} % - \addtoprr{â‚¡\demotext{ [U+20A1]}}%%auch \ifallprr - \fillprr{â‚¡\demotext{ [U+20A1]}}{} + \addtoprr{â‚¡}%%auch \ifallprr + \fillprr{â‚¡}{\demotext{ \ [U+20A1]}} \addtoprr{\textcolonmonetary} - \fillprr{\textcolonmonetary}{\demotext{ \bs textcolonmonetary}} + \fillprr{\textcolonmonetary}{\demotext{ \ \bs textcolonmonetary}} \addtoprr{Â¥\demotext{ [U+00A5]}} \addtoprr{\textyen} \fillprr{\textyen}{\demotext{ \bs textyen \ \ \ \% neu in 2.3}} @@ -6908,6 +7272,88 @@ k"onnen Sie (f"ur eigene Tests) im Vorspann das \hspace{.1em}\verb|%| \addtoprr{₱\demotext{ [U+20B1]}} \addtoprr{\textpeso} \fillprr{\textpeso}{\demotext{ \bs textpeso}} +%% + \addtoprr{\capitaldieresis U\demotext{ \bs capitaldieresis U \ \ \ \ \%~2.5}} + \addtoprr{\capitaldieresis{U}\demotext{ \bs capitaldieresis\{U\} \ \%~2.5}} + \addtoprr{\capitalcedilla {U}\demotext{ \bs capitalcedilla \{U\} \ \%~2.5}} + \addtoprr{\@tabacckludge" {U}\demotext{ \bs @tabacckludge\protect\string" \{U\} \ \%~2.5}}%+++ + \addtoprr{\@tabacckludge " U\demotext{ \bs @tabacckludge \protect\string" U \ \ \%~2.5}}%+++ + \addtoprr{\capitalcedilla {\"U}\demotext{ \bs capitalcedilla \{\bs\protect\string"U\} \ \%~2.5}} + \addtoprr{\capitalogonek {\capitaldieresis U}\demotext{ \bs capitalogonek \\ \{\bs capitaldieresis U\} \ \%~2.5}} + \addtoprr{\capitalcedilla {\capitaldotaccent U}\demotext{ \bs capitalcedilla \\ \{\bs capitaldotaccent U\} \ \%~2.5}} + \addtoprr{\capitalogonek{\.U}\demotext{ \bs capitalogonek\{\bs .U\} \ \ \ \protect\,\%~2.5}} +\addtoprr{\"U\demotext{ \bs\protect\string"U}} +\addtoprr{\"{U}\demotext{ \bs\protect\string"\{U\}}} +\addtoprr{"U\demotext{ \protect\string"U}} +\addtoprr{Ãœ\demotext{ [U+00DC]}} + \addtoprr{\capitalacute U\demotext{ \bs capitalacute U \ \%~2.5}} +\addtoprr{\'U\demotext{ \bs\protect\string'U}} + \addtoprr{\capitalbreve U\demotext{ \bs capitalbreve U \ \%~2.5}} +\addtoprr{\u U\demotext{ \bs u U}} +\addtoprr{Ãœ\demotext{ [U+00DC]}} + \addtoprr{\capitalcaron U\demotext{ \bs capitalcaron U \ \%~2.5}} +\addtoprr{\v U\demotext{ \bs v U}} + \addtoprr{\capitalcedilla U\demotext{ \bs capitalcedilla U \ \%~2.5}} +\addtoprr{\c U\demotext{ \bs c U}} + \addtoprr{\capitalcircumflex U\demotext{ \bs capitalcircumflex U \ \%~2.5}} +\addtoprr{\^U\demotext{ \bs\protect\string^U}} +\addtoprr{Û\demotext{ [U+00DB]}} +\addtoprr{\.U\demotext{ \bs .U}} + \addtoprr{\capitaldotaccent U\demotext{ \bs capitaldotaccent U \ \%~2.5}} + \addtoprr{\capitalacute {U}\demotext{ \bs capitalacute \{U\} \ \%~2.5}} +\addtoprr{\.U\demotext{ \bs.U}} + \addtoprr{\capitalgrave U\demotext{ \bs capitalgrave U \ \%~2.5}} +\addtoprr{\`U\demotext{ \bs\protect\string`U}} + \addtoprr{\capitalhungarumlaut U\demotext{ \bs capitalhungarumlaut U \ \%~2.5}} +\addtoprr{\H U\demotext{ \bs H U}} + \addtoprr{\capitalmacron U\demotext{ \bs capitalmacron U \ \%~2.5}} +\addtoprr{\=U\demotext{ \bs=U}} + \addtoprr{\capitalnewtie U\demotext{ \bs capitalnewtie U \ \%~2.5}} +\addtoprr{\capitalogonek U\demotext{ \bs capitalogonek U \ \%~2.5}} +\addtoprr{\k U\demotext{ \bs k U}} +\addtoprr{Å°\demotext{ [U+0170]}} + \addtoprr{\capitalring U\demotext{ \bs capitalring U \ \%~2.5}} +\addtoprr{\r U\demotext{ \bs r U}} + \addtoprr{\capitaltie U\demotext{ \bs capitaltie U \ \%~2.5}} +\addtoprr{\t U\demotext{ \bs t U}} + \addtoprr{\capitaltilde U\demotext{ \bs capitaltilde U \ \%~2.5}} +\addtoprr{\~U\demotext{ \bs\protect\string~U}} + \addtoprr{\newtie U\demotext{ \bs newtie U \ \%~2.5}} +\addtoprr{\t U\demotext{ \bs t U}} + \addtoprr{\textogonekcentered U\demotext{ \bs textogonekcentered U \ \%~2.5}} +\addtoprr{\textcommabelow U\demotext{ \bs textcommabelow U \ \%~2.3}} +\addtoprr{\textdegree U\demotext{ \bs textdegree U \ \%~2.5}} + \addtoprr{$\vec U$\demotext{ \$\bs vec U\$}} +\addtoprr{\b U\demotext{ \bs b U}} +\addtoprr{\d U\demotext{ \bs d U}} +\addtoprr{\protect\underbar U\demotext{ \bs protect\bs underbar U}} +\addtoprr{\protect\underline U\demotext{ \bs protect\bs underline U}} +\addtoprr{Ù\demotext{ [U+00D9]}} +\addtoprr{Ú\demotext{ [U+00DA]}} +\addtoprr{Ú\demotext{ [U+00DA]}} +\addtoprr{Ũ\demotext{ [U+0168]}} +\addtoprr{Ū\demotext{ [U+016A]}} +\addtoprr{Ŭ\demotext{ [U+016C]}} +\addtoprr{Å®\demotext{ [U+016E]}} +\addtoprr{Ų\demotext{ [U+0172]}} +\addtoprr{Ç“\demotext{ [U+01D3]}} +\addtoprr{U} +\addtoprr{Ua} +\addtoprr{Ue} +\addtoprr{Uf} +\addtoprr{$\acute U$\demotext{ \$\bs acute U\$}} +\addtoprr{$\hat U$\demotext{ \$\bs hat U\$}} +\addtoprr{$\dot U$\demotext{ \$\bs dot U\$}} +\addtoprr{$\grave U$\demotext{ \$\bs grave U\$}} +\addtoprr{$\ddot U\sort{e}$\demotext{ \$\bs ddot U\bs sort\{e\}\$ \ \%~so~als~Ue}} +\addtoprr{\underline{\"U}\demotext{ \bs underline\{\bs \protect\string"U\}}} +\addtoprr{$\bar U$\demotext{ \$\bs bar U\$}} +\addtoprr{$\tilde U$\demotext{ \$\bs tilde U\$}} +\addtoprr{$\mathring U$\demotext{ \$\bs mathring U\$}} +\addtoprr{$\breve U$\demotext{ \$\bs breve U\$}} +\addtoprr{$\check U$\demotext{ \$\bs check U\$}} + +%### \noindent Zur Erzeugung der vorausgehenden Liste bekam \verb|bibsort| als @@ -6928,9 +7374,9 @@ enden, \textit{aus einzelnen Zeichen} bestehende Befehle wie \texttt{\bs\dq} d"u Befehle, die \verb|bibsort| nicht kennt, sortiert es "ahnlich wie Satzzeichen, gewichtet sie also nur, falls Zeilen \textit{sonst} nur \textit{gleiche Buchstaben (mit gleichen Akzenten) und gleiche Zahlen} enthalten. Zum Verst"andnis des -schichtweisen Sortierens beachten Sie bitte \verb|Stra{\ss}burg| und \verb|Stra{\ss}e|\kern.05em.\pdfko{.25}\ +schichtweisen Sortierens beachten Sie oben \verb|Stra{\ss}burg| und \verb|Stra{\ss}e|\kern.025em.\pdfko{.25}\ Falls Sie \hspace{.15em}\verb|bibsort| \verb|-utf8| \hspace{.1em}\abra{...} \hspace{.2em}starten, wird -zudem \verb|Straße| mit \verb|ß| (\verb|U+00DF|) richtig\pdfko{.25}\ +zudem \verb|Straße| mit \verb|ß| (\verb|U+00DF|) richtig sortiert (u.\,U.\ ist \verb|\usepackage[utf8]{inputenc}| im Vorspann n"otig). Fu"snotenexponenten (\verb|\footnotemark[146]|) werden absichtlich nicht gewichtet, @@ -6938,7 +7384,7 @@ mathematische Exponenten (\verb|$^{2}$|) schon. \verb|bibsort| sortiert viele gleiche Zeichen, die verschieden gemeint sind, so, als h"atten sie verschiedene Akzente: \verb|$\mu$| ($\mu$) und \verb|\textmu| (Mikro\hy \textmu). Umgekeht wird \verb|\sz|, das {\sz} druckt, wie \verb|"z| ("z) einsortiert -(\verb|\MakeLowercase{\SZ}|\hy Pendant; \verb|\SZ| ist {\SZ}); vgl.\ \verb|"s| ("s). +(\kern.025em\verb|\MakeLowercase{\SZ}|\kern.025em\hy Pendant; \verb|\SZ| ist {\SZ}); vgl.\ \verb|"s| ("s). Und viele Befehls\hy Argumente werden intern `ausgerichtet':\footnote{In \texttt{transformtable} in \texttt{bibsort.c} aufgelistet. Von "Anderungen wird abgeraten.} @@ -6974,7 +7420,7 @@ immer tausend.\footnote{Die Zahlenerkennung funktioniert bis\hspace{.1em} \texttt{999.999.999.999.999} vor dem `Komma' (deutsch, also mit \texttt{-g1} oder \texttt{-g2}) und bis zu zus"atzlich 16 Stellen nach dem `Komma' (wobei in den Nachkommastellen keine Strukturierungszeichen wie \hspace{-.1em}\texttt{.} oder \texttt{\bs,} enthalten sein d"urfen: \texttt{0,0000000000000001} ist die kleinste korrekt sortierbare Zahl). -Ziffern nach der 15ten bzw.\ 16ten Stelle werden ignoriert von den `h"oheren' +Ziffern nach der 15ten bzw\ko.\ 16ten Stelle werden ignoriert von den `h"oheren' Sortierschichten (die zuerst die Reihenfolge bestimmen) und als neue Zahlen begriffen.} @@ -7017,34 +7463,37 @@ anders als \verb|P.S.| von \verb|-l| beeinflusst werden. \vspace{1ex} \verb|-t1| sortiert Zeichen aus der zweiten H"alfte der ASCII\hy Codetabelle,\footnote{In \texttt{bibsort.c} in \texttt{teinzerw} fix definiert.} wie sie unter -\verb|\UseRawInputEncoding| im \hspace{-.2em}\verb|.aux|\hy File ankommen. +\verb|\UseRawInputEncoding| im \hspace{-.175em}\verb|.aux|\hy File ankommen. Anscheinend wird \verb|\UseRawInputEncoding| zusammen mit \verb|\usepackage[T1]{fontenc}| -verwendet. \verb|bibsort| \verb|-t1| erwartet einfache Oktette von ASCII 128 bis 255. +verwendet. \hspace{.15em}\verb|bibsort| \verb|-t1| \hspace{.15em}erwartet einfache Oktette von ASCII 128 bis 255. \vspace{2.5ex}\noindent Neben \verb|\sort| \baref{sort} l"asst sich die Reihenfolge mit dem Befehl \verb|\nosort| steuern. Sein Argument wird gedruckt, -aber beim Sortieren weitgehend ausgeblendet. -\verb|'a'| wird vor \verb|a| einsortiert, \verb|\nosort{'}a'| dahinter -(falls beide Eintr"age sonst nur \textit{gleiche} Buchstaben enthalten). +aber beim Sortieren weitgehend ausgeblendet. Oben k"onnte +\verb|\sort{0,001429}\nosort{700} v.\,Chr.| im Beispiel f"ur Dezimalzahlen +getippt werden, um ganz genau zu sortieren. + +Auf der ersten Seite der Beipielliste habe ich \verb|\nosort| ebenfalls benutzt: +\verb|'a'| wird vor \verb|a| einsortiert, \verb|\nosort{'}a'| dahinter. Dies liegt daran, dass in dieser `unteren' Sortierschicht ein Vergleich zwischen dem \textit{backslash} von \verb|\nosort| und dem Apostroph am Anfang von \verb|'a'| stattfindet; \texttt{bibsort} -sortiert (bei ihm unbekannten Befehlen) den \textit{backslash} +sortiert in diesem direkten Konflikt den \textit{backslash} hinter alle anderen Zeichen. Und beim Vergleich von -\verb|\nosort{'}a'| und \verb|\glqq|~\verb|a| kommen \verb|n| und \verb|g| zum Zuge. +\verb|\nosort{'}a'| und \verb|\glqq|~\verb|a| \hspace{.05em}sind die Buchstaben +\verb|n| und \verb|g| entscheidend. Prim"ar bestimmend +ist in diesen Eintr"agen aber das \verb|a|. \newpage \noindent \verb|bibsort| schreibt keine Protokolldatei, sondern setzt seine Fehlermeldungen als Kommentarzeilen in die erzeugten Dateien. -Wenn anders sortiert wird als erwartet, k"onnen Sie \ko\verb|-m| -setzen; dann f"ugt \verb|bibsort| zu jedem Eintrag als\pdfko{.25}\ -\LaTeX\hy -Kommentar seine zum Sortieren genutzten Meta\hy Zeilen hinzu. -(Die -Sonderzeichen zur Nachbewertung bilden manche Editoren -nur teilweise ab!) +Mit \hspace{.15em}\verb|bibsort| \verb|-m| \hspace{.15em}ordnen Sie an, +vor jeden Eintrag die zum Sortieren genutzten Meta\hy Zeilen ebenfalls +als \LaTeX\hy Kommentar einzuf"ugen. Akzente werden darin von +`nicht\hy druckbaren' Zeichen repr"asentiert (einige Editoren bilden +solche Zeichen nur teilweise ab). \vspace{1ex}\noindent Wie oben S.\,\pageref{head} vorgef"uhrt, bewirkt \verb|\bibsortheads|, @@ -7166,7 +7615,7 @@ aus; es gibt keine Zusammenfassung etwa zu \textsf{A--C}. Sie k"onnen mit \verb|-c| den Ausdruck der geschweiften Klammern unterdr"ucken. Leere Z"ahlerstandsausdrucke erscheinen als\hspace{.1em} \textsf{[]}\hspace{.1em} und die \LaTeX\hy Fehlermeldung\hspace{.15em} \verb|Counter too large|\hspace{.15em} -als\hspace{.2em} \textsf{()}\,;\footnote{Ausdruck eines Z"ahlerstandes von \texttt{0} als r"omische Zahl bzw.\ +als\hspace{.2em} \textsf{()}\,;\footnote{Ausdruck eines Z"ahlerstandes von \texttt{0} als r"omische Zahl bzw\ko.\ gr"o\hyss er \texttt{26} als Buchstabe.} beides l"asst sich nicht ausschalten. \vspace{2ex}\noindent @@ -7215,7 +7664,7 @@ Fu"snotennummer fett in fetten runden Klammern auszudrucken Falls Sie\hspace{.2em} \verb|bibsort|~\textit{file}\hspace{.1em} befehlen, liest \verb|bibsort| das von \LaTeX\ zuvor erzeugte\hspace{.15em} \textit{file}\ko\verb|.aux|\hspace{.15em} ein und erzeugt die bis zu neun \BibArts\kern.1em\hy -Dateien (etwa\hspace{.15em} \textit{file}\ko\verb|.vli|\kern.1em, falls Sie vli\fhy Befehle verwenden). +Dateien (etwa\hspace{.15em} \textit{file}\ko\texttt{.\ko vli}\kern.1em, falls Sie vli\fhy Befehle verwenden). Alle bei \textit{einem} \texttt{bibsort}\hy Start erzeugte Dateien haben dasselbe Pr"afix, \textit{defaultm"a\hyss ig} dasjenige der Input\hy Datei, also \textit{file}\kern.01em.\hspace{.1ex} Seit \BibArts~2.1 muss ein abweichendes Pr"afix\hspace{.1em} \textit{outfile}\hspace{.15em} @@ -7322,17 +7771,17 @@ Der erste Satz.\footnote{\kli{Ferguson}{Falscher Krieg}[23].\vspace{1ex}}} \vfill \hbox{\parbox{7.7cm}{\footnotesize\noindent -\textbf{\BibArts~2.4 \ (9 Dateien, 8 vom 10.\,01.\,2022):} \\[.85ex] +\textbf{\BibArts~2.5 \ (9 Dateien, 8 vom 01.\,10.\,2022):} \\[.85ex] \begin{tabular}{ll}% - \texttt{README.txt} & Versionsgeschichte seit 1.3 \\[-1.75pt] - \texttt{bibarts.sty} & Das \LaTeX-Style-File \\[-1.75pt] - \texttt{bibarts.pdf} & Diese Dokumentation hier \\[-1.75pt] - \texttt{bibarts.tex} & Quellcode von \texttt{bibarts.pdf} \\[-1.75pt] - \texttt{ba-short.pdf} & Englische Kurzdokumentation \\[-1.75pt] - \texttt{ba-short.tex} & Quellcode von \texttt{ba-short.pdf}\\[-1.75pt] - \texttt{bibsort.exe} & Bin"ardatei f"ur die Listen \\[-1.75pt] - \texttt{bibsort.c} & Quellcode von \texttt{bibsort.exe} \\[-1.75pt] - \texttt{COPYING} & Lizenz (vom 28.\,11.\,1993) \\ + \texttt{README.txt} & Versionsgeschichte seit 1.3 \\[-1.75pt] + \texttt{bibarts.sty} & Das \LaTeX-Style-File \\[-1.75pt] + \texttt{bibarts.pdf} & Diese Dokumentation hier \\[-1.75pt] + \texttt{bibarts.tex} & Quellcode von \texttt{bibarts.pdf} \\[-1.75pt] + \texttt{ba-short.pdf} & Englische Kurzdokumentation \\[-1.75pt] + \texttt{ba-short.tex} & Quellcode von \texttt{ba-short.pdf} \\[-1.75pt] + \texttt{bibsort.exe} & bibarts-bin erzeugt die Listen \\[-1.75pt] + \texttt{bibsort.c} & Quellcode von \texttt{bibsort.exe} \\[-1.75pt] + \texttt{COPYING} & Lizenz (vom 28.\,11.\,1993) \\ \end{tabular}} \\ \hspace*{2.4mm} @@ -7356,7 +7805,7 @@ Der erste Satz.\footnote{\kli{Ferguson}{Falscher Krieg}[23].\vspace{1ex}}} dokumentieren Sie "Anderungen vor der Weitergabe. \\[-.5ex] Zur Diskussion k"onnen Sie mir an\hspace{.1em} \texttt{bibarts}\kern.1em(\kern-.05em at\kern-.075em)\kern.1em\texttt{gmx.de}\hspace{.1em} -schreiben.} +mailen.} \edef\bamantestargs{ -g1 -h -utf8 -k -e } \ifallprr This file shows more entries in the prr-list than the distributed version.\fi @@ -7367,4 +7816,8 @@ schreiben.} %\tableofcontents + \end{document} + + + diff --git a/macros/latex/contrib/bibarts/bibsort.c b/macros/latex/contrib/bibarts/bibsort.c index cc094f10bf..332eb2c700 100644 --- a/macros/latex/contrib/bibarts/bibsort.c +++ b/macros/latex/contrib/bibarts/bibsort.c @@ -1,5 +1,5 @@ -/* BibArts 2.4 assists you to write LaTeX texts in arts and humanities. */ -/* Copyright (C) 2022 Timo Baumann bibarts[at]gmx.de (2022/01/10) */ +/* BibArts 2.5 assists you to write LaTeX texts in arts and humanities. */ +/* Copyright (C) 2022b Timo Baumann bibarts[at]gmx.de (2022/10/01) */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ @@ -20,12 +20,13 @@ /* FILES OF THE PACKAGE AND DOCUMENTATION CTAN mirrors > BibArts > bibarts.zip + README.txt Version history since 1.3 bibarts.sty LaTeX style file ba-short.pdf Short documentation (English) ba-short.tex Source of ba-short.pdf bibarts.pdf Full documentation (German) bibarts.tex Source of bibarts.pdf - bibsort.exe Binary to create the lists + bibsort.exe bibarts-bin to create the lists bibsort.c This file; source of bibsort.exe COPYING The license of the package */ @@ -34,10 +35,9 @@ /* COMPATIBILITY - I have tested bibsort.c with several C compilers. I had problems with - the devcpp.exe EDITOR (Dev-Cpp_5.4.0_TDM-GCC_x64_4.7.1). Sucessful was: - "C:\Program Files (x86)\Dev-Cpp\MinGW64\bin\gcc.exe" -O2 -c bibsort.c -o bibsort.o - "C:\Program Files (x86)\Dev-Cpp\MinGW64\bin\gcc.exe" bibsort.o -o bibsort.exe + + For my tests on Windows 10, I compiled bibsort.c 2.5 with MinGW, and with + MS VisualStudio C/C++; I typed gcc ..., or cl ..., TO THE COMMAND PROMPT. Do NOT change this file when you do not have a qualified text editor - it contains control chars: '', '', '', '', | Are the @@ -46,7 +46,7 @@ The C-compiled binary of this file is reading LaTeX .aux files. It can NOT read the .bar files, which BibArts 1.x did use. - BibArts 2.4 ONLY has an EMULATION for 1.3 texts: Keep copies of 1.x? + BibArts 2.5 ONLY has an EMULATION for 1.3 texts: Keep copies of 1.x? */ @@ -137,20 +137,17 @@ char *subCptr[MAXBACOLS][MAXLINES]; #define PROTECT "\\protect" #define KTIT "\\ktit" #define KTITCMD "\\ktit\t" +#define KTITINARG "{\\ktit}" #define ANNOUNCEKTIT "\\announcektit" #define KURZ "\\kurz" #define KURZCMD "\\outkurz\t" -#define KTITINTRO "\t" -#define KTITINTROCH '\t' -#define KTITERRORCH '\?' /* Insert ?? for bad inner \ktit */ -#define KTITSHA "\t<" -#define KTITMISS "\t|" -#define KTITEMPTY "\t>" +#define KTITMISS "\?\?" /* "\t|" before 2.5 */ +#define KTITEMPTY "\?\?" /* "\t>" before 2.5 */ #define KTITBEG "{" #define KTITEND "}" #define KTITOP '{' #define KTITCL '}' -int otherktiterr = -1; +int ktiterr = -1; /* otherktiterr before 2.5 */ #define ACCEPTLINE 0 #define REJECTLINE 1 @@ -162,6 +159,23 @@ int otherktiterr = -1; #define REDEF2LINE 7 int leval[MAXLINES]; +/* new errmsgs in 2.5: */ +#define NOINERR 0 +#define KTIT_SEV_ERR 1 +#define KTIT_EMP_BAS 2 +#define KTIT_EMP_ERR 3 +#define KTIT_MIS_BAS 5 +#define KTIT_MIS_ERR 6 +#define KTIT_DBL_BAS 11 +#define KTIT_DBL_ERR 12 +#define OARG_IRR_BAS 23 +#define OARG_IRR_ERR 24 +#define OARG_BRA_BAS 47 +#define OARG_BRA_ERR 48 +#define KTIT_OPE_BAS 95 +#define KTIT_OPE_ERR 96 +int inerr[MAXLINES]; /* new in 2.5 */ + #define BARESTCOLS 5 #define PAGEFNTCOL 1 #define PAGECOL BARESTCOLS @@ -296,7 +310,6 @@ int llstrlen(const char *s); int do_only(char ret[], const char form[], const char in[]); int userusesdq(int deepsort, int linec); int texcmp(const char *s, const char *p, int dqcats, int dqcatp); -int hasinnerentry(const char *p, const char *icmdlist[][2], const int num); int subdoubleauthors(int found, int addtxt, char a[], int remi, int i, const char *q, const char *p, int qline, int pline, int fe, char xx[]); /* ... end prototypes. */ @@ -422,7 +435,7 @@ void moremoreinfo(const char *myname) printf("%%%% CODEPAGES\n"); printf("%%%% LaTeX today writes ASCIIs > 127 in your %s-file(s), if you use\n", AUX_SUFFIX); printf("%%%% \\usepackage[utf8]{inputenc}. Then, you may start me using option\n"); - printf("%%%% -utf8 I expect characters as definded in utf8enc.dfu 2021/01/27 v1.2l,\n"); + printf("%%%% -utf8 I expect characters as definded in utf8enc.dfu 2022/06/07 v1.3c,\n"); printf("%%%% except those, which execute \\cyr...- or \\CYR...-cmds. Those and\n"); printf("%%%% further utf8-characters will be reported to screen as unknown.\n"); printf("%%%% -t1 You set \\UseRawInputEncoding, and ASCIIs > 127, which you use in\n"); @@ -538,29 +551,6 @@ int nextbracket(const char *p, const char opench, const char closech) } -int unshielded_cmds_in_str(const char *p, const char *s) -{ - int r = 0; - - while (*p != '\0') - { - if (*p == '{') p += nextbracket(p, '{', '}') - 1; - else - if (*p == '\\') - { - if (*(p+1) == '\\') ++p; - else - if (*(p+1) == '{') ++p; - else - if (isexactlcmd(p, s) == 0) ++r; - } - ++p; - } - - return r; -} - - int artithmetic_overflow(const char *p, const char *cc) { printf("%%%%\n%%%%> Warning: Arithmetic overflow %s-eval \"%s\".\n", p, cc); @@ -1611,6 +1601,10 @@ void swap(int i, int j) leval[i] = leval[j]; leval[j] = temi; + temi = inerr[i]; /* new in 2.5 */ + inerr[i] = inerr[j]; + inerr[j] = temi; + l = 0; while (l < MAXBACOLS) { @@ -1957,11 +1951,18 @@ void maxprint(int len, const char *s) } -void printktiterr(const char *s) +void print_msg_line(int line) { - printf("%%%% "); - maxprint(72, s); - printf("\n"); + if (line < 0) + { + intern_err(39); + } + else + { + printf(" in *inner v-cmd*:\n%%%% "); + maxprint(65, lineptr[line]); + printf("\n"); + } } @@ -1999,36 +2000,44 @@ void printktiterr(const char *s) #define AVNUM 13 -void get_ktit(char s[], const char *p, const char *com, const char op, const char cl, const int line) +const char *starlist[][2] = +{ + { "\\vauthor\t", ":{}:{}" }, + { "\\midvauthor\t", ":{}:{}" }, + { NULL, NULL }}; +const char *exlist[] = { - int l, reallen, found = 0, r = 0, ll, llen, b = 0, shielded = 0; - char buf[MAXLEN], fub[MAXLEN]; + "\\kauthor", + "\\midkauthor", + NULL +}; +#define VKNUM 2 + + +#define INNERLASTARGNO 5 +#define INNERSTARARGNO 4 +#define INNERLNARGNO 3 +#define INNERFNARGNO 2 +#define INNEROPARGNO 1 + +int get_ktit(char oldktit[], const char *p, const char *com, const char op, const char cl, const int line, int found, const int argno) +{ + int l, reallen, r = 0, ll, llen, b = 0, oldfound = found, invauthorfound = 0; + char buf[MAXLEN], newktit[MAXLEN]; + while (*p != '\0') { - if (*p == '{' && b > 0) - { - l = nextbracket(p, '{', '}'); - ll = 0; - while (l-- > 0) - { - fub[ll++] = *p; - buf[b++] = *p++; - } - fub[ll] = '\0'; - shielded += num_of_cmds_in_str(fub, com); - } - else if (*p == '\\') { - if (*(p+1) == '\\' || *(p+1) == '{') + if (*(p+1) == '\\') { buf[b++] = *p++; buf[b++] = *p++; } else if ((ll=innerentry(p, innerVcmd, AVNUM)) > -1) { - /* inneres v-cmd ueberspringen: dort darf weiteres \\ktit stehen */ + /* inner-inner-v-cmd ueberspringen: dort darf weiteres \\ktit stehen */ llen = LaTeXcmp_endlen(p, innerVcmd[ll][0]); p += llen; llen = endofbracks(p, innerVcmd[ll][1]); @@ -2048,9 +2057,9 @@ void get_ktit(char s[], const char *p, const char *com, const char op, const cha r = 0; /* <= Copy only arg of last \\ktit */ if (l == 1) { - s[r++] = op; - s[r++] = *p; buf[b++] = *p++; - s[r++] = cl; + newktit[r++] = op; + newktit[r++] = *p; buf[b++] = *p++; + newktit[r++] = cl; } else if (l == 2 && *p == '\\' && *(p+1) != '\0') @@ -2058,15 +2067,15 @@ void get_ktit(char s[], const char *p, const char *com, const char op, const cha if (isLaTeXcmdletter(*(p+1)) == 0); else while (isLaTeXcmdletter(*(p+l)) != 0) ++l; - s[r++] = op; - while (l-- > 0) { s[r++] = *p; buf[b++] = *p++; } - s[r++] = cl; + newktit[r++] = op; + while (l-- > 0) { newktit[r++] = *p; buf[b++] = *p++; } + newktit[r++] = cl; } - else + else { while (l-- > 0) { - s[r++] = *p; buf[b++] = *p++; + newktit[r++] = *p; buf[b++] = *p++; } } } @@ -2076,14 +2085,41 @@ void get_ktit(char s[], const char *p, const char *com, const char op, const cha else buf[b++] = *p++; } - s[r] = '\0'; + newktit[r] = '\0'; buf[b] = '\0'; + if (strcmp(newktit, KTITINARG) == 0) + { + printf("%%%%\n%%%%> Error: %s follows %s", KTIT, KTIT); + print_msg_line(line-1); + inerr[line-1] += KTIT_DBL_ERR; /* new in 2.5 */ + } - if (r == 0 || (s[0] == op && s[1] == cl) || (s[0] == op && s[1] == ' ' && s[2] == cl)) + if (r > 2 && newktit[r-1] == cl && newktit[r-2] == ' ') + { + l = 3; + while (r-l > 1 && newktit[r-l] == ' ') ++l; + while (r-l > 1 && isLaTeXcmdletter(newktit[r-l]) != 0) ++l; + if (newktit[r-l] != '\\') print_not_tightly_err(newktit, cl); + } + + + if (newktit[0] == op) + { + l = 1; while (newktit[l] == ' ') ++l; + if (newktit[l] == cl) newktit[0] = '\0'; /* new in 2.5 */ + } + + + if (found > oldfound) + { + strcpy(oldktit, newktit); + } + + + if (argno == INNERLASTARGNO && oldktit[0] == '\0') { if ( strlen(KTITBEG) - + strlen(KTITSHA) + strlen(KTITMISS) + strlen(KTITEMPTY) + strlen(KTITEND) @@ -2094,93 +2130,37 @@ void get_ktit(char s[], const char *p, const char *com, const char op, const cha } else { - strcpy(s, KTITBEG); + strcpy(oldktit, KTITBEG); printf("%%%%\n%%%%> "); - if (shielded > 0) - { - printf("Error: %d shadowed { %s } cmd(s), and ...\n%%%% ", shielded, KTIT); - strcat(s, KTITSHA); - } if (found == 0) { printf("Error: Missing"); - strcat(s, KTITMISS); + strcat(oldktit, KTITMISS); + inerr[line-1] += KTIT_MIS_ERR; /* new in 2.5 */ } else { printf("Warning: Empty"); - strcat(s, KTITEMPTY); + strcat(oldktit, KTITEMPTY); + inerr[line-1] += KTIT_EMP_ERR; /* new in 2.5 */ } - printf(" %s in last arg of *inner v-cmd* (%s-entry %d):\n", KTIT, AUX_SUFFIX, line); - printktiterr(buf); - strcat(s, KTITEND); + printf(" %s", KTIT); + print_msg_line(line-1); + strcat(oldktit, KTITEND); } } - if (found > 1) - { - printf("%%%%\n%%%%> Warning: %s used %d times in *inner v-cmd* (%s-entry %d):\n", KTIT, found, AUX_SUFFIX, line); - printktiterr(buf); - } - if (r > 2 && s[r-1] == cl && s[r-2] == ' ') + if (argno == INNERLASTARGNO && found > 1) { - l = 3; - while (r-l > 1 && s[r-l] == ' ') ++l; - while (r-l > 1 && isLaTeXcmdletter(s[r-l]) != 0) ++l; - if (s[r-l] != '\\') print_not_tightly_err(s, cl); - } -} - - -int get_add_ktit(const char *p, const int maxktit, const int argno, const int line, const int screen) -{ - int reallen, found = 0, ll, llen, b = 0; - char buf[MAXLEN]; - - while (*p != '\0') - { - if (*p == '\\') - { - if (*(p+1) == '\\') - { - buf[b++] = *p++; buf[b++] = *p++; - } - else - if ((ll=innerentry(p, innerVcmd, AVNUM)) > -1) - { - /* inneres v-cmd ueberspringen: dort darf weiteres \\ktit stehen */ - llen = LaTeXcmp_endlen(p, innerVcmd[ll][0]); - p += llen; - llen = endofbracks(p, innerVcmd[ll][1]); - p += llen; - buf[b++] = '<'; buf[b++] = '#'; buf[b++] = '>'; - } - else - if ((reallen = LaTeXcmp_endlen(p, KTITCMD)) > 0) - { - while (reallen-- > 0) buf[b++] = *p++; - ++found; - } - else buf[b++] = *p++; - } - else buf[b++] = *p++; + printf("%%%%\n%%%%> Warning: %s used %d times", KTIT, found); + print_msg_line(line-1); + inerr[line-1] += KTIT_SEV_ERR; /* new in 2.5 */ } - buf[b] = '\0'; - - if (screen == 1 && found > maxktit) - { - printf("%%%%\n%%%%> Warning: "); - if (maxktit == 1) - printf("%d %s too much", found-1, KTIT); - else printf("%d misplaced %s", found, KTIT); - printf(" in %s-file (entry %d, arg %d):\n", AUX_SUFFIX, line, argno); - printktiterr(buf); - } return found; } @@ -2188,19 +2168,6 @@ int get_add_ktit(const char *p, const int maxktit, const int argno, const int li void do_innerVstarArg(char ret[], const char *p) { - const char *starlist[][2] = - { - { "\\vauthor\t", ":{}:{}" }, - { "\\midvauthor\t", ":{}:{}" }, - { NULL, NULL }}; - const char *exlist[] = - { - "\\kauthor", - "\\midkauthor", - NULL - }; - #define VKNUM 2 - int r = 0, l, len, end; @@ -2274,12 +2241,14 @@ void do_innerVstarArg(char ret[], const char *p) } +#define OPTARG_FMT_UNDEF '\0' + int dobracks(char buf[], const char *p, const char fmt[], const int line) { - int l = 0, len = 0, pos; - char ibuf[MAXLEN], obuf[MAXLEN]; + int l = 0, len = 0, pos, i, found = 0, oldfound, optfound = 0; + char ibuf[MAXLEN], obuf[MAXLEN], kbuf[MAXLEN], optarg_fmt = OPTARG_FMT_UNDEF; - buf[0] = '\0'; + buf[0] = '\0'; kbuf[0] = '\0'; while (1) { @@ -2294,26 +2263,81 @@ int dobracks(char buf[], const char *p, const char fmt[], const int line) if ((pos=nextbracket(p, fmt[l+1], fmt[l+2])) > 1) { + if (fmt[l] == '+') + { + /* [OptArg] */ + oldfound = found; + mystrncpy(ibuf, p, pos); + found = get_ktit(kbuf, ibuf, KTITCMD, KTITOP, KTITCL, line, found, INNEROPARGNO); + optfound = found; + + if ( *(p+1) == 'p' + || *(p+1) == 'm' + || *(p+1) == 'f' + || *(p+1) == ']' + ) + { + i = 2; while (*(p+i) == ' ') ++i; + if (*(p+1) != ']' && oldfound == found && *(p+i) == '{') + { + optarg_fmt = *(p+1); + } + if (*(p+i) != '{' && *(p+i) != ']' && *(p+i) != '\0') + { + printf("%%%%\n%%%%> Error: "); + maxprint(14, ibuf); + printf(" without brackets like [%c{...}]", *(p+1)); + print_msg_line(line-1); + inerr[line-1] += OARG_BRA_ERR; /* new in 2.5 */ + } + } + else + { + printf("%%%%\n%%%%> Error: "); + maxprint(14, ibuf); + printf(" begins with \'%c\' instead f/m/p", *(p+1)); + print_msg_line(line-1); + inerr[line-1] += OARG_IRR_ERR; /* new in 2.5 */ + } + found -= optfound; + } + else if (fmt[l] == '!') { + /* {Rest} superior to fmt[l] == '*' */ mystrncpy(ibuf, p, pos); - get_ktit(obuf, ibuf, KTITCMD, KTITOP, KTITCL, line); - strcat(buf, obuf); + found = get_ktit(kbuf, ibuf, KTITCMD, KTITOP, KTITCL, line, found, INNERLASTARGNO); + strcat(buf, kbuf); } else - if (fmt[l] == '*' || fmt[l] == '+') /* +: \\vautkor => \\kauthor */ + if (fmt[l] == '*') { + oldfound = found; mystrncpy(ibuf, p, pos); + found = get_ktit(kbuf, ibuf, KTITCMD, KTITOP, KTITCL, line, found, INNERSTARARGNO); do_innerVstarArg(obuf, ibuf); - if (fmt[l] == '*') strcat(buf, "*"); /* keep fmt[l] */ strcat(buf, obuf); + if (optfound == 0 && oldfound != found && optarg_fmt != OPTARG_FMT_UNDEF) + { + printf("%%%%\n%%%%> Error: [%c{..}] without %s overwrites %c{..%s..}", optarg_fmt, KTIT, fmt[l], KTIT); + print_msg_line(line-1); + inerr[line-1] += KTIT_OPE_ERR; /* new in 2.5 */ + } } else if (fmt[l] == DELNORMARG || fmt[l] == DELSTARARG) - ; + { + mystrncpy(ibuf, p, pos); + found = get_ktit(kbuf, ibuf, KTITCMD, KTITOP, KTITCL, line, found, INNERLNARGNO); + } else - strncat(buf, p, pos); + { + /* FN */ + mystrncpy(ibuf, p, pos); + found = get_ktit(kbuf, ibuf, KTITCMD, KTITOP, KTITCL, line, found, INNERFNARGNO); + strcat(buf, ibuf); + } p += pos; len += pos; @@ -2429,9 +2453,10 @@ int do_only(char ret[], const char form[], const char in[]) "\\onlyhere\t", "\\onlyvoll\t", "\\onlyout\t", + KTITCMD, NULL }; -#define KHVONUM 4 +#define KHVONUM 5 /* KTITCMD added in 2.5 */ if (form[0] == '\0' || strlen(form) != KHVONUM) @@ -2560,28 +2585,35 @@ void telldefault(int rest) } - const char *innerK_PER_ARQ_cmd[][2] = { + const char *inner_K_cmd[][2] = { { "\\printonlykli\t", ":[]:{}*{}:{}" }, { "\\printonlykqu\t", ":[]:{}*{}:{}" }, { "\\xprintonlykli\t", ":[]:{}*{}:{}" }, { "\\xprintonlykqu\t", ":[]:{}*{}:{}" }, { "\\printonlyper\t", ":{}" }, { "\\printonlyarq\t", ":[]:{}:{}" }, + { NULL, NULL }}; +#define INNERTITLES 4 /* 6 changed to 4 in 2.5 */ + + const char *inner_PER_ARQ_ABK_cmd[][2] = { + { "\\printonlyper\t", ":{}" }, + { "\\printonlyarq\t", ":[]:{}:{}" }, { "\\printonlydefabk\t", ":{}:{}" }, { "\\printonlyabkdef\t", ":{}:{}" }, { "\\printonlyabk\t", ":{}" }, { NULL, NULL }}; -#define INNERTITLES 6 -#define XKPANUM 9 +#define INNERPAA 5 /* new in 2.5 */ -int do_inneronly(char ret[], const char in[], const char *vf, const char *kpf) +int do_inneronly(char ret[], const char in[], const char *vf, const char *kf, const char *paaf) { char buf[MAXLEN]; int len; - len = do_innercmd(buf, in, innerVcmd, XVNUM, vf); /* AVNUM unnecessary */ - len = do_innercmd(ret, buf, innerK_PER_ARQ_cmd, XKPANUM, kpf); + len = do_innercmd(buf, in, innerVcmd, XVNUM, vf); /* AVNUM unnecessary */ + len = do_innercmd(ret, buf, inner_K_cmd, INNERTITLES, kf); /* 2.5: XKPANUM changed to INNERTITLES */ + len = do_innercmd(buf, ret, inner_PER_ARQ_ABK_cmd, INNERPAA, paaf); /* new in 2.5 */ + strcpy(ret, buf); /* new in 2.5 */ return len; } @@ -2613,27 +2645,48 @@ char *makeAR(char *p, int cols, int rest, char bb, char eb, const char *ident, i if (ventry != IS_V && i == VCOLS-1) { /* alloc {li} or {qu} as 4th arg of k-cmds: */ - alen = mystrncpy(cbuf, p, len); + alen = mystrncpy(cbuf, p, len); } else { - mystrncpy(cbuf, p, len); - alen = do_inneronly(ibuf, cbuf, "eell", "leel"); - alen = do_only(cbuf, formO, ibuf); + mystrncpy(cbuf, p, len); + + /* new in 2.5 for k-cmds: "elleX": */ + /* changed in 2.5: "eell" to "eeXXX" */ + + if (ventry == IS_V) /* MARKX */ + { + alen = do_inneronly(ibuf, cbuf, "eeXXX", "elleX", "leelX"); + } + else /* new in 2.5: ventry == NO_V || ventry == IS_Q */ + { + alen = do_inneronly(ibuf, cbuf, "leelX", "elleX", "leelX"); + } + /* moved in 2.5: do_only */ if (ventry == IS_V && i == VCOLS-1) { - alen = do_innerVcmd(ibuf, cbuf, innerVcmd, AVNUM, linec+1); - strcpy(cbuf, ibuf); - get_add_ktit(cbuf, 1, i+cols, linec+1, 1); /* Rest v-cmd: Ein \\ktit erlaubt */ + alen = do_innerVcmd(cbuf, ibuf, innerVcmd, AVNUM, linec+1); } else - { - if(get_add_ktit(cbuf, 0, i+cols, linec+1, 1) > 0) /* sonst (auch andere Args v-cmd) */ - { /* get_add_ktit schreibt Fehler!! */ - if (otherktiterr < i+1) otherktiterr = i+1; - } + { + strcpy(cbuf, ibuf); + } + + /* get_add_ktit del in 2.5 */ + + if (ventry == IS_V) /* MARKX */ + { + /* inner v-cmds are k-cmds here / new in 2.5: */ + /* e == \ktit{x} => x */ + alen = do_innercmd(ibuf, cbuf, inner_K_cmd, INNERTITLES, "XXlle"); + } + else + { + strcpy(ibuf, cbuf); } + + alen = do_only(cbuf, formO, ibuf); } subAptr[i][linec] = fillsubAptr(cbuf, alen, eb); @@ -2785,7 +2838,7 @@ void getbrackets(int linec, int alllines, const char *ident, int deep, int filen i = 0; while (i < MAXBACOLS) subAptr[i++][linec] = mydefault; i = 0; while (i < BAALLRCOLS) subRptr[i++][linec] = mydefault; leval[linec] = ACCEPTLINE; - + inerr[linec] = NOINERR; /* new in 2.5 */ p = lineptr[linec]; p = setptrtofirstbracket(p); @@ -2898,44 +2951,91 @@ void getbrackets(int linec, int alllines, const char *ident, int deep, int filen } - /* without equivalent in MathMode: \\b \\c \\k \\d \\H \\t */ - /* 2.3: control-chars are doublettes (CTL+G or [Esc] added) */ + /* Accents \b \c \k \d \H \t have no equivalent in MathMode. */ + /* 2.3: control-characters are now doublettes (CTL+G or [Esc] added). */ + /* 2.5: \t added behind \\. \\\' \\` \\^ \\= \\~ ( \.X = \. X ). + I sort \a. \a' \a` \a^ \a"X \a= \a~ and + \a{r} \a{b} \a{c} \a{k} \a{d} \a{H} \a{t} \a{u} \a{v} + as X ... ; + other \protect\a X will EXECUTE/PRINT \X , BUT will be + SORTED as X (e.g. \protect\a{textdollar} as textdollar). + */ const char *weighttable[][2] = { - { "\\.", "" }, /* CTL+A + Ctl+G */ /* MARK_POINT */ + { "\\.\t", "" }, /* CTL+A + Ctl+G */ /* MARK_POINT */ + { "\\@tabacckludge\t.\t", "" }, /* new in 2.5 */ + { "\\a\t.\t", "" }, /* new in 2.5 */ { "\\dot\t", "" }, - { "\\\'", "" }, /* CTL+B */ - { "\\@tabacckludge\t\'", "" }, /* new in 2.3 */ - { "\\a\t\'", "" }, /* new in 2.3 */ + { "\\capitaldotaccent\t", "" }, /* new in 2.5 = \. */ + { "\\\'\t", "" }, /* CTL+B */ + { "\\@tabacckludge\t\'\t", "" }, /* new in 2.3, changed in 2.5 */ + { "\\a\t\'\t", "" }, /* new in 2.3, changed in 2.5 */ { "\\acute\t", "" }, - { "\\`", "" }, /* CTL+C */ - { "\\@tabacckludge\t`", "" }, /* new in 2.3 */ - { "\\a\t`", "" }, /* new in 2.3 */ + { "\\capitalacute\t", "" }, /* new in 2.5 = \@tabacckludge' */ + { "\\`\t", "" }, /* CTL+C */ + { "\\@tabacckludge\t`\t", "" }, /* new in 2.3, changed in 2.5 */ + { "\\a\t`\t", "" }, /* new in 2.3, changed in 2.5 */ { "\\grave\t", "" }, - { "\\^", "" }, /* CTL+D */ + { "\\capitalgrave\t", "" }, /* new in 2.5 = \@tabacckludge` */ + { "\\^\t", "" }, /* CTL+D */ + { "\\@tabacckludge\t^\t", "" }, /* new in 2.5 */ + { "\\a\t^\t", "" }, /* new in 2.5 */ { "\\hat\t", "" }, - { "\\ddot\t", "" }, /* CTL+E math-diaresis != umlaut */ - { "\\=", "" }, /* CTL+F */ - { "\\@tabacckludge\t=", "" }, /* new in 2.3 */ - { "\\a\t=", "" }, /* new in 2.3 */ + { "\\capitalcircumflex\t", "" }, /* new in 2.5 = \^ */ + { "\\ddot\t", "" }, /* CTL+E math-dieresis != umlaut */ + { "\\=\t", "" }, /* CTL+F */ + { "\\@tabacckludge\t=\t", "" }, /* new in 2.3, changed in 2.5 */ + { "\\a\t=\t", "" }, /* new in 2.3, chamged in 2.5 */ { "\\bar\t", "" }, + { "\\capitalmacron\t", "" }, /* new in 2.5 = \@tabacckludge= */ { "\\vec\t", "" }, /* CTL+F + [ESC] changed in 2.3 */ - { "\\~", "" }, /* CTL+K */ /* MARK_TILDE */ + { "\\~\t", "" }, /* CTL+K */ /* MARK_TILDE */ + { "\\@tabacckludge\t~\t", "" }, /* new in 2.5 */ + { "\\a\t~\t", "" }, /* new in 2.5 */ { "\\tilde\t", "" }, + { "\\capitaltilde\t", "" }, /* new in 2.5 = \~ */ { "\\aa\t", "a" }, /* CTL+L */ /* \\r a \\r A */ { "\\AA\t", "A" }, { "\\r\t", "" }, /* \\AA \\aa */ + { "\\@tabacckludge\tr\t", "" }, /* new in 2.5 */ + { "\\a\tr\t", "" }, /* new in 2.5 */ { "\\mathring\t", "" }, + { "\\capitalring\t", "" }, /* new in 2.5 = \r */ { "\\b\t", "" }, /* CTL+N */ + { "\\@tabacckludge\tb\t", "" }, /* new in 2.5 */ + { "\\a\tb\t", "" }, /* new in 2.5 */ { "\\c\t", "" }, /* CTL+O + CTL+G */ + { "\\@tabacckludge\tc\t", "" }, /* new in 2.5 */ + { "\\a\tc\t", "" }, /* new in 2.5 */ + { "\\capitalcedilla\t", "" }, /* new in 2.5 = \c */ { "\\textcommabelow\t", "" }, /* CTL+O + [ESC] new in 2.3 */ - { "\\k\t", "" }, /* CTL+P */ /* rechte Tilde */ + { "\\textogonekcentered\t","" }, /* new in 2.5 = \k */ + { "\\capitalogonek\t", "" }, /* new in 2.5 = \k */ + { "\\k\t", "" }, /* CTL+P */ /* rechte Tilde */ + { "\\@tabacckludge\tk\t", "" }, /* new in 2.5 */ + { "\\a\tk\t", "" }, /* new in 2.5 */ { "\\d\t", "" }, /* CTL+Q */ + { "\\@tabacckludge\td\t", "" }, /* new in 2.5 */ + { "\\a\td\t", "" }, /* new in 2.5 */ { "\\H\t", "" }, /* CTL+R */ - { "\\t\t", "" }, /* CTL+S */ + { "\\@tabacckludge\tH\t", "" }, /* new in 2.5 */ + { "\\a\tH\t", "" }, /* new in 2.5 */ + { "\\capitalhungarumlaut\t","" }, /* new in 2.5 = \H */ + { "\\newtie\t", "" }, /* new in 2.5 = \t */ + { "\\capitalnewtie\t", "" }, /* new in 2.5 = \t */ + { "\\t\t", "" }, /* CTL+S */ + { "\\@tabacckludge\tt\t", "" }, /* new in 2.5 */ + { "\\a\tt\t", "" }, /* new in 2.5 */ + { "\\capitaltie\t", "" }, /* new in 2.5 = \t */ { "\\u\t", "" }, /* CTL+T */ + { "\\@tabacckludge\tu\t", "" }, /* new in 2.5 */ + { "\\a\tu\t", "" }, /* new in 2.5 */ { "\\breve\t", "" }, + { "\\capitalbreve\t", "" }, /* new in 2.5 = \u */ { "\\v\t", "" }, /* changed in 2.3 */ + { "\\@tabacckludge\tv\t", "" }, /* new in 2.5 */ + { "\\a\tv\t", "" }, /* new in 2.5 */ { "\\check\t", "" }, /* changed in 2.3 */ + { "\\capitalcaron\t", "" }, /* new in 2.5 = \v */ { "\\textblank\t", "b" }, /* CTL+U \ new in 2.3; */ { "\\textbaht\t", "B" }, /* | new in 2.3 */ { "\\textcent\t", "c" }, /* S | changed in 2.3 */ @@ -2968,42 +3068,45 @@ const char *weighttable[][2] = { { "\\teskip\t", " " }, /* new in 2.3 */ { "\\pteskip\t", " " }, /* 1\te 000 NEW in 2.2 */ { "\\te\t", ". " }, /* != 1000 NEW in 2.2 */ - { "\\textcelsius\t", "C" }, /* changed in 2.3 */ { "\\textflorin\t", "f" }, /* changed in 2.3 */ { "\\i\t", "i" }, { "\\imath\t", "i" }, { "\\j\t", "j" }, { "\\jmath\t", "j" }, - { "\\ae\t", "ae" }, /* \ changed in 2.3 */ - { "\\AE\t", "Ae" }, /* | <=> \\Oe changed in 2.3 */ - { "\\BibArts\t", "BibArts" }, /* | changed in 2.3 */ - { "\\pBibArts\t", "BibArts" }, /* | changed in 2.3 */ - { "\\copyright\t", "C" }, /* | changed in 2.3 */ - { "\\textcopyright\t", "C" }, /* | changed in 2.3 */ - { "\\pcopyright\t", "C" }, /* CTL_X changed in 2.3 */ - { "\\textdong\t", "d" }, /* | new in 2.3 (not really \\b{\\dj}) */ - { "\\textestimated\t", "e" }, /* | new in 2.3 */ - { "\\ell\t", "l" }, /* | N changed in 2.3 */ - { "\\ij\t", "i" }, /* | E changed in 2.3 */ - { "\\IJ\t", "I" }, /* | A changed in 2.3 */ - { "\\Im\t", "I" }, /* | R <=> \\Re */ - { "\\LaTeX\t", "LaTeX" }, /* | changed in 2.3 */ - { "\\textnumero\t", "N" }, /* | L new in 2.3 */ - { "\\oe\t", "oe" }, /* | A changed in 2.3 */ - { "\\OE\t", "Oe" }, /* | T changed in 2.3 */ - { "\\textcircledP\t", "P" }, /* | I new in 2.3 */ - { "\\textregistered\t", "R" }, /* | N changed in 2.3 */ - { "\\Re\t", "R" }, /* | <=> \\Im */ - { "\\TeX\t", "TeX" }, /* / changed in 2.3 */ - { "\\texteuro\t", "E" }, /* \ */ - { "\\textlira\t", "L" }, /* | new in 2.3 */ - { "\\ng\t", "n" }, /* | changed in 2.3 */ - { "\\NG\t", "N" }, /* CTL_Y changed in 2.3 */ - { "\\textsterling\t", "P" }, /* | changed in 2.3 */ - { "\\ppounds\t", "P" }, /* | F changed in 2.3 */ - { "\\pounds\t", "P" }, /* | A changed in 2.3 */ - { "\\th\t", "th" }, /* | R */ - { "\\TH\t", "Th" }, /* / */ + { "\\ae\t", "ae" }, /* \ changed in 2.3 */ + { "\\AE\t", "Ae" }, /* | <=> \\Oe changed in 2.3 */ + { "\\BibArts\t", "BibArts" }, /* | changed in 2.3 */ + { "\\pBibArts\t", "BibArts" }, /* | changed in 2.3 */ + { "\\textdong\t", "d" }, /* CTL_X new in 2.3 (not really \\b{\\dj}) */ + { "\\textestimated\t", "e" }, /* | new in 2.3 */ + { "\\ell\t", "l" }, /* | changed in 2.3 */ + { "\\ij\t", "i" }, /* | changed in 2.3 */ + { "\\IJ\t", "I" }, /* | changed in 2.3 */ + { "\\Im\t", "I" }, /* | <=> \\Re */ + { "\\LaTeX\t", "LaTeX" }, /* | changed in 2.3 */ + { "\\textnumero\t", "N" }, /* | new in 2.3 */ + { "\\oe\t", "oe" }, /* | changed in 2.3 */ + { "\\OE\t", "Oe" }, /* | changed in 2.3 */ + { "\\TeX\t", "TeX" }, /* / changed in 2.3 */ + { "\\textdollaroldstyle\t","D" }, /* \ new in 2.5 */ + { "\\texteuro\t", "E" }, /* | */ + { "\\textlira\t", "L" }, /* | new in 2.3 */ + { "\\ng\t", "n" }, /* | changed in 2.3 */ + { "\\NG\t", "N" }, /* CTL_Y changed in 2.3 */ + { "\\textsterling\t", "P" }, /* | changed in 2.3 */ + { "\\ppounds\t", "P" }, /* | changed in 2.3 */ + { "\\pounds\t", "P" }, /* | changed in 2.3 */ + { "\\mathsterling\t", "P" }, /* | new in 2.5 */ + { "\\th\t", "th" }, /* | */ + { "\\Re\t", "R" }, /* | <=> \\Im */ + { "\\TH\t", "Th" }, /* / */ + { "\\copyright\t", "C" }, /* \ */ + { "\\textcopyright\t", "C" }, /* | siehe */ + { "\\pcopyright\t", "C" }, /* | \\ss */ + { "\\textcircledP\t", "P" }, /* | = ss */ + { "\\textregistered\t", "R" }, /* / */ + { "\\textcelsius\t", "C" }, /* \ changed in 2.5 */ + { "\\textdegree\t", "" }, /* / DEG{X} new in 2.5 */ { "\\alpha\t", "a" }, /* 28 */ { "\\Alpha\t", "A" }, /* bibarts.sty; new in 2.1 */ { "\\beta\t", "b" }, @@ -3083,16 +3186,16 @@ const char *weighttable[][2] = { { "\\textnineoldstyle\t", "9" }, /* new in 2.3 */ { "\\textzerooldstyle\t", "0" }, /* new in 2.3 */ { NULL, NULL }}; -#define NLATEX 181 +#define NLATEX 224 const char *udtable[][2] = { - { "\\\"a", "a" }, /* \ \"a */ - { "\\\"o", "o" }, /* | \"o */ - { "\\\"u", "u" }, /* CTL+E \"u */ - { "\\\"A", "A" }, /* | \"A */ - { "\\\"O", "O" }, /* | \"O */ - { "\\\"U", "U" }, /* | \"U */ + { "\\\"\ta", "a" }, /* \ \"a */ /* changend in 2.5*/ + { "\\\"\to", "o" }, /* | \"o */ /* changend in 2.5*/ + { "\\\"\tu", "u" }, /* CTL+E \"u */ /* changend in 2.5*/ + { "\\\"\tA", "A" }, /* | \"A */ /* changend in 2.5*/ + { "\\\"\tO", "O" }, /* | \"O */ /* changend in 2.5*/ + { "\\\"\tU", "U" }, /* | \"U */ /* changend in 2.5*/ { "\\ss\t", "s" }, /* \ss */ { "\\SS\t", "SS" }, /* \SS */ { "\\sz\t", "s" }, /* \sz */ /* new in 2.1 */ @@ -3121,7 +3224,7 @@ const char *udtable[][2] = { { "\\OLDHYF\t", "F" }, /* [F-] */ /* / */ { "\\hy\t", "-" }, /* MINUS \hy */ /* new in 2.2 */ { "\\fhy\t", "-" }, /* MINUS \fhy*/ /* new in 2.2 */ - { "\\\"", "" }, /* / \" */ + { "\\\"\t", "" }, /* / \" */ /* changend in 2.5*/ { "\\3", "s" }, /* \3 */ { "\\ck\t", "ck" }, /* [c-k] */ /* new in 2.2 */ { "\\CK\t", "CK" }, /* [C-K] */ /* new in 2.2 */ @@ -3131,46 +3234,68 @@ const char *udtable[][2] = { { "\\NEWHYSS\t", "SS" }, /* [-SS] */ /* | 2.2 */ { "\\hyss\t", "s" }, /* [s-s/-ss] */ /* | */ { "\\HYSS\t", "SS" }, /* [S-S/-SS] */ /* / */ + { "\\capitaldieresis\ta", "a" }, /* new in 2.5 = \"a */ + { "\\@tabacckludge\t\"\ta","a" }, /* new in 2.5 = \"a */ + { "\\a\t\"\ta", "a" }, /* new in 2.5 = \"a */ + { "\\capitaldieresis\to", "o" }, /* new in 2.5 = \"o */ + { "\\@tabacckludge\t\"\to","o" }, /* new in 2.5 = \"o */ + { "\\a\t\"\to", "o" }, /* new in 2.5 = \"o */ + { "\\capitaldieresis\tu", "u" }, /* new in 2.5 = \"u */ + { "\\@tabacckludge\t\"\tu","u" }, /* new in 2.5 = \"u */ + { "\\a\t\"\tu", "u" }, /* new in 2.5 = \"u */ + { "\\capitaldieresis\tA", "A" }, /* new in 2.5 = \"A */ + { "\\@tabacckludge\t\"\tA","A" }, /* new in 2.5 = \"A */ + { "\\a\t\"\tA", "A" }, /* new in 2.5 = \"A */ + { "\\capitaldieresis\tO", "O" }, /* new in 2.5 = \"O */ + { "\\@tabacckludge\t\"\tO","O" }, /* new in 2.5 = \"O */ + { "\\a\t\"\tO", "O" }, /* new in 2.5 = \"O */ + { "\\capitaldieresis\tU", "U" }, /* new in 2.5 = \"U */ + { "\\@tabacckludge\t\"\tU","U" }, /* new in 2.5 = \"U */ + { "\\a\t\"\tU", "U" }, /* new in 2.5 = \"U */ + { "\\capitaldieresis\t", "" }, /* new in 2.5 = \" */ + { "\\@tabacckludge\t\"\t", "" }, /* new in 2.5 = \" */ + { "\\a\t\"\t", "" }, /* new in 2.5 = \" */ { NULL, NULL }}; -#define NUMTEX 44 +#define NUMTEX 65 + /* \" changed to \"\t in 2.5 */ const char *gstylist[][2] = { - { "\"a", NULL }, /* \ "a */ - { "\"o", NULL }, /* | "o */ - { "\"u", NULL }, /* CTL+E "u */ - { "\"A", NULL }, /* | "A */ - { "\"O", NULL }, /* | "O */ - { "\"U", NULL }, /* | "U */ - { "\"s", NULL }, /* "s */ - { "\"S", NULL }, /* "S */ - { "\"z", NULL }, /* "z */ /* new in 2.1 */ - { "\"Z", NULL }, /* "Z */ /* new in 2.1 */ - { "\"<", NULL }, /* "` */ /* new in 2.2 */ - { "\">", NULL }, /* "' */ /* new in 2.2 */ - { "\"`", NULL }, /* "` */ /* new in 2.2 */ - { "\"\'", NULL }, /* "' */ /* new in 2.2 */ - { "\"|", NULL }, /* "| */ /* new in 2.2 */ - { "\"-", NULL }, /* "- */ /* new in 2.2 */ - { "\"c", NULL }, /* [c-] */ /* \ */ - { "\"C", NULL }, /* [C-] */ /* | */ - { "\"l", NULL }, /* [l-] */ /* | */ - { "\"L", NULL }, /* [L-] */ /* | */ - { "\"m", NULL }, /* [m-] */ /* | */ - { "\"M", NULL }, /* [M-] */ /* | */ - { "\"n", NULL }, /* [n-] */ /* | new */ - { "\"N", NULL }, /* [N-] */ /* | in */ - { "\"p", NULL }, /* [p-] */ /* | 2.2 */ - { "\"P", NULL }, /* [P-] */ /* | */ - { "\"r", NULL }, /* [r-] */ /* | */ - { "\"R", NULL }, /* [R-] */ /* | */ - { "\"t", NULL }, /* [t-] */ /* | */ - { "\"T", NULL }, /* [T-] */ /* | */ - { "\"f", NULL }, /* [f-] */ /* | */ - { "\"F", NULL }, /* [F-] */ /* | */ - { "\"=", NULL }, /* MINUS "= */ /* new in 2.2 */ - { "\"~", NULL }, /* MINUS "~ */ /* new in 2.2 */ - { "\"", NULL }, /* / " */ + { "\"\ta", NULL }, /* \ "a */ + { "\"\to", NULL }, /* | "o */ + { "\"\tu", NULL }, /* CTL+E "u */ + { "\"\tA", NULL }, /* | "A */ + { "\"\tO", NULL }, /* | "O */ + { "\"\tU", NULL }, /* | "U */ + { "\"\ts", NULL }, /* "s */ + { "\"\tS", NULL }, /* "S */ + { "\"\tz", NULL }, /* "z */ /* new in 2.1 */ + { "\"\tZ", NULL }, /* "Z */ /* new in 2.1 */ + { "\"\t<", NULL }, /* "` */ /* new in 2.2 */ + { "\"\t>", NULL }, /* "' */ /* new in 2.2 */ + { "\"\t`", NULL }, /* "` */ /* new in 2.2 */ + { "\"\t\'", NULL }, /* "' */ /* new in 2.2 */ + { "\"\t|", NULL }, /* "| */ /* new in 2.2 */ + { "\"\t-", NULL }, /* "- */ /* new in 2.2 */ + { "\"\tc", NULL }, /* [c-] */ /* \ */ + { "\"\tC", NULL }, /* [C-] */ /* | */ + { "\"\tl", NULL }, /* [l-] */ /* | */ + { "\"\tL", NULL }, /* [L-] */ /* | */ + { "\"\tm", NULL }, /* [m-] */ /* | */ + { "\"\tM", NULL }, /* [M-] */ /* | */ + { "\"\tn", NULL }, /* [n-] */ /* | new */ + { "\"\tN", NULL }, /* [N-] */ /* | in */ + { "\"\tp", NULL }, /* [p-] */ /* | 2.2 */ + { "\"\tP", NULL }, /* [P-] */ /* | */ + { "\"\tr", NULL }, /* [r-] */ /* | */ + { "\"\tR", NULL }, /* [R-] */ /* | */ + { "\"\tt", NULL }, /* [t-] */ /* | */ + { "\"\tT", NULL }, /* [T-] */ /* | */ + { "\"\tf", NULL }, /* [f-] */ /* | */ + { "\"\tF", NULL }, /* [F-] */ /* | */ + { "\"\t=", NULL }, /* MINUS "= */ /* new in 2.2 */ + { "\"\t~", NULL }, /* MINUS "~ */ /* new in 2.2 */ + { "\"\t", NULL }, /* / " */ { NULL, NULL }}; #define NUMGER 35 @@ -3220,6 +3345,27 @@ const char *gweight[][2] = { { NULL, "SS" }, /* [-SS] */ /* | 2.2 */ { NULL, "ss" }, /* [s-s/-ss] */ /* | */ { NULL, "SS" }, /* [S-S/-SS] */ /* / */ + { NULL, "ae" }, /* new in 2.5 = \capitaldieresis a */ + { NULL, "ae" }, /* new in 2.5 = \@tabacckludge " a */ + { NULL, "ae" }, /* new in 2.5 = \a " a */ + { NULL, "oe" }, /* new in 2.5 = \capitaldieresis o */ + { NULL, "oe" }, /* new in 2.5 = \@tabacckludge " o */ + { NULL, "oe" }, /* new in 2.5 = \a " o */ + { NULL, "ue" }, /* new in 2.5 = \capitaldieresis u */ + { NULL, "ue" }, /* new in 2.5 = \@tabacckludge " u */ + { NULL, "ue" }, /* new in 2.5 = \a " u */ + { NULL, "Ae" }, /* new in 2.5 = \capitaldieresis A */ + { NULL, "Ae" }, /* new in 2.5 = \@tabacckludge " A */ + { NULL, "Ae" }, /* new in 2.5 = \a " A */ + { NULL, "Oe" }, /* new in 2.5 = \capitaldieresis O */ + { NULL, "Oe" }, /* new in 2.5 = \@tabacckludge " O */ + { NULL, "Oe" }, /* new in 2.5 = \a " O */ + { NULL, "Ue" }, /* new in 2.5 = \capitaldieresis U */ + { NULL, "Ue" }, /* new in 2.5 = \@tabacckludge " U */ + { NULL, "Ue" }, /* new in 2.5 = \a " U */ + { NULL, "" }, /* new in 2.5 = \capitaldieresis */ + { NULL, "" }, /* new in 2.5 = \@tabacckludge " */ + { NULL, "" }, /* new in 2.5 = \a " */ { NULL, NULL }}; @@ -3268,37 +3414,100 @@ const char *mweight[][2] = { { NULL, "SS" }, /* [-SS] */ /* | 2.2 */ { NULL, "ss" }, /* [s-s/-ss] */ /* | */ { NULL, "SS" }, /* [S-S/-SS] */ /* / */ + { NULL, "a" }, /* new in 2.5 = \capitaldieresis a */ + { NULL, "a" }, /* new in 2.5 = \@tabacckludge " a */ + { NULL, "a" }, /* new in 2.5 = \a " a */ + { NULL, "o" }, /* new in 2.5 = \capitaldieresis o */ + { NULL, "o" }, /* new in 2.5 = \@tabacckludge " o */ + { NULL, "o" }, /* new in 2.5 = \a " o */ + { NULL, "u" }, /* new in 2.5 = \capitaldieresis u */ + { NULL, "u" }, /* new in 2.5 = \@tabacckludge " u */ + { NULL, "u" }, /* new in 2.5 = \a " u */ + { NULL, "A" }, /* new in 2.5 = \capitaldieresis A */ + { NULL, "A" }, /* new in 2.5 = \@tabacckludge " A */ + { NULL, "A" }, /* new in 2.5 = \a " A */ + { NULL, "O" }, /* new in 2.5 = \capitaldieresis O */ + { NULL, "O" }, /* new in 2.5 = \@tabacckludge " O */ + { NULL, "O" }, /* new in 2.5 = \a " O */ + { NULL, "U" }, /* new in 2.5 = \capitaldieresis U */ + { NULL, "U" }, /* new in 2.5 = \@tabacckludge " U */ + { NULL, "U" }, /* new in 2.5 = \a " U */ + { NULL, "" }, /* new in 2.5 = \capitaldieresis */ + { NULL, "" }, /* new in 2.5 = \@tabacckludge " */ + { NULL, "" }, /* new in 2.5 = \a " */ { NULL, NULL }}; +int lenofMATCHaftertab(const char *t, const char *line) +{ + int r = 0; + + if (*t == '\t') + { + if (*(t+1) != '\0') + { + if (*(t+2) == '\0' || *(t+2) == '\t') + { + if (*(t+1) == *line) r = 1; + else + if (*line == '{' && *(t+1) == *(line+1) && *(line+2) == '}') r = 3; + } + else intern_err(34); + } + } + + if (r > 0 && *(t+2) == '\t') + { + while (*(line+r) == ' ') ++r; + + if(*(t+3) != '\0') + { + if (*(t+4) == '\0') + { + if (*(t+3) == *(line+r)) r += 1; + else + if (*(line+r) == '{' && *(t+3) == *(line+r+1) && *(line+r+2) == '}') r += 3; + else + r = 0; + } + else intern_err(37); + } + } + + return r; +} + int texlistnum(const char *p, int n, const char *list[][2]) { const char *entry, *line; - int i = 0; + int i = 0, len, atlen; while (i < n) { entry = list[i][0]; - line = p; + line = p; len = 0; + + while (*line == *entry && *entry != '\0' && *entry != '\t') { - ++line; ++entry; + ++line; ++entry; ++len; } + - if (*entry == '\0' || (*entry == '\t' && *(entry+1) == '\0' && isLaTeXcmdletter(*line) == 0)) - { + if ( *entry == '\0' + || (*entry == '\t' && *(entry+1) == '\0' && ((len == 2 && *p == '\\' && isLaTeXcmdletter(*(p+1)) == 0) || isLaTeXcmdletter(*line) == 0)) + ) break; - } - else /* new in 2.3 */ - if (*entry == '\t' && *(entry+1) != '\0') + + + if (*entry == '\t' && ((len == 1 && *p == '\"') || (len == 2 && *p == '\\' && isLaTeXcmdletter(*(p+1)) == 0) || isLaTeXcmdletter(*line) == 0)) { - if (*(entry+2) == '\0') - { - while (*line == ' ') ++line; - if (*(entry+1) == *line) break; - } - else intern_err(34); + while (*line == ' ') ++line; /* now, isLaTeXcmdletter(*line) != 0 */ + + /* new in 2.3, changed in 2.5 */ + if ((atlen=lenofMATCHaftertab(entry, line)) > 0) /* atlen=1,3 !! */ + break; } ++i; @@ -3321,7 +3530,7 @@ int llstrlen(const char *s) { int len = 0; - while (*s != '\0' && *s != '\t') { ++s; ++len; } + while (*s != '\0' && *s != '\t') { ++s; ++len; } return len; } @@ -3329,7 +3538,23 @@ int llstrlen(const char *s) char *overspacesafterlettercmd(int len, const char *q, char *p) { - if (len > 0 && isLaTeXcmdletter(*(q+1)) != 0) while (*p == ' ') ++p; + int atlen; + + /* if (isLaTeXcmdletter(*(q+1)) != 0) deleted in 2.5 !! */ + + if (len > 0) + { + if (*(q+len) == '\t' && ((len == 1 && *q == '\"') || (len == 2 && *q == '\\' && isLaTeXcmdletter(*(q+1)) == 0) || isLaTeXcmdletter(*p) == 0)) + { + while (*p == ' ') ++p; /* now, isLaTeXcmdletter(*p) != 0 */ + + /* new in 2.5 because of \capitaldieresis{x} */ + if((atlen=lenofMATCHaftertab(q+len, p)) > 0) + { + p += atlen; + } + } + } return p; } @@ -3431,9 +3656,10 @@ char *austauschen(char in[], char *p, int dqcat) { if (*(p+1) == '\"') p += 2; /* "" ist nicht in gstylist */ else /* "~ muss in gstylist sein */ - if ((i=texlistnum(p, NUMGER, gstylist)) > -1) - { p += llstrlen( gstylist[i][0]); - pos = insertweight(in, i, pos, MAXLEN-1); + if ( (i=texlistnum(p, NUMGER, gstylist)) > -1) + { p += (len=llstrlen( gstylist[i][0])); + pos = insertweight(in, i, pos, MAXLEN-1); + p = overspacesafterlettercmd(len, gstylist[i][0], p); /* new in 2.5 */ } else { @@ -3686,7 +3912,7 @@ static char *ohninetyfour[] = { "{\\textasciidieresis}",/* 194 168 \\\"{} */ "{\\textcopyright}", /* 194 169 */ "{\\textordfeminine}", /* 194 170 */ - "{\\guillemotleft}", /* 194 171 {\\flqq} */ + "{\\guillemetleft}", /* 194 171 {\\flqq}; before 2.5 / v1.3c: {\\guillemotleft} */ "{\\textlnot}", /* 194 172 NOT SIGN */ "{\\-}", /* 194 173 */ "{\\textregistered}", /* 194 174 */ @@ -3702,7 +3928,7 @@ static char *ohninetyfour[] = { "{\\textasciicedilla}", /* 194 184 {\\c\\ } (\text... yet undefined) */ "{\\textonesuperior}", /* 194 185 ^{1} */ "{\\textordmasculine}", /* 194 186 */ - "{\\guillemotright}", /* 194 187 {\\frqq} */ + "{\\guillemetright}", /* 194 187 {\\frqq}; before 2.5 / v1.3c: {\\guillemotright} */ "{\\textonequarter}", /* 194 188 \\frac{1}{4} */ "{\\textonehalf}", /* 194 189 \\frac{1}{2} */ "{\\textthreequarters}",/* 194 190 \\frac{3}{4} */ @@ -3835,8 +4061,8 @@ static char *ohninetysix[] = { "\\c{g}", /* 196 163 */ "\\^H", /* 196 164 */ "\\^h", /* 196 165 */ - "", /* 196 166 H-quer (not v1.2l) */ - "", /* 196 167 {\\hbar} [?] (not v1.2l) */ + "", /* 196 166 H-quer (not v1.3c) */ + "", /* 196 167 {\\hbar} [?] (not v1.3c) */ "\\~I", /* 196 168 */ "\\~{\\i}", /* 196 169 */ "\\=I", /* 196 170 */ @@ -3853,14 +4079,14 @@ static char *ohninetysix[] = { "\\^{\\j}", /* 196 181 */ "\\c{K}", /* 196 182 */ "\\c{k}", /* 196 183 */ - "", /* 196 184 kra (not v1.2l) */ + "", /* 196 184 kra (not v1.3c) */ "\\\'L", /* 196 185 */ "\\\'l", /* 196 186 */ "\\c{L}", /* 196 187 */ "\\c{l}", /* 196 188 */ "\\v{L}", /* 196 189 */ "\\v{l}", /* 196 190 */ - "", /* 196 191 L* (not v1.2l) */ + "", /* 196 191 L* (not v1.3c) */ NULL }; #define OHNINETYSIX 196 @@ -3874,7 +4100,7 @@ char *get_ohninetysix(unsigned char c) static char *ohninetyseven[] = { - "", /* 197 128 l* (not v1.2l) */ + "", /* 197 128 l* (not v1.3c) */ "{\\L}", /* 197 129 */ "{\\l}", /* 197 130 */ "\\\'N", /* 197 131 */ @@ -3883,7 +4109,7 @@ static char *ohninetyseven[] = { "\\c{n}", /* 197 134 */ "\\v{N}", /* 197 135 */ "\\v{n}", /* 197 136 */ - "", /* 197 137 'n (not v1.2l) */ + "", /* 197 137 'n (not v1.3c) */ "{\\NG}", /* 197 138 */ "{\\ng}", /* 197 139 */ "\\=O", /* 197 140 */ @@ -3912,8 +4138,8 @@ static char *ohninetyseven[] = { "\\c{t}", /* 197 163 */ "\\v{T}", /* 197 164 */ "\\v{t}", /* 197 165 */ - "", /* 197 166 T-quer (not v1.2l) */ - "", /* 197 167 t-quer (not v1.2l) */ + "", /* 197 166 T-quer (not v1.3c) */ + "", /* 197 167 t-quer (not v1.3c) */ "\\~U", /* 197 168 */ "\\~u", /* 197 169 */ "\\=U", /* 197 170 */ @@ -3937,7 +4163,7 @@ static char *ohninetyseven[] = { "\\.z", /* 197 188 */ "\\v{Z}", /* 197 189 */ "\\v{z}", /* 197 190 */ - "", /* 197 191 Lang-s (not v1.2l) */ + "", /* 197 191 Lang-s (not v1.3c) */ NULL }; #define OHNINETYSEVEN 197 @@ -3951,19 +4177,19 @@ char *get_ohninetyseven(unsigned char c) static char *ohninetynine[] = { - "", /* 199 128 dental click (not v1.2l) */ - "", /* 199 129 lateral click (not v1.2l) */ - "", /* 199 130 alveolar click (not v1.2l) */ - "", /* 199 131 retroflex click (not v1.2l) */ - "", /* 199 132 D\\v{Z} (not v1.2l) */ - "", /* 199 133 D\\v{z} (not v1.2l) */ - "", /* 199 134 d\\v{z} (not v1.2l) */ - "", /* 199 135 LJ (not v1.2l) */ - "", /* 199 136 Lj (not v1.2l) */ - "", /* 199 137 lj (not v1.2l) */ - "", /* 199 138 NJ (not v1.2l) */ - "", /* 199 139 Nj (not v1.2l) */ - "", /* 199 140 nj (not v1.2l) */ + "", /* 199 128 dental click (not v1.3c) */ + "", /* 199 129 lateral click (not v1.3c) */ + "", /* 199 130 alveolar click (not v1.3c) */ + "", /* 199 131 retroflex click (not v1.3c) */ + "D\\v{Z}", /* 199 132 new in 2.5 / v1.3c */ + "D\\v{z}", /* 199 133 new in 2.5 / v1.3c */ + "d\\v{z}", /* 199 134 new in 2.5 / v1.3c */ + "LJ", /* 199 135 new in 2.5 / v1.3c */ + "Lj", /* 199 136 new in 2.5 / v1.3c */ + "lj", /* 199 137 new in 2.5 / v1.3c */ + "NJ", /* 199 138 new in 2.5 / v1.3c */ + "Nj", /* 199 139 new in 2.5 / v1.3c */ + "nj", /* 199 140 new in 2.5 / v1.3c */ "\\v{A}", /* 199 141 */ "\\v{a}", /* 199 142 */ "\\v{I}", /* 199 143 */ @@ -3972,49 +4198,49 @@ static char *ohninetynine[] = { "\\v{o}", /* 199 146 */ "\\v{U}", /* 199 147 */ "\\v{u}", /* 199 148 */ - "", /* 199 149 \\={\\\"U} (not v1.2l) */ - "", /* 199 150 \\={\\\"u} (not v1.2l) */ - "", /* 199 151 \\\'{\\\"U} (not v1.2l) */ - "", /* 199 152 \\\'{\\\"u} (not v1.2l) */ - "", /* 199 153 \\v{\\\"U} (not v1.2l) */ - "", /* 199 154 \\v{\\\"u} (not v1.2l) */ - "", /* 199 155 \\`{\\\"U} (not v1.2l) */ - "", /* 199 156 \\`{\\\"u} (not v1.2l) */ - "", /* 199 157 turned e (not v1.2l) */ - "", /* 199 158 \\={\\\"A} (not v1.2l) */ - "", /* 199 159 \\={\\\"a} (not v1.2l) */ - "", /* 199 160 \\={\\.A} (not v1.2l) */ - "", /* 199 161 \\={\\.a} (not v1.2l) */ + "", /* 199 149 \\={\\\"U} (not v1.3c) */ + "", /* 199 150 \\={\\\"u} (not v1.3c) */ + "", /* 199 151 \\\'{\\\"U} (not v1.3c) */ + "", /* 199 152 \\\'{\\\"u} (not v1.3c) */ + "", /* 199 153 \\v{\\\"U} (not v1.3c) */ + "", /* 199 154 \\v{\\\"u} (not v1.3c) */ + "", /* 199 155 \\`{\\\"U} (not v1.3c) */ + "", /* 199 156 \\`{\\\"u} (not v1.3c) */ + "", /* 199 157 turned e (not v1.3c) */ + "", /* 199 158 \\={\\\"A} (not v1.3c) */ + "", /* 199 159 \\={\\\"a} (not v1.3c) */ + "", /* 199 160 \\={\\.A} (not v1.3c) */ + "", /* 199 161 \\={\\.a} (not v1.3c) */ "\\={\\AE}", /* 199 162 */ "\\={\\ae}", /* 199 163 */ - "", /* 199 164 G-quer (not v1.2l) */ - "", /* 199 165 g-quer (not v1.2l) */ + "", /* 199 164 G-quer (not v1.3c) */ + "", /* 199 165 g-quer (not v1.3c) */ "\\v{G}", /* 199 166 */ "\\v{g}", /* 199 167 */ "\\v{K}", /* 199 168 */ "\\v{k}", /* 199 169 */ "\\k{O}", /* 199 170 */ "\\k{o}", /* 199 171 */ - "", /* 199 172 \\k{\\=O} (not v1.2l) */ - "", /* 199 173 \\k{\\=o} (not v1.2l) */ - "", /* 199 174 EZH with \\v (not v1.2l) */ - "", /* 199 175 ezh with \\v (not v1.2l) */ + "", /* 199 172 \\k{\\=O} (not v1.3c) */ + "", /* 199 173 \\k{\\=o} (not v1.3c) */ + "", /* 199 174 EZH with \\v (not v1.3c) */ + "", /* 199 175 ezh with \\v (not v1.3c) */ "\\v{\\j}", /* 199 176 */ - "", /* 199 177 DZ (not v1.2l) */ - "", /* 199 178 Dz (not v1.2l) */ - "", /* 199 179 dz (not v1.2l) */ + "", /* 199 177 DZ (not v1.3c) */ + "", /* 199 178 Dz (not v1.3c) */ + "", /* 199 179 dz (not v1.3c) */ "\\\'G", /* 199 180 */ "\\\'g", /* 199 181 */ - "", /* 199 182 HWAIR (not v1.2l) */ - "", /* 199 183 WYNN (not v1.2l) */ - "", /* 199 184 \\`N (not v1.2l) */ - "", /* 199 185 \\`n (not v1.2l) */ - "", /* 199 186 \\\'{\k{A}} (not v1.2l) */ - "", /* 199 187 \\\'{\k{a}} (not v1.2l) */ - "", /* 199 188 \\\'{\\AE} (not v1.2l) */ - "", /* 199 189 \\\'{\\ae} (not v1.2l) */ - "", /* 199 190 \\\'{\\O} (not v1.2l) */ - "", /* 199 191 \\\'{\\o} (not v1.2l) */ + "", /* 199 182 HWAIR (not v1.3c) */ + "", /* 199 183 WYNN (not v1.3c) */ + "", /* 199 184 \\`N (not v1.3c) */ + "", /* 199 185 \\`n (not v1.3c) */ + "", /* 199 186 \\\'{\k{A}} (not v1.3c) */ + "", /* 199 187 \\\'{\k{a}} (not v1.3c) */ + "", /* 199 188 \\\'{\\AE} (not v1.3c) */ + "", /* 199 189 \\\'{\\ae} (not v1.3c) */ + "", /* 199 190 \\\'{\\O} (not v1.3c) */ + "", /* 199 191 \\\'{\\o} (not v1.3c) */ NULL }; #define OHNINETYNINE 199 @@ -4028,70 +4254,70 @@ char *get_ohninetynine(unsigned char c) static char *thnullnull[] = { - "", /* 200 128 A with double grave (not v1.2l) */ - "", /* 200 129 a with double grave (not v1.2l) */ - "", /* 200 130 A with inverted breve (not v1.2l) */ - "", /* 200 131 a with inverted breve (not v1.2l) */ - "", /* 200 132 E with double grave (not v1.2l) */ - "", /* 200 133 e with double grave (not v1.2l) */ - "", /* 200 134 E with inverted breve (not v1.2l) */ - "", /* 200 135 e with inverted breve (not v1.2l) */ - "", /* 200 136 I with double grave (not v1.2l) */ - "", /* 200 137 i with double grave (not v1.2l) */ - "", /* 200 138 I with inverted breve (not v1.2l) */ - "", /* 200 139 i with inverted breve (not v1.2l) */ - "", /* 200 140 O with double grave (not v1.2l) */ - "", /* 200 141 o with double grave (not v1.2l) */ - "", /* 200 142 O with inverted breve (not v1.2l) */ - "", /* 200 143 o with inverted breve (not v1.2l) */ - "", /* 200 144 R with double grave (not v1.2l) */ - "", /* 200 145 r with double grave (not v1.2l) */ - "", /* 200 146 R with inverted breve (not v1.2l) */ - "", /* 200 147 r with inverted breve (not v1.2l) */ - "", /* 200 148 U with double grave (not v1.2l) */ - "", /* 200 149 u with double grave (not v1.2l) */ - "", /* 200 150 U with inverted breve (not v1.2l) */ - "", /* 200 151 u with inverted breve (not v1.2l) */ + "", /* 200 128 A with double grave (not v1.3c) */ + "", /* 200 129 a with double grave (not v1.3c) */ + "", /* 200 130 A with inverted breve (not v1.3c) */ + "", /* 200 131 a with inverted breve (not v1.3c) */ + "", /* 200 132 E with double grave (not v1.3c) */ + "", /* 200 133 e with double grave (not v1.3c) */ + "", /* 200 134 E with inverted breve (not v1.3c) */ + "", /* 200 135 e with inverted breve (not v1.3c) */ + "", /* 200 136 I with double grave (not v1.3c) */ + "", /* 200 137 i with double grave (not v1.3c) */ + "", /* 200 138 I with inverted breve (not v1.3c) */ + "", /* 200 139 i with inverted breve (not v1.3c) */ + "", /* 200 140 O with double grave (not v1.3c) */ + "", /* 200 141 o with double grave (not v1.3c) */ + "", /* 200 142 O with inverted breve (not v1.3c) */ + "", /* 200 143 o with inverted breve (not v1.3c) */ + "", /* 200 144 R with double grave (not v1.3c) */ + "", /* 200 145 r with double grave (not v1.3c) */ + "", /* 200 146 R with inverted breve (not v1.3c) */ + "", /* 200 147 r with inverted breve (not v1.3c) */ + "", /* 200 148 U with double grave (not v1.3c) */ + "", /* 200 149 u with double grave (not v1.3c) */ + "", /* 200 150 U with inverted breve (not v1.3c) */ + "", /* 200 151 u with inverted breve (not v1.3c) */ "\\textcommabelow{S}", /* 200 152 */ "\\textcommabelow{s}", /* 200 153 */ "\\textcommabelow{T}", /* 200 154 */ "\\textcommabelow{t}", /* 200 155 */ - "", /* 200 156 YOGH (not v1.2l) */ - "", /* 200 157 yogh (not v1.2l) */ - "", /* 200 158 \\v{H} (not v1.2l) */ - "", /* 200 159 \\v{h} (not v1.2l) */ - "", /* 200 160 N with long right leg (not v1.2l) */ - "", /* 200 161 d with curl (not v1.2l) */ - "", /* 200 162 OU (not v1.2l) */ - "", /* 200 163 ou (not v1.2l) */ - "", /* 200 164 Z with hook (not v1.2l) */ - "", /* 200 165 z with hook (not v1.2l) */ - "", /* 200 166 \\.A (not v1.2l) */ - "", /* 200 167 \\.a (not v1.2l) */ - "", /* 200 168 \\c{E} (not v1.2l) */ - "", /* 200 169 \\c{e} (not v1.2l) */ - "", /* 200 170 \\={\\\"O} (not v1.2l) */ - "", /* 200 171 \\={\\\"o} (not v1.2l) */ - "", /* 200 172 \\={\\~O} (not v1.2l) */ - "", /* 200 173 \\={\\~o} (not v1.2l) */ - "", /* 200 174 \\.O (not v1.2l) */ - "", /* 200 175 \\.o (not v1.2l) */ - "", /* 200 176 [\\={\\.O}] (not v1.2l) */ - "", /* 200 177 [\\={\\.o}] (not v1.2l) */ + "", /* 200 156 YOGH (not v1.3c) */ + "", /* 200 157 yogh (not v1.3c) */ + "", /* 200 158 \\v{H} (not v1.3c) */ + "", /* 200 159 \\v{h} (not v1.3c) */ + "", /* 200 160 N with long right leg (not v1.3c) */ + "", /* 200 161 d with curl (not v1.3c) */ + "", /* 200 162 OU (not v1.3c) */ + "", /* 200 163 ou (not v1.3c) */ + "", /* 200 164 Z with hook (not v1.3c) */ + "", /* 200 165 z with hook (not v1.3c) */ + "", /* 200 166 \\.A (not v1.3c) */ + "", /* 200 167 \\.a (not v1.3c) */ + "", /* 200 168 \\c{E} (not v1.3c) */ + "", /* 200 169 \\c{e} (not v1.3c) */ + "", /* 200 170 \\={\\\"O} (not v1.3c) */ + "", /* 200 171 \\={\\\"o} (not v1.3c) */ + "", /* 200 172 \\={\\~O} (not v1.3c) */ + "", /* 200 173 \\={\\~o} (not v1.3c) */ + "", /* 200 174 \\.O (not v1.3c) */ + "", /* 200 175 \\.o (not v1.3c) */ + "", /* 200 176 [\\={\\.O}] (not v1.3c) */ + "", /* 200 177 [\\={\\.o}] (not v1.3c) */ "\\=Y", /* 200 178 */ "\\=y", /* 200 179 */ - "", /* 200 180 l with curl (not v1.2l) */ - "", /* 200 181 n with curl (not v1.2l) */ - "", /* 200 182 t with curl (not v1.2l) */ + "", /* 200 180 l with curl (not v1.3c) */ + "", /* 200 181 n with curl (not v1.3c) */ + "", /* 200 182 t with curl (not v1.3c) */ "{\\j}", /* 200 183 */ - "", /* 200 184 db digraph (not v1.2l) */ - "", /* 200 185 qp digraph (not v1.2l) */ - "", /* 200 186 A with diagonal stroke (not v1.2l) */ - "", /* 200 187 C with diagonal stroke (not v1.2l) */ - "", /* 200 188 {\\textcentoldstyle} (not v1.2l) */ - "", /* 200 189 L-quer (not v1.2l) */ - "", /* 200 190 T with diagonal stroke (not v1.2l) */ - "", /* 200 191 s with swash tail (not v1.2l) */ + "", /* 200 184 db digraph (not v1.3c) */ + "", /* 200 185 qp digraph (not v1.3c) */ + "", /* 200 186 A with diagonal stroke (not v1.3c) */ + "", /* 200 187 C with diagonal stroke (not v1.3c) */ + "", /* 200 188 {\\textcentoldstyle} (not v1.3c) */ + "", /* 200 189 L-quer (not v1.3c) */ + "", /* 200 190 T with diagonal stroke (not v1.3c) */ + "", /* 200 191 s with swash tail (not v1.3c) */ NULL }; #define THNULLNULL 200 @@ -4134,70 +4360,70 @@ int ins_thnullthree(char in[], unsigned char c, int pos) static char *thtwentyfive_oheightyfour[] = { - "", /* 225 184 128 A with ring below (not v1.2l) */ - "", /* 225 184 129 a with ring below (not v1.2l) */ + "", /* 225 184 128 A with ring below (not v1.3c) */ + "", /* 225 184 129 a with ring below (not v1.3c) */ "\\.B", /* 225 184 130 */ "\\.b", /* 225 184 131 */ - "", /* 225 184 132 \\d{B} (not v1.2l) */ - "", /* 225 184 133 \\d{b} (not v1.2l) */ - "", /* 225 184 134 \\b{B} (not v1.2l) */ - "", /* 225 184 135 \\b{b} (not v1.2l) */ - "", /* 225 184 136 \\c{\\\'C} (not v1.2l) */ - "", /* 225 184 137 \\c{\\\'c} (not v1.2l) */ - "", /* 225 184 138 \\.D (not v1.2l) */ - "", /* 225 184 139 \\.d (not v1.2l) */ - "", /* 225 184 140 \\d{D} (not v1.2l) */ + "", /* 225 184 132 \\d{B} (not v1.3c) */ + "", /* 225 184 133 \\d{b} (not v1.3c) */ + "", /* 225 184 134 \\b{B} (not v1.3c) */ + "", /* 225 184 135 \\b{b} (not v1.3c) */ + "", /* 225 184 136 \\c{\\\'C} (not v1.3c) */ + "", /* 225 184 137 \\c{\\\'c} (not v1.3c) */ + "", /* 225 184 138 \\.D (not v1.3c) */ + "", /* 225 184 139 \\.d (not v1.3c) */ + "", /* 225 184 140 \\d{D} (not v1.3c) */ "\\d{d}", /* 225 184 141 */ - "", /* 225 184 142 \\b{D} (not v1.2l) */ - "", /* 225 184 143 \\b{d} (not v1.2l) */ - "", /* 225 184 144 \\textcommabelow{D} (not v1.2l) */ - "", /* 225 184 145 \\textcommabelow{d} (not v1.2l) */ - "", /* 225 184 146 D with circumflex below (not v1.2l) */ - "", /* 225 184 147 d with circumflex below (not v1.2l) */ - "", /* 225 184 148 [\\`{\\=E}] (not v1.2l) */ - "", /* 225 184 149 [\\`{\\=e}] (not v1.2l) */ - "", /* 225 184 150 [\\\'{\\=E}] (not v1.2l) */ - "", /* 225 184 151 [\\\'{\\=e}] (not v1.2l) */ - "", /* 225 184 152 E with circumflex below (not v1.2l) */ - "", /* 225 184 153 e with circumflex below (not v1.2l) */ - "", /* 225 184 154 E with tilde below (not v1.2l) */ - "", /* 225 184 155 e with tilde below (not v1.2l) */ - "", /* 225 184 156 [\\u{\\c{E}}] (not v1.2l) */ - "", /* 225 184 157 [\\u{\\c{e}}] (not v1.2l) */ - "\\.F", /* 225 184 158 new in 2.4 */ - "\\.f", /* 225 184 159 new in 2.4 */ + "", /* 225 184 142 \\b{D} (not v1.3c) */ + "", /* 225 184 143 \\b{d} (not v1.3c) */ + "", /* 225 184 144 \\textcommabelow{D} (not v1.3c) */ + "", /* 225 184 145 \\textcommabelow{d} (not v1.3c) */ + "", /* 225 184 146 D with circumflex below (not v1.3c) */ + "", /* 225 184 147 d with circumflex below (not v1.3c) */ + "", /* 225 184 148 [\\`{\\=E}] (not v1.3c) */ + "", /* 225 184 149 [\\`{\\=e}] (not v1.3c) */ + "", /* 225 184 150 [\\\'{\\=E}] (not v1.3c) */ + "", /* 225 184 151 [\\\'{\\=e}] (not v1.3c) */ + "", /* 225 184 152 E with circumflex below (not v1.3c) */ + "", /* 225 184 153 e with circumflex below (not v1.3c) */ + "", /* 225 184 154 E with tilde below (not v1.3c) */ + "", /* 225 184 155 e with tilde below (not v1.3c) */ + "", /* 225 184 156 [\\u{\\c{E}}] (not v1.3c) */ + "", /* 225 184 157 [\\u{\\c{e}}] (not v1.3c) */ + "\\.F", /* 225 184 158 new in 2.4 / v1.2n */ + "\\.f", /* 225 184 159 new in 2.4 / v1.2n */ "\\=G", /* 225 184 160 */ "\\=g", /* 225 184 161 */ - "", /* 225 184 162 \\.H (not v1.2l) */ - "", /* 225 184 163 \\.h (not v1.2l) */ - "", /* 225 184 164 \\d{H} (not v1.2l) */ + "", /* 225 184 162 \\.H (not v1.3c) */ + "", /* 225 184 163 \\.h (not v1.3c) */ + "", /* 225 184 164 \\d{H} (not v1.3c) */ "\\d{h}", /* 225 184 165 */ - "", /* 225 184 166 \\\"H (not v1.2l) */ - "", /* 225 184 167 \\\"h (not v1.2l) */ - "", /* 225 184 168 \\c{H} [?] (not v1.2l) */ - "", /* 225 184 169 \\c{h} [?] (not v1.2l) */ - "", /* 225 184 170 H with breve below (not v1.2l) */ - "", /* 225 184 171 h with breve below (not v1.2l) */ - "", /* 225 184 172 I with tilde below (not v1.2l) */ - "", /* 225 184 173 i with tilde below (not v1.2l) */ - "", /* 225 184 174 \\\'{\\\"I} (not v1.2l) */ - "", /* 225 184 175 \\\'{\\\"{\\i}} (not v1.2l) */ - "\\\'K", /* 225 184 176 new in 2.4 */ - "\\\'k", /* 225 184 177 new in 2.4 */ - "", /* 225 184 178 \\d{K} (not v1.2l) */ - "", /* 225 184 179 \\d{k} (not v1.2l) */ - "", /* 225 184 180 \\b{K} (not v1.2l) */ - "", /* 225 184 181 \\b{k} (not v1.2l) */ - "", /* 225 184 182 \\d{L} (not v1.2l) */ + "", /* 225 184 166 \\\"H (not v1.3c) */ + "", /* 225 184 167 \\\"h (not v1.3c) */ + "", /* 225 184 168 \\c{H} [?] (not v1.3c) */ + "", /* 225 184 169 \\c{h} [?] (not v1.3c) */ + "", /* 225 184 170 H with breve below (not v1.3c) */ + "", /* 225 184 171 h with breve below (not v1.3c) */ + "", /* 225 184 172 I with tilde below (not v1.3c) */ + "", /* 225 184 173 i with tilde below (not v1.3c) */ + "", /* 225 184 174 \\\'{\\\"I} (not v1.3c) */ + "", /* 225 184 175 \\\'{\\\"{\\i}} (not v1.3c) */ + "\\\'K", /* 225 184 176 new in 2.4 / v1.2n */ + "\\\'k", /* 225 184 177 new in 2.4 / v1.2n */ + "", /* 225 184 178 \\d{K} (not v1.3c) */ + "", /* 225 184 179 \\d{k} (not v1.3c) */ + "", /* 225 184 180 \\b{K} (not v1.3c) */ + "", /* 225 184 181 \\b{k} (not v1.3c) */ + "", /* 225 184 182 \\d{L} (not v1.3c) */ "\\d{l}", /* 225 184 183 */ - "", /* 225 184 184 \\d{\\=L} (not v1.2l) */ - "", /* 225 184 185 \\d{\\=l} (not v1.2l) */ - "", /* 225 184 186 \\b{L} (not v1.2l) */ - "", /* 225 184 187 \\b{l} (not v1.2l) */ - "", /* 225 184 188 L with circumflex below (not v1.2l) */ - "", /* 225 184 189 l with circumflex below (not v1.2l) */ - "", /* 225 184 190 \\\'M (not v1.2l) */ - "", /* 225 184 191 \\\'m (not v1.2l) */ + "", /* 225 184 184 \\d{\\=L} (not v1.3c) */ + "", /* 225 184 185 \\d{\\=l} (not v1.3c) */ + "", /* 225 184 186 \\b{L} (not v1.3c) */ + "", /* 225 184 187 \\b{l} (not v1.3c) */ + "", /* 225 184 188 L with circumflex below (not v1.3c) */ + "", /* 225 184 189 l with circumflex below (not v1.3c) */ + "", /* 225 184 190 \\\'M (not v1.3c) */ + "", /* 225 184 191 \\\'m (not v1.3c) */ NULL }; #define THTWENTYFIVE 225 @@ -4212,70 +4438,70 @@ char *get_thtwentyfive_oheightyfour(unsigned char c) static char *thtwentyfive_oheightyfive[] = { - "", /* 225 185 128 \\.M (not v1.2l) */ - "", /* 225 185 129 \\.m (not v1.2l) */ - "", /* 225 185 130 \\d{M} (not v1.2l) */ + "", /* 225 185 128 \\.M (not v1.3c) */ + "", /* 225 185 129 \\.m (not v1.3c) */ + "", /* 225 185 130 \\d{M} (not v1.3c) */ "\\d{m}", /* 225 185 131 */ - "", /* 225 185 132 \\.N (not v1.2l) */ + "", /* 225 185 132 \\.N (not v1.3c) */ "\\.n", /* 225 185 133 */ - "", /* 225 185 134 \\d{N} (not v1.2l) */ + "", /* 225 185 134 \\d{N} (not v1.3c) */ "\\d{n}", /* 225 185 135 */ - "", /* 225 185 136 N with line below (not v1.2l) */ - "", /* 225 185 137 n with line below (not v1.2l) */ - "", /* 225 185 138 N with circumflex below (not v1.2l) */ - "", /* 225 185 139 n with circumflex below (not v1.2l) */ - "", /* 225 185 140 \\\'{\\~O} (not v1.2l) */ - "", /* 225 185 141 \\\'{\\~o} (not v1.2l) */ - "", /* 225 185 142 \\\"{\\~O} (not v1.2l) */ - "", /* 225 185 143 \\\"{\\~o} (not v1.2l) */ - "", /* 225 185 144 [\\`{\\=O}] (not v1.2l) */ - "", /* 225 185 145 [\\`{\\=o}] (not v1.2l) */ - "", /* 225 185 146 [\\\'{\\=O}] (not v1.2l) */ - "", /* 225 185 147 [\\\'{\\=o}] (not v1.2l) */ - "", /* 225 185 148 \\\'P (not v1.2l) */ - "", /* 225 185 149 \\\'p (not v1.2l) */ - "", /* 225 185 150 \\.P (not v1.2l) */ - "", /* 225 185 151 \\.p (not v1.2l) */ - "", /* 225 185 152 \\.R (not v1.2l) */ - "", /* 225 185 153 \\.r (not v1.2l) */ - "", /* 225 185 154 \\d{R} (not v1.2l) */ + "", /* 225 185 136 N with line below (not v1.3c) */ + "", /* 225 185 137 n with line below (not v1.3c) */ + "", /* 225 185 138 N with circumflex below (not v1.3c) */ + "", /* 225 185 139 n with circumflex below (not v1.3c) */ + "", /* 225 185 140 \\\'{\\~O} (not v1.3c) */ + "", /* 225 185 141 \\\'{\\~o} (not v1.3c) */ + "", /* 225 185 142 \\\"{\\~O} (not v1.3c) */ + "", /* 225 185 143 \\\"{\\~o} (not v1.3c) */ + "", /* 225 185 144 [\\`{\\=O}] (not v1.3c) */ + "", /* 225 185 145 [\\`{\\=o}] (not v1.3c) */ + "", /* 225 185 146 [\\\'{\\=O}] (not v1.3c) */ + "", /* 225 185 147 [\\\'{\\=o}] (not v1.3c) */ + "", /* 225 185 148 \\\'P (not v1.3c) */ + "", /* 225 185 149 \\\'p (not v1.3c) */ + "", /* 225 185 150 \\.P (not v1.3c) */ + "", /* 225 185 151 \\.p (not v1.3c) */ + "", /* 225 185 152 \\.R (not v1.3c) */ + "", /* 225 185 153 \\.r (not v1.3c) */ + "", /* 225 185 154 \\d{R} (not v1.3c) */ "\\d{r}", /* 225 185 155 */ - "", /* 225 185 156 \\d{\\=R} (not v1.2l) */ - "", /* 225 185 157 \\d{\\=r} (not v1.2l) */ - "", /* 225 185 158 R with line below (not v1.2l) */ - "", /* 225 185 159 r with line below (not v1.2l) */ - "", /* 225 185 160 \\.S (not v1.2l) */ - "", /* 225 185 161 \\.s (not v1.2l) */ - "", /* 225 185 162 \\d{S} (not v1.2l) */ + "", /* 225 185 156 \\d{\\=R} (not v1.3c) */ + "", /* 225 185 157 \\d{\\=r} (not v1.3c) */ + "", /* 225 185 158 R with line below (not v1.3c) */ + "", /* 225 185 159 r with line below (not v1.3c) */ + "", /* 225 185 160 \\.S (not v1.3c) */ + "", /* 225 185 161 \\.s (not v1.3c) */ + "", /* 225 185 162 \\d{S} (not v1.3c) */ "\\d{s}", /* 225 185 163 */ - "", /* 225 185 164 \\.{\\\'S} (not v1.2l) */ - "", /* 225 185 165 \\.{\\\'s} (not v1.2l) */ - "", /* 225 185 166 \\.{\\v{S}} (not v1.2l) */ - "", /* 225 185 167 \\.{\\v{s}} (not v1.2l) */ - "", /* 225 185 168 \\d{\\.S} (not v1.2l) */ - "", /* 225 185 169 \\d{\\.s} (not v1.2l) */ - "", /* 225 185 170 \\.T (not v1.2l) */ - "", /* 225 185 171 \\.t (not v1.2l) */ - "", /* 225 185 172 \\d{T} (not v1.2l) */ + "", /* 225 185 164 \\.{\\\'S} (not v1.3c) */ + "", /* 225 185 165 \\.{\\\'s} (not v1.3c) */ + "", /* 225 185 166 \\.{\\v{S}} (not v1.3c) */ + "", /* 225 185 167 \\.{\\v{s}} (not v1.3c) */ + "", /* 225 185 168 \\d{\\.S} (not v1.3c) */ + "", /* 225 185 169 \\d{\\.s} (not v1.3c) */ + "", /* 225 185 170 \\.T (not v1.3c) */ + "", /* 225 185 171 \\.t (not v1.3c) */ + "", /* 225 185 172 \\d{T} (not v1.3c) */ "\\d{t}", /* 225 185 173 */ - "", /* 225 185 174 T with line below (not v1.2l) */ - "", /* 225 185 175 t with line below (not v1.2l) */ - "", /* 225 185 176 T with circumfelx below (not v1.2l) */ - "", /* 225 185 177 t with circumfelx below (not v1.2l) */ - "", /* 225 185 178 U with diaresis below (not v1.2l) */ - "", /* 225 185 179 u with diaresis below (not v1.2l) */ - "", /* 225 185 180 U with tilde below (not v1.2l) */ - "", /* 225 185 181 u with tilde below (not v1.2l) */ - "", /* 225 185 182 U with circumflex below (not v1.2l) */ - "", /* 225 185 183 u with circumflex below (not v1.2l) */ - "", /* 225 185 184 [\\\'{\\~U}] (not v1.2l) */ - "", /* 225 185 185 [\\\'{\\~u}] (not v1.2l) */ - "", /* 225 185 186 [\\\"{\\=U}] (not v1.2l) */ - "", /* 225 185 187 [\\\"{\\=u}] (not v1.2l) */ - "", /* 225 185 188 \\~V (not v1.2l) */ - "", /* 225 185 189 \\~v (not v1.2l) */ - "", /* 225 185 190 \\d{V} (not v1.2l) */ - "", /* 225 185 191 \\d{v} (not v1.2l) */ + "", /* 225 185 174 T with line below (not v1.3c) */ + "", /* 225 185 175 t with line below (not v1.3c) */ + "", /* 225 185 176 T with circumfelx below (not v1.3c) */ + "", /* 225 185 177 t with circumfelx below (not v1.3c) */ + "", /* 225 185 178 U with dieresis below (not v1.3c) */ + "", /* 225 185 179 u with dieresis below (not v1.3c) */ + "", /* 225 185 180 U with tilde below (not v1.3c) */ + "", /* 225 185 181 u with tilde below (not v1.3c) */ + "", /* 225 185 182 U with circumflex below (not v1.3c) */ + "", /* 225 185 183 u with circumflex below (not v1.3c) */ + "", /* 225 185 184 [\\\'{\\~U}] (not v1.3c) */ + "", /* 225 185 185 [\\\'{\\~u}] (not v1.3c) */ + "", /* 225 185 186 [\\\"{\\=U}] (not v1.3c) */ + "", /* 225 185 187 [\\\"{\\=u}] (not v1.3c) */ + "", /* 225 185 188 \\~V (not v1.3c) */ + "", /* 225 185 189 \\~v (not v1.3c) */ + "", /* 225 185 190 \\d{V} (not v1.3c) */ + "", /* 225 185 191 \\d{v} (not v1.3c) */ NULL }; #define THTWENTYFIVE_OHEIGHTYFIVE 185 @@ -4288,71 +4514,71 @@ char *get_thtwentyfive_oheightyfive(unsigned char c) } -static char *thtwentyfive_oheightysix[] = { - "", /* 225 186 128 \\`W (not v1.2l) */ - "", /* 225 186 129 \\`w (not v1.2l) */ - "", /* 225 186 130 \\\'W (not v1.2l) */ - "", /* 225 186 131 \\\'w (not v1.2l) */ - "", /* 225 186 132 \\\"W (not v1.2l) */ - "", /* 225 186 133 \\\"w (not v1.2l) */ - "", /* 225 186 134 \\.W (not v1.2l) */ - "", /* 225 186 135 \\.w (not v1.2l) */ - "", /* 225 186 136 \\d{W} (not v1.2l) */ - "", /* 225 186 137 \\d{w} (not v1.2l) */ - "", /* 225 186 138 \\.X (not v1.2l) */ - "", /* 225 186 139 \\.x (not v1.2l) */ - "", /* 225 186 140 \\\"X (not v1.2l) */ - "", /* 225 186 141 \\\"x (not v1.2l) */ - "\\.Y", /* 225 186 142 new in 2.4 */ - "\\.y", /* 225 186 143 new in 2.4 */ - "\\^Z", /* 225 186 144 new in 2.4 */ - "\\^z", /* 225 186 145 new in 2.4 */ - "", /* 225 186 146 \\d{Z} (not v1.2l) */ - "", /* 225 186 147 \\d{z} (not v1.2l) */ - "", /* 225 186 148 Z with line below (not v1.2l) */ - "", /* 225 186 149 z with line below (not v1.2l) */ - "", /* 225 186 150 h with line below (not v1.2l) */ - "", /* 225 186 151 \\\"t (not v1.2l) */ - "", /* 225 186 152 \\r{w} */ - "", /* 225 186 153 \\r{y} */ - "", /* 225 186 154 a with right half ring (not v1.2l) */ - "", /* 225 186 155 long s with dot above (not v1.2l) */ - "", /* 225 186 156 long s with diagonal stroke (not v1.2l) */ - "", /* 225 186 157 long s with high stroke (not v1.2l) */ +static char *thtwentyfive_oheightysix[] = { /* new in 2.4 */ + "", /* 225 186 128 \\`W (not v1.3c) */ + "", /* 225 186 129 \\`w (not v1.3c) */ + "", /* 225 186 130 \\\'W (not v1.3c) */ + "", /* 225 186 131 \\\'w (not v1.3c) */ + "", /* 225 186 132 \\\"W (not v1.3c) */ + "", /* 225 186 133 \\\"w (not v1.3c) */ + "", /* 225 186 134 \\.W (not v1.3c) */ + "", /* 225 186 135 \\.w (not v1.3c) */ + "", /* 225 186 136 \\d{W} (not v1.3c) */ + "", /* 225 186 137 \\d{w} (not v1.3c) */ + "", /* 225 186 138 \\.X (not v1.3c) */ + "", /* 225 186 139 \\.x (not v1.3c) */ + "", /* 225 186 140 \\\"X (not v1.3c) */ + "", /* 225 186 141 \\\"x (not v1.3c) */ + "\\.Y", /* 225 186 142 new in 2.4 / v1.2n */ + "\\.y", /* 225 186 143 new in 2.4 / v1.2n */ + "\\^Z", /* 225 186 144 new in 2.4 / v1.2n */ + "\\^z", /* 225 186 145 new in 2.4 / v1.2n */ + "", /* 225 186 146 \\d{Z} (not v1.3c) */ + "", /* 225 186 147 \\d{z} (not v1.3c) */ + "", /* 225 186 148 Z with line below (not v1.3c) */ + "", /* 225 186 149 z with line below (not v1.3c) */ + "", /* 225 186 150 h with line below (not v1.3c) */ + "", /* 225 186 151 \\\"t (not v1.3c) */ + "", /* 225 186 152 \\r{w} (not v1.3c) */ + "", /* 225 186 153 \\r{y} (not v1.3c) */ + "", /* 225 186 154 a with right half ring (not v1.3c) */ + "", /* 225 186 155 long s with dot above (not v1.3c) */ + "", /* 225 186 156 long s with diagonal stroke (not v1.3c) */ + "", /* 225 186 157 long s with high stroke (not v1.3c) */ "{\\SS}", /* 225 186 158 */ - "", /* 225 186 159 \\delta (not v1.2l) */ - "", /* 225 186 160 \\d{A} (not v1.2l) */ - "", /* 225 186 161 \\d{a} (not v1.2l) */ - "", /* 225 186 162 A with hook above (not v1.2l) */ - "", /* 225 186 163 a with hook above (not v1.2l) */ - "", /* 225 186 164 A with circumflex-acute (not v1.2l) */ - "", /* 225 186 165 a with circumflex-acute (not v1.2l) */ - "", /* 225 186 166 A with circumflex-grave (not v1.2l) */ - "", /* 225 186 167 a with circumflex-grave (not v1.2l) */ - "", /* 225 186 168 A with circumflex-hook (not v1.2l) */ - "", /* 225 186 169 a with circumflex-hook (not v1.2l) */ - "", /* 225 186 170 \\~{\\^A} (not v1.2l) */ - "", /* 225 186 171 \\~{\\^a} (not v1.2l) */ - "", /* 225 186 172 \\d{\\^A} (not v1.2l) */ - "", /* 225 186 173 \\d{\\^a} (not v1.2l) */ - "", /* 225 186 174 A with breve-acute (not v1.2l) */ - "", /* 225 186 175 a with breve-acute (not v1.2l) */ - "", /* 225 186 176 A with breve-grave (not v1.2l) */ - "", /* 225 186 177 a with breve-grave (not v1.2l) */ - "", /* 225 186 178 A with breve-hook (not v1.2l) */ - "", /* 225 186 179 a with breve-hook (not v1.2l) */ - "", /* 225 186 180 A with breve-tilde (not v1.2l) */ - "", /* 225 186 181 a with breve-tilde (not v1.2l) */ - "", /* 225 186 182 \\d{\\u{A}} (not v1.2l) */ - "", /* 225 186 183 \\d{\\u{a}} (not v1.2l) */ - "", /* 225 186 184 \\d{E} (not v1.2l) */ - "", /* 225 186 185 \\d{e} (not v1.2l) */ - "", /* 225 186 186 E with hook above (not v1.2l) */ - "", /* 225 186 187 e with hook above (not v1.2l) */ - "", /* 225 186 188 \\~E (not v1.2l) */ - "", /* 225 186 189 \\~e (not v1.2l) */ - "", /* 225 186 190 E with circumflex-acute (not v1.2l) */ - "", /* 225 186 191 e with circumflex-acute (not v1.2l) */ + "", /* 225 186 159 \\delta (not v1.3c) */ + "", /* 225 186 160 \\d{A} (not v1.3c) */ + "", /* 225 186 161 \\d{a} (not v1.3c) */ + "", /* 225 186 162 A with hook above (not v1.3c) */ + "", /* 225 186 163 a with hook above (not v1.3c) */ + "", /* 225 186 164 A with circumflex-acute (not v1.3c) */ + "", /* 225 186 165 a with circumflex-acute (not v1.3c) */ + "", /* 225 186 166 A with circumflex-grave (not v1.3c) */ + "", /* 225 186 167 a with circumflex-grave (not v1.3c) */ + "", /* 225 186 168 A with circumflex-hook (not v1.3c) */ + "", /* 225 186 169 a with circumflex-hook (not v1.3c) */ + "", /* 225 186 170 \\~{\\^A} (not v1.3c) */ + "", /* 225 186 171 \\~{\\^a} (not v1.3c) */ + "", /* 225 186 172 \\d{\\^A} (not v1.3c) */ + "", /* 225 186 173 \\d{\\^a} (not v1.3c) */ + "", /* 225 186 174 A with breve-acute (not v1.3c) */ + "", /* 225 186 175 a with breve-acute (not v1.3c) */ + "", /* 225 186 176 A with breve-grave (not v1.3c) */ + "", /* 225 186 177 a with breve-grave (not v1.3c) */ + "", /* 225 186 178 A with breve-hook (not v1.3c) */ + "", /* 225 186 179 a with breve-hook (not v1.3c) */ + "", /* 225 186 180 A with breve-tilde (not v1.3c) */ + "", /* 225 186 181 a with breve-tilde (not v1.3c) */ + "", /* 225 186 182 \\d{\\u{A}} (not v1.3c) */ + "", /* 225 186 183 \\d{\\u{a}} (not v1.3c) */ + "", /* 225 186 184 \\d{E} (not v1.3c) */ + "", /* 225 186 185 \\d{e} (not v1.3c) */ + "", /* 225 186 186 E with hook above (not v1.3c) */ + "", /* 225 186 187 e with hook above (not v1.3c) */ + "", /* 225 186 188 \\~E (not v1.3c) */ + "", /* 225 186 189 \\~e (not v1.3c) */ + "", /* 225 186 190 E with circumflex-acute (not v1.3c) */ + "", /* 225 186 191 e with circumflex-acute (not v1.3c) */ NULL }; #define THTWENTYFIVE_OHEIGHTYSIX 186 @@ -4366,22 +4592,22 @@ char *get_thtwentyfive_oheightysix(unsigned char c) static char *thtwentysix_ohtwentyeight[] = { - "", /* 226 128 128 en quad (not v1.2l) */ - "", /* 226 128 129 em quad (not v1.2l) */ - "", /* 226 128 130 en space (not v1.2l) */ - "", /* 226 128 131 em space (not v1.2l) */ - "", /* 226 128 132 three-per-em space (not v1.2l) */ - "", /* 226 128 133 four-per-em space (not v1.2l) */ - "", /* 226 128 134 six-per-em space (not v1.2l) */ - "", /* 226 128 135 figure space (not v1.2l) */ - "", /* 226 128 136 punctuation space (not v1.2l) */ - "", /* 226 128 137 thin space (not v1.2l) */ - "", /* 226 128 138 hair space (not v1.2l) */ - "", /* 226 128 139 zero width space (not v1.2l) */ + "", /* 226 128 128 en quad (not v1.3c) */ + "", /* 226 128 129 em quad (not v1.3c) */ + "", /* 226 128 130 en space (not v1.3c) */ + "", /* 226 128 131 em space (not v1.3c) */ + "", /* 226 128 132 three-per-em space (not v1.3c) */ + "", /* 226 128 133 four-per-em space (not v1.3c) */ + "", /* 226 128 134 six-per-em space (not v1.3c) */ + "", /* 226 128 135 figure space (not v1.3c) */ + "", /* 226 128 136 punctuation space (not v1.3c) */ + "", /* 226 128 137 thin space (not v1.3c) */ + "", /* 226 128 138 hair space (not v1.3c) */ + "", /* 226 128 139 zero width space (not v1.3c) */ "{\\textcompwordmark}", /* 226 128 140 (LaTeX-Example: b\u{226-128-140}g) */ - "", /* 226 128 141 zero width joiner (not v1.2l) */ - "", /* 226 128 142 left-to-right mark (not v1.2l) */ - "", /* 226 128 143 right-to-left mark (not v1.2l) */ + "", /* 226 128 141 zero width joiner (not v1.3c) */ + "", /* 226 128 142 left-to-right mark (not v1.3c) */ + "", /* 226 128 143 right-to-left mark (not v1.3c) */ "-", /* 226 128 144 */ "\\mbox{-}", /* 226 128 145 - */ "{\\textendash}", /* 226 128 146 -- */ @@ -4389,47 +4615,47 @@ static char *thtwentysix_ohtwentyeight[] = { "{\\textemdash}", /* 226 128 148 --- */ "{\\textemdash}", /* 226 128 149 --- */ "{\\textbardbl}", /* 226 128 150 */ - "", /* 226 128 151 double low line (not v1.2l) */ + "", /* 226 128 151 double low line (not v1.3c) */ "{\\textquoteleft}", /* 226 128 152 ` */ "{\\textquoteright}", /* 226 128 153 \' */ "{\\quotesinglbase}", /* 226 128 154 , */ - "", /* 226 128 155 single high-reversed-9 quotation mark (not v1.2l) */ + "", /* 226 128 155 single high-reversed-9 quotation mark (not v1.3c) */ "{\\textquotedblleft}", /* 226 128 156 `` */ "{\\textquotedblright}", /* 226 128 157 \'\' */ "{\\quotedblbase}", /* 226 128 158 ,, */ - "", /* 226 128 159 double high-reversed-9 quotation mark (not v1.2l) */ + "", /* 226 128 159 double high-reversed-9 quotation mark (not v1.3c) */ "{\\textdagger}", /* 226 128 160 {\\dag} */ "{\\textdaggerdbl}", /* 226 128 161 {\\ddag} */ "{\\textbullet}", /* 226 128 162 */ - "", /* 226 128 163 triangular bullet (not v1.2l) */ - "", /* 226 128 164 one dot leader (not v1.2l) */ - "", /* 226 128 165 two dot leader (not v1.2l) */ + "", /* 226 128 163 triangular bullet (not v1.3c) */ + "", /* 226 128 164 one dot leader (not v1.3c) */ + "", /* 226 128 165 two dot leader (not v1.3c) */ "{\\textellipsis}", /* 226 128 166 {\\dots} */ - "", /* 226 128 167 hyphenation point (not v1.2l) */ - "", /* 226 128 168 line separator (not v1.2l) */ - "", /* 226 128 169 paragraph separator (not v1.2l) */ - "", /* 226 128 170 left-to-right embedding (not v1.2l) */ - "", /* 226 128 171 right-to-left embedding (not v1.2l) */ - "", /* 226 128 172 pop directional formatting (not v1.2l) */ - "", /* 226 128 173 left-to-right override (not v1.2l) */ - "", /* 226 128 174 right-to-left override (not v1.2l) */ - "", /* 226 128 175 narrow no-break space (not v1.2l) */ + "", /* 226 128 167 hyphenation point (not v1.3c) */ + "", /* 226 128 168 line separator (not v1.3c) */ + "", /* 226 128 169 paragraph separator (not v1.3c) */ + "", /* 226 128 170 left-to-right embedding (not v1.3c) */ + "", /* 226 128 171 right-to-left embedding (not v1.3c) */ + "", /* 226 128 172 pop directional formatting (not v1.3c) */ + "", /* 226 128 173 left-to-right override (not v1.3c) */ + "", /* 226 128 174 right-to-left override (not v1.3c) */ + "", /* 226 128 175 narrow no-break space (not v1.3c) */ "{\\textperthousand}", /* 226 128 176 */ "{\\textpertenthousand}", /* 226 128 177 */ - "", /* 226 128 178 prime (not v1.2l) */ - "", /* 226 128 179 double prime (not v1.2l) */ - "", /* 226 128 180 triple prime (not v1.2l) */ - "", /* 226 128 181 reversed prime (not v1.2l) */ - "", /* 226 128 182 reversed double prime (not v1.2l) */ - "", /* 226 128 183 reversed triple prime (not v1.2l) */ - "", /* 226 128 184 caret (not v1.2l) */ + "", /* 226 128 178 prime (not v1.3c) */ + "", /* 226 128 179 double prime (not v1.3c) */ + "", /* 226 128 180 triple prime (not v1.3c) */ + "", /* 226 128 181 reversed prime (not v1.3c) */ + "", /* 226 128 182 reversed double prime (not v1.3c) */ + "", /* 226 128 183 reversed triple prime (not v1.3c) */ + "", /* 226 128 184 caret (not v1.3c) */ "{\\guilsinglleft}", /* 226 128 185 */ "{\\guilsinglright}", /* 226 128 186 */ "{\\textreferencemark}", /* 226 128 187 */ - "", /* 226 128 188 "!!" (double exclamation mark) (not v1.2l) */ + "", /* 226 128 188 "!!" (double exclamation mark) (not v1.3c) */ "{\\textinterrobang}", /* 226 128 189 */ - "", /* 226 128 190 overline (not v1.2l) */ - "", /* 226 128 191 undertie (not v1.2l) */ + "", /* 226 128 190 overline (not v1.3c) */ + "", /* 226 128 191 undertie (not v1.3c) */ NULL }; #define THTWENTYSIX 226 @@ -4444,70 +4670,70 @@ char *get_thtwentysix_ohtwentyeight(unsigned char c) static char *thtwentysix_ohthirty[] = { - "", /* 226 130 128 _0 (not v1.2l) */ - "", /* 226 130 129 _1 (not v1.2l) */ - "", /* 226 130 130 _2 (not v1.2l) */ - "", /* 226 130 131 _3 (not v1.2l) */ - "", /* 226 130 132 _4 (not v1.2l) */ - "", /* 226 130 133 _5 (not v1.2l) */ - "", /* 226 130 134 _6 (not v1.2l) */ - "", /* 226 130 135 _7 (not v1.2l) */ - "", /* 226 130 136 _8 (not v1.2l) */ - "", /* 226 130 137 _9 (not v1.2l) */ - "", /* 226 130 138 _+ (not v1.2l) */ - "", /* 226 130 139 _- (not v1.2l) */ - "", /* 226 130 140 _= (not v1.2l) */ - "", /* 226 130 141 _( (not v1.2l) */ - "", /* 226 130 142 _) (not v1.2l) */ - "", /* 226 130 143 [undefined] (not v1.2l) */ - "", /* 226 130 144 _a (not v1.2l) */ - "", /* 226 130 145 _e (not v1.2l) */ - "", /* 226 130 146 _o (not v1.2l) */ - "", /* 226 130 147 _x (not v1.2l) */ - "", /* 226 130 148 _{schwa} (not v1.2l) */ - "", /* 226 130 149 _h (not v1.2l) */ - "", /* 226 130 150 _k (not v1.2l) */ - "", /* 226 130 151 _l (not v1.2l) */ - "", /* 226 130 152 _m (not v1.2l) */ - "", /* 226 130 153 _n (not v1.2l) */ - "", /* 226 130 154 _p (not v1.2l) */ - "", /* 226 130 155 _s (not v1.2l) */ - "", /* 226 130 156 _t (not v1.2l) */ - "", /* 226 130 157 [undefined] (not v1.2l) */ - "", /* 226 130 158 [undefined] (not v1.2l) */ - "", /* 226 130 159 [undefined] (not v1.2l) */ - "", /* 226 130 160 euro-currency sign (not v1.2l) */ + "", /* 226 130 128 _0 (not v1.3c) */ + "", /* 226 130 129 _1 (not v1.3c) */ + "", /* 226 130 130 _2 (not v1.3c) */ + "", /* 226 130 131 _3 (not v1.3c) */ + "", /* 226 130 132 _4 (not v1.3c) */ + "", /* 226 130 133 _5 (not v1.3c) */ + "", /* 226 130 134 _6 (not v1.3c) */ + "", /* 226 130 135 _7 (not v1.3c) */ + "", /* 226 130 136 _8 (not v1.3c) */ + "", /* 226 130 137 _9 (not v1.3c) */ + "", /* 226 130 138 _+ (not v1.3c) */ + "", /* 226 130 139 _- (not v1.3c) */ + "", /* 226 130 140 _= (not v1.3c) */ + "", /* 226 130 141 _( (not v1.3c) */ + "", /* 226 130 142 _) (not v1.3c) */ + "", /* 226 130 143 [undefined] (not v1.3c) */ + "", /* 226 130 144 _a (not v1.3c) */ + "", /* 226 130 145 _e (not v1.3c) */ + "", /* 226 130 146 _o (not v1.3c) */ + "", /* 226 130 147 _x (not v1.3c) */ + "", /* 226 130 148 _{schwa} (not v1.3c) */ + "", /* 226 130 149 _h (not v1.3c) */ + "", /* 226 130 150 _k (not v1.3c) */ + "", /* 226 130 151 _l (not v1.3c) */ + "", /* 226 130 152 _m (not v1.3c) */ + "", /* 226 130 153 _n (not v1.3c) */ + "", /* 226 130 154 _p (not v1.3c) */ + "", /* 226 130 155 _s (not v1.3c) */ + "", /* 226 130 156 _t (not v1.3c) */ + "", /* 226 130 157 [undefined] (not v1.3c) */ + "", /* 226 130 158 [undefined] (not v1.3c) */ + "", /* 226 130 159 [undefined] (not v1.3c) */ + "", /* 226 130 160 euro-currency sign (not v1.3c) */ "{\\textcolonmonetary}", /* 226 130 161 */ - "", /* 226 130 162 cruzeiro sign (not v1.2l) */ - "", /* 226 130 163 french franc sign (not v1.2l) */ + "", /* 226 130 162 cruzeiro sign (not v1.3c) */ + "", /* 226 130 163 french franc sign (not v1.3c) */ "{\\textlira}", /* 226 130 164 */ - "", /* 226 130 165 mill sign (not v1.2l) */ + "", /* 226 130 165 mill sign (not v1.3c) */ "{\\textnaira}", /* 226 130 166 */ - "", /* 226 130 167 peseta sign (not v1.2l) */ - "", /* 226 130 168 rupee sign (not v1.2l) */ + "", /* 226 130 167 peseta sign (not v1.3c) */ + "", /* 226 130 168 rupee sign (not v1.3c) */ "{\\textwon}", /* 226 130 169 */ - "", /* 226 130 170 new sheqel sign (not v1.2l) */ + "", /* 226 130 170 new sheqel sign (not v1.3c) */ "{\\textdong}", /* 226 130 171 */ "{\\texteuro}", /* 226 130 172 */ - "", /* 226 130 173 kip sign (not v1.2l) */ - "", /* 226 130 174 tugrik sign (not v1.2l) */ - "", /* 226 130 175 drachma sign (not v1.2l) */ - "", /* 226 130 176 german penny sign (not v1.2l) */ + "", /* 226 130 173 kip sign (not v1.3c) */ + "", /* 226 130 174 tugrik sign (not v1.3c) */ + "", /* 226 130 175 drachma sign (not v1.3c) */ + "", /* 226 130 176 german penny sign (not v1.3c) */ "{\\textpeso}", /* 226 130 177 */ - "", /* 226 130 178 guarani sign (not v1.2l) */ - "", /* 226 130 179 austral sign (not v1.2l) */ - "", /* 226 130 180 hryvnia sign (not v1.2l) */ - "", /* 226 130 181 cedi sign (not v1.2l) */ - "", /* 226 130 182 livre tournois sign (not v1.2l) */ - "", /* 226 130 183 spesmilo sign (not v1.2l) */ - "", /* 226 130 184 tenge sign (not v1.2l) */ - "", /* 226 130 185 indian rupee sign (not v1.2l) */ - "", /* 226 130 186 turkish lira sign (not v1.2l) */ - "", /* 226 130 187 nordic mark sign (not v1.2l) */ - "", /* 226 130 188 manat sign (not v1.2l) */ - "", /* 226 130 189 ruble sign (not v1.2l) */ - "", /* 226 130 190 lari sign (not v1.2l) */ - "", /* 226 130 191 bitcoin sign (not v1.2l) */ + "", /* 226 130 178 guarani sign (not v1.3c) */ + "", /* 226 130 179 austral sign (not v1.3c) */ + "", /* 226 130 180 hryvnia sign (not v1.3c) */ + "", /* 226 130 181 cedi sign (not v1.3c) */ + "", /* 226 130 182 livre tournois sign (not v1.3c) */ + "", /* 226 130 183 spesmilo sign (not v1.3c) */ + "", /* 226 130 184 tenge sign (not v1.3c) */ + "", /* 226 130 185 indian rupee sign (not v1.3c) */ + "", /* 226 130 186 turkish lira sign (not v1.3c) */ + "", /* 226 130 187 nordic mark sign (not v1.3c) */ + "", /* 226 130 188 manat sign (not v1.3c) */ + "", /* 226 130 189 ruble sign (not v1.3c) */ + "", /* 226 130 190 lari sign (not v1.3c) */ + "", /* 226 130 191 bitcoin sign (not v1.3c) */ NULL }; #define THTWENTYSIX_OHTHIRTY 130 @@ -4601,6 +4827,9 @@ int ins_rest_thtwentysix(char in[], unsigned char a, unsigned char b, int pos) } +#define THTWENTYSEVEN 227 + + #define THTHIRTYNINE 239 int ins_ththirtynine(char in[], unsigned char b, unsigned char c, int pos) @@ -4824,14 +5053,14 @@ void get_utf_eight(char in[], const char *p) if (signeless(*(p+1)) == THTWENTYFIVE_OHEIGHTYFIVE) pos = insposmaxstr(in, get_thtwentyfive_oheightyfive(*(p+2)), pos, MAXLEN-1); else - if (signeless(*(p+1)) == THTWENTYFIVE_OHEIGHTYSIX) + if (signeless(*(p+1)) == THTWENTYFIVE_OHEIGHTYSIX) /* new in 2.4 */ pos = insposmaxstr(in, get_thtwentyfive_oheightysix(*(p+2)), pos, MAXLEN-1); else if (signeless(*(p+1)) == 187 && signeless(*(p+2)) == 178) - pos = insposmaxstr(in, "\\`Y", pos, MAXLEN-1); /* 225 187 178 new in 2.4 */ + pos = insposmaxstr(in, "\\`Y", pos, MAXLEN-1); /* 225 187 178 new in 2.4 / v1.2n */ else if (signeless(*(p+1)) == 187 && signeless(*(p+2)) == 179) - pos = insposmaxstr(in, "\\`y", pos, MAXLEN-1); /* 225 187 179 new in 2.4 */ + pos = insposmaxstr(in, "\\`y", pos, MAXLEN-1); /* 225 187 179 new in 2.4 / v1.2n */ } else if (a == THTWENTYSIX) @@ -4848,6 +5077,15 @@ void get_utf_eight(char in[], const char *p) 226 144 ...; 226 151 ...; 226 153 ...; 226 159 ... */ } else + if (a == THTWENTYSEVEN) + { + if (signeless(*(p+1)) == 128 && signeless(*(p+2)) == 136) + pos = insposmaxstr(in, "{\\textlangle}", pos, MAXLEN-1); /* 227 128 136 new in 2.5 (v1.3c) */ + else + if (signeless(*(p+1)) == 128 && signeless(*(p+2)) == 137) + pos = insposmaxstr(in, "{\\textrangle}", pos, MAXLEN-1); /* 227 128 137 new in 2.5 (v1.3c) */ + } + else if (a == THTHIRTYNINE) /* TRIPLETTES_END */ { if (*(p+1) != '\0') @@ -5841,28 +6079,6 @@ void printsortline(int line, int deepsort) } -void del_ktitintro(char *s) -{ - while(*s != '\0') - { - if (*s == KTITINTROCH) - { - if (*(s+1) != '\0') - { - *s++ = KTITERRORCH; /* "????" is possible here, */ - *s++ = KTITERRORCH; /* whereas BibArts prints "??" */ - } - else - { - intern_err(30); - break; - } - } - else ++s; - } -} - - int findauthor(const char *s) { int r = 0; @@ -5886,9 +6102,105 @@ int findauthor(const char *s) } -int writetheline(char *p, const int nlines, const int line, const int deepsort, int filec, int printsort, int kandkused, int oktitused) +int fprint_inner_ktit_err(int j, int err, int dif, const char *msgA, const char *msgB) { - int doprint = 0, pagenum = 0, fntnum = 0, uu = 0, tn = getthirdnum(line), j, ok, ie, sha, tha, uha, oerr; + if (j >= err) + { + --j; + fprintf(outfile, "%%%% <- Warning *inner v-cmd*: %s %s (reported No. %d).\n", msgA, msgB, ktiterr+1); + ++ktiterr; + } + + if (j >= dif) j -= dif; + + return j; +} + + +#define O_KTIT_UNINIT -2 /* init: mostoktitarg > -2 */ +#define O_KTIT_NOTUSED -1 /* used: mostoktitarg > -1 */ +#define O_KTIT_NOPREF 0 /* pref: mostoktitarg > 0 */ +#define MOST_O_KTIT_ARGONE 1 +#define MOST_O_KTIT_ARGTWO 2 +#define MOST_O_KTIT_ARGTHREE 3 +#define MOST_O_KTIT_ARGFOUR 4 + +void check_out_ktit(int line, int deepsort, int mostoktitarg) +{ + int i = 0, j = 0, numalter = 0, num = -1, numall = 0; + + if (mostoktitarg > O_KTIT_UNINIT) /* ventry == IS_V */ + { + while (i < deepsort) /* assume: deep == deepsort */ + { + num = num_of_cmds_in_str(subAptr[i][line], KTITCMD); + if (num > 1) + { + fprintf(outfile, "%%%% <- Warning *outer v-cmd*: %s used %d times in arg %d (reported No. %d).\n", KTIT, num, i+1, ktiterr+1); + ++ktiterr; + } + numalter = 0; + if (num > 0) + { + j = i+1; + while (j < deepsort) + { + if ((numalter = num_of_cmds_in_str(subAptr[j][line], KTITCMD)) > 0) break; + ++j; + } + } + if (num > 0 && numalter > 0) + { + /* use int j here! */ + fprintf(outfile, "%%%% <- Warning *outer v-cmd*: %s used in arg %d and in arg %d (reported No. %d).\n", KTIT, i+1, j+1, ktiterr+1); + ++ktiterr; + } + if (num > 0 && mostoktitarg > O_KTIT_NOPREF && i+1 != mostoktitarg) + { + if (numalter == 0) + { + if ( i+1 == MOST_O_KTIT_ARGONE + || i+1 == MOST_O_KTIT_ARGTWO + || i+1 == MOST_O_KTIT_ARGTHREE + || i+1 == MOST_O_KTIT_ARGFOUR + ); + else intern_err(42); + + fprintf(outfile, "%%%% <- Warning *outer v-cmd*: %s defined in arg %d; most entries use arg %d (reported No. %d).\n", KTIT, i+1, mostoktitarg, ktiterr+1); + ++ktiterr; + } + } + if (num > 0 && mostoktitarg == O_KTIT_NOPREF) + { + if (numalter == 0) + { + fprintf(outfile, "%%%% <- Warning *outer v-cmd*: %s is defined here in arg %d; sum of all entries shows no preference (reported No. %d).\n", KTIT, i+1, ktiterr+1); + ++ktiterr; + } + } + if (i == 0) { numall += num; } + else if (i == 1) { numall += num; } + else if (i == 2) { numall += num; } + else if (i == 3) { numall += num; } + else intern_err(41); + ++i; + } + + if (numall == 0 && mostoktitarg > O_KTIT_NOTUSED) + { + fprintf(outfile, "%%%% <- Warning *outer v-cmd*: %s not used (or is masked); ", KTIT); + if (mostoktitarg > O_KTIT_NOPREF) fprintf(outfile, "most other entries use arg %d ", mostoktitarg); + if (mostoktitarg == O_KTIT_NOPREF) fprintf(outfile, "other entries show no preference "); + fprintf(outfile, "(reported No. %d).\n", ktiterr+1); + ++ktiterr; + } + } +} + + +int writetheline(char *p, const int nlines, const int line, const int deepsort, int filec, int printsort, int kandkused, int mostoktitarg) +{ + int doprint = 0, pagenum = 0, fntnum = 0, uu = 0, tn = getthirdnum(line), j; if (*p != '%') { if (leval[line] != ACCEPTLINE) @@ -5958,69 +6270,20 @@ int writetheline(char *p, const int nlines, const int line, const int deepsort, fprintf(outfile, "%s\n", p); if (kandkused == 1 && num_of_cmds_in_str(p, KURZCMD) > 0) - fprintf(outfile, "%%%% <- Warning: You have used %s here, but %s elsewhere.\n", KURZ, KTIT); - - if (otherktiterr > 0) - { - j = 0; - while (j < otherktiterr && subAptr[j][line] != mydefault) - { - if ((oerr = get_add_ktit(subAptr[j][line], 0, -1, -1, 0)) > 0) - fprintf(outfile, "%%%% <- Warning: %d misplaced %s in arg %d.\n", oerr, KTIT, j+1); - ++j; - } - } - - if (oktitused > 0 && subAptr[VCOLS-1][line] != mydefault) - { - ok = num_of_cmds_in_str(subAptr[VCOLS-1][line], KTITCMD); - ie = hasinnerentry(subAptr[VCOLS-1][line], innerK_PER_ARQ_cmd, INNERTITLES); - - if ( (oktitused == 3 || oktitused == 4) - && ok == 0 - && ie > -1 - ) - fprintf(outfile, "%%%% <- Info: No outer %s used in **item with inner title**, but elsewhere you have %s in that case.\n", KTIT, KTIT); - else if (ok == 0 && oktitused < 5) - { - fprintf(outfile, "%%%% <- Info: No"); - if (ie > -1) fprintf(outfile, " OUTER"); - fprintf(outfile, " %s in arg %d (other entries have %s).\n", KTIT, VCOLS, KTIT); - } - else if (ok > 1) - { - fprintf(outfile, "%%%% <- Warning: %d", ok); - fprintf(outfile, " %s in last arg outside inner v-cmd found. Also check %s file.\n", KTIT, VKC_SUFFIX); /* VCOLS */ - } - - if (oktitused == 2 || oktitused == 4) - { - if (ok > (j=unshielded_cmds_in_str(subAptr[VCOLS-1][line], KTITCMD))) - { - fprintf(outfile, "%%%% <- Warning: %d", ok-j); - fprintf(outfile, " { %s } shadowed by brackets (in last arg outside inner v-cmd).\n", KTIT); /* VCOLS */ - } - } - - if ( isinstr(subAptr[VCOLS-1][line], KTITINTRO) == 1) - { - fprintf(outfile, "%%%% -> Info: An inner v-cmd should be printed as shortened reference (created by the arg of your %s cmd).\n", KTIT); - if ((sha=isinstr(subAptr[VCOLS-1][line], KTITSHA )) == 1) - fprintf(outfile, "%%%% <- Error: INNER { %s } is shadowed by brackets, and ...\n", KTIT); - if ((tha=isinstr(subAptr[VCOLS-1][line], KTITMISS )) == 1) - fprintf(outfile, "%%%% <- Error: INNER %s is missing.\n", KTIT); - if ((uha=isinstr(subAptr[VCOLS-1][line], KTITEMPTY)) == 1) - { - fprintf(outfile, "%%%% <- Warning: Arg of"); - if (sha == 1) fprintf(outfile, " (last non-shadowed)"); - fprintf(outfile, " INNER %s is empty.\n", KTIT); - } - if (sha != 1 && tha != 1 && uha != 1) intern_err(28); /* extra KTITINTRO found */ - - del_ktitintro(subAptr[VCOLS-1][line]); /* aus Prinzip: "\tX" => "??" */ - } - } - + fprintf(outfile, "%%%% <- Warning: You have used %s here, but also %s here or elsewhere.\n", KURZ, KTIT); + + check_out_ktit(line, deepsort, mostoktitarg); + + /* get_add_ktit in 2.5 changed into: */ + j = inerr[line]; + j = fprint_inner_ktit_err(j, KTIT_OPE_ERR, KTIT_OPE_BAS, "[f{...}] or [m{...}] or [p{...}] overwrites but not replaces \'star\'", KTIT); + j = fprint_inner_ktit_err(j, OARG_BRA_ERR, OARG_BRA_BAS, "[f/m/p TEXT]", "has TEXT not in {...}"); + j = fprint_inner_ktit_err(j, OARG_IRR_ERR, OARG_IRR_BAS, "First letter in [OptArg]", "is not f/m/p"); + j = fprint_inner_ktit_err(j, KTIT_DBL_ERR, KTIT_DBL_BAS, KTIT, KTIT); /* double */ + j = fprint_inner_ktit_err(j, KTIT_MIS_ERR, KTIT_MIS_BAS, KTIT, "is missing"); + j = fprint_inner_ktit_err(j, KTIT_EMP_ERR, KTIT_EMP_BAS, KTIT, "has empty arg"); + j = fprint_inner_ktit_err(j, KTIT_SEV_ERR, NOINERR, KTIT, "used several times"); + if (j != 0) intern_err(38); } @@ -6121,9 +6384,9 @@ void fprint_utf_msg(FILE *file, const char utf[], int mod) { fprintf(file, "%%%%\n%%%% -utf8 : Did not "); if (mod == 0) fprintf(file, "know the meaning of \'%s\' (", utf); - else { fprintf(file, "sort invalid utf8 sequences (like "); + else { fprintf(file, "interpret invalid utf8 sequences (like "); /* msg changed in 2.5 */ if (utf[1] == '\0') - fprintf(file, "a single char "); + fprintf(file, "the single octet "); /* msg changed in 2.5 */ } fprintsquence(file, utf); fprintf(file, ").\n%%%% Only the last error is reported here; also see screen.\n%%%%\n"); @@ -6136,10 +6399,14 @@ void printfilelist(FILE *file, int filec, int cc, const char *vor, const char *n int i = 0; if (cc == 1) - fprintf(file, "\n%%%% BibArts 2.4 (C) Timo Baumann 2022 [%s]\n", __DATE__); + { + fprintf(file, "\n%%%% BibArts 2.5 (C) Timo Baumann 2022b [%s]\n", __DATE__); + fprintf(file, "\\gdef\\@bibsortvers{2.5}\n"); /* new in 2.5 */ + } fprintf(file, "%%%%\n"); timestamp(file); + fprintf(file, "%%%% Sort arg(s):\n"); fprintf(file, "%s", vor); if (german == 1) fprintf(file, " -g1"); @@ -6215,7 +6482,7 @@ void printfilelist(FILE *file, int filec, int cc, const char *vor, const char *n } -int writelines(int nlines, const int dqcol, const int lancol, const int commentANDignlines, const int deepsort, int filec, int printsort, int kandkused, int oktitused) +int writelines(int nlines, const int dqcol, const int lancol, const int commentANDignlines, const int deepsort, int filec, int printsort, int kandkused, int mostoktitarg) { int i = 0, dqcat, lancat = 0, lancatbuf, extralines = 0, didsetorig, nerr = 0; @@ -6223,7 +6490,7 @@ int writelines(int nlines, const int dqcol, const int lancol, const int commentA while (i < nlines && leval[i] != ACCEPTLINE) { - nerr = nerr + writetheline(lineptr[i], 0, i, 0, filec, printsort, kandkused, oktitused); + nerr = nerr + writetheline(lineptr[i], 0, i, 0, filec, printsort, kandkused, mostoktitarg); ++i; } @@ -6253,7 +6520,7 @@ int writelines(int nlines, const int dqcol, const int lancol, const int commentA if ((dqcol > -1 && nogsty == 0) || lancol > -1) fprintf(outfile, "\n"); - nerr = nerr + writetheline(lineptr[i], nlines, i, deepsort, filec, printsort, kandkused, oktitused); + nerr = nerr + writetheline(lineptr[i], nlines, i, deepsort, filec, printsort, kandkused, mostoktitarg); ++i; } @@ -6287,7 +6554,7 @@ int writelines(int nlines, const int dqcol, const int lancol, const int commentA } } - nerr = nerr + writetheline(lineptr[i], nlines, i, deepsort, filec, printsort, kandkused, oktitused); + nerr = nerr + writetheline(lineptr[i], nlines, i, deepsort, filec, printsort, kandkused, mostoktitarg); ++i; } @@ -6566,9 +6833,7 @@ int checkifabbrisdefined(int nlines, int ret, char *Thead, const char *Thold, in int entkerne_IeC(char buf[], const char *s) { - int r = entkerne_arg(buf, s, IeC, '{', '}'); - del_ktitintro(buf); - return r; + return entkerne_arg(buf, s, IeC, '{', '}'); } @@ -8053,156 +8318,132 @@ void testdrucken(int linec, int alllines, int deep, char *subptr[MAXBACOLS][MAXL } -int check_kandk(int nlines) +#define WARNDOUBLEMAX 5 + +int fprint_out_ktit(int alllines, int deep, int ventry, const char *suffix) { - int i = 0; - int outkurz = 0; - int ktit = 0; + int linec = 0, i = 0, num = 0, numa = -1, numb = -1, numc = -1, numd = -1, kina = 0, kinb = 0, kinc = 0, kind = 0; + int mostoktitarg = O_KTIT_UNINIT, warndouble = 0, j = 0, numalter = 0; - while (i < nlines) - { - outkurz += num_of_cmds_in_str(lineptr[i], KURZCMD); - ktit += num_of_cmds_in_str(lineptr[i], KTITCMD); - ++i; - } + if (ventry == IS_V) + { + while (linec < alllines) + { + numa = -1; numb = -1; numc = -1; numd = -1; + i = 0; + while (i < deep) + { + num = num_of_cmds_in_str(subAptr[i][linec], KTITCMD); - if (outkurz > 0 && ktit > 0) - { - printf("%%%%\n%%%%> Warning: %d time(s) %s and %d time(s) %s found;\n", outkurz, KURZ, ktit, KTIT); - printf("%%%% see %s warnings in the output file.\n", KURZ); - } + if (num > 0) + { + j = i+1; + while (j < deep) + { + if ((numalter = num_of_cmds_in_str(subAptr[j][linec], KTITCMD)) > 0) + { + num = 0; + break; + } + ++j; + } + } - if (outkurz > 0 && ktit > 0) return 1; - return 0; -} + if (i == 0) { numa = num; } + else if (i == 1) { numb = num; } + else if (i == 2) { numc = num; } + else if (i == 3) { numd = num; } + else intern_err(40); + if (numa+numb+numc+numd > 1) + { + if (warndouble < WARNDOUBLEMAX) + { + printf("%%%%\n%%%%> Warning %s: *Outer* %s used %d times in:\n", subRptr[LINECOL][linec], KTIT, (numa+numb+numc+numd)); + printV(linec); + } + ++warndouble; + } + ++i; + } -int hasinnerentry(const char *p, const char *icmdlist[][2], const int num) -{ - int r = -1; + if (numa > 0) { ++kina; } + if (numb > 0) { ++kinb; } + if (numc > 0) { ++kinc; } + if (numd > 0) { ++kind; } - while (*p != '\0') - { - if (*p == '\\') - { - if (*(p+1) == '\\') ++p; - else - if ((r=innerentry(p, icmdlist, num)) > -1) break; - } - ++p; - } + ++linec; + } - return r; + if (warndouble > WARNDOUBLEMAX) + printf("%%%%\n%%%%> ... for %d futher entries with multiple %s see file.\n", warndouble-WARNDOUBLEMAX, KTIT); + + if (kina > kinb && kina > kinc && kina > kind) { mostoktitarg = MOST_O_KTIT_ARGONE; /* arg 1 most used */ } + else if (kinb > kina && kinb > kinc && kinb > kind) { mostoktitarg = MOST_O_KTIT_ARGTWO; /* arg 2 most used */ } + else if (kinc > kina && kinc > kinb && kinc > kind) { mostoktitarg = MOST_O_KTIT_ARGTHREE; /* arg 3 most used */ } + else if (kind > kina && kind > kinb && kind > kinc) { mostoktitarg = MOST_O_KTIT_ARGFOUR; /* arg 4 most used */ } + else if (kina > 0 || kinb > 0 || kinc > 0 || kind > 0) { mostoktitarg = O_KTIT_NOPREF; /* no preference */ } + else { mostoktitarg = O_KTIT_NOTUSED; /* ktit not used */ } + + printf("%%%%> Summary *outer* v-cmds in %s: %s ", suffix, KTIT); + if (mostoktitarg == O_KTIT_NOTUSED) + { + printf("never used.\n"); + } + else + if (mostoktitarg == O_KTIT_NOPREF) + { + printf("defined in different args!\n%%%%\n"); + /* kina, kinb, kinc, kind save lastused args with \ktit, + not all args with \ktit! */ + } + else + { + if (kina == alllines || kinb == alllines || kinc == alllines || kind == alllines) + { if (alllines > 1) printf("in all %d entries ", alllines); } + else + printf("NOT always "); + printf("defined in "); + if (alllines > 1) + { + if (kina == alllines || kinb == alllines || kinc == alllines || kind == alllines); + else printf("mostused "); + } + printf("arg %d.\n", mostoktitarg); + if (kina == alllines || kinb == alllines || kinc == alllines || kind == alllines); + else printf("%%%% *******\n"); + } + } + else + { + mostoktitarg = O_KTIT_UNINIT; /* ventry != IS_V */ + } + + return mostoktitarg; } -int check_ktit(int nlines, int ventry) +int check_kandk(int nlines) { - int i = 0, ohask = 0, ohasnok = 0, elsehask = 0, shadowedlines = 0, unshadnum = 0, l, ll, badlines = 0; - int ohk[MAXINFO]; - - if (ventry != IS_V) return 0; + int i = 0; + int outkurz = 0; + int ktit = 0; while (i < nlines) { - if (subAptr[VCOLS-1][i] == mydefault) - { - ++badlines; - } - else - { - l = num_of_cmds_in_str(subAptr[VCOLS-1][i], KTITCMD); - unshadnum += (ll=unshielded_cmds_in_str(subAptr[VCOLS-1][i], KTITCMD)); - - if (l > ll) - { - if (shadowedlines == 0) - printf("%%%%\n%%%%> Warning: { %s } is shadowed by brackets ...\n", KTIT); - printf("%%%% ... in entry from %s:\n", subRptr[LINECOL][i]); - printV(i); - ++shadowedlines; - } - - if (hasinnerentry(subAptr[VCOLS-1][i], innerK_PER_ARQ_cmd, INNERTITLES) > -1) - { - if (l > 0) - { - ++ohask; - } - else - { - if (ohasnok < MAXINFO) ohk[ohasnok] = i; - ++ohasnok; - } - } - else - if (l > 0) - ++elsehask; - } + outkurz += num_of_cmds_in_str(lineptr[i], KURZCMD); + ktit += num_of_cmds_in_str(lineptr[i], KTITCMD); ++i; } - if (shadowedlines > 0) printf("%%%%> A shadowed outer %s can not create %s in your text;\n%%%% a shadowed inner %s can not create a shortened reference in the list.\n%%%%\n", KTIT, ANNOUNCEKTIT, KTIT); - - if (badlines > 0) - printf("%%%%> %s: Can\'t check all entries (%d are corrupt).\n", KTIT, badlines); - - - if (badlines < nlines) + if (outkurz > 0 && ktit > 0) { - - if (ohask > 0 && ohasnok > 0) - { - printf("%%%%> Info: Items with inner title: %d with outer %s found, %d without.\n", ohask, KTIT, ohasnok); - } - - - if (ohasnok > 0) - { - printf("%%%%\n%%%%> Info: Entries with inner reference and no outer %s ...\n", KTIT); - i = 0; - while (i < MAXINFO && i < ohasnok) - { - l = ohk[i]; - printf("%%%% ... from %s:\n", subRptr[LINECOL][l]); - printV(l); - ++i; - } - if (ohasnok > 0) - printf("%%%%> This have been the first %d (of %d) entries without outer %s.\n%%%%\n", i, ohasnok, KTIT); - } - - - if ( (shadowedlines == 0 && badlines == 0) - || (elsehask + ohask == 0 && badlines == 0) - ) - printf("%%%%> Info: "); - - - if (shadowedlines == 0 && badlines == 0 && (ohask > 0 || elsehask > 0)) - { - if (elsehask+ohask == nlines) printf("All"); - else printf("NOT all"); - printf(" v-entries have (outer) %s cmds in their last arg", KTIT); /* VCOLS */ - if (elsehask+ohask == nlines) printf(".\n"); - else printf(":\n%%%% In case of %s see messages in the output file.\n", ANNOUNCEKTIT); - - if (nlines < unshadnum) - printf("%%%% I count %d unshadowed %s in %d entries (%d too much).\n", unshadnum, KTIT, nlines, unshadnum-nlines); - } - else if (elsehask + ohask == 0 && badlines == 0) - { - printf("You\'ve never used %s in last v-args:\n", KTIT); - printf("%%%% No info on outer %s in output file; no %s done.\n", KTIT, ANNOUNCEKTIT); - } + printf("%%%%\n%%%%> Warning: %d time(s) %s and %d time(s) %s found;\n", outkurz, KURZ, ktit, KTIT); + printf("%%%% see %s warnings in the output file.\n", KURZ); } - - l = 1; - if (elsehask + ohask == 0) l += 4; - if (ohask > 0 && ohasnok > 0) l += 2; - if (shadowedlines > 0) ++l; - return l; + if (outkurz > 0 && ktit > 0) return 1; + return 0; } @@ -8315,14 +8556,15 @@ int lastname_first(int nlines) void prepareoutput(const char *entry, const char *suffix, int deep, int deepsort, int filec, char *arg_i, char *arg_o, int prep_kill, const char *formO, int ventry, int printsort) { + int mostoktitarg = O_KTIT_UNINIT; /* new in 2.5 */ int nlines = 0, i = 0, extralines = 0, commentANDignlines = 0; - int filenum = -1, kandkused = 0, oktitused = 0, ex_err; + int filenum = -1, kandkused = 0, ex_err; char *outname = mydefault; if (arg_o == NULL) outname = makename(arg_i, suffix); else outname = makename(arg_o, suffix); - otherktiterr = 0; + ktiterr = 0; thisupperascii = 0; mystrncpy(this_emp_utf_eight, "", UTF_EIGHT_MAXLEN); mystrncpy(this_err_utf_eight, "", UTF_EIGHT_MAXLEN); @@ -8389,7 +8631,7 @@ void prepareoutput(const char *entry, const char *suffix, int deep, int deepsort } kandkused = check_kandk(nlines); - oktitused = check_ktit(nlines, ventry); + /* oktitused = check_ktit deleted in 2.5 */ if (ex_n == EXCHANGENAMES) { @@ -8408,9 +8650,13 @@ void prepareoutput(const char *entry, const char *suffix, int deep, int deepsort openfailed(outname); } else - { printf("%%%%> Write %d item(s) to file \"%s\".\n", nlines-commentANDignlines, outname); - if ((extralines = writelines(nlines, DQCOL, LANCOL, commentANDignlines, deepsort, filec, printsort, kandkused, oktitused)) > 0) + { + mostoktitarg = fprint_out_ktit(nlines, deep, ventry, suffix); + printf("%%%%> Write %d item(s) to file \"%s\".\n", nlines-commentANDignlines, outname); + if ((extralines = writelines(nlines, DQCOL, LANCOL, commentANDignlines, deepsort, filec, printsort, kandkused, mostoktitarg)) > 0) printf("%%%% (Have added %d line(s) containing commands for LaTeX.)\n", extralines); + if (ktiterr > 0) + printf("%%%%\n%%%%> ** Wrote %d comment(s) into file concerning %s. **\n%%%%\n", ktiterr, KTIT); } if (outfile != NULL) { fclose(outfile); fflush(outfile); } @@ -8579,7 +8825,7 @@ void print_utf_msg(const char err[UTF_EIGHT_MAXERR][UTF_EIGHT_MAXLEN+1], int err while (j < err_c && j < UTF_EIGHT_MAXERR) { printf("%%%%> %s utf8 sequence ", msg_a); - if (err[j][1] == '\0') printf("consisting only of char "); /* msg changed in 2.4 */ + if (err[j][1] == '\0') printf("consisting only of octet "); /* msg changed in 2.4, 2.5 */ i = 0; while(err[j][i] != '\0') { printf("%d", ((unsigned char)err[j][i])); if(err[j][i+1] != '\0') printf("-"); ++i; } a = ((unsigned char)err[j][0]); @@ -8624,8 +8870,8 @@ int main(int argc, char *argv[]) char *inname = mydefault, *arg_i = NULL, *arg_o = NULL; - printf("\n%%%%> This is bibsort 2.4 (for help: %s -\?)\n", getmyname(argv[0], 37)); - fprintf(stderr, "%%%% bibsort 2.4 is part of BibArts 2.4 (C) Timo Baumann 2022.\n"); + printf("\n%%%%> This is bibsort 2.5 (for help: %s -\?)\n", getmyname(argv[0], 37)); + fprintf(stderr, "%%%% bibsort 2.5 is part of BibArts 2.5 (C) Timo Baumann 2022b.\n"); argc = single_option(argc, argv, "-B", "-b"); @@ -8748,6 +8994,10 @@ int main(int argc, char *argv[]) encode = IS_TONE_ENC; } + /* utf8 new in 2.3 (begin with utf8enc.dfu 2021/01/27 v1.2l), + changed in 2.4 (= changes from v1.2l to 2021/06/21 v1.2n), + changed in 2.5 (= changes from v1.2n to 2022/06/07 v1.3c) + */ argc = single_option(argc, argv, "-utf8", "-UTF8"); if (argc < 0) { argc = -argc; @@ -8916,26 +9166,26 @@ int main(int argc, char *argv[]) /* l = loeschen */ /* e = entkernen */ /* X = weder loeschen noch entkernen */ - /* "----" KHVONUM Positionen: \\onlykurz \\onlyhere \\onlyvoll \\onlyout */ + /* "----" KHVONUM Positionen: \\onlykurz \\onlyhere \\onlyvoll \\onlyout [new in 2.5:] \\ktit <= X */ - prepareoutput("%\\literentry", VLI_SUFFIX, VCOLS, VCOLS, filec, arg_i, arg_o, kill, "llee", IS_V, printsort); - prepareoutput("%\\quellentry", VQU_SUFFIX, VCOLS, VCOLS, filec, arg_i, arg_o, kill, "llee", IS_V, printsort); - prepareoutput("%\\vkcitentry", VKC_SUFFIX, KCOLS, KCOLS, filec, arg_i, arg_o, DOKILLK, "elle", NO_V, printsort); + prepareoutput("%\\literentry", VLI_SUFFIX, VCOLS, VCOLS, filec, arg_i, arg_o, kill, "lleeX", IS_V, printsort); + prepareoutput("%\\quellentry", VQU_SUFFIX, VCOLS, VCOLS, filec, arg_i, arg_o, kill, "lleeX", IS_V, printsort); + prepareoutput("%\\vkcitentry", VKC_SUFFIX, KCOLS, KCOLS, filec, arg_i, arg_o, DOKILLK, "elleX", NO_V, printsort); - prepareoutput("%\\abkrzentry", ABK_SUFFIX, ACOLS, ACOLSSORT, filec, arg_i, arg_o, DOKILLABBREVS, "llee", NO_V, printsort); - prepareoutput("%\\perioentry", PER_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "llee", NO_V, printsort); - prepareoutput("%\\archqentry", ARQ_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "llee", IS_Q, printsort); + prepareoutput("%\\abkrzentry", ABK_SUFFIX, ACOLS, ACOLSSORT, filec, arg_i, arg_o, DOKILLABBREVS, "lleeX", NO_V, printsort); + prepareoutput("%\\perioentry", PER_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "lleeX", NO_V, printsort); + prepareoutput("%\\archqentry", ARQ_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "lleeX", IS_Q, printsort); - prepareoutput("%\\geogrentry", GRR_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "llee", NO_V, printsort); - prepareoutput("%\\persrentry", PRR_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "llee", NO_V, printsort); - prepareoutput("%\\subjrentry", SRR_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "llee", NO_V, printsort); + prepareoutput("%\\geogrentry", GRR_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "lleeX", NO_V, printsort); + prepareoutput("%\\persrentry", PRR_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "lleeX", NO_V, printsort); + prepareoutput("%\\subjrentry", SRR_SUFFIX, PCOLS, PCOLSSORT, filec, arg_i, arg_o, DOKILLREGISTS, "lleeX", NO_V, printsort); if (encode == IS_BASE_ENC && lastupperascii < 0) { printf("%%%%\n%%%%> Default encoding: Gave ASCIIs > 127 like %d NO sorting weight.\n", ((unsigned char)lastupperascii)); - fprintf(stderr, "%%%% Did ignore all ASCIIs > 127. Start me using -utf8 or -t1 \?\n"); + fprintf(stderr, "%%%% Did not evaluate your ASCIIs > 127. Start me using -utf8 or -t1 \?\n"); /* msg changed in 2.5 */ printf("%%%% *******\n"); } @@ -8955,7 +9205,7 @@ int main(int argc, char *argv[]) if (encode == IS_UTFE_ENC) { - print_utf_msg(err_utf_eight, utf_err_c, "Invalid", "invalid", "found", "ignore all", "invalid", "Are you sure, that your text editor uses utf8 \?"); + print_utf_msg(err_utf_eight, utf_err_c, "Invalid", "invalid", "found", "not interpret", "invalid", "Are you sure, that your text editor uses utf8 \?"); /* msg changed in 2.5 */ print_utf_msg(emp_utf_eight, utf_emp_c, "Gave", "all your", "no sorting weight", "not know the meaning of", "unknown", "Better replace this sequence(s) by LaTeX-cmds in your text."); if (lastupperascii == 0) no_upperascii_found_msg("-utf8"); } diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes index 2beb09e670..eb0e9277b8 100644 --- a/macros/latex/contrib/hvfloat/Changes +++ b/macros/latex/contrib/hvfloat/Changes @@ -1,4 +1,5 @@ hvfloat.sty: +2.42 2022-10-02 - fix for twoColumnCaption and multi(sub)floats 2.41 2022-09-01 - another fix full page floats without pagenumber and without using package floatpag 2.40 2022-07-20 - fix full page floats without pagenumber. We now use diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf Binary files differindex 4b98b8ea73..69b0e9a1a5 100644 --- a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf +++ b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty index b80e7ce0c1..2d2765308e 100644 --- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty +++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty @@ -1,4 +1,4 @@ -%% $Id: hvfloat.sty 596 2022-09-01 13:15:38Z herbert $ +%% $Id: hvfloat.sty 617 2022-10-02 14:25:10Z herbert $ %% %% %% IMPORTANT NOTICE: @@ -16,8 +16,8 @@ %% `hvfloat' offers rotating of captions and objects for floats %% \NeedsTeXFormat{LaTeX2e} -\def\fileversion{2.41} -\def\filedate{2022/09/01} +\def\fileversion{2.42} +\def\filedate{2022/10/02} \ProvidesPackage{hvfloat}[\filedate\space v\fileversion\space special floating objects (hv)] \let\hvFloatFileVersion\fileversion % @@ -1780,12 +1780,20 @@ \def\setBottomCaption{% - \begin{\hv@floatType}[!b]% + \ifhv@twoColumnCaption + \begin{\hv@floatType*}[!b]% + \else + \begin{\hv@floatType}[!b]% + \fi \expandafter\hvFloatSet\expandafter{\hv@save@setting}% \ifhv@separatorLine\drawSepLine\fi \par \usebox\hvCaptionBox - \end{\hv@floatType}% + \ifhv@twoColumnCaption + \end{\hv@floatType*}% + \else + \end{\hv@floatType}% + \fi } \def\setPageObject{% @@ -1827,7 +1835,8 @@ \ExplSyntaxOn \def\getMultiCaptionAndLabel{% - \global\sbox\hvCaptionBox{\minipage[b]{\linewidth}% + \ifhv@twoColumnCaption\hv@tempWidthA=\textwidth \else \hv@tempWidthA=\linewidth\fi + \global\sbox\hvCaptionBox{\minipage[b]{\hv@tempWidthA}% \captionsetup{aboveskip=\z@,belowskip=\z@,position=below,parbox=none}%,skip=-1ex}% \expandafter\hvFloatSet\expandafter{\hv@save@setting}% \parskip=-0.5\baselineskip diff --git a/macros/latex/contrib/kdpcover/DEPENDS.txt b/macros/latex/contrib/kdpcover/DEPENDS.txt index e33e267957..c4c670d01b 100644 --- a/macros/latex/contrib/kdpcover/DEPENDS.txt +++ b/macros/latex/contrib/kdpcover/DEPENDS.txt @@ -1,11 +1,9 @@ hard iexec hard xkeyval hard anyfontsize -hard tikz +hard pgf hard microtype hard xcolor -hard graphicx -hard calc hard setspace hard geometry -hard textpos +hard textpos
\ No newline at end of file diff --git a/macros/latex/contrib/kdpcover/LICENSE.txt b/macros/latex/contrib/kdpcover/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/kdpcover/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/kdpcover/README.md b/macros/latex/contrib/kdpcover/README.md index a3fe02d0f9..a50e85a40a 100644 --- a/macros/latex/contrib/kdpcover/README.md +++ b/macros/latex/contrib/kdpcover/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/kdpcover/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/kdpcover/actions/workflows/latexmk.yml) +[![make](https://github.com/yegor256/kdpcover/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/kdpcover/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/kdpcover)](https://ctan.org/pkg/kdpcover) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/kdpcover/blob/master/LICENSE.txt) This LaTeX class I use to format covers for [my books](https://www.yegor256.com/books.html), diff --git a/macros/latex/contrib/kdpcover/cactus.pdf b/macros/latex/contrib/kdpcover/cactus.pdf Binary files differnew file mode 100644 index 0000000000..f42d027a49 --- /dev/null +++ b/macros/latex/contrib/kdpcover/cactus.pdf diff --git a/macros/latex/contrib/kdpcover/kdpcover.cls b/macros/latex/contrib/kdpcover/kdpcover.cls deleted file mode 100644 index 9e38b0d3b5..0000000000 --- a/macros/latex/contrib/kdpcover/kdpcover.cls +++ /dev/null @@ -1,168 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{kdpcover}[2022/07/03 0.3.0 Cover for Kindle Direct Publishing books] -\LoadClass{article} - -\makeatletter -\newcommand*\kdp@pages{100} -\newlength\kdp@xsize -\setlength\kdp@xsize{6in} -\newlength\kdp@ysize -\setlength\kdp@ysize{9in} -\makeatother - -\RequirePackage{iexec} - -\RequirePackage{xkeyval} - -\makeatletter -\DeclareOptionX{6x9}{\setlength\kdp@xsize{6in}\setlength\kdp@ysize{9in}} -\DeclareOptionX{7x10}{\setlength\kdp@xsize{7in}\setlength\kdp@ysize{10in}} -\DeclareOptionX{8x10}{\setlength\kdp@xsize{8in}\setlength\kdp@ysize{10in}} -\DeclareOptionX{pages}{\renewcommand*\kdp@pages{#1}} -\newif\ifkdp@barless -\DeclareOptionX{barless}{\kdp@barlesstrue} -\DeclareOptionX{pdf}{% - \iexec[trace,quiet,stdout=kdpcover-pages-count.txt]{qpdf --show-npages #1 | tr -d '[[:space:]]' | \{ cat; echo \%; \}}% - \newread\kdp@pagescount% - \openin\kdp@pagescount=kdpcover-pages-count.txt - \read\kdp@pagescount to \kdp@pages% -} -\ProcessOptionsX\relax\makeatother - -\RequirePackage{anyfontsize} -\RequirePackage{tikz} -\RequirePackage[letterspace=-50]{microtype} -\RequirePackage{xcolor} -\RequirePackage{graphicx} -\RequirePackage{calc} - -\RequirePackage{setspace} - \setstretch{1.2} - -% The height of the page is 9 inches plus 0.125 "bleed" on top and -% on the bottom. -% Check this doc: https://kdp.amazon.com/en_US/help/topic/G201953020 -\makeatletter\newlength\kdp@height\makeatother% -\makeatletter\setlength\kdp@height{0.125in + \kdp@ysize + 0.125in}\makeatother% -% The width is 6 inches plus 0.125 "bleed" on each side. The width of the -% "spine" depends on the amount of pages in the book. -\makeatletter\newlength\kdp@width\makeatother -\makeatletter\setlength\kdp@width{0.125in + \kdp@xsize + 0.0025in * \kdp@pages + \kdp@xsize + 0.125in}\makeatother -\RequirePackage{geometry} - \makeatletter - \geometry{paperwidth=\kdp@width,paperheight=\kdp@height,left=0pt,right=0pt,top=0pt,bottom=0pt} - \makeatother -\RequirePackage[absolute]{textpos} - \TPGrid{16}{16} - -\makeatletter -\newcommand\putSpine[2][kdpcover-signature]{% - \ifkdp@barless\else - \begin{textblock}{2.4}[0.5,0](8,0)% - \begin{tikzpicture}% - \node [rectangle, inner sep=0em, fill=black, minimum width=2.4\TPHorizModule, minimum height=16\TPVertModule] at (0,0) {}; - \end{tikzpicture}% - \end{textblock}% - \fi - \begin{textblock}{1}[0.5,0](8,2)% - \begin{tikzpicture}% - \node [color=white, inner sep=0cm, outer sep=0cm, rotate=270, minimum height=\TPHorizModule] at (0,0) { - \Large #2 - };% - \end{tikzpicture}% - \end{textblock}% - \begin{textblock}{2.4}[0.5,1](8,14)% - \centerline{\includegraphics[width=0.32in]{#1}}% - \end{textblock}% -} -\makeatother - -\newcommand\putPicture[1]{% - \begin{textblock}{4}(10,2)% - \includegraphics[width=\textwidth]{#1} - \end{textblock}% -} - -\newcommand\putVolume[1]{% - \begin{textblock}{2}[1,1](15,14)% - \raggedleft - \includegraphics[height=0.4in]{kdpcover-vol-#1} - \end{textblock}% -} - -\newcommand\putPrice[1]{% - \begin{textblock}{4}[0,1](1,2)% - \small #1 - \end{textblock}% -} - -\newcommand\putBack[1]{% - \begin{textblock}{5}[0,0](1,3)% - \small #1 - \end{textblock}% -} - -\newcommand\putTitle[1]{% - \begin{textblock}{5}(10,9)% - \fontsize{32}{32}\selectfont #1 - \end{textblock}% -} - -\newcommand\putAuthor[1]{% - \begin{textblock}{4}(10,10)% - \large by #1 - \end{textblock}% -} - -\newcommand\putTLDR[1]{% - \begin{textblock}{5}(10,11)% - TL;DR #1 - \end{textblock}% -} - -\newcommand\putVersion[1]{% - \begin{textblock}{4}[0,1](10,14)% - #1 - \quad - \iexec{git log -n 1 --pretty='format:\%ad' --date='format:\%e-\%b-\%Y'} - \end{textblock}% -} - -\newcommand\putCopyright[2]{% - \begin{textblock}{4}[0,1](1,14)% - \small (c) - #1 #2 - \end{textblock}% -} - -\AtBeginDocument{% - \ttfamily% - \raggedright% - \setlength\parindent{0pt}% - \setlength\parskip{0pt}% - \interfootnotelinepenalty=10000% -} - -\endinput diff --git a/macros/latex/contrib/kdpcover/kdpcover.dtx b/macros/latex/contrib/kdpcover/kdpcover.dtx new file mode 100644 index 0000000000..0d3fc2b2b0 --- /dev/null +++ b/macros/latex/contrib/kdpcover/kdpcover.dtx @@ -0,0 +1,475 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{kdpcover.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{kdpcover.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e} +%<class>\ProvidesClass{kdpcover} +%<*class> +[02.10.2022 0.4.0 Cover for Kindle Direct Publishing books] +%</class> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{href-ul} +\raggedbottom +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{kdpcover.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|kdpcover|: \LaTeX{} Package \\ for Amazon Book Covers\thanks{The sources are in GitHub at \href{https://github.com/yegor256/kdpcover}{yegor256/kdpcover}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% + +% This class will render you a book cover, suitable for Kindle Direct Publishing (KDP). +% I use it for \href{https://amzn.to/2WMTXWF}{all my books}. +% This is how you make your \LaTeX{} document look like: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass[pages=200,6x9]{kdpcover} +\begin{document} +\putSpine{kdpcover, a LaTeX class for KDP books} +\putVolume{1} +\putVersion{0.4.0} +\putPrice{\$0.00} +\putCopyright{\the\year}{Yegor Bugayenko} +\putTitle{kdpcover} +\putAuthor{Yegor Bugayenko} +\putTLDR{This book will tell you an interesting story!} +\putPicture{cactus.pdf} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% The problem this class solves is the necessity to change the size of the +% cover PDF according to the number of pages in the book --- the bigger the book, +% the larger the spine of the book must be. The provided class makes +% the necessary calculations on-the-fly, using the |qpdf| tool. Obviously, +% you need to have it installed. Also, you must run pdflatex with +% the |--shell-escape| option, in order to allow \LaTeX{} to run |qpdf|. + +% \section{Class Options} + +% \begin{macro}{pages} +% With |pages| you can set the total count of the pages in the book: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass[pages=120]{kdpcover} +\begin{document} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \begin{macro}{pdf} +% It's better not to use |pages| option, but let the class calculate +% the size of your book from the PDF file (using |qpdf| command line +% tool, which has to be installed): +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass[pdf=book.pdf]{kdpcover} +\begin{document} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \begin{macro}{9x6} +% With this option you can set the size of the page to 6x9 inches. +% You can also set your own size like this: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass[6x9]{kdpcover} +\setlength\kdpxsize{8.1in} +\setlength\kdpysize{12.7in} +\begin{document} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \begin{macro}{barless} +% To get rid of the black bar at the center of the page, just add +% |barless| option: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass[barless]{kdpcover} +\begin{document} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \section{Commands} + +% \begin{macro}{\putSpine} +% The |\putSpine| command puts a vertical black spine line with two white elements +% inside: the text at the top and the logo at the bottom. Make sure +% the text is short enough so that it doesn't touch the logo. It's +% a good practice to mention the volume number at the end of the text, +% if you have more than one volume, e.g. "my book, vol. 1". I suggest +% using small caps in the text only. +% \end{macro} + +% \begin{macro}{\putVolume} +% This one prints the volume picture. It is intentionally made large, +% in order to make it obvious. +% \end{macro} + +% \begin{macro}{\putVersion} +% This one prints the version and it will also add the date of the latest +% Git commit in the current directory. If it's not a Git repository, +% the hash won't be printed. +% \end{macro} + +% \begin{macro}{\putPrice} +% This one prints the price, which is a good practice to mention, I believe. +% \end{macro} + +% \begin{macro}{\putCopyright} +% This one prints the copyright short message with the year and the +% name of the author. +% \end{macro} + +% \begin{macro}{\putCopyright} +% This one prints the title of the book +% \end{macro} + +% \begin{macro}{\putAuthor} +% This one prints the author. +% \end{macro} + +% \begin{macro}{\putTLDR} +% This one prints the TL;DR paragraph, which summarizies the message +% of the entire book. +% \end{macro} + +% \begin{macro}{\putTLDR} +% This one prints the front picture. You can use |cactus.pdf|. +% \end{macro} + +% \begin{macro}{\putBack} +% This is prints the text on the back of the book, which usually I suggest +% to omit and keep the back empty and white. +% \end{macro} + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.2.0}{2021/07/14}{Initial version} + +% First, we define a few internal commands: +% \begin{macrocode} +\makeatletter +\newcommand*\kdp@pages{100} +\newlength\kdp@xsize +\setlength\kdp@xsize{6in} +\newlength\kdp@ysize +\setlength\kdp@ysize{9in} +\makeatother +% \end{macrocode} + +% Then, we include |iexec| for being able to execute |qpdf|: +% \begin{macrocode} +\RequirePackage{iexec} +% \end{macrocode} + +% Then, we parse class options: +% \begin{macrocode} +\RequirePackage{xkeyval} +\makeatletter +\DeclareOptionX{6x9} + {\setlength\kdp@xsize{6in}\setlength\kdp@ysize{9in}} +\DeclareOptionX{7x10} + {\setlength\kdp@xsize{7in}\setlength\kdp@ysize{10in}} +\DeclareOptionX{8x10} + {\setlength\kdp@xsize{8in}\setlength\kdp@ysize{10in}} +\DeclareOptionX{pages} + {\renewcommand*\kdp@pages{#1}} +\newif\ifkdp@barless +\DeclareOptionX{barless}{\kdp@barlesstrue} +\DeclareOptionX{pdf}{% + \iexec[trace,quiet,stdout=kdpcover-pages-count.txt] + {qpdf --show-npages #1 | tr -d '[[:space:]]' | \{ cat; echo \%; \}}% + \newread\kdp@pagescount% + \openin\kdp@pagescount=kdpcover-pages-count.txt + \read\kdp@pagescount to \kdp@pages% +} +\ProcessOptionsX\relax\makeatother +% \end{macrocode} + +% Then, we include a few useful packages: +% \begin{macrocode} +\RequirePackage{anyfontsize} +\RequirePackage{tikz} +\RequirePackage[letterspace=-50]{microtype} +\RequirePackage{xcolor} +\RequirePackage{graphicx} +\RequirePackage{calc} +% \end{macrocode} + +% Then, we set spacing using |setspace|: +% \begin{macrocode} +\RequirePackage{setspace} + \setstretch{1.2} +% \end{macrocode} + +% Then, we set calculate size. +% The height of the page is 9 inches plus 0.125 "bleed" on top and +% on the bottom, see \href{https://kdp.amazon.com/en_US/help/topic/G201953020}{this}. +% The width is 6 inches plus 0.125 "bleed" on each side. The width of the +% "spine" depends on the amount of pages in the book. +% \begin{macrocode} +\makeatletter + \newlength\kdp@height + \setlength\kdp@height{0.125in + \kdp@ysize + 0.125in} + \newlength\kdp@width + \setlength\kdp@width{ + 0.125in + \kdp@xsize + + 0.0025in * \kdp@pages + + \kdp@xsize + 0.125in} +\makeatother +% \end{macrocode} + +% Then, we set the size of the page, using |geometry|: +% \begin{macrocode} +\RequirePackage{geometry} +\makeatletter +\geometry{paperwidth=\kdp@width,paperheight=\kdp@height, + left=0pt,right=0pt,top=0pt,bottom=0pt} +\makeatother +% \end{macrocode} + +% Then, we set coordinates using |textpos|: +% \begin{macrocode} +\RequirePackage[absolute]{textpos} +\TPGrid{16}{16} +% \end{macrocode} + +% \begin{macro}{\putSpine} +% Then, we define |\putSpine|: +% \begin{macrocode} +\makeatletter\newcommand\putSpine[2][kdpcover-signature]{% + \ifkdp@barless\else + \begin{textblock}{2.4}[0.5,0](8,0)% + \begin{tikzpicture}% + \node [rectangle, inner sep=0em, fill=black, + minimum width=2.4\TPHorizModule, + minimum height=16\TPVertModule] at (0,0) {}; + \end{tikzpicture}% + \end{textblock}% + \fi + \begin{textblock}{1}[0.5,0](8,2)% + \begin{tikzpicture}% + \node [color=white, inner sep=0cm, outer sep=0cm, + rotate=270, minimum height=\TPHorizModule] at (0,0) { + \Large #2 + };% + \end{tikzpicture}% + \end{textblock}% + \begin{textblock}{2.4}[0.5,1](8,14)% + \centerline{\includegraphics[width=0.32in]{#1}}% + \end{textblock}% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putPicture} +% Then, we define |\putPicture|: +% \begin{macrocode} +\newcommand\putPicture[1]{% + \begin{textblock}{4}(10,2)% + \includegraphics[width=\textwidth]{#1} + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putVolume} +% Then, we define |\putVolume|: +% \begin{macrocode} +\newcommand\putVolume[1]{% + \begin{textblock}{2}[1,1](15,14)% + \raggedleft + \includegraphics[height=0.4in]{kdpcover-vol-#1} + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putPrice} +% Then, we define |\putPrice|: +% \begin{macrocode} +\newcommand\putPrice[1]{% + \begin{textblock}{4}[0,1](1,2)% + \small #1 + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putBack} +% Then, we define |\putBack|: +% \begin{macrocode} +\newcommand\putBack[1]{% + \begin{textblock}{5}[0,0](1,3)% + \small #1 + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putTitle} +% Then, we define |\putTitle|: +% \begin{macrocode} +\newcommand\putTitle[1]{% + \begin{textblock}{5}(10,9)% + \fontsize{32}{32}\selectfont #1 + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putAuthor} +% Then, we define |\putAuthor|: +% \begin{macrocode} +\newcommand\putAuthor[1]{% + \begin{textblock}{4}(10,10)% + \large by #1 + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putTLDR} +% Then, we define |\putTLDR|: +% \begin{macrocode} +\newcommand\putTLDR[1]{% + \begin{textblock}{5}(10,11)% + TL;DR #1 + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putVersion} +% Then, we define |\putVersion|: +% \begin{macrocode} +\newcommand\putVersion[1]{% + \begin{textblock}{4}[0,1](10,14)% + #1 + \quad + \iexec{git log -n 1 --pretty='format:\%ad' --date='format:\%e-\%b-\%Y'} + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\putCopyright} +% Then, we define |\putCopyright|: +% \begin{macrocode} +\newcommand\putCopyright[2]{% + \begin{textblock}{4}[0,1](1,14)% + \small (c) + #1 #2 + \end{textblock}% +} +% \end{macrocode} +% \end{macro} + +% Finally, a few layout instructions: +% \begin{macrocode} +\AtBeginDocument{% + \ttfamily% + \raggedright% + \setlength\parindent{0pt}% + \setlength\parskip{0pt}% + \interfootnotelinepenalty=10000% +} +% \end{macrocode} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/kdpcover/kdpcover.ins b/macros/latex/contrib/kdpcover/kdpcover.ins new file mode 100644 index 0000000000..e5b5eccbd5 --- /dev/null +++ b/macros/latex/contrib/kdpcover/kdpcover.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/kdpcover} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{kdpcover.cls}{\from{kdpcover.dtx}{class}}} +\obeyspaces +\Msg{*** To finish the installation you have to move the ".cls"} +\Msg{*** file into a directory searched by TeX. To produce the} +\Msg{*** documentation run the file ".dtx" through LaTeX. If any} +\Msg{*** questions, submit a new GitHub issue.} +\endbatchfile diff --git a/macros/latex/contrib/kdpcover/kdpcover.pdf b/macros/latex/contrib/kdpcover/kdpcover.pdf Binary files differindex 984c26469b..a59838ee2a 100644 --- a/macros/latex/contrib/kdpcover/kdpcover.pdf +++ b/macros/latex/contrib/kdpcover/kdpcover.pdf diff --git a/macros/latex/contrib/kdpcover/kdpcover.tex b/macros/latex/contrib/kdpcover/kdpcover.tex deleted file mode 100644 index 793ba90b01..0000000000 --- a/macros/latex/contrib/kdpcover/kdpcover.tex +++ /dev/null @@ -1,93 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -% Here we set the total count of the pages in the book and set the size -% of the page to 6x9 inches. You can set your own size like this: -% \setlength\kdpxsize{8.1in} -% \setlength\kdpysize{12.7in} -% It's better not to use "pages" option here, but to let it calculate -% the size of your book from the PDF file. Just say "pdf=book.pdf" and it -% will be calculated automatically. -% -% To get rid of the black bar at the center of the page, just add -% "barless" option here. -\documentclass[pages=200,6x9]{kdpcover} - -\begin{document} -% Here we put the vertical black spine line with two white elements -% inside: the text at the top and the logo at the bottom. Make sure -% the text is short enough so that it doesn't touch the logo. It's -% a good practice to mention the volume number at the end of the text, -% if you have more than one volume, e.g. "my book, vol. 1". I suggest -% using small caps in the text only. -\putSpine{kdpcover, a LaTeX class for KDP books} - -% This one prints the volume picture. It is intentionally made large, -% in order to make it obvious. -\putVolume{1} - -% Here we print the version and it will also add the date of the latest -% Git commit in the current directory. If it's not a Git repository, -% the date won't be printed. -\putVersion{0.3.0} - -% This prints the price, which is a good practice to mention, I believe. -\putPrice{\$0.00} - -% This one prints the copyright short message with the year and the -% name of the autor. -\putCopyright{\the\year}{Yegor Bugayenko} - -% Here we print the title of the book -\putTitle{kdpcover} - -% Here we print the author. -\putAuthor{Yegor Bugayenko} - -% Here we print the TL;DR paragraph, which summarizies the message -% of the entire book. -\putTLDR{I use this LaTeX class to design covers for my books published -by Kindle Direct Publishing; you also can do it, provided you like the layout and the style.} - -% The picture. -\putPicture{cactus.pdf} - -% This is the text on the back of the book, which usually I suggest -% to omit and keep the back empty and white. -\putBack{ - You need to either specify the number of pages - in your PDF book, or provide the path to the PDF. - In the latter case, the pages will be counted using - "qpdf," which has to be installed: - \newline\newline - \char`\\documentclass[pages=200,pdf=book.pdf]\string{kdpcover\string}\newline - \char`\\begin\string{document\string}\newline - \char`\\putSpine\string{my book\string}\newline - \char`\\end\string{document\string} - \newline\newline - See the file "kdpcover.tex" for a full example with all - available commands and class options. - \newline\newline - Even more details you can find on GitHub:\newline - https://github.com/yegor256/kdpcover -} -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/srdp-mathematik/README.md b/macros/latex/contrib/srdp-mathematik/README.md index dae98aacba..d9add6410e 100644 --- a/macros/latex/contrib/srdp-mathematik/README.md +++ b/macros/latex/contrib/srdp-mathematik/README.md @@ -1,4 +1,4 @@ -# srdp-mathematik.sty v1.10.1 +# srdp-mathematik.sty v1.10.2 This package provides basic commands for the defined formats of the Austrian sRDP in mathematics. Furthermore, it includes ways to implement answers in the tex file, which can be voluntarily displayed in the pdf file and diff --git a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf Binary files differindex 7b0ef3ce76..3fa05e4243 100644 --- a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf +++ b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.pdf diff --git a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty index 5e46806938..d0bbee7b01 100644 --- a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty +++ b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.sty @@ -10,7 +10,7 @@ % \NeedsTeXFormat{LaTeX2e}[1996/12/26] -\ProvidesPackage{srdp-mathematik}[2022/09/11 v1.10.1 Standard-Schularbeitsformate] +\ProvidesPackage{srdp-mathematik}[2022/10/02 v1.10.2 Standard-Schularbeitsformate] \usepackage{color} @@ -411,7 +411,7 @@ Erreichte Punkte &Gesamt&\multicolumn{2}{c}{Note}& \\ &\multirow{2}{*}{\thepunkte} &&& \\} &&&& \\ \hline \hline \ifthenelse{\equal{#3}{ms}}{}{\scriptsize{Sehr gut}} & \ifthenelse{\equal{#3}{ms}}{}{\scriptsize{Gut}} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ -\ifthenelse{\equal{#3}{ms}}{}{\scriptsize{\thepunkte ~ - \ifdim\gut pt=\gutgenau pt \gut\else\gutpluseins\fi}}& \ifthenelse{\equal{#3}{ms}}{}{\scriptsize{\ifdim\gut pt=\gutgenau pt \gutminuseins\else\gut\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~ - \ifdim\befriedigend pt=\befriedigendgenau pt \befriedigend\else\befriedigendpluseins\fi}} & \scriptsize{\ifdim\befriedigend pt=\befriedigendgenau pt \befriedigendminuseins\else\befriedigend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~ - \ifdim\genuegend pt=\genuegendgenau pt \genuegend\else\genuegendpluseins\fi} & \scriptsize{\ifdim\genuegend pt=\genuegendgenau pt \genuegendminuseins\else\genuegend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~ - \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} & \scriptsize{unter \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} \\ \hline +\ifthenelse{\equal{#3}{ms}}{}{\scriptsize{\thepunkte\ ~-~ \ifdim\gut pt=\gutgenau pt \gut\else\gutpluseins\fi}}& \ifthenelse{\equal{#3}{ms}}{}{\scriptsize{\ifdim\gut pt=\gutgenau pt \gutminuseins\else\gut\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~-~ \ifdim\befriedigend pt=\befriedigendgenau pt \befriedigend\else\befriedigendpluseins\fi}} & \scriptsize{\ifdim\befriedigend pt=\befriedigendgenau pt \befriedigendminuseins\else\befriedigend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~-~ \ifdim\genuegend pt=\genuegendgenau pt \genuegend\else\genuegendpluseins\fi} & \scriptsize{\ifdim\genuegend pt=\genuegendgenau pt \genuegendminuseins\else\genuegend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~-~ \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} & \scriptsize{unter \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} \\ \hline \end{tabular} \end{center}\STautoround{}\normalsize} @@ -429,36 +429,46 @@ Erreichte Punkte &Gesamt&\multicolumn{2}{c}{Note}& \\ &\multirow{2}{*}{\ifthenelse{\equal{#1}{}}{\thepunkte}{#1}} &&& \\} &&&& \\ \hline \hline \scriptsize{Sehr gut} & \scriptsize{Gut} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ -\scriptsize{\ifthenelse{\equal{#1}{}}{\thepunkte}{#1} ~ - #3}& \scriptsize{#4 ~ - #5} & \scriptsize{#6 ~ - #7} & \scriptsize{#8 ~ - #9} & \scriptsize{unter #9} \\ \hline +\scriptsize{\ifthenelse{\equal{#1}{}}{\thepunkte\ }{#1} ~-~ #3}& \scriptsize{#4 ~-~ #5} & \scriptsize{#6 ~-~ #7} & \scriptsize{#8 ~-~ #9} & \scriptsize{unter #9} \\ \hline \end{tabular} \end{center}\normalsize} -\NewDocumentCommand{\punkteverteilung}{ O{} O{} O{} m m m m}{ +\NewDocumentCommand{\punkteverteilung}{ O{} m m m m}{ \null\vfill \STautoround{3}\renewcommand{\arraystretch}{0}\tiny \begin{spreadtab}[\STsavecell\gutgenau{b2} \STsavecell\befriedigendgenau{c2} \STsavecell\genuegendgenau{d2} \STsavecell\nichtgenuegendgenau{e2} \STsavecell\gut{b3} \STsavecell\befriedigend{c3} \STsavecell\genuegend{d3} \STsavecell\nichtgenuegend{e3} \STsavecell\gutpluseins{b4} \STsavecell\befriedigendpluseins{c4} \STsavecell\genuegendpluseins{d4} \STsavecell\nichtgenuegendpluseins{e4} \STsavecell\gutminuseins{b5} \STsavecell\befriedigendminuseins{c5} \STsavecell\genuegendminuseins{d5} \STsavecell\nichtgenuegendminuseins{e5}]{{tabular}{ccccc}} \SThidecol\thepunkte &\SThidecol 1 &\SThidecol2 &\SThidecol 3 &\SThidecol 4 \\ - & a1*#4 &a1*#5 & a1*#6 & a1*#7 \\ - &trunc(a1*#4,0) & trunc(a1*#5,0) &trunc(a1*#6,0) &trunc(a1*#7,0) \\ + & a1*#2 &a1*#3 & a1*#4 & a1*#5 \\ + &trunc(a1*#2,0) & trunc(a1*#3,0) &trunc(a1*#4,0) &trunc(a1*#5,0) \\ &b3+1 &c3+1 &d3+1 & e3+1\\ &b3-1 &c3-1 &d3-1 & e3-1\\ \end{spreadtab} \footnotesize\renewcommand{\arraystretch}{1} \begin{center} \begin{tabular}{|C{3cm}C{3cm}C{3cm}C{3cm}C{3cm}|}\hline -\ifthenelse{\equal{#3}{ms}}{}{\scriptsize{Sehr gut}} & \ifthenelse{\equal{#3}{ms}}{}{\scriptsize{Gut}} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ -\ifthenelse{\equal{#3}{ms}}{}{\scriptsize{\thepunkte ~ - \ifdim\gut pt=\gutgenau pt \gut\else\gutpluseins\fi}}& \ifthenelse{\equal{#3}{ms}}{}{\scriptsize{\ifdim\gut pt=\gutgenau pt \gutminuseins\else\gut\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~ - \ifdim\befriedigend pt=\befriedigendgenau pt \befriedigend\else\befriedigendpluseins\fi}} & \scriptsize{\ifdim\befriedigend pt=\befriedigendgenau pt \befriedigendminuseins\else\befriedigend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~ - \ifdim\genuegend pt=\genuegendgenau pt \genuegend\else\genuegendpluseins\fi} & \scriptsize{\ifdim\genuegend pt=\genuegendgenau pt \genuegendminuseins\else\genuegend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~ - \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} & \scriptsize{unter \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} \\ \hline +\scriptsize{Sehr gut} & \scriptsize{Gut} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ +\scriptsize{\thepunkte\ ~-~ \ifdim\gut pt=\gutgenau pt \gut\else\gutpluseins\fi}& \scriptsize{\ifdim\gut pt=\gutgenau pt \gutminuseins\else\gut\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~-~ \ifdim\befriedigend pt=\befriedigendgenau pt \befriedigend\else\befriedigendpluseins\fi} & \scriptsize{\ifdim\befriedigend pt=\befriedigendgenau pt \befriedigendminuseins\else\befriedigend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~-~ \ifdim\genuegend pt=\genuegendgenau pt \genuegend\else\genuegendpluseins\fi} & \scriptsize{\ifdim\genuegend pt=\genuegendgenau pt \genuegendminuseins\else\genuegend\fi \ifthenelse{\equal{#1}{1/2}}{,5}{} ~-~ \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} & \scriptsize{unter \ifdim\nichtgenuegend pt=\nichtgenuegendgenau pt \nichtgenuegend\else\nichtgenuegendpluseins\fi} \\ \hline \end{tabular} \end{center}\STautoround{}\normalsize} -% for legacy reason -\newcommand{\notenschluesselop}[5][1]{\notenschluessel[#1]{#2}{#3}{#4}{#5}} -%%%%%%%%%%%%%%%%% -% + + +\NewDocumentCommand{\individualpunkteverteilung}{m m m m m m m}{ +\null\vfill +\footnotesize\renewcommand{\arraystretch}{1} +\begin{center} +\begin{tabular}{|C{3cm}C{3cm}C{3cm}C{3cm}C{3cm}|}\hline +\scriptsize{Sehr gut} & \scriptsize{Gut} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ +\scriptsize{\thepunkte\ ~-~ #1}& \scriptsize{#2 ~-~ #3} & \scriptsize{#4 ~-~ #5} & \scriptsize{#6 ~-~ #7} & \scriptsize{unter #7} \\ \hline +\end{tabular} +\end{center}\normalsize} + + + %%%%%%%%%%%%%%%%%% GAP DEFINITION % % @@ -537,9 +547,9 @@ title1/.initial=, \newcounter{teilzwei} -\newcommand{\beurteilung}[5]{ +\newcommand{\beurteilung}[6][]{ \bgroup -\jeroen@set@keys{#5}% +\jeroen@set@keys{#6}% \setcounter{teileins}{\jeroen@get{T1}}% \setcounter{teilzwei}{\jeroen@get{T2}}% \FPeval{total}{clip(\jeroen@get{T1}+\jeroen@get{T2})}% @@ -556,80 +566,31 @@ Teil 2 &\jeroen@get{T2} &\\\hline Beurteilung: \rule{10.5cm}{0.4pt} \end{center} -\defgesamtpunkte{\total}\punkteverteilung[1/2]{#1}{#2}{#3}{#4}\defgesamtpunkte{0} +\defgesamtpunkte{\total}\punkteverteilung[#1]{#2}{#3}{#4}{#5}\defgesamtpunkte{0} \egroup } -\newcommand{\beurteilungsraster}[5]{ -\bgroup - \jeroen@set@keys{#5} -\setcounter{teileins}{\jeroen@get{T1}} -\setcounter{ausgleichspkte}{\jeroen@get{AP}} -\setcounter{teilzwei}{\jeroen@get{T2}} -\STautoround{0} -\begin{spreadtab}[\STsavecell{\positiv}{b1} \STsavecell{\gesamtpunkte}{c1}]{{tabular}{ccc}} - \SThiderow &\theteileins/3*2 & \theteileins+\theausgleichspkte+\theteilzwei \\ -\end{spreadtab} - - -\small -Die Schularbeit besteht aus Teil 1 (Grundkompetenzen) und Teil 2 (vernetzte und erweiterte Grundkompetenzen). In Teil 1 und Teil 2 sind jeweils \jeroen@get{T1} Punkte zu erreichen. \jeroen@get{AP} Punkte aus Teil 2 k\"onnen zum Ausgleich fehlender Grundkompetenzpunkte aus Teil 1 herangezogen werden. Diese sind in der Angabe mit \fbox{A} gekennzeichnet. - -\tiny -\STautoround{0} -\begin{spreadtab}[\STsavecell\brzweigrenze{f1} \STsavecell\gut{b2} \STsavecell\befriedigend{c2} \STsavecell{\genuegend}{d2} \STsavecell{\nichtgenuegend}{e2} \STsavecell\brzweibefriedigend{f2} \STsavecell{\gutminuseins}{b3} \STsavecell{\befriedigendminuseins}{c3} \STsavecell{\genuegendminuseins}{d3} \STsavecell\brzweigrenzeminuseins{e3} \STsavecell\brzweibefriedigendminuseins{f3}]{{tabular}{cccccc}} -\SThidecol \gesamtpunkte & \SThidecol 1 &\SThidecol 2 & \SThidecol 3 &\SThidecol 4 & \SThidecol \gesamtpunkte*0.75\\ % \SThidecol -&a1*#1 &a1*#2 &a1*#3 &a1*#4 & \gesamtpunkte*0.6\\ -& b2-1 &c2-1 &d2-1 & f1-1 & f2-1\\ %\SThiderow -\end{spreadtab} -\small - -\textbf{Zwei Beurteilungswege} - -\begin{enumerate}[1)] - \item Wenn mindestens \positiv~Punkte aus Teil 1, allenfalls unter Einbeziehung der Ausgleichspunkte aus \mbox{Teil 2} erreicht werden, gilt folgender Beurteilungsschlüssel:\vspace{0.3cm} - -\footnotesize -\begin{tabular}{C{2.8cm}C{2.8cm}C{2.8cm}C{2.8cm}C{2.8cm}} -\scriptsize{Sehr gut} & \scriptsize{Gut} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ -\scriptsize{\gesamtpunkte ~-~ \gut} & \scriptsize{\gutminuseins,5 ~-~ \befriedigend} & \scriptsize{\befriedigendminuseins,5 ~-~ \genuegend} & \scriptsize{\genuegendminuseins,5 ~-~ \nichtgenuegend} & \scriptsize{unter \nichtgenuegend} \\ -\end{tabular} -\STautoround{}\vspace{0.3cm} - -\small -\item Wenn weniger als \positiv\ Punkte aus Teil 1, allenfalls unter Einbeziehung der Ausgleichspunkte aus \mbox{Teil 2} erreicht werden, dann kann auf diesem Weg ein \glqq Gen\"ugend\grqq\ oder \glqq Befriedigend\grqq\ erreicht werden: \vspace{0.3cm} - -\footnotesize -\begin{tabular}{C{2.8cm}C{2.8cm}} -\scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} \\ -\scriptsize{\brzweigrenzeminuseins,5 ~-~ \brzweibefriedigend} & \scriptsize{\brzweibefriedigendminuseins,5 ~-~\genuegend}\\ -\end{tabular} -\STautoround{} \vspace{0.3cm} - -\small -Ab \brzweigrenze\ erreichten Punkten gilt der unter 1) angeführte Beurteilungsschlüssel. - -Die Arbeit wird mit \glqq Nicht genügend\grqq\ beurteilt, wenn im Teil 1 unter Berücksichtigung der \jeroen@get{AP} Ausgleichspunkte aus Teil 2 weniger als \nichtgenuegend\ Punkte und insgesamt weniger als \genuegend\ Punkte erreicht wurden. -\end{enumerate} \leer -\vfil +\newcommand{\individualbeurteilung}[8]{ +\bgroup +\jeroen@set@keys{#8}% +\setcounter{teileins}{\jeroen@get{T1}}% +\setcounter{teilzwei}{\jeroen@get{T2}}% +\FPeval{total}{clip(\jeroen@get{T1}+\jeroen@get{T2})}% -\renewcommand{\arraystretch}{1.5} \begin{center} +\renewcommand{\arraystretch}{1.5} \begin{tabular}{p{5cm}p{4cm}l} &Punkte&davon erreicht\\ \hline -Teil 1&\jeroen@get{T1}&\\ \hline -Teil 2: Ausgleichspunkte & \jeroen@get{AP} &\\ \hline -&Zwischensumme &\\ \hline -Teil 2: sonstige Punkte &\jeroen@get{T2} &\\ \hline -& $\Sigma=\gesamtpunkte$ & \\ \hline -Beurteilungsweg & \fbox{1} oder \fbox{2} \\ \hline -\end{tabular} -\vspace{1cm} +Teil 1&\jeroen@get{T1}&\\\hline +Teil 2 &\jeroen@get{T2} &\\\hline +& $\Sigma= \total$ & \\\hline +\end{tabular}\vspace{1.5cm} -Beurteilung: \rule{8cm}{0.4pt} +Beurteilung: \rule{10.5cm}{0.4pt} \end{center} -\renewcommand{\arraystretch}{1} + +\defgesamtpunkte{\total}\individualpunkteverteilung{#1}{#2}{#3}{#4}{#5}{#6}{#7}\defgesamtpunkte{0} \egroup } @@ -1099,6 +1060,92 @@ Complete the following sentence by putting a cross next to one of the given poss \end{tabu}\leer \egroup} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%% OBSOLETE COMMANDS -- FOR LEGACY REASONS %%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\notenschluesselop}[5][1]{\notenschluessel[#1]{#2}{#3}{#4}{#5}} +%%%%%%%%%%%%%%%%% + +\newcommand{\beurteilungsraster}[5]{ +\bgroup + \jeroen@set@keys{#5} +\setcounter{teileins}{\jeroen@get{T1}} +\setcounter{ausgleichspkte}{\jeroen@get{AP}} +\setcounter{teilzwei}{\jeroen@get{T2}} +\STautoround{0} +\begin{spreadtab}[\STsavecell{\positiv}{b1} \STsavecell{\gesamtpunkte}{c1}]{{tabular}{ccc}} + \SThiderow &\theteileins/3*2 & \theteileins+\theausgleichspkte+\theteilzwei \\ +\end{spreadtab} + + +\small +Die Schularbeit besteht aus Teil 1 (Grundkompetenzen) und Teil 2 (vernetzte und erweiterte Grundkompetenzen). In Teil 1 und Teil 2 sind jeweils \jeroen@get{T1} Punkte zu erreichen. \jeroen@get{AP} Punkte aus Teil 2 k\"onnen zum Ausgleich fehlender Grundkompetenzpunkte aus Teil 1 herangezogen werden. Diese sind in der Angabe mit \fbox{A} gekennzeichnet. + +\tiny +\STautoround{0} +\begin{spreadtab}[\STsavecell\brzweigrenze{f1} \STsavecell\gut{b2} \STsavecell\befriedigend{c2} \STsavecell{\genuegend}{d2} \STsavecell{\nichtgenuegend}{e2} \STsavecell\brzweibefriedigend{f2} \STsavecell{\gutminuseins}{b3} \STsavecell{\befriedigendminuseins}{c3} \STsavecell{\genuegendminuseins}{d3} \STsavecell\brzweigrenzeminuseins{e3} \STsavecell\brzweibefriedigendminuseins{f3}]{{tabular}{cccccc}} +\SThidecol \gesamtpunkte & \SThidecol 1 &\SThidecol 2 & \SThidecol 3 &\SThidecol 4 & \SThidecol \gesamtpunkte*0.75\\ % \SThidecol +&a1*#1 &a1*#2 &a1*#3 &a1*#4 & \gesamtpunkte*0.6\\ +& b2-1 &c2-1 &d2-1 & f1-1 & f2-1\\ %\SThiderow +\end{spreadtab} +\small + +\textbf{Zwei Beurteilungswege} + +\begin{enumerate}[1)] + \item Wenn mindestens \positiv~Punkte aus Teil 1, allenfalls unter Einbeziehung der Ausgleichspunkte aus \mbox{Teil 2} erreicht werden, gilt folgender Beurteilungsschlüssel:\vspace{0.3cm} + +\footnotesize +\begin{tabular}{C{2.8cm}C{2.8cm}C{2.8cm}C{2.8cm}C{2.8cm}} +\scriptsize{Sehr gut} & \scriptsize{Gut} & \scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} & \scriptsize{Nicht gen\"ugend} \\ +\scriptsize{\gesamtpunkte ~-~ \gut} & \scriptsize{\gutminuseins,5 ~-~ \befriedigend} & \scriptsize{\befriedigendminuseins,5 ~-~ \genuegend} & \scriptsize{\genuegendminuseins,5 ~-~ \nichtgenuegend} & \scriptsize{unter \nichtgenuegend} \\ +\end{tabular} +\STautoround{}\vspace{0.3cm} + +\small +\item Wenn weniger als \positiv\ Punkte aus Teil 1, allenfalls unter Einbeziehung der Ausgleichspunkte aus \mbox{Teil 2} erreicht werden, dann kann auf diesem Weg ein \glqq Gen\"ugend\grqq\ oder \glqq Befriedigend\grqq\ erreicht werden: \vspace{0.3cm} + +\footnotesize +\begin{tabular}{C{2.8cm}C{2.8cm}} +\scriptsize{Befriedigend} & \scriptsize{Gen\"ugend} \\ +\scriptsize{\brzweigrenzeminuseins,5 ~-~ \brzweibefriedigend} & \scriptsize{\brzweibefriedigendminuseins,5 ~-~\genuegend}\\ +\end{tabular} +\STautoround{} \vspace{0.3cm} + +\small +Ab \brzweigrenze\ erreichten Punkten gilt der unter 1) angeführte Beurteilungsschlüssel. + +Die Arbeit wird mit \glqq Nicht genügend\grqq\ beurteilt, wenn im Teil 1 unter Berücksichtigung der \jeroen@get{AP} Ausgleichspunkte aus Teil 2 weniger als \nichtgenuegend\ Punkte und insgesamt weniger als \genuegend\ Punkte erreicht wurden. + +\end{enumerate} \leer +\vfil + +\renewcommand{\arraystretch}{1.5} +\begin{center} +\begin{tabular}{p{5cm}p{4cm}l} +&Punkte&davon erreicht\\ \hline +Teil 1&\jeroen@get{T1}&\\ \hline +Teil 2: Ausgleichspunkte & \jeroen@get{AP} &\\ \hline +&Zwischensumme &\\ \hline +Teil 2: sonstige Punkte &\jeroen@get{T2} &\\ \hline +& $\Sigma=\gesamtpunkte$ & \\ \hline +Beurteilungsweg & \fbox{1} oder \fbox{2} \\ \hline +\end{tabular} +\vspace{1cm} + +Beurteilung: \rule{8cm}{0.4pt} +\end{center} +\renewcommand{\arraystretch}{1} +\egroup +} + + + %%%%%%%%%%%%%%%%%%%%%%%%%% Zusatz: änderung für chemie-package %%%%%%%%% %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%% diff --git a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex index 9468954d3c..1c7d82e696 100644 --- a/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex +++ b/macros/latex/contrib/srdp-mathematik/srdp-mathematik.tex @@ -55,7 +55,7 @@ hidelinks \vfill -\Huge The \textit{srdp-mathematik} package v1.10.1\\[1cm] +\Huge The \textit{srdp-mathematik} package v1.10.2\\[1cm] Documentation \\ [1cm] @@ -287,6 +287,17 @@ Der Befehl \texttt{\textbackslash beurteilung} ist ein für Schularbeiten angepa T2={8}, % Punkte im Teil 2 } + +\subsubsection{\texttt{\textbackslash individualbeurteilung}} +Analog zum individuellen Notenschlüssel kann auch das Beurteilungsschema beliebig durch die direkte Eingabe aller Punktegrenzen angepasst werden. + +\begin{verbatim} +\individualbeurteilung{21}{20,5}{18}{17,5}{15}{14,5}{12}{ % Prozentschluessel + T1={16}, % Punkte im Teil 1 + T2={8}, % Punkte im Teil 2 + } +\end{verbatim} + \newpage \subsection{Paketoption -- Lösungseingabe: \texttt{[solution\_on/off]}} diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README index 9fb510ca88..39360949f0 100644 --- a/macros/latex/contrib/univie-ling/README +++ b/macros/latex/contrib/univie-ling/README @@ -44,6 +44,8 @@ The package consists of the following files: * univie-ling.bbx: Biblatex bibliography style * univie-ling.cbx: Biblatex citation style +* univie-ling.pdf: documentation of the whole bundle +* univie-ling.tex: documentation source of the whole bundle * univie-ling-expose.pdf: documentation of the expose class * univie-ling-expose.tex: documentation source of the expose class * univie-ling-handout.pdf: documentation of the handout class @@ -88,6 +90,18 @@ also have a look at the example files. == CHANGES == +V. 2.0 (2022-10-02): + - Add general documentation (univie-ling.pdf). + - univie-ling-handout: + - univie-ling-expose: + - univie-ling-paper: + - univie-ling-thesis: + - univie-ling-wlg: + * Fix and properly localize some varioref definitions. + * Various small cleanups (addressing warnings). + * Use l3keys rather than xkeyval for option handling. + * Use translator rather than translations for l7n in all classes. + V. 1.20 (2022-09-08): - univie-ling-handout: - univie-ling-expose: diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx index d358da5d49..297bf740f1 100644 --- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx +++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx @@ -37,7 +37,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesFile{univie-ling.bbx}[2022/06/18 v1.19 biblatex bibliography style] +\ProvidesFile{univie-ling.bbx}[2022/10/02 v.2.0 biblatex bibliography style] % Load base style (authoryear-comp) \RequireBibliographyStyle{authoryear-comp} diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx index 4b6647d6e3..e4937b0fa3 100644 --- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx +++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx @@ -35,7 +35,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesFile{univie-ling.cbx}[2022/06/18 v1.19 biblatex citation style] +\ProvidesFile{univie-ling.cbx}[2022/10/02 v.2.0 biblatex citation style] \RequireCitationStyle{authoryear-comp} diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf Binary files differindex f5bb410014..12cb21db93 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf Binary files differindex 69ab2f9b91..dac6d7b74a 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf Binary files differindex ade6bf052c..72b734d553 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf Binary files differindex 195af0858b..aa429549f5 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf Binary files differindex 2d6e8e8b44..83b8b152df 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf Binary files differindex 87a9785ff2..e6c62d407c 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf Binary files differindex 9569ba5659..ba8f0ab19e 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf Binary files differindex 2c95c63b6d..e780fe4f91 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf Binary files differindex e517aeab34..a41185e64c 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf +++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex index 7dfaefb9a0..7c506ba36f 100644 --- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex +++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex @@ -13,11 +13,14 @@ \usepackage[utf8]{inputenc} % Supported languages: naustrian, ngerman, english -\RequirePackage[naustrian]{babel} +\RequirePackage[ngerman,naustrian]{babel} % This is just for the dummy text % Remove this and the \blind... macros for real documents \usepackage{blindtext} +% Custom blindtext (Austrian not supported by blindtext package) +\newcommand*{\blindtextAT}{\foreignlanguage{ngerman}{\blindtext}} +\newcommand*{\blindlistAT}{\foreignlanguage{ngerman}{\blindlistlist[3]{itemize}}} % % EDITORIAL SETTINGS @@ -49,7 +52,7 @@ \begin{abstract} % dummy text -\blindtext[1] +\blindtextAT \end{abstract} \keywords{Applied Linguistics, Discourse Analysis, Sociolinguistics, Text Analysis} @@ -58,22 +61,22 @@ \motto[Quelle]{Ein schickes Motto} -\blindtext +\blindtextAT \begin{displayquote} % dummy text -\blindtext +\blindtextAT \end{displayquote} % dummy text -\blindtext +\blindtextAT -% dummy text -\blindlistlist[3]{itemize} +% dummy list +\blindlistAT % dummy text -\blindtext +\blindtextAT -% dummy text -\blindlistlist[3]{enumerate} +% dummy list +\blindlistAT \end{document} diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf Binary files differindex cc7a758023..9f6d69016b 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex index 3c77e4dfbb..82941e94cd 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex @@ -30,7 +30,7 @@ % macros \newcommand*\uvlt{\textsf{univie-ling-expose}} -\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\providecommand{\LyX}{\texorpdfstring{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}{LyX}} % improve layout \tolerance 1414 @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.20, 2022/09/08} +\date{Version 2.0, 2022/10/02} \maketitle @@ -102,11 +102,11 @@ The following class and packages are required and loaded by \uvlt: \item \textsf{csquotes}: Context sensitive quotations. \item \textsf{datetime2}: Date localization. \item \textsf{graphicx}: Graphic support. + \item \textsf{l3keys}: Key-value interface for class options. \item \textsf{scrlayer-scrpage}: Page layout settings. \item \textsf{setspace}: Line spacing adjustments. - \item \textsf{translations}: Localization machinery. + \item \textsf{translator}: Localization machinery. \item \textsf{url}: Support for typesetting URLs. - \item \textsf{xkeyval}: Key-value interface for class options. \end{itemize} The following packages are required for specific features and loaded by default. However, the loading can be individually and generally omitted (see sec.~\ref{coptions}): \begin{itemize} @@ -329,16 +329,25 @@ Please also refer to the template files included in the package for some further A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-expose.layout}. Templates are provided as well: +\begin{flushleft} \begin{itemize} \item English template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-expose-english.lyx} \item German template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-expose-deutsch.lyx} \end{itemize} +\end{flushleft} \section{Release History} \begin{description} + \item 2022/10/02 (v.\,2.0) + \begin{itemize} + \item Use \textsf{l3keys} rather than \textsf{xkeyval} for key-value option handling. + \item Fix some \textsf{varioref} definitions. + \item Use \textsf{translator} instead of \textsf{translations} for localization. + \item Various small class cleanups. + \end{itemize} \item 2022/09/08 (v.\,1.20) \begin{itemize} \item Load \textsf{varioref} AtBeginDocument. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf Binary files differindex 937fb794b4..e308a78e55 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex index 148689b2d8..1dbba9f736 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex @@ -30,7 +30,7 @@ % macros \newcommand*\uvlt{\textsf{univie-ling-handout}} -\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\providecommand{\LyX}{\texorpdfstring{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}{LyX}} % improve layout \tolerance 1414 @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.20, 2022/09/08} +\date{Version 2.0, 2022/10/02} \maketitle @@ -71,7 +71,7 @@ \noindent The \uvlt\ class provides a \LaTeXe\ class suitable for handouts that accompany presentations in classes or at conferences. The class adheres to the corporate design of the University of Vienna (although no dedicated specs for handouts are provided there).% -\footnote{\url{https://communications.univie.ac.at/fileadmin/user_upload/d_oeffentlichkeitsarbeit/Dokumente/UniversitaetWien_CD_Manual_Mai_2022_interaktiv.pdf}.} +\footnote{\raggedright\url{https://communications.univie.ac.at/fileadmin/user_upload/d_oeffentlichkeitsarbeit/Dokumente/UniversitaetWien_CD_Manual_Mai_2022_interaktiv.pdf}.} Therefore, although this class has been written for students in the Department of Linguistics, it might also be useful for other fields and for students and researchers alike. This manual documents the class. @@ -98,9 +98,9 @@ The following class and packages are required and loaded by \uvlt: \item \textsf{csquotes}: Context sensitive quotations. \item \textsf{graphicx}: Graphic support. \item \textsf{geometry}: Page layout settings. - \item \textsf{translations}: Localization machinery. + \item \textsf{l3keys}: Key-value interface for class options. + \item \textsf{translator}: Localization machinery. \item \textsf{url}: Support for typesetting URLs. - \item \textsf{xkeyval}: Key-value interface for class options. \end{itemize} The following packages are required for specific features and loaded by default. However, the loading can be individually and generally omitted (see sec.~\ref{coptions}): \begin{itemize} @@ -373,16 +373,25 @@ Please also refer to the template files included in the package for some further A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-handout.layout}. Templates are provided as well: +\begin{flushleft} \begin{itemize} \item English template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-handout-english.lyx} \item German template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-handout-deutsch.lyx} \end{itemize} +\end{flushleft} \section{Release History} \begin{description} + \item 2022/10/02 (v.\,2.0) + \begin{itemize} + \item Use \textsf{l3keys} rather than \textsf{xkeyval} for key-value option handling. + \item Fix some \textsf{varioref} definitions. + \item Use \textsf{translator} instead of \textsf{translations} for localization. + \item Various small class cleanups. + \end{itemize} \item 2022/09/08 (v.\,1.20) \begin{itemize} \item Load \textsf{varioref} AtBeginDocument. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf Binary files differindex 220e968900..7838dcbfef 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex index a3cf0fa76c..bfd39d1995 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex @@ -30,7 +30,7 @@ % macros \newcommand*\uvlt{\textsf{univie-ling-paper}} -\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\providecommand{\LyX}{\texorpdfstring{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}{LyX}} % improve layout \tolerance 1414 @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.20, 2022/09/08} +\date{Version 2.0, 2022/10/02} \maketitle @@ -99,11 +99,11 @@ The following class and packages are required and loaded by \uvlt: \item \textsf{scrartcl}: KOMA-Script article class (base class). \item \textsf{csquotes}: Context sensitive quotations. \item \textsf{graphicx}: Graphic support. + \item \textsf{l3keys}: Key-value interface for class options. \item \textsf{scrlayer-scrpage}: Page layout settings. \item \textsf{setspace}: Line spacing adjustments. - \item \textsf{translations}: Localization machinery. + \item \textsf{translator}: Localization machinery. \item \textsf{url}: Support for typesetting URLs. - \item \textsf{xkeyval}: Key-value interface for class options. \end{itemize} The following packages are required for specific features and loaded by default. However, the loading can be individually and generally omitted (see sec.~\ref{coptions}): \begin{itemize} @@ -361,17 +361,26 @@ Please also refer to the template files included in the package for some further A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-paper.layout}. Templates are provided as well: +\begin{flushleft} \begin{itemize} \item English template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-paper-english.lyx} \item German template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-paper-deutsch.lyx} \end{itemize} +\end{flushleft} \condbreak{2\baselineskip} \section{Release History} \begin{itemize} + \item 2022/10/02 (v.\,2.0) + \begin{itemize} + \item Use \textsf{l3keys} rather than \textsf{xkeyval} for key-value option handling. + \item Fix some \textsf{varioref} definitions. + \item Use \textsf{translator} instead of \textsf{translations} for localization. + \item Various small class cleanups. + \end{itemize} \item 2022/09/08 (v.\,1.20) \begin{itemize} \item Load \textsf{varioref} AtBeginDocument. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf Binary files differindex 6b7068b4c1..096cdf536d 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex index f8d5656e74..d181c6cc78 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex @@ -30,7 +30,7 @@ % macros \newcommand*\uvlt{\textsf{univie-ling-thesis}} -\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\providecommand{\LyX}{\texorpdfstring{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}{LyX}} % improve layout \tolerance 1414 @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.20, 2022/09/08} +\date{Version 2.0, 2022/10/02} \maketitle @@ -82,7 +82,7 @@ packages (such as \textsf{covington}) are pre-loaded. As documented later, howev a bibliography style of your choice and load alternative packages. The design matches as closely as necessary the standards set up by the university. This particularly concerns the -title page, which follows the recommendations specified by the \emph{StudienServiceCenter}.\footnote{% +title page, which follows the recommendations specified by the \emph{StudienServiceCenter}.\footnote{\raggedright% See \url{http://ssc-philkultur.univie.ac.at/studium/masterstudien/abgabe-der-masterarbeit} for master's theses, \url{http://ssc-philkultur.univie.ac.at/studium/doktoratsstudium-neu-792-xxx/dissertation} for doctoral theses <25.\,01.\,2017>.} @@ -96,11 +96,11 @@ The following class and packages are required and loaded by \uvlt: \item \textsf{csquotes}: Context sensitive quotations. \item \textsf{geometry}: Page layout settings. \item \textsf{graphicx}: Graphic support. + \item \textsf{l3keys}: Key-value interface for class options. \item \textsf{scrlayer-scrpage}: Page header settings. \item \textsf{setspace}: Line spacing adjustments. - \item \textsf{translations}: Localization machinery. + \item \textsf{translator}: Localization machinery. \item \textsf{url}: Support for typesetting URLs. - \item \textsf{xkeyval}: Key-value interface for class options. \end{itemize} The following packages are required for specific features and loaded by default. However, the loading can be individually and generally omitted (see sec.~\ref{coptions}): \begin{itemize} @@ -278,7 +278,7 @@ the following data in the preamble. \item{\jcsmacro{supervisor\{<name>\}}}: Title and name of your (main) supervisor. \item{\jcsmacro{cosupervisor\{<name>\}}}: Title and name of your co-supervisor. \end{description} -The suitable degree (\emph{Angestrebter akademischer Grad}) is automatically set by the \jcsmacro{thesistype} command, but you can override it with the optional command \jcsmacro{degree\{<custom degree>\}}. +The suitable degree (\emph{Angestrebter akademischer Grad} in German) is automatically set by the \jcsmacro{thesistype} command, but you can override it with the optional command \jcsmacro{degree\{<custom degree>\}}. Note that female forms of degrees, where appropriate, are used if you use the class option \joption{fdegree=true} (see sec.~\ref{coptions}). @@ -392,16 +392,25 @@ Furthermore, a step-by-step guide to PDF/A generation with PDFLaTeX and \textsf{ A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-thesis.layout}. Templates are provided as well: +\begin{flushleft} \begin{itemize} \item English template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-thesis-english.lyx} \item German template:\\ \url{https://github.com/jspitz/univie-ling/raw/master/lyx/templates/template-univie-ling-thesis-deutsch.lyx} \end{itemize} +\end{flushleft} \section{Release History} \begin{itemize} + \item 2022/10/02 (v.\,2.0) + \begin{itemize} + \item Use \textsf{l3keys} rather than \textsf{xkeyval} for key-value option handling. + \item Fix some \textsf{varioref} definitions. + \item Use \textsf{translator} instead of \textsf{translations} for localization. + \item Various small class cleanups. + \end{itemize} \item 2022/09/08 (v.\,1.20) \begin{itemize} \item Load \textsf{varioref} AtBeginDocument. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf Binary files differindex 9109fa6a9c..b57238618d 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex index d9cd57e7d0..7805945596 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex @@ -30,7 +30,7 @@ % macros \newcommand*\uvlt{\textsf{univie-ling-wlg}} -\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\providecommand{\LyX}{\texorpdfstring{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}{LyX}} % improve layout \tolerance 1414 @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.20, 2022/09/08} +\date{Version 2.0, 2022/10/02} \maketitle @@ -93,7 +93,7 @@ If you want to use \emph{MinionPro}, use the class option \joption{expertfonts=t \section{Class Options}\label{coptions} -The \uvlt\ class provides a range of key=value type options to control the font handling, package loading and some specific behavior. +The \uvlt\ class provides a range of \texttt{key=value} type options to control the font handling, package loading and some specific behavior. These are documented in this section. \subsection{Font selection} @@ -170,8 +170,8 @@ In general, the data for the editorial board should be set/changed in a local co \setlength\itemsep{0pt} \item{\jcsmacro{author\{<name>\}}}: Article author(s); multiple authors separated by \jfcsmacro{and}. Author affiliations should be specified via the macro \jcsmacro{aff\{Affilitation\}} immediately behind the author name, - using \jcsmacro{aff*[m|f]\{Affilitation\}} for the corresponding author (the optional argument, \joption{f} or \joption{m}, - specifies the gender) + using \jcsmacro{aff*[m|f|p]\{Affilitation\}} for the corresponding author (the optional argument, \joption{f} or \joption{m}, + specifies the grammatical gender, \joption{p} indicates plural [multiple authors]) \item{\jcsmacro{title\{<title>\}}}: Title of the paper. \item{\jcsmacro{subtitle\{<subtitle>\}}}: Subtitle. \item{\jcsmacro{date\{<date>\}}}: Date of publication (optional; by default the date when the PDF file was processed is used). @@ -233,9 +233,15 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m \raggedright \begin{itemize} + \item 2022/10/02 (v.\,2.0) + \begin{itemize} + \item Use \textsf{l3keys} rather than \textsf{xkeyval} for key-value option handling. + \item Fix and properly localize some \textsf{varioref} definitions. + \item Various small class cleanups (addressing warnings). + \end{itemize} \item 2022/09/08 (v.\,1.20) \begin{itemize} - \item Load \textsf{varioref} AtBeginDocument. + \item Load \textsf{varioref} \jfcsmacro{AtBeginDocument}. \end{itemize} \item 2022/05/11 (v.\,1.18) No change to this class. \item 2022/02/05 (v.\,1.17) Allow to set fixed publication date via \jcsmacro{date} in titling. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf Binary files differnew file mode 100644 index 0000000000..5431d65c90 --- /dev/null +++ b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.tex b/macros/latex/contrib/univie-ling/doc/univie-ling.tex new file mode 100644 index 0000000000..21698e7028 --- /dev/null +++ b/macros/latex/contrib/univie-ling/doc/univie-ling.tex @@ -0,0 +1,105 @@ +\documentclass[english]{article} + +\usepackage[osf]{libertine} +\usepackage[scaled=0.7]{beramono} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage[hyphens]{url} +\usepackage[pdfusetitle, + bookmarks=true,bookmarksnumbered=false,bookmarksopen=false, + breaklinks=false,pdfborder={0 0 0},backref=false,colorlinks=false] + {hyperref} + +\usepackage[dvipsnames]{xcolor} +\usepackage{MnSymbol} +% macros +\newcommand*\uvlt{\textsf{univie-ling}} +\newcommand*\uvlc[1]{\textsf{univie-ling-#1}} +\newcommand*\mlink[1]{\textcolor{Maroon}{\hyperref{#1}{}{}{\textbf{$\blacktriangleright$ Manual}}}} + +% improve layout +\tolerance 1414 +\hbadness 1414 +\emergencystretch 1.5em +\hfuzz 0.3pt +\widowpenalty = 10000 +\vfuzz \hfuzz +\raggedbottom + +% Conditiona pagebreak +\def\condbreak#1{% + \vskip 0pt plus #1\pagebreak[3]\vskip 0pt plus -#1\relax} + +\usepackage{microtype} + +\usepackage{babel} + + +\begin{document} + +\title{The \uvlt\ bundle} + +\author{\texorpdfstring{Jürgen Spitzmüller% +\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} + +\date{Version 2.0, 2022/10/02} + +\maketitle + +\section{Aim} + +The \uvlt\ bundle consists of a set of classes as well as of a \textsf{biblatex} bibliography and citation style for students and academics +at the University of Vienna, Austria, Department of Linguistics (\url{https://linguistics.univie.ac.at}). The classes follow the corporate design +of the university and institutional regulations, as far as these apply. + +The classes and styles are particularly suited for the field of Applied Linguistics and pre-load some packages +that are considered useful in this disciplinary context. However, they might also be (and actually are) used +for General and Historical Linguistics as well as for other fields of study at Vienna University. +In this case, some settings might have to be adjusted. + +This manual briefly introduces these classes and styles. Please refer to the linked manual of the respective class for details. + +\section{Classes and Styles} + +\subsection{\uvlc{expose}} + +The \uvlc{expose} class provides a \LaTeXe\ class suitable for those research proposals (\emph{Exposés}) that are required in the context of the public presentation of a dissertation project (\emph{FÖP}) at the University of Vienna. \mlink{univie-ling-expose.pdf} + +\subsection{\uvlc{handout}} + +The \uvlc{handout} class provides a \LaTeXe\ class suitable for handouts that accompany presentations in classes or at conferences. +The class adheres to the corporate design of the University of Vienna (although no dedicated specs for handouts +are provided there). +Therefore, although this class has been written for students in the Department of Linguistics, it might also be useful for other fields +and for students and researchers alike. \mlink{univie-ling-handout.pdf} + +\subsection{\uvlc{paper}} + +The \uvlc{paper} class provides a \LaTeXe\ class suitable for papers ([\emph{Pro}]\emph{Seminar\-arbeiten}) in (Applied) +Linguistics at the Department of Linguistics, University of Vienna. \mlink{univie-ling-paper.pdf} + +\subsection{\uvlc{thesis}} + +The \uvlc{thesis} class provides a \LaTeXe\ class suitable for Bachelor's, Master's, Diploma and Doctoral theses in +(Applied) Linguistics at the Department of Linguistics, University of Vienna. \mlink{univie-ling-thesis.pdf} + +\subsection{\uvlc{wlg}} + +The \uvlc{wlg} class provides a \LaTeXe\ class suitable for articles in the journal \emph{Wiener Linguistische Gazette} (WLG), +the house journal of the Department of Linguistics at the University of Vienna (\url{https://wlg.univie.ac.at}). +\mlink{univie-ling-wlg.pdf} + +\subsection{Bibliography and Citation Styles} + +The bundle also includes a \textsf{biblatex} bibliography style (\texttt{univie-ling.bbx}) and a citation style +(\texttt{univie-ling.cbx}) that implement the citation conventions common in Viennese (Applied) Linguistics. +The style draws on the \emph{Unified Style Sheet for Linguistic Papers}.% +\footnote{See \url{https://www.linguisticsociety.org/sites/default/files/style-sheet_0.pdf}.} +Documentation is included in the documentation of the classes above. + +\section{Release History} + +Please refer to the \emph{Release History} sections in the manuals of the classes and to the \emph{CHANGES} section in the \hyperref{https://mirrors.ctan.org/macros/latex/contrib/univie-ling/README}{}{}{\textcolor{Maroon}{$\blacktriangleright$ README}} +file. + +\end{document} diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls index e353bdeca0..102a7e0bcc 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls @@ -32,185 +32,145 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-expose}[2022/06/18 v1.19 Univie Linguistic Exposes (JSp)] +\ProvidesPackage{univie-ling-expose}[2022/10/02 v.2.0 Univie Linguistic Exposes (JSp)] %% ============================================================ %% CLASS OPTIONS %% ============================================================ -\RequirePackage{xkeyval} - -\newif\ifbiblatex\biblatextrue -\newif\ifapa\apafalse -\newif\ifcaptionp\captionptrue -\newif\ifdraftmark\draftmarkfalse -\newif\ifdraftmarkfp\draftmarkfpfalse -\newif\ifrefsp\refsptrue -\newif\ifcovington\covingtontrue -\newif\ifmicrotype\microtypetrue -\newif\ifpolyglossia\polyglossiafalse -\newif\ifpsfonts\psfontstrue -\newif\ifotffonts\otffontsfalse -\newif\ifnofonts\nofontsfalse - -% all=<true|false> -% Load all packages -\define@boolkey+{uvt}{all}[true]{% - \ifKV@uvt@all - \biblatextrue - \captionptrue - \refsptrue - \covingtontrue - \microtypetrue - \else - \biblatexfalse - \captionpfalse - \refspfalse - \covingtonfalse - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown 'all' value}% -} - -% biblatex=<true|false> -% Load biblatex -\define@boolkey+{uvt}{biblatex}[true]{% - \ifKV@uvt@biblatex - \biblatextrue - \else - \biblatexfalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown biblatex value}% -} - -% apa=<true|false> -% Load APA style -\define@boolkey+{uvt}{apa}[true]{% - \ifKV@uvt@apa - \apatrue - \else - \apafalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown apa value}% -} - -% caption=<true|false> -% Load caption -\define@boolkey+{uvt}{caption}[true]{% - \ifKV@uvt@caption - \captionptrue - \else - \captionpfalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown caption value}% -} - -% ref=<true|false> -% Load varioref and prettyref -\define@boolkey+{uvt}{ref}[true]{% - \ifKV@uvt@ref - \refsptrue - \else - \refspfalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown ref value}% -} - -% covington=<true|false> -% Load covington -\define@boolkey+{uvt}{covington}[true]{% - \ifKV@uvt@covington - \covingtontrue - \else - \covingtonfalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown covington value}% -} - -% draftmark=<true|false> -% Print draftmark -\define@choicekey*+{uvt}{draftmark}[\val\nr]{true,false,firstpage}{% - \ifcase\nr\relax% true: - \draftmarktrue - \draftmarkfpfalse - \or% false: - \draftmarkfalse - \draftmarkfpfalse - \or% firstpage: - \draftmarktrue - \draftmarkfptrue - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown draft value}% +\newif\if@uve@biblatex\@uve@biblatextrue +\newif\if@uve@apa\@uve@apafalse +\newif\if@uve@captionp\@uve@captionptrue +\newif\if@uve@draftmark\@uve@draftmarkfalse +\newif\if@uve@draftmarkfp\@uve@draftmarkfpfalse +\newif\if@uve@refsp\@uve@refsptrue +\newif\if@uve@covington\@uve@covingtontrue +\newif\if@uve@microtype\@uve@microtypetrue +\newif\if@uve@polyglossia\@uve@polyglossiafalse +\newif\if@uve@psfonts\@uve@psfontstrue +\newif\if@uve@otffonts\@uve@otffontsfalse +\newif\if@uve@usefontenc\@uve@usefontenctrue +\def\uve@fontenc{T1} + +% We use l3keys here since (1) LaTeX2e keys are rather +% new and (2) do not provide for choice keys yet. +\ExplSyntaxOn +\keys_define:nn { uve } +{ + % all=<true|false> + % Load all (most) packages + all.code:n = + { \bool_if:nTF {#1} { + \@uve@biblatextrue + \@uve@captionptrue + \@uve@refsptrue + \@uve@covingtontrue + \@uve@microtypetrue + }{ + \@uve@biblatexfalse + \@uve@captionpfalse + \@uve@refspfalse + \@uve@covingtonfalse + \@uve@microtypefalse + } + }, + all.usage:n = preamble, + % apa=<true|false> + % Load APA style + apa.legacy_if_set:n = @uve@apa, + apa.usage:n = preamble, + % biblatex=<true|false> + % Load biblatex + biblatex.legacy_if_set:n = @uve@biblatex, + biblatex.usage:n = preamble, + % caption=<true|false> + % Load caption + caption.legacy_if_set:n = @uve@captionp, + caption.usage:n = preamble, + % covington=<true|false> + % Load covington + covington.legacy_if_set:n = @uve@covington, + covington.usage:n = preamble, + % fontenc=<value|none> + % customize font encoding + fontenc.code:n = + { \str_if_eq:NNTF { #1 } { none } { + \@uve@usefontencfalse + }{ + \def\uve@fontenc{#1} + } + }, + fontenc.usage:n = preamble, + % microtype=<true|false> + % Load microtype + microtype.legacy_if_set:n = @uve@microtype, + microtype.usage:n = preamble, + % polyglossia=<true|false> + % Load polyglossia + polyglossia.legacy_if_set:n = @uve@polyglossia, + polyglossia.code:n = + { \bool_if:nT {#1} { + \@uve@psfontsfalse + \@uve@otffontstrue + } + }, + polyglossia.usage:n = preamble, + % ref=<true|false> + % Load varioref and prettyref + ref.legacy_if_set:n = @uve@refsp, + ref.usage:n = preamble, + % draftmark=<true|false|firstpage> + % Print draftmark + draftmark .choice:, + % true + draftmark / true .code:n = + { \@uve@draftmarktrue + \@uve@draftmarkfpfalse + }, + % false + draftmark / false .code:n = + { \@uve@draftmarkfalse + \@uve@draftmarkfpfalse + }, + % firstpage + draftmark / firstpage .code:n = + { \@uve@draftmarktrue + \@uve@draftmarkfptrue + }, + % no val equals to true + draftmark .default:n = {true}, + % fonts=<ps|otf|none> + % Select font scheme + fonts .choice:, + % ps: use PostScript fonts (classic LaTeX) + fonts / ps .code:n = + { \@uve@psfontstrue + \@uve@otffontsfalse + }, + % otf: use OpenType fonts (fontspec) + fonts / otf .code:n = + { \@uve@psfontsfalse + \@uve@otffontstrue + }, + % none: Use no font package + fonts / none .code:n = + { \@uve@psfontsfalse + \@uve@otffontsfalse + }, } +\ExplSyntaxOff -% microtype=<true|false> -% Load microtype -\define@boolkey+{uvt}{microtype}[true]{% - \ifKV@uvt@microtype - \microtypetrue - \else - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown microtype value}% -} - -% polyglossia=<true|false> -% Load polyglossia -\define@boolkey+{uvt}{polyglossia}[true]{% - \ifKV@uvt@polyglossia - \polyglossiatrue - \psfontsfalse - \otffontstrue - \nofontsfalse - \else - \polyglossiafalse - \fi -}{% - \ClassWarning{univie-ling-expose}{unknown polyglossia value}% -} - -% fonts=<ps|otf|none> -\define@choicekey*+{uvt}{fonts}[\val\nr]{ps,otf,none}{% - \ifcase\nr\relax% ps: use PostScript fonts (classic LaTeX) - \psfontstrue - \otffontsfalse - \nofontsfalse - \or% otf: use OpenType fonts (fontspec) - \psfontsfalse - \otffontstrue - \nofontsfalse - \or% none: Use no font package - \psfontsfalse - \otffontsfalse - \nofontstrue - \fi -}{% - \PackageWarning{univie-ling-expose}{unknown fonts value '#1'}% -} +% Process -% fontenc=<value|false> -% customize font encoding -\newif\ifuniv@usefontenc\univ@usefontenctrue -\def\univ@fontenc{T1} -\define@choicekey*+{uvt}{fontenc}[\val\nr]{none}{% - \ifcase\nr\relax% none: - \univ@usefontencfalse - \fi -}{% - \def\univ@fontenc{#1}% +\IfFormatAtLeastTF{2022-06-01} +{ + \ProcessKeyOptions[uve] +}{ + \RequirePackage{l3keys2e} + \ProcessKeysOptions{uve} } -% Process -\ProcessOptionsX<uvt> %% ============================================================ %% BASE CLASS: @@ -232,43 +192,44 @@ %% LOCALIZATION: %% ============================================================ -\RequirePackage{translations} -\DeclareTranslation{German}{draft}{ENTWURF} -\DeclareTranslation{English}{draft}{DRAFT} -\DeclareTranslation{German}{section}{Abschnitt} -\DeclareTranslation{English}{section}{section} -\DeclareTranslation{German}{footnote}{Anm.} -\DeclareTranslation{English}{footnote}{fn.} -\DeclareTranslation{German}{example}{Beispiel} -\DeclareTranslation{English}{example}{example} -\DeclareTranslation{German}{stkz}{Studienkennzahl lt. Studienblatt} -\DeclareTranslation{English}{stkz}{Degree programme code as it appears on the student record sheet} -\DeclareTranslation{German}{strt}{Studienrichtung lt. Studienblatt} -\DeclareTranslation{English}{strt}{Degree programme as it appears on the student record sheet} -\DeclareTranslation{German}{expo}{Expos\'e zum Dissertationsprojekt} -\DeclareTranslation{English}{expo}{Research Proposal} -\DeclareTranslation{German}{tpcaption}{Titel des Dissertationsprojekts} -\DeclareTranslation{English}{tpcaption}{Title of the Dissertation Project} -\DeclareTranslation{German}{author}{Verfasst von} -\DeclareTranslation{English}{author}{Submitted by} -\DeclareTranslation{German}{vienna}{Wien} -\DeclareTranslation{English}{vienna}{Vienna} -\DeclareTranslation{German}{supervisor}{Betreut von} -\DeclareTranslation{English}{supervisor}{Supervisor} -\DeclareTranslation{German}{cosupervisor}{Mitbetreut von} -\DeclareTranslation{English}{cosupervisor}{Co-Supervisor} -\DeclareTranslation{German}{beirat}{Beirat} -\DeclareTranslation{English}{beirat}{Advisory board} +\RequirePackage{translator} +\languagealias{naustrian}{German} +\deftranslation[to=German]{draft}{ENTWURF} +\deftranslation[to=English]{draft}{DRAFT} +\deftranslation[to=German]{section}{Abschnitt} +\deftranslation[to=English]{section}{section} +\deftranslation[to=German]{footnote}{Anm.} +\deftranslation[to=English]{footnote}{fn.} +\deftranslation[to=German]{example}{Beispiel} +\deftranslation[to=English]{example}{example} +\deftranslation[to=German]{stkz}{Studienkennzahl lt. Studienblatt} +\deftranslation[to=English]{stkz}{Degree programme code as it appears on the student record sheet} +\deftranslation[to=German]{strt}{Studienrichtung lt. Studienblatt} +\deftranslation[to=English]{strt}{Degree programme as it appears on the student record sheet} +\deftranslation[to=German]{expo}{Expos\'e zum Dissertationsprojekt} +\deftranslation[to=English]{expo}{Research Proposal} +\deftranslation[to=German]{tpcaption}{Titel des Dissertationsprojekts} +\deftranslation[to=English]{tpcaption}{Title of the Dissertation Project} +\deftranslation[to=German]{author}{Verfasst von} +\deftranslation[to=English]{author}{Submitted by} +\deftranslation[to=German]{vienna}{Wien} +\deftranslation[to=English]{vienna}{Vienna} +\deftranslation[to=German]{supervisor}{Betreut von} +\deftranslation[to=English]{supervisor}{Supervisor} +\deftranslation[to=German]{cosupervisor}{Mitbetreut von} +\deftranslation[to=English]{cosupervisor}{Co-Supervisor} +\deftranslation[to=German]{beirat}{Beirat} +\deftranslation[to=English]{beirat}{Advisory board} %% ============================================================ %% FONTS AND EMPHASIZING: %% ============================================================ -\ifpsfonts +\if@uve@psfonts -\ifuniv@usefontenc - \RequirePackage[\univ@fontenc]{fontenc} +\if@uve@usefontenc + \RequirePackage[\uve@fontenc]{fontenc} \fi % Times @@ -286,7 +247,7 @@ \fi -\ifotffonts +\if@uve@otffonts \RequirePackage{fontspec} \setmainfont{Times New Roman} \setsansfont{Arial} @@ -380,7 +341,7 @@ \renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}} \RequirePackage{scrlayer-scrpage} \renewcommand{\headfont}{\small\rmfamily} -\clearscrheadings +\clearmainofpairofpagestyles \ihead{\headmark} \ohead{\pagemark} \automark{section} @@ -398,8 +359,8 @@ \raggedbottom % Micro-typographic polishment -\ifmicrotype -\usepackage{microtype} +\if@uve@microtype + \RequirePackage{microtype} \fi % Smart quotes @@ -415,8 +376,8 @@ % Month name \RequirePackage[ngerman,english]{datetime2} -\DeclareTranslation{German}{monthyear}{\DTMgermanmonthname{\@dtm@month} \@dtm@year} -\DeclareTranslation{English}{monthyear}{\DTMenglishmonthname{\@dtm@month} \@dtm@year} +\deftranslation[to=German]{monthyear}{\DTMgermanmonthname{\@dtm@month} \@dtm@year} +\deftranslation[to=English]{monthyear}{\DTMenglishmonthname{\@dtm@month} \@dtm@year} \renewcommand*\maketitle[1][1]{% \newgeometry{top=2cm,bottom=2.5cm,left=2.5cm,right=2cm} @@ -474,11 +435,11 @@ \end{flushright} \vspace{2\baselineskip} \begin{center} - {\usekomafont{thesistype}\GetTranslation{expo}} + {\usekomafont{thesistype}\translate{expo}} \end{center} \vspace{2\baselineskip} \begin{center} - {\usekomafont{tpcaption}\GetTranslation{tpcaption}\par} + {\usekomafont{tpcaption}\translate{tpcaption}\par} {\ifx\@title\@empty\else \usekomafont{title}{\enquote{\@title% \ifx\@subtitle\@empty\else\linebreak\@subtitle\fi}\par}% @@ -486,7 +447,7 @@ } \vskip 2em {% - {\usekomafont{tpcaption}\GetTranslation{author}\par} + {\usekomafont{tpcaption}\translate{author}\par} \usekomafont{author}{% \lineskip 0.75em% \begin{tabular}[t]{c} @@ -496,19 +457,19 @@ }% \end{center}\par \vfill - {\usekomafont{date}{\GetTranslation{vienna}, \GetTranslation{monthyear}\par}}% + {\usekomafont{date}{\translate{vienna}, \translate{monthyear}\par}}% \vskip 2em \usekomafont{codes}{% \begin{tabular}[t]{@{}>{\raggedright}p{0.4\columnwidth}>{\raggedright}p{0.1\columnwidth}>{\raggedright}p{0.4\columnwidth}} - \GetTranslation{stkz}: & & \@studienkennzahl\tabularnewline + \translate{stkz}: & & \@studienkennzahl\tabularnewline \noalign{\vskip6pt} - \GetTranslation{strt}: & & \@studienrichtung\tabularnewline + \translate{strt}: & & \@studienrichtung\tabularnewline \noalign{\vskip6pt} - \GetTranslation{supervisor}: & & \@supervisor\tabularnewline% + \translate{supervisor}: & & \@supervisor\tabularnewline% \noalign{\vskip6pt} - \ifx\@cosupervisor\@empty\else\GetTranslation{cosupervisor}: & & \@cosupervisor\tabularnewline\fi + \ifx\@cosupervisor\@empty\else\translate{cosupervisor}: & & \@cosupervisor\tabularnewline\fi \noalign{\vskip6pt} - \ifx\@beirat\@empty\else\GetTranslation{beirat}: & & \@beirat\fi + \ifx\@beirat\@empty\else\translate{beirat}: & & \@beirat\fi \end{tabular}\par } \par @@ -595,21 +556,19 @@ \def\labelitemi{--} % Quote (smaller) -\newcommand*{\OriginalQuote}{} -\let\OriginalQuote\quote -\renewcommand*{\quote}{\OriginalQuote\small} +\let\@uve@save@quote\quote +\renewcommand*{\quote}{\@uve@save@quote\small} % Quotation (smaller) -\newcommand*{\OriginalQuotation}{} -\let\OriginalQuotation\quotation -\renewcommand*{\quotation}{\OriginalQuotation\small} +\let\@uve@save@quotation\quotation +\renewcommand*{\quotation}{\@uve@save@quotation\small} % Description (normal italic) \setkomafont{descriptionlabel}{\normalfont\itshape} -\ifcovington -\RequirePackage{covington} -\renewcommand{\p@equation}[1]{(#1)} +\if@uve@covington + \RequirePackage{covington} + \renewcommand{\p@equation}[1]{(#1)} \fi %% ============================================================= @@ -619,19 +578,19 @@ %% captionlabel bold \setkomafont{captionlabel}{\bfseries} -\ifcaptionp -\RequirePackage[format=plain, - justification=RaggedRight, - singlelinecheck=false - ]{caption} +\if@uve@captionp + \RequirePackage[format=plain, + justification=RaggedRight, + singlelinecheck=false + ]{caption} \fi %% ============================================================= %% POLYGLOSSIA: %% ============================================================= -\ifpolyglossia - \ifcaptionp +\if@uve@polyglossia + \if@uve@captionp \RequirePackage{ragged2e} \fi \RequirePackage{polyglossia} @@ -642,9 +601,9 @@ %% ============================================================= % Biblatex -\ifbiblatex +\if@uve@biblatex -\ifapa +\if@uve@apa % Load biblatex with apa style \RequirePackage[% style=apa, @@ -707,10 +666,10 @@ % Change cite command for integrated csquotes env. \SetCiteCommand{\parencite} -% End of apa condition +% End of @uve@apa condition \fi -% End of biblatex condition +% End of @uve@biblatex condition \fi %% ============================================================= @@ -719,9 +678,9 @@ \let\origtableofcontents\tableofcontents \renewcommand*\tableofcontents{% -\thispagestyle{plain} -\origtableofcontents -\clearpage + \thispagestyle{plain} + \origtableofcontents + \clearpage } @@ -729,7 +688,7 @@ %% X-REFS: %% ============================================================= -\ifrefsp +\if@uve@refsp \AtBeginDocument{% % Varioref: @@ -739,19 +698,19 @@ \def\reftextfaceafter{auf der gegen\"uberliegenden Seite}% \def\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% \def\reftextfacebefore{auf der gegen\"uberliegenden Seite}% - \def\reftextfaraway[1]{auf S.~\pageref{##1}}% - \def\reftextpagerange[2]{auf S.~\pageref{##1}--\pageref{##2}}% + \def\reftextfaraway#1{auf S.~\pageref{#1}}% + \def\reftextpagerange#1#2{auf S.~\pageref{#1}--\pageref{#2}}% }% % Prettyref: % (varioref-Befehle mit eingebunden) \RequirePackage{prettyref} - \newrefformat{sec}{\GetTranslation{section}~\ref{#1}} - \newrefformat{sub}{\GetTranslation{section}~\ref{#1}} - \newrefformat{anm}{\GetTranslation{footnote}~\ref{#1}} + \newrefformat{sec}{\translate{section}~\ref{#1}} + \newrefformat{sub}{\translate{section}~\ref{#1}} + \newrefformat{anm}{\translate{footnote}~\ref{#1}} \newrefformat{app}{\appendixname~\vref{#1}} \newrefformat{tab}{\tablename~\vref{#1}} \newrefformat{fig}{\figurename~\vref{#1}} - \newrefformat{exa}{\GetTranslation{example}~\vref{#1}} + \newrefformat{exa}{\translate{example}~\vref{#1}} } \fi @@ -761,9 +720,9 @@ %% DRAFT: %% ============================================================= -\ifdraftmark +\if@uve@draftmark -\ifdraftmarkfp +\if@uve@draftmarkfp \RequirePackage[firstpageonly]{draftwatermark} \else \RequirePackage{draftwatermark} @@ -774,7 +733,7 @@ vpos=10pt, anchor=ct, fontsize=14pt, - text={\GetTranslation{draft} (\today)} + text={\translate{draft} (\today)} } \fi diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls index 376a91cccd..293064b15d 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls @@ -31,386 +31,270 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\filedate{2022/06/18} -\def\fileversion{1.19} -\def\filename{univie-ling-handout.cls} -\NeedsTeXFormat{LaTeX2e}[1997/06/01] -\ProvidesClass{univie-ling-handout}[% - \filedate\space v\fileversion\space Univie Ling handout class (JSp)] +\NeedsTeXFormat{LaTeX2e}[1997/06/01] +\ProvidesClass{univie-ling-handout}[2022/10/02 v.2.0 Univie Ling handout class (JSp)] %% ============================================================ %% CLASS OPTIONS %% ============================================================ -\RequirePackage{xkeyval} - -\newif\ifbiblatex\biblatextrue -\newif\ifapa\apafalse -\newif\ifcaptionp\captionptrue -\newif\ifdraftmark\draftmarkfalse -\newif\ifdraftmarkfp\draftmarkfpfalse -\newif\ifrefsp\refsptrue -\newif\ifcovington\covingtontrue -\newif\ifmicrotype\microtypetrue -\newif\ifpolyglossia\polyglossiafalse -\newif\ifpsfonts\psfontstrue -\newif\ifotffonts\otffontsfalse -\newif\ifnofonts\nofontsfalse - -% all=<true|false> -% Load all packages -\define@boolkey+{uvt}{all}[true]{% - \ifKV@uvt@all - \biblatextrue - \captionptrue - \refsptrue - \covingtontrue - \microtypetrue - \else - \biblatexfalse - \captionpfalse - \refspfalse - \covingtonfalse - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown 'all' value}% -} - -% biblatex=<true|false> -% Load biblatex -\define@boolkey+{uvt}{biblatex}[true]{% - \ifKV@uvt@biblatex - \biblatextrue - \else - \biblatexfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown biblatex value}% -} - -% apa=<true|false> -% Load APA style -\define@boolkey+{uvt}{apa}[true]{% - \ifKV@uvt@apa - \apatrue - \else - \apafalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown apa value}% -} - -% caption=<true|false> -% Load caption -\define@boolkey+{uvt}{caption}[true]{% - \ifKV@uvt@caption - \captionptrue - \else - \captionpfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown caption value}% -} - -% draftmark=<true|false> -% Print draftmark -\define@choicekey*+{uvt}{draftmark}[\val\nr]{true,false,firstpage}{% - \ifcase\nr\relax% true: - \draftmarktrue - \draftmarkfpfalse - \or% false: - \draftmarkfalse - \draftmarkfpfalse - \or% firstpage: - \draftmarktrue - \draftmarkfptrue - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown draft value}% -} - -% ref=<true|false> -% Load varioref and prettyref -\define@boolkey+{uvt}{ref}[true]{% - \ifKV@uvt@ref - \refsptrue - \else - \refspfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown ref value}% -} - -% covington=<true|false> -% Load covington -\define@boolkey+{uvt}{covington}[true]{% - \ifKV@uvt@covington - \covingtontrue - \else - \covingtonfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown covington value}% -} - -% microtype=<true|false> -% Load microtype -\define@boolkey+{uvt}{microtype}[true]{% - \ifKV@uvt@microtype - \microtypetrue - \else - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown microtype value}% -} - -% polyglossia=<true|false> -% Load polyglossia -\define@boolkey+{uvt}{polyglossia}[true]{% - \ifKV@uvt@polyglossia - \polyglossiatrue - \psfontsfalse - \otffontstrue - \nofontsfalse - \else - \polyglossiafalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown polyglossia value}% -} - -% fonts=<ps|otf|none> -\define@choicekey*+{uvt}{fonts}[\val\nr]{ps,otf,none}{% - \ifcase\nr\relax% ps: use PostScript fonts (classic LaTeX) - \psfontstrue - \otffontsfalse - \nofontsfalse - \or% otf: use OpenType fonts (fontspec) - \psfontsfalse - \otffontstrue - \nofontsfalse - \or% none: Use no font package - \psfontsfalse - \otffontsfalse - \nofontstrue - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown fonts value '#1'}% -} - -% fontsize=<ps|otf|none> -\def\univ@fontsize{11} -\define@key{uvt}{fontsize}{% - \def\univ@fontsize{#1} -} - -% Paper size -\def\univ@papersize{a4} -\define@key{uvt}{papersize}{% - \def\univ@papersize{#1} -} - -% landscape=<true|false> -\newif\iflandscape\landscapefalse -\define@boolkey+{uvt}{landscape}[true]{% - \ifKV@uvt@landscape - \landscapetrue - \else - \landscapefalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown landscape value}% -} - - -% pplogo=<true|false> -\newif\ifnopplogo\nopplogofalse -\define@boolkey+{uvt}{pplogo}[true]{% - \ifKV@uvt@pplogo - \nopplogofalse - \else - \nopplogotrue - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown pplogo value}% -} - +\newif\if@uvh@apa\@uvh@apafalse +\newif\if@uvh@biblatex\@uvh@biblatextrue +\newif\if@uvh@breakevent\@uvh@breakeventfalse +\newif\if@uvh@captionp\@uvh@captionptrue +\newif\if@uvh@covington\@uvh@covingtontrue +\newif\if@uvh@draftmark\@uvh@draftmarkfalse +\newif\if@uvh@draftmarkfp\@uvh@draftmarkfpfalse +\newif\if@uvh@foldmarks\@uvh@foldmarksfalse +\newif\if@uvh@landscape\@uvh@landscapefalse +\newif\if@uvh@lastpage\@uvh@lastpagefalse +\newif\if@uvh@microtype\@uvh@microtypetrue +\newif\if@uvh@otffonts\@uvh@otffontsfalse +\newif\if@uvh@pageonfirst\@uvh@pageonfirsttrue +\newif\if@uvh@polyglossia\@uvh@polyglossiafalse +\newif\if@uvh@pplogo\@uvh@pplogotrue +\newif\if@uvh@psfonts\@uvh@psfontstrue +\newif\if@uvh@punchmark\@uvh@punchmarkfalse +\newif\if@uvh@refsp\@uvh@refsptrue +\newif\if@uvh@swaphead\@uvh@swapheadfalse +\newif\if@uvh@usefontenc\@uvh@usefontenctrue +\newif\if@uvh@usewidesubtitle\@uvh@usewidesubtitlefalse +\def\uvh@fontenc{T1} +\def\uvh@fontsize{11} +\def\uvh@papersize{a4} % Colored logo (default) -\def\univ@printlogo{\includegraphics[width=74mm]{univielogo}} -\def\univ@printsmalllogo{\includegraphics[height=14mm]{univielogo}} - -% Monochrome logo -\define@boolkey+{uvt}{bwlogo}[true]{% - \ifKV@uvt@bwlogo - \def\univ@printlogo{\includegraphics[width=74mm]{univielogo-sw}} - \def\univ@printsmalllogo{\includegraphics[height=14mm]{univielogo-sw}} - \else - \def\univ@printlogo{\includegraphics[width=74mm]{univielogo}} - \def\univ@printsmalllogo{\includegraphics[height=14mm]{univielogo}} - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown bwlogo value}% -} - -% Swap title and event in header -\newif\ifswaphead\swapheadfalse -\define@boolkey+{uvt}{swaphead}[true]{% - \ifKV@uvt@swaphead - \swapheadtrue - \else - \swapheadfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown swaphead value}% -} - -% Output total page number -\newif\iflastpage\lastpagefalse -\define@boolkey+{uvt}{totalpages}[true]{% - \ifKV@uvt@totalpages - \lastpagetrue - \else - \lastpagefalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown totalpages value}% -} - -% Suppress pagination on first page? -\newif\ifpageonfirst\pageonfirsttrue -\define@boolkey+{uvt}{firstpagination}[true]{% - \ifKV@uvt@firstpagination - \pageonfirsttrue - \else - \pageonfirstfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown firstpagination value}% -} - -% Line break in heading between event and event spec (location, date etc.) -\newif\ifbreakevent\breakeventfalse -\define@boolkey+{uvt}{breakevent}[true]{% - \ifKV@uvt@breakevent - \breakeventtrue - \else - \breakeventfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown breakevent value}% -} - -% Print subtitle over the whole text width -% (may conflict with address field) -\newif\ifwidestitle\widestitlefalse -\define@boolkey+{uvt}{widesubtitle}[true]{% - \ifKV@uvt@breakevent - \widestitletrue - \else - \widestitlefalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown widesubtitle value}% -} - +\def\uvh@printlogo{\includegraphics[width=74mm]{univielogo}} +\def\uvh@printsmalllogo{\includegraphics[height=14mm]{univielogo}} % German CD (default) -\def\cdgerman{ - \def\univ@name{\univ@name@de} - \def\univ@shortname{\univ@shortname@de} - \def\univ@university{Universit\"at Wien} - \def\univ@department{\univ@department@de} - \def\univ@location{\univ@location@de} - \def\univ@country{\univ@country@de} - \def\univ@function{\univ@function@de} - \def\univ@secfunction{\univ@secfunction@de} - \def\univ@phoneprefix{T} - \def\univ@faxprefix{F} - \def\univ@emailprefix{} - \def\univ@urlprefix{} - \def\univ@pageprefix{Seite} - \def\univ@headerdeptsep{\ $\cdot$\ } - \def\univ@headernamesep{,\ } +\def\uvh@cd@german{ + \def\uvh@name{\uvh@name@de} + \def\uvh@shortname{\uvh@shortname@de} + \def\uvh@university{Universit\"at Wien} + \def\uvh@department{\uvh@department@de} + \def\uvh@location{\uvh@location@de} + \def\uvh@country{\uvh@country@de} + \def\uvh@function{\uvh@function@de} + \def\uvh@secfunction{\uvh@secfunction@de} + \def\uvh@phoneprefix{T} + \def\uvh@faxprefix{F} + \def\uvh@emailprefix{} + \def\uvh@urlprefix{} + \def\uvh@pageprefix{Seite} + \def\uvh@headerdeptsep{\ $\cdot$\ } + \def\uvh@headernamesep{,\ } \def\and{\\} } -\cdgerman - -\define@choicekey*+{uvt}{cd}[\val\nr]{german,english}{% - \ifcase\nr\relax% german - \cdgerman - \or% english - \def\univ@name{\univ@name@en} - \def\univ@shortname{\univ@shortname@en} - \def\univ@university{University of Vienna} - \def\univ@department{\univ@department@en} - \def\univ@location{\univ@location@en} - \def\univ@country{\univ@country@en} - \def\univ@function{\univ@function@en} - \def\univ@secfunction{\univ@secfunction@en} - \def\univ@phoneprefix{T} - \def\univ@faxprefix{F} - \def\univ@emailprefix{} - \def\univ@urlprefix{} - \def\univ@pageprefix{Page} - \def\univ@headerdeptsep{\ $\cdot$\ } - \def\univ@headernamesep{,\ } - \def\univ@secnamesep{,\ } - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown cd value '#1'}% -} - - -% Output punch marks? -\newif\ifuniv@punchmark\univ@punchmarkfalse -\define@boolkey+{uvt}{punchmarks}[true]{% - \ifKV@uvt@punchmarks - \univ@punchmarktrue - \else - \univ@punchmarkfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown punchmarks value}% -} - -% Output fold marks? -\newif\ifuniv@foldmarks\univ@foldmarksfalse -\define@boolkey+{uvt}{foldmarks}[true]{% - \ifKV@uvt@foldmarks - \univ@foldmarkstrue - \else - \univ@foldmarksfalse - \fi -}{% - \ClassWarning{univie-ling-handout}{unknown foldmarks value}% -} +\def\uvh@cd@english{% + \def\uvh@name{\uvh@name@en} + \def\uvh@shortname{\uvh@shortname@en} + \def\uvh@university{University of Vienna} + \def\uvh@department{\uvh@department@en} + \def\uvh@location{\uvh@location@en} + \def\uvh@country{\uvh@country@en} + \def\uvh@function{\uvh@function@en} + \def\uvh@secfunction{\uvh@secfunction@en} + \def\uvh@phoneprefix{T} + \def\uvh@faxprefix{F} + \def\uvh@emailprefix{} + \def\uvh@urlprefix{} + \def\uvh@pageprefix{Page} + \def\uvh@headerdeptsep{\ $\cdot$\ } + \def\uvh@headernamesep{,\ } + \def\uvh@secnamesep{,\ } +} +\uvh@cd@german + +% We use l3keys here since (1) LaTeX2e keys are rather +% new and (2) do not provide for choice keys yet. +\ExplSyntaxOn +\keys_define:nn { uvh } +{ + % all=<true|false> + % Load all (most) packages + all.code:n = + { \bool_if:nTF {#1} { + \@uvh@biblatextrue + \@uvh@captionptrue + \@uvh@refsptrue + \@uvh@covingtontrue + \@uvh@microtypetrue + }{ + \@uvh@biblatexfalse + \@uvh@captionpfalse + \@uvh@refspfalse + \@uvh@covingtonfalse + \@uvh@microtypefalse + } + }, + all.usage:n = preamble, + % apa=<true|false> + % Load APA style + apa.legacy_if_set:n = @uvh@apa, + apa.usage:n = preamble, + % biblatex=<true|false> + % Load biblatex + biblatex.legacy_if_set:n = @uvh@biblatex, + biblatex.usage:n = preamble, + % breakevent=<true|false> + % Line break in heading between event and event spec (location, date etc.) + breakevent.legacy_if_set:n = @uvh@breakevent, + breakevent.usage:n = preamble, + % bwlogo=<true|false> + % Print monochrome logo? + bwlogo.code:n = + { \bool_if:nTF {#1} { + \def\uvh@printlogo{\includegraphics[width=74mm]{univielogo-sw}} + \def\uvh@printsmalllogo{\includegraphics[height=14mm]{univielogo-sw}} + }{ + \def\uvh@printlogo{\includegraphics[width=74mm]{univielogo}} + \def\uvh@printsmalllogo{\includegraphics[height=14mm]{univielogo}} + } + }, + bwlogo.usage:n = preamble, + % caption=<true|false> + % Load caption + caption.legacy_if_set:n = @uvh@captionp, + caption.usage:n = preamble, + % covington=<true|false> + % Load covington + covington.legacy_if_set:n = @uvh@covington, + covington.usage:n = preamble, + % firstpagination=<true|false> + % Suppress pagination on first page? + firstpagination.legacy_if_set:n = @uvh@pageonfirst, + firstpagination.usage:n = preamble, + % foldmarks=<true|false> + % Output fold marks? + foldmarks.legacy_if_set:n = @uvh@foldmarks, + foldmarks.usage:n = preamble, + % fontenc=<value|none> + % customize font encoding + fontenc.code:n = + { \str_if_eq:NNTF { #1 } { none } { + \@uvh@usefontencfalse + }{ + \def\uvh@fontenc{#1} + } + }, + fontenc.usage:n = preamble, + % fontsize=<size> + % Set base font size + fontsize.tl_set:N = \uvh@fontsize, + fontsize.usage:n = preamble, + % landscape=<true|false> + % Set landscape + landscape.legacy_if_set:n = @uvh@landscape, + landscape.usage:n = preamble, + % microtype=<true|false> + % Load microtype + microtype.legacy_if_set:n = @uvh@microtype, + microtype.usage:n = preamble, + % papersize=<size> + % Set paper size + papersize.tl_set:N = \uvh@papersize, + papersize.usage:n = preamble, + % polyglossia=<true|false> + % Load polyglossia + polyglossia.legacy_if_set:n = @uvh@polyglossia, + polyglossia.code:n = + { \bool_if:nT {#1} { + \@uvh@psfontsfalse + \@uvh@otffontstrue + } + }, + polyglossia.usage:n = preamble, + % pplogo=<true|false> + % Print logo on page 2ff. + pplogo.legacy_if_set:n = @uvh@pplogo, + pplogo.usage:n = preamble, + % punchmarks=<true|false> + % Output punch marks? + punchmarks.legacy_if_set:n = @uvh@punchmark, + punchmarks.usage:n = preamble, + % ref=<true|false> + % Load varioref and prettyref + ref.legacy_if_set:n = @uvh@refsp, + ref.usage:n = preamble, + % swaphead=<true|false> + % Swap title and event in header + swaphead.legacy_if_set:n = @uvh@swaphead, + swaphead.usage:n = preamble, + % totalpages=<true|false> + % Output total page number + totalpages.legacy_if_set:n = @uvh@lastpage, + totalpages.usage:n = preamble, + % widesubtitle=<true|false> + % Print subtitle over the whole text width + % (may conflict with address field) + widesubtitle.legacy_if_set:n = @uvh@usewidesubtitle, + widesubtitle.usage:n = preamble, + % cd=<german|english> + % CD Language + cd .choice:, + % german + cd / german .code:n = { \uvh@cd@german }, + % english + cd / english .code:n = { \uvh@cd@english }, + % draftmark=<true|false|firstpage> + % Print draftmark + draftmark .choice:, + % true + draftmark / true .code:n = + { \@uvh@draftmarktrue + \@uvh@draftmarkfpfalse + }, + % false + draftmark / false .code:n = + { \@uvh@draftmarkfalse + \@uvh@draftmarkfpfalse + }, + % firstpage + draftmark / firstpage .code:n = + { \@uvh@draftmarktrue + \@uvh@draftmarkfptrue + }, + % no val equals to true + draftmark .default:n = {true}, + % fonts=<ps|otf|none> + % Select font scheme + fonts .choice:, + % ps: use PostScript fonts (classic LaTeX) + fonts / ps .code:n = + { \@uvh@psfontstrue + \@uvh@otffontsfalse + }, + % otf: use OpenType fonts (fontspec) + fonts / otf .code:n = + { \@uvh@psfontsfalse + \@uvh@otffontstrue + }, + % none: Use no font package + fonts / none .code:n = + { \@uvh@psfontsfalse + \@uvh@otffontsfalse + }, +} +\ExplSyntaxOff +% Process -% fontenc=<value|false> -% customize font encoding -\newif\ifuniv@usefontenc\univ@usefontenctrue -\def\univ@fontenc{T1} -\define@choicekey*+{uvt}{fontenc}[\val\nr]{none}{% - \ifcase\nr\relax% none: - \univ@usefontencfalse - \fi -}{% - \def\univ@fontenc{#1}% +\IfFormatAtLeastTF{2022-06-01} +{ + \ProcessKeyOptions[uvh] +}{ + \RequirePackage{l3keys2e} + \ProcessKeysOptions{uvh} } -% Process -\ProcessOptionsX<uvt> - %% ============================================================ %% LOAD REQUIRED BASE CLASS AND PACKAGES %% ============================================================ % Base class: scrartcl (KOMA-Script) -\PassOptionsToClass{fontsize=\univ@fontsize,oneside,final}{scrartcl} -\iflandscape +\PassOptionsToClass{fontsize=\uvh@fontsize,oneside,final}{scrartcl} +\if@uvh@landscape \PassOptionsToClass{landscape}{scrartcl} \fi \LoadClass{scrartcl}[1997/04/16] @@ -431,29 +315,29 @@ \AtEndOfClass{\pagestyle{headings}} % Use lastpage package if total pages is required -\iflastpage +\if@uvh@lastpage \AtEndOfClass{\RequirePackage{lastpage}} \fi % We need graphicx for the logo \RequirePackage{graphicx} -\ifpsfonts - \ifuniv@usefontenc - \RequirePackage[\univ@fontenc]{fontenc} - \fi - % Source Pro fonts - \usepackage[default,osf]{sourceserifpro} - \usepackage[osf]{sourcesanspro} - \usepackage{sourcecodepro} +\if@uvh@psfonts + \if@uvh@usefontenc + \RequirePackage[\uvh@fontenc]{fontenc} + \fi + % Source Pro fonts + \RequirePackage[default,osf]{sourceserifpro} + \RequirePackage[osf]{sourcesanspro} + \RequirePackage{sourcecodepro} \fi -\ifotffonts - \RequirePackage{fontspec} - % Source Pro fonts - \setmainfont{SourceSerifPro}[Numbers=OldStyle] - \setsansfont{SourceSansPro}[Numbers=OldStyle] - \setmonofont{SourceCodePro} +\if@uvh@otffonts + \RequirePackage{fontspec} + % Source Pro fonts + \setmainfont{SourceSerifPro}[Numbers=OldStyle] + \setsansfont{SourceSansPro}[Numbers=OldStyle] + \setmonofont{SourceCodePro} \fi @@ -465,19 +349,19 @@ % 0 Predefinitions % Font settings -\def\univ@font@event{\fontsize{11}{13pt}\selectfont\mdseries\sffamily} -\def\univ@font@title{\fontsize{18}{21pt}\selectfont\bfseries\sffamily} -\def\univ@font@subtitle{\fontsize{13}{16pt}\selectfont\bfseries\sffamily} -\def\univ@font@sections{\fontsize{13}{16pt}\selectfont\bfseries\sffamily} -\def\univ@font@department{\fontsize{10}{12pt}\selectfont\bfseries\sffamily} -\def\univ@font@header{\fontsize{8}{10pt}\selectfont\mdseries\sffamily} -\def\univ@font@footer{\fontsize{8}{10pt}\selectfont\sffamily} -\def\univ@font@headertitle{\fontsize{8}{10pt}\selectfont\sffamily} -\def\univ@font@eventlocdate{\fontsize{11}{13pt}\selectfont\mdseries\sffamily} +\def\uvh@font@event{\fontsize{11}{13pt}\selectfont\mdseries\sffamily} +\def\uvh@font@title{\fontsize{18}{21pt}\selectfont\bfseries\sffamily} +\def\uvh@font@subtitle{\fontsize{13}{16pt}\selectfont\bfseries\sffamily} +\def\uvh@font@sections{\fontsize{13}{16pt}\selectfont\bfseries\sffamily} +\def\uvh@font@department{\fontsize{10}{12pt}\selectfont\bfseries\sffamily} +\def\uvh@font@header{\fontsize{8}{10pt}\selectfont\mdseries\sffamily} +\def\uvh@font@footer{\fontsize{8}{10pt}\selectfont\sffamily} +\def\uvh@font@headertitle{\fontsize{8}{10pt}\selectfont\sffamily} +\def\uvh@font@eventlocdate{\fontsize{11}{13pt}\selectfont\mdseries\sffamily} \setkomafont{part}{\fontsize{16}{18pt}\bfseries} \setkomafont{partnumber}{\usekomafont{part}} -\setkomafont{sectioning}{\univ@font@sections} +\setkomafont{sectioning}{\uvh@font@sections} \setkomafont{descriptionlabel}{\normalfont\mdseries} \setkomafont{captionlabel}{\normalfont\bfseries} @@ -499,105 +383,105 @@ \setlength\aftertitle{18pt} % Boxes -\newsavebox{\univ@box@logo} +\newsavebox{\uvh@box@logo} % Aux linebreak macro, since \\ is redefined by beamer article -\newcommand\umbruch[1][]{\linebreak\ifx\@empty#1\else\vspace{#1}\fi} +\newcommand*\umbruch[1][]{\linebreak\ifx\@empty#1\else\vspace{#1}\fi} %% ============================================================ %% 1 Personal data %% ============================================================ -% a.) department -\def\univ@department@de{\empty} -\def\univ@department@en{\empty} +% a.) Department +\def\uvh@department@de{\empty} +\def\uvh@department@en{\empty} \newcommand*\hoDept[2][\@empty]% {% - \ifx\@empty#1\def\univ@department@en{#2} - \else\def\univ@department@en{#1}\fi - \def\univ@department@de{#2} + \ifx\@empty#1\def\uvh@department@en{#2} + \else\def\uvh@department@en{#1}\fi + \def\uvh@department@de{#2} } % b.) Name & function -\def\univ@name@de{} -\def\univ@name@en{} +\def\uvh@name@de{} +\def\uvh@name@en{} \newcommand*\hoName[2][\@empty]% {% - \ifx\@empty#1\def\univ@name@en{#2} - \else\def\univ@name@en{#1}\fi - \def\univ@name@de{#2} + \ifx\@empty#1\def\uvh@name@en{#2} + \else\def\uvh@name@en{#1}\fi + \def\uvh@name@de{#2} } -\def\univ@shortname@de{} -\def\univ@shortname@en{} +\def\uvh@shortname@de{} +\def\uvh@shortname@en{} \newcommand*\hoShortName[2][\@empty]% {% - \ifx\@empty#1\def\univ@shortname@en{#2} - \else\def\univ@shortname@en{#1}\fi - \def\univ@shortname@de{#2} + \ifx\@empty#1\def\uvh@shortname@en{#2} + \else\def\uvh@shortname@en{#1}\fi + \def\uvh@shortname@de{#2} } % -\def\univ@function@de{} -\def\univ@function@en{} +\def\uvh@function@de{} +\def\uvh@function@en{} \newcommand*\hoFunction[2][\@empty]% {% - \ifx\@empty#1\def\univ@function@en{#2} - \else\def\univ@function@en{#1}\fi - \def\univ@function@de{#2} + \ifx\@empty#1\def\uvh@function@en{#2} + \else\def\uvh@function@en{#1}\fi + \def\uvh@function@de{#2} } % c.) A collaborator's name & function -\def\univ@secname{} -\newcommand*\hoSecName[1]{\def\univ@secname{#1}} -\def\univ@shortsecname{} -\newcommand*\hoShortSecName[1]{\def\univ@shortsecname{#1}} +\def\uvh@secname{} +\newcommand*\hoSecName[1]{\def\uvh@secname{#1}} +\def\uvh@shortsecname{} +\newcommand*\hoShortSecName[1]{\def\uvh@shortsecname{#1}} % -\def\univ@secfunction@de{} -\def\univ@secfunction@en{} +\def\uvh@secfunction@de{} +\def\uvh@secfunction@en{} \newcommand*\hoSecFunction[2][\@empty]% {% - \ifx\@empty#1\def\univ@secfunction@en{#2} - \else\def\univ@secfunction@en{#1}\fi - \def\univ@secfunction@de{#2} + \ifx\@empty#1\def\uvh@secfunction@en{#2} + \else\def\uvh@secfunction@en{#1}\fi + \def\uvh@secfunction@de{#2} } % d.) Department address -\def\univ@street{} -\newcommand*\hoStreet[1]{\def\univ@street{#1}} +\def\uvh@street{} +\newcommand*\hoStreet[1]{\def\uvh@street{#1}} % -\def\univ@postcode{} -\newcommand*\hoPostCode[1]{\def\univ@postcode{#1}} +\def\uvh@postcode{} +\newcommand*\hoPostCode[1]{\def\uvh@postcode{#1}} % -\def\univ@location@de{} -\def\univ@location@en{} +\def\uvh@location@de{} +\def\uvh@location@en{} \newcommand*\hoLoc[2][\@empty]% {% - \ifx\@empty#1\def\univ@location@en{#2} - \else\def\univ@location@en{#1}\fi - \def\univ@location@de{#2} + \ifx\@empty#1\def\uvh@location@en{#2} + \else\def\uvh@location@en{#1}\fi + \def\uvh@location@de{#2} } % -\def\univ@country@de{} -\def\univ@country@en{} +\def\uvh@country@de{} +\def\uvh@country@en{} \newcommand*\hoCountry[2][\@empty]% {% - \ifx\@empty#1\def\univ@country@en{#2} - \else\def\univ@country@en{#1}\fi - \def\univ@country@de{#2} + \ifx\@empty#1\def\uvh@country@en{#2} + \else\def\uvh@country@en{#1}\fi + \def\uvh@country@de{#2} } % e.) Contact -\def\univ@phone{} -\newcommand*\hoPhone[1]{\def\univ@phone{#1}} +\def\uvh@phone{} +\newcommand*\hoPhone[1]{\def\uvh@phone{#1}} % -\def\univ@fax{} -\newcommand*\hoFax[1]{\def\univ@fax{#1}} +\def\uvh@fax{} +\newcommand*\hoFax[1]{\def\uvh@fax{#1}} % -\def\univ@email{} -\newcommand*\hoEMail[1]{\def\univ@email{#1}} +\def\uvh@email{} +\newcommand*\hoEMail[1]{\def\uvh@email{#1}} % -\def\univ@url{} -\newcommand*\hoUrl[1]{\def\univ@url{#1}} +\def\uvh@url{} +\newcommand*\hoUrl[1]{\def\uvh@url{#1}} %% ============================================================ @@ -605,135 +489,135 @@ %% ============================================================ % a.) Handout title -\def\univ@title{} -\def\univ@title@header{~} +\def\uvh@title{} +\def\uvh@title@header{~} \newcommand{\hoTitle}[2][\@empty]% {% - \ifx\@empty#1\def\univ@title@header{#2} - \else\def\univ@title@header{#1}\fi - \def\univ@title{#2} + \ifx\@empty#1\def\uvh@title@header{#2} + \else\def\uvh@title@header{#1}\fi + \def\uvh@title{#2} \thispagestyle{firstpage}% } -\def\univ@titleprefix{} +\def\uvh@titleprefix{} \newcommand{\hoTitlePrefix}[1] {% - \def\univ@titleprefix{#1}% + \def\uvh@titleprefix{#1}% } % b.) Handout subtitle -\def\univ@subtitle{} -\def\univ@widesubtitle{} +\def\uvh@subtitle{} +\def\uvh@widesubtitle{} \newcommand{\hoSubtitle}{\@ifstar{\@@hoSubtitle}{\@hoSubtitle}} % Starred version: wide subtitle \newcommand{\@hoSubtitle}[1] {% - \ifwidestitle - \def\univ@widesubtitle{#1}% + \if@uvh@usewidesubtitle + \def\uvh@widesubtitle{#1}% \else - \def\univ@subtitle{#1}% + \def\uvh@subtitle{#1}% \fi } % Unstarred version: normal (narrow) subtitle \newcommand{\@@hoSubtitle}[1] {% - \def\univ@widesubtitle{#1}% + \def\uvh@widesubtitle{#1}% } % c.) Event title -\def\univ@event{} -\def\univ@event@header{~} +\def\uvh@event{} +\def\uvh@event@header{~} \newcommand*{\hoEvent}[2][\@empty]{% - \ifx\@empty#1\def\univ@event@header{#2} - \else\def\univ@event@header{#1}\fi - \def\univ@event{#2} + \ifx\@empty#1\def\uvh@event@header{#2} + \else\def\uvh@event@header{#1}\fi + \def\uvh@event{#2} } % d.) Event location -\def\univ@eventlocation{} -\def\univ@eventlocation@header{} +\def\uvh@eventlocation{} +\def\uvh@eventlocation@header{} \newcommand*{\hoEventLoc}[2][\@empty]{% - \ifx\@empty#1\def\univ@eventlocation@header{#2} - \else\def\univ@eventlocation@header{#1}\fi - \def\univ@eventlocation{#2} + \ifx\@empty#1\def\uvh@eventlocation@header{#2} + \else\def\uvh@eventlocation@header{#1}\fi + \def\uvh@eventlocation{#2} } % e.) Event date -\def\univ@eventdate{} -\def\univ@eventdate@header{} +\def\uvh@eventdate{} +\def\uvh@eventdate@header{} \newcommand*{\hoEventDate}[2][\@empty]{% - \ifx\@empty#1\def\univ@eventdate@header{#2} - \else\def\univ@eventdate@header{#1}\fi - \def\univ@eventdate{#2} + \ifx\@empty#1\def\uvh@eventdate@header{#2} + \else\def\uvh@eventdate@header{#1}\fi + \def\uvh@eventdate{#2} } % The maketitle routine \renewcommand\maketitle{% - \newif\ifuniv@eventline\univ@eventlinefalse% - \ifx\univ@event\empty\else\univ@eventlinetrue\fi% - \ifx\univ@eventdate\empty\else\univ@eventlinetrue\fi% - \ifx\univ@eventlocation\empty\else\univ@eventlinetrue\fi% + \newif\ifuvh@eventline\uvh@eventlinefalse% + \ifx\uvh@event\empty\else\uvh@eventlinetrue\fi% + \ifx\uvh@eventdate\empty\else\uvh@eventlinetrue\fi% + \ifx\uvh@eventlocation\empty\else\uvh@eventlinetrue\fi% \vspace*{\beforetitling}% \hspace*{\titleoffset}% \begin{minipage}[t]{0.63\columnwidth}% \raggedright% - \ifx\univ@event\empty% + \ifx\uvh@event\empty% \else - \vspace*{\beforeevent}\bgroup\univ@font@event\univ@event\egroup\ifx\univ@eventlocation\empty\else\par\fi% + \vspace*{\beforeevent}\bgroup\uvh@font@event\uvh@event\egroup\ifx\uvh@eventlocation\empty\else\par\fi% \fi% - \ifx\univ@eventlocation\empty% + \ifx\uvh@eventlocation\empty% \else - \bgroup\univ@font@eventlocdate\univ@eventlocation\egroup% + \bgroup\uvh@font@eventlocdate\uvh@eventlocation\egroup% \fi% - \ifx\univ@eventdate\empty% + \ifx\uvh@eventdate\empty% \else% - \bgroup\univ@font@eventlocdate{} (\univ@eventdate)\egroup% + \bgroup\uvh@font@eventlocdate{} (\uvh@eventdate)\egroup% \fi% - \ifuniv@eventline\par\fi - \ifx\univ@title\empty% + \ifuvh@eventline\par\fi + \ifx\uvh@title\empty% \else \vspace{\beforetitle}% - \ifx\univ@titleprefix\empty% - \parbox{\textwidth}{\raggedright\univ@font@title\univ@title}\par% - \ifx\univ@subtitle\empty% + \ifx\uvh@titleprefix\empty% + \parbox{\textwidth}{\raggedright\uvh@font@title\uvh@title}\par% + \ifx\uvh@subtitle\empty% \else - \vspace{\beforesubtitle}\noindent\bgroup\raggedright\univ@font@subtitle\univ@subtitle\par\egroup% + \vspace{\beforesubtitle}\noindent\bgroup\raggedright\uvh@font@subtitle\uvh@subtitle\par\egroup% \fi \else% \vspace{.15\baselineskip}% \begin{minipage}{\textwidth} \begin{tabularx}{\columnwidth}{@{}l@{\enskip}>{\raggedright\arraybackslash}X} - \univ@font@title\univ@titleprefix & \univ@font@title\univ@title \tabularnewline - \ifx\univ@subtitle\empty% + \uvh@font@title\uvh@titleprefix & \uvh@font@title\uvh@title \tabularnewline + \ifx\uvh@subtitle\empty% \else \noalign{\vspace{\beforesubtitle}}% - & \univ@font@subtitle\univ@subtitle \tabularnewline + & \uvh@font@subtitle\uvh@subtitle \tabularnewline \fi \end{tabularx}% \end{minipage}% \fi \@ifundefined{hypersetup}{}{% - \hypersetup{pdftitle=\ifx\univ@titleprefix\empty\else\univ@titleprefix~\fi\univ@title, - pdfauthor=\univ@name, + \hypersetup{pdftitle=\ifx\uvh@titleprefix\empty\else\uvh@titleprefix~\fi\uvh@title, + pdfauthor=\uvh@name, pdfcreator={LaTeX2e via LyX}}}% \fi% \end{minipage}\par% - \ifx\univ@widesubtitle\empty% + \ifx\uvh@widesubtitle\empty% \else% - \vspace{\beforesubtitle}\bgroup\noindent\raggedright\univ@font@subtitle\univ@widesubtitle\par\egroup% + \vspace{\beforesubtitle}\bgroup\noindent\raggedright\uvh@font@subtitle\uvh@widesubtitle\par\egroup% \fi% \vspace{\aftertitle}% \@afterindentfalse\@afterheading% } % Easy way to change bibliography heading -\def\univ@bibheading{\refname} -\newcommand*\Bibheading[1]{\def\univ@bibheading{#1}} +\def\uvh@bibheading{\refname} +\newcommand*\Bibheading[1]{\def\uvh@bibheading{#1}} % Adjust logo positioning for landscape \newlength\lsoffset -\iflandscape -\setlength\lsoffset{8cm} -\addtolength\headeroffset{\lsoffset} +\if@uvh@landscape + \setlength\lsoffset{8cm} + \addtolength\headeroffset{\lsoffset} \fi @@ -741,15 +625,16 @@ %% LOCALIZATION: %% ============================================================ -\RequirePackage{translations} -\DeclareTranslation{German}{draft}{ENTWURF} -\DeclareTranslation{English}{draft}{DRAFT} -\DeclareTranslation{German}{section}{Abschnitt} -\DeclareTranslation{English}{section}{section} -\DeclareTranslation{German}{footnote}{Anm.} -\DeclareTranslation{English}{footnote}{fn.} -\DeclareTranslation{German}{example}{Beispiel} -\DeclareTranslation{English}{example}{example} +\RequirePackage{translator} +\languagealias{naustrian}{German} +\deftranslation[to=German]{draft}{ENTWURF} +\deftranslation[to=English]{draft}{DRAFT} +\deftranslation[to=German]{section}{Abschnitt} +\deftranslation[to=English]{section}{section} +\deftranslation[to=German]{footnote}{Anm.} +\deftranslation[to=English]{footnote}{fn.} +\deftranslation[to=German]{example}{Beispiel} +\deftranslation[to=English]{example}{example} %% ============================================================ @@ -760,44 +645,44 @@ % First page \def\ps@firstpage{ - \sbox{\univ@box@logo}{\univ@printlogo} - \def\univ@thelogo{\parbox{74mm}{\usebox{\univ@box@logo}}} + \sbox{\uvh@box@logo}{\uvh@printlogo} + \def\uvh@thelogo{\parbox{74mm}{\usebox{\uvh@box@logo}}} \headheight30mm\headsep2.5mm\footskip8mm \def\@oddhead{% \unitlength1mm \hspace*{\headeroffset} \begin{picture}(0,0) - \put(84.5,19){\univ@thelogo} + \put(84.5,19){\uvh@thelogo} \put(107,8){% \parbox[t]{51.5mm} {\normalsize\parbox[t]{\linewidth}{% \begin{flushleft}% - \if\univ@department\empty\else\vspace*{8pt}\univ@font@department\univ@department\umbruch[3pt]\umbruch\fi% - \univ@font@header\univ@name% - \if\univ@function\empty\else\umbruch\univ@function\fi% - \if\univ@street\empty\else\umbruch\univ@street\fi% - \if\univ@location\empty\else\umbruch\univ@postcode~\univ@location\fi% + \if\uvh@department\empty\else\vspace*{8pt}\uvh@font@department\uvh@department\umbruch[3pt]\umbruch\fi% + \uvh@font@header\uvh@name% + \if\uvh@function\empty\else\umbruch\uvh@function\fi% + \if\uvh@street\empty\else\umbruch\uvh@street\fi% + \if\uvh@location\empty\else\umbruch\uvh@postcode~\uvh@location\fi% \vspace{10pt}% - \if\univ@phone\empty\else\umbruch\ifx\univ@phoneprefix\empty\else\univ@phoneprefix\ \fi\univ@phone\fi% - \if\univ@fax\empty\else\umbruch\ifx\univ@faxprefix\empty\else\univ@faxprefix\ \fi\univ@fax\fi% - \if\univ@email\empty\else\umbruch\ifx\univ@emailprefix\empty\else\univ@emailprefix\ \fi\univ@email\fi% - \ifx\univ@url\empty\else\umbruch\ifx\univ@urlprefix\empty\else\univ@urlprefix\ \fi\univ@url\fi% + \if\uvh@phone\empty\else\umbruch\ifx\uvh@phoneprefix\empty\else\uvh@phoneprefix\ \fi\uvh@phone\fi% + \if\uvh@fax\empty\else\umbruch\ifx\uvh@faxprefix\empty\else\uvh@faxprefix\ \fi\uvh@fax\fi% + \if\uvh@email\empty\else\umbruch\ifx\uvh@emailprefix\empty\else\uvh@emailprefix\ \fi\uvh@email\fi% + \ifx\uvh@url\empty\else\umbruch\ifx\uvh@urlprefix\empty\else\uvh@urlprefix\ \fi\uvh@url\fi% \end{flushleft}% }% }% } - \ifuniv@punchmark + \if@uvh@punchmark \put(-27,-112){\line(1,0){4}} \fi - \ifuniv@foldmarks + \if@uvh@foldmarks \put(-33,-56){\line(1,0){3}} \put(-33,-168){\line(1,0){3}} \fi \end{picture} \hfill% } - \ifpageonfirst - \def\@oddfoot{\hfill\univ@font@footer\raggedright\univ@pageprefix~\thepage\iflastpage /\pageref{LastPage}\fi} + \if@uvh@pageonfirst + \def\@oddfoot{\hfill\uvh@font@footer\raggedright\uvh@pageprefix~\thepage\if@uvh@lastpage /\pageref{LastPage}\fi} \else \def\@oddfoot{} \fi @@ -808,37 +693,37 @@ % % Pages > 1 -\newif\ifnoevent\noeventfalse +\newif\if@uvh@noevent\@uvh@noeventfalse \def\heventtitlesep{} \def\ps@headings{% - \let\orig@and\and% + \let\uvh@save@and\and% \def\and{$\cdot$\ }% - \ifnopplogo\else\sbox{\univ@box@logo}{\univ@printsmalllogo}\fi - \def\univ@thelogo{\parbox{90mm}{\usebox{\univ@box@logo}}} + \if@uvh@pplogo\sbox{\uvh@box@logo}{\uvh@printsmalllogo}\fi + \def\uvh@thelogo{\parbox{90mm}{\usebox{\uvh@box@logo}}} \headheight30mm\headsep2.5mm\footskip8mm - \def\titleline{\ifx\univ@title@header\empty\else\univ@font@headertitle% - \ifx\univ@titleprefix\empty\else\univ@titleprefix~\fi% - \univ@title@header\linebreak\fi}% - \ifx\univ@eventlocation@header\empty\ifx\univ@eventdate@header\empty\noeventtrue\fi\fi% + \def\titleline{\ifx\uvh@title@header\empty\else\uvh@font@headertitle% + \ifx\uvh@titleprefix\empty\else\uvh@titleprefix~\fi% + \uvh@title@header\linebreak\fi}% + \ifx\uvh@eventlocation@header\empty\ifx\uvh@eventdate@header\empty\@uvh@noeventtrue\fi\fi% \def\eventline{% - \univ@font@header\univ@event@header\ifx\univ@eventdate@header\empty\else\ifbreakevent\linebreak\else\ \fi% - \ifnoevent\else(\ifx\univ@eventlocation@header\empty\else\univ@eventlocation@header, \fi\univ@eventdate@header)\fi\linebreak\fi% + \uvh@font@header\uvh@event@header\ifx\uvh@eventdate@header\empty\else\if@uvh@breakevent\linebreak\else\ \fi% + \if@uvh@noevent\else(\ifx\uvh@eventlocation@header\empty\else\uvh@eventlocation@header, \fi\uvh@eventdate@header)\fi\linebreak\fi% } \def\@oddhead{% \unitlength1mm \hspace{\headeroffset} \begin{picture}(0,0) - \put(106.2,15){\univ@thelogo} + \put(106.2,15){\uvh@thelogo} \put(-8,25){% \hspace*{-\lsoffset}% \parbox[t]{120mm} {\normalsize\parbox[t]{100mm}{% \begin{flushleft}% - \univ@font@header\if\hfuzz\univ@shortname\hfuzz\univ@name\else\univ@shortname\fi - \if\univ@department\empty\else\univ@headerdeptsep\univ@department\fi\linebreak - \ifswaphead + \uvh@font@header\if\hfuzz\uvh@shortname\hfuzz\uvh@name\else\uvh@shortname\fi + \if\uvh@department\empty\else\uvh@headerdeptsep\uvh@department\fi\linebreak + \if@uvh@swaphead \eventline% \heventtitlesep% \titleline% @@ -853,10 +738,10 @@ \end{picture} \hfill% } - \def\@oddfoot{\hfill\univ@font@footer\raggedright\univ@pageprefix~\thepage\iflastpage /\pageref{LastPage}\fi} + \def\@oddfoot{\hfill\uvh@font@footer\raggedright\uvh@pageprefix~\thepage\if@uvh@lastpage /\pageref{LastPage}\fi} \def\@evenhead{\@oddhead} \def\@evenfoot{\@oddfoot} - \let\and\orig@and% + \let\and\uvh@save@and% } @@ -867,22 +752,24 @@ %% captionlabel bold \setkomafont{captionlabel}{\bfseries} -\ifcaptionp -\RequirePackage[format=plain, - justification=RaggedRight, - singlelinecheck=false - ]{caption} +\if@uvh@captionp + \RequirePackage[format=plain, + justification=RaggedRight, + singlelinecheck=false + ]{caption} \fi %% ============================================================= %% POLYGLOSSIA: %% ============================================================= -\ifpolyglossia - \ifcaptionp +\if@uvh@polyglossia + \if@uvh@captionp \RequirePackage{ragged2e} \fi \RequirePackage{polyglossia} +\else + \RequirePackage{babel}[1997/01/23] \fi %% ============================================================= @@ -890,9 +777,9 @@ %% ============================================================= % Biblatex -\ifbiblatex +\if@uvh@biblatex -\ifapa +\if@uvh@apa % Load biblatex with apa style \RequirePackage[% style=apa, @@ -955,12 +842,12 @@ % Change cite command for integrated csquotes env. \AfterPackage*{csquotes}{\SetCiteCommand{\parencite}} -% End of apa condition +% End of @uvh@apa condition \fi -\DeclarePrintbibliographyDefaults{title=\univ@bibheading} +\DeclarePrintbibliographyDefaults{title=\uvh@bibheading} -% End of biblatex condition +% End of @uvh@biblatex condition \fi % Smaller @@ -968,7 +855,7 @@ % Custom heading \AtBeginDocument{% - \renewcommand*\bib@heading{\section*{\univ@bibheading}} + \renewcommand*\bib@heading{\section*{\uvh@bibheading}} } @@ -984,13 +871,20 @@ % \RequirePackage{array} \RequirePackage{ifthen} -\RequirePackage{babel}[1997/01/23] % Micro-typographic polishment -\ifmicrotype +\if@uvh@microtype \RequirePackage{microtype} \fi +% Quote (smaller) +\let\@uvh@save@quote\quote +\renewcommand*{\quote}{\@uvh@save@quote\small} + +% Quotation (smaller) +\let\@uvh@save@quotation\quotation +\renewcommand*{\quotation}{\@uvh@save@quotation\small} + % Smart quotes \RequirePackage{csquotes} \ExecuteQuoteOptions{autostyle=tryonce,german=guillemets,austrian=guillemets,maxlevel=3} @@ -1006,15 +900,12 @@ \newcommand{\urlprefix}{} % URLs italic -\@ifundefined{selectfont}{% -\def\UrlFont{\it}} -{\def\UrlFont{\rmfamily\itshape}% -} +\def\UrlFont{\rmfamily\itshape} % Covington -\ifcovington -\RequirePackage{covington} -\renewcommand{\p@equation}[1]{(#1)} +\if@uvh@covington + \RequirePackage{covington} + \renewcommand{\p@equation}[1]{(#1)} \fi @@ -1022,7 +913,7 @@ %% X-REFS: %% ============================================================= -\ifrefsp +\if@uvh@refsp \AtBeginDocument{% % Varioref: @@ -1032,19 +923,19 @@ \def\reftextfaceafter{auf der gegen\"uberliegenden Seite}% \def\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% \def\reftextfacebefore{auf der gegen\"uberliegenden Seite}% - \def\reftextfaraway[1]{auf S.~\pageref{##1}}% - \def\reftextpagerange[2]{auf S.~\pageref{##1}--\pageref{##2}}% + \def\reftextfaraway#1{auf S.~\pageref{#1}}% + \def\reftextpagerange#1#2{auf S.~\pageref{#1}--\pageref{#2}}% }% % Prettyref: % (varioref-Befehle mit eingebunden) \RequirePackage{prettyref} - \newrefformat{sec}{\GetTranslation{section}~\ref{#1}} - \newrefformat{sub}{\GetTranslation{section}~\ref{#1}} - \newrefformat{anm}{\GetTranslation{footnote}~\ref{#1}} + \newrefformat{sec}{\translate{section}~\ref{#1}} + \newrefformat{sub}{\translate{section}~\ref{#1}} + \newrefformat{anm}{\translate{footnote}~\ref{#1}} \newrefformat{app}{\appendixname~\vref{#1}} \newrefformat{tab}{\tablename~\vref{#1}} \newrefformat{fig}{\figurename~\vref{#1}} - \newrefformat{exa}{\GetTranslation{example}~\vref{#1}} + \newrefformat{exa}{\translate{example}~\vref{#1}} } \fi @@ -1054,9 +945,9 @@ %% DRAFT: %% ============================================================= -\ifdraftmark +\if@uvh@draftmark -\ifdraftmarkfp +\if@uvh@draftmarkfp \RequirePackage[firstpageonly]{draftwatermark} \else \RequirePackage{draftwatermark} @@ -1067,7 +958,7 @@ vpos=10pt, anchor=ct, fontsize=14pt, - text={\GetTranslation{draft} (\today)} + text={\translate{draft} (\today)} } \fi diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls index 885551b587..34f029b9ed 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls @@ -32,186 +32,146 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-paper}[2022/06/18 v1.19 Univie Linguistic Papers (JSp)] +\ProvidesPackage{univie-ling-paper}[2022/10/02 v.2.0 Univie Linguistic Papers (JSp)] %% ============================================================ %% CLASS OPTIONS %% ============================================================ -\RequirePackage{xkeyval} - -\newif\ifbiblatex\biblatextrue -\newif\ifapa\apafalse -\newif\ifcaptionp\captionptrue -\newif\ifdraftmark\draftmarkfalse -\newif\ifdraftmarkfp\draftmarkfpfalse -\newif\ifrefsp\refsptrue -\newif\ifcovington\covingtontrue -\newif\ifmicrotype\microtypetrue -\newif\ifmultiauthors\multiauthorsfalse -\newif\ifpolyglossia\polyglossiafalse -\newif\ifpsfonts\psfontstrue -\newif\ifotffonts\otffontsfalse -\newif\ifnofonts\nofontsfalse - -% all=<true|false> -% Load all packages -\define@boolkey+{uvt}{all}[true]{% - \ifKV@uvt@all - \biblatextrue - \captionptrue - \refsptrue - \covingtontrue - \microtypetrue - \else - \biblatexfalse - \captionpfalse - \refspfalse - \covingtonfalse - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown 'all' value}% +\newif\if@uvp@biblatex\@uvp@biblatextrue +\newif\if@uvp@apa\@uvp@apafalse +\newif\if@uvp@captionp\@uvp@captionptrue +\newif\if@uvp@draftmark\@uvp@draftmarkfalse +\newif\if@uvp@draftmarkfp\@uvp@draftmarkfpfalse +\newif\if@uvp@refsp\@uvp@refsptrue +\newif\if@uvp@covington\@uvp@covingtontrue +\newif\if@uvp@microtype\@uvp@microtypetrue +\newif\if@uvp@multiauthors\@uvp@multiauthorsfalse +\newif\if@uvp@polyglossia\@uvp@polyglossiafalse +\newif\if@uvp@psfonts\@uvp@psfontstrue +\newif\if@uvp@otffonts\@uvp@otffontsfalse +\newif\if@uvp@usefontenc\@uvp@usefontenctrue +\def\uvp@fontenc{T1} + +% We use l3keys here since (1) LaTeX2e keys are rather +% new and (2) do not provide for choice keys yet. +\ExplSyntaxOn +\keys_define:nn { uvp } +{ + % all=<true|false> + % Load all (most) packages + all.code:n = + { \bool_if:nTF {#1} { + \@uvp@biblatextrue + \@uvp@captionptrue + \@uvp@refsptrue + \@uvp@covingtontrue + \@uvp@microtypetrue + }{ + \@uvp@biblatexfalse + \@uvp@captionpfalse + \@uvp@refspfalse + \@uvp@covingtonfalse + \@uvp@microtypefalse + } + }, + all.usage:n = preamble, + % apa=<true|false> + % Load APA style + apa.legacy_if_set:n = @uvp@apa, + apa.usage:n = preamble, + % biblatex=<true|false> + % Load biblatex + biblatex.legacy_if_set:n = @uvp@biblatex, + biblatex.usage:n = preamble, + % caption=<true|false> + % Load caption + caption.legacy_if_set:n = @uvp@captionp, + caption.usage:n = preamble, + % covington=<true|false> + % Load covington + covington.legacy_if_set:n = @uvp@covington, + covington.usage:n = preamble, + % fontenc=<value|none> + % customize font encoding + fontenc.code:n = + { \str_if_eq:NNTF { #1 } { none } { + \@uvp@usefontencfalse + }{ + \def\uvp@fontenc{#1} + } + }, + fontenc.usage:n = preamble, + % microtype=<true|false> + % Load microtype + microtype.legacy_if_set:n = @uvp@microtype, + microtype.usage:n = preamble, + % polyglossia=<true|false> + % Load polyglossia + polyglossia.legacy_if_set:n = @uvp@polyglossia, + polyglossia.code:n = + { \bool_if:nT {#1} { + \@uvp@psfontsfalse + \@uvp@otffontstrue + } + }, + polyglossia.usage:n = preamble, + % ref=<true|false> + % Load varioref and prettyref + ref.legacy_if_set:n = @uvp@refsp, + ref.usage:n = preamble, + % draftmark=<true|false|firstpage> + % Print draftmark + draftmark .choice:, + % true + draftmark / true .code:n = + { \@uvp@draftmarktrue + \@uvp@draftmarkfpfalse + }, + % false + draftmark / false .code:n = + { \@uvp@draftmarkfalse + \@uvp@draftmarkfpfalse + }, + % firstpage + draftmark / firstpage .code:n = + { \@uvp@draftmarktrue + \@uvp@draftmarkfptrue + }, + % no val equals to true + draftmark .default:n = {true}, + % fonts=<ps|otf|none> + % Select font scheme + fonts .choice:, + % ps: use PostScript fonts (classic LaTeX) + fonts / ps .code:n = + { \@uvp@psfontstrue + \@uvp@otffontsfalse + }, + % otf: use OpenType fonts (fontspec) + fonts / otf .code:n = + { \@uvp@psfontsfalse + \@uvp@otffontstrue + }, + % none: Use no font package + fonts / none .code:n = + { \@uvp@psfontsfalse + \@uvp@otffontsfalse + }, } +\ExplSyntaxOff -% biblatex=<true|false> -% Load biblatex -\define@boolkey+{uvt}{biblatex}[true]{% - \ifKV@uvt@biblatex - \biblatextrue - \else - \biblatexfalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown biblatex value}% -} - -% apa=<true|false> -% Load APA style -\define@boolkey+{uvt}{apa}[true]{% - \ifKV@uvt@apa - \apatrue - \else - \apafalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown apa value}% -} - -% caption=<true|false> -% Load caption -\define@boolkey+{uvt}{caption}[true]{% - \ifKV@uvt@caption - \captionptrue - \else - \captionpfalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown caption value}% -} - -% draftmark=<true|false> -% Print draftmark -\define@choicekey*+{uvt}{draftmark}[\val\nr]{true,false,firstpage}{% - \ifcase\nr\relax% true: - \draftmarktrue - \draftmarkfpfalse - \or% false: - \draftmarkfalse - \draftmarkfpfalse - \or% firstpage: - \draftmarktrue - \draftmarkfptrue - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown draft value}% -} - -% ref=<true|false> -% Load varioref and prettyref -\define@boolkey+{uvt}{ref}[true]{% - \ifKV@uvt@ref - \refsptrue - \else - \refspfalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown ref value}% -} - -% covington=<true|false> -% Load covington -\define@boolkey+{uvt}{covington}[true]{% - \ifKV@uvt@covington - \covingtontrue - \else - \covingtonfalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown covington value}% -} - -% microtype=<true|false> -% Load microtype -\define@boolkey+{uvt}{microtype}[true]{% - \ifKV@uvt@microtype - \microtypetrue - \else - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown microtype value}% -} - -% polyglossia=<true|false> -% Load polyglossia -\define@boolkey+{uvt}{polyglossia}[true]{% - \ifKV@uvt@polyglossia - \polyglossiatrue - \psfontsfalse - \otffontstrue - \nofontsfalse - \else - \polyglossiafalse - \fi -}{% - \ClassWarning{univie-ling-paper}{unknown polyglossia value}% -} +% Process -% fonts=<ps|otf|none> -\define@choicekey*+{uvt}{fonts}[\val\nr]{ps,otf,none}{% - \ifcase\nr\relax% ps: use PostScript fonts (classic LaTeX) - \psfontstrue - \otffontsfalse - \nofontsfalse - \or% otf: use OpenType fonts (fontspec) - \psfontsfalse - \otffontstrue - \nofontsfalse - \or% none: Use no font package - \psfontsfalse - \otffontsfalse - \nofontstrue - \fi -}{% - \PackageWarning{univie-ling-paper}{unknown fonts value '#1'}% +\IfFormatAtLeastTF{2022-06-01} +{ + \ProcessKeyOptions[uvp] +}{ + \RequirePackage{l3keys2e} + \ProcessKeysOptions{uvp} } -% fontenc=<value|false> -% customize font encoding -\newif\ifuniv@usefontenc\univ@usefontenctrue -\def\univ@fontenc{T1} -\define@choicekey*+{uvt}{fontenc}[\val\nr]{none}{% - \ifcase\nr\relax% none: - \univ@usefontencfalse - \fi -}{% - \def\univ@fontenc{#1}% -} - -% Process -\ProcessOptionsX<uvt> %% ============================================================ %% BASE CLASS: @@ -233,87 +193,85 @@ %% LOCALIZATION: %% ============================================================ -\RequirePackage{translations} -\DeclareTranslation{German}{draft}{ENTWURF} -\DeclareTranslation{English}{draft}{DRAFT} -\DeclareTranslation{German}{subm}{Abgegeben am} -\DeclareTranslation{English}{subm}{Submission date:} -\DeclareTranslation{German}{submto}{bei} -\DeclareTranslation{English}{submto}{Instructor:} -\DeclareTranslation{German}{author}{Verfasst von} -\DeclareTranslation{English}{author}{Author} -\DeclareTranslation{German}{section}{Abschnitt} -\DeclareTranslation{English}{section}{section} -\DeclareTranslation{German}{footnote}{Anm.} -\DeclareTranslation{English}{footnote}{fn.} -\DeclareTranslation{German}{example}{Beispiel} -\DeclareTranslation{English}{example}{example} -\DeclareTranslation{German}{matnr}{Matrikelnummer} -\DeclareTranslation{English}{matnr}{Matrikelnummer} -\DeclareTranslation{German}{stkz}{Studienkennzahl} -\DeclareTranslation{English}{stkz}{Studienkennzahl} -\DeclareTranslation{German}{erkl}{Erkl\"arung} -\DeclareTranslation{English}{erkl}{Declaration} -\DeclareTranslation{German}{selbst1s}{Hiermit versichere ich, dass ich die vorliegende Arbeit selbst\"andig verfasst +\RequirePackage{translator} +\languagealias{naustrian}{German} +\deftranslation[to=German]{draft}{ENTWURF} +\deftranslation[to=English]{draft}{DRAFT} +\deftranslation[to=German]{subm}{Abgegeben am} +\deftranslation[to=English]{subm}{Submission date:} +\deftranslation[to=German]{submto}{bei} +\deftranslation[to=English]{submto}{Instructor:} +\deftranslation[to=German]{author}{Verfasst von} +\deftranslation[to=English]{author}{Author} +\deftranslation[to=German]{section}{Abschnitt} +\deftranslation[to=English]{section}{section} +\deftranslation[to=German]{footnote}{Anm.} +\deftranslation[to=English]{footnote}{fn.} +\deftranslation[to=German]{example}{Beispiel} +\deftranslation[to=English]{example}{example} +\deftranslation[to=German]{matnr}{Matrikelnummer} +\deftranslation[to=English]{matnr}{Matrikelnummer} +\deftranslation[to=German]{stkz}{Studienkennzahl} +\deftranslation[to=English]{stkz}{Studienkennzahl} +\deftranslation[to=German]{erkl}{Erkl\"arung} +\deftranslation[to=English]{erkl}{Declaration} +\deftranslation[to=German]{selbst1s}{Hiermit versichere ich, dass ich die vorliegende Arbeit selbst\"andig verfasst und keine anderen als die angegebenen Hilfsmittel benutzt habe.} -\DeclareTranslation{German}{selbst1p}{Hiermit versichern wir, dass wir die vorliegende Arbeit selbst\"andig verfasst +\deftranslation[to=German]{selbst1p}{Hiermit versichern wir, dass wir die vorliegende Arbeit selbst\"andig verfasst und keine anderen als die angegebenen Hilfsmittel benutzt haben.} -\DeclareTranslation{German}{selbst2}{Die Stellen der Arbeit, die anderen Quellen im Wortlaut oder dem Sinn nach entnommen wurden, sind durch Herkunftsangaben kenntlich gemacht. +\deftranslation[to=German]{selbst2}{Die Stellen der Arbeit, die anderen Quellen im Wortlaut oder dem Sinn nach entnommen wurden, sind durch Herkunftsangaben kenntlich gemacht. Dies gilt auch f\"ur Zeichnungen, Skizzen, bildliche Darstellungen sowie f\"ur Quellen aus dem Internet.} -\DeclareTranslation{German}{selbst3s}{Ich versichere ferner, dass ich die vorliegende Arbeit weder ganz noch in Teilen bereits als +\deftranslation[to=German]{selbst3s}{Ich versichere ferner, dass ich die vorliegende Arbeit weder ganz noch in Teilen bereits als Pr\"ufungsleistung vorgelegt habe.} -\DeclareTranslation{German}{selbst3p}{Wir versichern ferner, dass wir die vorliegende Arbeit weder ganz noch in Teilen bereits als +\deftranslation[to=German]{selbst3p}{Wir versichern ferner, dass wir die vorliegende Arbeit weder ganz noch in Teilen bereits als Pr\"ufungsleistung vorgelegt haben.} -\DeclareTranslation{English}{selbst1s}{I hereby declare that this paper is entirely my own work and that I used no source material or aids other than those stipulated.} -\DeclareTranslation{English}{selbst1p}{We hereby declare that this paper is entirely our own work and that we used no source material or aids other than those stipulated.} -\DeclareTranslation{English}{selbst2}{No part of it has been copied from any work produced by any other person or copied from any other source without reference to the source. +\deftranslation[to=English]{selbst1s}{I hereby declare that this paper is entirely my own work and that I used no source material or aids other than those stipulated.} +\deftranslation[to=English]{selbst1p}{We hereby declare that this paper is entirely our own work and that we used no source material or aids other than those stipulated.} +\deftranslation[to=English]{selbst2}{No part of it has been copied from any work produced by any other person or copied from any other source without reference to the source. This includes all drawings, sketches, graphics and internet sources.} -\DeclareTranslation{English}{selbst3s}{Furthermore, I declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} -\DeclareTranslation{English}{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} -\DeclareTranslation{German}{wien}{Wien} -\DeclareTranslation{English}{wien}{Vienna} +\deftranslation[to=English]{selbst3s}{Furthermore, I declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} +\deftranslation[to=English]{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} +\deftranslation[to=German]{wien}{Wien} +\deftranslation[to=English]{wien}{Vienna} %% ============================================================ %% FONTS AND EMPHASIZING: %% ============================================================ -\ifpsfonts +\if@uvp@psfonts -\ifuniv@usefontenc - \RequirePackage[\univ@fontenc]{fontenc} -\fi + \if@uvp@usefontenc + \RequirePackage[\uvp@fontenc]{fontenc} + \fi -% Palatino -\RequirePackage[osf]{mathpazo} + % Palatino + \RequirePackage[osf]{mathpazo} -% Arial or Helvetica -\IfFileExists{uarial.sty}{% -\RequirePackage{uarial} -}{% -\RequirePackage{helvet} -} + % Arial or Helvetica + \IfFileExists{uarial.sty}{% + \RequirePackage{uarial} + }{% + \RequirePackage{helvet} + } -% Source Code Pro (Courier) -\RequirePackage[scale=.93]{sourcecodepro} + % Source Code Pro (Courier) + \RequirePackage[scale=.93]{sourcecodepro} \fi -\ifotffonts -\RequirePackage{fontspec} -\setmainfont{Palatino} -\setsansfont{Arial} -\setmonofont{SourceCodePro} +\if@uvp@otffonts + \RequirePackage{fontspec} + \setmainfont{Palatino} + \setsansfont{Arial} + \setmonofont{SourceCodePro} \fi % Hyperlinks \RequirePackage{url} \newcommand{\urlprefix}{} % URLs italic -\@ifundefined{selectfont}{% -\def\UrlFont{\it}} -{\def\UrlFont{\rmfamily\itshape} -} +\def\UrlFont{\rmfamily\itshape} % Fix for \slash-Makro, by Donald Arsenau \def\slash{/\penalty\exhyphenpenalty\hskip\z@skip} @@ -343,7 +301,7 @@ This includes all drawings, sketches, graphics and internet sources.} }{} \def\lectype{\csuse{lectype@#1}}% \def\lectypeverb{\csuse{lectypeverb@#1}}% - \iftoggle{customtexttype}{}{\def\@texttype{\csuse{texttype@#1}}} + \if@uvp@customtexttype\else\def\@texttype{\csuse{texttype@#1}}\fi% }% } @@ -359,8 +317,8 @@ This includes all drawings, sketches, graphics and internet sources.} } \def\@texttype{Seminararbeit} -\newtoggle{customtexttype} -\newcommand\texttype[1]{\def\@texttype{#1}\toggletrue{customtexttype}} +\newif\if@uvp@customtexttype\@uvp@customtexttypefalse +\newcommand\texttype[1]{\def\@texttype{#1}\@uvp@customtexttypetrue} \def\@course{} \newcommand\course[2]{\setkeys{lec}{lectype=#1}\def\@course{#2}} \def\@instructor{} @@ -423,7 +381,7 @@ This includes all drawings, sketches, graphics and internet sources.} %% LAYOUT %% ============================================================ -\usepackage{setspace} +\RequirePackage{setspace} \onehalfspacing % Header and pagination: @@ -446,8 +404,8 @@ This includes all drawings, sketches, graphics and internet sources.} \raggedbottom % Micro-typographic polishment -\ifmicrotype -\usepackage{microtype} +\if@uvp@microtype + \RequirePackage{microtype} \fi % Smart quotes @@ -466,7 +424,7 @@ This includes all drawings, sketches, graphics and internet sources.} \else \def\and{% \end{tabular}% - \global\multiauthorstrue% + \global\@uvp@multiauthorstrue% \hskip 1em \@plus.17fil% \begin{tabular}[t]{c}% }% @@ -539,7 +497,7 @@ This includes all drawings, sketches, graphics and internet sources.} }% \vskip 2em {% - \GetTranslation{author}\par + \translate{author}\par \usekomafont{author}{% \lineskip 0.75em% \begin{tabular}[t]{c} @@ -550,7 +508,7 @@ This includes all drawings, sketches, graphics and internet sources.} \end{tabular}% \hskip 1em \@plus.17fil% \begin{tabular}[t]{c}% - \GetTranslation{matnr}:~ + \translate{matnr}:~ }% \usekomafont{date}{% \begin{tabular}[t]{c} @@ -560,7 +518,7 @@ This includes all drawings, sketches, graphics and internet sources.} \end{tabular}% \hskip 1em \@plus.17fil% \begin{tabular}[t]{c}% - \GetTranslation{stkz}:~ + \translate{stkz}:~ }% \lineskip 0.75em% \begin{tabular}[t]{c} @@ -569,8 +527,8 @@ This includes all drawings, sketches, graphics and internet sources.} }% }% \vfill - {\usekomafont{date}{\GetTranslation{subm} \@date \par}}% - {\ifx\@instructor\@empty\else\usekomafont{date}{\GetTranslation{submto} \@instructor\par}\fi}% + {\usekomafont{date}{\translate{subm} \@date \par}}% + {\ifx\@instructor\@empty\else\usekomafont{date}{\translate{submto} \@instructor\par}\fi}% \end{center}\par \@thanks\let\@thanks\@empty \null @@ -643,26 +601,26 @@ This includes all drawings, sketches, graphics and internet sources.} \hline }% \clearpage -\section*{\GetTranslation{erkl}} +\section*{\translate{erkl}} -\ifmultiauthors -\GetTranslation{selbst1p} +\if@uvp@multiauthors + \translate{selbst1p} \else -\GetTranslation{selbst1s} + \translate{selbst1s} \fi -\GetTranslation{selbst2} +\translate{selbst2} -\ifmultiauthors -\GetTranslation{selbst3p} +\if@uvp@multiauthors + \translate{selbst3p} \else -\GetTranslation{selbst3s} + \translate{selbst3s} \fi \bigskip \bgroup \raggedleft -\GetTranslation{wien}, \today +\translate{wien}, \today \vspace{15mm} @@ -708,21 +666,19 @@ This includes all drawings, sketches, graphics and internet sources.} \def\labelitemi{--} % Quote (smaller) -\newcommand*{\OriginalQuote}{} -\let\OriginalQuote\quote -\renewcommand*{\quote}{\OriginalQuote\small} +\let\@uvp@save@quote\quote +\renewcommand*{\quote}{\@uvp@save@quote\small} % Quotation (smaller) -\newcommand*{\OriginalQuotation}{} -\let\OriginalQuotation\quotation -\renewcommand*{\quotation}{\OriginalQuotation\small} +\let\@uvp@save@quotation\quotation +\renewcommand*{\quotation}{\@uvp@save@quotation\small} % Description (normal italic) \setkomafont{descriptionlabel}{\normalfont\itshape} -\ifcovington -\RequirePackage{covington} -\renewcommand{\p@equation}[1]{(#1)} +\if@uvp@covington + \RequirePackage{covington} + \renewcommand{\p@equation}[1]{(#1)} \fi %% ============================================================= @@ -732,19 +688,19 @@ This includes all drawings, sketches, graphics and internet sources.} %% captionlabel bold \setkomafont{captionlabel}{\bfseries} -\ifcaptionp -\RequirePackage[format=plain, - justification=RaggedRight, - singlelinecheck=false - ]{caption} +\if@uvp@captionp + \RequirePackage[format=plain, + justification=RaggedRight, + singlelinecheck=false + ]{caption} \fi %% ============================================================= %% POLYGLOSSIA: %% ============================================================= -\ifpolyglossia - \ifcaptionp +\if@uvp@polyglossia + \if@uvp@captionp \RequirePackage{ragged2e} \fi \RequirePackage{polyglossia} @@ -755,9 +711,9 @@ This includes all drawings, sketches, graphics and internet sources.} %% ============================================================= % Biblatex -\ifbiblatex +\if@uvp@biblatex -\ifapa +\if@uvp@apa % Load biblatex with apa style \RequirePackage[% style=apa, @@ -820,10 +776,10 @@ This includes all drawings, sketches, graphics and internet sources.} % Change cite command for integrated csquotes env. \SetCiteCommand{\parencite} -% End of apa condition +% End of @uvp@apa condition \fi -% End of biblatex condition +% End of @uvp@biblatex condition \fi %% ============================================================= @@ -842,7 +798,7 @@ This includes all drawings, sketches, graphics and internet sources.} %% X-REFS: %% ============================================================= -\ifrefsp +\if@uvp@refsp \AtBeginDocument{% % Varioref: @@ -852,19 +808,19 @@ This includes all drawings, sketches, graphics and internet sources.} \def\reftextfaceafter{auf der gegen\"uberliegenden Seite}% \def\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% \def\reftextfacebefore{auf der gegen\"uberliegenden Seite}% - \def\reftextfaraway[1]{auf S.~\pageref{##1}}% - \def\reftextpagerange[2]{auf S.~\pageref{##1}--\pageref{##2}}% + \def\reftextfaraway#1{auf S.~\pageref{#1}}% + \def\reftextpagerange#1#2{auf S.~\pageref{#1}--\pageref{#2}}% }% % Prettyref: % (varioref-Befehle mit eingebunden) \RequirePackage{prettyref} - \newrefformat{sec}{\GetTranslation{section}~\ref{#1}} - \newrefformat{sub}{\GetTranslation{section}~\ref{#1}} - \newrefformat{anm}{\GetTranslation{footnote}~\ref{#1}} + \newrefformat{sec}{\translate{section}~\ref{#1}} + \newrefformat{sub}{\translate{section}~\ref{#1}} + \newrefformat{anm}{\translate{footnote}~\ref{#1}} \newrefformat{app}{\appendixname~\vref{#1}} \newrefformat{tab}{\tablename~\vref{#1}} \newrefformat{fig}{\figurename~\vref{#1}} - \newrefformat{exa}{\GetTranslation{example}~\vref{#1}} + \newrefformat{exa}{\translate{example}~\vref{#1}} } \fi @@ -874,9 +830,9 @@ This includes all drawings, sketches, graphics and internet sources.} %% DRAFT: %% ============================================================= -\ifdraftmark +\if@uvp@draftmark -\ifdraftmarkfp +\if@uvp@draftmarkfp \RequirePackage[firstpageonly]{draftwatermark} \else \RequirePackage{draftwatermark} @@ -887,7 +843,7 @@ This includes all drawings, sketches, graphics and internet sources.} vpos=10pt, anchor=ct, fontsize=14pt, - text={\GetTranslation{draft} (\today)} + text={\translate{draft} (\today)} } \fi diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls index 220f115f53..8cc29a83ac 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls @@ -32,7 +32,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-thesis}[2022/06/18 v1.19 Univie Linguistic Theses (JSp)] +\ProvidesPackage{univie-ling-thesis}[2022/10/02 v.2.0 Univie Linguistic Theses (JSp)] %% ============================================================ @@ -41,204 +41,149 @@ \RequirePackage{xkeyval} -\newif\ifbiblatex\biblatextrue -\newif\ifapa\apafalse -\newif\ifcaptionp\captionptrue -\newif\ifdraftmark\draftmarkfalse -\newif\ifdraftmarkfp\draftmarkfpfalse -\newif\ifrefsp\refsptrue -\newif\ifcovington\covingtontrue -\newif\ifmicrotype\microtypetrue -\newif\ifmultiauthors\multiauthorsfalse -\newif\ifpolyglossia\polyglossiafalse -\newif\ifpsfonts\psfontstrue -\newif\ifotffonts\otffontsfalse -\newif\ifnofonts\nofontsfalse -\newif\iffdegree\fdegreefalse -\newif\ifpdfa\pdfafalse - -% all=<true|false> -% Load all packages -\define@boolkey+{uvt}{all}[true]{% - \ifKV@uvt@all - \biblatextrue - \captionptrue - \refsptrue - \covingtontrue - \microtypetrue - \else - \biblatexfalse - \captionpfalse - \refspfalse - \covingtonfalse - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown 'all' value}% -} - -% biblatex=<true|false> -% Load biblatex -\define@boolkey+{uvt}{biblatex}[true]{% - \ifKV@uvt@biblatex - \biblatextrue - \else - \biblatexfalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown biblatex value}% +\newif\if@uvt@apa\@uvt@apafalse +\newif\if@uvt@biblatex\@uvt@biblatextrue +\newif\if@uvt@captionp\@uvt@captionptrue +\newif\if@uvt@covington\@uvt@covingtontrue +\newif\if@uvt@draftmark\@uvt@draftmarkfalse +\newif\if@uvt@draftmarkfp\@uvt@draftmarkfpfalse +\newif\if@uvt@fdegree\@uvt@fdegreefalse +\newif\if@uvt@microtype\@uvt@microtypetrue +\newif\if@uvt@multiauthors\@uvt@multiauthorsfalse +\newif\if@uvt@otffonts\@uvt@otffontsfalse +\newif\if@uvt@pdfa\@uvt@pdfafalse +\newif\if@uvt@polyglossia\@uvt@polyglossiafalse +\newif\if@uvt@psfonts\@uvt@psfontstrue +\newif\if@uvt@refsp\@uvt@refsptrue +\newif\if@uvt@usefontenc\@uvt@usefontenctrue +\def\uvt@fontenc{T1} + +% We use l3keys here since (1) LaTeX2e keys are rather +% new and (2) do not provide for choice keys yet. +\ExplSyntaxOn +\keys_define:nn { uvt } +{ + % all=<true|false> + % Load all (most) packages + all.code:n = + { \bool_if:nTF {#1} { + \@uvt@biblatextrue + \@uvt@captionptrue + \@uvt@refsptrue + \@uvt@covingtontrue + \@uvt@microtypetrue + }{ + \@uvt@biblatexfalse + \@uvt@captionpfalse + \@uvt@refspfalse + \@uvt@covingtonfalse + \@uvt@microtypefalse + } + }, + all.usage:n = preamble, + % apa=<true|false> + % Load APA style + apa.legacy_if_set:n = @uvt@apa, + apa.usage:n = preamble, + % biblatex=<true|false> + % Load biblatex + biblatex.legacy_if_set:n = @uvt@biblatex, + biblatex.usage:n = preamble, + % caption=<true|false> + % Load caption + caption.legacy_if_set:n = @uvt@captionp, + caption.usage:n = preamble, + % covington=<true|false> + % Load covington + covington.legacy_if_set:n = @uvt@covington, + covington.usage:n = preamble, + % fdegree=<true|false> + % Female degree forms + fdegree.legacy_if_set:n = @uvt@fdegree, + fdegree.usage:n = preamble, + % fontenc=<value|none> + % customize font encoding + fontenc.code:n = + { \str_if_eq:NNTF { #1 } { none } { + \@uvt@usefontencfalse + }{ + \def\uvt@fontenc{#1} + } + }, + fontenc.usage:n = preamble, + % microtype=<true|false> + % Load microtype + microtype.legacy_if_set:n = @uvt@microtype, + microtype.usage:n = preamble, + % pdfa=<true|false> + % PDF/A + pdfa.legacy_if_set:n = @uvt@pdfa, + pdfa.usage:n = preamble, + % polyglossia=<true|false> + % Load polyglossia + polyglossia.legacy_if_set:n = @uvt@polyglossia, + polyglossia.code:n = + { \bool_if:nT {#1} { + \@uvt@psfontsfalse + \@uvt@otffontstrue + } + }, + polyglossia.usage:n = preamble, + % ref=<true|false> + % Load varioref and prettyref + ref.legacy_if_set:n = @uvt@refsp, + ref.usage:n = preamble, + % draftmark=<true|false|firstpage> + % Print draftmark + draftmark .choice:, + % true + draftmark / true .code:n = + { \@uvt@draftmarktrue + \@uvt@draftmarkfpfalse + }, + % false + draftmark / false .code:n = + { \@uvt@draftmarkfalse + \@uvt@draftmarkfpfalse + }, + % firstpage + draftmark / firstpage .code:n = + { \@uvt@draftmarktrue + \@uvt@draftmarkfptrue + }, + % no val equals to true + draftmark .default:n = {true}, + % fonts=<ps|otf|none> + % Select font scheme + fonts .choice:, + % ps: use PostScript fonts (classic LaTeX) + fonts / ps .code:n = + { \@uvt@psfontstrue + \@uvt@otffontsfalse + }, + % otf: use OpenType fonts (fontspec) + fonts / otf .code:n = + { \@uvt@psfontsfalse + \@uvt@otffontstrue + }, + % none: Use no font package + fonts / none .code:n = + { \@uvt@psfontsfalse + \@uvt@otffontsfalse + }, } +\ExplSyntaxOff -% apa=<true|false> -% Load APA style -\define@boolkey+{uvt}{apa}[true]{% - \ifKV@uvt@apa - \apatrue - \else - \apafalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown apa value}% -} - -% caption=<true|false> -% Load caption -\define@boolkey+{uvt}{caption}[true]{% - \ifKV@uvt@caption - \captionptrue - \else - \captionpfalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown caption value}% -} - -% ref=<true|false> -% Load varioref and prettyref -\define@boolkey+{uvt}{ref}[true]{% - \ifKV@uvt@ref - \refsptrue - \else - \refspfalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown ref value}% -} - -% covington=<true|false> -% Load covington -\define@boolkey+{uvt}{covington}[true]{% - \ifKV@uvt@covington - \covingtontrue - \else - \covingtonfalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown covington value}% -} - -% microtype=<true|false> -% Load microtype -\define@boolkey+{uvt}{microtype}[true]{% - \ifKV@uvt@microtype - \microtypetrue - \else - \microtypefalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown microtype value}% -} - -% fdegree=<true|false> -% Female degree forms -\define@boolkey+{uvt}{fdegree}[true]{% - \ifKV@uvt@fdegree - \fdegreetrue - \else - \fdegreefalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown fdegree value}% -} - -% draftmark=<true|false> -% Print draftmark -\define@choicekey*+{uvt}{draftmark}[\val\nr]{true,false,firstpage}{% - \ifcase\nr\relax% true: - \draftmarktrue - \draftmarkfpfalse - \or% false: - \draftmarkfalse - \draftmarkfpfalse - \or% firstpage: - \draftmarktrue - \draftmarkfptrue - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown draft value}% -} - -% polyglossia=<true|false> -% Load polyglossia -\define@boolkey+{uvt}{polyglossia}[true]{% - \ifKV@uvt@polyglossia - \polyglossiatrue - \psfontsfalse - \otffontstrue - \nofontsfalse - \else - \polyglossiafalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown polyglossia value}% -} - -% pdfa=<true|false> -% PDF/A -\define@boolkey+{uvt}{pdfa}[true]{% - \ifKV@uvt@pdfa - \pdfatrue - \else - \pdfafalse - \fi -}{% - \ClassWarning{univie-ling-thesis}{unknown pdfa value}% -} - -% fonts=<ps|otf|none> -\define@choicekey*+{uvt}{fonts}[\val\nr]{ps,otf,none}{% - \ifcase\nr\relax% ps: use PostScript fonts (classic LaTeX) - \psfontstrue - \otffontsfalse - \nofontsfalse - \or% otf: use OpenType fonts (fontspec) - \psfontsfalse - \otffontstrue - \nofontsfalse - \or% none: Use no font package - \psfontsfalse - \otffontsfalse - \nofontstrue - \fi -}{% - \PackageWarning{univie-ling-thesis}{unknown fonts value '#1'}% -} +% Process -% fontenc=<value|false> -% customize font encoding -\newif\ifuniv@usefontenc\univ@usefontenctrue -\def\univ@fontenc{T1} -\define@choicekey*+{uvt}{fontenc}[\val\nr]{none}{% - \ifcase\nr\relax% none: - \univ@usefontencfalse - \fi -}{% - \def\univ@fontenc{#1}% +\IfFormatAtLeastTF{2022-06-01} +{ + \ProcessKeyOptions[uvt] +}{ + \RequirePackage{l3keys2e} + \ProcessKeysOptions{uvt} } -% Process -\ProcessOptionsX<uvt> - %% ============================================================ %% BASE CLASS: %% ============================================================ @@ -258,67 +203,70 @@ %% LOCALIZATION: %% ============================================================ -\RequirePackage{translations} -\DeclareTranslation{German}{draft}{ENTWURF} -\DeclareTranslation{English}{draft}{DRAFT} -\DeclareTranslation{German}{section}{Abschnitt} -\DeclareTranslation{English}{section}{section} -\DeclareTranslation{German}{footnote}{Anm.} -\DeclareTranslation{English}{footnote}{fn.} -\DeclareTranslation{German}{example}{Beispiel} -\DeclareTranslation{English}{example}{example} -\DeclareTranslation{German}{stkz}{Studienkennzahl} -\DeclareTranslation{English}{stkz}{Studienkennzahl} -\DeclareTranslation{German}{erkl}{Erkl\"arung} -\DeclareTranslation{English}{erkl}{Declaration} -\DeclareTranslation{German}{selbst1s}{Hiermit versichere ich, dass ich die vorliegende Arbeit selbst\"andig verfasst +\RequirePackage{translator} +\languagealias{naustrian}{German} +\deftranslation[to=German]{draft}{ENTWURF} +\deftranslation[to=English]{draft}{DRAFT} +\deftranslation[to=German]{chapter}{Kapitel} +\deftranslation[to=English]{chapter}{chapter} +\deftranslation[to=German]{section}{Abschnitt} +\deftranslation[to=English]{section}{section} +\deftranslation[to=German]{footnote}{Anm.} +\deftranslation[to=English]{footnote}{fn.} +\deftranslation[to=German]{example}{Beispiel} +\deftranslation[to=English]{example}{example} +\deftranslation[to=German]{stkz}{Studienkennzahl} +\deftranslation[to=English]{stkz}{Studienkennzahl} +\deftranslation[to=German]{erkl}{Erkl\"arung} +\deftranslation[to=English]{erkl}{Declaration} +\deftranslation[to=German]{selbst1s}{Hiermit versichere ich, dass ich die vorliegende Arbeit selbst\"andig verfasst und keine anderen als die angegebenen Hilfsmittel benutzt habe.} -\DeclareTranslation{German}{selbst1p}{Hiermit versichern wir, dass wir die vorliegende Arbeit selbst\"andig verfasst +\deftranslation[to=German]{selbst1p}{Hiermit versichern wir, dass wir die vorliegende Arbeit selbst\"andig verfasst und keine anderen als die angegebenen Hilfsmittel benutzt haben.} -\DeclareTranslation{German}{selbst2}{Die Stellen der Arbeit, die anderen Quellen im Wortlaut oder dem Sinn nach entnommen wurden, sind durch Herkunftsangaben kenntlich gemacht. +\deftranslation[to=German]{selbst2}{Die Stellen der Arbeit, die anderen Quellen im Wortlaut oder dem Sinn nach entnommen wurden, sind durch Herkunftsangaben kenntlich gemacht. Dies gilt auch f\"ur Zeichnungen, Skizzen, bildliche Darstellungen sowie f\"ur Quellen aus dem Internet.} -\DeclareTranslation{German}{selbst3s}{Ich versichere ferner, dass ich die vorliegende Arbeit weder ganz noch in Teilen bereits als +\deftranslation[to=German]{selbst3s}{Ich versichere ferner, dass ich die vorliegende Arbeit weder ganz noch in Teilen bereits als Pr\"ufungsleistung vorgelegt habe.} -\DeclareTranslation{German}{selbst3p}{Wir versichern ferner, dass wir die vorliegende Arbeit weder ganz noch in Teilen bereits als +\deftranslation[to=German]{selbst3p}{Wir versichern ferner, dass wir die vorliegende Arbeit weder ganz noch in Teilen bereits als Pr\"ufungsleistung vorgelegt haben.} -\DeclareTranslation{English}{selbst1s}{I hereby declare that this paper is entirely my own work and that I used no source material or aids other than those stipulated.} -\DeclareTranslation{English}{selbst1p}{We hereby declare that this paper is entirely our own work and that we used no source material or aids other than those stipulated.} -\DeclareTranslation{English}{selbst2}{No part of it has been copied from any work produced by any other person or copied from any other source without reference to the source. +\deftranslation[to=English]{selbst1s}{I hereby declare that this paper is entirely my own work and that I used no source material or aids other than those stipulated.} +\deftranslation[to=English]{selbst1p}{We hereby declare that this paper is entirely our own work and that we used no source material or aids other than those stipulated.} +\deftranslation[to=English]{selbst2}{No part of it has been copied from any work produced by any other person or copied from any other source without reference to the source. This includes all drawings, sketches, graphics and internet sources.} -\DeclareTranslation{English}{selbst3s}{Furthermore, I declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} -\DeclareTranslation{English}{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} -\DeclareTranslation{German}{wien}{Wien} -\DeclareTranslation{English}{wien}{Vienna} +\deftranslation[to=English]{selbst3s}{Furthermore, I declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} +\deftranslation[to=English]{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.} +\deftranslation[to=German]{wien}{Wien} +\deftranslation[to=English]{wien}{Vienna} %% ============================================================ %% FONTS AND EMPHASIZING: %% ============================================================ -\ifpsfonts - -\RequirePackage[T1]{fontenc}\ifuniv@usefontenc - \RequirePackage[\univ@fontenc]{fontenc} -\fi +\if@uvt@psfonts + \RequirePackage[T1]{fontenc} + \if@uvt@usefontenc + \RequirePackage[\uvt@fontenc]{fontenc} + \fi -% Palatino -\RequirePackage[osf]{mathpazo} + % Palatino + \RequirePackage[osf]{mathpazo} -% Arial or Helvetica -\IfFileExists{uarial.sty}{% -\RequirePackage{uarial} -}{% -\RequirePackage{helvet} -} + % Arial or Helvetica + \IfFileExists{uarial.sty}{% + \RequirePackage{uarial} + }{% + \RequirePackage{helvet} + } -% Source Code Pro (Courier) -\RequirePackage[scale=.93]{sourcecodepro} + % Source Code Pro (Courier) + \RequirePackage[scale=.93]{sourcecodepro} \fi -\ifotffonts -\RequirePackage{fontspec} -\setmainfont{Palatino} -\setsansfont{Arial} -\setmonofont{SourceCodePro} +\if@uvt@otffonts + \RequirePackage{fontspec} + \setmainfont{Palatino} + \setsansfont{Arial} + \setmonofont{SourceCodePro} \fi % Hyperlinks @@ -363,7 +311,7 @@ This includes all drawings, sketches, graphics and internet sources.} \def\@thesistype@en{\csuse{thesistype@#1@en}} \def\@dirtype{\csuse{dirtype@#1}} \def\@dirtype@en{\csuse{dirtype@#1@en}} - \iffdegree + \if@uvt@fdegree \def\@degree{\csuse{degree@#1@f}} \else \def\@degree{\csuse{degree@#1}} @@ -476,7 +424,7 @@ This includes all drawings, sketches, graphics and internet sources.} \renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}} \RequirePackage{scrlayer-scrpage} \renewcommand{\headfont}{\small\rmfamily} -\clearscrheadings +\clearmainofpairofpagestyles \ihead{\headmark} \ohead{\pagemark} \automark{chapter} @@ -494,8 +442,8 @@ This includes all drawings, sketches, graphics and internet sources.} \raggedbottom % Micro-typographic polishment -\ifmicrotype -\usepackage{microtype} +\if@uvt@microtype + \RequirePackage{microtype} \fi % Smart quotes @@ -515,7 +463,7 @@ This includes all drawings, sketches, graphics and internet sources.} \else \def\and{% \end{tabular}% - \global\multiauthorstrue% + \global\@uvt@multiauthorstrue% \hskip 1em \@plus.17fil% \begin{tabular}[t]{c}% }% @@ -577,7 +525,7 @@ This includes all drawings, sketches, graphics and internet sources.} \fi }% {\ifx\@volume\@empty\else% - \vskip 1em\usekomafont{baende}{Band \@volume\ von \@volumes\ Bänden\,/\,volume \@volume\ of \@volumes\ volumes}% + \vskip 1em\usekomafont{baende}{Band \@volume\ von \@volumes\ B\"anden\,/\,volume \@volume\ of \@volumes\ volumes}% \fi% }% \vskip 2em @@ -668,26 +616,26 @@ This includes all drawings, sketches, graphics and internet sources.} }% \clearpage \thispagestyle{plain}% -\section*{\GetTranslation{erkl}} +\section*{\translate{erkl}} -\ifmultiauthors -\GetTranslation{selbst1p} +\if@uvt@multiauthors + \translate{selbst1p} \else -\GetTranslation{selbst1s} + \translate{selbst1s} \fi -\GetTranslation{selbst2} +\translate{selbst2} -\ifmultiauthors -\GetTranslation{selbst3p} +\if@uvt@multiauthors + \translate{selbst3p} \else -\GetTranslation{selbst3s} + \translate{selbst3s} \fi \bigskip \bgroup \raggedleft -\GetTranslation{wien}, \today +\translate{wien}, \today \vspace{15mm} @@ -734,21 +682,19 @@ This includes all drawings, sketches, graphics and internet sources.} \def\labelitemi{--} % Quote (smaller) -\newcommand*{\OriginalQuote}{} -\let\OriginalQuote\quote -\renewcommand*{\quote}{\OriginalQuote\small} +\let\@uvt@save@quote\quote +\renewcommand*{\quote}{\@uvt@save@quote\small} % Quotation (smaller) -\newcommand*{\OriginalQuotation}{} -\let\OriginalQuotation\quotation -\renewcommand*{\quotation}{\OriginalQuotation\small} +\let\@uvt@save@quotation\quotation +\renewcommand*{\quotation}{\@uvt@save@quotation\small} % Description (normal italic) \setkomafont{descriptionlabel}{\normalfont\itshape} -\ifcovington -\RequirePackage{covington} -\renewcommand{\p@equation}[1]{(#1)} +\if@uvt@covington + \RequirePackage{covington} + \renewcommand{\p@equation}[1]{(#1)} \fi %% ============================================================= @@ -758,11 +704,11 @@ This includes all drawings, sketches, graphics and internet sources.} %% captionlabel bold \setkomafont{captionlabel}{\bfseries} -\ifcaptionp -\RequirePackage[format=plain, - justification=RaggedRight, - singlelinecheck=false - ]{caption} +\if@uvt@captionp + \RequirePackage[format=plain, + justification=RaggedRight, + singlelinecheck=false + ]{caption} \fi @@ -770,7 +716,7 @@ This includes all drawings, sketches, graphics and internet sources.} %% PDF-A: %% ============================================================= -\ifpdfa +\if@uvt@pdfa \RequirePackage[a-1b]{pdfx} \hypersetup{pdfborder={0 0 0}} \fi @@ -779,8 +725,8 @@ This includes all drawings, sketches, graphics and internet sources.} %% POLYGLOSSIA: %% ============================================================= -\ifpolyglossia - \ifcaptionp +\if@uvt@polyglossia + \if@uvt@captionp \RequirePackage{ragged2e} \fi \RequirePackage{polyglossia} @@ -791,9 +737,9 @@ This includes all drawings, sketches, graphics and internet sources.} %% ============================================================= % Biblatex -\ifbiblatex +\if@uvt@biblatex -\ifapa +\if@uvt@apa % Load biblatex with apa style \RequirePackage[% style=apa, @@ -856,10 +802,10 @@ This includes all drawings, sketches, graphics and internet sources.} % Change cite command for integrated csquotes env. \SetCiteCommand{\parencite} -% End of apa condition +% End of @uvt@apa condition \fi -% End of biblatex condition +% End of @uvt@biblatex condition \fi %% ============================================================= @@ -868,9 +814,9 @@ This includes all drawings, sketches, graphics and internet sources.} \let\origtableofcontents\tableofcontents \renewcommand*\tableofcontents{% -\thispagestyle{plain} -\origtableofcontents -\clearpage + \thispagestyle{plain} + \origtableofcontents + \clearpage } @@ -878,7 +824,7 @@ This includes all drawings, sketches, graphics and internet sources.} %% X-REFS: %% ============================================================= -\ifrefsp +\if@uvt@refsp \AtBeginDocument{% % Varioref: @@ -888,19 +834,20 @@ This includes all drawings, sketches, graphics and internet sources.} \def\reftextfaceafter{auf der gegen\"uberliegenden Seite}% \def\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% \def\reftextfacebefore{auf der gegen\"uberliegenden Seite}% - \def\reftextfaraway[1]{auf S.~\pageref{##1}}% - \def\reftextpagerange[2]{auf S.~\pageref{##1}--\pageref{##2}}% + \def\reftextfaraway#1{auf S.~\pageref{#1}}% + \def\reftextpagerange#1#2{auf S.~\pageref{#1}--\pageref{#2}}% }% % Prettyref: % (varioref-Befehle mit eingebunden) \RequirePackage{prettyref} - \newrefformat{sec}{\GetTranslation{section}~\ref{#1}} - \newrefformat{sub}{\GetTranslation{section}~\ref{#1}} - \newrefformat{anm}{\GetTranslation{footnote}~\ref{#1}} + \newrefformat{cha}{\translate{chapter}~\vref{#1}} + \newrefformat{sec}{\translate{section}~\ref{#1}} + \newrefformat{sub}{\translate{section}~\ref{#1}} + \newrefformat{anm}{\translate{footnote}~\ref{#1}} \newrefformat{app}{\appendixname~\vref{#1}} \newrefformat{tab}{\tablename~\vref{#1}} \newrefformat{fig}{\figurename~\vref{#1}} - \newrefformat{exa}{\GetTranslation{example}~\vref{#1}} + \newrefformat{exa}{\translate{example}~\vref{#1}} } \fi @@ -910,21 +857,21 @@ This includes all drawings, sketches, graphics and internet sources.} %% DRAFT: %% ============================================================= -\ifdraftmark +\if@uvt@draftmark -\ifdraftmarkfp - \RequirePackage[firstpageonly]{draftwatermark} -\else - \RequirePackage{draftwatermark} -\fi + \if@uvt@draftmarkfp + \RequirePackage[firstpageonly]{draftwatermark} + \else + \RequirePackage{draftwatermark} + \fi -\DraftwatermarkOptions{% - angle=0, - vpos=10pt, - anchor=ct, - fontsize=14pt, - text={\GetTranslation{draft} (\today)} -} + \DraftwatermarkOptions{% + angle=0, + vpos=10pt, + anchor=ct, + fontsize=14pt, + text={\translate{draft} (\today)} + } \fi diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf Binary files differindex b6c55bdbd7..d21ada2764 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls index 3d5259d1cc..1be6bd1ccc 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls @@ -33,97 +33,75 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-wlg}[2022/05/30 v1.19 WLG journal layout (JSp)] +\ProvidesPackage{univie-ling-wlg}[2022/10/02 v.2.0 Univie WLG journal layout (JSp)] %% ============================================================ %% CLASS OPTIONS: %% ============================================================ -\RequirePackage{xkeyval} - -\newif\ifbiblatex\biblatexfalse -\newif\ifcovington\covingtontrue -\newif\ifexpert\expertfalse - -% biblatex=<true|false> -% Load biblatex -\define@boolkey+{wlg}{biblatex}[true]{% - \ifKV@wlg@biblatex - \biblatextrue - \else - \biblatexfalse - \fi -}{% - \ClassWarning{univie-ling-wlg}{unknown biblatex value}% -} -\DeclareOptionX{biblatex}{\setkeys{wlg}{biblatex=#1}} - -% covington=<true|false> -% Load covington -\define@boolkey+{wlg}{covington}[true]{% - \ifKV@wlg@covington - \covingtontrue - \else - \covingtonfalse - \fi -}{% - \ClassWarning{univie-ling-wlg}{unknown covington value}% -} -\DeclareOptionX{covington}{\setkeys{wlg}{covington=#1}} - - -% expertfonts=<true|false> -% Load MinionPro -\define@boolkey+{wlg}{expertf}[true]{% - \ifKV@wlg@expertf - \experttrue - \else - \expertfalse - \fi -}{% - \ClassWarning{univie-ling-wlg}{unknown expertfonts value}% -} -\DeclareOptionX{expertfonts}{\setkeys{wlg}{expertf=#1}} - -% Titlepage? -\newif\iftitlepage\titlepagefalse -\newif\ifspecialprint\specialprintfalse -\define@choicekey*+{wlg}{ttp}[\val\nr]{none,specialprint,issue}{% - \ifcase\nr\relax% none - \titlepagefalse - \or% specialprint: - \titlepagetrue - \specialprinttrue - \or% issue: - \titlepagetrue - \specialprintfalse - \fi -}{% - \ClassWarning{univie-ling-wlg}{unknown titlepage value '#1'}% -} -\DeclareOptionX{titlepage}{\setkeys{wlg}{ttp=#1}} - -% preprint=<true|false> -\define@boolkey+{wlg}{preprint}[true]{% -}{% - \ClassWarning{univie-ling-wlg}{unknown preprint value}% +\newif\if@wlg@biblatex\@wlg@biblatexfalse +\newif\if@wlg@covington\@wlg@covingtontrue +\newif\if@wlg@expert\@wlg@expertfalse +\newif\if@wlg@titlepage\@wlg@titlepagefalse +\newif\if@wlg@specialprint\@wlg@specialprintfalse + +% We use l3keys here since (1) LaTeX2e keys are rather +% new and (2) do not provide for choice keys yet. +\ExplSyntaxOn +\keys_define:nn { wlg } +{ + % biblatex=<true|false> + % Load biblatex + biblatex.legacy_if_set:n = @wlg@biblatex, + biblatex.usage:n = preamble, + % covington=<true|false> + % Load covington + covington.legacy_if_set:n = @wlg@covington, + covington.usage:n = preamble, + % expertfonts=<true|false> + % Load MinionPro + expertfonts.legacy_if_set:n = @wlg@expert, + expertfonts.usage:n = preamble, + % preprint=<true|false> + preprint.legacy_if_set:n = @wlg@preprint, + preprint.usage:n = preamble, + % peerrev=<true|false> + peerrev.legacy_if_set:n = @wlg@peerrev, + peerrev.usage:n = preamble, + % titlepage=<none|specialprint|issue> + titlepage .choice:, + % none + titlepage / none .code:n = + { \@wlg@titlepagefalse + \@wlg@specialprintfalse + }, + % specialprint + titlepage / specialprint .code:n = + { \@wlg@titlepagetrue + \@wlg@specialprinttrue + }, + % issue + titlepage / issue .code:n = + { \@wlg@titlepagetrue + \@wlg@specialprintfalse + }, +} +\ExplSyntaxOff + +\IfFormatAtLeastTF{2022-06-01} +{ + \ProcessKeyOptions[wlg] +}{ + \RequirePackage{l3keys2e} + \ProcessKeysOptions{wlg} } -\DeclareOptionX{preprint}{\setkeys{wlg}{preprint=#1}} -% peerrev=<true|false> -\define@boolkey+{wlg}{peerrev}[true]{% -}{% - \ClassWarning{univie-ling-wlg}{unknown peerrev value}% -} -\DeclareOptionX{peerrev}{\setkeys{wlg}{peerrev=#1}} - -\DeclareOption*{% -\PassOptionsToClass{\CurrentOption}{scrartcl}% -} -\ProcessOptionsX +%% ============================================================ +%% BASE CLASS: +%% ============================================================ \LoadClass{scrartcl}[2003/04/22] @@ -140,9 +118,7 @@ abstract=on, twoside=semi } -\iftitlepage -\KOMAoptions{titlepage=true} -\fi + \recalctypearea @@ -162,17 +138,17 @@ %% ============================================================ % Roman Font: -\ifexpert -% Adobe Minion (Expert) -\RequirePackage[footnotefigures]{MinionPro} +\if@wlg@expert + % Adobe Minion (Expert) + \RequirePackage[footnotefigures]{MinionPro} \else -% Crimson -\RequirePackage[osf]{cochineal} -% Enable bold and slanted in IPA -\AtBeginDocument{% - \@ifpackageloaded{tipa}{% - \DeclareFontFamilySubstitution{T3}{Cochineal-TOsF}{cmr}}{} -} + % Crimson + \RequirePackage[osf]{cochineal} + % Enable bold and slanted in IPA + \AtBeginDocument{% + \@ifpackageloaded{tipa}{% + \DeclareFontFamilySubstitution{T3}{Cochineal-TOsF}{cmr}}{} + } \fi % Hyperlinks @@ -204,6 +180,16 @@ \RequirePackage{translator} \languagealias{naustrian}{German} +\deftranslation[to=German]{chapter}{Kapitel} +\deftranslation[to=English]{chapter}{chapter} +\deftranslation[to=German]{section}{Abschnitt} +\deftranslation[to=English]{section}{section} +\deftranslation[to=German]{footnote}{Anm.} +\deftranslation[to=English]{footnote}{fn.} +\deftranslation[to=German]{example}{Beispiel} +\deftranslation[to=English]{example}{example} +\deftranslation[to=German]{argumentation}{Argumentation} +\deftranslation[to=English]{argumentation}{argumentation} \deftranslation[to=German]{issue}{Ausgabe} \deftranslation[to=English]{issue}{Issue} \deftranslation[to=German]{univie}{Universit\"at Wien} @@ -263,20 +249,20 @@ \AtBeginDocument{% -\addto\captionsngerman{\renewcommand*\contentsname{Inhalt}}% -\addto\captionsnaustrian{\renewcommand*\contentsname{Inhalt}}% -} -\AtEndPreamble{ -% License -\PassOptionsToPackage{% - imagewidth=8em, - imagedistance=1em, - imagemodifier=-eu-88x31, - hyphenation=RaggedRight, - type={CC}, - modifier={by-nc-nd}, - version={4.0}}{doclicense} -\RequirePackage{doclicense} + \addto\captionsngerman{\renewcommand*\contentsname{Inhalt}}% + \addto\captionsnaustrian{\renewcommand*\contentsname{Inhalt}}% +} +\AtEndPreamble{% + % License + \PassOptionsToPackage{% + imagewidth=8em, + imagedistance=1em, + imagemodifier=-eu-88x31, + hyphenation=RaggedRight, + type={CC}, + modifier={by-nc-nd}, + version={4.0}}{doclicense} + \RequirePackage{doclicense} } \newcommand\impressum{% @@ -318,7 +304,7 @@ \item[\textbf{\textsc{nbn}:}] BI,078,1063 \end{labeling} \vspace*{-.5em} -\ifKV@wlg@peerrev +\if@wlg@peerrev \noindent\translate{peerrev}\par\vspace*{.5em} \fi \noindent\translate{appform}\par @@ -344,14 +330,16 @@ %% TOC %% ============================================================ -\RequirePackage{etoc} -\etocstandardlines -\etocsetstyle{chapter} - {} - {\normalsize\mdseries\rmfamily} - {\etocname{}\dotfill\etocpage\par\vspace{12pt}} - {} -\setcounter{tocdepth}{0} +\if@wlg@specialprint\else + \RequirePackage{etoc} + \etocstandardlines + \etocsetstyle{chapter} + {} + {\normalsize\mdseries\rmfamily} + {\etocname{}\dotfill\etocpage\par\vspace{12pt}} + {} + \setcounter{tocdepth}{0} +\fi %% ============================================================ @@ -363,18 +351,18 @@ \renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}} \RequirePackage{scrlayer-scrpage} \renewcommand{\headfont}{\small\rmfamily} -\clearscrheadings +\clearmainofpairofpagestyles \ohead{\pagemark} \automark{section} \KOMAoptions{headsepline=true} \pagestyle{scrheadings} % Macrotypographic sectioning -\newif\if@mainmatter\@mainmattertrue -\newif\if@frontmatter\@frontmatterfalse +\newif\if@wlg@mainmatter\@wlg@mainmattertrue +\newif\if@wlg@frontmatter\@wlg@frontmatterfalse \newcommand*\frontmatter{% \if@twoside\cleardoubleoddpage\else\clearpage\fi - \@mainmatterfalse\@frontmattertrue\pagenumbering{roman}% + \@wlg@mainmatterfalse\@wlg@frontmattertrue\pagenumbering{roman}% \edef\computelastpage{% \romannumeral\numexpr\getpagerefnumber{LastFrontPage}-1\relax}% \edef\startpageref{% @@ -383,13 +371,13 @@ \newcommand*\mainmatter{% \if@twoside\cleardoubleoddpage\else\clearpage\fi% \immediate\write\@auxout{\noexpand\newlabel{LastFrontPage}{{}{\arabic{page}}}}% - \@mainmattertrue\@frontmatterfalse% + \@wlg@mainmattertrue\@wlg@frontmatterfalse% \pagenumbering{arabic}% \def\computelastpage{\pageref{TotPages}}% \def\startpageref{\thestartpage}% } \newcommand*\backmatter{% - \if@openright\cleardoubleoddpage\else\clearpage\fi\@mainmatterfalse\@frontmatterfalse% + \if@openright\cleardoubleoddpage\else\clearpage\fi\@wlg@mainmatterfalse\@wlg@frontmatterfalse% \def\computelastpage{\pageref{TotPages}}% \def\startpageref{\thestartpage}% } @@ -407,9 +395,9 @@ \AfterPackage*{inputenc}{% \RequirePackage{csquotes} \ExecuteQuoteOptions{autostyle=try,german=guillemets,austrian=guillemets,maxlevel=3} - \ifbiblatex - % Change cite command for integrated csquotes env. - \SetCiteCommand{\parencite} + \if@wlg@biblatex + % Change cite command for integrated csquotes env. + \SetCiteCommand{\parencite} \fi \renewcommand{\mktextdel}[1]{[\,]} } @@ -431,12 +419,14 @@ \RequirePackage{xcolor} \RequirePackage{graphicx} -\RequirePackage{hyperref} -\hypersetup{% -bookmarksnumbered=true, -breaklinks=true, -colorlinks=false, -pdfborder={0 0 0} +\AtEndOfClass{% + \RequirePackage{hyperref} + \hypersetup{% + bookmarksnumbered=true, + breaklinks=true, + colorlinks=false, + pdfborder={0 0 0} + }% } \def\@author{} @@ -451,8 +441,10 @@ pdfborder={0 0 0} } % Author affiliation (starred: corresponding author) -\DeclareRobustCommand*\aff{% - \@ifstar\@@aff\@aff +\DeclareExpandableDocumentCommand{\aff}{som}{% + \texorpdfstring + {\IfBooleanTF{#1}{\@@aff}{\@aff}[#2]{#3}} + {}% } % Empty (will be redefined in the article title) @@ -487,8 +479,8 @@ pdfborder={0 0 0} \def\@pubyear{} \newcommand\issue[2]{\def\@issue{#1}\def\@pubyear{#2}} -\newif\iftitlepageneeded\titlepageneededtrue -\newif\ifstartpageset\startpagesetfalse +\newif\if@wlg@titlepageneeded\@wlg@titlepageneededtrue +\newif\if@wlg@startpageset\@wlg@startpagesetfalse \def\ljobname{\jobname} @@ -497,12 +489,12 @@ pdfborder={0 0 0} \else \def\and{\texorpdfstring{\unskip\slash}{| }}% \fi - \iftitlepage + \if@wlg@titlepage \@maketitlepage[#1]% \fi - \ifstartpageset\else + \if@wlg@startpageset\else \setcounter{page}{\thestartpage} - \global\startpagesettrue + \global\@wlg@startpagesettrue \fi \rehead{\@@author} \lohead{\@@title} @@ -568,8 +560,10 @@ pdfborder={0 0 0} }% \newcommand{\@maketitlepage}[1][1]{% - \iftitlepageneeded + \if@wlg@titlepageneeded \begin{titlepage} + \pagenumbering{alph} + \thispagestyle{empty}% \setcounter{page}{% #1% }% @@ -593,7 +587,7 @@ pdfborder={0 0 0} {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - \ifspecialprint + \if@wlg@specialprint {\usekomafont{title}{\@title\par}}% \vskip 1em {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% @@ -604,10 +598,10 @@ pdfborder={0 0 0} }% }% \vfill - {\usekomafont{date}{\ifKV@wlg@preprint\translate{preprintfrom}% + {\usekomafont{date}{\if@wlg@preprint\translate{preprintfrom}% \else\translate{specialprint}\fi\ \emph{Wiener Linguistische Gazette} (\versal{WLG}) - \@issue\ (\@pubyear)\ifKV@wlg@preprint\else: \startpageref--\lastpageref\fi\par}} + \@issue\ (\@pubyear)\if@wlg@preprint\else: \startpageref--\lastpageref\fi\par}} {\ifx\@issuetitle\@empty\else \vskip 1em \usekomafont{date}{\translate{specialissue} \itshape\@issuetitle @@ -687,14 +681,14 @@ pdfborder={0 0 0} ~\vfill \impressum \clearpage - \ifspecialprint\else + \if@wlg@specialprint\else \ifx\@issuetitle\@empty\else \thispagestyle{plain} \tableofcontents \clearpage \fi \fi - \global\titlepageneededfalse% + \global\@wlg@titlepageneededfalse% \fi% } @@ -746,7 +740,7 @@ pdfborder={0 0 0} \translate{lingdep}\par \translate{univie}\par \translate{issue} \@issue\ (\@pubyear): - \ifKV@wlg@preprint\translate{preprint}% + \if@wlg@preprint\translate{preprint}% \else\thepage--\lastpageref\fi% }% \vskip \z@ \@plus 1em @@ -758,6 +752,7 @@ pdfborder={0 0 0} \end{flushright}% \par \vskip 2em + \pagenumbering{arabic} }% % Rewrite \include for local LastPage counter @@ -781,7 +776,7 @@ pdfborder={0 0 0} \immediate\openout\@partaux #1.aux \immediate\write\@partaux{\relax}% \fi - \ifbiblatex + \if@wlg@biblatex \newrefsection \fi \@input@{#1.tex}% @@ -836,11 +831,12 @@ pdfborder={0 0 0} % Increase distance between text and footnotes \renewcommand\footnoterule{% -% Distance between text and footnote rule (1 line) + % Distance between text and footnote rule (1 line) \kern-3\p@\hrule\@width.4\columnwidth% \kern2.6\p@% -% Distance between footnote rule and foot notes (0.2em) - \vspace{0.2em}}% + % Distance between footnote rule and foot notes (0.2em) + \vspace{0.2em}% +}% % Fotenote mark not superscripted \newlength{\footnumwidth} @@ -891,10 +887,10 @@ pdfborder={0 0 0} \renewcommand*{\dictumrule}{} \newcommand\motto[2][]{% -\dictum[#1]{#2} -\medskip -\@afterindentfalse -\@afterheading + \dictum[#1]{#2}% + \medskip% + \@afterindentfalse% + \@afterheading% } % Lists @@ -904,14 +900,12 @@ pdfborder={0 0 0} \def\labelitemi{--} % Quote (smaller) -\newcommand*{\OriginalQuote}{} -\let\OriginalQuote\quote -\renewcommand*{\quote}{\OriginalQuote\small} +\let\@wlg@save@quote\quote +\renewcommand*{\quote}{\@wlg@save@quote\small} % Quotation (smaller) -\newcommand*{\OriginalQuotation}{} -\let\OriginalQuotation\quotation -\renewcommand*{\quotation}{\OriginalQuotation\small} +\let\@wlg@save@quotation\quotation +\renewcommand*{\quotation}{\@wlg@save@quotation\small} % Description (KOMA) (normal italic) \setkomafont{descriptionlabel}{\normalfont\itshape} @@ -920,9 +914,9 @@ pdfborder={0 0 0} \let\olddots\ldots \renewcommand*{\ldots}{\olddots\unkern} -\ifcovington -\RequirePackage{covington} -\renewcommand{\p@equation}[1]{(#1)} +\if@wlg@covington + \RequirePackage{covington} + \renewcommand{\p@equation}[1]{(#1)} \fi @@ -951,18 +945,18 @@ pdfborder={0 0 0} %% ============================================================= % Biblatex -\ifbiblatex -\RequirePackage[% - style=univie-ling, - sorting=nyvt, - autolang=hyphen] -{biblatex} +\if@wlg@biblatex + \RequirePackage[% + style=univie-ling, + sorting=nyvt, + autolang=hyphen] + {biblatex} \fi \AtBeginDocument{% -\@ifundefined{bibhang}{}{% - \setlength{\bibhang}{\parindent}% - \renewcommand{\bibfont}{\small}% -}% + \@ifundefined{bibhang}{}{% + \setlength{\bibhang}{\parindent}% + \renewcommand{\bibfont}{\small}% + }% } %% ============================================================= @@ -972,23 +966,26 @@ pdfborder={0 0 0} % Varioref: \AtBeginDocument{% \RequirePackage[ngerman]{varioref} - \renewcommand\reftextafter{auf der \reftextvario{folgenden}{n\"achsten} Seite}% - \renewcommand\reftextfaceafter{auf der \reftextvario{folgenden}{n\"achsten} Seite}% - \renewcommand\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% - \renewcommand\reftextfacebefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% - \renewcommand\reftextfaraway[1]{auf S.~\pageref{#1}}% - \renewcommand\reftextpagerange[2]{auf S.~\pageref{#1}--\pageref{#2}}% + \vref@addto\extrasnaustrian{% + \def\reftextafter{auf der \reftextvario{folgenden}{n\"achsten} Seite}% + \def\reftextfaceafter{auf der gegen\"uberliegenden Seite}% + \def\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% + \def\reftextfacebefore{auf der gegen\"uberliegenden Seite}% + \def\reftextfaraway#1{auf S.~\pageref{#1}}% + \def\reftextpagerange#1#2{auf S.~\pageref{#1}--\pageref{#2}}% + }% % Prettyref: % (varioref included) \RequirePackage{prettyref} - \newrefformat{cha}{Kapitel~\vref{#1}} - \newrefformat{sec}{Abschnitt~\vref{#1}} - \newrefformat{sub}{Abschnitt~\vref{#1}} - \newrefformat{anm}{Anm.~\ref{#1}} - \newrefformat{app}{Anhang~\vref{#1}} - \newrefformat{tab}{Tabelle~\vref{#1}} - \newrefformat{fig}{Abbildung~\vref{#1}} - \newrefformat{exp}{Argumentation~\vref{#1}} + \newrefformat{cha}{\translate{chapter}~\vref{#1}} + \newrefformat{sec}{\translate{section}~\vref{#1}} + \newrefformat{sub}{\translate{section}~\vref{#1}} + \newrefformat{anm}{\translate{footnote}~\vref{#1}} + \newrefformat{app}{\appendixname~\vref{#1}} + \newrefformat{tab}{\tablename~\vref{#1}} + \newrefformat{fig}{\figurename~\vref{#1}} + \newrefformat{exp}{\translate{argumentation}~\vref{#1}} + \newrefformat{exa}{\translate{example}~\vref{#1}} } %% ============================================================= diff --git a/macros/latex/contrib/yb-book/DEPENDS.txt b/macros/latex/contrib/yb-book/DEPENDS.txt index df34424b3d..caa266e1d2 100644 --- a/macros/latex/contrib/yb-book/DEPENDS.txt +++ b/macros/latex/contrib/yb-book/DEPENDS.txt @@ -1,23 +1,18 @@ +hard pgf hard xkeyval hard geometry -hard fontenc -hard inputenc hard anyfontsize -hard tikz hard chngcntr hard lastpage hard paralist hard xcolor -hard graphicx hard setspace -hard textcomp hard enumitem hard float hard ulem hard qrcode hard wrapfig -hard xfp -hard soul} % in order to use \st{ +hard soul hard xifthen hard csquotes hard biblatex @@ -31,3 +26,7 @@ hard fancyhdr hard wrapfig hard mdframed hard changepage +hard ifmtarg +hard bigfoot +hard zref +hard needspace
\ No newline at end of file diff --git a/macros/latex/contrib/yb-book/LICENSE.txt b/macros/latex/contrib/yb-book/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/yb-book/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/yb-book/README.md b/macros/latex/contrib/yb-book/README.md index a9eae33589..fcc2528d67 100644 --- a/macros/latex/contrib/yb-book/README.md +++ b/macros/latex/contrib/yb-book/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/yb-book/actions/workflows/make.yml/badge.svg)](https://github.com/yegor256/yb-book/actions/workflows/make.yml) +[![make](https://github.com/yegor256/yb-book/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/yb-book/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/yb-book)](https://ctan.org/pkg/yb-book) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/yb-book/blob/master/LICENSE.txt) This LaTeX class I use to format [my books](https://www.yegor256.com/books.html), @@ -10,10 +11,14 @@ and then use in the preamble: ```tex \documentclass{yb-book} +\renewcommand*\thetitle{New Book About OOP} \renewcommand*\theauthor{Jeff Lebowski} \renewcommand*\thevolume{1} -\renewcommand*\thetitle{New Book About OOP} +\renewcommand*\theversion{1.0} \begin{document} +\ybPrintTitlePage +\chapter{First One} +\section{About Something Interesting} Hello, world! \end{document} ``` diff --git a/macros/latex/contrib/yb-book/samples/sample.tex b/macros/latex/contrib/yb-book/samples/sample.tex deleted file mode 100644 index b5528d54ca..0000000000 --- a/macros/latex/contrib/yb-book/samples/sample.tex +++ /dev/null @@ -1,41 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass{../yb-book} -\renewcommand*\thetitle{\LaTeX{} Class yb-book} -\renewcommand*\theauthor{Yegor Bugayenko} -\begin{document} - -\ybPrintTitlePage - -\newpage - -\chapter{Overview} - -\section{Purpose} - -\index{computer} -This is a very interesting book about computers. - -\ybPrintIndex - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/yb-book/yb-book.cls b/macros/latex/contrib/yb-book/yb-book.cls deleted file mode 100644 index 4b99e80514..0000000000 --- a/macros/latex/contrib/yb-book/yb-book.cls +++ /dev/null @@ -1,341 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{yb-book}[2022/01/03 0.1.0 YB Branded Book Style] - -\RequirePackage{xkeyval} - -\makeatletter -\newif\ifyb@draft -\DeclareOptionX{draft}{\yb@drafttrue} -\newif\ifyb@compact -\DeclareOptionX{compact}{\yb@compacttrue} -\newif\ifyb@manuscript -\DeclareOptionX{manuscript}{\yb@manuscripttrue} -\ProcessOptionsX -\makeatother - -\makeatletter\ifyb@draft - \PassOptionsToClass{11pt}{book} - \PassOptionsToClass{oneside}{book} -\else - \ifyb@manuscript - \PassOptionsToClass{12pt}{book} - \PassOptionsToClass{oneside}{book} - \else - \PassOptionsToClass{11pt}{book} - \PassOptionsToClass{twoside}{book} - \fi -\fi\makeatother - -\LoadClass{book} - -\RequirePackage{geometry} - \geometry{paperwidth=6in, paperheight=9in, bindingoffset=0.25in, left=0.75in, right=0.75in, top=0.75in, bottom=1.25in} - \makeatletter\ifyb@draft - \geometry{a4paper, margin=1in, left=1.5in} - \else - \ifyb@manuscript - \geometry{a4paper, margin=1.2in} - \fi - \fi\makeatother - -\RequirePackage[T1]{fontenc} -\RequirePackage[utf8]{inputenc} -\RequirePackage{anyfontsize} -\RequirePackage{tikz} - \usetikzlibrary{positioning} - \usetikzlibrary{shapes} - \usetikzlibrary{fit} -\RequirePackage{chngcntr} - \counterwithout{footnote}{chapter} -\RequirePackage{lastpage} -\RequirePackage{paralist} -\RequirePackage{xcolor} -\RequirePackage{graphicx} -\RequirePackage{setspace} - \setstretch{1.2} - \makeatletter\ifyb@draft\setstretch{1.1}\fi\makeatother - \makeatletter\ifyb@compact\setstretch{1.0}\fi\makeatother - \makeatletter\ifyb@manuscript\setstretch{1.1}\fi\makeatother -\RequirePackage{textcomp} -\RequirePackage[inline]{enumitem} - \setlist{nosep} -\RequirePackage{float} -\RequirePackage[normalem]{ulem} -\RequirePackage{qrcode} -\RequirePackage{wrapfig} - \pagestyle{plain} -\RequirePackage{xfp} -\RequirePackage{soul} % in order to use \st{} to strikethrough -\RequirePackage{xifthen} -\RequirePackage[autostyle=try]{csquotes} - -\RequirePackage[indexing=cite,style=authoryear,natbib=true,maxnames=1,minnames=1,doi=false,url=false,isbn=false,isbn=false]{biblatex} - \DeclareCiteCommand{\citetitle} - {\boolfalse{citetracker}% - \boolfalse{pagetracker}% - \usebibmacro{prenote}} - {\ifciteindex - {\indexnames{labelname}} - {}% - \printfield[citetitle]{labeltitle}} - {\multicitedelim} - {\usebibmacro{postnote}} - \DeclareCiteCommand*{\citetitle} - {\boolfalse{citetracker}% - \boolfalse{pagetracker}% - \usebibmacro{prenote}} - {\ifciteindex - {\indexnames{labelname}} - {}% - \printfield[citetitle]{title}} - {\multicitedelim} - {\usebibmacro{postnote}} -\RequirePackage{imakeidx} - \renewbibmacro*{citeindex}{\indexnames{labelname}{}} - \makeindex - \indexsetup{othercode={\hyphenpenalty=10000}} - -\newenvironment{condensed}{% - \begingroup\setstretch{1.0}% - % This lsstyle is defined by 'letterspace' in microtype - \lsstyle}{\endgroup} - -\makeatletter\ifyb@draft\else - \RequirePackage[letterspace=-50]{microtype} -\fi\makeatother - -\makeatletter\ifyb@manuscript - \RequirePackage[tt=false,type1=true]{libertine} -\fi\makeatother - -\RequirePackage[bottom,perpage,multiple]{footmisc} - % see https://tex.stackexchange.com/questions/40072/incompatibility-between-footmisc-option-multiple-and-hyperref/62091#62091 - \makeatletter\let\yb@oldfootnote\footnote\makeatother - \makeatletter\newcommand\yb@nexttoken\relax\makeatother - \makeatletter\newcommand\yb@isfootnote{% - \ifx\footnote\yb@nexttoken\textsuperscript{,}\fi}\makeatother - \makeatletter\renewcommand\footnote[1]{% - \yb@oldfootnote{#1}\futurelet\yb@nexttoken\yb@isfootnote}\makeatother - -\makeatletter - \let\yb@oldsection\section - \ifyb@draft - \RequirePackage[medium]{titlesec} - \else - \RequirePackage[raggedright]{titlesec} - \titlespacing{\section}{0in}{6pt}{6pt}[1in] - \renewcommand\section{\newpage\yb@oldsection} - \fi -\makeatother - -\makeatletter\ifyb@compact - \renewcommand\section{\vspace{2em}\yb@oldsection} -\fi\makeatother - -\makeatletter\ifyb@draft - \RequirePackage{fancyhdr} - \pagestyle{fancy} - \renewcommand\headrulewidth{0pt} - \renewcommand\footrulewidth{0pt} - \fancyhf{} - \fancyhead[L,C,LO,CO]{} - \fancyhead[R,RO]{ - \begin{textblock}{4}(11.5,1) - \begin{tikzpicture} - \node [color=gray, rotate=270, font=\ttfamily\scriptsize, text width=5in] at (0,0) { - Copyright \textcopyright{} \the\year{} by \theauthor{}. - All rights reserved. No part of the contents of this book may be - reproduced or transmitted in any form or by any means without the - written permission of the publisher. - This particular manuscript is printed for - \textbf{\thereviewer{}} and may be used only for one-time review. The - manuscript has to be destroyed after the review. - }; - \end{tikzpicture} - \end{textblock} - } - \fancyfoot[C,CO]{\small\ttfamily page \#\thepage{} of \pageref{LastPage}} -\fi\makeatother - -\renewcommand\maketitle{ - {\LARGE\textbf{\thetitle}} - \\[1em] - by \theauthor{} - \\[4em] - \ifx\thevolume\empty\else% - Volume \thevolume{}\\ - \fi - \ifx\thedate\empty\else% - Rendered on \thedate{} - \fi - \ifx\theversion\empty\else% - \\ - Ver. \theversion{} - \fi -} - -\makeatletter\newcommand\ybPrintTitlePage{ - \ifyb@draft\else - \begin{titlepage} - \ttfamily - \vspace*{\fill} - \noindent - {\Huge\textbf{\thetitle}} - \\[1em] - by \theauthor{} - \\[4em] - \ifx\thevolume\empty\else% - Volume \thevolume{}\\ - \fi - \ifx\thedate\empty\else% - \thedate{} - \fi - \ifx\thedate\empty\else% - \\ - \theversion{} - \fi - \vspace*{\fill} - \end{titlepage} - \fi -}\makeatother - -\makeatletter\newcommand\ybPrintTOC{ - \ifyb@draft\else - \ifyb@compact\else\cleardoublepage\fi - {\setstretch{0.7}\tableofcontents} - \fi -}\makeatother - -\makeatletter\newcommand\ybPrintIndex[1][Index]{ - \ifyb@draft\else - \cleardoublepage - { - \setstretch{1.0} - \small - \addcontentsline{toc}{chapter}{#1} - \printindex - } - \fi -}\makeatother - -\newcommand\ybPrintIcons{% - \ifdefempty{\theemail{}}{}{% - \includegraphics[height=1em]{images/icon-email.pdf}% - \theemail{}% - }% - \includegraphics[height=1em]{images/icon-twitter.pdf}% - \includegraphics[height=1em]{images/icon-linkedin.pdf}% - \includegraphics[height=1em]{images/icon-github.pdf}% - \includegraphics[height=1em]{images/icon-instagram.pdf}% - \includegraphics[height=1em]{images/icon-facebook.pdf}% - \thesocial{}% -} - -% quotes -\RequirePackage{wrapfig} -\RequirePackage{mdframed} -\RequirePackage{changepage} - \strictpagecheck -\mdfdefinestyle{quoteodd}{backgroundcolor=black!0, - leftmargin=6pt,rightmargin=0pt, - innerleftmargin=6pt,innerrightmargin=0pt, - innertopmargin=0pt,innerbottommargin=0pt, - skipabove=0pt,skipbelow=0pt, - linewidth=2pt, - topline=false,bottomline=false,rightline=false} -\mdfdefinestyle{quoteeven}{backgroundcolor=black!0, - rightmargin=6pt,leftmargin=0pt, - innerrightmargin=6pt,innerleftmargin=0pt, - innertopmargin=0pt,innerbottommargin=0pt, - skipabove=0pt,skipbelow=0pt, - linewidth=2pt, - topline=false,bottomline=false,leftline=false} -\makeatletter\newcommand\ybQuote[3]{% - \ifthenelse{\isempty{#3}}{}{ - \ifx\hfuzz#2\hfuzz% - \index{#3}% - \else% - \index{#3, #2}% - \fi% - }% - \def\yb@body{% - \raggedright% - \ifx\hfuzz#3\hfuzz% - #1% - \else% - ``#1''\\\raggedleft---#2 #3% - \fi% - } - \ifyb@draft% - \begin{wrapfigure}{r}{0.4\textwidth}% - \begin{mdframed}[style=quoteodd]% - \yb@body% - \end{mdframed}% - \end{wrapfigure}% - \else% - \begin{wrapfigure}{o}[12pt]{0.4\textwidth}% - \sffamily\checkoddpage% - \ifoddpage% - \begin{mdframed}[style=quoteodd]\yb@body\end{mdframed}% - \else% - \begin{mdframed}[style=quoteeven]\yb@body\end{mdframed}% - \fi% - \vspace{-12pt} - \end{wrapfigure}% - \fi% -}\makeatother - -\makeatletter\newcommand\ybPrintBibliography{% - \AtNextBibliography{\small}% - \raggedright% - \ifyb@manuscript% - \setlength\bibitemsep{0pt}% - \newpage% - \begin{multicols}{2}{\setstretch{1.0}\printbibliography}\end{multicols} - \else - \printbibliography - \fi -}\makeatother - -\AtBeginDocument{% - \raggedbottom% - \setlength\topskip{0mm}% - \setlength\parindent{0pt}% - \setlength\parskip{6pt}% - \interfootnotelinepenalty=10000% -} - -\newcommand*\thetitle{\textbackslash{}thetitle} -\newcommand*\thevolume{} -\newcommand*\thedate{} -\newcommand*\theemail{\textbackslash{}theemail} -\newcommand*\thesocial{\textbackslash{}thesocial} -\newcommand*\theversion{\textbackslash{}theversion} -\newcommand*\theauthor{\textbackslash{}theauthor} -\newcommand*\thereviewer{\textbackslash{}thereviewer} -\newcommand*\theyear{\textbackslash{}theyear} -\newcommand*\theprice{\textbackslash{}theprice} - -\endinput diff --git a/macros/latex/contrib/yb-book/yb-book.dtx b/macros/latex/contrib/yb-book/yb-book.dtx new file mode 100644 index 0000000000..2ca33cb55e --- /dev/null +++ b/macros/latex/contrib/yb-book/yb-book.dtx @@ -0,0 +1,653 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +%%% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{yb-book.dtx} +% \DoNotIndex{\end,\empty,\defined,\def,\begin,\if,\isempty,\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{yb-book.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e} +%<class>\ProvidesClass{yb-book} +%<*class> +[02.10.2022 0.2.0 YB Branded Book Style] +%</class> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{href-ul} +\usepackage{graphicx} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{yb-book.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{\includegraphics[width=0.75in]{yb-book-logo.pdf} \\ \LaTeX{} Class |yb-book|\thanks{The sources are in GitHub at \href{https://github.com/yegor256/yb-book.cls}{yegor256/yb-book.cls}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% \index{Amazon} +% The provided class |yb-book| helps me design +% \href{https://www.yegor256.com/books.html}{my books} and +% publish them +% \href{https://www.amazon.com/Yegor-Bugayenko/e/B01AM1QMDK}{on Amazon}. +% You are welcome to use is for your own books. It is as simple +% as this: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{yb-book} +\renewcommand*\thetitle{New Book About OOP} +\renewcommand*\theauthor{Jeff Lebowski} +\renewcommand*\thevolume{1} +\renewcommand*\theversion{1.0} +\begin{document} +\ybPrintTitlePage +\chapter{First One} +\section{About Something Interesting} +Hello, world! +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% You are welcome to suggest additional options and commands, but the style +% of my books is intentionally as simple as possible, avoiding formatting +% as much as possible. Here is \href{https://www.yegor256.com/2019/05/21/dont-improvise.html}{why}. + +% \section{Options} + +% There are a few class options you can use: + +% \begin{macro}{compact} +% Use this package option when you need to make text more compact +% and take less vertical space. This may be convenient fiction books. +% I use this option to render \href{https://www.yegor256.com/code-ahead.html}{Code Ahead} book. +% \end{macro} + +% \begin{macro}{manuscript} +% When the format is not for Amazon printing, +% but for some other purposes (the page size is A4), this option may be +% convenient. I also use it when I want the book to be rendered for +% printing on paper for review purposes. +% \end{macro} + +% \begin{macro}{draft} +% When it's a draft for reviewers (the page size is A4) +% and you want to have a watermark and a compact form of the content. This +% option goes together with |\thereviewer{}| command, which you may redefine, +% in order to embed the name of the reviewed in the watermark. This may +% help you prevent theft of your book: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass[draft]{yb-book} +\renewcommand*\thereviewer{Walter Sobchak} +\begin{document} +Hello, world! +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \section{Meta Commands} + +% There are a number of commands that you may redefine in the preamble: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{yb-book} +\newcommand*\thetitle{My New Book About OOP} +\newcommand*\theauthor{Yegor Bugayenko} +\newcommand*\thevolume{1} +\newcommand*\thedate{24 Feb 2022} +\newcommand*\theversion{1.4} +\newcommand*\thereviewer{Jeff Lebowski} +\begin{document} +... the content goes here ... +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% \section{Printers} + +% There are a number of printers --- commands that print large blocks of text +% in the expected format: + +% \begin{macro}{\ybPrintTitlePage} +% Prints the first page of a book. It expects at least |\thetitle| +% and |theauthor| to be defined: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{yb-book} +\renewcommand*\thetitle{My New Book} +\renewcommand*\theauthor{Yegor Bugayenko} +\begin{document} +\ybPrintTitlePage +.. the rest of the book goes here +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \begin{macro}{\ybPrintTOC} +% Prints the table of contents. +% \end{macro} + +% \begin{macro}{\ybQuote} +% Prints a side quote: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{yb-book} +\begin{document} +Hello, world! +\ybQuote{Never tell the truth to people who + are not worthy of it}{Mark Twain}{} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \begin{macro}{\ybPrintBibliography} +% Prints the list of bib references. +% \end{macro} + +% \begin{macro}{\ybPrintIndex} +% Prints index with an optional name of the section (instead of ``Index''): +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{yb-book} +\begin{document} +Hello, world! +\ybPrintIndex{Recommended Books} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.1.0}{2022/01/09}{Initial version} +% \changes{v0.2.0}{2022/10/02}{Started using l3build} + +% First, we use |xkeyval| package for package options parsing: +% \begin{macrocode} +\RequirePackage{xkeyval} +\makeatletter +\newif\ifyb@draft +\DeclareOptionX{draft}{\yb@drafttrue} +\newif\ifyb@compact +\DeclareOptionX{compact}{\yb@compacttrue} +\newif\ifyb@manuscript +\DeclareOptionX{manuscript}{\yb@manuscripttrue} +\ProcessOptionsX +\makeatother +% \end{macrocode} + +% Then, depending on the options like |draft| and |manuscript|, we preset +% options of the class |book| and then load it: +% \begin{macrocode} +\makeatletter\ifyb@draft + \PassOptionsToClass{11pt}{book} + \PassOptionsToClass{oneside}{book} +\else + \ifyb@manuscript + \PassOptionsToClass{12pt}{book} + \PassOptionsToClass{oneside}{book} + \else + \PassOptionsToClass{11pt}{book} + \PassOptionsToClass{twoside}{book} + \fi +\fi\makeatother +\LoadClass{book} +% \end{macrocode} + +% \begin{macro}{geometry} +% Then, using |geometry|, we setup page layout: +% \begin{macrocode} +\RequirePackage{geometry} +\geometry{paperwidth=6in, paperheight=9in, bindingoffset=0.25in, + left=0.75in, right=0.75in, top=0.75in, bottom=1.25in} +\makeatletter\ifyb@draft + \geometry{a4paper, margin=1in, left=1.5in} +\else + \ifyb@manuscript + \geometry{a4paper, margin=1.2in} + \fi +\fi\makeatother +% \end{macrocode} +% \end{macro} + +% Then, we configure input encoding for UTF-8: +% \begin{macrocode} +\RequirePackage[T1]{fontenc} +\RequirePackage[utf8]{inputenc} +\RequirePackage{lmodern} +% \end{macrocode} + +% Then, we load many important packages: +% \begin{macrocode} +\RequirePackage{anyfontsize} +\RequirePackage{tikz} + \usetikzlibrary{positioning} + \usetikzlibrary{shapes} + \usetikzlibrary{fit} +\RequirePackage{chngcntr} + \counterwithout{footnote}{chapter} +\RequirePackage{lastpage} +\RequirePackage{paralist} +\RequirePackage{xcolor} +\RequirePackage{graphicx} +\RequirePackage[inline]{enumitem} + \setlist{nosep} +\RequirePackage{float} +\RequirePackage[normalem]{ulem} +\RequirePackage{xfp} +\RequirePackage{soul} +\RequirePackage{xifthen} +\RequirePackage[autostyle=try]{csquotes} +% \end{macrocode} + +% \begin{macro}{\pagestyle} +% Then, we set the layout of a page to |plain|: +% \begin{macrocode} +\pagestyle{plain} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{setspace} +% Then, using |setspace| package we set the spacing between lines in the text, +% depending on the package options: +% \begin{macrocode} +\RequirePackage{setspace} + \setstretch{1.2} + \makeatletter\ifyb@draft\setstretch{1.1}\fi\makeatother + \makeatletter\ifyb@compact\setstretch{1.0}\fi\makeatother + \makeatletter\ifyb@manuscript\setstretch{1.1}\fi\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{biblatex} +% Then, we configure |biblatex|, for citation management: +% \begin{macrocode} +\RequirePackage[indexing=cite,style=authoryear, + natbib=true,maxnames=1,minnames=1,doi=false, + url=false,isbn=false,isbn=false]{biblatex} + \DeclareCiteCommand{\citetitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printfield[citetitle]{labeltitle}} + {\multicitedelim} + {\usebibmacro{postnote}} + \DeclareCiteCommand*{\citetitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printfield[citetitle]{title}} + {\multicitedelim} + {\usebibmacro{postnote}} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{condensed} +% Then, we define |condensed| environment for snippets +% (|lsstyle| is defined by |letterspace| in |microtype|): +% \begin{macrocode} +\newenvironment{condensed} + {\begingroup\setstretch{1.0}\lsstyle} + {\endgroup} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{microtype} +% Then, we include |microtype| for better rendering: +% \begin{macrocode} +\makeatletter\ifyb@draft\else + \RequirePackage[letterspace=-50]{microtype} +\fi\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{libertine} +% Then, we include |libertine|, for a good looking font: +% \begin{macrocode} +\makeatletter\ifyb@manuscript + \RequirePackage[tt=false,type1=true]{libertine} +\fi\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\section} +% Then, we redefine |\section| command: +% \begin{macrocode} +\makeatletter +\let\yb@oldsection\section +\ifyb@draft + \RequirePackage[medium]{titlesec} +\else + \RequirePackage[raggedright]{titlesec} + \titlespacing{\section}{0in}{6pt}{6pt}[1in] + \renewcommand\section{\newpage\yb@oldsection} +\fi +\ifyb@compact + \renewcommand\section{\vspace{2em}\yb@oldsection} +\fi +\makeatother +% \end{macrocode} +% \end{macro} + +% Then, if it's a |draft|, we put a watermark comment: +% \begin{macrocode} +\makeatletter\ifyb@draft +\RequirePackage{fancyhdr} +\pagestyle{fancy} +\renewcommand\headrulewidth{0pt} +\renewcommand\footrulewidth{0pt} +\fancyhf{} +\fancyhead[L,C,LO,CO]{} +\fancyhead[R,RO]{ + \begin{textblock}{4}(11.5,1)\begin{tikzpicture} + \node [color=gray, rotate=270, + font=\ttfamily\scriptsize, text width=5in] at (0,0) { + Copyright \textcopyright{} \the\year{} by \theauthor{}. + All rights reserved. No part of the contents of + this book may be reproduced or transmitted in any + form or by any means without the written permission + of the publisher. This particular manuscript is + printed for \textbf{\thereviewer}} and may be used only + for one-time review. The manuscript has to be destroyed + after the review. + }; + \end{tikzpicture}\end{textblock} +} +\fancyfoot[C,CO]{\small\ttfamily + page \#\thepage{} of \pageref{LastPage}} +\fi\makeatother +% \end{macrocode} + +% \begin{macro}{\maketitle} +% Then, we redefine |\maketitle| command: +% \begin{macrocode} +\renewcommand\maketitle{ + {\LARGE\textbf{\thetitle}} + \\[1em] + by \theauthor{} + \\[4em] + \ifx\thevolume\empty\else% + Volume \thevolume{}\\ + \fi + \ifx\thedate\empty\else% + Rendered on \thedate{} + \fi + \ifx\theversion\empty\else% + \\ + Ver. \theversion{} + \fi +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ybPrintTitlePage} +% Then, we define |\ybPrintTitlePage| command: +% \begin{macrocode} +\makeatletter\newcommand\ybPrintTitlePage{ + \ifyb@draft\else + \begin{titlepage} + \ttfamily + \vspace*{\fill} + \noindent + {\Huge\textbf{\thetitle}} + \\[1em] + by \theauthor{} + \\[4em] + \ifx\thevolume\empty\else% + Volume \thevolume{}\\ + \fi + \ifx\thedate\empty\else% + \thedate{} + \fi + \ifx\thedate\empty\else% + \\ + \theversion{} + \fi + \vspace*{\fill} + \end{titlepage} + \fi +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ybPrintTOC} +% Then, we define |ybPrintTOC| command to print table of contents: +% \begin{macrocode} +\makeatletter\newcommand\ybPrintTOC{ + \ifyb@draft\else + \ifyb@compact\else\cleardoublepage\fi + {\setstretch{0.7}\tableofcontents} + \fi +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ybPrintIndex} +% Then, we configure |imakeidx| package and define |\ybPrintIndex| command: +% \begin{macrocode} +\RequirePackage{imakeidx} + \renewbibmacro*{citeindex}{\indexnames{labelname}{}} + \makeindex + \indexsetup{othercode={\hyphenpenalty=10000}} +\makeatletter\newcommand\ybPrintIndex[1][Index]{ + \ifyb@draft\else + \cleardoublepage + { + \setstretch{1.0} + \small + \addcontentsline{toc}{chapter}{#1} + \printindex + } + \fi +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ybQuote} +% Then, with the help of |wrapfig| and |mdframed|, we define |\ybQuote| command: +% \begin{macrocode} +\RequirePackage{wrapfig} +\RequirePackage{mdframed} +\RequirePackage{changepage} + \strictpagecheck +\mdfdefinestyle{quoteodd}{backgroundcolor=black!0, + leftmargin=6pt,rightmargin=0pt, + innerleftmargin=6pt,innerrightmargin=0pt, + innertopmargin=0pt,innerbottommargin=0pt, + skipabove=0pt,skipbelow=0pt, + linewidth=2pt, + topline=false,bottomline=false,rightline=false} +\mdfdefinestyle{quoteeven}{backgroundcolor=black!0, + rightmargin=6pt,leftmargin=0pt, + innerrightmargin=6pt,innerleftmargin=0pt, + innertopmargin=0pt,innerbottommargin=0pt, + skipabove=0pt,skipbelow=0pt, + linewidth=2pt, + topline=false,bottomline=false,leftline=false} +\makeatletter\newcommand\ybQuote[3]{% + \ifthenelse{\isempty{#3}}{}{ + \ifx\hfuzz#2\hfuzz% + \index{#3}% + \else% + \index{#3, #2}% + \fi% + }% + \def\yb@body{% + \raggedright% + \ifx\hfuzz#3\hfuzz% + #1% + \else% + ``#1''\\\raggedleft---#2 #3% + \fi% + } + \ifyb@draft% + \begin{wrapfigure}{r}{0.4\textwidth}% + \begin{mdframed}[style=quoteodd]% + \yb@body% + \end{mdframed}% + \end{wrapfigure}% + \else% + \begin{wrapfigure}{o}[12pt]{0.4\textwidth}% + \sffamily\checkoddpage% + \ifoddpage% + \begin{mdframed}[style=quoteodd]\yb@body\end{mdframed}% + \else% + \begin{mdframed}[style=quoteeven]\yb@body\end{mdframed}% + \fi% + \vspace{-12pt} + \end{wrapfigure}% + \fi% +}\makeatother +% \end{macrocode} +% \end{macro} + +% Then, we use and configure |footmisc| as suggested +% \href{https://tex.stackexchange.com/questions/40072/incompatibility-between-footmisc-option-multiple-and-hyperref/62091#62091}{here}: +% \begin{macrocode} +\RequirePackage{perpage} +\RequirePackage[bottom,perpage,multiple]{footmisc} +\makeatletter + \let\yb@oldfootnote\footnote +\newcommand\yb@nexttoken\relax +\newcommand\yb@isfootnote{% + \ifx\footnote\yb@nexttoken\textsuperscript{,}\fi} +\renewcommand\footnote[1]{% + \yb@oldfootnote{#1}\futurelet\yb@nexttoken\yb@isfootnote} +\makeatother +% \end{macrocode} + +% \begin{macro}{\ybPrintBibliography} +% Then, we define |\ybPrintBibliography|, to print a list of references: +% \begin{macrocode} +\makeatletter\newcommand\ybPrintBibliography{% + \AtNextBibliography{\small}% + \raggedright% + \ifyb@manuscript% + \setlength\bibitemsep{0pt}% + \newpage% + \begin{multicols}{2} + {\setstretch{1.0}\printbibliography} + \end{multicols} + \else + \printbibliography + \fi +}\makeatother +% \end{macrocode} +% \end{macro} + +% Then, a few layout configurations at the beginning of the document: +% \begin{macrocode} +\AtBeginDocument{% + \raggedbottom% + \setlength\topskip{0mm}% + \setlength\parindent{0pt}% + \setlength\fboxsep{0pt}% + \setlength\parskip{6pt}% + \interfootnotelinepenalty=10000% +} +% \end{macrocode} + +% Finally, a few meta commands with default values: +% \begin{macrocode} +\newcommand*\thetitle{\textbackslash{}thetitle} +\newcommand*\thevolume{} +\newcommand*\thedate{} +\newcommand*\theversion{\textbackslash{}theversion} +\newcommand*\theauthor{\textbackslash{}theauthor} +\newcommand*\thereviewer{\textbackslash{}thereviewer} +% \end{macrocode} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/yb-book/yb-book.ins b/macros/latex/contrib/yb-book/yb-book.ins new file mode 100644 index 0000000000..a84a03f901 --- /dev/null +++ b/macros/latex/contrib/yb-book/yb-book.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/yb-book} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{yb-book.cls}{\from{yb-book.dtx}{class}}} +\obeyspaces +\Msg{*** To finish the installation you have to move the ".cls"} +\Msg{*** file into a directory searched by TeX. To produce the} +\Msg{*** documentation run the file ".dtx" through LaTeX. If any} +\Msg{*** questions, submit a new GitHub issue.} +\endbatchfile diff --git a/macros/latex/contrib/yb-book/yb-book.pdf b/macros/latex/contrib/yb-book/yb-book.pdf Binary files differindex cde5f931f5..fa56f44647 100644 --- a/macros/latex/contrib/yb-book/yb-book.pdf +++ b/macros/latex/contrib/yb-book/yb-book.pdf diff --git a/macros/latex/contrib/yb-book/yb-book.tex b/macros/latex/contrib/yb-book/yb-book.tex deleted file mode 100644 index 0937552058..0000000000 --- a/macros/latex/contrib/yb-book/yb-book.tex +++ /dev/null @@ -1,79 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[compact,manuscript]{./yb-book} -\usepackage{ffcode} -\usepackage{href-ul} -\renewcommand*\theversion{0.1.0} -\renewcommand*\thedate{2022/01/03} -\renewcommand*\thetitle{\LaTeX{} Class \ff{yb-book}} -\renewcommand*\theauthor{Yegor Bugayenko} - -\begin{document} - -\includegraphics[height=6em]{yb-book-logo.pdf} -\vspace*{24pt} - -\maketitle - -\index{Amazon} -The provided class \ff{yb-book} helps me design -\href{https://www.yegor256.com/books.html}{my books} and -publish them -\href{https://www.amazon.com/Yegor-Bugayenko/e/B01AM1QMDK}{on Amazon}. - -There are a few class options you can use: - -\ff{compact} --- when you need to make text more compact -and take less vertical space; - -\ff{manuscript} --- when the format is not for Amazon printing, -but for some other purposes (the page size is A4), like the document -you are reading right now; - -\ff{draft} --- when it's a draft for reviewers (the page size is A4) -and you want to have a watermark and a compact form of the content; - -\section*{Printers} - -There are a number of printers, commands that print large blocks of text -in the expected format: - -\ff{\textbackslash{}ybPrintTitlePage} --- prints the first page of a book. - -\ff{\textbackslash{}ybPrintTOC} --- prints the table of contents. - -\ff{\textbackslash{}ybQuote} --- prints a side quote. - -\ff{\textbackslash{}ybPrintBibliography} --- prints the list of bib references. - -\ff{\textbackslash{}ybPrintIcons} --- prints your social icons. - -\ff{\textbackslash{}ybPrintIndex[1]} --- prints index with an optional name of the section (instead of ``Index''). - -For more samples, check the directory \ff{samples/}. - -You are welcome to suggest additional commands, but the style -of my books is intentionally as simple as possible, avoiding formatting -as much as possible. - -\end{document}
\ No newline at end of file diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README index 6cca0c1099..991944f078 100644 --- a/macros/luatex/generic/luatexja/README +++ b/macros/luatex/generic/luatexja/README @@ -1,4 +1,4 @@ -The LuaTeX-ja Package 20220810.0 +The LuaTeX-ja Package 20221002.0 -------------------------------- Copyright (c) 2011--2022 The LuaTeX-ja project License: modified BSD (see COPYING) @@ -42,9 +42,9 @@ Installation 2. If you must/want to install manually: a. Download the source archive from CTAN, - or tagged as 20220810.0 in the Git repository by + or tagged as 20221002.0 in the Git repository by <http://git.osdn.jp/view?p=luatex-ja/luatexja.git - ;a=snapshot;h=refs/tags/20220810.0;sf=tgz> + ;a=snapshot;h=refs/tags/20221002.0;sf=tgz> b. Extract the archive and process following three files by LuaLaTeX to generate classes for Japanese typesetting: @@ -93,4 +93,4 @@ Notes This file and ltj-kinsoku.lua are not used anymore. (Do not remove ltj-kinsoku.tex.) -Last commit date: Wed Aug 10 11:32:01 2022 +0900 +Last commit date: Sun Oct 2 18:14:22 2022 +0900 diff --git a/macros/luatex/generic/luatexja/doc/ltjclasses.pdf b/macros/luatex/generic/luatexja/doc/ltjclasses.pdf Binary files differindex f5fe3bec34..a31ce7daa3 100644 --- a/macros/luatex/generic/luatexja/doc/ltjclasses.pdf +++ b/macros/luatex/generic/luatexja/doc/ltjclasses.pdf diff --git a/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf b/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf Binary files differindex 08d50b5018..786e01afa5 100644 --- a/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf +++ b/macros/luatex/generic/luatexja/doc/ltjsclasses.pdf diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf Binary files differindex 4ec7df2004..abf8ee0061 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf +++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf Binary files differindex 8742f56b0a..557c8ec433 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf +++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx index 58f2cc15bd..864306f916 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja.dtx +++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx @@ -225,9 +225,7 @@ vscmd=\IVSB } -\catcode`\<=13 -\def<#1>{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}} -\let\LARG=< +\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}} \maketitle \tableofcontents @@ -1111,7 +1109,7 @@ By default, the following fonts are used for these two families. \LaTeX ã¸ã®ãƒ‘ッãƒã‚’èªã¿è¾¼ã¾ãªã„. \texttt{disablejfam}ã®ãªã„状æ³ã§ã¯ï¼Œä»¥å‰ã¨åŒæ§˜ã«å’Œæ–‡æ–‡å—ã‚’æ•°å¼ãƒ¢ãƒ¼ãƒ‰ä¸ã« - ç›´ã«æ›¸ãã“ã¨ãŒã§ãる(但ã—\autoref{para:jachar_in_math}ページã®è¨˜è¿°ã‚‚å‚照). + ç›´ã«æ›¸ãã“ã¨ãŒã§ãる(但ã—\pageref{para:jachar_in_math}ページã®è¨˜è¿°ã‚‚å‚照). ãã®éš›ã«ã¯æ˜Žæœä½“(\texttt{mc})ã§å‡ºåŠ›ã•ã‚Œã‚‹ï¼Ž %</ja> @@ -1333,13 +1331,13 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\ \item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã¯æ¬§æ–‡ãƒ»å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆä¸¡æ–¹ã®å±žæ€§ã‚’変更ã—よã†ã¨ã™ã‚‹ï¼Ž ã‚‚ã¡ã‚ん,ãれらを実際ã«åæ˜ ã•ã›ã‚‹ã«ã¯æ‰‹å‹•ã§ \cs{selectfont} を実行ã™ã‚‹å¿…è¦ãŒã‚る. - ãªãŠï¼Œ\cs{fontshape\{<shape>\}}ã¯å¸¸ã«æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ã‚§ã‚¤ãƒ—ã‚’è¨å®šã™ã‚‹ãŒï¼Œ + ãªãŠï¼Œ\cs{fontshape\{\meta{shape}\}}ã¯å¸¸ã«æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ã‚§ã‚¤ãƒ—ã‚’è¨å®šã™ã‚‹ãŒï¼Œ ã‚‚ã—ã‚‚ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªãƒ»ã‚·ãƒªãƒ¼ã‚ºã§è¦æ±‚ã•ã‚ŒãŸã‚·ã‚§ã‚¤ãƒ—ãŒåˆ©ç”¨ä¸èƒ½ã ã£ãŸå ´åˆã«ã¯ï¼Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚·ã‚§ã‚¤ãƒ—ã¯å¤‰æ›´ã—ãªã„. 詳細ã¯\ref{ssec:nfsspat}節をå‚ç…§ã™ã‚‹ã“ã¨ï¼Ž %</ja> %<*en> -\item \verb+\fontencoding{+<encoding>\verb+}+ changes the encoding of alphabetic fonts +\item \verb+\fontencoding{+\meta{encoding}\verb+}+ changes the encoding of alphabetic fonts or Japanese fonts depending on the argument. For example, \verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to \texttt{JY3}, and \verb+\fontencoding{T1}+ changes the encoding of @@ -1349,7 +1347,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\ For the detail, see Subsection~\ref{ssec:nfsspat}. %</en> %<*ja> -\item ã“ã“ã§ï¼Œ\cs{fontencoding\{<encoding>\}}ã¯ï¼Œå¼•æ•°ã«ã‚ˆã‚Šå’Œæ–‡å´ã‹æ¬§æ–‡ +\item ã“ã“ã§ï¼Œ\cs{fontencoding\{\meta{encoding}\}}ã¯ï¼Œå¼•æ•°ã«ã‚ˆã‚Šå’Œæ–‡å´ã‹æ¬§æ–‡ å´ã‹ã®ã©ã¡ã‚‰ã‹ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’変更ã™ã‚‹ï¼Žä¾‹ãˆã°ï¼Œ \verb+\fontencoding{JY3}+ ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’ \texttt{JY3}ã«å¤‰æ›´ã—,\verb+\fontencoding{T1}+ ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆå´ã‚’ @@ -1469,7 +1467,7 @@ this chapter. For the method, please see Subsection~\ref{ssec:math}. To use the functionality of the \Pkg{fontspec} package to Japanese fonts, it is needed to load the \Pkg{luatexja-fontspec} package in the preamble, as follows: \begin{quote} -\ttfamily \textbackslash usepackage[<options>]\{luatexja-fontspec\} +\ttfamily \textbackslash usepackage[\meta{options}]\{luatexja-fontspec\} \end{quote} This \Pkg{luatexja-fontspec} package automatically loads \Pkg{luatexja} and \Pkg{fontspec} @@ -1485,7 +1483,7 @@ TrueType・OpenTypeフォントを容易ã«æ‰±ã†ãŸã‚ã®ãƒ‘ッケージã§ã‚ã \LuaTeX-ja上ã«ãŠã„ã¦ï¼Œ\Pkg{fontspec}パッケージã¨åŒæ§˜ã®æ©Ÿèƒ½ã‚’和文フォントã«å¯¾ã—ã¦ã‚‚用ã„ã‚‹å ´ åˆã¯\Pkg{luatexja-fontspec}パッケージをèªã¿è¾¼ã‚€ï¼š \begin{quote} -\ttfamily \textbackslash usepackage[<options>]\{luatexja-fontspec\} +\ttfamily \textbackslash usepackage[\meta{options}]\{luatexja-fontspec\} \end{quote} ã“ã®ãƒ‘ッケージã¯è‡ªå‹•ã§\Pkg{luatexja}パッケージã¨\Pkg{fontspec}パッケージをèªã¿è¾¼ã‚€ï¼Ž %</ja> @@ -1566,11 +1564,11 @@ If this option is specified, usual family-changing commands such as 欧文フォントã ã‘ã§ãªã和文フォントも変更ã™ã‚‹ã‚ˆã†ã«ãªã‚‹ï¼Ž %</ja> - \item[pass=<opts>] -%<en> \emph{(Obsoleted)}\ Specify options <opts> which will be passed to the \Pkg{fontspec} package. -%<ja> \Pkg{fontspec} パッケージã«æ¸¡ã™ã‚ªãƒ—ション <opts> を指定ã™ã‚‹ï¼Žæœ¬ã‚ªãƒ—ションã¯æ™‚代é…ã‚Œã§ã‚る. + \item[pass=\meta{options}] +%<en> \emph{(Obsoleted)}\ Specify options \meta{options} which will be passed to the \Pkg{fontspec} package. +%<ja> \Pkg{fontspec} パッケージã«æ¸¡ã™ã‚ªãƒ—ション \meta{options} を指定ã™ã‚‹ï¼Žæœ¬ã‚ªãƒ—ションã¯æ™‚代é…ã‚Œã§ã‚る. -\item[scale=<float>] +\item[scale=\meta{float}] %<*en> Override the ratio of the font size of Japanese fonts to that of alphabetic fonts. The default value is determined as follows: @@ -2439,56 +2437,58 @@ becuse a \emph{JAchar} is encapsulated by a horizontal box if needed. \paragraph{æ•°å¼ã«ãŠã‘る挙動:\pTeX ã¨ã®é•ã„} \textbf{ALchar}ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã‚’補æ£ã™ã‚‹\Param{yalbaselineshift}, \Param{talbaselineshift}パラメータ㯠ã»ã¼\pTeX ã«ãŠã‘ã‚‹ \cs{ybaselineshift}, \cs{tbaselineshift} ã«å¯¾å¿œã—ã¦ã„ã‚‹ã‚‚ã®ã§ã‚ã‚‹ãŒï¼Œ -æ•°å¼ä¸ã®æŒ™å‹•ã¯ç•°ãªã£ã¦ã„ã‚‹ã®ã§æ³¨æ„ãŒå¿…è¦ã§ã‚る. -例ãˆã°ï¼Œ\autoref{tab:math_bsa}ã®ã‚ˆã†ã«ï¼Œæ•°å¼ä¸ã«æ˜Žç¤ºçš„ã«ç¾ã‚ŒãŸ \cs{hbox},~\cs{vbox} ã¯ï¼Œæ¨ªçµ„ã«ãŠã„㦠+æ•°å¼ä¸ã®æŒ™å‹•ã¯ç•°ãªã£ã¦ã„ã‚‹ã®ã§æ³¨æ„ãŒå¿…è¦ã§ã‚る(\autoref{tab:math_bsa}å‚照). \begin{itemize} - \item 2015年以å‰ã®\pTeX ã§ã¯ï¼Œãƒœãƒƒã‚¯ã‚¹å…¨ä½“㌠\cs{ybaselineshift} ã ã¨ã‚·ãƒ•ãƒˆã•ã‚Œã‚‹ã®ã§ï¼Œ - \autoref{tab:math_bsa}ä¸ã®``ã„''ã®ã‚ˆã†ã«ï¼Œãƒœãƒƒã‚¯ã‚¹ä¸ã®å’Œæ–‡æ–‡å—㯠- \ \cs{ybaselineshift} ã ã‘シフトã•ã‚Œï¼Œä¸€æ–¹ï¼Œ``for all''ã®ã‚ˆã†ã«ï¼Œ - ボックス内ã®æ¬§æ–‡æ–‡å—ã¯2é‡ã«ã‚·ãƒ•ãƒˆã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž - \item 一方,\LuaTeX-jaã§ã¯ãã®ã‚ˆã†ãªã“ã¨ã¯ãŠã“らãšï¼Œ - æ•°å¼ä¸ã«æ˜Žç¤ºçš„ã«ç¾ã‚ŒãŸ \cs{hbox},~\cs{vbox} ã¯ã‚·ãƒ•ãƒˆã—ãªã„.ãã®ãŸã‚, - \autoref{tab:math_bsa}ä¸ã®``ã„''ã‚‚``for all''も,ãã‚Œãžã‚Œæœ¬æ–‡ä¸ã« - 書ã‹ã‚ŒãŸã¨ãã¨åŒã˜ä¸Šä¸‹ä½ç½®ã«çµ„ã¾ã‚Œã‚‹ï¼Ž - - ãªãŠï¼Œ\TeX~Live~2016以é™ã®\pTeX ã§ã¯æ”¹ä¿®ãŒãªã•ã‚Œï¼Œ\LuaTeX-ja㨠- è¿‘ã„挙動ã«ãªã‚‹ã‚ˆã†ã«ã—ã¦ã„ã‚‹ãŒï¼Œæ•°å¼ä¸ã«ç›´ã«æ›¸ã‹ã‚ŒãŸ``ã‚''ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã«ã¤ã„ã¦ã¯ - ã¾ã é•ã„ãŒè¦‹ã‚‰ã‚Œã‚‹ï¼Ž + \item ãƒãƒ¼ã‚¸ãƒ§ãƒ³20221002.0以é™ã§ã¯ï¼Œ + \pTeX~4.0.0ã¨åŒæ§˜ã«æ•°å¼ãŒ\Param{yalbaselineshift}ã ã‘シフトã•ã‚Œã‚‹ï¼Ž + + ã—ã‹ã—ãã‚Œã§ã¯æ•°å¼ä¸ã«ç›´ã«æ›¸ã‹ã‚ŒãŸ\cs{hbox},~\cs{vbox}ä¸ã®æ¬§æ–‡ã«ã¯ + \Param{yalbaselineshift}ãŒäºŒé‡ã«é©ç”¨ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ã®ã§ï¼Œ + æ•°å¼ä¸ã«ç›´ã«æ›¸ã‹ã‚ŒãŸ\cs{hbox},~\cs{vbox}ã«ã¯ + \Param{yalbaselineshift}を打ã¡æ¶ˆã™è£œæ£ã‚’ã—ã¦ã„る. + + ãªãŠï¼Œ\cs{vcenter}ã«ã‚ˆã‚‹ãƒœãƒƒã‚¯ã‚¹ã«ã¯ã“ã®ã€Œæ‰“ã¡æ¶ˆã™è£œæ£ã€ã¯è¡Œã‚ã‚Œãªã„ã®ã§æ³¨æ„. +\item \pTeX ã§ã¯æ•°å¼ã®ã‚¹ã‚¿ã‚¤ãƒ«ã”ã¨ã«ã€Œæ‰“ã¡æ¶ˆã™è£œæ£ã€ã®å‰²åˆã‚’\cs{textbaselineshiftfactor}, + \cs{scriptbaselineshiftfactor}, \cs{scriptscriptbaselineshiftfactor}㧠+ 指定ã§ãるよã†ã«ã—ãŸãŒï¼Œ\LuaTeX-jaã§ã¯2番ã®æ•°å¼ãƒ•ã‚¡ãƒŸãƒª(\cs{fam2})ã«ä½¿ã‚ã‚Œã¦ã„るフォント㮠+ 大ãã•ã‹ã‚‰è‡ªå‹•ã§è¨ˆç®—ã™ã‚‹ï¼Ž + +\item æ•°å¼ä¸ã«ç›´ã«æ›¸ã‹ã‚ŒãŸå’Œæ–‡æ–‡å—(\autoref{tab:math_bsa}ä¸ã®``ã‚'')ã«ã¤ã„ã¦ã¯ + \pTeX ã¨\LuaTeX-jaã§é•ã„ãŒè¦‹ã‚‰ã‚Œã‚‹ï¼Ž + \pTeX ã§ã¯ï¼Œæ¬§æ–‡æ–‡å—ã¨å¤‰ã‚らãšæ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ£(\cs{ybaselineshift})ãŒã‹ã‹ã‚Šï¼Œ + ã¾ãŸå‘¨å›²ã«å’Œæ¬§æ–‡é–“空白(\cs{xkanjiskip})ãŒå…¥ã‚Šã†ã‚‹ï¼Ž + ãã®ä¸€æ–¹ï¼Œ\LuaTeX-jaã§ã¯ã€Œå’Œæ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ£(\Param{yjabaselineshift})ãŒã‹ã‹ã‚‹ã€è¦‹ãŸç›®ã« + ãªã‚Šï¼Œã¾ãŸå‘¨å›²ã«å’Œæ¬§æ–‡é–“空白ã¯å…¥ã‚‰ãªã„. \end{itemize} - -ãªãŠï¼Œãƒãƒ¼ã‚¸ãƒ§ãƒ³20170401.0以é™ã®\LuaTeX-jaã§ã¯ï¼Œ\cs{vcenter} ã«ã‚ˆã‚‹ãƒœãƒƒã‚¯ã‚¹ã«ã¯ -全体ãŒ\Param{yalbaselineshift}, \Param{talbaselineshift} パラメータãŒåæ˜ ã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¦ã„る. -ãã®æ–¹ãŒçµæžœãŒè‡ªç„¶ã§ã‚ã‚‹ã“ã¨ã«ã‚ˆã‚‹å¤‰æ›´ãªã®ã ãŒï¼Œçµæžœçš„ã«\cs{vcenter} ã«ã¤ã„ã¦ã¯\pTeX ã¨åŒã˜æŒ™å‹•ã¨ãªã£ãŸï¼Ž - \begin{table} \small\centering \caption{æ•°å¼é–¢ä¿‚ã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ£($\Param{yalbaselineshift}=10\,\textrm{pt}$)} \label{tab:math_bsa} \newdimen\origbaselineskip \origbaselineskip=\baselineskip -\begin{tabular}{lp{30\zw}} +\begin{tabular}{lp{35\zw}} \toprule \emph{入力}&\vspace*{\dimexpr-\origbaselineskip-\smallskipamount} \begin{lstlisting} æ•°å¼abc: $ã‚a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$, -$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$ +$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$, +$\sqrt{A}-\underline{X}+\frac{ã‚3}{2ã‚}-\vcenter{\hbox{aãŠ}}$ \end{lstlisting}\\ \noalign{\vskip-\origbaselineskip} \midrule -\emph{\pTeX~(--2015)}& -{\ltjsetparameter{yalbaselineshift=10pt}% -æ•°å¼abc: $\lower10pt\hbox{ã‚}a\lower10pt\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$, -$\Phi\vdash F(x)\ \lower10pt\hbox{for all}\ x\in A$ -\par}\\\noalign{\vskip-\origbaselineskip}\midrule -\emph{\pTeX~(2016--)}& +\emph{\pTeX~(p4.0.0)}& {\ltjsetparameter{yalbaselineshift=10pt}% -æ•°å¼abc: $\lower10pt\hbox{ã‚}a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$, +\protected\def\>{\hskip\ltjgetparameter{xkanjiskip}} +æ•°å¼abc: $\lower10pt\hbox{ã‚}\>a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$, $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$ +$\sqrt{A}-\underline{X} + +\frac{\lower10pt\hbox{\scalebox{0.7}{ã‚}}\>3}{2\>\lower10pt\hbox{\scalebox{0.7}{ã‚}}}-\vcenter{\hbox{aãŠ}}$ \par}\\\noalign{\vskip-\origbaselineskip}\midrule \emph{\LuaTeX-ja}& {\ltjsetparameter{yalbaselineshift=10pt}% æ•°å¼abc: $ã‚a\hbox{ã„}$, $\int_0^x t\,dt=x^2/2$, -$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$ +$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$, +$\sqrt{A}-\underline{X}+\frac{ã‚\>3}{2ã‚}-\vcenter{\hbox{aãŠ}}$ \par}\\ \noalign{\vskip-\origbaselineskip} \bottomrule @@ -3157,9 +3157,9 @@ To access box dimensions \emph{with respect to current direction}, one have to use the following commands instead of \cs{wd} wtc. \begin{cslist} - \item[\cs{ltjgetwd}<num>\textrm{, }\cs{ltjgetht}<num>\textrm{, }% - \cs{ltjgetdp}<num>] -These commands return \emph{an internal dimension} of \cs{box<num>} with respect to + \item[\cs{ltjgetwd}\meta{num}\textrm{, }\cs{ltjgetht}\meta{num}\textrm{, }% + \cs{ltjgetdp}\meta{num}] +These commands return \emph{an internal dimension} of \cs{box\meta{num}} with respect to the current direction. One can use these in \cs{dimexpr} primitive, as the followings. \begin{lstlisting} \dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701 @@ -3180,10 +3180,10 @@ The following is an example. \the\ltjgetht32767, \\ \the\ltjgetdp32767.} \end{LTXexample} - \item[\cs{ltjsetwd}<num>=<dimen>\textrm{, }\cs{ltjsetht}<num>=<dimen>\textrm{, }% - \cs{ltjsetdp}<num>=<dimen>] -These commands set the dimension of \cs{box<num>}. One does not need - to group the argument <num>; four calls of \cs{ltjsetwd} below have the same meaning. + \item[\cs{ltjsetwd}\meta{num}=\meta{dimen}\textrm{, }\cs{ltjsetht}\meta{num}=\meta{dimen}\textrm{, }% + \cs{ltjsetdp}\meta{num}=\meta{dimen}] +These commands set the dimension of \cs{box\meta{num}}. One does not need + to group the argument \meta{num}; four calls of \cs{ltjsetwd} below have the same meaning. \begin{lstlisting} \ltjsetwd42 20pt, \ltjsetwd42=20pt, \ltjsetwd=42 20pt, \ltjsetwd=42=20pt \end{lstlisting} @@ -3192,7 +3192,7 @@ These commands set the dimension of \cs{box<num>}. One does not need %</en> %<*ja> \paragraph{\cs{wd} é”ã¨çµ„æ–¹å‘} -ボックスレジスタ \cs{box}<num> ã«ã‚»ãƒƒãƒˆã•ã‚Œã¦ã„るボックスã®å¹…・高ã•ãƒ»æ·±ã•ã®å–å¾—ã‚„ +ボックスレジスタ \cs{box}\meta{num} ã«ã‚»ãƒƒãƒˆã•ã‚Œã¦ã„るボックスã®å¹…・高ã•ãƒ»æ·±ã•ã®å–å¾—ã‚„ 変更ã«ã¯ãã‚Œãžã‚Œ \cs{wd},~\cs{ht},~\cs{dp} プリミティブを用ã„ã‚‹ã®ã§ã‚ã£ãŸï¼Ž \pTeX ã§ã¯ã“れらã®ãƒ—リミティブã¯ï¼Œã€Œç¾åœ¨ã®çµ„æ–¹å‘ã«ãŠã‘るボックスã®å¯¸æ³•ã€ã‚’指ã™ã‚‚ã®ã§ï¼Œ åŒã˜ãƒœãƒƒã‚¯ã‚¹ã«å¯¾ã—ã¦ã‚‚ç¾åœ¨ã®çµ„æ–¹å‘ã«ã‚ˆã£ã¦è¿”る値ã¯ç•°ãªã‚‹ã‚‚ã®ã§ã‚ã£ãŸï¼Ž @@ -3214,13 +3214,13 @@ These commands set the dimension of \cs{box<num>}. One does not need \begin{cslist} - \item[\cs{ltjgetwd}<num>\textrm{, }\cs{ltjgetht}<num>\textrm{, }% - \cs{ltjgetdp}<num>] + \item[\cs{ltjgetwd}\meta{num}\textrm{, }\cs{ltjgetht}\meta{num}\textrm{, }% + \cs{ltjgetdp}\meta{num}] ç¾åœ¨ã®çµ„æ–¹å‘ã«å¿œã˜ãŸãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã®å–å¾—ã‚’è¡Œã†ï¼Žçµæžœã¯å†…部長ã•ã§ã‚ã‚‹ãŸã‚, \begin{lstlisting} \dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701 \end{lstlisting} -ã®ã‚ˆã†ã« \cs{wd}<num> ã®ä»£ã‚ã‚Šã¨ã—ã¦æ‰±ã†ã“ã¨ãŒã§ãる. +ã®ã‚ˆã†ã« \cs{wd}\meta{num} ã®ä»£ã‚ã‚Šã¨ã—ã¦æ‰±ã†ã“ã¨ãŒã§ãる. 使用例ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る. \begin{LTXexample}[width=0.3\textwidth] \parindent0pt @@ -3237,8 +3237,8 @@ These commands set the dimension of \cs{box<num>}. One does not need \the\ltjgetht32767, \\ \the\ltjgetdp32767.} \end{LTXexample} - \item[\cs{ltjsetwd}<num>=<dimen>\textrm{, }\cs{ltjsetht}<num>=<dimen>\textrm{, }% - \cs{ltjsetdp}<num>=<dimen>] + \item[\cs{ltjsetwd}\meta{num}=\meta{dimen}\textrm{, }\cs{ltjsetht}\meta{num}=\meta{dimen}\textrm{, }% + \cs{ltjsetdp}\meta{num}=\meta{dimen}] ç¾åœ¨ã®çµ„æ–¹å‘ã«å¿œã˜ãŸãƒœãƒƒã‚¯ã‚¹ã®å¯¸æ³•ã®è¨å®šã‚’è¡Œã†ï¼Ž\cs{afterassignment} ã‚’2回利用ã—㦠実装ã—ã¦ã„ã‚‹ã®ã§ï¼Œæ¬¡ã®4通りã¯å…¨ã¦åŒã˜æ„味ã§ã‚る. \begin{lstlisting} @@ -3255,8 +3255,8 @@ These commands set the dimension of \cs{box<num>}. One does not need %<*en> \subsection{Getting current direction} The \Param{direction} parameter returns the current direction, and -the \Param{boxdir} parameter (with the argument <num>) -returns the direction of a box register \cs{box}<num>. +the \Param{boxdir} parameter (with the argument \meta{num}) +returns the direction of a box register \cs{box}\meta{num}. The returned value of these parameters are a \emph{string}: \begin{center} \small @@ -3279,15 +3279,15 @@ Returned value&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\ %</en> %<*ja> \subsection{組方å‘ã®å–å¾—} -「ç¾åœ¨ã®çµ„æ–¹å‘ã€ã‚„「<num>番ã®ãƒœãƒƒã‚¯ã‚¹ã®çµ„æ–¹å‘ã€ã¯ï¼Œ -\pTeX ã§ã¯ \cs{ifydir} ã‚„ \cs{ifybox}<num> ã¨ã„ã£ãŸæ¡ä»¶åˆ¤æ–文を使ã£ã¦ +「ç¾åœ¨ã®çµ„æ–¹å‘ã€ã‚„「\meta{num}番ã®ãƒœãƒƒã‚¯ã‚¹ã®çµ„æ–¹å‘ã€ã¯ï¼Œ +\pTeX ã§ã¯ \cs{ifydir} ã‚„ \cs{ifybox}\meta{num} ã¨ã„ã£ãŸæ¡ä»¶åˆ¤æ–文を使ã£ã¦ 判æ–ã™ã‚‹ã“ã¨ãŒã§ããŸï¼Ž ã—ã‹ã—,\LuaTeX-jaã¯ã‚ãã¾ã§ã‚‚\TeX マクãƒã¨Luaコード㧠記述ã•ã‚Œã¦ãŠã‚Šï¼Œãã‚Œã§ã¯æ–°ãŸãªæ¡ä»¶åˆ¤æ–命令を作るã®ã¯é›£ã—ã„. \LuaTeX-jaã§ã¯ï¼Œ\Param{direction}パラメータã§ç¾åœ¨ã®çµ„æ–¹å‘を, -\Param{boxdir}パラメータ(ã¨è¿½åŠ ã®å¼•æ•°<num>)ã«ã‚ˆã£ã¦ -\cs{box}<num>ã®çµ„æ–¹å‘ã‚’ãã‚Œãžã‚Œå–å¾—ã§ãるよã†ã«ã—ãŸï¼Ž +\Param{boxdir}パラメータ(ã¨è¿½åŠ ã®å¼•æ•°\meta{num})ã«ã‚ˆã£ã¦ +\cs{box}\meta{num}ã®çµ„æ–¹å‘ã‚’ãã‚Œãžã‚Œå–å¾—ã§ãるよã†ã«ã—ãŸï¼Ž 戻り値ã¯æ–‡å—列ã§ã‚る: \begin{center} \small @@ -3330,18 +3330,18 @@ The following primitives are redefined by \LuaTeX-ja (using~\verb+\protected\def for supporting Japanese typesetting and multiple directions: \begin{cslist}[style=standard] \item[\cs{/}] - \item[\cs{unhbox}<num>\textrm{, }\cs{unvbox}<num>\textrm{, }\cs{unhcopy}<num>\textrm{, }\cs{unvcopy}<num>] - \item[\cs{vadjust}\{<material>\}] - \item[\cs{insert}<number>\{<material>\}] + \item[\cs{unhbox}\meta{num}\textrm{, }\cs{unvbox}\meta{num}\textrm{, }\cs{unhcopy}\meta{num}\textrm{, }\cs{unvcopy}\meta{num}] + \item[\cs{vadjust}\{\meta{material}\}] + \item[\cs{insert}\meta{number}\{\meta{material}\}] \item[\cs{lastbox}] - \item[\cs{raise}<dimen><box>\textrm{, }\cs{lower}<dimen><box>\textrm{, } - \cs{moveleft}<dimen><box>\textrm{, }\cs{moveright}<dimen><box>\textrm{, }] - \item[\cs{split}<number>to<dimen>\textrm{, }\cs{vcenter}\{<material>\}] + \item[\cs{raise}\meta{dimen}\meta{box}\textrm{, }\cs{lower}\meta{dimen}\meta{box}\textrm{, } + \cs{moveleft}\meta{dimen}\meta{box}\textrm{, }\cs{moveright}\meta{dimen}\meta{box}\textrm{, }] + \item[\cs{split}\meta{number}to\meta{dimen}\textrm{, }\cs{vcenter}\{\meta{material}\}] \end{cslist} -On each primitive \cs{<primitive>} in the list above, -its meaning just before loading \LuaTeX-ja is backed up into \cs{ltj@@orig@<primitive>}, -and the meaning after redefinition by \LuaTeX-ja is stored in \cs{ltj@@<primitive>}. +On each primitive \cs{\meta{primitive}} in the list above, +its meaning just before loading \LuaTeX-ja is backed up into \cs{ltj@@orig@\meta{primitive}}, +and the meaning after redefinition by \LuaTeX-ja is stored in \cs{ltj@@\meta{primitive}}. For example, \autoref{fig:primitive_meaning} shows the situation of \cs{vadjust} primitive. %</en> %<*ja> @@ -3352,29 +3352,29 @@ For example, \autoref{fig:primitive_meaning} shows the situation of \cs{vadjust} \begin{cslist} \item[\cs{/}] 和文フォントã«å¯¾ã™ã‚‹ã‚¤ã‚¿ãƒªãƒƒã‚¯è£œæ£ã®ã‚µãƒãƒ¼ãƒˆãŒè¿½åŠ ã•ã‚Œã¦ã„る. - \item[\cs{unhbox}<number>\textrm{, }\cs{unvbox}<number>\textrm{, }\cs{unhcopy}<number>\textrm{, }\cs{unvcopy}<number>] + \item[\cs{unhbox}\meta{number}\textrm{, }\cs{unvbox}\meta{number}\textrm{, }\cs{unhcopy}\meta{number}\textrm{, }\cs{unvcopy}\meta{number}] ボックスã®çµ„æ–¹å‘ãŒç¾åœ¨ã®ãƒªã‚¹ãƒˆã¨ç•°ãªã‚‹å ´åˆã¯äº‹å‰ã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã™ã‚‹ï¼Ž \pTeX ã¨ç•°ãªã‚Šï¼Œã‚¨ãƒ©ãƒ¼ã‚’無視ã—ã¦ç„¡ç†çŸ¢ç† \cs{unhbox}, \cs{unvbox} ç‰ã‚’ 続行ã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã‚‹ãŒï¼Œãã®å ´åˆã®çµ„版çµæžœã¯ä¿è¨¼ã—ãªã„. - \item[\cs{vadjust}\{<material>\}] 一旦プリミティブ本æ¥ã®æŒ™å‹•ã‚’è¡Œã†ï¼Žãã®å¾Œï¼Œ<material>ã®çµ„æ–¹å‘㌠+ \item[\cs{vadjust}\{\meta{material}\}] 一旦プリミティブ本æ¥ã®æŒ™å‹•ã‚’è¡Œã†ï¼Žãã®å¾Œï¼Œ\meta{material}ã®çµ„æ–¹å‘㌠周囲ã®åž‚直リストã®çµ„æ–¹å‘ã¨ä¸€è‡´ã—ãªã„å ´åˆã«ã‚¨ãƒ©ãƒ¼ã‚’出力ã—, 該当㮠\cs{vadjust} を無効ã«ã™ã‚‹ï¼Ž - \item[\cs{insert}<number>\{<material>\}] - 一旦プリミティブ本æ¥ã®æŒ™å‹•ã‚’è¡Œã„,ãã®å¾Œ<material>内ã®å„ボックス・罫線ã®ç›´å‰ã«çµ„æ–¹å‘を示 + \item[\cs{insert}\meta{number}\{\meta{material}\}] + 一旦プリミティブ本æ¥ã®æŒ™å‹•ã‚’è¡Œã„,ãã®å¾Œ\meta{material}内ã®å„ボックス・罫線ã®ç›´å‰ã«çµ„æ–¹å‘を示 ã™direction whatsitを挿入ã™ã‚‹ï¼Ž \item[\cs{lastbox}] ボックスã®ã€Œä¸èº«ã€ã‚’ç¾åœ¨ã®çµ„æ–¹å‘ã«åˆã‚ã›ã‚‹ãŸã‚ã®ãƒŽãƒ¼ãƒ‰ (\textit{dir\_box}ã¨ã„ã†ï¼‰ã‚’å¿…è¦ãªã‚‰ã°é™¤åŽ»ã—, æ£ã—ã「ä¸èº«ã€ã®ãƒœãƒƒã‚¯ã‚¹ãŒè¿”ã•ã‚Œã‚‹ã‚ˆã†ã«å‰å‡¦ç†ã‚’ã™ã‚‹ï¼Ž - \item[\cs{raise}<dimen><box>\textrm{, }\cs{lower}<dimen><box>\textrm{, } - \cs{moveleft}<dimen><box>\textrm{, }\cs{moveright}<dimen><box>\textrm{, }] + \item[\cs{raise}\meta{dimen}\meta{box}\textrm{, }\cs{lower}\meta{dimen}\meta{box}\textrm{, } + \cs{moveleft}\meta{dimen}\meta{box}\textrm{, }\cs{moveright}\meta{dimen}\meta{box}\textrm{, }] \leavevmode\vspace{-\baselineskip} - \item[\cs{split}<number>to<dimen>\textrm{, }\cs{vcenter}\{<material>\}] + \item[\cs{split}\meta{number}to\meta{dimen}\textrm{, }\cs{vcenter}\{\meta{material}\}] ã“れらã®ãƒ—リミティブã«ã¤ã„ã¦ã¯å¿…è¦ã«å¿œã˜ã¦\textit{dir\_box}を作æˆã™ã‚‹å‰å‡¦ç†ã‚’è¿½åŠ ã—ã¦ã„る. \end{cslist} -上記ã®ä¸€è¦§ä¸ã«ã‚るプリミティブ\cs{<primitive>}ã«ã¤ã„ã¦ã¯ï¼Œ -\LuaTeX-jaèªã¿è¾¼ã¿å‰ã®æ„味ãŒ\cs{ltj@@orig@<primitive>}ã«ï¼Œ -ãã—ã¦\LuaTeX-jaã«ã‚ˆã‚‹å†å®šç¾©å¾Œã®æ„味ãŒ\cs{ltj@@<primitive>}ã«ä¿å˜ã•ã‚Œã‚‹ï¼Ž +上記ã®ä¸€è¦§ä¸ã«ã‚るプリミティブ\cs{\meta{primitive}}ã«ã¤ã„ã¦ã¯ï¼Œ +\LuaTeX-jaèªã¿è¾¼ã¿å‰ã®æ„味ãŒ\cs{ltj@@orig@\meta{primitive}}ã«ï¼Œ +ãã—ã¦\LuaTeX-jaã«ã‚ˆã‚‹å†å®šç¾©å¾Œã®æ„味ãŒ\cs{ltj@@\meta{primitive}}ã«ä¿å˜ã•ã‚Œã‚‹ï¼Ž 例ãˆã°ï¼Œ\cs{vadjust}ã«ã¤ã„ã¦ã¯\autoref{fig:primitive_meaning}ã®ã‚ˆã†ã«ãªã£ã¦ã„る. %</ja> \begin{figure} @@ -3487,13 +3487,13 @@ Note that the defined control sequence \textit{font\_def} token, but a macro. Hence the input like \verb+\fontname\tradmc+ causes a error. We denote control sequences which are defined in -\cs{jfont} by <jfont\_cs>. +\cs{jfont} by \meta{jfont\_cs}. %</en> %<*ja> ãªãŠï¼Œ\cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸåˆ¶å¾¡ç¶´ï¼ˆä¸Šã®ä¾‹ã 㨠\cs{tradmc}) ã¯\textit{font\_def}トークンã§ã¯ãªãマクãƒã§ã‚る.従ã£ã¦ï¼Œ\verb+\fontname\tradmc+ã®ã‚ˆã†ãª 入力ã¯ã‚¨ãƒ©ãƒ¼ã¨ãªã‚‹ï¼Žä»¥ä¸‹ã§ã¯ \cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸ -制御綴を<jfont\_cs>ã§è¡¨ã™ï¼Ž +制御綴を\meta{jfont\_cs}ã§è¡¨ã™ï¼Ž %</ja> %<en>\paragraph{Specifying JFM} @@ -3501,8 +3501,8 @@ causes a error. We denote control sequences which are defined in %<en> The general scheme for specifying a JFM is the following: %<ja> JFMã®ä¸€èˆ¬çš„ãªæŒ‡å®šã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„る: \begin{quote} - \cs{jfont}<jfont\_cs>\texttt{=...;jfm=}<JFM name>[\texttt{/\{}<JFM features>\texttt{\}}]% - \texttt{;...;}[\texttt{jfmvar=}<identifier>]\texttt{;...} + \cs{jfont}\meta{jfont\_cs}\texttt{=...;jfm=}\meta{JFM name}[\texttt{/\{}\meta{JFM features}\texttt{\}}]% + \texttt{;...;}[\texttt{jfmvar=}\meta{identifier}]\texttt{;...} \end{quote} \begin{figure} @@ -3525,21 +3525,21 @@ causes a error. We denote control sequences which are defined in %<*en> \begin{description} -\item[<JFM name>] - The name of a (horizontal) JFM. \LuaTeX-ja searches and loads \texttt{jfm-<JFM name>.lua}. -\item[<JFM features>] +\item[\meta{JFM name}] + The name of a (horizontal) JFM. \LuaTeX-ja searches and loads \texttt{jfm-\meta{JFM name}.lua}. +\item[\meta{JFM features}] An optional comma-separated list of JFM options. Enclosing braces (\verb+{}+) are optional, but this does not escape any characters. The contents of this list can be accessed by a table \texttt{luatexja.jfont.jfm\_feature} from a JFM, at its loading. See \autoref{fig:jfmfeat} for an example. Note that any JFM files which is shipped with \LuaTeX-ja does not use this feature. -\item[<identifier>] +\item[\meta{identifier}] An optional string. \end{description} LuaTeX-ja ``does not distinguish'' two Japanese fonts which uses same JFM and are the same size. -Here ``uses same JFM'' means that all~of <JFM name>, <JFM features>~and~<identifier> of two fonts +Here ``uses same JFM'' means that all~of \meta{JFM name}, \meta{JFM features}~and~\meta{identifier} of two fonts agree. For example, The first ``)'' and ``ã€'' in \autoref{fig:jfmvar} are typeset in different real fonts. @@ -3547,35 +3547,35 @@ However, because they use the same JFMs and their size are same, \LuaTeX-ja inserts penalties, glues and kerns as if these two character are typeset in a same font. Namely, the glue between these characters is halfwidth, as in ``)\nobreakã€''. However, this does not applies with \cs{F}~and~\cs{H} in \autoref{fig:jfmvar}, -because their <identifier> are different. +because their \meta{identifier} are different. %</en> %<*ja> \begin{description} -\item[<JFM name>] - (横組用)JFMã®å称.\LuaTeX-jaã¯\texttt{jfm-<JFM name>.lua}ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探索ã—ã¦èªã¿è¾¼ã‚€ï¼Ž -\item[<JFM features>] +\item[\meta{JFM name}] + (横組用)JFMã®å称.\LuaTeX-jaã¯\texttt{jfm-\meta{JFM name}.lua}ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探索ã—ã¦èªã¿è¾¼ã‚€ï¼Ž +\item[\meta{JFM features}] çœç•¥å¯èƒ½ãªã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆï¼Žå…¨ä½“を囲む \verb+{}+ ã¯çœç•¥å¯èƒ½ã§ã‚ã‚‹ãŒï¼Œ - 囲ã£ãŸã‹ã‚‰ã¨ã„ã£ã¦<JFM features>ã®ä¸ã§ä½¿ç”¨å¯èƒ½ãªæ–‡å—ãŒå¢—ãˆã‚‹ã‚ã‘ã§ã¯ãªã„. - <JFM features>ã§æŒ‡å®šã•ã‚ŒãŸå†…容ã¯ï¼Œãƒ†ãƒ¼ãƒ–ル\texttt{luatexja.jfont.jfm\_feature}ã¨ã—㦠+ 囲ã£ãŸã‹ã‚‰ã¨ã„ã£ã¦\meta{JFM features}ã®ä¸ã§ä½¿ç”¨å¯èƒ½ãªæ–‡å—ãŒå¢—ãˆã‚‹ã‚ã‘ã§ã¯ãªã„. + \meta{JFM features}ã§æŒ‡å®šã•ã‚ŒãŸå†…容ã¯ï¼Œãƒ†ãƒ¼ãƒ–ル\texttt{luatexja.jfont.jfm\_feature}ã¨ã—㦠JFMèªã¿è¾¼ã¿æ™‚ã«ï¼ˆJFMã‹ã‚‰ï¼‰ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã‚る.\autoref{fig:jfmfeat}ã«ä½¿ç”¨ä¾‹ã‚’載ã›ãŸï¼Ž ãªãŠï¼Œ\LuaTeX-jaãŒæ¨™æº–ã§æä¾›ã™ã‚‹JFMã§ã¯ã“ã®æ©Ÿèƒ½ã¯ç”¨ã„られã¦ã„ãªã„. -\item[<identifier>] +\item[\meta{identifier}] çœç•¥å¯èƒ½ãªæ–‡å—列. \end{description} \LuaTeX-jaã¯JFMã¨ã‚µã‚¤ã‚ºãŒåŒã˜ã§ï¼Œ 実フォントã ã‘ãŒç•°ãªã‚‹2ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã¯ã€ŒåŒºåˆ¥ã•ã‚Œãªã„ã€ï¼Ž -ã“ã“ã§ã€ŒJFMãŒåŒã˜ã€ã¨ã¯ï¼Œä¸¡ãƒ•ã‚©ãƒ³ãƒˆã®<JFM name>, <JFM features>, <identifier>㌠+ã“ã“ã§ã€ŒJFMãŒåŒã˜ã€ã¨ã¯ï¼Œä¸¡ãƒ•ã‚©ãƒ³ãƒˆã®\meta{JFM name}, \meta{JFM features}, \meta{identifier}㌠全ã¦ä¸€è‡´ã™ã‚‹ã“ã¨ã§ã‚る. 例ãˆã°\autoref{fig:jfmvar}ã«ãŠã„ã¦ï¼Œæœ€åˆã®ã€Œï¼‰ã€ã¨ã€Œã€ã€ã®å®Ÿãƒ•ã‚©ãƒ³ãƒˆã¯ç•°ãªã‚‹ãŒï¼Œ JFMもサイズもåŒã˜ãªã®ã§ï¼Œæ™®é€šã«ã€Œï¼‰\nobreakã€ã€ã¨å…¥åŠ›ã—ãŸæ™‚ã¨åŒã˜ã‚ˆã†ã«çµ„ã¾ã‚Œã‚‹ï¼Œã¤ã¾ã‚Šä¸¡æ–‡å—ã®é–“ã¯åŠè§’空ãã¨ãªã‚‹ï¼Ž -ã—ã‹ã—,JFMã¨ã‚µã‚¤ã‚ºãŒåŒã˜ã§ã‚ã£ã¦ã‚‚,\texttt{jfmvar}ã‚ーã®å€¤<identifier>ã®ç•°ãªã‚‹ -2ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼Œä¾‹ãˆã°\autoref{fig:jfmvar}ã§è¨€ã† \cs{F} 㨠\cs{H}, -ã¯ã€ŒåŒºåˆ¥ã•ã‚Œã‚‹ã€ï¼Žç•°ãªã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ç•°ãªã‚‹ \texttt{jfmvar} ã‚ーを割り当ã¦ï¼Œ -ã‹ã¤\Param{differentjfm}パラメータを \texttt{both} ã«è¨å®šã™ã‚Œã°ï¼Œ +ã—ã‹ã—,JFMã¨ã‚µã‚¤ã‚ºãŒåŒã˜ã§ã‚ã£ã¦ã‚‚,\texttt{jfmvar}ã‚ーã®å€¤\meta{identifier}ã®ç•°ãªã‚‹ +2ã¤ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆï¼Œä¾‹ãˆã°\autoref{fig:jfmvar}ã§è¨€ã†\cs{F}ã¨\cs{H}, +ã¯ã€ŒåŒºåˆ¥ã•ã‚Œã‚‹ã€ï¼Žç•°ãªã‚‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ç•°ãªã‚‹ \texttt{jfmvar}ã‚ーを割り当ã¦ï¼Œ +ã‹ã¤\Param{differentjfm}パラメータを\texttt{both}ã«è¨å®šã™ã‚Œã°ï¼Œ \pTeX ã¨ä¼¼ãŸçŠ¶æ³ã§çµ„版ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ï¼Ž %</ja> @@ -3823,8 +3823,8 @@ This means the following two lines have the same meaning: \paragraph{\texttt{extend}ã¨\texttt{slant}} OpenType機能ã¨è¦‹ã‹ã‘上åŒã˜ã‚ˆã†ãªå½¢å¼ã§æŒ‡å®šã§ãã‚‹ã‚‚ã®ã«ï¼Œ \begin{description} -\item[\texttt{extend=}<extend>] 横方å‘ã«<extend>å€æ‹¡å¤§ã™ã‚‹ï¼Ž -\item[\texttt{slant=}<slant>] <slant>ã«æŒ‡å®šã•ã‚ŒãŸå‰²åˆã ã‘傾ã‘る. +\item[\texttt{extend=}\meta{extend}] 横方å‘ã«\meta{extend}å€æ‹¡å¤§ã™ã‚‹ï¼Ž +\item[\texttt{slant=}\meta{slant}] \meta{slant}ã«æŒ‡å®šã•ã‚ŒãŸå‰²åˆã ã‘傾ã‘る. \end{description} ã®2ã¤ãŒã‚る. \texttt{extend}ã‚„\texttt{slant}を指定ã—ãŸå ´åˆã¯ï¼Œãã‚Œã«å¿œã˜ãŸJFMを指定ã™ã¹ãã§ã‚ã‚‹% @@ -3836,8 +3836,8 @@ OpenType機能ã¨è¦‹ã‹ã‘上åŒã˜ã‚ˆã†ãªå½¢å¼ã§æŒ‡å®šã§ãã‚‹ã‚‚ã®ã«ï¼Œ \paragraph{\texttt{extend} and \texttt{slant}} The following setting can be specified as OpenType font features: \begin{cslist}[style=standard] -\item[\texttt{extend=}<extend>] expand the font horizontally by <extend>. -\item[\texttt{slant=}<slant>] slant the font. +\item[\texttt{extend=}\meta{extend}] expand the font horizontally by \meta{extend}. +\item[\texttt{slant=}\meta{slant}] slant the font. \end{cslist} Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant} settings; one have to write new JFMs on purpose. @@ -3897,7 +3897,6 @@ as shown in~\autoref{fig:ltjksp}. \label{ssec:tfont} \begin{comment} - {\catcode`\<=12\catcode`\>=12 \begin{table}[t] %<en>\caption{Differences between vertical JFMs shipped with \LuaTeX-ja} %<ja>\caption{\LuaTeX-ja ã«åŒæ¢±ã•ã‚Œã¦ã„る縦組用 JFM ã®é•ã„} @@ -3941,7 +3940,6 @@ as shown in~\autoref{fig:ltjksp}. \end{minipage} \ltjsetparameter{jacharrange={-3}} \end{table} -} \end{comment} %<*en> @@ -4033,7 +4031,7 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont \item ã•ã‚‰ã«ï¼Œã€Œã„ã‹ãªã‚‹script,~languageã§ã‚‚\texttt{vert}ã«ã‚ˆã‚Šç½®æ›ã•ã‚Œãªã„ã€ã‚°ãƒªãƒ• ã®ã†ã¡ï¼ŒUAX~\#50ã§``r''ã‚‚ã—ãã¯``Tr''ã¨æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã¯90度自動回転ã•ã›ã‚‹ï¼Ž \item \ref{ssec:math}節ã§è¿°ã¹ã‚‹ï¼Œæ•°å¼ä¸ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã«ã¯ç¸¦çµ„用和文フォントã¯æŒ‡å®šã§ããªã„. - \item <JFM name>ã«ã¯ç¸¦çµ„用JFMを指定ã™ã‚‹ï¼Ž + \item \meta{JFM name}ã«ã¯ç¸¦çµ„用JFMを指定ã™ã‚‹ï¼Ž 以下ã®ç¸¦çµ„用JFMãŒ\LuaTeX-jaã«ã¯åŒæ¢±ã•ã‚Œã¦ã„る.%ãŠã‚Šï¼Œé•ã„ã‚’\autoref{tab-difjfm-tate}ã«ç¤ºã—ãŸï¼Ž \begin{description} \item[\texttt{jfm-ujisv.lua}] \LuaTeX-jaã®æ¨™æº–縦組用JFMã§ã‚る.ã“ã®JFMã¯\upTeX 㧠@@ -4299,7 +4297,7 @@ floating-point numbers in design-size unit. \begin{cslist}[style=standard] -\item[version=<version>] +\item[version=\meta{version}] %<en>(optional, default value is~1) %<ja>(任æ„,既定値ã¯1) @@ -4310,7 +4308,7 @@ The version JFM. Currently 1,~2,~and,~3 are supported JFMã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼Ž1,~2,~3ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã‚‹ï¼Ž %</ja> -\item[dir=<direction>] +\item[dir=\meta{direction}] %<en>(required) %<ja>ï¼ˆå¿…é ˆï¼‰ @@ -4322,7 +4320,7 @@ or \texttt{'tate'}~(vertical) are supported. JFMã®æ›¸å—æ–¹å‘.\texttt{'yoko'}(横組)㨠\texttt{'tate'}(縦組)ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã‚‹ï¼Ž %</ja> -\item[zw=<length>] +\item[zw=\meta{length}] %<en>(required) %<ja>ï¼ˆå¿…é ˆï¼‰ @@ -4333,7 +4331,7 @@ JFMã®æ›¸å—æ–¹å‘.\texttt{'yoko'}(横組)㨠\texttt{'tate'}(縦組)ã \LuaTeX-jaã§ã¯ã“ã“ã§æŒ‡å®šã™ã‚‹ï¼Ž %</ja> -\item[zh=<length>] +\item[zh=\meta{length}] %<en>(required) %<ja>ï¼ˆå¿…é ˆï¼‰ @@ -4344,7 +4342,7 @@ JFMã®æ›¸å—æ–¹å‘.\texttt{'yoko'}(横組)㨠\texttt{'tate'}(縦組)ã \LuaTeX-jaã§ã¯ã“ã“ã§æŒ‡å®šã™ã‚‹ï¼Ž %</ja> -\item[kanjiskip=\{<natural>, <stretch>, <shrink>\}] +\item[kanjiskip=\{\meta{natural}, \meta{stretch}, \meta{shrink}\}] %<en>(optional) %<ja>(任æ„) @@ -4353,17 +4351,17 @@ This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted in Subsection~\ref{subs-kskip}, if the parameter \Param{kanjiskip} is \cs{maxdimen}, the value specified in this field is actually used (if this field is not specified in - JFM, it is regarded as 0\,pt). Note that <stretch> and <shrink> + JFM, it is regarded as 0\,pt). Note that \meta{stretch} and \meta{shrink} fields are in design-size unit too. %</en> %<*ja> ç†æƒ³çš„ãª\Param{kanjiskip}ã®é‡ã‚’指定ã™ã‚‹ï¼Ž\ref{subs-kskip}節ã§è¿°ã¹ãŸã‚ˆã†ã«ï¼Œ ã‚‚ã—\Param{kanjiskip}㌠\cs{maxdimen} ã®å€¤ãªã‚‰ã°ï¼Œã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã§æŒ‡å®šã•ã‚ŒãŸ -値ãŒå®Ÿéš›ã«ã¯ç”¨ã„られる(指定ãªã—ã¯0\,ptã¨ã—ã¦æ‰±ã‚れる).<stretch>ã¨<shrink>ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚‚design size +値ãŒå®Ÿéš›ã«ã¯ç”¨ã„られる(指定ãªã—ã¯0\,ptã¨ã—ã¦æ‰±ã‚れる).\meta{stretch}ã¨\meta{shrink}ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚‚design size ãŒå˜ä½ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã›ã‚ˆï¼Ž %</ja> -\item[xkanjiskip=\{<natural>, <stretch>, <shrink>\}] +\item[xkanjiskip=\{\meta{natural}, \meta{stretch}, \meta{shrink}\}] %<en>(optional) %<ja>(任æ„) @@ -4396,7 +4394,7 @@ the following fields: %</ja> \begin{cslist}[style=standard] -\item[chars=\{<character>, ...\}] +\item[chars=\{\meta{character}, ...\}] %<en>(required except character class~0) %<ja>(文å—クラス0を除ã„ã¦å¿…é ˆï¼‰ @@ -4426,7 +4424,7 @@ This field is a list of characters which are in this character \end{itemize} %</ja> -\item[width=<length>, height=<length>, depth=<length>, italic=<length>] +\item[width=\meta{length}, height=\meta{length}, depth=\meta{length}, italic=\meta{length}] %<en>(required) %<ja>ï¼ˆå¿…é ˆï¼‰ @@ -4476,7 +4474,7 @@ JFM書å—æ–¹å‘&\emph{\texttt{'yoko'}(横組)}&\multicolumn{1}{l}{\emph{\tex ã™ã‚Œã°ï¼Œã“ã‚Œã«ã‚ˆã£ã¦ãƒ—ãƒãƒãƒ¼ã‚·ãƒ§ãƒŠãƒ«çµ„ã‚’è¡Œã†ã“ã¨ãŒã§ãる. %</ja> -\item[left=<length>, down=<length>, align=<align>]\ +\item[left=\meta{length}, down=\meta{length}, align=\meta{align}]\ %<*en> These fields are for adjusting the position of the ``real'' glyph. Legal @@ -4696,14 +4694,14 @@ Furthermore, the glyph is shifted according to values of fields \label{fig:pos-tate} \end{figure} -\item[kern={\{[$j$]=<kern>, [$j'$]=\{<kern>, [ratio=<ratio>]\}, ...\}}] +\item[kern={\{[$j$]=\meta{kern}, [$j'$]=\{\meta{kern}, [ratio=\meta{ratio}]\}, ...\}}] \nopagebreak -\item[glue={\{[$j$]=\{<width>, <stretch>, <shrink>, [ratio=<ratio>, ...]\}, ...\}}]\leavevmode +\item[glue={\{[$j$]=\{\meta{width}, \meta{stretch}, \meta{shrink}, [ratio=\meta{ratio}, ...]\}, ...\}}]\leavevmode %<*ja> æ–‡å—クラス$i$ã®æ–‡å—ã¨$j$ã®æ–‡å—ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚«ãƒ¼ãƒ³ã‚„グルーã®é‡ã‚’指定ã™ã‚‹ï¼Ž -<ratio>ã¯ï¼Œã‚°ãƒ«ãƒ¼ã®è‡ªç„¶é•·ã®ã†ã¡ã©ã‚Œã ã‘ã®å‰²åˆãŒã€Œå¾Œã®æ–‡å—ã€ç”±æ¥ã‹ã‚’示ã™é‡ã§ï¼Œ +\meta{ratio}ã¯ï¼Œã‚°ãƒ«ãƒ¼ã®è‡ªç„¶é•·ã®ã†ã¡ã©ã‚Œã ã‘ã®å‰²åˆãŒã€Œå¾Œã®æ–‡å—ã€ç”±æ¥ã‹ã‚’示ã™é‡ã§ï¼Œ $0$ã‹ã‚‰$+1$ã®å®Ÿæ•°å€¤ã‚’ã¨ã‚‹ï¼Žçœç•¥æ™‚ã®å€¤ã¯$0.5$ã§ã‚る. ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å€¤ã¯\Param{differentjfm}ã®å€¤ãŒ \texttt{pleft},~\texttt{pright},~\texttt{paverage}ã®å€¤ã®ã¨ãã®ã¿å®Ÿéš›ã«ç”¨ã„られる. @@ -4711,8 +4709,8 @@ $0$ã‹ã‚‰$+1$ã®å®Ÿæ•°å€¤ã‚’ã¨ã‚‹ï¼Žçœç•¥æ™‚ã®å€¤ã¯$0.5$ã§ã‚る. 例ãˆã°ï¼Œ\cite{x4051}ã§ã¯ï¼Œå¥ç‚¹ã¨ä¸ç‚¹ã®é–“ã«ã¯ï¼Œ å¥ç‚¹ç”±æ¥ã®äºŒåˆ†ç©ºãã¨ä¸ç‚¹ç”±æ¥ã®å››åˆ†ç©ºããŒæŒ¿å…¥ã•ã‚Œã‚‹ãŒï¼Œã“ã®å ´åˆã«ã¯ \begin{itemize} -\item <width>ã«ã¯$0.5+0.25=0.75$を指定ã™ã‚‹ï¼Ž -\item <ratio>ã«ã¯$0.25/(0.5+0.25)=1/3$を指定ã™ã‚‹ï¼Ž +\item \meta{width}ã«ã¯$0.5+0.25=0.75$を指定ã™ã‚‹ï¼Ž +\item \meta{ratio}ã«ã¯$0.25/(0.5+0.25)=1/3$を指定ã™ã‚‹ï¼Ž \end{itemize} %</ja> %<*en> @@ -4721,32 +4719,32 @@ $0$ã‹ã‚‰$+1$ã®å®Ÿæ•°å€¤ã‚’ã¨ã‚‹ï¼Žçœç•¥æ™‚ã®å€¤ã¯$0.5$ã§ã‚る. Specifies the amount of kern or glue which will be inserted between characters in character class~$i$ and those in character class~$j$. -<ratio> specifies how much the glue is originated in the ``right'' character. +\meta{ratio} specifies how much the glue is originated in the ``right'' character. It is a real number between 0 and 1, and treated as 0.5 if omitted. For example, The width of a glue between an ideographic full stop ``。'' and a fullwidth middle dot ``・'' is three-fourth of fullwidth, namely halfwidth from the ideographic full stop, and quarter-width from the fullwidth middle dot. In this case, -we specify <ratio> to $0.25/(0.5+0.25)=1/3$. +we specify \meta{ratio} to $0.25/(0.5+0.25)=1/3$. %</en> %<*ja> グルーã®æŒ‡å®šã«ãŠã„ã¦ã¯ï¼Œä¸Šè¨˜ã«åŠ ãˆã¦å„ \texttt{[$j$]} ã®å„サブテーブル内㫠次ã®ã‚ーを指定ã§ãる, \begin{cslist}[style=standard] -\item[priority=<priority>] +\item[priority=\meta{priority}] \Pkg{luatexja-adjust}ã«ã‚ˆã‚‹å„ªå…ˆé †ä½ä»˜ã 行長調整(\ref{ssec:adj}節)ã«ãŠã„ã¦ï¼Œã“ã®ã‚°ãƒ«ãƒ¼ã®å„ªå…ˆåº¦ã‚’指定ã™ã‚‹ï¼Žè¨±ã•ã‚Œã‚‹å€¤ã¯ä»¥ä¸‹ã®é€šã‚Šï¼š \begin{description} \item[ãƒãƒ¼ã‚¸ãƒ§ãƒ³1] $-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•° - \item[ãƒãƒ¼ã‚¸ãƒ§ãƒ³2以é™] $-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°ã®2ã¤çµ„\texttt{\{<stretch>, <shrink>\}}ã‹ï¼Œ - ã¾ãŸã¯$-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°ï¼Ž<stretch>, <shrink>ã¯ãã‚Œãžã‚Œã“ã®ã‚°ãƒ«ãƒ¼ãŒä¼¸ã³ã‚‹ã¨ãã®å„ªå…ˆåº¦ï¼Œç¸®ã‚€ã¨ãã® + \item[ãƒãƒ¼ã‚¸ãƒ§ãƒ³2以é™] $-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°ã®2ã¤çµ„\texttt{\{\meta{stretch}, \meta{shrink}\}}ã‹ï¼Œ + ã¾ãŸã¯$-4$ã‹ã‚‰$+3$ã®é–“ã®æ•´æ•°ï¼Ž\meta{stretch}, \meta{shrink}ã¯ãã‚Œãžã‚Œã“ã®ã‚°ãƒ«ãƒ¼ãŒä¼¸ã³ã‚‹ã¨ãã®å„ªå…ˆåº¦ï¼Œç¸®ã‚€ã¨ã㮠優先度ã§ã‚り,å˜ã«æ•´æ•°$i$ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯\texttt{\{$i$, $i$\}}ã§ã‚ã‚‹ã¨è§£é‡ˆã•ã‚Œã‚‹ï¼Ž \end{description} ã“ã“ã§æŒ‡å®šã™ã‚‹å€¤ã¯ï¼Œå¤§ãã„値ã»ã©ã€Œå…ˆã«ä¼¸ã°ã•ã‚Œã‚‹ã€ã€Œå…ˆã«ç¸®ã¾ã›ã‚‹ã€ã“ã¨ã‚’æ„味ã—ã¦ãŠã‚Šï¼Œçœç•¥æ™‚ã®å€¤ ã¯0ã§ã‚る.範囲外ã®å€¤ãŒæŒ‡å®šã•ã‚ŒãŸã¨ãã®å‹•ä½œã¯æœªå®šç¾©ã§ã‚る. -\item[kanjiskip\_natural=<num>\textrm{, }% - kanjiskip\_stretch=<num>\textrm{, }kanjiskip\_shrink=<num>]\leavevmode +\item[kanjiskip\_natural=\meta{num}\textrm{, }% + kanjiskip\_stretch=\meta{num}\textrm{, }kanjiskip\_shrink=\meta{num}]\leavevmode \label{pg:ksp_nat} JFMã«ã‚ˆã£ã¦æœ¬æ¥æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã®ä»–ã« @@ -4787,15 +4785,15 @@ JFMã«ã‚ˆã£ã¦æœ¬æ¥æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã®ä»–ã« In case of glue, one can specify following additional keys in each \texttt{[$j$]} subtable: \begin{cslist}[style=standard] -\item[priority=<priority>] +\item[priority=\meta{priority}] An integer in $[-4,3]$ (treated as 0 if omitted), or -a pair of these integers \texttt{\{<stretch>, <shrink>\}} (version 2~or~later). +a pair of these integers \texttt{\{\meta{stretch}, \meta{shrink}\}} (version 2~or~later). This is used only in line adjustment with priority by \Pkg{luatexja-adjust} (see Subsection~\ref{ssec:adj}). Higher value means the glue is easy to stretch, and is also easy to shrink. -\item[kanjiskip\_natural=<num>\textrm{, }% - kanjiskip\_stretch=<num>\textrm{, }kanjiskip\_shrink=<num>]\leavevmode +\item[kanjiskip\_natural=\meta{num}\textrm{, }% + kanjiskip\_stretch=\meta{num}\textrm{, }kanjiskip\_shrink=\meta{num}]\leavevmode These keys specifies the amount of the natural width of \Param{kanjiskip}% (the stretch/shrink part, respectively) which will be inserted @@ -4835,7 +4833,7 @@ Hence we have the following result: \end{cslist} %</en> -\item[end\_stretch=<kern>, end\_shrink=<kern>] +\item[end\_stretch=\meta{kern}, end\_shrink=\meta{kern}] %<*ja> (任æ„,ãƒãƒ¼ã‚¸ãƒ§ãƒ³1ã®ã¿ï¼‰ @@ -4847,7 +4845,7 @@ Hence we have the following result: (optional, version~1 only) %</en> - \item[end\_adjust=\{<kern>, <kern>, ...\}] + \item[end\_adjust=\{\meta{kern}, \meta{kern}, ...\}] %<*ja> (任æ„,ãƒãƒ¼ã‚¸ãƒ§ãƒ³2以é™ï¼‰ @@ -4869,7 +4867,7 @@ Hence we have the following result: (optional, version~2 or~later) %</en> - \item[round\_threshold=<float>] + \item[round\_threshold=\meta{float}] %<*ja> (任æ„,ãƒãƒ¼ã‚¸ãƒ§ãƒ³3以é™ï¼Œæ–‡å—クラス0ã®ã¿ï¼‰ @@ -5130,7 +5128,7 @@ an external package is needed to support this in plain \TeX\ and font families. There is no relation between the value of \cs{fam} and that of \cs{jfam}; with appropriate settings, one can set both \cs{fam} and \cs{jfam} to the same value. -Here <jfont\_cs> in the argument of \Param{jatextfont} etc.\ is +Here \meta{jfont\_cs} in the argument of \Param{jatextfont} etc.\ is a control sequence which is defined by \cs{jfont}, i.e., a \emph{horizontal} Japanese font. %</en> @@ -5139,7 +5137,7 @@ a \emph{horizontal} Japanese font. \autoref{tab-math}ã¯æ•°å¼ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã«å¯¾ã™ã‚‹ \TeX ã®ãƒ—リミティブã¨å¯¾å¿œã™ã‚‹ ã‚‚ã®ã‚’示ã—ã¦ã„る.\cs{fam} 㨠\cs{jfam} ã®å€¤ã®é–“ã«ã¯é–¢ä¿‚ã¯ãªã, é©åˆ‡ãªè¨å®šã®ä¸‹ã§ã¯ \cs{fam} 㨠\cs{jfam} ã®ä¸¡æ–¹ã«åŒã˜å€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ãŒã§ãる. -\Param{jatextfont} ä»–ã®ç¬¬2引数<jfont\_cs>ã¯ï¼Œ\cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸ +\Param{jatextfont} ä»–ã®ç¬¬2引数\meta{jfont\_cs}ã¯ï¼Œ\cs{jfont} ã§å®šç¾©ã•ã‚ŒãŸ \emph{横組用}和文フォントã§ã‚る.\cs{tfont} ã§å®šç¾©ã•ã‚ŒãŸ \emph{縦組用}和文フォントを指定ã™ã‚‹ã“ã¨ã¯æƒ³å®šã—ã¦ã„ãªã„. %</ja> @@ -5157,9 +5155,9 @@ a \emph{horizontal} Japanese font. %<ja>\bf 和文フォント&\bf 欧文フォント\\ \midrule \cs{jfam}${}\in [0,256)$&\cs{fam}\\ -\ttfamily\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\ttfamily\cs{textfont}<fam>=<font\_cs>\\ -\ttfamily\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\ttfamily\cs{scriptfont}<fam>=<font\_cs>\\ -\ttfamily\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\ttfamily\cs{scriptscriptfont}<fam>=<font\_cs>\\ +\ttfamily\Param{jatextfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&\ttfamily\cs{textfont}\meta{fam}=\meta{font\_cs}\\ +\ttfamily\Param{jascriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&\ttfamily\cs{scriptfont}\meta{fam}=\meta{font\_cs}\\ +\ttfamily\Param{jascriptscriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&\ttfamily\cs{scriptscriptfont}\meta{fam}=\meta{font\_cs}\\ \bottomrule \end{tabular} \end{table} @@ -5247,8 +5245,8 @@ The value of \texttt{jfmvar}~key, which is specified at \cs{jfont}. The default value is the empty string. \item[\texttt{chars}] The mapping table from character codes to its character classes.\\ -The specification \texttt{[i].chars=\{<character>, ...\}} in the JFM will be stored in this - field as \texttt{chars=\{[<character>]=\,$i$, ...\}}. +The specification \texttt{[i].chars=\{\meta{character}, ...\}} in the JFM will be stored in this + field as \texttt{chars=\{[\meta{character}]=\,$i$, ...\}}. \item[\texttt{char\_type}] For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose class is $i$, and has the following fields: @@ -5283,8 +5281,8 @@ spå˜ä½ã§æ ¼ç´ã—ã¦ã„る. \cs{jfont},~\cs{tfont} ã§æŒ‡å®šã•ã‚ŒãŸ \texttt{jfmvar} ã‚ーã®å€¤ï¼ˆæœªæŒ‡å®šã®ã¨ãã¯ç©ºæ–‡å—列). \item[chars] æ–‡å—コードã‹ã‚‰æ–‡å—クラスã¸ã®å¯¾å¿œãŒè¨˜è¿°ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ル.\\ -JFM内㮠\texttt{[i].chars=\{<character>, ...\}} ã¨ã„ã†æŒ‡å®šã¯\ -\texttt{chars=\{[<character>]=\,$i$, ...\}} ã¨ã„ã†å½¢å¼ã«å¤‰æ›ã•ã‚Œã¦ã„る. +JFM内㮠\texttt{[i].chars=\{\meta{character}, ...\}} ã¨ã„ã†æŒ‡å®šã¯\ +\texttt{chars=\{[\meta{character}]=\,$i$, ...\}} ã¨ã„ã†å½¢å¼ã«å¤‰æ›ã•ã‚Œã¦ã„る. \item[char\_type] $i\in\omega$ã«å¯¾ã—ã¦ï¼Œ\texttt{char\_type[$i$]} ã¯æ–‡å—クラス$i$ã®æ–‡å—ã®å¯¸æ³•ã‚’æ ¼ç´ã—ã¦ãŠã‚Šï¼Œ 以下ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æŒã¤ï¼Ž @@ -5303,23 +5301,19 @@ JFMã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ãã‚Œãžã‚Œã®å€¤ã‚’スケーリングã—ãŸã‚‚ã®ã ã®ã„ãšã‚Œã‹ã®å€¤ã‚’ã¨ã‚‹ï¼Ž \end{itemize} $i$,~$j\in \omega$ã«å¯¾ã—ã¦ï¼Œ\texttt{char\_type[$i$][$j$]} 㯠-æ–‡å—クラス$i$ã®æ–‡å—ã¨$j$ã®æ–‡å—ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã‚„ã‚«ãƒ¼ãƒ³ã‚’æ ¼ç´ã—ã¦ã„る. +æ–‡å—クラス$i$ã®æ–‡å—ã¨$j$ã®æ–‡å—ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã‚„カーンã®æƒ…å ±ã‚’æ ¼ç´ã—ã¦ã„る. é–“ã«å…¥ã‚‹ã‚‚ã®ãŒã‚«ãƒ¼ãƒ³ã§ã‚ã‚Œã°ï¼Œã“ã®å€¤ã¯% -\texttt{[$j$]=\{[1]=<kern\_node>, ratio=<ratio>\}}ã§ã‚り, -<kern\_node>ã¯ã‚«ãƒ¼ãƒ³ã‚’表ã™ãƒŽãƒ¼ãƒ‰ã§ã‚ã‚‹\footnote{% - ãƒãƒ¼ã‚¸ãƒ§ãƒ³20150420.0以é™ã§ã¯ãƒŽãƒ¼ãƒ‰ã®ã‚¢ã‚¯ã‚»ã‚¹æ‰‹æ³•ã«direct access - modelを用ã„ã¦ã„ã‚‹ãŸã‚,ノードãã®ã‚‚ã®ã‚’表ã™ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ‡ãƒ¼ã‚¿ã§ã¯ãªã, - 内部ã§å‚ç…§ã®ãŸã‚ã«ä½¿ã‚れる添å—(整数)ã§ã‚る. -}. - -グルーã§ã‚ã‚Œã°ï¼Œã“ã®å€¤ã¯ä»¥ä¸‹ã®ã‚ーをæŒã¤ãƒ†ãƒ¼ãƒ–ルã§ã‚る. +\texttt{[$j$]=\{\meta{kern}, ratio=\meta{ratio}\}}ã§ã‚り, +\meta{kern}ã¯ã‚«ãƒ¼ãƒ³ã®å€¤ã‚’spå˜ä½ã§è¡¨ã—ãŸã‚‚ã®ã§ã‚る. + +一方,間ã«å…¥ã‚‹ã‚‚ã®ãŒã‚°ãƒ«ãƒ¼ã§ã‚ã‚Œã°ï¼Œã“ã®å€¤ã¯ä»¥ä¸‹ã®ã‚ーをæŒã¤ãƒ†ãƒ¼ãƒ–ルã§ã‚る. \begin{description} - \item[\texttt{width}, \texttt{stretch}, \texttt{shrink}] + \item[{[1], [2], [3]}] グルーã®ãã‚Œãžã‚Œè‡ªç„¶é•·ï¼Œä¼¸ã³é‡ï¼Œç¸®ã¿é‡ã‚’spå˜ä½ã§è¡¨ã—ãŸã‚‚ã®ï¼Ž - \item[\texttt{priority}] (ãƒãƒ¼ã‚¸ãƒ§ãƒ³2以é™ã®ï¼‰JFMã§ã®æŒ‡å®š \texttt{\{<stretch>,<shrink>\}} ã‚’ + \item[\texttt{priority}] (ãƒãƒ¼ã‚¸ãƒ§ãƒ³2以é™ã®ï¼‰JFMã§ã®æŒ‡å®š \texttt{\{\meta{stretch},\meta{shrink}\}} ã‚’ \[ - (\text{<stretch>}+4)\cdot 8+\text{<shrink>}+4 + (\text{\meta{stretch}}+4)\cdot 8+\text{\meta{shrink}}+4 \] ã¨ã—ã¦0--63ã®æ•´æ•°ã«ãƒ‘ックã—ãŸã‚‚ã®ï¼Ž \item[\texttt{ratio}, \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch}, \texttt{kanjiskip\_shrink}] @@ -5366,7 +5360,7 @@ A function used in this callback should be in the following form: ã“ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§å‘¼ã³å‡ºã•ã‚Œã‚‹é–¢æ•°ã¯æ¬¡ã®å½¢ã‚’ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„: %</ja> \begin{lstlisting}[numbers=left] -function (<number> char_class, <table> jfont_info, <number> chr_code) +function (<number> char_class, <table> jfont_info, <number> char_code) if char_class~=0 then return char_class else .... @@ -5515,7 +5509,7 @@ adopted in the whole paragraph or the whole hbox. \end{itemize} \begin{cslist}[style=standard] -\item[\DParam{jcharwidowpenalty}\,=<penalty>$^\ast$] [\cs{jcharwidowpenalty}]\ +\item[\DParam{jcharwidowpenalty}\,=\meta{penalty}$^\ast$] [\cs{jcharwidowpenalty}]\ %<*en> Penalty value for suppressing orphans. This penalty is inserted just @@ -5528,24 +5522,24 @@ Penalty value for suppressing orphans. This penalty is inserted just 挿入ã•ã‚Œã‚‹ï¼Ž %</ja> -\item[\DParam{kcatcode}\,=\{<chr\_code>,<natural number>\}$^\ast$]\ +\item[\DParam{kcatcode}\,=\{\meta{char\_code},\meta{natural number}\}$^\ast$]\ %<*en> -An additional attributes which each character whose character code is <chr\_code> has. -At version~20120506.0 or later, the lowermost bit of <natural number> indicates +An additional attributes which each character whose character code is \meta{char\_code} has. +At version~20120506.0 or later, the lowermost bit of \meta{natural number} indicates whether the character is considered as a punctuation mark (see the description of \Param{jcharwidowpenalty} above). %</en> %<*ja> -æ–‡å—コードãŒ<chr\_code>ã®æ–‡å—ãŒæŒã¤ä»˜åŠ çš„ãªå±žæ€§å€¤ï¼Ž -ãƒãƒ¼ã‚¸ãƒ§ãƒ³20120506.0以é™ã§ã¯ï¼Œ<natural number>ã®æœ€ä¸‹ä½ãƒ“ットãŒï¼Œãã®æ–‡å—ãŒå¥èªç‚¹ã¨ +æ–‡å—コードãŒ\meta{char\_code}ã®æ–‡å—ãŒæŒã¤ä»˜åŠ çš„ãªå±žæ€§å€¤ï¼Ž +ãƒãƒ¼ã‚¸ãƒ§ãƒ³20120506.0以é™ã§ã¯ï¼Œ\meta{natural number}ã®æœ€ä¸‹ä½ãƒ“ットãŒï¼Œãã®æ–‡å—ãŒå¥èªç‚¹ã¨ ã¿ãªã•ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’表ã—ã¦ã„る(上ã®\Param{jcharwidowpenalty}ã®è¨˜è¿°ã‚’å‚照). %</ja> -\item[\DParam{prebreakpenalty}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\cs{prebreakpenalty}]\ +\item[\DParam{prebreakpenalty}\,=\{\meta{char\_code},\meta{penalty}\}$^\ast$] [\cs{prebreakpenalty}]\ %<*ja> -æ–‡å—コード<chr\_code>ã®\textbf{JAchar}ãŒè¡Œé ã«ãã‚‹ã“ã¨ã‚’抑æ¢ã™ã‚‹ãŸã‚ã«ï¼Œ +æ–‡å—コード\meta{char\_code}ã®\textbf{JAchar}ãŒè¡Œé ã«ãã‚‹ã“ã¨ã‚’抑æ¢ã™ã‚‹ãŸã‚ã«ï¼Œ ã“ã®æ–‡å—ã®å‰ã«æŒ¿å…¥/è¿½åŠ ã•ã‚Œã‚‹ãƒšãƒŠãƒ«ãƒ†ã‚£ã®é‡ã‚’指定ã™ã‚‹ï¼Ž 例ãˆã°é–‰ã˜æ‹¬å¼§ã€Œã€—ã€ã¯çµ¶å¯¾ã«è¡Œé ã«ãã¦ã¯ãªã‚‰ãªã„ã®ã§ï¼Œ @@ -5565,7 +5559,7 @@ At version~20120506.0 or later, the lowermost bit of <natural number> indicates ã¨ã„ã†åˆ¶é™ãŒã‚ã£ãŸãŒï¼Œ\LuaTeX-jaã§ã¯ã“れらã®åˆ¶é™ã¯è§£æ¶ˆã•ã‚Œã¦ã„る. %</ja> %<*en> -Set a penalty which is inserted automatically before the character <chr\_code>, +Set a penalty which is inserted automatically before the character \meta{char\_code}, to prevent a line starts from this character. For example, a line cannot started with one of closing brackets ``〗'', so \LuaTeX-ja sets \begin{lstlisting} @@ -5582,42 +5576,42 @@ for the same character. \end{itemize} %</en> -\item[\DParam{postbreakpenalty}\,=\{<chr\_code>,<penalty>\}$^\ast$] +\item[\DParam{postbreakpenalty}\,=\{\meta{char\_code},\meta{penalty}\}$^\ast$] [\cs{postbreakpenalty}]\ %<*ja> -æ–‡å—コード<chr\_code>ã®\textbf{JAchar}ãŒè¡Œæœ«ã«ãã‚‹ã“ã¨ã‚’抑æ¢ã™ã‚‹ãŸã‚ã«ï¼Œ +æ–‡å—コード\meta{char\_code}ã®\textbf{JAchar}ãŒè¡Œæœ«ã«ãã‚‹ã“ã¨ã‚’抑æ¢ã™ã‚‹ãŸã‚ã«ï¼Œ ã“ã®æ–‡å—ã®å¾Œã«æŒ¿å…¥/è¿½åŠ ã•ã‚Œã‚‹ãƒšãƒŠãƒ«ãƒ†ã‚£ã®é‡ã‚’指定ã™ã‚‹ï¼Ž %</ja> %<*en> -Set a penalty which is inserted automatically after the character <chr\_code>, +Set a penalty which is inserted automatically after the character \meta{char\_code}, to prevent a line ends with this character. %</en> -\item[\DParam{jatextfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$] +\item[\DParam{jatextfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$] %<en>[\cs{textfont} in \TeX] %<ja>[\TeX ã® \cs{textfont}] -\item[\DParam{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$] +\item[\DParam{jascriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$] %<en>[\cs{scriptfont} in \TeX] %<ja>[\TeX ã® \cs{scriptfont}] -\item[\DParam{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$] +\item[\DParam{jascriptscriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$] %<en>[\cs{scriptscriptfont} in \TeX] %<ja>[\TeX ã® \cs{scriptscriptfont}] -\item[\DParam{yjabaselineshift}\,=<dimen>]\ -\item[\DParam{yalbaselineshift}\,=<dimen>] [\cs{ybaselineshift}] -\item[\DParam{tjabaselineshift}\,=<dimen>]\ -\item[\DParam{talbaselineshift}\,=<dimen>] [\cs{tbaselineshift}] +\item[\DParam{yjabaselineshift}\,=\meta{dimen}]\ +\item[\DParam{yalbaselineshift}\,=\meta{dimen}] [\cs{ybaselineshift}] +\item[\DParam{tjabaselineshift}\,=\meta{dimen}]\ +\item[\DParam{talbaselineshift}\,=\meta{dimen}] [\cs{tbaselineshift}] -\item[\DParam{jaxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$]\ +\item[\DParam{jaxspmode}\,=\{\meta{char\_code},\meta{mode}\}$^\ast$]\ %<*en> -Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>. -The followings are allowed for <mode>: +Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is \meta{char\_code}. +The followings are allowed for \meta{mode}: %</en> %<*ja> -æ–‡å—コードãŒ<chr\_code>ã®\textbf{JAchar}ã®å‰ï¼å¾Œã‚ã«\Param{xkanjiskip}ã® +æ–‡å—コードãŒ\meta{char\_code}ã®\textbf{JAchar}ã®å‰ï¼å¾Œã‚ã«\Param{xkanjiskip}㮠挿入を許ã™ã‹ã©ã†ã‹ã®è¨å®šï¼Ž -以下ã®<mode>ãŒè¨±ã•ã‚Œã‚‹ï¼š +以下ã®\meta{mode}ãŒè¨±ã•ã‚Œã‚‹ï¼š %</ja> \begin{description} %<en>\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character. @@ -5636,17 +5630,17 @@ This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not ã“ã®ãƒ‘ラメータã¯\pTeX ã® \cs{inhibitxspcode} プリミティブã¨ä¼¼ã¦ã„ã‚‹ãŒï¼Œ 互æ›æ€§ã¯ãªã„. %</ja> -\item[\DParam{alxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$] [\cs{xspcode}]\ +\item[\DParam{alxspmode}\,=\{\meta{char\_code},\meta{mode}\}$^\ast$] [\cs{xspcode}]\ %<*en> Set whether inserting \Param{xkanjiskip} is allowed before/after a - \textbf{ALchar} whose character code is <chr\_code>. - The followings are allowed for <mode>: + \textbf{ALchar} whose character code is \meta{char\_code}. + The followings are allowed for \meta{mode}: %</en> %<*ja> -æ–‡å—コードãŒ<chr\_code>ã®\textbf{ALchar}ã®å‰ï¼å¾Œã‚ã«\Param{xkanjiskip}ã® +æ–‡å—コードãŒ\meta{char\_code}ã®\textbf{ALchar}ã®å‰ï¼å¾Œã‚ã«\Param{xkanjiskip}㮠挿入を許ã™ã‹ã©ã†ã‹ã®è¨å®šï¼Ž -以下ã®<mode>ãŒè¨±ã•ã‚Œã‚‹ï¼š +以下ã®\meta{mode}ãŒè¨±ã•ã‚Œã‚‹ï¼š %</ja> \begin{description} %<en>\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character. @@ -5666,9 +5660,9 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl ã“れら2ã¤ã®ãƒ‘ラメータã¯äº’ã„ã®åˆ¥åã¨ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã™ã‚‹ï¼Ž %</ja> -\item[\DParam{autospacing}\,=<bool>] [\cs{autospacing}] -\item[\DParam{autoxspacing}\,=<bool>] [\cs{autoxspacing}] -\item[\DParam{kanjiskip}\,=<skip>$^\ast$] [\cs{kanjiskip}]\ +\item[\DParam{autospacing}\,=\meta{bool}] [\cs{autospacing}] +\item[\DParam{autoxspacing}\,=\meta{bool}] [\cs{autoxspacing}] +\item[\DParam{kanjiskip}\,=\meta{skip}$^\ast$] [\cs{kanjiskip}]\ %<*ja> デフォルトã§2ã¤ã®\textbf{JAchar}ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã§ã‚る. @@ -5684,7 +5678,7 @@ If the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec:jfm-str}). %</en> -\item[\DParam{xkanjiskip}\,=<skip>$^\ast$] [\cs{xkanjiskip}]\ +\item[\DParam{xkanjiskip}\,=\meta{skip}$^\ast$] [\cs{xkanjiskip}]\ %<*ja> デフォルトã§\textbf{JAchar}ã¨\textbf{ALchar}ã®é–“ã«æŒ¿å…¥ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ã§ã‚る. @@ -5701,7 +5695,7 @@ the value which is specified in the JFM for current Japanese font (See Subsectio %</en> -\item[\DParam{differentjfm}\,=<mode>$^\dagger$]\ +\item[\DParam{differentjfm}\,=\meta{mode}$^\dagger$]\ %<*en> Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different. @@ -5729,22 +5723,22 @@ The default value is \texttt{paverage}. \dots å„々ã®å€¤ã«ã‚ˆã‚‹å·®ç•°ã®è©³ç´°ã¯\ref{ssec:cluster-wa}節ã®ã€Œã€Žå³ç©ºç™½ã€ã®ç®—出ã€ã‚’å‚ç…§ã—ã¦ã»ã—ã„. %</ja> -\item[\DParam{jacharrange}\,=<ranges>] -\item[\DParam{kansujichar}\,=\{<digit>, <chr\_code>\}$^\ast$] [\cs{kansujichar}] +\item[\DParam{jacharrange}\,=\meta{ranges}] +\item[\DParam{kansujichar}\,=\{\meta{digit}, \meta{char\_code}\}$^\ast$] [\cs{kansujichar}] -\item[\DParam{direction}\,=<dir>\ \hbox{\normalfont\rmfamily (always local)}]\ +\item[\DParam{direction}\,=\meta{dir}\ \hbox{\normalfont\rmfamily (always local)}]\ %<*en> Assigning to this parameter has the same effect as -\cs{yoko}~(if $\hbox{<dir>}=4$), \cs{tate}~(if $\hbox{<dir>}=3$), -\cs{dtou}~(if $\hbox{<dir>}=1$) or \cs{utod}~(if $\hbox{<dir>}=11$). -If the argument <dir> is not one of 4,~3, 1~nor~11, +\cs{yoko}~(if $\hbox{\meta{dir}}=4$), \cs{tate}~(if $\hbox{\meta{dir}}=3$), +\cs{dtou}~(if $\hbox{\meta{dir}}=1$) or \cs{utod}~(if $\hbox{\meta{dir}}=11$). +If the argument \meta{dir} is not one of 4,~3, 1~nor~11, the behavior of this assignment is undefined. %</en> %<*ja> -組方å‘を変更ã™ã‚‹ \cs{yoko}~(if $\hbox{<dir>}=4$), \cs{tate}~(if $\hbox{<dir>}=3$), -\cs{dtou}~(if $\hbox{<dir>}=1$), \cs{utod}~(if $\hbox{<dir>}=11$) ã¨åŒã˜å½¹å‰²ã‚’æŒã¤ï¼Ž -利用å¯èƒ½ãªçŠ¶æ³ã‚‚ã“れら4命令ã¨åŒä¸€ã§ã‚る.引数<dir>ãŒ4,~3, 1,~11ã®ã„ãšã‚Œã§ã‚‚ç„¡ã„ã¨ãã® +組方å‘を変更ã™ã‚‹ \cs{yoko}~(if $\hbox{\meta{dir}}=4$), \cs{tate}~(if $\hbox{\meta{dir}}=3$), +\cs{dtou}~(if $\hbox{\meta{dir}}=1$), \cs{utod}~(if $\hbox{\meta{dir}}=11$) ã¨åŒã˜å½¹å‰²ã‚’æŒã¤ï¼Ž +利用å¯èƒ½ãªçŠ¶æ³ã‚‚ã“れら4命令ã¨åŒä¸€ã§ã‚る.引数\meta{dir}ãŒ4,~3, 1,~11ã®ã„ãšã‚Œã§ã‚‚ç„¡ã„ã¨ã㮠動作ã¯æœªå®šç¾©ã§ã‚る. %</ja> @@ -5829,27 +5823,27 @@ returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc. \item %<*en> -\verb+\ltjgetparameter{jacharrange}{+<range>\verb+}+ returns \texttt{0} -if ``characters which belong to the character range~<range> are \textbf{JAchar}'', +\verb+\ltjgetparameter{jacharrange}{+\meta{range}\verb+}+ returns \texttt{0} +if ``characters which belong to the character range~\meta{range} are \textbf{JAchar}'', \texttt{1} if ``\dots~are \textbf{ALchar}''. -Although there is no character range~$-1$, specifying $-1$ to <range> does not cause an +Although there is no character range~$-1$, specifying $-1$ to \meta{range} does not cause an error (returns 1). %</en> %<*ja> -\verb+\ltjgetparameter{jacharrange}{+<range>\verb+}+ ã¯ï¼Œ<range>ãŒ\textbf{JAchar}é”ã® -範囲ãªã‚‰ã°0を,ãã†ã§ãªã‘ã‚Œã°1ã‚’è¿”ã™ï¼Žã€Œ$-1$番ã®æ–‡å—範囲ã€ã¯å˜åœ¨ã—ãªã„ãŒï¼Œ<range>ã«$-1$ã‚’ +\verb+\ltjgetparameter{jacharrange}{+\meta{range}\verb+}+ ã¯ï¼Œ\meta{range}ãŒ\textbf{JAchar}é”ã® +範囲ãªã‚‰ã°0を,ãã†ã§ãªã‘ã‚Œã°1ã‚’è¿”ã™ï¼Žã€Œ$-1$番ã®æ–‡å—範囲ã€ã¯å˜åœ¨ã—ãªã„ãŒï¼Œ\meta{range}ã«$-1$ã‚’ 指定ã—ã¦ã‚‚エラーã¯ç™ºç”Ÿã—ãªã„(1ã‚’è¿”ã™ï¼‰ï¼Ž %</ja> \item %<*en> -For an integer~<digit> between 0~and~9, - \verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ returns the character code -of the result of \cs{kansuji}<digit>. +For an integer~\meta{digit} between 0~and~9, + \verb+\ltjgetparameter{kansujichar}{+\meta{digit}\verb+}+ returns the character code +of the result of \cs{kansuji}\meta{digit}. %</en> %<*ja> -0--9ã®æ•°<digit>ã«å¯¾ã—ã¦ï¼Œ -\verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ ã¯ï¼Œ\cs{kansuji}<digit>ã§å‡ºåŠ›ã•ã‚Œ +0--9ã®æ•°\meta{digit}ã«å¯¾ã—ã¦ï¼Œ +\verb+\ltjgetparameter{kansujichar}{+\meta{digit}\verb+}+ ã¯ï¼Œ\cs{kansuji}\meta{digit}ã§å‡ºåŠ›ã•ã‚Œ ã‚‹æ–‡å—ã®æ–‡å—コードを返ã™ï¼Ž %</ja> @@ -5870,13 +5864,13 @@ and 4 means \emph{yoko} direction (horizontal typesetting). \item %<*en> -For an integer~<reg\_num> between 0~and~65535, -\verb+\ltjgetparameter{boxdir}{+<reg\_num>\verb+}+ returns the direction of -\cs{box}<reg\_num>. If this box register is void, the returned value is zero. +For an integer~\meta{register} between 0~and~65535, +\verb+\ltjgetparameter{boxdir}{+\meta{register}\verb+}+ returns the direction of +\cs{box}\meta{register}. If this box register is void, the returned value is zero. %</en> %<*ja> -0--65535ã®æ•°<reg\_num>ã«å¯¾ã—ã¦ï¼Œ -\verb+\ltjgetparameter{boxdir}{+<reg\_num>\verb+}+ ã¯ï¼Œ\cs{box}<reg\_num>ã« +0--65535ã®æ•°\meta{register}ã«å¯¾ã—ã¦ï¼Œ +\verb+\ltjgetparameter{boxdir}{+\meta{register}\verb+}+ ã¯ï¼Œ\cs{box}\meta{register}ã« æ ¼ç´ã•ã‚Œã¦ã„るボックスã®çµ„æ–¹å‘を表ã™ï¼Žã‚‚ã—ã“ã®ãƒ¬ã‚¸ã‚¹ã‚¿ãŒç©ºã®å ´åˆã¯ï¼Œ0ãŒè¿”ã•ã‚Œã‚‹ï¼Ž %</ja> @@ -5894,31 +5888,31 @@ jatextfont, jascriptfont, jascriptscriptfont, jacharrange \item %<*en> -\verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ returns -the range number which <chr\_code> belongs to +\verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ returns +the range number which \meta{char\_code} belongs to (although there is no parameter named ``chartorange''). -If <chr\_code> is between 0 and 127, this <chr\_code> does not belong to +If \meta{char\_code} is between 0 and 127, this \meta{char\_code} does not belong to any character range. In this case, - \verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ + \verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ returns $-1$. -Hence, one can know whether <chr\_code> is \textbf{JAchar} or not +Hence, one can know whether \meta{char\_code} is \textbf{JAchar} or not by the following: %</en> %<*ja> -\verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ ã«ã‚ˆã£ã¦ -<chr\_code>ã®å±žã™ã‚‹æ–‡å—範囲ã®ç•ªå·ã‚’知るã“ã¨ãŒã§ãる. +\verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ ã«ã‚ˆã£ã¦ +\meta{char\_code}ã®å±žã™ã‚‹æ–‡å—範囲ã®ç•ªå·ã‚’知るã“ã¨ãŒã§ãる. -<chr\_code>ã«0--127ã®å€¤ã‚’指定ã—ãŸå ´åˆï¼ˆã“ã®ã¨ã,<chr\_code>ãŒå±žã™ã‚‹ +\meta{char\_code}ã«0--127ã®å€¤ã‚’指定ã—ãŸå ´åˆï¼ˆã“ã®ã¨ã,\meta{char\_code}ãŒå±žã™ã‚‹ æ–‡å—範囲ã¯å˜åœ¨ã—ãªã„)ã¯$-1$ãŒè¿”る. -ãã®ãŸã‚,<chr\_code>ãŒ\textbf{JAchar}ã‹\textbf{ALchar}ã‹ã¯ +ãã®ãŸã‚,\meta{char\_code}ãŒ\textbf{JAchar}ã‹\textbf{ALchar}ã‹ã¯ 次ã§çŸ¥ã‚‹ã“ã¨ãŒã§ãる: %</ja> \begin{quote} \ttfamily \verb+\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{+% - <chr\_code>\verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+ + \meta{char\_code}\verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+ \end{quote} %<*en> @@ -6059,44 +6053,6 @@ that is, without executing \cs{ltj@setpar@global} in advance, is \emph{not} supp \cs{ltj@setpar@global}ã‚’ç›´å‰ã«å®Ÿè¡Œã›ãšï¼Œå˜ç‹¬ã§ \cs{ltjsetkanjiskip}, \cs{ltjsetxkanjiskip}を実行ã™ã‚‹ã“ã¨ã¯æƒ³å®šã•ã‚Œã¦ã„ãªã„ã®ã§æ³¨æ„. - - -\paragraph{ベースライン補æ£é‡ã®è¨å®š} -\pLaTeX ã®\Pkg{ascmac}パッケージã§ã¯ï¼Œç¸¦çµ„ã®æ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ£é‡ã®ä¸€æ™‚å¾…é¿ãƒ»å¾©å¸°å‡¦ç†ã« -\ \cs{@saveybaselineshift}\ ã¨ã„ã†å¯¸æ³•ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’用ㄠ-\begin{lstlisting} -\@savetbaselineshift\tbaselineshift\tbaselineshift\z@ -... -\tbaselineshift\@savetbaselineshift -\end{lstlisting} -ã¨ã„ã†å‡¦ç†ã‚’è¡Œã£ã¦ã„る. - -ã“れを\LuaTeX-ja 用㫠\cs{ltjsetparameter} を使ã£ã¦æ›¸ãç›´ã™ã¨ï¼Œ -\begin{lstlisting} -\@savetbaselineshift\ltjgetparameter{talbaselineshift} -\ltjsetparameter{talbaselineshift=\z@} -... -\ltjsetparameter{talbaselineshift=\@savetbaselineshift} -\end{lstlisting} -ã¨ãªã‚‹ï¼Ž - -ã•ã¦ï¼Œç¸¦çµ„ã®æ¬§æ–‡ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³è£œæ£é‡\Param{talbaselineshift}ã¯ï¼Œ -実際ã«ã¯ \cs{ltj@tablshift} ã¨ã„ã†å±žæ€§ãƒ¬ã‚¸ã‚¹ã‚¿ã«æ ¼ç´ã•ã‚Œã¦ã„ã‚‹ -(\ref{sec-para}\nobreak 節å‚照).属性レジスタã¯é•·ã•ã§ã¯ãªãæ•´æ•°å€¤ã‚’æ ¼ç´ã™ã‚‹\footnote{% - 従ã£ã¦ï¼Œ\texttt{\textbackslash @savetbaselineshift=\textbackslash ltj@tablshift}\ - ã®ã‚ˆã†ã«è¨˜è¿°ã™ã‚‹ã“ã¨ã¯ã§ããªã„.属性レジスタを \cs{tbaselineshift} ã¨ã„ã†å称ã«ã—ãªã‹ã£ - ãŸã®ã¯ãã®ãŸã‚ã§ã‚る. -}ã‚‚ã®ã§ã‚り,\cs{ltj@tablshift} ã¯è£œæ£é‡ã‚’ sp å˜ä½ã§ä¿æŒã™ã‚‹ã“ã¨ã‹ã‚‰ï¼Œ -上記ã®ã‚³ãƒ¼ãƒ‰ã¨åŒã˜å†…容をより速ã„以下ã®ã‚³ãƒ¼ãƒ‰ã§å®Ÿç¾ã™ã‚‹ã“ã¨ãŒã§ãる. -\begin{lstlisting} -\@savetbaselineshift\ltj@tablshift sp% -\ltj@tablshift\z@ -... -\ltj@tablshift\@savetbaselineshift -\end{lstlisting} -ã“ã®æ‰‹æ³•ã¯ \Pkg{ascmac} パッケージã®\LuaTeX-ja対応パッム\Pkg{lltjp-tascmac.sty} 㧠-実際ã«ç”¨ã„られã¦ã„る.\Pkg{lltjp-tascmac.sty} ã¯è‡ªå‹•çš„ã«èªã¿è¾¼ã¾ã‚Œã‚‹ã®ã§ï¼Œ -ユーザã¯ä½•ã‚‚æ°—ã«ã›ãšæ™®é€šã« \Pkg{ascmac} パッケージを \cs{usepackage} ã§èªã¿ã“ã‚ã°è‰¯ã„. %</ja> @@ -6376,17 +6332,17 @@ Note that any shorthand form of \cs{insert}[\texttt{x}]\texttt{kanjiskip} are no Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts. This \cs{ltjdeclarealtfont} uses in the following form: \begin{quote} -\ttfamily \textbackslash ltjdeclarealtfont<base\_font\_cs><alt\_font\_cs>\{<range>\} +\ttfamily \textbackslash ltjdeclarealtfont\meta{base\_font\_cs}\meta{alt\_font\_cs}\{\meta{range}\} \end{quote} -where <base\_font\_cs>~and~<alt\_font\_cs> are defined by \cs{jfont}. +where \meta{base\_font\_cs}~and~\meta{alt\_font\_cs} are defined by \cs{jfont}. Its meaning is \begin{quote} -If the current Japanese font is <base\_font\_cs>, characters which belong to <range> -is typeset by another Japanese font <alt\_font\_cs>, instead of <base\_font\_cs>. +If the current Japanese font is \meta{base\_font\_cs}, characters which belong to \meta{range} +is typeset by another Japanese font \meta{alt\_font\_cs}, instead of \meta{base\_font\_cs}. \end{quote} -Here <range> is a comma-separated list of character codes, but also accepts negative integers: +Here \meta{range} is a comma-separated list of character codes, but also accepts negative integers: $-n$~($n≥1$) means that all characters of character classes~$n$, with respect to JFM used -by <base\_font\_cs>. Note that characters which do not exist in <alt\_font\_cs> are +by \meta{base\_font\_cs}. Note that characters which do not exist in \meta{alt\_font\_cs} are ignored. For example, if \cs{hoge} uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja, @@ -6411,18 +6367,18 @@ because simple ``\texttt{-1}'' is treated as the range between 0~and~1. \cs{ltjdeclarealtfont} ã¯ä»¥ä¸‹ã®æ›¸å¼ã§ä½¿ç”¨ã™ã‚‹ï¼š \begin{quote} -\ttfamily \textbackslash ltjdeclarealtfont<base\_font\_cs><alt\_font\_cs>\{<range>\} +\ttfamily \textbackslash ltjdeclarealtfont\meta{base\_font\_cs}\meta{alt\_font\_cs}\{\meta{range}\} \end{quote} -ã“ã‚Œã¯ã€Œç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã€ãŒ<base\_font\_cs>ã§ã‚ã‚‹ã¨ã, -<range>ã«å±žã™ã‚‹æ–‡å—ã¯<alt\_font\_cs>を用ã„ã¦çµ„版ã•ã‚Œã‚‹ï¼Œã¨ã„ã†æ„味ã§ã‚る. +ã“ã‚Œã¯ã€Œç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã€ãŒ\meta{base\_font\_cs}ã§ã‚ã‚‹ã¨ã, +\meta{range}ã«å±žã™ã‚‹æ–‡å—ã¯\meta{alt\_font\_cs}を用ã„ã¦çµ„版ã•ã‚Œã‚‹ï¼Œã¨ã„ã†æ„味ã§ã‚る. \begin{itemize} - \item <base\_font\_cs>, <alt\_font\_cs>㯠+ \item \meta{base\_font\_cs}, \meta{alt\_font\_cs}㯠\cs{jfont} ã«ã‚ˆã£ã¦å®šç¾©ã•ã‚ŒãŸå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§ã‚る. - \item <range>ã¯æ–‡å—コードã®ç¯„囲を表ã™ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ãŒï¼Œ - 例外ã¨ã—ã¦è² æ•°$-n$ã¯ã€Œ<base\_font\_cs>ã®JFMã®æ–‡å—クラス$n$ã«å±žã™ã‚‹å…¨ã¦ã®æ–‡å—〠+ \item \meta{range}ã¯æ–‡å—コードã®ç¯„囲を表ã™ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šã®ãƒªã‚¹ãƒˆã§ã‚ã‚‹ãŒï¼Œ + 例外ã¨ã—ã¦è² æ•°$-n$ã¯ã€Œ\meta{base\_font\_cs}ã®JFMã®æ–‡å—クラス$n$ã«å±žã™ã‚‹å…¨ã¦ã®æ–‡å—〠をæ„味ã™ã‚‹ï¼Ž -<range>ä¸ã«<alt\_font\_cs>ä¸ã«å®Ÿéš›ã«ã¯å˜åœ¨ã—ãªã„æ–‡å—ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ï¼Œ +\meta{range}ä¸ã«\meta{alt\_font\_cs}ä¸ã«å®Ÿéš›ã«ã¯å˜åœ¨ã—ãªã„æ–‡å—ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ï¼Œ ãã®æ–‡å—ã«å¯¾ã™ã‚‹è¨å®šã¯ç„¡è¦–ã•ã‚Œã‚‹ï¼Ž \end{itemize} @@ -6441,17 +6397,17 @@ because simple ``\texttt{-1}'' is treated as the range between 0~and~1. %<*ja> \subsection{\cs{ltjalchar} 㨠\cs{ltjjachar}} -æ–‡å—コードãŒ$\text{<chr\_code>}~(\geq 128=\mathtt{0x80})$ã®æ–‡å—ã‚’ -\ \cs{char} プリミティブを使ㄠ\cs{char}<chr\_code> ã¨ã—ã¦å‡ºåŠ›ã•ã›ã‚‹ã¨ï¼Œ +æ–‡å—コードãŒ$\text{\meta{char\_code}}~(\geq 128=\mathtt{0x80})$ã®æ–‡å—ã‚’ +\ \cs{char} プリミティブを使ㄠ\cs{char}\meta{char\_code} ã¨ã—ã¦å‡ºåŠ›ã•ã›ã‚‹ã¨ï¼Œ ãã®æ–‡å—ã®å±žã™ã‚‹æ–‡å—範囲(\ref{ssec:setrange}節å‚照)ã«ã‚ˆã£ã¦ \textbf{ALchar}ã‹\textbf{JAchar}ã‹ï¼Œã¤ã¾ã‚Šæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã§å‡ºåŠ›ã•ã‚Œã‚‹ã‹å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã§å‡ºåŠ›ã•ã‚Œ ã‚‹ã‹ãŒæ±ºã¾ã‚‹ï¼Ž -æ–‡å—範囲ã®è¨å®šã‚’無視ã—,文å—コードãŒ<chr\_code>ã®æ–‡å—を強制的㫠+æ–‡å—範囲ã®è¨å®šã‚’無視ã—,文å—コードãŒ\meta{char\_code}ã®æ–‡å—を強制的㫠\textbf{ALchar}, \textbf{JAchar}ã§å‡ºåŠ›ã™ã‚‹å‘½ä»¤ãŒãã‚Œãžã‚Œ \ \cs{ltjalchar},~\cs{ltjjachar} ã§ã‚る.使用方法㯠\cs{char} ã¨åŒã˜ã -\ \cs{ltjalchar}<chr\_code>, \cs{ltjjachar}<chr\_code>ã¨ã™ã‚Œã°ã‚ˆã„. -\LuaTeX-ja~20190926.0ã‹ã‚‰ï¼Œ<chr\_code>ãŒ127以下ã®å ´åˆã§ã‚‚\cs{ltjjachar}<chr\_code>㌠+\ \cs{ltjalchar}\meta{char\_code}, \cs{ltjjachar}\meta{char\_code}ã¨ã™ã‚Œã°ã‚ˆã„. +\LuaTeX-ja~20190926.0ã‹ã‚‰ï¼Œ\meta{char\_code}ãŒ127以下ã®å ´åˆã§ã‚‚\cs{ltjjachar}\meta{char\_code}㌠\textbf{JAchar}ã¨ã—ã¦å‡ºåŠ›ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã£ã¦ã„る. 以下ã¯\ref{ssec:setrange}節ã«è¼‰ã›ãŸä¾‹ã«ï¼Œ\cs{char} ã®å‹•ä½œãªã©ã‚’è¿½åŠ ã—ãŸã‚‚ã®ã§ã‚る. @@ -6594,10 +6550,10 @@ but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM. %</en> -\item[\cs{DeclareYokoKanjiEncoding}\{<encoding>\}\{<text-settings>\}\{<math-settings>\}] +\item[\cs{DeclareYokoKanjiEncoding}\{\meta{encoding}\}\{\meta{text-settings}\}\{\meta{math-settings}\}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] -\item[\cs{DeclareTateKanjiEncoding}\{<encoding>\}\{<text-settings>\}\{<math-settings>\}] +\item[\cs{DeclareTateKanjiEncoding}\{\meta{encoding}\}\{\meta{text-settings}\}\{\meta{math-settings}\}] %<*en> In NFSS2 under \LuaTeX-ja, distinction between alphabetic fonts @@ -6616,13 +6572,13 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic fonts ãã‚Œãžã‚Œå®šç¾©ã™ã‚‹ï¼Ž %</ja> -\item[\cs{DeclareKanjiEncodingDefaults}\{<text-settings>\}\{<math-settings>\}] +\item[\cs{DeclareKanjiEncodingDefaults}\{\meta{text-settings}\}\{\meta{math-settings}\}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] -\item[\cs{DeclareKanjiSubstitution}\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}] +\item[\cs{DeclareKanjiSubstitution}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] -\item[\cs{DeclareErrorKanjiFont}\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}\{<size>\}] +\item[\cs{DeclareErrorKanjiFont}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}\{\meta{size}\}] %<*en> The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others. @@ -6631,34 +6587,34 @@ The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaul 上記3ã¤ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã¡ã‚‡ã†ã©NFSS2 ã® \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿œã™ã‚‹ã‚‚ã®ã§ã‚る. %</ja> -\item[\cs{reDeclareMathAlphabet}\{<unified-cmd>\}\{<al-cmd>\}\{<ja-cmd>\}] +\item[\cs{reDeclareMathAlphabet}\{\meta{unified-cmd}\}\{\meta{al-cmd}\}\{\meta{ja-cmd}\}] % ToDo: en %<*ja> 和文・欧文ã®æ•°å¼ç”¨ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’一度ã«å¤‰æ›´ã™ã‚‹å‘½ä»¤ã‚’作æˆã™ã‚‹ï¼Ž -具体的ã«ã¯ï¼Œæ¬§æ–‡æ•°å¼ç”¨ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªå¤‰æ›´ã®å‘½ä»¤<al-cmd>(\cs{mathrm} ç‰ï¼‰ã¨ï¼Œå’Œæ–‡æ•°å¼ç”¨ãƒ•ã‚© - ントファミリ変更ã®å‘½ä»¤<ja-cmd>(\cs{mathmc} ç‰ï¼‰ã®2ã¤ã‚’åŒæ™‚ã«è¡Œã†å‘½ä»¤ã¨ã—㦠- <unified-cmd>を(å†ï¼‰å®šç¾©ã™ã‚‹ï¼Žå®Ÿéš›ã®ä½¿ç”¨ã§ã¯<unified-cmd>㨠- <al-cmd>ã«åŒã˜ã‚‚ã®ã‚’指定ã™ã‚‹ï¼Œã™ãªã‚ã¡ï¼Œ<al-cmd>ã§å’Œæ–‡å´ã‚‚変 +具体的ã«ã¯ï¼Œæ¬§æ–‡æ•°å¼ç”¨ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªå¤‰æ›´ã®å‘½ä»¤\meta{al-cmd}(\cs{mathrm} ç‰ï¼‰ã¨ï¼Œå’Œæ–‡æ•°å¼ç”¨ãƒ•ã‚© + ントファミリ変更ã®å‘½ä»¤\meta{ja-cmd}(\cs{mathmc} ç‰ï¼‰ã®2ã¤ã‚’åŒæ™‚ã«è¡Œã†å‘½ä»¤ã¨ã—㦠+ \meta{unified-cmd}を(å†ï¼‰å®šç¾©ã™ã‚‹ï¼Žå®Ÿéš›ã®ä½¿ç”¨ã§ã¯\meta{unified-cmd}㨠+ \meta{al-cmd}ã«åŒã˜ã‚‚ã®ã‚’指定ã™ã‚‹ï¼Œã™ãªã‚ã¡ï¼Œ\meta{al-cmd}ã§å’Œæ–‡å´ã‚‚変 æ›´ã•ã›ã‚‹ã‚ˆã†ã«ã™ã‚‹ã®ãŒä¸€èˆ¬çš„ã¨æ€ã‚れる. 本命令㯠\begin{center} -<unified-cmd>\texttt{\{}<arg>\texttt{\}}\quad$\longrightarrow$\quad -(<al-cmd>ã®1段展開çµæžœ)\texttt{\{}<ja-cmd>ã®1段展開çµæžœ)\texttt{\{<arg>\}\}} +\meta{unified-cmd}\texttt{\{}\meta{arg}\texttt{\}}\quad$\longrightarrow$\quad +(\meta{al-cmd}ã®1段展開çµæžœ)\texttt{\{}\meta{ja-cmd}ã®1段展開çµæžœ)\texttt{\{\meta{arg}\}\}} \end{center} ã¨å®šç¾©ã‚’è¡Œã†ã®ã§ï¼Œä½¿ç”¨ã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã‚る: %<en>\vspace{-\medskipamount} \begin{itemize} -\item <al-cmd>,~<ja-cmd>ã¯æ—¢ã«å®šç¾©ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„. +\item \meta{al-cmd},~\meta{ja-cmd}ã¯æ—¢ã«å®šç¾©ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚‰ãªã„. \cs{reDeclareMathAlphabet}\\ã®å¾Œã« -両命令ã®å†…容をå†å®šç¾©ã—ã¦ã‚‚,<unified-cmd>ã®å†…容ã«ãã‚Œã¯åæ˜ ã•ã‚Œãªã„. -\item <al-cmd>,~<ja-cmd>ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ã‚’ã¤ã‘ãŸå‘½ä»¤ã‚’指定ã—ãŸæ™‚ã®å‹•ä½œã¯ä¿è¨¼ã§ããªã„. +両命令ã®å†…容をå†å®šç¾©ã—ã¦ã‚‚,\meta{unified-cmd}ã®å†…容ã«ãã‚Œã¯åæ˜ ã•ã‚Œãªã„. +\item \meta{al-cmd},~\meta{ja-cmd}ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ã‚’ã¤ã‘ãŸå‘½ä»¤ã‚’指定ã—ãŸæ™‚ã®å‹•ä½œã¯ä¿è¨¼ã§ããªã„. \end{itemize} %</ja> -\item[\cs{DeclareRelationFont}\{<ja-encoding>\}\{<ja-family>\}\{<ja-series>\}\{<ja-shape>\}\\* - \null\hfill\{<al-encoding>\}\{<al-family>\}\{<al-series>\}\{<al-shape>\}] +\item[\cs{DeclareRelationFont}\{\meta{ja-encoding}\}\{\meta{ja-family}\}\{\meta{ja-series}\}\{\meta{ja-shape}\}\\* + \null\hfill\{\meta{al-encoding}\}\{\meta{al-family}\}\{\meta{al-series}\}\{\meta{al-shape}\}] %<*en> This command sets the ``accompanied'' alphabetic font (given by the latter 4~arguments) with respect to a Japanese font given by the former 4~arguments. @@ -6733,17 +6689,17 @@ In \LuaTeX-ja, this \cs{adjustbaseline} does similar task, namely setting the è¨å®šå‡¦ç†ã‚‚è¡Œã£ã¦ã„ãŸãŒï¼Œ\LuaTeX-jaã§ã‚‚å…¨ãåŒæ§˜ã§ã‚る. %</ja> -\item[\cs{fontfamily}\{<family>\}] +\item[\cs{fontfamily}\{\meta{family}\}] %<*en> As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both}) -to <family>. See Subsection~\ref{ssec:fontfamilycmd} for detail. +to \meta{family}. See Subsection~\ref{ssec:fontfamilycmd} for detail. %</en> %<*ja> 元々ã®\LaTeXe ã«ãŠã‘ã‚‹ã‚‚ã®ã¨åŒæ§˜ã«ï¼Œã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨ã®ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªï¼ˆæ¬§æ–‡ï¼Œ -和文,\emph{ã‚‚ã—ãã¯ä¸¡æ–¹})を<family>ã«å¤‰æ›´ã™ã‚‹ï¼Žè©³ç´°ã¯\ref{ssec:fontfamilycmd}節をå‚ç…§ã™ã‚‹ã“ã¨ï¼Ž +和文,\emph{ã‚‚ã—ãã¯ä¸¡æ–¹})を\meta{family}ã«å¤‰æ›´ã™ã‚‹ï¼Žè©³ç´°ã¯\ref{ssec:fontfamilycmd}節をå‚ç…§ã™ã‚‹ã“ã¨ï¼Ž %</ja> -\item[\cs{fontshape}\{<shape>\}\textrm{, }\cs{fontshapeforce}\{<shape>\}] +\item[\cs{fontshape}\{\meta{shape}\}\textrm{, }\cs{fontshapeforce}\{\meta{shape}\}] %<*en> As in \LaTeXe, this command changes current alphabetic font shape according to shape change rules. @@ -6758,8 +6714,8 @@ when \cs{itshape} is called, because almost all Japanese fonts only have shape ``\texttt{n}'', and \cs{itshape} calls \cs{fontshape}. \LuaTeX-ja~20200323.0 change the behavior. Namely, -\cs{fontshape\{<shape>\}}~and~\cs{fontshapeforce\{<shape>\}} change current Japanese font shape, only if -the required shape (according to shape changing rules) or <shape> is avaliable in current Japanese font family/series. +\cs{fontshape\{\meta{shape}\}}~and~\cs{fontshapeforce\{\meta{shape}\}} change current Japanese font shape, only if +the required shape (according to shape changing rules) or \meta{shape} is avaliable in current Japanese font family/series. When this is not the case, an info such as \begin{verbatim} Kanji font shape JY3/mc/m/it' undefined @@ -6780,8 +6736,8 @@ is issued instead of a warning. ã¨ã„ã£ãŸè¦å‘Šã‚’ã‚‚ãŸã‚‰ã—ã¦ã—ã¾ã£ã¦ã„ãŸï¼Ž 一方,\LuaTeX-ja 20200323.0以é™ã§ã¯ï¼Œ -\cs{fontshape\{<shape>\}}, \cs{fontshapeforce\{<shape>\}}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚·ã‚§ã‚¤ãƒ—ã‚’æ›´æ–°ã™ã‚‹ã®ã¯ï¼Œ -シェイプ更新è¦å‰‡ã«åŸºã¥ã„ãŸå€¤ã‚„<shape>ã®å°‘ãªãã¨ã‚‚一ã¤ãŒç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªãƒ»ã‚·ãƒªãƒ¼ã‚ºã§åˆ©ç”¨å¯èƒ½ãªã¨ãã«é™ã‚‰ã‚Œã‚‹ï¼Ž +\cs{fontshape\{\meta{shape}\}}, \cs{fontshapeforce\{\meta{shape}\}}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚·ã‚§ã‚¤ãƒ—ã‚’æ›´æ–°ã™ã‚‹ã®ã¯ï¼Œ +シェイプ更新è¦å‰‡ã«åŸºã¥ã„ãŸå€¤ã‚„\meta{shape}ã®å°‘ãªãã¨ã‚‚一ã¤ãŒç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªãƒ»ã‚·ãƒªãƒ¼ã‚ºã§åˆ©ç”¨å¯èƒ½ãªã¨ãã«é™ã‚‰ã‚Œã‚‹ï¼Ž ã©ã¡ã‚‰ã§ã‚‚ãªã,和文フォントシェイプãŒå¤‰æ›´ã•ã‚Œãªã‹ã£ãŸå ´åˆã«ã¯ \begin{verbatim} Kanji font shape JY3/mc/m/it' undefined @@ -6790,10 +6746,10 @@ is issued instead of a warning. ã¨ã„ã†info(è¦å‘Šã§ãªã)を出力ã™ã‚‹ï¼Ž %</ja> -\item[\cs{kanjishape}\{<shape>\}\textrm{, }\cs{kanjishapeforce}\{<shape>\}] +\item[\cs{kanjishape}\{\meta{shape}\}\textrm{, }\cs{kanjishapeforce}\{\meta{shape}\}] %<*en> -\cs{kanjishape\{<shape>\}} changes current Japanese font shape according to shape change rules, and -\cs{kanjishapeforce\{<shape>\}} changes current Japanese font shape to <shape>, regardless of the rules. +\cs{kanjishape\{\meta{shape}\}} changes current Japanese font shape according to shape change rules, and +\cs{kanjishapeforce\{\meta{shape}\}} changes current Japanese font shape to \meta{shape}, regardless of the rules. Hence \cs{kanjishape\{it\}} produces a warning \begin{verbatim} Font shape `JY3/mc/m/it' undefined @@ -6822,12 +6778,13 @@ which is not produced by \cs{fontshape\{it\}}. \label{fig:altkanji} \end{figure} -\item[\cs{DeclareAlternateKanjiFont}\{<base-encoding>\}\{<base-family>\}\{<base-series>\}\{<base-shape>\}\\ - \null\hfill\{<alt-encoding>\}\{<alt-family>\}\{<alt-series>\}\{<alt-shape>\}\{<range>\}] +\item[\cs{DeclareAlternateKanjiFont}\\ + \{\meta{base-encoding}\}\{\meta{base-family}\}\{\meta{base-series}\}\{\meta{base-shape}\}\\ + \{\meta{alt-encoding}\}\{\meta{alt-family}\}\{\meta{alt-series}\}\{\meta{alt-shape}\}\{\meta{range}\}] %<*ja> \ref{ssec:altfont}節ã®\ \cs{ltjdeclarealtfont} ã¨åŒæ§˜ã«ï¼Œå‰åŠã®4引数㮠-和文フォント(基底フォント)ã®ã†ã¡<range>ä¸ã®æ–‡å—ã‚’ +和文フォント(基底フォント)ã®ã†ã¡\meta{range}ä¸ã®æ–‡å—ã‚’ 第5ã‹ã‚‰ç¬¬8引数ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’使ã£ã¦çµ„むよã†ã«æŒ‡ç¤ºã™ã‚‹ï¼Ž 使用例を図\nobreak\ref{fig:altkanji}ã«è¼‰ã›ãŸï¼Ž @@ -6840,13 +6797,13 @@ which is not produced by \cs{fontshape\{it\}}. ã‚ã‚‹ã„ã¯ï¼ˆã“れらをå«ã‚€ãŒï¼‰\cs{selectfont} ãŒå®Ÿè¡Œã•ã‚ŒãŸæ™‚ã§ã‚る. \item 段è½ã‚„hboxã®æœ€å¾Œã§ã®è¨å®šå€¤ãŒæ®µè½ï¼hbox全体ã«ã‚ãŸã£ã¦é€šç”¨ã™ã‚‹ç‚¹ã‚„, -<range>ã«è² æ•°$-n$を指定ã—ãŸå ´åˆï¼Œãã‚ŒãŒã€ŒåŸºåº•ãƒ•ã‚©ãƒ³ãƒˆã®æ–‡å—クラス$n$ã«å±žã™ã‚‹æ–‡å—全体〠+\meta{range}ã«è² æ•°$-n$を指定ã—ãŸå ´åˆï¼Œãã‚ŒãŒã€ŒåŸºåº•ãƒ•ã‚©ãƒ³ãƒˆã®æ–‡å—クラス$n$ã«å±žã™ã‚‹æ–‡å—全体〠ã¨è§£é‡ˆã•ã‚Œã‚‹ã®ã¯ \cs{ltjdeclarealtfont} ã¨åŒã˜ã§ã‚る. \end{itemize}% %</ja> %<*en> As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec:altfont}), -characters in <range> of the Japanese font (we say the \emph{base font}) +characters in \meta{range} of the Japanese font (we say the \emph{base font}) which specified by first 4 arguments are typeset by the Japanese font which specified by fifth to eighth arguments (we say the \emph{alternate font}). @@ -6898,11 +6855,11 @@ The code below does not work either: %<ja>\subsection{\cs{fontfamily}コマンドã®è©³ç´°} \label{ssec:fontfamilycmd} %<*en> -In this subsection, we describe when \cs{fontfamily}<family> changes current +In this subsection, we describe when \cs{fontfamily}\meta{family} changes current Japanese/alphabetic font family. Basically, current Japanese fotn family is changed to -<family> if it is recognized as a Japanese font family, and similar with alphabetic font +\meta{family} if it is recognized as a Japanese font family, and similar with alphabetic font family. There is a case that current Japanese/alphabetic font family are both changed to -<family>, and another case that <family> isn't recognized as a Japanese/alphabetic font +\meta{family}, and another case that \meta{family} isn't recognized as a Japanese/alphabetic font family either. \paragraph{Recognition as Japanese font family} @@ -6911,56 +6868,56 @@ This order is very similar to \cs{fontfamily} in \pLaTeXe, but we re-implemented We use an auxiliary list~$N_{\mathrm{J}}$. %</en> %<*ja> -本節ã§ã¯ï¼Œ\cs{fontfamily}<family> ãŒã„ã¤å’Œæ–‡/欧文フォントファミリを変更ã™ã‚‹ã‹ã«ã¤ã„ã¦è§£èª¬ -ã™ã‚‹ï¼ŽåŸºæœ¬çš„ã«ã¯ï¼Œ<family>ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã ã¨èªè˜ã•ã‚Œã‚Œã°å’Œæ–‡å´ãŒï¼Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ +本節ã§ã¯ï¼Œ\cs{fontfamily}\meta{family} ãŒã„ã¤å’Œæ–‡/欧文フォントファミリを変更ã™ã‚‹ã‹ã«ã¤ã„ã¦è§£èª¬ +ã™ã‚‹ï¼ŽåŸºæœ¬çš„ã«ã¯ï¼Œ\meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã ã¨èªè˜ã•ã‚Œã‚Œã°å’Œæ–‡å´ãŒï¼Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ ミリã ã¨èªè˜ã•ã‚Œã‚Œã°æ¬§æ–‡å´ãŒå¤‰æ›´ã•ã‚Œã‚‹ï¼Žã©ã¡ã‚‰ã¨ã‚‚èªè˜ã•ã‚Œã‚Œã°å’Œæ–‡ãƒ»æ¬§æ–‡ã®ä¸¡æ–¹ãŒå¤‰ã‚ã‚‹ã“ ã¨ã«ãªã‚‹ã—,当然ã©ã¡ã‚‰ã¨ã‚‚èªè˜ã•ã‚Œãªã„ã“ã¨ã‚‚ã‚る. \paragraph{和文フォントファミリã¨ã—ã¦ã®èªè˜} -ã¾ãšï¼Œ<family>ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè˜ã•ã‚Œã‚‹ã‹ã¯ä»¥ä¸‹ã®é †åºã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž +ã¾ãšï¼Œ\meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè˜ã•ã‚Œã‚‹ã‹ã¯ä»¥ä¸‹ã®é †åºã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž ã“ã‚Œã¯\pLaTeXe ã® \cs{fontfamily} ã«ã¨ã¦ã‚‚ä¼¼ã¦ã„ã‚‹ãŒï¼Œã“ã“ã§ã¯Luaã«ã‚ˆã£ã¦å®Ÿè£…ã—ã¦ã„る. 補助的ã«ã€Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã¨èªè˜ã•ã‚ŒãŸã€ãƒ•ã‚¡ãƒŸãƒªã‚’æ ¼ç´ã—ãŸãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$を用ã„る. %</ja> \begin{enumerate} %<*en> -\item If the family~<family> has been defined already by \cs{DeclareKanjiFamily}, - <family> is recognized as a Japanese font family. - Note that <family> need not be defined under \emph{current} Japanese font encoding. +\item If the family~\meta{family} has been defined already by \cs{DeclareKanjiFamily}, + \meta{family} is recognized as a Japanese font family. + Note that \meta{family} need not be defined under \emph{current} Japanese font encoding. %</en> %<*ja> -\item ファミリ<family>ãŒæ—¢ã« \cs{DeclareKanjiFamily} ã«ã‚ˆã£ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹å ´åˆï¼Œ - <family>ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã‚ã‚‹ã¨èªè˜ã•ã‚Œã‚‹ï¼Ž - ã“ã“ã§ï¼Œ<family>ã¯ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§å®šç¾©ã•ã‚Œã¦ã„ãªãã¦ã‚‚よã„. +\item ファミリ\meta{family}ãŒæ—¢ã« \cs{DeclareKanjiFamily} ã«ã‚ˆã£ã¦å®šç¾©ã•ã‚Œã¦ã„ã‚‹å ´åˆï¼Œ + \meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã‚ã‚‹ã¨èªè˜ã•ã‚Œã‚‹ï¼Ž + ã“ã“ã§ï¼Œ\meta{family}ã¯ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§å®šç¾©ã•ã‚Œã¦ã„ãªãã¦ã‚‚よã„. %</ja> %<*en> -\item If the family~<family> has been listed in a list~$N_{\mathrm{J}}$, this means - that <family> is not a Japanese font family. +\item If the family~\meta{family} has been listed in a list~$N_{\mathrm{J}}$, this means + that \meta{family} is not a Japanese font family. %</en> %<*ja> -\item ファミリ<family>ãŒãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãれ㯠- <family>ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž +\item ファミリ\meta{family}ãŒãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãれ㯠+ \meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž %</ja> %<*en> -\item If the \Pkg{luatexja-fontspec} package is loaded, we stop here, and <family> is not +\item If the \Pkg{luatexja-fontspec} package is loaded, we stop here, and \meta{family} is not recognized as a Japanese font family. If the \Pkg{luatexja-fontspec} package is \emph{not} loaded, -now \LuaTeX-ja looks whether there exists a Japanese font encoding~<enc> such that - a font definition named \texttt{<enc><family>.fd} (the file name is - all lowercase) exists. If so, <family> is recognized as a Japanese font family (the font definition file won't be loaded here). - If not, <family> is not a Japanese font family, and - <family> is appended to the list~$N_{\mathrm{J}}$. +now \LuaTeX-ja looks whether there exists a Japanese font encoding~\meta{enc} such that + a font definition named \texttt{\meta{enc}\meta{family}.fd} (the file name is + all lowercase) exists. If so, \meta{family} is recognized as a Japanese font family (the font definition file won't be loaded here). + If not, \meta{family} is not a Japanese font family, and + \meta{family} is appended to the list~$N_{\mathrm{J}}$. %</en> %<*ja> \item ã‚‚ã—\Pkg{luatexja-fontspec}パッケージãŒèªã¿è¾¼ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œã“ã“ã§çµ‚了ã§ã‚り, -<family>ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè˜ã•ã‚Œãªã„ã“ã¨ã«ãªã‚‹ï¼Ž +\meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè˜ã•ã‚Œãªã„ã“ã¨ã«ãªã‚‹ï¼Ž -ã‚‚ã—\Pkg{luatexja-fontspec}パッケージãŒèªã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘ã‚Œã°ï¼Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°<enc>㧠-フォント定義ファイル\texttt{<enc><family>.fd}(ファイルåã¯å…¨ã¦å°æ–‡å—)ãŒå˜åœ¨ã™ã‚‹ã‚ˆã†ãªã‚‚ +ã‚‚ã—\Pkg{luatexja-fontspec}パッケージãŒèªã¿è¾¼ã¾ã‚Œã¦ã„ãªã‘ã‚Œã°ï¼Œå’Œæ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°\meta{enc}㧠+フォント定義ファイル\texttt{\meta{enc}\meta{family}.fd}(ファイルåã¯å…¨ã¦å°æ–‡å—)ãŒå˜åœ¨ã™ã‚‹ã‚ˆã†ãªã‚‚ ã®ãŒã‚ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã‚‹ï¼Ž -å˜åœ¨ã™ã‚Œã°ï¼Œ<family>ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œã‚‹ï¼ˆãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯èªã¿è¾¼ã¾ã‚Œãª +å˜åœ¨ã™ã‚Œã°ï¼Œ\meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œã‚‹ï¼ˆãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯èªã¿è¾¼ã¾ã‚Œãª ã„). -å˜åœ¨ã—ãªã‘ã‚Œã°ï¼Œ<family>ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ãªã„ã¨èªè˜ã•ã‚Œï¼Œãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã«<family>ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ãれを記憶ã™ã‚‹ï¼Ž +å˜åœ¨ã—ãªã‘ã‚Œã°ï¼Œ\meta{family}ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ãªã„ã¨èªè˜ã•ã‚Œï¼Œãƒªã‚¹ãƒˆ$N_{\mathrm{J}}$ã«\meta{family}ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ãれを記憶ã™ã‚‹ï¼Ž %</ja> \end{enumerate} @@ -6972,52 +6929,52 @@ We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$, %</en> %<*ja> \paragraph{欧文フォントファミリã¨ã—ã¦ã®èªè˜} -åŒæ§˜ã«ï¼Œ<family>ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè˜ã•ã‚Œã‚‹ã‹ã¯ä»¥ä¸‹ã®é †åºã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž +åŒæ§˜ã«ï¼Œ\meta{family}ãŒå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã—ã¦èªè˜ã•ã‚Œã‚‹ã‹ã¯ä»¥ä¸‹ã®é †åºã§æ±ºå®šã•ã‚Œã‚‹ï¼Ž 補助的ã«ã€Œæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨æ—¢ã«èªè˜ã•ã‚ŒãŸã€ãƒ•ã‚¡ãƒŸãƒªã®ãƒªã‚¹ãƒˆ$F_{\textrm{A}}$ã¨ï¼Œ 「欧文フォントファミリã§ã¯ãªã„ã¨èªè˜ã•ã‚ŒãŸã€ãƒ•ã‚¡ãƒŸãƒªã‚’æ ¼ç´ã—ãŸãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$を用ã„る. %</ja> \begin{enumerate} %<*en> -\item If the family~<family> has been listed in a list~$F_{\mathrm{A}}$, - <family> is recognized as an alphabetic font family. +\item If the family~\meta{family} has been listed in a list~$F_{\mathrm{A}}$, + \meta{family} is recognized as an alphabetic font family. %</en> %<*ja> -\item ファミリ<family>ãŒãƒªã‚¹ãƒˆ$F_{\mathrm{A}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œ - <family>ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œã‚‹ï¼Ž +\item ファミリ\meta{family}ãŒãƒªã‚¹ãƒˆ$F_{\mathrm{A}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œ + \meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œã‚‹ï¼Ž %</ja> %<*en> -\item If the family~<family> has been listed in a list~$N_{\mathrm{A}}$, this means - that <family> is not an alphabetic font family. +\item If the family~\meta{family} has been listed in a list~$N_{\mathrm{A}}$, this means + that \meta{family} is not an alphabetic font family. %</en> %<*ja> -\item ファミリ<family>ãŒãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãれ㯠- <family>ãŒæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž +\item ファミリ\meta{family}ãŒãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã«æ—¢ã«å«ã¾ã‚Œã¦ã„ã‚Œã°ï¼Œãれ㯠+ \meta{family}ãŒæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã§ã¯ãªã„ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž %</ja> %<*en> -\item If there exists an alphabetic font encoding such that the family~<family> has been - defined under it, <family> is recognized as an alphabetic font family, and - to memorize this, <family> is appended to the list~$F_{\mathrm{A}}$. +\item If there exists an alphabetic font encoding such that the family~\meta{family} has been + defined under it, \meta{family} is recognized as an alphabetic font family, and + to memorize this, \meta{family} is appended to the list~$F_{\mathrm{A}}$. %</en> %<*ja> -\item ã‚る欧文フォントエンコーディング下ã§ãƒ•ã‚¡ãƒŸãƒª<family>ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚Œã°ï¼Œ - <family>ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œï¼Œãƒªã‚¹ãƒˆ$F_{\mathrm{A}}$ã«<family>ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ã“ã®ã“ã¨ã‚’記憶ã™ã‚‹ï¼Ž +\item ã‚る欧文フォントエンコーディング下ã§ãƒ•ã‚¡ãƒŸãƒª\meta{family}ãŒå®šç¾©ã•ã‚Œã¦ã„ã‚Œã°ï¼Œ + \meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œï¼Œãƒªã‚¹ãƒˆ$F_{\mathrm{A}}$ã«\meta{family}ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ã“ã®ã“ã¨ã‚’記憶ã™ã‚‹ï¼Ž %</ja> %<*en> -\item Now \LuaTeX-ja looks whether there exists an alphabetic font encoding~<enc> such that - a font definition named \texttt{<enc><family>.fd} (the file name is +\item Now \LuaTeX-ja looks whether there exists an alphabetic font encoding~\meta{enc} such that + a font definition named \texttt{\meta{enc}\meta{family}.fd} (the file name is all lowercase) exists. If so, current alphabetic font family will be changed to - <family>~(the font definition file won't be loaded here). + \meta{family}~(the font definition file won't be loaded here). If not, current alphabetic font family won't be changed, and - <family> is appended to the list~$N_{\mathrm{A}}$. + \meta{family} is appended to the list~$N_{\mathrm{A}}$. %</en> %<*ja> -\item 最終段階ã§ã¯ï¼Œæ¬§æ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°<enc>㧠-フォント定義ファイル\texttt{<enc><family>.fd}(ファイルåã¯å…¨ã¦å°æ–‡å—)ãŒå˜åœ¨ã™ã‚‹ã‚ˆã†ãªã‚‚ +\item 最終段階ã§ã¯ï¼Œæ¬§æ–‡ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°\meta{enc}㧠+フォント定義ファイル\texttt{\meta{enc}\meta{family}.fd}(ファイルåã¯å…¨ã¦å°æ–‡å—)ãŒå˜åœ¨ã™ã‚‹ã‚ˆã†ãªã‚‚ ã®ãŒã‚ã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã‚‹ï¼Ž -å˜åœ¨ã™ã‚Œã°ï¼Œ<family>ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œã‚‹ï¼ˆãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯èªã¿è¾¼ã¾ã‚Œãªã„). -å˜åœ¨ã—ãªã‘ã‚Œã°ï¼Œ<family>ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œãªã„ã®ã§ï¼Œãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã« - <family>ã‚’è¿½åŠ ã—ã¦ãã®ã“ã¨ã‚’記憶ã™ã‚‹ï¼Ž +å˜åœ¨ã™ã‚Œã°ï¼Œ\meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œã‚‹ï¼ˆãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯èªã¿è¾¼ã¾ã‚Œãªã„). +å˜åœ¨ã—ãªã‘ã‚Œã°ï¼Œ\meta{family}ã¯æ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨èªè˜ã•ã‚Œãªã„ã®ã§ï¼Œãƒªã‚¹ãƒˆ$N_{\mathrm{A}}$ã« + \meta{family}ã‚’è¿½åŠ ã—ã¦ãã®ã“ã¨ã‚’記憶ã™ã‚‹ï¼Ž %</ja> \end{enumerate} @@ -7046,17 +7003,17 @@ loaded. %<en>\paragraph{Remarks} %<ja>\paragraph{注æ„} %<*en> -Of course, there is a case that <family> is not recognized as a Japanese font family, nor +Of course, there is a case that \meta{family} is not recognized as a Japanese font family, nor an alphabetic font family. -In this case, \LuaTeX-ja treats ``the argument <family> is wrong'', so -set both current alphabetic and Japanese font family to <family>, +In this case, \LuaTeX-ja treats ``the argument \meta{family} is wrong'', so +set both current alphabetic and Japanese font family to \meta{family}, to use the default family for font substitution. %</en> %<*ja> ã•ã¦ï¼Œå¼•æ•°ã«ã‚ˆã£ã¦ã¯ï¼Œã€Œå’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã¨ã‚‚欧文フォントファミリもèªè˜ã•ã‚Œãªã‹ã£ãŸã€ ã¨ã„ã†äº‹æ…‹ã‚‚ã‚り得る. - ã“ã®å ´åˆï¼Œå¼•æ•°<family>ã¯ä¸æ£ã ã£ãŸï¼Œã¨ã„ã†ã“ã¨ã«ãªã‚‹ã®ã§ï¼Œ -和文・欧文ã®ä¸¡æ–¹ã®ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’<family>ã«è¨å®šã—,代用フォントãŒä½¿ã‚れるã«ä»»ã›ã‚‹ã“ã¨ã«ã™ã‚‹ï¼Ž + ã“ã®å ´åˆï¼Œå¼•æ•°\meta{family}ã¯ä¸æ£ã ã£ãŸï¼Œã¨ã„ã†ã“ã¨ã«ãªã‚‹ã®ã§ï¼Œ +和文・欧文ã®ä¸¡æ–¹ã®ãƒ•ã‚©ãƒ³ãƒˆãƒ•ã‚¡ãƒŸãƒªã‚’\meta{family}ã«è¨å®šã—,代用フォントãŒä½¿ã‚れるã«ä»»ã›ã‚‹ã“ã¨ã«ã™ã‚‹ï¼Ž %</ja> %<*en> @@ -7137,63 +7094,63 @@ expl3ã®æ–‡æ³•ã«æ²¿ã£ãŸçµ„æ–¹å‘変更命令や組方å‘ã«ã‚ˆã‚‹æ¡ä»¶åˆ¤æ– \item[\cs{platex\_if\_direction\_yoko\_p:}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_direction\_yoko:\underline{\textsl{TF}}} \{<true code>\} \{<false code>\}] + \item[\cs{platex\_if\_direction\_yoko:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}] %<ja> ç¾åœ¨ã®çµ„æ–¹å‘ãŒæ¨ªçµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž %<en> Tests if the current direction is \emph{yoko} (horizontal writing). \item[\cs{platex\_if\_direction\_tate\_nomath\_p:}$^\dagger$] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_direction\_tate\_nomath:\underline{\textsl{TF}}}$^\dagger$ \{<true code>\} \{<false code>\}] + \item[\cs{platex\_if\_direction\_tate\_nomath:\underline{\textsl{TF}}}$^\dagger$ \{\meta{true code}\} \{\meta{false code}\}] %<ja> ç¾åœ¨ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž %<en> Tests if the current direction is \emph{tate} (vertical writing). \item[\cs{platex\_if\_direction\_tate\_math\_p:}$^\dagger$] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_direction\_tate\_math:\underline{\textsl{TF}}}$^\dagger$ \{<true code>\} \{<false code>\}] + \item[\cs{platex\_if\_direction\_tate\_math:\underline{\textsl{TF}}}$^\dagger$ \{\meta{true code}\} \{\meta{false code}\}] %<ja> ç¾åœ¨ã®çµ„æ–¹å‘ãŒutodæ–¹å‘(\pTeX ã§ã„ã†ã€Œç¸¦æ•°å¼ãƒ‡ã‚£ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ï¼‰ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž %<en> Tests if the current direction is \emph{utod}. \item[\cs{platex\_if\_direction\_tate\_p:}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_direction\_tate:\underline{\textsl{TF}}} \{<true code>\} \{<false code>\}] + \item[\cs{platex\_if\_direction\_tate:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}] %<ja> ç¾åœ¨ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã¾ãŸã¯utodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž %<en> Tests if the current direction is \emph{tate}~or~\emph{utod}. \item[\cs{platex\_if\_direction\_dtou\_p:}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_direction\_dtou:\underline{\textsl{TF}}} \{<true code>\} \{<false code>\}] + \item[\cs{platex\_if\_direction\_dtou:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}] %<ja> ç¾åœ¨ã®çµ„æ–¹å‘ãŒdtouæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž %<en> Tests if the current direction is \emph{dtou}. - \item[\cs{platex\_if\_box\_yoko\_p:N} <box>] + \item[\cs{platex\_if\_box\_yoko\_p:N} \meta{box}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_box\_yoko:N\underline{\textsl{TF}}} <box> \{<true code>\} \{<false code>\}] -%<ja> ボックス<box>ã®çµ„æ–¹å‘ãŒæ¨ªçµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž -%<en> Tests if the direction of <box> is \emph{yoko}. - \item[\cs{platex\_if\_box\_tate\_nomath\_p:N}$^\dagger$ <box>] + \item[\cs{platex\_if\_box\_yoko:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}] +%<ja> ボックス\meta{box}ã®çµ„æ–¹å‘ãŒæ¨ªçµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž +%<en> Tests if the direction of \meta{box} is \emph{yoko}. + \item[\cs{platex\_if\_box\_tate\_nomath\_p:N}$^\dagger$ \meta{box}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_box\_tate\_nomath:N\underline{\textsl{TF}}}$^\dagger$ <box> \{<true code>\} \{<false code>\}] -%<ja> ボックス<box>ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž -%<en> Tests if the direction of <box> is \emph{tate}. - \item[\cs{platex\_if\_box\_tate\_math\_p:N}$^\dagger$ <box>] + \item[\cs{platex\_if\_box\_tate\_nomath:N\underline{\textsl{TF}}}$^\dagger$ \meta{box} \{\meta{true code}\} \{\meta{false code}\}] +%<ja> ボックス\meta{box}ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž +%<en> Tests if the direction of \meta{box} is \emph{tate}. + \item[\cs{platex\_if\_box\_tate\_math\_p:N}$^\dagger$ \meta{box}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_box\_tate\_math:N\underline{\textsl{TF}}}$^\dagger$ <box> \{<true code>\} \{<false code>\}] -%<ja> ボックス<box>ã®çµ„æ–¹å‘ãŒutodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž -%<en> Tests if the direction of <box> is \emph{utod}. - \item[\cs{platex\_if\_box\_tate\_p:N} <box>] + \item[\cs{platex\_if\_box\_tate\_math:N\underline{\textsl{TF}}}$^\dagger$ \meta{box} \{\meta{true code}\} \{\meta{false code}\}] +%<ja> ボックス\meta{box}ã®çµ„æ–¹å‘ãŒutodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž +%<en> Tests if the direction of \meta{box} is \emph{utod}. + \item[\cs{platex\_if\_box\_tate\_p:N} \meta{box}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] - \item[\cs{platex\_if\_box\_tate:N\underline{\textsl{TF}}} <box> \{<true code>\} \{<false code>\}] -%<ja> ボックス<box>ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã¾ãŸã¯utodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž -%<en> Tests if the direction of <box> is \emph{tate}~or~\emph{utod}. - \item[\cs{platex\_if\_box\_dtou\_p:N} <box>] + \item[\cs{platex\_if\_box\_tate:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}] +%<ja> ボックス\meta{box}ã®çµ„æ–¹å‘ãŒç¸¦çµ„ã¾ãŸã¯utodæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž +%<en> Tests if the direction of \meta{box} is \emph{tate}~or~\emph{utod}. + \item[\cs{platex\_if\_box\_dtou\_p:N} \meta{box}] %<en>\ \\[\dimexpr-\medskipamount-2\baselineskip\relax] %<ja>\ \\[\dimexpr-2\baselineskip\relax] -\item[\cs{platex\_if\_box\_dtou:N\underline{\textsl{TF}}} <box> \{<true code>\} \{<false code>\}] -%<ja> ボックス<box>ã®çµ„æ–¹å‘ãŒdtouæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž -%<en> Tests if the direction of <box> is \emph{dtou}. +\item[\cs{platex\_if\_box\_dtou:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}] +%<ja> ボックス\meta{box}ã®çµ„æ–¹å‘ãŒdtouæ–¹å‘ã§ã‚ã‚‹ã‹å¦ã‹ã‚’テストã™ã‚‹ï¼Ž +%<en> Tests if the direction of \meta{box} is \emph{dtou}. \end{cslist} @@ -7231,7 +7188,7 @@ the commands of Japanese version: \begin{cslist} -\item[CID=<name>\textrm{, }JFM=<name>\textrm{, }JFM-var=<name>] +\item[CID=\meta{name}\textrm{, }JFM=\meta{name}\textrm{, }JFM-var=\meta{name}] %<*en> These 3 keys correspond to \texttt{cid}, \texttt{jfm} and @@ -7282,7 +7239,7 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec:psft}. \label{fig:yokotate-fontspec} \end{figure} -\item[Kanjiskip=<bool>] +\item[Kanjiskip=\meta{bool}] %<*ja> \pageref{pg:ltjksp}ページã§èª¬æ˜Žã—㟠\verb+\jfont+ ä¸ã§ã® \texttt{ltjksp} 指定㨠åŒä¸€ã®åŠ¹åŠ›ã‚’æŒã¡ï¼Œ @@ -7291,7 +7248,7 @@ JFMä¸ã«ãŠã‘ã‚‹ \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ 標準値㯠\texttt{true} ã§ã‚る. %</ja> -\item[TateFeatures=\{<features>\}\textrm{, }TateFont=<font>] +\item[TateFeatures=\{\meta{features}\}\textrm{, }TateFont=\meta{font}] %<*en> The \texttt{TateFeatures} key specifies font features which are only turned~on in vertical writing, such as \texttt{Style=VerticalKana}~(\texttt{vkna} feature). @@ -7304,7 +7261,7 @@ A demonstrarion is shown in \autoref{fig:yokotate-fontspec}. 指定ã™ã‚‹ï¼Žä½¿ç”¨ä¾‹ã¯\autoref{fig:yokotate-fontspec}å‚照. %</ja> -\item[YokoFeatures=\{<features>\}] +\item[YokoFeatures=\{\meta{features}\}] %<*en> The \texttt{YokoFeatures} key specifies font features which are only turned~on in horizontal writing,. @@ -7352,9 +7309,9 @@ as the following: \begin{lstlisting}[escapechar=\#] AltFont = { ... - { Range=#\LARG range>#, #\LARG features>#}, - { Range=#\LARG range>#, Font=#\LARG font~name>#, #\LARG features># }, - { Range=#\LARG range>#, Font=#\LARG font~name># }, + { Range=#\meta{range}#, #\meta{features}#}, + { Range=#\meta{range}#, Font=#\meta{font~name}#, #\meta{features}# }, + { Range=#\meta{range}#, Font=#\meta{font~name}># }, ... } \end{lstlisting} @@ -7371,7 +7328,7 @@ A demonstrarion is shown in \autoref{fig:altkanji-fontspec}. %<*ja> ãªãŠï¼Œ\Pkg{luatexja-fontspec} èªã¿è¾¼ã¿æ™‚ã«ã¯å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«% -\texttt{<ja-enc><family>.fd}ã¯å…¨ãå‚ç…§ã•ã‚Œãªããªã‚‹ï¼Ž +\texttt{\meta{ja-enc}\meta{family}.fd}ã¯å…¨ãå‚ç…§ã•ã‚Œãªããªã‚‹ï¼Ž %</ja> @@ -7457,21 +7414,21 @@ commands: \Pkg{luatexja-otf}ã¯ä»¥ä¸‹ã®2ã¤ã®ä½Žãƒ¬ãƒ™ãƒ«ã‚³ãƒžãƒ³ãƒ‰ã‚’æä¾›ã™ã‚‹ï¼š %</ja> \begin{cslist} -\item[\cs{CID}\{<number>\}] +\item[\cs{CID}\{\meta{number}\}] %<*en> -Typeset a glyph whose CID number is <number>. +Typeset a glyph whose CID number is \meta{number}. If the Japanese font is neither Adobe-Japan1,~Adobe-GB1, Adobe-CNS1, Adobe-Korea1,~nor~Adobe-KR CID-keyed font, -\LuaTeX-ja treats that <number> is a CID number of Adobe-Japan1 character collection, +\LuaTeX-ja treats that \meta{number} is a CID number of Adobe-Japan1 character collection, and tries to typeset a ``most suitable glyph''. Note that if the Japanese font is loaded using the HarfBuzz library, this \cs{CID} command does not work. %</en> %<*ja> -CID番å·ãŒ<number>ã®æ–‡å—を出力ã™ã‚‹ï¼Ž +CID番å·ãŒ\meta{number}ã®æ–‡å—を出力ã™ã‚‹ï¼Ž ã‚‚ã—ç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒAdobe-Japan1,~Adobe-GB1, Adobe-CNS1, Adobe-Korea1,~Adobe-KRã® - ã„ãšã‚Œã®CID-keyed fontã§ã‚‚ãªã„å ´åˆï¼Œ<number>ã¯Adobe-Japan1ã®CID番å·ã§ã‚ã‚‹ã¨è§£é‡ˆã— + ã„ãšã‚Œã®CID-keyed fontã§ã‚‚ãªã„å ´åˆï¼Œ\meta{number}ã¯Adobe-Japan1ã®CID番å·ã§ã‚ã‚‹ã¨è§£é‡ˆã— 「é©åˆ‡ãªã‚°ãƒªãƒ•ã€\footnote{% 特ã«ç¸¦çµ„用グリフã®CID番å·ã‚’指定ã—ãŸå ´åˆã¯ï¼ˆLuaTeX-ja 20190504.0以é™ã§ã¯è‹¥å¹²æ”¹è‰¯ã•ã‚Œã¦ã„ã‚‹ãŒï¼‰ æ„図ã—ãªã„çµæžœã«ãªã‚‹å¯èƒ½æ€§ãŒé«˜ã„. @@ -7483,15 +7440,15 @@ CID番å·ãŒ<number>ã®æ–‡å—を出力ã™ã‚‹ï¼Ž ãªãŠï¼Œç¾åœ¨ã®å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆãŒHarfBuzzを用ã„ã¦èªã¿è¾¼ã¾ã‚ŒãŸå ´åˆã«ã¯ï¼Œ\cs{CID}ã¯æ£ã—ã動作ã—ãªã„. %</ja> -\item[\cs{UTF}\{<hex\_number>\}] +\item[\cs{UTF}\{\meta{hex\_number}\}] %<*en> -Typeset a character whose character code is <hex\_number> (in hexadecimal). -This command is similar to \verb+\char"+<hex\_number>,\ %" +Typeset a character whose character code is \meta{hex\_number} (in hexadecimal). +This command is similar to \verb+\char"+\meta{hex\_number},\ %" but please remind remarks below. %</en> %<*ja> -æ–‡å—コードãŒï¼ˆ16進ã§ï¼‰<hex\_number>ã®æ–‡å—を出力ã™ã‚‹ï¼Ž -ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ \verb+\char"+<hex\_number>ã¨ä¼¼ã¦ã„ã‚‹ãŒï¼Œä¸‹ã®æ³¨æ„ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž%" +æ–‡å—コードãŒï¼ˆ16進ã§ï¼‰\meta{hex\_number}ã®æ–‡å—を出力ã™ã‚‹ï¼Ž +ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ \verb+\char"+\meta{hex\_number}ã¨ä¼¼ã¦ã„ã‚‹ãŒï¼Œä¸‹ã®æ³¨æ„ã‚’å‚ç…§ã™ã‚‹ã“ã¨ï¼Ž%" %</ja> \end{cslist} @@ -7666,7 +7623,7 @@ for making the difference obvious.} \item $d\ge\cs{lineskiplimit}$ã®å ´åˆï¼Œ 標準ã®è¡Œé€ã‚Š\cs{baselineskip}ã§çµ„ã‚“ã§ã‚‚å分ãªé–“éš”ãŒã‚ã‚‹ã¨åˆ¤æ–ã•ã‚Œï¼Œ 2è¡Œã®é–“ã«ã¯é•·ã•$d$ã®ç©ºç™½ãŒæŒ¿å…¥ã•ã‚Œã‚‹ï¼Žã¤ã¾ã‚Šè¡Œé€ã‚Šã¯\cs{baselineskip}. - \item {\catcode`\<=12$d<\cs{lineskiplimit}$}ã®å ´åˆï¼Œ + \item $d<\cs{lineskiplimit}$ã®å ´åˆï¼Œ 2è¡Œã®é–“ã«ã¯é•·ã•\cs{lineskip}ã®ç©ºç™½ãŒæŒ¿å…¥ã•ã‚Œã‚‹ï¼Ž ãã®ãŸã‚(è¨å®šå€¤ã«ã‚ˆã‚‹ãŒï¼Œå¤šãã®å ´åˆï¼‰è¡Œé€ã‚Šã¯\cs{baselineskip}より広ãŒã‚‹ï¼Ž \end{itemize} @@ -7773,7 +7730,7 @@ for making the difference obvious.} å ´åˆã«ã‚ˆã£ã¦ã¯è¡Œé€ã‚Šã‚’「\cs{baselineskip}ã®æ•´æ•°å€ã€ãªã©ã¨åˆ‡ã‚Šã®ã„ã„値ã«æƒãˆãŸã„ã¨ã„ã†çŠ¶æ³ãŒ 考ãˆã‚‰ã‚Œãªãã‚‚ãªã„. - \Pkg{luatexja-adjust}パッケージã§ã¯ï¼Œ{\catcode`\<=12$d<\cs{lineskiplimit}$}ã®ã¨ãã« + \Pkg{luatexja-adjust}パッケージã§ã¯ï¼Œ$d<\cs{lineskiplimit}$ã®ã¨ãã« è¡Œé€ã‚Šã‚’\cs{baselineskip}ã®\Param{linestep\_factor}å€ãšã¤å¢—減ã•ã›ã¦ \begin{quote} 行間ãŒ\cs{lineskip}以上ã¨ãªã‚‹ã‚ˆã†ãªï¼Œ @@ -7830,11 +7787,11 @@ for making the difference obvious.} ã¾ãŸï¼Œæ¬¡ã®ãƒ‘ラメータãŒ\cs{ltjsetparameter}å†…ã§ è¿½åŠ ã•ã‚Œã‚‹ï¼Žã„ãšã‚Œã‚‚ã‚°ãƒãƒ¼ãƒãƒ«ã«åŠ¹åŠ›ã‚’発æ®ã™ã‚‹ï¼Ž \begin{cslist}[style=standard] -\item[\DParam{stretch\_priority}\,=\{<list>\}] +\item[\DParam{stretch\_priority}\,=\{\meta{list}\}] \Param{kanjiskip}, \Param{xkanjiskip},ãŠã‚ˆã³ã€Œ\textbf{JAglue}以外ã®ã‚°ãƒ«ãƒ¼ã€ã‚’, 「行を自然長より伸ã°ã™ã€å ´åˆã®èª¿æ•´ã«ç”¨ã„る優先度を指定ã™ã‚‹ï¼Ž -指定方法ã¯ï¼Œ<list>ã®ä¸ã«key-value listã®å½¢ã§ +指定方法ã¯ï¼Œ\meta{list}ã®ä¸ã«key-value listã®å½¢ã§ \begin{lstlisting} stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50} \end{lstlisting} @@ -7849,17 +7806,17 @@ stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50} \end{lstlisting} ã§ã‚り,「優先度$-4$ã€ã¨æŒ‡å®šã•ã‚Œã¦ã„ã‚‹JFMグルーãŒæœ€ã‚‚伸ã³ã«ãã„よã†ã«ãªã£ã¦ã„る. -\item[\DParam{shrink\_priority}\,=\{<list>\}] +\item[\DParam{shrink\_priority}\,=\{\meta{list}\}] åŒæ§˜ã«ï¼Œã€Œè¡Œã‚’自然長より縮ã‚ã‚‹ã€å ´åˆã®èª¿æ•´ã«ç”¨ã„る優先度を指定ã™ã‚‹ï¼Ž ãれ以外ã¯\Param{stretch\_priority}ã¨æŒ‡å®šã®å½¢å¼ã¯å¤‰ã‚らãªã„(åˆæœŸå€¤ã‚‚変ã‚らãªã„). - \item[\DParam{linestep\_factor}\,=<float>] + \item[\DParam{linestep\_factor}\,=\meta{float}] 段階的ãªè¡Œé€ã‚Šèª¿æ•´ã®éš›ï¼Œ\cs{baselineskip}ã®è‡ªç„¶é•·ã®ä½•å€å˜ä½ã§è¡Œé€ã‚Šã‚’変ãˆã‚‹ã‹ã‚’指定ã™ã‚‹ï¼Ž 0を指定ã™ã‚‹ã¨ç„¡åŠ¹ã«ãªã‚‹ã®ã¨å¤‰ã‚らãªã„.ã¾ãŸè² 数を指定ã™ã‚‹ã¨ï¼Œ ãã®çµ¶å¯¾å€¤ãŒæŒ‡å®šã•ã‚ŒãŸã‹ã®ã‚ˆã†ã«æ‰±ã‚れる. åˆæœŸå€¤ã¯0.5(ã¤ã¾ã‚ŠåŠè¡Œå˜ä½ï¼‰ã§ã‚る. - \item[\DParam{profile\_hgap\_factor}\,=<float>] + \item[\DParam{profile\_hgap\_factor}\,=\meta{float}] 「ä¸èº«ã¾ã§è¦‹ãŸã€è¡Œé€ã‚Šè¨ˆç®—ã®éš›ï¼Œ å‰ã®è¡Œã«ã‚ã‚‹æ·±ã•ãŒå¤§ãã„ã‚‚ã®ã¨æ¬¡ã®è¡Œã«ã‚る高ã•ãŒå¤§ãã„ã‚‚ã®ãŒ 水平方å‘ã«ã©ã‚Œã ã‘離れã¦ã„ãªã„ã¨ã„ã‘ãªã„ã‹ã‚’ @@ -8019,7 +7976,6 @@ among the line-head form, the line-middle form, and the line-end form. ãれを\LuaTeX-ja用ã«æ›¸ããªãŠã—ãŸã‚‚ã®ãŒæœ¬è¿½åŠ パッケージ \Pkg{lltjext} ã§ã‚る. 従æ¥ã® \Pkg{plext} パッケージã¨ã®é•ã„ã¯ï¼Œ -{\catcode`\<=12 \begin{itemize} \item 組方å‘オプション \texttt{<y>}(横組),\texttt{<t>}(縦組), \texttt{<z>}\ ã®ä»–ã«\ \texttt{<d>}(dtouæ–¹å‘),\texttt{<u>}(utodæ–¹å‘ï¼‰ã‚’è¿½åŠ ã—ãŸï¼Ž @@ -8032,7 +7988,6 @@ among the line-head form, the line-middle form, and the line-end form. \item 連数å—用命令 \cs{rensuji} ã«ãŠã‘ã‚‹ä½ç½®åˆã‚ã›ã‚ªãƒ—ション \texttt{[l]}, \texttt{[c]}, \texttt{[r]} ã®æŒ™å‹•ã‚’若干変更ã—ãŸï¼Ž \end{itemize} -} %</ja> %<*en> @@ -8062,13 +8017,13 @@ counterpart of the \Pkg{plext} package. \item[d] dtouæ–¹å‘ \item[u] utodæ–¹å‘ \end{description} -\item[\cs{parbox}\<<dir>\>{[<pos>]}\{<width>\}\{<contents>\}] +\item[\cs{parbox}<\meta{dir}>{[\meta{pos}]}\{\meta{width}\}\{\meta{contents}\}] \cs{parbox} 命令もåŒæ§˜ã«ï¼Œçµ„æ–¹å‘ã®æŒ‡å®šãŒã§ãるよã†ã«æ‹¡å¼µã•ã‚Œã¦ã„る. -\item[\cs{pbox}\<<dir>\>{[<width>][<pos>]}\{<contents>\}] -組方å‘<dir>ã§<contents>ã®ä¸èº«ã‚’LRモードã§çµ„む命令ã§ã‚る. -<width>ãŒæ£ã®å€¤ã§ã‚ã‚‹ã¨ãã¯ï¼Œãƒœãƒƒã‚¯ã‚¹å…¨ä½“ã®å¹…ãŒãã®å€¤ã¨ãªã‚‹ï¼Ž -ãã®éš›ï¼Œä¸èº«ã¯<pos>ã®å€¤ã«å¾“ã„,左寄ã›(\texttt{l}),å³æƒãˆ(\texttt{r}), +\item[\cs{pbox}<\meta{dir}>{[\meta{width}][\meta{pos}]}\{\meta{contents}\}] +組方å‘\meta{dir}ã§\meta{contents}ã®ä¸èº«ã‚’LRモードã§çµ„む命令ã§ã‚る. +\meta{width}ãŒæ£ã®å€¤ã§ã‚ã‚‹ã¨ãã¯ï¼Œãƒœãƒƒã‚¯ã‚¹å…¨ä½“ã®å¹…ãŒãã®å€¤ã¨ãªã‚‹ï¼Ž +ãã®éš›ï¼Œä¸èº«ã¯\meta{pos}ã®å€¤ã«å¾“ã„,左寄ã›(\texttt{l}),å³æƒãˆ(\texttt{r}), ä¸å¤®æƒãˆï¼ˆãれ以外)ã•ã‚Œã‚‹ï¼Ž \item[picture環境] 図表作æˆã«ç”¨ã„ã‚‹\texttt{picture}環境も, @@ -8084,11 +8039,11 @@ $x$æˆåˆ†ã®å¢—åŠ æ–¹å‘ã¯å—é€ã‚Šæ–¹å‘,$y$æˆåˆ†ã®å¢—åŠ æ–¹å‘ã¯è¡Œé€ã‚ \cs{put},~\cs{line}, \cs{vector}, \cs{dashbox}, \cs{oval},~\cs{circle}ã‚‚ ベースライン補æ£ã‚’å—ã‘ãªã„よã†ã«å†å®šç¾©ã•ã‚Œã¦ã„る. -\item[\cs{rensuji}{[<pos>]}\{<contents>\}\textrm{, }\cs{rensujiskip}] +\item[\cs{rensuji}{[\meta{pos}]}\{\meta{contents}\}\textrm{, }\cs{rensujiskip}] -\item[\cs{Kanji}\{<counter\_name>\}] +\item[\cs{Kanji}\{\meta{counter\_name}\}] -\item[\cs{kasen}\{<contents>\}\textrm{, }\cs{bou}\{<contents>\}\textrm{, +\item[\cs{kasen}\{\meta{contents}\}\textrm{, }\cs{bou}\{\meta{contents}\}\textrm{, }\cs{boutenchar}] \item[å‚照番å·] @@ -8113,28 +8068,28 @@ the direction inside the environment is same as that outside the enviromnent. \item[d] \emph{dtou} direction \item[u] \emph{utod} direction \end{description} -\item[\cs{parbox}\<<dir>\>{[<pos>]}\{<width>\}\{<contents>\}] -\cs{parbox} command is also extended by \texttt{\<<dir>\>}. +\item[\cs{parbox}<\meta{dir}>{[\meta{pos}]}\{\meta{width}\}\{\meta{contents}\}] +\cs{parbox} command is also extended by \texttt{<\meta{dir}>}. -\item[\cs{pbox}\<<dir>\>{[<width>][<pos>]}\{<contents>\}] -This commands typeset <contents> in LR-mode, in <dir> direction. -If <width> is positive, the width of the box becomes this <width>. -In this case, <contents> will be aligned to left (when <pos> is \texttt{l}), +\item[\cs{pbox}<\meta{dir}>{[\meta{width}][\meta{pos}]}\{\meta{contents}\}] +This commands typeset \meta{contents} in LR-mode, in \meta{dir} direction. +If \meta{width} is positive, the width of the box becomes this \meta{width}. +In this case, \meta{contents} will be aligned to left (when \meta{pos} is \texttt{l}), center (\texttt{c}), or~right (\texttt{r}). \item[picture\textrm{\ environment}] -\texttt{picture} environment also extended by \texttt{\<<dir>\>}, as follows: +\texttt{picture} environment also extended by \texttt{<\meta{dir}>}, as follows: \begin{lstlisting} \begin{picture}<dir>(x_size, y_size)(x_offset,y_offset) ... \end{picture} \end{lstlisting} -\item[\cs{rensuji}{[<pos>]}\{<contents>\}\textrm{, }\cs{rensujiskip}] +\item[\cs{rensuji}{[\meta{pos}]}\{\meta{contents}\}\textrm{, }\cs{rensujiskip}] -\item[\cs{Kanji}\{<counter\_name>\}] +\item[\cs{Kanji}\{\meta{counter\_name}\}] -\item[\cs{kasen}\{<contents>\}\textrm{, }\cs{bou}\{<contents>\}\textrm{, +\item[\cs{kasen}\{\meta{contents}\}\textrm{, }\cs{bou}\{\meta{contents}\}\textrm{, }\cs{boutenchar}] \item[å‚照番å·] @@ -8418,20 +8373,20 @@ since we use same font for both series of gothic. \item[jis2004\textrm{,~}2004jis] %<en>Use JIS~X~0213:2004 glyph variants if possible. %<ja>出æ¥ã‚‹é™ã‚ŠJIS~X~0213:2004ã®å—形を使ã†ï¼Ž -\item[jfm\_yoko=<jfm>] +\item[jfm\_yoko=\meta{jfm}] %<*en> -Use the JFM \texttt{jfm-<jfm>.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM). +Use the JFM \texttt{jfm-\meta{jfm}.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM). %</en> %<*ja> -横組用和文フォントã§ç”¨ã„ã‚‹JFMã‚’\texttt{jfm-<jfm>.lua}ã«ã™ã‚‹ï¼Žã“ã®ã‚ªãƒ—ションãŒãªã„時㯠+横組用和文フォントã§ç”¨ã„ã‚‹JFMã‚’\texttt{jfm-\meta{jfm}.lua}ã«ã™ã‚‹ï¼Žã“ã®ã‚ªãƒ—ションãŒãªã„時㯠\LuaTeX\nobreakdash -ja標準ã®\texttt{jfm-ujis.lua}ãŒç”¨ã„られる. %</ja> -\item[jfm\_tate=<jfm>] +\item[jfm\_tate=\meta{jfm}] %<*en> -Use the JFM \texttt{jfm-<jfm>.lua} for vertical direction, instead of \texttt{jfm-ujisv.lua}~(default JFM). +Use the JFM \texttt{jfm-\meta{jfm}.lua} for vertical direction, instead of \texttt{jfm-ujisv.lua}~(default JFM). %</en> %<*ja> -縦用和文フォントã§ç”¨ã„ã‚‹JFMã‚’\texttt{jfm-<jfm>.lua}ã«ã™ã‚‹ï¼Žã“ã®ã‚ªãƒ—ションãŒãªã„時㯠+縦用和文フォントã§ç”¨ã„ã‚‹JFMã‚’\texttt{jfm-\meta{jfm}.lua}ã«ã™ã‚‹ï¼Žã“ã®ã‚ªãƒ—ションãŒãªã„時㯠\LuaTeX-ja標準ã®\texttt{jfm-ujisv.lua}ãŒç”¨ã„られる. %</ja> @@ -8912,9 +8867,9 @@ From version~20170904.0, one can define new presets using \cs{ltjnewpreset}, and use them by \cs{ltjapplypreset}. These two commands can only be used in the preamble. %</en> \begin{cslist} - \item[\cs{ltjnewpreset}\{<name>\}\{<specification>\}] + \item[\cs{ltjnewpreset}\{\meta{name}\}\{\meta{specification}\}] %<*ja> - æ–°ãŸã«<name>ã¨ã„ã†å称ã®ãƒ—リセットを定義ã™ã‚‹ï¼Žã“ã®å称ã¯ï¼Œ + æ–°ãŸã«\meta{name}ã¨ã„ã†å称ã®ãƒ—リセットを定義ã™ã‚‹ï¼Žã“ã®å称ã¯ï¼Œ ã™ã§ã«å®šç¾©ã•ã‚Œã¦ã„るプリセットåや, \ref{sssec:ltjpreset-general}ã§å®šç¾©ã•ã‚Œã¦ã„るオプション,ã•ã‚‰ã« 次ã®13個ã¨é‡è¤‡ã—ã¦ã¯ãªã‚‰ãªã„. @@ -8923,35 +8878,35 @@ and use them by \cs{ltjapplypreset}. These two commands can only be used in the mc mc-l mc-m mc-b mc-bx gt gt-u gt-d gt-m gt-b gt-bx gt-eb mg-m \end{quote} - <specification>ã¯ï¼Œãƒ—リセットåや以下ã®ã‚ーé”ã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã‚’指定ã™ã‚‹ï¼š + \meta{specification}ã¯ï¼Œãƒ—リセットåや以下ã®ã‚ーé”ã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã‚’指定ã™ã‚‹ï¼š \begin{description} - \item[\ttfamily mc-l=<font>] 明æœä½“ç´°å—(\cs{mcfamily}\cs{ltseries}) - \item[\ttfamily mc-m=<font>] 明æœä½“ä¸å—(\cs{mcfamily}\cs{mdseries}) - \item[\ttfamily mc-b=<font>] 明æœä½“太å—(\cs{mcfamily}\cs{bfseries}) - \item[\ttfamily mc-bx=<font>] \texttt{mc-b=<font>}ã¨åŒç¾©ï¼Ž - \item[\ttfamily gt-u=<font>] \texttt{deluxe}オプション未指定時ã®ã‚´ã‚·ãƒƒã‚¯ä½“(\cs{gtfamily})・明æœä½“å¤ªå— - \item[\ttfamily gt-d=<font>] \texttt{deluxe}オプション指定時ã®ã‚´ã‚·ãƒƒã‚¯ä½“ä¸å—(\cs{gtfamily}\cs{mdseries}) - \item[\ttfamily gt-m=<font>] \texttt{deluxe}オプションã®æŒ‡å®šã®æœ‰ç„¡ã«é–¢ä¿‚ãªã - ゴシック体ä¸å—(\cs{gtfamily}\cs{mdseries})を指定ã™ã‚‹ï¼Žã€Œ\texttt{gt-u=<font>, gt-d<font>}ã€ã¨åŒç¾©ï¼Ž - \item[\ttfamily gt-b=<font>] ゴシック体太å—(\cs{gtfamily}\cs{bfseries})\\ - ãªãŠï¼Œãƒ‘ッケージèªã¿è¾¼ã¿æ™‚ã«\texttt{bold}オプションãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ï¼Œ\texttt{mc-b=<font>}を指定ã—ãŸã“ã¨ã«ã‚‚ãªã‚‹ï¼Ž - \item[\ttfamily gt-bx=<font>] \texttt{gt-b=<font>}ã¨åŒç¾©ï¼Ž - \item[\ttfamily gt-eb=<font>] ゴシック体太å—(\cs{gtfamily}\cs{ebseries}) - \item[\ttfamily mg-m=<font>] 丸ゴシック体(\cs{mgfamily}) - \item[\ttfamily mc=<font>] 明æœä½“ã®ç´°å—・ä¸å—・太å—全部をè¨å®šï¼Ž + \item[\ttfamily mc-l=\meta{font}] 明æœä½“ç´°å—(\cs{mcfamily}\cs{ltseries}) + \item[\ttfamily mc-m=\meta{font}] 明æœä½“ä¸å—(\cs{mcfamily}\cs{mdseries}) + \item[\ttfamily mc-b=\meta{font}] 明æœä½“太å—(\cs{mcfamily}\cs{bfseries}) + \item[\ttfamily mc-bx=\meta{font}] \texttt{mc-b=\meta{font}}ã¨åŒç¾©ï¼Ž + \item[\ttfamily gt-u=\meta{font}] \texttt{deluxe}オプション未指定時ã®ã‚´ã‚·ãƒƒã‚¯ä½“(\cs{gtfamily})・明æœä½“å¤ªå— + \item[\ttfamily gt-d=\meta{font}] \texttt{deluxe}オプション指定時ã®ã‚´ã‚·ãƒƒã‚¯ä½“ä¸å—(\cs{gtfamily}\cs{mdseries}) + \item[\ttfamily gt-m=\meta{font}] \texttt{deluxe}オプションã®æŒ‡å®šã®æœ‰ç„¡ã«é–¢ä¿‚ãªã + ゴシック体ä¸å—(\cs{gtfamily}\cs{mdseries})を指定ã™ã‚‹ï¼Žã€Œ\texttt{gt-u=\meta{font}, gt-d\meta{font}}ã€ã¨åŒç¾©ï¼Ž + \item[\ttfamily gt-b=\meta{font}] ゴシック体太å—(\cs{gtfamily}\cs{bfseries})\\ + ãªãŠï¼Œãƒ‘ッケージèªã¿è¾¼ã¿æ™‚ã«\texttt{bold}オプションãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ï¼Œ\texttt{mc-b=\meta{font}}を指定ã—ãŸã“ã¨ã«ã‚‚ãªã‚‹ï¼Ž + \item[\ttfamily gt-bx=\meta{font}] \texttt{gt-b=\meta{font}}ã¨åŒç¾©ï¼Ž + \item[\ttfamily gt-eb=\meta{font}] ゴシック体太å—(\cs{gtfamily}\cs{ebseries}) + \item[\ttfamily mg-m=\meta{font}] 丸ゴシック体(\cs{mgfamily}) + \item[\ttfamily mc=\meta{font}] 明æœä½“ã®ç´°å—・ä¸å—・太å—全部をè¨å®šï¼Ž 以下を指定ã—ãŸã“ã¨ã¨åŒã˜ã§ã‚る: \begin{quote} - \ttfamily mc-l=<font>, mc-m=<font>, mc-b=<font> + \ttfamily mc-l=\meta{font}, mc-m=\meta{font}, mc-b=\meta{font} \end{quote} - \item[\ttfamily gt=<font>] ゴシック体ã®ä¸å—・太å—・極太全部をè¨å®šï¼Ž + \item[\ttfamily gt=\meta{font}] ゴシック体ã®ä¸å—・太å—・極太全部をè¨å®šï¼Ž 以下を指定ã—ãŸã“ã¨ã¨åŒã˜ã§ã‚る: \begin{quote} - \ttfamily gt-u=<font>, gt-d=<font>, gt-b=<font>, gt-eb=<font> + \ttfamily gt-u=\meta{font}, gt-d=\meta{font}, gt-b=\meta{font}, gt-eb=\meta{font} \end{quote} \end{description} %</ja> %<*en> - Define new preset~<name>. This <name> cannot be same as other presets, + Define new preset~\meta{name}. This <name> cannot be same as other presets, options described in Subsubsection~\ref{sssec:ltjpreset-general}, nor following 13~strings: \begin{quote} @@ -8959,47 +8914,47 @@ and use them by \cs{ltjapplypreset}. These two commands can only be used in the mc mc-l mc-m mc-b mc-bx gt gt-u gt-d gt-m gt-b gt-bx gt-eb mg-m \end{quote} - <specification> is a comma-separated list which consists of + \meta{specification} is a comma-separated list which consists of other presets and/or the following keys: \begin{description} - \item[\ttfamily mc-l=<font>] mincho light - \item[\ttfamily mc-m=<font>] mincho medium - \item[\ttfamily mc-b=<font>] mincho bold - \item[\ttfamily mc-bx=<font>] synonym for \texttt{mc-b=<font>} - \item[\ttfamily gt-u=<font>] gothic, when \texttt{deluxe}~option is not specified. - \item[\ttfamily gt-d=<font>] gothic medium, when \texttt{deluxe}~option is specified. - \item[\ttfamily gt-m=<font>] gothic medium. This key is equivalent to ``\texttt{gt-u=<font>, gt-d<font>}''. - \item[\ttfamily gt-b=<font>] gothic bold\\ + \item[\ttfamily mc-l=\meta{font}] mincho light + \item[\ttfamily mc-m=\meta{font}] mincho medium + \item[\ttfamily mc-b=\meta{font}] mincho bold + \item[\ttfamily mc-bx=\meta{font}] synonym for \texttt{mc-b=\meta{font}} + \item[\ttfamily gt-u=\meta{font}] gothic, when \texttt{deluxe}~option is not specified. + \item[\ttfamily gt-d=\meta{font}] gothic medium, when \texttt{deluxe}~option is specified. + \item[\ttfamily gt-m=\meta{font}] gothic medium. This key is equivalent to ``\texttt{gt-u=\meta{font}, gt-d\meta{font}}''. + \item[\ttfamily gt-b=\meta{font}] gothic bold\\ Note that this key also specifies mincho bold if \texttt{bold} option is specified. - \item[\ttfamily gt-bx=<font>] synonym for \texttt{gt-b=<font>} - \item[\ttfamily gt-eb=<font>] gothic extra~bold - \item[\ttfamily mg-m=<font>] rounded gothic - \item[\ttfamily mc=<font>] Equivalent to + \item[\ttfamily gt-bx=\meta{font}] synonym for \texttt{gt-b=\meta{font}} + \item[\ttfamily gt-eb=\meta{font}] gothic extra~bold + \item[\ttfamily mg-m=\meta{font}] rounded gothic + \item[\ttfamily mc=\meta{font}] Equivalent to \begin{quote} - \ttfamily mc-l=<font>, mc-m=<font>, mc-b=<font> + \ttfamily mc-l=\meta{font}, mc-m=\meta{font}, mc-b=\meta{font} \end{quote} - \item[\ttfamily gt=<font>] Equivalent to + \item[\ttfamily gt=\meta{font}] Equivalent to \begin{quote} - \ttfamily gt-u=<font>, gt-d=<font>, gt-b=<font>, gt-eb=<font> + \ttfamily gt-u=\meta{font}, gt-d=\meta{font}, gt-b=\meta{font}, gt-eb=\meta{font} \end{quote} \end{description} %</en> - \item[\cs{ltjnewpreset}*\{<name>\}\{<specification>\}] + \item[\cs{ltjnewpreset}*\{\meta{name}\}\{\meta{specification}\}] %<*ja> \cs{ltjnewpreset}ã¨ã»ã¼åŒã˜ã§ã‚ã‚‹ãŒï¼Œã“ã¡ã‚‰ã¯ã™ã§ã«å®šç¾©ã•ã‚Œã¦ã„るプリセットå - ã‚’<name>ã«æŒ‡å®šã—ãŸå ´åˆã«ã¯ã‚¨ãƒ©ãƒ¼ã‚’出ã•ãšã«å®šç¾©ã‚’ç½®ãæ›ãˆã‚‹ï¼Ž + ã‚’\meta{name}ã«æŒ‡å®šã—ãŸå ´åˆã«ã¯ã‚¨ãƒ©ãƒ¼ã‚’出ã•ãšã«å®šç¾©ã‚’ç½®ãæ›ãˆã‚‹ï¼Ž %</ja> %<*en> - Almost same as \cs{ltjnewpreset}. However, if <name> matches a preset which already defined, + Almost same as \cs{ltjnewpreset}. However, if \meta{name} matches a preset which already defined, this command simply overwrite it. %</en> - \item[\cs{ltjapplypreset}\{<name>\}] -%<ja> <name>ã§æŒ‡å®šã•ã‚ŒãŸãƒ—リセットを使ã£ã¦å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’è¨å®šã™ã‚‹ï¼Ž -%<en> Set Japanese font families using preset~<name>. + \item[\cs{ltjapplypreset}\{\meta{name}\}] +%<ja> \meta{name}ã§æŒ‡å®šã•ã‚ŒãŸãƒ—リセットを使ã£ã¦å’Œæ–‡ãƒ•ã‚©ãƒ³ãƒˆã‚’è¨å®šã™ã‚‹ï¼Ž +%<en> Set Japanese font families using preset~\meta{name}. \end{cslist} %<*ja> -ãªãŠï¼Œ\cs{ltjnewpreset}ã®ç¬¬äºŒå¼•æ•°<specification>ã«å«ã¾ã‚Œã‚‹ +ãªãŠï¼Œ\cs{ltjnewpreset}ã®ç¬¬äºŒå¼•æ•°\meta{specification}ã«å«ã¾ã‚Œã‚‹ プリセットåã¯\cs{ltjnewpreset}ã®æ™‚点ã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹å¿…è¦ã¯ãªã, \cs{ltjapplypreset}ã§å®Ÿéš›ã«ä½¿ã†ã¨ãã«å®šç¾©ã•ã‚Œã¦ã„ã‚Œã°è‰¯ã„. ãã®ãŸã‚,次ã®ã‚ˆã†ãªè¨˜è¿°ã‚‚å¯èƒ½ã§ã‚る: @@ -9152,9 +9107,11 @@ The character class of a \textbf{JAchar}. This attribute is only set on a \attr{ltj@yablshift} %<*en> The amount of shifting the baseline of alphabetic fonts in scaled point ($2^{-16}\,\textrm{pt}$). +``unset'' means zero. %</en> %<*ja> スケールド・ãƒã‚¤ãƒ³ãƒˆ($2^{-16}\,\textrm{pt}$)ã‚’å˜ä½ã¨ã—ãŸæ¬§æ–‡ãƒ•ã‚©ãƒ³ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³ã®ç§»å‹•é‡ï¼Ž +ã“ã®å±žæ€§ãŒã€Œæœªè¨å®šã€(\texttt{-"7FFFFFFF})ã®ã¨ãã¯0ã§ã‚ã‚‹ã¨ã¿ãªã•ã‚Œã‚‹ï¼Ž\cs{ltj@ykblshift}ä»–ã‚‚åŒæ§˜ï¼Ž %</ja> \attr{ltj@ykblshift} @@ -9171,17 +9128,21 @@ The amount of shifting the baseline of Japanese fonts in scaled point ($2^{-16}\ \attr{ltj@autospc} %<*en> Whether the auto insertion of \Param{kanjiskip} is allowed at the node. +0 means ``not allowed'', and the other value (including ``unset'') means ``allowed''. %</en> %<*ja> ãã®ãƒŽãƒ¼ãƒ‰ã§\Param{kanjiskip}ã®è‡ªå‹•æŒ¿å…¥ãŒè¨±ã•ã‚Œã‚‹ã‹ã©ã†ã‹ï¼Ž +0ã¯ã€Œè¨±å¯ã—ãªã„ã€ï¼Œ0以外ã®å€¤ï¼ˆã€Œæœªè¨å®šã€ã‚‚å«ã‚€ï¼‰ã¯ã€Œè¨±å¯ã™ã‚‹ã€ï¼Ž %</ja> \attr{ltj@autoxspc} %<*en> Whether the auto insertion of \Param{xkanjiskip} is allowed at the node. +0 means ``not allowed'', and the other value (including ``unset'') means ``allowed''. %</en> %<*ja> ãã®ãƒŽãƒ¼ãƒ‰ã§\Param{xkanjiskip}ã®è‡ªå‹•æŒ¿å…¥ãŒè¨±ã•ã‚Œã‚‹ã‹ã©ã†ã‹ï¼Ž +0ã¯ã€Œè¨±å¯ã—ãªã„ã€ï¼Œ0以外ã®å€¤ï¼ˆã€Œæœªè¨å®šã€ã‚‚å«ã‚€ï¼‰ã¯ã€Œè¨±å¯ã™ã‚‹ã€ï¼Ž %</ja> \attr{ltj@icflag} @@ -9672,17 +9633,17 @@ but also by the value of \cs{globaldefs}. %</en> %<*ja> \paragraph{パラメータã®è¨å®š} -\cs{ltjsetparameter} ã¨ï¼Œ\cs{ltjglobalsetparameter} ã®å®šç¾©ã¯\autoref{fig:setpar-def}ã® +\cs{ltjsetparameter}ã¨ï¼Œ\cs{ltjglobalsetparameter}ã®å®šç¾©ã¯\autoref{fig:setpar-def}ã® ã®ã‚ˆã†ã«ãªã£ã¦ã„る. -本質的ãªã®ã¯æœ€å¾Œã® \cs{setkeys} ã§ï¼Œã“ã‚Œã¯\Pkg{xkeyval}パッケージã®æä¾›ã™ã‚‹å‘½ä»¤ã§ã‚る. +本質的ãªã®ã¯æœ€å¾Œã®\cs{setkeys}ã§ï¼Œã“ã‚Œã¯\Pkg{xkeyval}パッケージã®æä¾›ã™ã‚‹å‘½ä»¤ã§ã‚る. -ã“ã®ãŸã‚,\cs{ltjsetparameter} ã«æŒ‡å®šå¯èƒ½ãªãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’è¿½åŠ ã™ã‚‹ã«ã¯ï¼Œ -<prefix>ã‚’ \texttt{ltj},<family>ã‚’ \texttt{japaram} ã¨ã—ãŸã‚ーを +ã“ã®ãŸã‚,\cs{ltjsetparameter}ã«æŒ‡å®šå¯èƒ½ãªãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’è¿½åŠ ã™ã‚‹ã«ã¯ï¼Œ +\meta{prefix}ã‚’\texttt{ltj},\meta{family}ã‚’\texttt{japaram}ã¨ã—ãŸã‚ーを \begin{lstlisting} \define@key[ltj]{japaram}{...}{...} \end{lstlisting} ã®ã‚ˆã†ã«å®šç¾©ã™ã‚Œã°è‰¯ã„ã ã‘ã§ã‚る. -ãªãŠï¼Œãƒ‘ラメータ指定ãŒã‚°ãƒãƒ¼ãƒãƒ«ã‹ãƒãƒ¼ã‚«ãƒ«ã‹ã©ã†ã‹ã‚’示㙠\texttt{luatexja.isglobal} ãŒï¼Œ +ãªãŠï¼Œãƒ‘ラメータ指定ãŒã‚°ãƒãƒ¼ãƒãƒ«ã‹ãƒãƒ¼ã‚«ãƒ«ã‹ã©ã†ã‹ã‚’示ã™\texttt{luatexja.isglobal}ãŒï¼Œ \begin{align} \texttt{luatexja.isglobal} = \begin{cases*} @@ -9690,8 +9651,8 @@ but also by the value of \cs{globaldefs}. \texttt{''}&(パラメータè¨å®šã¯ãƒãƒ¼ã‚«ãƒ«ï¼‰ï¼Ž \end{cases*} \end{align} -ã¨ã—ã¦è‡ªå‹•çš„ã«ã‚»ãƒƒãƒˆã•ã‚Œã‚‹\footnote{命令㌠\cs{ltjglobalsetparameter} ã‹ã©ã†ã‹ã ã‘ã§ã¯ -ãªã,実行時㮠\cs{globaldefs} ã®å€¤ã«ã‚‚ä¾å˜ã—ã¦å®šã¾ã‚‹ï¼Ž}. +ã¨ã—ã¦è‡ªå‹•çš„ã«ã‚»ãƒƒãƒˆã•ã‚Œã‚‹\footnote{命令ãŒ\cs{ltjglobalsetparameter}ã‹ã©ã†ã‹ã ã‘ã§ã¯ +ãªã,実行時ã®\cs{globaldefs}ã®å€¤ã«ã‚‚ä¾å˜ã—ã¦å®šã¾ã‚‹ï¼Ž}. %</ja> %<*en> @@ -10138,11 +10099,11 @@ fonts might not have these transformation as an OpenType feature. \LuaTeX-jaã«ãŠã‘ã‚‹ \textbf{JAglue} ã®æŒ¿å…¥æ–¹æ³•ã¯ï¼Œ\pTeX ã®ãã‚Œã¨ã¯å…¨ãç•°ãªã‚‹ï¼Ž \pTeX ã§ã¯æ¬¡ã®ã‚ˆã†ãªä»•æ§˜ã§ã‚ã£ãŸï¼š \begin{itemize} -\item JFMグルーã®æŒ¿å…¥ã¯ï¼Œå’Œæ–‡æ–‡å—を表ã™ãƒˆãƒ¼ã‚¯ãƒ³ã‚’å…ƒã«æ°´å¹³ãƒªã‚¹ãƒˆã«ï¼ˆæ–‡å—を表ã™ï¼‰<char\_node>ã‚’ +\item JFMグルーã®æŒ¿å…¥ã¯ï¼Œå’Œæ–‡æ–‡å—を表ã™ãƒˆãƒ¼ã‚¯ãƒ³ã‚’å…ƒã«æ°´å¹³ãƒªã‚¹ãƒˆã«ï¼ˆæ–‡å—を表ã™ï¼‰\meta{char\_node}ã‚’ è¿½åŠ ã™ã‚‹éŽç¨‹ã§è¡Œã‚れる. \item \Param{xkanjiskip}ã®æŒ¿å…¥ã¯ï¼Œhboxã¸ã®ãƒ‘ッケージングや行分割å‰ã«è¡Œã‚れる. \item \Param{kanjiskip}ã¯ãƒŽãƒ¼ãƒ‰ã¨ã—ã¦ã¯æŒ¿å…¥ã•ã‚Œãªã„.パッケージングや行分割ã®è¨ˆç®—時㫠-「和文文å—を表ã™2ã¤ã®<char\_node>ã®é–“ã«ã¯\Param{kanjiskip}ãŒã‚ã‚‹ã€ã‚‚ã®ã¨ã¿ãªã•ã‚Œã‚‹ï¼Ž +「和文文å—を表ã™2ã¤ã®\meta{char\_node}ã®é–“ã«ã¯\Param{kanjiskip}ãŒã‚ã‚‹ã€ã‚‚ã®ã¨ã¿ãªã•ã‚Œã‚‹ï¼Ž \end{itemize} ã—ã‹ã—,\LuaTeX-jaã§ã¯ï¼Œhboxã¸ã®ãƒ‘ッケージングや行分割å‰ã«å…¨ã¦ã® \textbf{JAglue},å³ã¡JFMグルー・\Param{xkanjiskip}・\Param{kanjiskip}ã® @@ -10458,16 +10419,16 @@ ga&(\inhibitglue 「使用フォントãŒ\textit{Np}ã®ãã‚Œã¨åŒã˜ã§ï¼Œ\hfi \] ã¨ã—ã¦ï¼Œå‰å´ã®æ–‡å—ã®JFMを使ã£ãŸæ™‚ã®ç©ºç™½ï¼ˆã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ï¼‰ã¨ï¼Œå¾Œå´ã®æ–‡å—ã®JFMを使ã£ãŸæ™‚ã®ãれを求ã‚る. -$\mathit{gb}$,~$\mathit{ga}$ãã‚Œãžã‚Œã«å¯¾ã™ã‚‹<ratio>ã®å€¤ã‚’$d_b$,~$d_a$ã¨ã™ã‚‹ï¼Ž +$\mathit{gb}$,~$\mathit{ga}$ãã‚Œãžã‚Œã«å¯¾ã™ã‚‹\meta{ratio}ã®å€¤ã‚’$d_b$,~$d_a$ã¨ã™ã‚‹ï¼Ž \begin{itemize} \item $\mathit{ga}$ã¨$\mathit{gb}$ã®ä¸¡æ–¹ãŒæœªå®šç¾©ã§ã‚ã‚‹ãªã‚‰ã°ï¼ŒJFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ã¯æŒ¿å…¥ã•ã‚Œãšï¼Œ \Param{kanjiskip}を採用ã™ã‚‹ã“ã¨ã¨ãªã‚‹ï¼Ž -ã©ã¡ã‚‰ã‹ç‰‡æ–¹ã®ã¿ãŒæœªå®šç¾©ã§ã‚ã‚‹ãªã‚‰ã°ï¼Œæ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ãã®æœªå®šç¾©ã®æ–¹ã¯é•·ã•0ã®kernã§ï¼Œ<ratio>ã®å€¤ã¯0ã§ã‚ã‚‹ã‹ã®ã‚ˆã†ã«æ‰±ã‚れる. +ã©ã¡ã‚‰ã‹ç‰‡æ–¹ã®ã¿ãŒæœªå®šç¾©ã§ã‚ã‚‹ãªã‚‰ã°ï¼Œæ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ãã®æœªå®šç¾©ã®æ–¹ã¯é•·ã•0ã®kernã§ï¼Œ\meta{ratio}ã®å€¤ã¯0ã§ã‚ã‚‹ã‹ã®ã‚ˆã†ã«æ‰±ã‚れる. \item \Param{diffrentjfm}ã®å€¤ãŒ \texttt{pleft}, \texttt{pright}, \texttt{paverage} ã®ã¨ã, -<ratio>ã®æŒ‡å®šã«å¾“ã£ã¦æ¯”例é…分を行ã†ï¼Ž +\meta{ratio}ã®æŒ‡å®šã«å¾“ã£ã¦æ¯”例é…分を行ã†ï¼Ž JFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¯ä»¥ä¸‹ã®å€¤ã¨ãªã‚‹ï¼š \[ f\left(\frac{1-d_b}2\textit{gb} + \frac{1+d_b}2\textit{ga}, @@ -10482,7 +10443,7 @@ y&($\Param{diffrentjfm}=\texttt{pright}$),\\ \end{dcases*} \] \item -\Param{differentjfm}ãŒãれ以外ã®å€¤ã®æ™‚ã¯ï¼Œ<ratio>ã®å€¤ã¯ç„¡è¦–ã•ã‚Œï¼ŒJFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¯ä»¥ä¸‹ã®å€¤ã¨ãªã‚‹ï¼š +\Param{differentjfm}ãŒãれ以外ã®å€¤ã®æ™‚ã¯ï¼Œ\meta{ratio}ã®å€¤ã¯ç„¡è¦–ã•ã‚Œï¼ŒJFMç”±æ¥ã®ã‚°ãƒ«ãƒ¼ï¼ã‚«ãƒ¼ãƒ³ã¯ä»¥ä¸‹ã®å€¤ã¨ãªã‚‹ï¼š \[ f(\textit{gb},\textit{ga}) \] @@ -10849,7 +10810,6 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç„¡æ„味ãªã®ã§ï¼Œ ã•ã¦ï¼Œ\texttt{yoffset} ã®å¢—減ã«ã‚ˆã£ã¦è¦‹ã‹ã‘ã®ã‚°ãƒªãƒ•ä½ç½®ã¯ä¸Šä¸‹ã«ç§»å‹•ã™ã‚‹ãŒï¼Œ 仮想ボディã®é«˜ã•$h$,深ã•$d$ã«ã¤ã„ã¦ã¯ \begin{description} -\catcode`\<=12\catcode`\>=12 \item[$\texttt{yoffset}\geq 0$ã®ã¨ã] $h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d = \max(\texttt{depth} - \texttt{yoffset}, 0)$, @@ -11367,7 +11327,6 @@ T^{+}&:=T^{+}_{L^+},&L^{+} = \max \{l\in 「行末ã«$a_{i}$全角ã ã‘ã®ã‚«ãƒ¼ãƒ³ã‚’è¿½åŠ ã—ãŸæ™‚ã®ï¼Œ\textit{glue\_set}ã®å€¤ã€ã‚’ $b_{i}$ã¨ãŠã.å¼ã§æ›¸ãã¨ï¼Œ \[ -\catcode`\<=12 b_{i} = \begin{dcases*} \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{+}} &($\textit{total}-a_{i}\text{\cs{zw}}\geq 0$),\\ @@ -11452,7 +11411,7 @@ $|\textit{total}|$ã®åˆ†ã ã‘ãŒï¼Œè¡Œä¸ã®ã‚°ãƒ«ãƒ¼ã®ä¼¸ã³é‡ï¼Œã‚ã‚‹ã„ã \item \textit{total}ãŒã€Œ(A)ã®ä¼¸ã³é‡ã®åˆè¨ˆã€ä»¥ä¸Šãªã‚‰ã°ï¼Œ(A)--(K)ã®ã©ã“ã¾ã§è² æ‹…ã™ã‚Œã° \textit{total}以上ã«ãªã‚‹ã‹ã‚’計算ã™ã‚‹ï¼Ž 例ãˆã°ï¼Œ -\[\catcode`\<=12 +\[ \textit{total} = (\text{(A)--(B)ã®ä¼¸ã³é‡ã®åˆè¨ˆ}) + p\cdot (\text{(C)ã®ä¼¸ã³é‡ã®åˆè¨ˆ}), \qquad 0\le p<1 \] @@ -11618,71 +11577,71 @@ This file conains some information (especially for vertical typesetting) about t Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base} (\texttt{ltj-base.lua}). There are four public functions for cache management in \texttt{luatexja.base}, -where <filename> stands for the file name \emph{without suffix}: +where \meta{filename} stands for the file name \emph{without suffix}: \begin{cslist} -\item[save\_cache(<filename>, <data>)] -Save a non-nil table <data> into a cache <filename>. -Both the compressed text form <filename>\texttt{.lua.gz} and its binary version +\item[save\_cache(\meta{filename}, \meta{data})] +Save a non-nil table \meta{data} into a cache \meta{filename}. +Both the compressed text form \meta{filename}\texttt{.lua.gz} and its binary version are created or updated. -\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})] +\item[save\_cache\_luc(\meta{filename}, \meta{data}{[, \meta{serialized\_data}]})] Same as \texttt{save\_cache}, except that only the binary cache is updated. -The third argument <serialized\_data> is not usually given. -But if this is given, it is treated as a string representation of <data>. +The third argument \meta{serialized\_data} is not usually given. +But if this is given, it is treated as a string representation of \meta{data}. -\item[load\_cache(<filename>, <outdate>)] -Load the cache <filename>. -<outdate> is a function which takes one argument (the contents of the cache), +\item[load\_cache(\meta{filename}, \meta{outdate})] +Load the cache \meta{filename}. +\meta{outdate} is a function which takes one argument (the contents of the cache), and its return value is whether the cache is outdated. \texttt{load\_cache} first tries to -read the binary cache <filename>\texttt{.luc}. +read the binary cache \meta{filename}\texttt{.luc}. If its contents is up-to-date, \texttt{load\_cache} returns the contents. If the binary cache is not found or its contents is outdated, \texttt{load\_cache} tries to -read the compressed text form <filename>\texttt{.lua.gz}. +read the compressed text form \meta{filename}\texttt{.lua.gz}. Hence, the return value of \texttt{load\_cache} is non-nil, if and only if the updated cache is found. -\item[remove\_cache(<filename>)] -Remove the cahce <filename>. +\item[remove\_cache(\meta{filename})] +Remove the cahce \meta{filename}. \end{cslist} %</en> %<*ja> \subsection{内部命令} \LuaTeX-jaã«ãŠã‘ã‚‹ã‚ャッシュ管ç†ã¯ï¼Œ\texttt{luatexja.base}~(\texttt{ltj-base.lua})㫠実装ã—ã¦ãŠã‚Šï¼Œä»¥ä¸‹ã®é–¢æ•°ãŒå…¬é–‹ã•ã‚Œã¦ã„る. -ã“ã“ã§ï¼Œ<filename>ã¯ä¿å˜ã™ã‚‹ã‚ャッシュã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’\emph{æ‹¡å¼µåãªã—ã§}指定ã™ã‚‹ï¼Ž +ã“ã“ã§ï¼Œ\meta{filename}ã¯ä¿å˜ã™ã‚‹ã‚ャッシュã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’\emph{æ‹¡å¼µåãªã—ã§}指定ã™ã‚‹ï¼Ž \begin{cslist} -\item[save\_cache(<filename>, <data>)] -nilã§ãªã„<data>ã‚’ã‚ャッシュ<filename>ã«ä¿å˜ã™ã‚‹ï¼Ž -テã‚スト形å¼ã®<filename>\texttt{.lua.gz}\footnote{æ‹¡å¼µåã‹ã‚‰ã‚ã‹ã‚‹é€šã‚Šï¼Œå®Ÿéš›ã«ã¯gzip圧縮ã•ã‚Œã‚‹ï¼Ž}ã®ã¿ãªã‚‰ãšï¼Œ +\item[save\_cache(\meta{filename}, \meta{data})] +nilã§ãªã„\meta{data}ã‚’ã‚ャッシュ\meta{filename}ã«ä¿å˜ã™ã‚‹ï¼Ž +テã‚スト形å¼ã®\meta{filename}\texttt{.lua.gz}\footnote{æ‹¡å¼µåã‹ã‚‰ã‚ã‹ã‚‹é€šã‚Šï¼Œå®Ÿéš›ã«ã¯gzip圧縮ã•ã‚Œã‚‹ï¼Ž}ã®ã¿ãªã‚‰ãšï¼Œ ãã®ãƒã‚¤ãƒŠãƒªå½¢å¼ã‚‚作æˆãƒ»æ›´æ–°ã•ã‚Œã‚‹ï¼Ž -\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})] +\item[save\_cache\_luc(\meta{filename}, \meta{data}{[, \meta{serialized\_data}]})] \texttt{save\_cache}ã¨åŒæ§˜ã ãŒï¼Œãƒã‚¤ãƒŠãƒªã‚ャッシュã®ã¿ãŒæ›´æ–°ã•ã‚Œã‚‹ï¼Ž -第3引数<serialized\_data>ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆï¼Œãれを -<data>ã®æ–‡å—列化表ç¾ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ï¼Ž -ãã®ãŸã‚,<serialized\_data>ã¯æ™®é€šã¯æŒ‡å®šã—ãªã„ã“ã¨ã«ãªã‚‹ã ã‚ã†ï¼Ž +第3引数\meta{serialized\_data}ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆï¼Œãれを +\meta{data}ã®æ–‡å—列化表ç¾ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ï¼Ž +ãã®ãŸã‚,\meta{serialized\_data}ã¯æ™®é€šã¯æŒ‡å®šã—ãªã„ã“ã¨ã«ãªã‚‹ã ã‚ã†ï¼Ž -\item[load\_cache(<filename>, <outdate>)] -ã‚ャッシュ<filename>ã‚’èªã¿è¾¼ã‚€ï¼Ž -<outdate>ã¯1引数(ã‚ャッシュã®ä¸èº«ï¼‰ã‚’ã¨ã‚‹é–¢æ•°ã§ã‚り, +\item[load\_cache(\meta{filename}, \meta{outdate})] +ã‚ャッシュ\meta{filename}ã‚’èªã¿è¾¼ã‚€ï¼Ž +\meta{outdate}ã¯1引数(ã‚ャッシュã®ä¸èº«ï¼‰ã‚’ã¨ã‚‹é–¢æ•°ã§ã‚り, ãã®æˆ»ã‚Šå€¤ã¯ã€Œã‚ャッシュã®æ›´æ–°ãŒå¿…è¦ã€ã‹ã©ã†ã‹ã‚’示ã™ãƒ–ール値ã§ãªã„ã¨ã„ã‘ãªã„. -\texttt{load\_cache}ã¯ï¼Œã¾ãšãƒã‚¤ãƒŠãƒªã‚ャッシュ<filename>\texttt{.luc}ã‚’ -èªã¿ã“む.もã—ãã®å†…容ãŒã€Œæ–°ã—ã„ã€ï¼Œã¤ã¾ã‚Š<outdate>ã®è©•ä¾¡çµæžœãŒ \texttt{false} ãªã‚‰ +\texttt{load\_cache}ã¯ï¼Œã¾ãšãƒã‚¤ãƒŠãƒªã‚ャッシュ\meta{filename}\texttt{.luc}ã‚’ +èªã¿ã“む.もã—ãã®å†…容ãŒã€Œæ–°ã—ã„ã€ï¼Œã¤ã¾ã‚Š\meta{outdate}ã®è©•ä¾¡çµæžœãŒ \texttt{false} ãªã‚‰ \texttt{load\_cache}ã¯ã“ã®ãƒã‚¤ãƒŠãƒªã‚ャッシュã®ä¸èº«ã‚’è¿”ã™ï¼Ž ã‚‚ã—ãƒã‚¤ãƒŠãƒªã‚ャッシュãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã‹ï¼Œã€Œå¤ã™ãŽã‚‹ã€ãªã‚‰ã°ï¼ˆgzip圧縮ã•ã‚ŒãŸï¼‰ãƒ†ã‚スト形å¼ã® - <filename>\texttt{.lua.gz}ã‚’èªã¿è¾¼ã¿ï¼Œ<outdate>ã§å†åº¦è©•ä¾¡ã™ã‚‹ï¼Ž + \meta{filename}\texttt{.lua.gz}ã‚’èªã¿è¾¼ã¿ï¼Œ\meta{outdate}ã§å†åº¦è©•ä¾¡ã™ã‚‹ï¼Ž 以上より,\texttt{load\_cache}自体ãŒnilã§ãªã„値を返ã™ã®ã¯ï¼Œã¡ã‚‡ã†ã©ã€Œæ–°ã—ã„ã€ã‚ャッシュ㌠見ã¤ã‹ã£ãŸå ´åˆã§ã‚る. -\item[remove\_cache(<filename>)] -ã‚ャッシュ<filename>を削除ã™ã‚‹ï¼Žãƒ†ã‚スト形å¼ï¼ˆgzip圧縮ã•ã‚Œã¦ã„ã‚‹ã‹å¦ã‹ã‚’å•ã‚ãšï¼‰ã‚‚ +\item[remove\_cache(\meta{filename})] +ã‚ャッシュ\meta{filename}を削除ã™ã‚‹ï¼Žãƒ†ã‚スト形å¼ï¼ˆgzip圧縮ã•ã‚Œã¦ã„ã‚‹ã‹å¦ã‹ã‚’å•ã‚ãšï¼‰ã‚‚ ãƒã‚¤ãƒŠãƒªå½¢å¼ã‚‚ã¾ã¨ã‚ã¦å‰Šé™¤ã™ã‚‹ï¼Ž \end{cslist} %</ja> @@ -11912,12 +11871,16 @@ direction~whatsit内部ã®ãƒŽãƒ¼ãƒ‰ãƒªã‚¹ãƒˆã«ï¼Œ\textit{dir\_box}ã¨ã—ã¦æ ¼ç {\fboxsep0pt\fcolorbox{cyan}{white}% {\large\KOZM\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%" } + \def\DH#1#2#3#4{% + {\fboxsep0pt\fcolorbox{cyan}{white}% + {\large\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%" + } \caption{\LuaTeX-ja標準ã§è¡Œã‚れる縦組形ã¸ã®ç½®æ›} \label{tab:vert_replace}\small\centering \begin{tabular}{*{3}{l@{}>{${}\longmapsto{}$}c@{}l}} \toprule - \D 3001&&\D FE11&\D 3002&&\D FE12&\D 3016&&\D FE17\\ - \D 3017&&\D FE18&\D 2026&&\D FE19&\D 2025&&\D FE30\\ + \D 3001&&\D FE11&\D 3002&&\D FE12&\D 3016&&\DH FE17\\ + \D 3017&&\DH FE18&\D 2026&&\D FE19&\D 2025&&\D FE30\\ \D 2014&&\D FE31&\D 2013&&\D FE32&\D FF3F&&\D FE33\\ \D FF08&&\D FE35&\D FF09&&\D FE36&\D FF5B&&\D FE37\\ \D FF5D&&\D FE38&\D 3014&&\D FE39&\D 3015&&\D FE3A\\ @@ -11999,6 +11962,22 @@ ISO 32000-1:2008, \textit{Document management -- Portable document format -- Par \bibitem{bxghost} Takuto ASAKURA. \newblock The \textsf{BXghost} Package. \url{https://github.com/wtsnjp/BXghost} \end{thebibliography} +\makeatletter +\let\ltj@@end=\@@end +{\catcode`\%=12\relax\catcode`\~=12\relax +\protected\gdef\@@end{% +\typeout{attributes:} +\directlua{ + for i=0,65535 do + local a = tex.getattribute(i) + if a~=-0x7FFFFFFF then + texio.write_nl('term and log', + string.format('attr %6d, %d', i, a)) + end + tex.setbox('global', i, nil) + end + print('IC', luatexja.inherit_na_count ) +}\ltj@@end}} \end{document} %</!showexpl> %<*showexpl> diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty index 6ac200b7e6..37346b2fad 100644 --- a/macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty +++ b/macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty @@ -64,7 +64,7 @@ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname \csname iftrue\endcsname \NeedsTeXFormat{LaTeX2e} - \ProvidesPackage{luatexja-otf}[2019-09-26] + \ProvidesPackage{luatexja-otf}[2022-10-02] \fi %</LaTeX> % Load core module if not yet. @@ -85,8 +85,7 @@ %! Main part of luatexja-otf \RequireLuaTeXjaSubmodule{otf} -\newcount\ltj@tempcnta - +%\newcount\ltj@tempcnta % defined at luatexja-core.sty \protected\def\CID#1{\ifvmode\leavevmode\fi\ltj@tempcnta#1\relax\directlua{luatexja.otf.cid(\the\ltj@tempcnta)}\relax} %% \UTF compatible with the OTF package for pLaTeX diff --git a/macros/luatex/generic/luatexja/src/jfm-CCT.lua b/macros/luatex/generic/luatexja/src/jfm-CCT.lua index c41f6da311..5d861ba761 100644 --- a/macros/luatex/generic/luatexja/src/jfm-CCT.lua +++ b/macros/luatex/generic/luatexja/src/jfm-CCT.lua @@ -13,7 +13,7 @@ luatexja.jfont.define_jfm { [1] = { -- fw. opening punctuations chars = { - 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, + 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F }, align = 'right', left = 0.0, down = 0.0, @@ -25,9 +25,9 @@ luatexja.jfont.define_jfm { [2] = { -- fw. closing/colon punctuations chars = { - 0x2019, 0x201D, 0x3001, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, + 0x2019, 0x201D, 0x3001, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301F, 0xFF09, 0xFF0C, 0xFF3D, 0xFF5D, 0xFF60, - 0xFF1A, 0xFF1B + 0xFF1A, 0xFF1B }, align = 'left', left = 0.0, down = 0.0, width = 0.5, height = 0.88, depth = 0.12, italic=0.0, diff --git a/macros/luatex/generic/luatexja/src/jfm-banjiao.lua b/macros/luatex/generic/luatexja/src/jfm-banjiao.lua index 783e836ba2..b30d040548 100644 --- a/macros/luatex/generic/luatexja/src/jfm-banjiao.lua +++ b/macros/luatex/generic/luatexja/src/jfm-banjiao.lua @@ -13,7 +13,7 @@ luatexja.jfont.define_jfm { [1] = { -- fw. opening punctuations chars = { - 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, + 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F }, align = 'right', left = 0.0, down = 0.0, @@ -25,7 +25,7 @@ luatexja.jfont.define_jfm { [2] = { -- fw. closing/colon/dot punctuations, except 4 & 7 chars = { - 0x2019, 0x201D, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, + 0x2019, 0x201D, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301F, 0xFF09, 0xFF0C, 0xFF3D, 0xFF5D, 0xFF60, 0xFF0E, 0xFF1A, 0xFF1B, 0xFF01, 0xFF1F }, diff --git a/macros/luatex/generic/luatexja/src/jfm-jis.lua b/macros/luatex/generic/luatexja/src/jfm-jis.lua index 642a2475e5..818e3abc80 100644 --- a/macros/luatex/generic/luatexja/src/jfm-jis.lua +++ b/macros/luatex/generic/luatexja/src/jfm-jis.lua @@ -21,7 +21,7 @@ luatexja.jfont.define_jfm { [1] = { -- é–‹ã括弧類 chars = { - '‘', '“', '〈', '《', '「', '『', 'ã€', '〔', '〖', + '‘', '“', '〈', '《', '「', '『', 'ã€', '〔', '〖', '〘', 'ã€', '(', 'ï¼»', 'ï½›', '⦅' }, align = 'right', left = 0.0, down = 0.0, @@ -33,7 +33,7 @@ luatexja.jfont.define_jfm { [2] = { -- é–‰ã˜æ‹¬å¼§é¡ž chars = { - '’', 'â€', 'ã€', '〉', '》', 'ã€', 'ã€', '】', '〕', + '’', 'â€', 'ã€', '〉', '》', 'ã€', 'ã€', '】', '〕', '〗', '〙', '〟', ')', ',', 'ï¼½', 'ï½', 'ï½ ' }, align = 'left', left = 0.0, down = 0.0, diff --git a/macros/luatex/generic/luatexja/src/jfm-kaiming.lua b/macros/luatex/generic/luatexja/src/jfm-kaiming.lua index 63ac222311..a046488475 100644 --- a/macros/luatex/generic/luatexja/src/jfm-kaiming.lua +++ b/macros/luatex/generic/luatexja/src/jfm-kaiming.lua @@ -13,7 +13,7 @@ luatexja.jfont.define_jfm { [1] = { -- fw. opening punctuations chars = { - 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, + 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F }, align = 'right', left = 0.0, down = 0.0, @@ -25,9 +25,9 @@ luatexja.jfont.define_jfm { [2] = { -- fw. closing/colon/dot punctuations, except 4 & 7 chars = { - 0x2019, 0x201D, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, + 0x2019, 0x201D, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301F, 0xFF09, 0xFF0C, 0xFF3D, 0xFF5D, 0xFF60, - 0xFF0E, 0xFF1A, 0xFF1B + 0xFF0E, 0xFF1A, 0xFF1B }, align = 'left', left = 0.0, down = 0.0, width = 0.5, height = 0.88, depth = 0.12, italic=0.0, diff --git a/macros/luatex/generic/luatexja/src/jfm-min.lua b/macros/luatex/generic/luatexja/src/jfm-min.lua index b59b5329c4..e07b330039 100644 --- a/macros/luatex/generic/luatexja/src/jfm-min.lua +++ b/macros/luatex/generic/luatexja/src/jfm-min.lua @@ -68,8 +68,8 @@ luatexja.jfont.define_jfm { [3] = { chars = { '∴', '♀', '♂', '〃', '々', 'ã', 'ãƒ', 'ã…', 'ã‡', 'ã‰', 'ã£', 'ゃ', 'ã‚… ', - 'ょ', 'ã‚Ž', 'ã‚•', 'ã‚–', 'ã‚ž', 'ã‚¡', 'ã‚£', 'ã‚¥', 'ェ', 'ã‚©', 'ッ', 'ャ', 'ュ', 'ョ', - 'ヮ', 'ヵ', 'ヶ', 'ㇰ', 'ㇱ', 'ㇲ', 'ㇳ', 'ㇴ', 'ㇵ', 'ㇶ', 'ㇷ', 'ㇸ', 'ㇹ', 'ㇺ', + 'ょ', 'ã‚Ž', 'ã‚•', 'ã‚–', 'ã‚ž', 'ã‚¡', 'ã‚£', 'ã‚¥', 'ェ', 'ã‚©', 'ッ', 'ャ', 'ュ', 'ョ', + 'ヮ', 'ヵ', 'ヶ', 'ㇰ', 'ㇱ', 'ㇲ', 'ㇳ', 'ㇴ', 'ㇵ', 'ㇶ', 'ㇷ', 'ㇸ', 'ㇹ', 'ㇺ', 'ㇻ', 'ㇼ', 'ㇽ', 'ㇾ', 'ㇿ', '$', 'ï¿ ', 'ï¿¡' }, align = 'middle', left = 0.0, down = 0.0, @@ -207,7 +207,7 @@ luatexja.jfont.define_jfm { }, [12] = { chars = { - 'ã‚¢', 'イ', 'ウ', 'オ', 'ケ', 'ゲ', 'サ', 'ザ', 'ソ', 'ゾ', 'ãƒ', 'ヂ', 'ツ', + 'ã‚¢', 'イ', 'ウ', 'オ', 'ケ', 'ゲ', 'サ', 'ザ', 'ソ', 'ゾ', 'ãƒ', 'ヂ', 'ツ', 'ヅ', 'ト', 'ド', 'ナ', 'フ', 'ブ', 'プ', 'ミ', 'メ', 'ラ', 'リ', 'ワ', 'ヲ' }, align = 'left', left = 0.0, down = 0.0, diff --git a/macros/luatex/generic/luatexja/src/jfm-quanjiao.lua b/macros/luatex/generic/luatexja/src/jfm-quanjiao.lua index 20590b6a96..2718e1b715 100644 --- a/macros/luatex/generic/luatexja/src/jfm-quanjiao.lua +++ b/macros/luatex/generic/luatexja/src/jfm-quanjiao.lua @@ -13,7 +13,7 @@ luatexja.jfont.define_jfm { [1] = { -- fw. opening punctuations chars = { - 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, + 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F }, align = 'right', left = 0.0, down = 0.0, @@ -25,7 +25,7 @@ luatexja.jfont.define_jfm { [2] = { -- fw. closing/colon/dot punctuations, except 4 & 7 chars = { - 0x2019, 0x201D, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, + 0x2019, 0x201D, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301F, 0xFF09, 0xFF0C, 0xFF3D, 0xFF5D, 0xFF60, 0xFF0E, 0xFF1A, 0xFF1B, 0xFF01, 0xFF1F }, diff --git a/macros/luatex/generic/luatexja/src/jfm-ujis.lua b/macros/luatex/generic/luatexja/src/jfm-ujis.lua index 08f567d20a..2b94eca6db 100644 --- a/macros/luatex/generic/luatexja/src/jfm-ujis.lua +++ b/macros/luatex/generic/luatexja/src/jfm-ujis.lua @@ -26,7 +26,7 @@ local t = { [207] = { 0, 0, 0, kanjiskip_shrink=1 }, [8] = { 0, 0, 0, kanjiskip_shrink=1 }, }, - kern = { [307] = 0 }, + kern = { [307] = 0 }, round_threshold = 0.01, }, @@ -250,7 +250,7 @@ local t = { [6] = { 0, 0, 0, kanjiskip_shrink=1 }, [8] = { 0, 0, 0, kanjiskip_shrink=1 }, }, - kern = { [307] = 0 }, + kern = { [307] = 0 }, }, [107] = { -- 1/3 角 diff --git a/macros/luatex/generic/luatexja/src/jfm-ujisv.lua b/macros/luatex/generic/luatexja/src/jfm-ujisv.lua index 2bfe670b9e..7e870046c5 100644 --- a/macros/luatex/generic/luatexja/src/jfm-ujisv.lua +++ b/macros/luatex/generic/luatexja/src/jfm-ujisv.lua @@ -26,7 +26,7 @@ local t = { [207] = { 0, 0, 0, kanjiskip_shrink=1 }, [8] = { 0, 0, 0, kanjiskip_shrink=1 }, }, - kern = { [307] = 0 }, + kern = { [307] = 0 }, round_threshold = 0.01, }, diff --git a/macros/luatex/generic/luatexja/src/lltjext.sty b/macros/luatex/generic/luatexja/src/lltjext.sty index 532e7a2934..a83c9305c9 100644 --- a/macros/luatex/generic/luatexja/src/lltjext.sty +++ b/macros/luatex/generic/luatexja/src/lltjext.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjext}[2021-04-20 v1.2k-ltj-13 Macros for vertical writing] +\ProvidesPackage{lltjext}[2022-08-24 v1.2k-ltj-14 Macros for vertical writing] \RequirePackage{luatexja} \newcount\ltj@ext@dir \let\ltj@lltjext@orig@tabular=\tabular @@ -511,6 +511,8 @@ \def\ltj@@pic@reset@blshift{% \ltj@yablshift\z@\ltj@ykblshift\z@ \ltj@tablshift\z@\ltj@tkblshift\z@ + %\unsetattribute\ltj@yablshift\unsetattribute\ltj@ykblshift + %\unsetattribute\ltj@tablshift\unsetattribute\ltj@tkblshift }% \def\@@picture<#1>(#2,#3)(#4,#5){% \edef\ltj@@pic@save@blshift{% diff --git a/macros/luatex/generic/luatexja/src/ltj-adjust.lua b/macros/luatex/generic/luatexja/src/ltj-adjust.lua index 053b63ab1a..89ad7816d2 100644 --- a/macros/luatex/generic/luatexja/src/ltj-adjust.lua +++ b/macros/luatex/generic/luatexja/src/ltj-adjust.lua @@ -12,21 +12,29 @@ luatexja.adjust = luatexja.adjust or {} local to_node = node.direct.tonode local to_direct = node.direct.todirect -local setfield = node.direct.setfield -local setglue = luatexja.setglue local getfield = node.direct.getfield local getlist = node.direct.getlist local getid = node.direct.getid local getfont = node.direct.getfont local getsubtype = node.direct.getsubtype +local getlang = node.direct.getlang +local getkern = node.direct.getkern +local getshift = node.direct.getshift +local getwidth = node.direct.getwidth +local getdepth = node.direct.getdepth +local setfield = node.direct.setfield +local setpenalty = node.direct.setpenalty +local setglue = node.direct.setglue +local setkern = node.direct.setkern +local setlist = node.direct.setlist local node_traverse_id = node.direct.traverse_id local node_new = node.direct.new local node_next = node.direct.getnext -local node_free = node.direct.free +local node_free = node.direct.flush_node or node.direct.free local node_prev = node.direct.getprev local node_tail = node.direct.tail -local has_attr = node.direct.has_attribute +local get_attr = node.direct.get_attribute local set_attr = node.direct.set_attribute local insert_after = node.direct.insert_after @@ -55,7 +63,7 @@ local get_attr_icflag do local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG get_attr_icflag = function(p) - return (has_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG + return (get_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG end end @@ -73,7 +81,7 @@ do for i=0,63 do tmp[#tmp+1] = { (i%8)-4, FROM_JFM+i } end else -- stretch for i=0,63 do tmp[#tmp+1] = { math.floor(i/8)-4, FROM_JFM+i } end - end + end local pt = priority_table[glue_sign] tmp[#tmp+1] = { pt[2]/10, XKANJI_SKIP } tmp[#tmp+1] = { pt[2]/10, XKANJI_SKIP_JFM } @@ -111,13 +119,13 @@ function get_total_stretched(p) for q in node_traverse_id(id_glue, ph) do local a = getfield(q, 'stretch_order') if a==0 then - local b = at2pr_st[get_attr_icflag(q)]; + local b = at2pr_st[get_attr_icflag(q)]; total_st[b] = total_st[b]+getfield(q, 'stretch') end total_st[a*65536] = total_st[a]+getfield(q, 'stretch') local a = getfield(q, 'shrink_order') if a==0 then - local b = at2pr_sh[get_attr_icflag(q)]; + local b = at2pr_sh[get_attr_icflag(q)]; total_sh[b] = total_sh[b]+getfield(q, 'shrink') end total_sh[a*65536] = total_sh[a]+getfield(q, 'shrink') @@ -130,7 +138,7 @@ function get_total_stretched(p) if not total_sh.order then total_sh.order, total_sh[-65536] = -1,0.1 -- dummy end - return getfield(p,'width') - dimensions(ph) + return getwidth(p) - dimensions(ph) end end @@ -152,7 +160,7 @@ local function aw_step1(p, total) -- ç„¡é™å¤§ã®ã‚°ãƒ«ãƒ¼ã§å‡¦ç†ãŒè¡Œã‚ã‚Œã¦ã„ã‚‹ã¨ãã¯å‡¦ç†ä¸æ¢ï¼Ž return total, false end - if xi == id_glyph and getfield(x, 'lang')==lang_ja then + if xi == id_glyph and getlang(x)==lang_ja then -- å’Œæ–‡æ–‡å— xc = x elseif xi == id_hlist and get_attr_icflag(x) == PACKED then @@ -163,8 +171,8 @@ local function aw_step1(p, total) return total, false-- ãれ以外ã¯å¯¾è±¡å¤–. end local eadt = ltjf_font_metric_table[getfont(xc)] - .char_type[has_attr(xc, attr_jchar_class) or 0].end_adjust - if not eadt then + .char_type[get_attr(xc, attr_jchar_class) or 0].end_adjust + if not eadt then return total, false end local eadt_ratio = {} @@ -176,8 +184,8 @@ local function aw_step1(p, total) eadt_ratio[i] = {i, t/total_sh[65536*total_sh.order], t, v} end end - table.sort(eadt_ratio, - function (a,b) + table.sort(eadt_ratio, + function (a,b) for i=2,4 do local at, bt = abs(a[i]), abs(b[i]) if at~=bt then return at<bt end @@ -186,7 +194,7 @@ local function aw_step1(p, total) end) if eadt[eadt_ratio[1][1]]~=0 then local kn = node_new(id_kern, 1) - setfield(kn, 'kern', eadt[eadt_ratio[1][1]]); set_attr(kn, attr_icflag, LINEEND) + setkern(kn, eadt[eadt_ratio[1][1]]); set_attr(kn, attr_icflag, LINEEND) insert_after(head, x, kn) return eadt_ratio[1][3], true else @@ -196,6 +204,7 @@ end -- step 1 最終行用 local min, max = math.min, math.max +local setsubtype = node.direct.setsubtype local function aw_step1_last(p, total) local head = getlist(p) local x = node_tail(head); if not x then return total, false end @@ -204,7 +213,7 @@ local function aw_step1_last(p, total) if getid(pf) ~= id_glue or getsubtype(pf) ~= 15 then return total, false end x = node_prev(node_prev(pf)) local xi, xc = getid(x) - if xi == id_glyph and getfield(x, 'lang')==lang_ja then + if xi == id_glyph and getlang(x)==lang_ja then -- å’Œæ–‡æ–‡å— xc = x elseif xi == id_hlist and get_attr_icflag(x) == PACKED then @@ -230,30 +239,30 @@ local function aw_step1_last(p, total) end end local eadt = ltjf_font_metric_table[getfont(xc)] - .char_type[has_attr(xc, attr_jchar_class) or 0].end_adjust - if not eadt then + .char_type[get_attr(xc, attr_jchar_class) or 0].end_adjust + if not eadt then return total, false end -- 続行æ¡ä»¶2: min(eadt[1], 0)<= \parfillskip <= max(eadt[#eadt], 0) - local pfw = getfield(pf, 'width') - + (total>0 and getfield(pf, 'stretch') or -getfield(pf, 'shrink')) *getfield(p, 'glue_set') + local pfw = getwidth(pf) + + (total>0 and getfield(pf, 'stretch') or -getfield(pf, 'shrink')) *getfield(p, 'glue_set') if pfw<min(0,eadt[1]) or max(0,eadt[#eadt])<pfw then return total, false end -- \parfillskip ã‚’ 0 ã«ã™ã‚‹ - total = total + getfield(pf, 'width') + total = total + getwidth(pf) total_st.order, total_sh.order = 0, 0 - if getfield(pf, 'stretch_order')==0 then - local i = at2pr_st[-1] - total_st[0] = total_st[0] - getfield(pf, 'stretch') - total_st[i] = total_st[i] - getfield(pf, 'stretch') + if getfield(pf, 'stretch_order')==0 then + local i = at2pr_st[-1] + total_st[0] = total_st[0] - getfield(pf, 'stretch') + total_st[i] = total_st[i] - getfield(pf, 'stretch') total_st.order = (total_st[0]==0) and -1 or 0 end - if getfield(pf, 'shrink_order')==0 then - local i = at2pr_sh[-1] - total_sh[0] = total_sh[0] - getfield(pf, 'shrink') - total_sh[i] = total_sh[i] - getfield(pf, 'shrink') + if getfield(pf, 'shrink_order')==0 then + local i = at2pr_sh[-1] + total_sh[0] = total_sh[0] - getfield(pf, 'shrink') + total_sh[i] = total_sh[i] - getfield(pf, 'shrink') total_sh.order = (total_sh[0]==0) and -1 or 0 end - setfield(pf, 'subtype', 1); setglue(pf) + setsubtype(pf, 1); setglue(pf) local eadt_ratio = {} for i, v in ipairs(eadt) do local t = total - v @@ -263,8 +272,8 @@ local function aw_step1_last(p, total) eadt_ratio[i] = {i, t/total_sh[65536*total_sh.order], t, v} end end - table.sort(eadt_ratio, - function (a,b) + table.sort(eadt_ratio, + function (a,b) for i=2,4 do local at, bt = abs(a[i]), abs(b[i]) if at~=bt then return at<bt end @@ -273,7 +282,7 @@ local function aw_step1_last(p, total) end) if eadt[eadt_ratio[1][1]]~=0 then local kn = node_new(id_kern, 1) - setfield(kn, 'kern', eadt[eadt_ratio[1][1]]); set_attr(kn, attr_icflag, LINEEND) + setkern(kn, eadt[eadt_ratio[1][1]]); set_attr(kn, attr_icflag, LINEEND) insert_after(head, x, kn) return eadt_ratio[1][3], true else @@ -289,9 +298,9 @@ local node_hpack = node.direct.hpack local function repack(p) local orig_of, orig_hfuzz, orig_hbad = tex.overfullrule, tex.hfuzz, tex.hbadness tex.overfullrule=0; tex.hfuzz=1073741823; tex.hbadness=10000 - local f = node_hpack(getlist(p), getfield(p, 'width'), 'exactly') + local f = node_hpack(getlist(p), getwidth(p), 'exactly') tex.overfullrule=orig_of; tex.hfuzz=orig_hfuzz; tex.hbadness=orig_hbad - setfield(f, 'head', nil) + setlist(f, nil) setfield(p, 'glue_set', getfield(f, 'glue_set')) setfield(p, 'glue_order', getfield(f, 'glue_order')) setfield(p, 'glue_sign', getfield(f, 'glue_sign')) @@ -328,14 +337,14 @@ function aw_step2(p, total, added_flag) local id = (total>0) and 1 or 2 local res = total_stsh[id] local pnum = priority_num[id] - if total==0 or res.order > 0 then + if total==0 or res.order > 0 then -- ã‚‚ã¨ã‚‚ã¨ä¼¸ç¸®ã®å¿…è¦ãªã—ã‹ï¼Œæ®‹ã‚Šã®ä¼¸ç¸®é‡ã¯ç„¡é™å¤§ if added_flag then return repack(p) end end total = abs(total) for i = 1, pnum do if total <= res[i] then - local a = at2pr[id] + local a = at2pr[id] for j = i+1,pnum do clear_stretch(p, j, a, name) end @@ -353,32 +362,32 @@ do local insert_before = node.direct.insert_before local KINSOKU = luatexja.icflag_table.KINSOKU insert_lineend_kern = function (head, nq, np, Bp) - if nq.met then + if nq.met then local eadt = nq.met.char_type[nq.class].end_adjust if not eadt then return end if eadt[1]~=0 then local x = node_new(id_kern, 1) - setfield(x, 'kern', eadt[1]); set_attr(x, attr_icflag, LINEEND) + setkern(x, eadt[1]); set_attr(x, attr_icflag, LINEEND) insert_before(head, np.first, x) end local eadt_num = #eadt for i=2,eadt_num do local x = node_new(id_penalty) - setfield(x, 'penalty', 0); set_attr(x, attr_icflag, KINSOKU) + setpenalty(x, 0); set_attr(x, attr_icflag, KINSOKU) insert_before(head, np.first, x); Bp[#Bp+1] = x local x = node_new(id_kern, 1) - setfield(x, 'kern', eadt[i]-eadt[i-1]); set_attr(x, attr_icflag, LINEEND) + setkern(x, eadt[i]-eadt[i-1]); set_attr(x, attr_icflag, LINEEND) insert_before(head, np.first, x) end if eadt_num>1 or eadt[1]~=0 then local x = node_new(id_penalty) - setfield(x, 'penalty', 0); set_attr(x, attr_icflag, KINSOKU) + setpenalty(x, 0); set_attr(x, attr_icflag, KINSOKU) insert_before(head, np.first, x); Bp[#Bp+1] = x local x = node_new(id_kern, 1) - setfield(x, 'kern', -eadt[eadt_num]); set_attr(x, attr_icflag, LINEEND) + setkern(x, -eadt[eadt_num]); set_attr(x, attr_icflag, LINEEND) insert_before(head, np.first, x) local x = node_new(id_penalty) - setfield(x, 'penalty', 10000); set_attr(x, attr_icflag, KINSOKU) + setpenalty(x, 10000); set_attr(x, attr_icflag, KINSOKU) insert_before(head, np.first, x); Bp[#Bp+1] = x end end @@ -389,7 +398,6 @@ local adjust_width do local myaw_step1, myaw_step2, myaw_step1_last local dummy = function(p,t,n) return t, false end - local ltjs_fast_get_stack_skip = ltjs.fast_get_stack_skip function adjust_width(head) if not head then return head end local last_p @@ -408,7 +416,7 @@ do local function enable_cb(status_le, status_pr, status_lp, status_ls) if (status_le>0 or status_pr>0) and (not is_reg) then ltjb.add_to_callback('post_linebreak_filter', - adjust_width, 'Adjust width', + adjust_width, 'Adjust width', luatexbase.priority_in_callback('post_linebreak_filter', 'ltj.lineskip')-1) is_reg = true elseif is_reg and (status_le==0 and status_pr==0) then @@ -493,28 +501,26 @@ luatexja.unary_pars.profile_hgap_factor = function(t) return luatexja.adjust.profile_hgap_factor end do - local insert = table.insert + local insert, texget = table.insert, tex.get local rangedimensions, max = node.direct.rangedimensions, math.max local function profile_inner(box, range, ind, vmirrored, adj) - local w_acc, d_before = getfield(box,'shift'), 0 + local w_acc, d_before = getshift(box), 0 local x = getlist(box); local xn = node_next(x) while x do local w, h, d - if xn then w, h, d= rangedimensions(box,x,xn) - else w, h, d= rangedimensions(box,x) end + if xn then w, h, d = rangedimensions(box,x,xn) + else w, h, d = rangedimensions(box,x) end if vmirrored then h=d end local w_new = w_acc + w - if w>=0 then - range:insert(ind, h, w_acc-adj, w_new) - else - range:insert(ind, h, w_new-adj, w_acc) + if w>=0 then range:insert(ind, h, w_acc-adj, w_new) + else range:insert(ind, h, w_new-adj, w_acc) end w_acc = w_new; x = xn; if x then xn = node_next(x) end end - end + end function ltjl.p_profile(before, after, mirrored, bw) - local range, tls - = init_range(), luatexja.adjust.profile_hgap_factor*tex.get('lineskip', false) + local range, tls + = init_range(), luatexja.adjust.profile_hgap_factor*texget('lineskip', false) profile_inner(before, range, 3, true, tls) profile_inner(after, range, 4, mirrored, tls) range = range:flatten() @@ -527,8 +533,8 @@ do if bw-h-d<lmin then lmin=bw-h-d end end if lmin==1/0 then lmin = bw end - return lmin, - bw - lmin - getfield(before, 'depth') + return lmin, + bw - lmin - getdepth(before) - getfield(after, mirrored and 'depth' or 'height') end end @@ -536,7 +542,7 @@ end do local ltja = luatexja.adjust - local copy_glue = ltjl.copy_glue + local copy_glue, texget = ltjl.copy_glue, tex.get local floor, max = math.floor, math.max function ltjl.l_step(dist, g, adj, normal, bw, loc) if loc=='alignment' then @@ -544,7 +550,7 @@ do end if dist < tex.lineskiplimit then local f = max(1, bw*ltja.step_factor) - copy_glue(g, 'baselineskip', 1, normal - f * floor((dist-tex.get('lineskip', false))/f)) + copy_glue(g, 'baselineskip', 1, normal - f * floor((dist-texget('lineskip', false))/f)) else copy_glue(g, 'baselineskip', 2, normal) end @@ -556,13 +562,15 @@ do local sid_user = node.subtype 'user_defined' local node_remove = node.direct.remove local node_write = node.direct.write + local getvalue = node.direct.getdata + local setvalue = node.direct.setdata local GHOST_JACHAR = luatexbase.newuserwhatsitid('ghost of a jachar', 'luatexja') luatexja.userid_table.GHOST_JACHAR = GHOST_JACHAR function ltja.create_ghost_jachar_node(cl) local tn = node_new(id_whatsit, sid_user) setfield(tn, 'user_id', GHOST_JACHAR) setfield(tn, 'type', 100) - setfield(tn, 'value', cl) + setvalue(tn, cl) node_write(tn) end local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] @@ -570,19 +578,21 @@ do local dir_tate = luatexja.dir_table.dir_tate local get_dir_count = ltjd.get_dir_count local ltjf_font_metric_table = ltjf.font_metric_table + local has_attr = node.direct.has_attribute local function get_current_metric(n) - local fn = has_attr(n, (get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt) + local fn = get_attr(n, (get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt) return fn and ltjf_font_metric_table[fn] end local function whatsit_callback(Np, lp, Nq) if Np and Np.nuc then return Np elseif Np and getfield(lp, 'user_id') == GHOST_JACHAR then Np.first = lp; Np.nuc = lp; Np.last = lp; Np.class = 0 - if getfield(lp,'value')<2 then + if getvalue(lp)<2 then if Nq and Nq.met then Np.met = Nq.met; else Np.met = get_current_metric(lp) end Np.pre = 0; Np.post = 0; Np.xspc = 3 else Np.met, Np.pre = nil, nil; end - Np.auto_kspc, Np.auto_xspc = (has_attr(lp, attr_autospc)==1), (has_attr(lp, attr_autoxspc)==1) + Np.auto_kspc, Np.auto_xspc + = not has_attr(lp, attr_autospc, 0), not has_attr(lp, attr_autoxspc, 0) return Np else return Np end end @@ -590,7 +600,7 @@ do if not s and getfield(Nq.nuc, 'user_id') == GHOST_JACHAR then local x, y = node_prev(Nq.nuc), Nq.nuc Nq.first, Nq.nuc, Nq.last = x, x, x - if getfield(y,'value')%2==0 then + if getvalue(y)%2==0 then if Np and Nq.met then Nq.met = Np.met; else Nq.met = get_current_metric(y) end Nq.pre = 0; Nq.post = 0; Nq.xspc = 3 else Nq.met, Nq.pre = nil, nil; end diff --git a/macros/luatex/generic/luatexja/src/ltj-base.lua b/macros/luatex/generic/luatexja/src/ltj-base.lua index ad5bb816a5..41caef5b4c 100644 --- a/macros/luatex/generic/luatexja/src/ltj-base.lua +++ b/macros/luatex/generic/luatexja/src/ltj-base.lua @@ -7,7 +7,7 @@ local node, table, tex, token = node, table, tex, token local cat_lp = luatexbase.catcodetables['latex-package'] --------------------- +-------------------- local ltjb = {} luatexja.base = ltjb @@ -44,7 +44,7 @@ do _error_set_message = function (msgcont, main, help) err_main = message_cont(main, msgcont):gsub(BEL, LF) err_help = (help and help~="") and into_lines(help) - or {"Sorry, I don't know how to help in this situation.", + or {"Sorry, I don't know how to help in this situation.", "Maybe you should try asking a human?" } end @@ -129,7 +129,7 @@ end --- Extension to tex.print(). Each argument string may contain -- newline characters, in which case the string is output (to -- TeX input stream) as multiple lines. --- @param ... (string) string to output +-- @param ... (string) string to output local function mprint(...) local arg = {...} local lines = {} @@ -202,7 +202,7 @@ do local function in_unicode(c, admit_math) local low = admit_math and -1 or 0 if type(c)~='number' or c<low or c>0x10FFFF then - local s = 'A character number must be between ' .. tostring(low) + local s = 'A character number must be between ' .. tostring(low) .. ' and 0x10ffff.\n' .. (admit_math and "(-1 is used for denoting `math boundary')\n" or '') .. 'So I changed this one to zero.' @@ -222,7 +222,7 @@ end -- * return value: non-nil iff the cache is up-to-date -- save_cache (filename, t): no return value -- save_cache_luc (filename, t): no return value --- save_cache always calls save_cache_luc. +-- save_cache always calls save_cache_luc. -- But sometimes we want to create only the precompiled cache, -- when its 'text' version is already present in LuaTeX-ja distribution. @@ -274,8 +274,8 @@ do if s then local sa = load(s) local f = io.open(fullpath, 'wb') - if f and sa then - f:write(dump(sa, true)) + if f and sa then + f:write(dump(sa, true)) texio.write('log', '(save cache: ' .. fullpath .. ')') f:close() end @@ -307,17 +307,17 @@ do break end end - if (not result) or outdate(result) then - return nil - else - return result + if (not result) or outdate(result) then + return nil + else + return result end end - + local function load_cache(filename, outdate) remove_file_if_exist(savepath .. '/' .. filename .. '.lua') local r = load_cache_a(filename .. luc_suffix, outdate, false) - if r then + if r then return r else local r = load_cache_a(filename .. '.lua.gz', outdate, true) diff --git a/macros/luatex/generic/luatexja/src/ltj-base.sty b/macros/luatex/generic/luatexja/src/ltj-base.sty index d46b54a1fa..ba88ec9450 100644 --- a/macros/luatex/generic/luatexja/src/ltj-base.sty +++ b/macros/luatex/generic/luatexja/src/ltj-base.sty @@ -20,9 +20,9 @@ %% Registers %\newcount\ltj@tempcnta % defined at luatexja-core.sty +%\newcount\ltj@tempdima % defined at luatexja-core.sty \newcount\ltj@tempcntb \newcount\ltj@tempcntc -\newdimen\ltj@tempdima % \newskip\ltj@tempskipa unused % \newtoks\ltj@temptoks unused diff --git a/macros/luatex/generic/luatexja/src/ltj-charrange.lua b/macros/luatex/generic/luatexja/src/ltj-charrange.lua index 46075b2166..074ba3ce05 100644 --- a/macros/luatex/generic/luatexja/src/ltj-charrange.lua +++ b/macros/luatex/generic/luatexja/src/ltj-charrange.lua @@ -3,17 +3,18 @@ -- luatexbase.provides_module({ name = 'luatexja.charrange', - date = '2020-07-30', + date = '2022-08-19', description = 'Handling the range of Japanese characters', }) luatexja.charrange = {} luatexja.load_module 'base'; local ltjb = luatexja.base local getchar = node.direct.getchar -local has_attr = node.direct.has_attribute -local has_attr_node = node.has_attribute +local get_attr = node.direct.get_attribute +local get_attr_node = node.get_attribute local tex_getattr = tex.getattribute +local UNSET = -0x7FFFFFFF local ATTR_RANGE = 7 luatexja.charrange.ATTR_RANGE = ATTR_RANGE local jcr_cjk, jcr_noncjk = 0, 1 @@ -22,16 +23,22 @@ local kcat_attr_table = {} local pow_table = {} local fn_table = {} -- used in is_ucs_in_japanese_char_direct local nfn_table = {} -- used in is_ucs_in_japanese_char_node -for i = 0, 31*ATTR_RANGE-1 do - local ka, pw = luatexbase.attributes['ltj@kcat'..floor(i/31)], 1/(2^(i%31)) - local jcr_noncjk = jcr_noncjk - kcat_attr_table[i], pow_table[i] = ka, 2^(i%31) - fn_table[i] = function(p) return floor(has_attr(p, ka)*pw)%2 ~= jcr_noncjk end - nfn_table[i] = function(p) return floor(has_attr_node(p, ka)*pw)%2 ~= jcr_noncjk end +do + local ka = luatexbase.attributes['ltj@kcat0'] + for i = 0, 30 do + local pw = 2^i; kcat_attr_table[i], pow_table[i] = ka, pw + fn_table[i] = function(p) return get_attr(p, ka)&pw==0 end + nfn_table[i] = function(p) return get_attr_node(p, ka)&pw==0 end + end +end +for i = 31, 31*ATTR_RANGE-1 do + local ka, pw = luatexbase.attributes['ltj@kcat'..floor(i/31)], 2^(i%31) + kcat_attr_table[i], pow_table[i] = ka, pw + fn_table[i] = function(p) return (get_attr(p, ka) or 0)&pw==0 end + nfn_table[i] = function(p) return (get_attr_node(p, ka) or 0)&pw==0 end end fn_table[-1] = function() return false end -- for char --U+007F nfn_table[-1] = function() return false end -- for char --U+007F -pow_table[31*ATTR_RANGE] = 2^31 -- jcr_table_main[chr_code] = index -- index : internal 0, 1, 2, ..., 216 0: 'other' @@ -71,7 +78,8 @@ function luatexja.charrange.char_to_range(c) -- return the external range number end local function get_range_setting(i) -- i: internal range number - return floor(tex_getattr(kcat_attr_table[i])/pow_table[i])%2 + local a = tex_getattr(kcat_attr_table[i]) + return (a==UNSET and 0 or a)&pow_table[i] end -- glyph_node p ã¯å’Œæ–‡æ–‡å—ã‹ï¼Ÿ @@ -84,7 +92,7 @@ function luatexja.charrange.is_ucs_in_japanese_char_direct(p ,c) end function luatexja.charrange.is_japanese_char_curlist(c) -- assume that c>=0x80 - return get_range_setting(jcr_table_main[c])~= jcr_noncjk + return get_range_setting(jcr_table_main[c])==0 end -- EXT @@ -96,12 +104,11 @@ function luatexja.charrange.toggle_char_range(g, i) -- i: external range number elseif i==0 then return else local kc - if i>0 then kc=0 else kc=1; i=-i end - if i>=31*ATTR_RANGE then i=0 end - local attr = kcat_attr_table[i] - local a = tex_getattr(attr) - tex.setattribute(g, attr, - (floor(a/pow_table[i+1])*2+kc)*pow_table[i]+a%pow_table[i]) + if i>0 then kc=0 else kc=1; i=-i end; if i>=31*ATTR_RANGE then i=0 end + local attr, p = kcat_attr_table[i], pow_table[i] + local a = tex_getattr(attr); if a==UNSET then a=0 end + a = (a&~p)+kc*p; if a==0 and i>30 then a=UNSET end + tex.setattribute(g, attr, a) end end diff --git a/macros/luatex/generic/luatexja/src/ltj-compat.lua b/macros/luatex/generic/luatexja/src/ltj-compat.lua index dfb19ee2d0..25c9b880c2 100644 --- a/macros/luatex/generic/luatexja/src/ltj-compat.lua +++ b/macros/luatex/generic/luatexja/src/ltj-compat.lua @@ -4,7 +4,6 @@ luatexja.load_module 'base'; local ltjb = luatexja.base luatexja.load_module 'stack'; local ltjs = luatexja.stack -local stack_table_index = luatexja.stack_table_index -- load jisx0208 table local cache_ver = 3 @@ -18,20 +17,21 @@ end -- \kuten, \jis, \euc, \sjis, \ucs, \kansuji -local utfchar=utf.char +local utfchar, floor = utf.char, math.floor +local texwrite, getcount = tex.write, tex.getcount +local cnt_stack = luatexbase.registernumber 'ltj@@stack' +local KSJ = luatexja.stack_table_index.KSJ +local get_stack_table = ltjs.get_stack_table local function to_kansuji(num) if not num then num=0; return - elseif num<0 then - num = -num; tex.write '-' + elseif num<0 then num = -num; texwrite '-' end local s = "" repeat - s = utfchar( - ltjs.get_stack_table(luatexja.stack_table_index.KSJ + num%10, - '', tex.getcount 'ltj@@stack')) .. s - num=math.floor(num/10) + s = utfchar(get_stack_table(KSJ + num%10, '', getcount(cnt_stack))) .. s + num=num//10 until num==0 - tex.write(s) + texwrite(s) end local function error_invalid_charcode(i) @@ -43,22 +43,22 @@ end -- \ucs: å˜ãªã‚‹ identity local function from_ucs(i) if type(i)~='number' then error_invalid_charcode(i); i=0 end - tex.write(i) + texwrite(i) end -- \kuten: é¢åŒºç‚¹ (ãã‚Œãžã‚Œã§16進2æ¡ã‚’使用)=> Unicode 符å·ä½ç½® local function from_kuten(i) if type(i)~='number' then error_invalid_charcode(i); i=0 end if (i%256==0)or(i%256>94) then - tex.write '0' - else - tex.write(tostring(jisx0208.table_jisx0208_uptex[math.floor(i/256)*94+(i%256)-94] or 0)) + texwrite '0' + else + texwrite(tostring(jisx0208.table_jisx0208_uptex[(i//256)*94+(i%256)-94] or 0)) end end -- \euc: EUC-JP ã«ã‚ˆã‚‹ç¬¦å·ä½ç½® => Unicode 符å·ä½ç½® local function from_euc(i) - if type(i)~='number' then + if type(i)~='number' then error_invalid_charcode(i); i=0 elseif i>=0x10000 or i<0xa0a0 then i=0 @@ -75,10 +75,9 @@ end -- \sjis: Shift_JIS ã«ã‚ˆã‚‹ç¬¦å·ä½ç½® => Unicode 符å·ä½ç½® local function from_sjis(i) if (type(i)~='number') or i>=0x10000 or i<0 then - error_invalid_charcode(i); tex.write '0'; return + error_invalid_charcode(i); texwrite '0'; return end - local c2 = math.floor(i/256) - local c1 = i%256 + local c2, c1 = i//256, i%256 local shift_jisx0213_s1a3_table = { { [false]= 1, [true]= 8}, { [false]= 3, [true]= 4}, @@ -113,7 +112,7 @@ luatexja.binary_pars.kansujichar = function(c, t) 'So I changed this one to zero.') c=0 end - return ltjs.get_stack_table(stack_table_index.KSJ + c, 0, t) + return get_stack_table(KSJ + c, 0, t) end diff --git a/macros/luatex/generic/luatexja/src/ltj-debug.lua b/macros/luatex/generic/luatexja/src/ltj-debug.lua index c337c014fe..912242615a 100644 --- a/macros/luatex/generic/luatexja/src/ltj-debug.lua +++ b/macros/luatex/generic/luatexja/src/ltj-debug.lua @@ -79,7 +79,7 @@ end local function pformat(fmt, ...) if type(fmt) == "string" then return do_pformat(fmt, ...) - else + else return tosource(fmt) end end @@ -105,7 +105,7 @@ do end local function print_measure() - stop_time_measure('RUN') + stop_time_measure 'RUN' local temp = {} for i,v in pairs(time_stat) do temp[#temp+1] = { i, v[1], v[2], v[2]/v[1] } @@ -121,10 +121,10 @@ do luatexja.base.start_time_measure = start_time_measure luatexja.base.stop_time_measure = stop_time_measure luatexbase.add_to_callback('stop_run', print_measure, 'luatexja.time_measure', 1) - luatexbase.add_to_callback('pre_linebreak_filter', - function(p) - start_time_measure('tex_linebreak'); return p - end, + luatexbase.add_to_callback('pre_linebreak_filter', + function(p) + start_time_measure 'tex_linebreak'; return p + end, 'measure_tex_linebreak', 20000) end end diff --git a/macros/luatex/generic/luatexja/src/ltj-direction.lua b/macros/luatex/generic/luatexja/src/ltj-direction.lua index 4a0ad3ab06..5321f232f4 100644 --- a/macros/luatex/generic/luatexja/src/ltj-direction.lua +++ b/macros/luatex/generic/luatexja/src/ltj-direction.lua @@ -9,25 +9,32 @@ luatexja.direction = {} local attr_dir = luatexbase.attributes['ltj@dir'] local attr_icflag = luatexbase.attributes['ltj@icflag'] +local dnode = node.direct local cat_lp = luatexbase.catcodetables['latex-package'] -local to_node = node.direct.tonode -local to_direct = node.direct.todirect -local has_attr = node.direct.has_attribute -local set_attr = node.direct.set_attribute -local insert_before = node.direct.insert_before -local insert_after = node.direct.insert_after -local getid = node.direct.getid -local getsubtype = node.direct.getsubtype -local getlist = node.direct.getlist -local setfield = node.direct.setfield -local getfield = node.direct.getfield -local node_new = node.direct.new -local node_tail = node.direct.tail -local node_free = node.direct.free -local node_remove = node.direct.remove -local node_next = node.direct.getnext -local traverse = node.direct.traverse -local traverse_id = node.direct.traverse_id +local to_node = dnode.tonode +local to_direct = dnode.todirect +local get_attr = dnode.get_attribute +local set_attr = dnode.set_attribute +local insert_before = dnode.insert_before +local insert_after = dnode.insert_after +local getid = dnode.getid +local getsubtype = dnode.getsubtype +local getlist = dnode.getlist +local getfield = dnode.getfield +local getwhd = dnode.getwhd +local getvalue = node.direct.getdata +local setfield = dnode.setfield +local setwhd = dnode.setwhd +local setnext = dnode.setnext +local setlist = dnode.setlist +local setvalue = node.direct.setdata + +local node_new = dnode.new +local node_free = dnode.flush_node or dnode.free +local node_remove = dnode.remove +local node_next = dnode.getnext +local traverse = dnode.traverse +local traverse_id = dnode.traverse_id local start_time_measure, stop_time_measure = ltjb.start_time_measure, ltjb.stop_time_measure local abs = math.abs @@ -37,12 +44,11 @@ local id_hlist = node.id 'hlist' local id_vlist = node.id 'vlist' local id_whatsit = node.id 'whatsit' local sid_save = node.subtype 'pdf_save' -local sid_restore= node.subtype 'pdf_restore' -local sid_matrix = node.subtype 'pdf_setmatrix' local sid_user = node.subtype 'user_defined' +local getnest = tex.getnest local tex_nest = tex.nest -local tex_getcount = tex.getcount +local getcount = tex.getcount local ensure_tex_attr = ltjb.ensure_tex_attr local PROCESSED = luatexja.icflag_table.PROCESSED local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG @@ -56,21 +62,21 @@ local dir_math_mod = luatexja.dir_table.dir_math_mod local dir_node_auto = luatexja.dir_table.dir_node_auto local dir_node_manual = luatexja.dir_table.dir_node_manual local function get_attr_icflag(p) - return (has_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG + return (get_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG end local page_direction -- local dir_pool do - local node_copy = node.direct.copy + local node_copy = dnode.copy dir_pool = {} for _,i in pairs({dir_tate, dir_yoko, dir_dtou, dir_utod}) do local w = node_new(id_whatsit, sid_user) - set_attr(w, attr_dir, i) + dnode.setattributelist(w, nil) + set_attr(w, attr_dir, i); set_attr(w, attr_icflag, 0) setfield(w, 'user_id', DIR) - setfield(w, 'type', 110) - setfield(w, 'next', nil) + setfield(w, 'type', 110); setnext(w, nil) dir_pool[i] = function () return node_copy(w) end end end @@ -92,7 +98,7 @@ end local get_dir_count, get_adjust_dir_count do - local node_attr = node.has_attribute + local node_attr = node.get_attribute local function get_dir_count_inner(h) if h then if h.id==id_whatsit and h.subtype==sid_user and h.user_id==DIR then @@ -107,7 +113,7 @@ do end function get_dir_count() for i=tex_nest.ptr, 1, -1 do - local h = tex_nest[i].head.next + local h = getnest(i).head.next if h then local t = get_dir_count_inner(h) if t~=0 then return t end @@ -117,7 +123,7 @@ do end function get_adjust_dir_count() for i=tex_nest.ptr, 1, -1 do - local v = tex_nest[i] + local v = getnest(i) local h, m = v.head.next, v.mode if abs(m)== ltjs.vmode and h then local t = get_dir_count_inner(h) @@ -171,21 +177,20 @@ do local node_next_node, node_tail_node = node.next, node.tail local insert_after_node = node.insert_after function luatexja.direction.set_list_direction_hook(v) - local lv = tex_nest.ptr -- must be >= 1 if not v then v = get_dir_count() - if abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then + if abs(getnest(tex_nest.ptr-1).mode) == ltjs.mmode and v == dir_tate then v = dir_utod end elseif v=='adj' then v = get_adjust_dir_count() end - local h = tex_nest[lv].head + local h = getnest().head local hn = node.next(h) hn = (hn and hn.id==id_local) and hn or h local w = to_node(dir_pool[v]()) insert_after_node(h, hn, w) - tex_nest[lv].tail = node_tail_node(w) + getnest().tail = node_tail_node(w) ensure_tex_attr(attr_icflag, 0) ensure_tex_attr(attr_dir, 0) end @@ -194,13 +199,13 @@ do local lv = tex_nest.ptr if not v then v,name = get_dir_count(), nil - if lv>=1 and abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then + if lv>=1 and abs(getnest(lv-1).mode) == ltjs.mmode and v == dir_tate then v = dir_utod end elseif v=='adj' then v,name = get_adjust_dir_count(), nil end - local current_nest = tex_nest[lv] + local current_nest = getnest() if tex.currentgrouptype==6 then ltjb.package_error( 'luatexja', @@ -221,7 +226,7 @@ do page_direction = v -- for first call of \yoko (in luatexja-core.sty) else if luatexja.debug then - luatexja.ext_show_node_list(node.direct.tonode(h),'>> ', texio.write_nl) + luatexja.ext_show_node_list(dnode.tonode(h),'>> ', texio.write_nl) end ltjb.package_error( 'luatexja', @@ -283,7 +288,8 @@ do if hd then for p in traverse_id(15, hd) do -- unset if get_box_dir(p, 0)==0 then - setfield(p, 'head', create_dir_whatsit(getlist(p), 'fin_row', ltjs.list_dir)) + setfield(p, 'head', create_dir_whatsit(getfield(p, 'head'), 'fin_row', ltjs.list_dir)) + -- We cannot use setlist and getlist, since they don't support unset_node end end set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG) @@ -307,7 +313,7 @@ do -- start å´ã¯ ltj-debug.lua ã« local new_dir = ltjs.list_dir for line in traverse_id(id_hlist, to_direct(h)) do - setfield(line, 'head', create_dir_whatsit(getlist(line), gc, new_dir) ) + setlist(line, create_dir_whatsit(getlist(line), gc, new_dir) ) end ensure_tex_attr(attr_dir, 0) return h @@ -329,7 +335,7 @@ do end end if hd==wh[1] then - ltjs.list_dir = has_attr(hd, attr_dir) + ltjs.list_dir = get_attr(hd, attr_dir) local x = node_next(hd) while x and getid(x)==id_glue and getsubtype(x)==3 do node_remove(hd,x); node_free(x); x = node_next(hd) @@ -351,7 +357,7 @@ do local n = node_next(hd) local w = create_dir_whatsit(hd, gc, ltjs.list_dir) -- move dir whatsit after hd - setfield(hd, 'next', w); setfield(w, 'next', n); + setnext(hd, w); setnext(w, n) return hd else return create_dir_whatsit(hd, gc, ltjs.list_dir) end @@ -361,6 +367,10 @@ end -- dir_node ã«åŒ…む方法を書ã„ãŸãƒ†ãƒ¼ãƒ–ル local dir_node_aux do + local setkern = dnode.setkern + local setshift = dnode.setshift + local sid_restore= node.subtype 'pdf_restore' + local sid_matrix = node.subtype 'pdf_setmatrix' local floor = math.floor local get_h =function (w,h,d) return h end local get_d =function (w,h,d) return d end @@ -372,6 +382,21 @@ do local get_w_neg =function (w,h,d) return -w end local get_w =function (w,h,d) return w end local zero = function() return 0 end + local function gen_kern(arg, b, w,h,d,dw,dh,dd) + local nn = node_new(id_kern) + setkern(nn, arg(w, h, d, dw, dh, dd)); return nn + end + local function gen_whatsit(arg) + return node_new(id_whatsit, arg) + end + local function gen_rotate(arg) + local nn = node_new(id_whatsit, sid_matrix) + setfield(nn, 'data', arg); return nn + end + local function gen_box(arg, b, w,h,d,dw,dh,dd) + local nn = b; setnext(b, nil) + setshift(nn, arg(w, h, d, dw, dh, dd)); return nn + end dir_node_aux = { [dir_yoko] = { -- yoko ã‚’ [dir_tate] = { -- tate ä¸ã§çµ„ã‚€ @@ -379,20 +404,20 @@ do height = get_w_half, depth = get_w_half_rem, [id_hlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 1 -1 0' }, - { 'kern', function(w,h,d,nw,nh,nd) return -nd end }, - { 'box' , get_h}, - { 'kern', function(w,h,d,nw,nh,nd) return nd-w end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 1 -1 0' }, + { gen_kern, function(w,h,d,nw,nh,nd) return -nd end }, + { gen_box , get_h}, + { gen_kern, function(w,h,d,nw,nh,nd) return nd-w end }, + { gen_whatsit, sid_restore }, }, [id_vlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 1 -1 0' }, - { 'kern' , zero }, - { 'box' , function(w,h,d,nw,nh,nd) return -nh-nd end }, - { 'kern', get_h_d_neg}, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 1 -1 0' }, + { gen_kern , zero }, + { gen_box , function(w,h,d,nw,nh,nd) return -nh-nd end }, + { gen_kern, get_h_d_neg}, + { gen_whatsit, sid_restore }, }, }, [dir_dtou] = { -- dtou ä¸ã§çµ„ã‚€ @@ -400,19 +425,19 @@ do height = get_w, depth = zero, [id_hlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 -1 1 0' }, - { 'kern', function(w,h,d,nw,nh,nd) return -nh end }, - { 'box', get_d_neg }, - { 'kern', function(w,h,d,nw,nh,nd) return nh-w end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 -1 1 0' }, + { gen_kern, function(w,h,d,nw,nh,nd) return -nh end }, + { gen_box, get_d_neg }, + { gen_kern, function(w,h,d,nw,nh,nd) return nh-w end }, + { gen_whatsit, sid_restore }, }, [id_vlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 -1 1 0' }, - { 'kern', get_h_d_neg }, - { 'box', zero }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 -1 1 0' }, + { gen_kern, get_h_d_neg }, + { gen_box, zero }, + { gen_whatsit, sid_restore }, }, }, }, @@ -422,19 +447,19 @@ do height = get_w, depth = zero, [id_hlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 -1 1 0' }, - { 'kern', function (w,h,d,nw,nh,nd) return -nh end }, - { 'box' , get_d_neg }, - { 'kern', function (w,h,d,nw,nh,nd) return nh-w end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 -1 1 0' }, + { gen_kern, function (w,h,d,nw,nh,nd) return -nh end }, + { gen_box , get_d_neg }, + { gen_kern, function (w,h,d,nw,nh,nd) return nh-w end }, + { gen_whatsit, sid_restore }, }, [id_vlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 -1 1 0' }, - { 'kern', get_h_d_neg }, - { 'box', zero }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 -1 1 0' }, + { gen_kern, get_h_d_neg }, + { gen_box, zero }, + { gen_whatsit, sid_restore }, }, }, [dir_dtou] = { -- dtou ä¸ã§çµ„ã‚€ @@ -442,18 +467,18 @@ do height = get_d, depth = get_h, [id_hlist] = { - { 'whatsit', sid_save }, - { 'rotate', '-1 0 0 -1' }, - { 'kern', get_w_neg }, - { 'box', function (w,h,d,nw,nh,nd) return h-nd end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '-1 0 0 -1' }, + { gen_kern, get_w_neg }, + { gen_box, function (w,h,d,nw,nh,nd) return h-nd end }, + { gen_whatsit, sid_restore }, }, [id_vlist] = { - { 'whatsit', sid_save }, - { 'rotate', '-1 0 0 -1' }, - { 'kern', get_h_d_neg }, - { 'box', get_w_neg }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '-1 0 0 -1' }, + { gen_kern, get_h_d_neg }, + { gen_box, get_w_neg }, + { gen_whatsit, sid_restore }, }, }, }, @@ -463,20 +488,20 @@ do height = get_w, depth = zero, [id_hlist] = { - { 'whatsit', sid_save }, - { 'rotate', '0 1 -1 0' }, - { 'kern', function (w,h,d,nw,nh,nd) return -nd end }, - { 'box', get_h }, - { 'kern', function (w,h,d,nw,nh,nd) return nd-w end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 1 -1 0' }, + { gen_kern, function (w,h,d,nw,nh,nd) return -nd end }, + { gen_box, get_h }, + { gen_kern, function (w,h,d,nw,nh,nd) return nd-w end }, + { gen_whatsit, sid_restore }, }, [id_vlist] = { - { 'kern', zero }, - { 'whatsit', sid_save }, - { 'rotate', '0 1 -1 0' }, - { 'box', function (w,h,d,nw,nh,nd) return -nd-nh end }, - { 'kern', get_h_d_neg }, - { 'whatsit', sid_restore }, + { gen_kern, zero }, + { gen_whatsit, sid_save }, + { gen_rotate, '0 1 -1 0' }, + { gen_box, function (w,h,d,nw,nh,nd) return -nd-nh end }, + { gen_kern, get_h_d_neg }, + { gen_whatsit, sid_restore }, }, }, [dir_tate] = { -- tate ä¸ã§çµ„ã‚€ @@ -484,19 +509,19 @@ do height = get_d, depth = get_h, [id_hlist] = { - { 'whatsit', sid_save }, - { 'rotate', '-1 0 0 -1' }, - { 'kern', get_w_neg }, - { 'box', function (w,h,d,nw,nh,nd) return h-nd end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, '-1 0 0 -1' }, + { gen_kern, get_w_neg }, + { gen_box, function (w,h,d,nw,nh,nd) return h-nd end }, + { gen_whatsit, sid_restore }, }, [id_vlist] = { - { 'whatsit', sid_save }, - { 'rotate', ' -1 0 0 -1' }, - { 'kern', function (w,h,d,nw,nh,nd) return -nh-nd end }, - { 'box', get_w_neg }, - { 'kern', function (w,h,d,nw,nh,nd) return nh+nd-h-d end }, - { 'whatsit', sid_restore }, + { gen_whatsit, sid_save }, + { gen_rotate, ' -1 0 0 -1' }, + { gen_kern, function (w,h,d,nw,nh,nd) return -nh-nd end }, + { gen_box, get_w_neg }, + { gen_kern, function (w,h,d,nw,nh,nd) return nh+nd-h-d end }, + { gen_whatsit, sid_restore }, }, }, }, @@ -507,14 +532,13 @@ end -- 2nd ret val ã¯ãã® DIR whatsit function get_box_dir(b, default) start_time_measure 'get_box_dir' - local dir = has_attr(b, attr_dir) or 0 - local bh = getfield(b,'head') - -- b 㯠insert node ã¨ãªã‚Šã†ã‚‹ã®ã§ getlist() ã¯ä½¿ãˆãªã„ + local dir = get_attr(b, attr_dir) or 0 + local bh = getfield(b, 'head') -- We cannot use getlist since b may be an unset_node. local c if bh~=0 then -- bh != nil for bh in traverse_id(id_whatsit, bh) do if getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then - c = bh; dir = (dir==0) and has_attr(bh, attr_dir) or dir + c = bh; dir = (dir==0) and get_attr(bh, attr_dir) or dir end end end @@ -523,12 +547,13 @@ function get_box_dir(b, default) end do + local ltj_tempcnta = luatexbase.registernumber 'ltj@tempcnta' local getbox = tex.getbox local dir_backup function luatexja.direction.unbox_check_dir(is_copy) start_time_measure 'box_primitive_hook' local list_dir = get_dir_count()%dir_math_mod - local b = getbox(tex_getcount 'ltj@tempcnta') + local b = getbox(getcount(ltj_tempcnta)) if b and getlist(to_direct(b)) then local box_dir = get_box_dir(to_direct(b), dir_yoko) if box_dir%dir_math_mod ~= list_dir then @@ -548,7 +573,7 @@ do local d = hd nh, hd = node_remove(nh, hd) if is_copy==true and (not dir_backup) then - dir_backup = d; setfield(dir_backup, 'next', nil) + dir_backup = d; setnext(dir_backup, nil) else node_free(d) end @@ -556,7 +581,7 @@ do hd = node_next(hd) end end - setfield(bd, 'head', nh) + setlist(bd, nh) end end if luatexja.global_temp and tex.globaldefs~=luatexja.global_temp then @@ -565,12 +590,12 @@ do stop_time_measure 'box_primitive_hook' end function luatexja.direction.uncopy_restore_whatsit() - local b = getbox(tex_getcount 'ltj@tempcnta') + local b = getbox(getcount(ltj_tempcnta)) if b then local bd = to_direct(b) if dir_backup then - setfield(dir_backup, 'next', getlist(bd)) - setfield(bd, 'head', dir_backup) + setnext(dir_backup, getlist(bd)) + setlist(bd, dir_backup) dir_backup = nil end end @@ -587,23 +612,25 @@ local function unwrap_dir_node(b, head, box_dir) if head then nh = insert_before(head, b, bh) nh, nb = node_remove(nh, b) - setfield(b, 'next', nil) - node_free(b) + setnext(b, nil); node_free(b) end local shift_old, b_dir, wh = nil, get_box_dir(bh, 0) if wh then - node.direct.flush_list(getfield(wh, 'value')) - setfield(wh, 'value', nil) + dnode.flush_list(getvalue(wh)); setvalue(wh, nil) end return nh, nb, bh, b_dir end -- is_manual: 寸法変更ã«ä¼´ã†ã‚‚ã®ã‹ï¼Ÿ -local function create_dir_node(b, b_dir, new_dir, is_manual) +local create_dir_node +do + local getdir = dnode.getdir + local setdir = dnode.setdir + local setshift = dnode.setshift + +create_dir_node = function(b, b_dir, new_dir, is_manual) local info = dir_node_aux[b_dir%dir_math_mod][new_dir%dir_math_mod] - local w = getfield(b, 'width') - local h = getfield(b, 'height') - local d = getfield(b, 'depth') + local w, h, d = getwhd(b) local db = node_new(getid(b)) -- dir_node set_attr(db, attr_dir, new_dir + (is_manual and dir_node_manual or dir_node_auto)) @@ -611,13 +638,11 @@ local function create_dir_node(b, b_dir, new_dir, is_manual) set_attr(b, attr_icflag, PROCESSED) ensure_tex_attr(attr_dir, 0) ensure_tex_attr(attr_icflag, 0) - setfield(db, 'dir', getfield(b, 'dir')) - setfield(db, 'shift', 0) - setfield(db, 'width', info.width(w,h,d)) - setfield(db, 'height', info.height(w,h,d)) - setfield(db, 'depth', info.depth(w,h,d)) + setdir(db, getdir(b)); setshift(db, 0) + setwhd(db, info.width(w,h,d), info.height(w,h,d), info.depth(w,h,d)) return db end +end -- ç•°æ–¹å‘ã®ãƒœãƒƒã‚¯ã‚¹ã®å‡¦ç† local make_dir_whatsit, process_dir_node @@ -633,15 +658,14 @@ do -- 既㫠b ã®ä¸èº«ã«ã‚ã‚‹whatsit if (box_dir<dir_node_auto) and (not dn) then bh = create_dir_whatsit(bh, 'make_dir_whatsit', dir_yoko) - dn = bh; setfield(b, 'head', bh) + dn = bh; setlist(b, bh) end if box_dir%dir_math_mod==new_dir then if box_dir>=dir_node_auto then -- dir_node ã¨ã—ã¦ã‚«ãƒ—セル化ã•ã‚Œã¦ã„ã‚‹ local _, dnc = get_box_dir(b, 0) if dnc then -- free all other dir_node - node.direct.flush_list(getfield(dnc, 'value')) - setfield(dnc, 'value', nil) + dnode.flush_list(getvalue(dnc)); setvalue(dnc, nil) end set_attr(b, attr_dir, box_dir%dir_math_mod + dir_node_auto) return head, node_next(b), b, true @@ -663,25 +687,19 @@ do end box_dir = box_dir%dir_math_mod local db - local dnh = getfield(dn, 'value') + local dnh = getvalue(dn) for x in traverse(dnh) do - if has_attr(x, attr_dir)%dir_math_mod == new_dir then - setfield(dn, 'value', to_node(node_remove(dnh, x))) + if get_attr(x, attr_dir)%dir_math_mod == new_dir then + setvalue(dn, to_node(node_remove(dnh, x))) db=x; break end end - node.direct.flush_list(getfield(dn, 'value')) - setfield(dn, 'value', nil) + dnode.flush_list(getvalue(dn)); setvalue(dn, nil) db = db or create_dir_node(b, box_dir, new_dir, false) - local w = getfield(b, 'width') - local h = getfield(b, 'height') - local d = getfield(b, 'depth') - local dn_w = getfield(db, 'width') - local dn_h = getfield(db, 'height') - local dn_d = getfield(db, 'depth') + local w, h, d = getwhd(b) nh, nb = insert_before(head, b, db), nil nh, nb = node_remove(nh, b) - setfield(b, 'next', nil); setfield(db, 'head', b) + setnext(b, nil); setlist(db, b) ret, flag = db, true return nh, nb, ret, flag end @@ -701,13 +719,13 @@ do end -- lastbox - local node_prev = (node.direct~=node) and node.direct.getprev or node.prev + local node_prev = dnode.getprev local id_glue = node.id 'glue' local function lastbox_hook() start_time_measure 'box_primitive_hook' - local bn = tex_nest[tex_nest.ptr].tail + local bn = getnest().tail if bn then - local b, head = to_direct(bn), to_direct(tex_nest[tex_nest.ptr].head) + local b, head = to_direct(bn), to_direct(getnest().head) local bid = getid(b) if bid==id_hlist or bid==id_vlist then local p = getlist(b) @@ -715,21 +733,20 @@ do if p and getid(p)==id_glue and getsubtype(p)==12 then -- tabskip local np = node_next(p); local npid = getid(np) if npid==id_hlist or npid==id_vlist then - setfield(b, 'head', create_dir_whatsit(p, 'align', get_box_dir(np, 0))) + setlist(b, create_dir_whatsit(p, 'align', get_box_dir(np, 0))) end end local box_dir = get_box_dir(b, 0) if box_dir>= dir_node_auto then -- unwrap dir_node local p = node_prev(b) local dummy1, dummy2, nb = unwrap_dir_node(b, nil, box_dir) - setfield(p, 'next', nb); tex_nest[tex_nest.ptr].tail = to_node(nb) - setfield(b, 'next', nil); setfield(b, 'head', nil) + setnext(p, nb); getnest().tail = to_node(nb) + setnext(b, nil); setlist(b, nil) node_free(b); b = nb end local _, wh = get_box_dir(b, 0) -- clean dir_node attached to the box if wh then - node.direct.flush_list(getfield(wh, 'value')) - setfield(wh, 'value', nil) + dnode.flush_list(getvalue(wh)); setvalue(wh, nil) end end end @@ -743,27 +760,25 @@ end -- \wd, \ht, \dp ã®ä»£ã‚ã‚Š do local getbox, setdimen = tex.getbox, tex.setdimen + local ltj_tempdima = luatexbase.registernumber 'ltj@tempdima' local function get_box_dim_common(key, s, l_dir) -- s: not dir_node. local s_dir, wh = get_box_dir(s, dir_yoko) s_dir = s_dir%dir_math_mod if s_dir ~= l_dir then local not_found = true - for x in traverse(getfield(wh, 'value')) do - if l_dir == has_attr(x, attr_dir)%dir_node_auto then - setdimen('ltj@tempdima', getfield(x, key)) + for x in traverse(getvalue(wh)) do + if l_dir == get_attr(x, attr_dir)%dir_node_auto then + setdimen(ltj_tempdima, getfield(x, key)) not_found = false; break end end if not_found then - local w = getfield(s, 'width') - local h = getfield(s, 'height') - local d = getfield(s, 'depth') - setdimen('ltj@tempdima', - dir_node_aux[s_dir][l_dir][key](w,h,d)) + local w, h, d = getwhd(s) + setdimen(ltj_tempdima, dir_node_aux[s_dir][l_dir][key](w,h,d)) end else - setdimen('ltj@tempdima', getfield(s, key)) + setdimen(ltj_tempdima, getfield(s, key)) end end local function get_box_dim(key, n) @@ -776,12 +791,12 @@ do if b_dir<dir_node_auto then get_box_dim_common(key, s, l_dir) elseif b_dir%dir_math_mod==l_dir then - setdimen('ltj@tempdima', getfield(s, key)) + setdimen(ltj_tempdima, getfield(s, key)) else get_box_dim_common(key, getlist(s), l_dir) end else - setdimen('ltj@tempdima', 0) + setdimen(ltj_tempdima, 0) end tex.sprint(cat_lp, '\\ltj@tempdima') tex.globaldefs = gt @@ -797,19 +812,18 @@ do if s_dir ~= l_dir then if not wh then wh = create_dir_whatsit(getlist(s), 'set_box_dim', s_dir) - setfield(s, 'head', wh) + setlist(s, wh) end local db - local dnh = getfield(wh, 'value') + local dnh = getvalue(wh) for x in traverse(dnh) do - if has_attr(x, attr_dir)%dir_node_auto==l_dir then + if get_attr(x, attr_dir)%dir_node_auto==l_dir then db = x; break end end if not db then db = create_dir_node(s, s_dir, l_dir, true) - setfield(db, 'next', dnh) - setfield(wh, 'value',to_node(db)) + setnext(db, dnh); setvalue(wh, to_node(db)) end setfield(db, key, scan_dimen()) return false @@ -817,15 +831,12 @@ do setfield(s, key, scan_dimen()) if wh then -- change dimension of dir_nodes which are created "automatically" - local bw, bh, bd - = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth') - for x in traverse(getfield(wh, 'value')) do - local x_dir = has_attr(x, attr_dir) + local bw, bh, bd = getwhd(s) + for x in traverse(getvalue(wh)) do + local x_dir = get_attr(x, attr_dir) if x_dir<dir_node_manual then local info = dir_node_aux[s_dir][x_dir%dir_node_auto] - setfield(x, 'width', info.width(bw,bh,bd)) - setfield(x, 'height', info.height(bw,bh,bd)) - setfield(x, 'depth', info.depth(bw,bh,bd)) + setwhd(x, info.width(bw,bh,bd), info.height(bw,bh,bd), info.depth(bw,bh,bd)) end end end @@ -849,16 +860,12 @@ do else local sid, b = getid(s), getlist(s) local info = dir_node_aux[get_box_dir(b,dir_yoko)%dir_math_mod][b_dir%dir_node_auto] - local bw, bh, bd - = getfield(b,'width'), getfield(b, 'height'), getfield(b, 'depth') - local sw, sh, sd - = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth') + local bw, bh, bd = getwhd(b) + local sw, sh, sd = getwhd(s) if set_box_dim_common(key, b, l_dir) and b_dir<dir_node_manual then -- re-calculate dimension of s, if s is created "automatically" if b_dir<dir_node_manual then - setfield(s, 'width', info.width(bw,bh,bd)) - setfield(s, 'height', info.height(bw,bh,bd)) - setfield(s, 'depth', info.depth(bw,bh,bd)) + setwhd(s, info.width(bw,bh,bd), info.height(bw,bh,bd), info.depth(bw,bh,bd)) end end end @@ -889,7 +896,7 @@ do end do - local getbox, setbox, copy_list = tex.getbox, tex.setbox, node.direct.copy_list + local getbox, setbox, copy_list = tex.getbox, tex.setbox, dnode.copy_list -- raise, lower function luatexja.direction.raise_box() start_time_measure 'box_primitive_hook' @@ -923,6 +930,7 @@ end -- adjust do local id_adjust = node.id 'adjust' + local last_node = dnode.last_node local scan_keyword = token.scan_keyword function luatexja.direction.adjust_begin() if scan_keyword 'pre' then tex.sprint(cat_lp, '\\ltj@@vadjust@pre') @@ -931,7 +939,7 @@ do function luatexja.direction.check_adjust_direction() start_time_measure 'box_primitive_hook' local list_dir = get_adjust_dir_count() - local a = tex_nest[tex_nest.ptr].tail + local a = getnest().tail local ad = to_direct(a) if a and getid(ad)==id_adjust then local adj_dir = get_box_dir(ad) @@ -940,7 +948,7 @@ do 'luatexja', 'Direction Incompatible', "\\vadjust's argument and outer vlist must have same direction.") - node.direct.last_node() + node_free(last_node()) end end stop_time_measure 'box_primitive_hook' @@ -954,13 +962,13 @@ do function luatexja.direction.populate_insertion_dir_whatsit() start_time_measure 'box_primitive_hook' local list_dir = get_dir_count() - local a = tex_nest[tex_nest.ptr].tail + local a = getnest().tail local ad = to_direct(a) if (not a) or getid(ad)~=id_ins then a = node.tail(tex.lists.page_head); ad = to_direct(a) end if a and getid(ad)==id_ins then - local h = getfield(ad, 'head') + local h = getlist(ad) if getid(h)==id_whatsit and getsubtype(h)==sid_user and getfield(h, 'user_id')==DIR then local n = h; h = node_remove(h,h) @@ -972,7 +980,7 @@ do end end ensure_tex_attr(attr_dir, 0) - setfield(ad, 'head', h) + setlist(ad, h) end stop_time_measure 'box_primitive_hook' end @@ -980,25 +988,32 @@ end -- vsplit do - local split_dir_whatsit, split_dir_head + local split_dir_whatsit, split_dir_head, split_dir_at_2nd local cat_lp = luatexbase.catcodetables['latex-package'] local sprint, scan_int, tex_getbox = tex.sprint, token.scan_int, tex.getbox function luatexja.direction.vsplit() local n = scan_int(); local p = to_direct(tex_getbox(n)) - split_dir_head = nil + if split_dir_head then node_free(split_dir_head); split_dir_head = nil end + if split_dir_whatsit then split_dir_watsit = nil end if p then local bh = getlist(p) - if getid(bh)==id_whatsit and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR + if getid(bh)==id_whatsit and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR and node_next(bh) then - ltjs.list_dir = has_attr(bh, attr_dir) - local q = node_next(p) - setfield(p, 'head', node_remove(bh,bh,bh)) - split_dir_head = bh + ltjs.list_dir = get_attr(bh, attr_dir) + setlist(p, (node_remove(bh,bh))) + split_dir_head, split_dir_2nd = bh, false + else + local w = node_next(bh) + if getid(w)==id_whatsit and getsubtype(w)==sid_user and getfield(w, 'user_id')==DIR then + ltjs.list_dir = get_attr(w, attr_dir) + setlist(p, (node_remove(bh,w))) + split_dir_head, split_dir_2nd = w, true + end end end sprint(cat_lp, '\\ltj@@orig@vsplit' .. tostring(n)) - end + end local function dir_adjust_vpack(h, gc) start_time_measure 'direction_vpack' local hd = to_direct(h) @@ -1008,15 +1023,17 @@ do split_dir_whatsit = hd elseif gc=='split_off' then if split_dir_head then - ltjs.list_dir = has_attr(split_dir_head, attr_dir) - hd = insert_before(hd, hd, split_dir_head) + ltjs.list_dir = get_attr(split_dir_head, attr_dir) + if split_dir_2nd then hd = insert_after(hd, hd, split_dir_head) + else hd = insert_before(hd, hd, split_dir_head) + end split_dir_head=nil end if split_dir_whatsit then -- adjust direction of 'split_keep' set_attr(split_dir_whatsit, attr_dir, ltjs.list_dir) + split_dir_whatsit=nil end - split_dir_whatsit=nil elseif gc=='preamble' then split_dir_whatsit=nil else @@ -1038,7 +1055,7 @@ do local function dir_adjust_pre_output(h, gc) return to_node(create_dir_whatsit_vbox(to_direct(h), gc)) end - ltjb.add_to_callback('pre_output_filter', dir_adjust_pre_output, + ltjb.add_to_callback('pre_output_filter', dir_adjust_pre_output, 'ltj.direction', 10000) end @@ -1051,38 +1068,22 @@ do local function finalize_dir_node(db,new_dir) local b = getlist(db) while b and ((getid(b)~=id_hlist) and (getid(b)~=id_vlist)) do - local ob = b; b = node_remove(b,b); setfield(db, 'head', b); + local ob = b; b = node_remove(b,b); setlist(db, b); node_free(ob) end finalize_inner(b) - local w = getfield(b, 'width') - local h = getfield(b, 'height') - local d = getfield(b, 'depth') - local dn_w = getfield(db, 'width') - local dn_h = getfield(db, 'height') - local dn_d = getfield(db, 'depth') + local w, h, d = getwhd(b) + local dw, dh, dd = getwhd(db) local db_head, db_tail local t = dir_node_aux[get_box_dir(b, dir_yoko)%dir_math_mod][new_dir] t = t and t[getid(b)]; if not t then return end for _,v in ipairs(t) do - local cmd, arg, nn = v[1], v[2] - if cmd=='kern' then - nn = node_new(id_kern, 1) - setfield(nn, 'kern', arg(w, h, d, dn_w, dn_h, dn_d)) - elseif cmd=='whatsit' then - nn = node_new(id_whatsit, arg) - elseif cmd=='rotate' then - nn = node_new(id_whatsit, sid_matrix) - setfield(nn, 'data', arg) - elseif cmd=='box' then - nn = b; setfield(b, 'next', nil) - setfield(nn, 'shift', arg(w, h, d, dn_w, dn_h, dn_d)) - end + local nn = v[1](v[2], b, w, h, d, dw, dh, dd) if db_head then insert_after(db_head, db_tail, nn) db_tail = nn else - setfield(db, 'head', nn) + setlist(db, nn) db_head, db_tail = nn, nn end end @@ -1090,6 +1091,7 @@ do tex.setattribute(attr_dir, dir_yoko) local shipout_temp = node_new(id_hlist) + dnode.setattributelist(shipout_temp, nil) tex.setattribute(attr_dir, 0) finalize_inner = function (box) @@ -1105,17 +1107,17 @@ do end end end - local copy = node.direct.copy + local copy = dnode.copy function luatexja.direction.shipout_lthook (head) start_time_measure 'box_primitive_hook' local a = to_direct(head) local a_dir = get_box_dir(a, dir_yoko) if a_dir~=dir_yoko then local b = create_dir_node(a, a_dir, dir_yoko, false) - setfield(b, 'head', a); a = b + setlist(b, a); a = b end - setfield(shipout_temp, 'head', a); finalize_inner(shipout_temp) - a = copy(getlist(shipout_temp)); setfield(shipout_temp, 'head',nil) + setlist(shipout_temp, a); finalize_inner(shipout_temp) + a = copy(getlist(shipout_temp)); setlist(shipout_temp, nil) stop_time_measure 'box_primitive_hook' return to_node(a) end diff --git a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua index 7f39b9b8d7..dc6ec46a56 100644 --- a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua +++ b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua @@ -8,12 +8,10 @@ luatexja.load_module 'charrange'; local ltjc = luatexja.charrange local utflen = utf.len local utfbyte = utf.byte local utfchar = utf.char -local node_new = node.new -local node_free = node.free local id_glyph = node.id 'glyph' local getcatcode, getcount = tex.getcatcode, tex.getcount local ltjc_is_japanese_char_curlist = ltjc.is_japanese_char_curlist - +local cnt_lineend = luatexbase.registernumber 'ltjlineendcomment' local substituter do local uchar = utf.char @@ -71,7 +69,7 @@ local function add_comment(buffer) if (te ~= -1) and (getcatcode(te)==5) then local ct = getcatcode(c) if (ct==11) or (ct==12) then - local lec = getcount 'ltjlineendcomment' + local lec = getcount(cnt_lineend) -- Is the catcode of \ltjlineendcomment (new comment char) is 14 (comment)? if ltjc_is_japanese_char_curlist(c) and (getcatcode(lec)==14) then stop_time_measure 'inputbuf'; return buffer .. utfchar(lec) diff --git a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua index 3d046f0c01..ed7ab6daa8 100644 --- a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua +++ b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.jfmglue', - date = '2022-02-09', + date = '2022-08-29', description = 'Insertion process of JFM glues, [x]kanjiskip and others', }) luatexja.jfmglue = luatexja.jfmglue or {} @@ -19,25 +19,32 @@ local pairs = pairs --local to_node = node.direct.tonode --local to_direct = node.direct.todirect -local setfield = node.direct.setfield -local setglue = luatexja.setglue local getfield = node.direct.getfield local getid = node.direct.getid local getfont = node.direct.getfont local getlist = node.direct.getlist local getchar = node.direct.getchar +local getglue = node.direct.getglue local getsubtype = node.direct.getsubtype +local getshift = node.direct.getshift +local getwidth = node.direct.getwidth +local getdepth = node.direct.getdepth +local getpenalty = node.direct.getpenalty +local setfield = node.direct.setfield +local setglue = node.direct.setglue +local setshift = node.direct.setshift local if_lang_ja do local lang_ja = luatexja.lang_ja local getlang = node.direct.getlang -- glyph with font number 0 (\nullfont) is always considered an ALchar node - if_lang_ja = getlang - and function (n) return (getlang(n)==lang_ja)and(getfont(n)~=0) end - or function (n) return (getfield(n,'lang')==lang_ja)and(getfont(n)~=0) end + if_lang_ja = function (n) return (getlang(n)==lang_ja)and(getfont(n)~=0) end end - -local has_attr = node.direct.has_attribute +local setpenalty = node.direct.setpenalty +local setkern = node.direct.setkern +local call_callback = luatexbase.call_callback + +local get_attr = node.direct.get_attribute local set_attr = node.direct.set_attribute local insert_before = node.direct.insert_before local insert_after = node.direct.insert_after @@ -48,7 +55,7 @@ local ltjf_find_char_class = ltjf.find_char_class local node_new = luatexja.dnode_new local node_copy = node.direct.copy local node_tail = node.direct.tail -local node_free = node.direct.free +local node_free = node.direct.flush_node or node.direct.free local node_remove = node.direct.remove local node_inherit_attr = luatexja.node_inherit_attr @@ -96,7 +103,7 @@ local set_np_xspc_jachar_hbox local ltjs_orig_char_table = ltjs.orig_char_table local function get_attr_icflag(p) - return (has_attr(p, attr_icflag) or 0)%PROCESSED_BEGIN_FLAG + return (get_attr(p, attr_icflag) or 0)%PROCESSED_BEGIN_FLAG end -------------------- Helper functions @@ -107,11 +114,12 @@ local function fast_find_char_class(c,m) end -- æ–‡å—クラスã®æ±ºå®š -local slow_find_char_class +local slow_find_char_class, skip_table_to_glue do local start_time_measure = ltjb.start_time_measure local stop_time_measure = ltjb.stop_time_measure - slow_find_char_class = function (c, m, oc) + local fast_get_stack_skip = ltjs.fast_get_stack_skip + function slow_find_char_class (c, m, oc) local cls = ltjf_find_char_class(oc, m) if oc~=c and c and cls==0 then return ltjf_find_char_class(c, m) @@ -119,20 +127,17 @@ do return cls end end -end - -local function skip_table_to_glue(n) - local g, st = node_new(id_glue), ltjs.fast_get_stack_skip(n) - setglue(g, st.width, st.stretch, st.shrink, st.stretch_order, st.shrink_order) - return g, (st.width==1073741823) + function skip_table_to_glue(n) + local g, st = node_new(id_glue), fast_get_stack_skip(n) + setglue(g, st[1], st[2], st[3], st[4], st[5]) + return g, (st[1]==1073741823) + end end -- penalty 値ã®è¨ˆç®— local add_penalty do -local setpenalty = node.direct.setpenalty or function(n, a) setfield(n,'penalty',a) end -local getpenalty = node.direct.getpenalty or function(n) return getfield(n,'penalty') end function add_penalty(p,e) local pp = getpenalty(p) if (pp>-10000) and (pp<10000) then @@ -206,7 +211,7 @@ local function check_box(box_ptr, box_end) if find_first_char then first_char = s; find_first_char = false end last_char = s; found_visible_node = true else - if getfield(p, 'shift')==0 then + if getshift(p)==0 then last_char = nil if check_box(getlist(p), nil) then found_visible_node = true end find_first_char = false @@ -264,13 +269,13 @@ luatexbase.create_callback("luatexja.jfmglue.whatsit_last_minute", "data", function (stat, Nq, Np) return false end) -- calc next Np -local calc_np +local calc_np do -- 001 ----------------------------------------------- local traverse = node.direct.traverse local function check_next_ickern(lp) local lx = Np.nuc - while lp and getid(lp) == id_kern and ( getsubtype(lp)==0 or + while lp and getid(lp) == id_kern and ( getsubtype(lp)==0 or getsubtype(lp)==3 or ITALIC == get_attr_icflag(lp)) do set_attr(lp, attr_icflag, IC_PROCESSED) lx, lp = lp, node_next(lp) @@ -295,7 +300,7 @@ local function calc_np_pbox(lp, last) else nc, lp = lp, node_next(lp) end - first, lpa = false, (lp and has_attr(lp, attr_icflag) or 0) + first, lpa = false, (lp and get_attr(lp, attr_icflag) or 0) -- get_attr_icflag() ã§ã¯ã„ã‘ãªã„ï¼ end Np.nuc = nc @@ -311,18 +316,20 @@ do -- 002 --------------------------------------- local attr_jchar_class = luatexbase.attributes['ltj@charclass'] local attr_jchar_code = luatexbase.attributes['ltj@charcode'] local font_getfont = font.getfont + local setwhd = node.direct.setwhd + local setdir = node.direct.setdir local function calc_np_notdef(lp) if not font_getfont(getfont(lp)).characters[getchar(lp)] then local ln = node_next(lp) - if ltju.specified_feature(getfont(lp), 'notdef') and ln and getid(ln)==id_glyph then + if ltju.specified_feature(getfont(lp), 'notdef') and ln and getid(ln)==id_glyph then set_attr(lp, attr_icflag, PROCESSED) - set_attr(ln, attr_jchar_code, has_attr(lp, attr_jchar_code) or getchar(lp)) - set_attr(ln, attr_jchar_class, has_attr(lp, attr_jchar_class) or 0) + set_attr(ln, attr_jchar_code, get_attr(lp, attr_jchar_code) or getchar(lp)) + set_attr(ln, attr_jchar_class, get_attr(lp, attr_jchar_class) or 0) Np.nuc, lp = ln, ln end end return lp - end + end function calc_np_aux_glyph_common(lp, acc_flag) Np.nuc, Np.first = lp, (Np.first or lp) if if_lang_ja(lp) then -- JAchar @@ -341,9 +348,9 @@ function calc_np_aux_glyph_common(lp, acc_flag) -- loop local first_glyph, last_glyph = lp set_attr(lp, attr_icflag, PROCESSED); Np.last = lp - local y_adjust = has_attr(lp,attr_ablshift) or 0 - local node_depth = getfield(lp, 'depth') + min(y_adjust, 0) - local adj_depth = (y_adjust>0) and (getfield(lp, 'depth') + y_adjust) or 0 + local y_adjust = get_attr(lp,attr_ablshift) or 0 + local node_depth = getdepth(lp) + min(y_adjust, 0) + local adj_depth = (y_adjust>0) and (getdepth(lp) + y_adjust) or 0 setfield(lp, 'yoffset', getfield(lp, 'yoffset') - y_adjust); lp = node_next(lp) local lx=lp while lx do @@ -354,9 +361,9 @@ function calc_np_aux_glyph_common(lp, acc_flag) if lid==id_glyph and not if_lang_ja(lx) then -- æ¬§æ–‡æ–‡å— last_glyph = lx; set_attr(lx, attr_icflag, PROCESSED); Np.last = lx - y_adjust = has_attr(lx,attr_ablshift) or 0 - node_depth = max(getfield(lx, 'depth') + min(y_adjust, 0), node_depth) - adj_depth = (y_adjust>0) and max(getfield(lx, 'depth') + y_adjust, adj_depth) or adj_depth + y_adjust = get_attr(lx,attr_ablshift) or 0 + node_depth = max(getdepth(lx) + min(y_adjust, 0), node_depth) + adj_depth = (y_adjust>0) and max(getdepth(lx) + y_adjust, adj_depth) or adj_depth setfield(lx, 'yoffset', getfield(lx, 'yoffset') - y_adjust); lx = node_next(lx) elseif lid==id_kern then local ls = getsubtype(lx) @@ -364,9 +371,9 @@ function calc_np_aux_glyph_common(lp, acc_flag) set_attr(lx, attr_icflag, PROCESSED) lx = node_next(lx) -- lx: アクセント本体 if getid(lx)==id_glyph then - setfield(lx, 'yoffset', getfield(lx, 'yoffset') - (has_attr(lx,attr_ablshift) or 0)) + setfield(lx, 'yoffset', getfield(lx, 'yoffset') - (get_attr(lx,attr_ablshift) or 0)) else -- アクセントã¯ä¸Šä¸‹ã«ã‚·ãƒ•ãƒˆã•ã‚Œã¦ã„ã‚‹ - setfield(lx, 'shift', getfield(lx, 'shift') + (has_attr(lx,attr_ablshift) or 0)) + setshift(lx, getshift(lx) + (get_attr(lx,attr_ablshift) or 0)) end set_attr(lx, attr_icflag, PROCESSED) lx = node_next(lx); set_attr(lx, attr_icflag, PROCESSED) @@ -385,8 +392,7 @@ function calc_np_aux_glyph_common(lp, acc_flag) local r if adj_depth>node_depth then r = node_new(id_rule,3,first_glyph) - setfield(r, 'width', 0); setfield(r, 'height', 0) - setfield(r, 'depth',adj_depth); setfield(r, 'dir', tex_dir) + setwhd(r, 0, 0, adj_depth); setdir(r, tex_dir) set_attr(r, attr_icflag, PROCESSED) end if last_glyph then @@ -397,7 +403,7 @@ function calc_np_aux_glyph_common(lp, acc_flag) Np.last_char = npn if r then local nf, nc = getfont(npn), getchar(npn) - local ct = (font.getfont(nf) or font.fonts[nf] ).characters[nc] + local ct = (font_getfont(nf) or font.fonts[nf] ).characters[nc] if not ct then -- variation selector node_free(r) elseif (ct.left_protruding or 0) == 0 then @@ -429,6 +435,7 @@ local sid_start_link = node.subtype 'pdf_start_link' local sid_start_thread = node.subtype 'pdf_start_thread' local sid_end_link = node.subtype 'pdf_end_link' local sid_end_thread = node.subtype 'pdf_end_thread' +local getvalue = node.direct.getdata calc_np_auxtable = { [id_glyph] = calc_np_aux_glyph_common, [id_hlist] = function(lp) @@ -436,7 +443,7 @@ calc_np_auxtable = { head, lp, op, flag = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm hlist') set_attr(op, attr_icflag, PROCESSED) Np.first = Np.first or op; Np.last = op; Np.nuc = op; - if (flag or getfield(op, 'shift')~=0) then + if (flag or getshift(op)~=0) then Np.id = id_box_like else Np.id = id_hlist @@ -461,7 +468,7 @@ calc_np_auxtable = { if lps==sid_user then if getfield(lp, 'user_id')==luatexja.userid_table.IHB then local lq = node_next(lp); - head = node_remove(head, lp); node_free(lp); non_ihb_flag = getfield(lp, 'value')~=1 + head = node_remove(head, lp); node_free(lp); non_ihb_flag = getvalue(lp)~=1 return false, lq; elseif getfield(lp, 'user_id')==luatexja.userid_table.JA_AL_BDD then local lq = node_next(lp); @@ -469,7 +476,7 @@ calc_np_auxtable = { return false, lq; else set_attr(lp, attr_icflag, PROCESSED) - luatexbase.call_callback("luatexja.jfmglue.whatsit_getinfo", + call_callback("luatexja.jfmglue.whatsit_getinfo", Np, lp, Nq) if Np.nuc then Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc; @@ -501,8 +508,8 @@ calc_np_auxtable = { end, [id_glue] = function(lp) Np.first, Np.nuc, Np.last = (Np.first or lp), lp, lp; - Np.id = getid(lp); - local f = luatexbase.call_callback("luatexja.jfmglue.special_jaglue", lp) + Np.id = getid(lp); + local f = call_callback("luatexja.jfmglue.special_jaglue", lp) if f then set_attr(lp, attr_icflag, PROCESSED) end @@ -520,9 +527,9 @@ calc_np_auxtable = { Np.first = Np.first or lp set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp) if getid(lp)==id_glyph then -- アクセント本体 - setfield(lp, 'yoffset', getfield(lp, 'yoffset') - (has_attr(lp,attr_ablshift) or 0)) + setfield(lp, 'yoffset', getfield(lp, 'yoffset') - (get_attr(lp,attr_ablshift) or 0)) else -- アクセントã¯ä¸Šä¸‹ã«ã‚·ãƒ•ãƒˆã•ã‚Œã¦ã„ã‚‹ - setfield(lp, 'shift', getfield(lp, 'shift') + (has_attr(lp,attr_ablshift) or 0)) + setshift(lp, getshift(lp) + (get_attr(lp,attr_ablshift) or 0)) end set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp) set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp) @@ -552,7 +559,7 @@ function calc_np(last, lp) local k -- We assume lp = node_next(Np.last) if Nq and Nq.id==id_pbox_w then - luatexbase.call_callback("luatexja.jfmglue.whatsit_last_minute", false, Nq, Np) + call_callback("luatexja.jfmglue.whatsit_last_minute", false, Nq, Np) end Np, Nq, non_ihb_flag = Nq, Np, true -- We clear `predefined' entries of Np before pairs() loop, @@ -560,13 +567,13 @@ function calc_np(last, lp) Np.post, Np.pre, Np.xspc, Np.gk = nil, nil, nil, nil Np.first, Np.id, Np.last, Np.met, Np.class= nil, nil, nil, nil Np.auto_kspc, Np.auto_xspc, Np.char, Np.nuc = nil, nil, nil, nil - -- auto_kspc, auto_xspc: normally true/false, + -- auto_kspc, auto_xspc: normally true/false, -- but the number 0 when Np is ''the beginning of the box/paragraph''. for k in pairs(Np) do Np[k] = nil end for k = 1,#Bp do Bp[k] = nil end while lp ~= last do - local lpa = has_attr(lp, attr_icflag) or 0 + local lpa = get_attr(lp, attr_icflag) or 0 -- unbox ç”±æ¥ãƒŽãƒ¼ãƒ‰ã®æ¤œå‡º if (lpa>=PACKED) and (lpa%PROCESSED_BEGIN_FLAG<=BOXBDD) then if lpa%PROCESSED_BEGIN_FLAG == BOXBDD then @@ -598,6 +605,7 @@ do local dir_tate = luatexja.dir_table.dir_tate -- 和文文å—ã®ãƒ‡ãƒ¼ã‚¿ã‚’å–å¾— + local has_attr = node.direct.has_attribute local attr_jchar_class = luatexbase.attributes['ltj@charclass'] local attr_jchar_code = luatexbase.attributes['ltj@charcode'] local attr_autospc = luatexbase.attributes['ltj@autospc'] @@ -617,19 +625,21 @@ do Nx.post = table_current_stack[POST + c] or 0 Nx.xspc = table_current_stack[XSP + c] or 3 Nx.kcat = table_current_stack[KCAT + c] or 0 - Nx.auto_kspc, Nx.auto_xspc = (has_attr(x, attr_autospc)==1), (has_attr(x, attr_autoxspc)==1) + Nx.auto_kspc, Nx.auto_xspc + = not has_attr(x, attr_autospc, 0), not has_attr(x, attr_autoxspc, 0) return m, mc, cls end function set_np_xspc_jachar_hbox(Nx, x) local m = ltjf_font_metric_table[getfont(x)] - local c = has_attr(x, attr_jchar_code) or getchar(x) - Nx.met, Nx.char = m, c; Nx.class = has_attr(x, attr_jchar_class) or 0; + local c = get_attr(x, attr_jchar_code) or getchar(x) + Nx.met, Nx.char = m, c; Nx.class = get_attr(x, attr_jchar_class) or 0; local mc = m.char_type; Nx.char_type = mc Nx.pre = table_current_stack[PRE + c] or 0 Nx.post = table_current_stack[POST + c] or 0 Nx.xspc = table_current_stack[XSP + c] or 3 Nx.kcat = table_current_stack[KCAT + c] or 0 - Nx.auto_kspc, Nx.auto_xspc = (has_attr(x, attr_autospc)==1), (has_attr(x, attr_autoxspc)==1) + Nx.auto_kspc, Nx.auto_xspc + = not has_attr(x, attr_autospc, 0), not has_attr(x, attr_autoxspc, 0) end -- 欧文文å—ã®ãƒ‡ãƒ¼ã‚¿ã‚’å–å¾— @@ -652,7 +662,7 @@ do end Nx.met = nil Nx.xspc = table_current_stack[XSP + c] or 3 - Nx.auto_xspc = (has_attr(x, attr_autoxspc)==1) + Nx.auto_xspc = not has_attr(x, attr_autoxspc, 0) end local set_np_xspc_alchar = set_np_xspc_alchar -- change the information for the next loop @@ -686,13 +696,13 @@ luatexbase.create_callback('luatexja.adjust_jfmglue', 'simple', function(n) retu -- change penalties (or create a new penalty, if needed) local function handle_penalty_normal(post, pre, g) - luatexbase.call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp) + call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp) local a = (pre or 0) + (post or 0) if #Bp == 0 then if (a~=0 and not(g and getid(g)==id_kern)) then local p = node_new(id_penalty, nil, Nq.nuc, Np.nuc) if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end - setfield(p, 'penalty', a); head = insert_before(head, Np.first, p) + setpenalty(p, a); head = insert_before(head, Np.first, p) Bp[1]=p; set_attr(p, attr_icflag, KINSOKU) end else for _, v in pairs(Bp) do add_penalty(v,a) end @@ -700,13 +710,13 @@ local function handle_penalty_normal(post, pre, g) end local function handle_penalty_always(post, pre, g) - luatexbase.call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp) + call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp) local a = (pre or 0) + (post or 0) if #Bp == 0 then if not (g and getid(g)==id_glue) or a~=0 then local p = node_new(id_penalty, nil, Nq.nuc, Np.nuc) if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end - setfield(p, 'penalty', a); head = insert_before(head, Np.first, p) + setpenalty(p, a); head = insert_before(head, Np.first, p) Bp[1]=p; set_attr(p, attr_icflag, KINSOKU) end else for _, v in pairs(Bp) do add_penalty(v,a) end @@ -714,14 +724,14 @@ local function handle_penalty_always(post, pre, g) end local function handle_penalty_suppress(post, pre, g) - luatexbase.call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp) + call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp) if #Bp == 0 then if g and getid(g)==id_glue then local p = node_new(id_penalty, nil, Nq.nuc, Np.nuc) - setfield(p, 'penalty', 10000); head = insert_before(head, Np.first, p) + setpenalty(p, 10000); head = insert_before(head, Np.first, p) Bp[1]=p; set_attr(p, attr_icflag, KINSOKU) end - else + else local a = (pre or 0) + (post or 0) for _, v in pairs(Bp) do add_penalty(v,a) end end @@ -733,7 +743,7 @@ local function handle_penalty_jwp() if a~=0 then local p = node_new(id_penalty, widow_Np.nuc) if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end - setfield(p, 'penalty', a); head = insert_before(head, widow_Np.first, p) + setpenalty(p, a); head = insert_before(head, widow_Np.first, p) widow_Bp[1]=p; set_attr(p, attr_icflag, KINSOKU) end else for _, v in pairs(widow_Bp) do add_penalty(v,a) end @@ -746,13 +756,13 @@ local function new_jfm_glue(mc, bc, ac) local g = mc[bc][ac] if g then if g[1] then - local k = node_new(id_kern, 1); setfield(k, 'kern', g[1]) + local k = node_new(id_kern, 1); setkern(k, g[1]) set_attr(k, attr_icflag, FROM_JFM) return k, g.ratio, false, false, false else local f = node_new(id_glue) set_attr(f, attr_icflag, g.priority) - setglue(f, g.width, g.stretch, g.shrink) + setglue(f, g[2], g[3], g[4]) return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink end end @@ -779,6 +789,7 @@ do local bg_ak = 2*id_glue - id_kern local bk_ag = 2*id_kern - id_glue local bk_ak = 2*id_kern - id_kern + local getkern = node.direct.getkern local function blend_diffmet(b, a, rb, ra) return round(luatexja.jfmglue.diffmet_rule((1-rb)*b+rb*a, (1-ra)*b+ra*a)) @@ -793,31 +804,30 @@ do return round(r/2.^(64*ro)), ro end end - local getglue = luatexja.getglue calc_ja_ja_aux = function (gb, ga, db, da) if luatexja.jfmglue.diffmet_rule ~= math.two_pleft and diffmet_rule ~= math.two_pright and luatexja.jfmglue.diffmet_rule ~= math.two_paverage then db, da = 0, 1 end if not gb then - if ga then gb = node_new(id_kern, 1); setfield(gb, 'kern', 0) + if ga then gb = node_new(id_kern, 1); setkern(gb, 0) else return nil end elseif not ga then - ga = node_new(id_kern, 1); setfield(ga, 'kern', 0) + ga = node_new(id_kern, 1); setkern(ga, 0) end local gbw, gaw, gbst, gast, gbsto, gasto, gbsh, gash, gbsho, gasho if getid(gb)==id_glue then gbw, gbst, gbsh, gbsto, gbsho = getglue(gb) else - gbw = getfield(gb, 'kern') + gbw = getkern(gb) end if getid(ga)==id_glue then gaw, gast, gash, gasto, gasho = getglue(ga) else - gaw = getfield(ga, 'kern') + gaw = getkern(ga) end if not (gbst or gast) then -- 両方ã¨ã‚‚ kern - setfield(gb, 'kern', blend_diffmet(gbw, gaw, db, da)) + setkern(gb, blend_diffmet(gbw, gaw, db, da)) node_free(ga); return gb else local gr = gb @@ -848,8 +858,8 @@ do if kanjiskip_jfm_flag then local g = node_new(id_glue); local bk = qm.kanjiskip or null_skip_table - setglue(g, bn and (bn*bk[1]) or 0, - bp and (bp*bk[2]) or 0, + setglue(g, bn and (bn*bk[1]) or 0, + bp and (bp*bk[2]) or 0, bh and (bh*bk[3]) or 0, 0, 0) set_attr(g, attr_icflag, KANJI_SKIP_JFM) return g @@ -858,8 +868,8 @@ do local st = bp and (bp*getfield(kanji_skip, 'stretch')) or 0 local sh = bh and (bh*getfield(kanji_skip, 'shrink')) or 0 setglue(g, - bn and (bn*getfield(kanji_skip, 'width')) or 0, - st, sh, + bn and (bn*getwidth(kanji_skip)) or 0, + st, sh, (st==0) and 0 or getfield(kanji_skip, 'stretch_order'), (sh==0) and 0 or getfield(kanji_skip, 'shrink_order')) set_attr(g, attr_icflag, KANJI_SKIP_JFM) @@ -867,9 +877,9 @@ do end end end - + get_kanjiskip = function() - if Np.auto_kspc==0 or Nq.auto_kspc==0 then return nil + if Np.auto_kspc==0 or Nq.auto_kspc==0 then return nil elseif Np.auto_kspc or Nq.auto_kspc then local pm, qm = Np.met, Nq.met if (pm.char_type==qm.char_type) and (qm.var==pm.var) then @@ -877,15 +887,15 @@ do else local gb = get_kanjiskip_low(false, qm, 1, 1, 1) if gb then - return calc_ja_ja_aux(gb, - get_kanjiskip_low(false, pm, 1, 1, 1) or node_copy(kanji_skip), 0, 1) + return calc_ja_ja_aux(gb, + get_kanjiskip_low(false, pm, 1, 1, 1) or node_copy(kanji_skip), 0, 1) else local ga = get_kanjiskip_low(false, pm, 1, 1, 1) return (ga and calc_ja_ja_aux(node_copy(kanji_skip), ga, 0, 1)) or node_copy(kanji_skip) end end - else + else local g = node_new(id_glue) set_attr(g, attr_icflag, kanjiskip_jfm_flag and KANJI_SKIP_JFM or KANJI_SKIP) return g @@ -900,11 +910,11 @@ do return g, (Np.auto_kspc or Nq.auto_kspc) and get_kanjiskip_low(true, qm, kn, kp, kh) else local npn, nqn = Np.nuc, Nq.nuc - local gb, db, bn, bp, bh + local gb, db, bn, bp, bh = new_jfm_glue(qmc, Nq.class, slow_find_char_class(Np.char, qm, getchar(npn))) - local ga, da, an, ap, ah + local ga, da, an, ap, ah = new_jfm_glue(pmc, slow_find_char_class(Nq.char, pm, getchar(nqn)), @@ -942,22 +952,23 @@ do elseif flag then return node_copy(xkanji_skip) else - local g = node_new(id_glue); + local g = node_new(id_glue) + local w, st, sh, sto, sho = getglue(xkanji_skip) setglue(g, - bn and (bn*getfield(xkanji_skip, 'width')) or 0, - bp and (bp*getfield(xkanji_skip, 'stretch')) or 0, - bh and (bh*getfield(xkanji_skip, 'shrink')) or 0, - bp and getfield(xkanji_skip, 'stretch_order') or 0, - bh and getfield(xkanji_skip, 'shrink_order') or 0) + bn and (bn*w) or 0, + bp and (bp*st) or 0, + bh and (bh*sh) or 0, + bp and sto or 0, + bh and sho or 0) set_attr(g, attr_icflag, XKANJI_SKIP_JFM) return g end end end - + get_xkanjiskip = function(Nn) if Np.auto_xspc==0 or Nq.auto_xspc==0 then - return nil + return nil elseif (Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc) then return get_xkanjiskip_low(true, Nn.met, 1, 1, 1) else @@ -999,7 +1010,7 @@ local function get_OA_skip(insert_ksp) local g, _, kn, kp, kh = new_jfm_glue( pm.char_type, fast_find_char_class( - (((Nq.id==id_glue)or(Nq.id==id_kern)) and 'glue' or 'jcharbdd'), pm), + (((Nq.id==id_glue)or(Nq.id==id_kern)) and 'glue' or 'jcharbdd'), pm), Np.class) local k if insert_ksp then @@ -1027,7 +1038,7 @@ local function handle_np_jachar(mode) local g, k if non_ihb_flag then g, k = calc_ja_ja_glue() end -- M->K if not g then g = get_kanjiskip() end - handle_penalty_normal(Nq.post, Np.pre, g); + handle_penalty_normal(Nq.post, Np.pre, g); real_insert(g); real_insert(k) elseif Nq.met then -- qid==id_hlist local g, k @@ -1037,7 +1048,7 @@ local function handle_np_jachar(mode) elseif Nq.pre then local g, k; if non_ihb_flag then g, k = get_NA_skip() end -- N_A->X if not g then g = get_xkanjiskip(Np) end - handle_penalty_normal((qid==id_hlist and 0 or Nq.post), Np.pre, g); + handle_penalty_normal((qid==id_hlist and 0 or Nq.post), Np.pre, g); real_insert(g); real_insert(k) else local g = non_ihb_flag and (get_OA_skip()) -- O_A @@ -1102,11 +1113,11 @@ do [id_hlist] = function() after_hlist(Nq) end, [id_pbox] = function() after_hlist(Nq) end, [id_disc] = function() after_hlist(Nq) end, - [id_glue] = function() - luatexbase.call_callback("luatexja.jfmglue.special_jaglue_after", Nq.nuc) + [id_glue] = function() + call_callback("luatexja.jfmglue.special_jaglue_after", Nq.nuc) end, [id_pbox_w]= function() - local hh = luatexbase.call_callback("luatexja.jfmglue.whatsit_after", false, Nq, Np, head) + local hh = call_callback("luatexja.jfmglue.whatsit_after", false, Nq, Np, head) -- hh: new head of false (nott processed) if hh then head = hh end end, @@ -1130,7 +1141,7 @@ local function handle_list_tail(mode, last) -- Insert \jcharwidowpenalty if widow_Np.first then handle_penalty_jwp() end else - Np = Nq + Np = Nq -- the current list is the contents of a hbox local npi, pm = Np.id, Np.met if npi == id_jglyph or (npi==id_pbox and pm) then @@ -1153,7 +1164,7 @@ local function handle_list_head(par_indented) set_attr(g, attr_icflag, BOXBDD) if getid(g)==id_glue and #Bp==0 then local h = node_new(id_penalty, nil, Np.nuc) - setfield(h, 'penalty', 10000); set_attr(h, attr_icflag, BOXBDD) + setpenalty(h, 10000); set_attr(h, attr_icflag, BOXBDD) end head = insert_before(head, Np.first, g) end @@ -1178,7 +1189,7 @@ do {}, {}, {first=nil}, { auto_kspc=nil, auto_xspc=nil, char=nil, class=nil, first=nil, id=nil, last=nil, met=nil, nuc=nil, - post=nil, pre=nil, xspc=nil, gk=nil }, + post=nil, pre=nil, xspc=nil, gk=nil }, { auto_kspc=nil, auto_xspc=nil, char=nil, class=nil, first=nil, id=nil, last=nil, met=nil, nuc=nil, post=nil, pre=nil, xspc=nil, gk=nil }, @@ -1194,31 +1205,28 @@ do local is_dir_tate = list_dir==dir_tate capsule_glyph = is_dir_tate and ltjw.capsule_glyph_tate or ltjw.capsule_glyph_yoko attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift - local TEMP = node_new(id_glue) - -- TEMP is a dummy node, which will be freed at the end of the callback. - -- ithout this node, set_attr(kanji_skip, ...) somehow creates an "orphaned" attribute list. - + local TEMP = node_new(id_glue) + -- TEMP is a dummy node, which will be freed at the end of the callback. + -- Without this node, set_attr(kanji_skip, ...) somehow creates an "orphaned" attribute list. do kanji_skip, kanjiskip_jfm_flag = skip_table_to_glue(KSK) set_attr(kanji_skip, attr_icflag, KANJI_SKIP) end - do xkanji_skip, xkanjiskip_jfm_flag = skip_table_to_glue(XSK) set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP) end - if mode then -- the current list is to be line-breaked: -- hbox from \parindent is skipped. local lp, par_indented, lpi, lps = head, 'boxbdd', getid(head), getsubtype(head) - while lp and + while lp and ((lpi==id_whatsit and lps~=sid_user) or ((lpi==id_hlist) and (lps==3)) or (lpi==id_local)) do if (lpi==id_hlist) and (lps==3) then Np.char, par_indented = 'parbdd', 'parbdd' - Np.width = getfield(lp, 'width') + Np.width = getwidth(lp) end lp=node_next(lp); lpi, lps = getid(lp), getsubtype(lp) end return lp, node_tail(head), par_indented, TEMP @@ -1240,7 +1248,7 @@ function luatexja.jfmglue.main(ahead, mode, dir) lp = calc_np(last, lp) if Np then handle_list_head(par_indented) - lp = calc_np(last,lp); + lp = calc_np(last,lp); while Np do adjust_nq(); local pid, pm = Np.id, Np.met @@ -1260,25 +1268,26 @@ function luatexja.jfmglue.main(ahead, mode, dir) end -- adjust attr_icflag for avoiding error if tex_getattr(attr_icflag)~=0 then ensure_tex_attr(attr_icflag, 0) end - node_free(kanji_skip); + node_free(kanji_skip); node_free(xkanji_skip); node_free(TEMP) return head end end do - local IHB = luatexja.userid_table.IHB + local IHB = luatexja.userid_table.IHB local BPAR = luatexja.userid_table.BPAR local BOXB = luatexja.userid_table.BOXB local node_prev = node.direct.getprev local node_write = node.direct.write + local setvalue = node.direct.setdata -- \inhibitglue, \disinhibitglue local function ihb_node(v) local tn = node_new(id_whatsit, sid_user) setfield(tn, 'user_id', IHB) setfield(tn, 'type', 100) - setfield(tn, 'value', v) + setvalue(tn, v) node_write(tn) end function luatexja.jfmglue.create_inhibitglue_node() @@ -1294,7 +1303,7 @@ do local tn = node_new(id_whatsit, sid_user) setfield(tn, 'user_id', BPAR) setfield(tn, 'type', 100) - setfield(tn, 'value', 1) + setvalue(tn, 1) node_write(tn) end @@ -1303,7 +1312,7 @@ do local tn = node_new(id_whatsit, sid_user) setfield(tn, 'user_id', BOXB) setfield(tn, 'type', 100) - setfield(tn, 'value', 1) + setvalue(tn, 1) node_write(tn) end @@ -1320,7 +1329,7 @@ do end Np.met = Nq.met; Np.pre = 0; Np.post = 0; Np.xspc = 0 Np.auto_xspc, Np.auto_kspc = 0, 0 - end + end return Np else return Np @@ -1374,38 +1383,42 @@ do local attr_yablshift = luatexbase.attributes['ltj@yablshift'] local attr_tablshift = luatexbase.attributes['ltj@tablshift'] local getcount, abs, scan_keyword = tex.getcount, math.abs, token.scan_keyword + local getnest = tex.getnest + local tex_getattr = tex.getattribute local get_current_jfont + local cnt_stack = luatexbase.registernumber 'ltj@@stack' do local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] local attr_curtfnt = luatexbase.attributes['ltj@curtfnt'] local dir_tate = luatexja.dir_table.dir_tate - local get_dir_count = ltjd.get_dir_count + local get_dir_count = ltjd.get_dir_count function get_current_jfont() - return tex.getattribute((get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt) + return tex_getattr((get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt) end end + local get_stack_skip = ltjs.get_stack_skip -- \insertxkanjiskip -- SPECIAL_JAGLUE ã®ãƒŽãƒ¼ãƒ‰ï¼š -- * (X)KANJI_SKIP(_JFM): ãã®å ´ã§å€¤ãŒæ±ºã¾ã£ã¦ã„ã‚‹ -- * PROCESSED_BEGIN_FLAG + (X)KANJI_SKIP: 段è½çµ‚了時ã«æ±ºã‚ã‚‹ local function insert_k_skip_common(ind, name, ica, icb) - if abs(tex.nest[tex.nest.ptr].mode) ~= ltjs.hmode then return end + if abs(getnest().mode) ~= ltjs.hmode then return end local g = node_new(id_glue); set_attr(g, attr_icflag, SPECIAL_JAGLUE) - local is_late = scan_keyword("late") + local is_late = scan_keyword 'late' if not is_late then - local st = ltjs.get_stack_skip(ind, getcount('ltj@@stack')) - if st.width==1073741823 then + local st = get_stack_skip(ind, getcount(cnt_stack)) + if st[1]==1073741823 then local bk = ltjf_font_metric_table[get_current_jfont()][name] if bk then setglue(g, bk[1] or 0, bk[2] or 0, bk[3] or 0, 0, 0) end set_attr(g, attr_yablshift, icb); node_write(g); return end - setglue(g, st.width, st.stretch, st.shrink, st.stretch_order, st.shrink_order) + setglue(g, st[1], st[2], st[3], st[4], st[5]) set_attr(g, attr_yablshift, ica) else set_attr(g, attr_yablshift, PROCESSED_BEGIN_FLAG + ica) - set_attr(g, attr_tablshift, get_current_jfont()) + set_attr(g, attr_tablshift, get_current_jfont()) end node_write(g) end @@ -1416,7 +1429,6 @@ do insert_k_skip_common(KSK, "kanjiskip", KANJI_SKIP, KANJI_SKIP_JFM) end -- callback - local getglue = luatexja.getglue local function special_jaglue(lx) local lxi = get_attr_icflag(lx) if lxi==SPECIAL_JAGLUE then @@ -1430,22 +1442,22 @@ do if w~=1073741823 then setglue(lx, w, st, sh, sto, sho); set_attr(lx, attr_icflag, lxi) else - local m = ltjf_font_metric_table[has_attr(lx, attr_tablshift)] + local m = ltjf_font_metric_table[get_attr(lx, attr_tablshift)] setglue(lx, bk[1], bk[2], bk[3], 0, 0) set_attr(lx, attr_icflag, lxi_jfm) end end local function special_jaglue_after(lx) if get_attr_icflag(lx)==SPECIAL_JAGLUE then - lxi=has_attr(lx, attr_yablshift) + lxi=get_attr(lx, attr_yablshift) if lxi>=PROCESSED_BEGIN_FLAG then lxi = lxi%PROCESSED_BEGIN_FLAG if lxi == KANJI_SKIP then - special_jaglue_after_inner(lx, lxi, KANJI_SKIP_JFM, kanji_skip, - ltjf_font_metric_table[has_attr(lx, attr_tablshift)].kanjiskip or null_skip_table) + special_jaglue_after_inner(lx, lxi, KANJI_SKIP_JFM, kanji_skip, + ltjf_font_metric_table[get_attr(lx, attr_tablshift)].kanjiskip or null_skip_table) else -- lxi == XKANJI_SKIP - special_jaglue_after_inner(lx, lxi, XKANJI_SKIP_JFM, xkanji_skip, - ltjf_font_metric_table[has_attr(lx, attr_tablshift)].xkanjiskip or null_skip_table) + special_jaglue_after_inner(lx, lxi, XKANJI_SKIP_JFM, xkanji_skip, + ltjf_font_metric_table[get_attr(lx, attr_tablshift)].xkanjiskip or null_skip_table) end else set_attr(lx, attr_icflag, lxi) diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua index 70557c08a8..a14edd2b79 100644 --- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua +++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.jfont', - date = '2021-11-06', + date = '2022-08-20', description = 'Loader for Japanese fonts', }) @@ -18,17 +18,18 @@ local getid = node.direct.getid local to_direct = node.direct.todirect local node_new = node.direct.new -local node_free = node.direct.free -local has_attr = node.direct.has_attribute +local node_free = node.direct.flush_node or node.direct.free +local get_attr = node.direct.get_attribute local set_attr = node.direct.set_attribute local round = tex.round local font_getfont = font.getfont +local setkern = node.direct.setkern local attr_icflag = luatexbase.attributes['ltj@icflag'] local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] local attr_curtfnt = luatexbase.attributes['ltj@curtfnt'] -local id_glyph = node.id('glyph') -local id_kern = node.id('kern') +local id_glyph = node.id 'glyph' +local id_kern = node.id 'kern' local cat_lp = luatexbase.catcodetables['latex-package'] local FROM_JFM = luatexja.icflag_table.FROM_JFM @@ -118,18 +119,18 @@ function luatexja.jfont.define_jfm(to) v.end_adjust = nil elseif #(v.end_adjust)==0 then v.end_adjust = nil - else + else table.sort(v.end_adjust) end end else v.end_adjust = nil - if v.end_stretch and v.end_stretch~=0.0 then - v.end_adjust = (v.end_adjust or {}) + if v.end_stretch and v.end_stretch~=0.0 then + v.end_adjust = (v.end_adjust or {}) v.end_adjust[#(v.end_adjust)+1] = v.end_stretch end - if v.end_shrink and v.end_ahrink~=0.0 then - v.end_adjust = (v.end_adjust or {}) + if v.end_shrink and v.end_ahrink~=0.0 then + v.end_adjust = (v.end_adjust or {}) v.end_adjust[#(v.end_adjust)+1] = -v.end_shrink end if v.end_adjust then v.end_adjust[#(v.end_adjust)+1] = 0.0 end @@ -148,8 +149,8 @@ function luatexja.jfont.define_jfm(to) elseif xp and type(xp)~='number' then defjfm_res = nil else - xp = (xp or 0)*9+36 - if xp<0 or xp>=64 then defjfm_res=nil end + xp = (xp or 0)*9+36 + if xp<0 or xp>=64 then defjfm_res=nil end end x.priority = xp end @@ -169,8 +170,8 @@ function luatexja.jfont.define_jfm(to) end end if t.version<3 then - -- In version 3, 'jcharbdd' is divided into - -- 'alchar': ALchar (or math boundary) + -- In version 3, 'jcharbdd' is divided into + -- 'alchar': ALchar (or math boundary) -- 'nox_alchar': ALchar (or math boundary), where xkanjiskip won't inserted -- 'glue': glue/kern, 'jcharbdd': other cases (和文B, rule, ...) t.chars.alchar = t.chars.jcharbdd @@ -218,10 +219,9 @@ do if type(i) == 'number' then -- char_type for k,w in pairs(v.glue) do v[k] = { - nil, + nil, w[1], w[2], w[3], ratio=w.ratio, priority=FROM_JFM + w.priority, - width = w[1], stretch = w[2], shrink = w[3], kanjiskip_natural = w.kanjiskip_natural, kanjiskip_stretch = w.kanjiskip_stretch, kanjiskip_shrink = w.kanjiskip_shrink, @@ -279,7 +279,6 @@ end local load_jfont_metric, check_callback_order local font_extra_info = {} -- defined later do - local cstemp local global_flag -- true if \globaljfont, false if \jfont load_jfont_metric = function() if jfm_name=='' then @@ -300,13 +299,10 @@ do -- EXT local utfbyte = utf.byte - function luatexja.jfont.jfontdefX(g, dir, csname) + function luatexja.jfont.jfontdefX(g, dir) jfm_dir, is_def_jfont = dir, true - cstemp = csname:sub( (utfbyte(csname,1,1) == tex.escapechar) and 2 or 1, -1) - cstemp = cstemp:sub(1, ((cstemp:sub(-1,-1)==' ') and (cstemp:len()>=2)) and -2 or -1) global_flag = g and '\\global' or '' - tex.sprint(cat_lp, '\\expandafter\\font\\csname ', - (cstemp==' ') and '\\space' or cstemp, '\\endcsname') + tex.sprint(cat_lp, '\\expandafter\\font\\ltj@temp') end luatexbase.create_callback("luatexja.define_jfont", "data", function (ft, fn) return ft end) @@ -315,15 +311,12 @@ do local fastcopy=table.fastcopy function luatexja.jfont.jfontdefY() local j = load_jfont_metric(jfm_dir) - local fn = font.id(cstemp) - local f = font_getfont(fn) + local fn = token.get_next().mode; local f = font_getfont(fn) if not j then ltjb.package_error('luatexja', "bad JFM `" .. jfm_name .. "'", 'The JFM file you specified is not valid JFM file.\n'.. 'So defining Japanese font is cancelled.') - tex.sprint(cat_lp, global_flag, '\\expandafter\\let\\csname ', - (cstemp==' ') and '\\space' or cstemp, - '\\endcsname=\\relax') + tex.sprint(cat_lp, global_flag, '\\expandafter\\let\\ltj@temp\\relax') return end if not f then return end @@ -340,16 +333,15 @@ do } if auto_enable_vrt2 then local vert_name = ltju.exist_feature(fn, 'vrt2') and 'vrt2' or 'vert' - local rot = fmtable.rotation + local rot = fmtable.rotation ltju.enable_feature(fn, vert_name) ltju.loop_over_feat(f, {[vert_name]=true}, function (i,k) rot[i] = nil end) end fmtable = luatexbase.call_callback("luatexja.define_jfont", fmtable, fn) font_metric_table[fn]=fmtable - tex.sprint(cat_lp, global_flag, '\\protected\\expandafter\\def\\csname ', - (cstemp==' ') and '\\space' or cstemp, '\\endcsname{\\ltj@cur'.. - (jfm_dir == 'yoko' and 'j' or 't') .. 'fnt', fn, '\\relax}') + tex.sprint(cat_lp, global_flag, '\\protected\\expandafter\\def\\ltj@temp', + '{\\ltj@cur'.. (jfm_dir == 'yoko' and 'j' or 't') .. 'fnt', fn, '\\relax}') jfm_spec = nil end end @@ -365,7 +357,7 @@ do to_be_checked[i]=nil if ltj_cb<lotf_cb then local f = ltb.remove_from_callback(n,'luaotfload.letterspace') - ltb.add_to_callback(n, f, 'luaotfload.letterspace', + ltb.add_to_callback(n, f, 'luaotfload.letterspace', ltb.priority_in_callback(n, 'luaotfload.node_processor') + 1) end end @@ -428,7 +420,7 @@ do local parser=luaotfload.parsers.font_request function is_feature_specified(s,fname) local t = lpegmatch(parser,s); return t and t.features and t.features[fname] - end + end -- extract jfm_name, jfm_spec and jfm_var -- normalize position of 'jfm=' and 'jfmvar=' keys local function extract_jfm_spec(name) @@ -461,7 +453,7 @@ do jfm_ksp = (is_feature_specified(name,'ltjksp')~=false) if jfm_dir == 'tate' then vert_activated = (is_feature_specified(name,'vert')~=false) and (is_feature_specified(name,'vrt2')~=false) - auto_enable_vrt2 + auto_enable_vrt2 = (is_feature_specified(name,'vert')==nil) and (is_feature_specified(name,'vrt2')==nil) else vert_activated, auto_enable_vrt2 = nil, nil @@ -797,7 +789,7 @@ do local lo, hi = 1, #t while lo < hi do local mi = ceil((lo+hi)/2) - if t[mi]<=i then lo=mi else hi=mi-1 end + if t[mi]<=i then lo=mi else hi=mi-1 end end return lo%2==1 end @@ -844,14 +836,14 @@ do local bname = tfmdata.psname or nameonly(tfmdata.filename) if not font_extra_basename[bname] then -- if the cache is present, read it - -- + -- local newtime = file_attributes(tfmdata.filename,"modification") local v = "extra_" .. string.lower(bname) local dest = load_cache( v, - function (t) + function (t) return (t.lotf_version~=luaotfload.version) - or (t.version~=cache_ver) or (t.modtime~=newtime) + or (t.version~=cache_ver) or (t.modtime~=newtime) end ) -- if the cache is not found or outdated, save the cache @@ -885,7 +877,7 @@ do dummytable.vorigin, dummytable.vheight = dtvo, dtvh end end - + local function prepare_extra_data_font(id, res, name) if type(res)=='table' and (res.psname or res.filename) then if (res.embedding=='no') and (type(name)=='string') and (name:sub(1,5)=='psft:') then @@ -938,19 +930,19 @@ do [0x3014]=0xFE39, [0x3015]=0xFE3A, [0x3010]=0xFE3B, [0x3011]=0xFE3C, [0x300A]=0xFE3D, [0x300B]=0xFE3E, [0x3008]=0xFE3F, [0x3009]=0xFE40, [0x300C]=0xFE41, [0x300D]=0xFE42, [0x300E]=0xFE43, [0x300F]=0xFE44, - [0xFF3B]=0xFE47, [0xFF3D]=0xFE48, + [0xFF3B]=0xFE47, [0xFF3D]=0xFE48, } local vert_jpotf_table, vert_feat = {}, {vert=true} local utfbyte, utfsub = utf.byte, utf.sub luatexja.jfont.register_vert_replace = function(t) for i,v in pairs(t) do - local ic = (type(i)=='number') and i or + local ic = (type(i)=='number') and i or ((type(i)=='string') and utfbyte(utfsub(i,1,1)) or nil) if ic then - vert_jpotf_table[ic] = (type(v)=='number') and v or + vert_jpotf_table[ic] = (type(v)=='number') and v or ((type(v)=='string') and utfbyte(utfsub(v,1,1)) or nil) end - end + end end luatexbase.add_to_callback( @@ -1023,28 +1015,28 @@ do local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct local ensure_tex_attr = ltjb.ensure_tex_attr local node_write = node.direct.write - local font = font + local fonts, getnest = font.fonts, tex.getnest local new_ic_kern = function(g) return node_new(id_kern,3) end local dir_tate = luatexja.dir_table.dir_tate -- EXT: italic correction function luatexja.jfont.append_italic() - local p = to_direct(tex.nest[tex.nest.ptr].tail) + local p = to_direct(getnest().tail) local TEMP = node_new(id_kern) if p and getid(p)==id_glyph then if is_ucs_in_japanese_char(p) then local j = font_metric_table[ - has_attr(p, (get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt) + get_attr(p, (get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt) ] local g = new_ic_kern() - setfield(g, 'kern', j.char_type[find_char_class(getchar(p), j)].italic) + setkern(g, j.char_type[find_char_class(getchar(p), j)].italic) node_write(g); ensure_tex_attr(attr_icflag, 0) else local f = getfont(p) - local h = font_getfont(f) or font.fonts[f] + local h = font_getfont(f) or fonts[f] if h then - local g = new_ic_kern() if h.characters[getchar(p)] and h.characters[getchar(p)].italic then - setfield(g, 'kern', h.characters[getchar(p)].italic) + local g = new_ic_kern() + setkern(g, h.characters[getchar(p)].italic) node_write(g); ensure_tex_attr(attr_icflag, 0) end end diff --git a/macros/luatex/generic/luatexja/src/ltj-kinsoku.tex b/macros/luatex/generic/luatexja/src/ltj-kinsoku.tex index 179e621054..e420750891 100644 --- a/macros/luatex/generic/luatexja/src/ltj-kinsoku.tex +++ b/macros/luatex/generic/luatexja/src/ltj-kinsoku.tex @@ -467,5 +467,5 @@ \directlua{% local s = table.copy(luatexja.stack.charprop_stack_table[0]) - luatexja.base.save_cache('ltj-kinsoku_default', {s, version=3}) + luatexja.base.save_cache('ltj-kinsoku_default', {s, version=4}) } diff --git a/macros/luatex/generic/luatexja/src/ltj-lineskip.lua b/macros/luatex/generic/luatexja/src/ltj-lineskip.lua index f8b97c144b..107ee804a8 100644 --- a/macros/luatex/generic/luatexja/src/ltj-lineskip.lua +++ b/macros/luatex/generic/luatexja/src/ltj-lineskip.lua @@ -6,24 +6,26 @@ luatexja.load_module 'direction'; local ltjd = luatexja.direction luatexja.lineskip = luatexja.lineskip or {} local to_direct = node.direct.todirect +local to_node = node.direct.tonode local ltjl = luatexja.lineskip local id_glue = node.id 'glue' local id_penalty = node.id 'penalty' local id_hlist = node.id 'hlist' -local setfield = node.direct.setfield -local getfield = node.direct.getfield local getlist = node.direct.getlist local node_new = node.direct.new local node_prev = node.direct.getprev local node_next = node.direct.getnext local getid = node.direct.getid local getsubtype = node.direct.getsubtype +local getdepth = node.direct.getdepth +local getheight = node.direct.getheight local texget = tex.get local node_getglue = node.getglue local setglue = node.direct.setglue +local setsubtype = node.direct.setsubtype local function copy_glue (new_glue, old_glue_name, subtype, new_w) - setfield(new_glue, 'subtype', subtype) + setsubtype(new_glue, subtype) local w,st,sp,sto,spo = texget(old_glue_name, true) setglue(new_glue, new_w or w, st, sp, sto, spo) end @@ -57,11 +59,11 @@ local function adjust_glue(nh) local p, n = node_prev(x), node_next(x) if p then local pid = getid(p) - while (id_glue<=pid) and (pid<=id_penalty) and node_prev(p) do + while (id_glue<=pid) and (pid<=id_penalty) and node_prev(p) do p = node_prev(p); pid = getid(p) end if pid==id_hlist and getid(n)==id_hlist then - local normal = bw - getfield(p, 'depth') - getfield(n, 'height') + local normal = bw - getdepth(p) - getheight(n) local lmin, adj = ltj_profiler(p, n, false, bw) ltj_skip(lmin or normal, x, adj, normal, bw) end @@ -77,17 +79,20 @@ do local p_dummy = ltjl.p_dummy local make_dir_whatsit = luatexja.direction.make_dir_whatsit local get_dir_count = luatexja.direction.get_dir_count -local node_write = node.direct.write +local getwhd = node.direct.getwhd +local setnext = node.direct.setnext +local getnest = tex.getnest local function dir_adjust_append_vlist(b, loc, prev, mirrored) local old_b = to_direct(b) - local new_b = loc=='box' and + local new_b = loc=='box' and make_dir_whatsit(old_b, old_b, get_dir_count(), 'append_vlist') or old_b + local _, ht, dp = getwhd(new_b) if prev > -65536000 then local bw = texget('baselineskip', false) - local normal = bw - prev - getfield(new_b, mirrored and 'depth' or 'height') + local normal = bw - prev - (mirrored and dp or ht) local lmin, adj = nil, 0 - local tail = to_direct(tex.nest[tex.nest.ptr].tail) + local tail = to_direct(getnest().tail) if p_dummy~=ltj_profiler then while tail and (id_glue<=getid(tail)) and (getid(tail)<=id_penalty) do tail = node_prev(tail) @@ -95,17 +100,16 @@ local function dir_adjust_append_vlist(b, loc, prev, mirrored) end if tail then if getid(tail)==id_hlist and getid(new_b)==id_hlist then - if getfield(tail, 'depth')==prev then + if getdepth(tail)==prev then lmin, adj = ltj_profiler(tail, new_b, mirrored, bw) end end end local g = node_new(id_glue) - ltj_skip(lmin or normal, g, adj, normal, bw, loc); node_write(g) + ltj_skip(lmin or normal, g, adj, normal, bw, loc) + setnext(g, new_b); return to_node(g), (mirrored and ht or dp) + else return to_node(new_b), (mirrored and ht or dp) end - node_write(new_b) - tex.prevdepth = getfield(new_b, mirrored and 'height' or 'depth') - return nil -- do nothing on tex side end ltjb.add_to_callback('append_to_vlist_filter', dir_adjust_append_vlist, 'ltj.lineskip', 10000) end diff --git a/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua b/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua index bd3a602e64..cc2c613c40 100644 --- a/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua +++ b/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua @@ -18,7 +18,7 @@ function aux.exist_feature(id, name) return provides_feature(id, t.properties.script, t.properties.language, name) else return false end -end +end function aux.enable_feature(id, name) local t = getfont(id) @@ -57,7 +57,7 @@ local function get_asc_des(id) elseif t.hb then -- HARF local hbfont, u = t.hb.shared.font, t.hb.shared.upem local h = hbfont:get_h_extents() - if h and u then + if h and u then a, d = h.ascender and h.ascender/u, h.descender and -h.descender/u end end @@ -87,7 +87,7 @@ local function get_vmet_table(tfmdata, dest) end local rawdata = tfmdata.shared.rawdata local ascender = rawdata.metadata.ascender or 0 - local default_vheight + local default_vheight = rawdata.metadata.defaultvheight or (rawdata.metadata.descender and (ascender+rawdata.metadata.descender) or units) local units = tfmdata.units @@ -135,10 +135,10 @@ local function loop_over_feat(id, feature_name, func, universal) for _,i in pairs(t.resources.sequences) do if i.order[1] and feature_name[i.order[1]] then local f = i.features and i.features[i.order[1]] - if i.type == 'gsub_single' and i.steps + if i.type == 'gsub_single' and i.steps and f and (universal or (f[t.properties.script] and f[t.properties.script][t.properties.language])) then for _,j in pairs(i.steps) do - if type(j)=='table' then + if type(j)=='table' then if type(j.coverage)=='table' then for i,k in pairs(j.coverage) do local s = func(i,k); if s then return s end @@ -155,14 +155,14 @@ aux.loop_over_feat = loop_over_feat local vert_vrt2 = { vert=true, vrt2=true } function aux.replace_vert_variant(id, c) - return loop_over_feat(id, vert_vrt2, + return loop_over_feat(id, vert_vrt2, function (i,k) if i==c then return k end end) or c end --for name, func in pairs(aux) do --- if type(func)=="function" then +-- if type(func)=="function" then -- aux[name] = function(...) -- print('LOTF_AUX', name, ...); -- local a = func(...); print('RESULT', a); return a @@ -174,8 +174,8 @@ local search search = function (t, key, prefix) if type(t)=="table" then prefix = prefix or '' - for i,v in pairs(t) do - if i==key then print(prefix..'.'..i, v) + for i,v in pairs(t) do + if i==key then print(prefix..'.'..i, v) else search(v,key,prefix..'.'..tostring(i)) end end end diff --git a/macros/luatex/generic/luatexja/src/ltj-math.lua b/macros/luatex/generic/luatexja/src/ltj-math.lua index 2a7c0444c7..a8664d7cf3 100644 --- a/macros/luatex/generic/luatexja/src/ltj-math.lua +++ b/macros/luatex/generic/luatexja/src/ltj-math.lua @@ -14,8 +14,17 @@ local getfield = node.direct.getfield local getid = node.direct.getid local getsubtype = node.direct.getsubtype local getlist = node.direct.getlist --- getlist cannot be used for sub_box nodes. Use instead λp. getfield(p, 'head') local getchar = node.direct.getchar +local getnucleus = node.direct.getnucleus +local getsup = node.direct.getsup +local getsub = node.direct.getsub +local getshift = node.direct.getshift +local setnext = node.direct.setnext +local setnucleus = node.direct.setnucleus +local setsup = node.direct.setsup +local setsub = node.direct.setsub +local setlist = node.direct.setlist +local setshift = node.direct.setshift local to_node = node.direct.tonode local to_direct = node.direct.todirect @@ -24,10 +33,11 @@ local node_traverse = node.direct.traverse local node_new = node.direct.new local node_next = node.direct.getnext local node_remove = node.direct.remove -local node_free = node.direct.free -local has_attr = node.direct.has_attribute +local node_free = node.direct.flush_node or node.direct.free +local get_attr = node.direct.get_attribute local set_attr = node.direct.set_attribute -local tex_getcount = tex.getcount +local getcount = tex.getcount +local cnt_stack = luatexbase.registernumber 'ltj@@stack' local attr_jchar_class = luatexbase.attributes['ltj@charclass'] local attr_dir = luatexbase.attributes['ltj@dir'] @@ -66,33 +76,34 @@ local list_dir -- vcenter noad ã¯è»¸ã«æƒãˆã‚‹ãŸã‚,欧文ベースライン補æ£ãŒã‹ã‹ã‚‹ local function conv_vcenter(sb) - local h = getfield(sb, 'head'); local hd = getlist(h) - if getid(hd)==id_whatsit and getsubtype(hd)==sid_user + local h = getlist(sb) ; local hd = getlist(h) + if getid(hd)==id_whatsit and getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then local d = node_next(hd) - if getid(d)==id_vlist and has_attr(d, attr_dir)>=dir_node_auto then - node_free(hd); setfield(h, 'head', nil); node_free(h) - setfield(sb, 'head', d); set_attr(d, attr_icflag, 0) + if getid(d)==id_vlist and get_attr(d, attr_dir)>=dir_node_auto then + node_free(hd); setlist(h, nil); node_free(h) + setlist(sb, d); set_attr(d, attr_icflag, 0) end end return sb end local cjhh_A --- sty : 0 (display or text), 1 (script), >=2 (scriptscript) +local max, min = math.max, math.min +-- sty : -1 (display), 0 (text), 1 (script), >=2 (scriptscript) local function conv_jchar_to_hbox(head, sty) for p in node_traverse(head) do local pid = getid(p) if pid == id_simple or pid == id_accent then if getsubtype(p)==12 then - conv_vcenter(getfield(p, 'nucleus')) + conv_vcenter(getnucleus(p)) else - setfield(p, 'nucleus', cjh_A(getfield(p, 'nucleus'), sty)) + setnucleus(p, cjh_A(getnucleus(p), sty)) end - setfield(p, 'sub', cjh_A(getfield(p, 'sub'), sty+1)) - setfield(p, 'sup', cjh_A(getfield(p, 'sup'), sty+1)) + setsub(p, cjh_A(getsub(p), max(sty+1,1))) + setsup(p, cjh_A(getsup(p), max(sty+1,1))) elseif pid == id_choice then - setfield(p, 'display', cjh_A(getfield(p, 'display'), 0)) + setfield(p, 'display', cjh_A(getfield(p, 'display'), -1)) setfield(p, 'text', cjh_A(getfield(p, 'text'), 0)) setfield(p, 'script', cjh_A(getfield(p, 'script'), 1)) setfield(p, 'scriptscript', cjh_A(getfield(p, 'scriptscript'), 2)) @@ -100,15 +111,17 @@ local function conv_jchar_to_hbox(head, sty) setfield(p, 'num', cjh_A(getfield(p, 'num'), sty+1)) setfield(p, 'denom', cjh_A(getfield(p, 'denom'), sty+1)) elseif pid == id_radical then - setfield(p, 'nucleus', cjh_A(getfield(p, 'nucleus'), sty)) - setfield(p, 'sub', cjh_A(getfield(p, 'sub'), sty+1)) - setfield(p, 'sup', cjh_A(getfield(p, 'sup'), sty+1)) + setnucleus(p, cjh_A(getnucleus(p), sty)) + setsub(p, cjh_A(getsub(p), max(sty+1,1))) + setsup(p, cjh_A(getsup(p), max(sty+1,1))) if getfield(p, 'degree') then - setfield(p, 'degree', cjh_A(getfield(p, 'degree'), sty + 1)) + setfield(p, 'degree', cjh_A(getfield(p, 'degree'), 2)) end elseif pid == id_style then local ps = getfield(p, 'style') - if ps == "display'" or ps == 'display' or ps == "text'" or ps == 'text' then + if ps == "display'" or ps == 'display' then + sty = -1 + elseif ps == "text'" or ps == 'text' then sty = 0 elseif ps == "script'" or ps == 'script' then sty = 1 @@ -124,47 +137,48 @@ local MJS = luatexja.stack_table_index.MJS local MJSS = luatexja.stack_table_index.MJSS local capsule_glyph_math = ltjw.capsule_glyph_math local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct +local setfont = node.direct.setfont +local setchar = node.direct.setchar cjh_A = function (p, sty) if not p then return nil else local pid = getid(p) if pid == id_sub_mlist then - if getfield(p, 'head') then - setfield(p, 'head', conv_jchar_to_hbox(getfield(p, 'head'), sty)) + if getlist(p) then + setlist(p, conv_jchar_to_hbox(getlist(p), sty)) end elseif pid == id_mchar then - local pc, fam = getchar (p), has_attr(p, attr_jfam) or -1 + local pc, fam = getchar (p), get_attr(p, attr_jfam) or -1 if (not is_math_letters[pc]) and is_ucs_in_japanese_char(p) and fam>=0 then - local f = ltjs.get_stack_table(MJT + 0x100 * sty + fam, -1, tex_getcount('ltj@@stack')) + local f = ltjs.get_stack_table(MJT + 0x100 * min(max(sty,0),2) + fam, -1, getcount(cnt_stack)) if f ~= -1 then local q = node_new(id_sub_box) - local r = node_new(id_glyph); setfield(r, 'next', nil) - setfield(r, 'char', pc); setfield(r, 'font', f); setfield(r, 'subtype', 256) - local k = has_attr(r,attr_ykblshift) or 0; set_attr(r, attr_ykblshift, 0) - -- ltj-setwidth 内ã§å®Ÿéš›ã®ä½ç½®è£œæ£ã¯ãŠã“ãªã†ã®ã§ï¼Œè£œæ£é‡ã‚’é€€é¿ + local r = node_new(id_glyph, 256); setnext(r, nil); setfont(r, f, pc) local met = ltjf_font_metric_table[f] - r = capsule_glyph_math(r, met, met.char_type[ltjf_find_char_class(pc, met)]); - setfield(q, 'head', r); node_free(p); p=q; set_attr(r, attr_yablshift, k) + r = capsule_glyph_math( + r, met, met.char_type[ltjf_find_char_class(pc, met)], sty) + setlist(q, r); node_free(p); p=q; end end - elseif pid == id_sub_box and getfield(p, 'head') then + elseif pid == id_sub_box and getlist(p) then -- \hbox ã§ç›´ã«ä¸Žãˆã‚‰ã‚ŒãŸå†…容ã¯ä¸Šä¸‹ä½ç½®ã‚’補æ£ã™ã‚‹å¿…è¦ã¯ãªã„ - local h = getfield(p, 'head'); h = ltjd_make_dir_whatsit(h, h, list_dir, 'math') - setfield(p, 'head', h); set_attr(h, attr_icflag, PROCESSED) + local h = getlist(p); h = ltjd_make_dir_whatsit(h, h, list_dir, 'math') + setlist(p, h); setshift(h, getshift(h)-get_attr(h, attr_yablshift)) + --set_attr(h, attr_icflag, PROCESSED) end end return p end do - local function mlist_callback_ltja(n) + local function mlist_callback_ltja(n, display_type) local n = to_direct(n); list_dir = ltjd_get_dir_count() if getid(n)==id_whatsit and getsubtype(n)==sid_user and getfield(n, 'user_id') == DIR then local old_n = n; n = node_remove(n, n) node_free(old_n); if not n then return nil end end - return to_node(conv_jchar_to_hbox(n, 0)) + return to_node(conv_jchar_to_hbox(n, (display_type=='display') and -1 or 0)) end -- LaTeX 2020-02-02 seems to have pre_mlist_to_hlist_filter callback if luatexbase.callbacktypes['pre_mlist_to_hlist_filter'] then diff --git a/macros/luatex/generic/luatexja/src/ltj-otf.lua b/macros/luatex/generic/luatexja/src/ltj-otf.lua index 770749f9ea..11f68c6ba9 100644 --- a/macros/luatex/generic/luatexja/src/ltj-otf.lua +++ b/macros/luatex/generic/luatexja/src/ltj-otf.lua @@ -21,13 +21,19 @@ local getid = node.direct.getid local getfont = node.direct.getfont local getchar = node.direct.getchar local getsubtype = node.direct.getsubtype +local getvalue = node.direct.getdata +local setchar = node.direct.setchar +local setfont = node.direct.setfont +local setlang = node.direct.setlang +local setvalue = node.direct.setdata + local to_node = node.direct.tonode local to_direct = node.direct.todirect local node_new = node.direct.new local node_remove = node.direct.remove local node_next = node.direct.getnext -local node_free = node.direct.free -local has_attr = node.direct.has_attribute +local node_free = node.direct.flush_node or node.direct.free +local get_attr = node.direct.get_attribute local set_attr = node.direct.set_attribute local unset_attr = node.direct.unset_attribute local node_insert_after = node.direct.insert_after @@ -81,7 +87,7 @@ local function get_ucs_from_rmlgbm(c) elseif v<0xF0000 then -- ç´ ç›´ã« Unicode ã«ãƒžãƒƒãƒ—å¯èƒ½ return v else -- privete use area - local r, aj = nil, ltjr_cidfont_data["Adobe-Japan1"] + local r, aj = nil, ltjr_cidfont_data["Adobe-Japan1"] -- 先㫠ltj_vert_table を見る for i,w in pairs(aj.ltj_vert_table) do if w==v then r=i; break end @@ -116,7 +122,7 @@ end local function append_jglyph(char) local p = node_new(id_whatsit,sid_user) setfield(p, 'user_id', OTF); setfield(p, 'type', 100) - setfield(p, 'value', char); node_write(p) + setvalue(p, char); node_write(p) end local myutf @@ -162,12 +168,10 @@ local function extract(head) if getsubtype(p)==sid_user then local puid = getfield(p, 'user_id') if puid==OTF then - local g = node_new(id_glyph) - setfield(g, 'subtype', 0) - setfield(g, 'char', getfield(p, 'value')) - local v = has_attr(p, attr_curfnt); setfield(g, 'font', v) - setfield(g, 'lang', lang_ja) - set_attr(g, attr_kblshift, has_attr(p, attr_kblshift)) + local g = node_new(id_glyph, 0) + setfont(g, get_attr(p, attr_curfnt), getvalue(p)) + setlang(g, lang_ja) + set_attr(g, attr_kblshift, get_attr(p, attr_kblshift)) head = node_insert_after(head, p, g) head = node_remove(head, p) node_free(p); p = g diff --git a/macros/luatex/generic/luatexja/src/ltj-pretreat.lua b/macros/luatex/generic/luatexja/src/ltj-pretreat.lua index 073cc1ee39..508de5bb99 100644 --- a/macros/luatex/generic/luatexja/src/ltj-pretreat.lua +++ b/macros/luatex/generic/luatexja/src/ltj-pretreat.lua @@ -17,23 +17,24 @@ local getfont = node.direct.getfont local getchar = node.direct.getchar local getfield = node.direct.getfield local getsubtype = node.direct.getsubtype -local getlang = node.direct.getlang or function (n) return getfield(n,'lang') end +local getlang = node.direct.getlang local pairs = pairs local floor = math.floor +local get_attr = node.direct.get_attribute local has_attr = node.direct.has_attribute local set_attr = node.direct.set_attribute local node_traverse = node.direct.traverse local node_remove = node.direct.remove local node_next = node.direct.getnext -local node_free = node.direct.free +local node_free = node.direct.flush_node or node.direct.free local node_end_of_math = node.direct.end_of_math -local tex_getcount = tex.getcount +local getcount = tex.getcount -local id_glyph = node.id('glyph') -local id_math = node.id('math') -local id_whatsit = node.id('whatsit') -local sid_user = node.subtype('user_defined') +local id_glyph = node.id 'glyph' +local id_math = node.id 'math' +local id_whatsit = node.id 'whatsit' +local sid_user = node.subtype 'user_defined' local attr_dir = luatexbase.attributes['ltj@dir'] local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] @@ -51,9 +52,9 @@ local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG local dir_tate = luatexja.dir_table.dir_tate local lang_ja = luatexja.lang_ja -local setlang = node.direct.setlang or function(n,l) setfield(n,'lang',l) end -local setfont = node.direct.setfont or function(n,l) setfield(n,'font',l) end -local setchar = node.direct.setchar or function(n,l) setfield(n,'char',l) end +local setlang = node.direct.setlang +local setfont = node.direct.setfont +local setchar = node.direct.setchar ------------------------------------------------------------------------ -- MAIN PROCESS STEP 1: replace fonts @@ -72,8 +73,8 @@ do if uid==STCK then wt[#wt+1] = p; node_remove(head, p) elseif uid==DIR then - if has_attr(p, attr_icflag)<PROCESSED_BEGIN_FLAG then - ltjs.list_dir = has_attr(p, attr_dir) + if get_attr(p, attr_icflag)<PROCESSED_BEGIN_FLAG then + ltjs.list_dir = get_attr(p, attr_dir) else -- ã“ã£ã¡ã®ã‚±ãƒ¼ã‚¹ã¯é€šå¸¸ä½¿ç”¨ã§ã¯èµ·ã“らãªã„ wtd[#wtd+1] = p; node_remove(head, p) end @@ -82,13 +83,13 @@ do return node_next(p) end, } - setmetatable(suppress_hyphenate_ja_aux, + setmetatable(suppress_hyphenate_ja_aux, { __index = function() return node_next end, }) - local id_boundary = node.id('boundary') + local id_boundary = node.id 'boundary' local node_new, insert_before = node.direct.new, node.direct.insert_before - local setsubtype = node.direct.setsubtype or function(n,l) setfield(n,'subtype',l) end + local setsubtype = node.direct.setsubtype local function suppress_hyphenate_ja (h) - start_time_measure('ltj_hyphenate') + start_time_measure 'ltj_hyphenate' head = to_direct(h) for i = 1,#wt do wt[i]=nil end for i = 1,#wtd do wtd[i]=nil end @@ -109,7 +110,7 @@ do setfield(b, 'type', 100); setfield(b, 'user_id', JA_AL_BDD); insert_before(head, p, b) end - local pf = has_attr(p, attr_curjfnt) + local pf = get_attr(p, attr_curjfnt) pf = (pf and pf>0 and pf) or getfont(p) setfont(p, ltjf_replace_altfont(pf, pc)) setlang(p, lang_ja) @@ -125,9 +126,9 @@ do p = (suppress_hyphenate_ja_aux[pid])(p) end end - stop_time_measure('ltj_hyphenate'); start_time_measure('tex_hyphenate') + stop_time_measure 'ltj_hyphenate'; start_time_measure 'tex_hyphenate' lang.hyphenate(h, nil) - stop_time_measure('tex_hyphenate') + stop_time_measure 'tex_hyphenate' return h end @@ -135,24 +136,31 @@ do end -- mode: true iff this function is called from hpack_filter +local set_box_stack_level +do local ltjs_report_stack_level = ltjs.report_stack_level local ltjf_font_metric_table = ltjf.font_metric_table local font_getfont = font.getfont -local function set_box_stack_level(head, mode) - local box_set, cl = 0, tex.currentgrouplevel + 1 +local traverse_id = node.direct.traverse_id +local cnt_stack = luatexbase.registernumber 'ltj@@stack' +local texget, getvalue = tex.get, node.direct.getdata +function set_box_stack_level(head, mode) + local box_set = 0 if mode then - for _,p in pairs(wt) do - if getfield(p, 'value')==cl then box_set = 1 end; node_free(p) + local cl = (texget 'currentgrouplevel') + 1 + for i=1,#wt do + local p = wt[i] + if getvalue(p)==cl then box_set = 1 end; node_free(p) end else - for _,p in pairs(wt) do node_free(p) end + for i=1,#wt do node_free(wt[i]) end end - ltjs_report_stack_level(tex_getcount('ltj@@stack') + box_set) + ltjs_report_stack_level(getcount(cnt_stack) + box_set) for _,p in pairs(wtd) do node_free(p) end if ltjs.list_dir == dir_tate then - for p in node.direct.traverse_id(id_glyph,to_direct(head)) do + for p in traverse_id(id_glyph,to_direct(head)) do if has_attr(p, attr_icflag, 0) and getlang(p)==lang_ja then - local nf = ltjf_replace_altfont( has_attr(p, attr_curtfnt) or getfont(p) , ltjs_orig_char_table[p]) + local nf = ltjf_replace_altfont( get_attr(p, attr_curtfnt) or getfont(p) , ltjs_orig_char_table[p]) setfont(p, nf) if ltjf_font_metric_table[nf].vert_activated then local pc = getchar(p); pc = ltjf_font_metric_table[nf].vform[pc] @@ -163,6 +171,7 @@ local function set_box_stack_level(head, mode) end return head end +end -- CALLBACKS ltjb.add_to_callback('hpack_filter', diff --git a/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua b/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua index 49f2018e4d..36fb7f7877 100644 --- a/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua +++ b/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua @@ -1,7 +1,7 @@ -- -- ltj-rmlgbm.lua -- -luatexja.load_module('base'); local ltjb = luatexja.base +luatexja.load_module 'base'; local ltjb = luatexja.base local cidfont_data = {} local cache_chars = {} @@ -224,7 +224,7 @@ local cidf_vert_processor do local traverse_id, is_node = node.direct.traverse_id, node.is_node local to_direct = node.direct.todirect - local id_glyph = node.id('glyph') + local id_glyph = node.id 'glyph' local getfont = node.direct.getfont local getchar = node.direct.getchar local setchar = node.direct.setchar @@ -234,7 +234,7 @@ do local fontdata = font_getfont(fnum) if head and luatexja.jfont.font_metric_table[fnum] and luatexja.jfont.font_metric_table[fnum].vert_activated then local vt = fontdata.ltj_vert_table - local nh = is_node(head) and to_direct(head) or head + local nh = is_node(head) and to_direct(head) or head for n in traverse_id(id_glyph, head) do if getfont(n)==fnum then local c = getchar(n); setchar(n, vt[c] or c) diff --git a/macros/luatex/generic/luatexja/src/ltj-ruby.lua b/macros/luatex/generic/luatexja/src/ltj-ruby.lua index 7fa7ea927e..047b53ab58 100644 --- a/macros/luatex/generic/luatexja/src/ltj-ruby.lua +++ b/macros/luatex/generic/luatexja/src/ltj-ruby.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.ruby', - date = '2022-06-25', + date = '2022-08-29', description = 'Ruby annotation', }) luatexja.ruby = {} @@ -13,21 +13,38 @@ luatexja.load_module 'base'; local ltjb = luatexja.base local to_node = node.direct.tonode local to_direct = node.direct.todirect -local setfield = node.direct.setfield -local setglue = luatexja.setglue local getfield = node.direct.getfield local getid = node.direct.getid local getfont = node.direct.getfont local getlist = node.direct.getlist local getchar = node.direct.getchar local getsubtype = node.direct.getsubtype +local getkern = node.direct.getkern +local getwidth = node.direct.getwidth +local getheight = node.direct.getheight +local getdepth = node.direct.getdepth +local getwhd = node.direct.getwhd +local getvalue = node.direct.getdata +local setfield = node.direct.setfield +local setglue = node.direct.setglue +local setkern = node.direct.setkern +local setnext = node.direct.setnext +local setshift = node.direct.setshift +local setwidth = node.direct.setwidth +local setheight = node.direct.setheight +local setdepth = node.direct.setdepth +local setwhd = node.direct.setwhd +local setlist = node.direct.setlist +local setvalue = node.direct.setdata local node_new = node.direct.new local node_remove = node.direct.remove local node_next = node.direct.getnext -local node_copy, node_free, node_tail = node.direct.copy, node.direct.free, node.direct.tail -local has_attr, set_attr = node.direct.has_attribute, node.direct.set_attribute +local node_copy, node_tail = node.direct.copy, node.direct.tail +local node_free = node.direct.flush_node or node.direct.free +local get_attr, set_attr = node.direct.get_attribute, node.direct.set_attribute local insert_before, insert_after = node.direct.insert_before, node.direct.insert_after +local hpack = node.direct.hpack local id_hlist = node.id 'hlist' local id_vlist = node.id 'vlist' @@ -125,7 +142,7 @@ function luatexja.ruby.read_old_break_info() local real_file = kpse.find_file(fname) if real_file then dofile(real_file) end cache_handle = io.open(fname, 'w') - if cache_handle then + if cache_handle then cache_handle:write('local lrob=luatexja.ruby.old_break_info\n') end end @@ -143,7 +160,7 @@ end -- ルビ組版ãŒè¡Œã‚ã‚Œã¦ã„る段è½/hboxã§ã®è¨å®šãŒä½¿ã‚れる. -- ルビ文å—ã‚’æ ¼ç´ã—ã¦ã„るボックスã§ã®è¨å®šã§ã¯ãªã„ï¼ local function get_attr_icflag(p) - return (has_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG + return (get_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG end local concat do @@ -157,25 +174,22 @@ do end set_attr(nh, attr_icflag, get_attr_icflag(nh) + PROCESSED_BEGIN_FLAG) - setfield(node_tail(h), 'next', nh) - setfield(f, 'head', nil); node_free(f) - setfield(b, 'head', nil); node_free(b) + setnext(node_tail(h), nh) + setlist(f, nil); node_free(f) + setlist(b, nil); node_free(b) local g = luatexja.jfmglue.main(h,false) - return node.direct.hpack(g) + return hpack(g) else return f end elseif b then return b else - local h = node_new(id_hlist) - setfield(h, 'subtype', 0) - setfield(h, 'width', 0) - setfield(h, 'height', 0) - setfield(h, 'depth', 0) + local h = node_new(id_hlist, 0) + setwhd(h, 0, 0, 0) setfield(h, 'glue_set', 0) setfield(h, 'glue_order', 0) - setfield(h, 'head', nil) + setlist(h, nil) return h end end @@ -183,9 +197,7 @@ end local function expand_3bits(num) local t = {}; local a = num - for i = 1, 10 do - t[i] = a%8; a = floor(a/8) - end + for i = 1, 10 do t[i], a = a%8, a//8 end return t end ---------------------------------------------------------------- @@ -205,23 +217,22 @@ do -- pre, middle, post: 伸縮比率 -- prenw, postnw: å‰å¾Œã®è‡ªç„¶é•· (sp) local h = getlist(box); - local hh, hd = getfield(box, 'height'), getfield(box, 'depth') + local _, hh, hd = getwhd(box) local hx = h while hx do - local hic = has_attr(hx, attr_icflag) or 0 + local hic = get_attr(hx, attr_icflag) or 0 if (hic == KANJI_SKIP) or (hic == KANJI_SKIP_JFM) or (hic == XKANJI_SKIP) or (hic == XKANJI_SKIP_JFM) or ((hic<=FROM_JFM+63) and (hic>=FROM_JFM)) then -- ã“ã® 5 種類ã®ç©ºç™½ã‚’ã®ã°ã™ if getid(hx) == id_kern then - local k = node_new(id_glue) - setglue(k, getfield(hx, 'kern'), round(middle*65536), 0, + local k = node_new(id_glue, 0) + setglue(k, getkern(hx), round(middle*65536), 0, 2, 0) - setfield(k, 'subtype', 0); h = insert_after(h, hx, k); h = node_remove(h, hx); node_free(hx); hx = k else -- glue - setglue(hx, getfield(hx, 'width'), round(middle*65536), 0, + setglue(hx, getwidth(hx), round(middle*65536), 0, 2, 0) end end @@ -236,10 +247,9 @@ do setglue(k, postnw, round(post*65536), 0, 2, 0) insert_after(h, node_tail(h), k); -- hpack - setfield(box, 'head', nil); node_free(box) - box = node.direct.hpack(h, new_width, 'exactly') - setfield(box, 'height', hh) - setfield(box, 'depth', hd) + setlist(box, nil); node_free(box) + box = hpack(h, new_width, 'exactly') + setheight(box, hh); setdepth(box, hd) return box end end @@ -255,9 +265,8 @@ local function texiface_low(rst, rtlr, rtlp) local w = node_new(id_whatsit, sid_user) setfield(w, 'type', 110); setfield(w, 'user_id', RUBY_PRE) local wv = node_new(id_whatsit, sid_user) - setfield(w, 'value', to_node(wv)) setfield(wv, 'type', 108) - setfield(wv, 'value', rst); rst.count = floor(#rtlr) + setvalue(w, to_node(wv)); setvalue(wv, rst); rst.count = #rtlr setfield(wv, 'user_id', RUBY_PRE) -- dummy local n = wv for i = 1, #rtlr do @@ -280,7 +289,7 @@ function luatexja.ruby.texiface(rst, rtlr, rtlp) else local f, eps = true, rst.eps for i = 1,#rtlr do - if getfield(rtlr[i], 'width') > getfield(rtlp[i], 'width') + eps then + if getwidth(rtlr[i]) > getwidth(rtlp[i]) + eps then f = false; break end end @@ -304,12 +313,12 @@ end -- r, p ã®ä¸èº«ã®ãƒŽãƒ¼ãƒ‰ã¯å†åˆ©ç”¨ã•ã‚Œã‚‹ local function enlarge_parent(r, p, tmp_tbl, no_begin, no_end) -- r: ルビ部分ã®æ ¼ç´ã•ã‚ŒãŸ box,p: åŒï¼Œè¦ªæ–‡å— - local rwidth = getfield(r, 'width') - local sumprot = rwidth - getfield(p, 'width') -- >0 + local rwidth = getwidth(r) + local sumprot = rwidth - getwidth(p) -- >0 local pre_intrusion, post_intrusion local ppre, pmid, ppost = tmp_tbl.ppre, tmp_tbl.pmid, tmp_tbl.ppost local mapre, mapost = tmp_tbl.mapre, tmp_tbl.mapost - local intmode = floor(tmp_tbl.mode/4)%4 + local intmode = (tmp_tbl.mode//4)%4 if no_begin then mapre = mapre + tmp_tbl.before_jfmgk end if no_end then mapost = mapost + tmp_tbl.after_jfmgk end if (tmp_tbl.mode%4 >=2) and (tmp_tbl.pre<0) and (tmp_tbl.post<0) then @@ -332,18 +341,17 @@ local function enlarge_parent(r, p, tmp_tbl, no_begin, no_end) if n < sumprot then pre_intrusion = n/2; post_intrusion = n/2 else - pre_intrusion = floor(sumprot/2); post_intrusion = sumprot - pre_intrusion + pre_intrusion = sumprot//2; post_intrusion = sumprot - pre_intrusion end p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion) pre_intrusion = min(mapre, pre_intrusion + round(ppre*getfield(p, 'glue_set')*65536)) post_intrusion = min(mapost, post_intrusion + round(ppost*getfield(p, 'glue_set')*65536)) end - setfield(r, 'shift', -pre_intrusion) + setshift(r, -pre_intrusion) local rwidth = rwidth - pre_intrusion - post_intrusion - setfield(r, 'width', rwidth) - setfield(p, 'width', rwidth) + setwidth(r, rwidth); setwidth(p, rwidth) local ps = getlist(p) - setfield(ps, 'width', getfield(ps, 'width') - pre_intrusion) + setwidth(ps, getwidth(ps) - pre_intrusion) local orig_post_intrusion, post_jfmgk = post_intrusion, false if no_end then if orig_post_intrusion > tmp_tbl.after_jfmgk then @@ -366,51 +374,50 @@ local function new_ruby_box(r, p, tmp_tbl, no_begin, no_end) local ppre, pmid, ppost = tmp_tbl.ppre, tmp_tbl.pmid, tmp_tbl.ppost local mapre, mapost = tmp_tbl.mapre, tmp_tbl.mapost local rpre, rmid, rpost, rsmash - imode = floor(tmp_tbl.mode/0x100000); rsmash = (imode%2 ==1) - imode = floor(imode/2); rpost = imode%8; + imode = tmp_tbl.mode//0x100000; rsmash = (imode%2 ==1) + imode = imode//2; rpost = imode%8; imode = (imode-rpost)/8; rmid = imode%8; imode = (imode-rmid)/8; rpre = imode%8 - if getfield(r, 'width') > getfield(p, 'width') then -- change the width of p + if getwidth(r) > getwidth(p) then -- change the width of p r, p, post_intrusion, post_jfmgk = enlarge_parent(r, p, tmp_tbl, no_begin, no_end) - elseif getfield(r, 'width') < getfield(p, 'width') then -- change the width of r - r = enlarge(r, getfield(p, 'width'), rpre, rmid, rpost, 0, 0) + elseif getwidth(r) < getwidth(p) then -- change the width of r + r = enlarge(r, getwidth(p), rpre, rmid, rpost, 0, 0) post_intrusion = 0 local need_repack = false -- margin ãŒå¤§ãããªã‚Šã™ãŽãŸæ™‚ã®å‡¦ç† if round(rpre*getfield(r, 'glue_set')*65536) > max_margin then local ps = getlist(r); need_repack = true - setfield(ps, 'width', max_margin) + setwidth(ps, max_margin) setfield(ps, 'stretch', 1) -- å…¨ã伸縮ã—ãªã„ã®ã‚‚å›°ã‚‹ end if round(rpost*getfield(r, 'glue_set')*65536) > max_margin then local ps = node_tail(getlist(r)); need_repack = true - setfield(ps, 'width', max_margin) + setwidth(ps, max_margin) setfield(ps, 'stretch', 1) -- å…¨ã伸縮ã—ãªã„ã®ã‚‚å›°ã‚‹ end if need_repack then local rt = r - r = node.direct.hpack(getlist(r), getfield(r, 'width'), 'exactly') - setfield(rt, 'head', nil); node_free(rt); + r = hpack(getlist(r), getwidth(r), 'exactly') + setlist(rt, nil); node_free(rt); end end local a, k = node_new(id_rule), node_new(id_kern, 1) - setfield(a, 'width', 0); setfield(a, 'height', 0) - setfield(a, 'depth', 0); setfield(k, 'kern', tmp_tbl.intergap) + setwhd(a, 0, 0, 0); setkern(k, tmp_tbl.intergap) insert_after(r, r, a); insert_after(r, a, k); - insert_after(r, k, p); setfield(p, 'next', nil) - if tmp_tbl.rubydepth >= 0 then setfield(r, 'depth', tmp_tbl.rubydepth) end - if tmp_tbl.baseheight >= 0 then setfield(p, 'height', tmp_tbl.baseheight) end - a = node.direct.vpack(r); setfield(a, 'shift', 0) + insert_after(r, k, p); setnext(p, nil) + if tmp_tbl.rubydepth >= 0 then setdepth(r, tmp_tbl.rubydepth) end + if tmp_tbl.baseheight >= 0 then setheight(p, tmp_tbl.baseheight) end + a = node.direct.vpack(r); setshift(a, 0) set_attr(a, attr_ruby, post_intrusion) set_attr(a, attr_ruby_post_jfmgk, post_jfmgk and 1 or 0) - if rsmash or getfield(a, 'height')<getfield(p, 'height') then + if rsmash or getheight(a)<getheight(p) then local k = node_new(id_kern, 1) - setfield(k, 'kern', -getfield(a, 'height')+getfield(p, 'height')) - setfield(a, 'head', k); insert_before(r, r, k) - setfield(a, 'height', getfield(p, 'height')) + setkern(k, -getheight(a)+getheight(p)) + setlist(a, k); insert_before(r, r, k) + setheight(a, getheight(p)) end - return a, getfield(r, 'width'), post_intrusion, post_jfmgk + return a, getwidth(r), post_intrusion, post_jfmgk end @@ -418,7 +425,7 @@ end local post_intrusion_backup, post_jfmgk_backup local max_allow_pre, max_allow_post - +local flush_list = node.direct.flush_list -- ä¸ä»˜ã熟語ルビ,cmp containers -- 「文å—ã®æ§‹æˆã‚’考ãˆãŸã€ã‚„ã¤ã¯ã©ã†ã—よㆠlocal function pre_low_cal_box(w, cmp) @@ -428,8 +435,8 @@ local function pre_low_cal_box(w, cmp) -- kf[i] : container 1--i ã‹ã‚‰ãªã‚‹è¡Œæœ«å½¢ -- kf[cmp+i] : container i--cmp ã‹ã‚‰ãªã‚‹è¡Œé å½¢ -- kf[2cmp+1] : è¡Œä¸å½¢ - local wv = getfield(w, 'value') - local rst = getfield(wv, 'value') + local wv = getvalue(w) + local rst = getvalue(wv) local mdt -- nt*: node temp local coef = {} -- 連立一次方程å¼ã®æ‹¡å¤§ä¿‚数行列 local rtb = expand_3bits(rst.stretch) @@ -473,8 +480,8 @@ local function pre_low_cal_box(w, cmp) -- w.value ã® node list 更新. local nt = wv - node.direct.flush_list(node_next(wv)) - for i = 1, 2*cmp+1 do setfield(nt, 'next', kf[i]); nt = kf[i] end + flush_list(node_next(wv)) + for i = 1, 2*cmp+1 do setnext(nt, kf[i]); nt = kf[i] end if cmp==1 then solve_1(coef) elseif cmp==2 then solve_2(coef) @@ -506,10 +513,8 @@ local function pre_low_app_node(head, w, cmp, coef, ht, dp) nt = w for i = 1, cmp do -- rule - local nta = node_new(id_rule); - setfield(nta, 'width', coef[i*2][2*cmp+2]) - setfield(nta, 'height', ht); setfield(nta, 'depth', dp) - setfield(nta, 'subtype', 0) + local nta = node_new(id_rule, 0); + setwhd(nta, coef[i*2][2*cmp+2], ht, dp) insert_after(head, nt, nta) set_attr(nta, attr_ruby, 2*i+1) -- glue @@ -534,10 +539,10 @@ local function pre_high(ahead) local n = first_whatsit(head) while n do if getsubtype(n) == sid_user and getfield(n, 'user_id') == RUBY_PRE then - local nv = getfield(n, 'value') - local rst = getfield(nv, 'value') + local nv = getvalue(n) + local rst = getvalue(nv) max_allow_pre = rst.pre or 0 - local atr = has_attr(n, attr_ruby) or 0 + local atr = get_attr(n, attr_ruby) or 0 if max_allow_pre < 0 then -- ç›´å‰ã®ãƒ«ãƒ“㧠intrusion ãŒãŠã“ã‚‹å¯èƒ½æ€§ã‚り. -- å‰ run ã®ãƒ‡ãƒ¼ã‚¿ãŒæ®‹ã£ã¦ã„ã‚Œã°ãれを使用, @@ -561,7 +566,7 @@ local function pre_high(ahead) local coef = pre_low_cal_box(n, rst.count) local s = node_tail(nv) --ãƒ«ãƒ“æ–‡å— head, n = pre_low_app_node( - head, n, rst.count, coef, getfield(s, 'height'), getfield(s, 'depth') + head, n, rst.count, coef, getheight(s), getdepth(s) ) else n = first_whatsit(node_next(n)) @@ -578,7 +583,7 @@ luatexbase.add_to_callback('hpack_filter', pre_high, 'ltj.ruby.pre', 100) local post_lown do local function write_aux(wv, num, bool) - local id = has_attr(wv, attr_ruby_id) + local id = get_attr(wv, attr_ruby_id) or 0 if id>0 and cache_handle then cache_handle:write( 'lrob[' .. tostring(id) .. ']=' .. num .. '\nlrob[' .. tostring(-id) .. ']=' .. tostring(bool) .. '\n') @@ -588,35 +593,35 @@ do post_lown = function (rs, rw, cmp, ch) -- ch: the head of `current' hlist if #rs ==0 or not rw then return ch end - local hn = has_attr(rs[1], attr_ruby) - local fn = has_attr(rs[#rs], attr_ruby) - local wv = getfield(rw, 'value') + local hn = get_attr(rs[1], attr_ruby) + local fn = get_attr(rs[#rs], attr_ruby) + local wv = getvalue(rw) if hn==1 then if fn==2*cmp+2 then local hn = node_tail(wv) node_remove(wv, hn) insert_after(ch, rs[1], hn) set_attr(hn, attr_icflag, PROCESSED) - write_aux(wv, has_attr(hn, attr_ruby), has_attr(hn, attr_ruby_post_jfmgk))-- è¡Œä¸å½¢ + write_aux(wv, get_attr(hn, attr_ruby), get_attr(hn, attr_ruby_post_jfmgk))-- è¡Œä¸å½¢ else local deg, hn = (fn-1)/2, wv for i = 1, deg do hn = node_next(hn) end; node_remove(wv, hn) - setfield(hn, 'next', nil) + setnext(hn, nil) insert_after(ch, rs[1], hn) set_attr(hn, attr_icflag, PROCESSED) - write_aux(wv, has_attr(hn, attr_ruby), has_attr(hn, attr_ruby_post_jfmgk)) + write_aux(wv, get_attr(hn, attr_ruby), get_attr(hn, attr_ruby_post_jfmgk)) end else local deg, hn = max((hn-1)/2,2), wv for i = 1, cmp+deg-1 do hn = node_next(hn) end -- -1 is needed except the case hn = 3, -- because a ending-line form is removed already from the list - node_remove(wv, hn); setfield(hn, 'next', nil) + node_remove(wv, hn); setnext(hn, nil) insert_after(ch, rs[1], hn) set_attr(hn, attr_icflag, PROCESSED) if fn == 2*cmp-1 then - write_aux(wv, has_attr(hn, attr_ruby), has_attr(hn, attr_ruby_post_jfmgk)) + write_aux(wv, get_attr(hn, attr_ruby), get_attr(hn, attr_ruby_post_jfmgk)) end end for i = 1,#rs do @@ -629,11 +634,12 @@ do end end +local traverse_id = node.direct.traverse_id local function post_high_break(head) local rs = {} -- rs: sequence of ruby_nodes, local rw = nil -- rw: main whatsit local cmp = -2 -- dummy - for h in node.direct.traverse_id(id_hlist, to_direct(head)) do + for h in traverse_id(id_hlist, to_direct(head)) do for i = 1, #rs do rs[i] = nil end local ha = getlist(h) while ha do @@ -642,23 +648,23 @@ local function post_high_break(head) or (hai == id_rule and getsubtype(ha)==0) or (hai == id_whatsit and getsubtype(ha)==sid_user and getfield(ha, 'user_id', RUBY_POST))) - and has_attr(ha, attr_ruby) or 0 + and get_attr(ha, attr_ruby) or 0 if i==0 then ha = node_next(ha) elseif i==1 then - setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h))) + setlist(h, post_lown(rs, rw, cmp, getlist(h))) for i = 2, #rs do rs[i] = nil end -- rs[1] is set by the next statement rs[1], rw = ha, nil; ha = node_next(ha) elseif i==2 then rw = ha - cmp = getfield(getfield(rw, 'value'), 'value').count + cmp = getvalue(getvalue(rw)).count local hb, hc = node_remove(getlist(h), rw) - setfield(h, 'head', hb); ha = hc + setlist(h, hb); ha = hc else -- i>=3 rs[#rs+1] = ha; ha = node_next(ha) end end - setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h))) + setlist(h, post_lown(rs, rw, cmp, getlist(h))) end return head end @@ -674,7 +680,7 @@ local function post_high_hbox(ahead) or (hai == id_rule and getsubtype(ha)==0) or (hai == id_whatsit and getsubtype(ha)==sid_user and getfield(ha, 'user_id', RUBY_POST))) - and has_attr(ha, attr_ruby) or 0 + and get_attr(ha, attr_ruby) or 0 if i==0 then ha = node_next(ha) elseif i==1 then @@ -683,7 +689,7 @@ local function post_high_hbox(ahead) rs[1], rw = ha, nil; ha = node_next(ha) elseif i==2 then rw = ha - cmp = getfield(getfield(rw, 'value'), 'value').count + cmp = getvalue(getvalue(rw)).count head, ha = node_remove(head, rw) else -- i >= 3 rs[#rs+1] = ha; ha = node_next(ha) @@ -702,13 +708,13 @@ luatexbase.add_to_callback('hpack_filter', post_high_hbox, 'ltj.ruby.post_hbox', do local RIPRE = luatexja.stack_table_index.RIPRE local RIPOST = luatexja.stack_table_index.RIPOST - local abs = math.abs + local abs = math.abs local function whatsit_callback(Np, lp, Nq) if Np.nuc then return Np elseif getfield(lp, 'user_id') == RUBY_PRE then Np.first, Np.nuc, Np.last = lp, lp, lp - local lpv = getfield(lp, 'value') - local rst = getfield(lpv, 'value') + local lpv = getvalue(lp) + local rst = getvalue(lpv) local x = node_next(node_next(lpv)) Np.last_char = luatexja.jfmglue.check_box_high(Np, getlist(x), nil) if Nq.id ~=id_pbox_w then @@ -759,8 +765,8 @@ do local ic = get_attr_icflag(p) if ic and (ic>FROM_JFM) and (ic<KANJI_SKIP) then ic = FROM_JFM end if t.intrude_jfmgk[ic] then - if getid(p)==id_kern then t[index] = t[index] + getfield(p, 'kern') - else t[index] = t[index] + getfield(p, 'width') end + if getid(p)==id_kern then t[index] = t[index] + getkern(p) + else t[index] = t[index] + getwidth(p) end end end local RIPOST = luatexja.stack_table_index.RIPOST @@ -774,9 +780,9 @@ do Np.first = last_glue next_cluster_array[Nq.nuc] = last_glue -- ルビ処ç†ç”¨ã®ã‚°ãƒ«ãƒ¼ end - local nqnv = getfield(Nq.nuc, 'value') - local rst = getfield(nqnv, 'value') - if Nq.gk then + local nqnv = getvalue(Nq.nuc) + local rst = getvalue(nqnv) + if Nq.gk then if type(Nq.gk)=="table" then for _,v in ipairs(Nq.gk) do add_gk(rst, 'before_jfmgk', v) end else add_gk(rst, 'before_jfmgk', Nq.gk) end @@ -794,11 +800,11 @@ do end rst.post = p end - Np.prev_ruby = has_attr(getfield(Nq.nuc, 'value'), attr_ruby_id) + Np.prev_ruby = get_attr(getvalue(Nq.nuc), attr_ruby_id) -- å‰ã®ã‚¯ãƒ©ã‚¹ã‚¿ãŒãƒ«ãƒ“ã§ã‚ã£ãŸã“ã¨ã®ãƒ•ãƒ©ã‚° else -- ç›´å‰ãŒæ–‡å—以外 - local nqnv = getfield(Nq.nuc, 'value') - local rst = getfield(nqnv, 'value') + local nqnv = getvalue(Nq.nuc) + local rst = getvalue(nqnv) if rst.post < 0 then -- auto rst.post = 0 end @@ -812,8 +818,8 @@ do "luatexja.ruby.np_info_after", 1) local function w (s, Nq, Np) if not s and getfield(Nq.nuc, 'user_id') == RUBY_PRE then - local rst = getfield(getfield(Nq.nuc, 'value'), 'value') - if Np.gk then + local rst = getvalue(getvalue(Nq.nuc)) + if Np.gk then if type(Np.gk)=="table" then for _,v in ipairs(Np.gk) do add_gk(rst, 'after_jfmgk', v) end else add_gk(rst, 'after_jfmgk', Np.gk) end diff --git a/macros/luatex/generic/luatexja/src/ltj-setwidth.lua b/macros/luatex/generic/luatexja/src/ltj-setwidth.lua index 0e8e39f071..dd83d7e3d5 100644 --- a/macros/luatex/generic/luatexja/src/ltj-setwidth.lua +++ b/macros/luatex/generic/luatexja/src/ltj-setwidth.lua @@ -15,21 +15,23 @@ local getfont = node.direct.getfont local getlist = node.direct.getlist local getchar = node.direct.getchar local getsubtype = node.direct.getsubtype -local getwidth = node.direct.getwidth or function(n) return getfield(n,'width') end -local getdepth = node.direct.getdepth or function(n) return getfield(n,'depth') end -local getwhd = node.direct.getwhd or function(n) - return getfield(n,'width'), getfield(n,'height'),getfield(n,'depth') end +local getwidth = node.direct.getwidth +local getshift = node.direct.getshift +local getoffsets = node.direct.getoffsets +local getheight = node.direct.getheight +local getdepth = node.direct.getdepth +local getwhd = node.direct.getwhd -local setwhd = node.direct.setwhd or function(n,w,h,d) - setfield(n,'width',w); setfield(n,'height',h); setfield(n,'depth',d) end -local setchar = node.direct.setchar or function(n,c) setfield(n,'char',c) end -local setnext = node.direct.setnext or function(n,c) setfield(n,'next',c) end -local setdir = node.direct.setdir or function(n,c) setfield(n,'dir',c) end -local setkern = node.direct.setkern or function(n,c) setfield(n,'kern',c) end -local setoffsets = node.direct.setoffsets or function(n,x,y) - setfield(n,'xoffset',x); setfield(n,'yoffset',y) end -local getoffsets = node.direct.getoffsets or function(n) - return getfield(n,'xoffset'), getfield(n,'yoffset') end +local setwhd = node.direct.setwhd +local setchar = node.direct.setchar +local setnext = node.direct.setnext +local setdir = node.direct.setdir +local setkern = node.direct.setkern +local setshift = node.direct.setshift +local setoffsets = node.direct.setoffsets +local setheight = node.direct.setheight +local setdepth = node.direct.setdepth +local setlist = node.direct.setlist local node_traverse_id = node.direct.traverse_id local node_traverse = node.direct.traverse @@ -37,7 +39,7 @@ local node_copy = node.direct.copy local node_remove = node.direct.remove local node_tail = node.direct.tail local node_next = node.direct.getnext -local has_attr = node.direct.has_attribute +local get_attr = node.direct.get_attribute local set_attr = node.direct.set_attribute local node_insert_before = node.direct.insert_before local node_insert_after = node.direct.insert_after @@ -56,6 +58,7 @@ local sid_restore = node.subtype 'pdf_restore' local sid_matrix = node.subtype 'pdf_setmatrix' local dir_tate = luatexja.dir_table.dir_tate +local attr_yablshift = luatexbase.attributes['ltj@yablshift'] local attr_ykblshift = luatexbase.attributes['ltj@ykblshift'] local attr_tkblshift = luatexbase.attributes['ltj@tkblshift'] local attr_icflag = luatexbase.attributes['ltj@icflag'] @@ -71,7 +74,7 @@ do local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG local floor = math.floor get_pr_begin_flag = function (p) - local i = has_attr(p, attr_icflag) or 0 + local i = get_attr(p, attr_icflag) or 0 return i - i%PROCESSED_BEGIN_FLAG end end @@ -97,7 +100,7 @@ local function capsule_glyph_yoko(p, met, char_data, head, dir) if not char_data then return node_next(p), head, p end fshift.down = char_data.down; fshift.left = char_data.left fshift = call_callback("luatexja.set_width", fshift, met, char_data) - local kbl = has_attr(p, attr_ykblshift) or 0 + local kbl = get_attr(p, attr_ykblshift) or 0 -- -- f*: whd specified in JFM local pwidth, pheight,pdepth = getwhd(p) @@ -142,8 +145,7 @@ local function capsule_glyph_yoko(p, met, char_data, head, dir) setnext(p, nil) local box = node_new(id_hlist, nil, p) setwhd(box, fwidth, fheight, fdepth) - setfield(box, 'head', p) - setfield(box, 'shift', kbl) + setlist(box, p); setshift(box, kbl) setdir(box, dir) set_attr(box, attr_icflag, PACKED) head = q and node_insert_before(head, q, box) @@ -158,7 +160,7 @@ luatexja.setwidth.capsule_glyph_yoko = capsule_glyph_yoko local function capsule_glyph_tate_rot(p, met, char_data, head, dir, asc) fshift.down = char_data.down; fshift.left = char_data.left fshift = call_callback("luatexja.set_width", fshift, met, char_data) - local kbl = has_attr(p, attr_tkblshift) or 0 + local kbl = get_attr(p, attr_tkblshift) or 0 -- f*: whd specified in JFM local pwidth, pheight,pdepth = getwhd(p) local fwidth = char_data.width or pwidth @@ -172,8 +174,7 @@ local function capsule_glyph_tate_rot(p, met, char_data, head, dir, asc) setnext(p, nil) local box = node_new(id_hlist, nil, p) setwhd(box, fwidth, fheight, fdepth) - setfield(box, 'head', p) - setfield(box, 'shift', kbl) + setlist(box, p); setshift(box, kbl) setdir(box, dir) set_attr(box, attr_icflag, PACKED) head = q and node_insert_before(head, q, box) @@ -192,8 +193,8 @@ local function capsule_glyph_tate(p, met, char_data, head, dir) if met.rotation and met.vert_activated then local f = font_getfont(pf) local r, l = met.rotation[pc], f.properties and f.properties.language - if ((r==true) or (type(r)=="table" and not r[l])) and (has_attr(p, attr_vert_ori) or 0)<=0 then - return capsule_glyph_tate_rot(p, met, char_data, head, dir, + if ((r==true) or (type(r)=="table" and not r[l])) and (get_attr(p, attr_vert_ori) or 0)<=0 then + return capsule_glyph_tate_rot(p, met, char_data, head, dir, 0.5*(get_ascender(pf)-get_descender(pf))) end end @@ -213,12 +214,11 @@ local function capsule_glyph_tate(p, met, char_data, head, dir) fshift = call_callback("luatexja.set_width", fshift, met, char_data) local fheight = char_data.height or 0 local fdepth = char_data.depth or 0 - local y_shift = xo + (has_attr(p,attr_tkblshift) or 0) + local y_shift = xo + (get_attr(p,attr_tkblshift) or 0) local q head, q = node_remove(head, p) local box = node_new(id_hlist, nil, p) - setwhd(box, fwidth, fheight, fdepth) - setfield(box, 'shift', y_shift) + setwhd(box, fwidth, fheight, fdepth); setshift(box, y_shift) setdir(box, dir) -- print(yo, ascender, char_data.align, fwidth-pwidth) setoffsets(p, -fshift.down, @@ -230,7 +230,7 @@ local function capsule_glyph_tate(p, met, char_data, head, dir) local k2 = node_new(id_kern, 1); setkern(k2, pwnh) local k3 = node_new(id_kern, 1); setkern(k3, -getwidth(p)-pwnh) local wr = node_new(id_whatsit, sid_restore) - setfield(box, 'head', ws) + setlist(box, ws) setnext(ws, wm); setnext(wm, k2); setnext(k2, p); setnext(p, k3); setnext(k3, wr); @@ -243,26 +243,41 @@ local function capsule_glyph_tate(p, met, char_data, head, dir) end luatexja.setwidth.capsule_glyph_tate = capsule_glyph_tate -local function capsule_glyph_math(p, met, char_data) +do +local font_getfont, famfont = font.getfont, node.family_font +local cap_math_aux = { + [-1]=function() return 1 end, [0]=function() return 1 end, + [1]=function() + local sf, tf = famfont(2,1), famfont(2,0) + return font_getfont(sf).size/font_getfont(tf).size + end, + [2]=function() + local ssf, tf = famfont(2,2), famfont(2,0) + return font_getfont(ssf).size/font_getfont(tf).size + end +} +setmetatable(cap_math_aux, {__index=function(t,k) return t[2] end}) +local function capsule_glyph_math(p, met, char_data, sty) if not char_data then return nil end local fwidth, pwidth = char_data.width, getwidth(p) fwidth = fwidth or pwidth fshift.down = char_data.down; fshift.left = char_data.left fshift = call_callback("luatexja.set_width", fshift, met, char_data) local fheight, fdepth = char_data.height, char_data.depth - local y_shift - = - getfield(p, 'yoffset') + (has_attr(p,attr_ykblshift) or 0) + local y_shift = - getfield(p, 'yoffset') + + cap_math_aux[sty]()* + ((get_attr(p,attr_ykblshift) or 0) - (get_attr(p,attr_yablshift) or 0)) setfield(p, 'yoffset', -fshift.down) setfield(p, 'xoffset', getfield(p, 'xoffset') + char_data.align*(fwidth-pwidth) - fshift.left) local box = node_new(id_hlist, nil, p); setwhd(box, fwidth, fheight, fdepth) - setfield(box, 'head', p) - setfield(box, 'shift', y_shift) + setlist(box, p); setshift(box, y_shift) setdir(box, tex.mathdir) set_attr(box, attr_icflag, PACKED) return box end luatexja.setwidth.capsule_glyph_math = capsule_glyph_math +end -- æ•°å¼ã®ä½ç½®è£œæ£ function luatexja.setwidth.apply_ashift_math(head, last, attr_ablshift) @@ -270,19 +285,18 @@ function luatexja.setwidth.apply_ashift_math(head, last, attr_ablshift) local pid = getid(p) if p==last then return - elseif (has_attr(p, attr_icflag) or 0) ~= PROCESSED then + elseif (get_attr(p, attr_icflag) or 0) ~= PROCESSED then if pid==id_hlist or pid==id_vlist then - setfield(p, 'shift', getfield(p, 'shift') + (has_attr(p,attr_ablshift) or 0)) + setshift(p, getshift(p) + (get_attr(p,attr_ablshift) or 0)) elseif pid==id_rule then - local v = has_attr(p,attr_ablshift) or 0 - setfield(p, 'height', getfield(p, 'height')-v) - setfield(p, 'depth', getdepth(p)+v) + local v = get_attr(p,attr_ablshift) or 0 + setheight(p, getheight(p)-v); setdepth(p, getdepth(p)+v) set_attr(p, attr_icflag, PROCESSED) elseif pid==id_glyph then -- 欧文文å—; 和文文å—㯠pid == id_hlist ã®å ´åˆã§å‡¦ç†ã•ã‚Œã‚‹ -- (see conv_jchar_to_hbox_A in ltj-math.lua) setfield(p, 'yoffset', - getfield(p, 'yoffset') - (has_attr(p,attr_ablshift) or 0)) + getfield(p, 'yoffset') - (get_attr(p,attr_ablshift) or 0)) end set_attr(p, attr_icflag, PROCESSED) end @@ -300,7 +314,7 @@ do if not head then return end local y_adjust, node_depth, adj_depth = 0, 0, 0 for lp in node_traverse_id(id_glyph, head) do - y_adjust = has_attr(lp,attr_ablshift) or 0 + y_adjust = get_attr(lp,attr_ablshift) or 0 local ld = getdepth(lp) node_depth = max(ld + min(y_adjust, 0), node_depth) adj_depth = (y_adjust>0) and max(ld + y_adjust, adj_depth) or adj_depth diff --git a/macros/luatex/generic/luatexja/src/ltj-stack.lua b/macros/luatex/generic/luatexja/src/ltj-stack.lua index a0cd2e286e..ca83781473 100644 --- a/macros/luatex/generic/luatexja/src/ltj-stack.lua +++ b/macros/luatex/generic/luatexja/src/ltj-stack.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.stack', - date = '2020-07-30', + date = '2022-08-20', description = 'LuaTeX-ja stack system', }) luatexja.stack = {} @@ -20,28 +20,31 @@ local STCK = luatexja.userid_table.STCK local fastcopy = table.fastcopy local setcount, getcount = tex.setcount, tex.getcount local scan_int, scan_keyword = token.scan_int, token.scan_keyword +local getnest = tex.getnest +local cnt_stack = luatexbase.registernumber 'ltj@@stack' +local cnt_grplvl = luatexbase.registernumber 'ltj@@group@level' ltjs.hmode = 0 -- dummy -local charprop_stack_table={}; +local charprop_stack_table={} ltjs.charprop_stack_table = charprop_stack_table charprop_stack_table[0]={} local function get_stack_level() - local i = getcount 'ltj@@stack' + local i = getcount(cnt_stack) local j = tex.currentgrouplevel - if j > getcount 'ltj@@group@level' then + if j > getcount(cnt_grplvl) then i = i+1 -- new stack level local gd = tex.globaldefs if gd~=0 then tex.globaldefs = 0 end -- 'tex.globaldefs = 0' is local even if \globaldefs > 0. - setcount('ltj@@group@level', j) + setcount(cnt_grplvl, j) for k,v in pairs(charprop_stack_table) do -- clear the stack above i if k>=i then charprop_stack_table[k]=nil end end charprop_stack_table[i] = fastcopy(charprop_stack_table[i-1]) - setcount('ltj@@stack', i) + setcount(cnt_stack, i) if gd~=0 then tex.globaldefs = gd end - if tex.nest[tex.nest.ptr].mode == -ltjs.hmode then -- rest. hmode ã®ã¿ + if getnest().mode == -ltjs.hmode then -- rest. hmode ã®ã¿ local g = node_new(id_whatsit, sid_user) g.user_id=STCK; g.type=100; g.value=j; node.write(g) end @@ -54,9 +57,7 @@ local function set_stack_table(m, p) local i = get_stack_level() charprop_stack_table[i][m] = p if luatexja.isglobal=='global' then - for j,v in pairs(charprop_stack_table) do - charprop_stack_table[j][m] = p - end + for j,v in pairs(charprop_stack_table) do v[m] = p end end end ltjs.set_stack_table = set_stack_table @@ -90,25 +91,22 @@ function ltjs.set_stack_font(m,c,p) end -- EXT: sp: glue_spec +local getglue = node.getglue function ltjs.set_stack_skip(m,sp) local i = get_stack_level() if not sp then return end - if not charprop_stack_table[i][m] then - charprop_stack_table[i][m] = {} + local w,st,sh,sto,sho = getglue(sp) + if charprop_stack_table[i][m] then + local c = charprop_stack_table[i][m] + c[1], c[2], c[3], c[4], c[5] = w, st, sh, sto, sho + else + charprop_stack_table[i][m] = { w,st,sh,sto,sho } end - charprop_stack_table[i][m].width = sp.width - charprop_stack_table[i][m].stretch = sp.stretch - charprop_stack_table[i][m].shrink = sp.shrink - charprop_stack_table[i][m].stretch_order = sp.stretch_order - charprop_stack_table[i][m].shrink_order = sp.shrink_order if luatexja.isglobal=='global' then for j,v in pairs(charprop_stack_table) do - if not charprop_stack_table[j][m] then charprop_stack_table[j][m] = {} end - charprop_stack_table[j][m].width = sp.width - charprop_stack_table[j][m].stretch = sp.stretch - charprop_stack_table[j][m].shrink = sp.shrink - charprop_stack_table[j][m].stretch_order = sp.stretch_order - charprop_stack_table[j][m].shrink_order = sp.shrink_order + if not v[m] then v[m] = { true,true,true,true,true } end + local c = v[m] + c[1], c[2], c[3], c[4], c[5] = w, st, sh, sto, sho end end end @@ -119,23 +117,21 @@ local orig_char_table = {} ltjs.orig_char_table = orig_char_table ltjs.list_dir = nil -- dummy ltjs.table_current_stack = nil -- dummy +local dummy_skip_table = { 0,0,0,0,0 } function ltjs.report_stack_level(bsl) ltjs.table_current_stack = charprop_stack_table[bsl] return bsl end function ltjs.fast_get_stack_skip(m) - return ltjs.table_current_stack[m] - or { width = 0, stretch = 0, shrink = 0, stretch_order = 0, shrink_order = 0 } + return ltjs.table_current_stack[m] or dummy_skip_table end -- For other situations, use the following instead: function ltjs.get_stack_skip(m, idx) - return charprop_stack_table[idx][m] - or { width = 0, stretch = 0, shrink = 0, stretch_order = 0, shrink_order = 0 } + return charprop_stack_table[idx][m] or dummy_skip_table end function ltjs.get_stack_table(mc, d, idx) - local i = charprop_stack_table[idx][mc] - return i or d + return charprop_stack_table[idx][mc] or d end diff --git a/macros/luatex/generic/luatexja/src/ltjclasses.dtx b/macros/luatex/generic/luatexja/src/ltjclasses.dtx index e2d4dd9a50..f05afe97c1 100644 --- a/macros/luatex/generic/luatexja/src/ltjclasses.dtx +++ b/macros/luatex/generic/luatexja/src/ltjclasses.dtx @@ -139,6 +139,7 @@ % (sync with ltsect.dtx 2020/07/27 v1.1e)} % \changes{v1.8f-ltj-21}{2021-12-22}{余計ãªã‚³ãƒ¡ãƒ³ãƒˆã®å‰Šé™¤ï¼Ž} % \changes{v1.8f-ltj-22}{2022-04-11}{kern featureãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ãŸã®ã‚’ä¿®æ£ï¼Ž} +% \changes{v1.8f-ltj-23}{2022-09-12}{|\stockwidth|ãŒã‚«ãƒ¼ãƒãƒ«ã§å®šç¾©ã•ã‚Œã‚‹å¯èƒ½æ€§ã«å¯¾å¿œï¼Ž} % \fi % % \iffalse @@ -168,7 +169,7 @@ %<11pt&bk>\ProvidesFile{ltjtbk11.clo} %<12pt&bk>\ProvidesFile{ltjtbk12.clo} %</tate> - [2022-04-11 v1.8f-ltj-22 + [2022-09-12 v1.8f-ltj-23 %<article|report|book> Standard LuaLaTeX-ja class] %<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)] %<*driver> @@ -977,10 +978,13 @@ % [2017-01-17 LTJ] [lt]jsclassesã«åˆã‚ã›ã€ãƒˆãƒ³ãƒœã‚ªãƒ—ションãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã¨ã「ã ã‘ã€|\stockwidth|〠% |\stockheight|を定義ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚aminophenã•ã‚“ã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ % +% [2022-09-12 LTJ] \LaTeXe カーãƒãƒ«ã«|\stockwidth|ã€|\stockheight|ãŒè¿½åŠ ã•ã‚Œã‚‹ã‚ˆã†ã§ã™ã®ã§ã€ +% クラスファイルå´ã§ã¯æœªå®šç¾©ã®ã¨ãã®ã¿ã“れらã®é•·ã•å¤‰æ•°ã‚’定義ã—ã¾ã™ã€‚h20y6mã•ã‚“ã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ +% % \begin{macrocode} \iftombow - \newlength{\stockwidth} - \newlength{\stockheight} + \ifdefined\stockwidth\else\newlength{\stockwidth}\fi + \ifdefined\stockheight\else\newlength{\stockheight}\fi \setlength{\stockwidth}{\paperwidth} \setlength{\stockheight}{\paperheight} \advance \stockwidth 2in diff --git a/macros/luatex/generic/luatexja/src/ltjsclasses.dtx b/macros/luatex/generic/luatexja/src/ltjsclasses.dtx index e190617c15..a151210339 100644 --- a/macros/luatex/generic/luatexja/src/ltjsclasses.dtx +++ b/macros/luatex/generic/luatexja/src/ltjsclasses.dtx @@ -44,7 +44,7 @@ %<*driver> \ProvidesFile{ltjsclasses.dtx} %</driver> - [2022/04/11 ltjsclasses ] + [2022/09/12 ltjsclasses ] %<*driver> \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{} \documentclass[disablejfam]{ltjsarticle} @@ -808,13 +808,15 @@ \begingroup\catcode`\%=12\relax \directlua{ local getdimen, mpt=tex.getdimen, tex.getdimen('jsc@mpt')/65536 + local floor, cnt_dimen_at = math.floor, luatexbase.registernumber 'dimen@' + local print_scaled, sprint = luatexja.print_scaled, tex.sprint local t = lua.get_functions_table() t[\the\ltjs@@magnify@font@calc] = function() - tex.sprint(-2,math.floor(0.5+mpt*getdimen('dimen@'))) + sprint(-2,floor(0.5+mpt*getdimen(cnt_dimen_at))) end function luatexja.ltjs_unmagnify_fsize(a) - local s = luatexja.print_scaled(math.floor(0.5+a/mpt*65536)) - tex.sprint(-2, (s:match('%.0$')) and s:sub(1,-3) or s ) + local s = print_scaled(floor(0.5+a/mpt*65536)) + sprint(-2, (s:match('%.0$')) and s:sub(1,-3) or s ) end } \endgroup @@ -892,10 +894,13 @@ % [2017-01-11] トンボオプションãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã¨ã「ã ã‘ã€|\stockwidth|, % |\stockheight|を定義ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚ % +% [2022-09-12 LTJ] \LaTeXe カーãƒãƒ«ã«|\stockwidth|ã€|\stockheight|ãŒè¿½åŠ ã•ã‚Œã‚‹ã‚ˆã†ã§ã™ã®ã§ã€ +% クラスファイルå´ã§ã¯æœªå®šç¾©ã®ã¨ãã®ã¿ã“れらã®é•·ã•å¤‰æ•°ã‚’定義ã—ã¾ã™ã€‚h20y6mã•ã‚“ã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ +% % \begin{macrocode} \iftombow - \newlength{\stockwidth} - \newlength{\stockheight} + \ifdefined\stockwidth\else\newlength{\stockwidth}\fi + \ifdefined\stockheight\else\newlength{\stockheight}\fi \setlength{\stockwidth}{\paperwidth} \setlength{\stockheight}{\paperheight} \advance \stockwidth 2in diff --git a/macros/luatex/generic/luatexja/src/luatexja-core.sty b/macros/luatex/generic/luatexja/src/luatexja-core.sty index cc49fbd479..c1f8c2c622 100644 --- a/macros/luatex/generic/luatexja/src/luatexja-core.sty +++ b/macros/luatex/generic/luatexja/src/luatexja-core.sty @@ -65,7 +65,7 @@ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname \csname iftrue\endcsname \NeedsTeXFormat{LaTeX2e} - \ProvidesPackage{luatexja-core}[2022-01-12 Core of LuaTeX-ja] + \ProvidesPackage{luatexja-core}[2022-08-24 Core of LuaTeX-ja] \fi %</LaTeX> %% Load prerequisite packages. @@ -97,10 +97,10 @@ \expandafter\endinput\fi\relax %% Check LuaTeX version. -\ifnum\luatexversion<100 +\ifnum\luatexversion<110 \@PackageError{luatexja-core} {This LuaTeX engine is too old for this package;\MessageBreak - at least 1.0.0 is needed} + at least 1.10.0 is needed} {Package loading is aborted now.\MessageBreak} \expandafter\endinput\fi\relax @@ -125,10 +125,6 @@ \newdimen\ltj@dimen@jQ \ltj@dimen@jQ=0.25mm \let\jQ=\ltj@dimen@jQ \let\jH=\jQ -%%%%%%%% error message -\def\ltj@defnum{0} -\def\ltj@defdimen{0} - %%%%%%%% Attributes for Japanese typesetting. \newattribute\ltj@icflag % attribute for italic correction \newattribute\ltj@curjfnt % index for ``current horizontal Japanese font'' @@ -148,7 +144,6 @@ \newlanguage\ltj@@japanese \ltj@dir\z@ \ltj@icflag\z@ -\ltj@charclass\z@ \ltj@curjfnt\m@ne \ltj@curtfnt\m@ne \ltj@yablshift\z@ @@ -156,15 +151,18 @@ \ltj@tablshift\z@ \ltj@tkblshift\z@ +\newcount\ltj@tempcnta\newdimen\ltj@tempdima +\newcount\ltj@@stack \newcount\ltj@@group@level +\ltj@@group@level\z@\ltj@@stack\z@ + %%%%%%%% Attributes for character ranges -\newcount\ltj@tempcnta \ltj@tempcnta\z@ \loop\ifnum\ltj@tempcnta<7 \expandafter\newattribute% \csname ltj@kcat\the\ltj@tempcnta\endcsname - \csname ltj@kcat\the\ltj@tempcnta\endcsname=0 \advance\ltj@tempcnta\@ne \repeat +\csname ltj@kcat0\endcsname=\z@ %%%%%%%% Loading luatexja.lua @@ -225,21 +223,21 @@ %%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont \protected\def\jfont#1{% - \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(false, 'yoko','\luatexluaescapestring{\noexpand#1}')}} + \def\ltj@temp{#1}\afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(false, 'yoko')}} \protected\def\globaljfont#1{% - \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true, 'yoko','\luatexluaescapestring{\noexpand#1}')}} + \def\ltj@temp{#1}\afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true, 'yoko')}} \newluafunction\ltj@@jfont@inner \directlua{ local t = lua.get_functions_table() t[\the\ltj@@jfont@inner] = luatexja.jfont.jfontdefY } -\def\ltj@@jfont{\luafunction\ltj@@jfont@inner} +\def\ltj@@jfont{\expandafter\expandafter\expandafter\luafunction\expandafter\ltj@@jfont@inner\ltj@temp} %%%%%%%% \tfont\CS={...:...;jfm=metric;...}, \globaltfont \protected\def\tfont#1{% - \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(false, 'tate','\luatexluaescapestring{\noexpand#1}')}} + \def\ltj@temp{#1}\afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(false, 'tate')}} \protected\def\globaltfont#1{% - \afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true, 'tate','\luatexluaescapestring{\noexpand#1}')}} + \def\ltj@temp{#1}\afterassignment\ltj@@jfont\directlua{luatexja.jfont.jfontdefX(true, 'tate')}} %%%%%%%% \zw, \zh \newluafunction\ltj@zw@inner @@ -264,17 +262,17 @@ \newluafunction\ltj@@ins@xk@inner \newluafunction\ltj@@ins@k@inner \directlua{ - local t = lua.get_functions_table() + local t, ltjj = lua.get_functions_table(), luatexja.jfmglue t[\the\ltj@reset@globaldefs@inner] = function() luatexja.global_temp = tex.globaldefs; tex.globaldefs = 0 end t[\the\ltj@restore@globaldefs@inner] = function() tex.globaldefs = luatexja.global_temp end - t[\the\ltj@@disihb@inner] = luatexja.jfmglue.create_disinhibitglue_node - t[\the\ltj@@ihb@inner] = luatexja.jfmglue.create_inhibitglue_node - t[\the\ltj@@fakeparbegin@inner] = luatexja.jfmglue.create_beginpar_node - t[\the\ltj@@fakeboxbdd@inner] = luatexja.jfmglue.create_boxbdd_node - t[\the\ltj@@ins@xk@inner] = luatexja.jfmglue.insert_xk_skip - t[\the\ltj@@ins@k@inner] = luatexja.jfmglue.insert_k_skip + t[\the\ltj@@disihb@inner] = ltjj.create_disinhibitglue_node + t[\the\ltj@@ihb@inner] = ltjj.create_inhibitglue_node + t[\the\ltj@@fakeparbegin@inner] = ltjj.create_beginpar_node + t[\the\ltj@@fakeboxbdd@inner] = ltjj.create_boxbdd_node + t[\the\ltj@@ins@xk@inner] = ltjj.insert_xk_skip + t[\the\ltj@@ins@k@inner] = ltjj.insert_k_skip } \protected\luadef\ltj@reset@globaldefs \ltj@reset@globaldefs@inner \protected\luadef\ltj@restore@globaldefs\ltj@restore@globaldefs@inner @@ -307,17 +305,14 @@ } %%%%%%%% \ltjsetparameter -\newcount\ltj@@stack \newcount\ltj@@group@level -\ltj@@group@level\z@\ltj@@stack\z@ - \setbox\z@\hbox{% \directlua{% This value depends on the version of LuaTeX. - luatexja.stack.hmode = -tex.nest[tex.nest.ptr].mode + luatexja.stack.hmode = -tex.getnest().mode }% } \setbox\z@\vbox{% \directlua{% This value depends on the version of LuaTeX. - luatexja.stack.vmode = -tex.nest[tex.nest.ptr].mode + luatexja.stack.vmode = -tex.getnest().mode }% } \setbox\z@\box\voidb@x @@ -328,9 +323,6 @@ \define@key[ltj]{japaram}{postbreakpenalty}{\ltj@@set@stack{POST}{-10000}{10000}#1\relax} \def\ltj@@set@stack#1#2#3{% \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.#1,#2,#3)}} -%\def\ltj@@set@stack#1,#2:#3#4#5{% -% \directlua{luatexja.stack.set_stack_perchar(luatexja.stack_table_index.#3, -% \ltj@safe@num@or{nil}{#1},\ltj@safe@num@or{nil}{#2},#4,#5)}} % jatextfont = {<char_code>, <font_cs>} % only horizontal font is supported @@ -357,18 +349,16 @@ % {y,t}{ja,al}baselineshift = <dimen> % yjabaselineshift = <dimen> -\define@key[ltj]{japaram}{yalbaselineshift}{% - \directlua{tex.setattribute(luatexja.isglobal, - luatexbase.attributes['ltj@yablshift'], token.scan_dimen())}#1\relax} -\define@key[ltj]{japaram}{yjabaselineshift}{% - \directlua{tex.setattribute(luatexja.isglobal, - luatexbase.attributes['ltj@ykblshift'], token.scan_dimen())}#1\relax} -\define@key[ltj]{japaram}{talbaselineshift}{% - \directlua{tex.setattribute(luatexja.isglobal, - luatexbase.attributes['ltj@tablshift'], token.scan_dimen())}#1\relax} -\define@key[ltj]{japaram}{tjabaselineshift}{% - \directlua{tex.setattribute(luatexja.isglobal, - luatexbase.attributes['ltj@tkblshift'], token.scan_dimen())}#1\relax} +\def\ltj@set@blshift@#1{\directlua{% + local n = token.scan_dimen() + tex.setattribute(luatexja.isglobal, + luatexbase.attributes['#1'], (n==0) and 0 or n) + %次期ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ ... and -0x7FFFFFFF or ... ã«å¤‰ãˆã‚‹ +}} +\define@key[ltj]{japaram}{yalbaselineshift}{\ltj@set@blshift@{ltj@yablshift}#1\relax} +\define@key[ltj]{japaram}{yjabaselineshift}{\ltj@set@blshift@{ltj@ykblshift}#1\relax} +\define@key[ltj]{japaram}{talbaselineshift}{\ltj@set@blshift@{ltj@tablshift}#1\relax} +\define@key[ltj]{japaram}{tjabaselineshift}{\ltj@set@blshift@{ltj@tkblshift}#1\relax} % jaxspmode = {<char_code>, <mode>} % mode: inhibit, preonly, postonly, allow @@ -392,7 +382,7 @@ % autospacing = <bool> (default: true) \define@boolkey[ltj]{japaram}{autospacing}[true]{% \ifltj@japaram@autospacing - \directlua{luatexja.ext_print_global()}\ltj@autospc\@ne + \directlua{luatexja.ext_print_global()}\unsetattribute\ltj@autospc \else \directlua{luatexja.ext_print_global()}\ltj@autospc\z@ \fi} @@ -400,7 +390,7 @@ % autoxspacing = <bool> (default: true) \define@boolkey[ltj]{japaram}{autoxspacing}[true]{% \ifltj@japaram@autoxspacing - \directlua{luatexja.ext_print_global()}\ltj@autoxspc\@ne + \directlua{luatexja.ext_print_global()}\unsetattribute\ltj@autoxspc \else \directlua{luatexja.ext_print_global()}\ltj@autoxspc\z@ \fi} @@ -516,7 +506,7 @@ t[\the\ltj@alljachar@inner] = function() font.current(get_attr(attr_curjfnt)); tex.language=lang_ja; for i=0,6 do - set_attr(luatexbase.attributes['ltj@kcat' .. floor(i)],0) + set_attr(luatexbase.attributes['ltj@kcat' .. floor(i)], 0) end end } @@ -646,7 +636,7 @@ \setbox\z@\hbox{% \primitive\everymath{}% $\directlua{% This value depends on the version of LuaTeX. - luatexja.stack.mmode = -tex.nest[tex.nest.ptr].mode + luatexja.stack.mmode = -tex.getnest().mode }$% } \setbox\z@\box\voidb@x diff --git a/macros/luatex/generic/luatexja/src/luatexja.lua b/macros/luatex/generic/luatexja/src/luatexja.lua index 8da4251882..e8f4053c40 100644 --- a/macros/luatex/generic/luatexja/src/luatexja.lua +++ b/macros/luatex/generic/luatexja/src/luatexja.lua @@ -39,21 +39,6 @@ do return node_inherit_attr(node_new(id, subtype), b, a) end end -do - local setfield = node.direct.setfield - luatexja.setglue = node.direct.setglue or - function(g,w,st,sh,sto,sho) - setfield(g,'width', w or 0); setfield(g,'stretch',st or 0); setfield(g,'shrink', sh or 0) - setfield(g,'stretch_order',sto or 0) - setfield(g,'shrink_order', sho or 0) - end - local getfield = node.direct.getfield - luatexja.getglue = node.direct.getglue or - function(g) - return getfield(g,'width'), getfield(g,'stretch'), getfield(g,'shrink'), - getfield(g,'stretch_order'), getfield(g,'shrink_order') - end -end --- 以下ã¯å…¨ãƒ•ã‚¡ã‚¤ãƒ«ã§å…±æœ‰ã•ã‚Œã‚‹å®šæ•° local icflag_table = {} @@ -120,7 +105,7 @@ if tex.outputmode==0 then 'Use lua*tex instead dvilua*tex.') end load_module 'rmlgbm'; local ltjr = luatexja.rmlgbm -- must be 1st -if luatexja_debug then load_module('debug') end +if luatexja_debug then load_module 'debug' end load_module 'lotf_aux'; local ltju = luatexja.lotf_aux load_module 'charrange'; local ltjc = luatexja.charrange load_module 'stack'; local ltjs = luatexja.stack @@ -171,12 +156,12 @@ local function print_glue(d,order) end local function print_spec(p) - local out=print_scaled(p.width)..'pt' - if p.stretch~=0 then - out=out..' plus '..print_glue(p.stretch,p.stretch_order) + local out=print_scaled(p.width or p[1])..'pt' + if (p.stretch or p[2])~=0 then + out=out..' plus '..print_glue(p.stretch or p[2], p.stretch_order or p[4]) end - if p.shrink~=0 then - out=out..' minus '..print_glue(p.shrink,p.shrink_order) + if (p.shrink or p[3])~=0 then + out=out..' minus '..print_glue(p.shrink or p[3], p.shrink_order or p[5]) end return out end @@ -185,14 +170,16 @@ end ------------------------------------------------------------------------ -- CODE FOR GETTING/SETTING PARAMETERS ------------------------------------------------------------------------ +local getcount, texwrite = tex.getcount, tex.write +local cnt_stack = luatexbase.registernumber 'ltj@@stack' -- EXT: print parameters that don't need arguments do local tex_getattr = tex.getattribute - local function getattr(a) - local r = tex_getattr(a) - return (r==-0x7FFFFFFF) and 0 or r - end + local function getattr(a, d) + local r = tex_getattr(a); d = d or 0 + return (r==-0x7FFFFFFF) and d or r + end luatexja.unary_pars = { yalbaselineshift = function(t) return print_scaled(getattr('ltj@yablshift'))..'pt' @@ -216,10 +203,10 @@ do return ltjs.get_stack_table(stack_ind.JWP, 0, t) end, autospacing = function(t) - return getattr('ltj@autospc') + return getattr('ltj@autospc', 1) end, autoxspacing = function(t) - return getattr('ltj@autoxspc') + return getattr('ltj@autoxspc', 1) end, differentjfm = function(t) local f, r = luatexja.jfmglue.diffmet_rule, '???' @@ -235,7 +222,7 @@ do end, direction = function() local v = ltjd.get_dir_count() - if math.abs(tex.nest[tex.nest.ptr].mode) == ltjs.mmode and v == dir_table.dir_tate then + if math.abs(tex.getnest().mode) == ltjs.mmode and v == dir_table.dir_tate then v = dir_table.dir_utod end return v @@ -248,9 +235,9 @@ do function luatexja.ext_get_parameter_unary() local k= scan_arg() if unary_pars[k] then - tex.write(tostring(unary_pars[k](tex.getcount('ltj@@stack')))) + texwrite(tostring(unary_pars[k](getcount(cnt_stack)))) end - ltjb.stop_time_measure('get_par') + ltjb.stop_time_measure 'get_par' end end @@ -269,8 +256,8 @@ do c=0 -- external range 217 == internal range 0 elseif c==31*ltjc.ATTR_RANGE then c=0 end - -- è² ã®å€¤ã¯ <U+0080 ã®æ–‡å—ã®æ–‡å—範囲,ã¨ã—ã¦å‡ºã¦ãる.ã“ã®æ™‚ã¯ã„ã¤ã‚‚欧文文å—ãªã®ã§ 1 を返㙠- return (c<0) and 1 or ltjc.get_range_setting(c) + -- è² ã®å€¤ã¯ <U+0080 ã®æ–‡å—ã®æ–‡å—範囲,ã¨ã—ã¦å‡ºã¦ãる.ã“ã®æ™‚ã¯ã„ã¤ã‚‚欧文文å—ãªã®ã§ 1 を返㙠+ if c<0 then return 1 else return (ltjc.get_range_setting(c)==0) and 0 or 1 end end, prebreakpenalty = function(c, t) return ltjs.get_stack_table(stack_ind.PRE + ltjb.in_unicode(c, true), 0, t) @@ -303,9 +290,9 @@ do binary_pars.alxspmode = binary_pars.jaxspmode function luatexja.ext_get_parameter_binary(k, c) if binary_pars[k] then - tex.write(tostring(binary_pars[k](c,tex.getcount('ltj@@stack')))) + texwrite(tostring(binary_pars[k](c, getcount(cnt_stack)))) end - ltjb.stop_time_measure('get_par') + ltjb.stop_time_measure 'get_par' end end @@ -329,10 +316,10 @@ do ensure_tex_attr(attr_icflag, 0) if gc == 'fin_row' then return head else - start_time_measure('jfmglue') + start_time_measure 'jfmglue' slide(head); local p = ltjj.main(to_direct(head),mode, dir) - stop_time_measure('jfmglue') + stop_time_measure 'jfmglue' return to_node(p) end end @@ -363,13 +350,14 @@ end -- lastnodechar do - local id_glyph = node.id('glyph') + local getnest = tex.getnest + local id_glyph = node.id 'glyph' function luatexja.pltx_composite_last_node_char() - local n = tex.nest[tex.nest.ptr].tail + local n = getnest() local r = '-1' if n then if n.id==id_glyph then - while n.componetns and n.subtype and n.subtype%4 >= 2 do + while n.components and n.subtype and n.subtype%4 >= 2 do n = node.tail(n) end r = tostring(n.char) @@ -380,7 +368,7 @@ do end do - local cache_ver = 3 -- must be same as ltj-kinsoku.tex + local cache_ver = 4 -- must be same as ltj-kinsoku.tex local cache_outdate_fn = function (t) return t.version~=cache_ver end local t = ltjs.charprop_stack_table function luatexja.load_kinsoku() @@ -401,29 +389,29 @@ do local node_type = node.type local node_next = node.next -local has_attr = node.has_attribute +local get_attr = node.get_attribute -local id_penalty = node.id('penalty') -local id_glyph = node.id('glyph') -local id_glue = node.id('glue') -local id_kern = node.id('kern') -local id_hlist = node.id('hlist') -local id_vlist = node.id('vlist') -local id_rule = node.id('rule') -local id_math = node.id('math') -local id_whatsit = node.id('whatsit') -local sid_user = node.subtype('user_defined') +local id_penalty = node.id 'penalty' +local id_glyph = node.id 'glyph' +local id_glue = node.id 'glue' +local id_kern = node.id 'kern' +local id_hlist = node.id 'hlist' +local id_vlist = node.id 'vlist' +local id_rule = node.id 'rule' +local id_math = node.id 'math' +local id_whatsit = node.id 'whatsit' +local sid_user = node.subtype 'user_defined' local prefix, inner_depth local utfchar = utf.char local function debug_show_node_X(p,print_fn, limit, inner_depth) local k = prefix local s - local pt, pic = node_type(p.id), (has_attr(p, attr_icflag) or 0) % icflag_table.PROCESSED_BEGIN_FLAG + local pt, pic = node_type(p.id), (get_attr(p, attr_icflag) or 0) % icflag_table.PROCESSED_BEGIN_FLAG local base = prefix .. string.format('%X', pic) .. ' ' .. pt .. ' ' .. tostring(p.subtype) .. ' ' if pt == 'glyph' then - s = base .. ' ' - .. (p.char<0xF0000 and utfchar(p.char) or '') + s = base .. ' ' + .. (p.char<0xF0000 and utfchar(p.char) or '') .. string.format(' (U+%X) ', p.char) .. tostring(p.font) .. ' (' .. print_scaled(p.height) .. '+' .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width) @@ -436,11 +424,11 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth) if pt=='ins' then s = base .. '(' .. print_scaled(p.height) .. '+' .. print_scaled(p.depth) .. ')' - .. ', dir=' .. tostring(node.has_attribute(p, attr_dir)) + .. ', dir=' .. tostring(node.get_attribute(p, attr_dir)) else s = base .. '(' .. print_scaled(p.height) .. '+' .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width) - .. ', dir=' .. tostring(node.has_attribute(p, attr_dir)) + .. ', dir=' .. tostring(node.get_attribute(p, attr_dir)) end if (p.shift or 0)~=0 then s = s .. ', shifted ' .. print_scaled(p.shift) @@ -468,7 +456,7 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth) elseif pt=='rule' then s = base .. '(' .. print_scaled(p.height) .. '+' .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width) - .. ', dir=' .. tostring(node.has_attribute(p, attr_dir)) + .. ', dir=' .. tostring(node.get_attribute(p, attr_dir)) print_fn(s) elseif pt=='disc' then print_fn(s) @@ -532,7 +520,7 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth) else s = s .. ' userid:' .. t .. '(node list)' if p.user_id==uid_table.DIR then - s = s .. ' dir: ' .. tostring(node.has_attribute(p, attr_dir)) + s = s .. ' dir: ' .. tostring(node.get_attribute(p, attr_dir)) end print_fn(s) local bid = inner_depth diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty index 7353d8aa08..0772c0fe3e 100644 --- a/macros/luatex/generic/luatexja/src/luatexja.sty +++ b/macros/luatex/generic/luatexja/src/luatexja.sty @@ -27,7 +27,7 @@ \newif\ifltj@disablejfam %%%% VERSION -\def\LuaTeXjaversion{20220810.0} +\def\LuaTeXjaversion{20221002.0} %% Check if LaTeX is used. \begingroup\expandafter\expandafter\expandafter\endgroup diff --git a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty index 1e9abe047b..f1435f7152 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty +++ b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty @@ -557,6 +557,7 @@ {Use \string\KanjiEncodingPair, falling back to `\reserved@b'...}% \expandafter\edef\reserved@a{\reserved@b}% \fi} + \def\set@fontsize#1#2#3{% \@defaultunits\@tempdimb#2pt\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty index c766ec4685..12605ff11b 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty +++ b/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjp-atbegshi}[2021-04-29 Patching \string\shipout\space hooks for LuaTeX-ja] +\ProvidesPackage{lltjp-atbegshi}[2022-08-12 Patching \string\shipout\space hooks for LuaTeX-ja] % concept: execute all hooks inside yoko direction \vbox @@ -37,6 +37,7 @@ % however, an infinite loop occurs if we uncomment the line below % so we can't. %\box_use:N \l__platex_shipout_dummy_box + \box_clear:N \l__platex_shipout_dummy_box } } @@ -53,6 +54,7 @@ \vbox_set:Nn \l__platex_shipout_dummy_box { \platex_direction_yoko: \__platex_original_shipout_execute_cont: } + \box_clear:N \l__platex_shipout_dummy_box } } \fi: @@ -104,7 +106,7 @@ {\setbox8\vbox\bgroup\yoko\let\AtBegShi@OrgProtect\protect} \pxabgs@patch@cmd\pxabgs@AtBegShi@Output {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox}% - {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox\egroup} + {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox\egroup\setbox8\box\voidb@x} \pxabgs@patch@cmd\pxabgs@AtBegShi@Output {% \begingroup diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty index e9510e2487..c1c07441d4 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty +++ b/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty @@ -12,7 +12,7 @@ \@EveryShipout@Hook \@EveryShipout@AtNextHook \global\setbox\luatexoutputbox=\box\luatexoutputbox - }% + }\setbox8\box\voidb@x% \gdef\@EveryShipout@AtNextHook{}% \@EveryShipout@Org@Shipout\box\luatexoutputbox } diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty index 4d2d350553..af27cae8a0 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty +++ b/macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty @@ -1,13 +1,9 @@ % % lltjp-tascmac.sty % based on tascmac.sty [2016/04/15 v2.0b (community edition)] -% \tbaselineshift=\z@ ==> \ltj@tablshift=\z@ -% \ybaselineshift=\z@ ==> \ltj@yablshift=\z@ -% \dimen...=\tbaselineshift ==> \dimen...=\ltj@tablshift sp -% \dimen...=\ybaselineshift ==> \dimen...=\ltj@yablshift sp \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjp-tascmac}[2020/12/24 Patch to (t)ascmac for LuaTeX-ja] +\ProvidesPackage{lltjp-tascmac}[2022-08-24 Patch to (t)ascmac for LuaTeX-ja] \RequirePackage{tascmac} @@ -30,9 +26,13 @@ } %% boxnote environment +\def\ltj@backup@attr#1#2{\ifnum#1=-"7FFFFFFF #2\z@\else #2=#1sp\fi#1=0 } +\def\ltj@restore@attr#1#2{#1#2} +%\def\ltj@backup@attr#1#2{\ifnum#1=-"7FFFFFFF #2\z@\else #2=#1sp\fi\unsetattribute#1} +%\def\ltj@restore@attr#1#2{\ifdim#2=\z@ \unsetattribute#1\else #1#2\fi} \def\boxnote{\par\vspace{.3\baselineskip}% - \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@ - \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@ + \ltj@backup@attr\ltj@yablshift\@saveybaselineshift + \ltj@backup@attr\ltj@tablshift\@savetbaselineshift \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b} \@whiledim \wd\@nbox<\hsize \do{ \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}} @@ -40,12 +40,13 @@ \vrule width1.08pt depth35pt}% \@bw=\wd\@nbox\advance\@bw -40pt \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27) - \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}% + \ltj@restore@attr\ltj@yablshift\@saveybaselineshift + \ltj@restore@attr\ltj@tablshift\@savetbaselineshift}% %% screen environment \def\screen{% - \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@ - \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@ + \ltj@backup@attr\ltj@yablshift\@saveybaselineshift + \ltj@backup@attr\ltj@tablshift\@savetbaselineshift \@ifnextchar[{\@screen}{\@screen[0]}} \def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or @@ -58,26 +59,29 @@ \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27) - \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}% + \ltj@restore@attr\ltj@yablshift\@saveybaselineshift + \ltj@restore@attr\ltj@tablshift\@savetbaselineshift}% %% itembox environment \def\@itembox[#1]#2{% - \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@ - \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@ + \ltj@backup@attr\ltj@yablshift\@saveybaselineshift + \ltj@backup@attr\ltj@tablshift\@savetbaselineshift \par\vspace{.3\baselineskip}% \setbox\@iboxstr=\hbox{% - \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift #2}% + \ltj@restore@attr\ltj@yablshift\@saveybaselineshift + \ltj@restore@attr\ltj@tablshift\@savetbaselineshift #2}% \@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr \vspace{.5\@itemh}\bgroup\@scw\linewidth \advance\@scw-20pt\@iboxpos={#1}% \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% - \ltj@yablshift\@saveybaselineshift - \ltj@tablshift\@savetbaselineshift + \ltj@restore@attr\ltj@yablshift\@saveybaselineshift + \ltj@restore@attr\ltj@tablshift\@savetbaselineshift \vspace*{.5\@itemh}}% %% \keytop \def\@keytop[#1]#2{% {\setbox0=\hbox{\shortstack{#2}}\ltj@yablshift\z@\ltj@tablshift\z@% + %\unsetattribute\ltj@yablshift\unsetattribute\ltj@tablshift% \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt% \setbox\scscb@x=\hbox to\dimen0{% \@scw\wd0\hfil\vtop{\offinterlineskip @@ -92,6 +96,7 @@ %% \mask \def\mask#1#2{{\setbox\@bwsp=\hbox{#1}% +% \setbox0=\hbox{\unsetattribute\ltj@yablshift\unsetattribute\ltj@tablshift \@ascgrp#2}% \setbox0=\hbox{\ltj@yablshift\z@\ltj@tablshift\z@ \@ascgrp#2}% \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1 \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}% @@ -104,6 +109,7 @@ %% \maskbox \def\Maskbox#1#2#3#4#5#6{{% +% \setbox0=\hbox{\unsetattribute\ltj@yablshift\unsetattribute\ltj@tablshift \@ascgrp#3}% \setbox0=\hbox{\ltj@yablshift\z@\ltj@tablshift\z@ \@ascgrp#3}% \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}% \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi @@ -119,12 +125,13 @@ %% shadebox environment \def\shadebox{\par\vspace{.3\baselineskip}% - \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@ - \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@ + \ltj@backup@attr\ltj@yablshift\@saveybaselineshift + \ltj@backup@attr\ltj@tablshift\@savetbaselineshift \dimen0\linewidth \advance\dimen0-20pt \advance\dimen0-2\fboxrule \advance\dimen0-\shaderule \setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}% - \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift} + \ltj@restore@attr\ltj@yablshift\@saveybaselineshift + \ltj@restore@attr\ltj@tablshift\@savetbaselineshift}% %% \yen % diff --git a/macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex b/macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex new file mode 100644 index 0000000000..2d9ee7c3ae --- /dev/null +++ b/macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex @@ -0,0 +1,104 @@ +\catcode`\{=1 \catcode`\}=2 +\directlua{ +kpse.set_program_name('luatex') +print() print("LUATEX: ", tex.luatexversion, _VERSION) + +function test(c) + if not node[c] then print ('not imple: node.' .. c) end +end +test "direct" +test "free" +test "get_attribute" +test "getglue" +test "id" +test "insert_after" +test "is_node" +test "mlist_to_hlist" +test "new" +test "next" +test "set_attribute" +test "slide" +test "subtype" +test "tail" +test "traverse" +test "type" +test "write" + +function test(c) + if not node.direct[c] then print ('not imple: node.direct.' .. c) end +end + +test "copy" +test "copy_list" +test "dimensions" +test "end_of_math" +test "flush_list" +test "free" +test "get_attribute" +test "getattributelist" +test "getbox" +test "getchar" +test "getcomponents" +test "getdata" +test "getdepth" +test "getdir" +test "getfield" +test "getfont" +test "getglue" +test "getheight" +test "getid" +test "getkern" +test "getlang" +test "getlist" +test "getnext" +test "getnucleus" +test "getoffsets" +test "getpenalty" +test "getprev" +test "getshift" +test "getsub" +test "getsubtype" +test "getsup" +test "getwhd" +test "getwidth" +test "has_attribute" +test "hpack" +test "insert_after" +test "insert_before" +test "last_node" +test "new" +test "rangedimensions" +test "remove" +test "set_attribute" +test "setattributelist" +test "setchar" +test "setdata" +test "setdepth" +test "setdir" +test "setfield" +test "setfont" +test "setglue" +test "setheight" +test "setkern" +test "setlang" +test "setlist" +test "setnext" +test "setnucleus" +test "setoffsets" +test "setpenalty" +test "setshift" +test "setsub" +test "setsubtype" +test "setsup" +test "setwhd" +test "setwidth" +test "tail" +test "todirect" +test "tonode" +test "traverse" +test "traverse_id" +test "unset_attribute" +test "vpack" +test "write" +} +\end diff --git a/support/extractpdfmark/Makefile.in b/support/extractpdfmark/Makefile.in index c53eaf3ded..e906c6537c 100644 --- a/support/extractpdfmark/Makefile.in +++ b/support/extractpdfmark/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -167,9 +167,9 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in + cscope distdir distdir-am dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ + config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -186,13 +186,10 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in COPYING \ - NEWS compile config.guess config.rpath config.sub install-sh \ - missing + NEWS README.md compile config.guess config.rpath config.sub \ + install-sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -231,6 +228,8 @@ am__relativize = \ DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -247,8 +246,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -259,6 +259,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -383,8 +384,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -537,8 +538,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -618,6 +621,10 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -660,6 +667,8 @@ distcheck: dist eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -675,7 +684,7 @@ distcheck: dist $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -839,7 +848,7 @@ uninstall-am: uninstall-dist_docDATA am--refresh check check-am clean clean-cscope clean-generic \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-hdr \ + dist-zstd distcheck distclean distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dist_docDATA install-dvi \ diff --git a/support/extractpdfmark/NEWS b/support/extractpdfmark/NEWS index 04184014d6..ab8d0d89a2 100644 --- a/support/extractpdfmark/NEWS +++ b/support/extractpdfmark/NEWS @@ -1,3 +1,11 @@ +Release 1.1.1 (2022-09-30): + Fix handling a named destination with an empty string name + https://github.com/trueroad/extractpdfmark/issues/3 + + Exclude deprecated poppler-core interface for poppler 0.76+ + + Add stable poppler-glib interface for poppler 0.78.0+ + Release 1.1.0 (2019-02-11): Add stable poppler-cpp interface for poppler 0.74.0+ diff --git a/support/extractpdfmark/README.ja.md b/support/extractpdfmark/README.ja.md index 87b05aa27e..1259573580 100644 --- a/support/extractpdfmark/README.ja.md +++ b/support/extractpdfmark/README.ja.md @@ -1,6 +1,8 @@ <!-- -*- coding: utf-8 -*- --> # Extract PDFmark +[ Japanese (日本語) / [English](./README.md) ] + PDF ã‹ã‚‰ãƒšãƒ¼ã‚¸ãƒ¢ãƒ¼ãƒ‰ã‚„リンクã®å®›å…ˆåを抽出㗠PDFmark ã¨ã—ã¦ä¿å˜ã—ã¾ã™ https://github.com/trueroad/extractpdfmark @@ -74,25 +76,19 @@ https://bugs.ghostscript.com/show_bug.cgi?id=699830 ã„ãã¤ã‹ã®ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ューションã«ã¯ `extractpdfmark` パッケージãŒã‚ã‚Šã¾ã™ã€‚ -* Debian: -[9 stretch](https://packages.debian.org/stretch/extractpdfmark). -* Ubuntu: -17.04 Zesty Zapus, -17.10 Artful Aardvark, -[18.04 LTS Bionic Beaver](https://packages.ubuntu.com/bionic/extractpdfmark), -[18.10 Cosmic Cuttlefish](https://packages.ubuntu.com/cosmic/extractpdfmark). -* Fedora: -[29](https://apps.fedoraproject.org/packages/extractpdfmark). -* Cygwin: -[2017-05](https://sourceware.org/ml/cygwin-announce/2017-05/msg00030.html). +* Debian +* Ubuntu +* Fedora +* Cygwin +* etc. -## [ソース tarball](https://github.com/trueroad/extractpdfmark/releases/download/v1.1.0/extractpdfmark-1.1.0.tar.gz) ã‹ã‚‰ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« +## [ソース tarball](https://github.com/trueroad/extractpdfmark/releases/download/v1.1.1/extractpdfmark-1.1.1.tar.gz) ã‹ã‚‰ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« ### å¿…è¦ãªã‚‚ã® -Extract PDFmark 㯠poppler ã«ã‚ã‚‹ 2 種類ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã†ã¡ã€ -ã©ã¡ã‚‰ã‹ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚ -Extract PDFmark をビルドã™ã‚‹éš›ã«ã€ã©ã¡ã‚‰ã‚’使用ã™ã‚‹ã‹é¸æŠžã—ã¦ãã ã•ã„。 +Extract PDFmark 㯠poppler ã«ã‚ã‚‹ 3 種類ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã†ã¡ã€ +ã©ã‚Œã‹ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚ +Extract PDFmark をビルドã™ã‚‹éš›ã«ã€ã©ã‚Œã‚’使用ã™ã‚‹ã‹é¸æŠžã—ã¦ãã ã•ã„。 #### poppler-cpp I/F (推奨) @@ -113,29 +109,44 @@ configure スクリプトã®ã‚ªãƒ—ション `--with-poppler=cpp` ã«ã‚ˆã£ã¦ã€ * Cygwin + libpoppler-cpp-devel -#### poppler-core I/F +#### poppler-glib I/F + +[poppler](https://poppler.freedesktop.org/) 0.78.0 以é™ãŒå¿…è¦ã§ã™ã€‚ +Extract PDFmark ã® configure スクリプトã¯ã€ +pkg-config ㌠poppler-cpp >= 0.74.0 を見ã¤ã‘られãšã€ +ã‹ã¤ poppler-glib >= 0.78.0 を見ã¤ã‘ãŸã‚‰ +poppler-glib I/F ã‚’é¸æŠžã—ã¾ã™ã€‚ + +configure スクリプトã®ã‚ªãƒ—ション `--with-poppler=glib` ã«ã‚ˆã£ã¦ã€ +本 I/F ã®ä½¿ç”¨ã‚’明示的ã«æŒ‡å®šã§ãã¾ã™ã€‚ -[poppler](https://poppler.freedesktop.org/) 0.13.3 ä»¥é™ +#### poppler-core I/F (éžæŽ¨å¥¨ï¼‰ + +[poppler](https://poppler.freedesktop.org/) 0.13.3 ã‹ã‚‰ 0.75.0 ã«ä»¥ä¸‹ã®ã‚ªãƒ—ションをã¤ã‘ã¦ãƒ“ルドã—ãŸã‚‚ã®ãŒå¿…è¦ã§ã™ -(推奨 poppler 0.48.0 以é™ï¼‰ã€‚ -poppler 0.74.0 以é™ã®å ´åˆã¯ poppler-cpp I/F ã®æ–¹ã‚’推奨ã—ã¾ã™ã€‚ +(推奨 poppler 0.48.0 ã‹ã‚‰ 0.73.0)。 * --enable-xpdf-headers (poppler 0.59.0 ã¾ã§) * -DENABLE_XPDF_HEADERS=ON (poppler 0.60.0 ã‹ã‚‰ 0.72.0) -* -DENABLE_UNSTABLE_API_ABI_HEADERS=ON (poppler 0.73.0 以é™) +* -DENABLE_UNSTABLE_API_ABI_HEADERS=ON (poppler 0.73.0 ã‹ã‚‰ 0.75.0) + +poppler 0.74.0 以é™ã®å ´åˆã¯ã€ã“ã® I/F より poppler-cpp I/F ã®æ–¹ã‚’推奨ã—ã¾ã™ã€‚ +poppler 0.76.0 ã§ã“ã® I/F ã«ç ´å£Šçš„変更ãŒå…¥ã£ãŸãŸã‚〠+poppler 0.76.0 以é™ã§ã¯ã“ã® I/F を使ã£ãŸExtract PDFmarkã®ãƒ“ルドãŒå¤±æ•—ã—ã¾ã™ã€‚ Extract PDFmark ã® configure スクリプトã¯ã€ pkg-config ㌠poppler-cpp >= 0.74.0 を見ã¤ã‘られãšã€ -ã‹ã¤ poppler >= 0.24.4 を見ã¤ã‘ãŸã‚‰ +poppler-glib >= 0.78.0 を見ã¤ã‘られãšã€ +ã‹ã¤ poppler 0.24.4 - 0.75.0 を見ã¤ã‘ãŸã‚‰ poppler-core I/F ã‚’é¸æŠžã—ã¾ã™ã€‚ 本 I/F ã«ã¯ private 版ã¨é€šå¸¸ç‰ˆã® 2 種類ãŒã‚ã‚Šã¾ã™ã€‚ poppler 0.24.4 ã‹ã‚‰ 0.47.0 ã®å ´åˆã¯ private 版ãŒé¸æŠžã•ã‚Œã¾ã™ã€‚ -poppler 0.48.0 以é™ã®å ´åˆã¯é€šå¸¸ç‰ˆãŒé¸æŠžã•ã‚Œã¾ã™ã€‚ +poppler 0.48.0 ã‹ã‚‰ 0.75.0 ã®å ´åˆã¯é€šå¸¸ç‰ˆãŒé¸æŠžã•ã‚Œã¾ã™ã€‚ configure スクリプトã®ã‚ªãƒ—ション `--with-poppler=core-private` ã«ã‚ˆã£ã¦ã€ -private 版ã®ä½¿ç”¨ã‚’明示的ã«æŒ‡å®šã§ãã¾ã™ï¼ˆpoppler 0.13.3 以é™ç”¨ï¼‰ã€‚ +private 版ã®ä½¿ç”¨ã‚’明示的ã«æŒ‡å®šã§ãã¾ã™ï¼ˆpoppler 0.13.3 ã‹ã‚‰ 0.75.0 用)。 configure スクリプトã®ã‚ªãƒ—ション `--with-poppler=core` ã«ã‚ˆã£ã¦ã€ -通常版ã®ä½¿ç”¨ã‚’明示的ã«æŒ‡å®šã§ãã¾ã™ï¼ˆpoppler 0.48.0 以é™ç”¨ï¼‰ã€‚ +通常版ã®ä½¿ç”¨ã‚’明示的ã«æŒ‡å®šã§ãã¾ã™ï¼ˆpoppler 0.48.0 ã‹ã‚‰ 0.75.0 用)。 poppler 0.13.3 ã‹ã‚‰ 0.24.3 を使ã†ã«ã¯ã€ configure スクリプトã®ã‚ªãƒ—ション `--with-poppler=core-private` ã‚’ 明示的ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ @@ -199,7 +210,7 @@ Ghostscript 9.14 以é™ï¼ˆ`make check` 用) ## ライセンス -Copyright (C) 2016-2019 Masamichi Hosoda +Copyright (C) 2016-2022 Masamichi Hosoda Extract PDFmark is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/support/extractpdfmark/README.md b/support/extractpdfmark/README.md index c7ffbae58d..525a91cf05 100644 --- a/support/extractpdfmark/README.md +++ b/support/extractpdfmark/README.md @@ -1,5 +1,8 @@ +<!-- -*- coding: utf-8 -*- --> # Extract PDFmark +[ [Japanese (日本語)](./README.ja.md) / English ] + Extract page mode and named destinations as PDFmark from PDF https://github.com/trueroad/extractpdfmark @@ -70,24 +73,18 @@ See https://bugs.ghostscript.com/show_bug.cgi?id=699830 .) Some distributions have `extractpdfmark` package. -* Debian: -[9 stretch](https://packages.debian.org/stretch/extractpdfmark). -* Ubuntu: -17.04 Zesty Zapus, -17.10 Artful Aardvark, -[18.04 LTS Bionic Beaver](https://packages.ubuntu.com/bionic/extractpdfmark), -[18.10 Cosmic Cuttlefish](https://packages.ubuntu.com/cosmic/extractpdfmark). -* Fedora: -[29](https://apps.fedoraproject.org/packages/extractpdfmark). -* Cygwin: -[2017-05](https://sourceware.org/ml/cygwin-announce/2017-05/msg00030.html). +* Debian +* Ubuntu +* Fedora +* Cygwin +* etc. -## Install from [source tarball](https://github.com/trueroad/extractpdfmark/releases/download/v1.1.0/extractpdfmark-1.1.0.tar.gz) +## Install from [source tarball](https://github.com/trueroad/extractpdfmark/releases/download/v1.1.1/extractpdfmark-1.1.1.tar.gz) ### Required -Extract PDFmark requires one of the two interfaces of poppler. -Please choose which to use when building Extrat PDFmark. +Extract PDFmark requires one of the three interfaces of poppler. +Please choose which to use when building Extrcat PDFmark. #### poppler-cpp I/F (recommended) @@ -108,28 +105,43 @@ the following might be convenient. * Cygwin + libpoppler-cpp-devel -#### poppler-core I/F +#### poppler-glib I/F + +[poppler](https://poppler.freedesktop.org/) 0.78.0+ is required. +Extract PDFmark's configure script selects poppler-glib I/F +if pkg-config does not find poppler-cpp >= 0.74.0, +and finds poppler-glib 0.78.0+. -[poppler](https://poppler.freedesktop.org/) 0.13.3+ +The configure script's option `--with-poppler=glib` specifies +explicitly using this interface. + +#### poppler-core I/F (deprecated) + +[poppler](https://poppler.freedesktop.org/) 0.13.3 - 0.75.0 built with the following option is required -(recommended poppler 0.48.0+). -If you have poppler 0.74.0+, poppler-cpp I/F is recommended. +(recommended poppler 0.48.0 - 0.73.0). * --enable-xpdf-headers (poppler 0.59.0 and before) * -DENABLE_XPDF_HEADERS=ON (poppler 0.60.0 - 0.72.0) -* -DENABLE_UNSTABLE_API_ABI_HEADERS=ON (poppler 0.73.0 and after) +* -DENABLE_UNSTABLE_API_ABI_HEADERS=ON (poppler 0.73.0 - 0.75.0) + +If you have poppler 0.74.0+, poppler-cpp I/F +instead of this I/F is recommended. +Extract PDFmark build with this I/F on poppler-0.76.0+ fails +since poppler-0.76.0 has a disruptive change to the I/F. Extract PDFmark's configure script selects poppler-core I/F -if pkg-config does not find poppler-cpp >= 0.74.0 -and finds poppler >= 0.24.4. +if pkg-config does not find poppler-cpp >= 0.74.0, +does not find poppler-glib >= 0.78.0, +and finds poppler 0.24.4 - 0.75.0. There are two versions of this interface, private and normal. For popler 0.24.4 - 0.47.0, private version is selected. -For popler 0.48.0+, normal version is selected. +For popler 0.48.0 - 0.75.0, normal version is selected. The configure script's option `--with-poppler=core-private` specifies -explicitly using private version (for poppler 0.13.3+). +explicitly using private version (for poppler 0.13.3 - 0.75.0). The configure script's option `--with-poppler=core` specifies -explicitly using normal version (for poppler 0.48.0+). +explicitly using normal version (for poppler 0.48.0 - 0.75.0). If you would like to use poppler 0.13.3 - 0.24.3, it is necessary to specify explicitly configure script's option `--with-poppler=core-private`. @@ -194,7 +206,7 @@ Ghostscript 9.14+ (for `make check`) ## Licence -Copyright (C) 2016-2019 Masamichi Hosoda +Copyright (C) 2016-2022 Masamichi Hosoda Extract PDFmark is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/support/extractpdfmark/aclocal.m4 b/support/extractpdfmark/aclocal.m4 index b06d7e7344..bcf0cafcf8 100644 --- a/support/extractpdfmark/aclocal.m4 +++ b/support/extractpdfmark/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,14 +14,691 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, +[m4_warning([this file was generated for autoconf 2.71. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# iconv.m4 serial 19 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. +# host-cpu-c-abi.m4 serial 13 +dnl Copyright (C) 2002-2020 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible and Sam Steingold. + +dnl Sets the HOST_CPU variable to the canonical name of the CPU. +dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its +dnl C language ABI (application binary interface). +dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in +dnl config.h. +dnl +dnl This canonical name can be used to select a particular assembly language +dnl source file that will interoperate with C code on the given host. +dnl +dnl For example: +dnl * 'i386' and 'sparc' are different canonical names, because code for i386 +dnl will not run on SPARC CPUs and vice versa. They have different +dnl instruction sets. +dnl * 'sparc' and 'sparc64' are different canonical names, because code for +dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code +dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit +dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit +dnl mode, but not both. +dnl * 'mips' and 'mipsn32' are different canonical names, because they use +dnl different argument passing and return conventions for C functions, and +dnl although the instruction set of 'mips' is a large subset of the +dnl instruction set of 'mipsn32'. +dnl * 'mipsn32' and 'mips64' are different canonical names, because they use +dnl different sizes for the C types like 'int' and 'void *', and although +dnl the instruction sets of 'mipsn32' and 'mips64' are the same. +dnl * The same canonical name is used for different endiannesses. You can +dnl determine the endianness through preprocessor symbols: +dnl - 'arm': test __ARMEL__. +dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL. +dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN. +dnl * The same name 'i386' is used for CPUs of type i386, i486, i586 +dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because +dnl - Instructions that do not exist on all of these CPUs (cmpxchg, +dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your +dnl assembly language source files use such instructions, you will +dnl need to make the distinction. +dnl - Speed of execution of the common instruction set is reasonable across +dnl the entire family of CPUs. If you have assembly language source files +dnl that are optimized for particular CPU types (like GNU gmp has), you +dnl will need to make the distinction. +dnl See <https://en.wikipedia.org/wiki/X86_instruction_listings>. +AC_DEFUN([gl_HOST_CPU_C_ABI], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_C_ASM]) + AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi], + [case "$host_cpu" in + +changequote(,)dnl + i[34567]86 ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=i386 + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=x86_64-x32], + [gl_cv_host_cpu_c_abi=x86_64])], + [gl_cv_host_cpu_c_abi=i386]) + ;; + +changequote(,)dnl + alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=alpha + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __aarch64__ + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=arm64-ilp32], + [gl_cv_host_cpu_c_abi=arm64])], + [# Don't distinguish little-endian and big-endian arm, since they + # don't require different machine code for simple operations and + # since the user can distinguish them through the preprocessor + # defines __ARMEL__ vs. __ARMEB__. + # But distinguish arm which passes floating-point arguments and + # return values in integer registers (r0, r1, ...) - this is + # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which + # passes them in float registers (s0, s1, ...) and double registers + # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer + # sets the preprocessor defines __ARM_PCS (for the first case) and + # __ARM_PCS_VFP (for the second case), but older GCC does not. + echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c + # Look for a reference to the register d0 in the .s file. + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1 + if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then + gl_cv_host_cpu_c_abi=armhf + else + gl_cv_host_cpu_c_abi=arm + fi + rm -f conftest* + ]) + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __LP64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=hppa64], + [gl_cv_host_cpu_c_abi=hppa]) + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=ia64-ilp32], + [gl_cv_host_cpu_c_abi=ia64]) + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mips64], + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but + # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (_MIPS_SIM == _ABIN32) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mipsn32], + [gl_cv_host_cpu_c_abi=mips])]) + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [# On powerpc64, there are two ABIs on Linux: The AIX compatible + # one and the ELFv2 one. The latter defines _CALL_ELF=2. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _CALL_ELF && _CALL_ELF == 2 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=powerpc64-elfv2], + [gl_cv_host_cpu_c_abi=powerpc64]) + ], + [gl_cv_host_cpu_c_abi=powerpc]) + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi=powerpc + ;; + + riscv32 | riscv64 ) + # There are 2 architectures (with variants): rv32* and rv64*. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if __riscv_xlen == 64 + int ok; + #else + error fail + #endif + ]])], + [cpu=riscv64], + [cpu=riscv32]) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ + int ok; + #else + error fail + #endif + ]])], + [main_abi=lp64], + [main_abi=ilp32]) + # Float ABIs: + # __riscv_float_abi_double: + # 'float' and 'double' are passed in floating-point registers. + # __riscv_float_abi_single: + # 'float' are passed in floating-point registers. + # __riscv_float_abi_soft: + # No values are passed in floating-point registers. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __riscv_float_abi_double + int ok; + #else + error fail + #endif + ]])], + [float_abi=d], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __riscv_float_abi_single + int ok; + #else + error fail + #endif + ]])], + [float_abi=f], + [float_abi='']) + ]) + gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}" + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=s390x], + [gl_cv_host_cpu_c_abi=s390]) + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=sparc64], + [gl_cv_host_cpu_c_abi=sparc]) + ;; + + *) + gl_cv_host_cpu_c_abi="$host_cpu" + ;; + esac + ]) + + dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same. + HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'` + HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" + AC_SUBST([HOST_CPU]) + AC_SUBST([HOST_CPU_C_ABI]) + + # This was + # AC_DEFINE_UNQUOTED([__${HOST_CPU}__]) + # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__]) + # earlier, but KAI C++ 3.2d doesn't like this. + sed -e 's/-/_/g' >> confdefs.h <<EOF +#ifndef __${HOST_CPU}__ +#define __${HOST_CPU}__ 1 +#endif +#ifndef __${HOST_CPU_C_ABI}__ +#define __${HOST_CPU_C_ABI}__ 1 +#endif +EOF + AH_TOP([/* CPU and C ABI indicator */ +#ifndef __i386__ +#undef __i386__ +#endif +#ifndef __x86_64_x32__ +#undef __x86_64_x32__ +#endif +#ifndef __x86_64__ +#undef __x86_64__ +#endif +#ifndef __alpha__ +#undef __alpha__ +#endif +#ifndef __arm__ +#undef __arm__ +#endif +#ifndef __armhf__ +#undef __armhf__ +#endif +#ifndef __arm64_ilp32__ +#undef __arm64_ilp32__ +#endif +#ifndef __arm64__ +#undef __arm64__ +#endif +#ifndef __hppa__ +#undef __hppa__ +#endif +#ifndef __hppa64__ +#undef __hppa64__ +#endif +#ifndef __ia64_ilp32__ +#undef __ia64_ilp32__ +#endif +#ifndef __ia64__ +#undef __ia64__ +#endif +#ifndef __m68k__ +#undef __m68k__ +#endif +#ifndef __mips__ +#undef __mips__ +#endif +#ifndef __mipsn32__ +#undef __mipsn32__ +#endif +#ifndef __mips64__ +#undef __mips64__ +#endif +#ifndef __powerpc__ +#undef __powerpc__ +#endif +#ifndef __powerpc64__ +#undef __powerpc64__ +#endif +#ifndef __powerpc64_elfv2__ +#undef __powerpc64_elfv2__ +#endif +#ifndef __riscv32__ +#undef __riscv32__ +#endif +#ifndef __riscv64__ +#undef __riscv64__ +#endif +#ifndef __riscv32_ilp32__ +#undef __riscv32_ilp32__ +#endif +#ifndef __riscv32_ilp32f__ +#undef __riscv32_ilp32f__ +#endif +#ifndef __riscv32_ilp32d__ +#undef __riscv32_ilp32d__ +#endif +#ifndef __riscv64_ilp32__ +#undef __riscv64_ilp32__ +#endif +#ifndef __riscv64_ilp32f__ +#undef __riscv64_ilp32f__ +#endif +#ifndef __riscv64_ilp32d__ +#undef __riscv64_ilp32d__ +#endif +#ifndef __riscv64_lp64__ +#undef __riscv64_lp64__ +#endif +#ifndef __riscv64_lp64f__ +#undef __riscv64_lp64f__ +#endif +#ifndef __riscv64_lp64d__ +#undef __riscv64_lp64d__ +#endif +#ifndef __s390__ +#undef __s390__ +#endif +#ifndef __s390x__ +#undef __s390x__ +#endif +#ifndef __sh__ +#undef __sh__ +#endif +#ifndef __sparc__ +#undef __sparc__ +#endif +#ifndef __sparc64__ +#undef __sparc64__ +#endif +]) + +]) + + +dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI +dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit +dnl one, or to 'unknown' if unknown. +dnl This is a simplified variant of gl_HOST_CPU_C_ABI. +AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit], + [if test -n "$gl_cv_host_cpu_c_abi"; then + case "$gl_cv_host_cpu_c_abi" in + i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) + gl_cv_host_cpu_c_abi_32bit=yes ;; + x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 ) + gl_cv_host_cpu_c_abi_32bit=no ;; + *) + gl_cv_host_cpu_c_abi_32bit=unknown ;; + esac + else + case "$host_cpu" in + + # CPUs that only support a 32-bit ABI. + arc \ + | bfin \ + | cris* \ + | csky \ + | epiphany \ + | ft32 \ + | h8300 \ + | m68k \ + | microblaze | microblazeel \ + | nds32 | nds32le | nds32be \ + | nios2 | nios2eb | nios2el \ + | or1k* \ + | or32 \ + | sh | sh[1234] | sh[1234]e[lb] \ + | tic6x \ + | xtensa* ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + # CPUs that only support a 64-bit ABI. +changequote(,)dnl + alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \ + | mmix ) +changequote([,])dnl + gl_cv_host_cpu_c_abi_32bit=no + ;; + +changequote(,)dnl + i[34567]86 ) +changequote([,])dnl + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) \ + && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __LP64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=yes], + [gl_cv_host_cpu_c_abi_32bit=no]) + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + riscv32 | riscv64 ) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi_32bit=no], + [gl_cv_host_cpu_c_abi_32bit=yes]) + ;; + + *) + gl_cv_host_cpu_c_abi_32bit=unknown + ;; + esac + fi + ]) + + HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" +]) + +# iconv.m4 serial 21 +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2020 Free Software Foundation, +dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -189,15 +866,27 @@ AC_DEFUN([AM_ICONV_LINK], #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ]])], [am_cv_func_iconv_works=yes], , @@ -280,20 +969,24 @@ size_t iconv(); am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) + else + dnl When compiling GNU libiconv on a system that does not have iconv yet, + dnl pick the POSIX compliant declaration without 'const'. + am_cv_proto_iconv_arg1="" fi + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) ]) -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. +# lib-ld.m4 serial 9 +dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -341,86 +1034,135 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. +if test -n "$LD"; then + AC_MSG_CHECKING([for ld]) +elif test "$GCC" = yes; then AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + AC_CACHE_VAL([acl_cv_path_LD], + [ + acl_cv_path_LD= # Final result of this test + ac_prog=ld # Program to search in $PATH + if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac fi - done - IFS="$acl_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$acl_save_ifs" + fi + case $host in + *-*-aix*) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [# The compiler produces 64-bit code. Add option '-b64' so that the + # linker groks 64-bit object files. + case "$acl_cv_path_LD " in + *" -b64 "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; + esac + ], []) + ;; + sparc64-*-netbsd*) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [], + [# The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + ]) + ;; + esac + ]) + LD="$acl_cv_path_LD" +fi if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) + AC_MSG_ERROR([no acceptable ld found in \$PATH]) fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) -# lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. +# lib-link.m4 serial 31 +dnl Copyright (C) 2001-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -AC_PREREQ([2.54]) +AC_PREREQ([2.61]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. @@ -538,8 +1280,8 @@ dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + dnl Complain if config.rpath is missing. + AC_REQUIRE_AUX_FILE([config.rpath]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host @@ -601,17 +1343,17 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" + eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" + eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], + AC_ARG_WITH(PACK[-prefix], +[[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -620,17 +1362,23 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" + eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" + eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi + additional_libdir2="$withval/$acl_libdirstem2" + additional_libdir3="$withval/$acl_libdirstem3" fi fi ]) + if test "X$additional_libdir2" = "X$additional_libdir"; then + additional_libdir2= + fi + if test "X$additional_libdir3" = "X$additional_libdir"; then + additional_libdir3= + fi dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= @@ -686,48 +1434,54 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], shrext= fi if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" + for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do + if test "X$found_dir" = "X"; then + eval dir=\$$additional_libdir_variable + if test -n "$dir"; then + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then found_dir="$dir" - found_so="$dir/$f" - break + found_a="$dir/$libname.$acl_libext" fi - done + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi fi fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi + done fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do @@ -737,7 +1491,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then + if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else @@ -747,14 +1501,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do - if test -f "$dir/$f"; then + if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break @@ -765,7 +1519,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], fi dnl Then look for a static library. if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then + if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi @@ -791,7 +1545,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + || test "X$found_dir" = "X/usr/$acl_libdirstem2" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else @@ -891,6 +1646,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], fi additional_includedir="$basedir/include" ;; + */$acl_libdirstem3 | */$acl_libdirstem3/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. @@ -941,19 +1703,21 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], for dep in $dependency_libs; do case "$dep" in -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \ + && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \ + || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -964,29 +1728,29 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then + if test "X$x" = "X-L$dependency_libdir"; then haveit=yes break fi done if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + dnl Really add $dependency_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then + if test "X$x" = "X-L$dependency_libdir"; then haveit=yes break fi done if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + dnl Really add $dependency_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir" fi fi fi @@ -1084,7 +1848,6 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi - popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) @@ -1135,7 +1898,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then + && test "X$dir" != "X/usr/$acl_libdirstem2" \ + && test "X$dir" != "X/usr/$acl_libdirstem3"; then rpathdirs="$rpathdirs $dir" fi next= @@ -1145,7 +1909,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then + && test "X$dir" != "X/usr/$acl_libdirstem2" \ + && test "X$dir" != "X/usr/$acl_libdirstem3"; then rpathdirs="$rpathdirs $dir" fi next= ;; @@ -1190,21 +1955,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], AC_SUBST([$1]) ]) -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. +# lib-prefix.m4 serial 17 +dnl Copyright (C) 2001-2005, 2008-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed @@ -1224,9 +1982,9 @@ AC_DEFUN([AC_LIB_PREFIX], eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], + AC_ARG_WITH([lib-prefix], +[[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -1346,78 +2104,181 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], ]) dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". +dnl - a function acl_is_expected_elfclass, that tests whether standard input +dn; has a 32-bit or 64-bit ELF header, depending on the host CPU ABI, +dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing +dnl the basename of the libdir to try in turn, either "lib" or "lib64" or +dnl "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar. AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting + dnl There is no formal standard regarding lib, lib32, and lib64. + dnl On most glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on + dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go + dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib. + dnl We determine the compiler's default mode by looking at the compiler's + dnl library search path. If at least one of its elements ends in /lib64 or + dnl points to a directory whose absolute pathname ends in /lib64, we use that + dnl for 64-bit ABIs. Similarly for 32-bit ABIs. Otherwise we use the default, + dnl namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) + + AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf], + [AC_EGREP_CPP([Extensible Linking Format], + [#ifdef __ELF__ + Extensible Linking Format + #endif + ], + [gl_cv_elf=yes], + [gl_cv_elf=no]) + ]) + if test $gl_cv_elf; then + # Extract the ELF class of a file (5th byte) in decimal. + # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header + if od -A x < /dev/null >/dev/null 2>/dev/null; then + # Use POSIX od. + func_elfclass () + { + od -A n -t d1 -j 4 -N 1 + } + else + # Use BSD hexdump. + func_elfclass () + { + dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "' + echo + } + fi +changequote(,)dnl + case $HOST_CPU_C_ABI_32BIT in + yes) + # 32-bit ABI. + acl_is_expected_elfclass () + { + test "`func_elfclass | sed -e 's/[ ]//g'`" = 1 + } + ;; + no) + # 64-bit ABI. + acl_is_expected_elfclass () + { + test "`func_elfclass | sed -e 's/[ ]//g'`" = 2 + } + ;; + *) + # Unknown. + acl_is_expected_elfclass () + { + : + } + ;; + esac +changequote([,])dnl + else + acl_is_expected_elfclass () + { + : + } + fi + + dnl Allow the user to override the result by setting acl_cv_libdirstems. + AC_CACHE_CHECK([for the common suffixes of directories in the library search path], + [acl_cv_libdirstems], + [dnl Try 'lib' first, because that's the default for libdir in GNU, see + dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>. + acl_libdirstem=lib + acl_libdirstem2= + acl_libdirstem3= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>. + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + if test $HOST_CPU_C_ABI_32BIT = no; then + acl_libdirstem2=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem3=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem3=lib/amd64 ;; + esac + fi + ;; + *) + dnl If $CC generates code for a 32-bit ABI, the libraries are + dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64. + dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries + dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32. + dnl Find the compiler's search path. However, non-system compilers + dnl sometimes have odd library search paths. But we can't simply invoke + dnl '/usr/bin/gcc -print-search-dirs' because that would not take into + dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS. + searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test $HOST_CPU_C_ABI_32BIT != no; then + # 32-bit or unknown ABI. + if test -d /usr/lib32; then + acl_libdirstem2=lib32 + fi + fi + if test $HOST_CPU_C_ABI_32BIT != yes; then + # 64-bit or unknown ABI. + if test -d /usr/lib64; then + acl_libdirstem3=lib64 + fi + fi + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;; + */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib32 ) acl_libdirstem2=lib32 ;; + */lib64 ) acl_libdirstem3=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + if test $HOST_CPU_C_ABI_32BIT = yes; then + # 32-bit ABI. + acl_libdirstem3= + fi + if test $HOST_CPU_C_ABI_32BIT = no; then + # 64-bit ABI. + acl_libdirstem2= + fi + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3" + ]) + dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and + dnl acl_libdirstem3. +changequote(,)dnl + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'` + acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'` +changequote([,])dnl ]) -dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29.1) -dnl +# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) + dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>. dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com> dnl @@ -1458,7 +2319,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -1503,7 +2364,7 @@ dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place +dnl only at the first occurrence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], @@ -1559,27 +2420,28 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) +_PKG_CONFIG([$1][_VERSION], [modversion], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - m4_default([$4], [AC_MSG_ERROR( + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -1590,8 +2452,8 @@ installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -1601,10 +2463,11 @@ _PKG_TEXT To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl ]) else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_VERSION=$pkg_cv_[]$1[]_VERSION AC_MSG_RESULT([yes]) - $3 + $3 fi[]dnl ])dnl PKG_CHECK_MODULES @@ -1691,7 +2554,75 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -# Copyright (C) 2002-2017 Free Software Foundation, Inc. +dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------ +dnl +dnl Prepare a "--with-" configure option using the lowercase +dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and +dnl PKG_CHECK_MODULES in a single macro. +AC_DEFUN([PKG_WITH_MODULES], +[ +m4_pushdef([with_arg], m4_tolower([$1])) + +m4_pushdef([description], + [m4_default([$5], [build with ]with_arg[ support])]) + +m4_pushdef([def_arg], [m4_default([$6], [auto])]) +m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) +m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) + +m4_case(def_arg, + [yes],[m4_pushdef([with_without], [--without-]with_arg)], + [m4_pushdef([with_without],[--with-]with_arg)]) + +AC_ARG_WITH(with_arg, + AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, + [AS_TR_SH([with_]with_arg)=def_arg]) + +AS_CASE([$AS_TR_SH([with_]with_arg)], + [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], + [auto],[PKG_CHECK_MODULES([$1],[$2], + [m4_n([def_action_if_found]) $3], + [m4_n([def_action_if_not_found]) $4])]) + +m4_popdef([with_arg]) +m4_popdef([description]) +m4_popdef([def_arg]) + +])dnl PKG_WITH_MODULES + +dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ----------------------------------------------- +dnl +dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES +dnl check._[VARIABLE-PREFIX] is exported as make variable. +AC_DEFUN([PKG_HAVE_WITH_MODULES], +[ +PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) + +AM_CONDITIONAL([HAVE_][$1], + [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) +])dnl PKG_HAVE_WITH_MODULES + +dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------------------ +dnl +dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after +dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make +dnl and preprocessor variable. +AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], +[ +PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) + +AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], + [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) +])dnl PKG_HAVE_DEFINE_WITH_MODULES + +# Copyright (C) 2002-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1703,10 +2634,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' +[am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15.1], [], +m4_if([$1], [1.16.5], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -1722,14 +2653,14 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15.1])dnl +[AM_AUTOMAKE_VERSION([1.16.5])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1781,7 +2712,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_COND_IF -*- Autoconf -*- -# Copyright (C) 2008-2017 Free Software Foundation, Inc. +# Copyright (C) 2008-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1818,7 +2749,7 @@ fi[]dnl # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1849,7 +2780,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2040,13 +2971,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -2054,49 +2984,43 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -2105,18 +3029,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2144,6 +3067,10 @@ m4_defn([AC_PROG_CC]) # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +m4_ifdef([_$0_ALREADY_INIT], + [m4_fatal([$0 expanded multiple times +]m4_defn([_$0_ALREADY_INIT]))], + [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -2180,7 +3107,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl @@ -2203,8 +3130,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. @@ -2232,6 +3159,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This @@ -2271,7 +3212,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <http://www.gnu.org/software/coreutils/>. +that behaves properly: <https://www.gnu.org/software/coreutils/>. If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -2313,7 +3254,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2334,7 +3275,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2355,7 +3296,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2363,49 +3304,42 @@ AC_SUBST([am__leading_dot])]) # AM_MAKE_INCLUDE() # ----------------- -# Check to see how make treats includes. +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2426,12 +3360,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -2444,7 +3373,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2473,7 +3402,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2520,7 +3449,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2539,7 +3468,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2620,7 +3549,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# Copyright (C) 2009-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2680,7 +3609,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2708,7 +3637,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2017 Free Software Foundation, Inc. +# Copyright (C) 2006-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2727,7 +3656,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2017 Free Software Foundation, Inc. +# Copyright (C) 2004-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/support/extractpdfmark/compile b/support/extractpdfmark/compile index 2ab71e4ea1..df363c8fbf 100755 --- a/support/extractpdfmark/compile +++ b/support/extractpdfmark/compile @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tromey@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) @@ -340,7 +340,7 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/support/extractpdfmark/config.guess b/support/extractpdfmark/config.guess index 69ed3e573b..11fda528bc 100755 --- a/support/extractpdfmark/config.guess +++ b/support/extractpdfmark/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2020 Free Software Foundation, Inc. -timestamp='2017-03-05' +timestamp='2020-04-26' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ timestamp='2017-03-05' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. +# along with this program; if not, see <https://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ timestamp='2017-03-05' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to <config-patches@gnu.org>. @@ -39,7 +39,7 @@ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,8 +84,6 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' 1 2 15 - # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,34 +94,40 @@ trap 'exit 1' 1 2 15 # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$driver" + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi @@ -132,14 +136,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu - eval $set_cc_for_build - cat <<-EOF > $dummy.c + set_cc_for_build + cat <<-EOF > "$dummy.c" #include <features.h> #if defined(__UCLIBC__) LIBC=uclibc @@ -149,13 +153,20 @@ Linux|GNU|GNU/*) LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -169,30 +180,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine="${arch}${endian}"-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -208,10 +219,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -219,45 +230,60 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" + echo "$machine-${os}${release}${abi-}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" + exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Twizzler:*:*) + echo "$UNAME_MACHINE"-unknown-twizzler + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in @@ -310,28 +336,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos + echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -343,7 +360,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} + echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos @@ -370,19 +387,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} + echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build + set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -395,13 +412,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in SUN_ARCH=x86_64 fi fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in @@ -410,25 +427,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} + echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not @@ -439,44 +456,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} + echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} + echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} + echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} + echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} + echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} + echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} + echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} + echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -485,23 +502,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} + echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -527,17 +544,17 @@ EOF AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ + [ "$TARGET_BINARY_INTERFACE"x = x ] then - echo m88k-dg-dgux${UNAME_RELEASE} + echo m88k-dg-dgux"$UNAME_RELEASE" else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else - echo i586-dg-dgux${UNAME_RELEASE} + echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) @@ -554,7 +571,7 @@ EOF echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -566,14 +583,14 @@ EOF if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include <sys/systemcfg.h> main() @@ -584,7 +601,7 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else @@ -598,7 +615,7 @@ EOF exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -607,18 +624,18 @@ EOF IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -633,28 +650,28 @@ EOF echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in + case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ "$HP_ARCH" = "" ]; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include <stdlib.h> @@ -687,13 +704,13 @@ EOF exit (0); } EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = hppa2.0w ] + if [ "$HP_ARCH" = hppa2.0w ] then - eval $set_cc_for_build + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -712,15 +729,15 @@ EOF HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" #include <unistd.h> int main () @@ -745,11 +762,11 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -758,7 +775,7 @@ EOF *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -766,9 +783,9 @@ EOF exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) @@ -793,131 +810,123 @@ EOF echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} + echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" + exit ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi + else + echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf + fi exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin + echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 + echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 + echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 + echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case "$UNAME_MACHINE" in x86) - echo i586-pc-interix${UNAME_RELEASE} + echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} + echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} + echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin + echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin + echo x86_64-pc-cygwin exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + *:Minix:*:*) + echo "$UNAME_MACHINE"-unknown-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -928,140 +937,168 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval $set_cc_for_build + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} + echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1075,34 +1112,34 @@ EOF # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx + echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable + echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} + echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp + echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) @@ -1112,12 +1149,12 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL + echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1127,9 +1164,9 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 + echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) @@ -1149,9 +1186,9 @@ EOF exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) @@ -1171,9 +1208,9 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1182,28 +1219,28 @@ EOF test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} + echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} + echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} + echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} + echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} + echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -1214,7 +1251,7 @@ EOF *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -1234,23 +1271,23 @@ EOF exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} + echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1269,60 +1306,68 @@ EOF echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} + echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} + echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} + echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} + echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} + echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} + echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} + echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} + echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -1330,22 +1375,25 @@ EOF UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; - NSX-?:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk${UNAME_RELEASE} + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -1354,18 +1402,19 @@ EOF echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. + # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 + echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -1386,14 +1435,14 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in + case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; @@ -1402,32 +1451,190 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos + echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros + echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx + echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; + *:Unleashed:*:*) + echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" + exit ;; +esac + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" <<EOF +#ifdef _SEQUENT_ +#include <sys/types.h> +#include <sys/utsname.h> +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include <signal.h> +#if defined(_SIZE_T_) || defined(SIGLOST) +#include <sys/utsname.h> +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include <sys/param.h> +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <<EOF + +NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize +the system type. Please install a C compiler and try again. +EOF + ;; esac cat >&2 <<EOF -$0: unable to guess system type This script (version $timestamp), has failed to recognize the -operating system you are using. If your script is old, overwrite -config.guess and config.sub with the latest versions from: +operating system you are using. If your script is old, overwrite *all* +copies of config.guess and config.sub with the latest versions from: - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +EOF + +year=`echo $timestamp | sed 's,-.*,,'` +# shellcheck disable=SC2003 +if test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then + cat >&2 <<EOF If $0 has already been updated, send the following data and any information you think might be pertinent to config-patches@gnu.org to @@ -1450,16 +1657,17 @@ hostinfo = `(hostinfo) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF +fi exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/support/extractpdfmark/config.h.in b/support/extractpdfmark/config.h.in index cdc5a7dc65..6731332668 100644 --- a/support/extractpdfmark/config.h.in +++ b/support/extractpdfmark/config.h.in @@ -18,9 +18,6 @@ /* Define to 1 if you have the <Link.h> header file. */ #undef HAVE_LINK_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the <PDFDocFactory.h> header file. */ #undef HAVE_PDFDOCFACTORY_H @@ -33,6 +30,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -84,7 +84,9 @@ /* Define poppler version if POPPLER_VERSION cannot be used. */ #undef POPPLER_CORE_IF_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Define if codecvt is enabled. */ diff --git a/support/extractpdfmark/config.rpath b/support/extractpdfmark/config.rpath index 98183ff2f2..24be79cfb6 100755 --- a/support/extractpdfmark/config.rpath +++ b/support/extractpdfmark/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2016 Free Software Foundation, Inc. +# Copyright 1996-2020 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # diff --git a/support/extractpdfmark/config.sub b/support/extractpdfmark/config.sub index 87abeab6cd..973a2980ac 100755 --- a/support/extractpdfmark/config.sub +++ b/support/extractpdfmark/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2020 Free Software Foundation, Inc. -timestamp='2017-02-07' +timestamp='2020-05-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ timestamp='2017-02-07' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/>. +# along with this program; if not, see <https://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ timestamp='2017-02-07' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright 1992-2017 Free Software Foundation, Inc. +Copyright 1992-2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -89,12 +89,12 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -110,1247 +110,1164 @@ case $# in exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac +# Split fields of configuration type +# shellcheck disable=SC2162 +IFS="-" read field1 field2 field3 field4 <<EOF +$1 +EOF -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos +# Separate into logical components for further validation +case $1 in + *-*-*-*-*) + echo Invalid configuration \`"$1"\': more than four components >&2 + exit 1 ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + *-*-*-*) + basic_machine=$field1-$field2 + os=$field3-$field4 ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ + | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + os=linux-android + ;; + *) + basic_machine=$field1-$field2 + os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + os= + ;; + *) + basic_machine=$field1 + os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + os=bsd + ;; + a29khif) + basic_machine=a29k-amd + os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=scout + ;; + alliant) + basic_machine=fx80-alliant + os= + ;; + altos | altos3068) + basic_machine=m68k-altos + os= + ;; + am29k) + basic_machine=a29k-none + os=bsd + ;; + amdahl) + basic_machine=580-amdahl + os=sysv + ;; + amiga) + basic_machine=m68k-unknown + os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=bsd + ;; + aros) + basic_machine=i386-pc + os=aros + ;; + aux) + basic_machine=m68k-apple + os=aux + ;; + balance) + basic_machine=ns32k-sequent + os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=linux + ;; + cegcc) + basic_machine=arm-unknown + os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=bsd + ;; + convex-c2) + basic_machine=c2-convex + os=bsd + ;; + convex-c32) + basic_machine=c32-convex + os=bsd + ;; + convex-c34) + basic_machine=c34-convex + os=bsd + ;; + convex-c38) + basic_machine=c38-convex + os=bsd + ;; + cray) + basic_machine=j90-cray + os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + os= + ;; + da30) + basic_machine=m68k-da30 + os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + os= + ;; + delta88) + basic_machine=m88k-motorola + os=sysv3 + ;; + dicos) + basic_machine=i686-pc + os=dicos + ;; + djgpp) + basic_machine=i586-pc + os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=ose + ;; + gmicro) + basic_machine=tron-gmicro + os=sysv + ;; + go32) + basic_machine=i386-pc + os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=hms + ;; + harris) + basic_machine=m88k-harris + os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=proelf + ;; + i386mach) + basic_machine=i386-mach + os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + os=sysv + ;; + merlin) + basic_machine=ns32k-utek + os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + os=coff + ;; + morphos) + basic_machine=powerpc-unknown + os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=moxiebox + ;; + msdos) + basic_machine=i386-pc + os=msdos + ;; + msys) + basic_machine=i686-pc + os=msys + ;; + mvs) + basic_machine=i370-ibm + os=mvs + ;; + nacl) + basic_machine=le32-unknown + os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=newsos + ;; + news1000) + basic_machine=m68030-sony + os=newsos + ;; + necv70) + basic_machine=v70-nec + os=sysv + ;; + nh3000) + basic_machine=m68k-harris + os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=cxux + ;; + nindy960) + basic_machine=i960-intel + os=nindy + ;; + mon960) + basic_machine=i960-intel + os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=ose + ;; + os68k) + basic_machine=m68k-none + os=os68k + ;; + paragon) + basic_machine=i860-intel + os=osf + ;; + parisc) + basic_machine=hppa-unknown + os=linux + ;; + pw32) + basic_machine=i586-unknown + os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=rdos + ;; + rdos32) + basic_machine=i386-pc + os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=coff + ;; + sa29200) + basic_machine=a29k-amd + os=udi + ;; + sei) + basic_machine=mips-sei + os=seiux + ;; + sequent) + basic_machine=i386-sequent + os= + ;; + sps7) + basic_machine=m68k-bull + os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + os= + ;; + stratus) + basic_machine=i860-stratus + os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + os= + ;; + sun2os3) + basic_machine=m68000-sun + os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + os= + ;; + sun3os3) + basic_machine=m68k-sun + os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + os= + ;; + sun4os3) + basic_machine=sparc-sun + os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + os= + ;; + sv1) + basic_machine=sv1-cray + os=unicos + ;; + symmetry) + basic_machine=i386-sequent + os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=unicos + ;; + t90) + basic_machine=t90-cray + os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + os=tpf + ;; + udi29k) + basic_machine=a29k-amd + os=udi + ;; + ultra3) + basic_machine=a29k-nyu + os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=none + ;; + vaxv) + basic_machine=vax-dec + os=sysv + ;; + vms) + basic_machine=vax-dec + os=vms + ;; + vsta) + basic_machine=i386-pc + os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=vxworks + ;; + xbox) + basic_machine=i686-pc + os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + os=unicos + ;; + *) + basic_machine=$1 + os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none + op50n) + cpu=hppa1.1 + vendor=oki ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + op60c) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola + cpu=m68k + vendor=motorola ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + dpx2*) + cpu=m68k + vendor=bull + os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + os=${os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + os=solaris2 ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta + j90 | j90-cray) + cpu=j90 + vendor=cray + os=${os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi + cpu=mips + vendor=sgi case $os in - -irix*) + irix*) ;; *) - os=-irix4 + os=irix4 ;; esac ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl + cpu=m68000 + vendor=convergent ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos + cpu=mips + vendor=sony + os=newsos ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next + next | m*-next) + cpu=m68k + vendor=next case $os in - -nextstep* ) + openstep*) + ;; + nextstep*) ;; - -ns2*) - os=-nextstep2 + ns2*) + os=nextstep2 ;; *) - os=-nextstep3 + os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti + cpu=m68k + vendor=tti ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + pc532) + cpu=ns32k + vendor=pc532 ;; pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm + cpu=pn + vendor=gould ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + power) + cpu=power + vendor=ibm ;; ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff + cpu=i386 + vendor=ibm ;; rm[46]00) - basic_machine=mips-siemens + cpu=mips + vendor=siemens ;; rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm + cpu=romp + vendor=ibm ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown + sde) + cpu=mipsisa32 + vendor=sde + os=${os:-elf} ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown + simso-wrs) + cpu=sparclite + vendor=wrs + os=vxworks ;; - sde) - basic_machine=mipsisa32-sde - os=-elf + tower | tower-32) + cpu=m68k + vendor=ncr ;; - sei) - basic_machine=mips-sei - os=-seiux + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - sequent) - basic_machine=i386-sequent + w65) + cpu=w65 + vendor=wdc ;; - sh) - basic_machine=sh-hitachi - os=-hms + w89k-*) + cpu=hppa1.1 + vendor=winbond + os=proelf ;; - sh5el) - basic_machine=sh5le-unknown + none) + cpu=none + vendor=none ;; - sh64) - basic_machine=sh64-unknown + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 + + *-*) + # shellcheck disable=SC2162 + IFS="-" read cpu vendor <<EOF +$basic_machine +EOF ;; - spur) - basic_machine=spur-unknown + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + cpu=$basic_machine + vendor=pc ;; - st2000) - basic_machine=m68k-tandem + # These rules are duplicated from below for sake of the special case above; + # i.e. things that normalized to x86 arches should also default to "pc" + pc98) + cpu=i386 + vendor=pc ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 + x64 | amd64) + cpu=x86_64 + vendor=pc ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + # Recognize the basic CPU types without company name. + *) + cpu=$basic_machine + vendor=unknown ;; - sun2) - basic_machine=m68000-sun +esac + +unset -v basic_machine + +# Decode basic machines in the full and proper CPU-Company form. +case $cpu-$vendor in + # Here we handle the default manufacturer of certain CPU types in canonical form. It is in + # some cases the only manufacturer, in others, it is the most popular. + craynv-unknown) + vendor=cray + os=${os:-unicosmp} ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 + c90-unknown | c90-cray) + vendor=cray + os=${os:-unicos} ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 + fx80-unknown) + vendor=alliant ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 + romp-unknown) + vendor=ibm ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 + mmix-unknown) + vendor=knuth ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 + microblaze-unknown | microblazeel-unknown) + vendor=xilinx ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 + rs6000-unknown) + vendor=ibm ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 + vax-unknown) + vendor=dec ;; - sun3 | sun3-*) - basic_machine=m68k-sun + pdp11-unknown) + vendor=dec ;; - sun4) - basic_machine=sparc-sun + we32k-unknown) + vendor=att ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun + cydra-unknown) + vendor=cydrome ;; - sv1) - basic_machine=sv1-cray - os=-unicos + i370-ibm*) + vendor=ibm ;; - symmetry) - basic_machine=i386-sequent - os=-dynix + orion-unknown) + vendor=highlevel ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos + xps-unknown | xps100-unknown) + cpu=xps100 + vendor=honeywell ;; - t90) - basic_machine=t90-cray - os=-unicos + + # Here we normalize CPU types with a missing or matching vendor + dpx20-unknown | dpx20-bull) + cpu=rs6000 + vendor=bull + os=${os:-bosx} ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu + + # Here we normalize CPU types irrespective of the vendor + amd64-*) + cpu=x86_64 ;; - tx39) - basic_machine=mipstx39-unknown + blackfin-*) + cpu=bfin + os=linux ;; - tx39el) - basic_machine=mipstx39el-unknown + c54x-*) + cpu=tic54x ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 + c55x-*) + cpu=tic55x ;; - tower | tower-32) - basic_machine=m68k-ncr + c6x-*) + cpu=tic6x ;; - tpf) - basic_machine=s390x-ibm - os=-tpf + e500v[12]-*) + cpu=powerpc + os=$os"spe" ;; - udi29k) - basic_machine=a29k-amd - os=-udi + mips3*-*) + cpu=mips64 ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 + ms1-*) + cpu=mt ;; - v810 | necv810) - basic_machine=v810-nec - os=-none + m68knommu-*) + cpu=m68k + os=linux ;; - vaxv) - basic_machine=vax-dec - os=-sysv + m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) + cpu=s12z ;; - vms) - basic_machine=vax-dec - os=-vms + openrisc-*) + cpu=or32 ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu + parisc-*) + cpu=hppa + os=linux ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + cpu=i586 ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks + pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) + cpu=i686 ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + cpu=i686 ;; - w65*) - basic_machine=w65-wdc - os=-none + pentium4-*) + cpu=i786 ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf + pc98-*) + cpu=i386 ;; - xbox) - basic_machine=i686-pc - os=-mingw32 + ppc-* | ppcbe-*) + cpu=powerpc ;; - xps | xps100) - basic_machine=xps100-honeywell + ppcle-* | powerpclittle-*) + cpu=powerpcle ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ppc64-*) + cpu=powerpc64 ;; - ymp) - basic_machine=ymp-cray - os=-unicos + ppc64le-* | powerpc64little-*) + cpu=powerpc64le ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim + sb1-*) + cpu=mipsisa64sb1 ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim + sb1el-*) + cpu=mipsisa64sb1el ;; - none) - basic_machine=none-none - os=-none + sh5e[lb]-*) + cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond + spur-*) + cpu=spur ;; - op50n) - basic_machine=hppa1.1-oki + strongarm-* | thumb-*) + cpu=arm ;; - op60c) - basic_machine=hppa1.1-oki + tx39-*) + cpu=mipstx39 ;; - romp) - basic_machine=romp-ibm + tx39el-*) + cpu=mipstx39el ;; - mmix) - basic_machine=mmix-knuth + x64-*) + cpu=x86_64 ;; - rs6000) - basic_machine=rs6000-ibm + xscale-* | xscalee[bl]-*) + cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - vax) - basic_machine=vax-dec + + # Recognize the canonical CPU Types that limit and/or modify the + # company names they are paired with. + cr16-*) + os=${os:-elf} ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown + crisv32-* | etraxfs*-*) + cpu=crisv32 + vendor=axis ;; - pdp11) - basic_machine=pdp11-dec + cris-* | etrax*-*) + cpu=cris + vendor=axis ;; - we32k) - basic_machine=we32k-att + crx-*) + os=${os:-elf} ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown + neo-tandem) + cpu=neo + vendor=tandem ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun + nse-tandem) + cpu=nse + vendor=tandem ;; - cydra) - basic_machine=cydra-cydrome + nsr-tandem) + cpu=nsr + vendor=tandem ;; - orion) - basic_machine=orion-highlevel + nsv-tandem) + cpu=nsv + vendor=tandem ;; - orion105) - basic_machine=clipper-highlevel + nsx-tandem) + cpu=nsx + vendor=tandem ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple + s390-*) + cpu=s390 + vendor=ibm ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple + s390x-*) + cpu=s390x + vendor=ibm ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. + tile*-*) + os=${os:-linux-gnu} ;; + *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | amdgcn \ + | arc | arceb \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bpf | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64eb | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k | nvptx \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | picochip \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv64 \ + | rl78 | romp | rs6000 | rx \ + | score \ + | sh | shl \ + | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | w65 \ + | wasm32 | wasm64 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1358,200 +1275,244 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if [ x$os != x ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + # First match some system type aliases that might get confused + # with valid system types. + # solaris* is a basic system type, with this one exception. + auroraux) + os=auroraux ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` + bluegene*) + os=cnk ;; - -solaris) - os=-solaris2 + solaris1 | solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; - -svr4*) - os=-sysv4 + solaris) + os=solaris2 ;; - -unixware*) - os=-sysv4.2uw + unixware*) + os=sysv4.2uw ;; - -gnu/linux*) + gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # es1800 is here to avoid being matched by es* (a different OS) + es1800*) + os=ose + ;; + # Some version numbers need modification + chorusos*) + os=chorusos + ;; + isc) + os=isc2.2 + ;; + sco6) + os=sco5v6 + ;; + sco5) + os=sco3.2v5 + ;; + sco4) + os=sco3.2v4 + ;; + sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + ;; + sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + scout) + # Don't match below + ;; + sco*) + os=sco3.2v2 + ;; + psos*) + os=psos + ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) + # Each alternative MUST end in a * to match a version number. + # sysv* is not here because it comes later, after sysvr4. + gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | kopensolaris* | plan9* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* | twizzler* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | knetbsd* | mirbsd* | netbsd* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ + | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ + | linux-newlib* | linux-musl* | linux-uclibc* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* \ + | morphos* | superux* | rtmk* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix* | genode*) # Remember, each alternative MUST END IN *, to match a version number. ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) + qnx*) + case $cpu in + x86 | i*86) ;; *) - os=-nto$os + os=nto-$os ;; esac ;; - -nto-qnx*) + hiux*) + os=hiuxwe2 ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` + nto-qnx*) ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` + sim | xray | os68k* | v88r* \ + | windows* | osx | abug | netware* | os9* \ + | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) ;; - -linux-dietlibc) - os=-linux-dietlibc + linux-dietlibc) + os=linux-dietlibc ;; - -linux*) + linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` + lynx*178) + os=lynxos178 + ;; + lynx*5) + os=lynxos5 ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` + lynx*) + os=lynxos ;; - -opened*) - os=-openedition + mac*) + os=`echo "$os" | sed -e 's|mac|macos|'` ;; - -os400*) - os=-os400 + opened*) + os=openedition ;; - -wince*) - os=-wince + os400*) + os=os400 ;; - -osfrose*) - os=-osfrose + sunos5*) + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; - -osf*) - os=-osf + sunos6*) + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; - -utek*) - os=-bsd + wince*) + os=wince ;; - -dynix*) - os=-bsd + utek*) + os=bsd ;; - -acis*) - os=-aos + dynix*) + os=bsd ;; - -atheos*) - os=-atheos + acis*) + os=aos ;; - -syllable*) - os=-syllable + atheos*) + os=atheos ;; - -386bsd) - os=-bsd + syllable*) + os=syllable ;; - -ctix* | -uts*) - os=-sysv + 386bsd) + os=bsd ;; - -nova*) - os=-rtmk-nova + ctix* | uts*) + os=sysv ;; - -ns2 ) - os=-nextstep2 + nova*) + os=rtmk-nova ;; - -nsk*) - os=-nsk + ns2) + os=nextstep2 ;; # Preserve the version number of sinix5. - -sinix5.*) + sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf + sinix*) + os=sysv4 ;; - -triton*) - os=-sysv3 + tpf*) + os=tpf ;; - -oss*) - os=-sysv3 + triton*) + os=sysv3 ;; - -svr4) - os=-sysv4 + oss*) + os=sysv3 ;; - -svr3) - os=-sysv3 + svr4*) + os=sysv4 ;; - -sysvr4) - os=-sysv4 + svr3) + os=sysv3 ;; - # This must come after -sysvr4. - -sysv*) + sysvr4) + os=sysv4 ;; - -ose*) - os=-ose + # This must come after sysvr4. + sysv*) ;; - -es1800*) - os=-ose + ose*) + os=ose ;; - -xenix) - os=-xenix + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + os=mint ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint + zvmoe) + os=zvmoe ;; - -aros*) - os=-aros + dicos*) + os=dicos ;; - -zvmoe) - os=-zvmoe + pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $cpu in + arm*) + os=eabi + ;; + *) + os=elf + ;; + esac ;; - -dicos*) - os=-dicos + nacl*) ;; - -nacl*) + ios) ;; - -ios) + none) ;; - -none) + *-eabi) ;; *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac @@ -1567,264 +1528,265 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + os=linux ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; pru-*) - os=-elf + os=elf ;; *-be) - os=-beos - ;; - *-haiku) - os=-haiku + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; - *-next ) - os=-nextstep + *-next) + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) +case $vendor in + unknown) case $os in - -riscix*) + riscix*) vendor=acorn ;; - -sunos*) + sunos*) vendor=sun ;; - -cnk*|-aix*) + cnk*|-aix*) vendor=ibm ;; - -beos*) + beos*) vendor=be ;; - -hpux*) + hpux*) vendor=hp ;; - -mpeix*) + mpeix*) vendor=hp ;; - -hiux*) + hiux*) vendor=hitachi ;; - -unos*) + unos*) vendor=crds ;; - -dgux*) + dgux*) vendor=dg ;; - -luna*) + luna*) vendor=omron ;; - -genix*) + genix*) vendor=ns ;; - -mvs* | -opened*) + clix*) + vendor=intergraph + ;; + mvs* | opened*) vendor=ibm ;; - -os400*) + os400*) vendor=ibm ;; - -ptx*) + ptx*) vendor=sequent ;; - -tpf*) + tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + vxsim* | vxworks* | windiss*) vendor=wrs ;; - -aux*) + aux*) vendor=apple ;; - -hms*) + hms*) vendor=hitachi ;; - -mpw* | -macos*) + mpw* | macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) vendor=atari ;; - -vos*) + vos*) vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$cpu-$vendor-$os" exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/support/extractpdfmark/configure b/support/extractpdfmark/configure index dc742b1bf2..c9302a795d 100755 --- a/support/extractpdfmark/configure +++ b/support/extractpdfmark/configure @@ -1,9 +1,10 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Extract PDFmark 1.1.0. +# Generated by GNU Autoconf 2.71 for Extract PDFmark 1.1.1. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -14,14 +15,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -31,46 +34,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi +if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -79,13 +82,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -94,8 +90,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -107,30 +107,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -152,20 +132,22 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -185,42 +167,53 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else +else $as_nop as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -228,14 +221,21 @@ fi esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi - if test "x$CONFIG_SHELL" != x; then : + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -253,18 +253,19 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -291,6 +292,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -308,6 +310,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -322,7 +332,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -331,7 +341,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -370,12 +380,13 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -387,18 +398,27 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -410,9 +430,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -439,7 +459,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -483,7 +503,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -497,6 +517,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -510,6 +534,13 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -577,48 +608,44 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Extract PDFmark' PACKAGE_TARNAME='extractpdfmark' -PACKAGE_VERSION='1.1.0' -PACKAGE_STRING='Extract PDFmark 1.1.0' +PACKAGE_VERSION='1.1.1' +PACKAGE_STRING='Extract PDFmark 1.1.1' PACKAGE_BUGREPORT='' PACKAGE_URL='https://github.com/trueroad/extractpdfmark' ac_unique_file="src/main.cc" # Factoring default headers for most tests. ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> +#include <stddef.h> +#ifdef HAVE_STDIO_H +# include <stdio.h> #endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif # include <string.h> #endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif #ifdef HAVE_INTTYPES_H # include <inttypes.h> #endif #ifdef HAVE_STDINT_H # include <stdint.h> #endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif" +ac_header_cxx_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -627,6 +654,7 @@ USE_ICONV_FALSE USE_ICONV_TRUE LTLIBICONV LIBICONV +EGREP CPP am__fastdepCC_FALSE am__fastdepCC_TRUE @@ -642,8 +670,6 @@ build_os build_vendor build_cpu build -EGREP -CXXCPP USE_POPPLER_CPP_FALSE USE_POPPLER_CPP_TRUE USE_POPPLER_GLIB_FALSE @@ -674,7 +700,6 @@ am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE -am__quote am__include DEPDIR OBJEXT @@ -690,6 +715,9 @@ AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V +CSCOPE +ETAGS +CTAGS am__untar am__tar AMTAR @@ -751,7 +779,8 @@ PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR -SHELL' +SHELL +am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -782,7 +811,6 @@ POPPLER_GLIB_CFLAGS POPPLER_GLIB_LIBS POPPLER_CFLAGS POPPLER_LIBS -CXXCPP CC CFLAGS CPP' @@ -854,8 +882,6 @@ do *) ac_optarg=yes ;; esac - # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -896,9 +922,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -922,9 +948,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1135,9 +1161,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1151,9 +1177,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1197,9 +1223,9 @@ Try \`$0 --help' for more information" *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1215,7 +1241,7 @@ if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1279,7 +1305,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1336,7 +1362,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Extract PDFmark 1.1.0 to adapt to many kinds of systems. +\`configure' configures Extract PDFmark 1.1.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1407,7 +1433,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Extract PDFmark 1.1.0:";; + short | recursive ) echo "Configuration of Extract PDFmark 1.1.1:";; esac cat <<\_ACEOF @@ -1460,7 +1486,6 @@ Some influential environment variables: C compiler flags for POPPLER, overriding pkg-config POPPLER_LIBS linker flags for POPPLER, overriding pkg-config - CXXCPP C++ preprocessor CC C compiler command CFLAGS C compiler flags CPP C preprocessor @@ -1485,9 +1510,9 @@ if test "$ac_init_help" = "recursive"; then case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1515,7 +1540,8 @@ esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -1523,7 +1549,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1532,10 +1558,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Extract PDFmark configure 1.1.0 -generated by GNU Autoconf 2.69 +Extract PDFmark configure 1.1.1 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1552,14 +1578,14 @@ fi ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1567,14 +1593,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1584,172 +1611,6 @@ fi } # ac_fn_cxx_try_compile -# ac_fn_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_cpp - -# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES -# --------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_cxx_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_cxx_check_header_mongrel - -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_run - # ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in @@ -1757,26 +1618,28 @@ fi ac_fn_cxx_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_compile @@ -1787,14 +1650,14 @@ $as_echo "$ac_res" >&6; } ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1802,14 +1665,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1831,7 +1695,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1839,14 +1703,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1862,14 +1727,14 @@ fi ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1877,17 +1742,18 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1904,8 +1770,8 @@ fi # ac_fn_c_try_run LINENO # ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. +# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that +# executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack @@ -1915,25 +1781,26 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: program exited with status $ac_status" >&5 + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status @@ -1943,14 +1810,34 @@ fi as_fn_set_status $ac_retval } # ac_fn_c_try_run +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Extract PDFmark $as_me 1.1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +It was created by Extract PDFmark $as_me 1.1.1, which was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -1983,8 +1870,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -2019,7 +1910,7 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -2054,11 +1945,13 @@ done # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - $as_echo "## ---------------- ## + printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -2069,8 +1962,8 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2094,7 +1987,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -2102,14 +1995,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -2117,15 +2010,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - $as_echo "## ----------- ## + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -2133,8 +2026,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -2148,63 +2041,48 @@ ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi @@ -2214,19 +2092,650 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include <cstdlib> +#include <exception> + +// <cassert> and <cstring> are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template <typename T> struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template <typename U> T add(U u) { return static_cast<T>(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template<double> tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template <typename Ret, typename Fn> Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template <typename V> auto sum(V first) -> V + { + return first; + } + template <typename V, typename... Args> auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template<int>> v(test_template<int>(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +as_fn_append ac_header_cxx_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_cxx_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_cxx_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_cxx_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_cxx_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_cxx_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_cxx_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_cxx_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_cxx_list " unistd.h unistd_h HAVE_UNISTD_H" +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include <stddef.h> +#include <stdarg.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include <stdbool.h> +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + + +# Auxiliary files required by this configure script. +ac_aux_files="compile config.rpath config.guess config.sub missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2237,12 +2746,12 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -2251,24 +2760,24 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -2278,11 +2787,12 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2295,38 +2805,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.15' +am__api_version='1.16' -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - -# Find a good install program. We prefer a C program (faster), + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install @@ -2340,20 +2823,25 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in #(( + ./ | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; @@ -2363,13 +2851,13 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else @@ -2377,12 +2865,12 @@ case $as_dir/ in #(( echo one > conftest.one echo two > conftest.two mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" break 3 fi fi @@ -2398,7 +2886,7 @@ IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi - if test "${ac_cv_path_install+set}" = set; then + if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a @@ -2408,8 +2896,8 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -2419,8 +2907,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -2474,8 +2962,8 @@ else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= @@ -2494,26 +2982,23 @@ test "$program_suffix" != NONE && # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then @@ -2533,11 +3018,12 @@ if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -2545,11 +3031,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2560,11 +3050,11 @@ fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2573,11 +3063,12 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -2585,11 +3076,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2600,11 +3095,11 @@ fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -2612,8 +3107,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -2625,25 +3120,31 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; esac done @@ -2654,7 +3155,7 @@ IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then + if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a @@ -2664,18 +3165,19 @@ fi MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else @@ -2683,11 +3185,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2698,24 +3204,25 @@ fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @@ -2731,12 +3238,12 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -2750,7 +3257,8 @@ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : +if test ${enable_silent_rules+y} +then : enableval=$enable_silent_rules; fi @@ -2760,12 +3268,13 @@ case $enable_silent_rules in # ((( *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 @@ -2777,8 +3286,8 @@ else am_cv_make_support_nested_variables=no fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' @@ -2810,17 +3319,13 @@ fi # Define the identity of the package. PACKAGE='extractpdfmark' - VERSION='1.1.0' + VERSION='1.1.1' -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF +printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF +printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h # Some tools Automake needs. @@ -2840,8 +3345,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The @@ -2860,6 +3365,20 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile @@ -2892,7 +3411,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <http://www.gnu.org/software/coreutils/>. +that behaves properly: <https://www.gnu.org/software/coreutils/>. If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -2907,23 +3426,25 @@ fi ac_config_headers="$ac_config_headers config.h" -PACKAGE_COPYRIGHT="Copyright (C) 2016-2019 Masamichi Hosoda" +PACKAGE_COPYRIGHT="Copyright (C) 2016-2022 Masamichi Hosoda" PACKAGE_LICENSE="License: GPL3+" -cat >>confdefs.h <<_ACEOF -#define PACKAGE_COPYRIGHT "$PACKAGE_COPYRIGHT" -_ACEOF +printf "%s\n" "#define PACKAGE_COPYRIGHT \"$PACKAGE_COPYRIGHT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_LICENSE "$PACKAGE_LICENSE" -_ACEOF +printf "%s\n" "#define PACKAGE_LICENSE \"$PACKAGE_LICENSE\"" >>confdefs.h # Checks for programs. + + + + + + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2934,15 +3455,16 @@ if test -z "$CXX"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else @@ -2950,11 +3472,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2965,11 +3491,11 @@ fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2978,15 +3504,16 @@ fi fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else @@ -2994,11 +3521,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3009,11 +3540,11 @@ fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3025,8 +3556,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -3036,7 +3567,7 @@ fi fi fi # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do @@ -3046,7 +3577,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -3056,7 +3587,7 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -3064,7 +3595,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3076,9 +3607,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 -$as_echo_n "checking whether the C++ compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -3099,11 +3630,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -3120,7 +3652,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -3136,44 +3668,46 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 -$as_echo_n "checking for C++ compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3187,15 +3721,15 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -3204,7 +3738,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -3216,8 +3750,8 @@ _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in @@ -3225,10 +3759,10 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -3236,39 +3770,40 @@ $as_echo "$ac_try_echo"; } >&5 *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C++ compiled programs. + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3282,11 +3817,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -3295,31 +3831,32 @@ $as_echo "$ac_try_echo"; } >&5 break;; esac done -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -3329,29 +3866,33 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi -ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no @@ -3360,57 +3901,60 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_prog_cxx_g=yes -else +else $as_nop CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -else +else $as_nop ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_prog_cxx_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then @@ -3425,6 +3969,100 @@ else CXXFLAGS= fi fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3434,48 +4072,49 @@ DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" - -am_make=${MAKE-make} -cat > confinc << 'END' +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : +if test ${enable_dependency_tracking+y} +then : enableval=$enable_dependency_tracking; fi @@ -3496,11 +4135,12 @@ fi depcc="$CXX" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CXX_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -3607,8 +4247,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if @@ -3633,15 +4273,18 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 -$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } -if eval \${$cachevar+:} false; then : - $as_echo_n "(cached) " >&6 -else + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 +printf %s "checking whether $CXX supports C++11 features with $switch... " >&6; } +if eval test \${$cachevar+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_CXX="$CXX" CXX="$CXX $switch" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3655,7 +4298,11 @@ else #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -3680,11 +4327,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -3933,17 +4582,18 @@ namespace cxx11 _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : eval $cachevar=yes -else +else $as_nop eval $cachevar=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CXX="$ac_save_CXX" fi eval ac_res=\$$cachevar - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test x\$$cachevar = xyes; then CXX="$CXX $switch" if test -n "$CXXCPP" ; then @@ -3971,12 +4621,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi if test x$ac_success = xno; then HAVE_CXX11=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 -$as_echo "$as_me: No compiler with C++11 support was found" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++11 support was found" >&6;} else HAVE_CXX11=1 -$as_echo "#define HAVE_CXX11 1" >>confdefs.h +printf "%s\n" "#define HAVE_CXX11 1" >>confdefs.h fi @@ -3984,11 +4634,12 @@ $as_echo "#define HAVE_CXX11 1" >>confdefs.h if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else @@ -3996,11 +4647,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4011,11 +4666,11 @@ fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4024,11 +4679,12 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else @@ -4036,11 +4692,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4051,11 +4711,11 @@ fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then @@ -4063,8 +4723,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -4073,11 +4733,12 @@ else RANLIB="$ac_cv_prog_RANLIB" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -4085,10 +4746,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP @@ -4097,13 +4763,13 @@ case `"$ac_path_GREP" --version 2>&1` in ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4131,19 +4797,20 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" # Extract the first word of "diff", so it can be a program name with args. set dummy diff; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DIFF+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_DIFF+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $DIFF in [\\/]* | ?:[\\/]*) ac_cv_path_DIFF="$DIFF" # Let the user override the test with a path. @@ -4153,11 +4820,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DIFF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_DIFF="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4169,27 +4840,29 @@ esac fi DIFF=$ac_cv_path_DIFF if test -n "$DIFF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5 -$as_echo "$DIFF" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5 +printf "%s\n" "$DIFF" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -if test "x$DIFF" = x; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: diff isn't found. \`make check' will skip tests." >&5 -$as_echo "$as_me: WARNING: diff isn't found. \`make check' will skip tests." >&2;} +if test "x$DIFF" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: diff isn't found. \`make check' will skip tests." >&5 +printf "%s\n" "$as_me: WARNING: diff isn't found. \`make check' will skip tests." >&2;} fi # Extract the first word of "gs", so it can be a program name with args. set dummy gs; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GHOSTSCRIPT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_GHOSTSCRIPT+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $GHOSTSCRIPT in [\\/]* | ?:[\\/]*) ac_cv_path_GHOSTSCRIPT="$GHOSTSCRIPT" # Let the user override the test with a path. @@ -4199,11 +4872,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GHOSTSCRIPT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_GHOSTSCRIPT="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4215,17 +4892,18 @@ esac fi GHOSTSCRIPT=$ac_cv_path_GHOSTSCRIPT if test -n "$GHOSTSCRIPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHOSTSCRIPT" >&5 -$as_echo "$GHOSTSCRIPT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GHOSTSCRIPT" >&5 +printf "%s\n" "$GHOSTSCRIPT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -if test ! "x$GHOSTSCRIPT" = x; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gs version ( >= 9.14 )" >&5 -$as_echo_n "checking for gs version ( >= 9.14 )... " >&6; } +if test ! "x$GHOSTSCRIPT" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gs version ( >= 9.14 )" >&5 +printf %s "checking for gs version ( >= 9.14 )... " >&6; } gs_ver=`$GHOSTSCRIPT --version` @@ -4259,10 +4937,10 @@ x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version if test "$ax_compare_version" = "true" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } GHOSTSCRIPT= fi @@ -4277,23 +4955,25 @@ fi if test -z "$HAVE_GHOSTSCRIPT_TRUE"; then : else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ghostscript isn't found. \`make check' will skip some tests." >&5 -$as_echo "$as_me: WARNING: Ghostscript isn't found. \`make check' will skip some tests." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Ghostscript isn't found. \`make check' will skip some tests." >&5 +printf "%s\n" "$as_me: WARNING: Ghostscript isn't found. \`make check' will skip some tests." >&2;} fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pre-generated test PDFs" >&5 -$as_echo_n "checking for pre-generated test PDFs... " >&6; } -if test ! -e ${srcdir}/test/desttype.pdf; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pre-generated test PDFs" >&5 +printf %s "checking for pre-generated test PDFs... " >&6; } +if test ! -e ${srcdir}/test/desttype.pdf +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } # Extract the first word of "pdftex", so it can be a program name with args. set dummy pdftex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PDFTEX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PDFTEX+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PDFTEX in [\\/]* | ?:[\\/]*) ac_cv_path_PDFTEX="$PDFTEX" # Let the user override the test with a path. @@ -4303,11 +4983,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PDFTEX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PDFTEX="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4319,48 +5003,50 @@ esac fi PDFTEX=$ac_cv_path_PDFTEX if test -n "$PDFTEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFTEX" >&5 -$as_echo "$PDFTEX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PDFTEX" >&5 +printf "%s\n" "$PDFTEX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - if test "x$PDFTEX" = x; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pdftex isn't found. Test PDFs cannot be generated." >&5 -$as_echo "$as_me: WARNING: pdftex isn't found. Test PDFs cannot be generated." >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You cannot use \`make check'." >&5 -$as_echo "$as_me: WARNING: You cannot use \`make check'." >&2;} -else + if test "x$PDFTEX" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: pdftex isn't found. Test PDFs cannot be generated." >&5 +printf "%s\n" "$as_me: WARNING: pdftex isn't found. Test PDFs cannot be generated." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: You cannot use \`make check'." >&5 +printf "%s\n" "$as_me: WARNING: You cannot use \`make check'." >&2;} +else $as_nop if test -z "$HAVE_GHOSTSCRIPT_TRUE"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: pdftex is found. Test PDFs will be generated." >&5 -$as_echo "$as_me: pdftex is found. Test PDFs will be generated." >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: pdftex is found. Test PDFs will be generated." >&5 +printf "%s\n" "$as_me: pdftex is found. Test PDFs will be generated." >&6;} else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pdftex is found but ghostscript isn't found." >&5 -$as_echo "$as_me: WARNING: pdftex is found but ghostscript isn't found." >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You cannot use \`make check'." >&5 -$as_echo "$as_me: WARNING: You cannot use \`make check'." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: pdftex is found but ghostscript isn't found." >&5 +printf "%s\n" "$as_me: WARNING: pdftex is found but ghostscript isn't found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: You cannot use \`make check'." >&5 +printf "%s\n" "$as_me: WARNING: You cannot use \`make check'." >&2;} fi fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pre-generated expected PDFmark files" >&5 -$as_echo_n "checking for pre-generated expected PDFmark files... " >&6; } -if test ! -e ${srcdir}/test/desttype-expected.pdfmark; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PDFmark files will be generated." >&5 -$as_echo "$as_me: WARNING: PDFmark files will be generated." >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' cannot compare with the correct expected results." >&5 -$as_echo "$as_me: WARNING: \`make check' cannot compare with the correct expected results." >&2;} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pre-generated expected PDFmark files" >&5 +printf %s "checking for pre-generated expected PDFmark files... " >&6; } +if test ! -e ${srcdir}/test/desttype-expected.pdfmark +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: PDFmark files will be generated." >&5 +printf "%s\n" "$as_me: WARNING: PDFmark files will be generated." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' cannot compare with the correct expected results." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' cannot compare with the correct expected results." >&2;} +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi # Checks for libraries. @@ -4375,11 +5061,12 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. @@ -4389,11 +5076,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4405,11 +5096,11 @@ esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4418,11 +5109,12 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. @@ -4432,11 +5124,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4448,11 +5144,11 @@ esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then @@ -4460,8 +5156,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG @@ -4473,43 +5169,44 @@ fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi # Check whether --with-poppler was given. -if test "${with_poppler+set}" = set; then : +if test ${with_poppler+y} +then : withval=$with_poppler; -else +else $as_nop with_poppler=auto fi case "$with_poppler" in #( "cpp") : - { $as_echo "$as_me:${as_lineno-$LINENO}: --with-poppler=cpp requires poppler >= 0.74.0" >&5 -$as_echo "$as_me: --with-poppler=cpp requires poppler >= 0.74.0" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: --with-poppler=cpp requires poppler >= 0.74.0" >&5 +printf "%s\n" "$as_me: --with-poppler=cpp requires poppler >= 0.74.0" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER_CPP" >&5 -$as_echo_n "checking for POPPLER_CPP... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler-cpp >= 0.74.0" >&5 +printf %s "checking for poppler-cpp >= 0.74.0... " >&6; } if test -n "$POPPLER_CPP_CFLAGS"; then pkg_cv_POPPLER_CPP_CFLAGS="$POPPLER_CPP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler-cpp >= 0.74.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CPP_CFLAGS=`$PKG_CONFIG --cflags "poppler-cpp >= 0.74.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4523,10 +5220,10 @@ if test -n "$POPPLER_CPP_LIBS"; then pkg_cv_POPPLER_CPP_LIBS="$POPPLER_CPP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler-cpp >= 0.74.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CPP_LIBS=`$PKG_CONFIG --libs "poppler-cpp >= 0.74.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4536,12 +5233,29 @@ fi else pkg_failed=untried fi +if test -n "$POPPLER_CPP_VERSION"; then + pkg_cv_POPPLER_CPP_VERSION="$POPPLER_CPP_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-cpp >= 0.74.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CPP_VERSION=`$PKG_CONFIG --modversion "poppler-cpp >= 0.74.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -4549,14 +5263,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` + POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` else - POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` + POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_CPP_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_CPP_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler-cpp >= 0.74.0) were not met: + as_fn_error $? "Package requirements (poppler-cpp >= 0.74.0) were not met: $POPPLER_CPP_PKG_ERRORS @@ -4567,10 +5281,10 @@ Alternatively, you may set the environment variables POPPLER_CPP_CFLAGS and POPPLER_CPP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -4582,30 +5296,31 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CPP_CFLAGS=$pkg_cv_POPPLER_CPP_CFLAGS - POPPLER_CPP_LIBS=$pkg_cv_POPPLER_CPP_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + POPPLER_CPP_CFLAGS=$pkg_cv_POPPLER_CPP_CFLAGS + POPPLER_CPP_LIBS=$pkg_cv_POPPLER_CPP_LIBS + POPPLER_CPP_VERSION=$pkg_cv_POPPLER_CPP_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi ;; #( "glib") : - { $as_echo "$as_me:${as_lineno-$LINENO}: --with-poppler=glib requires poppler >= 0.74.0" >&5 -$as_echo "$as_me: --with-poppler=glib requires poppler >= 0.74.0" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: --with-poppler=glib requires poppler >= 0.78.0" >&5 +printf "%s\n" "$as_me: --with-poppler=glib requires poppler >= 0.78.0" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER_GLIB" >&5 -$as_echo_n "checking for POPPLER_GLIB... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler-glib >= 0.78.0" >&5 +printf %s "checking for poppler-glib >= 0.78.0... " >&6; } if test -n "$POPPLER_GLIB_CFLAGS"; then pkg_cv_POPPLER_GLIB_CFLAGS="$POPPLER_GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.74.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.74.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_GLIB_CFLAGS=`$PKG_CONFIG --cflags "poppler-glib >= 0.74.0" 2>/dev/null` + pkg_cv_POPPLER_GLIB_CFLAGS=`$PKG_CONFIG --cflags "poppler-glib >= 0.78.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -4617,12 +5332,29 @@ if test -n "$POPPLER_GLIB_LIBS"; then pkg_cv_POPPLER_GLIB_LIBS="$POPPLER_GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.74.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.74.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_LIBS=`$PKG_CONFIG --libs "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_GLIB_VERSION"; then + pkg_cv_POPPLER_GLIB_VERSION="$POPPLER_GLIB_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_GLIB_LIBS=`$PKG_CONFIG --libs "poppler-glib >= 0.74.0" 2>/dev/null` + pkg_cv_POPPLER_GLIB_VERSION=`$PKG_CONFIG --modversion "poppler-glib >= 0.78.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -4634,8 +5366,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -4643,14 +5375,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-glib >= 0.74.0" 2>&1` + POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-glib >= 0.78.0" 2>&1` else - POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-glib >= 0.74.0" 2>&1` + POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-glib >= 0.78.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_GLIB_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_GLIB_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler-glib >= 0.74.0) were not met: + as_fn_error $? "Package requirements (poppler-glib >= 0.78.0) were not met: $POPPLER_GLIB_PKG_ERRORS @@ -4661,10 +5393,10 @@ Alternatively, you may set the environment variables POPPLER_GLIB_CFLAGS and POPPLER_GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -4676,30 +5408,31 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_GLIB_CFLAGS=$pkg_cv_POPPLER_GLIB_CFLAGS - POPPLER_GLIB_LIBS=$pkg_cv_POPPLER_GLIB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + POPPLER_GLIB_CFLAGS=$pkg_cv_POPPLER_GLIB_CFLAGS + POPPLER_GLIB_LIBS=$pkg_cv_POPPLER_GLIB_LIBS + POPPLER_GLIB_VERSION=$pkg_cv_POPPLER_GLIB_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi ;; #( "core") : - { $as_echo "$as_me:${as_lineno-$LINENO}: --with-poppler=core requires poppler >= 0.48.0" >&5 -$as_echo "$as_me: --with-poppler=core requires poppler >= 0.48.0" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: --with-poppler=core requires poppler 0.48.0 - 0.75.0" >&5 +printf "%s\n" "$as_me: --with-poppler=core requires poppler 0.48.0 - 0.75.0" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.48.0 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.48.0 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -4711,12 +5444,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0" 2>/dev/null` + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -4728,8 +5478,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -4737,14 +5487,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.48.0) were not met: + as_fn_error $? "Package requirements (poppler >= 0.48.0 poppler <= 0.75.0) were not met: $POPPLER_PKG_ERRORS @@ -4755,10 +5505,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -4770,28 +5520,105 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi ;; #( "core-private") : - { $as_echo "$as_me:${as_lineno-$LINENO}: --with-poppler=core-private requires poppler >= 0.13.3" >&5 -$as_echo "$as_me: --with-poppler=core-private requires poppler >= 0.13.3" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: --with-poppler=core-private requires poppler 0.13.3 - 0.75.0" >&5 +printf "%s\n" "$as_me: --with-poppler=core-private requires poppler 0.13.3 - 0.75.0" >&6;} + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } + +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 + pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.19.2" >&5 +printf %s "checking for poppler >= 0.19.2... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler >= 0.19.2") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.19.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4805,10 +5632,10 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler >= 0.19.2") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.19.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4818,12 +5645,29 @@ fi else pkg_failed=untried fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.19.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.19.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -4831,26 +5675,26 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.19.2" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.19.2" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.19.2" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.19.2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.13.3" >&5 +printf %s "checking for poppler >= 0.13.3... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.13.3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4864,10 +5708,10 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.13.3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4877,12 +5721,29 @@ fi else pkg_failed=untried fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -4890,14 +5751,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.13.3) were not met: + as_fn_error $? "Package requirements (poppler >= 0.13.3) were not met: $POPPLER_PKG_ERRORS @@ -4908,10 +5769,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -4923,33 +5784,38 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: poppler < 0.19.2 is found." >&5 +printf "%s\n" "$as_me: WARNING: poppler < 0.19.2 is found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' will fail some tests." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' will fail some tests." >&2;} cat >>confdefs.h <<_ACEOF #define POPPLER_CORE_IF_VERSION "`$PKG_CONFIG --modversion poppler`" _ACEOF elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.13.3" >&5 +printf %s "checking for poppler >= 0.13.3... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.13.3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4963,10 +5829,10 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.13.3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -4976,12 +5842,29 @@ fi else pkg_failed=untried fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -4989,14 +5872,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.13.3) were not met: + as_fn_error $? "Package requirements (poppler >= 0.13.3) were not met: $POPPLER_PKG_ERRORS @@ -5007,10 +5890,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -5022,42 +5905,388 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: poppler < 0.19.2 is found." >&5 +printf "%s\n" "$as_me: WARNING: poppler < 0.19.2 is found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' will fail some tests." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' will fail some tests." >&2;} cat >>confdefs.h <<_ACEOF #define POPPLER_CORE_IF_VERSION "`$PKG_CONFIG --modversion poppler`" _ACEOF else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: poppler < 0.24.4 is found." >&5 +printf "%s\n" "$as_me: WARNING: poppler < 0.24.4 is found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' will fail some tests." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' will fail some tests." >&2;} +fi +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.19.2" >&5 +printf %s "checking for poppler >= 0.19.2... " >&6; } + +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.19.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.19.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.19.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.19.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.19.2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.19.2") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.19.2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.19.2" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.19.2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.13.3" >&5 +printf %s "checking for poppler >= 0.13.3... " >&6; } + +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (poppler >= 0.13.3) were not met: + +$POPPLER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://pkg-config.freedesktop.org/>. +See \`config.log' for more details" "$LINENO" 5; } +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: poppler < 0.19.2 is found." >&5 +printf "%s\n" "$as_me: WARNING: poppler < 0.19.2 is found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' will fail some tests." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' will fail some tests." >&2;} + +cat >>confdefs.h <<_ACEOF +#define POPPLER_CORE_IF_VERSION "`$PKG_CONFIG --modversion poppler`" +_ACEOF + +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.13.3" >&5 +printf %s "checking for poppler >= 0.13.3... " >&6; } + +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.13.3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.13.3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.13.3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.13.3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (poppler >= 0.13.3) were not met: + +$POPPLER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://pkg-config.freedesktop.org/>. +See \`config.log' for more details" "$LINENO" 5; } +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: poppler < 0.19.2 is found." >&5 +printf "%s\n" "$as_me: WARNING: poppler < 0.19.2 is found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' will fail some tests." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' will fail some tests." >&2;} + +cat >>confdefs.h <<_ACEOF +#define POPPLER_CORE_IF_VERSION "`$PKG_CONFIG --modversion poppler`" +_ACEOF + +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: poppler < 0.24.4 is found." >&5 +printf "%s\n" "$as_me: WARNING: poppler < 0.24.4 is found." >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`make check' will fail some tests." >&5 +printf "%s\n" "$as_me: WARNING: \`make check' will fail some tests." >&2;} +fi +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi ;; #( "auto") : - { $as_echo "$as_me:${as_lineno-$LINENO}: selecting for --with-poppler=auto" >&5 -$as_echo "$as_me: selecting for --with-poppler=auto" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for cpp (poppler-cpp >= 0.74.0)" >&5 -$as_echo "$as_me: trying for cpp (poppler-cpp >= 0.74.0)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: selecting for --with-poppler=auto" >&5 +printf "%s\n" "$as_me: selecting for --with-poppler=auto" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for cpp (poppler-cpp >= 0.74.0)" >&5 +printf "%s\n" "$as_me: trying for cpp (poppler-cpp >= 0.74.0)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER_CPP" >&5 -$as_echo_n "checking for POPPLER_CPP... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler-cpp >= 0.74.0" >&5 +printf %s "checking for poppler-cpp >= 0.74.0... " >&6; } if test -n "$POPPLER_CPP_CFLAGS"; then pkg_cv_POPPLER_CPP_CFLAGS="$POPPLER_CPP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler-cpp >= 0.74.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CPP_CFLAGS=`$PKG_CONFIG --cflags "poppler-cpp >= 0.74.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -5071,10 +6300,10 @@ if test -n "$POPPLER_CPP_LIBS"; then pkg_cv_POPPLER_CPP_LIBS="$POPPLER_CPP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "poppler-cpp >= 0.74.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_POPPLER_CPP_LIBS=`$PKG_CONFIG --libs "poppler-cpp >= 0.74.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -5084,12 +6313,107 @@ fi else pkg_failed=untried fi +if test -n "$POPPLER_CPP_VERSION"; then + pkg_cv_POPPLER_CPP_VERSION="$POPPLER_CPP_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-cpp >= 0.74.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-cpp >= 0.74.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CPP_VERSION=`$PKG_CONFIG --modversion "poppler-cpp >= 0.74.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` + else + POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_CPP_PKG_ERRORS" >&5 + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for glib (poppler-glib >= 0.78.0)" >&5 +printf "%s\n" "$as_me: trying for glib (poppler-glib >= 0.78.0)" >&6;} + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler-glib >= 0.78.0" >&5 +printf %s "checking for poppler-glib >= 0.78.0... " >&6; } + +if test -n "$POPPLER_GLIB_CFLAGS"; then + pkg_cv_POPPLER_GLIB_CFLAGS="$POPPLER_GLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_CFLAGS=`$PKG_CONFIG --cflags "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_GLIB_LIBS"; then + pkg_cv_POPPLER_GLIB_LIBS="$POPPLER_GLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_LIBS=`$PKG_CONFIG --libs "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_GLIB_VERSION"; then + pkg_cv_POPPLER_GLIB_VERSION="$POPPLER_GLIB_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_VERSION=`$PKG_CONFIG --modversion "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5097,30 +6421,30 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` + POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-glib >= 0.78.0" 2>&1` else - POPPLER_CPP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-cpp >= 0.74.0" 2>&1` + POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-glib >= 0.78.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_CPP_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_GLIB_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for core (poppler >= 0.48.0)" >&5 -$as_echo "$as_me: trying for core (poppler >= 0.48.0)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core (poppler 0.48.0 - 0.75.0)" >&5 +printf "%s\n" "$as_me: trying for core (poppler 0.48.0 - 0.75.0)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.48.0 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.48.0 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5132,12 +6456,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0" 2>/dev/null` + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5149,8 +6490,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5158,30 +6499,30 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 -$as_echo "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5193,12 +6534,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5210,8 +6568,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5219,14 +6577,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.24.4) were not met: + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: $POPPLER_PKG_ERRORS @@ -5237,10 +6595,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -5252,32 +6610,33 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="core-private" + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 -$as_echo "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5289,12 +6648,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5306,8 +6682,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5315,14 +6691,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.24.4) were not met: + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: $POPPLER_PKG_ERRORS @@ -5333,10 +6709,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -5348,39 +6724,41 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="core-private" + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="core" + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core" fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for core (poppler >= 0.48.0)" >&5 -$as_echo "$as_me: trying for core (poppler >= 0.48.0)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core (poppler 0.48.0 - 0.75.0)" >&5 +printf "%s\n" "$as_me: trying for core (poppler 0.48.0 - 0.75.0)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.48.0 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.48.0 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5392,12 +6770,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0" 2>/dev/null` + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5409,8 +6804,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5418,30 +6813,30 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 -$as_echo "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5453,12 +6848,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5470,8 +6882,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5479,14 +6891,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.24.4) were not met: + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: $POPPLER_PKG_ERRORS @@ -5497,10 +6909,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -5512,32 +6924,33 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="core-private" + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 -$as_echo "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5 -$as_echo_n "checking for POPPLER... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } if test -n "$POPPLER_CFLAGS"; then pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5549,12 +6962,29 @@ if test -n "$POPPLER_LIBS"; then pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4" 2>/dev/null` + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5566,8 +6996,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -5575,14 +7005,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` else - POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4" 2>&1` + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$POPPLER_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (poppler >= 0.24.4) were not met: + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: $POPPLER_PKG_ERRORS @@ -5593,10 +7023,10 @@ Alternatively, you may set the environment variables POPPLER_CFLAGS and POPPLER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -5608,411 +7038,833 @@ See the pkg-config man page for more details. To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="core-private" + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi else - POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS - POPPLER_LIBS=$pkg_cv_POPPLER_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="core" + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core" fi else - POPPLER_CPP_CFLAGS=$pkg_cv_POPPLER_CPP_CFLAGS - POPPLER_CPP_LIBS=$pkg_cv_POPPLER_CPP_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_poppler="cpp" + POPPLER_GLIB_CFLAGS=$pkg_cv_POPPLER_GLIB_CFLAGS + POPPLER_GLIB_LIBS=$pkg_cv_POPPLER_GLIB_LIBS + POPPLER_GLIB_VERSION=$pkg_cv_POPPLER_GLIB_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="glib" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: use --with-poppler=$with_poppler" >&5 -$as_echo "$as_me: use --with-poppler=$with_poppler" >&6;} ;; #( - *) : - as_fn_error $? "unrecognized --with-poppler argument: $with_poppler" "$LINENO" 5 ;; -esac -case "$with_poppler" in #( - "cpp") : - POPPLER_IF="poppler-cpp" - use_library="cpp" ;; #( - "glib") : - POPPLER_IF="poppler-glib" - use_library="glib" ;; #( - "core") : - POPPLER_IF="poppler-core" - use_library="core" +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for glib (poppler-glib >= 0.78.0)" >&5 +printf "%s\n" "$as_me: trying for glib (poppler-glib >= 0.78.0)" >&6;} -$as_echo "#define HAVE_POPPLER_CORE_IF 1" >>confdefs.h - ;; #( - "core-private") : - POPPLER_IF="poppler-core private" - use_library="core" ;; #( - *) : - as_fn_error $? "programming error" "$LINENO" 5 ;; -esac - if test $use_library = core; then - USE_POPPLER_CORE_TRUE= - USE_POPPLER_CORE_FALSE='#' +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler-glib >= 0.78.0" >&5 +printf %s "checking for poppler-glib >= 0.78.0... " >&6; } + +if test -n "$POPPLER_GLIB_CFLAGS"; then + pkg_cv_POPPLER_GLIB_CFLAGS="$POPPLER_GLIB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_CFLAGS=`$PKG_CONFIG --cflags "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - USE_POPPLER_CORE_TRUE='#' - USE_POPPLER_CORE_FALSE= + pkg_failed=yes fi - - if test $use_library = glib; then - USE_POPPLER_GLIB_TRUE= - USE_POPPLER_GLIB_FALSE='#' + else + pkg_failed=untried +fi +if test -n "$POPPLER_GLIB_LIBS"; then + pkg_cv_POPPLER_GLIB_LIBS="$POPPLER_GLIB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_LIBS=`$PKG_CONFIG --libs "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - USE_POPPLER_GLIB_TRUE='#' - USE_POPPLER_GLIB_FALSE= + pkg_failed=yes fi - - if test $use_library = cpp; then - USE_POPPLER_CPP_TRUE= - USE_POPPLER_CPP_FALSE='#' + else + pkg_failed=untried +fi +if test -n "$POPPLER_GLIB_VERSION"; then + pkg_cv_POPPLER_GLIB_VERSION="$POPPLER_GLIB_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler-glib >= 0.78.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler-glib >= 0.78.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_GLIB_VERSION=`$PKG_CONFIG --modversion "poppler-glib >= 0.78.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - USE_POPPLER_CPP_TRUE='#' - USE_POPPLER_CPP_FALSE= + pkg_failed=yes +fi + else + pkg_failed=untried fi -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING (with $POPPLER_IF)" -_ACEOF - -# Checks for header files. -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - # Broken: fails on valid input. -continue + _pkg_short_errors_supported=no fi -rm -f conftest.err conftest.i conftest.$ac_ext + if test $_pkg_short_errors_supported = yes; then + POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler-glib >= 0.78.0" 2>&1` + else + POPPLER_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler-glib >= 0.78.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_GLIB_PKG_ERRORS" >&5 - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core (poppler 0.48.0 - 0.75.0)" >&5 +printf "%s\n" "$as_me: trying for core (poppler 0.48.0 - 0.75.0)" >&6;} + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.48.0 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.48.0 poppler <= 0.75.0... " >&6; } + +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - # Passes both tests. -ac_preproc_ok=: -break + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi -rm -f conftest.err conftest.i conftest.$ac_ext -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - done - ac_cv_prog_CXXCPP=$CXXCPP + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi - CXXCPP=$ac_cv_prog_CXXCPP +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - ac_cv_prog_CXXCPP=$CXXCPP + pkg_failed=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - # Broken: fails on valid input. -continue + _pkg_short_errors_supported=no fi -rm -f conftest.err conftest.i conftest.$ac_ext + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: + +$POPPLER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://pkg-config.freedesktop.org/>. +See \`config.log' for more details" "$LINENO" 5; } else - # Passes both tests. -ac_preproc_ok=: -break + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi -rm -f conftest.err conftest.i conftest.$ac_ext +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - ac_cv_path_EGREP=$EGREP + _pkg_short_errors_supported=no fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 - fi + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: + +$POPPLER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://pkg-config.freedesktop.org/>. +See \`config.log' for more details" "$LINENO" 5; } +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core" +fi +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core (poppler 0.48.0 - 0.75.0)" >&5 +printf "%s\n" "$as_me: trying for core (poppler 0.48.0 - 0.75.0)" >&6;} +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.48.0 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.48.0 poppler <= 0.75.0... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.48.0 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.48.0 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.48.0 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - ac_cv_header_stdc=no + _pkg_short_errors_supported=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.48.0 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - ac_cv_header_stdc=no + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi -rm -f conftest* +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : +$POPPLER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see <http://pkg-config.freedesktop.org/>. +See \`config.log' for more details" "$LINENO" 5; } else - ac_cv_header_stdc=no + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi -rm -f conftest* +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying for core-private (poppler >= 0.24.4)" >&5 +printf "%s\n" "$as_me: trying for core-private (poppler >= 0.24.4)" >&6;} + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.24.4 poppler <= 0.75.0" >&5 +printf %s "checking for poppler >= 0.24.4 poppler <= 0.75.0... " >&6; } +if test -n "$POPPLER_CFLAGS"; then + pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_LIBS"; then + pkg_cv_POPPLER_LIBS="$POPPLER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$POPPLER_VERSION"; then + pkg_cv_POPPLER_VERSION="$POPPLER_VERSION" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"poppler >= 0.24.4 poppler <= 0.75.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "poppler >= 0.24.4 poppler <= 0.75.0") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_POPPLER_VERSION=`$PKG_CONFIG --modversion "poppler >= 0.24.4 poppler <= 0.75.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + else + POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "poppler >= 0.24.4 poppler <= 0.75.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$POPPLER_PKG_ERRORS" >&5 -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : + as_fn_error $? "Package requirements (poppler >= 0.24.4 poppler <= 0.75.0) were not met: + +$POPPLER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables POPPLER_CFLAGS +and POPPLER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +To get pkg-config, see <http://pkg-config.freedesktop.org/>. +See \`config.log' for more details" "$LINENO" 5; } else - ac_cv_header_stdc=no + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core-private" fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +else + POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS + POPPLER_LIBS=$pkg_cv_POPPLER_LIBS + POPPLER_VERSION=$pkg_cv_POPPLER_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="core" fi - +else + POPPLER_GLIB_CFLAGS=$pkg_cv_POPPLER_GLIB_CFLAGS + POPPLER_GLIB_LIBS=$pkg_cv_POPPLER_GLIB_LIBS + POPPLER_GLIB_VERSION=$pkg_cv_POPPLER_GLIB_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="glib" fi +else + POPPLER_CPP_CFLAGS=$pkg_cv_POPPLER_CPP_CFLAGS + POPPLER_CPP_LIBS=$pkg_cv_POPPLER_CPP_LIBS + POPPLER_CPP_VERSION=$pkg_cv_POPPLER_CPP_VERSION + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + with_poppler="cpp" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: use --with-poppler=$with_poppler" >&5 +printf "%s\n" "$as_me: use --with-poppler=$with_poppler" >&6;} ;; #( + *) : + as_fn_error $? "unrecognized --with-poppler argument: $with_poppler" "$LINENO" 5 ;; +esac +case "$with_poppler" in #( + "cpp") : + POPPLER_IF="poppler-cpp" + use_library="cpp" ;; #( + "glib") : + POPPLER_IF="poppler-glib" + use_library="glib" ;; #( + "core") : + POPPLER_IF="poppler-core" + use_library="core" +printf "%s\n" "#define HAVE_POPPLER_CORE_IF 1" >>confdefs.h + ;; #( + "core-private") : + POPPLER_IF="poppler-core private" + use_library="core" ;; #( + *) : + as_fn_error $? "programming error" "$LINENO" 5 ;; +esac + if test $use_library = core; then + USE_POPPLER_CORE_TRUE= + USE_POPPLER_CORE_FALSE='#' +else + USE_POPPLER_CORE_TRUE='#' + USE_POPPLER_CORE_FALSE= fi -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF + if test $use_library = glib; then + USE_POPPLER_GLIB_TRUE= + USE_POPPLER_GLIB_FALSE='#' +else + USE_POPPLER_GLIB_TRUE='#' + USE_POPPLER_GLIB_FALSE= +fi + if test $use_library = cpp; then + USE_POPPLER_CPP_TRUE= + USE_POPPLER_CPP_FALSE='#' +else + USE_POPPLER_CPP_TRUE='#' + USE_POPPLER_CPP_FALSE= fi + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING (with $POPPLER_IF)\"" >>confdefs.h + + +# Checks for header files. +ac_header= ac_cache= +for ac_item in $ac_header_cxx_list +do + if test $ac_cache; then + ac_fn_cxx_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi done + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi if test -z "$USE_POPPLER_CORE_TRUE"; then : ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -6022,21 +7874,21 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu TEMP_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" - for ac_header in Link.h PDFDoc.h PDFDocFactory.h + for ac_header in Link.h PDFDoc.h PDFDocFactory.h do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes" +then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -else +else $as_nop as_fn_error $? "poppler xpdf headers are not found." "$LINENO" 5 fi done - CPPFLAGS=$TMP_CPPFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6047,31 +7899,28 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi # Check whether --enable-codecvt was given. -if test "${enable_codecvt+set}" = set; then : +if test ${enable_codecvt+y} +then : enableval=$enable_codecvt; -else +else $as_nop enable_codecvt=no fi -if test "x$enable_codecvt" != xno; then : +if test "x$enable_codecvt" != xno +then : ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - for ac_header in codecvt -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "codecvt" "ac_cv_header_codecvt" "$ac_includes_default" -if test "x$ac_cv_header_codecvt" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CODECVT 1 -_ACEOF + ac_fn_cxx_check_header_compile "$LINENO" "codecvt" "ac_cv_header_codecvt" "$ac_includes_default" +if test "x$ac_cv_header_codecvt" = xyes +then : + printf "%s\n" "#define HAVE_CODECVT 1" >>confdefs.h fi -done - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6079,40 +7928,45 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -if test "x$ac_cv_header_codecvt" == xyes; then : +if test "x$ac_cv_header_codecvt" == xyes +then : -$as_echo "#define USE_CODECVT 1" >>confdefs.h +printf "%s\n" "#define USE_CODECVT 1" >>confdefs.h fi # Check whether --enable-iconv was given. -if test "${enable_iconv+set}" = set; then : +if test ${enable_iconv+y} +then : enableval=$enable_iconv; -else +else $as_nop enable_iconv=yes fi # AM_ICONV does not seem to be able to put in IF block. -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_build_alias=$build_alias test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -6131,21 +7985,22 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -6180,6 +8035,15 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6188,11 +8052,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -6200,11 +8065,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6215,11 +8084,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6228,11 +8097,12 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -6240,11 +8110,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6255,11 +8129,11 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -6267,8 +8141,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -6281,11 +8155,12 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -6293,11 +8168,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6308,11 +8187,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6321,11 +8200,12 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -6334,15 +8214,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6358,18 +8242,18 @@ if test $ac_prog_rejected = yes; then # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6380,11 +8264,12 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -6392,11 +8277,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6407,11 +8296,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6424,11 +8313,12 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -6436,11 +8326,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6451,11 +8345,11 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6467,8 +8361,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -6476,25 +8370,129 @@ esac fi fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -6504,20 +8502,21 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -6527,29 +8526,33 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS+set} +ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no @@ -6558,57 +8561,60 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes -else +else $as_nop CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -6623,94 +8629,144 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi fi ac_ext=c @@ -6719,21 +8775,23 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -6761,8 +8819,8 @@ _ACEOF rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. @@ -6780,11 +8838,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -6891,8 +8950,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if @@ -6908,10 +8967,12 @@ fi + # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi @@ -6928,88 +8989,151 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac +if test -n "$LD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 +printf %s "checking for ld... " >&6; } +elif test "$GCC" = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + if test ${acl_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + acl_cv_path_LD= # Final result of this test + ac_prog=ld # Program to search in $PATH + if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac fi - done - IFS="$acl_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$acl_save_ifs" + fi + case $host in + *-*-aix*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + # The compiler produces 64-bit code. Add option '-b64' so that the + # linker groks 64-bit object files. + case "$acl_cv_path_LD " in + *" -b64 "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; + esac + fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + sparc64-*-netbsd*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + # The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + esac -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else + + LD="$acl_cv_path_LD" +fi +if test -n "$LD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${acl_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) @@ -7020,18 +9144,20 @@ case `$LD -v 2>&1 </dev/null` in ;; esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 +printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +printf %s "checking for shared library run path origin... " >&6; } +if test ${acl_cv_rpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh @@ -7040,8 +9166,8 @@ else acl_cv_rpath=done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +printf "%s\n" "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" @@ -7052,53 +9178,319 @@ $as_echo "$acl_cv_rpath" >&6; } acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : +if test ${enable_rpath+y} +then : enableval=$enable_rpath; : -else +else $as_nop enable_rpath=yes fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5 +printf %s "checking 32-bit host C ABI... " >&6; } +if test ${gl_cv_host_cpu_c_abi_32bit+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$gl_cv_host_cpu_c_abi"; then + case "$gl_cv_host_cpu_c_abi" in + i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) + gl_cv_host_cpu_c_abi_32bit=yes ;; + x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 ) + gl_cv_host_cpu_c_abi_32bit=no ;; + *) + gl_cv_host_cpu_c_abi_32bit=unknown ;; + esac + else + case "$host_cpu" in + + # CPUs that only support a 32-bit ABI. + arc \ + | bfin \ + | cris* \ + | csky \ + | epiphany \ + | ft32 \ + | h8300 \ + | m68k \ + | microblaze | microblazeel \ + | nds32 | nds32le | nds32be \ + | nios2 | nios2eb | nios2el \ + | or1k* \ + | or32 \ + | sh | sh1234 | sh1234elb \ + | tic6x \ + | xtensa* ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + # CPUs that only support a 64-bit ABI. + alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \ + | mmix ) + gl_cv_host_cpu_c_abi_32bit=no + ;; + + i[34567]86 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) \ + && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=yes +else $as_nop + gl_cv_host_cpu_c_abi_32bit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + riscv32 | riscv64 ) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_host_cpu_c_abi_32bit=no +else $as_nop + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ;; + + *) + gl_cv_host_cpu_c_abi_32bit=unknown + ;; + esac + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5 +printf "%s\n" "$gl_cv_host_cpu_c_abi_32bit" >&6; } + + HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif +#include <limits.h> Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -7110,10 +9502,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -7123,7 +9516,8 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : break fi @@ -7135,29 +9529,24 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif +#include <limits.h> Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -7169,10 +9558,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -7182,11 +9572,12 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -7198,69 +9589,230 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ELF binary format" >&5 +printf %s "checking for ELF binary format... " >&6; } +if test ${gl_cv_elf+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif +#ifdef __ELF__ + Extensible Linking Format + #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no + $EGREP "Extensible Linking Format" >/dev/null 2>&1 +then : + gl_cv_elf=yes +else $as_nop + gl_cv_elf=no fi -rm -f conftest* +rm -rf conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5 +printf "%s\n" "$gl_cv_elf" >&6; } + if test $gl_cv_elf; then + # Extract the ELF class of a file (5th byte) in decimal. + # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header + if od -A x < /dev/null >/dev/null 2>/dev/null; then + # Use POSIX od. + func_elfclass () + { + od -A n -t d1 -j 4 -N 1 + } + else + # Use BSD hexdump. + func_elfclass () + { + dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "' + echo + } + fi + case $HOST_CPU_C_ABI_32BIT in + yes) + # 32-bit ABI. + acl_is_expected_elfclass () + { + test "`func_elfclass | sed -e 's/[ ]//g'`" = 1 + } + ;; + no) + # 64-bit ABI. + acl_is_expected_elfclass () + { + test "`func_elfclass | sed -e 's/[ ]//g'`" = 2 + } + ;; + *) + # Unknown. + acl_is_expected_elfclass () + { + : + } + ;; + esac + else + acl_is_expected_elfclass () + { + : + } + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 +printf %s "checking for the common suffixes of directories in the library search path... " >&6; } +if test ${acl_cv_libdirstems+y} +then : + printf %s "(cached) " >&6 +else $as_nop + acl_libdirstem=lib + acl_libdirstem2= + acl_libdirstem3= + case "$host_os" in + solaris*) + if test $HOST_CPU_C_ABI_32BIT = no; then + acl_libdirstem2=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem3=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem3=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test $HOST_CPU_C_ABI_32BIT != no; then + # 32-bit or unknown ABI. + if test -d /usr/lib32; then + acl_libdirstem2=lib32 + fi + fi + if test $HOST_CPU_C_ABI_32BIT != yes; then + # 64-bit or unknown ABI. + if test -d /usr/lib64; then + acl_libdirstem3=lib64 + fi + fi + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib32/ | */lib32 ) acl_libdirstem2=lib32 ;; + */lib64/ | */lib64 ) acl_libdirstem3=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib32 ) acl_libdirstem2=lib32 ;; + */lib64 ) acl_libdirstem3=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + if test $HOST_CPU_C_ABI_32BIT = yes; then + # 32-bit ABI. + acl_libdirstem3= + fi + if test $HOST_CPU_C_ABI_32BIT = no; then + # 64-bit ABI. + acl_libdirstem2= + fi + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5 +printf "%s\n" "$acl_cv_libdirstems" >&6; } + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'` + acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'` @@ -7281,13 +9833,16 @@ $as_echo "$gl_cv_solaris_64bit" >&6; } eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" + eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" + eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : +if test ${with_libiconv_prefix+y} +then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no @@ -7301,6 +9856,8 @@ if test "${with_libiconv_prefix+set}" = set; then : eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" + eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\" + eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" @@ -7308,15 +9865,19 @@ if test "${with_libiconv_prefix+set}" = set; then : else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi + additional_libdir2="$withval/$acl_libdirstem2" + additional_libdir3="$withval/$acl_libdirstem3" fi fi fi + if test "X$additional_libdir2" = "X$additional_libdir"; then + additional_libdir2= + fi + if test "X$additional_libdir3" = "X$additional_libdir"; then + additional_libdir3= + fi LIBICONV= LTLIBICONV= INCICONV= @@ -7362,45 +9923,51 @@ fi shrext= fi if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" + for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do + if test "X$found_dir" = "X"; then + eval dir=\$$additional_libdir_variable + if test -n "$dir"; then + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then found_dir="$dir" - found_so="$dir/$f" - break + found_a="$dir/$libname.$acl_libext" fi - done + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi fi fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi + done fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do @@ -7417,7 +9984,7 @@ fi -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then + if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else @@ -7427,14 +9994,14 @@ fi | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do - if test -f "$dir/$f"; then + if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break @@ -7444,7 +10011,7 @@ fi fi fi if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then + if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi @@ -7466,7 +10033,8 @@ fi if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + || test "X$found_dir" = "X/usr/$acl_libdirstem2" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem3"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= @@ -7545,6 +10113,13 @@ fi fi additional_includedir="$basedir/include" ;; + */$acl_libdirstem3 | */$acl_libdirstem3/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then @@ -7590,12 +10165,14 @@ fi for dep in $dependency_libs; do case "$dep" in -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \ + && test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \ + || test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -7614,14 +10191,14 @@ fi exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" - if test "X$x" = "X-L$additional_libdir"; then + if test "X$x" = "X-L$dependency_libdir"; then haveit=yes break fi done if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$dependency_libdir" fi fi haveit= @@ -7635,14 +10212,14 @@ fi exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" - if test "X$x" = "X-L$additional_libdir"; then + if test "X$x" = "X-L$dependency_libdir"; then haveit=yes break fi done if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + if test -d "$dependency_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$dependency_libdir" fi fi fi @@ -7731,7 +10308,6 @@ fi - am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do @@ -7757,11 +10333,12 @@ fi done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +printf %s "checking for iconv... " >&6; } +if test ${am_cv_func_iconv+y} +then : + printf %s "(cached) " >&6 +else $as_nop am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no @@ -7772,7 +10349,7 @@ else #include <iconv.h> int -main () +main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); @@ -7781,10 +10358,11 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : am_cv_func_iconv=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" @@ -7796,7 +10374,7 @@ rm -f core conftest.err conftest.$ac_objext \ #include <iconv.h> int -main () +main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); @@ -7805,24 +10383,26 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +printf "%s\n" "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +printf %s "checking for working iconv... " >&6; } +if test ${am_cv_func_iconv_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then @@ -7830,12 +10410,13 @@ else fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes +then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7847,7 +10428,7 @@ else #endif int -main () +main (void) { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful @@ -7932,22 +10513,35 @@ int result = 0; #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : am_cv_func_iconv_works=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ @@ -7959,8 +10553,8 @@ fi LIBS="$am_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +printf "%s\n" "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; @@ -7970,14 +10564,14 @@ $as_echo "$am_cv_func_iconv_works" >&6; } fi if test "$am_func_iconv" = yes; then -$as_echo "#define HAVE_ICONV 1" >>confdefs.h +printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +printf %s "checking how to link with libiconv... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +printf "%s\n" "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= @@ -7987,11 +10581,12 @@ $as_echo "$LIBICONV" >&6; } if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 -$as_echo_n "checking for iconv declaration... " >&6; } - if ${am_cv_proto_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 +printf %s "checking for iconv declaration... " >&6; } + if test ${am_cv_proto_iconv+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8009,34 +10604,35 @@ size_t iconv(); #endif int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : am_cv_proto_iconv_arg1="" -else +else $as_nop am_cv_proto_iconv_arg1="const" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_proto_iconv" >&5 -$as_echo " +printf "%s\n" " $am_cv_proto_iconv" >&6; } + else + am_cv_proto_iconv_arg1="" + fi -cat >>confdefs.h <<_ACEOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -_ACEOF +printf "%s\n" "#define ICONV_CONST $am_cv_proto_iconv_arg1" >>confdefs.h - fi if test "x$enable_iconv" = xyes && \ test "x$am_cv_func_iconv" = xyes && \ @@ -8050,12 +10646,13 @@ fi if test -z "$USE_ICONV_TRUE"; then : -$as_echo "#define USE_ICONV 1" >>confdefs.h +printf "%s\n" "#define USE_ICONV 1" >>confdefs.h else - if test "x$ac_cv_header_codecvt" != xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Some \`make check' will fail since both codecvt and iconv are disabled." >&5 -$as_echo "$as_me: WARNING: Some \`make check' will fail since both codecvt and iconv are disabled." >&2;} + if test "x$ac_cv_header_codecvt" != xyes +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Some \`make check' will fail since both codecvt and iconv are disabled." >&5 +printf "%s\n" "$as_me: WARNING: Some \`make check' will fail since both codecvt and iconv are disabled." >&2;} fi fi @@ -8069,30 +10666,31 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu TEMP_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for poppler's GooString::c_str ()" >&5 -$as_echo_n "checking for poppler's GooString::c_str ()... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for poppler's GooString::c_str ()" >&5 +printf %s "checking for poppler's GooString::c_str ()... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <Link.h> int -main () +main (void) { GooString goo; const char *dummy = goo.c_str (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_cxx_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -$as_echo "#define HAS_GOOSTRING_C_STR 1" >>confdefs.h +printf "%s\n" "#define HAS_GOOSTRING_C_STR 1" >>confdefs.h -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CPPFLAGS=$TMP_CPPFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8133,8 +10731,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -8164,15 +10762,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -8186,8 +10784,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -8204,7 +10802,7 @@ U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -8215,14 +10813,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -8268,8 +10866,8 @@ fi ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -8292,14 +10890,16 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -8309,46 +10909,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi +if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -8357,13 +10957,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -8372,8 +10965,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -8385,30 +10982,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -8421,13 +10998,14 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -8454,18 +11032,20 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -8477,12 +11057,13 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -8513,7 +11094,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -8535,6 +11116,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -8548,6 +11133,12 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -8589,7 +11180,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -8598,7 +11189,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -8660,8 +11251,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Extract PDFmark $as_me 1.1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +This file was extended by Extract PDFmark $as_me 1.1.1, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -8724,14 +11315,16 @@ Report bugs to the package provider. Extract PDFmark home page: <https://github.com/trueroad/extractpdfmark>." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Extract PDFmark config.status 1.1.0 -configured by $0, generated by GNU Autoconf 2.69, +Extract PDFmark config.status 1.1.1 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -8771,15 +11364,15 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -8787,7 +11380,7 @@ do --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; @@ -8796,7 +11389,7 @@ do as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -8824,7 +11417,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -8838,7 +11431,7 @@ exec 5>>config.log sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF @@ -8846,7 +11439,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" _ACEOF @@ -8876,9 +11469,9 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -9214,7 +11807,7 @@ do esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -9222,17 +11815,17 @@ do # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -9249,7 +11842,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -9273,9 +11866,9 @@ $as_echo X"$ac_file" | case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -9337,8 +11930,8 @@ ac_sed_dataroot=' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -9382,9 +11975,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -9400,20 +11993,20 @@ which seems to be undefined. Please make sure it is defined" >&2;} # if test x"$ac_file" != x-; then { - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi @@ -9433,7 +12026,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | +printf "%s\n" X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -9453,8 +12046,8 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -9464,29 +12057,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -9504,53 +12103,50 @@ $as_echo X"$mf" | q } s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } - /^X\(\/\/\)$/{ + /^X\/\(\/\/\)$/{ s//\1/ q } - /^X\(\/\).*/{ + /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? done + if test $am_rc -ne 0; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk } ;; @@ -9587,7 +12183,8 @@ if test "$no_create" != yes; then $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi + diff --git a/support/extractpdfmark/configure.ac b/support/extractpdfmark/configure.ac index 2fafa44bb3..2e7d5627c5 100644 --- a/support/extractpdfmark/configure.ac +++ b/support/extractpdfmark/configure.ac @@ -2,13 +2,13 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([Extract PDFmark], [1.1.0], , [extractpdfmark], +AC_INIT([Extract PDFmark], [1.1.1], , [extractpdfmark], [https://github.com/trueroad/extractpdfmark]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([src/main.cc]) AC_CONFIG_HEADERS([config.h]) -PACKAGE_COPYRIGHT="Copyright (C) 2016-2019 Masamichi Hosoda" +PACKAGE_COPYRIGHT="Copyright (C) 2016-2022 Masamichi Hosoda" PACKAGE_LICENSE="License: GPL3+" AC_SUBST([PACKAGE_COPYRIGHT]) @@ -85,34 +85,48 @@ AS_CASE(["$with_poppler"], [AC_MSG_NOTICE([--with-poppler=cpp requires poppler >= 0.74.0]) PKG_CHECK_MODULES([POPPLER_CPP], [poppler-cpp >= 0.74.0])], ["glib"], - [AC_MSG_NOTICE([--with-poppler=glib requires poppler >= 0.74.0]) - PKG_CHECK_MODULES([POPPLER_GLIB], [poppler-glib >= 0.74.0])], + [AC_MSG_NOTICE([--with-poppler=glib requires poppler >= 0.78.0]) + PKG_CHECK_MODULES([POPPLER_GLIB], [poppler-glib >= 0.78.0])], ["core"], - [AC_MSG_NOTICE([--with-poppler=core requires poppler >= 0.48.0]) - PKG_CHECK_MODULES([POPPLER], [poppler >= 0.48.0])], + [AC_MSG_NOTICE( + [--with-poppler=core requires poppler 0.48.0 - 0.75.0]) + PKG_CHECK_MODULES([POPPLER], + [poppler >= 0.48.0 poppler <= 0.75.0])], ["core-private"], [AC_MSG_NOTICE( - [--with-poppler=core-private requires poppler >= 0.13.3]) - PKG_CHECK_MODULES([POPPLER], [poppler >= 0.19.2],, - [PKG_CHECK_MODULES([POPPLER], [poppler >= 0.13.3]) - AC_DEFINE_UNQUOTED([POPPLER_CORE_IF_VERSION], - ["`$PKG_CONFIG --modversion poppler`"], - [Define poppler version if POPPLER_VERSION cannot be used.])])], + [--with-poppler=core-private requires poppler 0.13.3 - 0.75.0]) + PKG_CHECK_MODULES([POPPLER], + [poppler >= 0.24.4 poppler <= 0.75.0],, + [PKG_CHECK_MODULES([POPPLER], [poppler >= 0.19.2], + [AC_MSG_WARN([poppler < 0.24.4 is found.]) + AC_MSG_WARN([`make check' will fail some tests.])], + [PKG_CHECK_MODULES([POPPLER], [poppler >= 0.13.3]) + AC_MSG_WARN([poppler < 0.19.2 is found.]) + AC_MSG_WARN([`make check' will fail some tests.]) + AC_DEFINE_UNQUOTED([POPPLER_CORE_IF_VERSION], + ["`$PKG_CONFIG --modversion poppler`"], + [Define poppler version if POPPLER_VERSION cannot be used.])])])], ["auto"], [AC_MSG_NOTICE([selecting for --with-poppler=auto]) AC_MSG_NOTICE([ trying for cpp (poppler-cpp >= 0.74.0)]) PKG_CHECK_MODULES( [POPPLER_CPP], [poppler-cpp >= 0.74.0], [with_poppler="cpp"], - [AC_MSG_NOTICE([ trying for core (poppler >= 0.48.0)]) + [AC_MSG_NOTICE([ trying for glib (poppler-glib >= 0.78.0)]) PKG_CHECK_MODULES( - [POPPLER], [poppler >= 0.48.0], - [with_poppler="core"], + [POPPLER_GLIB], [poppler-glib >= 0.78.0], + [with_poppler="glib"], [AC_MSG_NOTICE( - [ trying for core-private (poppler >= 0.24.4)]) - PKG_CHECK_MODULES([POPPLER], [poppler >= 0.24.4], - [with_poppler="core-private"])])])] - AC_MSG_NOTICE([use --with-poppler=$with_poppler]), + [ trying for core (poppler 0.48.0 - 0.75.0)]) + PKG_CHECK_MODULES( + [POPPLER], [poppler >= 0.48.0 poppler <= 0.75.0], + [with_poppler="core"], + [AC_MSG_NOTICE( + [ trying for core-private (poppler >= 0.24.4)]) + PKG_CHECK_MODULES([POPPLER], + [poppler >= 0.24.4 poppler <= 0.75.0], + [with_poppler="core-private"])])])]) + AC_MSG_NOTICE([use --with-poppler=$with_poppler])], [AC_MSG_ERROR([unrecognized --with-poppler argument: $with_poppler])]) AS_CASE(["$with_poppler"], ["cpp"], diff --git a/support/extractpdfmark/depcomp b/support/extractpdfmark/depcomp index b39f98f9ae..715e34311e 100755 --- a/support/extractpdfmark/depcomp +++ b/support/extractpdfmark/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -783,7 +783,7 @@ exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/support/extractpdfmark/install-sh b/support/extractpdfmark/install-sh index 0360b79e7d..ec298b5374 100755 --- a/support/extractpdfmark/install-sh +++ b/support/extractpdfmark/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2016-01-11.22; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ posix_mkdir= # Desired mode of installed file. mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -99,18 +104,28 @@ Options: --version display version info and exit. -c (ignored) - -C install only if different (preserve the last data modification time) + -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ while test $# -ne 0; do -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,6 +275,10 @@ do dstdir=$dst test -d "$dstdir" dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -271,15 +295,18 @@ do fi dst=$dst_arg - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. + # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst - dst=$dstdir/`basename "$src"` + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac dstdir_status=0 else dstdir=`dirname "$dst"` @@ -288,27 +315,16 @@ do fi fi + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -318,43 +334,49 @@ do fi posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -365,7 +387,7 @@ do then : else - # The umask is ridiculous, or mkdir does not conform to POSIX, + # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -394,7 +416,7 @@ do prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -427,14 +449,25 @@ do else # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + (umask $cp_umask && + { test -z "$stripcmd" || { + # Create $dsttmp read-write so that cp doesn't create it read-only, + # which would cause strip to fail. + if test -z "$doit"; then + : >"$dsttmp" # No need to fork-exec 'touch'. + else + $doit touch "$dsttmp" + fi + } + } && + $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -460,6 +493,13 @@ do then rm -f "$dsttmp" else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -474,9 +514,9 @@ do # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 @@ -493,7 +533,7 @@ do done # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 b/support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 index 9e9eaedaaa..a3d964c699 100644 --- a/support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 +++ b/support/extractpdfmark/m4/ax_cxx_compile_stdcxx.m4 @@ -10,13 +10,13 @@ # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and -# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) -# or '14' (for the C++14 standard). +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -34,13 +34,16 @@ # Copyright (c) 2015 Paul Norman <penorman@mac.com> # Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu> # Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com> +# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com> +# Copyright (c) 2020 Jason Merrill <jason@redhat.com> +# Copyright (c) 2021 Jörn Heusipp <osmanx@problemloesungsmaschine.de> # # 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. -#serial 10 +#serial 15 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -49,6 +52,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [$1], [20], [ax_cxx_compile_alternatives="20"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], @@ -61,6 +65,16 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl AC_LANG_PUSH([C++])dnl ac_success=no + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) + m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do @@ -139,7 +153,6 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 ) - dnl Test body for checking C++14 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], @@ -147,12 +160,24 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 ) +dnl Test body for checking C++17 support + m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 ) +dnl Test body for checking C++20 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 +) + + dnl Tests for new features in C++11 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ @@ -164,7 +189,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -189,11 +218,13 @@ namespace cxx11 struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -453,7 +484,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -577,7 +608,7 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -943,6 +974,36 @@ namespace cxx17 } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER + +]]) + + +dnl Tests for new features in C++20 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include <version> + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER ]]) diff --git a/support/extractpdfmark/man/Makefile.in b/support/extractpdfmark/man/Makefile.in index b42e13f720..4ceebe783e 100644 --- a/support/extractpdfmark/man/Makefile.in +++ b/support/extractpdfmark/man/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -165,8 +165,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -177,6 +178,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -294,8 +296,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -355,8 +357,10 @@ ctags CTAGS: cscope cscopelist: +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff --git a/support/extractpdfmark/missing b/support/extractpdfmark/missing index c6e379584b..1fe1611f18 100755 --- a/support/extractpdfmark/missing +++ b/support/extractpdfmark/missing @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ else exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,7 +207,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/support/extractpdfmark/src/Makefile.in b/support/extractpdfmark/src/Makefile.in index 76730d24e3..8c8d9f62d0 100644 --- a/support/extractpdfmark/src/Makefile.in +++ b/support/extractpdfmark/src/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -147,7 +147,10 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/encodename.Po ./$(DEPDIR)/main.Po \ + ./$(DEPDIR)/output-pdfmark.Po ./$(DEPDIR)/utf16.Po \ + ./$(DEPDIR)/utf8.Po am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) @@ -196,7 +199,7 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir + distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is @@ -214,8 +217,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = poppler-core poppler-glib poppler-cpp am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -256,8 +257,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -268,6 +270,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -394,8 +397,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -459,11 +462,17 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encodename.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output-pdfmark.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf16.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encodename.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output-pdfmark.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf16.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -577,8 +586,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -676,7 +687,11 @@ clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-recursive - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/encodename.Po + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/output-pdfmark.Po + -rm -f ./$(DEPDIR)/utf16.Po + -rm -f ./$(DEPDIR)/utf8.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -722,7 +737,11 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/encodename.Po + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/output-pdfmark.Po + -rm -f ./$(DEPDIR)/utf16.Po + -rm -f ./$(DEPDIR)/utf8.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -742,19 +761,20 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: $(am__recursive_targets) install-am install-strip -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-binPROGRAMS clean-generic cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-binPROGRAMS +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--depfiles check check-am clean clean-binPROGRAMS \ + clean-generic cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS .PRECIOUS: Makefile diff --git a/support/extractpdfmark/src/iconv_wrapper.hh b/support/extractpdfmark/src/iconv_wrapper.hh index 6517a4e1d3..78d9d6bca4 100644 --- a/support/extractpdfmark/src/iconv_wrapper.hh +++ b/support/extractpdfmark/src/iconv_wrapper.hh @@ -1,8 +1,8 @@ // -// One header file iconv wrapper for C++11 2016-10-19.22 GPL -// https://github.com/trueroad/iconv_wrapper/ +// One header file iconv wrapper for C++11 2022-09-29.12 GPL +// https://github.com/trueroad/iconv_wrapper // -// Copyright (C) 2016 Masamichi Hosoda. All rights reserved. +// Copyright (C) 2016, 2019, 2022 Masamichi Hosoda. All rights reserved. // // One header file iconv wrapper for C++11 is free software: // you can redistribute it and/or modify @@ -152,7 +152,10 @@ namespace iconv_wrapper std::string *pout) { size_t inleft {in.size ()}; - do_iconv (pout, &in.at (0), &inleft, pinpos); + if (inleft) + do_iconv (pout, &in.at (0), &inleft, pinpos); + else + pout->clear(); return *pout; } diff --git a/support/extractpdfmark/src/poppler-core/Makefile.in b/support/extractpdfmark/src/poppler-core/Makefile.in index 8136ebafe0..19a1afd38e 100644 --- a/support/extractpdfmark/src/poppler-core/Makefile.in +++ b/support/extractpdfmark/src/poppler-core/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -130,7 +130,11 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = \ + ./$(DEPDIR)/libextractpdfmark_poppler_core_a-destname.Po \ + ./$(DEPDIR)/libextractpdfmark_poppler_core_a-pagemode.Po \ + ./$(DEPDIR)/libextractpdfmark_poppler_core_a-poppler-core.Po am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -185,8 +189,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -201,8 +203,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -213,6 +216,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -336,8 +340,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -363,9 +367,15 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_core_a-destname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_core_a-pagemode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_core_a-poppler-core.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_core_a-destname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_core_a-pagemode.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_core_a-poppler-core.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -474,8 +484,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -544,7 +556,9 @@ clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_core_a-destname.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_core_a-pagemode.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_core_a-poppler-core.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -590,7 +604,9 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_core_a-destname.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_core_a-pagemode.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_core_a-poppler-core.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -610,18 +626,18 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am .PRECIOUS: Makefile diff --git a/support/extractpdfmark/src/poppler-cpp/Makefile.in b/support/extractpdfmark/src/poppler-cpp/Makefile.in index dfac0a6555..a341beabfb 100644 --- a/support/extractpdfmark/src/poppler-cpp/Makefile.in +++ b/support/extractpdfmark/src/poppler-cpp/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -130,7 +130,11 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = \ + ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-destname-cpp.Po \ + ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-pagemode-cpp.Po \ + ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-poppler-cpp.Po am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -185,8 +189,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -201,8 +203,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -213,6 +216,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -336,8 +340,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -363,9 +367,15 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-destname-cpp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-pagemode-cpp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-poppler-cpp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-destname-cpp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-pagemode-cpp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-poppler-cpp.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -474,8 +484,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -544,7 +556,9 @@ clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-destname-cpp.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-pagemode-cpp.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-poppler-cpp.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -590,7 +604,9 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-destname-cpp.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-pagemode-cpp.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_cpp_a-poppler-cpp.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -610,18 +626,18 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am .PRECIOUS: Makefile diff --git a/support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc b/support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc index 60acdcc319..a790598e26 100644 --- a/support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc +++ b/support/extractpdfmark/src/poppler-cpp/poppler-cpp.cc @@ -20,6 +20,7 @@ #include "poppler-cpp.hh" #include <iostream> +#include <memory> #include <string> #include <poppler-document.h> #include <poppler-version.h> @@ -31,7 +32,8 @@ std::unique_ptr<output_pdfmark> create_output_pdfmark (void) bool poppler_cpp::open (const std::string &pdf_filename) { - doc = poppler::document::load_from_file (pdf_filename); + doc = std::unique_ptr<poppler::document> + {poppler::document::load_from_file (pdf_filename)}; if (!doc) { diff --git a/support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh b/support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh index 3f9e0f9f0a..b077478bd5 100644 --- a/support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh +++ b/support/extractpdfmark/src/poppler-cpp/poppler-cpp.hh @@ -18,6 +18,7 @@ #ifndef INCLUDE_GUARD_POPPLER_CPP_HH #define INCLUDE_GUARD_POPPLER_CPP_HH +#include <memory> #include <string> #include <poppler-destination.h> #include <poppler-document.h> @@ -36,7 +37,7 @@ private: std::string walk (const std::string &name, const poppler::destination &dest); - poppler::document *doc = nullptr; + std::unique_ptr<poppler::document> doc; }; #endif // INCLUDE_GUARD_POPPLER_CPP_HH diff --git a/support/extractpdfmark/src/poppler-glib/Makefile.in b/support/extractpdfmark/src/poppler-glib/Makefile.in index be62899ef0..ad5b28d04f 100644 --- a/support/extractpdfmark/src/poppler-glib/Makefile.in +++ b/support/extractpdfmark/src/poppler-glib/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -130,7 +130,11 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = \ + ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-destname-glib.Po \ + ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-pagemode-glib.Po \ + ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-poppler-glib.Po am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -185,8 +189,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -201,8 +203,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -213,6 +216,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -336,8 +340,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -363,9 +367,15 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_glib_a-destname-glib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_glib_a-pagemode-glib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_glib_a-poppler-glib.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_glib_a-destname-glib.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_glib_a-pagemode-glib.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libextractpdfmark_poppler_glib_a-poppler-glib.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -474,8 +484,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -544,7 +556,9 @@ clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-destname-glib.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-pagemode-glib.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-poppler-glib.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -590,7 +604,9 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-destname-glib.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-pagemode-glib.Po + -rm -f ./$(DEPDIR)/libextractpdfmark_poppler_glib_a-poppler-glib.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -610,18 +626,18 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am .PRECIOUS: Makefile diff --git a/support/extractpdfmark/test-driver b/support/extractpdfmark/test-driver index 0218a01f61..be73b80adf 100755 --- a/support/extractpdfmark/test-driver +++ b/support/extractpdfmark/test-driver @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2017 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -42,11 +42,13 @@ print_usage () { cat <<END Usage: - test-driver --test-name=NAME --log-file=PATH --trs-file=PATH - [--expect-failure={yes|no}] [--color-tests={yes|no}] - [--enable-hard-errors={yes|no}] [--] + test-driver --test-name NAME --log-file PATH --trs-file PATH + [--expect-failure {yes|no}] [--color-tests {yes|no}] + [--enable-hard-errors {yes|no}] [--] TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] + The '--test-name', '--log-file' and '--trs-file' options are mandatory. +See the GNU Automake documentation for information. END } @@ -103,8 +105,11 @@ trap "st=130; $do_exit" 2 trap "st=141; $do_exit" 13 trap "st=143; $do_exit" 15 -# Test script is run here. -"$@" >$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -126,7 +131,7 @@ esac # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name" @@ -140,7 +145,7 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/support/extractpdfmark/test/Makefile.in b/support/extractpdfmark/test/Makefile.in index 723907b98f..7644127c99 100644 --- a/support/extractpdfmark/test/Makefile.in +++ b/support/extractpdfmark/test/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2017 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -303,6 +303,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck am__EXEEXT_1 = binary-expected.pdfmark destonly-expected.pdfmark \ @@ -367,8 +368,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CXX = @CXX@ -CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -379,6 +381,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GHOSTSCRIPT = @GHOSTSCRIPT@ GREP = @GREP@ @@ -560,8 +563,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -686,7 +689,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -699,7 +702,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -748,8 +751,10 @@ recheck: all @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_PS_LOG_DRIVER_FLAGS) $(PS_LOG_DRIVER_FLAGS) -- $(PS_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am -distdir: $(DISTFILES) +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff --git a/support/extractpdfmark/test/binary.pdf b/support/extractpdfmark/test/binary.pdf Binary files differindex 902214f0a4..3d221ced8f 100644 --- a/support/extractpdfmark/test/binary.pdf +++ b/support/extractpdfmark/test/binary.pdf diff --git a/support/extractpdfmark/test/destonly.pdf b/support/extractpdfmark/test/destonly.pdf Binary files differindex 402d05d2bc..d8486d9034 100644 --- a/support/extractpdfmark/test/destonly.pdf +++ b/support/extractpdfmark/test/destonly.pdf diff --git a/support/extractpdfmark/test/desttype.pdf b/support/extractpdfmark/test/desttype.pdf Binary files differindex 43e1c040ff..29afff8156 100644 --- a/support/extractpdfmark/test/desttype.pdf +++ b/support/extractpdfmark/test/desttype.pdf diff --git a/support/extractpdfmark/test/namedict.pdf b/support/extractpdfmark/test/namedict.pdf Binary files differindex ebe3f9761e..c3aa831c2c 100644 --- a/support/extractpdfmark/test/namedict.pdf +++ b/support/extractpdfmark/test/namedict.pdf diff --git a/support/extractpdfmark/test/nodest.pdf b/support/extractpdfmark/test/nodest.pdf Binary files differindex 3e0225eea7..effb0d03ee 100644 --- a/support/extractpdfmark/test/nodest.pdf +++ b/support/extractpdfmark/test/nodest.pdf diff --git a/support/extractpdfmark/test/pagemode-fullscreen.pdf b/support/extractpdfmark/test/pagemode-fullscreen.pdf Binary files differindex c5b58050cc..8b14394f9a 100644 --- a/support/extractpdfmark/test/pagemode-fullscreen.pdf +++ b/support/extractpdfmark/test/pagemode-fullscreen.pdf diff --git a/support/extractpdfmark/test/pagemode-thumbs.pdf b/support/extractpdfmark/test/pagemode-thumbs.pdf Binary files differindex c9faa09193..55fa4b2307 100644 --- a/support/extractpdfmark/test/pagemode-thumbs.pdf +++ b/support/extractpdfmark/test/pagemode-thumbs.pdf diff --git a/support/extractpdfmark/test/pagemode-usenone.pdf b/support/extractpdfmark/test/pagemode-usenone.pdf Binary files differindex b3b5a065d8..3d0c3154a6 100644 --- a/support/extractpdfmark/test/pagemode-usenone.pdf +++ b/support/extractpdfmark/test/pagemode-usenone.pdf diff --git a/support/extractpdfmark/test/pdfdocencoding.pdf b/support/extractpdfmark/test/pdfdocencoding.pdf Binary files differindex bcb10b6b44..483962dcbe 100644 --- a/support/extractpdfmark/test/pdfdocencoding.pdf +++ b/support/extractpdfmark/test/pdfdocencoding.pdf diff --git a/support/extractpdfmark/test/special-chars.pdf b/support/extractpdfmark/test/special-chars.pdf Binary files differindex 425bf6dc4e..77b6cff2a5 100644 --- a/support/extractpdfmark/test/special-chars.pdf +++ b/support/extractpdfmark/test/special-chars.pdf diff --git a/support/extractpdfmark/test/test-expected-pdfmark.sh b/support/extractpdfmark/test/test-expected-pdfmark.sh index e1f4954207..46f69acd37 100755 --- a/support/extractpdfmark/test/test-expected-pdfmark.sh +++ b/support/extractpdfmark/test/test-expected-pdfmark.sh @@ -3,16 +3,11 @@ EXPECTEDPDFMARK=$1 BASENAME=`basename ${EXPECTEDPDFMARK} | sed -e "s/-expected\(-.\+\)\?\.pdfmark$//"` OPTSUFFIX=`echo ${EXPECTEDPDFMARK} | sed -e "s/^\(.*-expected\)\(-.\+\)\?\.pdfmark$/\2/"` +DIRNAME=`dirname ${EXPECTEDPDFMARK}` -PDF="${BASENAME}.pdf" +PDF="${DIRNAME}/${BASENAME}.pdf" EXTRACTEDPDFMARK="${BASENAME}-expected${OPTSUFFIX}-test.pdfmark" -if [ ! -e ${EXPECTEDPDFMARK} ]; then - EXPEXTEDPDFMARK="${srcdir}/${BASENAME}-expected${OPTSUFFIX}.pdfmark" -fi -if [ ! -e ${PDF} ]; then - PDF="${srcdir}/${BASENAME}.pdf" -fi if [ ! -s ${PDF} ]; then # skip exit 77 diff --git a/support/extractpdfmark/test/utf16.pdf b/support/extractpdfmark/test/utf16.pdf Binary files differindex bc24836790..f606d8279e 100644 --- a/support/extractpdfmark/test/utf16.pdf +++ b/support/extractpdfmark/test/utf16.pdf diff --git a/support/extractpdfmark/test/utf8.pdf b/support/extractpdfmark/test/utf8.pdf Binary files differindex ee44028dba..15eaed8871 100644 --- a/support/extractpdfmark/test/utf8.pdf +++ b/support/extractpdfmark/test/utf8.pdf diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index ca64aa6e11..0d3b66f31c 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -32,7 +32,6 @@ $mirrors = { }, 'Iran' => { 'https://ctan.asis.sh/' => 1, - 'https://ctan.um.ac.ir/' => 1, 'https://mirror.bardia.tech/ctan/' => 1, }, 'Japan' => { @@ -45,11 +44,15 @@ $mirrors = { 'https://cran.asia/tex/' => 1, 'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1, 'https://lab.uklee.pe.kr/tex-archive/' => 1, + 'https://mirror.kakao.com/CTAN/' => 1, 'https://mirror.navercorp.com/CTAN/' => 1, }, 'Philippines' => { 'http://mirror.rise.ph/ctan/' => 1, }, + 'Singapore' => { + 'https://download.nus.edu.sg/mirror/ctan/' => 1, + }, 'Taiwan' => { 'https://ftp.ntou.edu.tw/ctan/' => 1, }, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 97d69de4ce..fcf9fcfb8d 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,11 +26,11 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2022 -depend revision/64575 +depend revision/64588 name 00texlive.image category TLCore -revision 64522 +revision 64586 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 @@ -4643,7 +4643,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 64564 +revision 64577 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 @@ -30331,20 +30331,20 @@ catalogue-version 2.2a name babel-serbianc category Package -revision 62110 +revision 64588 shortdesc Babel module to support Serbian Cyrillic relocated 1 longdesc The package provides support for Serbian documents written in longdesc Cyrillic, in babel. -containersize 4332 -containerchecksum 40c67be9ea1503472ba110a8085feec7b1192c2a99c26d457ab29d9f6265ede1d69ebb628d38d0bef20ebc2dd852acac7dc88edb5761a2597b60b1bb85b128f9 -doccontainersize 293528 -doccontainerchecksum 94bbfdce4b72b7ca9f438e2d15bfd8f55275844f44be6c04dab43bbf198440cb3d5cd31f7b8b739e9cd16094004cd86aa64f9e882d6bdac34a9fad42a6c89693 +containersize 4336 +containerchecksum c4c4bf91fb22d0766bbab6a9980b0faa19f4031cabd044a309478f9ee700bc26247a10051f10d36c8cd88425820d2f800d3947d005fa9fb8b54429efdeb3c8c8 +doccontainersize 293708 +doccontainerchecksum a173daa03c9da413b4f200a0427e5293676ff3bc64dfd21d945977fc78fa9172ebcd73bad2c7ebd8976ee252cebe3c78d03ac9aa10b2be9984bc34b66ac5ac66 docfiles size=78 RELOC/doc/generic/babel-serbianc/README.md details="Readme" RELOC/doc/generic/babel-serbianc/serbianc.pdf details="Package documentation" -srccontainersize 9860 -srccontainerchecksum 35eb5d49e9d96d70476f197a63f064c3dbfc52f3f584f168920222efaab92c839ac272490621b0f953f5f0f5f5a7163c4fd43357d957f6973303a8e7ff93b27a +srccontainersize 9872 +srccontainerchecksum 13a4981f6ff19cc1664bb2da360479814723651379c445e3fd272167df761dd07c3cc5b19072fe99de8b08b2b41485d08aca6fc1c16325fbbf7ce1ff1fab77ee srcfiles size=10 RELOC/source/generic/babel-serbianc/serbianc.dtx RELOC/source/generic/babel-serbianc/serbianc.ins @@ -30353,7 +30353,7 @@ runfiles size=4 catalogue-ctan /macros/latex/contrib/babel-contrib/serbianc catalogue-license lppl1.3 catalogue-topics serbian multilingual-addon -catalogue-version 3.2 +catalogue-version 3.2a name babel-slovak category Package @@ -36328,7 +36328,7 @@ binfiles arch=x86_64-solaris size=2 name bibarts category Package -revision 61569 +revision 64579 shortdesc "Arts"-style bibliographical information relocated 1 longdesc BibArts is a LaTeX package to assist in making bibliographical @@ -36349,11 +36349,11 @@ longdesc creates the bibliography without using MakeIndex or BibTeX. Its longdesc source is not written with any specific operating system in longdesc mind. A summary of contents is in English; the full longdesc documentation is in German. -containersize 27280 -containerchecksum 21d7673174a53bfce1453fe8b9693d4635cbcd7cbaccc28fa49c6ab9b38197e629601019d9fb93ecbc80c4afe1f9d86678ce171fa55767840b39650ef10749aa -doccontainersize 1206428 -doccontainerchecksum 8bed474b083e4e033e168732c3b8b133904c8ed8078270776c479b2ad1e4989c97febefae2ff89b671d9daae74569beba9bd3ad96a18b372e705aa2d0614d3f1 -docfiles size=492 +containersize 28592 +containerchecksum df6f803918f6beaa20ddf581bb531c6f9cb488a77262dc075a00e2ab5e8aedc107697c17cdc4b0310702db3b565dcba4fea68fee9b9c0a2d6a9109ce3c8d2ef0 +doccontainersize 1236128 +doccontainerchecksum ec614687a713c8c1542fc8a28aba9bf837eda9c91d63e6236ad021d2eb13d052ab37d078263fc9f25ad3279b7e721cbf39de4cdc94db4c18dd06625e5fe10507 +docfiles size=510 RELOC/doc/latex/bibarts/COPYING RELOC/doc/latex/bibarts/README.txt details="Readme" RELOC/doc/latex/bibarts/ba-short.pdf details="Package short documentation" @@ -36361,16 +36361,16 @@ docfiles size=492 RELOC/doc/latex/bibarts/bibarts.pdf details="Package documentation" language="de" RELOC/doc/latex/bibarts/bibarts.tex RELOC/doc/latex/bibarts/bibsort.exe -srccontainersize 47504 -srccontainerchecksum 7c22719ddc2aaf521059d3863dd391b3506d9c54b4d621789ac0bbb7a90e579256f88aa07762174e4b7b3031de7b403b8dfde830d4d355c928708ed13dc4185a -srcfiles size=73 +srccontainersize 49268 +srccontainerchecksum b4d0e27e0bcbfcc140c6a28a5d0f7b9150ce0c8ae07d7a6e96d7669c3f91da5e41e8d52e53f9927a00cbc534694e45dd787ec6786627cba9d81fb841d0aa10d6 +srcfiles size=76 RELOC/source/latex/bibarts/bibsort.c -runfiles size=35 +runfiles size=37 RELOC/tex/latex/bibarts/bibarts.sty catalogue-ctan /macros/latex/contrib/bibarts catalogue-license gpl catalogue-topics bibtex-supp humanities -catalogue-version 2.4 +catalogue-version 2.5 name biber category Package @@ -92711,7 +92711,7 @@ catalogue-version 0.5 name dijkstra category Package -revision 55661 +revision 64580 shortdesc Dijkstra algorithm for LaTeX relocated 1 longdesc This small package uses the Dijkstra algorithm for weighted @@ -92719,11 +92719,11 @@ longdesc graphs,directed or not: the search table of the shortest path longdesc can be displayed, the minimum distance between two vertices and longdesc the corresponding path are stored in macros. This packages longdesc depends on simplekv. -containersize 4928 -containerchecksum c44121120afd9bc53e747ee3a5e11f6d72ab140f266ebecab5c57bff4fe8e10ac07e140df4b9a21482d61d3d40ed5cda3e7511e83d08214c832ce73bca00f199 -doccontainersize 374620 -doccontainerchecksum b258ff0230ac4b21a944602ae3382bda2ab79f162bd832a2b18e724101de4475218aaca09afbc23a7309c15a2897e02380743369ee681186ef577fb60745f493 -docfiles size=96 +containersize 5116 +containerchecksum 5662fff484dc88098c2bd22784aa95c4d990c5a725eedabaa1f542c53671783fc89ea1a4d6f7450483dcdb2cc8ce758a8a26c40d7ad27b93d7e3eef4d31d2ebc +doccontainersize 160036 +doccontainerchecksum 474f8fedec9daf17363773a200b81ba57f57175b1c52de5b7a7c8f7395996725284056ddf4a9e3e68baa1197dce84ed2767795956a403946f530492b6713b8d3 +docfiles size=43 RELOC/doc/latex/dijkstra/README details="Readme" RELOC/doc/latex/dijkstra/dijkstra-fr.pdf details="Package documentation" language="fr" RELOC/doc/latex/dijkstra/dijkstra-fr.tex @@ -92732,7 +92732,7 @@ runfiles size=5 catalogue-ctan /macros/latex/contrib/dijkstra catalogue-license lppl1.3c catalogue-topics maths automata -catalogue-version 0.12 +catalogue-version 0.13 name dimnum category Package @@ -142687,7 +142687,7 @@ catalogue-version 0.32 name hvfloat category Package -revision 64258 +revision 64581 shortdesc Controlling captions, fullpage and doublepage floats relocated 1 longdesc This package defines a macro to place objects (tables and @@ -142699,10 +142699,10 @@ longdesc \hvFloat{figure}{\includegraphics{rose}}{Caption}{fig:0}. longdesc Options are provided to place captions to the right or left, longdesc and rotated. Setting nonFloat=true results in placing the float longdesc here. -containersize 11896 -containerchecksum 4c6383ad35d1681619265fb496cf1c824f25a805465f127bd8758732572ce1f9b6f8a787d8663c0cbd0e5d257e616a4f3275c2208f6b029ebc6dfc3bf0652f57 -doccontainersize 10473656 -doccontainerchecksum 60b6734fbfc64b4dc4ec0a4cd8adfe498ec18b82a5a87edcb1ddf5d9d4f49d8b21a437024964e62b0681037b7aa8336a349578e63e775d5506ac4ccb88d27cf0 +containersize 11928 +containerchecksum 7c52e8538c69fc845fad477e85c2abe63a6b0ee49968f65429fed39b8376c44a59138d1c43eecdacb385ccc602452602452b22b48e0779e045b56ced69e1e8f5 +doccontainersize 10328200 +doccontainerchecksum 1fe3fe9a326ee493d0f249147511763763c8b5c7477e6cf320281dc6ba288803a8e18bd75119fa9360e6f57067b193c066b57d63c23fd2d0b120536e92347f6d docfiles size=4804 RELOC/doc/latex/hvfloat/CTAN.png RELOC/doc/latex/hvfloat/Changes @@ -142847,7 +142847,7 @@ catalogue-also rotating catalogue-ctan /macros/latex/contrib/hvfloat catalogue-license lppl catalogue-topics float box-manip -catalogue-version 2.41 +catalogue-version 2.42 name hvindex category Package @@ -161224,7 +161224,7 @@ catalogue-version 1.0 name kdpcover category Package -revision 63800 +revision 64582 shortdesc Covers for books published by Kindle Direct Publishing relocated 1 longdesc The problem this class solves is the necessity to change the @@ -161245,15 +161245,21 @@ depend tools depend xcolor depend xifthen depend xkeyval -containersize 23168 -containerchecksum f83517983e3a8f93f07d559f79a0b1c7f508182b524b1fe5a7dc4d276570bf006a0ce8f1b84999c70c65e2b9c1491abf1ed45740f454e42ac2dbabd72342ad5f -doccontainersize 101076 -doccontainerchecksum e9ca3d552b8cf787c584ab6b7b46d644882261a8824779515dfe6848f31aa6ea358c359b41f8c3825965b141157b281464a3dbe7a23bb3ce889eef34f22f05b6 -docfiles size=29 +containersize 23128 +containerchecksum f5b55407a2644891b196c4c46798f139bc5ba9d3ddd14929f0f0a8097de698f52b491c12b4c94b99122d9a5e38e3a83f5823da5494d89a6afb6f71b2cbc42433 +doccontainersize 303076 +doccontainerchecksum c15ca5bdeadd387609cdf5edfee1ee00b3c3d8557a3e7d065b954ddf9772d067819bbb3d66f236ac88d094a398b8b2a7e8d09430568fd1ea0cc2e306e288a87b +docfiles size=79 RELOC/doc/latex/kdpcover/DEPENDS.txt + RELOC/doc/latex/kdpcover/LICENSE.txt RELOC/doc/latex/kdpcover/README.md details="Readme" + RELOC/doc/latex/kdpcover/cactus.pdf RELOC/doc/latex/kdpcover/kdpcover.pdf details="Package documentation" - RELOC/doc/latex/kdpcover/kdpcover.tex +srccontainersize 4908 +srccontainerchecksum e11b5470e7e3dae4f5580876e3682aa523231928fc0ab266e708648db67028dbd3ff11f0a9bfaac4af79fec12fbca061ec1e076f2d1f793d4b530eee92a7bbfe +srcfiles size=5 + RELOC/source/latex/kdpcover/kdpcover.dtx + RELOC/source/latex/kdpcover/kdpcover.ins runfiles size=13 RELOC/tex/latex/kdpcover/kdpcover-signature.pdf RELOC/tex/latex/kdpcover/kdpcover-vol-1.pdf @@ -161266,7 +161272,7 @@ catalogue-contact-repository https://github.com/yegor256/kdpcover catalogue-ctan /macros/latex/contrib/kdpcover catalogue-license mit catalogue-topics covers class doc-templ std-conform -catalogue-version 0.3.0 +catalogue-version 0.4.0 name kerkis category Package @@ -193038,18 +193044,18 @@ catalogue-version 1.3 name luatexja category Package -revision 64092 +revision 64587 shortdesc Typeset Japanese with Lua(La)TeX relocated 1 longdesc The package offers support for typesetting Japanese documents longdesc with LuaTeX. Either of the Plain and LaTeX2e formats may be longdesc used with the package. depend luatexbase -containersize 191980 -containerchecksum 962f17f08154cc84803868497a1cb819db6bb99182617bb460ea59cb61d43c6d7287c5bacf0676cb3777e9a8245f259a37d223b53edab97bb8fa971ff6d90d26 -doccontainersize 3254072 -doccontainerchecksum 6728ba1a0f4842b6d16b0f4913ac5d2e82a212525bb2c5d6f74e6e8f82599029a0ed8173234288a867d8c2f264dd7ee7768bade2f6f40fda4e8d3ce9cfbd77cc -docfiles size=979 +containersize 191920 +containerchecksum 614cb3541ac15a8105daed91d89d023859716ad95d3e22aacb09c31e26fca49be8bae95296b956e718962e5cb307a784912922670d626894a6fa92052d169328 +doccontainersize 3261600 +doccontainerchecksum c6ded605b86f35a561e6ae6b85b591efe8397276df9aff959bd6d63b5b1afb0dad8e37cebdaadd009a14456a468987779d476671dc3c4748c2c776dcd389a407 +docfiles size=981 RELOC/doc/luatex/luatexja/COPYING RELOC/doc/luatex/luatexja/README details="Readme" RELOC/doc/luatex/luatexja/jfm-test.lua @@ -193066,9 +193072,9 @@ docfiles size=979 RELOC/doc/luatex/luatexja/luatexja-ruby.tex RELOC/doc/luatex/luatexja/luatexja.dtx RELOC/doc/luatex/luatexja/luatexja.ins -srccontainersize 83300 -srccontainerchecksum af22a6f630969134b042a0d967dd04baadba3d89da697caef383a73cc5acd2e4bad72d2766c13887ea064ff413ea794d4543c77016e399b403a91d7ba51b3ca7 -srcfiles size=118 +srccontainersize 83900 +srccontainerchecksum 36585ca1f2ee9fa61ed0c493107f464f9932ac6ecaec12d62d14323e812c555d9e7de260ce81a5873ef4d80d39c7bb4d3a0aa60cc832fc1365a81df8ac4885ed +srcfiles size=119 RELOC/source/luatex/luatexja/ltjclasses.dtx RELOC/source/luatex/luatexja/ltjclasses.ins RELOC/source/luatex/luatexja/ltjltxdoc.dtx @@ -193090,8 +193096,9 @@ srcfiles size=118 RELOC/source/luatex/luatexja/tool/otf-KozMinPr6N-Regular.txt RELOC/source/luatex/luatexja/tool/table_ivd_aj1.lua RELOC/source/luatex/luatexja/tool/table_jisx0208.tex + RELOC/source/luatex/luatexja/tool/test_exist_nodelib.tex RELOC/source/luatex/luatexja/tool/unicodeBlocks.tex -runfiles size=411 +runfiles size=412 RELOC/tex/luatex/luatexja/addons/luatexja-adjust.sty RELOC/tex/luatex/luatexja/addons/luatexja-ajmacros.sty RELOC/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty @@ -193191,7 +193198,7 @@ catalogue-contact-repository https://osdn.net/projects/luatex-ja/scm/git/luatexj catalogue-ctan /macros/luatex/generic/luatexja catalogue-license bsd catalogue-topics japanese luatex class macro-gen -catalogue-version 20220810.0 +catalogue-version 20221002.0 name luatexko category Package @@ -279645,16 +279652,16 @@ catalogue-topics invoice name simplekv category Package -revision 54915 +revision 64578 shortdesc A simple key/value system for TeX and LaTeX relocated 1 longdesc The package provides a simple key/value system for TeX and longdesc LaTeX. -containersize 2908 -containerchecksum e24f82c6cf65677bee7a55e43c731c26fc05bceb5add86fb79cfbf0d05d09aba34f6cb0c72074a012096875bccc4a51360eed584e3b812e88d772b22676504de -doccontainersize 332620 -doccontainerchecksum 8a92af8cecf0d3be86c5a2f1abc4b1ad675f920956a99cf3a99bed61eaa56655eff0f3a2cefc728252dc7c346fbb4fea17a49a4eb4f2e9722409784aeb92a364 -docfiles size=85 +containersize 2912 +containerchecksum 5b070b0408c002eca4bf530cc264f3d08885b5e7bfbe6531f7ce66312c01a23c78aff365c16d946786ccffa099094046edc5257f85ffb7cdbccc42137f2b8420 +doccontainersize 130940 +doccontainerchecksum 0dff9d5ec8625d9d99d9e249ac8fbfd05bf200c8c1312a57526b694919c855d528028635523e1e55757b633dce7d63727b42d35909cbbdd369bafe2c519c2b48 +docfiles size=36 RELOC/doc/generic/simplekv/README details="Readme" RELOC/doc/generic/simplekv/simplekv-fr.pdf details="Package documentation" language="fr" RELOC/doc/generic/simplekv/simplekv-fr.tex @@ -279666,7 +279673,7 @@ catalogue-contact-repository https://framagit.org/unbonpetit/simplekv/tree/maste catalogue-ctan /macros/generic/simplekv catalogue-license lppl1.3c catalogue-topics keyval -catalogue-version 0.2 +catalogue-version 0.2a name simplenodes category Package @@ -287294,7 +287301,7 @@ binfiles arch=x86_64-solaris size=1 name srdp-mathematik category Package -revision 64349 +revision 64583 shortdesc Typeset Austrian SRDP in mathematics relocated 1 longdesc This package provides basic commands for the defined formats of @@ -287303,21 +287310,21 @@ longdesc mathematics. Furthermore, it includes ways to implement answers longdesc in the tex file which can optionally be displayed in the pdf longdesc file, and it offers a way to vary the answers in order to longdesc create different groups (e. g. for tests) easily. -containersize 30248 -containerchecksum d08d7f8273c9a444cf21785b1fddfe59402ed2bde20cc60dfa51a1446cd830514cd908dc9dd47752c83118c88898fed378b7696132f9e2bf380a72ade66f05d7 -doccontainersize 150164 -doccontainerchecksum e25a6a7007f4cfd4d9b020baf91d1ba568118bae5a9d74a7f52cc0af9798de143d56c41b90f9f130f22617a226e6f381001a712668f505a39a0809c301959f05 +containersize 30400 +containerchecksum 3b015109c89a20d74c784c7cfdf77f2cdc2d2cfa1bd3f21dd765903386ee95966ee23ea2f27fb8b0392ca4f39577227841bc8dc0a0b0c606d64434f6f725843c +doccontainersize 150792 +doccontainerchecksum 544065241b47f02bcb11b0ad6f93b23511d7a6468ee3ede1b3dc88ee24a9b723d66211ae9e79817a005444b37e97c1d763a2ed76a17ed284b8c5b6c5dc3ab1cc docfiles size=57 RELOC/doc/latex/srdp-mathematik/README.md details="Readme" RELOC/doc/latex/srdp-mathematik/srdp-mathematik.pdf details="Package documentation" RELOC/doc/latex/srdp-mathematik/srdp-mathematik.tex -runfiles size=47 +runfiles size=48 RELOC/tex/latex/srdp-mathematik/srdp-mathematik.sty RELOC/tex/latex/srdp-mathematik/srdp-tables.sty catalogue-ctan /macros/latex/contrib/srdp-mathematik catalogue-license lppl1.3c catalogue-topics exam maths std-conform -catalogue-version 1.10.1 +catalogue-version 1.10.2 name sseq category Package @@ -307618,7 +307625,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 64564 +revision 64577 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. @@ -307626,10 +307633,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 113672 -containerchecksum e776d29c2e9878403ffd14856d501f5d2497dea27fdcf428c0eb99acdb7c61dccaf02114668afe13c035e43d7a6550d0a56cd54d93fd6bf96385ab15de7073a6 +containersize 113688 +containerchecksum d3d797020ea7bba63ad56d98e6f5d7936f93d9eb89e98b4fbb6c79da8504202dddab35ef9e6ddd08d7d85fd28e845915b4d5cd5e82ec9d2f8a34322b2bfb32bf doccontainersize 421616 -doccontainerchecksum 863eedd0ccf766d9dd06d718aae4cf1075f36a72ef6f542ef45f3f6f1c13286a28c856b20efc160c00da5c212119cf55e4370901edaec66e951a6276180d4f0e +doccontainerchecksum 6655d649997ee4505d4d3177f0379fd1e6e10f46f5fd19d90f195d435ffae8e902756772d299f173d86859157b00ca1f485a8dcfc9166e565bd38aa96a842b6a docfiles size=522 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 @@ -331562,7 +331569,7 @@ catalogue-topics font font-body font-sans font-proportional font-otf font-type1 name univie-ling category Package -revision 64318 +revision 64584 shortdesc Papers, theses and research proposals in (Applied) Linguistics at Vienna University relocated 1 longdesc This bundle provides LaTeX2e classes, BibLaTeX files, and @@ -331576,11 +331583,11 @@ longdesc context. The classes can also be used for General and longdesc Historical Linguistics as well as for other fields of study at longdesc Vienna University. In this case, however, some settings may longdesc have to be adjusted. -containersize 159748 -containerchecksum 5e54fcdb385632c235d60984be31657dffe0a670dd12ab16ac30ca63a65e818fa3de4fcc9f5055e41ca40d76b00a49fd5296add22aa2826a66e27bee686b5855 -doccontainersize 2823976 -doccontainerchecksum 63928a24ab4c5c379c7a04dbee0d25062c828af48c7e63bffc7c700973fdfe88434695f9630fb88237b473f7946d8ce500aa4d7b2a5343111a032f6ebed5fa75 -docfiles size=959 +containersize 160160 +containerchecksum 00e2dd1dccbf0ee28e915dc43c228884a58e24de11a4bf1bae711469560e65d284a3d8fee40ac2a152cfb8c0fecee4bfb7f31731e45450e1fa1f2c57e551aa0e +doccontainersize 3258272 +doccontainerchecksum c94b04cee4b4dd9e19b0d1a768aaea115f6f07a4be144b1cb46a5ac6c5687d06fbe1169312ab9bb58cacef32b3b59f2baa303200c48caf1bac5a01fe9ef0afc3 +docfiles size=1103 RELOC/doc/latex/univie-ling/README details="Readme" RELOC/doc/latex/univie-ling/templates/template-expose-deutsch.pdf RELOC/doc/latex/univie-ling/templates/template-expose-deutsch.tex @@ -331612,7 +331619,9 @@ docfiles size=959 RELOC/doc/latex/univie-ling/univie-ling-thesis.tex RELOC/doc/latex/univie-ling/univie-ling-wlg.pdf details="Package documentation (Wiener Linguistische Gazette)" RELOC/doc/latex/univie-ling/univie-ling-wlg.tex -runfiles size=81 + RELOC/doc/latex/univie-ling/univie-ling.pdf details="Package documentation (overview)" + RELOC/doc/latex/univie-ling/univie-ling.tex +runfiles size=80 RELOC/tex/latex/univie-ling/univie-ling-expose.cls RELOC/tex/latex/univie-ling/univie-ling-handout.cls RELOC/tex/latex/univie-ling/univie-ling-paper.cls @@ -331629,7 +331638,7 @@ catalogue-contact-repository https://github.com/jspitz/univie-ling catalogue-ctan /macros/latex/contrib/univie-ling catalogue-license lppl1.3 catalogue-topics linguistic class dissertation article-like misc-paper std-conform -catalogue-version 1.20 +catalogue-version 2.0 name unizgklasa category Package @@ -349949,7 +349958,7 @@ catalogue-version 0.3 name yb-book category Package -revision 64017 +revision 64586 shortdesc Template for YB Branded Books relocated 1 longdesc This template helps the author design books published on Amazon @@ -349957,6 +349966,7 @@ longdesc under the "Y.B." brand. You are welcome to use it too for your longdesc own books. depend anyfontsize depend biblatex +depend bigfoot depend changepage depend chngcntr depend csquotes @@ -349965,13 +349975,13 @@ depend fancyhdr depend float depend footmisc depend geometry -depend graphics +depend ifmtarg depend imakeidx -depend l3packages depend lastpage depend libertine depend mdframed depend microtype +depend needspace depend paralist depend pgf depend qrcode @@ -349981,28 +349991,33 @@ depend titlesec depend titlesec depend ulem depend wrapfig +depend wrapfig depend xcolor depend xifthen depend xkeyval -containersize 3948 -containerchecksum ff9602c208637d8c4e3158ba0c99e76298719bbf2e8d668ec6f802e805ab39a316bea0212460684d9bfdd1fed317b227c3db8bb34f3ec8f0e20a7257060afaa3 -doccontainersize 243276 -doccontainerchecksum 04351d6addfa08c5079f1566c07b2f846ccbf28ed33b326defbc5b6a0ea1e03bc2be5f3a3fffff9b27eaf4b236b224f2960e3c8b3a92e80b99f66ba16ced1cad -docfiles size=65 +depend zref +containersize 3788 +containerchecksum dea52e5aee243d84ad52bb5eb61957e05b500ea9caf36360fd587d0a38ebb602f2821e040e3acf41e8318c0ce491f3bdcb5a477ef65be7b41ec2fe12df680542 +doccontainersize 282532 +doccontainerchecksum ecb2ed5bf434f96aacd7422bc815cdc8b69c307475f8f71b8b8b5bc2aad916d1db1394eeaf3b7ddd54e3bf7dc059574c821f2d44f9247103153fb5ef3f40f02d +docfiles size=75 RELOC/doc/latex/yb-book/DEPENDS.txt + RELOC/doc/latex/yb-book/LICENSE.txt RELOC/doc/latex/yb-book/README.md details="Readme" - RELOC/doc/latex/yb-book/samples/sample.tex RELOC/doc/latex/yb-book/yb-book-logo.pdf RELOC/doc/latex/yb-book/yb-book.pdf details="Package documentation" - RELOC/doc/latex/yb-book/yb-book.tex +srccontainersize 6328 +srccontainerchecksum 20080fd53bc9c749632236d710972bac2db0ab0a7c3cd4a1b39fdc1226a2279332dca41856647b6132f033f381de798b8dc522ba3199e747ea15e5ca571d71c8 +srcfiles size=6 + RELOC/source/latex/yb-book/yb-book.dtx + RELOC/source/latex/yb-book/yb-book.ins runfiles size=3 RELOC/tex/latex/yb-book/yb-book.cls -catalogue-contact-bugs https://github.com/yegor256/yb-book/issues catalogue-contact-repository https://github.com/yegor256/yb-book catalogue-ctan /macros/latex/contrib/yb-book catalogue-license mit catalogue-topics class doc-templ book-pub -catalogue-version 0.1.0 +catalogue-version 0.2.0 name ycbook category Package diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 24a3e1df3d..9ea6f29f36 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -f1c63a4ce76df9913a998a50518ae870 texlive.tlpdb +62047e7953504f1361839e125172564c texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 52f6460ff8..7e3b637e50 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -adde11383cda6cc7bbf0268d892d55c93874449e97c92f0aea5d1bd5648e3bf3bb48b7e3632d7b5d597eb76cfdaa0abfbb5272d6d66855c3ec7c34bd8db057e0 texlive.tlpdb +47f7b5cd354d2d618cf87acc9e9dccc493c865b45a667ee3fa4e69bb132d9c19f86da0c97368b6b2916c0e177924c5deedd1f40dc60818e1540c7e21800e5224 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 6c08c6ef48..a4bf9cff59 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,10 +1,10 @@ -----BEGIN PGP SIGNATURE----- -iQEcBAEBCgAGBQJjONO2AAoJEEzhh34ZQ4xwRykH/iGOUAuQeHwot4iJFKHIMOee -0WyxDIQ5yxqq4rKGL+g5Ogr61oT3azN4lNOyMjTQ0ARQnQQqyVsi7ueDfuW2wUUo -e0yuIeLvJBcbFrlWfESlcmA2xtUc96iFZu11ei+sq8sfC9H1ISWBLSXJfTg+wGVJ -wZkTFW3OdFxuDC/h7TXl0xoY+P32R1mIFd+Wx9jKxhyaQzIjt+scmj8MFH2H6Mup -Bb0UaEEjqAvqiH2qPdu1ZPLlPfZYDSK1rpVWW8lAyEJOE2tjGioy88vbjXdwwxCl -6q4Na0HMKwUU/bCqHEi7ELNv0bsj3snpmyRQp+cspcpehiGnnokHKyxa8MaxVLs= -=n2bM +iQEcBAEBCgAGBQJjOiVTAAoJEEzhh34ZQ4xwllcH/0E+Almk1g6N3TnLmUAsMCYv +o+8jDK6k9JG3bzVFo6f9quXER4feSbZO7uGp8WAEPOsOeMyYHnqWKpxJPRNxUwB5 +tZxhs2Wod0O9+dMF65wHqLhJ4PkcbwA6uRV6okR6rzWCDwtyNR7J2ZqPDjoRP/8f +O7rpe5BlcBKURdcShV9MPmNsgvOcHifSs/fwSRqRvjsThXXUcueHroRFL5wBxeAx +m0lKe4Cmy6Y677SV09Ow2jMn+vzGCYbgQ77KBBMHj+BYg7qVxgU8rFos06LbfFZW +1x3xAt9K9COlhFXXvtq8rVA7jiqKD8FzC1rPNwt7FliG/ZzfXjQ13Ksf6Z/G+ng= +=jEhT -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex e32ebfbbe5..809afd64b2 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index f1f0f84cf5..ca169ffb67 100644 --- a/systems/win32/miktex/tm/packages/next/pr.ini +++ b/systems/win32/miktex/tm/packages/next/pr.ini @@ -1,13 +1,13 @@ [repository]
-date=1664655380
+date=1664741780
lastupd=miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-x64-2.9 miktex-cjkutils-bin-x64-2.9 miktex-console-bin-x64-2.9 miktex-curl-bin-x64-2.9 miktex-cweb-bin-x64-2.9 miktex-devnag-bin-x64-2.9 miktex-doc miktex-dvicopy-bin-x64-2.9 miktex-dvipdfmx-bin-x64-2.9 miktex-dvipng-bin-x64-2.9 miktex-dvips-bin-x64-2.9
-lstdigest=496ed488e81d92d6f05f7e0c2f55b7aa
+lstdigest=c3711dffe36039e97f7ddf75360e54ac
numpkg=6004
relstate=next
-version=8309
+version=8310
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: OIdxf1wJqtoovjGfFgD0LWP6w1A4kprK7a6s7yISp90DOWuQA+c4XGu6sJQrVRjuZwCRodLjiLhjorqfrtl9+2H17yuQNKsLJUcpYFst5kX9Cj/ByI6wJ3Ify+/sHsLdUPywRv27ProB3fuDBRoEMgigmaXApMNYizxxTB6LoUzWv/i+54ABOBNHs0jzFueb/0eyDqsoER4vj1A+15sbH5ziX3BZNFLyn3Pj591dHcPpwhNLbaO6q9KcsFUYI1Q1V5QVUt5b+xPofAPTkT/uAroh9jNf1e//JbUVpvssBbmnLbrDoJAwbMyyxJUEVY8JdidxL0J33/IQcf5f8AZbEQ==
+;;;; signature/miktex: r1Q4DU6Voq0xi0oK3+KnS9P47ruF8TLQ5/sx7tw5v/s1kdKQyWmUXYKip1i92n1+NyIey/KovMQ3Ba5rxcBvtatu1gHgNp85rxfgCnEo7Q4p/YFLbARxgodIW+tT6ql40Dm+rYeaDjmWwuXopIdc2GB84LyYrOAd4qURlJwAX1bzZUFvKxeE3joUMRbLehRXSlH2wO3NDZriBr0XEJLDZlygcbkBf5sddq+0px3gmSxfwOdmd5CJ4X3wL3LHlUjLDSsXsjLQg8pyGambmggCRzNpvx9jQYy733FAwzfvQIIyKNWun6vHrBGSlmrwd+8OnJlIVsh0aDfAxWxLwL/VyQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index 139b875623..6f23e91171 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -1,13 +1,13 @@ [repository]
-date=1664655083
+date=1664741481
lastupd=abspos abspos__doc abspos__source alegreya alegreya__doc animate animate__doc asmeconf asmeconf__doc asmeconf__source atkinson atkinson__doc babel babel__doc babel__source beamer beamer__doc beamertheme-tcolorbox beamertheme-tcolorbox__doc beamertheme-tcolorbox__source
-lstdigest=51221f951bad75a90dfa5bd03ccf1e72
+lstdigest=c0f27c46ca158cbf725dde3a4208019a
numpkg=6004
relstate=stable
-version=8309
+version=8310
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: wFKe6xZmGLbGUtIHe0XDst8Xra49YvZWRXbzzIQX3nsO0LMU5XI8+58NLBfhkPWP01EM8BeE3kV4UoSaYGsTqB7ZuCpJ6ei3fuNMWWziVtKl7fOdamPVujMI1bLKJesKxRt8g+snZSDMP0teoQGf9MltG6Z7HOYweGroY4IMmLvMj30rJ2OeBRRdkAcSWQ7/62dKVTJZFaAq0scJe0SYUDiAI9h1SoFc697XqUNpO7AbZmUu57r90EwPfKP33BJCS1JHjkQLUUzmU6PqTIemdZctShzACfZzJMCn8qJRPPMpD7e0ozHYWwvvK546dT0y8hpWCLzQaVb6xWJXwxFL/w==
+;;;; signature/miktex: GgpG4N8eS6nYtWyKZXRW8+hk2XoWvdJxQ4NiLoYP1+/fNVxTpo83YFVCjUEx1/Y0Lbl5c8PgwO5pZW4CsrAdssls0N9I9tzwqaK+RYQClsd87/zEianZQ+vKiPYba1QPUWFTW3QfYPn2uz3BT05KRHCbGidT9yaF1D0wjFob7mP5hkRAlLFH8U38yflPbFHHNkwBBCIztSon+zH86Z9ZzSq+YEhFgI4S6LuFNTAAy6P/PYSKvWGjryoWRyyQisb56Bu/Rjjb9THkEIesaOeB+cDsVy1CCMAJlUtg2V3bwyBw4BPoSWy5YbTiHHeEjH8A//9Vqlc8lvoCwxdMoPlGTw==
;;;;-----END MIKTEX SIGNATURE-----
@@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2022-10-02-02-02 +2022-10-03-02-02 |