From c7fc5283ac51bef06ce935c59e2c247fd5a4c1ba Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 24 Nov 2021 03:01:53 +0000 Subject: CTAN sync 202111240301 --- FILES.byname | 1008 +- FILES.byname.gz | Bin 2397978 -> 2398008 bytes FILES.last07days | 866 +- graphics/mcf2graph/CHANGELOG | 10 +- graphics/mcf2graph/README | 14 +- graphics/mcf2graph/mcf2graph.mf | 121 +- graphics/mcf2graph/mcf_data_base.mcf | 60 +- graphics/mcf2graph/mcf_exa_soc.mf | 22 +- graphics/mcf2graph/mcf_example.pdf | Bin 312868 -> 318151 bytes graphics/mcf2graph/mcf_example.tex | 10 +- graphics/mcf2graph/mcf_man_soc.mf | 30 +- graphics/mcf2graph/mcf_manual.pdf | Bin 382758 -> 383617 bytes graphics/mcf2graph/mcf_manual.tex | 60 +- graphics/mcf2graph/mcf_mplib_exa.pdf | Bin 184025 -> 184407 bytes graphics/mcf2graph/mcf_mplib_exa.tex | 4 +- graphics/pgf/contrib/xistercian/README.md | 2 +- graphics/pgf/contrib/xistercian/xistercian.dtx | 107 +- graphics/pgf/contrib/xistercian/xistercian.pdf | Bin 316107 -> 315178 bytes .../context/contrib/context-transliterator/VERSION | 2 +- .../doc/context/third/transliterator/COPYING | 22 - .../third/transliterator/transliterator.pdf | Bin 175902 -> 182256 bytes .../third/transliterator/transliterator.tex | 3 +- .../third/transliterator/mtx-t-transliterate.lua | 64 + .../third/transliterator/t-transliterator.ctl | 5 - .../third/transliterator/t-transliterator.log | 118 - .../third/transliterator/t-transliterator.mkiv | 4 +- .../transliterator/t-transliterator.mkiv.prep | 180 - .../third/transliterator/t-transliterator.pdf | Bin 38304 -> 0 bytes .../third/transliterator/t-transliterator.run | 3 - .../third/transliterator/t-transliterator.tuc | 6752 ------ .../third/transliterator/trans_tables_sr.lua | 5 +- .../third/transliterator/transliterator.ctl | 5 - .../third/transliterator/transliterator.log | 589 - .../third/transliterator/transliterator.lua | 2 +- .../third/transliterator/transliterator.run | 3 - .../third/transliterator/transliterator.tuc | 6707 ------ macros/latex/contrib/easybook/easybook.dtx | 16 +- macros/latex/contrib/easybook/easybook.pdf | Bin 579975 -> 582542 bytes macros/latex/contrib/easybook/easybook.tex | 17 +- macros/latex/contrib/glossaries-extra/CHANGES | 66 + macros/latex/contrib/glossaries-extra/README | 2 +- .../glossaries-extra/glossaries-extra-code.pdf | Bin 1397520 -> 1523017 bytes .../glossaries-extra/glossaries-extra-manual.html | 23648 +++++++++++-------- .../glossaries-extra/glossaries-extra-manual.pdf | Bin 825115 -> 937636 bytes .../glossaries-extra/glossaries-extra-manual.tex | 3010 ++- .../contrib/glossaries-extra/glossaries-extra.dtx | 4446 +++- .../contrib/glossaries-extra/glossaries-extra.ins | 2 +- .../samples/sample-abbr-styles.pdf | Bin 556783 -> 556783 bytes .../glossaries-extra/samples/sample-abbrv.pdf | Bin 47261 -> 47261 bytes .../glossaries-extra/samples/sample-accsupp.pdf | Bin 83775 -> 83775 bytes .../samples/sample-acronym-desc.pdf | Bin 53665 -> 53665 bytes .../glossaries-extra/samples/sample-acronym.pdf | Bin 39238 -> 39238 bytes .../glossaries-extra/samples/sample-alias.pdf | Bin 46956 -> 46956 bytes .../samples/sample-altmodifier.pdf | Bin 37805 -> 37805 bytes .../samples/sample-alttree-marginpar.pdf | Bin 94452 -> 94528 bytes .../samples/sample-alttree-sym.pdf | Bin 74451 -> 74480 bytes .../glossaries-extra/samples/sample-alttree.pdf | Bin 58134 -> 58134 bytes .../samples/sample-autoindex-hyp.pdf | Bin 149292 -> 146844 bytes .../glossaries-extra/samples/sample-autoindex.pdf | Bin 171547 -> 171404 bytes .../glossaries-extra/samples/sample-crossref.pdf | Bin 44626 -> 44626 bytes .../glossaries-extra/samples/sample-crossref2.pdf | Bin 44932 -> 44932 bytes .../glossaries-extra/samples/sample-docdef.pdf | Bin 48575 -> 48575 bytes .../glossaries-extra/samples/sample-entrycount.pdf | Bin 58659 -> 58659 bytes .../glossaries-extra/samples/sample-external.pdf | Bin 36681 -> 36681 bytes .../glossaries-extra/samples/sample-fmt.pdf | Bin 81516 -> 81379 bytes .../glossaries-extra/samples/sample-footnote.pdf | Bin 68233 -> 68233 bytes .../glossaries-extra/samples/sample-header.pdf | Bin 135372 -> 135372 bytes .../glossaries-extra/samples/sample-indexhook.pdf | Bin 46037 -> 46037 bytes .../samples/sample-initialisms.pdf | Bin 87240 -> 87240 bytes .../glossaries-extra/samples/sample-linkcount.pdf | Bin 40764 -> 40764 bytes .../samples/sample-mixed-abbrv-styles.pdf | Bin 62787 -> 62787 bytes .../glossaries-extra/samples/sample-mixedsort.pdf | Bin 48415 -> 48415 bytes .../glossaries-extra/samples/sample-mixture.pdf | Bin 169119 -> 168974 bytes .../glossaries-extra/samples/sample-multientry.pdf | Bin 0 -> 58332 bytes .../glossaries-extra/samples/sample-multientry.tex | 95 + .../glossaries-extra/samples/sample-name-font.pdf | Bin 214720 -> 214722 bytes .../glossaries-extra/samples/sample-nested.pdf | Bin 72457 -> 72395 bytes .../samples/sample-noidx-restricteddocdefs.pdf | Bin 50828 -> 50828 bytes .../glossaries-extra/samples/sample-onelink.pdf | Bin 47017 -> 25864 bytes .../samples/sample-onthefly-utf8.pdf | Bin 111694 -> 111694 bytes .../samples/sample-onthefly-xetex.pdf | Bin 19671 -> 19669 bytes .../glossaries-extra/samples/sample-onthefly.pdf | Bin 46363 -> 46363 bytes .../glossaries-extra/samples/sample-pages.pdf | Bin 41286 -> 41286 bytes .../glossaries-extra/samples/sample-postdot.pdf | Bin 39556 -> 39556 bytes .../glossaries-extra/samples/sample-postlink.pdf | Bin 73848 -> 73848 bytes .../glossaries-extra/samples/sample-prefix.pdf | Bin 35603 -> 35603 bytes .../samples/sample-record-nameref.pdf | Bin 76220 -> 76219 bytes .../glossaries-extra/samples/sample-record.pdf | Bin 53514 -> 53514 bytes .../samples/sample-restricteddocdefs.pdf | Bin 51137 -> 51137 bytes .../glossaries-extra/samples/sample-suppl-hyp.pdf | Bin 37481 -> 37481 bytes .../samples/sample-suppl-main-hyp.pdf | Bin 49663 -> 49663 bytes .../glossaries-extra/samples/sample-suppl-main.pdf | Bin 34098 -> 34098 bytes .../glossaries-extra/samples/sample-suppl.pdf | Bin 14247 -> 14247 bytes .../glossaries-extra/samples/sample-trans.pdf | Bin 53229 -> 53229 bytes .../glossaries-extra/samples/sample-undef.pdf | Bin 35728 -> 35728 bytes .../samples/sample-unitentrycount.pdf | Bin 65125 -> 64556 bytes .../contrib/glossaries-extra/samples/sample.pdf | Bin 48266 -> 48266 bytes macros/latex/contrib/nicematrix/README.md | 2 +- .../latex/contrib/nicematrix/nicematrix-french.pdf | Bin 487802 -> 490739 bytes .../latex/contrib/nicematrix/nicematrix-french.tex | 182 +- macros/latex/contrib/nicematrix/nicematrix.dtx | 690 +- macros/latex/contrib/nicematrix/nicematrix.pdf | Bin 1419125 -> 1434511 bytes macros/latex/contrib/numspell/README | 7 +- macros/latex/contrib/numspell/numspell-english.sty | 2 +- macros/latex/contrib/numspell/numspell-french.sty | 2 +- macros/latex/contrib/numspell/numspell-german.sty | 2 +- macros/latex/contrib/numspell/numspell-italian.sty | 2 +- macros/latex/contrib/numspell/numspell-latin.sty | 878 + macros/latex/contrib/numspell/numspell-magyar.sty | 2 +- macros/latex/contrib/numspell/numspell.pdf | Bin 223145 -> 270892 bytes macros/latex/contrib/numspell/numspell.sty | 14 +- macros/latex/contrib/numspell/numspell.tex | 67 +- macros/luatex/generic/luamplib/NEWS | 3 + macros/luatex/generic/luamplib/luamplib.dtx | 20 +- macros/luatex/generic/luamplib/luamplib.pdf | Bin 151188 -> 151338 bytes support/bib2gls/CHANGES | 20 + support/bib2gls/bib2gls-begin.pdf | Bin 726640 -> 726657 bytes support/bib2gls/bib2gls-en.xml | 315 +- support/bib2gls/bib2gls.1 | 7 +- support/bib2gls/bib2gls.pdf | Bin 4926320 -> 4985737 bytes support/bib2gls/examples/sample-authors.pdf | Bin 51554 -> 51554 bytes support/bib2gls/examples/sample-bacteria.pdf | Bin 54223 -> 54223 bytes support/bib2gls/examples/sample-chemical.pdf | Bin 54005 -> 54005 bytes support/bib2gls/examples/sample-citations.pdf | Bin 49744 -> 49744 bytes support/bib2gls/examples/sample-constants.pdf | Bin 97787 -> 97787 bytes support/bib2gls/examples/sample-hierarchical.pdf | Bin 52507 -> 52507 bytes .../bib2gls/examples/sample-markuplanguages.pdf | Bin 61070 -> 61070 bytes support/bib2gls/examples/sample-maths.pdf | Bin 121232 -> 121290 bytes support/bib2gls/examples/sample-media.pdf | Bin 166498 -> 166498 bytes support/bib2gls/examples/sample-msymbols.pdf | Bin 109213 -> 109213 bytes support/bib2gls/examples/sample-multi1.pdf | Bin 255317 -> 255317 bytes support/bib2gls/examples/sample-multi2.pdf | Bin 330725 -> 330725 bytes support/bib2gls/examples/sample-nested.pdf | Bin 52519 -> 52519 bytes support/bib2gls/examples/sample-people.pdf | Bin 50318 -> 50318 bytes support/bib2gls/examples/sample-textsymbols.pdf | Bin 73043 -> 73043 bytes support/bib2gls/examples/sample-textsymbols2.pdf | Bin 70258 -> 70258 bytes support/bib2gls/examples/sample-units1.pdf | Bin 57346 -> 57346 bytes support/bib2gls/examples/sample-units2.pdf | Bin 59077 -> 59077 bytes support/bib2gls/examples/sample-units3.pdf | Bin 44644 -> 44644 bytes support/bib2gls/examples/sample-usergroups.pdf | Bin 23850 -> 23851 bytes support/bib2gls/src/bib2gls-terms.bib | 36 +- support/bib2gls/src/bib2gls.bib | 204 + support/bib2gls/src/bib2gls.pod | 5 + support/bib2gls/src/bib2gls.tex | 1748 +- .../texlive/tlnet/tlpkg/installer/ctan-mirrors.pl | 5 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb | 64 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 | 2 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 | 2 +- .../texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc | 14 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz | Bin 2323388 -> 2324304 bytes systems/win32/miktex/tm/packages/files.csv.lzma | Bin 627451 -> 629162 bytes .../win32/miktex/tm/packages/next/files.csv.lzma | Bin 627596 -> 628985 bytes systems/win32/miktex/tm/packages/next/pr.ini | 10 +- systems/win32/miktex/tm/packages/pr.ini | 12 +- timestamp | 2 +- 155 files changed, 25843 insertions(+), 26556 deletions(-) delete mode 100644 macros/context/contrib/context-transliterator/doc/context/third/transliterator/COPYING create mode 100644 macros/context/contrib/context-transliterator/scripts/context/lua/third/transliterator/mtx-t-transliterate.lua delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.ctl delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.log delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv.prep delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.pdf delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.run delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tuc delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.ctl delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.log delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.run delete mode 100644 macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.tuc create mode 100644 macros/latex/contrib/glossaries-extra/samples/sample-multientry.pdf create mode 100644 macros/latex/contrib/glossaries-extra/samples/sample-multientry.tex create mode 100644 macros/latex/contrib/numspell/numspell-latin.sty diff --git a/FILES.byname b/FILES.byname index 1468f3f4c8..71928e9ae2 100644 --- a/FILES.byname +++ b/FILES.byname @@ -5105,7 +5105,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2021/11/22 | 78016 | FILES.last07days +2021/11/23 | 81067 | 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 @@ -149601,20 +149601,20 @@ 2011/05/31 | 231925 | graphics/mathspic/perl/sourcecode113.html 2011/05/31 | 183530 | graphics/mathspic/perl/sourcecode113.nw 2011/05/31 | 2864043 | graphics/mathspic/perl/sourcecode113.pdf -2021/10/10 | 15891 | graphics/mcf2graph/CHANGELOG -2021/10/10 | 116868 | graphics/mcf2graph/mcf2graph.mf -2021/10/10 | 97979 | graphics/mcf2graph/mcf_data_base.mcf -2021/10/10 | 312868 | graphics/mcf2graph/mcf_example.pdf -2021/10/02 | 2324 | graphics/mcf2graph/mcf_example.tex -2021/10/10 | 2117 | graphics/mcf2graph/mcf_exa_soc.mf -2021/10/10 | 44742 | graphics/mcf2graph/mcf_man_soc.mf -2021/10/10 | 382758 | graphics/mcf2graph/mcf_manual.pdf -2021/10/10 | 63149 | graphics/mcf2graph/mcf_manual.tex -2021/10/10 | 184025 | graphics/mcf2graph/mcf_mplib_exa.pdf -2021/10/10 | 16122 | graphics/mcf2graph/mcf_mplib_exa.tex +2021/11/21 | 16087 | graphics/mcf2graph/CHANGELOG +2021/11/23 | 118599 | graphics/mcf2graph/mcf2graph.mf +2021/11/23 | 98595 | graphics/mcf2graph/mcf_data_base.mcf +2021/11/23 | 318151 | graphics/mcf2graph/mcf_example.pdf +2021/11/20 | 2417 | graphics/mcf2graph/mcf_example.tex +2021/11/23 | 2252 | graphics/mcf2graph/mcf_exa_soc.mf +2021/11/23 | 44718 | graphics/mcf2graph/mcf_man_soc.mf +2021/11/23 | 383617 | graphics/mcf2graph/mcf_manual.pdf +2021/11/22 | 62496 | graphics/mcf2graph/mcf_manual.tex +2021/11/23 | 184407 | graphics/mcf2graph/mcf_mplib_exa.pdf +2021/11/13 | 16122 | graphics/mcf2graph/mcf_mplib_exa.tex 2021/09/20 | 3963 | graphics/mcf2graph/mcf_setup.sty -2021/10/10 | 4579 | graphics/mcf2graph/README -2021/10/11 | 949329 | graphics/mcf2graph.zip +2021/11/21 | 4462 | graphics/mcf2graph/README +2021/11/23 | 956431 | graphics/mcf2graph.zip 2004/07/13 | 8567 | graphics/metaplot/axes.mp 2004/06/28 | 1122 | graphics/metaplot/examples/cap1.cc 2004/06/28 | 2178 | graphics/metaplot/examples/cap1.mp @@ -156160,10 +156160,10 @@ 2016/09/12 | 139796 | graphics/pgf/contrib/xebaposter/xebaposter-doc.pdf 2016/09/12 | 27760 | graphics/pgf/contrib/xebaposter/xebaposter-doc.tex 2016/09/12 | 422607 | graphics/pgf/contrib/xebaposter.zip -2021/07/18 | 1284 | graphics/pgf/contrib/xistercian/README.md -2021/07/18 | 53799 | graphics/pgf/contrib/xistercian/xistercian.dtx -2021/07/18 | 316107 | graphics/pgf/contrib/xistercian/xistercian.pdf -2021/07/18 | 318245 | graphics/pgf/contrib/xistercian.zip +2021/11/23 | 1284 | graphics/pgf/contrib/xistercian/README.md +2021/11/23 | 53380 | graphics/pgf/contrib/xistercian/xistercian.dtx +2021/11/23 | 315178 | graphics/pgf/contrib/xistercian/xistercian.pdf +2021/11/23 | 317130 | graphics/pgf/contrib/xistercian.zip 2020/06/11 | 242 | graphics/pgf/contrib/yquant/doc/qasm/test10.qasm 2020/06/11 | 271 | graphics/pgf/contrib/yquant/doc/qasm/test11.qasm 2020/06/11 | 275 | graphics/pgf/contrib/yquant/doc/qasm/test12.qasm @@ -183187,7 +183187,7 @@ 2015/11/20 | 143477 | install/macros/latex/contrib/gitinfo2.tds.zip 2014/05/14 | 87502 | install/macros/latex/contrib/gitinfo.tds.zip 2015/11/22 | 103521 | install/macros/latex/contrib/gitlog.tds.zip -2021/11/04 | 6304129 | install/macros/latex/contrib/glossaries-extra.tds.zip +2021/11/22 | 6633199 | install/macros/latex/contrib/glossaries-extra.tds.zip 2021/11/01 | 7789295 | install/macros/latex/contrib/glossaries.tds.zip 2011/02/02 | 1169660 | install/macros/latex/contrib/gmdoc.tds.zip 2009/10/11 | 47818 | install/macros/latex/contrib/gmiflink.tds.zip @@ -183404,7 +183404,7 @@ 2016/09/02 | 108688 | install/macros/luatex/generic/cstypo.tds.zip 2015/10/01 | 154538 | install/macros/luatex/generic/ctablestack.tds.zip 2021/05/21 | 273734 | install/macros/luatex/generic/lualibs.tds.zip -2021/09/16 | 198183 | install/macros/luatex/generic/luamplib.tds.zip +2021/11/23 | 198427 | install/macros/luatex/generic/luamplib.tds.zip 2021/05/21 | 1936005 | install/macros/luatex/generic/luaotfload.tds.zip 2015/10/04 | 277014 | install/macros/luatex/generic/luatexbase.tds.zip 2021/11/08 | 300865 | install/macros/luatex/generic/lua-widow-control.tds.zip @@ -196271,33 +196271,23 @@ 2017/08/27 | 3343 | macros/context/contrib/context-title/tex/context/third/title/t-title.mkvi 2018/03/05 | 11 | macros/context/contrib/context-title/VERSION 2018/03/22 | 26754 | macros/context/contrib/context-title.zip -2013/03/27 | 1298 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/COPYING -2013/03/27 | 175902 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf -2013/03/27 | 38521 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex -2013/03/27 | 2132 | macros/context/contrib/context-transliterator/tex/context/interface/third/t-transliterator.xml -2013/03/27 | 141 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.ctl -2013/03/27 | 35238 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.log -2013/03/27 | 11449 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua -2013/03/27 | 59 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.run -2013/03/27 | 108504 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.tuc -2013/03/27 | 3175 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_bg.lua -2013/03/27 | 6405 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_glag.lua -2013/03/27 | 16907 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_gr.lua -2013/03/27 | 11514 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_iso9.lua -2013/03/27 | 8453 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_scntfc.lua -2013/03/27 | 7760 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua -2013/03/27 | 26763 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_trsc.lua -2013/03/27 | 145 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.ctl -2013/03/27 | 7117 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.log -2013/03/27 | 73 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkii -2013/03/27 | 6525 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv -2013/03/27 | 5590 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv.prep -2013/03/27 | 38304 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.pdf -2013/03/27 | 63 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.run -2013/03/27 | 32 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tex -2013/03/27 | 109054 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tuc -2018/03/05 | 9 | macros/context/contrib/context-transliterator/VERSION -2018/03/22 | 282358 | macros/context/contrib/context-transliterator.zip +2021/11/21 | 182256 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf +2021/11/21 | 38543 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex +2021/11/21 | 2037 | macros/context/contrib/context-transliterator/scripts/context/lua/third/transliterator/mtx-t-transliterate.lua +2021/11/21 | 2132 | macros/context/contrib/context-transliterator/tex/context/interface/third/t-transliterator.xml +2021/11/21 | 11469 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua +2021/11/21 | 3175 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_bg.lua +2021/11/21 | 6405 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_glag.lua +2021/11/21 | 16907 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_gr.lua +2021/11/21 | 11514 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_iso9.lua +2021/11/21 | 8453 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_scntfc.lua +2021/11/21 | 7906 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua +2021/11/21 | 26763 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_trsc.lua +2021/11/21 | 73 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkii +2021/11/21 | 6523 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv +2021/11/21 | 32 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tex +2021/11/22 | 7 | macros/context/contrib/context-transliterator/VERSION +2021/11/23 | 223013 | macros/context/contrib/context-transliterator.zip 2008/04/05 | 4125 | macros/context/contrib/context-typearea/doc/context/third/typearea/typearea-demo.pdf 2008/04/05 | 75801 | macros/context/contrib/context-typearea/doc/context/third/typearea/typearea-doc.pdf 2008/04/05 | 3005 | macros/context/contrib/context-typearea/tex/context/third/typearea/t-typearea.tex @@ -207682,12 +207672,12 @@ 2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt 2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README 2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip -2021/11/22 | 80874 | macros/latex/contrib/easybook/easybook.dtx +2021/11/23 | 80878 | macros/latex/contrib/easybook/easybook.dtx 2021/11/17 | 2075 | macros/latex/contrib/easybook/easybook.ins -2021/11/22 | 579975 | macros/latex/contrib/easybook/easybook.pdf -2021/11/22 | 81195 | macros/latex/contrib/easybook/easybook.tex +2021/11/23 | 582542 | macros/latex/contrib/easybook/easybook.pdf +2021/11/23 | 81439 | macros/latex/contrib/easybook/easybook.tex 2021/11/17 | 795 | macros/latex/contrib/easybook/README.md -2021/11/22 | 621380 | macros/latex/contrib/easybook.zip +2021/11/23 | 623958 | macros/latex/contrib/easybook.zip 2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf 2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf 2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf @@ -211137,111 +211127,113 @@ 2019/02/01 | 21053 | macros/latex/contrib/glossaries-estonian/glossaries-estonian.pdf 2019/02/03 | 514 | macros/latex/contrib/glossaries-estonian/README 2019/02/03 | 23817 | macros/latex/contrib/glossaries-estonian.zip -2021/11/04 | 36330 | macros/latex/contrib/glossaries-extra/CHANGES -2021/11/04 | 1397520 | macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf -2021/11/04 | 1121167 | macros/latex/contrib/glossaries-extra/glossaries-extra.dtx -2021/11/04 | 4536 | macros/latex/contrib/glossaries-extra/glossaries-extra.ins -2021/11/04 | 1488181 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html -2021/11/04 | 825115 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf -2021/11/04 | 509223 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex -2021/11/04 | 995 | macros/latex/contrib/glossaries-extra/README -2021/11/04 | 556783 | macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf -2021/11/04 | 15747 | macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.tex -2021/11/04 | 47261 | macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf -2021/11/04 | 782 | macros/latex/contrib/glossaries-extra/samples/sample-abbrv.tex -2021/11/04 | 83775 | macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf -2021/11/04 | 3761 | macros/latex/contrib/glossaries-extra/samples/sample-accsupp.tex -2021/11/04 | 53665 | macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf -2021/11/04 | 1269 | macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.tex -2021/11/04 | 39238 | macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf -2021/11/04 | 759 | macros/latex/contrib/glossaries-extra/samples/sample-acronym.tex -2021/11/04 | 46956 | macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf -2021/11/04 | 853 | macros/latex/contrib/glossaries-extra/samples/sample-alias.tex -2021/11/04 | 37805 | macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf -2021/11/04 | 663 | macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.tex -2021/11/04 | 94452 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf -2021/11/04 | 2202 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.tex -2021/11/04 | 58134 | macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf -2021/11/04 | 74451 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf -2021/11/04 | 1375 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.tex -2021/11/04 | 485 | macros/latex/contrib/glossaries-extra/samples/sample-alttree.tex -2021/11/04 | 149292 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf -2021/11/04 | 3415 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.tex -2021/11/04 | 171547 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf -2021/11/04 | 3373 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex.tex -2021/11/04 | 44932 | macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf -2021/11/04 | 781 | macros/latex/contrib/glossaries-extra/samples/sample-crossref2.tex -2021/11/04 | 44626 | macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf -2021/11/04 | 473 | macros/latex/contrib/glossaries-extra/samples/sample-crossref.tex -2021/11/04 | 48575 | macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf -2021/11/04 | 690 | macros/latex/contrib/glossaries-extra/samples/sample-docdef.tex -2021/11/04 | 58659 | macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf -2021/11/04 | 1191 | macros/latex/contrib/glossaries-extra/samples/sample-entrycount.tex -2021/11/04 | 36681 | macros/latex/contrib/glossaries-extra/samples/sample-external.pdf -2021/11/04 | 810 | macros/latex/contrib/glossaries-extra/samples/sample-external.tex -2021/11/04 | 81516 | macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf -2021/11/04 | 1238 | macros/latex/contrib/glossaries-extra/samples/sample-fmt.tex -2021/11/04 | 68233 | macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf -2021/11/04 | 724 | macros/latex/contrib/glossaries-extra/samples/sample-footnote.tex -2021/11/04 | 135372 | macros/latex/contrib/glossaries-extra/samples/sample-header.pdf -2021/11/04 | 1965 | macros/latex/contrib/glossaries-extra/samples/sample-header.tex -2021/11/04 | 46037 | macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf -2021/11/04 | 1024 | macros/latex/contrib/glossaries-extra/samples/sample-indexhook.tex -2021/11/04 | 87240 | macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf -2021/11/04 | 1804 | macros/latex/contrib/glossaries-extra/samples/sample-initialisms.tex -2021/11/04 | 40764 | macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf -2021/11/04 | 1048 | macros/latex/contrib/glossaries-extra/samples/sample-linkcount.tex -2021/11/04 | 62787 | macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf -2021/11/04 | 489 | macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.tex -2021/11/04 | 48415 | macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf -2021/11/04 | 966 | macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.tex -2021/11/04 | 169119 | macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf -2021/11/04 | 11935 | macros/latex/contrib/glossaries-extra/samples/sample-mixture.tex -2021/11/04 | 214720 | macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf -2021/11/04 | 11591 | macros/latex/contrib/glossaries-extra/samples/sample-name-font.tex -2021/11/04 | 72457 | macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf -2021/11/04 | 1101 | macros/latex/contrib/glossaries-extra/samples/sample-nested.tex -2021/11/04 | 50828 | macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf -2021/11/04 | 783 | macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.tex -2021/11/04 | 47017 | macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf -2021/11/04 | 1065 | macros/latex/contrib/glossaries-extra/samples/sample-onelink.tex -2021/11/04 | 46363 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf -2021/11/04 | 1306 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly.tex -2021/11/04 | 111694 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf -2021/11/04 | 1645 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.tex -2021/11/04 | 19671 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf -2021/11/04 | 1418 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.tex -2021/11/04 | 41286 | macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf -2021/11/04 | 769 | macros/latex/contrib/glossaries-extra/samples/sample-pages.tex -2021/11/04 | 48266 | macros/latex/contrib/glossaries-extra/samples/sample.pdf -2021/11/04 | 39556 | macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf -2021/11/04 | 1479 | macros/latex/contrib/glossaries-extra/samples/sample-postdot.tex -2021/11/04 | 73848 | macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf -2021/11/04 | 1775 | macros/latex/contrib/glossaries-extra/samples/sample-postlink.tex -2021/11/04 | 35603 | macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf -2021/11/04 | 399 | macros/latex/contrib/glossaries-extra/samples/sample-prefix.tex -2021/11/04 | 76220 | macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf -2021/11/04 | 1736 | macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.tex -2021/11/04 | 53514 | macros/latex/contrib/glossaries-extra/samples/sample-record.pdf -2021/11/04 | 1455 | macros/latex/contrib/glossaries-extra/samples/sample-record.tex -2021/11/04 | 51137 | macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf -2021/11/04 | 725 | macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.tex -2021/11/04 | 37481 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf -2021/11/04 | 617 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.tex -2021/11/04 | 49663 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf -2021/11/04 | 784 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.tex -2021/11/04 | 34098 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf -2021/11/04 | 307 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.tex -2021/11/04 | 14247 | macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf -2021/11/04 | 250 | macros/latex/contrib/glossaries-extra/samples/sample-suppl.tex -2021/11/04 | 429 | macros/latex/contrib/glossaries-extra/samples/sample.tex -2021/11/04 | 53229 | macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf -2021/11/04 | 1367 | macros/latex/contrib/glossaries-extra/samples/sample-trans.tex -2021/11/04 | 35728 | macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf -2021/11/04 | 434 | macros/latex/contrib/glossaries-extra/samples/sample-undef.tex -2021/11/04 | 65125 | macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf -2021/11/04 | 2289 | macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.tex -2021/11/04 | 6195655 | macros/latex/contrib/glossaries-extra.zip +2021/11/22 | 38189 | macros/latex/contrib/glossaries-extra/CHANGES +2021/11/22 | 1523017 | macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf +2021/11/22 | 1249676 | macros/latex/contrib/glossaries-extra/glossaries-extra.dtx +2021/11/22 | 4537 | macros/latex/contrib/glossaries-extra/glossaries-extra.ins +2021/11/22 | 1709883 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html +2021/11/22 | 937636 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf +2021/11/22 | 601516 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex +2021/11/22 | 995 | macros/latex/contrib/glossaries-extra/README +2021/11/22 | 556783 | macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf +2021/11/22 | 15747 | macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.tex +2021/11/22 | 47261 | macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf +2021/11/22 | 782 | macros/latex/contrib/glossaries-extra/samples/sample-abbrv.tex +2021/11/22 | 83775 | macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf +2021/11/22 | 3761 | macros/latex/contrib/glossaries-extra/samples/sample-accsupp.tex +2021/11/22 | 53665 | macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf +2021/11/22 | 1269 | macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.tex +2021/11/22 | 39238 | macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf +2021/11/22 | 759 | macros/latex/contrib/glossaries-extra/samples/sample-acronym.tex +2021/11/22 | 46956 | macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf +2021/11/22 | 853 | macros/latex/contrib/glossaries-extra/samples/sample-alias.tex +2021/11/22 | 37805 | macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf +2021/11/22 | 663 | macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.tex +2021/11/22 | 94528 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf +2021/11/22 | 2202 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.tex +2021/11/22 | 58134 | macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf +2021/11/22 | 74480 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf +2021/11/22 | 1375 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.tex +2021/11/22 | 485 | macros/latex/contrib/glossaries-extra/samples/sample-alttree.tex +2021/11/22 | 146844 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf +2021/11/22 | 3415 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.tex +2021/11/22 | 171404 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf +2021/11/22 | 3373 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex.tex +2021/11/22 | 44932 | macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf +2021/11/22 | 781 | macros/latex/contrib/glossaries-extra/samples/sample-crossref2.tex +2021/11/22 | 44626 | macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf +2021/11/22 | 473 | macros/latex/contrib/glossaries-extra/samples/sample-crossref.tex +2021/11/22 | 48575 | macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf +2021/11/22 | 690 | macros/latex/contrib/glossaries-extra/samples/sample-docdef.tex +2021/11/22 | 58659 | macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf +2021/11/22 | 1191 | macros/latex/contrib/glossaries-extra/samples/sample-entrycount.tex +2021/11/22 | 36681 | macros/latex/contrib/glossaries-extra/samples/sample-external.pdf +2021/11/22 | 810 | macros/latex/contrib/glossaries-extra/samples/sample-external.tex +2021/11/22 | 81379 | macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf +2021/11/22 | 1238 | macros/latex/contrib/glossaries-extra/samples/sample-fmt.tex +2021/11/22 | 68233 | macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf +2021/11/22 | 724 | macros/latex/contrib/glossaries-extra/samples/sample-footnote.tex +2021/11/22 | 135372 | macros/latex/contrib/glossaries-extra/samples/sample-header.pdf +2021/11/22 | 1965 | macros/latex/contrib/glossaries-extra/samples/sample-header.tex +2021/11/22 | 46037 | macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf +2021/11/22 | 1024 | macros/latex/contrib/glossaries-extra/samples/sample-indexhook.tex +2021/11/22 | 87240 | macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf +2021/11/22 | 1804 | macros/latex/contrib/glossaries-extra/samples/sample-initialisms.tex +2021/11/22 | 40764 | macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf +2021/11/22 | 1048 | macros/latex/contrib/glossaries-extra/samples/sample-linkcount.tex +2021/11/22 | 62787 | macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf +2021/11/22 | 489 | macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.tex +2021/11/22 | 48415 | macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf +2021/11/22 | 966 | macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.tex +2021/11/22 | 168974 | macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf +2021/11/22 | 11935 | macros/latex/contrib/glossaries-extra/samples/sample-mixture.tex +2021/11/22 | 58332 | macros/latex/contrib/glossaries-extra/samples/sample-multientry.pdf +2021/11/22 | 2970 | macros/latex/contrib/glossaries-extra/samples/sample-multientry.tex +2021/11/22 | 214722 | macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf +2021/11/22 | 11591 | macros/latex/contrib/glossaries-extra/samples/sample-name-font.tex +2021/11/22 | 72395 | macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf +2021/11/22 | 1101 | macros/latex/contrib/glossaries-extra/samples/sample-nested.tex +2021/11/22 | 50828 | macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf +2021/11/22 | 783 | macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.tex +2021/11/22 | 25864 | macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf +2021/11/22 | 1065 | macros/latex/contrib/glossaries-extra/samples/sample-onelink.tex +2021/11/22 | 46363 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf +2021/11/22 | 1306 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly.tex +2021/11/22 | 111694 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf +2021/11/22 | 1645 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.tex +2021/11/22 | 19669 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf +2021/11/22 | 1418 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.tex +2021/11/22 | 41286 | macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf +2021/11/22 | 769 | macros/latex/contrib/glossaries-extra/samples/sample-pages.tex +2021/11/22 | 48266 | macros/latex/contrib/glossaries-extra/samples/sample.pdf +2021/11/22 | 39556 | macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf +2021/11/22 | 1479 | macros/latex/contrib/glossaries-extra/samples/sample-postdot.tex +2021/11/22 | 73848 | macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf +2021/11/22 | 1775 | macros/latex/contrib/glossaries-extra/samples/sample-postlink.tex +2021/11/22 | 35603 | macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf +2021/11/22 | 399 | macros/latex/contrib/glossaries-extra/samples/sample-prefix.tex +2021/11/22 | 76219 | macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf +2021/11/22 | 1736 | macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.tex +2021/11/22 | 53514 | macros/latex/contrib/glossaries-extra/samples/sample-record.pdf +2021/11/22 | 1455 | macros/latex/contrib/glossaries-extra/samples/sample-record.tex +2021/11/22 | 51137 | macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf +2021/11/22 | 725 | macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.tex +2021/11/22 | 37481 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf +2021/11/22 | 617 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.tex +2021/11/22 | 49663 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf +2021/11/22 | 784 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.tex +2021/11/22 | 34098 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf +2021/11/22 | 307 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.tex +2021/11/22 | 14247 | macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf +2021/11/22 | 250 | macros/latex/contrib/glossaries-extra/samples/sample-suppl.tex +2021/11/22 | 429 | macros/latex/contrib/glossaries-extra/samples/sample.tex +2021/11/22 | 53229 | macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf +2021/11/22 | 1367 | macros/latex/contrib/glossaries-extra/samples/sample-trans.tex +2021/11/22 | 35728 | macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf +2021/11/22 | 434 | macros/latex/contrib/glossaries-extra/samples/sample-undef.tex +2021/11/22 | 64556 | macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf +2021/11/22 | 2289 | macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.tex +2021/11/23 | 6515729 | macros/latex/contrib/glossaries-extra.zip 2016/04/04 | 6529 | macros/latex/contrib/glossaries-finnish/glossaries-finnish.dtx 2016/04/04 | 1504 | macros/latex/contrib/glossaries-finnish/glossaries-finnish.ins 2016/04/04 | 138023 | macros/latex/contrib/glossaries-finnish/glossaries-finnish.pdf @@ -217258,13 +217250,13 @@ 1996/03/22 | 18862 | macros/latex/contrib/niceframe/umrandb.mf 2015/01/17 | 1370 | macros/latex/contrib/niceframe/umrand.mf 2015/01/17 | 287910 | macros/latex/contrib/niceframe.zip -2021/10/18 | 668860 | macros/latex/contrib/nicematrix/nicematrix.dtx -2021/10/18 | 487802 | macros/latex/contrib/nicematrix/nicematrix-french.pdf -2021/10/18 | 181269 | macros/latex/contrib/nicematrix/nicematrix-french.tex +2021/11/23 | 678185 | macros/latex/contrib/nicematrix/nicematrix.dtx +2021/11/23 | 490739 | macros/latex/contrib/nicematrix/nicematrix-french.pdf +2021/11/23 | 185234 | macros/latex/contrib/nicematrix/nicematrix-french.tex 2021/01/07 | 1423 | macros/latex/contrib/nicematrix/nicematrix.ins -2021/10/18 | 1419125 | macros/latex/contrib/nicematrix/nicematrix.pdf -2020/06/07 | 1005 | macros/latex/contrib/nicematrix/README.md -2021/10/18 | 2023377 | macros/latex/contrib/nicematrix.zip +2021/11/23 | 1434511 | macros/latex/contrib/nicematrix/nicematrix.pdf +2021/11/10 | 1023 | macros/latex/contrib/nicematrix/README.md +2021/11/23 | 2043177 | macros/latex/contrib/nicematrix.zip 2015/11/21 | 217 | macros/latex/contrib/nicetext/ANNOUNCE.txt 2012/03/18 | 254582 | macros/latex/contrib/nicetext/demo/arseneau.pdf 2011/09/14 | 10 | macros/latex/contrib/nicetext/demo/iso.txt @@ -217595,16 +217587,17 @@ 2007/01/08 | 7517 | macros/latex/contrib/numprint/numprinttest.tex 2012/08/20 | 3013 | macros/latex/contrib/numprint/README 2012/08/22 | 1230223 | macros/latex/contrib/numprint.zip -2020/11/11 | 11369 | macros/latex/contrib/numspell/numspell-english.sty -2020/11/07 | 17133 | macros/latex/contrib/numspell/numspell-french.sty -2020/11/07 | 12962 | macros/latex/contrib/numspell/numspell-german.sty -2020/11/07 | 16028 | macros/latex/contrib/numspell/numspell-italian.sty -2020/11/07 | 17781 | macros/latex/contrib/numspell/numspell-magyar.sty -2020/11/11 | 223145 | macros/latex/contrib/numspell/numspell.pdf -2020/11/11 | 13909 | macros/latex/contrib/numspell/numspell.sty -2020/11/11 | 15850 | macros/latex/contrib/numspell/numspell.tex -2020/11/07 | 1067 | macros/latex/contrib/numspell/README -2020/11/11 | 240260 | macros/latex/contrib/numspell.zip +2021/11/23 | 11369 | macros/latex/contrib/numspell/numspell-english.sty +2021/11/23 | 17133 | macros/latex/contrib/numspell/numspell-french.sty +2021/11/23 | 12962 | macros/latex/contrib/numspell/numspell-german.sty +2021/11/23 | 16028 | macros/latex/contrib/numspell/numspell-italian.sty +2021/11/23 | 36778 | macros/latex/contrib/numspell/numspell-latin.sty +2021/11/23 | 17781 | macros/latex/contrib/numspell/numspell-magyar.sty +2021/11/23 | 270892 | macros/latex/contrib/numspell/numspell.pdf +2021/11/23 | 14557 | macros/latex/contrib/numspell/numspell.sty +2021/11/23 | 17278 | macros/latex/contrib/numspell/numspell.tex +2021/11/23 | 1125 | macros/latex/contrib/numspell/README +2021/11/23 | 291124 | macros/latex/contrib/numspell.zip 2021/10/13 | 199009 | macros/latex/contrib/nwejm/doc/examples/article-in-dutch.pdf 2021/10/13 | 194657 | macros/latex/contrib/nwejm/doc/examples/article-in-english.pdf 2021/10/13 | 251463 | macros/latex/contrib/nwejm/doc/examples/article-in-french.pdf @@ -233590,14 +233583,14 @@ 2021/05/21 | 3141 | macros/luatex/generic/lualibs/NEWS 2021/05/21 | 4740 | macros/luatex/generic/lualibs/README.md 2021/05/21 | 266042 | macros/luatex/generic/lualibs.zip -2021/09/16 | 93702 | macros/luatex/generic/luamplib/luamplib.dtx -2021/09/16 | 151188 | macros/luatex/generic/luamplib/luamplib.pdf -2021/09/16 | 2752 | macros/luatex/generic/luamplib/Makefile -2021/09/16 | 9048 | macros/luatex/generic/luamplib/NEWS -2021/09/16 | 1996 | macros/luatex/generic/luamplib/README -2021/09/16 | 4016 | macros/luatex/generic/luamplib/test-luamplib-latex.tex -2021/09/16 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex -2021/09/16 | 183790 | macros/luatex/generic/luamplib.zip +2021/11/23 | 93806 | macros/luatex/generic/luamplib/luamplib.dtx +2021/11/23 | 151338 | macros/luatex/generic/luamplib/luamplib.pdf +2021/11/23 | 2752 | macros/luatex/generic/luamplib/Makefile +2021/11/23 | 9125 | macros/luatex/generic/luamplib/NEWS +2021/11/23 | 1996 | macros/luatex/generic/luamplib/README +2021/11/23 | 4016 | macros/luatex/generic/luamplib/test-luamplib-latex.tex +2021/11/23 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex +2021/11/23 | 184009 | macros/luatex/generic/luamplib.zip 2021/05/21 | 18714 | macros/luatex/generic/luaotfload/COPYING 2021/05/21 | 40024 | macros/luatex/generic/luaotfload/filegraph.pdf 2021/05/21 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex @@ -267687,95 +267680,95 @@ 1994/05/11 | 11989 | support/bbfig/bb.ps 1994/05/11 | 462 | support/bbfig/installation 2006/03/12 | 6604 | support/bbfig.zip -2021/11/05 | 17316 | support/bib2gls/bib2gls.1 -2021/11/05 | 726640 | support/bib2gls/bib2gls-begin.pdf -2021/11/05 | 45954 | support/bib2gls/bib2gls-en.xml -2021/11/05 | 295987 | support/bib2gls/bib2gls.jar -2021/11/05 | 4926320 | support/bib2gls/bib2gls.pdf -2021/11/05 | 630 | support/bib2gls/bib2gls.sh -2021/11/05 | 14424 | support/bib2gls/CHANGES -2021/11/05 | 9614 | support/bib2gls/convertgls2bib.1 -2021/11/05 | 39124 | support/bib2gls/convertgls2bib.jar -2021/11/05 | 404 | support/bib2gls/convertgls2bib.sh -2021/11/05 | 1603 | support/bib2gls/examples/animals.bib -2021/11/05 | 1219 | support/bib2gls/examples/bacteria.bib -2021/11/05 | 1031 | support/bib2gls/examples/baseunits.bib -2021/11/05 | 2994 | support/bib2gls/examples/bigmathsymbols.bib -2021/11/05 | 576 | support/bib2gls/examples/binaryoperators.bib -2021/11/05 | 3496 | support/bib2gls/examples/books.bib -2021/11/05 | 2585 | support/bib2gls/examples/chemicalformula.bib -2021/11/05 | 1371 | support/bib2gls/examples/citations.bib -2021/11/05 | 2392 | support/bib2gls/examples/constants.bib -2021/11/05 | 1580 | support/bib2gls/examples/derivedunits.bib -2021/11/05 | 5455 | support/bib2gls/examples/films.bib -2021/11/05 | 338 | support/bib2gls/examples/interpret-preamble2.bib -2021/11/05 | 328 | support/bib2gls/examples/interpret-preamble.bib -2021/11/05 | 1772 | support/bib2gls/examples/markuplanguages.bib -2021/11/05 | 3211 | support/bib2gls/examples/mathgreek.bib -2021/11/05 | 3672 | support/bib2gls/examples/mathsobjects.bib -2021/11/05 | 1265 | support/bib2gls/examples/mathsrelations.bib -2021/11/05 | 2419 | support/bib2gls/examples/minerals.bib -2021/11/05 | 2301 | support/bib2gls/examples/miscsymbols.bib -2021/11/05 | 328 | support/bib2gls/examples/no-interpret-preamble.bib -2021/11/05 | 4446 | support/bib2gls/examples/people.bib -2021/11/05 | 51554 | support/bib2gls/examples/sample-authors.pdf -2021/11/05 | 1506 | support/bib2gls/examples/sample-authors.tex -2021/11/05 | 54223 | support/bib2gls/examples/sample-bacteria.pdf -2021/11/05 | 1382 | support/bib2gls/examples/sample-bacteria.tex -2021/11/05 | 54005 | support/bib2gls/examples/sample-chemical.pdf -2021/11/05 | 1291 | support/bib2gls/examples/sample-chemical.tex -2021/11/05 | 49744 | support/bib2gls/examples/sample-citations.pdf -2021/11/05 | 1941 | support/bib2gls/examples/sample-citations.tex -2021/11/05 | 97787 | support/bib2gls/examples/sample-constants.pdf -2021/11/05 | 1378 | support/bib2gls/examples/sample-constants.tex -2021/11/05 | 52507 | support/bib2gls/examples/sample-hierarchical.pdf -2021/11/05 | 986 | support/bib2gls/examples/sample-hierarchical.tex -2021/11/05 | 61070 | support/bib2gls/examples/sample-markuplanguages.pdf -2021/11/05 | 1396 | support/bib2gls/examples/sample-markuplanguages.tex -2021/11/05 | 121232 | support/bib2gls/examples/sample-maths.pdf -2021/11/05 | 3129 | support/bib2gls/examples/sample-maths.tex -2021/11/05 | 166498 | support/bib2gls/examples/sample-media.pdf -2021/11/05 | 1734 | support/bib2gls/examples/sample-media.tex -2021/11/05 | 109213 | support/bib2gls/examples/sample-msymbols.pdf -2021/11/05 | 780 | support/bib2gls/examples/sample-msymbols.tex -2021/11/05 | 255317 | support/bib2gls/examples/sample-multi1.pdf -2021/11/05 | 5520 | support/bib2gls/examples/sample-multi1.tex -2021/11/05 | 330725 | support/bib2gls/examples/sample-multi2.pdf -2021/11/05 | 12775 | support/bib2gls/examples/sample-multi2.tex -2021/11/05 | 52519 | support/bib2gls/examples/sample-nested.pdf -2021/11/05 | 1344 | support/bib2gls/examples/sample-nested.tex -2021/11/05 | 50318 | support/bib2gls/examples/sample-people.pdf -2021/11/05 | 2367 | support/bib2gls/examples/sample-people.tex -2021/11/05 | 70258 | support/bib2gls/examples/sample-textsymbols2.pdf -2021/11/05 | 913 | support/bib2gls/examples/sample-textsymbols2.tex -2021/11/05 | 73043 | support/bib2gls/examples/sample-textsymbols.pdf -2021/11/05 | 1207 | support/bib2gls/examples/sample-textsymbols.tex -2021/11/05 | 57346 | support/bib2gls/examples/sample-units1.pdf -2021/11/05 | 1070 | support/bib2gls/examples/sample-units1.tex -2021/11/05 | 59077 | support/bib2gls/examples/sample-units2.pdf -2021/11/05 | 1234 | support/bib2gls/examples/sample-units2.tex -2021/11/05 | 44644 | support/bib2gls/examples/sample-units3.pdf -2021/11/05 | 1740 | support/bib2gls/examples/sample-units3.tex -2021/11/05 | 23850 | support/bib2gls/examples/sample-usergroups.pdf -2021/11/05 | 3254 | support/bib2gls/examples/sample-usergroups.tex -2021/11/05 | 640 | support/bib2gls/examples/terms.bib -2021/11/05 | 266 | support/bib2gls/examples/topics.bib -2021/11/05 | 557 | support/bib2gls/examples/unaryoperators.bib -2021/11/05 | 4053 | support/bib2gls/examples/usergroups.bib -2021/11/05 | 1091 | support/bib2gls/examples/vegetables.bib -2021/11/05 | 6481 | support/bib2gls/README.md -2021/11/05 | 241545 | support/bib2gls/src/bib2gls-begin.tex -2021/11/05 | 521161 | support/bib2gls/src/bib2gls.bib -2021/11/05 | 4078 | support/bib2gls/src/bib2gls-cite.bib -2021/11/05 | 9895 | support/bib2gls/src/bib2gls.pod -2021/11/05 | 216210 | support/bib2gls/src/bib2gls-src.zip -2021/11/05 | 15312 | support/bib2gls/src/bib2gls-terms.bib -2021/11/05 | 994926 | support/bib2gls/src/bib2gls.tex -2021/11/05 | 4045 | support/bib2gls/src/convertgls2bib.pod -2021/11/05 | 32388 | support/bib2gls/src/gls2bib-src.zip -2021/11/05 | 851844 | support/bib2gls/src/texparser-src.zip -2021/11/05 | 945504 | support/bib2gls/texparserlib.jar -2021/11/05 | 9948414 | support/bib2gls.zip +2021/11/22 | 17583 | support/bib2gls/bib2gls.1 +2021/11/22 | 726657 | support/bib2gls/bib2gls-begin.pdf +2021/11/22 | 43181 | support/bib2gls/bib2gls-en.xml +2021/11/22 | 311605 | support/bib2gls/bib2gls.jar +2021/11/22 | 4985737 | support/bib2gls/bib2gls.pdf +2021/11/22 | 630 | support/bib2gls/bib2gls.sh +2021/11/22 | 14946 | support/bib2gls/CHANGES +2021/11/22 | 9614 | support/bib2gls/convertgls2bib.1 +2021/11/22 | 40028 | support/bib2gls/convertgls2bib.jar +2021/11/22 | 404 | support/bib2gls/convertgls2bib.sh +2021/11/22 | 1603 | support/bib2gls/examples/animals.bib +2021/11/22 | 1219 | support/bib2gls/examples/bacteria.bib +2021/11/22 | 1031 | support/bib2gls/examples/baseunits.bib +2021/11/22 | 2994 | support/bib2gls/examples/bigmathsymbols.bib +2021/11/22 | 576 | support/bib2gls/examples/binaryoperators.bib +2021/11/22 | 3496 | support/bib2gls/examples/books.bib +2021/11/22 | 2585 | support/bib2gls/examples/chemicalformula.bib +2021/11/22 | 1371 | support/bib2gls/examples/citations.bib +2021/11/22 | 2392 | support/bib2gls/examples/constants.bib +2021/11/22 | 1580 | support/bib2gls/examples/derivedunits.bib +2021/11/22 | 5455 | support/bib2gls/examples/films.bib +2021/11/22 | 338 | support/bib2gls/examples/interpret-preamble2.bib +2021/11/22 | 328 | support/bib2gls/examples/interpret-preamble.bib +2021/11/22 | 1772 | support/bib2gls/examples/markuplanguages.bib +2021/11/22 | 3211 | support/bib2gls/examples/mathgreek.bib +2021/11/22 | 3672 | support/bib2gls/examples/mathsobjects.bib +2021/11/22 | 1265 | support/bib2gls/examples/mathsrelations.bib +2021/11/22 | 2419 | support/bib2gls/examples/minerals.bib +2021/11/22 | 2301 | support/bib2gls/examples/miscsymbols.bib +2021/11/22 | 328 | support/bib2gls/examples/no-interpret-preamble.bib +2021/11/22 | 4446 | support/bib2gls/examples/people.bib +2021/11/22 | 51554 | support/bib2gls/examples/sample-authors.pdf +2021/11/22 | 1506 | support/bib2gls/examples/sample-authors.tex +2021/11/22 | 54223 | support/bib2gls/examples/sample-bacteria.pdf +2021/11/22 | 1382 | support/bib2gls/examples/sample-bacteria.tex +2021/11/22 | 54005 | support/bib2gls/examples/sample-chemical.pdf +2021/11/22 | 1291 | support/bib2gls/examples/sample-chemical.tex +2021/11/22 | 49744 | support/bib2gls/examples/sample-citations.pdf +2021/11/22 | 1941 | support/bib2gls/examples/sample-citations.tex +2021/11/22 | 97787 | support/bib2gls/examples/sample-constants.pdf +2021/11/22 | 1378 | support/bib2gls/examples/sample-constants.tex +2021/11/22 | 52507 | support/bib2gls/examples/sample-hierarchical.pdf +2021/11/22 | 986 | support/bib2gls/examples/sample-hierarchical.tex +2021/11/22 | 61070 | support/bib2gls/examples/sample-markuplanguages.pdf +2021/11/22 | 1396 | support/bib2gls/examples/sample-markuplanguages.tex +2021/11/22 | 121290 | support/bib2gls/examples/sample-maths.pdf +2021/11/22 | 3129 | support/bib2gls/examples/sample-maths.tex +2021/11/22 | 166498 | support/bib2gls/examples/sample-media.pdf +2021/11/22 | 1734 | support/bib2gls/examples/sample-media.tex +2021/11/22 | 109213 | support/bib2gls/examples/sample-msymbols.pdf +2021/11/22 | 780 | support/bib2gls/examples/sample-msymbols.tex +2021/11/22 | 255317 | support/bib2gls/examples/sample-multi1.pdf +2021/11/22 | 5520 | support/bib2gls/examples/sample-multi1.tex +2021/11/22 | 330725 | support/bib2gls/examples/sample-multi2.pdf +2021/11/22 | 12775 | support/bib2gls/examples/sample-multi2.tex +2021/11/22 | 52519 | support/bib2gls/examples/sample-nested.pdf +2021/11/22 | 1344 | support/bib2gls/examples/sample-nested.tex +2021/11/22 | 50318 | support/bib2gls/examples/sample-people.pdf +2021/11/22 | 2367 | support/bib2gls/examples/sample-people.tex +2021/11/22 | 70258 | support/bib2gls/examples/sample-textsymbols2.pdf +2021/11/22 | 913 | support/bib2gls/examples/sample-textsymbols2.tex +2021/11/22 | 73043 | support/bib2gls/examples/sample-textsymbols.pdf +2021/11/22 | 1207 | support/bib2gls/examples/sample-textsymbols.tex +2021/11/22 | 57346 | support/bib2gls/examples/sample-units1.pdf +2021/11/22 | 1070 | support/bib2gls/examples/sample-units1.tex +2021/11/22 | 59077 | support/bib2gls/examples/sample-units2.pdf +2021/11/22 | 1234 | support/bib2gls/examples/sample-units2.tex +2021/11/22 | 44644 | support/bib2gls/examples/sample-units3.pdf +2021/11/22 | 1740 | support/bib2gls/examples/sample-units3.tex +2021/11/22 | 23851 | support/bib2gls/examples/sample-usergroups.pdf +2021/11/22 | 3254 | support/bib2gls/examples/sample-usergroups.tex +2021/11/22 | 640 | support/bib2gls/examples/terms.bib +2021/11/22 | 266 | support/bib2gls/examples/topics.bib +2021/11/22 | 557 | support/bib2gls/examples/unaryoperators.bib +2021/11/22 | 4053 | support/bib2gls/examples/usergroups.bib +2021/11/22 | 1091 | support/bib2gls/examples/vegetables.bib +2021/11/22 | 6481 | support/bib2gls/README.md +2021/11/22 | 241545 | support/bib2gls/src/bib2gls-begin.tex +2021/11/22 | 527924 | support/bib2gls/src/bib2gls.bib +2021/11/22 | 4078 | support/bib2gls/src/bib2gls-cite.bib +2021/11/22 | 10148 | support/bib2gls/src/bib2gls.pod +2021/11/22 | 227518 | support/bib2gls/src/bib2gls-src.zip +2021/11/22 | 16561 | support/bib2gls/src/bib2gls-terms.bib +2021/11/22 | 1014788 | support/bib2gls/src/bib2gls.tex +2021/11/22 | 4045 | support/bib2gls/src/convertgls2bib.pod +2021/11/22 | 32972 | support/bib2gls/src/gls2bib-src.zip +2021/11/22 | 854065 | support/bib2gls/src/texparser-src.zip +2021/11/22 | 947415 | support/bib2gls/texparserlib.jar +2021/11/23 | 10039941 | support/bib2gls.zip 1999/04/14 | 372041 | support/bibdb/bibdb20.zip 1999/04/14 | 1228948 | support/bibdb/bibdbsrc.zip 1999/04/14 | 686556 | support/bibdb/wbibdb22.zip @@ -280609,9 +280602,9 @@ 2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz 2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz 2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz -2021/11/21 | 601748 | systems/texlive/tlnet/archive/easybook.doc.r61098.tar.xz -2021/11/21 | 17600 | systems/texlive/tlnet/archive/easybook.r61098.tar.xz -2021/11/21 | 17668 | systems/texlive/tlnet/archive/easybook.source.r61098.tar.xz +2021/11/23 | 600644 | systems/texlive/tlnet/archive/easybook.doc.r61120.tar.xz +2021/11/23 | 17660 | systems/texlive/tlnet/archive/easybook.r61120.tar.xz +2021/11/23 | 17700 | systems/texlive/tlnet/archive/easybook.source.r61120.tar.xz 2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz 2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz 2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz @@ -282995,8 +282988,8 @@ 2021/02/24 | 40260 | systems/texlive/tlnet/archive/kpathsea.x86_64-linux.r57878.tar.xz 2021/02/27 | 44648 | systems/texlive/tlnet/archive/kpathsea.x86_64-solaris.r57938.tar.xz 2020/06/24 | 1759292 | systems/texlive/tlnet/archive/kpfonts.doc.r55643.tar.xz -2021/10/06 | 2105512 | systems/texlive/tlnet/archive/kpfonts-otf.doc.r60702.tar.xz -2021/10/06 | 1082064 | systems/texlive/tlnet/archive/kpfonts-otf.r60702.tar.xz +2021/11/23 | 2134432 | systems/texlive/tlnet/archive/kpfonts-otf.doc.r61119.tar.xz +2021/11/23 | 1081348 | systems/texlive/tlnet/archive/kpfonts-otf.r61119.tar.xz 2020/06/24 | 2205528 | systems/texlive/tlnet/archive/kpfonts.r55643.tar.xz 2020/06/24 | 223556 | systems/texlive/tlnet/archive/kpfonts.source.r55643.tar.xz 2019/02/28 | 3968 | systems/texlive/tlnet/archive/ksfh_nat.r24825.tar.xz @@ -283060,9 +283053,9 @@ 2021/11/13 | 3505104 | systems/texlive/tlnet/archive/l3experimental.doc.r61040.tar.xz 2021/11/13 | 23196 | systems/texlive/tlnet/archive/l3experimental.r61040.tar.xz 2021/11/13 | 79956 | systems/texlive/tlnet/archive/l3experimental.source.r61040.tar.xz -2021/11/13 | 11022004 | systems/texlive/tlnet/archive/l3kernel.doc.r61040.tar.xz -2021/11/13 | 168048 | systems/texlive/tlnet/archive/l3kernel.r61040.tar.xz -2021/11/13 | 580748 | systems/texlive/tlnet/archive/l3kernel.source.r61040.tar.xz +2021/11/23 | 11059148 | systems/texlive/tlnet/archive/l3kernel.doc.r61121.tar.xz +2021/11/23 | 169640 | systems/texlive/tlnet/archive/l3kernel.r61121.tar.xz +2021/11/23 | 584296 | systems/texlive/tlnet/archive/l3kernel.source.r61121.tar.xz 2021/11/13 | 1806792 | systems/texlive/tlnet/archive/l3packages.doc.r61040.tar.xz 2021/11/13 | 21644 | systems/texlive/tlnet/archive/l3packages.r61040.tar.xz 2021/11/13 | 45256 | systems/texlive/tlnet/archive/l3packages.source.r61040.tar.xz @@ -288345,7 +288338,7 @@ 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz -2021/11/22 | 401116 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61103.tar.xz +2021/11/23 | 401120 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61116.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 @@ -288369,7 +288362,7 @@ 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz -2021/11/22 | 108304 | systems/texlive/tlnet/archive/texlive-scripts.r61103.tar.xz +2021/11/23 | 108296 | systems/texlive/tlnet/archive/texlive-scripts.r61116.tar.xz 2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz 2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz @@ -290117,16 +290110,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2021/05/02 | 105152 | systems/texlive/tlnet/install-tl -2021/11/22 | 6810952 | systems/texlive/tlnet/install-tl-unx.tar.gz -2021/11/22 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2021/11/22 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2021/11/23 | 6810759 | systems/texlive/tlnet/install-tl-unx.tar.gz +2021/11/23 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/11/23 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2021/11/22 | 20873276 | systems/texlive/tlnet/install-tl-windows.exe -2021/11/22 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2021/11/22 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2021/11/22 | 25631174 | systems/texlive/tlnet/install-tl.zip -2021/11/22 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2021/11/22 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2021/11/23 | 20873835 | systems/texlive/tlnet/install-tl-windows.exe +2021/11/23 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2021/11/23 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2021/11/23 | 25631172 | systems/texlive/tlnet/install-tl.zip +2021/11/23 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2021/11/23 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2021/04/01 | 1229 | systems/texlive/tlnet/README.md 2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021 2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -290136,7 +290129,7 @@ 2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2021/07/02 | 49348 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2021/11/21 | 6937 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2021/11/22 | 6914 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2020/04/15 | 223687 | 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 @@ -290178,12 +290171,12 @@ 2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2021/11/22 | 16983388 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2021/11/22 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2021/11/23 | 16983388 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/11/23 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2021/11/22 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2021/11/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2021/11/22 | 2323388 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/11/23 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/11/23 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2021/11/23 | 2324304 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -293725,7 +293718,9 @@ 2021/04/14 | 1193779 | systems/win32/miktex/tm/packages/aomart.tar.lzma 2011/07/04 | 257190 | systems/win32/miktex/tm/packages/apa6e.tar.lzma 2020/01/14 | 613370 | systems/win32/miktex/tm/packages/apa6.tar.lzma -2021/05/20 | 781050 | systems/win32/miktex/tm/packages/apa7.tar.lzma +2021/11/23 | 748258 | systems/win32/miktex/tm/packages/apa7__doc.tar.lzma +2021/11/23 | 33187 | systems/win32/miktex/tm/packages/apa7__source.tar.lzma +2021/11/23 | 14315 | systems/win32/miktex/tm/packages/apa7.tar.lzma 2013/07/29 | 845001 | systems/win32/miktex/tm/packages/apacite.tar.lzma 2016/11/02 | 6569 | systems/win32/miktex/tm/packages/apalike2.tar.lzma 2021/06/20 | 119096 | systems/win32/miktex/tm/packages/apalike-ejor__doc.tar.lzma @@ -294845,9 +294840,9 @@ 2021/07/18 | 313984 | systems/win32/miktex/tm/packages/easing__doc.tar.lzma 2021/07/18 | 8201 | systems/win32/miktex/tm/packages/easing__source.tar.lzma 2021/07/18 | 2391 | systems/win32/miktex/tm/packages/easing.tar.lzma -2021/11/21 | 583733 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma -2021/11/21 | 39324 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma -2021/11/21 | 16372 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2021/11/23 | 582653 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma +2021/11/23 | 39309 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma +2021/11/23 | 16410 | systems/win32/miktex/tm/packages/easybook.tar.lzma 2018/03/31 | 183421 | systems/win32/miktex/tm/packages/easyfig.tar.lzma 2020/12/21 | 609763 | systems/win32/miktex/tm/packages/easyfloats.tar.lzma 2017/06/12 | 52618 | systems/win32/miktex/tm/packages/easyformat.tar.lzma @@ -294899,9 +294894,9 @@ 2021/11/07 | 26159 | systems/win32/miktex/tm/packages/ejpecp__source.tar.lzma 2021/11/07 | 5944 | systems/win32/miktex/tm/packages/ejpecp.tar.lzma 2019/01/06 | 228202 | systems/win32/miktex/tm/packages/ekaia.tar.lzma -2021/08/19 | 790217 | systems/win32/miktex/tm/packages/ekdosis__doc.tar.lzma -2021/08/19 | 95899 | systems/win32/miktex/tm/packages/ekdosis__source.tar.lzma -2021/08/19 | 21270 | systems/win32/miktex/tm/packages/ekdosis.tar.lzma +2021/11/23 | 816706 | systems/win32/miktex/tm/packages/ekdosis__doc.tar.lzma +2021/11/23 | 97698 | systems/win32/miktex/tm/packages/ekdosis__source.tar.lzma +2021/11/23 | 21786 | systems/win32/miktex/tm/packages/ekdosis.tar.lzma 2020/07/27 | 1965876 | systems/win32/miktex/tm/packages/ektype-tanka.tar.lzma 2011/03/21 | 296901 | systems/win32/miktex/tm/packages/elbioimp.tar.lzma 2010/07/27 | 1022652 | systems/win32/miktex/tm/packages/electrumadf.tar.lzma @@ -295086,9 +295081,9 @@ 2020/02/25 | 450148 | systems/win32/miktex/tm/packages/exframe.tar.lzma 2008/06/26 | 80109 | systems/win32/miktex/tm/packages/expdlist.tar.lzma 2017/05/29 | 494705 | systems/win32/miktex/tm/packages/expex.tar.lzma -2021/10/03 | 449759 | systems/win32/miktex/tm/packages/expkv-cs__doc.tar.lzma -2021/10/03 | 26347 | systems/win32/miktex/tm/packages/expkv-cs__source.tar.lzma -2021/10/03 | 5973 | systems/win32/miktex/tm/packages/expkv-cs.tar.lzma +2021/11/23 | 447881 | systems/win32/miktex/tm/packages/expkv-cs__doc.tar.lzma +2021/11/23 | 26376 | systems/win32/miktex/tm/packages/expkv-cs__source.tar.lzma +2021/11/23 | 5941 | systems/win32/miktex/tm/packages/expkv-cs.tar.lzma 2021/10/03 | 401953 | systems/win32/miktex/tm/packages/expkv-def__doc.tar.lzma 2021/10/03 | 18111 | systems/win32/miktex/tm/packages/expkv-def__source.tar.lzma 2021/10/03 | 5451 | systems/win32/miktex/tm/packages/expkv-def.tar.lzma @@ -295138,7 +295133,9 @@ 2015/08/11 | 690069 | systems/win32/miktex/tm/packages/fcavtex.tar.lzma 2004/06/09 | 99326 | systems/win32/miktex/tm/packages/fc.cab 2011/11/02 | 668269 | systems/win32/miktex/tm/packages/fcltxdoc.tar.lzma -2021/01/15 | 345918 | systems/win32/miktex/tm/packages/fcolumn.tar.lzma +2021/11/23 | 319740 | systems/win32/miktex/tm/packages/fcolumn__doc.tar.lzma +2021/11/23 | 21977 | systems/win32/miktex/tm/packages/fcolumn__source.tar.lzma +2021/11/23 | 4650 | systems/win32/miktex/tm/packages/fcolumn.tar.lzma 2012/06/11 | 1400409 | systems/win32/miktex/tm/packages/fdsymbol.tar.lzma 2020/09/06 | 1590331 | systems/win32/miktex/tm/packages/fduthesis.tar.lzma 2014/10/21 | 18012017 | systems/win32/miktex/tm/packages/featpost.tar.lzma @@ -295173,7 +295170,7 @@ 2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma 2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma 2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma -2021/11/22 | 627451 | systems/win32/miktex/tm/packages/files.csv.lzma +2021/11/23 | 629162 | 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 @@ -295452,7 +295449,8 @@ 2021/08/03 | 7188 | systems/win32/miktex/tm/packages/graphicscache__source.tar.lzma 2021/08/03 | 3485 | systems/win32/miktex/tm/packages/graphicscache.tar.lzma 2016/11/04 | 1845 | systems/win32/miktex/tm/packages/graphics-cfg.tar.lzma -2021/06/03 | 11355 | systems/win32/miktex/tm/packages/graphics-def.tar.lzma +2021/11/23 | 1081 | systems/win32/miktex/tm/packages/graphics-def__doc.tar.lzma +2021/11/23 | 11094 | systems/win32/miktex/tm/packages/graphics-def.tar.lzma 2021/11/13 | 2012775 | systems/win32/miktex/tm/packages/graphics__doc.tar.lzma 2021/11/20 | 2665 | systems/win32/miktex/tm/packages/graphics-pln__doc.tar.lzma 2021/11/20 | 9050 | systems/win32/miktex/tm/packages/graphics-pln.tar.lzma @@ -295828,9 +295826,9 @@ 2015/10/14 | 10343 | systems/win32/miktex/tm/packages/kotex-plain.tar.lzma 2015/10/10 | 7697628 | systems/win32/miktex/tm/packages/kotex-utf.tar.lzma 2016/01/09 | 73703 | systems/win32/miktex/tm/packages/kotex-utils.tar.lzma -2021/10/05 | 2092992 | systems/win32/miktex/tm/packages/kpfonts-otf__doc.tar.lzma -2021/10/05 | 20733 | systems/win32/miktex/tm/packages/kpfonts-otf__source.tar.lzma -2021/10/05 | 1081688 | systems/win32/miktex/tm/packages/kpfonts-otf.tar.lzma +2021/11/23 | 2122202 | systems/win32/miktex/tm/packages/kpfonts-otf__doc.tar.lzma +2021/11/23 | 20843 | systems/win32/miktex/tm/packages/kpfonts-otf__source.tar.lzma +2021/11/23 | 1081853 | systems/win32/miktex/tm/packages/kpfonts-otf.tar.lzma 2018/08/24 | 4191595 | systems/win32/miktex/tm/packages/kpfonts.tar.lzma 2011/12/19 | 4197 | systems/win32/miktex/tm/packages/ksfh-nat.tar.lzma 2015/12/15 | 150177 | systems/win32/miktex/tm/packages/ksp-thesis.tar.lzma @@ -295857,9 +295855,9 @@ 2021/11/13 | 3506514 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma 2021/11/13 | 80561 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma 2021/11/13 | 23575 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma -2021/11/13 | 10851326 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma -2021/11/13 | 578312 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma -2021/11/13 | 167565 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma +2021/11/23 | 10886287 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma +2021/11/23 | 581972 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma +2021/11/23 | 169189 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma 2021/11/13 | 1808207 | systems/win32/miktex/tm/packages/l3packages__doc.tar.lzma 2021/11/13 | 45880 | systems/win32/miktex/tm/packages/l3packages__source.tar.lzma 2021/11/13 | 21834 | systems/win32/miktex/tm/packages/l3packages.tar.lzma @@ -296615,9 +296613,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2021/10/05 | 39429 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2021/10/05 | 43382 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2021/11/22 | 252422 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2021/11/22 | 1388244 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2021/11/22 | 1286493 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2021/11/23 | 252730 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2021/11/23 | 1388154 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/11/23 | 1286466 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2021/10/05 | 13448 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2021/10/05 | 14320 | 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 @@ -296837,192 +296835,192 @@ 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 -2021/11/22 | 627596 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2021/11/22 | 51099 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2021/11/22 | 56462 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2021/11/22 | 973109 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2021/11/22 | 1076110 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2021/11/22 | 29077 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2021/11/22 | 31316 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2021/11/22 | 29822 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2021/11/22 | 34672 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2021/11/22 | 50120 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2021/11/22 | 57589 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2021/11/22 | 83335 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2021/11/22 | 95261 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2021/11/22 | 68560 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2021/11/22 | 76112 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2021/11/22 | 27199 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2021/11/22 | 30805 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2021/11/22 | 330842 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2021/11/22 | 392678 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2021/11/22 | 32559 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2021/11/22 | 36627 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2021/11/22 | 51326 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2021/11/22 | 56786 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2021/11/22 | 5005 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma -2021/11/22 | 255200 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2021/11/22 | 278970 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2021/11/22 | 179745 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2021/11/22 | 195704 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2021/11/22 | 54598 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2021/11/22 | 61827 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2021/11/22 | 21170 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2021/11/22 | 23353 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2021/11/22 | 461749 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2021/11/22 | 46527 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2021/11/22 | 51173 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2021/11/22 | 284741 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2021/11/22 | 325226 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2021/11/22 | 41263 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2021/11/22 | 45333 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2021/11/22 | 119744 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2021/11/22 | 133957 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2021/11/22 | 1290584 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2021/11/22 | 1422199 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2021/11/22 | 100487 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2021/11/22 | 112898 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2021/11/22 | 43035 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2021/11/22 | 48270 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2021/11/22 | 25013 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2021/11/22 | 28167 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2021/11/22 | 56323 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2021/11/22 | 62744 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2021/11/22 | 136280 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2021/11/22 | 153913 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2021/11/22 | 73349 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2021/11/22 | 78160 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2021/11/22 | 71914 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma -2021/11/22 | 80765 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2021/11/22 | 258759 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma -2021/11/22 | 295371 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2021/11/22 | 22038 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2021/11/22 | 25001 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2021/11/22 | 97372 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2021/11/22 | 112596 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2021/11/22 | 64428 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2021/11/22 | 73113 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2021/11/22 | 96306 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2021/11/22 | 115233 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2021/11/22 | 38144 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2021/11/22 | 43000 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2021/11/22 | 483386 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2021/11/22 | 566035 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2021/11/22 | 147417 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2021/11/22 | 159824 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2021/11/22 | 94776 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2021/11/22 | 109073 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2021/11/22 | 16361 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2021/11/22 | 17975 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2021/11/22 | 28345 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2021/11/22 | 30043 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2021/11/22 | 629638 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2021/11/22 | 680813 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2021/11/22 | 531953 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2021/11/22 | 597524 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2021/11/22 | 476830 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma -2021/11/22 | 510455 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2021/11/22 | 94416 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2021/11/22 | 103390 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2021/11/22 | 1710499 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2021/11/22 | 2003279 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2021/11/22 | 67623 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2021/11/22 | 74243 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2021/11/22 | 27423 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2021/11/22 | 31654 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2021/11/22 | 7716 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2021/11/22 | 8764 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2021/11/22 | 198067 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2021/11/22 | 217427 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2021/11/22 | 250651 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2021/11/22 | 283970 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2021/11/22 | 98776 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2021/11/22 | 103993 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2021/11/22 | 64703 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2021/11/22 | 73883 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma -2021/11/22 | 124756 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2021/11/22 | 136711 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2021/11/22 | 179114 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2021/11/22 | 197410 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2021/11/22 | 199532 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2021/11/22 | 180125 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2021/11/22 | 67459 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma -2021/11/22 | 76897 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2021/11/22 | 31198 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2021/11/22 | 35073 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2021/11/22 | 37817 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2021/11/22 | 42679 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2021/11/22 | 42839 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2021/11/22 | 46897 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2021/11/22 | 45931 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2021/11/22 | 52389 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2021/11/22 | 194728 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma -2021/11/22 | 207161 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2021/11/22 | 36292 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma -2021/11/22 | 40990 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2021/11/22 | 748897 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2021/11/22 | 819183 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2021/11/22 | 198318 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2021/11/22 | 202822 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2021/11/22 | 208026 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2021/11/22 | 243515 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2021/11/22 | 78764 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2021/11/22 | 87677 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2021/11/22 | 1169822 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2021/11/22 | 1300867 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2021/11/22 | 20112 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2021/11/22 | 23899 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2021/11/22 | 31542 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2021/11/22 | 37248 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2021/11/22 | 64174 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2021/11/22 | 72228 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2021/11/22 | 50390 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2021/11/22 | 57959 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2021/11/22 | 685903 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma -2021/11/22 | 749265 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma -2021/11/22 | 1346947 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2021/11/22 | 1470953 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2021/11/22 | 42419 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2021/11/22 | 51837 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2021/11/22 | 56530 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2021/11/22 | 59973 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2021/11/22 | 25246 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2021/11/22 | 27335 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2021/11/22 | 16448 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2021/11/22 | 18158 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2021/11/22 | 63730 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma -2021/11/22 | 69939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2021/11/22 | 155920 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2021/11/22 | 171173 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2021/11/22 | 57464 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2021/11/22 | 66115 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2021/11/22 | 100072 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2021/11/22 | 107432 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2021/11/22 | 2673326 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2021/11/22 | 2796565 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2021/11/22 | 56461 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2021/11/22 | 62553 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2021/11/22 | 36697 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2021/11/22 | 40690 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2021/11/22 | 27701 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2021/11/22 | 33652 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2021/11/22 | 66236 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2021/11/22 | 71091 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2021/11/22 | 313229 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2021/11/22 | 347915 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2021/11/22 | 55499 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2021/11/22 | 57143 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2021/11/22 | 589727 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2021/11/22 | 624342 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2021/11/22 | 39022 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2021/11/22 | 43351 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2021/11/22 | 252555 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2021/11/22 | 1389176 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2021/11/22 | 1286653 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2021/11/22 | 13460 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2021/11/22 | 14337 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2021/11/23 | 628985 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2021/11/23 | 51096 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/11/23 | 56462 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2021/11/23 | 973110 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2021/11/23 | 1076110 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2021/11/23 | 29077 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2021/11/23 | 31316 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2021/11/23 | 29822 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/11/23 | 34673 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/11/23 | 50120 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2021/11/23 | 57589 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2021/11/23 | 83334 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/11/23 | 95262 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2021/11/23 | 68559 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2021/11/23 | 76110 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/11/23 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2021/11/23 | 30805 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/11/23 | 330842 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/11/23 | 392678 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2021/11/23 | 32558 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/11/23 | 36626 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2021/11/23 | 51323 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2021/11/23 | 56789 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2021/11/23 | 5001 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma +2021/11/23 | 255202 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2021/11/23 | 278967 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2021/11/23 | 179745 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2021/11/23 | 195703 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2021/11/23 | 54597 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/11/23 | 61824 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/11/23 | 21170 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/11/23 | 23354 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2021/11/23 | 461748 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2021/11/23 | 46527 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2021/11/23 | 51175 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2021/11/23 | 284742 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2021/11/23 | 325227 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/11/23 | 41261 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2021/11/23 | 45334 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/11/23 | 119744 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/11/23 | 133957 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/11/23 | 1290586 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/11/23 | 1422198 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/11/23 | 100486 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2021/11/23 | 112898 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2021/11/23 | 43035 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2021/11/23 | 48270 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/11/23 | 25012 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/11/23 | 28166 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2021/11/23 | 56321 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2021/11/23 | 62744 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/11/23 | 136278 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/11/23 | 153911 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2021/11/23 | 73350 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2021/11/23 | 78159 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/11/23 | 71917 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/11/23 | 80766 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/11/23 | 258757 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/11/23 | 295371 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2021/11/23 | 22036 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2021/11/23 | 25001 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2021/11/23 | 97370 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2021/11/23 | 112597 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2021/11/23 | 64426 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2021/11/23 | 73115 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2021/11/23 | 96305 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/11/23 | 115233 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/11/23 | 38145 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2021/11/23 | 43000 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2021/11/23 | 483384 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2021/11/23 | 566032 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2021/11/23 | 147417 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2021/11/23 | 159825 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/11/23 | 94775 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/11/23 | 109073 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2021/11/23 | 16361 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/11/23 | 17974 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2021/11/23 | 28344 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2021/11/23 | 30043 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/11/23 | 629637 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2021/11/23 | 680813 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2021/11/23 | 531953 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2021/11/23 | 597523 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/11/23 | 476832 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/11/23 | 510456 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2021/11/23 | 94418 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/11/23 | 103389 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/11/23 | 1710500 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/11/23 | 2003283 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2021/11/23 | 67623 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/11/23 | 74242 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2021/11/23 | 27423 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2021/11/23 | 31656 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2021/11/23 | 7715 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2021/11/23 | 8763 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2021/11/23 | 198068 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2021/11/23 | 217428 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/11/23 | 250654 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2021/11/23 | 283969 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2021/11/23 | 98774 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/11/23 | 103994 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2021/11/23 | 64703 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/11/23 | 73885 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/11/23 | 124756 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/11/23 | 136713 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/11/23 | 179112 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/11/23 | 197412 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2021/11/23 | 199533 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2021/11/23 | 180126 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2021/11/23 | 67459 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/11/23 | 76895 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/11/23 | 31199 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2021/11/23 | 35073 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2021/11/23 | 37816 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2021/11/23 | 42679 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2021/11/23 | 42839 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2021/11/23 | 46896 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2021/11/23 | 45930 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/11/23 | 52389 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2021/11/23 | 194727 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/11/23 | 207163 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2021/11/23 | 36292 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/11/23 | 40990 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/11/23 | 748896 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2021/11/23 | 819185 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2021/11/23 | 198318 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2021/11/23 | 202822 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2021/11/23 | 208026 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2021/11/23 | 243511 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2021/11/23 | 78762 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2021/11/23 | 87677 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2021/11/23 | 1169826 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/11/23 | 1300868 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2021/11/23 | 20113 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2021/11/23 | 23900 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2021/11/23 | 31545 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2021/11/23 | 37249 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/11/23 | 64174 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2021/11/23 | 72231 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2021/11/23 | 50390 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2021/11/23 | 57961 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/11/23 | 685904 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma +2021/11/23 | 749267 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma +2021/11/23 | 1346945 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2021/11/23 | 1470955 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/11/23 | 42419 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/11/23 | 51836 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2021/11/23 | 56530 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2021/11/23 | 59973 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2021/11/23 | 25244 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2021/11/23 | 27335 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2021/11/23 | 16447 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2021/11/23 | 18158 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2021/11/23 | 63730 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/11/23 | 69940 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/11/23 | 155920 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/11/23 | 171174 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2021/11/23 | 57461 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2021/11/23 | 66115 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2021/11/23 | 100072 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/11/23 | 107431 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2021/11/23 | 2673326 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/11/23 | 2796565 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2021/11/23 | 56459 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2021/11/23 | 62552 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2021/11/23 | 36697 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2021/11/23 | 40690 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/11/23 | 27702 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2021/11/23 | 33650 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/11/23 | 66234 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/11/23 | 71091 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2021/11/23 | 313228 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2021/11/23 | 347915 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2021/11/23 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/11/23 | 57142 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/11/23 | 589723 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/11/23 | 624342 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/11/23 | 39022 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2021/11/23 | 43353 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/11/23 | 252909 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2021/11/23 | 1387859 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2021/11/23 | 1286390 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2021/11/23 | 13460 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2021/11/23 | 14337 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma -2021/11/22 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2021/11/23 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini 2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma 2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma 2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma @@ -297445,7 +297443,7 @@ 2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma 2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma 2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma -2021/11/22 | 935 | systems/win32/miktex/tm/packages/pr.ini +2021/11/23 | 923 | 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 @@ -298699,7 +298697,9 @@ 2008/12/09 | 210037 | systems/win32/miktex/tm/packages/wsuipa.tar.lzma 2020/06/22 | 350168 | systems/win32/miktex/tm/packages/wtref.tar.lzma 2008/04/02 | 202156 | systems/win32/miktex/tm/packages/xargs.tar.lzma -2020/07/27 | 1159577 | systems/win32/miktex/tm/packages/xassoccnt.tar.lzma +2021/11/23 | 1113148 | systems/win32/miktex/tm/packages/xassoccnt__doc.tar.lzma +2021/11/23 | 29712 | systems/win32/miktex/tm/packages/xassoccnt__source.tar.lzma +2021/11/23 | 19786 | systems/win32/miktex/tm/packages/xassoccnt.tar.lzma 2020/01/19 | 376430 | systems/win32/miktex/tm/packages/xbmks.tar.lzma 2021/10/14 | 474738 | systems/win32/miktex/tm/packages/xcharter__doc.tar.lzma 2021/09/06 | 10205 | systems/win32/miktex/tm/packages/xcharter__source.tar.lzma @@ -299131,7 +299131,7 @@ 2004/06/04 | 404 | tds/tds.sed 2004/06/23 | 65418 | tds/tds.tex 2019/05/29 | 304264 | tds.zip -2021/11/23 | 186 | timestamp +2021/11/24 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz index a2847b1373..ec25d4d000 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ diff --git a/FILES.last07days b/FILES.last07days index 11152d8a37..c189892dd7 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,398 +1,670 @@ +2021/11/23 | 98774 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/11/23 | 98595 | graphics/mcf2graph/mcf_data_base.mcf +2021/11/23 | 97698 | systems/win32/miktex/tm/packages/ekdosis__source.tar.lzma +2021/11/23 | 97370 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2021/11/23 | 973110 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2021/11/23 | 96305 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/11/23 | 956431 | graphics/mcf2graph.zip +2021/11/23 | 95262 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2021/11/23 | 94775 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/11/23 | 94418 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/11/23 | 93806 | macros/luatex/generic/luamplib/luamplib.dtx +2021/11/23 | 923 | systems/win32/miktex/tm/packages/pr.ini +2021/11/23 | 9125 | macros/luatex/generic/luamplib/NEWS +2021/11/23 | 87677 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2021/11/23 | 8763 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2021/11/23 | 83334 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/11/23 | 819185 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2021/11/23 | 816706 | systems/win32/miktex/tm/packages/ekdosis__doc.tar.lzma +2021/11/23 | 81439 | macros/latex/contrib/easybook/easybook.tex +2021/11/23 | 80878 | macros/latex/contrib/easybook/easybook.dtx +2021/11/23 | 80766 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/11/23 | 78762 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2021/11/23 | 78159 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/11/23 | 7715 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2021/11/23 | 76895 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/11/23 | 76110 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/11/23 | 749267 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma +2021/11/23 | 748896 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2021/11/23 | 748258 | systems/win32/miktex/tm/packages/apa7__doc.tar.lzma +2021/11/23 | 74242 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2021/11/23 | 73885 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/11/23 | 73350 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2021/11/23 | 73115 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2021/11/23 | 72231 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2021/11/23 | 71917 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/11/23 | 71091 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2021/11/23 | 69940 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/11/23 | 685904 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma +2021/11/23 | 68559 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2021/11/23 | 6810759 | systems/texlive/tlnet/install-tl-unx.tar.gz +2021/11/23 | 680813 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2021/11/23 | 678185 | macros/latex/contrib/nicematrix/nicematrix.dtx +2021/11/23 | 67623 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/11/23 | 67459 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/11/23 | 66234 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/11/23 | 66115 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2021/11/23 | 6515729 | macros/latex/contrib/glossaries-extra.zip +2021/11/23 | 64703 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/11/23 | 64426 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2021/11/23 | 64174 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2021/11/23 | 63730 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/11/23 | 629637 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2021/11/23 | 629162 | systems/win32/miktex/tm/packages/files.csv.lzma +2021/11/23 | 628985 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2021/11/23 | 62744 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/11/23 | 62552 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2021/11/23 | 624342 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/11/23 | 623958 | macros/latex/contrib/easybook.zip +2021/11/23 | 61824 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/11/23 | 600644 | systems/texlive/tlnet/archive/easybook.doc.r61120.tar.xz +2021/11/23 | 59973 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2021/11/23 | 597523 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/11/23 | 5941 | systems/win32/miktex/tm/packages/expkv-cs.tar.lzma +2021/11/23 | 589723 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/11/23 | 584296 | systems/texlive/tlnet/archive/l3kernel.source.r61121.tar.xz +2021/11/23 | 582653 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma +2021/11/23 | 582542 | macros/latex/contrib/easybook/easybook.pdf +2021/11/23 | 581972 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma +2021/11/23 | 57961 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/11/23 | 57589 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2021/11/23 | 57461 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2021/11/23 | 57142 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/11/23 | 56789 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2021/11/23 | 566032 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2021/11/23 | 56530 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2021/11/23 | 56462 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2021/11/23 | 56459 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2021/11/23 | 56321 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2021/11/23 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/11/23 | 54597 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/11/23 | 53380 | graphics/pgf/contrib/xistercian/xistercian.dtx +2021/11/23 | 531953 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2021/11/23 | 52389 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2021/11/23 | 51836 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2021/11/23 | 51323 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2021/11/23 | 51175 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2021/11/23 | 51096 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/11/23 | 510456 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2021/11/23 | 50390 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2021/11/23 | 50120 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2021/11/23 | 5001 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma +2021/11/23 | 490739 | macros/latex/contrib/nicematrix/nicematrix-french.pdf +2021/11/23 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2021/11/23 | 483384 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2021/11/23 | 48270 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/11/23 | 476832 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/11/23 | 46896 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2021/11/23 | 46527 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2021/11/23 | 4650 | systems/win32/miktex/tm/packages/fcolumn.tar.lzma +2021/11/23 | 461748 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2021/11/23 | 45930 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/11/23 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2021/11/23 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2021/11/23 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2021/11/23 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2021/11/23 | 45334 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/11/23 | 447881 | systems/win32/miktex/tm/packages/expkv-cs__doc.tar.lzma +2021/11/23 | 44718 | graphics/mcf2graph/mcf_man_soc.mf +2021/11/23 | 43353 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/11/23 | 43035 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2021/11/23 | 43000 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2021/11/23 | 42839 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2021/11/23 | 42679 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2021/11/23 | 42419 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/11/23 | 41261 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2021/11/23 | 40990 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/11/23 | 40690 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/11/23 | 4016 | macros/luatex/generic/luamplib/test-luamplib-latex.tex +2021/11/23 | 401120 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61116.tar.xz +2021/11/23 | 39309 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma +2021/11/23 | 392678 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2021/11/23 | 39022 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2021/11/23 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex +2021/11/23 | 383617 | graphics/mcf2graph/mcf_manual.pdf +2021/11/23 | 38145 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2021/11/23 | 37816 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2021/11/23 | 37249 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/11/23 | 36778 | macros/latex/contrib/numspell/numspell-latin.sty +2021/11/23 | 36697 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2021/11/23 | 36626 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2021/11/23 | 36292 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/11/23 | 35073 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2021/11/23 | 347915 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2021/11/23 | 34673 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/11/23 | 33650 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/11/23 | 33187 | systems/win32/miktex/tm/packages/apa7__source.tar.lzma +2021/11/23 | 330842 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/11/23 | 32558 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/11/23 | 325227 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/11/23 | 319740 | systems/win32/miktex/tm/packages/fcolumn__doc.tar.lzma +2021/11/23 | 318151 | graphics/mcf2graph/mcf_example.pdf +2021/11/23 | 317130 | graphics/pgf/contrib/xistercian.zip +2021/11/23 | 31656 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2021/11/23 | 31545 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2021/11/23 | 315178 | graphics/pgf/contrib/xistercian/xistercian.pdf +2021/11/23 | 313228 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2021/11/23 | 31316 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2021/11/23 | 31199 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2021/11/23 | 30805 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/11/23 | 30043 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/11/23 | 29822 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/11/23 | 29712 | systems/win32/miktex/tm/packages/xassoccnt__source.tar.lzma +2021/11/23 | 295371 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2021/11/23 | 291124 | macros/latex/contrib/numspell.zip +2021/11/23 | 29077 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2021/11/23 | 284742 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2021/11/23 | 283969 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2021/11/23 | 28344 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2021/11/23 | 28166 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2021/11/23 | 2796565 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2021/11/23 | 278967 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2021/11/23 | 27702 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2021/11/23 | 2752 | macros/luatex/generic/luamplib/Makefile +2021/11/23 | 27423 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2021/11/23 | 27335 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2021/11/23 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2021/11/23 | 270892 | macros/latex/contrib/numspell/numspell.pdf +2021/11/23 | 2673326 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/11/23 | 26376 | systems/win32/miktex/tm/packages/expkv-cs__source.tar.lzma +2021/11/23 | 258757 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/11/23 | 25631172 | systems/texlive/tlnet/install-tl.zip +2021/11/23 | 255202 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2021/11/23 | 252909 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2021/11/23 | 252730 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2021/11/23 | 25244 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2021/11/23 | 250654 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2021/11/23 | 25012 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/11/23 | 25001 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2021/11/23 | 243511 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2021/11/23 | 23900 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2021/11/23 | 23354 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2021/11/23 | 2324304 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/11/23 | 2252 | graphics/mcf2graph/mcf_exa_soc.mf +2021/11/23 | 223013 | macros/context/contrib/context-transliterator.zip +2021/11/23 | 22036 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2021/11/23 | 21977 | systems/win32/miktex/tm/packages/fcolumn__source.tar.lzma +2021/11/23 | 21786 | systems/win32/miktex/tm/packages/ekdosis.tar.lzma +2021/11/23 | 217428 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/11/23 | 2134432 | systems/texlive/tlnet/archive/kpfonts-otf.doc.r61119.tar.xz +2021/11/23 | 2122202 | systems/win32/miktex/tm/packages/kpfonts-otf__doc.tar.lzma +2021/11/23 | 21170 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/11/23 | 20873835 | systems/texlive/tlnet/install-tl-windows.exe +2021/11/23 | 20843 | systems/win32/miktex/tm/packages/kpfonts-otf__source.tar.lzma +2021/11/23 | 208026 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2021/11/23 | 207163 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2021/11/23 | 2043177 | macros/latex/contrib/nicematrix.zip +2021/11/23 | 202822 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2021/11/23 | 20113 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2021/11/23 | 2003283 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2021/11/23 | 1996 | macros/luatex/generic/luamplib/README +2021/11/23 | 199533 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2021/11/23 | 198427 | install/macros/luatex/generic/luamplib.tds.zip +2021/11/23 | 198318 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2021/11/23 | 198068 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2021/11/23 | 19786 | systems/win32/miktex/tm/packages/xassoccnt.tar.lzma +2021/11/23 | 197412 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2021/11/23 | 195703 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2021/11/23 | 194727 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/11/23 | 185234 | macros/latex/contrib/nicematrix/nicematrix-french.tex +2021/11/23 | 184407 | graphics/mcf2graph/mcf_mplib_exa.pdf +2021/11/23 | 184009 | macros/luatex/generic/luamplib.zip +2021/11/23 | 18158 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2021/11/23 | 180126 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2021/11/23 | 17974 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2021/11/23 | 179745 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2021/11/23 | 179112 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/11/23 | 17781 | macros/latex/contrib/numspell/numspell-magyar.sty +2021/11/23 | 17700 | systems/texlive/tlnet/archive/easybook.source.r61120.tar.xz +2021/11/23 | 17660 | systems/texlive/tlnet/archive/easybook.r61120.tar.xz +2021/11/23 | 17278 | macros/latex/contrib/numspell/numspell.tex +2021/11/23 | 17133 | macros/latex/contrib/numspell/numspell-french.sty +2021/11/23 | 171174 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2021/11/23 | 1710500 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/11/23 | 16983388 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/11/23 | 169640 | systems/texlive/tlnet/archive/l3kernel.r61121.tar.xz +2021/11/23 | 169189 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma +2021/11/23 | 16447 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2021/11/23 | 16410 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2021/11/23 | 16361 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/11/23 | 16028 | macros/latex/contrib/numspell/numspell-italian.sty +2021/11/23 | 159825 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/11/23 | 155920 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/11/23 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2021/11/23 | 153911 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2021/11/23 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/11/23 | 151338 | macros/luatex/generic/luamplib/luamplib.pdf +2021/11/23 | 147417 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2021/11/23 | 1470955 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/11/23 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2021/11/23 | 14557 | macros/latex/contrib/numspell/numspell.sty +2021/11/23 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/11/23 | 1434511 | macros/latex/contrib/nicematrix/nicematrix.pdf +2021/11/23 | 14337 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2021/11/23 | 14315 | systems/win32/miktex/tm/packages/apa7.tar.lzma +2021/11/23 | 1422198 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/11/23 | 1388154 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/11/23 | 1387859 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2021/11/23 | 136713 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/11/23 | 136278 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/11/23 | 1346945 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2021/11/23 | 13460 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2021/11/23 | 133957 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/11/23 | 1300868 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2021/11/23 | 12962 | macros/latex/contrib/numspell/numspell-german.sty +2021/11/23 | 1290586 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/11/23 | 1286466 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2021/11/23 | 1286390 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2021/11/23 | 1284 | graphics/pgf/contrib/xistercian/README.md +2021/11/23 | 124756 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/11/23 | 119744 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/11/23 | 118599 | graphics/mcf2graph/mcf2graph.mf +2021/11/23 | 1169826 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/11/23 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2021/11/23 | 115233 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/11/23 | 11369 | macros/latex/contrib/numspell/numspell-english.sty +2021/11/23 | 112898 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2021/11/23 | 1125 | macros/latex/contrib/numspell/README +2021/11/23 | 112597 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2021/11/23 | 1113148 | systems/win32/miktex/tm/packages/xassoccnt__doc.tar.lzma +2021/11/23 | 11094 | systems/win32/miktex/tm/packages/graphics-def.tar.lzma +2021/11/23 | 11059148 | systems/texlive/tlnet/archive/l3kernel.doc.r61121.tar.xz +2021/11/23 | 109073 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2021/11/23 | 10886287 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma +2021/11/23 | 108296 | systems/texlive/tlnet/archive/texlive-scripts.r61116.tar.xz +2021/11/23 | 1081 | systems/win32/miktex/tm/packages/graphics-def__doc.tar.lzma +2021/11/23 | 1081853 | systems/win32/miktex/tm/packages/kpfonts-otf.tar.lzma +2021/11/23 | 1081348 | systems/texlive/tlnet/archive/kpfonts-otf.r61119.tar.xz +2021/11/23 | 1076110 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2021/11/23 | 107431 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2021/11/23 | 103994 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2021/11/23 | 103389 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/11/23 | 100486 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2021/11/23 | 10039941 | support/bib2gls.zip +2021/11/23 | 100072 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma 2021/11/22 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex -2021/11/22 | 98776 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/11/22 | 995 | macros/latex/contrib/glossaries-extra/README +2021/11/22 | 986 | support/bib2gls/examples/sample-hierarchical.tex 2021/11/22 | 98175 | macros/latex/contrib/l3kernel/l3color.dtx +2021/11/22 | 97787 | support/bib2gls/examples/sample-constants.pdf 2021/11/22 | 97384 | systems/texlive/tlnet/archive/ekdosis.source.r61113.tar.xz -2021/11/22 | 97372 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2021/11/22 | 973109 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2021/11/22 | 96306 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2021/11/22 | 95261 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2021/11/22 | 94776 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/11/22 | 966 | macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.tex +2021/11/22 | 9614 | support/bib2gls/convertgls2bib.1 +2021/11/22 | 947415 | support/bib2gls/texparserlib.jar 2021/11/22 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex -2021/11/22 | 94416 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/11/22 | 94528 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf 2021/11/22 | 9436 | macros/latex/contrib/l3kernel/l3flag.dtx 2021/11/22 | 9413264 | systems/texlive/tlnet/archive/xetex.win32.r61106.tar.xz -2021/11/22 | 935 | systems/win32/miktex/tm/packages/pr.ini +2021/11/22 | 937636 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf 2021/11/22 | 9216 | macros/latex/contrib/l3kernel/l3unicode.dtx +2021/11/22 | 913 | support/bib2gls/examples/sample-textsymbols2.tex 2021/11/22 | 912 | systems/texlive/tlnet/archive/uptex.r61107.tar.xz 2021/11/22 | 908548 | systems/texlive/tlcontrib/archive/pdftex-dev.x86_64-linux.r354.tar.xz 2021/11/22 | 90394 | macros/latex/contrib/l3kernel/l3seq.dtx 2021/11/22 | 90018 | macros/latex/contrib/l3kernel/l3int.dtx 2021/11/22 | 883 | systems/texlive/tlcontrib/packages.txt -2021/11/22 | 87677 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2021/11/22 | 8764 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2021/11/22 | 87516 | macros/latex/contrib/l3kernel/l3coffins.dtx +2021/11/22 | 87240 | macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf +2021/11/22 | 854065 | support/bib2gls/src/texparser-src.zip +2021/11/22 | 853 | macros/latex/contrib/glossaries-extra/samples/sample-alias.tex 2021/11/22 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex 2021/11/22 | 84785 | macros/latex/contrib/l3kernel/l3fp-basics.dtx -2021/11/22 | 83335 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/11/22 | 83775 | macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf 2021/11/22 | 82101 | macros/latex/contrib/l3kernel/l3clist.dtx -2021/11/22 | 819183 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma 2021/11/22 | 816680 | systems/texlive/tlnet/archive/ekdosis.doc.r61113.tar.xz -2021/11/22 | 81195 | macros/latex/contrib/easybook/easybook.tex +2021/11/22 | 81379 | macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf +2021/11/22 | 810 | macros/latex/contrib/glossaries-extra/samples/sample-external.tex 2021/11/22 | 80876 | macros/latex/contrib/l3kernel/l3prefixes.pdf -2021/11/22 | 80874 | macros/latex/contrib/easybook/easybook.dtx -2021/11/22 | 80765 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/11/22 | 7 | macros/context/contrib/context-transliterator/VERSION 2021/11/22 | 79925 | macros/latex/contrib/l3kernel/l3names.dtx 2021/11/22 | 79792 | macros/latex/contrib/l3kernel/l3box.dtx 2021/11/22 | 792 | macros/latex/contrib/fcolumn/makefile -2021/11/22 | 78764 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2021/11/22 | 78160 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/11/22 | 784 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.tex +2021/11/22 | 783 | macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.tex +2021/11/22 | 782 | macros/latex/contrib/glossaries-extra/samples/sample-abbrv.tex +2021/11/22 | 781 | macros/latex/contrib/glossaries-extra/samples/sample-crossref2.tex +2021/11/22 | 780 | support/bib2gls/examples/sample-msymbols.tex 2021/11/22 | 7780 | systems/texlive/tlnet/archive/xetex.r61114.tar.xz -2021/11/22 | 7716 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2021/11/22 | 76897 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/11/22 | 769 | macros/latex/contrib/glossaries-extra/samples/sample-pages.tex 2021/11/22 | 76279 | macros/latex/contrib/l3kernel/l3skip.dtx -2021/11/22 | 76112 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/11/22 | 76219 | macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf +2021/11/22 | 759 | macros/latex/contrib/glossaries-extra/samples/sample-acronym.tex 2021/11/22 | 75639 | macros/latex/contrib/l3kernel/l3str.dtx -2021/11/22 | 749265 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma -2021/11/22 | 748897 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma 2021/11/22 | 7454 | macros/latex/contrib/l3kernel/l3fp-assign.dtx +2021/11/22 | 74480 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf 2021/11/22 | 744772 | systems/texlive/tlnet/archive/apa7.doc.r61110.tar.xz 2021/11/22 | 74289 | macros/latex/contrib/l3kernel/l3msg.dtx 2021/11/22 | 7426524 | systems/texlive/tlnet/archive/xetex.x86_64-solaris.r61101.tar.xz -2021/11/22 | 74243 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2021/11/22 | 73883 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/11/22 | 73848 | macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf 2021/11/22 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx -2021/11/22 | 73349 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma 2021/11/22 | 7313 | fonts/kpfonts-otf/README.md -2021/11/22 | 73113 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma 2021/11/22 | 7305276 | systems/texlive/tlnet/archive/xetex.i386-solaris.r61101.tar.xz -2021/11/22 | 72228 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2021/11/22 | 71914 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/11/22 | 73043 | support/bib2gls/examples/sample-textsymbols.pdf +2021/11/22 | 726657 | support/bib2gls/bib2gls-begin.pdf +2021/11/22 | 725 | macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.tex +2021/11/22 | 724 | macros/latex/contrib/glossaries-extra/samples/sample-footnote.tex +2021/11/22 | 72395 | macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf 2021/11/22 | 7145448 | systems/texlive/tlnet/archive/xetex.x86_64-linuxmusl.r61101.tar.xz 2021/11/22 | 7116516 | systems/texlive/tlnet/archive/xetex.i386-linux.r61101.tar.xz -2021/11/22 | 71091 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma 2021/11/22 | 71065 | macros/latex/contrib/l3kernel/expl3.dtx 2021/11/22 | 7101172 | systems/texlive/tlnet/archive/xetex.amd64-netbsd.r61101.tar.xz 2021/11/22 | 7093172 | systems/texlive/tlnet/archive/xetex.aarch64-linux.r61101.tar.xz 2021/11/22 | 70578 | macros/latex/contrib/l3kernel/l3fp.dtx 2021/11/22 | 7048056 | systems/texlive/tlnet/archive/xetex.x86_64-linux.r61101.tar.xz +2021/11/22 | 70258 | support/bib2gls/examples/sample-textsymbols2.pdf 2021/11/22 | 7024436 | systems/texlive/tlnet/archive/xetex.x86_64-cygwin.r61101.tar.xz 2021/11/22 | 7019700 | systems/texlive/tlnet/archive/xetex.i386-netbsd.r61101.tar.xz 2021/11/22 | 7003264 | systems/texlive/tlnet/archive/xetex.i386-cygwin.r61101.tar.xz -2021/11/22 | 69939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma 2021/11/22 | 69523 | macros/latex/contrib/l3kernel/l3candidates.dtx +2021/11/22 | 6914 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2021/11/22 | 690 | macros/latex/contrib/glossaries-extra/samples/sample-docdef.tex 2021/11/22 | 69044 | macros/latex/contrib/l3kernel/l3text-case.dtx 2021/11/22 | 6900260 | systems/texlive/tlnet/archive/xetex.amd64-freebsd.r61101.tar.xz 2021/11/22 | 69000 | macros/latex/contrib/fcolumn/fcolumn.dtx 2021/11/22 | 6890688 | macros/latex/contrib/l3kernel/source3.pdf -2021/11/22 | 685903 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma -2021/11/22 | 68560 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2021/11/22 | 6810952 | systems/texlive/tlnet/install-tl-unx.tar.gz -2021/11/22 | 680813 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2021/11/22 | 67623 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/11/22 | 68233 | macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf 2021/11/22 | 6761912 | systems/texlive/tlnet/archive/xetex.armhf-linux.r61101.tar.xz -2021/11/22 | 67459 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma 2021/11/22 | 6723360 | systems/texlive/tlnet/archive/xetex.i386-freebsd.r61101.tar.xz 2021/11/22 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex 2021/11/22 | 6661004 | systems/texlive/tlnet/archive/xetex.x86_64-darwinlegacy.r61101.tar.xz 2021/11/22 | 66424 | fonts/kpfonts-otf/fonts/KpMono-Italic.otf -2021/11/22 | 66236 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/11/22 | 663 | macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.tex +2021/11/22 | 6633199 | install/macros/latex/contrib/glossaries-extra.tds.zip 2021/11/22 | 66196 | macros/latex/contrib/l3kernel/l3prg.dtx -2021/11/22 | 66115 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma 2021/11/22 | 65120 | fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf 2021/11/22 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex -2021/11/22 | 64703 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/11/22 | 6481 | support/bib2gls/README.md +2021/11/22 | 64556 | macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf 2021/11/22 | 6450 | macros/latex/contrib/l3kernel/l3term-glossary.tex -2021/11/22 | 64428 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma 2021/11/22 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex -2021/11/22 | 64174 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2021/11/22 | 63730 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/11/22 | 640 | support/bib2gls/examples/terms.bib 2021/11/22 | 633104 | systems/texlive/tlnet/archive/xetex.doc.r61114.tar.xz -2021/11/22 | 629638 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2021/11/22 | 627596 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2021/11/22 | 627451 | systems/win32/miktex/tm/packages/files.csv.lzma -2021/11/22 | 62744 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/11/22 | 630 | support/bib2gls/bib2gls.sh +2021/11/22 | 62787 | macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf 2021/11/22 | 6268 | macros/latex/contrib/l3kernel/l3.ins 2021/11/22 | 6267 | macros/latex/contrib/l3kernel/l3syntax-changes.tex -2021/11/22 | 62553 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2021/11/22 | 624342 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/11/22 | 62496 | graphics/mcf2graph/mcf_manual.tex 2021/11/22 | 623104 | macros/latex/contrib/l3kernel/expl3.pdf -2021/11/22 | 621380 | macros/latex/contrib/easybook.zip -2021/11/22 | 61827 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/11/22 | 617 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.tex +2021/11/22 | 61070 | support/bib2gls/examples/sample-markuplanguages.pdf 2021/11/22 | 604 | systems/texlive/tlnet/archive/graphics-def.doc.r61111.tar.xz -2021/11/22 | 59973 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2021/11/22 | 597524 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/11/22 | 601516 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex +2021/11/22 | 59077 | support/bib2gls/examples/sample-units2.pdf 2021/11/22 | 59044 | fonts/kpfonts-otf/fonts/KpMono-Regular.otf -2021/11/22 | 589727 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2021/11/22 | 579975 | macros/latex/contrib/easybook/easybook.pdf -2021/11/22 | 57959 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/11/22 | 58659 | macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf +2021/11/22 | 58332 | macros/latex/contrib/glossaries-extra/samples/sample-multientry.pdf +2021/11/22 | 58134 | macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf 2021/11/22 | 57912 | fonts/kpfonts-otf/fonts/KpMono-Bold.otf -2021/11/22 | 57589 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2021/11/22 | 57464 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2021/11/22 | 57143 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/11/22 | 576 | support/bib2gls/examples/binaryoperators.bib +2021/11/22 | 57346 | support/bib2gls/examples/sample-units1.pdf 2021/11/22 | 57078 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx 2021/11/22 | 5696 | systems/texlive/tlnet/archive/expkv-cs.r61109.tar.xz -2021/11/22 | 56786 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2021/11/22 | 566035 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2021/11/22 | 56530 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2021/11/22 | 56462 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2021/11/22 | 56461 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2021/11/22 | 56323 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2021/11/22 | 55499 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2021/11/22 | 54598 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/11/22 | 557 | support/bib2gls/examples/unaryoperators.bib +2021/11/22 | 556783 | macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf +2021/11/22 | 5520 | support/bib2gls/examples/sample-multi1.tex +2021/11/22 | 5455 | support/bib2gls/examples/films.bib 2021/11/22 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex +2021/11/22 | 54223 | support/bib2gls/examples/sample-bacteria.pdf +2021/11/22 | 54005 | support/bib2gls/examples/sample-chemical.pdf 2021/11/22 | 53762 | macros/latex/contrib/l3kernel/l3prop.dtx +2021/11/22 | 53665 | macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf +2021/11/22 | 53514 | macros/latex/contrib/glossaries-extra/samples/sample-record.pdf 2021/11/22 | 532 | systems/texlive/tlcontrib/archive/pdftex-dev.r354.tar.xz -2021/11/22 | 531953 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2021/11/22 | 52389 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2021/11/22 | 51837 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2021/11/22 | 51326 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2021/11/22 | 51173 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2021/11/22 | 51099 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/11/22 | 53229 | macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf +2021/11/22 | 527924 | support/bib2gls/src/bib2gls.bib +2021/11/22 | 52519 | support/bib2gls/examples/sample-nested.pdf +2021/11/22 | 52507 | support/bib2gls/examples/sample-hierarchical.pdf +2021/11/22 | 51554 | support/bib2gls/examples/sample-authors.pdf +2021/11/22 | 51137 | macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf 2021/11/22 | 51059 | macros/latex/contrib/l3kernel/l3fp-extended.dtx -2021/11/22 | 510455 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2021/11/22 | 50390 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2021/11/22 | 50120 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2021/11/22 | 5005 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma +2021/11/22 | 50828 | macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf +2021/11/22 | 50318 | support/bib2gls/examples/sample-people.pdf +2021/11/22 | 4985737 | support/bib2gls/bib2gls.pdf 2021/11/22 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex +2021/11/22 | 49744 | support/bib2gls/examples/sample-citations.pdf +2021/11/22 | 49663 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf 2021/11/22 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex 2021/11/22 | 49311 | macros/latex/contrib/l3kernel/l3fp-expo.dtx -2021/11/22 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2021/11/22 | 48 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.md5 +2021/11/22 | 489 | macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.tex 2021/11/22 | 4890 | macros/latex/contrib/l3kernel/l3news.tex 2021/11/22 | 488 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.sha512.asc -2021/11/22 | 483386 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2021/11/22 | 48270 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/11/22 | 485 | macros/latex/contrib/glossaries-extra/samples/sample-alttree.tex +2021/11/22 | 48575 | macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf +2021/11/22 | 48415 | macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf +2021/11/22 | 48266 | macros/latex/contrib/glossaries-extra/samples/sample.pdf 2021/11/22 | 480 | fonts/kpfonts-otf/tex/KpLight.fontspec -2021/11/22 | 476830 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/11/22 | 473 | macros/latex/contrib/glossaries-extra/samples/sample-crossref.tex +2021/11/22 | 47261 | macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf 2021/11/22 | 47217 | macros/latex/contrib/l3kernel/l3fp-aux.dtx 2021/11/22 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex 2021/11/22 | 469 | fonts/kpfonts-otf/tex/KpRoman.fontspec -2021/11/22 | 46897 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2021/11/22 | 46527 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2021/11/22 | 461749 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2021/11/22 | 45931 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/11/22 | 46956 | macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf +2021/11/22 | 46363 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf +2021/11/22 | 46037 | macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf 2021/11/22 | 458436 | fonts/kpfonts-otf/fonts/KpMath-Light.otf -2021/11/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2021/11/22 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2021/11/22 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2021/11/22 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc -2021/11/22 | 45333 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/11/22 | 4537 | macros/latex/contrib/glossaries-extra/glossaries-extra.ins +2021/11/22 | 44932 | macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf 2021/11/22 | 446716 | systems/texlive/tlnet/archive/expkv-cs.doc.r61109.tar.xz -2021/11/22 | 43351 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/11/22 | 44644 | support/bib2gls/examples/sample-units3.pdf +2021/11/22 | 44626 | macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf +2021/11/22 | 4446 | support/bib2gls/examples/people.bib +2021/11/22 | 434 | macros/latex/contrib/glossaries-extra/samples/sample-undef.tex 2021/11/22 | 43203 | macros/latex/contrib/l3kernel/l3debug.dtx 2021/11/22 | 431884 | fonts/kpfonts-otf/fonts/KpMath-Regular.otf +2021/11/22 | 43181 | support/bib2gls/bib2gls-en.xml 2021/11/22 | 4306285 | fonts/kpfonts-otf.zip -2021/11/22 | 43035 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2021/11/22 | 43000 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2021/11/22 | 42839 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2021/11/22 | 42679 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2021/11/22 | 42419 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/11/22 | 429 | macros/latex/contrib/glossaries-extra/samples/sample.tex 2021/11/22 | 4240 | macros/latex/contrib/l3kernel/l3legacy.dtx 2021/11/22 | 41924 | macros/latex/contrib/l3kernel/l3prefixes.csv -2021/11/22 | 41263 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2021/11/22 | 40990 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/11/22 | 41286 | macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf +2021/11/22 | 4078 | support/bib2gls/src/bib2gls-cite.bib +2021/11/22 | 40764 | macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf 2021/11/22 | 40705 | macros/latex/contrib/l3kernel/l3sort.dtx -2021/11/22 | 40690 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2021/11/22 | 401116 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61103.tar.xz +2021/11/22 | 4053 | support/bib2gls/examples/usergroups.bib +2021/11/22 | 404 | support/bib2gls/convertgls2bib.sh +2021/11/22 | 4045 | support/bib2gls/src/convertgls2bib.pod +2021/11/22 | 40028 | support/bib2gls/convertgls2bib.jar +2021/11/22 | 399 | macros/latex/contrib/glossaries-extra/samples/sample-prefix.tex 2021/11/22 | 395907 | macros/latex/contrib/l3kernel/l3news.pdf -2021/11/22 | 392678 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2021/11/22 | 39022 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2021/11/22 | 38144 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2021/11/22 | 37817 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2021/11/22 | 37248 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/11/22 | 39556 | macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf +2021/11/22 | 39238 | macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf +2021/11/22 | 38189 | macros/latex/contrib/glossaries-extra/CHANGES +2021/11/22 | 37805 | macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf +2021/11/22 | 3761 | macros/latex/contrib/glossaries-extra/samples/sample-accsupp.tex +2021/11/22 | 37481 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf 2021/11/22 | 37155 | macros/latex/contrib/l3kernel/l3text.dtx -2021/11/22 | 36697 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2021/11/22 | 36627 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2021/11/22 | 36292 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/11/22 | 3672 | support/bib2gls/examples/mathsobjects.bib +2021/11/22 | 36681 | macros/latex/contrib/glossaries-extra/samples/sample-external.pdf 2021/11/22 | 36239 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx +2021/11/22 | 35728 | macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf 2021/11/22 | 35621 | macros/latex/contrib/l3kernel/l3quark.dtx -2021/11/22 | 35073 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2021/11/22 | 347915 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2021/11/22 | 34672 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/11/22 | 35603 | macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf +2021/11/22 | 3496 | support/bib2gls/examples/books.bib 2021/11/22 | 34166 | macros/latex/contrib/l3kernel/l3intarray.dtx +2021/11/22 | 3415 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.tex +2021/11/22 | 34098 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf 2021/11/22 | 340031 | macros/latex/contrib/fcolumn.zip -2021/11/22 | 33652 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/11/22 | 338 | support/bib2gls/examples/interpret-preamble2.bib +2021/11/22 | 3373 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex.tex 2021/11/22 | 33487 | macros/latex/contrib/l3kernel/l3sys.dtx 2021/11/22 | 33359 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx -2021/11/22 | 330842 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/11/22 | 330725 | support/bib2gls/examples/sample-multi2.pdf +2021/11/22 | 32972 | support/bib2gls/src/gls2bib-src.zip +2021/11/22 | 328 | support/bib2gls/examples/no-interpret-preamble.bib +2021/11/22 | 328 | support/bib2gls/examples/interpret-preamble.bib 2021/11/22 | 32756 | systems/texlive/tlnet/archive/apa7.source.r61110.tar.xz -2021/11/22 | 32559 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2021/11/22 | 325226 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/11/22 | 3254 | support/bib2gls/examples/sample-usergroups.tex 2021/11/22 | 32430 | macros/latex/contrib/l3kernel/l3cctab.dtx 2021/11/22 | 32286 | macros/latex/contrib/l3kernel/CHANGELOG.md +2021/11/22 | 3211 | support/bib2gls/examples/mathgreek.bib 2021/11/22 | 318179 | macros/latex/contrib/fcolumn/fcolumn.pdf -2021/11/22 | 31654 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2021/11/22 | 31542 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2021/11/22 | 313229 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2021/11/22 | 31316 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2021/11/22 | 31198 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2021/11/22 | 30805 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/11/22 | 3129 | support/bib2gls/examples/sample-maths.tex +2021/11/22 | 311605 | support/bib2gls/bib2gls.jar +2021/11/22 | 307 | macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.tex 2021/11/22 | 3026 | macros/latex/contrib/fcolumn/README -2021/11/22 | 30043 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/11/22 | 2994 | support/bib2gls/examples/bigmathsymbols.bib 2021/11/22 | 2994 | macros/latex/contrib/l3kernel/README.md -2021/11/22 | 29822 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/11/22 | 2970 | macros/latex/contrib/glossaries-extra/samples/sample-multientry.tex 2021/11/22 | 295815 | macros/latex/contrib/l3kernel/l3styleguide.pdf -2021/11/22 | 295371 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2021/11/22 | 29077 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma 2021/11/22 | 288823 | macros/latex/contrib/l3kernel/l3regex.dtx 2021/11/22 | 287 | fonts/kpfonts-otf/tex/KpSans.fontspec -2021/11/22 | 284741 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2021/11/22 | 283970 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2021/11/22 | 28345 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma 2021/11/22 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex -2021/11/22 | 28167 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2021/11/22 | 2796565 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2021/11/22 | 278970 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma 2021/11/22 | 278880 | fonts/kpfonts-otf/fonts/KpMath-Sans.otf -2021/11/22 | 27701 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2021/11/22 | 27423 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2021/11/22 | 27335 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2021/11/22 | 27199 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2021/11/22 | 2673326 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/11/22 | 266 | support/bib2gls/examples/topics.bib 2021/11/22 | 26249 | macros/latex/contrib/l3kernel/l3deprecation.dtx -2021/11/22 | 258759 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/11/22 | 25864 | macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf +2021/11/22 | 2585 | support/bib2gls/examples/chemicalformula.bib 2021/11/22 | 25824 | systems/texlive/tlnet/archive/expkv-cs.source.r61109.tar.xz 2021/11/22 | 25650 | macros/latex/contrib/l3kernel/l3fp-random.dtx -2021/11/22 | 25631174 | systems/texlive/tlnet/install-tl.zip -2021/11/22 | 255200 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2021/11/22 | 252555 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2021/11/22 | 25246 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2021/11/22 | 252422 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2021/11/22 | 250651 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2021/11/22 | 25013 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/11/22 | 255317 | support/bib2gls/examples/sample-multi1.pdf +2021/11/22 | 250 | macros/latex/contrib/glossaries-extra/samples/sample-suppl.tex 2021/11/22 | 250134 | macros/latex/contrib/l3kernel/l3news09.pdf -2021/11/22 | 25001 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma 2021/11/22 | 24857 | macros/latex/contrib/l3kernel/l3luatex.dtx 2021/11/22 | 24673 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx 2021/11/22 | 24631 | macros/latex/contrib/l3kernel/source3body.tex -2021/11/22 | 243515 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma 2021/11/22 | 242490 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf +2021/11/22 | 2419 | support/bib2gls/examples/minerals.bib 2021/11/22 | 241568 | systems/texlive/tlnet/archive/uptex.doc.r61107.tar.xz +2021/11/22 | 241545 | support/bib2gls/src/bib2gls-begin.tex +2021/11/22 | 2392 | support/bib2gls/examples/constants.bib 2021/11/22 | 2390 | macros/latex/contrib/l3kernel/l3docstrip.dtx -2021/11/22 | 23899 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2021/11/22 | 23353 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2021/11/22 | 2323388 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/11/22 | 23851 | support/bib2gls/examples/sample-usergroups.pdf +2021/11/22 | 2367 | support/bib2gls/examples/sample-people.tex 2021/11/22 | 230879 | macros/latex/contrib/l3kernel/l3term-glossary.pdf +2021/11/22 | 2301 | support/bib2gls/examples/miscsymbols.bib 2021/11/22 | 23011 | macros/latex/contrib/l3kernel/l3fp-logic.dtx +2021/11/22 | 2289 | macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.tex 2021/11/22 | 2281 | macros/latex/contrib/fcolumn/fcolumn.ins +2021/11/22 | 227518 | support/bib2gls/src/bib2gls-src.zip 2021/11/22 | 2229 | macros/latex/contrib/l3kernel/source3.tex -2021/11/22 | 22038 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2021/11/22 | 217427 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/11/22 | 2202 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.tex 2021/11/22 | 21688 | systems/texlive/tlnet/archive/ekdosis.r61113.tar.xz 2021/11/22 | 21643 | macros/latex/contrib/l3kernel/l3text-purify.dtx -2021/11/22 | 21170 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/11/22 | 214722 | macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf 2021/11/22 | 21057 | fonts/kpfonts-otf/tex/kpfonts-otf.sty -2021/11/22 | 20873276 | systems/texlive/tlnet/install-tl-windows.exe -2021/11/22 | 208026 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2021/11/22 | 207161 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma 2021/11/22 | 204992 | macros/latex/contrib/l3kernel/l3news12.pdf -2021/11/22 | 202822 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2021/11/22 | 20112 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2021/11/22 | 2003279 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2021/11/22 | 199532 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma 2021/11/22 | 198620 | fonts/kpfonts-otf/fonts/KpMath-Semibold.otf -2021/11/22 | 198318 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2021/11/22 | 198067 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2021/11/22 | 197410 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma 2021/11/22 | 196892 | fonts/kpfonts-otf/fonts/KpMath-Bold.otf +2021/11/22 | 19669 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf +2021/11/22 | 1965 | macros/latex/contrib/glossaries-extra/samples/sample-header.tex 2021/11/22 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx 2021/11/22 | 19596 | systems/texlive/tlnet/archive/xassoccnt.r61112.tar.xz -2021/11/22 | 195704 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2021/11/22 | 194728 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma 2021/11/22 | 194429 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf +2021/11/22 | 1941 | support/bib2gls/examples/sample-citations.tex 2021/11/22 | 191524 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf 2021/11/22 | 1908 | macros/latex/contrib/l3kernel/interface3.tex 2021/11/22 | 185 | fonts/kpfonts-otf/tex/KpMono.fontspec 2021/11/22 | 18531 | macros/latex/contrib/l3kernel/l3fp-round.dtx -2021/11/22 | 18158 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma 2021/11/22 | 1814558 | fonts/kpfonts-otf/doc/unimath-kpfonts.pdf -2021/11/22 | 180125 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2021/11/22 | 17975 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2021/11/22 | 179745 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2021/11/22 | 179114 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/11/22 | 1804 | macros/latex/contrib/glossaries-extra/samples/sample-initialisms.tex +2021/11/22 | 1775 | macros/latex/contrib/glossaries-extra/samples/sample-postlink.tex +2021/11/22 | 1772 | support/bib2gls/examples/markuplanguages.bib 2021/11/22 | 1759054 | macros/latex/contrib/l3kernel/interface3.pdf +2021/11/22 | 17583 | support/bib2gls/bib2gls.1 +2021/11/22 | 1740 | support/bib2gls/examples/sample-units3.tex +2021/11/22 | 1736 | macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.tex +2021/11/22 | 1734 | support/bib2gls/examples/sample-media.tex 2021/11/22 | 1731746 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb -2021/11/22 | 171173 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2021/11/22 | 1710499 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/11/22 | 171404 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf +2021/11/22 | 1709883 | macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html 2021/11/22 | 170069 | macros/latex/contrib/l3kernel/l3news11.pdf -2021/11/22 | 16983388 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/11/22 | 168974 | macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf 2021/11/22 | 16827 | fonts/kpfonts-otf/doc/unimath-kpfonts.ltx -2021/11/22 | 16448 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2021/11/22 | 16361 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/11/22 | 166498 | support/bib2gls/examples/sample-media.pdf +2021/11/22 | 16561 | support/bib2gls/src/bib2gls-terms.bib +2021/11/22 | 1645 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.tex 2021/11/22 | 163455 | macros/latex/contrib/l3kernel/l3news08.pdf -2021/11/22 | 159824 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2021/11/22 | 155920 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/11/22 | 1603 | support/bib2gls/examples/animals.bib +2021/11/22 | 1580 | support/bib2gls/examples/derivedunits.bib +2021/11/22 | 15747 | macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.tex 2021/11/22 | 155524 | macros/latex/contrib/l3kernel/l3doc.dtx -2021/11/22 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2021/11/22 | 153913 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2021/11/22 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/11/22 | 1523017 | macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf 2021/11/22 | 151572 | macros/latex/contrib/l3kernel/l3news06.pdf 2021/11/22 | 151359 | macros/latex/contrib/l3kernel/l3docstrip.pdf +2021/11/22 | 1506 | support/bib2gls/examples/sample-authors.tex 2021/11/22 | 150672 | macros/latex/contrib/l3kernel/l3news02.pdf 2021/11/22 | 150289 | macros/latex/contrib/l3kernel/l3news10.pdf +2021/11/22 | 14946 | support/bib2gls/CHANGES 2021/11/22 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex 2021/11/22 | 14882 | macros/latex/contrib/l3kernel/l3pdf.dtx 2021/11/22 | 14877 | macros/latex/contrib/l3kernel/l3bootstrap.dtx 2021/11/22 | 148707 | macros/latex/contrib/l3kernel/l3news03.pdf -2021/11/22 | 147417 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2021/11/22 | 1470953 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2021/11/22 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2021/11/22 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/11/22 | 1479 | macros/latex/contrib/glossaries-extra/samples/sample-postdot.tex +2021/11/22 | 146844 | macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf +2021/11/22 | 1455 | macros/latex/contrib/glossaries-extra/samples/sample-record.tex 2021/11/22 | 144 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.sha512 2021/11/22 | 144250 | macros/latex/contrib/l3kernel/l3tl.dtx -2021/11/22 | 14337 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2021/11/22 | 142840 | fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf -2021/11/22 | 1422199 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/11/22 | 14247 | macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf +2021/11/22 | 1418 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.tex 2021/11/22 | 14108 | systems/texlive/tlnet/archive/apa7.r61110.tar.xz 2021/11/22 | 140432 | fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf -2021/11/22 | 1389176 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2021/11/22 | 1388244 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/11/22 | 1396 | support/bib2gls/examples/sample-markuplanguages.tex +2021/11/22 | 1382 | support/bib2gls/examples/sample-bacteria.tex 2021/11/22 | 13818380 | systems/texlive/tlnet/archive/xetex.universal-darwin.r61101.tar.xz -2021/11/22 | 136711 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/11/22 | 1378 | support/bib2gls/examples/sample-constants.tex +2021/11/22 | 1375 | macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.tex +2021/11/22 | 1371 | support/bib2gls/examples/citations.bib +2021/11/22 | 1367 | macros/latex/contrib/glossaries-extra/samples/sample-trans.tex 2021/11/22 | 136306 | macros/latex/contrib/l3kernel/l3file.dtx -2021/11/22 | 136280 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/11/22 | 135372 | macros/latex/contrib/glossaries-extra/samples/sample-header.pdf 2021/11/22 | 135316 | fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf -2021/11/22 | 1346947 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2021/11/22 | 13460 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2021/11/22 | 133957 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/11/22 | 1344 | support/bib2gls/examples/sample-nested.tex 2021/11/22 | 132976 | fonts/kpfonts-otf/fonts/KpRoman-Italic.otf 2021/11/22 | 132224 | fonts/kpfonts-otf/fonts/KpRoman-Bold.otf 2021/11/22 | 131120 | fonts/kpfonts-otf/fonts/KpRoman-Regular.otf +2021/11/22 | 1306 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly.tex 2021/11/22 | 13064147 | install/macros/latex/contrib/l3kernel.tds.zip 2021/11/22 | 130468 | fonts/kpfonts-otf/fonts/KpRoman-Light.otf -2021/11/22 | 1300867 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma 2021/11/22 | 12961788 | systems/texlive/tlnet/archive/koma-script.r61108.tar.xz 2021/11/22 | 129480 | fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf -2021/11/22 | 1290584 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/11/22 | 1291 | support/bib2gls/examples/sample-chemical.tex 2021/11/22 | 129039 | macros/latex/contrib/l3kernel/l3basics.dtx -2021/11/22 | 1286653 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2021/11/22 | 1286493 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2021/11/22 | 128312 | macros/latex/contrib/l3kernel/l3news07.pdf 2021/11/22 | 12810848 | macros/latex/contrib/l3kernel.zip 2021/11/22 | 12783 | macros/latex/contrib/l3kernel/l3fp-traps.dtx +2021/11/22 | 12775 | support/bib2gls/examples/sample-multi2.tex +2021/11/22 | 1269 | macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.tex +2021/11/22 | 1265 | support/bib2gls/examples/mathsrelations.bib 2021/11/22 | 125873 | macros/latex/contrib/l3kernel/l3token.dtx -2021/11/22 | 124756 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/11/22 | 1249676 | macros/latex/contrib/glossaries-extra/glossaries-extra.dtx +2021/11/22 | 1238 | macros/latex/contrib/glossaries-extra/samples/sample-fmt.tex +2021/11/22 | 1234 | support/bib2gls/examples/sample-units2.tex 2021/11/22 | 122713 | macros/latex/contrib/l3kernel/l3news01.pdf +2021/11/22 | 1219 | support/bib2gls/examples/bacteria.bib +2021/11/22 | 121290 | support/bib2gls/examples/sample-maths.pdf +2021/11/22 | 1207 | support/bib2gls/examples/sample-textsymbols.tex 2021/11/22 | 120181 | macros/latex/contrib/l3kernel/l3keys.dtx -2021/11/22 | 119744 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/11/22 | 11935 | macros/latex/contrib/glossaries-extra/samples/sample-mixture.tex +2021/11/22 | 1191 | macros/latex/contrib/glossaries-extra/samples/sample-entrycount.tex 2021/11/22 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex 2021/11/22 | 11781 | macros/latex/contrib/l3kernel/l3fparray.dtx -2021/11/22 | 1169822 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2021/11/22 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini -2021/11/22 | 115233 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/11/22 | 11591 | macros/latex/contrib/glossaries-extra/samples/sample-name-font.tex 2021/11/22 | 114588 | macros/latex/contrib/l3kernel/l3news04.pdf 2021/11/22 | 1141224 | systems/texlive/tlnet/archive/xassoccnt.doc.r61112.tar.xz 2021/11/22 | 113422 | macros/latex/contrib/l3kernel/l3str-convert.dtx 2021/11/22 | 113168 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.xz -2021/11/22 | 112898 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2021/11/22 | 112596 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma 2021/11/22 | 112485 | macros/latex/contrib/l3kernel/l3news05.pdf +2021/11/22 | 111694 | macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf 2021/11/22 | 111112 | fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf 2021/11/22 | 111072 | fonts/kpfonts-otf/fonts/KpSans-Italic.otf +2021/11/22 | 1101 | macros/latex/contrib/glossaries-extra/samples/sample-nested.tex 2021/11/22 | 10932 | systems/texlive/tlnet/archive/graphics-def.r61111.tar.xz -2021/11/22 | 109073 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2021/11/22 | 108304 | systems/texlive/tlnet/archive/texlive-scripts.r61103.tar.xz +2021/11/22 | 109213 | support/bib2gls/examples/sample-msymbols.pdf +2021/11/22 | 1091 | support/bib2gls/examples/vegetables.bib 2021/11/22 | 107813 | macros/latex/contrib/l3kernel/l3expan.dtx -2021/11/22 | 1076110 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2021/11/22 | 107432 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma 2021/11/22 | 107383 | macros/latex/contrib/l3kernel/l3news09.tex +2021/11/22 | 1070 | support/bib2gls/examples/sample-units1.tex +2021/11/22 | 1065 | macros/latex/contrib/glossaries-extra/samples/sample-onelink.tex 2021/11/22 | 105029 | macros/latex/contrib/l3kernel/l3fp-parse.dtx -2021/11/22 | 103993 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2021/11/22 | 103390 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/11/22 | 1048 | macros/latex/contrib/glossaries-extra/samples/sample-linkcount.tex +2021/11/22 | 1031 | support/bib2gls/examples/baseunits.bib 2021/11/22 | 103116 | fonts/kpfonts-otf/fonts/KpSans-Bold.otf 2021/11/22 | 102532 | fonts/kpfonts-otf/fonts/KpSans-Regular.otf -2021/11/22 | 100487 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2021/11/22 | 100072 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/11/22 | 1024 | macros/latex/contrib/glossaries-extra/samples/sample-indexhook.tex +2021/11/22 | 10148 | support/bib2gls/src/bib2gls.pod +2021/11/22 | 1014788 | support/bib2gls/src/bib2gls.tex 2021/11/21 | 99 | indexing/upmendex/source/tests/rule3.ist 2021/11/21 | 98 | indexing/upmendex/source/version.h 2021/11/21 | 98952 | systems/win32/miktex/tm/packages/lshort-zh-cn__source.tar.lzma @@ -417,36 +689,38 @@ 2021/11/21 | 872 | indexing/upmendex/doc/samples/option/japanese.idx 2021/11/21 | 853 | macros/luatex/latex/ekdosis/samples/Makefile 2021/11/21 | 853411 | macros/latex/contrib/apa7.zip +2021/11/21 | 8453 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_scntfc.lua 2021/11/21 | 841 | indexing/upmendex/doc/samples/mdxsty02.ist 2021/11/21 | 79543 | macros/latex/contrib/xassoccnt/xassoccnt_driver_example.pdf +2021/11/21 | 7906 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua 2021/11/21 | 7869 | indexing/upmendex/source/main.c 2021/11/21 | 766 | indexing/upmendex/source/tests/uni.ind 2021/11/21 | 75 | indexing/upmendex/source/tests/rule1.ist 2021/11/21 | 749 | indexing/upmendex/doc/samples/option/Makefile +2021/11/21 | 73 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkii 2021/11/21 | 714562 | indexing/upmendex/source/configure 2021/11/21 | 70 | indexing/upmendex/source/tests/range1.ist 2021/11/21 | 7012959 | systems/win32/miktex/tm/packages/koma-script__source.tar.lzma 2021/11/21 | 69708 | macros/latex/contrib/apa7/samples/shortsample.pdf -2021/11/21 | 6937 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2021/11/21 | 68 | indexing/upmendex/source/tests/foo.idx 2021/11/21 | 6851 | macros/luatex/latex/ekdosis/samples/Caesar_BG-6-13-1-tei.xml 2021/11/21 | 68361 | macros/latex/contrib/xassoccnt/xassoccnt_example.pdf 2021/11/21 | 6700 | macros/latex/contrib/apa7/apa7.ins 2021/11/21 | 65 | indexing/upmendex/doc/samples/alphabet/mdxsty_es1.ist 2021/11/21 | 65241 | macros/latex/contrib/xassoccnt/xassoccnt_totalcounters_example.pdf +2021/11/21 | 6523 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv 2021/11/21 | 64 | indexing/upmendex/source/tests/uni.dict 2021/11/21 | 64 | indexing/upmendex/source/tests/attr1.ist 2021/11/21 | 647 | indexing/upmendex/doc/samples/multi.idx 2021/11/21 | 64738 | macros/latex/contrib/xassoccnt/xassoccnt_resetlist_example.pdf +2021/11/21 | 6405 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_glag.lua 2021/11/21 | 614 | indexing/upmendex/doc/samples/russian.idx 2021/11/21 | 6131797 | systems/win32/miktex/tm/packages/koma-script__doc.tar.lzma 2021/11/21 | 60 | indexing/upmendex/doc/samples/alphabet/mdxsty_es2.ist 2021/11/21 | 60545 | macros/latex/contrib/xassoccnt/xassoccnt_suspendedcounters_example.pdf -2021/11/21 | 601748 | systems/texlive/tlnet/archive/easybook.doc.r61098.tar.xz 2021/11/21 | 58 | indexing/upmendex/source/tests/foo.ind 2021/11/21 | 5895 | macros/latex/contrib/graphics-def/dvips.def 2021/11/21 | 5842 | indexing/upmendex/source/qsort.c -2021/11/21 | 583733 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma 2021/11/21 | 5834 | indexing/upmendex/source/kana.h 2021/11/21 | 555774 | macros/latex/contrib/apa7/apa7.pdf 2021/11/21 | 544244 | macros/latex/contrib/xassoccnt/xassoccnt_doc.pdf @@ -464,6 +738,7 @@ 2021/11/21 | 458679 | macros/generic/expkv-cs/expkv-cs.pdf 2021/11/21 | 452991 | macros/luatex/latex/ekdosis/ekdosis.dtx 2021/11/21 | 4485 | indexing/upmendex/doc/samples/alphabet/alpha_zhr.idx +2021/11/21 | 4462 | graphics/mcf2graph/README 2021/11/21 | 4452 | indexing/upmendex/README.md 2021/11/21 | 44397 | indexing/upmendex/source/aclocal.m4 2021/11/21 | 43 | indexing/upmendex/doc/samples/alphabet/mdxsty_es.ist @@ -481,9 +756,9 @@ 2021/11/21 | 400 | indexing/upmendex/source/qsort.h 2021/11/21 | 3977 | macros/luatex/latex/ekdosis/Makefile 2021/11/21 | 393 | indexing/upmendex/doc/samples/Makefile -2021/11/21 | 39324 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma 2021/11/21 | 3903 | macros/luatex/latex/ekdosis/samples/Caesar_BG-6-13-1.tex 2021/11/21 | 38 | indexing/upmendex/source/tests/locale2.ist +2021/11/21 | 38543 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex 2021/11/21 | 3717 | macros/latex/contrib/xassoccnt/xassoccnt_coupledcounters_example.tex 2021/11/21 | 35642 | macros/latex/contrib/xassoccnt/xassoccnt_resetloop_example.pdf 2021/11/21 | 340 | indexing/upmendex/doc/samples/greek.idx @@ -491,7 +766,9 @@ 2021/11/21 | 334 | indexing/upmendex/doc/samples/option/mdxsty_rule0.ist 2021/11/21 | 333 | indexing/upmendex/source/indexsty 2021/11/21 | 33080 | indexing/upmendex/source/fwrite.c +2021/11/21 | 32 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tex 2021/11/21 | 3278 | indexing/upmendex/source/tests/range.idx +2021/11/21 | 3175 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_bg.lua 2021/11/21 | 31639 | macros/latex/contrib/xassoccnt/xassoccnt_periodiccounters_example.pdf 2021/11/21 | 3129328 | systems/texlive/tlnet/archive/dvipdfmx.doc.r61101.tar.xz 2021/11/21 | 295 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh31.ist @@ -505,6 +782,7 @@ 2021/11/21 | 271 | indexing/upmendex/doc/samples/option/mdxsty_j01.ist 2021/11/21 | 271 | indexing/upmendex/doc/samples/option/mdxsty_j00.ist 2021/11/21 | 2704 | macros/latex/contrib/xassoccnt/xassoccnt_label_example.tex +2021/11/21 | 26763 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_trsc.lua 2021/11/21 | 26716 | systems/texlive/tlnet/archive/dvipdfmx.r61101.tar.xz 2021/11/21 | 2652 | indexing/upmendex/source/mendex.h 2021/11/21 | 261 | indexing/upmendex/doc/samples/alphabet/mdxsty_head2.ist @@ -519,9 +797,11 @@ 2021/11/21 | 2311 | indexing/upmendex/source/var.h 2021/11/21 | 2144 | indexing/upmendex/doc/samples/alphabet/alpha_zhz.idx 2021/11/21 | 213 | indexing/upmendex/source/tests/pprecA.idx +2021/11/21 | 2132 | macros/context/contrib/context-transliterator/tex/context/interface/third/t-transliterator.xml 2021/11/21 | 21189 | indexing/upmendex/source/sort.c 2021/11/21 | 207 | indexing/upmendex/source/tests/pprecB.idx 2021/11/21 | 204050 | macros/latex/contrib/apa7/samples/longsample.pdf +2021/11/21 | 2037 | macros/context/contrib/context-transliterator/scripts/context/lua/third/transliterator/mtx-t-transliterate.lua 2021/11/21 | 2034 | indexing/upmendex/doc/samples/alphabet/alpha_es.idx 2021/11/21 | 2031 | macros/latex/contrib/xassoccnt/xassoccnt_periodiccounters_example.tex 2021/11/21 | 19515 | indexing/upmendex/source/hanzi.h @@ -533,6 +813,7 @@ 2021/11/21 | 1891 | indexing/upmendex/doc/samples/alphabet/alpha_zhp.idx 2021/11/21 | 1874 | macros/luatex/latex/ekdosis/ekdosis.ins 2021/11/21 | 182 | indexing/upmendex/source/tests/pprec0.ist +2021/11/21 | 182256 | macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf 2021/11/21 | 1807 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh14.ist 2021/11/21 | 1807 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh13.ist 2021/11/21 | 1807 | indexing/upmendex/doc/samples/alphabet/mdxsty_zh12.ist @@ -541,12 +822,11 @@ 2021/11/21 | 179 | indexing/upmendex/source/tests/pprec3.ist 2021/11/21 | 179 | indexing/upmendex/source/tests/pprec2.ist 2021/11/21 | 179 | indexing/upmendex/source/tests/pprec1.ist -2021/11/21 | 17668 | systems/texlive/tlnet/archive/easybook.source.r61098.tar.xz -2021/11/21 | 17600 | systems/texlive/tlnet/archive/easybook.r61098.tar.xz 2021/11/21 | 1741 | macros/latex/contrib/xassoccnt/xassoccnt_resetloop_example.tex 2021/11/21 | 1740 | macros/latex/contrib/xassoccnt/xassoccnt_suspendedcounters_example.tex 2021/11/21 | 16 | indexing/upmendex/source/tests/locale1.ist -2021/11/21 | 16372 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2021/11/21 | 16907 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_gr.lua +2021/11/21 | 16087 | graphics/mcf2graph/CHANGELOG 2021/11/21 | 158 | indexing/upmendex/source/tests/uni1.ist 2021/11/21 | 1561100 | systems/texlive/tlnet/archive/lshort-chinese.doc.r61100.tar.xz 2021/11/21 | 1557 | macros/latex/contrib/apa7/README.txt @@ -591,6 +871,8 @@ 2021/11/21 | 117747 | macros/latex/contrib/xassoccnt/xassoccnt_doc.tex 2021/11/21 | 117711 | macros/generic/expkv-cs/expkv-cs.dtx 2021/11/21 | 1169 | indexing/upmendex/source/tests/range2.ind +2021/11/21 | 11514 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_iso9.lua +2021/11/21 | 11469 | macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua 2021/11/21 | 10929 | systems/win32/miktex/tm/packages/fancyvrb__source.tar.lzma 2021/11/21 | 10783 | indexing/upmendex/source/ChangeLog 2021/11/21 | 1077 | indexing/upmendex/source/tests/range3.ind @@ -643,6 +925,7 @@ 2021/11/20 | 27737525 | systems/win32/miktex/tm/packages/latex-base-dev__doc.tar.lzma 2021/11/20 | 27130 | info/lshort/chinese/src/chap/chap.01.basics.tex 2021/11/20 | 2665 | systems/win32/miktex/tm/packages/graphics-pln__doc.tar.lzma +2021/11/20 | 2417 | graphics/mcf2graph/mcf_example.tex 2021/11/20 | 2394894 | systems/win32/miktex/tm/packages/latex-amsmath-dev__doc.tar.lzma 2021/11/20 | 233427 | systems/win32/miktex/tm/packages/latex-firstaid-dev__doc.tar.lzma 2021/11/20 | 22989 | info/lshort/chinese/src/chap/fdl.tex @@ -890,152 +1173,3 @@ 2021/11/17 | 1050 | support/arara/scripts/rules/arara-rule-tex.yaml 2021/11/17 | 1046 | support/arara/doc/rules/quickstart.yaml 2021/11/17 | 1032 | support/arara/doc/rules/manual.yaml -2021/11/16 | 938 | macros/latex/contrib/oberdiek/oberdiek-source.bib -2021/11/16 | 90013 | macros/latex/contrib/utf8add.zip -2021/11/16 | 8780 | systems/texlive/tlnet/archive/graphics-pln.r61063.tar.xz -2021/11/16 | 848 | macros/latex/contrib/beamer-contrib/themes/thubeamer/Makefile -2021/11/16 | 8027870 | graphics/pstricks/base.zip -2021/11/16 | 7683 | macros/latex/contrib/beamer-contrib/themes/thubeamer/macros.tex -2021/11/16 | 7271168 | macros/latex-dev/required/tools.zip -2021/11/16 | 696 | macros/generic/texdimens/LICENSE.md -2021/11/16 | 6851 | macros/latex/contrib/oberdiek/oberdiek-bundle.bib -2021/11/16 | 6727 | macros/latex/contrib/utf8add/utf8add.tex -2021/11/16 | 6602 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer-example.tex -2021/11/16 | 602839 | macros/generic/hologo/hologo.pdf -2021/11/16 | 595663 | macros/generic/hologo.zip -2021/11/16 | 5920 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer-example-en.tex -2021/11/16 | 576 | graphics/pstricks/contrib/pst-arrow/Changes -2021/11/16 | 562 | graphics/pstricks/contrib/pst-arrow/README -2021/11/16 | 544212 | macros/latex/contrib/oberdiek/resizegather.pdf -2021/11/16 | 5332 | systems/texlive/tlnet/archive/formal-grammar.source.r61062.tar.xz -2021/11/16 | 527 | graphics/pstricks/contrib/pst-arrow/latex/pst-arrow.sty -2021/11/16 | 527470 | macros/latex/contrib/oberdiek/bmpsize.pdf -2021/11/16 | 46934 | macros/latex/contrib/oberdiek/pdfrender.dtx -2021/11/16 | 4664 | graphics/pstricks/base/Changes -2021/11/16 | 4486 | macros/latex/contrib/beamer-contrib/themes/thubeamer/README.md -2021/11/16 | 42419 | macros/latex/contrib/utf8add/utf8add.pdf -2021/11/16 | 413812 | macros/latex/contrib/oberdiek/pdfrender.pdf -2021/11/16 | 406600 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer-example.pdf -2021/11/16 | 40521 | macros/generic/texdimens/texdimens.tex -2021/11/16 | 39436 | macros/latex/contrib/utf8add/utf8hax.pdf -2021/11/16 | 387 | macros/latex/contrib/hypdoc/README.md -2021/11/16 | 387720 | macros/latex/contrib/oberdiek/fibnum.pdf -2021/11/16 | 3852 | systems/texlive/tlnet/archive/exesheet.r61061.tar.xz -2021/11/16 | 378179 | macros/latex/contrib/oberdiek/thepdfnumber.pdf -2021/11/16 | 37282 | graphics/pstricks/base/dvips/pstricks.pro -2021/11/16 | 359643 | macros/latex/contrib/oberdiek/tabularht.pdf -2021/11/16 | 358759 | macros/latex/contrib/oberdiek/setouterhbox.pdf -2021/11/16 | 3523 | macros/generic/texdimens/README.md -2021/11/16 | 3520 | macros/latex/contrib/beamer-contrib/themes/thubeamer/reference.bib -2021/11/16 | 34951 | macros/latex/contrib/hypdoc/hypdoc.dtx -2021/11/16 | 348875 | macros/latex/contrib/oberdiek/pdfcolparallel.pdf -2021/11/16 | 348190 | macros/latex/contrib/oberdiek/engord.pdf -2021/11/16 | 34809866 | macros/latex-dev/base.zip -2021/11/16 | 347153 | macros/latex/contrib/oberdiek/eolgrab.pdf -2021/11/16 | 346420 | macros/latex/contrib/oberdiek/rotchiffre.pdf -2021/11/16 | 343 | macros/latex/contrib/beamer-contrib/themes/thubeamer/makecleanall.bat -2021/11/16 | 343995 | macros/latex/contrib/oberdiek/iflang.pdf -2021/11/16 | 339405 | macros/latex/contrib/oberdiek/pagegrid.pdf -2021/11/16 | 338513 | macros/latex/contrib/oberdiek/pdfcrypt.pdf -2021/11/16 | 337274 | macros/latex/contrib/oberdiek/protecteddef.pdf -2021/11/16 | 336532 | macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf -2021/11/16 | 333938 | macros/latex/contrib/oberdiek/holtxdoc.pdf -2021/11/16 | 333212 | macros/latex/contrib/hypdoc/hypdoc.pdf -2021/11/16 | 332722 | macros/latex/contrib/oberdiek/enparen.pdf -2021/11/16 | 331215 | macros/latex/contrib/oberdiek/telprint.pdf -2021/11/16 | 330483 | macros/latex/contrib/oberdiek/pdfcol.pdf -2021/11/16 | 32949 | macros/latex/contrib/oberdiek/thepdfnumber.dtx -2021/11/16 | 329234 | macros/latex/contrib/hypdoc.zip -2021/11/16 | 328581 | macros/latex/contrib/oberdiek/hyphsubst.pdf -2021/11/16 | 322874 | macros/latex/contrib/oberdiek/pdfcolfoot.pdf -2021/11/16 | 321516 | macros/latex/contrib/oberdiek/aliascnt.pdf -2021/11/16 | 321296 | macros/latex/contrib/oberdiek/settobox.pdf -2021/11/16 | 3204 | graphics/pstricks/contrib/pst-arrow/doc/pst-arrow-doc.bib -2021/11/16 | 32023 | macros/generic/texdimens/texdimens.md -2021/11/16 | 318401 | macros/latex/contrib/oberdiek/chemarr.pdf -2021/11/16 | 317700 | macros/latex/contrib/oberdiek/hypbmsec.pdf -2021/11/16 | 313 | macros/latex/contrib/beamer-contrib/themes/thubeamer/makeclean.bat -2021/11/16 | 313547 | macros/latex/contrib/oberdiek/hypgotoe.pdf -2021/11/16 | 312343 | macros/latex/contrib/oberdiek/colonequals.pdf -2021/11/16 | 311506 | macros/latex/contrib/oberdiek/hypcap.pdf -2021/11/16 | 311494 | macros/latex/contrib/oberdiek/flags.pdf -2021/11/16 | 31131 | macros/latex/contrib/oberdiek/tabularht.dtx -2021/11/16 | 310490 | macros/latex/contrib/oberdiek/scrindex.pdf -2021/11/16 | 310478 | macros/latex/contrib/oberdiek/stackrel.pdf -2021/11/16 | 304678 | macros/latex/contrib/oberdiek/stampinclude.pdf -2021/11/16 | 304615 | macros/latex/contrib/oberdiek/centernot.pdf -2021/11/16 | 301605 | macros/latex/contrib/oberdiek/twoopt.pdf -2021/11/16 | 300 | macros/generic/hologo/README.md -2021/11/16 | 298535 | macros/latex/contrib/oberdiek/classlist.pdf -2021/11/16 | 297204 | macros/latex/contrib/oberdiek/dvipscol.pdf -2021/11/16 | 29459 | macros/latex/contrib/oberdiek/setouterhbox.dtx -2021/11/16 | 292584 | macros/latex/contrib/oberdiek/ifdraft.pdf -2021/11/16 | 2907 | macros/latex/contrib/oberdiek/README.md -2021/11/16 | 287792 | macros/latex/contrib/oberdiek/oberdiek.pdf -2021/11/16 | 285388 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer-example-en.pdf -2021/11/16 | 28136 | macros/latex/contrib/oberdiek/pagegrid.dtx -2021/11/16 | 281059 | macros/latex/contrib/oberdiek/tabularkv.pdf -2021/11/16 | 27847 | macros/latex/contrib/oberdiek/pdfcrypt.dtx -2021/11/16 | 273 | macros/generic/texdimens/texdimens.sty -2021/11/16 | 2734843 | macros/latex-dev/required/amsmath.zip -2021/11/16 | 26994 | macros/latex/contrib/oberdiek/pdfcolparallel.dtx -2021/11/16 | 26484 | macros/latex/contrib/oberdiek/pdfcol.dtx -2021/11/16 | 2632948 | macros/latex-dev/required/graphics.zip -2021/11/16 | 26109 | macros/latex/contrib/oberdiek/enparen.dtx -2021/11/16 | 25810 | macros/latex/contrib/oberdiek/fibnum.dtx -2021/11/16 | 25691 | macros/latex/contrib/oberdiek/rotchiffre.dtx -2021/11/16 | 25308 | macros/latex/contrib/oberdiek/iflang.dtx -2021/11/16 | 25146 | macros/latex/contrib/oberdiek/hypbmsec.dtx -2021/11/16 | 25097 | macros/latex/contrib/oberdiek/eolgrab.dtx -2021/11/16 | 24890 | macros/latex/contrib/oberdiek/telprint.dtx -2021/11/16 | 24780 | macros/latex/contrib/oberdiek/resizegather.dtx -2021/11/16 | 24184 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer.dtx -2021/11/16 | 24106 | macros/latex/contrib/oberdiek/engord.dtx -2021/11/16 | 239515 | macros/latex-dev/required/firstaid.zip -2021/11/16 | 2236 | systems/texlive/tlnet/archive/graphics-pln.doc.r61063.tar.xz -2021/11/16 | 223080 | graphics/pstricks/contrib/pst-arrow/doc/pst-arrow-doc.pdf -2021/11/16 | 2225 | macros/latex/contrib/oberdiek/oberdiek.ins -2021/11/16 | 21668 | macros/latex/contrib/oberdiek/holtxdoc.dtx -2021/11/16 | 21476 | macros/latex/contrib/oberdiek/hypcap.dtx -2021/11/16 | 21343 | macros/latex/contrib/oberdiek/hyphsubst.dtx -2021/11/16 | 20819 | macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx -2021/11/16 | 20812 | macros/latex/contrib/oberdiek/protecteddef.dtx -2021/11/16 | 201311 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer.pdf -2021/11/16 | 20084 | macros/latex/contrib/utf8add/utf8add.sty -2021/11/16 | 20045 | macros/latex/contrib/oberdiek/settobox.dtx -2021/11/16 | 196 | macros/latex/contrib/beamer-contrib/themes/thubeamer/makebeamer-en.bat -2021/11/16 | 19329 | macros/latex/contrib/oberdiek/pdfcolfoot.dtx -2021/11/16 | 19267 | macros/latex/contrib/oberdiek/scrindex.dtx -2021/11/16 | 192388 | systems/texlive/tlnet/archive/formal-grammar.doc.r61062.tar.xz -2021/11/16 | 19105 | macros/latex/contrib/beamer-contrib/themes/thubeamer/License -2021/11/16 | 18499 | macros/latex/contrib/oberdiek/stampinclude.dtx -2021/11/16 | 181 | macros/latex/contrib/beamer-contrib/themes/thubeamer/makebeamer.bat -2021/11/16 | 1814026 | macros/latex/contrib/hitszthesis.zip -2021/11/16 | 18053 | macros/latex/contrib/oberdiek/hypgotoe.dtx -2021/11/16 | 18023 | macros/latex/contrib/oberdiek/oberdiek.tex -2021/11/16 | 178152 | systems/texlive/tlnet/archive/exesheet.doc.r61061.tar.xz -2021/11/16 | 175 | macros/latex/contrib/beamer-contrib/themes/thubeamer/makedoc.bat -2021/11/16 | 1756 | systems/texlive/tlnet/archive/formal-grammar.r61062.tar.xz -2021/11/16 | 16829 | macros/latex/contrib/oberdiek/twoopt.dtx -2021/11/16 | 16789 | macros/latex/contrib/oberdiek/flags.dtx -2021/11/16 | 16633 | macros/latex/contrib/oberdiek/classlist.dtx -2021/11/16 | 16564 | macros/latex/contrib/oberdiek/colonequals.dtx -2021/11/16 | 16535 | macros/latex/contrib/oberdiek/aliascnt.dtx -2021/11/16 | 16360 | systems/texlive/tlnet/archive/exesheet.source.r61061.tar.xz -2021/11/16 | 152242 | graphics/pstricks/contrib/pst-arrow.zip -2021/11/16 | 15169 | macros/latex/contrib/oberdiek/ifdraft.dtx -2021/11/16 | 15084 | macros/latex/contrib/oberdiek/centernot.dtx -2021/11/16 | 14185 | macros/latex/contrib/oberdiek/dvipscol.dtx -2021/11/16 | 141112 | macros/latex/contrib/beamer-contrib/themes/thubeamer/thubeamer.bst -2021/11/16 | 13782 | macros/latex/contrib/oberdiek/stackrel.dtx -2021/11/16 | 13772 | macros/latex/contrib/oberdiek/chemarr.dtx -2021/11/16 | 135285 | macros/generic/texdimens.zip -2021/11/16 | 13455928 | install/macros/latex/contrib/oberdiek.tds.zip -2021/11/16 | 13344 | macros/latex/contrib/oberdiek/tabularkv.dtx -2021/11/16 | 13339140 | macros/latex/contrib/oberdiek.zip -2021/11/16 | 115110 | macros/generic/texdimens/texdimens.pdf -2021/11/16 | 114833 | macros/generic/hologo/hologo.dtx -2021/11/16 | 111420 | macros/latex/contrib/beamer-contrib/themes/thubeamer/figures/thulogo.pdf -2021/11/16 | 106085 | macros/latex/contrib/oberdiek/bmpsize.dtx -2021/11/16 | 10366 | graphics/pstricks/contrib/pst-arrow/tex/pst-arrow.tex -2021/11/16 | 1011179 | macros/latex/contrib/beamer-contrib/themes/thubeamer.zip diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG index 79b7e2d68c..12b0f95163 100644 --- a/graphics/mcf2graph/CHANGELOG +++ b/graphics/mcf2graph/CHANGELOG @@ -1,6 +1,14 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2021-10-10 + Changelog of mcf2graph software package by Akira Yamaji 2021-11-23 ******************************************************************************* +[ver. 4.74 / 2021-11-23] + -change syntax of fused ring + (a,b)=?6[4] => (a,b)=?6 + (a,b)=?5[3] => (a,b)=?5 + (a,b)=?4[2] => (a,b)=?4 + -update mcf_data_base.mcf + -update MCF manual,example + [ver. 4.73 / 2021-10-10] -update mcf_data_base.mcf -update MCF manual,example diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README index bf39e90947..73f14b5ee4 100644 --- a/graphics/mcf2graph/README +++ b/graphics/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST Author : Akira Yamaji - version : 4.73 2021-10-10 + version : 4.74 2021-11-23 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -16,23 +16,21 @@ 2. The distribution of software ( 1) README This file - ( 2) CHANGELOG Changelog file of mcf2graph + ( 2) CHANGELOG Changelog file of mcf2graph ( 3) mcf2graph.mf Main macro of Metafont / Metapost ( 4) mcf_data_base.mcf Molecular data base file ( 5) mcf_setup.sty Style file for aux file input ( 6) mcf_manual.tex MCF syntax manual(LaTeX file) - use pk font for proof print - use mps file for final print - make file 'mcf_man_soc-***.mps' before typeset - >mpost mcf_man_soc.mf + make files 'mcf_man_soc-***.mps' before typeset + >mpost mcf_man_soc.mf ( 7) mcf_man_soc.mf Molecular definition file for mcf_manual.tex ( 8) mcf_manual.pdf PDF of (6) (used pdftex(LaTeX),makeindex) ( 9) mcf_example.tex LaTeX example make file 'mcf_exa_soc-info.aux' before typeset >mpost -s ahlength=1 mcf_exa_soc.mf - make file 'mcf_exa_soc-***.mps' before typeset + make files 'mcf_exa_soc-***.mps' before typeset >mpost mcf_exa_soc.mf - (for metafont) + (for metafont) make file 'mcf_exa_soc-mf.aux' before typeset >mpost -s ahlength=7 mcf_exa_soc.mf (10) mcf_exa_soc.mf Metafont/Metapost souce file for mcf_example.tex diff --git a/graphics/mcf2graph/mcf2graph.mf b/graphics/mcf2graph/mcf2graph.mf index c6cedf1637..d4d60da3c4 100644 --- a/graphics/mcf2graph/mcf2graph.mf +++ b/graphics/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.72 Copyright (c) 2013-2021 Akira Yamaji +% mcf2graph ver 4.74 Copyright (c) 2013-2021 Akira Yamaji % % 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, @@ -38,7 +38,7 @@ % Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tracingstats:=1; -message "* This is mcf2graph ver 4.73 2021.10.10"; +message "* This is mcf2graph ver 4.74 2021.11.23"; %------------------------------------------------------------------------------------------------- newinternal cntA,cntB,cntM,minX,minY,maxX,maxY,sftX,sftY,com,par,envT,envB,lenT,lineT,angT,rotT, crR,nA,nB,nC,nD,nE,nF,nS,nL,nR,nU,nP,xpos,ypos,markA,markB,saveA,saveB,bondL; @@ -65,9 +65,9 @@ Outside:=1; Inside:=2; Bothside:=Outside+Inside; %------------------------------------------------------------------------------------------------- a_prn_s:=ASCII("("); a_prn_e:=ASCII(")"); a_brc_s:=ASCII("{"); a_brc_e:=ASCII("}"); a_brk_s:=ASCII("["); a_brk_e:=ASCII("]"); a_cmm:=ASCII(","); a_equ:=ASCII("="); -a_ast:=ASCII("*"); a_sls:=ASCII("/"); a_gtn:=ASCII("<"); a_ltn:=ASCII(">"); a_and:=ASCII("&"); -a_dol:=ASCII("$"); a_hsh:=ASCII("#"); a_hat:=ASCII("^"); a_tld:=ASCII("~"); a_bqt:=ASCII("`"); -a_cln:=ASCII(":"); a_amk:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9"); a_qut:=ASCII("'"); +a_ast:=ASCII("*"); a_sls:=ASCII("/"); a_gtn:=ASCII("<"); a_ltn:=ASCII(">"); a_and:=ASCII("&"); +a_dol:=ASCII("$"); a_hsh:=ASCII("#"); a_hat:=ASCII("^"); a_tld:=ASCII("~"); a_bqt:=ASCII("`"); +a_cln:=ASCII(":"); a_amk:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9"); a_qut:=ASCII("'"); a_bar:=ASCII("|"); a_plus:=ASCII("+"); a_minus:=ASCII("-"); %-------------------------------------------------------------------------------------------------- let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif; @@ -101,25 +101,30 @@ if (known green)and(known ahlength): mpfont:="uhvr8r"; atomfont:=defaultfont:=""; %--default ahangle=45--------------------------------------------------------------------- - if ahangle=0: outputformat:="eps"; % eps format(.mps) - elseif ahangle=1: outputformat:="png"; hppp:=vppp:=0.12; % png format(600dpi) - elseif ahangle=11: outputformat:="png"; hppp:=vppp:=0.06; % png format(1200dpi) - elseif ahangle=2: outputformat:="svg"; % svg format - elseif ahangle=3: outputformat:="eps"; % eps format(.eps) - elseif ahangle=45: outputformat:="eps"; % eps format(.mps) *default + if ahangle=0: outputformat:="eps"; % eps format(.mps) + ef ahangle=1: outputformat:="png"; hppp:=vppp:=0.12; % png format(600dpi) + ef ahangle=11: outputformat:="png"; hppp:=vppp:=0.06; % png format(1200dpi) + ef ahangle=2: outputformat:="svg"; % svg format + ef ahangle=3: outputformat:="eps"; % eps format(.eps) + ef ahangle=45: outputformat:="eps"; % eps format(.mps) *default fi %--default ahlength=4--------------------------------------------------------------------- - if ahlength=1: sw_output:=Info; % output aux file - elseif ahlength=2: sw_output:=Info+Table; % output aux file(Table mode) - elseif ahlength=3: sw_output:=Report; % output report - elseif ahlength=4: sw_output:=Font; % *default - elseif ahlength=5: sw_output:=MOL2k; % output MOL(V2000) - elseif ahlength=6: sw_output:=MOL3k; % output MOL(V3000) - elseif ahlength=7: sw_output:=Mfont; % output aux mf - elseif ahlength=8: sw_output:=Mcode+Info; % output aux data-base + if ahlength=1: sw_output:=Info; % output aux file + ef ahlength=2: sw_output:=Info+Table; % output aux file(Table mode) + ef ahlength=3: sw_output:=Report; % output report + ef ahlength=4: sw_output:=Font; % *default + ef ahlength=5: sw_output:=MOL2k; % output MOL(V2000) + ef ahlength=6: sw_output:=MOL3k; % output MOL(V3000) + ef ahlength=7: sw_output:=Mfont; % output aux mf + ef ahlength=8: sw_output:=Mcode+Info; % output aux data-base fi %-- default bboxmargin=2------------------------------------------------------------------ - if bboxmargin=1: proc_end:=1; fi % output first font only + if bboxmargin=1: proc_end:=1; % output first font only + ef bboxmargin=3: ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.rt(inf_EN,(0,0));) + ef bboxmargin=4: sw_output:=Font+Info; + ext(defaultfont:="uhvr8r"; defaultscale:=.3; + label.rt(inf_EN&" / "&cal_MW&" / "&decimal(num_MW-scantokens(inf_MW)),(0,0));) + fi %--default labeloffset=3------------------------------------------------------------------ if labeloffset=1: defaultfont:=mpfont; % mpost label elseif labeloffset=2: defaultfont:=atomfont:=mpfont; % mpost label,atom @@ -192,9 +197,9 @@ max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5b %-------------------------------------------------------------------------------------------------- fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5); %================================================================================================== +bboxmargin:=0; % 2bp => 0 ahangle:=45; ahlength:=4bp; -bboxmargin:=2bp; defaultsize:=8bp; defaultscale:=1; labeloffset:=3bp; @@ -586,16 +591,52 @@ vardef change_bond(expr a,b) = nCP:=0; if numeric b:: if (b>=si)and(b<=bd_):: CPe(a)(_set_line,b) - elseif (b>=?3)and(b<=?20):: - if a>=parts_int_start:: for i==1 upto cntD[a]:: fuse_ring(parD[a][i],b-?3+3) endfor - else:: fuse_ring(a,b-?3+3) + elseif ((b>=?3)and(b<=?20))or(b==Ph1)or(b==Ph2):: + if numeric a:: + if a>=parts_int_start:: + for i==1 upto cntD[a]:: + if comD[a][i]==_numeric:: + if b==Ph1:: + fuse_ring(parD[a][i],6) + CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) + ef b==Ph2:: + fuse_ring(parD[a][i],6) + CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) + CP(_set_adr,-5) CP(_set_line,dl) + else:: + fuse_ring(parD[a][i],b-?3+3) + fi + else:: + if b==?6:: fuse_ring_bonds((comD[a][i],parD[a][i]),parD[?6[4]][1],comD[?6[4]][2]) + ef b==?5:: fuse_ring_bonds((comD[a][i],parD[a][i]),parD[?5[3]][1],comD[?5[3]][2]) + ef b==?4:: fuse_ring_bonds((comD[a][i],parD[a][i]),parD[?4[2]][1],comD[?4[2]][2]) + fi + fi + endfor + else:: + if b==Ph1:: + fuse_ring(a,6) CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) + ef b==Ph2:: + fuse_ring(a,6) CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) + CP(_set_adr,-5) CP(_set_line,dl) + else:: + fuse_ring(a,b-?3+3) + fi + fi + ef pair a:: + if b==?6:: fuse_ring_bonds(a,parD[?6[4]][1],comD[?6[4]][2]) + ef b==?5:: fuse_ring_bonds(a,parD[?5[3]][1],comD[?5[3]][2]) + ef b==?4:: fuse_ring_bonds(a,parD[?4[2]][1],comD[?4[2]][2]) + ef b==Ph1:: + fuse_ring_bonds(a,parD[?6[4]][1],comD[?6[4]][2]) + CP(_set_adr,-1) CP(_set_line,dl) CP(_set_adr,-3) CP(_set_line,dl) + ef b==Ph2:: + fuse_ring_bonds(a,parD[?6[4]][1],comD[?6[4]][2]) + CP(_set_adr,-2) CP(_set_line,dl) CP(_set_adr,-4) CP(_set_line,dl) + fi fi - elseif b==Ph1:: fuse_ring(a,6) CP(_set_adr,-2) CP(_set_line,dl) - CP(_set_adr,-4) CP(_set_line,dl) - elseif b==Ph2:: fuse_ring(a,6) CP(_set_adr,-1) CP(_set_line,dl) - CP(_set_adr,-3) CP(_set_line,dl) CP(_set_adr,-5) CP(_set_line,dl) - elseif comD[b][1]==_fuse:: - if comD[b][2]<=6:: fuse_ring_bonds(a,parD[b][1],comD[b][2]) + ef comD[b][1]==_fuse:: + if comD[b][2]<=6:: fuse_ring_bonds(a,parD[b][1],comD[b][2]) elseif (comD[b][2]>=11)and(comD[b][2]<=15):: fuse_ring_size(a,parD[b][1],comD[b][2]) fi fi @@ -945,16 +986,18 @@ def MC(text TXT)= %-draw atom----------------------------------------------------------------------------------- if sw_numbering=0: for i=1 upto cntA: draw_atom(i); endfor fi %-draw add to atom---------------------------------------------------------------------------- - for i=1 upto cntA: - if addA[i]<>0: - nA:=angX[i]+add_rot[i]; nC:=nA mod 90; - if numS[i]=0: nB:=.5atom_wd; - else: nB:=.85wdA[i]+iif(nC<45,sind(nC),cosd(nC))*.5wdA[i]; + if (not scan_bit(sw_numbering,Atom))and(not scan_bit(sw_numbering,Bond)): + for i=1 upto cntA: + if addA[i]<>0: + nA:=angX[i]+add_rot[i]; nC:=nA mod 90; + if numS[i]=0: nB:=.5atom_wd; + else: nB:=.85wdA[i]+iif(nC<45,sind(nC),cosd(nC))*.5wdA[i]; + fi + temp_p:=sfrt(posA[i]-(.35atom_wd,.35atom_wd),nB,nA); + draw_char(temp_c,temp_p,atom_wd,bond_pen_wd*ratio_char_bond,0); fi - temp_p:=sfrt(posA[i]-(.35atom_wd,.35atom_wd),nB,nA); - draw_char(temp_c,temp_p,atom_wd,bond_pen_wd*ratio_char_bond,0); - fi - endfor + endfor + fi %-draw bond----------------------------------------------------------------------------------- for i=1 upto cntB: if lineB[i]=si_: draw_bond(i); fi endfor diff --git a/graphics/mcf2graph/mcf_data_base.mcf b/graphics/mcf2graph/mcf_data_base.mcf index 7e088381ab..cdcc642523 100644 --- a/graphics/mcf2graph/mcf_data_base.mcf +++ b/graphics/mcf2graph/mcf_data_base.mcf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.10.10 +% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.11.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tag1:var1;tag2:var2;tag3:var3 ..... % first character of line "%" comment out @@ -52,7 +52,7 @@ Cat:biological;EN:L-Leucine;MW:131.16;EXA:1 + <30,NH2,!~wb,/!?!,!,COOH +------------------------------------------------------------------------------ -Cat:biological;EN:L-Isoleucine;MW:131.16;EXA:9 +Cat:biological;EN:L-Isoleucine;MW:131.16;EXA:- + <30,NH2,!~wb,/'(/*_,!2),!,COOH +------------------------------------------------------------------------------ @@ -358,7 +358,7 @@ Cat:biological;EN:Cholesterol;MW:386.664;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Riboflavin;MW:376.37;EXA:1 + -<30,Ph,3=?6,9=?6,{8,16}=dl,{7,10,14}:N,12:NH,{11,13}://O,{1,6}:/_, +<30,Ph,{3,9}=?6,{8,16}=dl,{7,10,14}:N,12:NH,{11,13}://O,{1,6}:/_, @10,\`1.2,!,*/OH,!,/*OH,!,*/OH,!2,OH +------------------------------------------------------------------------------ Cat:biological;EN:Resveratrol;MW:228.24;EXA:1 @@ -434,9 +434,23 @@ Cat:biological;EN:Piperine;MW:285.343;EXA:1 + <30,Ph,|,-1=?5,{1,3}:O,@$4,\,!!,!,!!,!,//O,!,|,?6,1:N +------------------------------------------------------------------------------ -Cat:biological;EN:Febrifugine;MW:301.346;EXA:1 +Cat:biological;EN:Febrifugine;MW:301.34;EXA:1 + -<30,Ph,|,-4=?6,2=dl,{1,3}:N,4://O,@$9,\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH +<30,Ph,3=?6,@9,8=dl,\,!2,!~zb,?6,{7,9}:N,-5:NH,{10,12}://O,-1:*/OH ++------------------------------------------------------------------------------ +Cat:biological;EN:Hypericin;MW:504.44;EXA:1 ++ +<30,Ph,{-4,(11,4),(10,12),(9,-4),(19,13),(27,14),(18,24)}=?6, + {12,20,22,29,31,33,35}=dl,{16,18,27}=dr, + {7,21}://O,{2,6,17,23,25,28}:/OH,{19,26}:/_ ++------------------------------------------------------------------------------ +Cat:biological;EN:Camphor;MW:152.23;EXA:1 ++ +#1,15,-30,90,90,30,##,&1,@2,0~si_`1.6,&5,{-1^45,-1^-65}:/_,4://O,5:/_^-45 ++------------------------------------------------------------------------------ +Cat:biological;EN:Sparteine;MW:234.3803;EXA:1 ++ +<30,?6,3=?6,9=wf,10=wb,@8,#1,60,60,N,60,##,&10,-3=?6,3:N,4^60:*/H,11^-60:/*H +------------------------------------------------------------------------------ Cat:biological;EN:Mitomycine C;MW:334.332;EXA:1 + @@ -462,7 +476,7 @@ Cat:biological;EN:Baicalein;MW:270.24;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Reserpine;MW:608.688;EXA:1 + -<54,Ph,-4=?5,-2=?6,-4=?6,-3=?6,9=dl,11:N,7:NH,10:*/H^-60,{15^-60,16^60}:/*H, +<54,Ph,-4=?5,{-2,-4,-3}=?6,9=dl,11:N,7:NH,10:*/H^-60,{15^-60,16^60}:/*H, @20,*\,O,!,//O,!,Ph,{-2,-3,-4}:/O!,{1,19~zf>rl}:/O!,18:*/COO!>lr +------------------------------------------------------------------------------ Cat:biological;EN:Rotenone;MW:394.423;EXA:1 @@ -497,7 +511,7 @@ Cat:biological;EN:Sesamine;MW:354.35;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Morphine;MW:285.343;EXA:1 + -<30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb, +<30,Ph,{2,-4}=?6,(1,12)=?5[2],-1:O,-1=zb, @7,60~wf`0.75,70~si_`1.3,45,N!,&9~wb,15=dl,6:/OH,8^180:*/H,12:/*OH +------------------------------------------------------------------------------ Cat:biological;EN:Quinine;MW:324.424;EXA:1 @@ -515,7 +529,7 @@ Cat:biological;EN:Colchicine;MW:399.443;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Lycorine;MW:287.315;EXA:1 + -<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O, +<30,Ph,{-4,-2}=?6,{6,(9,12)}=?5,13=dl,8:N,{15,17}:O, 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH +------------------------------------------------------------------------------ Cat:biological;EN:Ibotenic acid;MW:158.113;EXA:1 @@ -569,27 +583,27 @@ Cat:synthetic;EN:Hexaphenylbenzene;MW:534.6876;EXA:1 +------------------------------------------------------------------------------ Cat:synthetic;EN:Naphthalene;MW:128.17;EXA:- + -<30,Ph,3=Ph1 +<30,Ph,3=Ph +------------------------------------------------------------------------------ Cat:synthetic;EN:Anthracene;MW:178.23;EXA:- + -<30,Ph,3=Ph1,6=Ph1 +<30,Ph,{3,6}=Ph +------------------------------------------------------------------------------ Cat:synthetic;EN:Phenanthrene;MW:178.23;EXA:- + -<30,Ph,4=Ph1,6=Ph1 +<30,Ph,{4,6}=Ph +------------------------------------------------------------------------------ Cat:synthetic;EN:Naphthacene;MW:228.3;EXA:- + -<30,Ph,6=Ph1,3=Ph1,-3=Ph1 +<30,Ph,{6,3,-3}=Ph +------------------------------------------------------------------------------ Cat:synthetic;EN:Chrysene;MW:228.3;EXA:- + -<30,Ph2,6=Ph1,4=Ph1,-4=Ph1 +<30,Ph2,{6,4,-4}=Ph +------------------------------------------------------------------------------ Cat:synthetic;EN:Pyrene;MW:202.25;EXA:- + -<30,Ph2,6=Ph1,4=Ph1,(16,7)=?6[3],-2=dl +<30,Ph2,{6,4}=Ph,(16,7)=?6[3],-2=dl +------------------------------------------------------------------------------ Cat:synthetic;EN:Kekulene;MW:600.7;EXA:1 + @@ -779,7 +793,7 @@ Cat:antibiotics;EN:Emamectine;MW:886.133;EXA:1 + <24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60, @5,#1.04,6,//O,-60,O,60~wb,60,-60,60~wf,60,-60,60,60,60,-60,60,##,&7, - {-1,-3,-7}=dl,(-11,-10)=?6[4],@-2,?6,-6=wf,-1=zb,-5=dl, + {-1,-3,-7}=dl,(-11,-10)=?6,@-2,?6,-6=wf,-1=zb,-5=dl, {-1,-6}:O,-3:*/_,@-2,\,*/_,!2, 17:/_,19:/*_,@18,\,O,!,?6`.7,-1:O,-2:*/_`.5,-4:*/O!`-.5, @-3,\,O,60,?6`.7,-5:O,-4:*/_`.5,-3:/*NH!`-.5,-2:*/O!`-.5 @@ -804,7 +818,7 @@ Cat:antibiotics;EN:Spiramycin;MW:843.1;EXA:1 Cat:antibiotics;EN:Natamycin;MW:665.733;EXA:1 + <-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60, - 60,60,-60,60,-60,60,-60,60,60,-60,&1,(12,13)=?6[4],##, + 60,60,-60,60,-60,60,-60,60,60,-60,&1,(12,13)=?6,##, {2,4,6,8,20}=dl,11=zb,23:O,-2:/*OH,-3:*/COOH, 18=?3,-1=wb,-2=wf,-1:O,22://O,24:*/_,{14^60,16}:*/OH, @10,*\,O,90,?6`.7,-3:*/OH`-.5,-5:/*OH`-.5,-4:/*NH2`-.5,-1:O,-2:/*_`.5 @@ -1353,7 +1367,7 @@ Cat:pesticide;EN:Pyrimethanil;MW:199.257;EXA:- +------------------------------------------------------------------------------ Cat:pesticide;EN:Pyroquilon;MW:173.2;EXA:- + -<30,Ph,3=?6,10:N,9://O,(11,4)=?5[3] +<30,Ph,3=?6,10:N,9://O,(11,4)=?5 +------------------------------------------------------------------------------ Cat:pesticide;EN:Vinclozolin;MW:286.108;EXA:- + @@ -1970,7 +1984,7 @@ Cat:antibacterial;EN:Sulfapyrizine;MW:249.288;EXA:1 +------------------------------------------------------------------------------ Cat:antibacterial;EN:Marbofloxacin;MW:362.361;EXA:1 + -<30,Ph,3=?6,-3=dl,(2,7)=?6[4],6:/F,{7,13}:N,11:O,9:/COOH,10://O,13:/_, +<30,Ph,{3,(2,7)}=?6,9=dl,6:/F,{7,13}:N,11:O,9:/COOH,10://O,13:/_, @1,\,|,?6,{1,4}:N,4:/_ +------------------------------------------------------------------------------ Cat:antibacterial;EN:Sulfamerazine;MW:264.303;EXA:1 @@ -1983,7 +1997,7 @@ Cat:antibacterial;EN:Trimethoprim;MW:290.323;EXA:1 +------------------------------------------------------------------------------ Cat:antibacterial;EN:Ofloxacin;MW:361.373;EXA:1 + -<30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,11:O, +<30,Ph,{3,(2,7)}=?6,9=dl,7:N,11:O, 6:/F,9:/COOH,10://O,13:/_,@1,\,|,?6,{1,4}:N,4:/_ +------------------------------------------------------------------------------ Cat:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:1 @@ -2029,7 +2043,7 @@ Cat:antibacterial;EN:Sulfamonomethoxine;MW:280.302;EXA:1 + <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,4}:N,3:/O! +------------------------------------------------------------------------------ -Cat:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:1 +Cat:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:- + <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{5,6}:N,4:/Cl +------------------------------------------------------------------------------ @@ -2037,11 +2051,11 @@ Cat:antibacterial;EN:Sulfadoxine;MW:310.328;EXA:- + <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{4,6}:N,{2,3}:/O! +------------------------------------------------------------------------------ -Cat:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:1 +Cat:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:- + <30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,?5,{2,5}=dl,4:O,5:N,3:/_ +------------------------------------------------------------------------------ -Cat:antibacterial;EN:Pirimethamin;MW:248.714;EXA:1 +Cat:antibacterial;EN:Pirimethamin;MW:248.714;EXA:- + <30,Ph,6:/Cl,@3,\,Ph,{-2,-4}:N,-1:/!,{-3,-5}:/NH2 +------------------------------------------------------------------------------ @@ -2079,7 +2093,7 @@ Cat:antibacterial;EN:Flubendazole;MW:313.288;EXA:- +------------------------------------------------------------------------------ Cat:antibacterial;EN:Flumequine;MW:261.225;EXA:- + -<30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,6:/F,9:/COOH,10://O,13:/_ +<30,Ph,{3,(2,7)}=?6,9=dl,7:N,6:/F,9:/COOH,10://O,13:/_ +------------------------------------------------------------------------------ 34;Cat:antibacterial;EN:Sulfanitran;MW:335.334;EXA:- + diff --git a/graphics/mcf2graph/mcf_exa_soc.mf b/graphics/mcf2graph/mcf_exa_soc.mf index 65fc98818c..ae52c16ef5 100644 --- a/graphics/mcf2graph/mcf_exa_soc.mf +++ b/graphics/mcf2graph/mcf_exa_soc.mf @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.10.10 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.11.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.73 -message "* mcf_exa_soc 2021.10.10"; +input mcf2graph.mf; %%% it must be version 4.74 +message "* mcf_exa_soc 2021.11.23"; message ""; %------------------------------------------------------------------------------ fsize:=(35mm,24mm); @@ -10,13 +10,13 @@ max_blength:=4mm; %%%%sw_frame:=Outside; tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; %------------------------------------------------------------------------------ -%%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; -%ext(defaultfont:="uhvr8r"; defaultscale:=.6; label.lrt(inf_EN,(-2bp,1.5bp));) -%sw_output:=Font; -%ext(defaultfont:="uhvr8r"; defaultscale:=.6; -%label.lrt(inf_EN&" MW="&cal_MW -% &"("&decimal(num_MW-scantokens(inf_MW))&")",(-2bp,1.5bp)); -%) +%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; +%------------------------------------------------------------------------------ +%ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.rt(inf_EN,(0,0));) +%------------------------------------------------------------------------------ +%sw_output:=Font+Info; +%ext(defaultfont:="uhvr8r"; defaultscale:=.3; +%label.rt(inf_EN&" / "&cal_MW&" / "&decimal(num_MW-scantokens(inf_MW)),(0,0));) %------------------------------------------------------------------------------ if f_MP=0: input mcf_exa_soc-mf.aux; % (metafont) make aux file before typeset else: % mpost -s ahlength=7 mcf_exa_soc.mf @@ -33,7 +33,7 @@ forever: beginfont("t:EXA","v+:1") % 'v+:1': select EXA=1 if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi endfont - exitif f_EOF=1; % exit if file end + exitif f_EOF=1; % exit if file end endfor %****************************************************************************** fi diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf index 1cadd2296b..3b8a2197f1 100644 Binary files a/graphics/mcf2graph/mcf_example.pdf and b/graphics/mcf2graph/mcf_example.pdf differ diff --git a/graphics/mcf2graph/mcf_example.tex b/graphics/mcf2graph/mcf_example.tex index bf10feb5b3..784cc68916 100644 --- a/graphics/mcf2graph/mcf_example.tex +++ b/graphics/mcf2graph/mcf_example.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.09.20 +% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.11.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage{graphicx} @@ -39,7 +39,9 @@ Author : Akira Yamaji \quad Date : \today \\ Located at : http://www.ctan.org/pkg/mcf2graph \vspace{3mm} \\ \end{center} -{\small ** use molecular data base file 'mcf\_data\_base.mcf' +{\small * use molecular data base file 'mcf\_data\_base.mcf' \\ + ** FM(fm):molecular formula (calculated) + * MW(mw):molecular weight (calculated) \vspace{3mm} \\ %------------------------------------------------------------------------ \noindent% @@ -51,8 +53,8 @@ \infotovar{\info}% \begin{picture}(3750,3350)% \put(20,3000){\footnotesize\bf \EN}% - \put(20,2750){\labelM MW:\mw { / }FM:\fm}% - \put(20,2530){\labelM MW:\MW(data){ / }[\the\f@num]}% + \put(20,2750){\labelM mw:\mw { / }fm:\fm}% + \put(20,2530){\labelM MW:\MW { / }[\the\f@num]}% \put( 0,0){% \makebox(3750,2530){% \ifx\f@ext\@pk{\font\@font=\jobname\@font\char\f@num}% diff --git a/graphics/mcf2graph/mcf_man_soc.mf b/graphics/mcf2graph/mcf_man_soc.mf index e585c60853..a4aff9747a 100644 --- a/graphics/mcf2graph/mcf_man_soc.mf +++ b/graphics/mcf2graph/mcf_man_soc.mf @@ -1,13 +1,13 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.10.10 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.11.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.73 +input mcf2graph.mf; %% it must be version 4.74 % ** use data base file 'mcf_data_base.mcf' -message "mcf_man_soc 2021.10.10"; message ""; +message "mcf_man_soc 2021.11.23"; message ""; %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; -%%%%ext(defaultscale:=.5; label.bot(decimal(char_num)&":"&inf_EN,(.5w,0));) +%%ext(defaultscale:=.5; label.bot(decimal(char_num)&":"&inf_EN,(.5w,0));) %*********************************************************************** fsize:=(40mm,25mm); blength:=6mm; @@ -447,13 +447,13 @@ beginfont("EN:fused ring 2") fmargin:=(2mm,2mm); sw_numbering:=Bond; msize:=(1,.9); - MCat( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12--15}=bd_r) + MCat( 0,.5)(<30,?6,{3,(11,4)}=?6,{11,4}=dt,{12--15}=bd_r) add(defaultscale:=0.4; label("(1)",p0);) msize:=(1,.9); - MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12--14}=bd_r) + MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5,{11,4}=dt,{12--14}=bd_r) add(defaultscale:=0.4; label("(2)",p0);) msize:=(1,.9); - MCat( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=bd_r) + MCat( 1,.5)(<30,?6,3=?6,(11,4)=?4,{11,4}=dt,{12,13}=bd_r) add(defaultscale:=0.4; label("(3)",p0);) endfont %*********************************************************************** @@ -828,18 +828,18 @@ beginfont("EN:offset_wedge") endfont %*********************************************************************** beginfont("EN:max_blength") - fsize:=(60mm,25mm); + fsize:=(60mm,20mm); sw_frame:=sw_frame+Mol; - max_blength:=6mm; + max_blength:=5mm; MCat(0, .5)(<30,Ph) max_blength:=8mm; MCat(.4,.5)(<30,Ph) - max_blength:=20mm; %<<== default - MCat(1, .5)(<30,Ph) + max_blength:=10mm; + MCat(1, .5)(<30,Ph) %<<== default ext(defaultscale:=0.6; labeloffset:=1bp; - label.urt("6mm", (0.08w,2bp)); - label.urt("8mm", (0.40w,2bp)); - label.urt("20mm",(0.75w,0.45h)); + label("5mm", (0.1w,0.5h)); + label("8mm", (0.42w,0.5h)); + label("10mm",(0.82w,0.5h)); ) endfont %*********************************************************************** @@ -1247,7 +1247,7 @@ endfont %*************************************************************************** beginfont("EN:Colchicine","MW:385.41", %--------------------------------------- - ": <30,Ph,{1,2,6}:/O!,-4=?7,-5=?7, ", + ": <30,Ph,{1,2,6}:/O!,{-4,-5}=?7, ", ": {-1,-4,-6}=dl,-2://O,-3:/O!, ", ": @9,\,NH,!,//O,! ") %--------------------------------------- diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf index d5b5234c71..84b200b252 100644 Binary files a/graphics/mcf2graph/mcf_manual.pdf and b/graphics/mcf2graph/mcf_manual.pdf differ diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex index c83840b2a3..da90e22f98 100644 --- a/graphics/mcf2graph/mcf_manual.tex +++ b/graphics/mcf2graph/mcf_manual.tex @@ -1,24 +1,18 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2021.10.10 +% Molecular Coding Format manual by Akira Yamaji 2021.11.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage[pdftex]{graphicx} \usepackage[pdftex]{hyperref} +%%%\usepackage[dvipdfmx]{graphicx} +%%%\usepackage[dvipdfmx]{hyperref} \usepackage{makeidx} \makeindex \hypersetup{colorlinks=true,linkcolor=blue} \usepackage{mcf_setup} \edef\MCFjobname{mcf_man_soc}% %---------------------------------------------------------------------------- -%%%%\pdfpkresolution=1200 -%---------------------------------------------------------------------------- -%%%%\edef\fext{pk}% **** for proof print (fast, not complete output) -\edef\fext{mps}% **** for final print (it takes long time) -%---------------------------------------------------------------------------- -%%%%\edef\fext{png}% -%%%%\edef\fext{svg}% -%%%%\edef\fext{eps}% -%---------------------------------------------------------------------------- +\edef\fext{mps}% \topmargin=-18mm \textheight=254mm \textwidth=168mm @@ -40,16 +34,9 @@ %---------------------------------------------------------------------------- \makeatletter %---------------------------------------------------------------------------- -\font\@strufont=\MCFjobname\relax% -%---------------------------------------------------------------------------- \def\MCFgraph{% -\ifx\fext\@pk{\@strufont\char\fnum}% -\else% \edef\file@name{\MCFjobname-\z@num\fnum.\fext}% -\setbox\fbox=\hbox{\@strufont\char\fnum}% -\includegraphics[width=\wd\fbox,height=\ht\fbox]{\file@name}% -%%%%%%\includegraphics{\file@name}% -\fi% +\includegraphics{\file@name}% \global\advance\fnum\@ne\relax% }% %---------------------------------------------------------------------------- @@ -207,7 +194,6 @@ $n (0<=n<360): absolute angle \index{db}% \index{tm}% \begin{verbatim} - (Double,triple) a~type : ~~type,a dm : double middle @@ -446,14 +432,14 @@ attached bond length \begin{verbatim} (Attached 2 bond) -(4,11)=?6[4] : fuse 4/6 ring to B11..B4 -(4,11)=?5[3] : fuse 3/5 ring to B11..B4 -(4,11)=?4[2] : fuse 2/4 ring to B11..B4 +(4,11)=?6 : fuse 4/6 ring to B11..B4 +(4,11)=?5 : fuse 3/5 ring to B11..B4 +(4,11)=?4 : fuse 2/4 ring to B11..B4 ** ?m[n] (4<=m<=6,n=m-2) -1:<30,?6,3=?6,(11,4)=?6[4] -2:<30,?6,3=?6,(11,4)=?5[3] -3:<30,?6,3=?6,(11,4)=?4[2] +1:<30,?6,3=?6,(11,4)=?6 +2:<30,?6,3=?6,(11,4)=?5 +3:<30,?6,3=?6,(11,4)=?4 \end{verbatim} \MCFgraph \vspace{-3mm}% @@ -676,7 +662,7 @@ MC(<30,?6,{4,6}:/iBuOH) \MCFgraph %----------------------------------------------------------------------------- \subsubsection{Serial number} -\index{--}% +\index{\-\-}% \begin{verbatim} 6--10 : 6,7,8,9,10 <30,!14,{2,6--10,14}:/_~bd_r`0.5 @@ -1420,7 +1406,7 @@ endfont \begin{verbatim} beginfont("EN:Colchicine","MW:385.41", %------------------------------------- - ": <30,Ph,{1,2,6}:/O!,-4=?7,-5=?7, ", + ": <30,Ph,{1,2,6}:/O!,{-4,-5}=?7, ", ": {-1,-4,-6}=dl,-2://O,-3:/O!, ", ": @9,\,NH,!,//O,! ") %------------------------------------- @@ -1574,11 +1560,15 @@ bye \subsection{Molecular data base file} \begin{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.04.18 +% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.11.14 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% tag1:var1;tag2:var2;tag3:var3 ..... +% first character of line "%" comment out +% first character of line "+" begin MCF +% first string of line "+-" end MCF +% first string of line "%-" end header +% Cat = Category %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% tag1:var1;tag2:var2;tag3:var3 .... -% first character of line '%' comment out -% first character of line '+' begin MCF , end MCF %------------------------------------------------------------------------------ Cat:biological;EN:Adenine;MW:135.13 + @@ -1624,10 +1614,6 @@ Cat:biological;EN:Stearic acid;MW:284.48 + <30,!17,COOH +------------------------------------------------------------------------------ -Cat:biological;EN:Linoleic acid;MW:280.45 -+ -<30,!5,-30,-30,!,-30,-30,!7,COOH,{6,9}=dr -+------------------------------------------------------------------------------ \end{verbatim} %------------------------------------------------------------------------------ \noindent% @@ -1674,12 +1660,12 @@ Cat:biological;EN:Cianidanol;MW:290.27;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Lycorine;MW:287.315;EXA:1 + -<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O, +<30,Ph,{-4,-2}=?6,{6,(9,12)}=?5,13=dl,8:N,{15,17}:O, 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH +------------------------------------------------------------------------------ Cat:biological;EN:Morphine;MW:285.343;EXA:1 + -<30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb, +<30,Ph,{2,-4}=?6,(1,12)=?5[2],-1:O,-1=zb, @7,60~wf`0.75,70~si_`1.3,45,N!,&9~wb,15=dl,6:/OH,8^180:*/H,12:/*OH +------------------------------------------------------------------------------ Cat:biological;EN:Piperine;MW:285.343;EXA:1 diff --git a/graphics/mcf2graph/mcf_mplib_exa.pdf b/graphics/mcf2graph/mcf_mplib_exa.pdf index 2b4318347e..9c6692579e 100644 Binary files a/graphics/mcf2graph/mcf_mplib_exa.pdf and b/graphics/mcf2graph/mcf_mplib_exa.pdf differ diff --git a/graphics/mcf2graph/mcf_mplib_exa.tex b/graphics/mcf2graph/mcf_mplib_exa.tex index b19328888b..872571ec98 100644 --- a/graphics/mcf2graph/mcf_mplib_exa.tex +++ b/graphics/mcf2graph/mcf_mplib_exa.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.10.10 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.11.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.73 +% ** mcf2graph.mf must be version 4.74 % ** use mcf_data_base.mcf \documentclass{article} %------------------------------------------------------------------------------ diff --git a/graphics/pgf/contrib/xistercian/README.md b/graphics/pgf/contrib/xistercian/README.md index d9d17f16d7..27ad48ed64 100644 --- a/graphics/pgf/contrib/xistercian/README.md +++ b/graphics/pgf/contrib/xistercian/README.md @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------- # xistercian -- Cistercian numerals in LaTeX -Version 2021-07-17 v1.0 +Version 2021-11-23 v1.1 Released under the LaTeX Project Public License v1.3c or later See http://www.latex-project.org/lppl.txt diff --git a/graphics/pgf/contrib/xistercian/xistercian.dtx b/graphics/pgf/contrib/xistercian/xistercian.dtx index 934b4fe044..2398ac4dbe 100644 --- a/graphics/pgf/contrib/xistercian/xistercian.dtx +++ b/graphics/pgf/contrib/xistercian/xistercian.dtx @@ -55,7 +55,7 @@ and the derived files xistercian.pdf \fi % \IfFileExists{xistercian.sty}{\RequirePackage[debug]{xistercian}}{} -\ProvidesFile{xistercian.dtx}[2021-07-17 v1.0.0 Cistercian numerals in LaTeX] +\ProvidesFile{xistercian.dtx}[2021-11-23 v1.1 Cistercian numerals in LaTeX] \PassOptionsToPackage{full}{textcomp} \documentclass{l3doc} \RequirePackage[fulloldstyle,nott]{kpfonts} @@ -131,14 +131,14 @@ and the derived files xistercian.pdf \noalign{\vskip1ex} } \AddToHook{bfseries} - {\cisterciansetup{sv=.27ex,sdd=.27ex,sh=.12ex,sdu=.12ex,wd=.5em}} + {\cisterciansetup{sv=.27ex,sdd=.27ex,sh=.12ex,sdu=.12ex,wd=.625em}} \AddToHook{mdseries}{\myrestoredefaults} \cisterciansetup{redraw+=series} \ExplSyntaxOff \begin{document} \title{The \pkg{xistercian} package} \author{Jonathan P. Spratte\thanks{\protect\randomize{jspratte@yahoo.de}}} - \date{2021-07-17 v1.0} + \date{2021-11-23 v1.1} \DocInput{xistercian.dtx} \end{document} %^^A=<< @@ -245,9 +245,8 @@ and the derived files xistercian.pdf % \end{syntax} % Prints the \meta{integer} as a Cistercian numeral. The \meta{integer} has to % be provided as a string containing only digits and optionally a single -% leading~|-| (spaces are ignored). This can handle integers of almost -% arbitrary size (well, an integer with more than $2147483647$ places will be -% an issue). +% leading~|-| (spaces are ignored). This can handle integers of arbitrary +% size. % \end{function} % % \begin{function}{\cisterciannumE} @@ -290,7 +289,7 @@ and the derived files xistercian.pdf % \end{function} % For example, the key |horizontal| is equivalently defined to % \begin{verbatim} -% \cistercianstyle{horizontal}{o=h,wd=0.62em,ht=1ex} +% \cistercianstyle{horizontal}{o=h,wd=0.775em,ht=1.13ex} % \end{verbatim} % % @@ -483,14 +482,15 @@ and the derived files xistercian.pdf % \begin{syntax} % horizontal % \end{syntax} -% Same as setting |orientation = horizontal, width = 0.62em, height = 1ex|. +% Same as setting +% |orientation = horizontal, width = 0.775em, height = 1.13ex|. % \end{function} % % \begin{function}{vertical} % \begin{syntax} % vertical % \end{syntax} -% Same as setting |orientation = vertical, width = 0.4em, height = 1.55ex|. +% Same as setting |orientation = vertical, width = 0.5em, height = 1.55ex|. % \end{function} % % \begin{function}{alternate-5,5} @@ -612,12 +612,12 @@ and the derived files xistercian.pdf % \begin{verbatim} % \AddToHook{bfseries} % {% -% \cisterciansetup{sv=.27ex,sdd=.27ex,sh=.15ex,sdu=.15ex,wd=.5em}% +% \cisterciansetup{sv=.27ex,sdd=.27ex,sh=.15ex,sdu=.15ex,wd=.625em}% % \cistercianredrawlazy % } % \AddToHook{mdseries} % {% -% \cisterciansetup{sv=.18ex,sdd=.18ex,sh=.1ex,sdu=.1ex,wd=.4em}% +% \cisterciansetup{sv=.18ex,sdd=.18ex,sh=.1ex,sdu=.1ex,wd=.5em}% % \cistercianredrawlazy % } % This results in \cisterciannum{2} different \enquote{series}.\par @@ -636,9 +636,9 @@ and the derived files xistercian.pdf % determine when to redraw: % \begin{verbatim} % \AddToHook{bfseries} -% {\cisterciansetup{sv=.27ex,sdd=.27ex,sh=.15ex,sdu=.15ex,wd=.5em}} +% {\cisterciansetup{sv=.27ex,sdd=.27ex,sh=.15ex,sdu=.15ex,wd=.625em}} % \AddToHook{mdseries} -% {\cisterciansetup{sv=.18ex,sdd=.18ex,sh=.1ex,sdu=.1ex,wd=.4em}} +% {\cisterciansetup{sv=.18ex,sdd=.18ex,sh=.1ex,sdu=.1ex,wd=.5em}} % \cisterciansetup{redraw+=series} % \end{verbatim} % @@ -663,7 +663,7 @@ and the derived files xistercian.pdf \newcommand*\xister@tv{.18ex} \newcommand*\xister@tdu{.1ex} \newcommand*\xister@tdd{.18ex} -\newcommand*\xister@x{.4em} +\newcommand*\xister@x{.5em} \newcommand*\xister@y{1.55ex} \newcommand*\xister@bx{1.2} \newcommand*\xister@by{} @@ -746,7 +746,7 @@ and the derived files xistercian.pdf % \xister@build@h,\xister@build@horizontal, % \xister@build@v,\xister@build@vertical % } -% First we set the length registers to the correct size, than we draw the +% First we set the length registers to the correct size, then we draw the % glyphs batch wise. We have to flip the $x$-direction for the tenths and % thousands, and the $y$-direction for the hundreds and thousands. The macro % |\xister@sgn| is used to set the baseline in the correct direction. We @@ -866,7 +866,7 @@ and the derived files xistercian.pdf }% }% } -\expandafter\xister@tmp\csname\string\color@.\endcsname{color} +\expandafter\xister@tmp\csname\@backslashchar color@.\endcsname{color} \xister@tmp\f@encoding{encoding} \xister@tmp\f@family {family} \xister@tmp\f@series {series} @@ -961,13 +961,13 @@ and the derived files xistercian.pdf \protected\ekvdefNoVal{xister}{horizontal} {% \let\xister@build\xister@build@horizontal - \def\xister@x{.62em}% - \def\xister@y{1ex}% + \def\xister@x{.775em}% + \def\xister@y{1.13ex}% } \protected\ekvdefNoVal{xister}{vertical} {% \let\xister@build\xister@build@vertical - \def\xister@x{.4em}% + \def\xister@x{.5em}% \def\xister@y{1.55ex}% } % \end{macrocode} @@ -1108,32 +1108,23 @@ and the derived files xistercian.pdf \def\xister@gobbletoat#1@{} \def\xister@gobbletozero#10{} \def\xister@gobblecopy0\rlap#1{} -\def\xister@done#1\xister@symbols@{} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}[internal]{\xister@count,\xister@count@done} -% A simple loop to count tokens. The loop delimiter is a single |@|. Should be -% used after |\numexpr|. -% \begin{macrocode} -\def\xister@count#1{\xister@gobbletoat#1\xister@count@done @+1\xister@count} -\def\xister@count@done @+1\xister@count{\relax @} +\def\xister@done#1\xister@symbols{} % \end{macrocode} % \end{macro} % % \begin{macro}[internal]{\xister@texorpdf} % \begin{macrocode} \let\xister@texorpdf\@firstoftwo -\AddToHook{package/after/hyperref} +\AddToHook{package/hyperref/after} {% \ifdefined\texorpdfstring - \let\xister@texorpdf\texorpdfstring + \def\xister@texorpdf{\texorpdfstring}% \fi } \AddToHook{begindocument/before} {% \ifdefined\texorpdfstring - \let\xister@texorpdf\texorpdfstring + \def\xister@texorpdf{\texorpdfstring}% \fi } % \end{macrocode} @@ -1142,7 +1133,7 @@ and the derived files xistercian.pdf % % \subsubsection{Input Parsing} % -% \begin{macro}[internal]{\xister@a,\xister@b,\xister@c} +% \begin{macro}[internal]{\xister@a,\xister@b,\xister@c,\xister@d} % First we have to make sure that we're in horizontal mode, else the |\rlap|s % used to insert the glyphs will create havoc. We also need to ensure that the % boxes contain the correct glyphs according to the current size and colour. @@ -1157,29 +1148,44 @@ and the derived files xistercian.pdf \else\expandafter\xister@b\expandafter#1\fi } % \end{macrocode} -% Next we count the number of decimal digits in the number we want to print, -% take that modulo $4$ (that's what's |4*((#1-2)/4)| is doing, thanks to Heiko -% Oberdiek and the code in \pkg{expl3}), and use the correct symbol creating -% macro. The |@@@@| serves as the end marker since each step (except the -% first) will grab four digits. +% Next we check whether the remaining number is empty. If that is the case we +% use |\the\numexpr\relax| to throw a missing number error and produce just a +% zero stem. Else we do a dry run over the input number to see how many +% leading zeros we must pad to get blocks of four. The two blocks of |@@@@| +% serve as end markers since each step of both \cs{xister@c} and +% \cs{xister@symbols} will grab four digits. % \begin{macrocode} \def\xister@b#1@% - {\expandafter\xister@c\the\numexpr\xister@count#1@#1@@@@} -\def\xister@c#1@% - {\csname xister@symbols@\romannumeral\numexpr#1-4*((#1-2)/4)\relax\endcsname} + {% + \if\relax\detokenize{#1}\relax + \expandafter\xister@gobbletozero\the\numexpr\relax + \xister@symbols0000@@@@% + \expandafter\@gobbletwo + \fi + \@firstofone{\xister@c#1@@@@\relax#1@@@@}% + } +\def\xister@c#1#2#3#4% + {% + \xister@gobbletoat + #1\xister@d{}% + #2\xister@d{000}% + #3\xister@d{00}% + #4\xister@d0% + @\xister@c + } +\def\xister@d#1#2@\xister@c#3\relax{\xister@symbols#1} % \end{macrocode} % \end{macro} % -% \begin{macro}[internal] -% {\xister@symbols@,\xister@symbols@i,\xister@symbols@ii,\xister@symbols@iii} +% \begin{macro}[internal]{\xister@symbols} % When this loop is done all arguments will be |@|, but we only check the % first here. We generate the symbols by overlaying up to five boxes, one for % each decade plus the zero stem. Each digit might be skipped if it is $0$. % Next grab the next four digits. % \begin{macrocode} -\def\xister@symbols@#1% +\def\xister@symbols#1% {% - \protected\def\xister@symbols@##1##2##3##4% + \protected\def\xister@symbols##1##2##3##4% {% \xister@gobbletoat##1\xister@done @% \xister@gobbletozero##1\xister@gobblecopy0% @@ -1191,17 +1197,10 @@ and the derived files xistercian.pdf \xister@gobbletozero##4\xister@gobblecopy0% \rlap{\copy\csname xister@digitbox@##4\endcsname}% \copy#1% - \xister@symbols@ + \xister@symbols }% } -\expandafter\xister@symbols@\csname xister@digitbox@0\endcsname -% \end{macrocode} -% If there are less than four decimal digits inside the first Cistercian -% numeral we provide enough zeros to fill up the remainder. -% \begin{macrocode} -\def\xister@symbols@i{\xister@symbols@000} -\def\xister@symbols@ii{\xister@symbols@00} -\def\xister@symbols@iii{\xister@symbols@0} +\expandafter\xister@symbols\csname xister@digitbox@0\endcsname % \end{macrocode} % \end{macro} % diff --git a/graphics/pgf/contrib/xistercian/xistercian.pdf b/graphics/pgf/contrib/xistercian/xistercian.pdf index a55d95f708..ee878c51f9 100644 Binary files a/graphics/pgf/contrib/xistercian/xistercian.pdf and b/graphics/pgf/contrib/xistercian/xistercian.pdf differ diff --git a/macros/context/contrib/context-transliterator/VERSION b/macros/context/contrib/context-transliterator/VERSION index 610cedd90f..904f2b4764 100644 --- a/macros/context/contrib/context-transliterator/VERSION +++ b/macros/context/contrib/context-transliterator/VERSION @@ -1 +1 @@ -hg-rev57 +2021-2 diff --git a/macros/context/contrib/context-transliterator/doc/context/third/transliterator/COPYING b/macros/context/contrib/context-transliterator/doc/context/third/transliterator/COPYING deleted file mode 100644 index ac0eb7c9fc..0000000000 --- a/macros/context/contrib/context-transliterator/doc/context/third/transliterator/COPYING +++ /dev/null @@ -1,22 +0,0 @@ -Copyright 2010-2013 Philipp Gesang. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf b/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf index 731c937aaa..a7d34259ee 100644 Binary files a/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf and b/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.pdf differ diff --git a/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex b/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex index d8e392c70b..6491185609 100644 --- a/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex +++ b/macros/context/contrib/context-transliterator/doc/context/third/transliterator/transliterator.tex @@ -93,9 +93,10 @@ \setupalign [hanging,hz] \usemodule[bib] +\usemodule[bibl-tra] \usemodule[transliterator] -\setupcite[authoryear][compress=no] +%\setupcite[authoryear][compress=no] \setuppublications[% alternative=apa,% diff --git a/macros/context/contrib/context-transliterator/scripts/context/lua/third/transliterator/mtx-t-transliterate.lua b/macros/context/contrib/context-transliterator/scripts/context/lua/third/transliterator/mtx-t-transliterate.lua new file mode 100644 index 0000000000..a6e39683c8 --- /dev/null +++ b/macros/context/contrib/context-transliterator/scripts/context/lua/third/transliterator/mtx-t-transliterate.lua @@ -0,0 +1,64 @@ +-- +-------------------------------------------------------------------------------- +-- FILE: mtx-transliterate.lua +-- USAGE: mtxrun --script transliterate [--mode=mode] --s="string" +-- DESCRIPTION: context script interface for the Transliterator module +-- REQUIREMENTS: latest ConTeXt MkIV +-- AUTHOR: Philipp Gesang (Phg), +-- CREATED: 2011-06-11T16:14:16+0200 +-------------------------------------------------------------------------------- +-- + +environment.loadluafile("transliterator") + +local translit = thirddata.translit + +translit.__script = true +scripts = scripts or { } +scripts.transliterate = { } +local ea = environment.argument + +local helpinfo = [[ +=============================================================== + The Transliterator module, command line interface. + © 2010--2011 Philipp Gesang. License: 2-clause BSD. + Home: +=============================================================== + +USAGE: + + mtxrun --script transliterate [--mode=mode] --s="target" + + Where “target” is the target string to be transliterated. + Optionally, a transliteration mode can be specified (see + the respective descriptions in transliterator.pdf). The + “mode” defaults to “ru_old”. + +=============================================================== +]] + +local application = logs.application { + name = "mtx-transliterate", + banner = "The Transliterator for ConTeXt, hg-rev 38+", + helpinfo = helpinfo, +} + +scripts.transliterate.input = ea("s") +scripts.transliterate.out = function (sin, sout) + if ea("silent") then + io.write(sout) + else + io.write(string.format("\n“%s” -> “%s”\n", sin, sout)) + end +end + +if scripts.transliterate.input then + local mode = ea("mode") or "ru_old" + scripts.transliterate.out( + scripts.transliterate.input, + translit.transliterate(mode, ea("s")) + ) +else + application.help() +end + diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.ctl b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.ctl deleted file mode 100644 index 83d2449b75..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.ctl +++ /dev/null @@ -1,5 +0,0 @@ - - - - t-transliterator.mkiv - diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.log b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.log deleted file mode 100644 index fe49c761a3..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.log +++ /dev/null @@ -1,118 +0,0 @@ -(t-transliterator.run -jobcontrol > resuming randomizer with 0.17427635852912 - -ConTeXt ver: 2011.01.12 10:20 MKIV fmt: 2011.1.12 int: english/english - -system : cont-new loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/cont-new.tex -systems : beware: some patches loaded from cont-new.tex -(/home/laokoon/context/tex/texmf-local/tex/context/base/cont-new.mkiv)) -system : cont-fil.mkiv loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/cont-fil.mkiv -loading : ConTeXt File Synonyms -) -system : cont-sys.rme loaded -(/home/laokoon/context/tex/texmf-local/tex/context/user/cont-sys.rme (/home/laokoon/context/tex/texmf-local/tex/context/base/type-def.mkiv) (/home/laokoon/context/tex/texmf-local/tex/context/base/type-lua.mkiv) (/home/laokoon/context/tex/texmf-local/tex/context/base/type-siz.mkiv) (/home/laokoon/context/tex/texmf-local/tex/context/base/type-otf.mkiv)) -system : cont-err loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/cont-err.tex -systems : no file 'cont-sys.tex', using 'cont-sys.rme' instead -) -system : t-transliterator.top loaded -% -% begin of optionfile -% -% % runtime options files (command line driven) -% \unprotect -% % feedback and basic job control -% % handy for special styles -% \startluacode -% document = document or { } -% document.arguments={ -% ["ctx"]="s-mod", -% ["global"]=true, -% ["prep"]=true, -% } -% document.files={ -% "t-transliterator.mkiv", -% } -% \stopluacode -% % process info -% \setupsystem[inputfile=t-transliterator.mkiv] -% \setupsystem[\c!n=2,\c!m=3] -% % modes -% % options (not that important) -% \startsetups *runtime:options -% \setupoutput[pdftex] -% \stopsetups -% % styles and modules -% \startsetups *runtime:modules -% \usemodule[mod-01] -% \stopsetups -% % done -% \protect \endinput -% -% end of optionfile -% -(t-transliterator.top){/home/laokoon/context/tex/texmf/fonts/map/dvips/lm/lm-math.map}{/home/laokoon/context/tex/texmf/fonts/map/dvips/lm/lm-rm.map}{/home/laokoon/context/tex/texmf-local/fonts/map/pdftex/context/mkiv-base.map} -bodyfont : 12pt rm is loaded -fonts : preloading latin modern fonts (first stage) -language : language en is active -system : module mod-01 loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/s-mod-01.mkiv -system : module mod-00 loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/s-mod-00.mkiv -system : module units loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/m-units.mkiv) -system : module int-load loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/x-set-11.mkiv -system : module set-99 loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/x-set-99.tex))) -system : module abr-01 loaded -(/home/laokoon/context/tex/texmf-local/tex/context/base/s-abr-01.tex) -interaction : active -) -publications : loading formatting style from bxml-apa -(/home/laokoon/context/tex/texmf-local/tex/context/base/bxml-apa.mkiv) -systems : loading ctx log file (specified) -systems : begin file t-transliterator.mkiv at line 1 -(t-transliterator.mkiv.prep -backends > using xmp file '/home/laokoon/context/tex/texmf-local/tex/context/base/lpdf-pdx.xml' -pages > flushing realpage 1, userpage 1, subpage 1 -pages > flushing realpage 2, userpage 1 -. . . . . . . -pages > flushing realpage 3, userpage 1 -. . . . -pages > flushing realpage 4, userpage 2 -. . . -pages > flushing realpage 5, userpage 3 -todo : erase note backup -todo : save note data -todo : restore note data -) -pages > flushing realpage 6, userpage 4 -systems : end file t-transliterator.mkiv at line 3 - ) -mkiv lua stats : used config file - /home/laokoon/context/tex/texmf/web2c/texmfcnf.lua -mkiv lua stats : used cache path - /home/laokoon/context/tex/texmf-cache/luatex-cache/context/55e1647aff3662dd708444b60b7280b9 -mkiv lua stats : input load time - 0.040 seconds -mkiv lua stats : stored bytecode data - 261 modules, 55 tables, 316 chunks -mkiv lua stats : loaded tex modules - 6 requested, 6 found (*-abr-01 *-mod-00 *-mod-01 *-set-11 *-set-99 *-units), 0 missing -mkiv lua stats : cleaned up reserved nodes - 34 nodes, 9 lists of 419 -mkiv lua stats : node memory usage - 19 glue_spec -mkiv lua stats : node list callback tasks - 6 unique task lists, 6 instances (re)created, 1653 calls -mkiv lua stats : attribute processing time - 0.062 seconds front- and backend -mkiv lua stats : used backend - pdf (backend for directly generating pdf output) -mkiv lua stats : loaded patterns - en::2 -mkiv lua stats : language load time - 0.062 seconds , nofpatterns: 1 -mkiv lua stats : jobdata time - 0.113 seconds saving, 0.036 seconds loading -mkiv lua stats : callbacks - direct: 2309, indirect: 7308, total: 9617 -mkiv lua stats : xml load time - 0.273 seconds, 2 files, 2 converted -mkiv lua stats : lxml preparation time - 0.143 seconds, 6635 nodes, 19 lpath calls, 0 cached calls -mkiv lua stats : result saved in file - t-transliterator.pdf -mkiv lua stats : loaded fonts - 52 files: stmary10.afm lmmono10-regular.otf lmmono12-regular.otf lmmono8-regular.otf lmmono9-regular.otf lmmonoslant10-regular.otf lmroman10-bold.otf lmroman10-regular.otf lmroman12-bold.otf lmroman12-regular.otf lmroman5-bold.otf lmroman5-regular.otf lmroman7-bold.otf lmroman7-regular.otf lmroman8-regular.otf lmroman9-bold.otf lmroman9-regular.otf lmromanslant10-regular.otf lmsans10-bold.otf lmsans10-regular.otf lmsans12-regular.otf lmsans8-regular.otf lmsans9-regular.otf eufb10.tfm eufb7.tfm eufm10.tfm eufm5.tfm eufm7.tfm msam10.tfm msam5.tfm msam7.tfm msbm10.tfm msbm5.tfm msbm7.tfm lmex10.tfm lmmi10.tfm lmmi12.tfm lmmi5.tfm lmmi7.tfm lmmi9.tfm lmmib10.tfm lmmib5.tfm lmmib7.tfm lmsy10.tfm lmsy5.tfm lmsy7.tfm lmsy9.tfm rm-lmr10.tfm rm-lmr12.tfm rm-lmr5.tfm rm-lmr7.tfm rm-lmr9.tfm -mkiv lua stats : fonts load time - 2.411 seconds -mkiv lua stats : luatex banner - this is luatex, version beta-0.65.0-2010121316 -mkiv lua stats : control sequences - 31917 of 165536 -mkiv lua stats : current memory usage - 52 MB (ctx: 53 MB) -mkiv lua stats : runtime - 7.008 seconds, 5 processed pages, 6 shipped pages, 0.856 pages/second - diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv index b8c577a7e2..ae08278ece 100644 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv +++ b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv @@ -1,6 +1,6 @@ %D \module %D [ file=t-transliterator, -%D version=2013-03-27 21:23:59+0100, +%D version=2021-11-21 18:19:24+0100, %D title=\CONTEXT\ User Module, %D subtitle=The Transliterator, %D author=Philipp Gesang, @@ -22,7 +22,7 @@ setup=list, parent=TRL, style=no, - version=hg-r56, + version=2021, comment=Transliteration from non-Latin scripts., ] diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv.prep b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv.prep deleted file mode 100644 index e3b643ff3b..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.mkiv.prep +++ /dev/null @@ -1,180 +0,0 @@ -\startmodule[type=mkiv] - -\startdocumentation -\module - [ file=t-transliterator, - version=2010-12-23 22:10:09+0100, - title=\CONTEXT\ User Module, - subtitle=The Transliterator, - author=Philipp Gesang, - date=\currentdate, - copyright=Philipp Gesang, - license=2-clause BSD, - email={pgesang at ix dot urz dot uni-heidelberg dot de}] -This module is licensed under the conditions of the BSD license with -two clauses, there is a copy it in a file named "COPYING" in the -transliterator source tree. -\stopdocumentation - -\startdefinition -\writestatus{loading}{Transliteration from non-Latin scripts} -\stopdefinition - -\startdefinition -\unprotect -\stopdefinition - -\startdefinition -\definenamespace [TRL] [ - name=transliterate, - type=module, - setup=list, - parent=TRL, - style=no, - version=hg-r16, - comment=Transliteration from non-Latin scripts., -] -\stopdefinition - -\startdefinition -\ctxlua{environment.loadluafile ("transliterator")} -\stopdefinition - -\startdocumentation -Use the Transliterator by adding \type{\usemodule[transliterator]} somewhere -before \type{\starttext}. Adjust the Transliterator through the -\type{\setuptransliterate} command. As a first argument it accepts a set of -key-value options; at present you may configure \type{mode} and -\type{hyphenate}. -\stopdocumentation - -\startdocumentation -At first we'll set some defaults: -\stopdocumentation - -\startdefinition -\setuptransliterate[mode=ru_old,hyphenate=cz,debug=false] -\stopdefinition - -\startdocumentation -Possible values for \type{mode} are by the time of this writing: -\type{ru}, \type{ru_transcript_de}, \type{ru_transcript_en}, \type{ru_old}, -\type{all}, \type{iso9_ocs}, \type{ocs}, \type{ocs_gla}, \type{ru_cz}, -\type{ocs_cz}, \type{gr} and \type{gr_n}. -As not all fonts, even the expensive ones, support some of the most frequent -unicode signs used in ISO~9 there are fallbacks for the transliterations of -the weak and hard sign: \type{iso9_ocs_hack}, which is essentially -\type{iso9_ocs}, and \type{ru_old_jer_hack}, which is essentially -\type{ru_old}. These two transliterate {\em ь} and {\em ъ} (both upper and -lower case) to the more common, but non-ISO characters {\em '} and {\em ''} -respectively. -Possible values for \type{hyphenate} are all valid \CONTEXT\ language code, for an -overview see \type{http://wiki.contextgarden.net/Language_Codes}. -In praxi you may want to choose either Czech (the default) or Slovak -(\type{sk}) for most transliterations from cyrillic scripts. I've not yet -made up my mind concerning Greek transliteration, any suggestions are -welcome. -\stopdocumentation - -\startdocumentation -The following will help debugging and reviewing tables. Make sure your -typescript can handle the characters, in general it's no use with Latin -Modern which unfortunately provides only a restricted set of the unicode -range. - -The user-level command to output a single substitution table is -\type{\showOneTranslitTab{#1}}. -\stopdocumentation - -\startdefinition -\define[1]\showOneTranslitTab{% - \startluacode - environment.loadluafile ("trans_tables_iso9") - environment.loadluafile ("trans_tables_trsc") - environment.loadluafile ("trans_tables_scntfc") - environment.loadluafile ("trans_tables_trsc") - environment.loadluafile ("trans_tables_glag") - environment.loadluafile ("trans_tables_gr") - translit.gen_rules_en() - translit.gen_rules_de() - translit.show_tab(translit["\luaescapestring{#1}"]) - \stopluacode -} -\stopdefinition - -\startdocumentation -The user-level command to output all defined tables is -\type{\showTranslitTabs}. -\stopdocumentation - -\startdefinition -\define\showTranslitTabs{% - \ctxlua{translit.show_all_tabs()}% -} -\stopdefinition - -\startdefinition -\def\translitDebug#1{% - \doif{\transliterateparameter{debug}}{yes}{% - {\ss\inmargin{\ctxlua{translit.debug_next()}} #1}% - }% -} -\stopdefinition - -\startdocumentation -The user-level command \type{\transliterate[#1]{#2}} does the job of -switching to a given language (for hyphenation) and adjusting the -substitution method locally. It takes an optional list \type{[#1]} of -key-value arguments to allow ad-hoc specification of either two that deviate -from the defaults set initially by means of \type{\setuptransliterate}. - -Internally, \type{\dotransliterate} is called according to the \CONTEXT\ -coding style and in case the user provides \type{hyphenate=} or -\type{mode=} those will be used instead of the globals. Note that this -leaves the latter unchanged. Thus, in order to permanently switch to -another transliteration style the user would have to set it by calling -\type{\setuptransliterate} again. - -\stopdocumentation - -\startdefinition -\def\dotransliterate[#1]#2{% - \bgroup\iffirstargument - \setuptransliterate[#1]% - \fi - \language[\transliterateparameter{hyphenate}]% - \ctxlua{translit.transliterate("\transliterateparameter{mode}","\luaescapestring{#2}")}% - \egroup% -} -\stopdefinition - -\startdefinition -\unexpanded\def\transliterate{\dosingleempty\dotransliterate} -\stopdefinition - -\startdefinition -\unexpanded\def\starttransliterate{% - \bgroup% - \dosingleempty\dostarttransliterate% -} -\stopdefinition - -\startdefinition -\let\stoptransliterate\relax -\stopdefinition - -\startdefinition -\def\dostarttransliterate[#1]#2\stoptransliterate{% - \iffirstargument - \setuptransliterate[#1]% - \fi - \language[\transliterateparameter{hyphenate}]% - \ctxlua{translit.transliterate("\transliterateparameter{mode}","\luaescapestring{#2}")}% - \egroup% -} -\stopdefinition - -\startdefinition -\protect \endinput -\stopdefinition -\stopmodule diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.pdf b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.pdf deleted file mode 100644 index e645b12310..0000000000 Binary files a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.pdf and /dev/null differ diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.run b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.run deleted file mode 100644 index 3790d03644..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.run +++ /dev/null @@ -1,3 +0,0 @@ -\starttext -\readfile{t-transliterator.mkiv.prep}{}{} -\stoptext diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tuc b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tuc deleted file mode 100644 index f3b3aafed4..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/t-transliterator.tuc +++ /dev/null @@ -1,6752 +0,0 @@ --- version: 1.14 --- file: t-transliterator --- format: cont-en --- stamp: 2011.01.12 10:20 --- escape: [===[ ... ]===] - -job = job or { } -job.variables = job.variables or { } -job.variables.checksums = job.variables.checksums or { } -job.variables.checksums={ - new="22AF645D1859CB5CA6DA0C484F1F37EA", - old="149603E6C03516362A8DA23F624DB945", -} -job = job or { } -job.variables = job.variables or { } -job.variables.collected = job.variables.collected or { } -job.variables.collected={ - randomseed=0.17427635852912, - totalnofparbackgrounds=0, -} -job = job or { } -job.passes = job.passes or { } -job.passes.collected = job.passes.collected or { } -job.passes.collected={ -} -structures = structures or { } -structures.specials = structures.specials or { } -structures.specials.collected = structures.specials.collected or { } -structures.specials.collected={ -} -structures = structures or { } -structures.counters = structures.counters or { } -structures.counters.collected = structures.counters.collected or { } -structures.counters.collected={ - endnote={ - { 0, 0, 0, 0 }, - }, - figure={ - { 0, 0 }, - }, - footnote={ - { 0, 0, 0, 0 }, - }, - formula={ - { 0, 0 }, - }, - graphic={ - { 0, 0 }, - }, - intermezzo={ - { 0, 0 }, - }, - ["itemgroup:itemize"]={ - { 0, 0 }, - }, - linenote={ - { 0, 0, 0, 0 }, - }, - realpage={ - { 0, 6 }, - }, - subpage={ - { 0, 1 }, - }, - table={ - { 0, 0 }, - }, - userpage={ - { 0, 4 }, - }, -} -structures = structures or { } -structures.lists = structures.lists or { } -structures.lists.collected = structures.lists.collected or { } -structures.lists.collected={ -} -structures = structures or { } -structures.pages = structures.pages or { } -structures.pages.collected = structures.pages.collected or { } -structures.pages.collected={ - { - block="bodypart", - number=1, - numberdata=1, - prefixdata=2, - }, - { - block="bodypart", - number=1, - numberdata=1, - prefixdata=2, - }, - { - block="bodypart", - number=1, - numberdata=1, - prefixdata=2, - }, - { - block="bodypart", - number=2, - numberdata=1, - prefixdata=2, - }, - { - block="bodypart", - number=3, - numberdata=1, - prefixdata=2, - }, - { - block="bodypart", - number=4, - numberdata=1, - prefixdata=2, - }, -} -structures = structures or { } -structures.references = structures.references or { } -structures.references.collected = structures.references.collected or { } -structures.references.collected={ -} -structures = structures or { } -structures.references = structures.references or { } -structures.references.referred = structures.references.referred or { } -structures.references.referred={ -} -structures = structures or { } -structures.registers = structures.registers or { } -structures.registers.collected = structures.registers.collected or { } -structures.registers.collected={ - texmacro={ - entries={}, - metadata=3, - }, -} -job = job or { } -job.positions = job.positions or { } -job.positions.collected = job.positions.collected or { } -job.positions.collected={ -} -job = job or { } -job.objects = job.objects or { } -job.objects.collected = job.objects.collected or { } -job.objects.collected={ -} -structures = structures or { } -structures.synonyms = structures.synonyms or { } -structures.synonyms.collected = structures.synonyms.collected or { } -structures.synonyms.collected={ - logo={ - entries={ - { - definition={ - synonym="MkI", - tag="MKI", - }, - metadata=4, - }, - { - definition={ - synonym="MkII", - tag="MKII", - }, - metadata=4, - }, - { - definition={ - synonym="MkIII", - tag="MKIII", - }, - metadata=4, - }, - { - definition={ - synonym="MkIV", - tag="MKIV", - }, - metadata=4, - }, - { - definition={ - synonym="MkVI", - tag="MKVI", - }, - metadata=4, - }, - { - definition={ - synonym="Acro\\-bat", - tag="ACROBAT", - }, - metadata=4, - }, - { - definition={ - synonym="afm", - tag="AFM", - }, - metadata=4, - }, - { - definition={ - synonym="api", - tag="API", - }, - metadata=4, - }, - { - definition={ - synonym="Aleph", - tag="ALEPH", - }, - metadata=4, - }, - { - definition={ - synonym="ALGOL", - tag="ALGOL", - }, - metadata=4, - }, - { - definition={ - synonym="ams", - tag="AMS", - }, - metadata=4, - }, - { - definition={ - synonym="\\AmSLaTeX ", - tag="AMSLATEX", - }, - metadata=4, - }, - { - definition={ - synonym="\\AmSTeX ", - tag="AMSTEX", - }, - metadata=4, - }, - { - definition={ - synonym="ansi", - tag="ANSI", - }, - metadata=4, - }, - { - definition={ - synonym="Arab\\TeX ", - tag="ARABTEX", - }, - metadata=4, - }, - { - definition={ - synonym="ascii", - tag="ASCII", - }, - metadata=4, - }, - { - definition={ - synonym="ascii\\TeX ", - tag="ASCIITEX", - }, - metadata=4, - }, - { - definition={ - synonym="Bacho\\TeX ", - tag="BACHOTEX", - }, - metadata=4, - }, - { - definition={ - synonym="bib\\TeX ", - tag="BIBTEX", - }, - metadata=4, - }, - { - definition={ - synonym="BlueSky", - tag="BLUESKY", - }, - metadata=4, - }, - { - definition={ - synonym="bmp", - tag="BMP", - }, - metadata=4, - }, - { - definition={ - synonym="bsd", - tag="BSD", - }, - metadata=4, - }, - { - definition={ - synonym="C", - tag="CCODE", - }, - metadata=4, - }, - { - definition={ - synonym="CalcMath", - tag="CALCMATH", - }, - metadata=4, - }, - { - definition={ - synonym="cd", - tag="CD", - }, - metadata=4, - }, - { - definition={ - synonym="cpu", - tag="CPU", - }, - metadata=4, - }, - { - definition={ - synonym="cdrom", - tag="CDROM", - }, - metadata=4, - }, - { - definition={ - synonym="cid", - tag="CID", - }, - metadata=4, - }, - { - definition={ - synonym="cjk", - tag="CJK", - }, - metadata=4, - }, - { - definition={ - synonym="cmr", - tag="CMR", - }, - metadata=4, - }, - { - definition={ - synonym="cmyk", - tag="CMYK", - }, - metadata=4, - }, - { - definition={ - synonym="CodHost", - tag="CODHOST", - }, - metadata=4, - }, - { - definition={ - synonym="\\ConTeXt ", - tag="CONTEXT", - used=true, - }, - metadata=4, - }, - { - definition={ - synonym="css", - tag="CSS", - }, - metadata=4, - }, - { - definition={ - synonym="ctan", - tag="CTAN", - }, - metadata=4, - }, - { - definition={ - synonym="ctxtools", - tag="CTXTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="cweb", - tag="CWEB", - }, - metadata=4, - }, - { - definition={ - synonym="Dante", - tag="DANTE", - }, - metadata=4, - }, - { - definition={ - synonym="distiller", - tag="DISTILLER", - }, - metadata=4, - }, - { - definition={ - synonym="Dra\\TeX ", - tag="DRATEX", - }, - metadata=4, - }, - { - definition={ - synonym="dsc", - tag="DSC", - }, - metadata=4, - }, - { - definition={ - synonym="dtd", - tag="DTD", - }, - metadata=4, - }, - { - definition={ - synonym="dtk", - tag="DTK", - }, - metadata=4, - }, - { - definition={ - synonym="dtp", - tag="DTP", - }, - metadata=4, - }, - { - definition={ - synonym="dvd", - tag="DVD", - }, - metadata=4, - }, - { - definition={ - synonym="dvi", - tag="DVI", - }, - metadata=4, - }, - { - definition={ - synonym="dvipdfm", - tag="DVIPDFM", - }, - metadata=4, - }, - { - definition={ - synonym="dvipdfmx", - tag="DVIPDFMX", - }, - metadata=4, - }, - { - definition={ - synonym="dvipos", - tag="DVIPOS", - }, - metadata=4, - }, - { - definition={ - synonym="dvips", - tag="DVIPS", - }, - metadata=4, - }, - { - definition={ - synonym="dvipsone", - tag="DVIPSONE", - }, - metadata=4, - }, - { - definition={ - synonym="dviscr", - tag="DVISCR", - }, - metadata=4, - }, - { - definition={ - synonym="dviwindo", - tag="DVIWINDO", - }, - metadata=4, - }, - { - definition={ - synonym="ec", - tag="EC", - }, - metadata=4, - }, - { - definition={ - synonym="Eiffel", - tag="EIFFEL", - }, - metadata=4, - }, - { - definition={ - synonym="emacs", - tag="EMACS", - }, - metadata=4, - }, - { - definition={ - synonym="em\\TeX ", - tag="EMTEX", - }, - metadata=4, - }, - { - definition={ - synonym="enc", - tag="ENCODING", - }, - metadata=4, - }, - { - definition={ - synonym="enc\\TeX ", - tag="ENCTEX", - }, - metadata=4, - }, - { - definition={ - synonym="eps", - tag="EPS", - }, - metadata=4, - }, - { - definition={ - synonym="\\eTeX ", - tag="ETEX", - }, - metadata=4, - }, - { - definition={ - synonym="EuroBacho\\TeX ", - tag="EUROBACHOTEX", - }, - metadata=4, - }, - { - definition={ - synonym="EuroMath", - tag="EUROMATH", - }, - metadata=4, - }, - { - definition={ - synonym="Euro\\TeX ", - tag="EUROTEX", - }, - metadata=4, - }, - { - definition={ - synonym="eXaMpLe", - tag="EXAMPLE", - }, - metadata=4, - }, - { - definition={ - synonym="exampled", - tag="EXAMPLED", - }, - metadata=4, - }, - { - definition={ - synonym="exampleq", - tag="EXAMPLEQ", - }, - metadata=4, - }, - { - definition={ - synonym="exampler", - tag="EXAMPLER", - }, - metadata=4, - }, - { - definition={ - synonym="examplet", - tag="EXAMPLET", - }, - metadata=4, - }, - { - definition={ - synonym="examplex", - tag="EXAMPLEX", - }, - metadata=4, - }, - { - definition={ - synonym="eXiMpLe", - tag="EXIMPLE", - }, - metadata=4, - }, - { - definition={ - synonym="faq", - tag="FAQ", - }, - metadata=4, - }, - { - definition={ - synonym="fdf", - tag="FDF", - }, - metadata=4, - }, - { - definition={ - synonym="FontForge", - tag="FONTFORGE", - }, - metadata=4, - }, - { - definition={ - synonym="foXet", - tag="FOXET", - }, - metadata=4, - }, - { - definition={ - synonym="fp\\TeX ", - tag="FPTEX", - }, - metadata=4, - }, - { - definition={ - synonym="FreeBSD", - tag="FREEBSD", - }, - metadata=4, - }, - { - definition={ - synonym="ftp", - tag="FTP", - }, - metadata=4, - }, - { - definition={ - synonym="Ghost\\-script", - tag="GHOSTSCRIPT", - }, - metadata=4, - }, - { - definition={ - synonym="Ghost\\-view", - tag="GHOSTVIEW", - }, - metadata=4, - }, - { - definition={ - synonym="gif", - tag="GIF", - }, - metadata=4, - }, - { - definition={ - synonym="gnu", - tag="GNU", - }, - metadata=4, - }, - { - definition={ - synonym="gnuplot", - tag="GNUPLOT", - }, - metadata=4, - }, - { - definition={ - synonym="Ghost\\-Script", - tag="GS", - }, - metadata=4, - }, - { - definition={ - synonym="Gust", - tag="GUST", - }, - metadata=4, - }, - { - definition={ - synonym="gw\\TeX ", - tag="GWTEX", - }, - metadata=4, - }, - { - definition={ - synonym="hsb", - tag="HSB", - }, - metadata=4, - }, - { - definition={ - synonym="html", - tag="HTML", - }, - metadata=4, - }, - { - definition={ - synonym="http", - tag="HTTP", - }, - metadata=4, - }, - { - definition={ - synonym="hz", - tag="HZ", - }, - metadata=4, - }, - { - definition={ - synonym="ibm", - tag="IBM", - }, - metadata=4, - }, - { - definition={ - synonym="ImageMagick", - tag="IMAGEMAGICK", - }, - metadata=4, - }, - { - definition={ - synonym="ini\\TeX ", - tag="INITEX", - }, - metadata=4, - }, - { - definition={ - synonym="inrs\\TeX ", - tag="INRSTEX", - }, - metadata=4, - }, - { - definition={ - synonym="io", - tag="IO", - }, - metadata=4, - }, - { - definition={ - synonym="IRCnet", - tag="IRCNET", - }, - metadata=4, - }, - { - definition={ - synonym="iso", - tag="ISO", - }, - metadata=4, - }, - { - definition={ - synonym="Java", - tag="JAVA", - }, - metadata=4, - }, - { - definition={ - synonym="Java\\-Script", - tag="JAVASCRIPT", - }, - metadata=4, - }, - { - definition={ - synonym="jpeg", - tag="JPEG", - }, - metadata=4, - }, - { - definition={ - synonym="jpg", - tag="JPG", - }, - metadata=4, - }, - { - definition={ - synonym="kpathsea", - tag="KPATHSEA", - }, - metadata=4, - }, - { - definition={ - synonym="kpse", - tag="KPSE", - }, - metadata=4, - }, - { - definition={ - synonym="kpsewhich", - tag="KPSEWHICH", - }, - metadata=4, - }, - { - definition={ - synonym="mktexlsr", - tag="MKTEXLSR", - }, - metadata=4, - }, - { - definition={ - synonym="\\LamSTeX ", - tag="LAMSTEX", - }, - metadata=4, - }, - { - definition={ - synonym="\\LaTeX ", - tag="LATEX", - }, - metadata=4, - }, - { - definition={ - synonym="\\LaTeX 2e", - tag="LATEXTE", - }, - metadata=4, - }, - { - definition={ - synonym="\\LaTeX 2.09", - tag="LATEXTN", - }, - metadata=4, - }, - { - definition={ - synonym="linux", - tag="LINUX", - }, - metadata=4, - }, - { - definition={ - synonym="Lisp", - tag="LISP", - }, - metadata=4, - }, - { - definition={ - synonym="lpeg", - tag="LPEG", - }, - metadata=4, - }, - { - definition={ - synonym="Lua", - tag="LUA", - }, - metadata=4, - }, - { - definition={ - synonym="LuaJIT", - tag="LUAJIT", - }, - metadata=4, - }, - { - definition={ - synonym="Lua\\TeX ", - tag="LUATEX", - }, - metadata=4, - }, - { - definition={ - synonym="luatools", - tag="LUATOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="MacOSX", - tag="MACOSX", - }, - metadata=4, - }, - { - definition={ - synonym="Macro\\TeX ", - tag="MACROTEX", - }, - metadata=4, - }, - { - definition={ - synonym="MakeMPY", - tag="MAKEMPY", - }, - metadata=4, - }, - { - definition={ - synonym="map", - tag="MAPPING", - }, - metadata=4, - }, - { - definition={ - synonym="Maps", - tag="MAPS", - }, - metadata=4, - }, - { - definition={ - synonym="MathML", - tag="MATHML", - }, - metadata=4, - }, - { - definition={ - synonym="\\MetaFont ", - tag="METAFONT", - }, - metadata=4, - }, - { - definition={ - synonym="\\MetaPost ", - tag="METAPOST", - }, - metadata=4, - }, - { - definition={ - synonym="Meta\\TeX ", - tag="METATEX", - }, - metadata=4, - }, - { - definition={ - synonym="Mik\\TeX ", - tag="MIKTEX", - }, - metadata=4, - }, - { - definition={ - synonym="ml\\TeX ", - tag="MLTEX", - }, - metadata=4, - }, - { - definition={ - synonym="MetaType1", - tag="METATYPE", - }, - metadata=4, - }, - { - definition={ - synonym="Modula", - tag="MODULA", - }, - metadata=4, - }, - { - definition={ - synonym="mov", - tag="MOV", - }, - metadata=4, - }, - { - definition={ - synonym="mps", - tag="MPS", - }, - metadata=4, - }, - { - definition={ - synonym="mptopdf", - tag="MPTOPDF", - }, - metadata=4, - }, - { - definition={ - synonym="mplib", - tag="MPLIB", - }, - metadata=4, - }, - { - definition={ - synonym="msdos", - tag="MSDOS", - }, - metadata=4, - }, - { - definition={ - synonym="MS~Windows", - tag="MSWINDOWS", - }, - metadata=4, - }, - { - definition={ - synonym="mtxrun", - tag="MTXRUN", - }, - metadata=4, - }, - { - definition={ - synonym="mtxtools", - tag="MTXTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="NetPBM", - tag="NETPBM", - }, - metadata=4, - }, - { - definition={ - synonym="ntg", - tag="NTG", - }, - metadata=4, - }, - { - definition={ - synonym="nts", - tag="NTS", - }, - metadata=4, - }, - { - definition={ - synonym="ofm", - tag="OFM", - }, - metadata=4, - }, - { - definition={ - synonym="Omega", - tag="OMEGA", - }, - metadata=4, - }, - { - definition={ - synonym="OpenMath", - tag="OPENMATH", - }, - metadata=4, - }, - { - definition={ - synonym="OpenType", - tag="OPENTYPE", - }, - metadata=4, - }, - { - definition={ - synonym="opi", - tag="OPI", - }, - metadata=4, - }, - { - definition={ - synonym="otf", - tag="OTF", - }, - metadata=4, - }, - { - definition={ - synonym="otp", - tag="OTP", - }, - metadata=4, - }, - { - definition={ - synonym="ovf", - tag="OVF", - }, - metadata=4, - }, - { - definition={ - synonym="Pascal", - tag="PASCAL", - }, - metadata=4, - }, - { - definition={ - synonym="pc\\TeX ", - tag="PCTEX", - }, - metadata=4, - }, - { - definition={ - synonym="pdf", - tag="PDF", - }, - metadata=4, - }, - { - definition={ - synonym="pdfe\\TeX ", - tag="PDFETEX", - }, - metadata=4, - }, - { - definition={ - synonym="pdf\\TeX ", - tag="PDFTEX", - }, - metadata=4, - }, - { - definition={ - synonym="pdftools", - tag="PDFTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="pdftops", - tag="PDFTOPS", - }, - metadata=4, - }, - { - definition={ - synonym="Perl", - tag="PERL", - }, - metadata=4, - }, - { - definition={ - synonym="Perl/Tk", - tag="PERLTK", - }, - metadata=4, - }, - { - definition={ - synonym="\\PiCTeX ", - tag="PICTEX", - }, - metadata=4, - }, - { - definition={ - synonym="pk", - tag="PK", - }, - metadata=4, - }, - { - definition={ - synonym="Plain", - tag="PLAIN", - }, - metadata=4, - }, - { - definition={ - synonym="png", - tag="PNG", - }, - metadata=4, - }, - { - definition={ - synonym="posix", - tag="POSIX", - }, - metadata=4, - }, - { - definition={ - synonym="Post\\-Script", - tag="POSTSCRIPT", - }, - metadata=4, - }, - { - definition={ - synonym="\\PPCHTeX ", - tag="PPCHTEX", - }, - metadata=4, - }, - { - definition={ - synonym="Pragma ADE", - tag="PRAGMA", - }, - metadata=4, - }, - { - definition={ - synonym="press", - tag="PRESS", - }, - metadata=4, - }, - { - definition={ - synonym="prifil", - tag="PRIFIL", - }, - metadata=4, - }, - { - definition={ - synonym="Post\\-Script", - tag="PS", - }, - metadata=4, - }, - { - definition={ - synonym="pscheck", - tag="PSCHECK", - }, - metadata=4, - }, - { - definition={ - synonym="pstoedit", - tag="PSTOEDIT", - }, - metadata=4, - }, - { - definition={ - synonym="pstopage", - tag="PSTOPAGE", - }, - metadata=4, - }, - { - definition={ - synonym="pstopdf", - tag="PSTOPDF", - }, - metadata=4, - }, - { - definition={ - synonym="pstricks", - tag="PSTRICKS", - }, - metadata=4, - }, - { - definition={ - synonym="ram", - tag="RAM", - }, - metadata=4, - }, - { - definition={ - synonym="Acro\\-bat Reader", - tag="READER", - }, - metadata=4, - }, - { - definition={ - synonym="Relax\\kern .125emNG", - tag="RELAXNG", - }, - metadata=4, - }, - { - definition={ - synonym="rgb", - tag="RGB", - }, - metadata=4, - }, - { - definition={ - synonym="rlxtools", - tag="RLXTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="Ruby", - tag="RUBY", - }, - metadata=4, - }, - { - definition={ - synonym="SciTE", - tag="SCITE", - }, - metadata=4, - }, - { - definition={ - synonym="sgml", - tag="SGML", - }, - metadata=4, - }, - { - definition={ - synonym="si", - tag="SI", - }, - metadata=4, - }, - { - definition={ - synonym="sql", - tag="SQL", - }, - metadata=4, - }, - { - definition={ - synonym="svg", - tag="SVG", - }, - metadata=4, - }, - { - definition={ - synonym="\\TaBlE ", - tag="TABLE", - }, - metadata=4, - }, - { - definition={ - synonym="tcp/ip", - tag="TCPIP", - }, - metadata=4, - }, - { - definition={ - synonym="tds", - tag="TDS", - }, - metadata=4, - }, - { - definition={ - synonym="te\\TeX ", - tag="TETEX", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX ", - tag="TEX", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX adress", - tag="TEXADRES", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX base", - tag="TEXBASE", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX edit", - tag="TEXEDIT", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX exec", - tag="TEXEXEC", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX font", - tag="TEXFONT", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX form", - tag="TEXFORM", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX Live", - tag="TEXLIVE", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX Lua", - tag="TEXLUA", - }, - metadata=4, - }, - { - definition={ - synonym="texmf", - tag="TEXMF", - }, - metadata=4, - }, - { - definition={ - synonym="texmfstart", - tag="TEXMFSTART", - }, - metadata=4, - }, - { - definition={ - synonym="tex-nl", - tag="TEXNL", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX show", - tag="TEXSHOW", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX spell", - tag="TEXSPELL", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX \\ Gyre", - tag="TEXGYRE", - }, - metadata=4, - }, - { - definition={ - synonym="texsync", - tag="TEXSYNC", - }, - metadata=4, - }, - { - definition={ - synonym="TextMate", - tag="TEXTMATE", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX tools", - tag="TEXTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX util", - tag="TEXUTIL", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX work", - tag="TEXWORK", - }, - metadata=4, - }, - { - definition={ - synonym="\\TeX \\XeT ", - tag="TEXXET", - }, - metadata=4, - }, - { - definition={ - synonym="tfm", - tag="TFM", - }, - metadata=4, - }, - { - definition={ - synonym="tif", - tag="TIF", - }, - metadata=4, - }, - { - definition={ - synonym="tiff", - tag="TIFF", - }, - metadata=4, - }, - { - definition={ - synonym="tiffinfo", - tag="TIFFINFO", - }, - metadata=4, - }, - { - definition={ - synonym="tifftags", - tag="TIFFTAGS", - }, - metadata=4, - }, - { - definition={ - synonym="tmftools", - tag="TMFTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="tpic", - tag="TPIC", - }, - metadata=4, - }, - { - definition={ - synonym="tpm", - tag="TPM", - }, - metadata=4, - }, - { - definition={ - synonym="TrueType", - tag="TRUETYPE", - }, - metadata=4, - }, - { - definition={ - synonym="ttf", - tag="TTF", - }, - metadata=4, - }, - { - definition={ - synonym="tug", - tag="TUG", - }, - metadata=4, - }, - { - definition={ - synonym="Tug\\-Boat", - tag="TUGBOAT", - }, - metadata=4, - }, - { - definition={ - synonym="Tug\\-News", - tag="TUGNEWS", - }, - metadata=4, - }, - { - definition={ - synonym="Type1", - tag="TYPEONE", - }, - metadata=4, - }, - { - definition={ - synonym="ucs", - tag="UCS", - }, - metadata=4, - }, - { - definition={ - synonym="Uni\\-code", - tag="UNICODE", - }, - metadata=4, - }, - { - definition={ - synonym="Unix", - tag="UNIX", - }, - metadata=4, - }, - { - definition={ - synonym="uri", - tag="URI", - }, - metadata=4, - }, - { - definition={ - synonym="url", - tag="URL", - }, - metadata=4, - }, - { - definition={ - synonym="usa", - tag="USA", - }, - metadata=4, - }, - { - definition={ - synonym="usenet", - tag="USENET", - }, - metadata=4, - }, - { - definition={ - synonym="utf", - tag="UTF", - }, - metadata=4, - }, - { - definition={ - synonym="vf", - tag="VF", - }, - metadata=4, - }, - { - definition={ - synonym="wdt", - tag="WDT", - }, - metadata=4, - }, - { - definition={ - synonym="web", - tag="WEB", - }, - metadata=4, - }, - { - definition={ - synonym="web2c", - tag="WEBC", - }, - metadata=4, - }, - { - definition={ - synonym="Wiki", - tag="WIKI", - }, - metadata=4, - }, - { - definition={ - synonym="Windows", - tag="WINDOWS", - }, - metadata=4, - }, - { - definition={ - synonym="WinNT", - tag="WINNT", - }, - metadata=4, - }, - { - definition={ - synonym="Win9x", - tag="WINNX", - }, - metadata=4, - }, - { - definition={ - synonym="www", - tag="WWW", - }, - metadata=4, - }, - { - definition={ - synonym="wysiwyg", - tag="WYSIWYG", - }, - metadata=4, - }, - { - definition={ - synonym="Xdvi", - tag="XDVI", - }, - metadata=4, - }, - { - definition={ - synonym="\\XeTeX ", - tag="XETEX", - }, - metadata=4, - }, - { - definition={ - synonym="xfdf", - tag="XFDF", - }, - metadata=4, - }, - { - definition={ - synonym="xhtml", - tag="XHTML", - }, - metadata=4, - }, - { - definition={ - synonym="Xindy", - tag="XINDY", - }, - metadata=4, - }, - { - definition={ - synonym="xml", - tag="XML", - }, - metadata=4, - }, - { - definition={ - synonym="xpath", - tag="XPATH", - }, - metadata=4, - }, - { - definition={ - synonym="xmltools", - tag="XMLTOOLS", - }, - metadata=4, - }, - { - definition={ - synonym="xpdfe\\TeX ", - tag="XPDFETEX", - }, - metadata=4, - }, - { - definition={ - synonym="xsl", - tag="XSL", - }, - metadata=4, - }, - { - definition={ - synonym="xsl-fo", - tag="XSLFO", - }, - metadata=4, - }, - { - definition={ - synonym="xslt", - tag="XSLT", - }, - metadata=4, - }, - { - definition={ - synonym="xsltproc", - tag="XSLTPROC", - }, - metadata=4, - }, - { - definition={ - synonym="XYPIC", - tag="XYPIC", - }, - metadata=4, - }, - { - definition={ - synonym="y\\&y", - tag="YandY", - }, - metadata=4, - }, - { - definition={ - synonym="zip", - tag="ZIP", - }, - metadata=4, - }, - { - definition={ - synonym="\\MetaFun ", - tag="METAFUN", - }, - metadata=4, - }, - }, - metadata=5, - }, - texcommand={ - entries={ - { - definition={ - synonym="setups:cont-en.xml::82", - tag="stp:x:installlanguage", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::133", - tag="stp:x:setuplanguage", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::141", - tag="stp:x:language", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::147", - tag="stp:x:mainlanguage", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::153", - tag="stp:x:translate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::160", - tag="stp:x:useencoding", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::166", - tag="stp:x:usespecials", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::173", - tag="stp:x:defineoutput", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::181", - tag="stp:x:setupoutput", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::187", - tag="stp:x:definebodyfontenvironment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::225", - tag="stp:x:setupbodyfontenvironment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::235", - tag="stp:x:showbodyfontenvironment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::241", - tag="stp:x:definebodyfont", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::285", - tag="stp:x:definebodyfontDEF", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::295", - tag="stp:x:definebodyfontREF", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::305", - tag="stp:x:showbodyfont", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::311", - tag="stp:x:setupbodyfont", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::331", - tag="stp:x:switchtobodyfont", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::353", - tag="stp:x:definefont", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::363", - tag="stp:x:setupcolor", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::369", - tag="stp:x:setupcolors", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::420", - tag="stp:x:definecolor", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::453", - tag="stp:x:startcolor", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::459", - tag="stp:x:color", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::466", - tag="stp:x:graycolor", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::472", - tag="stp:x:showcolor", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::478", - tag="stp:x:definepalet", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::487", - tag="stp:x:setuppalet", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::493", - tag="stp:x:definecolorgroup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::505", - tag="stp:x:showpalet", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::516", - tag="stp:x:showcolorgroup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::528", - tag="stp:x:comparepalet", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::534", - tag="stp:x:comparecolorgroup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::540", - tag="stp:x:showmakeup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::543", - tag="stp:x:definetype", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::551", - tag="stp:x:setuptype", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::573", - tag="stp:x:type", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::578", - tag="stp:x:typ", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::583", - tag="stp:x:tex", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::588", - tag="stp:x:definetyping", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::596", - tag="stp:x:setuptyping", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::687", - tag="stp:x:starttyping*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::690", - tag="stp:x:typefile", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::697", - tag="stp:x:setupfootnotes", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::764", - tag="stp:x:setupfootnotedefinition", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::770", - tag="stp:x:footnote", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::776", - tag="stp:x:footnotetext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::782", - tag="stp:x:note", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::787", - tag="stp:x:startlocalfootnotes", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::790", - tag="stp:x:placelocalfootnotes", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::796", - tag="stp:x:placefootnotes", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::802", - tag="stp:x:setupunderbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::819", - tag="stp:x:underbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::824", - tag="stp:x:underbars", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::829", - tag="stp:x:overbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::834", - tag="stp:x:overbars", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::839", - tag="stp:x:overstrike", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::844", - tag="stp:x:overstrikes", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::849", - tag="stp:x:romannumerals", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::854", - tag="stp:x:Romannumerals", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::859", - tag="stp:x:numbers", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::864", - tag="stp:x:character", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::869", - tag="stp:x:Character", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::874", - tag="stp:x:characters", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::879", - tag="stp:x:Characters", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::884", - tag="stp:x:mediaeval", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::889", - tag="stp:x:month", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::894", - tag="stp:x:MONTH", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::899", - tag="stp:x:weekday", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::904", - tag="stp:x:WEEKDAY", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::909", - tag="stp:x:setupcapitals", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::920", - tag="stp:x:cap", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::925", - tag="stp:x:nocap", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::930", - tag="stp:x:CAP", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::935", - tag="stp:x:Cap", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::940", - tag="stp:x:Caps", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::945", - tag="stp:x:WORD", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::950", - tag="stp:x:WORDS", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::955", - tag="stp:x:Word", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::960", - tag="stp:x:Words", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::965", - tag="stp:x:stretched", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::970", - tag="stp:x:definesymbol", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::978", - tag="stp:x:definefiguresymbol", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::988", - tag="stp:x:symbol", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::996", - tag="stp:x:startsymbolset", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1002", - tag="stp:x:setupsymbolset", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1008", - tag="stp:x:usesymbols", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1014", - tag="stp:x:showsymbolset", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1020", - tag="stp:x:defineconversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1029", - tag="stp:x:convertnumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1035", - tag="stp:x:setupheadtext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1044", - tag="stp:x:setuplabeltext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1053", - tag="stp:x:headtext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1058", - tag="stp:x:labeltext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1063", - tag="stp:x:setupmarginrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1072", - tag="stp:x:startmarginrule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1078", - tag="stp:x:marginrule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1085", - tag="stp:x:setuplinewidth", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1091", - tag="stp:x:setupframed", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1205", - tag="stp:x:framed", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1212", - tag="stp:x:inframed", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1219", - tag="stp:x:thinrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1225", - tag="stp:x:setupthinrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1265", - tag="stp:x:hairline", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1268", - tag="stp:x:thinrule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1271", - tag="stp:x:defineframedtext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1279", - tag="stp:x:defineframed", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1287", - tag="stp:x:setupframedtexts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1326", - tag="stp:x:startframedtext*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1337", - tag="stp:x:framedtext*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1343", - tag="stp:x:startbackground", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1348", - tag="stp:x:background", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1353", - tag="stp:x:setupbackground", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1374", - tag="stp:x:fillinrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1382", - tag="stp:x:fillintext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1390", - tag="stp:x:setupfillinrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1415", - tag="stp:x:fillinline", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1422", - tag="stp:x:setupfillinlines", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1437", - tag="stp:x:setuptextrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1463", - tag="stp:x:textrule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1471", - tag="stp:x:starttextrule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1479", - tag="stp:x:blackrule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1485", - tag="stp:x:blackrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1491", - tag="stp:x:setupblackrules", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1514", - tag="stp:x:defineoverlay", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1522", - tag="stp:x:usemodule", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1528", - tag="stp:x:reset", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1534", - tag="stp:x:startlocalenvironment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1537", - tag="stp:x:setupsystem", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1554", - tag="stp:x:usedirectory", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1561", - tag="stp:x:low", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1566", - tag="stp:x:high", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1571", - tag="stp:x:lohi", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1579", - tag="stp:x:showframe", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1587", - tag="stp:x:leftaligned", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1592", - tag="stp:x:rightaligned", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1597", - tag="stp:x:midaligned", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1602", - tag="stp:x:wordright", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1607", - tag="stp:x:inmargin", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1617", - tag="stp:x:inothermargin", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1627", - tag="stp:x:inleft", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1637", - tag="stp:x:inright", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1647", - tag="stp:x:ininner", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1657", - tag="stp:x:inouter", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1667", - tag="stp:x:column", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1670", - tag="stp:x:showstruts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1673", - tag="stp:x:showsetups", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1676", - tag="stp:x:showlayout", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1679", - tag="stp:x:margintext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1689", - tag="stp:x:setupmarginblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1719", - tag="stp:x:startmarginblock", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1722", - tag="stp:x:part", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1728", - tag="stp:x:title", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1734", - tag="stp:x:chapter", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1740", - tag="stp:x:section", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1746", - tag="stp:x:subsection", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1752", - tag="stp:x:subsubsection", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1758", - tag="stp:x:subject", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1764", - tag="stp:x:subsubject", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1770", - tag="stp:x:subsubsubject", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1776", - tag="stp:x:appendix", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1782", - tag="stp:x:in", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1789", - tag="stp:x:at", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1796", - tag="stp:x:about", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1802", - tag="stp:x:somewhere", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1809", - tag="stp:x:atpage", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1814", - tag="stp:x:ref", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1825", - tag="stp:x:textreference", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1831", - tag="stp:x:pagereference", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1836", - tag="stp:x:reference", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1842", - tag="stp:x:usereferences", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1848", - tag="stp:x:definereference", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1855", - tag="stp:x:definereferenceformat", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1870", - tag="stp:x:hl", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1876", - tag="stp:x:vl", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1882", - tag="stp:x:godown", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1888", - tag="stp:x:whitespace", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1891", - tag="stp:x:nowhitespace", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1894", - tag="stp:x:crlf", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1897", - tag="stp:x:space", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1900", - tag="stp:x:fixedspaces", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1903", - tag="stp:x:emptylines", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1909", - tag="stp:x:nospace", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1912", - tag="stp:x:packed", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1915", - tag="stp:x:setupdescriptions", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::1993", - tag="stp:x:setupenumerations", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2001", - tag="stp:x:defineenumeration", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2011", - tag="stp:x:enumeration*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2016", - tag="stp:x:startenumeration*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2019", - tag="stp:x:definedescription", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2027", - tag="stp:x:description*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2033", - tag="stp:x:startdescription*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2038", - tag="stp:x:setupindentations", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2064", - tag="stp:x:defineindenting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2072", - tag="stp:x:indentation*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2077", - tag="stp:x:definelabel", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2103", - tag="stp:x:labeling*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2108", - tag="stp:x:setupcolumns", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2150", - tag="stp:x:startcolumns", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2156", - tag="stp:x:definetext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2171", - tag="stp:x:setupheader", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2206", - tag="stp:x:setupfooter", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2214", - tag="stp:x:setuptext", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2222", - tag="stp:x:setuptop", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2230", - tag="stp:x:setupbottom", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2238", - tag="stp:x:noheaderandfooterlines", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2241", - tag="stp:x:notopandbottomlines", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2244", - tag="stp:x:setupheadertexts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2254", - tag="stp:x:setupfootertexts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2264", - tag="stp:x:setuptexttexts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2274", - tag="stp:x:setuptoptexts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2284", - tag="stp:x:setupbottomtexts", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2294", - tag="stp:x:settextcontent", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2308", - tag="stp:x:resettextcontent", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2320", - tag="stp:x:definemarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2328", - tag="stp:x:couplemarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2336", - tag="stp:x:decouplemarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2342", - tag="stp:x:resetmarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2348", - tag="stp:x:setupmarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2363", - tag="stp:x:marking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2370", - tag="stp:x:getmarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2383", - tag="stp:x:nomarking", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2388", - tag="stp:x:setuplayout", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2497", - tag="stp:x:adaptlayout", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2509", - tag="stp:x:showgrid", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2526", - tag="stp:x:placeongrid", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2533", - tag="stp:x:moveongrid", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2557", - tag="stp:x:startproject", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2562", - tag="stp:x:startenvironment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2567", - tag="stp:x:startproduct", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2572", - tag="stp:x:startcomponent", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2577", - tag="stp:x:nomorefiles", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2580", - tag="stp:x:setupinterlinespace:1", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2592", - tag="stp:x:setupinterlinespace2:2", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2607", - tag="stp:x:setuppagenumbering", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2665", - tag="stp:x:setupnarrower", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2676", - tag="stp:x:define", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2684", - tag="stp:x:usecommands", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2689", - tag="stp:x:definestartstop", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2704", - tag="stp:x:setupheads", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2741", - tag="stp:x:setupcaptions", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2799", - tag="stp:x:setupcaption", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2807", - tag="stp:x:setupfloats", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2870", - tag="stp:x:setupfloatsplitting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2883", - tag="stp:x:splitfloat", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2891", - tag="stp:x:setupoppositeplacing", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2905", - tag="stp:x:startopposite", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2908", - tag="stp:x:setuphyphenmark", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2922", - tag="stp:x:setuppositioning", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2951", - tag="stp:x:startpositioning", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2954", - tag="stp:x:grid", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::2993", - tag="stp:x:page", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3015", - tag="stp:x:setupreferencing", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3058", - tag="stp:x:setupurl", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3073", - tag="stp:x:writetoreferencelist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3081", - tag="stp:x:placereferencelist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3087", - tag="stp:x:definereferencelist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3095", - tag="stp:x:setupreferencelist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3116", - tag="stp:x:writetolist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3129", - tag="stp:x:writebetweenlist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3141", - tag="stp:x:nolist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3146", - tag="stp:x:listsymbol", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3153", - tag="stp:x:placelist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3161", - tag="stp:x:determinelistcharacteristics", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3169", - tag="stp:x:placecombinedlist:1", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3177", - tag="stp:x:definelist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3187", - tag="stp:x:setuplist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3306", - tag="stp:x:setuplistalternative", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3323", - tag="stp:x:definecombinedlist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3333", - tag="stp:x:setupcombinedlist", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3348", - tag="stp:x:placecombinedlist:2*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3357", - tag="stp:x:completecombinedlist*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3366", - tag="stp:x:setupnumbering", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3377", - tag="stp:x:setupformulas", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3429", - tag="stp:x:publication", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3434", - tag="stp:x:setuppublications", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3443", - tag="stp:x:setuplines", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3461", - tag="stp:x:startlines", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3464", - tag="stp:x:setupparagraphnumbering", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3478", - tag="stp:x:setuplinenumbering", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3516", - tag="stp:x:startlinenumbering", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3522", - tag="stp:x:startline", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3527", - tag="stp:x:someline", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3532", - tag="stp:x:inline", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3537", - tag="stp:x:setupinmargin", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3572", - tag="stp:x:setuppagenumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3583", - tag="stp:x:setupsubpagenumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3595", - tag="stp:x:setupblank", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3613", - tag="stp:x:defineblank", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3621", - tag="stp:x:definepapersize", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3636", - tag="stp:x:setuppaper", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3663", - tag="stp:x:setuppapersize", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3685", - tag="stp:x:setuparranging", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3710", - tag="stp:x:showprint", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3720", - tag="stp:x:definelogo", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3748", - tag="stp:x:placelogos", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3754", - tag="stp:x:setupwhitespace", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3767", - tag="stp:x:setupindenting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3773", - tag="stp:x:definesectionblock", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3781", - tag="stp:x:setupsectionblock", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3798", - tag="stp:x:definesection", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3804", - tag="stp:x:setupsection", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3822", - tag="stp:x:setuphead", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3925", - tag="stp:x:setupheadnumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3935", - tag="stp:x:headnumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3941", - tag="stp:x:determineheadnumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3947", - tag="stp:x:currentheadnumber", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3950", - tag="stp:x:nextsection*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3954", - tag="stp:x:definehead", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::3962", - tag="stp:x:setupitemgroup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4054", - tag="stp:x:startitemgroup*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4087", - tag="stp:x:item", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4092", - tag="stp:x:but", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4097", - tag="stp:x:its", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4102", - tag="stp:x:ran", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4107", - tag="stp:x:head", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4112", - tag="stp:x:mar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4118", - tag="stp:x:sub", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4123", - tag="stp:x:sym", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4128", - tag="stp:x:nop", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4131", - tag="stp:x:defineregister", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4139", - tag="stp:x:setupregister", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4219", - tag="stp:x:register*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4226", - tag="stp:x:startregister*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4234", - tag="stp:x:writetoregister", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4243", - tag="stp:x:coupledregister*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4251", - tag="stp:x:coupleregister", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4257", - tag="stp:x:placeregister:1", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4265", - tag="stp:x:seeregister*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4274", - tag="stp:x:completeregister*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4281", - tag="stp:x:placeregister:2*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4288", - tag="stp:x:definesynonyms", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4300", - tag="stp:x:setupsynonyms", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4336", - tag="stp:x:synonym*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4344", - tag="stp:x:completelistofsynonyms*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4348", - tag="stp:x:placelistofsynonyms*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4352", - tag="stp:x:loadsynonyms*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4356", - tag="stp:x:definesorting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4366", - tag="stp:x:setupsorting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4391", - tag="stp:x:sort*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4398", - tag="stp:x:completelistofsorts*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4402", - tag="stp:x:placelistofsorts*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4406", - tag="stp:x:loadsorts*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4410", - tag="stp:x:definemakeup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4418", - tag="stp:x:startmakeup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4426", - tag="stp:x:setupmakeup", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4479", - tag="stp:x:startnamemakeup*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4483", - tag="stp:x:version", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4491", - tag="stp:x:currentdate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4497", - tag="stp:x:date", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4527", - tag="stp:x:referraldate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4530", - tag="stp:x:indenting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4536", - tag="stp:x:noindenting", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4539", - tag="stp:x:blank", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4562", - tag="stp:x:startpacked", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4568", - tag="stp:x:startunpacked", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4571", - tag="stp:x:startlinecorrection", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4574", - tag="stp:x:correctwhitespace", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4579", - tag="stp:x:startpostponing", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4582", - tag="stp:x:startlocal", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4585", - tag="stp:x:startnarrower", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4597", - tag="stp:x:starthiding", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4600", - tag="stp:x:setupalign", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4642", - tag="stp:x:startalignment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4648", - tag="stp:x:setupspacing", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4655", - tag="stp:x:setuptolerance", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4668", - tag="stp:x:pagetype", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4674", - tag="stp:x:processpage", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4683", - tag="stp:x:couplepage", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4696", - tag="stp:x:position", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4702", - tag="stp:x:setupscreens", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4717", - tag="stp:x:setupbackgrounds", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4743", - tag="stp:x:startbuffer*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4749", - tag="stp:x:startbuffer", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4755", - tag="stp:x:getbuffer", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4761", - tag="stp:x:typebuffer", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4767", - tag="stp:x:definebuffer", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4773", - tag="stp:x:setupbuffer", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4786", - tag="stp:x:defineblock", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4792", - tag="stp:x:nomoreblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4795", - tag="stp:x:hideblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4803", - tag="stp:x:keepblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4812", - tag="stp:x:useblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4820", - tag="stp:x:processblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4828", - tag="stp:x:bypassblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4836", - tag="stp:x:forceblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4844", - tag="stp:x:selectblocks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4856", - tag="stp:x:setupblock", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4873", - tag="stp:x:startformula*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4876", - tag="stp:x:mathematics", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4881", - tag="stp:x:placeformula", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4888", - tag="stp:x:placesubformula", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4895", - tag="stp:x:placefloat*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4943", - tag="stp:x:reservefloat*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4960", - tag="stp:x:definefloat", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4968", - tag="stp:x:setupfloat", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::4998", - tag="stp:x:startfloattext*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5014", - tag="stp:x:placelistoffloats*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5018", - tag="stp:x:completelistoffloats*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5022", - tag="stp:x:referral", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5039", - tag="stp:x:selectpaper", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5047", - tag="stp:x:couplepaper", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5053", - tag="stp:x:chem", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5060", - tag="stp:x:fraction", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5066", - tag="stp:x:periods", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5072", - tag="stp:x:items", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5079", - tag="stp:x:setupitems", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5112", - tag="stp:x:startquotation", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5120", - tag="stp:x:quotation", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5125", - tag="stp:x:quote", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5130", - tag="stp:x:setupquote", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5146", - tag="stp:x:defineparagraphs", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5177", - tag="stp:x:paragraph*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5180", - tag="stp:x:startparagraph*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5183", - tag="stp:x:setupparagraphs", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5220", - tag="stp:x:setuptab", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5234", - tag="stp:x:tab", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5240", - tag="stp:x:startdocument", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5246", - tag="stp:x:labels", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5252", - tag="stp:x:definetabulate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5262", - tag="stp:x:starttabulate*", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5270", - tag="stp:x:setuptabulate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5312", - tag="stp:x:setuptables", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5361", - tag="stp:x:starttable", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5368", - tag="stp:x:starttables", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5375", - tag="stp:x:definetabletemplate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5387", - tag="stp:x:useexternalfiles", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5398", - tag="stp:x:useexternalfile", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5411", - tag="stp:x:useexternalfigure", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5423", - tag="stp:x:externalfigure", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5431", - tag="stp:x:setupexternalfigures", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5524", - tag="stp:x:showexternalfigures", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5533", - tag="stp:x:useexternalsoundtrack", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5541", - tag="stp:x:name", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5546", - tag="stp:x:startlegend", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5557", - tag="stp:x:startfact", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5566", - tag="stp:x:rotate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5573", - tag="stp:x:setuprotate", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5587", - tag="stp:x:mirror", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5592", - tag="stp:x:scale", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5602", - tag="stp:x:setupcombinations", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5633", - tag="stp:x:startcombination", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5639", - tag="stp:x:placesidebyside", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5645", - tag="stp:x:placeontopofeachother", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5651", - tag="stp:x:startoverlay", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5657", - tag="stp:x:startoverview", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5663", - tag="stp:x:setupinteractionscreen", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5695", - tag="stp:x:screen", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5698", - tag="stp:x:setuppagetransitions", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5705", - tag="stp:x:setupinteraction", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5767", - tag="stp:x:setupinteractionmenu", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5822", - tag="stp:x:defineinteractionmenu:1", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5834", - tag="stp:x:defineinteractionmenu:2", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5852", - tag="stp:x:startinteractionmenu", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5858", - tag="stp:x:disableinteractionmenu", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5869", - tag="stp:x:useexternaldocument", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5879", - tag="stp:x:useURL", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5891", - tag="stp:x:coupledocument", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5901", - tag="stp:x:from", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5906", - tag="stp:x:interactionbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5912", - tag="stp:x:interactionbuttons", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5920", - tag="stp:x:setupinteractionbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5957", - tag="stp:x:synchronize", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5960", - tag="stp:x:startsynchronization", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5963", - tag="stp:x:setupsynchronizationbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5982", - tag="stp:x:synchronizationbar", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::5993", - tag="stp:x:setupsynchronization", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6001", - tag="stp:x:defineprofile", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6009", - tag="stp:x:setupprofiles", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6016", - tag="stp:x:startprofile", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6022", - tag="stp:x:followprofile", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6029", - tag="stp:x:placebookmarks", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6042", - tag="stp:x:bookmark", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6049", - tag="stp:x:startversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6055", - tag="stp:x:setupversions", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6064", - tag="stp:x:markversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6067", - tag="stp:x:selectversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6070", - tag="stp:x:defineversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6078", - tag="stp:x:followversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6085", - tag="stp:x:followprofileversion", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6094", - tag="stp:x:defineprogram", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6104", - tag="stp:x:setupprograms", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6111", - tag="stp:x:program", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6117", - tag="stp:x:startfigure", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6131", - tag="stp:x:goto", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6138", - tag="stp:x:gotobox", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6144", - tag="stp:x:button", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6152", - tag="stp:x:setupbuttons", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6161", - tag="stp:x:setupcomment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6196", - tag="stp:x:startcomment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6204", - tag="stp:x:comment", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6213", - tag="stp:x:definefield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6234", - tag="stp:x:definesubfield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6244", - tag="stp:x:copyfield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6252", - tag="stp:x:clonefield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6264", - tag="stp:x:field", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6270", - tag="stp:x:fitfield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6276", - tag="stp:x:fillinfield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6283", - tag="stp:x:tooltip", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6293", - tag="stp:x:showfields", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6299", - tag="stp:x:logfields", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6302", - tag="stp:x:setupfield", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6317", - tag="stp:x:setupfields", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6379", - tag="stp:x:setupforms", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6387", - tag="stp:x:definefieldstack", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6397", - tag="stp:x:fieldstack", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6407", - tag="stp:x:clip", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6414", - tag="stp:x:setupclipping", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6456", - tag="stp:x:placelegend", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6462", - tag="stp:x:setuplegend", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6482", - tag="stp:x:setupstrut", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6491", - tag="stp:x:usetypescriptfile", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6497", - tag="stp:x:usetypescript", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6507", - tag="stp:x:definetypeface", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6535", - tag="stp:x:definefontfeature", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6563", - tag="stp:x:definefonthandling", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6589", - tag="stp:x:setupfonthandling", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6597", - tag="stp:x:definefontsynonym", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6614", - tag="stp:x:setupfontsynonym", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6622", - tag="stp:x:mapfontsize", - }, - metadata=4, - }, - { - definition={ - synonym="setups:cont-en.xml::6630", - tag="stp:x:definedfont", - }, - metadata=4, - }, - }, - metadata=6, - }, - unit={ - entries={ - { - definition={ - meaning="meter", - synonym="m", - tag="Meter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="picometer", - synonym="\\Pico \\Meter ", - tag="pMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="nanometer", - synonym="\\Nano \\Meter ", - tag="nMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="micrometer", - synonym="\\Micro \\Meter ", - tag="uMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="millimeter", - synonym="\\Milli \\Meter ", - tag="mMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="centimeter", - synonym="\\Centi \\Meter ", - tag="cMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="decimeter", - synonym="\\Deci \\Meter ", - tag="dMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="hectometer", - synonym="\\Hecto \\Meter ", - tag="hMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilometer", - synonym="\\Kilo \\Meter ", - tag="kMeter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="liter", - synonym="l", - tag="Liter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milliliter", - synonym="\\Milli \\Liter ", - tag="mLiter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="centiliter", - synonym="\\Centi \\Liter ", - tag="cLiter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="deciliter", - synonym="\\Deci \\Liter ", - tag="dLiter", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:sec}", - synonym="s", - tag="Sec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:fsec}", - synonym="\\Femto \\Sec ", - tag="fSec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:psec}", - synonym="\\Pico \\Sec ", - tag="pSec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:nsec}", - synonym="\\Nano \\Sec ", - tag="nSec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:usec}", - synonym="\\Micro \\Sec ", - tag="uSec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:msec}", - synonym="\\Milli \\Sec ", - tag="mSec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:year}", - synonym="\\ifSIunits a \\else j\\fi ", - tag="Year", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:month}", - synonym="m", - tag="Month", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:week}", - synonym="w", - tag="Week", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:day}", - synonym="d", - tag="Day", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:hour}", - synonym="\\ifSIunits h \\else u\\fi ", - tag="Hour", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:min}", - synonym="min", - tag="Min", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:rad}", - synonym="rad", - tag="Rad", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:deg}", - synonym="{\\mathematics {\\normalsuperscript \\circ }}", - tag="Deg", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Hertz", - synonym="Hz", - tag="Hertz", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Hertz", - synonym="\\Kilo \\Hertz ", - tag="kHertz", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="mega Hertz", - synonym="\\Mega \\Hertz ", - tag="MHertz", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="giga Hertz", - synonym="\\Giga \\Hertz ", - tag="GHertz", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="tera Hertz", - synonym="\\Tera \\Hertz ", - tag="THertz", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Hertz", - synonym="\\Milli \\Hertz ", - tag="mHertz", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:rps}", - synonym="RPS", - tag="RevPerSec", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:rpm}", - synonym="RPM", - tag="RevPerMin", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="gram", - synonym="g", - tag="Gram", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="microgram", - synonym="\\Micro \\Gram ", - tag="uGram", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milligram", - synonym="\\Milli \\Gram ", - tag="mGram", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilogram", - synonym="\\Kilo \\Gram ", - tag="kGram", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:u}", - synonym="u", - tag="Atom", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Newton", - synonym="N", - tag="Newton", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Newton", - synonym="\\Kilo \\Newton ", - tag="kNewton", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Pascal", - synonym="Pa", - tag="Pascal", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Pascal", - synonym="\\Milli \\Pascal ", - tag="mPascal", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Pascal", - synonym="\\Kilo \\Pascal ", - tag="kPascal", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Joule", - synonym="J", - tag="Joule", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Joule", - synonym="\\Milli \\Joule ", - tag="mJoule", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Joule", - synonym="\\Kilo \\Joule ", - tag="kJoule", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="mega Joule", - synonym="\\Mega \\Joule ", - tag="MJoule", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="giga Joule", - synonym="\\Giga \\Joule ", - tag="GJoule", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Watt", - synonym="W", - tag="Watt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Watt", - synonym="\\Milli \\Watt ", - tag="mWatt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Watt", - synonym="\\Kilo \\Watt ", - tag="kWatt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="mega Watt", - synonym="\\Mega \\Watt ", - tag="MWatt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="giga Watt", - synonym="\\Giga \\Watt ", - tag="GWatt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="tera Watt", - synonym="\\Tera \\Watt ", - tag="TWatt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Celsius", - synonym="C", - tag="Celsius", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Kelvin", - synonym="K", - tag="Kelvin", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Fahrenheit", - synonym="F", - tag="Fahrenheit", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="mol", - synonym="mol", - tag="Mol", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="millimol", - synonym="\\Milli \\Mol ", - tag="mMol", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilomol", - synonym="\\Kilo \\Mol ", - tag="kMol", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="molair (\\Mol \\Per \\Liter )", - synonym="M", - tag="Molair", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="equivalent", - synonym="eq", - tag="Equivalent", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli equivalent", - synonym="\\Milli \\Equivalent ", - tag="mEquivalent", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Farad", - synonym="F", - tag="Farad", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="pico Farad", - synonym="\\Pico \\Farad ", - tag="pFarad", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="nano Farad", - synonym="\\Nano \\Farad ", - tag="nFarad", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="micro Farad", - synonym="\\Micro \\Farad ", - tag="uFarad", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Farad", - synonym="\\Milli \\Farad ", - tag="mFarad", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Ohm", - synonym="\\Omega ", - tag="Ohm", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Ohm", - synonym="\\Kilo \\Ohm ", - tag="kOhm", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Siemens", - synonym="S", - tag="Siemens", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Amp\\`ere", - synonym="A", - tag="Ampere", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Amp\\`ere", - synonym="\\Milli \\Ampere ", - tag="mAmpere", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Coulomb", - synonym="C", - tag="Coulomb", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Volt", - synonym="V", - tag="Volt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Volt", - synonym="\\Milli \\Volt ", - tag="mVolt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Volt", - synonym="\\Kilo \\Volt ", - tag="kVolt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="electronvolt", - synonym="eV", - tag="eVolt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo electronvolt", - synonym="\\Kilo \\eVolt ", - tag="keVolt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="mega electronvolt", - synonym="\\Mega \\eVolt ", - tag="MeVolt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Tesla", - synonym="T", - tag="Tesla", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:vac}", - synonym="V\\normalsubscript {\\xbox {ac}}", - tag="VoltAC", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:vdc}", - synonym="V\\normalsubscript {\\xbox {dc}}", - tag="VoltDC", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:bit}", - synonym="bit", - tag="Bit", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Baud (Bit/s)", - synonym="Bd", - tag="Baud", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:byte}", - synonym="B", - tag="Byte", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="kilo Byte", - synonym="\\Kilo \\Byte ", - tag="kByte", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="mega Byte", - synonym="\\Mega \\Byte ", - tag="MByte", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="giga Byte", - synonym="\\Giga \\Byte ", - tag="GByte", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="tera Byte", - synonym="\\Tera \\Byte ", - tag="TByte", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Erlang", - synonym="E", - tag="Erlang", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Bequerel", - synonym="Bq", - tag="Bequerel", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Bequerel", - synonym="\\Mega \\Bequerel ", - tag="MBequerel", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Sievert", - synonym="Sv", - tag="Sievert", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="milli Sievert", - synonym="\\Milli \\Sievert ", - tag="mSievert", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Candela", - synonym="cd", - tag="Candela", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Bell", - synonym="B", - tag="Bell", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="decibel", - synonym="\\Deci \\Bell ", - tag="dBell", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:at}", - synonym="at", - tag="At", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:atm}", - synonym="atm", - tag="Atm", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="bar (100 \\Kilo \\Pascal )", - synonym="bar", - tag="Bar", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="electronvolt", - synonym="eV", - tag="EVolt", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:ft}", - synonym="ft", - tag="Foot", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:inch}", - synonym="inch", - tag="Inch", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:cal}", - synonym="cal", - tag="Cal", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:f}", - synonym="f", - tag="Force", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\labeltext {u:kcal}", - synonym="\\Kilo \\Cal ", - tag="kCal", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="lux", - synonym="lux", - tag="Lux", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="percent", - synonym="\\xPercent ", - tag="Percent", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="promille", - synonym="\\xPromille ", - tag="Permille", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="promille", - synonym="\\xPromille ", - tag="Promille", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Gray", - synonym="Gr", - tag="Gray", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Weber", - synonym="Wb", - tag="Weber", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Henry", - synonym="H", - tag="Henry", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Sterant", - synonym="sr", - tag="Sterant", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="\\Aring ngstr\\\"om", - synonym="\\hbox {\\Aring }", - tag="Angstrom", - used=false, - }, - metadata=4, - }, - { - definition={ - meaning="Gauss", - synonym="G", - tag="Gauss", - used=false, - }, - metadata=4, - }, - }, - metadata=7, - }, -} -structures = structures or { } -structures.blocks = structures.blocks or { } -structures.blocks.collected = structures.blocks.collected or { } -structures.blocks.collected={ -} -job = job or { } -job.files = job.files or { } -job.files.collected = job.files.collected or { } -job.files.collected={ -} -job.packed={ - index={ - { - conversionset="pagenumber", - }, - { - connector="\\endash ", - prefix="no", - set="part", - }, - { - class="texmacro", - language="en", - sorted=false, - }, - { - catcodes=8, - coding="tex", - }, - { - class="logo", - kind="sorting", - language="en", - sorted=false, - }, - { - class="texcommand", - kind="sorting", - language="en", - sorted=false, - }, - { - class="unit", - kind="synonym", - language="en", - sorted=false, - }, - }, - keys={ - directives=true, - metadata=true, - numberdata=true, - numbers=true, - pagedata=true, - prefixdata=true, - processors=true, - sectiondata=true, - specification=true, - }, - version=1.01, -} diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua index 4f549c51a0..92162dfa68 100644 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua +++ b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/trans_tables_sr.lua @@ -130,7 +130,10 @@ if not translit.done_serbian then } local P = lpeg.P - local sub, upper = unicode.utf8.sub, unicode.utf8.upper + local utf8 = unicode and unicode.utf8 or utf or utf8 + local sub = utf8.sub + local toupper = lpeg.patterns.toupper + local upper = function (s) return lpegmatch (toupper, s) end local p_tocy, p_i_tocy, p_tolt, p_i_tolt diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.ctl b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.ctl deleted file mode 100644 index 1ea18d5918..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.ctl +++ /dev/null @@ -1,5 +0,0 @@ - - - - transliterator.lua - diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.log b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.log deleted file mode 100644 index 9f73abe6be..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.log +++ /dev/null @@ -1,589 +0,0 @@ -(/home/phg/context/tex/texmf-context/tex/context/base/cont-yes.mkiv - -ConTeXt ver: 2013.03.27 13:27 MKIV fmt: 2013.3.27 int: english/english - -system > 'cont-new.mkiv' loaded -(/home/phg/context/tex/texmf-context/tex/context/base/cont-new.mkiv -system > beware: some patches loaded from cont-new.mkiv -) -system > files > jobname 'transliterator', input 'transliterator', result 'transliterator' -fonts > latin modern fonts are not preloaded -languages > language 'en' is active -(transliterator.tex -fonts > typescripts > unknown library 'loc' -fonts > typescripts > unknown library 'cmu' -(/home/phg/context/tex/texmf-context/tex/context/base/type-imp-computer-modern-unicode.mkiv){/home/phg/context/tex/texmf/fonts/map/dvips/lm/lm-math.map}{/home/phg/context/tex/texmf/fonts/map/dvips/lm/lm-rm.map}{/home/phg/context/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map} -resolvers > modules > 'bib' is loaded -(/home/phg/context/tex/texmf-context/tex/context/base/m-obsolete.mkiv -system > skipping obsolete module -) -resolvers > modules > 'transliterator' is loaded -(t-transliterator.mkiv -loading > Transliteration from non-Latin scripts -) -publications > loading formatting style from 'bibl-apa' -(/home/phg/context/tex/texmf-context/tex/context/bib/bibl-apa.tex) -resolvers > modules > 'int-load' is loaded -(/home/phg/context/tex/texmf-context/tex/context/base/x-set-11.mkiv) -fonts > bodyfont '19pt' is defined (can better be done global) -fonts > bodyfont '22.8pt' is defined (can better be done global) -fonts > bodyfont '15.2pt' is defined (can better be done global) -backend > xmp > using file '/home/phg/context/tex/texmf-context/tex/context/base/lpdf-pdx.xml' -pages > flushing realpage 1, userpage 1 -pages > flushing realpage 2, userpage 1 -structure > sectioning > title @ level 2 : 0.0 -> \headtext {content} -pages > flushing realpage 3, userpage 1 -structure > sectioning > chapter @ level 2 : 0.1 -> Usage and Functionality -structure > sectioning > section @ level 3 : 0.1.1 -> Overview - -Underfull \hbox (badness 1062) in paragraph at lines 8--8 - [][][]\3>computer-modern-unicode-7pt-tt-tf-0--0 ru_old ru ru_tran-script_de ru_tran-script_de_exp - -\hbox(4.284+1.554)x286.48352, glue set 2.20059, direction TLT -.\glue(\leftskip) 14.0 -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(3.647+0.0)x0.0, glue set - 14.0fil, direction TLT -..\glue 0.0 plus 1.0fil minus 1.0fil -..\hbox(3.647+0.0)x14.0, direction TLT -...\hbox(3.647+0.0)x14.0, direction TLT [] -.\hbox(4.277+0.042)x68.95004, glue set 36.75003fil, direction TLT -..\3>computer-modern-unicode-7pt-tt-tf-0--0 m -..\3>computer-modern-unicode-7pt-tt-tf-0--0 o -..\3>computer-modern-unicode-7pt-tt-tf-0--0 d -..\3>computer-modern-unicode-7pt-tt-tf-0--0 e -..\glue 0.0 plus 1.0fil minus 1.0fil -..etc. -.\3>computer-modern-unicode-7pt-tt-tf-0--0 r -.etc. - -structure > sectioning > section @ level 3 : 0.1.2 -> Loading and Configuring the Module -floatblocks > 1 saved - -Overfull \hbox (13.14894pt too wide) in paragraph at lines 384--389 -\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) t\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) ha\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) t i\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) s used \3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) f\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) o\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) r \3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) h\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) y-\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) phen\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) -\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) a\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) ti\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) on\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) . \3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) Spec\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) -i-fy-i\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) ng \3>computer-modern-unicode-9pt-tt-tf-0--0 \setuptransliterator[hyphenate=nl] - -\hbox(6.345+2.052)x300.78351, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) t -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) h -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (-15) a -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (-20) t -.\glue 2.997 plus 1.4985 minus 0.999 -.etc. - -pages > flushing realpage 4, userpage 2 -floatblocks > 1 moved -floatblocks > '1' moved -pages > flushing realpage 5, userpage 3 -pages > flushing realpage 6, userpage 4 -structure > sectioning > chapter @ level 2 : 0.2 -> Introduction - -Underfull \hbox (badness 10000) in paragraph at lines 444--446 - [][][] [] - -\hbox(7.80193+3.03406)x298.04852, glue set 11.68031, direction TLT -.\glue(\leftskip) 0.0 plus 18.0 -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(0.0+0.0)x0.0, direction TLT -.\hbox(7.80193+3.03406)x0.0, direction TLT -.\penalty 10000 -.etc. - - -Underfull \hbox (badness 10000) in paragraph at lines 447--448 - [][]\3>computer-modern-unicode-9pt-rm-tf-0--0 G- C- [] - -\hbox(7.80193+3.03406)x298.04852, glue set 11.85895, direction TLT -.\glue(\leftskip) 0.0 plus 18.0 -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(0.0+0.0)x0.0, direction TLT -.\3>computer-modern-unicode-9pt-rm-tf-0--0 G -.\kern 0.45 -.etc. - -publications > file 'transliterator.bbl' not found, waiting for bibtex -pages > flushing realpage 7, userpage 5 -pages > flushing realpage 8, userpage 6 -tabulate > unknown preamble key: ) -tabulate > unknown preamble key: ) -floatblocks > '2' placed - -Underfull \hbox (badness 1448) in paragraph at lines 583--606 -[]\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) Fo\3>computer-modern-unicode-9pt-rm-tf-0--0 (+20) l-l\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) ow\3>computer-modern-unicode-9pt-rm-tf-0--0 (+20) -i\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) ng sug\3>computer-modern-unicode-9pt-rm-tf-0--0 (+20) -\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) ges\3>computer-modern-unicode-9pt-rm-tf-0--0 (+20) -ti\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) ons \3>computer-modern-unicode-9pt-rm-tf-0--0 (+20) fr\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) om - -\hbox(6.345+1.854)x114.62021, glue set 2.43773, direction TLT -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) F -.\kern -0.747 -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (+15) o -.\3>computer-modern-unicode-9pt-rm-tf-0--0 (+20) l -.etc. - -pages > flushing realpage 9, userpage 7 -structure > sectioning > chapter @ level 2 : 0.3 -> Examples -structure > sectioning > section @ level 3 : 0.3.1 -> Cyrillic scripts -structure > sectioning > subsection @ level 4 : 0.3.1.1 -> {\sc iso}~9 and derivatives -floatblocks > order disturbed -floatblocks > '3' placed -floatblocks > order disturbed -floatblocks > '4' placed -floatblocks > order disturbed -floatblocks > '5' placed - -Underfull \hbox (badness 1286) in paragraph at lines 670--670 -\3>computer-modern-unicode-7pt-rm-tf-0--0 мова, проста мова […]) -- слов’янська - -\hbox(5.25+1.75)x132.82863, glue set 2.34581, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 м -.\3>computer-modern-unicode-7pt-rm-tf-0--0 о -.\3>computer-modern-unicode-7pt-rm-tf-0--0 в -.\3>computer-modern-unicode-7pt-rm-tf-0--0 а -.\3>computer-modern-unicode-7pt-rm-tf-0--0 , -.etc. - -floatblocks > order disturbed -pages > flushing realpage 10, userpage 8 -floatblocks > '6' placed -floatblocks > order disturbed -floatblocks > '7' placed -floatblocks > order disturbed -floatblocks > '8' placed -structure > sectioning > subsection @ level 4 : 0.3.1.2 -> “Scientific” transliteration -pages > flushing realpage 11, userpage 9 -floatblocks > order disturbed -floatblocks > '9' placed - -Underfull \hbox (badness 1158) in paragraph at lines 742--742 -\3>computer-modern-unicode-7pt-rm-tf-0--0 лось в свои бе-ре-га. Оно ка-за-лось за- - -\hbox(4.935+1.365)x132.82863, glue set 2.2658, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 л -.\3>computer-modern-unicode-7pt-rm-tf-0--0 о -.\3>computer-modern-unicode-7pt-rm-tf-0--0 с -.\3>computer-modern-unicode-7pt-rm-tf-0--0 ь -.\glue 2.331 plus 1.1655 minus 0.777 -.etc. - -floatblocks > order disturbed -floatblocks > '10' placed -floatblocks > order disturbed -pages > flushing realpage 12, userpage 10 -floatblocks > '11' placed -structure > sectioning > subsection @ level 4 : 0.3.1.3 -> Serbian - -Underfull \hbox (badness 2409) in paragraph at lines 767--767 -[][][] \3>computer-modern-unicode-7pt-rm-tf-0--0 Српски језик је један од словенских - -\hbox(5.76001+2.23999)x132.82863, glue set 2.89073, direction TLT -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(0.0+0.0)x0.0, direction TLT -.\hbox(5.76001+2.23999)x0.0, direction TLT -.\penalty 10000 -.\glue 0.0 -.etc. - - -Overfull \hbox (6.67427pt too wide) in paragraph at lines 767--767 -\3>computer-modern-unicode-7pt-rm-tf-0--0 Први писани споменици у српској редакцији - -\hbox(4.781+1.435)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 П -.\3>computer-modern-unicode-7pt-rm-tf-0--0 р -.\3>computer-modern-unicode-7pt-rm-tf-0--0 в -.\3>computer-modern-unicode-7pt-rm-tf-0--0 и -.\glue 2.331 plus 1.1655 minus 0.777 -.etc. - - -Underfull \hbox (badness 3895) in paragraph at lines 767--767 -[][]\3>computer-modern-unicode-7pt-rm-tf-0--0 Српски језик је стандардни језик у - -\hbox(4.935+1.435)x132.82863, glue set 3.39165, direction TLT -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(0.0+0.0)x0.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 С -.\3>computer-modern-unicode-7pt-rm-tf-0--0 р -.\3>computer-modern-unicode-7pt-rm-tf-0--0 п -.etc. - -floatblocks > order disturbed -floatblocks > '12' placed - -Underfull \hbox (badness 2409) in paragraph at lines 779--1 -[][][] \3>computer-modern-unicode-7pt-rm-tf-0--0 Српски језик је један од словенских - -\hbox(5.76001+2.23999)x132.82863, glue set 2.89073, direction TLT -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(0.0+0.0)x0.0, direction TLT -.\hbox(5.76001+2.23999)x0.0, direction TLT -.\penalty 10000 -.\glue 0.0 -.etc. - - -Overfull \hbox (6.67427pt too wide) in paragraph at lines 779--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 Први писани споменици у српској редакцији - -\hbox(4.781+1.435)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 П -.\3>computer-modern-unicode-7pt-rm-tf-0--0 р -.\3>computer-modern-unicode-7pt-rm-tf-0--0 в -.\3>computer-modern-unicode-7pt-rm-tf-0--0 и -.\glue 2.331 plus 1.1655 minus 0.777 -.etc. - - -Underfull \hbox (badness 3895) in paragraph at lines 1--1 -[][]\3>computer-modern-unicode-7pt-rm-tf-0--0 Српски језик је стандардни језик у - -\hbox(4.935+1.435)x132.82863, glue set 3.39165, direction TLT -.\whatsit -..\localinterlinepenalty=0 -..\localbrokenpenalty=0 -..\localleftbox=null -..\localrightbox=null -.\hbox(0.0+0.0)x0.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 С -.\3>computer-modern-unicode-7pt-rm-tf-0--0 р -.\3>computer-modern-unicode-7pt-rm-tf-0--0 п -.etc. - -floatblocks > order disturbed -floatblocks > '13' placed -structure > sectioning > subsection @ level 4 : 0.3.1.4 -> Bulgarian -pages > flushing realpage 13, userpage 11 - -Underfull \hbox (badness 1043) in paragraph at lines 790--790 -\3>computer-modern-unicode-7pt-rm-tf-0--0 България и един от -те официални - -\hbox(4.858+1.519)x132.82863, glue set 2.18564, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 Б -.\3>computer-modern-unicode-7pt-rm-tf-0--0 ъ -.\3>computer-modern-unicode-7pt-rm-tf-0--0 л -.\3>computer-modern-unicode-7pt-rm-tf-0--0 г -.\kern -0.196 -.etc. - -floatblocks > order disturbed -floatblocks > '14' placed -structure > sectioning > subsection @ level 4 : 0.3.1.5 -> Legacy national transcriptions - -Underfull \hbox (badness 1158) in paragraph at lines 812--812 -\3>computer-modern-unicode-7pt-rm-tf-0--0 лось в свои бе-ре-га. Оно ка-за-лось за- - -\hbox(4.935+1.365)x132.82863, glue set 2.2658, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 л -.\3>computer-modern-unicode-7pt-rm-tf-0--0 о -.\3>computer-modern-unicode-7pt-rm-tf-0--0 с -.\3>computer-modern-unicode-7pt-rm-tf-0--0 ь -.\glue 2.331 plus 1.1655 minus 0.777 -.etc. - - -Overfull \hbox (3.4067pt too wide) in paragraph at lines 812--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 neizvestny nam), prodolzhali svoye deystviye. - -\hbox(5.25+1.75)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 n -.\3>computer-modern-unicode-7pt-rm-tf-0--0 e -.\3>computer-modern-unicode-7pt-rm-tf-0--0 i -.\3>computer-modern-unicode-7pt-rm-tf-0--0 z -.\3>computer-modern-unicode-7pt-rm-tf-0--0 v -.etc. - - -Underfull \hbox (badness 1917) in paragraph at lines 812--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 ra-zlich-nyye gruppy lyud-skikh stse-pleniy; - -\hbox(4.858+1.442)x132.82863, glue set 2.67776, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 r -.\3>computer-modern-unicode-7pt-rm-tf-0--0 a -.\discretionary -..\3>computer-modern-unicode-7pt-rm-tf-0--0 - -.\3>computer-modern-unicode-7pt-rm-tf-0--0 z -.\3>computer-modern-unicode-7pt-rm-tf-0--0 l -.etc. - -floatblocks > order disturbed -floatblocks > '15' placed - -Underfull \hbox (badness 1158) in paragraph at lines 837--837 -\3>computer-modern-unicode-7pt-rm-tf-0--0 лось в свои бе-ре-га. Оно ка-за-лось за- - -\hbox(4.935+1.365)x132.82863, glue set 2.2658, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 л -.\3>computer-modern-unicode-7pt-rm-tf-0--0 о -.\3>computer-modern-unicode-7pt-rm-tf-0--0 с -.\3>computer-modern-unicode-7pt-rm-tf-0--0 ь -.\glue 2.331 plus 1.1655 minus 0.777 -.etc. - - -Overfull \hbox (16.32732pt too wide) in paragraph at lines 837--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 schije tsche-lo-wet-schestwo (tainst-wen-nyje potomu, - -\hbox(5.25+1.75)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 s -.\3>computer-modern-unicode-7pt-rm-tf-0--0 c -.\kern -0.196 -.\3>computer-modern-unicode-7pt-rm-tf-0--0 h -.\3>computer-modern-unicode-7pt-rm-tf-0--0 i -.etc. - - -Overfull \hbox (2.56528pt too wide) in paragraph at lines 837--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 sche-nije, neis-westny nam), pro-dol-schali swoje - -\hbox(5.25+1.75)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 s -.\3>computer-modern-unicode-7pt-rm-tf-0--0 c -.\kern -0.196 -.\3>computer-modern-unicode-7pt-rm-tf-0--0 h -.\3>computer-modern-unicode-7pt-rm-tf-0--0 e -.etc. - - -Overfull \hbox (8.98431pt too wide) in paragraph at lines 837--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 sche-nije wre-meni, dwi-ga-los tsche-lo-wet-schestwo. - -\hbox(4.858+1.442)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 s -.\3>computer-modern-unicode-7pt-rm-tf-0--0 c -.\kern -0.196 -.\3>computer-modern-unicode-7pt-rm-tf-0--0 h -.\3>computer-modern-unicode-7pt-rm-tf-0--0 e -.etc. - - -Overfull \hbox (2.43924pt too wide) in paragraph at lines 837--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 Slaga-lis, ras-laga-lis ras-lit-schnyje gruppy ljuds- - -\hbox(4.935+1.442)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 S -.\3>computer-modern-unicode-7pt-rm-tf-0--0 l -.\3>computer-modern-unicode-7pt-rm-tf-0--0 a -.\3>computer-modern-unicode-7pt-rm-tf-0--0 g -.\3>computer-modern-unicode-7pt-rm-tf-0--0 a -.etc. - - -Overfull \hbox (1.53627pt too wide) in paragraph at lines 837--1 -\3>computer-modern-unicode-7pt-rm-tf-0--0 kich sze-p-leni; pod-go-towl-ja-lis prit-schiny obra- - -\hbox(4.858+1.442)x132.82863, glue set - 1.0, direction TLT -.\3>computer-modern-unicode-7pt-rm-tf-0--0 k -.\3>computer-modern-unicode-7pt-rm-tf-0--0 i -.\3>computer-modern-unicode-7pt-rm-tf-0--0 c -.\kern -0.196 -.\3>computer-modern-unicode-7pt-rm-tf-0--0 h -.etc. - -floatblocks > order disturbed -pages > flushing realpage 14, userpage 12 -floatblocks > '16' placed -structure > sectioning > section @ level 3 : 0.3.2 -> Glagolitic - -Underfull \hbox (badness 2762) in paragraph at lines 854--854 -\3>hlaholice-9pt-rm-tf-4--4 [.] [ⰰ] ⰵⱄⱅⱏ· ⱍⱃⱏⰲⰻ⁖ ⰻ [ⰿ] [..........] [..] ⰿⱏ - -\hbox(4.39551+1.63037)x132.82863, glue set 3.0268, direction TLT -.\3>hlaholice-9pt-rm-tf-4--4 [ -.\3>hlaholice-9pt-rm-tf-4--4 . -.\3>hlaholice-9pt-rm-tf-4--4 ] -.\glue 1.75 plus 0.875 minus 0.58333 -.\3>hlaholice-9pt-rm-tf-4--4 [ -.etc. - -floatblocks > order disturbed -floatblocks > '17' placed -structure > sectioning > section @ level 3 : 0.3.3 -> Greek -pages > flushing realpage 15, userpage 13 -floatblocks > order disturbed -floatblocks > '18' placed -floatblocks > order disturbed -floatblocks > '19' placed -pages > flushing realpage 16, userpage 14 -pages > flushing realpage 17, userpage 15 -structure > sectioning > chapter @ level 2 : 0.4 -> References -publications > placing all entries, use 'text' to be more selective -pages > flushing realpage 18, userpage 16 - ) ) - -system > files > start used files - -used files > 1: filename=cont-yes.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/cont-yes.mkiv usedmethod=database -used files > 2: filename=cont-new.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/cont-new.mkiv usedmethod=database -used files > 3: filename=lang-us.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-us.lua usedmethod=database -used files > 4: filename=transliterator.tex foundname=transliterator.tex usedmethod=direct -used files > 5: filename=lm.lfg filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/fonts/lm.lfg usedmethod=database -used files > 6: filename=type-imp-computer-modern-unicode.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/type-imp-computer-modern-unicode.mkiv usedmethod=database -used files > 7: filename=lm-math.lfg filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/fonts/lm-math.lfg usedmethod=database -used files > 8: filename=lm-math.map filetype=map format=map foundname=/home/phg/context/tex/texmf/fonts/map/dvips/lm/lm-math.map usedmethod=database -used files > 9: filename=lm-rm.map filetype=map format=map foundname=/home/phg/context/tex/texmf/fonts/map/dvips/lm/lm-rm.map usedmethod=database -used files > 10: filename=mkiv-base.map filetype=map format=map foundname=/home/phg/context/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map usedmethod=database -used files > 11: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunrm.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunrm.otf usedmethod=direct -used files > 12: filename=latinmodern-math.otf filetype=opentypefonts foundname=/home/phg/context/tex/texmf/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database -used files > 13: filename=latinmodern-math.otf filetype=otf format=otf foundname=/home/phg/context/tex/texmf/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database -used files > 14: filename=m-obsolete.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/m-obsolete.mkiv usedmethod=database -used files > 15: filename=t-transliterator.mkiv foundname=t-transliterator.mkiv usedmethod=direct -used files > 16: filename=transliterator.lua format=tex foundname=transliterator.lua usedmethod=direct -used files > 17: filename=trans_tables_iso9.lua format=tex foundname=trans_tables_iso9.lua usedmethod=direct -used files > 18: filename=bibl-apa.tex filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/bib/bibl-apa.tex usedmethod=database -used files > 19: filename=x-set-11.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/x-set-11.mkiv usedmethod=database -used files > 20: filename=t-transliterator.xml filetype=tex foundname=/home/phg/context/tex/texmf-local/tex/context/interface/third/t-transliterator.xml usedmethod=database -used files > 21: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunti.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunti.otf usedmethod=direct -used files > 22: filename=lpdf-pdx.xml filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/lpdf-pdx.xml usedmethod=database -used files > 23: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunss.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunss.otf usedmethod=direct -used files > 24: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsi.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsi.otf usedmethod=direct -used files > 25: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntt.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntt.otf usedmethod=direct -used files > 26: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsx.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsx.otf usedmethod=direct -used files > 27: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntb.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntb.otf usedmethod=direct -used files > 28: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunst.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunst.otf usedmethod=direct -used files > 29: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunbx.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunbx.otf usedmethod=direct -used files > 30: filename=lang-cs.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-cs.lua usedmethod=database -used files > 31: filename=trans_tables_gr.lua format=tex foundname=trans_tables_gr.lua usedmethod=direct -used files > 32: filename=trans_tables_sr.lua format=tex foundname=trans_tables_sr.lua usedmethod=direct -used files > 33: filename=trans_tables_scntfc.lua format=tex foundname=trans_tables_scntfc.lua usedmethod=direct -used files > 34: filename=/home/phg/.fonts/TTF/bamberg-kodeks/BukyVede-Regular.ttf format=ttf foundname=/home/phg/.fonts/TTF/bamberg-kodeks/BukyVede-Regular.ttf usedmethod=direct -used files > 35: filename=lang-ru.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-ru.lua usedmethod=database -used files > 36: filename=lang-gb.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-gb.lua usedmethod=database -used files > 37: filename=trans_tables_trsc.lua format=tex foundname=trans_tables_trsc.lua usedmethod=direct -used files > 38: filename=lang-hr.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-hr.lua usedmethod=database -used files > 39: filename=trans_tables_bg.lua format=tex foundname=trans_tables_bg.lua usedmethod=direct -used files > 40: filename=lang-deo.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-deo.lua usedmethod=database -used files > 41: filename=trans_tables_glag.lua format=tex foundname=trans_tables_glag.lua usedmethod=direct -used files > 42: filename=lang-agr.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-agr.lua usedmethod=database -used files > 43: filename=lang-de.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-de.lua usedmethod=database - -system > files > stop used files - - -system > structure > start used structure - -used structure > text: transliterator - -system > structure > stop used structure - - -system > files > start used files - -used file > 1: filename=cont-yes.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/cont-yes.mkiv usedmethod=database -used file > 2: filename=cont-new.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/cont-new.mkiv usedmethod=database -used file > 3: filename=lang-us.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-us.lua usedmethod=database -used file > 4: filename=transliterator.tex foundname=transliterator.tex usedmethod=direct -used file > 5: filename=lm.lfg filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/fonts/lm.lfg usedmethod=database -used file > 6: filename=type-imp-computer-modern-unicode.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/type-imp-computer-modern-unicode.mkiv usedmethod=database -used file > 7: filename=lm-math.lfg filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/fonts/lm-math.lfg usedmethod=database -used file > 8: filename=lm-math.map filetype=map format=map foundname=/home/phg/context/tex/texmf/fonts/map/dvips/lm/lm-math.map usedmethod=database -used file > 9: filename=lm-rm.map filetype=map format=map foundname=/home/phg/context/tex/texmf/fonts/map/dvips/lm/lm-rm.map usedmethod=database -used file > 10: filename=mkiv-base.map filetype=map format=map foundname=/home/phg/context/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map usedmethod=database -used file > 11: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunrm.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunrm.otf usedmethod=direct -used file > 12: filename=latinmodern-math.otf filetype=opentypefonts foundname=/home/phg/context/tex/texmf/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database -used file > 13: filename=latinmodern-math.otf filetype=otf format=otf foundname=/home/phg/context/tex/texmf/fonts/opentype/public/lm-math/latinmodern-math.otf usedmethod=database -used file > 14: filename=m-obsolete.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/m-obsolete.mkiv usedmethod=database -used file > 15: filename=t-transliterator.mkiv foundname=t-transliterator.mkiv usedmethod=direct -used file > 16: filename=transliterator.lua format=tex foundname=transliterator.lua usedmethod=direct -used file > 17: filename=trans_tables_iso9.lua format=tex foundname=trans_tables_iso9.lua usedmethod=direct -used file > 18: filename=bibl-apa.tex filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/bib/bibl-apa.tex usedmethod=database -used file > 19: filename=x-set-11.mkiv filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/x-set-11.mkiv usedmethod=database -used file > 20: filename=t-transliterator.xml filetype=tex foundname=/home/phg/context/tex/texmf-local/tex/context/interface/third/t-transliterator.xml usedmethod=database -used file > 21: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunti.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunti.otf usedmethod=direct -used file > 22: filename=lpdf-pdx.xml filetype=tex foundname=/home/phg/context/tex/texmf-context/tex/context/base/lpdf-pdx.xml usedmethod=database -used file > 23: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunss.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunss.otf usedmethod=direct -used file > 24: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsi.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsi.otf usedmethod=direct -used file > 25: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntt.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntt.otf usedmethod=direct -used file > 26: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsx.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunsx.otf usedmethod=direct -used file > 27: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntb.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmuntb.otf usedmethod=direct -used file > 28: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunst.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunst.otf usedmethod=direct -used file > 29: filename=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunbx.otf format=otf foundname=/home/phg/.fonts/OTF/Computer_Modern_Unicode/cmunbx.otf usedmethod=direct -used file > 30: filename=lang-cs.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-cs.lua usedmethod=database -used file > 31: filename=trans_tables_gr.lua format=tex foundname=trans_tables_gr.lua usedmethod=direct -used file > 32: filename=trans_tables_sr.lua format=tex foundname=trans_tables_sr.lua usedmethod=direct -used file > 33: filename=trans_tables_scntfc.lua format=tex foundname=trans_tables_scntfc.lua usedmethod=direct -used file > 34: filename=/home/phg/.fonts/TTF/bamberg-kodeks/BukyVede-Regular.ttf format=ttf foundname=/home/phg/.fonts/TTF/bamberg-kodeks/BukyVede-Regular.ttf usedmethod=direct -used file > 35: filename=lang-ru.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-ru.lua usedmethod=database -used file > 36: filename=lang-gb.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-gb.lua usedmethod=database -used file > 37: filename=trans_tables_trsc.lua format=tex foundname=trans_tables_trsc.lua usedmethod=direct -used file > 38: filename=lang-hr.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-hr.lua usedmethod=database -used file > 39: filename=trans_tables_bg.lua format=tex foundname=trans_tables_bg.lua usedmethod=direct -used file > 40: filename=lang-deo.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-deo.lua usedmethod=database -used file > 41: filename=trans_tables_glag.lua format=tex foundname=trans_tables_glag.lua usedmethod=direct -used file > 42: filename=lang-agr.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-agr.lua usedmethod=database -used file > 43: filename=lang-de.lua filetype=lua foundname=/home/phg/context/tex/texmf-context/tex/context/patterns/lang-de.lua usedmethod=database - -system > files > stop used files - - -system > options > start commandline options - -used option > currentrun="1" -used option > fulljobname="./transliterator.tex" -used option > input="./transliterator.tex" -used option > kindofrun="1" -used option > maxnofruns="8" -used option > no-parse-first-line="true" - -system > options > stop commandline options - -system > options > start commandline files - -used file > 1: ./transliterator.tex - -system > options > stop commandline files - - -mkiv lua stats > used config file: selfautoparent:/texmf/web2c/texmfcnf.lua -mkiv lua stats > used cache path: /home/phg/context/tex/texmf-cache/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e -mkiv lua stats > resource resolver: loadtime 0.005 seconds, 0 scans with scantime 0.000 seconds, 0 shared scans, 43 found files, scanned paths: -mkiv lua stats > stored bytecode data: 323 modules (0.110 sec), 69 tables (0.010 sec), 392 chunks (0.120 sec) -mkiv lua stats > cleaned up reserved nodes: 44 nodes, 9 lists of 441 -mkiv lua stats > node memory usage: 2 glue, 2 penalty, 141 attribute, 189 glue_spec, 22 attribute_list -mkiv lua stats > node list callback tasks: 6 unique task lists, 9 instances (re)created, 2629 calls -mkiv lua stats > h-node processing time: 0.359 seconds including kernel -mkiv lua stats > attribute processing time: 0.088 seconds front- and backend -mkiv lua stats > used backend: pdf (backend for directly generating pdf output) -mkiv lua stats > loaded tex modules: 3 requested, all found (*-obsolete *-set-11 *-transliterator) -mkiv lua stats > loaded patterns: agr:gr:50 cs::16 de::3 deo:de:9 en::2 en-gb:en:13 hr::18 ru::20 -mkiv lua stats > jobdata time: 0.007 seconds saving, 0.002 seconds loading -mkiv lua stats > callbacks: 6720 direct, 2472 indirect, 9192 total -mkiv lua stats > randomizer: resumed with value 0.54238128920197 -mkiv lua stats > xml load time: 0.001 seconds, 1 files, 1 converted -mkiv lua stats > lxml preparation time: 0.000 seconds, 44 nodes, 34 lpath calls, 9 cached calls -mkiv lua stats > interactive elements: 52 references, 48 destinations -mkiv lua stats > v-node processing time: 0.020 seconds -mkiv lua stats > result saved in file: transliterator.pdf, compresslevel 3, objectcompreslevel 3 -mkiv lua stats > loaded fonts: 11 files: cmunbx.otf cmunrm.otf cmunsi.otf cmunss.otf cmunst.otf cmunsx.otf cmuntb.otf cmunti.otf cmuntt.otf bukyvede-regular.ttf latinmodern-math.otf -mkiv lua stats > fonts load time: 0.799 seconds -mkiv lua stats > pdf annotations: 52 embedded, 43 unique -mkiv lua stats > luatex banner: this is luatex, version beta-0.75.0-2013031401 (tex live 2013/dev)(rev 4589) -mkiv lua stats > control sequences: 39462 of 65536 + 100000 -mkiv lua stats > current memory usage: 137 MB (ctx: 130 MB) -mkiv lua stats > runtime: 2.875 seconds, 18 processed pages, 18 shipped pages, 6.261 pages/second - diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua index 1278aeb099..c101ec5383 100644 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua +++ b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.lua @@ -17,7 +17,7 @@ translit.methods = translit.methods or { } translit.deficient_font = "no" translit.parser_cache = { } -local utf8 = unicode.utf8 +local utf8 = unicode and unicode.utf8 or utf8 local utf8byte = utf8.byte local utf8len = utf8.len diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.run b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.run deleted file mode 100644 index 299e85f060..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.run +++ /dev/null @@ -1,3 +0,0 @@ -\starttext -\ctxlua{dofile('transliterator.lua')} -\stoptext diff --git a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.tuc b/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.tuc deleted file mode 100644 index 7ec7164139..0000000000 --- a/macros/context/contrib/context-transliterator/tex/context/third/transliterator/transliterator.tuc +++ /dev/null @@ -1,6707 +0,0 @@ --- version: 1.14 --- file: transliterator --- format: cont-en --- stamp: 2011.01.12 10:20 --- escape: [===[ ... ]===] - -job = job or { } -job.variables = job.variables or { } -job.variables.checksums = job.variables.checksums or { } -job.variables.checksums={ - new="22AF645D1859CB5CA6DA0C484F1F37EA", - old="149603E6C03516362A8DA23F624DB945", -} -job = job or { } -job.variables = job.variables or { } -job.variables.collected = job.variables.collected or { } -job.variables.collected={ - randomseed=0.22446919894985, - totalnofparbackgrounds=0, -} -job = job or { } -job.passes = job.passes or { } -job.passes.collected = job.passes.collected or { } -job.passes.collected={ -} -structures = structures or { } -structures.specials = structures.specials or { } -structures.specials.collected = structures.specials.collected or { } -structures.specials.collected={ -} -structures = structures or { } -structures.counters = structures.counters or { } -structures.counters.collected = structures.counters.collected or { } -structures.counters.collected={ - endnote={ - { 0, 0, 0, 0 }, - }, - figure={ - { 0, 0 }, - }, - footnote={ - { 0, 0, 0, 0 }, - }, - formula={ - { 0, 0 }, - }, - graphic={ - { 0, 0 }, - }, - intermezzo={ - { 0, 0 }, - }, - ["itemgroup:itemize"]={ - { 0, 0 }, - }, - linenote={ - { 0, 0, 0, 0 }, - }, - realpage={ - { 0, 0 }, - }, - subpage={ - { 0, 1 }, - }, - table={ - { 0, 0 }, - }, - userpage={ - { 0, 0 }, - }, -} -structures = structures or { } -structures.lists = structures.lists or { } -structures.lists.collected = structures.lists.collected or { } -structures.lists.collected={ -} -structures = structures or { } -structures.pages = structures.pages or { } -structures.pages.collected = structures.pages.collected or { } -structures.pages.collected={ -} -structures = structures or { } -structures.references = structures.references or { } -structures.references.collected = structures.references.collected or { } -structures.references.collected={ -} -structures = structures or { } -structures.references = structures.references or { } -structures.references.referred = structures.references.referred or { } -structures.references.referred={ -} -structures = structures or { } -structures.registers = structures.registers or { } -structures.registers.collected = structures.registers.collected or { } -structures.registers.collected={ - texmacro={ - entries={}, - metadata=1, - }, -} -job = job or { } -job.positions = job.positions or { } -job.positions.collected = job.positions.collected or { } -job.positions.collected={ -} -job = job or { } -job.objects = job.objects or { } -job.objects.collected = job.objects.collected or { } -job.objects.collected={ -} -structures = structures or { } -structures.synonyms = structures.synonyms or { } -structures.synonyms.collected = structures.synonyms.collected or { } -structures.synonyms.collected={ - logo={ - entries={ - { - definition={ - synonym="MkI", - tag="MKI", - }, - metadata=2, - }, - { - definition={ - synonym="MkII", - tag="MKII", - }, - metadata=2, - }, - { - definition={ - synonym="MkIII", - tag="MKIII", - }, - metadata=2, - }, - { - definition={ - synonym="MkIV", - tag="MKIV", - }, - metadata=2, - }, - { - definition={ - synonym="MkVI", - tag="MKVI", - }, - metadata=2, - }, - { - definition={ - synonym="Acro\\-bat", - tag="ACROBAT", - }, - metadata=2, - }, - { - definition={ - synonym="afm", - tag="AFM", - }, - metadata=2, - }, - { - definition={ - synonym="api", - tag="API", - }, - metadata=2, - }, - { - definition={ - synonym="Aleph", - tag="ALEPH", - }, - metadata=2, - }, - { - definition={ - synonym="ALGOL", - tag="ALGOL", - }, - metadata=2, - }, - { - definition={ - synonym="ams", - tag="AMS", - }, - metadata=2, - }, - { - definition={ - synonym="\\AmSLaTeX ", - tag="AMSLATEX", - }, - metadata=2, - }, - { - definition={ - synonym="\\AmSTeX ", - tag="AMSTEX", - }, - metadata=2, - }, - { - definition={ - synonym="ansi", - tag="ANSI", - }, - metadata=2, - }, - { - definition={ - synonym="Arab\\TeX ", - tag="ARABTEX", - }, - metadata=2, - }, - { - definition={ - synonym="ascii", - tag="ASCII", - }, - metadata=2, - }, - { - definition={ - synonym="ascii\\TeX ", - tag="ASCIITEX", - }, - metadata=2, - }, - { - definition={ - synonym="Bacho\\TeX ", - tag="BACHOTEX", - }, - metadata=2, - }, - { - definition={ - synonym="bib\\TeX ", - tag="BIBTEX", - }, - metadata=2, - }, - { - definition={ - synonym="BlueSky", - tag="BLUESKY", - }, - metadata=2, - }, - { - definition={ - synonym="bmp", - tag="BMP", - }, - metadata=2, - }, - { - definition={ - synonym="bsd", - tag="BSD", - }, - metadata=2, - }, - { - definition={ - synonym="C", - tag="CCODE", - }, - metadata=2, - }, - { - definition={ - synonym="CalcMath", - tag="CALCMATH", - }, - metadata=2, - }, - { - definition={ - synonym="cd", - tag="CD", - }, - metadata=2, - }, - { - definition={ - synonym="cpu", - tag="CPU", - }, - metadata=2, - }, - { - definition={ - synonym="cdrom", - tag="CDROM", - }, - metadata=2, - }, - { - definition={ - synonym="cid", - tag="CID", - }, - metadata=2, - }, - { - definition={ - synonym="cjk", - tag="CJK", - }, - metadata=2, - }, - { - definition={ - synonym="cmr", - tag="CMR", - }, - metadata=2, - }, - { - definition={ - synonym="cmyk", - tag="CMYK", - }, - metadata=2, - }, - { - definition={ - synonym="CodHost", - tag="CODHOST", - }, - metadata=2, - }, - { - definition={ - synonym="\\ConTeXt ", - tag="CONTEXT", - }, - metadata=2, - }, - { - definition={ - synonym="css", - tag="CSS", - }, - metadata=2, - }, - { - definition={ - synonym="ctan", - tag="CTAN", - }, - metadata=2, - }, - { - definition={ - synonym="ctxtools", - tag="CTXTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="cweb", - tag="CWEB", - }, - metadata=2, - }, - { - definition={ - synonym="Dante", - tag="DANTE", - }, - metadata=2, - }, - { - definition={ - synonym="distiller", - tag="DISTILLER", - }, - metadata=2, - }, - { - definition={ - synonym="Dra\\TeX ", - tag="DRATEX", - }, - metadata=2, - }, - { - definition={ - synonym="dsc", - tag="DSC", - }, - metadata=2, - }, - { - definition={ - synonym="dtd", - tag="DTD", - }, - metadata=2, - }, - { - definition={ - synonym="dtk", - tag="DTK", - }, - metadata=2, - }, - { - definition={ - synonym="dtp", - tag="DTP", - }, - metadata=2, - }, - { - definition={ - synonym="dvd", - tag="DVD", - }, - metadata=2, - }, - { - definition={ - synonym="dvi", - tag="DVI", - }, - metadata=2, - }, - { - definition={ - synonym="dvipdfm", - tag="DVIPDFM", - }, - metadata=2, - }, - { - definition={ - synonym="dvipdfmx", - tag="DVIPDFMX", - }, - metadata=2, - }, - { - definition={ - synonym="dvipos", - tag="DVIPOS", - }, - metadata=2, - }, - { - definition={ - synonym="dvips", - tag="DVIPS", - }, - metadata=2, - }, - { - definition={ - synonym="dvipsone", - tag="DVIPSONE", - }, - metadata=2, - }, - { - definition={ - synonym="dviscr", - tag="DVISCR", - }, - metadata=2, - }, - { - definition={ - synonym="dviwindo", - tag="DVIWINDO", - }, - metadata=2, - }, - { - definition={ - synonym="ec", - tag="EC", - }, - metadata=2, - }, - { - definition={ - synonym="Eiffel", - tag="EIFFEL", - }, - metadata=2, - }, - { - definition={ - synonym="emacs", - tag="EMACS", - }, - metadata=2, - }, - { - definition={ - synonym="em\\TeX ", - tag="EMTEX", - }, - metadata=2, - }, - { - definition={ - synonym="enc", - tag="ENCODING", - }, - metadata=2, - }, - { - definition={ - synonym="enc\\TeX ", - tag="ENCTEX", - }, - metadata=2, - }, - { - definition={ - synonym="eps", - tag="EPS", - }, - metadata=2, - }, - { - definition={ - synonym="\\eTeX ", - tag="ETEX", - }, - metadata=2, - }, - { - definition={ - synonym="EuroBacho\\TeX ", - tag="EUROBACHOTEX", - }, - metadata=2, - }, - { - definition={ - synonym="EuroMath", - tag="EUROMATH", - }, - metadata=2, - }, - { - definition={ - synonym="Euro\\TeX ", - tag="EUROTEX", - }, - metadata=2, - }, - { - definition={ - synonym="eXaMpLe", - tag="EXAMPLE", - }, - metadata=2, - }, - { - definition={ - synonym="exampled", - tag="EXAMPLED", - }, - metadata=2, - }, - { - definition={ - synonym="exampleq", - tag="EXAMPLEQ", - }, - metadata=2, - }, - { - definition={ - synonym="exampler", - tag="EXAMPLER", - }, - metadata=2, - }, - { - definition={ - synonym="examplet", - tag="EXAMPLET", - }, - metadata=2, - }, - { - definition={ - synonym="examplex", - tag="EXAMPLEX", - }, - metadata=2, - }, - { - definition={ - synonym="eXiMpLe", - tag="EXIMPLE", - }, - metadata=2, - }, - { - definition={ - synonym="faq", - tag="FAQ", - }, - metadata=2, - }, - { - definition={ - synonym="fdf", - tag="FDF", - }, - metadata=2, - }, - { - definition={ - synonym="FontForge", - tag="FONTFORGE", - }, - metadata=2, - }, - { - definition={ - synonym="foXet", - tag="FOXET", - }, - metadata=2, - }, - { - definition={ - synonym="fp\\TeX ", - tag="FPTEX", - }, - metadata=2, - }, - { - definition={ - synonym="FreeBSD", - tag="FREEBSD", - }, - metadata=2, - }, - { - definition={ - synonym="ftp", - tag="FTP", - }, - metadata=2, - }, - { - definition={ - synonym="Ghost\\-script", - tag="GHOSTSCRIPT", - }, - metadata=2, - }, - { - definition={ - synonym="Ghost\\-view", - tag="GHOSTVIEW", - }, - metadata=2, - }, - { - definition={ - synonym="gif", - tag="GIF", - }, - metadata=2, - }, - { - definition={ - synonym="gnu", - tag="GNU", - }, - metadata=2, - }, - { - definition={ - synonym="gnuplot", - tag="GNUPLOT", - }, - metadata=2, - }, - { - definition={ - synonym="Ghost\\-Script", - tag="GS", - }, - metadata=2, - }, - { - definition={ - synonym="Gust", - tag="GUST", - }, - metadata=2, - }, - { - definition={ - synonym="gw\\TeX ", - tag="GWTEX", - }, - metadata=2, - }, - { - definition={ - synonym="hsb", - tag="HSB", - }, - metadata=2, - }, - { - definition={ - synonym="html", - tag="HTML", - }, - metadata=2, - }, - { - definition={ - synonym="http", - tag="HTTP", - }, - metadata=2, - }, - { - definition={ - synonym="hz", - tag="HZ", - }, - metadata=2, - }, - { - definition={ - synonym="ibm", - tag="IBM", - }, - metadata=2, - }, - { - definition={ - synonym="ImageMagick", - tag="IMAGEMAGICK", - }, - metadata=2, - }, - { - definition={ - synonym="ini\\TeX ", - tag="INITEX", - }, - metadata=2, - }, - { - definition={ - synonym="inrs\\TeX ", - tag="INRSTEX", - }, - metadata=2, - }, - { - definition={ - synonym="io", - tag="IO", - }, - metadata=2, - }, - { - definition={ - synonym="IRCnet", - tag="IRCNET", - }, - metadata=2, - }, - { - definition={ - synonym="iso", - tag="ISO", - }, - metadata=2, - }, - { - definition={ - synonym="Java", - tag="JAVA", - }, - metadata=2, - }, - { - definition={ - synonym="Java\\-Script", - tag="JAVASCRIPT", - }, - metadata=2, - }, - { - definition={ - synonym="jpeg", - tag="JPEG", - }, - metadata=2, - }, - { - definition={ - synonym="jpg", - tag="JPG", - }, - metadata=2, - }, - { - definition={ - synonym="kpathsea", - tag="KPATHSEA", - }, - metadata=2, - }, - { - definition={ - synonym="kpse", - tag="KPSE", - }, - metadata=2, - }, - { - definition={ - synonym="kpsewhich", - tag="KPSEWHICH", - }, - metadata=2, - }, - { - definition={ - synonym="mktexlsr", - tag="MKTEXLSR", - }, - metadata=2, - }, - { - definition={ - synonym="\\LamSTeX ", - tag="LAMSTEX", - }, - metadata=2, - }, - { - definition={ - synonym="\\LaTeX ", - tag="LATEX", - }, - metadata=2, - }, - { - definition={ - synonym="\\LaTeX 2e", - tag="LATEXTE", - }, - metadata=2, - }, - { - definition={ - synonym="\\LaTeX 2.09", - tag="LATEXTN", - }, - metadata=2, - }, - { - definition={ - synonym="linux", - tag="LINUX", - }, - metadata=2, - }, - { - definition={ - synonym="Lisp", - tag="LISP", - }, - metadata=2, - }, - { - definition={ - synonym="lpeg", - tag="LPEG", - }, - metadata=2, - }, - { - definition={ - synonym="Lua", - tag="LUA", - }, - metadata=2, - }, - { - definition={ - synonym="LuaJIT", - tag="LUAJIT", - }, - metadata=2, - }, - { - definition={ - synonym="Lua\\TeX ", - tag="LUATEX", - }, - metadata=2, - }, - { - definition={ - synonym="luatools", - tag="LUATOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="MacOSX", - tag="MACOSX", - }, - metadata=2, - }, - { - definition={ - synonym="Macro\\TeX ", - tag="MACROTEX", - }, - metadata=2, - }, - { - definition={ - synonym="MakeMPY", - tag="MAKEMPY", - }, - metadata=2, - }, - { - definition={ - synonym="map", - tag="MAPPING", - }, - metadata=2, - }, - { - definition={ - synonym="Maps", - tag="MAPS", - }, - metadata=2, - }, - { - definition={ - synonym="MathML", - tag="MATHML", - }, - metadata=2, - }, - { - definition={ - synonym="\\MetaFont ", - tag="METAFONT", - }, - metadata=2, - }, - { - definition={ - synonym="\\MetaPost ", - tag="METAPOST", - }, - metadata=2, - }, - { - definition={ - synonym="Meta\\TeX ", - tag="METATEX", - }, - metadata=2, - }, - { - definition={ - synonym="Mik\\TeX ", - tag="MIKTEX", - }, - metadata=2, - }, - { - definition={ - synonym="ml\\TeX ", - tag="MLTEX", - }, - metadata=2, - }, - { - definition={ - synonym="MetaType1", - tag="METATYPE", - }, - metadata=2, - }, - { - definition={ - synonym="Modula", - tag="MODULA", - }, - metadata=2, - }, - { - definition={ - synonym="mov", - tag="MOV", - }, - metadata=2, - }, - { - definition={ - synonym="mps", - tag="MPS", - }, - metadata=2, - }, - { - definition={ - synonym="mptopdf", - tag="MPTOPDF", - }, - metadata=2, - }, - { - definition={ - synonym="mplib", - tag="MPLIB", - }, - metadata=2, - }, - { - definition={ - synonym="msdos", - tag="MSDOS", - }, - metadata=2, - }, - { - definition={ - synonym="MS~Windows", - tag="MSWINDOWS", - }, - metadata=2, - }, - { - definition={ - synonym="mtxrun", - tag="MTXRUN", - }, - metadata=2, - }, - { - definition={ - synonym="mtxtools", - tag="MTXTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="NetPBM", - tag="NETPBM", - }, - metadata=2, - }, - { - definition={ - synonym="ntg", - tag="NTG", - }, - metadata=2, - }, - { - definition={ - synonym="nts", - tag="NTS", - }, - metadata=2, - }, - { - definition={ - synonym="ofm", - tag="OFM", - }, - metadata=2, - }, - { - definition={ - synonym="Omega", - tag="OMEGA", - }, - metadata=2, - }, - { - definition={ - synonym="OpenMath", - tag="OPENMATH", - }, - metadata=2, - }, - { - definition={ - synonym="OpenType", - tag="OPENTYPE", - }, - metadata=2, - }, - { - definition={ - synonym="opi", - tag="OPI", - }, - metadata=2, - }, - { - definition={ - synonym="otf", - tag="OTF", - }, - metadata=2, - }, - { - definition={ - synonym="otp", - tag="OTP", - }, - metadata=2, - }, - { - definition={ - synonym="ovf", - tag="OVF", - }, - metadata=2, - }, - { - definition={ - synonym="Pascal", - tag="PASCAL", - }, - metadata=2, - }, - { - definition={ - synonym="pc\\TeX ", - tag="PCTEX", - }, - metadata=2, - }, - { - definition={ - synonym="pdf", - tag="PDF", - }, - metadata=2, - }, - { - definition={ - synonym="pdfe\\TeX ", - tag="PDFETEX", - }, - metadata=2, - }, - { - definition={ - synonym="pdf\\TeX ", - tag="PDFTEX", - }, - metadata=2, - }, - { - definition={ - synonym="pdftools", - tag="PDFTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="pdftops", - tag="PDFTOPS", - }, - metadata=2, - }, - { - definition={ - synonym="Perl", - tag="PERL", - }, - metadata=2, - }, - { - definition={ - synonym="Perl/Tk", - tag="PERLTK", - }, - metadata=2, - }, - { - definition={ - synonym="\\PiCTeX ", - tag="PICTEX", - }, - metadata=2, - }, - { - definition={ - synonym="pk", - tag="PK", - }, - metadata=2, - }, - { - definition={ - synonym="Plain", - tag="PLAIN", - }, - metadata=2, - }, - { - definition={ - synonym="png", - tag="PNG", - }, - metadata=2, - }, - { - definition={ - synonym="posix", - tag="POSIX", - }, - metadata=2, - }, - { - definition={ - synonym="Post\\-Script", - tag="POSTSCRIPT", - }, - metadata=2, - }, - { - definition={ - synonym="\\PPCHTeX ", - tag="PPCHTEX", - }, - metadata=2, - }, - { - definition={ - synonym="Pragma ADE", - tag="PRAGMA", - }, - metadata=2, - }, - { - definition={ - synonym="press", - tag="PRESS", - }, - metadata=2, - }, - { - definition={ - synonym="prifil", - tag="PRIFIL", - }, - metadata=2, - }, - { - definition={ - synonym="Post\\-Script", - tag="PS", - }, - metadata=2, - }, - { - definition={ - synonym="pscheck", - tag="PSCHECK", - }, - metadata=2, - }, - { - definition={ - synonym="pstoedit", - tag="PSTOEDIT", - }, - metadata=2, - }, - { - definition={ - synonym="pstopage", - tag="PSTOPAGE", - }, - metadata=2, - }, - { - definition={ - synonym="pstopdf", - tag="PSTOPDF", - }, - metadata=2, - }, - { - definition={ - synonym="pstricks", - tag="PSTRICKS", - }, - metadata=2, - }, - { - definition={ - synonym="ram", - tag="RAM", - }, - metadata=2, - }, - { - definition={ - synonym="Acro\\-bat Reader", - tag="READER", - }, - metadata=2, - }, - { - definition={ - synonym="Relax\\kern .125emNG", - tag="RELAXNG", - }, - metadata=2, - }, - { - definition={ - synonym="rgb", - tag="RGB", - }, - metadata=2, - }, - { - definition={ - synonym="rlxtools", - tag="RLXTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="Ruby", - tag="RUBY", - }, - metadata=2, - }, - { - definition={ - synonym="SciTE", - tag="SCITE", - }, - metadata=2, - }, - { - definition={ - synonym="sgml", - tag="SGML", - }, - metadata=2, - }, - { - definition={ - synonym="si", - tag="SI", - }, - metadata=2, - }, - { - definition={ - synonym="sql", - tag="SQL", - }, - metadata=2, - }, - { - definition={ - synonym="svg", - tag="SVG", - }, - metadata=2, - }, - { - definition={ - synonym="\\TaBlE ", - tag="TABLE", - }, - metadata=2, - }, - { - definition={ - synonym="tcp/ip", - tag="TCPIP", - }, - metadata=2, - }, - { - definition={ - synonym="tds", - tag="TDS", - }, - metadata=2, - }, - { - definition={ - synonym="te\\TeX ", - tag="TETEX", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX ", - tag="TEX", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX adress", - tag="TEXADRES", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX base", - tag="TEXBASE", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX edit", - tag="TEXEDIT", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX exec", - tag="TEXEXEC", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX font", - tag="TEXFONT", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX form", - tag="TEXFORM", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX Live", - tag="TEXLIVE", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX Lua", - tag="TEXLUA", - }, - metadata=2, - }, - { - definition={ - synonym="texmf", - tag="TEXMF", - }, - metadata=2, - }, - { - definition={ - synonym="texmfstart", - tag="TEXMFSTART", - }, - metadata=2, - }, - { - definition={ - synonym="tex-nl", - tag="TEXNL", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX show", - tag="TEXSHOW", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX spell", - tag="TEXSPELL", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX \\ Gyre", - tag="TEXGYRE", - }, - metadata=2, - }, - { - definition={ - synonym="texsync", - tag="TEXSYNC", - }, - metadata=2, - }, - { - definition={ - synonym="TextMate", - tag="TEXTMATE", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX tools", - tag="TEXTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX util", - tag="TEXUTIL", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX work", - tag="TEXWORK", - }, - metadata=2, - }, - { - definition={ - synonym="\\TeX \\XeT ", - tag="TEXXET", - }, - metadata=2, - }, - { - definition={ - synonym="tfm", - tag="TFM", - }, - metadata=2, - }, - { - definition={ - synonym="tif", - tag="TIF", - }, - metadata=2, - }, - { - definition={ - synonym="tiff", - tag="TIFF", - }, - metadata=2, - }, - { - definition={ - synonym="tiffinfo", - tag="TIFFINFO", - }, - metadata=2, - }, - { - definition={ - synonym="tifftags", - tag="TIFFTAGS", - }, - metadata=2, - }, - { - definition={ - synonym="tmftools", - tag="TMFTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="tpic", - tag="TPIC", - }, - metadata=2, - }, - { - definition={ - synonym="tpm", - tag="TPM", - }, - metadata=2, - }, - { - definition={ - synonym="TrueType", - tag="TRUETYPE", - }, - metadata=2, - }, - { - definition={ - synonym="ttf", - tag="TTF", - }, - metadata=2, - }, - { - definition={ - synonym="tug", - tag="TUG", - }, - metadata=2, - }, - { - definition={ - synonym="Tug\\-Boat", - tag="TUGBOAT", - }, - metadata=2, - }, - { - definition={ - synonym="Tug\\-News", - tag="TUGNEWS", - }, - metadata=2, - }, - { - definition={ - synonym="Type1", - tag="TYPEONE", - }, - metadata=2, - }, - { - definition={ - synonym="ucs", - tag="UCS", - }, - metadata=2, - }, - { - definition={ - synonym="Uni\\-code", - tag="UNICODE", - }, - metadata=2, - }, - { - definition={ - synonym="Unix", - tag="UNIX", - }, - metadata=2, - }, - { - definition={ - synonym="uri", - tag="URI", - }, - metadata=2, - }, - { - definition={ - synonym="url", - tag="URL", - }, - metadata=2, - }, - { - definition={ - synonym="usa", - tag="USA", - }, - metadata=2, - }, - { - definition={ - synonym="usenet", - tag="USENET", - }, - metadata=2, - }, - { - definition={ - synonym="utf", - tag="UTF", - }, - metadata=2, - }, - { - definition={ - synonym="vf", - tag="VF", - }, - metadata=2, - }, - { - definition={ - synonym="wdt", - tag="WDT", - }, - metadata=2, - }, - { - definition={ - synonym="web", - tag="WEB", - }, - metadata=2, - }, - { - definition={ - synonym="web2c", - tag="WEBC", - }, - metadata=2, - }, - { - definition={ - synonym="Wiki", - tag="WIKI", - }, - metadata=2, - }, - { - definition={ - synonym="Windows", - tag="WINDOWS", - }, - metadata=2, - }, - { - definition={ - synonym="WinNT", - tag="WINNT", - }, - metadata=2, - }, - { - definition={ - synonym="Win9x", - tag="WINNX", - }, - metadata=2, - }, - { - definition={ - synonym="www", - tag="WWW", - }, - metadata=2, - }, - { - definition={ - synonym="wysiwyg", - tag="WYSIWYG", - }, - metadata=2, - }, - { - definition={ - synonym="Xdvi", - tag="XDVI", - }, - metadata=2, - }, - { - definition={ - synonym="\\XeTeX ", - tag="XETEX", - }, - metadata=2, - }, - { - definition={ - synonym="xfdf", - tag="XFDF", - }, - metadata=2, - }, - { - definition={ - synonym="xhtml", - tag="XHTML", - }, - metadata=2, - }, - { - definition={ - synonym="Xindy", - tag="XINDY", - }, - metadata=2, - }, - { - definition={ - synonym="xml", - tag="XML", - }, - metadata=2, - }, - { - definition={ - synonym="xpath", - tag="XPATH", - }, - metadata=2, - }, - { - definition={ - synonym="xmltools", - tag="XMLTOOLS", - }, - metadata=2, - }, - { - definition={ - synonym="xpdfe\\TeX ", - tag="XPDFETEX", - }, - metadata=2, - }, - { - definition={ - synonym="xsl", - tag="XSL", - }, - metadata=2, - }, - { - definition={ - synonym="xsl-fo", - tag="XSLFO", - }, - metadata=2, - }, - { - definition={ - synonym="xslt", - tag="XSLT", - }, - metadata=2, - }, - { - definition={ - synonym="xsltproc", - tag="XSLTPROC", - }, - metadata=2, - }, - { - definition={ - synonym="XYPIC", - tag="XYPIC", - }, - metadata=2, - }, - { - definition={ - synonym="y\\&y", - tag="YandY", - }, - metadata=2, - }, - { - definition={ - synonym="zip", - tag="ZIP", - }, - metadata=2, - }, - { - definition={ - synonym="\\MetaFun ", - tag="METAFUN", - }, - metadata=2, - }, - }, - metadata=3, - }, - texcommand={ - entries={ - { - definition={ - synonym="setups:cont-en.xml::82", - tag="stp:x:installlanguage", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::133", - tag="stp:x:setuplanguage", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::141", - tag="stp:x:language", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::147", - tag="stp:x:mainlanguage", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::153", - tag="stp:x:translate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::160", - tag="stp:x:useencoding", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::166", - tag="stp:x:usespecials", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::173", - tag="stp:x:defineoutput", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::181", - tag="stp:x:setupoutput", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::187", - tag="stp:x:definebodyfontenvironment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::225", - tag="stp:x:setupbodyfontenvironment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::235", - tag="stp:x:showbodyfontenvironment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::241", - tag="stp:x:definebodyfont", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::285", - tag="stp:x:definebodyfontDEF", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::295", - tag="stp:x:definebodyfontREF", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::305", - tag="stp:x:showbodyfont", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::311", - tag="stp:x:setupbodyfont", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::331", - tag="stp:x:switchtobodyfont", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::353", - tag="stp:x:definefont", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::363", - tag="stp:x:setupcolor", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::369", - tag="stp:x:setupcolors", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::420", - tag="stp:x:definecolor", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::453", - tag="stp:x:startcolor", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::459", - tag="stp:x:color", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::466", - tag="stp:x:graycolor", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::472", - tag="stp:x:showcolor", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::478", - tag="stp:x:definepalet", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::487", - tag="stp:x:setuppalet", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::493", - tag="stp:x:definecolorgroup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::505", - tag="stp:x:showpalet", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::516", - tag="stp:x:showcolorgroup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::528", - tag="stp:x:comparepalet", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::534", - tag="stp:x:comparecolorgroup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::540", - tag="stp:x:showmakeup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::543", - tag="stp:x:definetype", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::551", - tag="stp:x:setuptype", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::573", - tag="stp:x:type", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::578", - tag="stp:x:typ", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::583", - tag="stp:x:tex", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::588", - tag="stp:x:definetyping", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::596", - tag="stp:x:setuptyping", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::687", - tag="stp:x:starttyping*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::690", - tag="stp:x:typefile", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::697", - tag="stp:x:setupfootnotes", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::764", - tag="stp:x:setupfootnotedefinition", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::770", - tag="stp:x:footnote", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::776", - tag="stp:x:footnotetext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::782", - tag="stp:x:note", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::787", - tag="stp:x:startlocalfootnotes", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::790", - tag="stp:x:placelocalfootnotes", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::796", - tag="stp:x:placefootnotes", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::802", - tag="stp:x:setupunderbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::819", - tag="stp:x:underbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::824", - tag="stp:x:underbars", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::829", - tag="stp:x:overbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::834", - tag="stp:x:overbars", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::839", - tag="stp:x:overstrike", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::844", - tag="stp:x:overstrikes", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::849", - tag="stp:x:romannumerals", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::854", - tag="stp:x:Romannumerals", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::859", - tag="stp:x:numbers", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::864", - tag="stp:x:character", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::869", - tag="stp:x:Character", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::874", - tag="stp:x:characters", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::879", - tag="stp:x:Characters", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::884", - tag="stp:x:mediaeval", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::889", - tag="stp:x:month", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::894", - tag="stp:x:MONTH", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::899", - tag="stp:x:weekday", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::904", - tag="stp:x:WEEKDAY", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::909", - tag="stp:x:setupcapitals", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::920", - tag="stp:x:cap", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::925", - tag="stp:x:nocap", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::930", - tag="stp:x:CAP", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::935", - tag="stp:x:Cap", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::940", - tag="stp:x:Caps", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::945", - tag="stp:x:WORD", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::950", - tag="stp:x:WORDS", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::955", - tag="stp:x:Word", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::960", - tag="stp:x:Words", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::965", - tag="stp:x:stretched", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::970", - tag="stp:x:definesymbol", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::978", - tag="stp:x:definefiguresymbol", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::988", - tag="stp:x:symbol", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::996", - tag="stp:x:startsymbolset", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1002", - tag="stp:x:setupsymbolset", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1008", - tag="stp:x:usesymbols", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1014", - tag="stp:x:showsymbolset", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1020", - tag="stp:x:defineconversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1029", - tag="stp:x:convertnumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1035", - tag="stp:x:setupheadtext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1044", - tag="stp:x:setuplabeltext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1053", - tag="stp:x:headtext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1058", - tag="stp:x:labeltext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1063", - tag="stp:x:setupmarginrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1072", - tag="stp:x:startmarginrule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1078", - tag="stp:x:marginrule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1085", - tag="stp:x:setuplinewidth", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1091", - tag="stp:x:setupframed", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1205", - tag="stp:x:framed", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1212", - tag="stp:x:inframed", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1219", - tag="stp:x:thinrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1225", - tag="stp:x:setupthinrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1265", - tag="stp:x:hairline", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1268", - tag="stp:x:thinrule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1271", - tag="stp:x:defineframedtext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1279", - tag="stp:x:defineframed", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1287", - tag="stp:x:setupframedtexts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1326", - tag="stp:x:startframedtext*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1337", - tag="stp:x:framedtext*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1343", - tag="stp:x:startbackground", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1348", - tag="stp:x:background", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1353", - tag="stp:x:setupbackground", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1374", - tag="stp:x:fillinrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1382", - tag="stp:x:fillintext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1390", - tag="stp:x:setupfillinrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1415", - tag="stp:x:fillinline", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1422", - tag="stp:x:setupfillinlines", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1437", - tag="stp:x:setuptextrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1463", - tag="stp:x:textrule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1471", - tag="stp:x:starttextrule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1479", - tag="stp:x:blackrule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1485", - tag="stp:x:blackrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1491", - tag="stp:x:setupblackrules", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1514", - tag="stp:x:defineoverlay", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1522", - tag="stp:x:usemodule", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1528", - tag="stp:x:reset", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1534", - tag="stp:x:startlocalenvironment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1537", - tag="stp:x:setupsystem", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1554", - tag="stp:x:usedirectory", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1561", - tag="stp:x:low", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1566", - tag="stp:x:high", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1571", - tag="stp:x:lohi", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1579", - tag="stp:x:showframe", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1587", - tag="stp:x:leftaligned", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1592", - tag="stp:x:rightaligned", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1597", - tag="stp:x:midaligned", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1602", - tag="stp:x:wordright", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1607", - tag="stp:x:inmargin", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1617", - tag="stp:x:inothermargin", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1627", - tag="stp:x:inleft", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1637", - tag="stp:x:inright", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1647", - tag="stp:x:ininner", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1657", - tag="stp:x:inouter", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1667", - tag="stp:x:column", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1670", - tag="stp:x:showstruts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1673", - tag="stp:x:showsetups", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1676", - tag="stp:x:showlayout", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1679", - tag="stp:x:margintext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1689", - tag="stp:x:setupmarginblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1719", - tag="stp:x:startmarginblock", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1722", - tag="stp:x:part", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1728", - tag="stp:x:title", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1734", - tag="stp:x:chapter", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1740", - tag="stp:x:section", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1746", - tag="stp:x:subsection", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1752", - tag="stp:x:subsubsection", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1758", - tag="stp:x:subject", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1764", - tag="stp:x:subsubject", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1770", - tag="stp:x:subsubsubject", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1776", - tag="stp:x:appendix", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1782", - tag="stp:x:in", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1789", - tag="stp:x:at", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1796", - tag="stp:x:about", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1802", - tag="stp:x:somewhere", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1809", - tag="stp:x:atpage", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1814", - tag="stp:x:ref", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1825", - tag="stp:x:textreference", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1831", - tag="stp:x:pagereference", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1836", - tag="stp:x:reference", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1842", - tag="stp:x:usereferences", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1848", - tag="stp:x:definereference", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1855", - tag="stp:x:definereferenceformat", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1870", - tag="stp:x:hl", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1876", - tag="stp:x:vl", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1882", - tag="stp:x:godown", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1888", - tag="stp:x:whitespace", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1891", - tag="stp:x:nowhitespace", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1894", - tag="stp:x:crlf", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1897", - tag="stp:x:space", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1900", - tag="stp:x:fixedspaces", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1903", - tag="stp:x:emptylines", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1909", - tag="stp:x:nospace", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1912", - tag="stp:x:packed", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1915", - tag="stp:x:setupdescriptions", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::1993", - tag="stp:x:setupenumerations", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2001", - tag="stp:x:defineenumeration", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2011", - tag="stp:x:enumeration*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2016", - tag="stp:x:startenumeration*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2019", - tag="stp:x:definedescription", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2027", - tag="stp:x:description*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2033", - tag="stp:x:startdescription*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2038", - tag="stp:x:setupindentations", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2064", - tag="stp:x:defineindenting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2072", - tag="stp:x:indentation*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2077", - tag="stp:x:definelabel", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2103", - tag="stp:x:labeling*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2108", - tag="stp:x:setupcolumns", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2150", - tag="stp:x:startcolumns", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2156", - tag="stp:x:definetext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2171", - tag="stp:x:setupheader", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2206", - tag="stp:x:setupfooter", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2214", - tag="stp:x:setuptext", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2222", - tag="stp:x:setuptop", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2230", - tag="stp:x:setupbottom", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2238", - tag="stp:x:noheaderandfooterlines", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2241", - tag="stp:x:notopandbottomlines", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2244", - tag="stp:x:setupheadertexts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2254", - tag="stp:x:setupfootertexts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2264", - tag="stp:x:setuptexttexts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2274", - tag="stp:x:setuptoptexts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2284", - tag="stp:x:setupbottomtexts", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2294", - tag="stp:x:settextcontent", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2308", - tag="stp:x:resettextcontent", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2320", - tag="stp:x:definemarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2328", - tag="stp:x:couplemarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2336", - tag="stp:x:decouplemarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2342", - tag="stp:x:resetmarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2348", - tag="stp:x:setupmarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2363", - tag="stp:x:marking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2370", - tag="stp:x:getmarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2383", - tag="stp:x:nomarking", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2388", - tag="stp:x:setuplayout", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2497", - tag="stp:x:adaptlayout", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2509", - tag="stp:x:showgrid", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2526", - tag="stp:x:placeongrid", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2533", - tag="stp:x:moveongrid", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2557", - tag="stp:x:startproject", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2562", - tag="stp:x:startenvironment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2567", - tag="stp:x:startproduct", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2572", - tag="stp:x:startcomponent", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2577", - tag="stp:x:nomorefiles", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2580", - tag="stp:x:setupinterlinespace:1", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2592", - tag="stp:x:setupinterlinespace2:2", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2607", - tag="stp:x:setuppagenumbering", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2665", - tag="stp:x:setupnarrower", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2676", - tag="stp:x:define", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2684", - tag="stp:x:usecommands", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2689", - tag="stp:x:definestartstop", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2704", - tag="stp:x:setupheads", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2741", - tag="stp:x:setupcaptions", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2799", - tag="stp:x:setupcaption", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2807", - tag="stp:x:setupfloats", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2870", - tag="stp:x:setupfloatsplitting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2883", - tag="stp:x:splitfloat", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2891", - tag="stp:x:setupoppositeplacing", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2905", - tag="stp:x:startopposite", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2908", - tag="stp:x:setuphyphenmark", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2922", - tag="stp:x:setuppositioning", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2951", - tag="stp:x:startpositioning", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2954", - tag="stp:x:grid", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::2993", - tag="stp:x:page", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3015", - tag="stp:x:setupreferencing", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3058", - tag="stp:x:setupurl", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3073", - tag="stp:x:writetoreferencelist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3081", - tag="stp:x:placereferencelist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3087", - tag="stp:x:definereferencelist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3095", - tag="stp:x:setupreferencelist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3116", - tag="stp:x:writetolist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3129", - tag="stp:x:writebetweenlist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3141", - tag="stp:x:nolist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3146", - tag="stp:x:listsymbol", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3153", - tag="stp:x:placelist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3161", - tag="stp:x:determinelistcharacteristics", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3169", - tag="stp:x:placecombinedlist:1", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3177", - tag="stp:x:definelist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3187", - tag="stp:x:setuplist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3306", - tag="stp:x:setuplistalternative", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3323", - tag="stp:x:definecombinedlist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3333", - tag="stp:x:setupcombinedlist", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3348", - tag="stp:x:placecombinedlist:2*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3357", - tag="stp:x:completecombinedlist*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3366", - tag="stp:x:setupnumbering", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3377", - tag="stp:x:setupformulas", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3429", - tag="stp:x:publication", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3434", - tag="stp:x:setuppublications", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3443", - tag="stp:x:setuplines", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3461", - tag="stp:x:startlines", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3464", - tag="stp:x:setupparagraphnumbering", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3478", - tag="stp:x:setuplinenumbering", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3516", - tag="stp:x:startlinenumbering", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3522", - tag="stp:x:startline", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3527", - tag="stp:x:someline", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3532", - tag="stp:x:inline", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3537", - tag="stp:x:setupinmargin", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3572", - tag="stp:x:setuppagenumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3583", - tag="stp:x:setupsubpagenumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3595", - tag="stp:x:setupblank", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3613", - tag="stp:x:defineblank", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3621", - tag="stp:x:definepapersize", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3636", - tag="stp:x:setuppaper", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3663", - tag="stp:x:setuppapersize", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3685", - tag="stp:x:setuparranging", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3710", - tag="stp:x:showprint", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3720", - tag="stp:x:definelogo", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3748", - tag="stp:x:placelogos", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3754", - tag="stp:x:setupwhitespace", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3767", - tag="stp:x:setupindenting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3773", - tag="stp:x:definesectionblock", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3781", - tag="stp:x:setupsectionblock", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3798", - tag="stp:x:definesection", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3804", - tag="stp:x:setupsection", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3822", - tag="stp:x:setuphead", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3925", - tag="stp:x:setupheadnumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3935", - tag="stp:x:headnumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3941", - tag="stp:x:determineheadnumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3947", - tag="stp:x:currentheadnumber", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3950", - tag="stp:x:nextsection*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3954", - tag="stp:x:definehead", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::3962", - tag="stp:x:setupitemgroup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4054", - tag="stp:x:startitemgroup*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4087", - tag="stp:x:item", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4092", - tag="stp:x:but", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4097", - tag="stp:x:its", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4102", - tag="stp:x:ran", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4107", - tag="stp:x:head", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4112", - tag="stp:x:mar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4118", - tag="stp:x:sub", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4123", - tag="stp:x:sym", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4128", - tag="stp:x:nop", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4131", - tag="stp:x:defineregister", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4139", - tag="stp:x:setupregister", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4219", - tag="stp:x:register*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4226", - tag="stp:x:startregister*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4234", - tag="stp:x:writetoregister", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4243", - tag="stp:x:coupledregister*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4251", - tag="stp:x:coupleregister", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4257", - tag="stp:x:placeregister:1", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4265", - tag="stp:x:seeregister*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4274", - tag="stp:x:completeregister*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4281", - tag="stp:x:placeregister:2*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4288", - tag="stp:x:definesynonyms", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4300", - tag="stp:x:setupsynonyms", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4336", - tag="stp:x:synonym*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4344", - tag="stp:x:completelistofsynonyms*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4348", - tag="stp:x:placelistofsynonyms*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4352", - tag="stp:x:loadsynonyms*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4356", - tag="stp:x:definesorting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4366", - tag="stp:x:setupsorting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4391", - tag="stp:x:sort*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4398", - tag="stp:x:completelistofsorts*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4402", - tag="stp:x:placelistofsorts*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4406", - tag="stp:x:loadsorts*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4410", - tag="stp:x:definemakeup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4418", - tag="stp:x:startmakeup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4426", - tag="stp:x:setupmakeup", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4479", - tag="stp:x:startnamemakeup*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4483", - tag="stp:x:version", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4491", - tag="stp:x:currentdate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4497", - tag="stp:x:date", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4527", - tag="stp:x:referraldate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4530", - tag="stp:x:indenting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4536", - tag="stp:x:noindenting", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4539", - tag="stp:x:blank", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4562", - tag="stp:x:startpacked", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4568", - tag="stp:x:startunpacked", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4571", - tag="stp:x:startlinecorrection", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4574", - tag="stp:x:correctwhitespace", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4579", - tag="stp:x:startpostponing", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4582", - tag="stp:x:startlocal", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4585", - tag="stp:x:startnarrower", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4597", - tag="stp:x:starthiding", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4600", - tag="stp:x:setupalign", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4642", - tag="stp:x:startalignment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4648", - tag="stp:x:setupspacing", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4655", - tag="stp:x:setuptolerance", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4668", - tag="stp:x:pagetype", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4674", - tag="stp:x:processpage", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4683", - tag="stp:x:couplepage", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4696", - tag="stp:x:position", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4702", - tag="stp:x:setupscreens", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4717", - tag="stp:x:setupbackgrounds", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4743", - tag="stp:x:startbuffer*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4749", - tag="stp:x:startbuffer", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4755", - tag="stp:x:getbuffer", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4761", - tag="stp:x:typebuffer", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4767", - tag="stp:x:definebuffer", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4773", - tag="stp:x:setupbuffer", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4786", - tag="stp:x:defineblock", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4792", - tag="stp:x:nomoreblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4795", - tag="stp:x:hideblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4803", - tag="stp:x:keepblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4812", - tag="stp:x:useblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4820", - tag="stp:x:processblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4828", - tag="stp:x:bypassblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4836", - tag="stp:x:forceblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4844", - tag="stp:x:selectblocks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4856", - tag="stp:x:setupblock", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4873", - tag="stp:x:startformula*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4876", - tag="stp:x:mathematics", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4881", - tag="stp:x:placeformula", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4888", - tag="stp:x:placesubformula", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4895", - tag="stp:x:placefloat*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4943", - tag="stp:x:reservefloat*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4960", - tag="stp:x:definefloat", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4968", - tag="stp:x:setupfloat", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::4998", - tag="stp:x:startfloattext*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5014", - tag="stp:x:placelistoffloats*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5018", - tag="stp:x:completelistoffloats*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5022", - tag="stp:x:referral", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5039", - tag="stp:x:selectpaper", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5047", - tag="stp:x:couplepaper", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5053", - tag="stp:x:chem", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5060", - tag="stp:x:fraction", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5066", - tag="stp:x:periods", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5072", - tag="stp:x:items", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5079", - tag="stp:x:setupitems", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5112", - tag="stp:x:startquotation", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5120", - tag="stp:x:quotation", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5125", - tag="stp:x:quote", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5130", - tag="stp:x:setupquote", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5146", - tag="stp:x:defineparagraphs", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5177", - tag="stp:x:paragraph*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5180", - tag="stp:x:startparagraph*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5183", - tag="stp:x:setupparagraphs", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5220", - tag="stp:x:setuptab", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5234", - tag="stp:x:tab", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5240", - tag="stp:x:startdocument", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5246", - tag="stp:x:labels", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5252", - tag="stp:x:definetabulate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5262", - tag="stp:x:starttabulate*", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5270", - tag="stp:x:setuptabulate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5312", - tag="stp:x:setuptables", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5361", - tag="stp:x:starttable", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5368", - tag="stp:x:starttables", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5375", - tag="stp:x:definetabletemplate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5387", - tag="stp:x:useexternalfiles", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5398", - tag="stp:x:useexternalfile", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5411", - tag="stp:x:useexternalfigure", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5423", - tag="stp:x:externalfigure", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5431", - tag="stp:x:setupexternalfigures", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5524", - tag="stp:x:showexternalfigures", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5533", - tag="stp:x:useexternalsoundtrack", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5541", - tag="stp:x:name", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5546", - tag="stp:x:startlegend", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5557", - tag="stp:x:startfact", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5566", - tag="stp:x:rotate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5573", - tag="stp:x:setuprotate", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5587", - tag="stp:x:mirror", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5592", - tag="stp:x:scale", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5602", - tag="stp:x:setupcombinations", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5633", - tag="stp:x:startcombination", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5639", - tag="stp:x:placesidebyside", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5645", - tag="stp:x:placeontopofeachother", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5651", - tag="stp:x:startoverlay", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5657", - tag="stp:x:startoverview", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5663", - tag="stp:x:setupinteractionscreen", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5695", - tag="stp:x:screen", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5698", - tag="stp:x:setuppagetransitions", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5705", - tag="stp:x:setupinteraction", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5767", - tag="stp:x:setupinteractionmenu", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5822", - tag="stp:x:defineinteractionmenu:1", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5834", - tag="stp:x:defineinteractionmenu:2", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5852", - tag="stp:x:startinteractionmenu", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5858", - tag="stp:x:disableinteractionmenu", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5869", - tag="stp:x:useexternaldocument", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5879", - tag="stp:x:useURL", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5891", - tag="stp:x:coupledocument", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5901", - tag="stp:x:from", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5906", - tag="stp:x:interactionbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5912", - tag="stp:x:interactionbuttons", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5920", - tag="stp:x:setupinteractionbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5957", - tag="stp:x:synchronize", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5960", - tag="stp:x:startsynchronization", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5963", - tag="stp:x:setupsynchronizationbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5982", - tag="stp:x:synchronizationbar", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::5993", - tag="stp:x:setupsynchronization", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6001", - tag="stp:x:defineprofile", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6009", - tag="stp:x:setupprofiles", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6016", - tag="stp:x:startprofile", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6022", - tag="stp:x:followprofile", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6029", - tag="stp:x:placebookmarks", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6042", - tag="stp:x:bookmark", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6049", - tag="stp:x:startversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6055", - tag="stp:x:setupversions", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6064", - tag="stp:x:markversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6067", - tag="stp:x:selectversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6070", - tag="stp:x:defineversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6078", - tag="stp:x:followversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6085", - tag="stp:x:followprofileversion", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6094", - tag="stp:x:defineprogram", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6104", - tag="stp:x:setupprograms", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6111", - tag="stp:x:program", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6117", - tag="stp:x:startfigure", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6131", - tag="stp:x:goto", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6138", - tag="stp:x:gotobox", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6144", - tag="stp:x:button", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6152", - tag="stp:x:setupbuttons", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6161", - tag="stp:x:setupcomment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6196", - tag="stp:x:startcomment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6204", - tag="stp:x:comment", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6213", - tag="stp:x:definefield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6234", - tag="stp:x:definesubfield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6244", - tag="stp:x:copyfield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6252", - tag="stp:x:clonefield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6264", - tag="stp:x:field", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6270", - tag="stp:x:fitfield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6276", - tag="stp:x:fillinfield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6283", - tag="stp:x:tooltip", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6293", - tag="stp:x:showfields", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6299", - tag="stp:x:logfields", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6302", - tag="stp:x:setupfield", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6317", - tag="stp:x:setupfields", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6379", - tag="stp:x:setupforms", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6387", - tag="stp:x:definefieldstack", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6397", - tag="stp:x:fieldstack", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6407", - tag="stp:x:clip", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6414", - tag="stp:x:setupclipping", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6456", - tag="stp:x:placelegend", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6462", - tag="stp:x:setuplegend", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6482", - tag="stp:x:setupstrut", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6491", - tag="stp:x:usetypescriptfile", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6497", - tag="stp:x:usetypescript", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6507", - tag="stp:x:definetypeface", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6535", - tag="stp:x:definefontfeature", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6563", - tag="stp:x:definefonthandling", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6589", - tag="stp:x:setupfonthandling", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6597", - tag="stp:x:definefontsynonym", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6614", - tag="stp:x:setupfontsynonym", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6622", - tag="stp:x:mapfontsize", - }, - metadata=2, - }, - { - definition={ - synonym="setups:cont-en.xml::6630", - tag="stp:x:definedfont", - }, - metadata=2, - }, - }, - metadata=4, - }, - unit={ - entries={ - { - definition={ - meaning="meter", - synonym="m", - tag="Meter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="picometer", - synonym="\\Pico \\Meter ", - tag="pMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="nanometer", - synonym="\\Nano \\Meter ", - tag="nMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="micrometer", - synonym="\\Micro \\Meter ", - tag="uMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="millimeter", - synonym="\\Milli \\Meter ", - tag="mMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="centimeter", - synonym="\\Centi \\Meter ", - tag="cMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="decimeter", - synonym="\\Deci \\Meter ", - tag="dMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="hectometer", - synonym="\\Hecto \\Meter ", - tag="hMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilometer", - synonym="\\Kilo \\Meter ", - tag="kMeter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="liter", - synonym="l", - tag="Liter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milliliter", - synonym="\\Milli \\Liter ", - tag="mLiter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="centiliter", - synonym="\\Centi \\Liter ", - tag="cLiter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="deciliter", - synonym="\\Deci \\Liter ", - tag="dLiter", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:sec}", - synonym="s", - tag="Sec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:fsec}", - synonym="\\Femto \\Sec ", - tag="fSec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:psec}", - synonym="\\Pico \\Sec ", - tag="pSec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:nsec}", - synonym="\\Nano \\Sec ", - tag="nSec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:usec}", - synonym="\\Micro \\Sec ", - tag="uSec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:msec}", - synonym="\\Milli \\Sec ", - tag="mSec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:year}", - synonym="\\ifSIunits a \\else j\\fi ", - tag="Year", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:month}", - synonym="m", - tag="Month", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:week}", - synonym="w", - tag="Week", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:day}", - synonym="d", - tag="Day", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:hour}", - synonym="\\ifSIunits h \\else u\\fi ", - tag="Hour", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:min}", - synonym="min", - tag="Min", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:rad}", - synonym="rad", - tag="Rad", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:deg}", - synonym="{\\mathematics {\\normalsuperscript \\circ }}", - tag="Deg", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Hertz", - synonym="Hz", - tag="Hertz", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Hertz", - synonym="\\Kilo \\Hertz ", - tag="kHertz", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="mega Hertz", - synonym="\\Mega \\Hertz ", - tag="MHertz", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="giga Hertz", - synonym="\\Giga \\Hertz ", - tag="GHertz", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="tera Hertz", - synonym="\\Tera \\Hertz ", - tag="THertz", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Hertz", - synonym="\\Milli \\Hertz ", - tag="mHertz", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:rps}", - synonym="RPS", - tag="RevPerSec", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:rpm}", - synonym="RPM", - tag="RevPerMin", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="gram", - synonym="g", - tag="Gram", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="microgram", - synonym="\\Micro \\Gram ", - tag="uGram", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milligram", - synonym="\\Milli \\Gram ", - tag="mGram", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilogram", - synonym="\\Kilo \\Gram ", - tag="kGram", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:u}", - synonym="u", - tag="Atom", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Newton", - synonym="N", - tag="Newton", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Newton", - synonym="\\Kilo \\Newton ", - tag="kNewton", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Pascal", - synonym="Pa", - tag="Pascal", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Pascal", - synonym="\\Milli \\Pascal ", - tag="mPascal", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Pascal", - synonym="\\Kilo \\Pascal ", - tag="kPascal", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Joule", - synonym="J", - tag="Joule", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Joule", - synonym="\\Milli \\Joule ", - tag="mJoule", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Joule", - synonym="\\Kilo \\Joule ", - tag="kJoule", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="mega Joule", - synonym="\\Mega \\Joule ", - tag="MJoule", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="giga Joule", - synonym="\\Giga \\Joule ", - tag="GJoule", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Watt", - synonym="W", - tag="Watt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Watt", - synonym="\\Milli \\Watt ", - tag="mWatt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Watt", - synonym="\\Kilo \\Watt ", - tag="kWatt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="mega Watt", - synonym="\\Mega \\Watt ", - tag="MWatt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="giga Watt", - synonym="\\Giga \\Watt ", - tag="GWatt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="tera Watt", - synonym="\\Tera \\Watt ", - tag="TWatt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Celsius", - synonym="C", - tag="Celsius", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Kelvin", - synonym="K", - tag="Kelvin", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Fahrenheit", - synonym="F", - tag="Fahrenheit", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="mol", - synonym="mol", - tag="Mol", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="millimol", - synonym="\\Milli \\Mol ", - tag="mMol", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilomol", - synonym="\\Kilo \\Mol ", - tag="kMol", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="molair (\\Mol \\Per \\Liter )", - synonym="M", - tag="Molair", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="equivalent", - synonym="eq", - tag="Equivalent", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli equivalent", - synonym="\\Milli \\Equivalent ", - tag="mEquivalent", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Farad", - synonym="F", - tag="Farad", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="pico Farad", - synonym="\\Pico \\Farad ", - tag="pFarad", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="nano Farad", - synonym="\\Nano \\Farad ", - tag="nFarad", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="micro Farad", - synonym="\\Micro \\Farad ", - tag="uFarad", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Farad", - synonym="\\Milli \\Farad ", - tag="mFarad", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Ohm", - synonym="\\Omega ", - tag="Ohm", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Ohm", - synonym="\\Kilo \\Ohm ", - tag="kOhm", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Siemens", - synonym="S", - tag="Siemens", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Amp\\`ere", - synonym="A", - tag="Ampere", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Amp\\`ere", - synonym="\\Milli \\Ampere ", - tag="mAmpere", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Coulomb", - synonym="C", - tag="Coulomb", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Volt", - synonym="V", - tag="Volt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Volt", - synonym="\\Milli \\Volt ", - tag="mVolt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Volt", - synonym="\\Kilo \\Volt ", - tag="kVolt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="electronvolt", - synonym="eV", - tag="eVolt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo electronvolt", - synonym="\\Kilo \\eVolt ", - tag="keVolt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="mega electronvolt", - synonym="\\Mega \\eVolt ", - tag="MeVolt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Tesla", - synonym="T", - tag="Tesla", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:vac}", - synonym="V\\normalsubscript {\\xbox {ac}}", - tag="VoltAC", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:vdc}", - synonym="V\\normalsubscript {\\xbox {dc}}", - tag="VoltDC", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:bit}", - synonym="bit", - tag="Bit", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Baud (Bit/s)", - synonym="Bd", - tag="Baud", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:byte}", - synonym="B", - tag="Byte", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="kilo Byte", - synonym="\\Kilo \\Byte ", - tag="kByte", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="mega Byte", - synonym="\\Mega \\Byte ", - tag="MByte", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="giga Byte", - synonym="\\Giga \\Byte ", - tag="GByte", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="tera Byte", - synonym="\\Tera \\Byte ", - tag="TByte", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Erlang", - synonym="E", - tag="Erlang", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Bequerel", - synonym="Bq", - tag="Bequerel", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Bequerel", - synonym="\\Mega \\Bequerel ", - tag="MBequerel", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Sievert", - synonym="Sv", - tag="Sievert", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="milli Sievert", - synonym="\\Milli \\Sievert ", - tag="mSievert", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Candela", - synonym="cd", - tag="Candela", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Bell", - synonym="B", - tag="Bell", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="decibel", - synonym="\\Deci \\Bell ", - tag="dBell", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:at}", - synonym="at", - tag="At", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:atm}", - synonym="atm", - tag="Atm", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="bar (100 \\Kilo \\Pascal )", - synonym="bar", - tag="Bar", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="electronvolt", - synonym="eV", - tag="EVolt", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:ft}", - synonym="ft", - tag="Foot", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:inch}", - synonym="inch", - tag="Inch", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:cal}", - synonym="cal", - tag="Cal", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:f}", - synonym="f", - tag="Force", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\labeltext {u:kcal}", - synonym="\\Kilo \\Cal ", - tag="kCal", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="lux", - synonym="lux", - tag="Lux", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="percent", - synonym="\\xPercent ", - tag="Percent", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="promille", - synonym="\\xPromille ", - tag="Permille", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="promille", - synonym="\\xPromille ", - tag="Promille", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Gray", - synonym="Gr", - tag="Gray", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Weber", - synonym="Wb", - tag="Weber", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Henry", - synonym="H", - tag="Henry", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Sterant", - synonym="sr", - tag="Sterant", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="\\Aring ngstr\\\"om", - synonym="\\hbox {\\Aring }", - tag="Angstrom", - used=false, - }, - metadata=2, - }, - { - definition={ - meaning="Gauss", - synonym="G", - tag="Gauss", - used=false, - }, - metadata=2, - }, - }, - metadata=5, - }, -} -structures = structures or { } -structures.blocks = structures.blocks or { } -structures.blocks.collected = structures.blocks.collected or { } -structures.blocks.collected={ -} -job = job or { } -job.files = job.files or { } -job.files.collected = job.files.collected or { } -job.files.collected={ -} -job.packed={ - index={ - { - class="texmacro", - language="en", - sorted=false, - }, - { - catcodes=8, - coding="tex", - }, - { - class="logo", - kind="sorting", - language="en", - sorted=false, - }, - { - class="texcommand", - kind="sorting", - language="en", - sorted=false, - }, - { - class="unit", - kind="synonym", - language="en", - sorted=false, - }, - }, - keys={ - directives=true, - metadata=true, - numberdata=true, - numbers=true, - pagedata=true, - prefixdata=true, - processors=true, - sectiondata=true, - specification=true, - }, - version=1.01, -} diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 637e238152..d69282b790 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2021/11/22}{1.40U} +\ProvidesExplClass{easybook}{2021/11/22}{1.40V} {Typeset Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -325,7 +325,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2021/11/22}{1.40U} +\ProvidesExplPackage{easybase}{2021/11/22}{1.40V} {Typeset Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -878,7 +878,7 @@ fnindent .initial:n = 0.75em, fnparskip .skip_set:N = \footparskip, fnparskip .initial:n = 0ex, - fnparindent .dim_set:N = \footparindent, + fnparindent .tl_set:N = \footparindent, fnparindent .initial:n = 2em, fnpara-form .tl_set:N = \l__eb_fnpara_format_tl, @@ -1361,8 +1361,8 @@ lstlisting/tocline = \listnumberline{lstlisting} } \ctex_set:nn { tocset } { tocafter-all = \hspace{1em} } -\prop_new:N \l__eb_list_label_name_prop -\prop_set_from_keyval:Nn \l__eb_list_label_name_prop +\prop_new:N \l__eb_list_label_entry_prop +\prop_set_from_keyval:Nn \l__eb_list_label_entry_prop { figure = \eb@toc@label@figure, table = \eb@toc@label@table @@ -1373,7 +1373,7 @@ { \bool_if:NT \eb@titletoc@hang@fix@bool { \p@numberline } \bgroup - \prop_item:Nn \l__eb_list_label_name_prop {#2}{#3} + \prop_item:Nn \l__eb_list_label_entry_prop {#2}{#3} \egroup #4 } } @@ -1836,7 +1836,7 @@ \keys_define:nn { eb/eqcomp } { width .dim_set:N = \l__eb_eqsymb_width_dim, - width .initial:n = 2em, + width .initial:n = 10pt, delim .tl_set:N = \l__eb_eqsymb_delim_tl, delim .initial:n = { —— }, space .dim_set:N = \l__eb_eqsymb_space_dim, @@ -2370,7 +2370,7 @@ } % %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2021/11/22}{1.40U} +\ProvidesExplFile{eb-tcolorbox.cfg}{2021/11/22}{1.40V} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \setexercise #1 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf index 1746468440..9d88bbc59a 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index a385bc2681..ad430de031 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -20,7 +20,7 @@ name = easybook, color-scheme = blue, title = EASYBOOK 使用手册, - version = v1.40U, + version = v1.40V, date = 2021/11/22, authors = 瞿毅, info = 排版简体中文学位论文和书籍, @@ -719,11 +719,11 @@ \hdrset{footnotetype = {hang,bottom}} \end{ctexexam} \keyval-{fnindent}{刚性长度}\Default{0.75em} - 脚注首段的首行缩进,等于长度 \cs{footindent} 的值。 + 每个脚注首段的首行缩进(选项 \option*{hang} 为整体缩进),等于长度 \cs{footindent} 的值。 \keyval-{fnparskip}{弹性长度}\Default{0ex} - 脚注段落的间距,等于长度 \cs{footparskip} 的值。 + 不同脚注的段落间距,等于长度 \cs{footparskip} 的值。 \keyval-{fnparindent}{刚性长度}\Default{2em} - 脚注第二段及之后段落的首行缩进,等于长度 \cs{footparindent} 的值。 + 每个脚注第二段及之后段落的首行缩进,等于长度 \cs{footparindent} 的值。 \keychoice{fntext-pos}{normal,super}\Default{super} 设置脚注内容标记的位置,正常文本或是上标形式。 \keychoice{fnmark-num}{plain,pifont,pifont*,pisans,pisans*,short num}\Default{plain} @@ -1140,6 +1140,13 @@ \begin{environments} \environment{eqcomp}[\oarg{键值列表1}\darg{键值列表2}] 一些公式之后可以使用基于列表环境的 \env{eqcomp} 进行符号对照。对照列表的 \meta{键值列表2} 与 \pkg*{enumitem} 的选项相同,一般较少用到,可以用于设置垂直间距等。 + \begin{ctexexam} + \seteqcomp{intro = 上式中} + \begin{eqcomp}[width = 1.5em] + \symb{Ab}[$\to$] 符号说明1 + \symb{C}[---] 符号说明2 + \end{eqcomp} + \end{ctexexam} \end{environments} \begin{commands} @@ -1150,7 +1157,7 @@ \command{seteqcomp}[\marg{键值列表1}] 对照环境的 \meta{键值列表1} 可以使用 \cs{seteqcomp} 全局设置,它的选项如下: \begin{options} - \keyval-{width}{符号宽度}\Default{2em} + \keyval-{width}{符号宽度}\Default{10pt} 设置适当的符号宽度可以防止文字重叠和边界溢出等问题。 \keyval-{delim}{引导符}\Default{\Carg{——}} 全局的符号对照引导符,\cs{symb} 局部的 \meta{引导符} 和对齐方式是基于这个符号的宽度。 diff --git a/macros/latex/contrib/glossaries-extra/CHANGES b/macros/latex/contrib/glossaries-extra/CHANGES index b941eff1a7..daf9358685 100644 --- a/macros/latex/contrib/glossaries-extra/CHANGES +++ b/macros/latex/contrib/glossaries-extra/CHANGES @@ -1,3 +1,69 @@ +1.48 (2021-11-22): + + * glossaries-extra.sty: + + - new command \glslinkwrcontent used to encapsulate link text and + indexing within commands like \gls and \glslink. This adds + grouping, which will hopefully fix issue #189 + https://www.dickimaw-books.com/bugtracker.php?key=189 + (spacing issues caused by whatsit) + + This is currently added as a trial. If no issues are reported + it will be added to the base package as well. + + If the grouping causes a problem, redefine this command without + it: + + \renewcommand*{\glslinkwrcontent}[1]{#1} + + + - New multi (combined/compound) entry feature: + + \multiglossaryentry and associated commands + + See chapter "Multi (or Compound) Entries" for details. + + - New commands: + + \glssetcategoriesattribute + \glssetcategoriesattributes + + - bug fix #190: hypergroup, \glsnavhyperlinkname and targetnameprefix + don't work together + https://www.dickimaw-books.com/bugtracker.php?key=190 + + - new abbreviation styles: + + long-only-short-sc-only + long-only-short-sc-only-desc + long-postshort-sc-user + long-postshort-sc-user-desc + + - new debugging package option `showtargets` + + * glossaries-extra-bib2gls.sty: + + - added multi-entry commands for use with bib2gls: + + \glsxtrmultientryadjustedname + \Glsxtrmultientryadjustedname + \GlsXtrmultientryadjustedname + \GLSxtrmultientryadjustedname + + \glsxtrmultientryadjustednamesep + \glsxtrmultientryadjustednamepresep + \glsxtrmultientryadjustednamepostsep + + \glsxtrmultientryadjustednamefmt + \Glsxtrmultientryadjustednamefmt + \GlsXtrmultientryadjustednamefmt + \GLSxtrmultientryadjustednamefmt + + \glsxtrmultientryadjustednameother + \Glsxtrmultientryadjustednameother + \GlsXtrmultientryadjustednameother + \GLSxtrmultientryadjustednameother + 1.47 (2021-11-04): * glossaries-extra.sty: diff --git a/macros/latex/contrib/glossaries-extra/README b/macros/latex/contrib/glossaries-extra/README index 948405acc1..5203fbbbbb 100644 --- a/macros/latex/contrib/glossaries-extra/README +++ b/macros/latex/contrib/glossaries-extra/README @@ -1,4 +1,4 @@ -LaTeX Package : glossaries-extra v1.47 (2021-11-04) +LaTeX Package : glossaries-extra v1.48 (2021-11-22) Author : Nicola Talbot https://www.dickimaw-books.com/contact diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf b/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf index 9d7f2242e6..bcdfc7ef18 100644 Binary files a/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf and b/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html index 54799bd40f..20c77bfc86 100644 --- a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html +++ b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html @@ -15,6 +15,7 @@

-

+

-

+

-

-

glossaries-extra.sty v1.47: an extension to the +

+

glossaries-extra.sty v1.48: an extension to the glossaries package

@@ -245,12 +250,12 @@ class="td11">http://www.dickimaw-books.com/
-

2021-11-04

+

2021-11-22

-

+

@@ -258,8 +263,7 @@ class="abstract"

Abstract -

-

The The glossaries-extra package is an extension to the glossaries package, providing additional features. Some of the features provided by this package are only available @@ -267,10 +271,10 @@ with glossaries version 4.19 (or above). This document assumes familiarity with the glossaries package. -

The file example-glossaries-xr.tex contains dummy entries with -cross-references that may be used for creating minimal working examples for testing -the

The file example-glossaries-xr.tex contains dummy entries with cross-references +that may be used for creating minimal working examples for testing the +glossaries-extra package. (The base glossaries package provides additional files, but this one needs .bib files for use with id="dx1-2">bib2gls. -

The glossaries-extra package uses a different set of defaults to the base glossaries package. See the Introduction for more details. -

+

-

Since

Since glossaries-extra internally loads the glossaries package, you also need to have How do I update my TeX distribution? or Updating TeX on Linux.)
-

-

Additional resources:

+

+

Additional resources:

+class="cmss-10">glossaries
package. @@ -374,7 +372,7 @@ href="#sec:pkgopts" id="QQ2-1-4">New or Modified Package Options
2 Modifications to Existing Commands and Styles
 2.1 Defining Entries +href="#sec:definingentries" id="QQ2-1-6">Defining Entries
 2.2 Entry Indexing
 2.3 Entry Counting Modifications
 2.6 First Use Flag
 2.7 Plurals +href="#sec:plurals" id="QQ2-1-12">Plurals
 2.8 Nested Links
 2.9 Acronym Style Modifications
 2.10 Glossaries +href="#sec:glossaries" id="QQ2-1-16">Glossaries
 2.11 Glossary Style Modifications
  2.11.1 Style Hooks
  2.11.2 Number List
  2.11.3 The glossaries-extra-stylemods Package +href="#sec:stylemods" id="QQ2-1-20">The glossaries-extra-stylemods Package
3 New Glossary Styles +href="#sec:newglossarystyles" id="QQ2-1-24">New Glossary Styles
 3.1 glossary-bookindex package +href="#sec:bookindex" id="QQ2-1-25">glossary-bookindex package
 3.2 glossary-longextra package +href="#sec:longextra" id="QQ2-1-26">glossary-longextra package
 3.3 glossary-topic package +href="#sec:topic" id="QQ2-1-27">glossary-topic package
4 Abbreviations
 4.1 Defining New Abbreviation Styles 5 Entries in Sectioning Titles, Headers, Captions and Contents
 5.1 Simplistic Approach +href="#sec:simplisticapproach" id="QQ2-1-38">Simplistic Approach

 5.2 New Commands Designed for Chapter/Section Headings +href="#sec:headingcommands" id="QQ2-1-39">New Commands Designed for Chapter/Section Headings
6 Categories +href="#sec:multientries" id="QQ2-1-40">Multi (or Compound) Entries +
 6.1 Examples + + + +
  6.1.1 Example: Hierarchical +
  6.1.2 Example: Suffix +
  6.1.3 Example: Category Suffix +
  6.1.4 Example: Separators +
  6.1.5 Example: Skipping Elements (Fragment Element) +
  6.1.6 Example: Skipping Elements (Prefix and Post-Link Hooks) +
 6.2 Main and Other Elements +
 6.3 Prefixes and Suffixes +
 6.4 Separators +
 6.5 mgls Element Hooks +
 6.6 Post-Link Hook +
  6.6.1 Last Element +
  6.6.2 Main Element +
 6.7 Multi-Entry First Use +
 6.8 Multi-Entry Category +
 6.9 Multi-Entry Settings +
  6.9.1 Indexing +
  6.9.2 Location Formats (Encaps) +
  6.9.3 Post-Link Hooks +
  6.9.4 Prefixes and Suffixes +
  6.9.5 Skipping Elements +
  6.9.6 General +
 6.10 mgls Options +
 6.11 Variants of mgls +
  6.11.1 gls-like +
  6.11.2 Abbreviations +
  6.11.3 Other Fields +
  6.11.4 Support for glossaries-prefix (pgls) +
 6.12 Cross-References +
 6.13 Additional Commands +
 6.14 bib2gls
7 Counting References - - - -
 7.1 Entry Counting (First Use Flag) -
 7.2 Link Counting +href="#sec:categories" id="QQ2-1-73">Categories
8 Auto-Indexing +href="#sec:countref" id="QQ2-1-74">Counting References +
 8.1 Entry Counting (First Use Flag) +
 8.2 Link Counting
9 bib2gls: Managing Reference Databases -
 9.1 Selection -
 9.2 Sorting and Displaying the Glossary -
 9.3 The glossaries-extra-bib2gls package -
  9.3.1 Supplemental Locations -
  9.3.2 Nameref Record -
  9.3.3 Helper Commands for Resource Options -
 9.4 Supplementary Commands -
 9.5 Record Counting +href="#sec:autoindex" id="QQ2-1-77">Auto-Indexing
10 Miscellaneous New Commands +href="#sec:bib2gls" id="QQ2-1-78">bib2gls: Managing Reference Databases
 10.1 Entry Fields +href="#sec:bib2glsselection" id="QQ2-1-79">Selection
 10.2 Display All Entries Without Sorting or Indexing -
  10.2.1 Hooks -
  10.2.2 Filtering +href="#sec:bib2glssortprint" id="QQ2-1-80">Sorting and Displaying the Glossary
 10.3 Partial Glossaries +href="#sec:bib2glssty" id="QQ2-1-81">The glossaries-extra-bib2gls package +
  10.3.1 Supplemental Locations +
  10.3.2 Nameref Record +
  10.3.3 Helper Commands for Resource Options
 10.4 Standalone Entry Items +href="#sec:bib2glssupplementarycommands" id="QQ2-1-85">Supplementary Commands
 10.5 Entry Aliases +href="#sec:recordcount" id="QQ2-1-86">Record Counting
11 On-the-Fly Document Definitions +href="#sec:miscnew" id="QQ2-1-87">Miscellaneous New Commands + + + +
 11.1 Entry Fields +
 11.2 Display All Entries Without Sorting or Indexing +
  11.2.1 Hooks +
  11.2.2 Filtering +
 11.3 Partial Glossaries +
 11.4 Standalone Entry Items +
 11.5 Entry Aliases
12 Supplemental Packages -
 12.1 Prefixes or Determiners -
 12.2 Accessibility Support +href="#sec:onthefly" id="QQ2-1-95">On-the-Fly Document Definitions
13 Sample Files +href="#sec:supplemental" id="QQ2-1-96">Supplemental Packages +
 13.1 Prefixes or Determiners +
 13.2 Accessibility Support
14 Multi-Lingual Support +href="#sec:samples" id="QQ2-1-99">Sample Files +
15 Multi-Lingual Support
Glossary
-

1.

1. Introduction

-

The

The glossaries package is a flexible package, but it’s also a heavy-weight package that uses a lot of resources. As package developer, I’m caught between those users who complain about the drawbacks of a heavy-weight package with a large user manual and those users who want more features (which necessarily adds to the package weight and manual size). -

The

The glossaries-extra package is an attempt to provide a compromise for this conflict. Version 4.22 of the glossaries package is the last version to incorporate new @@ -526,10 +587,10 @@ of package loading time and allocation of resources, but those users who do want extra features available will have more of a chance of getting their feature requests accepted.

-

Top

1.1 Package Defaults

-

I’m not happy with some of the default settings assumed by the

I’m not happy with some of the default settings assumed by the glossaries package, and, judging from code I’ve seen, other users also seem unhappy with them, as certain package options are often used in questions posted on various sites. I can’t @@ -539,10 +600,9 @@ but since glossaries-extra is a separate package, I have decided to implement some of these commonly-used options by default. You can switch them back if they’re not appropriate. -

The new defaults are:

+

The new defaults are:

-

The examples below illustrate the difference in explicit package options between +

The examples below illustrate the difference in explicit package options between glossaries and glossaries-extra. There may be other differences resulting from @@ -636,20 +691,18 @@ class="tcrm-1000">§2 Modifications to Existing Commands and Styles). -

+

    -
  1. -

    Basic defaults: +

  2. Basic defaults: -

          \documentclass{article}
          \usepackage{glossaries-extra}
     
    -

    This is like: +

    This is like: @@ -659,21 +712,19 @@ href="#sec:modifications">Modifications to Existing Commands and Styles

    +

  3. -
  4. -

    Language defaults: +

  5. Language defaults: -

          \documentclass[british]{article}
          \usepackage{babel}
          \usepackage{glossaries-extra}
     
    -

    This is like: +

    This is like: @@ -684,22 +735,20 @@ href="#sec:modifications">Modifications to Existing Commands and Styles

    +

  6. -
  7. -

    Combined with Combined with memoir -

          \documentclass{memoir}
          \usepackage{glossaries-extra}
     
    -

    This is like: +

    This is like: @@ -709,7 +758,7 @@ class="cmss-10">memoir -

    However @@ -720,7 +769,7 @@ class="cmti-10">However \usepackage{glossaries} \usepackage{glossaries-extra} -

    This is like: +

    This is like: @@ -730,21 +779,19 @@ class="cmti-10">However \usepackage[toc,nopostdot]{glossaries} \usepackage{glossaries-extra} -

    Since by the time

    Since by the time glossaries-extra has been loaded, glossaries has already redefined memoir’s glossary-related commands.

  8. -
  9. -

    Abbreviations are defined with Abbreviations are defined with \newabbreviation: -

          \usepackage{glossaries-extra}
          \newabbreviation{svm}{SVM}{support vector machine}
    @@ -752,7 +799,7 @@ class="cmtt-10">\newabbreviation:
          First use: \gls{svm}. Explicit full form: \glsxtrfull{svm}.
          \end{document}
     
    -

    This is the closest to: +

    This is the closest to: @@ -764,7 +811,7 @@ class="cmtt-10">\newabbreviation: First use: \gls{svm}. Explicit full form: \acrfull{svm}. \end{document} -

    If you want to continue using

    If you want to continue using \newacronym then you will need to change the style for the acronymacronym -

-

Another noticeable change is that by default

+

Another noticeable change is that by default \printglossary will now display information text in the document if the external glossary file doesn’t exist. This is explanatory text to help new users who can’t work out what to do next to complete the document build. Once the document is set up correctly and the external files have been generated, this text will disappear. -

This change is mostly likely to be noticed by users with one or more +

This change is mostly likely to be noticed by users with one or more redundant empty glossaries who ignore transcript messages, explicitly use -

The above document will only display the list of acronyms at the place where +

The above document will only display the list of acronyms at the place where \printglossaries occurs. However it will also attempt to input the .gls file associated with the main glossary. -

If you use

If you use makeglossaries, you’ll get the warning message: @@ -839,7 +886,7 @@ Have you used any entries defined in&# Remember to use package option 'nomain' if you don't want to use the main glossary. -

(where the original file is called

(where the original file is called test.tex) but if you simply call No file test.gls. -

This doesn’t occur with

This doesn’t occur with makeglossaries as it will create the .gls file containing the single command \null. -

If you simply change from

If you simply change from glossaries to glossaries-extra in this document, you’ll find a change in the resulting PDF if you don’t use .acr file with makeindex. -

The transcript file will still contain the message about the missing

The transcript file will still contain the message about the missing .gls, but now you’ll also see information in the actual PDF document. The simplest remedy is to follow the advice inserted into the document at that point, which is to add the @@ -897,7 +944,7 @@ emission of radiation} \printglossaries \end{document} -

(Note the need to set the acronym style using

(Note the need to set the acronym style using \setabbreviationstyle before \newacronym. See §4 Abbreviations for further details.) -

+

-

Top

1.2 New or Modified Package Options

-

If you haven’t already loaded

If you haven’t already loaded glossaries, you can use any of the package options provided by glossaries when you load \setupglossariesglossaries package options may be used in that command. -

This section only lists options that are either unrecognised by the

This section only lists options that are either unrecognised by the glossaries package or are a modified version of options of the same name provided by glossaries. See the glossaries user manual for details about the unmodified options.
-

-

The new and modified options provided by

+

The new and modified options provided by glossaries-extra are described below:

-

debug

-

The

The glossaries package has a debug option that allows the values false, @@ -963,7 +1008,7 @@ class="cmss-10">glossaries v4.32, so if you want to use this option with class="cmss-10">glossaries-extra you must make sure that your version of glossaries supports it. -

The

The glossaries-extra package extends this option to provide the additional values debug=all. -

The

The debug=showwrglossdebug=true and uses -



\glsxtrwrglossmark

-

+

to show a mark just before the write operation performed by the indexing commands. If you use makeindex or id="dx1-4012">xindy. -

The

The debug=alldebug=showwrgloss.

-

+showtargets

This implements debug=showtargets and can also adjust the way the + targets are shown. By default, any links that occur in TeX’s “outer” mode are + placed in the margin according to \glsshowtargetouter (provided by the base + glossaries package). This can lead to the “too many floats” error if there are + multiple instances of commands like \gls in a single line. This option + provides a way of changing this to an in-line annotation. Available + values: +
+ left
A marker is placed to the left of the link/target and a marginal note + is used in outer mode; +
+ right
A marker is placed to the right of the link/target and a marginal + note is used in outer mode; +
+ innerleft
A marker and annotation are placed to the left of the link/target + in all modes; +
+ innerright
A marker and annotation are placed to the right of the + link/target in all modes; +
+ annoteleft
Markers are placed on either side of the link/target and the + annotation is on the left; + + + +
+ annoteright
Markers are placed on either side of the link/target and the + annotation is on the right.
+
postdot

-

(New to version 1.12.) This option is just a shortcut for

(New to version 1.12.) This option is just a shortcut for nopostdot=false. -

-

+ id="dx1-4020">. +

postpunc

-

(New to version 1.21.) This option sets the post-description punctuation to the - given value. For example:

(New to version 1.21.) This option sets the post-description punctuation to + the given value. For example: postpunc=; does -

      \renewcommand{\glspostdescription}{;}
 
-

The value may also be one of the following keywords: +

The value may also be one of the following keywords:

-

comma:

-

:

postpunc=comma is equivalent to + id="dx1-4022"> is equivalent to -

          \renewcommand{\glspostdescription}{,}
 
-

+

-

dot:

-

:

postpunc=dot is equivalent to + id="dx1-4023"> is equivalent to -

          \renewcommand{\glspostdescription}{.\spacefactor\sfcode`\. }
 
-

+

-

none:

-

:

postpunc=none is equivalent to + id="dx1-4024"> is equivalent to -

          \renewcommand{\glspostdescription}{}
 
-

-

The default definition is +

+

The default definition is @@ -1118,30 +1202,30 @@ class="cmss-10">=none -

where the conditional is determined by the

where the conditional is determined by the nopostdot package option. + id="dx1-4025"> package option. The postpunc option removes the conditional from the definition of + id="dx1-4026"> option removes the conditional from the definition of \glspostdescription. The package options nopostdot and and postdot will restore + id="dx1-4028"> will restore the original definition of \glspostdescription. -

The

The glossaries-extra-stylemods package adjusts the predefined styles + id="dx1-4029"> package adjusts the predefined styles that had a hard-coded \space before the number list so that they use \glsxtrprelocation instead (which is defined to \space). You can therefore redefine this command in combination with postpunc to alter the separator + id="dx1-4031"> to alter the separator before the number list. For example, to have a comma followed by + id="dx1-4032">number list. For example, to have a comma followed by \hfil: @@ -1162,59 +1246,55 @@ class="cmtt-10">\hfil: \usepackage[postpunc=comma,stylemods]{glossaries-extra} \renewcommand{\glsxtrprelocation}{\hfil} -

Be careful with doing this as it will look odd if the

Be careful with doing this as it will look odd if the number list is missing. (With bib2gls you can instead redefine \glsxtrprelocation to do nothing and set the location prefixes with loc-prefix which will only apply if the entry has a number list.) + id="dx1-4035">number list.)

-

prefix

-

Load the

Load the glossaries-prefix package (if not already loaded). -

-

+ id="dx1-4037"> package (if not already loaded). +

accsupp

-

Load the

Load the glossaries-accsupp package (if not already loaded). -

The package (if not already loaded). +

The glossaries-accsupp package is still experimental and so accessibility features + id="dx1-4040"> package is still experimental and so accessibility features are liable to change.
-

-

If you want to define styles that can interface with the accessibility support +

+

If you want to define styles that can interface with the accessibility support provided by glossaries-accsupp use the use the \glsaccessxxx⟩ type of commands instead of \glsentryxxx⟩ (for example, \glsaccesstext instead of + id="dx1-4042"> instead of \glsentrytext). If ). If glossaries-accsupp hasn’t been loaded those commands are + id="dx1-4044"> hasn’t been loaded those commands are equivalent (for example, \glsaccesstext just does \glsentrytext) but if it @@ -1224,39 +1304,34 @@ class="cmitt-10">xxx⟩ commands will add the accessibility information. (See §12.2 13.2 Accessibility Support for further details.) -

Note that the

Note that the accsupp option can only be used as a package option (and can’t + id="dx1-4045"> option can only be used as a package option (and can’t be set with \glossariesextrasetup) since the ) since the glossaries-accsupp package must + id="dx1-4047"> package must be loaded before glossaries-extra if it’s required.

-

stylemods

- - - -

This is a ⟨

This is a ⟨key⟩=⟨value⟩ option used to load the glossaries-extra-stylemods package. - The value may be a comma-separated list of options to pass to that package. - (Remember to group ⟨value⟩ if it contains any commas.) The value may be - omitted if no options need to be passed. See + package. The value may be a comma-separated list of options to pass to that + package. (Remember to group ⟨value⟩ if it contains any commas.) The value may + be omitted if no options need to be passed. See §2.11 Glossary href="#styopt.stylemods">stylemods=default (equivalent to omitting the value) and (equivalent to omitting the value) and stylemods=all, which + id="dx1-4051">, which loads all the predefined styles. -

-

+

undefaction

-

This is a ⟨

This is a ⟨key⟩=⟨value⟩ option, which has two allowed values: warn and error. This - indicates what to do if an undefined glossary entry is referenced. The default - behaviour is warn and + + + + error. This indicates what to do if an undefined glossary entry is referenced. The + default behaviour is undefaction=error, which produces an error message (the default - for glossaries). You can switch this to a warning message (and ?? appearing in - the text) with , which produces an error message (the + default for glossaries). You can switch this to a warning message (and ?? + appearing in the text) with undefaction=warn. -

Undefined entries can’t be picked up by any commands that iterate + id="dx1-4054">. +

Undefined entries can’t be picked up by any commands that iterate over a glossary list. This includes \forglsentries and and \glsaddall. + id="dx1-4056">.
-

-

Note that

+

Note that \ifglsused will display ?? in the document text with will display ?? in the document text with undefaction=warn + id="dx1-4058"> if the entry hasn’t been defined, as the underlying boolean variable doesn’t exist and so is neither true nor false. (There will also be a warning in the transcript.) See 2.6 First Use Flag for further details.

-

indexcrossrefs

-

This is a boolean option. If

This is a boolean option. If true, this will automatically index any cross-referenced entries that haven’t been marked as used at the end of the document. Note that this necessarily adds to the overall document build time, @@ -1335,70 +1409,65 @@ class="cmss-10">true, this will automatically index any class="cmss-10">false, but it will be automatically switched on if you use the see or or seealso keys + id="dx1-4061"> keys in any entries (unless autoseeindex=false). To force it off, even if you + id="dx1-4062">). To force it off, even if you use the see or or seealso key, you need to explicitly set key, you need to explicitly set indexcrossrefs to + id="dx1-4065"> to false. -

Note that

Note that bib2gls can automatically find dependent entries when it parses the .bib source file. The record option automatically implements + id="dx1-4067"> option automatically implements indexcrossrefs=false. + id="dx1-4068">.

- - - -

autoseeindex

-

(New to v1.16.) This is a boolean option. If true (default), this makes the

(New to v1.16.) This is a boolean option. If true (default), this makes + the see - and and seealso keys automatically index the cross-reference when an entry is - defined. If false, the value of those keys will still be stored in their + id="dx1-4071"> keys automatically index the cross-reference when an entry + is defined. If false, the value of those keys will still be stored in their corresponding fields (and can be accessed using commands like \glsxtrusesee and \glsxtruseseealso) but cross-reference won’t be automatically indexed. -

Note that the

Note that the record=only option automatically implements option automatically implements autoseeindex=false. -

For example, if an entry is defined as + id="dx1-4073">. +

For example, if an entry is defined as @@ -1406,7 +1475,7 @@ class="cmss-10">=false \newglossaryentry{foo}{name={foo},description={},see={bar,baz}} -

then with

then with autoseeindex=true, this is equivalent to @@ -1418,7 +1487,7 @@ class="cmtt-10">autoseeindex=true, this is equivalent to \glossariesextrasetup{indexcrossrefs=true} \GlsXtrSetField{foo}{see}{bar,baz} -

but with

but with autoseeindex=false, this is equivalent to @@ -1428,19 +1497,19 @@ class="cmtt-10">autoseeindex=false, this is equivalent to \newglossaryentry{foo}{name={foo},description={}} \GlsXtrSetField{foo}{see}{bar,baz} -

Note that

Note that indexcrossrefs isn’t automatically implemented by the presence of the + id="dx1-4074"> isn’t automatically implemented by the presence of the see key when key when autoseeindex is false. -

It’s therefore possible to remove the cross-references from the location lists and + id="dx1-4076"> is false. +

It’s therefore possible to remove the cross-references from the location lists and set their position within the glossary style. -

Another method of preventing the automatic indexing is to define the entries +

Another method of preventing the automatic indexing is to define the entries before the external indexing files have been opened with \makeglossaries. Since the appropriate file isn’t open, the information can’t be written to it. @@ -1449,50 +1518,45 @@ class="cmss-10">seenoindex=ignore (provided by glossaries) to prevent an error occurring.

-

record

-

(New to v1.08.) This is a ⟨

(New to v1.08.) This is a ⟨key⟩=⟨value⟩ option provided for the benefit of value⟩ option provided for the benefit of + bib2gls - (see bib2gls (see §9 bib2gls: Managing Reference Databases). If you want to - use 10 bib2gls: Managing Reference Databases). If you + want to use bib2gls, the recommended setting is record=nameref if you have hyperlinks - and if you have + hyperlinks and record=only if you don’t have hyperlinks. -

The option may only be set in the preamble and can’t be used after + id="dx1-4081"> if you don’t have hyperlinks. +

The option may only be set in the preamble and can’t be used after \GlsXtrLoadResources. If the value is missing record=only is assumed. + id="dx1-4082"> is assumed. Permitted values:

-

off

-

This is the default setting. The indexing is performed as normal using +class="cmssbx-10">off

This is the default setting. The indexing is performed as normal using either \makeglossaries or \makenoidxglossaries. This setting @@ -1500,21 +1564,18 @@ class="cmtt-10">\makenoidxglossaries. This setting href="#styopt.undefaction">undefaction=error. -

-

+ id="dx1-4083">. +

only

-

The indexing (recording) is performed by only

The indexing (recording) is performed by + bib2gls (see §9 - bib2gls: Managing Reference Databases). +class="cmbx-10">10 bib2gls: Managing Reference Databases). Neither \makeglossaries nor \makenoidxglossaries is permitted. @@ -1522,21 +1583,18 @@ class="cmtt-10">\makenoidxglossaries is permitted. href="#styopt.undefaction">undefaction=warn and automatically loads + id="dx1-4085"> and automatically loads the supplementary glossaries-extra-bib2gls package. (There should be + id="dx1-4086"> package. (There should be no need to explicitly load glossaries-extra-bib2gls.) - - - -

The glossaries should be displayed using .) +

The glossaries should be displayed using \printunsrtglossary (or \printunsrtglossaries). -

The document build process is (assuming the file is called

The document build process is (assuming the file is called myDoc.tex): @@ -1547,11 +1605,11 @@ class="cmtt-10">myDoc.tex): bib2gls myDoc pdflatex myDoc -

If you want letter groups you will need the

If you want letter groups you will need the --group or -g switch when invoking bib2gls: @@ -1563,55 +1621,53 @@ class="cmtt-10">bib2gls: bib2gls -g myDoc pdflatex myDoc -

-

Note that

+

Note that record=only will prevent the will prevent the see from automatically + id="dx1-4090"> from automatically implementing \glssee. (bib2gls deals with the see field.) You + id="dx1-4092"> field.) You may explicitly use \glssee in the document, but bib2gls will ignore the cross-reference if the see field was already set for that + id="dx1-4094"> field was already set for that entry. -

The

The record=only option will automatically set the option will automatically set the glossaries package’s sort=none option if available. (That option value was only introduced to + id="dx1-4096"> option if available. (That option value was only introduced to glossaries v4.30.)

-

nameref

-

(New to v1.37 and requires nameref

(New to v1.37 and requires bib2gls v1.8+.) This option is like record=only but additionally records the current label information given by + id="dx1-4098"> but additionally records the current label information given by \@currentlabel and \@currentHref, and provides a more reliable way of @@ -1620,7 +1676,7 @@ class="cmtt-10">\theH⟨counter⟩ for the given location. This option requires hyperref otherwise it will fall back on the usual location records. + id="dx1-4099"> otherwise it will fall back on the usual location records. Remember that \@currentHref is always globally updated whenever \@currentlabel isn’t. This can cause some indexcounter option increments the associated counter every time an entry + id="dx1-4100"> option increments the associated counter every time an entry is indexed, which affects this option. See §9.3.2 10.3.2 Nameref Record for further details. -

This option is best used with

This option is best used with counter=chapter or or counter=section if you + id="dx1-4102"> if you want the title included in the location list. If the indexing counter is the default page, only the location number is shown. Similarly for + id="dx1-4103">, only the location number is shown. Similarly for counter=equation (or (or equations=true). + id="dx1-4105">).

-

alsoindex

-

Deprecated synonym of alsoindex

Deprecated synonym of hybrid. -

-

+

hybrid

-

This is a hybrid setting that uses bib2gls to fetch entry information from - - - - hybrid

This is a hybrid setting that uses bib2gls to fetch entry information + from .bib files, but uses makeindex or xindy to create the glossary files (which - are input with xindy to create the glossary files + (which are input with \printglossary). Note that this requires a slower and - more complicated build process (see below). -

This hybrid approach is provided for the rare instances where an existing + id="dx1-4109">). Note that this requires a slower + and more complicated build process (see below). +

This hybrid approach is provided for the rare instances where an existing xindy rule or module is too complicated to convert to a bib2gls rule but + id="dx1-4110">xindy rule or module is too complicated to convert to a bib2gls rule but the entries need to be fetched from a bib file. There’s no benefit in using + id="dx1-4112"> file. There’s no benefit in using this option with makeindex. -

Since it’s redundant to make makeindex. + + + +

Since it’s redundant to make bib2gls also sort, use sort=none in \GlsXtrLoadResources for a faster build.
-

-

This option must be used with

+

This option must be used with \makeglossaries but not with its optional + id="dx1-4115"> but not with its optional argument. This option should not be used with \makenoidxglossaries. You may need to change the transcript file used by bib2gls to avoid a + id="dx1-4116">bib2gls to avoid a clash with the transcript file used by makeindex or xindy. (This can be + id="dx1-4117">makeindex or xindy. (This can be done with bib2gls’s --log-file or -t option.) -

Each glossary should be displayed using

Each glossary should be displayed using \printglossary (or \printglossaries for all of them). This option is expected to be used with bib2gls’s sort=none setting and so glossaries-extra-bib2gls is not + id="dx1-4121"> is not automatically loaded. -

The document build process is (assuming the file is called

The document build process is (assuming the file is called myDoc.tex): @@ -1753,37 +1805,37 @@ class="cmtt-10">myDoc.tex): makeglossaries myDoc pdflatex myDoc -

Note that, in this case, it’s redundant to call

Note that, in this case, it’s redundant to call bib2gls with the --group or -g switch as makeindex/xindy will insert the group heading information into the corresponding glossary file. (If you want bib2gls to form the letter groups then this hybrid method is inappropriate.)

-

With the recording on (

With the recording on (record=only, , record=nameref or or record=hybrid), any of + id="dx1-4128">), any of the commands that would typically index the entry (such as \gls, \glstext or @@ -1791,79 +1843,71 @@ class="cmtt-10">\glstext or class="cmtt-10">\glsadd) will add a \glsxtr@record entry to the .aux file. bib2gls can then read these lines to find out which entries have been used. (Remember that commands like \glsentryname don’t index, so any use of these commands won’t add a corresponding \glsxtr@record entry to the .aux file.) See - .aux file.) + See §9 bib2gls: Managing Reference Databases for further +class="cmbx-10">10 bib2gls: Managing Reference Databases for further details. -

The hybrid method additionally performs the standard indexing action that’s +

The hybrid method additionally performs the standard indexing action that’s required for makeindex or xindy to work.

-

equations

-

(New to v1.37.) This option will cause the default location counter to + id="dx1-4132">

(New to v1.37.) This option will cause the default location counter to automatically switch to equation when inside a numbered equation + id="dx1-4133"> when inside a numbered equation environment, such as equation or or align. The counter can be explicitly overridden + id="dx1-4136">. The counter can be explicitly overridden with counter in the optional arguments of commands like in the optional arguments of commands like \glslink or \gls as usual. -

-

+

floats

-

(New to v1.37.) This option will cause the default location counter to + id="dx1-4139">

(New to v1.37.) This option will cause the default location counter to automatically switch to the corresponding counter when inside a floating environment, such as figure or or table. The counter can be explicitly overridden + id="dx1-4142">. The counter can be explicitly overridden with counter in the optional arguments of commands like in the optional arguments of commands like \glslink or \gls as usual. Remember that within floats it’s the \caption command that actually uses \refstepcounter, so indexing before the caption will result in the wrong - - - reference. The commands for use in captions and sections, such as \glsfmttext and \glsadd after the caption (not before). For -

      \begin{figure}[htbp]
        \centering
@@ -1888,29 +1931,27 @@ class="cmtt-10">\glsadd after the caption (not before). For
        \glsadd{foobar}
      \end{figure}
 
-

+

-

indexcounter

-

(New to v1.29.) This option (which doesn’t take a value) is primarily + id="dx1-4145">

(New to v1.29.) This option (which doesn’t take a value) is primarily intended for use with bib2gls (v1.4+) and hyperref. It can be used + id="dx1-4147">. It can be used with makeindex or xindy but it will interfere with the number list collation, so you won’t have ranges and you’ll have duplicate page numbers present (but each page number will link to the relevant part of the page @@ -1919,26 +1960,26 @@ href="#glo:numberlist">number list href="#styopt.counter">counter=wrglossary. -

This option works by incrementing . +

This option works by incrementing wrglossary and adding and adding \label. This can + id="dx1-4153">. This can cause a problem if the indexing occurs in an equation environment as environment as amsmath + id="dx1-4156"> forbids multiple occurrences of \label (resulting in the “Multiple \label’s” error). It’s best to change the counter to page or or equation when in maths mode + id="dx1-4158"> when in maths mode with this option. For example: @@ -1950,22 +1991,22 @@ class="cmss-10">equation -

-

-

By default (with

+

+

By default (with hyperref), the page numbers in ), the page numbers in number lists link back to the top of the relevant page (provided the format uses \glshypernumber). The indexcounter option is designed to link back to the place within the page where + id="dx1-4161"> option is designed to link back to the place within the page where the indexing occurred. It does this by creating a new counter (called wrglossary) + id="dx1-4162">) that’s incremented with \refstepcounter every time an entry is indexed (but not via cross-referencing commands, such as \label is placed class="cmtt-10">\pageref. The location, as seen by the indexing application, is the value of the wrglossary counter but this value is substituted with the page + id="dx1-4163"> counter but this value is substituted with the page reference when number list is typeset. Since the counter is used by all + id="dx1-4164">number list is typeset. Since the counter is used by all entries and is incremented every time any indexing occurs, neither makeindex nor xindy can correctly collate the lists. For example, if the first term to be referenced is indexed three times on page 5 without any intervening terms then the actual locations obtained from wrglossary + id="dx1-4167"> will be 1, 2 and 3, which xindy and makeindex will try to form into the range 1–3, but they should actually all simply appear as page 5, whereas it can actually end up with 5–5. Conversely, a range may not be formed where it would naturally occur if just the page counter was + id="dx1-4170"> counter was used. -

Since

Since bib2gls is designed specifically to work with glossaries-extra, bib2gls (v1.4+) will check for wrglossary locations. If the default + id="dx1-4173"> locations. If the default --merge-wrglossary-records is on, then any records for the same page for a given entry will be merged. In the above example with three references on page 5, only a single record for page 5 for that entry will be added to the number list and it will link back to the first instance on + id="dx1-4174">number list and it will link back to the first instance on that page. Whereas if you use the --no-merge-wrglossary-records switch, the number list will contain three instance of page 5, with + id="dx1-4175">number list will contain three instance of page 5, with each linking to the corresponding place on that page. In both cases, consecutive pages can form ranges, but it may look strange in the second case. -

See the

See the bib2gls documentation for the save-index-counter resource option for more details. @@ -2034,170 +2075,182 @@ class="cmtt-10">save-index-counter resource option

-

docdef

-

This option governs the use of \newglossaryentry. It was originally a boolean - option, but as from version 1.06, it can now take one of the following values (if - the value is omitted, true is assumed):

+ id="dx1-4177">
This option governs the use of \newglossaryentry. It was originally a + boolean option, but as from version 1.06, it can now take one of the following + values (if the value is omitted, true is assumed):
    -
  • -

    docdef=false: \newglossaryentry is not permitted in the document environment - (default). -

  • -
  • -

    \newglossaryentry behaves as it does in the base glossaries package. - That is, where its use is permitted in the is not permitted in the document environment, it - uses the .glsdefs temporary file to store the entry definitions so - that on the next LaTeX run the entries are defined at the beginning - of the + environment (default). +

  • +
  • docdef=true: \newglossaryentry behaves as it does in the base + glossaries package. That is, where its use is permitted in the document environment. This allows the entry information - to be referenced in the glossary, even if the glossary occurs before + id="dx1-4183"> + environment, it uses the .glsdefs temporary file to store the entry + definitions so that on the next LaTeX run the entries are defined at + the beginning of the document environment. This allows the entry + information to be referenced in the glossary, even if the glossary + occurs before \newglossaryentry. (For example, when the glossary + is displayed in the front matter.) This method of saving the definitions + for the next LaTeX run has drawbacks that are detailed in the \newglossaryentry. (For example, when the glossary is displayed - in the front matter.) This method of saving the definitions for the - next LaTeX run has drawbacks that are detailed in the glossaries - user manual. -

    Remember that if glossaries user manual. +

    Remember that if \newglossaryentry wouldn’t be allowed in the document environment with the base environment with the base glossaries package, then it still won’t be allowed with docdefs=true. If your glossaries occur at the + id="dx1-4189">. If your glossaries occur at the end of the document, consider using docdef=restricted instead. + id="dx1-4190"> instead.

  • -
  • -

    (new to version 1.06) docdef=restricted: (new to version 1.06) \newglossaryentry is permitted in the - is + permitted in the document environment without using the .glsdefs file. This means - that all entries must be defined before the glossary is displayed, but - it avoids the complications associated with saving the entry details - in a temporary file. You will still need to take care about any changes - made to characters that are required by the ⟨ environment without using the .glsdefs + file. This means that all entries must be defined before the glossary + is displayed, but it avoids the complications associated with saving + the entry details in a temporary file. You will still need to take + care about any changes made to characters that are required by + the ⟨key⟩=⟨value⟩ mechanism - (that is, the comma and equal sign) and any value⟩ mechanism (that is, the comma and equal sign) and + any makeindex or xindy - character that occurs in the xindy character that occurs in the sort key or label. If any of those characters - are made active in the document, then it can cause problems with - the entry definition. This option will allow \newglossaryentry to - be used in the document with \makenoidxglossaries, but note that + id="dx1-4197"> key or + label. If any of those characters are made active in the document, + then it can cause problems with the entry definition. This option + will allow \newglossaryentry to be used in the document with \longnewglossaryentry remains a preamble-only command. -

    With this option, if an entry appears in the glossary before it has been +class="cmtt-10">\makenoidxglossaries, but note that \longnewglossaryentry + remains a preamble-only command. +

    With this option, if an entry appears in the glossary before it has been defined, an error will occur (or a warning if the undefaction=warn + id="dx1-4198"> option is used.) If you edit your document and either remove an entry - - - or change its label, you may need to delete the document’s temporary files (such as the .aux and .gls files).

  • -
  • -

    (new to version 1.34) This option behaves like docdef=atom: (new to version 1.34) This option behaves like + + + + docdef=restricted but - creates the .glsdefs file for atom’s autocomplete support. This file - isn’t input by glossaries-extra and so associated problems with the - use of this file are avoided, but it allows the autocomplete support - to find the labels in the file. As with but creates the .glsdefs file for atom’s + autocomplete support. This file isn’t input by glossaries-extra and + so associated problems with the use of this file are avoided, but it + allows the autocomplete support to find the labels in the file. As + with docdef=restricted, entries may - be defined in the preamble or anywhere in the document, but they - may only be referenced after they have been defined. Entries must - be defined before the associated glossary is displayed. -

    If you need a list of all entry labels for the use of an editor or helper + id="dx1-4201">, entries may be defined in the preamble or + anywhere in the document, but they may only be referenced after + they have been defined. Entries must be defined before the associated + glossary is displayed. +

    If you need a list of all entry labels for the use of an editor or helper script you may also want to consider the package options writeglslabels + id="dx1-4202"> and writeglslabelnames provided by the base provided by the base glossaries package. Note + id="dx1-4204"> package. Note that with these options and docdef=atom, only the entry labels visible + id="dx1-4205">, only the entry labels visible to LaTeX can be saved. So if you are using bib2gls you will only get the labels of the entries that are selected by bib2gls.

-

The

The glossaries package allows \newglossaryentry within the document + id="dx1-4208"> environment (when used with makeindex or xindy) but the user manual warns against this usage. By default the prohibits this, only allowing definitions within the preamble. If you are really determined to define entries in the document environment, despite all the associated drawbacks, you + id="dx1-4212"> environment, despite all the associated drawbacks, you can restore this with docdef=true. Note that this doesn’t change the + id="dx1-4214">. Note that this doesn’t change the prohibitions that the glossaries package has in certain circumstances (for example, when using “option 1”). See the glossaries user manual for href="#styopt.docdef">docdef=restricted. Only use . Only use docdef=true if document definitions + id="dx1-4216"> if document definitions are necessary and one or more of the glossaries occurs in the front matter. -

This option affects commands that internally use

This option affects commands that internally use \newglossaryentry, such as \newabbreviation, but not the “on-the-fly” commands described in §11 12 On-the-Fly Document Definitions.

-

nomissingglstext

-

This is a boolean option. If true, this will suppress the warning written to the - transcript and the warning text that will appear in the document if the - external glossary files haven’t been generated due to an incomplete document - build. However, it’s probably simpler just to fix whatever has caused the failure - to build the external file or files. - - - -

-

+ id="dx1-4217">

This is a boolean option. If true, this will suppress the + warning written to the transcript and the warning text that will appear + in the document if the external glossary files haven’t been generated + due to an incomplete document build. However, it’s probably simpler + just to fix whatever has caused the failure to build the external file or + files. +
abbreviations

-

This option has no value and can’t be cancelled. If used, it will automatically - create a new glossary with the label abbreviations and redefines -

This option has no value and can’t be cancelled. If used, it will + automatically create a new glossary with the label abbreviations and + redefines \glsxtrabbrvtype to this label. (The file extensions are glg-abr, + id="dx1-4219">, gls-abr and and glo-abr.) In addition, this option defines a shortcut + id="dx1-4221">.) In addition, this option defines a shortcut + + + command -



\printabbreviations[options]

-

+

which is equivalent to

]
If glossaries-extra-bib2gls is also loaded then this option will additionally + id="dx1-4223"> is also loaded then this option will additionally provide: -



\printunsrtabbreviations[options]

-

+

which uses \printunsrtglossary. -

The title of the new glossary is given by -


. +

The title of the new glossary is given by +


\abbreviationsname

-

+

If this command is already defined, it’s left unchanged. Otherwise it’s defined to “Abbreviations” if babel hasn’t been loaded or hasn’t been loaded or \acronymname if babel has + id="dx1-4228"> has been loaded. However, if you’re using babel it’s likely you will need + id="dx1-4229"> it’s likely you will need to change this. (See §14 15 Multi-Lingual Support for further details.) -

If you don’t use the

If you don’t use the abbreviations package option, the package option, the \abbreviationsname command won’t be defined (unless it’s defined by an included language file).
-

-

If the

+

If the abbreviations option is used and the option is used and the acronym option provided by the + id="dx1-4232"> option provided by the glossaries package hasn’t been used, then \acronymtype will be set to + id="dx1-4233"> will be set to \glsxtrabbrvtype so that acronyms defined with so that acronyms defined with \newacronym can be added + id="dx1-4235"> can be added to the list of abbreviations. If you want acronyms in the main glossary and other abbreviations in the main:

      \renewcommand*{\acronymtype}{main}
 
-

-

Note that there are no analogous options to the

+

Note that there are no analogous options to the glossaries package’s acronymlists + id="dx1-4236"> option (or associated commands) as the abbreviation mechanism is handled differently with glossaries-extra.

-

symbols

-

This is passed to

This is passed to glossaries but will additionally define -



\glsxtrnewsymbol[options]{label}{symbol}

-

+

which is equivalent to

}
Note that the sort key is set to the ⟨ key is set to the ⟨label⟩ not the ⟨symbol⟩ as the symbol will likely contain commands. -

If

If glossaries-extra-bib2gls is also loaded then this option will additionally + id="dx1-4240"> is also loaded then this option will additionally provide: -



\printunsrtsymbols[options]

-

+

which uses \printunsrtglossary. + id="dx1-4242">.

-

numbers

-

This is passed to

This is passed to glossaries but will additionally define -



\glsxtrnewnumber[options]{number}

-

+

which is equivalent to

- - -
\newglossaryentry{label},type=numbers,category=number,options} + + +
-

If

If glossaries-extra-bib2gls is also loaded then this option will additionally + id="dx1-4245"> is also loaded then this option will additionally provide: -



\printunsrtnumbers[options]

-

+

which uses \printunsrtglossary. + id="dx1-4247">.

-

acronyms (or acronym)

-

This is passed to )

This is passed to glossaries but if glossaries-extra-bib2gls is also loaded then this - option will additionally provide: -


is + also loaded then this option will additionally provide: +


\printunsrtacronyms[options]

-

+

which uses \printunsrtglossary. -

This option defines a new glossary with the label . +

This option defines a new glossary with the label acronym not acronyms. You may find it easier to reference it with the command \acronymtype. + id="dx1-4253">.
-

+

-

index

-

This is passed to

This is passed to glossaries but if glossaries-extra-bib2gls is also loaded then this + id="dx1-4255"> is also loaded then this option will additionally provide: -



\printunsrtindex[options]

-

+

which uses \printunsrtglossary. + id="dx1-4257">.

-

shortcuts

-

Unlike the glossaries package option of the same name, this option isn’t boolean - but has multiple values:

- - - + id="dx1-4258">
Unlike the glossaries package option of the same name, this option isn’t + boolean but has multiple values:
    -
  • -

    shortcuts=acronyms (or (or shortcuts=acro): set the shortcuts provided + id="dx1-4260">): set the shortcuts provided by the glossaries package for acronyms (such as \ac). Note that the @@ -2567,14 +2603,13 @@ class="cmss-10">glossaries-extra href="#styopt.shortcuts">shortcuts=ac. -

  • -
  • -

    . +

  • +
  • shortcuts=ac: set the shortcuts provided by the : set the shortcuts provided by the glossaries package for acronyms (such as \ac) but uses the \ac is defined as \cgls rather than \gls. -

  • -
  • -

    +

  • shortcuts=abbreviations (or (or shortcuts=abbr): set the abbreviation + id="dx1-4264">): set the abbreviation shortcuts provided by glossaries-extra. (See 4.3 href="#sec:abbrshortcuts">Shortcut Commands.) These settings don’t switch on the acronym shortcuts provided by the glossaries package. -

  • -
  • -

    +

  • shortcuts=other: set the “other” shortcut commands, but not the shortcut + id="dx1-4265">: set the “other” shortcut commands, but not the shortcut commands for abbreviations or the acronym shortcuts provided by glossaries. The “other” shortcuts are:

    +class="cmss-10">glossaries. The “other” shortcuts are:
      -
    • -

      \newentry equivalent to equivalent to \newglossaryentry -

    • -
    • -

      +

    • +
    • \newsym equivalent to equivalent to \glsxtrnewsymbol (see the (see the symbols + id="dx1-4270"> option). -

    • -
    • -

      +

    • \newnum equivalent to equivalent to \glsxtrnewnumber (see the (see the numbers - option).

    + id="dx1-4273"> + option).
-
  • -

    shortcuts=all (or (or shortcuts=true): implements ): implements shortcuts=ac, + id="dx1-4276">, shortcuts=abbreviations and and shortcuts=other. -

  • -
  • -

    . +

  • +
  • shortcuts=none (or (or shortcuts=false): don’t define any of the shortcut - commands (default).

  • - - - -

    Note that multiple invocations of the ): don’t define any of the shortcut + commands (default). + +

    Note that multiple invocations of the shortcuts option option within the same option list will override each other.

    -

    After the list will override each other. +

    + +

    After the glossaries-extra package has been loaded, you can set available options using -



    \glossariesextrasetup{options}

    -

    +

    The abbreviations and and docdef options may only be used in the preamble. Additionally, + id="dx1-4284"> options may only be used in the preamble. Additionally, docdef can’t be used after can’t be used after \makenoidxglossaries. + id="dx1-4286">.

    -

    -

    +

    Top

    2. Modifications to Existing Commands and Styles

    -

    Top

    2.1 Defining Entries

    -

    The Defining Entries

    +

    The glossaries package provides \nopostdesc which may be used in the descriptionglossaries-extra package provides another command -



    \glsxtrnopostpunc

    -

    +

    which has a similar function but only suppresses the post-description punctuation. It doesn’t suppress the use of \glsxtrpostdescription which allows the use of @@ -2749,10 +2780,10 @@ class="cmtt-10">\glsxtrpostdescription not before.) The post-description hook can counter-act the effect of \glsxtrnopostpunc using -



    \glsxtrrestorepostpunc

    -

    +

    These commands have no effect outside of the glossary (except with standalone entries that use \glsxtractivatenopost and \glspostdescription, see §10.4 11.4 Standalone Entry Items). -

    The commands used by

    The commands used by glossaries to automatically produce an error if an entry is undefined (such as \glsdoifexistsundefaction option into account. -

    The

    The \newglossaryentry command has three new keys:

    - - - -

    This apply to all entry defining commands (such as for further details. +

    This apply to all entry defining commands (such as \newabbreviation). -

    The test file

    The test file example-glossaries-xr.tex contains dummy entries with a mixture of seeexample-glossaries-*.tex file for testing bib2gls. -

    The

    The \longnewglossaryentry command now has a starred version (as from v1.12) that doesn’t automatically insert @@ -2839,8 +2867,8 @@ that doesn’t automatically insert

     \leavevmode\unskip\nopostdesc
     
    -

    at the end of the description field. -


    at the end of the description field. +


    \longnewglossaryentry*{labeloptions}{description}

    -

    +

    The descriptionplural key is left unset unless explicitly set in ⟨options⟩. -

    The unstarred version no longer hard-codes the above code (which removes +

    The unstarred version no longer hard-codes the above code (which removes trailing space and suppresses the post-description hook) but instead uses: -



    \glsxtrpostlongdescription

    -

    +

    This can be redefined to allow the post-description hook to work but retain the \unskip part if required. For example: @@ -2870,9 +2898,9 @@ class="cmtt-10">\unskip part if required. For example:

     \renewcommand*{\glsxtrpostlongdescription}{\leavevmode\unskip}
     
    -

    This will discarded unwanted trailing space at the end of the description but won’t +

    This will discarded unwanted trailing space at the end of the description but won’t suppress the post-description hook. -

    The unstarred version also alters the base

    The unstarred version also alters the base glossaries package’s treatment of the 2.1 -

    Note that this modified unstarred version doesn’t append

    Note that this modified unstarred version doesn’t append \glsxtrpostlongdescription to the description’s plural form. -

    The

    The \newterm command (defined through the §4 Abbreviations.) -

    The

    The \makeglossaries command now has an optional argument. -



    \makeglossaries[list]

    -

    +

    If ⟨list⟩ is empty, \makeglossaries behaves as per its original definition in the @@ -2927,7 +2955,7 @@ class="cmtt-10">\makeglossaries behaves as per its original definition in class="cmss-10">glossaries package, otherwise ⟨list⟩ can be a comma-separated list of glossaries that need processing with an external indexing application. -

    This command is not permitted with the

    This command is not permitted with the record=onlyrecord=off. -

    It should then be possible to use

    It should then be possible to use \printglossary for those glossaries listed in ⟨list⟩ and \printnoidxglossary for the other glossaries. (See the accompanying file sample-mixedsort.tex for an example.) -

    If you use the optional argument ⟨

    If you use the optional argument ⟨list⟩, you can’t define entries in the document (even with the docdef option).
    -

    -

    You will need at least version 2.20 of

    +

    You will need at least version 2.20 of makeglossaries or at least version 1.3 of @@ -2974,25 +3002,25 @@ href="#styopt.automake">automake option. -

    +

    -

    Top

    2.2 Entry Indexing

    -

    As from version 1.31, there is a new command like

    As from version 1.31, there is a new command like \glsadd where the mandatory argument is a comma-separated list of labels: -



    \glsaddeach[options]{list}

    -

    +

    This simply iterates over ⟨list⟩ and does \glsadd[]{label} for each entry in the list. -

    As from version 1.37, you can make commands like

    As from version 1.37, you can make commands like \gls or \glslink automatically use } in the optional argument of the corresponding \gls, \glslink etc). -



    \GlsXtrAutoAddOnFormat[label}{glsadd options}

    -

    +

    The optional argument ⟨label⟩ defaults to \glslabel and indicates the label to use in @@ -3038,7 +3066,7 @@ class="cmtt-10">format={⟨format} prepended to the list. -

    For example, with: +

    For example, with: @@ -3046,7 +3074,7 @@ list.

     \GlsXtrAutoAddOnFormat{hyperbf}{counter=chapter}
     
    -

    then

    then \gls[format=hyperbf]{sample} will be equivalent to @@ -3055,11 +3083,11 @@ class="cmtt-10">\gls[format=hyperbf]{sample} will be equiva

     \glsadd[format=hyperbf,counter=chapter]{sample}\gls[format=hyperbf]{sample}
     
    -

    Note that the explicit range markers will prevent a match unless you include +

    Note that the explicit range markers will prevent a match unless you include them in ⟨format list⟩ (in which case, be sure to add both the start and end formats). -

    Here’s another example: +

    Here’s another example: @@ -3067,7 +3095,7 @@ formats).

     \GlsXtrAutoAddOnFormat[dual.\glslabel]{hyperbf}{}
     
    -

    In this case

    In this case \gls[format=hyperbf]{sample} will now be equivalent to: @@ -3076,25 +3104,23 @@ class="cmtt-10">\gls[format=hyperbf]{sample} will now be eq

     \glsadd[format=hyperbf]{dual.sample}\gls[format=hyperbf]{sample}
     
    -

    -

    +

    \GlsXtrAutoAddOnFormat is not applied to \glsadd as it could cause an infinite loop.
    -

    -

    The

    +

    The glossaries-extra package provides extra keys for commands like \gls and \glstext:

    -

    noindex

    -

    This is a boolean key. If true, this suppresses the indexing. (That is, it - prevents

    This is a boolean key. If true, this suppresses the indexing. (That is, + it prevents \gls or whatever from adding a line to the external glossary file.) This is more useful than the indexonlyfirst attribute, see §6 7 Categories for further details.) Note that the noindex\glsadd\glsaddall) since the whole purpose of that command is to index an entry. -

    -

    +

    wrgloss

    -

    (New to v1.14.) This is may only take the values

    (New to v1.14.) This is may only take the values before or after. By default, - commands that both index and display link text (such as \gls, \glstext - and \glslink), perform the indexing before the link text as the indexing - creates a whatsit that can cause problems if it occurs after the link text. - However, it may be that in some cases (such as long phrases) you may - actually want the indexing performed after the link text. In this case you - can use wrgloss=after for specific instances. Note that this option doesn’t - have an effect if the indexing has been suppressed through other settings - (such as after. By + default, commands that both index and display link text (such as \gls, + \glstext and \glslink), perform the indexing before the link text as the + indexing creates a whatsit that can cause problems if it occurs after the + link text. However, it may be that in some cases (such as long phrases) you + may actually want the indexing performed after the link text. In this case + you can use wrgloss=after for specific instances. Note that this option + doesn’t have an effect if the indexing has been suppressed through other + settings (such as noindex). -

    The default value is set up using -


    The default value is set up using +


    \glsxtrinitwrgloss

    -

    +

    which is defined as: @@ -3169,13 +3193,13 @@ class="cmtt-10">\glsxtrinitwrgloss


     }% } -

    This sets the conditional -


    This sets the conditional +


    \ifglsxtrinitwrgloss

    -

    +

    which is used to determine where to perform the indexing. -

    This means you can set the

    This means you can set the wrgloss attribute to \GlsXtrSetDefaultGlsOpts\glsxtrinitwrgloss.)

    -

    hyperoutside

    -

    (New to v1.21.) This is a boolean key. The default is

    (New to v1.21.) This is a boolean key. The default is hyperoutside=true, which puts the hyperlink outside \glstextformat, so that commands like \gls - will effectively do

    -

    textformat

    -

    This key must have a control sequence name as its value. The command formed - from this name must exist and must take one argument. (Use

    This key must have a control sequence name as its value. The command + formed from this name must exist and must take one argument. (Use relax for default behaviour.) If set, this overrides the §2.6 First Use Flag. -

    -

    +

    prefix

    -

    Locally redefines

    Locally redefines \glolinkprefix to the given value. It should match the prefix for the desired glossary. -

    -

    +

    thevalue

    -

    Explicitly set the location to this value (see below). -

    -

    + id="dx1-7027">

    Explicitly set the location to this value (see below). +
    theHvalue

    -

    Set the corresponding hyperlink location (see below). -

    + id="dx1-7028">
    Set the corresponding hyperlink location (see below).
    -

    You can set the default options used by

    You can set the default options used by \glslink, \gls etc with: -



    \GlsXtrSetDefaultGlsOpts{options}

    -

    +

    For example, if you mostly don’t want to index entries then you can do: @@ -3348,7 +3358,7 @@ For example, if you mostly don’t want to index entries then you can do:

     \GlsXtrSetDefaultGlsOpts{noindex}
     
    -

    and then use, for example,

    and then use, for example, \gls[noindex=false]{sample} when you actually want the location added to the \glslink and \gls. -

    Note that if you don’t want

    Note that if you don’t want any indexing, just omit \makeglossaries and wrgloss\glsxtrinitwrgloss instead. -

    \GlsXtrSetDefaultGlsOpts doesn’t affect \glsadd.
    -

    -

    If you want to change the default value of

    +

    If you want to change the default value of format, you can instead use: -



    \GlsXtrSetDefaultNumberFormat{format}

    -

    +

    This has the advantage of also working for \glsadd. For example, if you want all locations in the back matter to appear in italic (unless explicitly @@ -3392,8 +3402,8 @@ overridden): \backmatter \GlsXtrSetDefaultNumberFormat{hyperit} -

    -

    Commands like

    +

    Commands like \gls have star (*) and plus (hyper=false and hyper=true. The glossaries-extra package provides a way to add a third modifier, if required, using -



    \GlsXtrSetAltModifier{char}{options}

    -

    +

    where ⟨char⟩ is the character used as the modifier and ⟨options⟩ is the default set of options (which may be overridden). Note that ⟨char⟩ must be a single character (not a UTF-8 character, unless you are using XƎLATEX or LuaLATEX). -

    When choosing the character ⟨

    When choosing the character ⟨char⟩ take care of any changes in category code.
    -

    -

    Example: +

    +

    Example: @@ -3429,7 +3439,7 @@ class="cmti-10">char⟩ take care of any changes in category code.

     \GlsXtrSetAltModifier{!}{noindex}
     
    -

    This means that

    This means that \gls!{sample} will be equivalent to \gls[noindex]{sample}. It’s not possible to mix modifiers. For example, if you want to do @@ -3440,48 +3450,48 @@ not possible to mix modifiers. For example, if you want to do

     \gls[noindex,hyper=false]{sample}
     
    -

    you can use

    you can use \gls*[noindex]{sample} or \gls![hyper=false]{sample} but you can’t combine the * and ! modifiers. -

    There is a new hook that’s used each time indexing information is written to the +

    There is a new hook that’s used each time indexing information is written to the external glossary files: -



    \glsxtrdowrglossaryhook{label}

    -

    +

    where ⟨label⟩ is the entry’s label. This does nothing by default but may be redefined. (See, for example, the accompanying sample file sample-indexhook.tex, which uses this hook to determine which entries haven’t been indexed.) -

    There’s also a new hook (from v1.26) that’s used immediately before the options +

    There’s also a new hook (from v1.26) that’s used immediately before the options are set by the \gls-like and \glstext-like commands: -



    \glslinkpresetkeys

    -

    +

    (The base package provides \glslinkpostsetkeys that’s used immediately after the options are set.) -

    As from version 1.30 there are also similar hooks for

    As from version 1.30 there are also similar hooks for \glsadd: -



    \glsaddpresetkeys

    -

    +

    and -



    \glsaddpostsetkeys

    -

    +

    For example, to default to using the equation counter in maths mode: @@ -3495,7 +3505,7 @@ class="cmss-10">equation -

    In this case, the counter can be overridden with an explicit use of

    In this case, the counter can be overridden with an explicit use of counter in the optional argument of equations package option.) -

    Alternatively, to enforce this (overriding the option argument): +

    Alternatively, to enforce this (overriding the option argument): @@ -3516,8 +3526,8 @@ class="cmss-10">equations -

    -

    As from version 1.14, there are two new keys for

    +

    As from version 1.14, there are two new keys for \glsadd: thevalue and thevalue keys is intended primarily for adding locations in supplementary material that can’t be obtained from a counter. -

    The principle key

    The principle key thevalue is for the location value. The other key theHvalueprefix⟩⟨location⟩. In general, there’s little need for this key as the prefix is typically associated with a counter that can be used to form hypertargets. -

    If you use

    If you use thevalue, you must make sure that you use an indexing application that will accept the given value.
    -

    -

    For example,

    +

    For example, makeindex will only accept locations in the form [⟨num⟩⟨ \glsadd[thevalue={Supplementary Material}]{sample} -

    This location value will be accepted by

    This location value will be accepted by bib2gls, since it will allow any location and @@ -3589,7 +3599,7 @@ class="cmss-10">format key to prevent a hyperlink if one can’t naturally be formed from the prefix, counter and location value. -

    For example, suppose the file

    For example, suppose the file suppl.tex contains: @@ -3606,7 +3616,7 @@ First page. \gls{sample}. \end{document} -

    This has an entry on page S.2. Suppose another document wants to include this +

    This has an entry on page S.2. Suppose another document wants to include this location in the glossary. Then this can be done by setting thevalue to -

    This location value will be accepted by

    This location value will be accepted by makeindex as it’s in the form ⟨num⟩⟨sep⟩⟨num⟩. -

    If you want hyperlinks, things are more complicated. First you need to set the +

    If you want hyperlinks, things are more complicated. First you need to set the externallocationexternallocation -

    Next you need to add

    Next you need to add glsxtrsupphypernumber as the format: @@ -3656,7 +3666,7 @@ class="cmtt-10">glsxtrsupphypernumber as the format:

     \glsadd[thevalue={S.2},format=glsxtrsupphypernumber]{sample}
     
    -

    Both documents will need to use the

    Both documents will need to use the hyperref package. Remember that the counter used for the location also needs to match. If sample-suppl-main-hyp.tex for an example that uses hyperref. -

    The hyperlink for the supplementary location may or

    The hyperlink for the supplementary location may or may not take you to the relevant place in the external PDF file depending on your PDF viewer. Some may not support external links, and some may take you to the first page or last visited page.
    -

    -

    For example, if both

    +

    For example, if both sample-suppl-hyp.pdf and sample-suppl-main-hyp.pdf are in the same directory, then viewing sample-suppl-main-hyp.pdf in Evince will take you to the correct location in the linked document (when you click on the S.2 external link), but Okular will take you to the top of the first page of the linked document. -

    This method can only be used where there is one external source for the +

    This method can only be used where there is one external source for the designated category (identified by the externallocation.aux files of the designated external documents without the need to explicitly use \glsadd. -

    +

    -

    Top

    2.3 Cross-References (“see” and “see also”)

    -

    The value of the

    The value of the see key is now saved as a field. This isn’t the case with \makeglossaries (since the file hasn’t been opened yet). -

    This modification allows

    This modification allows glossaries-extra to provide -



    \glsxtraddallcrossrefs

    -

    +

    which is used at the end of the document to automatically add any unused cross-references unless the package option indexcrossrefs

    Note that even though the

    Note that even though the see key will now work for entries defined in the see value to be stored even though it may not be possible to index it at that point. -

    As from version 1.06, you can display the cross-referenced information for a given +

    As from version 1.06, you can display the cross-referenced information for a given entry using -



    \glsxtrusesee{label}

    -

    +

    This internally uses -



    \glsxtruseseeformat{tag}{xr list}

    -

    +

    where ⟨tag⟩ and ⟨xr list⟩ are obtained from the value of the entry’s see field hasn’t been set for the entry given by ⟨label⟩. -

    As with the base

    As with the base glossaries package, \glsseeformat is defined to do }. The third argument is always ignored and is present fo class="cmtt-10">makeindex, which always requires a final argument to encapsulate the associated location. The command -



    \glsseelist{xr list}

    -

    +

    used to iterate over the list of cross-reference labels is also unchanged from the base glossaries package, with each item in the list formatted according to: -



    \glsseeitem{label}

    -

    +

    This is defined by the glossaries package to:

    @@ -3876,15 +3886,15 @@ example:
     \renewcommand*{\glsseeitemformat}[1]{\glsxtrhiername{#1}}
     
    -

    -

    The

    +

    The glossaries package provides -



    \glsseeitemformat{label}

    -

    +

    to format items in a cross-reference list (identified with the see key or -

    (Note that as from

    (Note that as from glossaries-extra version 1.42, this now uses \glsfmttext and textname fields. This helps to ensure that any formatting is correctly applied.) -

    If you want to restore the

    If you want to restore the glossaries v3.0+ definition just do: @@ -3942,8 +3952,8 @@ class="cmss-10">glossaries v3.0+ definition just do:

     \renewcommand*{\glsseeitemformat}[1]{\glsentrytext{#1}}
     
    -

    -

    The

    +

    The glossaries-extra package provides \glsxtrhiername\glsseeitemformat if required. These display the hierarchy for sub-entries rather than just the name, which may be more helpful in cross-references. -



    \glsxtrhiername{label}

    -

    +

    performs a recursive action:

      -
    1. -

      If the entry given by ⟨If the entry given by ⟨label⟩ has a parent, then \glsxtrhiername{parent @@ -3970,69 +3979,68 @@ class="cmti-10">parent class="cmti-10">label⟩} is done followed by \glsxtrhiernamesep then: -

    2. -
    3. -

      If the entry given by ⟨ +

    4. If the entry given by ⟨label⟩ is an abbreviation (that is, it has the short field set) then the short form is displayed (using \glsfmtshort) otherwise the name is displayed (using \glsfmtname).

    -

    The first step above is skipped if the entry doesn’t have a parent. Each level is separated +class="cmtt-10">\glsfmtname). +

    The first step above is skipped if the entry doesn’t have a parent. Each level is separated by: -



    \glsxtrhiernamesep

    -

    +

    which defaults to “ ”. This can be redefined as appropriate. -

    There are some case-changing variants: -


    There are some case-changing variants: +


    \Glsxtrhiername{label}

    -

    +

    The top-level has the first letter changed to upper case (either \Glsfmtshort or \Glsfmtname). There’s no case-change for sub-entries. -



    \GlsXtrhiername{label}

    -

    +

    All levels have the first letter changed to upper case (either \Glsfmtshort or \Glsfmtname). -



    \GLSxtrhiername{label}

    -

    +

    The top-level is converted to upper case (either \GLSfmtshort or \GLSfmtname). There’s no case-change for sub-entries. - - - -



    \GLSXTRhiername{label}

    -

    +

    All levels are converted to upper case (either \GLSfmtshort or \GLSfmtname). -

    Suppose you want to suppress the

    Suppose you want to suppress the number list using nonumberlistsee key set, but this will also show the rest of the number list. -

    Another approach in this situation is to use the post description hook +

    Another approach in this situation is to use the post description hook with \glsxtrusesee to append the cross-reference after the description. For example: @@ -4063,11 +4071,11 @@ example:  {}% } -

    Now the cross-references can appear even though the

    Now the cross-references can appear even though the number list has been suppressed. -

    As from v1.16, there’s a separate

    As from v1.16, there’s a separate seealso key. Unlike see\seealsoname or \glsxtruseseealsoformat, described below). -

    You can display the formatted list of cross-references stored in the

    You can display the formatted list of cross-references stored in the seealso key using: -



    \glsxtruseseealso{label}

    -

    +

    This works in much the same way as \glsxtrusesee but it internally uses -



    \glsxtruseseealsoformat{xr list}

    -

    +

    For example: @@ -4120,31 +4128,31 @@ For example:  {}% } -

    -

    The

    +

    The alias key only contains a single label not a list, but if you want to ensure consistent formatting with \glsxtrusesee and \glsxtruseseealso you can use (from v1.42): -



    \glsxtrusealias{label}

    -

    -

    The actual unformatted comma-separated list ⟨

    +

    The actual unformatted comma-separated list ⟨xr-list⟩ stored in the seealso field can be accessed with: -



    \glsxtrseealsolabels{label}

    -

    +

    This will just expand to the ⟨xr-labels⟩ provided in the value of the seealso[⟨tag], so it can’t be automatically treated as a simple comma-separated list. -

    As mentioned above, the base

    As mentioned above, the base glossaries package provides \glsseelist, which @@ -4170,15 +4178,15 @@ class="cmti-10">label⟩} as the argument. For convenience, glossaries-extra provides -



    \glsxtrseelist{xr list}

    -

    +

    which fully expands its argument and passes it to \glsseelist. -

    As from v1.47,

    As from v1.47, glossaries-extra redefines \glsseelist to make it more flexible. The base package provides \glsseelastsep for the separator between the final two it (\glsseesep is used between the other items). The modifications provide two additional commands: -



    \glsseefirstitem{label}

    -

    +

    This defaults to \glsseeitem{label} and is used to format the first label in the list. -



    \glsseelastoxfordsep

    -

    +

    This defaults to \glsseelastsep and is used if the list consists of three or more labels. -

    The

    The seealso key implements the automatic indexing using -



    \glsxtrindexseealso{label}{xr list}

    -

    +

    which just does

    glossaries v4.30+, in which case a distinct seealso cross-reference class is used instead. -

    The command that produces this “see also” text is -


    The command that produces this “see also” text is +


    \seealsoname

    -

    +

    If \alsoname (provided by language packages) is defined then \seealsoname will simply be defined to \alsoname otherwise it will be defined to see also. -

    The language-sensitive

    The language-sensitive \alsoname is used by general indexing packages, such as makeidx\index) then redefine \seealsoname instead. -

    +

    -

    Top

    2.4 Entry Display Style Modifications

    -

    Recall from the

    Recall from the glossaries package that commands such as \gls display text at that point in the document (optionally with a hyperlink to the relevant @@ -4281,7 +4289,7 @@ whether or not it actually has a hyperlink. The actual text and the way it’s displayed depends on the command used (such as \gls) and the entry format. -

    The default entry format (

    The default entry format (\glsentryfmt) used in the link-text by commands like @@ -4304,19 +4312,18 @@ class="cmss-10">glossaries-extra to test for regular entries, which are determined as follows:

    -

    This means that entries with a short form can be treated as regular entries rather +

    This means that entries with a short form can be treated as regular entries rather than abbreviations if it’s more appropriate for the desired style. -

    As from version 1.04,

    As from version 1.04, \glsentryfmt now puts \glsgenentry in the argument of the new command -



    \glsxtrregularfont{text}

    -

    +

    This just does its argument ⟨text⟩ by default. This means that if you want regular entries in a different font but don’t want that font to apply to abbreviations, then @@ -4399,7 +4403,7 @@ overridden by the textformat attribute. -

    For example: +

    For example: @@ -4407,7 +4411,7 @@ class="cmss-10">textformat \renewcommand*{\glsxtrregularfont}[1]{\textsf{#1}} -

    You can access the label through

    You can access the label through \glslabel. For example, you can query the category: @@ -4418,7 +4422,7 @@ category: \renewcommand*{\glsxtrregularfont}[1]{%  \glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}} -

    or query the category attribute, for example, provide a custom attribute called +

    or query the category attribute, for example, provide a custom attribute called font: @@ -4430,7 +4434,7 @@ class="cmtt-10">font: \renewcommand*{\glsxtrregularfont}[1]{%  \glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}} -

    As from version 1.21, it’s simpler to just do, for example: +

    As from version 1.21, it’s simpler to just do, for example: @@ -4438,21 +4442,21 @@ class="cmtt-10">font:

     \glssetcategoryattribute{general}{textformat}{textsf}
     
    -

    without redefining

    without redefining \glsxtrregularfont. -

    As from version 1.30, there is also a command for abbreviations that encapsulates +

    As from version 1.30, there is also a command for abbreviations that encapsulates \glsxtrgenabbrvfmt: -



    \glsxtrabbreviationfont{text}

    -

    +

    This also just does its argument by default. Font changes made by abbreviation styles are within ⟨text⟩. -

    The

    The \glspostlinkhook provided by the glossaries package to insert information after the link-text produced by commands like \gls and \glstext is redefined to -



    \glsxtrpostlinkhook

    -

    +

    This command will discard a following full stop (period) if the discardperiod attribute is set to “true” for the current entry’s category. It will also do -



    \glsxtrpostlink

    -

    +

    if a full stop hasn’t be discarded and -



    \glsxtrpostlinkendsentence

    -

    +

    if a full stop has been discarded. -

    It may be that you want to check some other setting (rather than a category +

    It may be that you want to check some other setting (rather than a category attribute) to determine whether or not to discard a following full stop. In which case you can redefine: -



    \glsxtrifcustomdiscardperiod{true}{false}

    -

    +

    You can access the field’s label using \glslabel. This command should do ⟨true⟩ if the @@ -4504,9 +4508,9 @@ definition is simply:

     \newcommand*{\glsxtrifcustomdiscardperiod}[2]{#2}
     
    -

    which means that no additional checks are performed. (Only the recognised category +

    which means that no additional checks are performed. (Only the recognised category attributes will be checked.) -

    Avoid the use of

    Avoid the use of \gls-like and \glstext-like commands within the post-link hook as they will cause interference. Consider using commands like @@ -4519,8 +4523,8 @@ class="tcrm-1000">§2.8 Nested Links) instead.
    -

    -

    By default

    +

    By default \glsxtrpostlink just does \glsxtrpostlinkcategorygeneral category, \glsxtrpostlinkgeneral if it has been defined.) -

    You can define the post-link hook command using

    You can define the post-link hook command using \newcommand, for example: @@ -4544,15 +4548,15 @@ example:  \glsxtrpostlinkAddDescOnFirstUse } -

    or, as from v1.31, you can use -


    or, as from v1.31, you can use +


    \glsdefpostlink{category}{definition}

    -

    +

    This is simply a shortcut for:

    definition}
    Note that it doesn’t check if the command has already been defined. -

    The sentence-ending hook is slightly more complicated. If the command +

    The sentence-ending hook is slightly more complicated. If the command \glsxtrpostlinkcategory

    There are some convenient commands you might want to use when customizing +

    There are some convenient commands you might want to use when customizing the post-link-text category hooks: -



    \glsxtrpostlinkAddDescOnFirstUse

    -

    +

    This will add the description in parentheses on first use. -

    For example, suppose you want to append the description in parentheses on

    For example, suppose you want to append the description in parentheses on first use for entries in the symbolsymbol -

    -


    +


    \glsxtrpostlinkAddSymbolOnFirstUse

    -

    +

    This will append the symbol (if defined) in parentheses on first use. (Does nothing if the symbol hasn’t been set.) -



    \glsxtrpostlinkAddSymbolDescOnFirstUse

    -

    +

    (New to v1.31.) On first use, this will append \space(⟨description⟩) if the symbol is defined otherwise it just appends \space(⟨description⟩). -

    If you want to provide your own custom format be aware that you can’t use +

    If you want to provide your own custom format be aware that you can’t use \ifglsused within the post-link-text hook as by this point the first use flag will have been unset. Instead you can use -



    \glsxtrifwasfirstuse{true}{false}

    -

    +

    This will do ⟨true⟩ if the last used entry was the first use for that entry, otherwise it @@ -4654,7 +4658,7 @@ locally set by commands like \gls, so don’t rely on it outside of the post-link-text hook. -

    Note that commands like

    Note that commands like \glsfirst and \glsxtrfull\glsxtrfull so that it fakes non-first use otherwise the inline full format would include the footnote, which is inappropriate.
    -

    -

    For example, if you want to place the description in a footnote after the

    +

    For example, if you want to place the description in a footnote after the link-text on first use for the general -

    -

    The

    +

    The short-postfootnote abbreviation style uses the post-link-text hook to place the footnote after trailing punctuation characters. -

    +

    -

    Top

    2.5 Entry Counting Modifications

    -

    If you are using

    If you are using bib2gls you may find it more convenient to use the record count commands described in §9 bib2gls: Managing Reference Databases +class="cmbx-10">10 bib2gls: Managing Reference Databases instead. -

    The

    The \glsenableentrycount command is modified to allow for the \glsenableentrycount, but you also need to set the approp §6 7 Categories). -

    For example, instead of just doing: +

    For example, instead of just doing: @@ -4739,7 +4742,7 @@ href="#sec:categories">Categories).

     \glsenableentrycount
     
    -

    you now need to do: +

    you now need to do: @@ -4748,24 +4751,24 @@ href="#sec:categories">Categories). \glsenableentrycount \glssetcategoryattribute{abbreviation}{entrycount}{1} -

    This will enable the entry counting for entries in the

    This will enable the entry counting for entries in the abbreviation category, but any entries assigned to other categories will be unchanged. -

    Further information about entry counting, including the new per-unit feature, is +

    Further information about entry counting, including the new per-unit feature, is described in §7.1 8.1 Entry Counting (First Use Flag). -

    +

    -

    Top

    2.6 First Use Flag

    -

    The

    The glossaries package provides -



    \ifglsused{true}{false}

    -

    +

    to determine whether or not an entry has been used. This requires the entry to have been defined. If the entry is undefined, then the underlying boolean variable doesn’t exist and so is neither true nor false. This command will produce an error with the @@ -4794,7 +4797,7 @@ class="cmti-10">true⟩ nor ⟨false⟩ will be performed if ⟨label⟩ doesn’t exist. -

    The

    The record option automatically implements bib2gls. In this case, you may prefer to use: -



    \GlsXtrIfUnusedOrUndefined{labeltrue}{false}

    -

    +

    (new to v1.34) which does ⟨true⟩ if the entry given by ⟨label⟩ is undefined or if @@ -4835,20 +4838,20 @@ class="tcrm-1000">§2.4 Entry Display Style Modifications.) -

    There are two new commands provided with version 1.31+: -


    There are two new commands provided with version 1.31+: +


    \glslocalreseteach{list}

    -

    +

    and -



    \glslocalunseteach{list}

    -

    +

    These behave like \glslocalreset and \glslocalunset but the argument is a @@ -4856,7 +4859,7 @@ comma-separated list of labels. -

    The internal command used by

    The internal command used by \glsunset is modified first to allow for the changing in entry counting, described above, but also to allow for buffering pending unsets when commands like \ul{Some text about \gls{html}.} -

    This causes the confusing error: +

    This causes the confusing error: @@ -4880,7 +4883,7 @@ the commands provided with the Glossary entry `{html}' has not been defined. -

    The simplest workaround is to put

    The simplest workaround is to put \gls{html} inside the argument of \mbox. For example: @@ -4891,7 +4894,7 @@ example:

     \ul{Some text about \mbox{\gls{html}}.}
     
    -

    This can work provided it’s not the first use of this entry. It if is, then unsetting the +

    This can work provided it’s not the first use of this entry. It if is, then unsetting the first use flag causes a problem and results in the error: @@ -4900,15 +4903,15 @@ first use flag causes a problem and results in the error:

     ! Package soul Error: Reconstruction failed.
     
    -

    The

    The glossaries-extra package provides a way of temporarily switching off \glsunset so that it just makes a note of the entry’s label but doesn’t actually perform the change: -



    \GlsXtrStartUnsetBuffering

    -

    +

    The unstarred version doesn’t check for duplicates, so the internal list may end up with multiple occurrences of the same label. The starred version only adds a label to the internal list if it’s not already in it. Note that this @@ -4916,12 +4919,12 @@ buffering only applies to the global \glsunset and does not affect the local \glslocalunset. -

    Later you can restore

    Later you can restore \glsunset and unset all buffered labels using: -



    \GlsXtrStopUnsetBuffering

    -

    +

    The starred form \GlsXtrStopUnsetBuffering* uses \glslocalunset instead. For @@ -4943,37 +4946,37 @@ example: Next use: \gls{html}. \end{document} -

    Before you stop the unset buffering, you can iterate over the current buffer +

    Before you stop the unset buffering, you can iterate over the current buffer using -



    \GlsXtrForUnsetBufferedList{cs}

    -

    +

    where ⟨cs⟩ is a control sequence that takes a single argument (which is the entry label). This is best used with the starred version \GlsXtrStartUnsetBuffering* to avoid duplicates. -

    You can discard the buffer and restore

    You can discard the buffer and restore \glsunset to its normal behaviour with (new to v1.42): -



    \GlsXtrDiscardUnsetBuffering

    -

    -

    Note that since the change in the first use flag now doesn’t occur until +

    +

    Note that since the change in the first use flag now doesn’t occur until \GlsXtrStopUnsetBuffering, multiple references of the same term within the buffering zone will always be treated as first use (if the term wasn’t used before the buffering started).
    -

    -

    There can still be a problem here as content within

    +

    There can still be a problem here as content within \mbox can’t break across a line so you may end up with an overfull line or excessive white space within the paragraph. -

    An alternative is to use

    An alternative is to use \protect: @@ -4984,7 +4987,7 @@ class="cmtt-10">\protect: \ul{Some text about \protect\gls{html}.} \GlsXtrStopUnsetBuffering -

    but the formatting (underlining in this example) won’t be applied. Another +

    but the formatting (underlining in this example) won’t be applied. Another possibility is: @@ -5007,7 +5010,7 @@ possibility is: Next use: \gls{html}. \end{document} -

    This moves

    This moves \gls outside of \ul and uses textformattextformat\gul, which locally changes the regular font and the default abbreviation font to use \ul. It then uses -



    \GlsXtrExpandedFmt{cs}{text}

    -

    +

    which (protected) fully expands ⟨text⟩ before applying ⟨cs⟩, which must be a control @@ -5041,12 +5044,12 @@ something that \ul can’t deal with. For example, if an abbreviation style is used that contains complex formatting or if the field value contains problematic content. -

    +

    -

    Top

    2.7 Plurals

    -

    Some languages, such as English, have a general rule that plurals are formed from + id="sec:plurals">Plurals +

    Some languages, such as English, have a general rule that plurals are formed from the singular with a suffix appended. This isn’t an absolute rule. There are plenty of exceptions (for example, geese, children, churches, elves, fairies, sheep). The

    To make life easier for languages where the majority of plurals can simply be +

    To make life easier for languages where the majority of plurals can simply be formed by appending a suffix to the singular, the glossaries package lets the plural supplied as well, and you only need to use it for the exceptions. -

    For languages that don’t have this general rule, the

    For languages that don’t have this general rule, the plural field will always need to be supplied, where needed. -

    There are other plural fields, such as

    There are other plural fields, such as firstplural, longpluralshortplural

    If these fields are omitted, the

    If these fields are omitted, the glossaries package follows these rules:

      -
    • -

      If If firstplural is missing, then \glspluralsuffix is appended to the text field) with \glspluralsuffix appended. -

    • -
    • -

      If the +

    • If the longplural field is missing, then \glspluralsuffix is appended to @@ -5138,9 +5139,8 @@ class="cmss-10">long field, if the long field has been supplied. -

    • -
    • -

      If the +

    • If the shortplural field is missing then, with the base \acrpluralsuffix is appended to the short field. -

    -

    This

    This last case is changed with glossaries-extra. With this extension package, the \abbrvpluralsuffix is redefined. In most cases its redefined to use -



    \glsxtrabbrvpluralsuffix

    -

    +

    which defaults to just \glspluralsuffix. Some of the abbreviation styles have their - - - own command for the plural suffix, such as \glsxtrscsuffix, so if you want to completely strip all the plural suffixes used for abbreviations then you need to @@ -5189,7 +5185,10 @@ class="cmtt-10">\abbrvpluralsuffix, which changes with the style. Redefining \acrpluralsuffix will have no affect, since it’s not used by the new abbreviation mechanism. -

    If you require a mixture (for example, in a multilingual document), there are two + + + +

    If you require a mixture (for example, in a multilingual document), there are two attributes that affect the short plural suffix formation. The first is aposplural '\abbrvpluralsuffix -

    That is, an apostrophe followed by

    That is, an apostrophe followed by \abbrvpluralsuffix is appended. The second attribute is shortpluralshort. -

    +

    -

    Top

    2.8 Nested Links

    -

    Complications arise when you use

    Complications arise when you use \gls in the value of the name

    Things can go wrong if we try the following with the

    Things can go wrong if we try the following with the glossaries package: @@ -5242,12 +5241,11 @@ class="cmss-10">glossaries package: \newacronym{html}{HTML}{Hypertext Markup Language} \newacronym{shtml}{S\gls{html}}{\gls{ssi} enabled \gls{html}} -

    -

    The main problems are: +

    +

    The main problems are:

      -
    1. -

      The first letter upper casing commands, such as \Gls, won’t work for the @@ -5260,11 +5258,10 @@ href="#glo:firstuse">first use if the long form is displayed before the shor -

            \gls{\uppercase ssi} enabled \gls{html}
       
      -

      which just doesn’t work. Grouping the

      which just doesn’t work. Grouping the \gls{ssi} doesn’t work either as this will effectively try to do @@ -5274,16 +5271,15 @@ class="cmtt-10">\gls{ssi} doesn’t work either as this

            \uppercase{\gls{ssi}} enabled \gls{html}
       
      -

      This will upper case the label

      This will upper case the label ssi so the entry won’t be recognised. This problem will also occur if you use the all capitals version, such as \GLS.

    2. -
    3. -

      The long and abbreviated forms accessed through \glsentrylong and @@ -5291,18 +5287,16 @@ class="cmtt-10">\glsentrylong\glsentryshort are no longer expandable and so can’t be used be used in contexts that require this, such as PDF bookmarks. -

    4. -
    5. -

      +

    6. The nested commands may end up in the sort key, which will confuse the indexing. -

    7. -
    8. -

      +

    9. The shtml entry produces inconsistent results depending on whether the ssi @@ -5315,19 +5309,18 @@ class="cmtt-10">shtml. For example: -

            This section discusses \gls{ssi}, \gls{html} and \gls{shtml}.
       
      -

      This produces: +

      This produces:

      -

      This section discusses server side includes (SSI), hypertext +

      This section discusses server side includes (SSI), hypertext markup language (HTML) and SSI enabled HTML (SHTML).

      -

      So the

      So the first use of the shtml entry produces “SSI enabled HTML (SHTML)”. -

      Now let’s suppose the

      Now let’s suppose the html entry is used before the shtml but the ssi entry is @@ -5341,17 +5334,17 @@ class="cmtt-10">shtml entry, for example: The sample files are either \gls{html} or \gls{shtml}, but let's first discuss \gls{ssi}. -

      This produces: +

      This produces:

      -

      The sample files are either hypertext markup language (HTML) +

      The sample files are either hypertext markup language (HTML) or server side includes (SSI) enabled HTML (SHTML), but let’s first discuss SSI.

      -

      So the

      So the first use of the shtml entry now produces “server side includes (SSI) enabled HTML (SHTML)”, which looks a bit strange. -

      Now let’s suppose the

      Now let’s suppose the shtml entry is used before (or without) the other two entries: @@ -5361,17 +5354,17 @@ class="cmtt-10">shtml entry is used before (or without) the other two

            This article is an introduction to \gls{shtml}.
       
      -

      This produces: +

      This produces:

      -

      This article is an introduction to server side includes (SSI) +

      This article is an introduction to server side includes (SSI) enabled hypertext markup language (HTML) (SHTML).

      -

      So the

      So the first use of the shtml entry now produces “server side includes (SSI) enabled hypertext markup language (HTML) (SHTML)”, which is even more strange. -

      This is all aggravated by setting the style using the

      This is all aggravated by setting the style using the glossaries package’s \setacronymstyle. For example: @@ -5382,7 +5375,7 @@ class="cmtt-10">\setacronymstyle. For example:

            \setacronymstyle{long-short}
       
      -

      as this references the label through the use of

      as this references the label through the use of \glslabel when displaying the long and short forms, but this value changes with each use of \gls, so @@ -5394,7 +5387,7 @@ class="cmtt-10">\glslabel has been changed to html by \gls{html}. -

      Another oddity occurs if you reset the

      Another oddity occurs if you reset the html entry between uses of the shtml entry. For example: @@ -5405,10 +5398,10 @@ class="cmtt-10">shtml

            \gls{shtml} ... \glsreset{html}\gls{shtml}
       
      -

      The next use of

      The next use of shtml produces “Shypertext markup language (HTML)”, which is downright weird. -

      Even without this, the short form has nested formatting commands, which +

      Even without this, the short form has nested formatting commands, which amount to \acronymfont{S\acronymfont{HTML}}. This may not be a problem for some styles, but if you use one of the “sm” styles (that use \textsmaller), this will produce an odd result.

    10. -
    11. -

      Each time the shtml entry is used, the html entry will also be indexed and @@ -5429,10 +5421,9 @@ class="cmtt-10">ssi and html entries. This kind of duplication in the location list isn’t usually particularly helpful to the reader. -

    12. -
    13. -

      +

    14. If hyperref is in use, you’ll get nested hyperlinks and there’s no consistent way @@ -5442,16 +5433,15 @@ class="cmss-10">hyperref
    -

    For these reasons it’s better to use the simple expandable commands -like

    For these reasons it’s better to use the simple expandable commands like +\glsentrytext or \glsentryshort in the definition of other entries -(although that doesn’t fix the first problem). Alternatively use something -like: + id="dx1-13032"> in the definition of other entries (although that +doesn’t fix the first problem). +

    Alternatively use something like: @@ -5461,7 +5451,7 @@ like:  [description={\acrshort{ssi} enabled \acrshort{html}}]  {shtml}{SHTML}{SSI enabled HTML} -

    with

    with glossaries or: @@ -5472,7 +5462,7 @@ class="cmss-10">glossaries or:  [description={\glsxtrshort{ssi} enabled \glsxtrshort{html}}]  {shtml}{SHTML}{SSI enabled HTML} -

    with

    with glossaries-extra. This fixes all the above listed problems (as long as you don’t use \glsdescfirst use issue, but it doesn’t fix any of the other problems listed above. -

    If it’s simply that you want to use the abbreviation font, you can use +

    If it’s simply that you want to use the abbreviation font, you can use \glsabbrvfont: @@ -5497,10 +5487,17 @@ class="cmtt-10">\glsabbrvfont: \newabbreviation{shtml}{shtml}{\glsabbrvfont{ssi} enabled \glsabbrvfont{html}} -

    This will pick up the font style setting of the outer entry (shtml, in the above case). +

    This will pick up the font style setting of the outer entry (shtml, in the above case). This isn’t a problem in the above example as all the abbreviations use the same style. -

    However if you’re really determined to use

    If the term can simply be treated as a series of previously defined entries, then +consider using multi-entries (or compound sets). See §6 Multi (or +Compound) Entries for further details. +

    However, if you’re really determined to use \gls in a field that may be included within some \gls{ssi} enabled \gls{html} -

    is treated as +

    is treated as @@ -5533,7 +5530,7 @@ form {\glstext[hyper=false,noindex]{ssi}} enabled {\glstext[hyper=false,noindex]{html}} -

    This overcomes problems 

    This overcomes problems 4, 5 and 6 listed above, but still doesn’t fix problems long-noshort-desc). -

    Additionally, any instance of the long form commands, such as

    Additionally, any instance of the long form commands, such as \glsxtrlong or shtml entry had instead been defined as:

     \newacronym{shtml}{SHTML}{\acrshort{ssi} enabled \acrshort{html}}
     
    -

    then (using the

    then (using the long-short style) the first use will be like {\acronymfont{\glsentryshort{ssi}}} enabled {\acronymfont{\glsentryshort{html}}} (SHTML) -

    whereas if the entry is defined as: +

    whereas if the entry is defined as: @@ -5610,7 +5607,7 @@ href="#glo:firstuse">first use will be like \newabbreviation{shtml}{SHTML}{\glsxtrshort{ssi} enabled \glsxtrshort{html}} -

    then the

    then the first use will be like: @@ -5621,7 +5618,7 @@ href="#glo:firstuse">first use will be like: {\glsabbrvfont{\glsentryshort{ssi}}} enabled {\glsabbrvfont{\glsentryshort{html}}} (SHTML) -

    Note that the first optional argument of

    Note that the first optional argument of \acrshort or \glsxtrshort is ignored in this context. (The final optional argument will be inserted, if present.) The @@ -5632,15 +5629,15 @@ class="cmtt-10">\glsxtrshort. Note that \acrshort doesn’t set the abbreviation style. -

    Alternatively you can use: -


    Alternatively you can use: +


    \glsxtrp{field}{label}

    -

    +

    where ⟨field⟩ is the field label and corresponds to a command in the form \gls\glstext) or in the form \glsxtrfield⟩ (e.g. \glsxtrshort). -

    There’s a shortcut command for the most common fields: -


    There’s a shortcut command for the most common fields: +


    \glsps{label}

    -

    +

    which is equivalent to \glsxtrp{short}{label}, and -



    \glspt{label}

    -

    +

    which is equivalent to \glsxtrp{text}{label}. -

    The

    The \glsxtrp command behaves much like the \glsfmtfield⟩ commands described @@ -5691,12 +5688,12 @@ class="cmss-10">noindex to true. If you want to change this, you can use -



    \glsxtrsetpopts{options}

    -

    +

    For example: @@ -5705,15 +5702,15 @@ For example:

     \glsxtrsetpopts{hyper=false}
     
    -

    will just switch off the hyperlinks but not the indexing. Be careful using +

    will just switch off the hyperlinks but not the indexing. Be careful using this command or you can end up back to the original problem of nested links. -

    The hyper link is re-enabled within glossaries. This is done through the +

    The hyper link is re-enabled within glossaries. This is done through the command: -



    \glossxtrsetpopts

    -

    +

    which by default just does @@ -5722,7 +5719,7 @@ which by default just does

     \glsxtrsetpopts{noindex}
     
    -

    You can redefine this if you want to adjust the setting when

    You can redefine this if you want to adjust the setting when \glsxtrp is used in the glossary. For example: @@ -5732,8 +5729,8 @@ glossary. For example:

     \renewcommand{\glossxtrsetpopts}{\glsxtrsetpopts{noindex=false}}
     
    -

    -

    For example, +

    +

    For example, @@ -5741,7 +5738,7 @@ glossary. For example:

     \glsxtrp{short}{ssi}
     
    -

    is equivalent to +

    is equivalent to @@ -5751,7 +5748,7 @@ glossary. For example:  \glsxtrshort[hyper=false,noindex]{ssi}[]% } -

    in the main body of the document or +

    in the main body of the document or @@ -5761,8 +5758,8 @@ glossary. For example:  \glsxtrshort[noindex]{ssi}[]% } -

    inside the glossary. (Note the post-link hook is locally disabled.) -

    If

    inside the glossary. (Note the post-link hook is locally disabled.) +

    If \glsxtrp{short}{ssi} occurs in a sectioning mark, it’s equivalent to @@ -5772,37 +5769,37 @@ to

     {\glsxtrheadshort{ssi}}
     
    -

    (which recognises the

    (which recognises the headuc attribute.) -

    If

    If hyperref has been loaded, then the bookmark will use \glsentryfield⟩ (\glsentryshort{ssi} in the above example). -

    There are similar commands -


    There are similar commands +


    \Glsxtrp{field}{label}

    -

    +

    for first letter upper case and -



    \GLSxtrp{field}{label}

    -

    +

    for all upper case. -

    If you use any of the case-changing commands, such as

    If you use any of the case-changing commands, such as \Gls or \Glstext\gls\glstext, in the definition of entries for any of the fields that may be used by those case-changing commands.
    -

    -

    You can, with care, protect against issue 

    +

    You can, with care, protect against issue 1 by inserting an empty group at the start if the long form starts with a command that breaks the first letter uppercasing commands like \Gls, but you still won’t be able to use the all caps commands, such as \GLS. -

    If you

    If you really need nested commands, the safest method is @@ -5832,8 +5829,8 @@ class="cmti-10">really need nested commands, the safest method is \newabbreviation{shtml}{shtml}{{}\glsxtrp{short}{ssi} enabled \glsxtrp{short}{html}} -

    but be aware that it may have some unexpected results occasionally. -

    Example document: +

    but be aware that it may have some unexpected results occasionally. +

    Example document: @@ -5863,13 +5860,13 @@ Next page. \printglossaries \end{document} -

    -

    +

    +

    -

    Top

    2.9 Acronym Style Modifications

    -

    The

    The glossaries-extra package provides a new way of dealing with abbreviations and @@ -5894,7 +5891,7 @@ class="cmss-10">glossaries-extra is do just add

     \setabbreviationstyle[acronym]{long-short}
     
    -

    before you define any entries. If you have used commands like

    before you define any entries. If you have used commands like \acrshort, \acrlong\glsxtrshort\acrshort etc. -

    For example, the following document using just

    For example, the following document using just glossaries @@ -5945,7 +5942,7 @@ class="cmss-10">glossaries \printglossaries \end{document} -

    can be easily adapted to use

    can be easily adapted to use glossaries-extra: @@ -5962,7 +5959,7 @@ class="cmss-10">glossaries-extra: \printglossaries \end{document} -

    Table 

    Table 2.1 lists the nearest equivalent glossaries-extra abbreviation styles for the predefined acronym styles provided by for further det -


    @@ -6002,34 +5999,34 @@ class="cmtt-10">}
    id="TBL-2-1" />

    Old Style Name

    New Style Name

    long-sc-short

    long-short-sc

    long-sm-short

    long-short-sm

    long-sp-short

    long-short
    #1}}

    short-long

    short-long

    sc-short-long

    short-sc-long

    sm-short-long

    short-sm-long

    long-short-desc

    long-short-desc

    long-sc-short-desc

    long-short-sc-desc

    long-sm-short-desc

    long-short-sm-desc

    long-sp-short-desc

    long-short-desc
    #1}}

    short-long-desc

    short-long-desc

    sc-short-long-desc

    short-sc-long-desc

    sm-short-long-desc

    short-sm-long-desc

    dua

    long-noshort

    dua-desc

    long-noshort-desc

    footnote

    short-footnote

    footnote-sc

    short-sc-footnote

    footnote-sm

    short-sm-footnote

    footnote-desc

    short-footnote-desc

    footnote-sc-desc

    short-sc-footnote-desc

    footnote-sm-desc

    short-sm-footnote-desc

    @@ -6222,7 +6219,7 @@ class="cmss-10">short-sm-footnote-desc
    -

    The reason for introducing the new style of abbreviation commands provided by +

    The reason for introducing the new style of abbreviation commands provided by glossaries-extra is because the original acronym commands provided by glossaries are @@ -6231,13 +6228,13 @@ class="cmss-10">glossaries-extra. However, if you really want to restore the generic acronym function provided by glossaries you can use -



    \RestoreAcronyms

    -

    +

    (before any use of \newacronym). -

    \RestoreAcronyms should not be used in combination with the newer glossaries-extra abbreviations. Don’t combine old and new style entries with the same @@ -6247,7 +6244,7 @@ class="cmss-10">typeglossaries acronym mechanism doesn’t work well with the newer glossaries-extra commands. -

    If you use

    -

    -

    In general, there’s rarely any need for

    +

    In general, there’s rarely any need for \RestoreAcronyms. If you have a document that uses \newacronymstyle§4.5 Defining New Abbreviation Styles for further details.) -



    \glsacspace{label}

    -

    +

    The space command \glsacspace used by the long-sp-short acronym style provided by glossaries is modified so that it uses -



    \glsacspacemax

    -

    +

    instead of the hard-coded 3em. This is a command not a length and so can be changed using \renewcommand. -

    Any of the new abbreviation styles that use

    Any of the new abbreviation styles that use \glsxtrfullsep (such as \glsacspace with

     \renewcommand*{\glsxtrfullsep}[1]{\glsacspace{#1}}
     
    -

    -

    The

    +

    The first use acronym font command -



    \firstacronymfont{text}

    -

    +

    is redefined to use the first use abbreviation font command \glsfirstabbrvfont. This will be reset if you use \RestoreAcronyms. -

    The subsequent use acronym font command -


    The subsequent use acronym font command +


    \acronymfont{text}

    -

    +

    is redefined to use the subsequent use abbreviation font command \glsabbrvfont. This will be reset if you use \RestoreAcronyms.

    -

    Top

    2.10 Glossaries

    -

    The Glossaries +

    The \newignoredglossary{targeturl§6 7 Categories for further details.) As from v1.12 both the starred and unstarred version check that the glossary doesn’t already exist. (The glossaries package omits this check.) -

    You can now provide an ignored glossary with: -


    You can now provide an ignored glossary with: +


    \provideignoredglossary{type}

    -

    +

    which will only define the glossary if it doesn’t already exist. This also has a starred version that doesn’t automatically switch off hyperlinks. -

    The individual glossary displaying commands

    The individual glossary displaying commands \printglossary, \printnoidxglossary\printunsrtglossary have extra keys:

      -
    • -

      target. This is a boolean key which can be used to switch off the automatic hypertarget for each entry. Unlike \glsdisablehyper this doesn’t switch -

    • -
    • -

      +

    • targetnameprefix={prefix}. Another way of avoiding duplicate target names - is to set a prefix used for the names. Unlike changing \glolinkprefix - this doesn’t affect any hyperlinks (such as those created with }. Another way of avoiding duplicate target names is to + set a prefix used for the names. Unlike changing \glolinkprefix this doesn’t + affect any hyperlinks (such as those created with \gls). +

      This doesn’t include the navigation hyper group targets in styles such as + listhypergroup. The link name for these is given by \glsnavhyperlinkname. +
      +

    • -
    • -

      prefix={prefix}. If you do actually want to locally change \glolinkprefix, - you can use the \glolinkprefix, you + can use the prefix key instead. You need to use the matching key instead. You need to use the matching prefix - key in commands like key in + commands like \gls. -

    • -
    • -

      +

    • label={label}. Labels the glossary with } and also defines class="cmtt-10">\@currentlabelname to the glossary’s TOC title (to provide text for \nameref). You can also set the label before the glossary using: -



      \glsxtrsetglossarylabel{label}

      -

      +

      but take care of duplicate labels if it’s not scoped.

    • -
    • -

      groups. This is a boolean key (new to v1.44) designed for use with + id="dx1-15015">. This is a boolean key (new to v1.44) designed for use with \printunsrtglossary (and other \printunsrtvariations). It has no effect with \printglossary and \printnoidxglossary. -

      If true (default), group formation (group header and group skip) will be +

      If true (default), group formation (group header and group skip) will be attempted if the group key has been defined and set. Note that some styles + id="dx1-15016"> key has been defined and set. Note that some styles ignore the header and group skip commands so there may not be a noticeable difference in those cases. If this key is set to false, no group formation will occur so there won’t be any group markup to separate letter groups so there will be no visual separation regardless of style or the group skip setting.

    • -
    • -

      leveloffset. This key (new to v1.44) is designed for use with . This key (new to v1.44) is designed for use with \printunsrtglossary (and other \printunsrtvariations). It has no effect with \printglossary and \printnoidxglossary. -

      The value may either be a simple integer ⟨

      The value may either be a simple integer ⟨n⟩ to indicate assignment or in the form ++n⟩ to indicate an increment. This will locally as class="cmmi-10">N more than it would normally be (where N is the level offset). For example, a top-level entry (that is, an entry without a + parent) would normally have a hierarchical level of 0. With a level offset of 1, - parent) would normally have a hierarchical level of 0. With a level offset of 1, it would be treated by the glossary style as though it was actually a level 1 entry. (Remember that some styles don’t support hierarchical glossaries.) -

      Note that the group formation (if supported) will still occur between entries +

      Note that the group formation (if supported) will still occur between entries that don’t have a parent, regardless of the level offset. This can cause odd results but can be switched off with groups. See . See Gallery: Inner or Nested Glossaries for an example.

    -

    +

    -

    Top

    2.11 Glossary Style Modifications

    -

    The

    The glossaries-extra-stylemods package (more conveniently loaded through the stylemodsglossaries package. These modifications are described in more detail in §2.11.3 The glossaries-extra-stylemods Package. -

    The The glossaries-extra-stylemods Package. +

    The glossaries package tries to determine the group title from its label by first checking if \glsxtr@grouptitle@label⟩ which shouldn’t clash with another package. You can set the group title using -



    \glsxtrsetgrouptitle{label}{title}

    -

    +

    For example: @@ -6553,22 +6551,22 @@ For example:

     \glsxtrsetgrouptitle{A}{A (a)}
     
    -

    This uses a global assignment. If you need to scope the change you can +

    This uses a global assignment. If you need to scope the change you can use -



    \glsxtrlocalsetgrouptitle{label}{title}

    -

    -

    +

    +

    -

    Top

    2.11.1 Style Hooks

    -

    The commands

    The commands \glossentryname and \glossentrydescglossdescfont§6 7 Categories). This means you can make simple font or case-changing modifications to the name and description without defining a new glossary style. -

    (New to version 1.42.) The command

    (New to version 1.42.) The command \glossentrysymbol is modified to take into account the TeX code⟩ part is robust and deals with the actual typesetting of the symbol. The ⟨PDF⟩ part is simply: -



    \glsentrypdfsymbol{label}

    -

    +

    which is defined to just do \glsentrysymbol{labelsymbol\glsentrypdfsymbol to use a more appropriate field. (If you do redefine this command, remember that it needs to fully expand.) -

    For example, if you are using

    For example, if you are using glossaries-accsupp, you could use the symbolaccess \renewcommand{\glsentrypdfsymbol}[1]{\glsentrysymbolaccess{#1}} -

    Alternatively, if you are using

    Alternatively, if you are using bib2gls you can use the TeX parser library to @@ -6669,7 +6667,7 @@ options:   replicate-fields={symbol=user1},   interpret-fields={user1} -

    This stores the interpreted value of the symbol in the

    This stores the interpreted value of the symbol in the user1 field, so you can then do: @@ -6680,21 +6678,21 @@ do:

     \renewcommand{\glsentrypdfsymbol}[1]{\glsentryuseri{#1}}
     
    -

    (You may need XƎLATEX or LuaLATEX with this method.) This allows +

    (You may need XƎLATEX or LuaLATEX with this method.) This allows \glossentrysymbol to be used in a section heading with standalone definitions. -

    If you want to adapt a style to use another field instead of

    If you want to adapt a style to use another field instead of name, you can use -



    \glossentrynameother{label}{field}

    -

    +

    This behaves just like \glossentryname (that is, it obeys the desc rather than class="cmtt-10">description). See the key to field mappings table in the glossaries user manual. -

    There is a hook after

    There is a hook after \glossentryname and \Glossentryname: -



    \glsxtrpostnamehook{label}

    -

    +

    By default this checks the indexname attribute. If the attribute exists for the category to which the label belongs, then the name is automatically indexed using -



    \glsxtrdoautoindexname{}{indexname}

    -

    +

    See §8 9 Auto-Indexing for further details. -

    As from version 1.04, the post-name hook

    As from version 1.04, the post-name hook \glsxtrpostnamehook will also use \glsxtrpostname -

    For convenience, as from v1.31, you can use -


    For convenience, as from v1.31, you can use +


    \glsdefpostname{category}{definition}

    -

    +

    This is simply a shortcut for:

    definition}
    Note that it doesn’t check if the command has already been defined. -

    As from version 1.25, the post-name hook also does -


    As from version 1.25, the post-name hook also does +


    \glsextrapostnamehook{label}

    -

    +

    (before \glsxtrpostnamecategory⟩) to allow for additional non-category related code. This does nothing by default. -

    The post-description code used within the glossary is modified so that it also +

    The post-description code used within the glossary is modified so that it also does -



    \glsxtrpostdescription

    -

    +

    This occurs before the original \glspostdescription, so if the nopostdot=false option is used, it will be inserted before the terminating full stop. -

    This new command will do

    This new command will do \glsxtrpostdesccategory⟩ if it exists, where ⟨\glsxtrpostdescacronym for entries with the category set class="cmss-10">acronym. For convenience, as from v1.31, you can use -



    \glsdefpostdesc{category}{definition}

    -

    +

    This is simply a shortcut for:

    definition}
    Note that it doesn’t check if the command has already been defined. -

    Since both

    Since both \glossentry and \subglossentry set -



    \glscurrententrylabel

    -

    +

    to the label for the current entry, you can use this within the definition of these post-description hooks if you need to reference the label. -

    For example, suppose you want to insert the plural form in brackets after the +

    For example, suppose you want to insert the plural form in brackets after the description in the glossary, but only for entries in the general category, then you could @@ -6873,10 +6871,10 @@ do: \renewcommand{\glsxtrpostdescgeneral}{\space  (plural: \glsentryplural{\glscurrententrylabel})} -

    This means you don’t have to define a custom glossary style, which you may find +

    This means you don’t have to define a custom glossary style, which you may find more complicated. (It also allows more flexibility if you decide to change the underlying glossary style.) -

    This feature can’t be used for glossary styles that ignore

    This feature can’t be used for glossary styles that ignore \glspostdescription or if you redefine \glspostdescription without including nopostdot option to suppress the terminating full stop.) See §2.11.3 The +href="#sec:stylemods">The +glossaries-extra-stylemods Package to patch the predefined styles provided by glossaries-extra-stylemods Package to patch the predefined styles provided by glossaries -that are missing glossaries that are missing \glspostdescription.
    -

    -

    +

    +

    -

    Top

    2.11.2 Number List

    -

    The

    The number list is now placed inside the argument of -



    \GlsXtrFormatLocationList{number list}

    -

    +

    This is internally used by \glossaryentrynumbers. The \glossaryentrynumbers so that it doesn’t display th id="dx1-18004">number list, but it still saves the number list in case it’s required. -

    If you want to suppress the

    If you want to suppress the number list always use the nonumberlist option instead of redefining \glossaryentrynumbers to do nothing.
    -

    -

    For example, to change the font for the entire

    +

    For example, to change the font for the entire number list redefine \GlsXtrFormatLocationList as appropriate. Don’t modify \glossaryentrynumbers. -

    Sometimes users like to insert “page” or “pages” in front of the

    Sometimes users like to insert “page” or “pages” in front of the number list. This is quite fiddly to do with the base glossaries package, but glossaries-extra provides a way of doing this. First you need to enable this option and specify the text to display using: -



    \GlsXtrEnablePreLocationTag{page}{pages}

    -

    +

    where ⟨page⟩ is the text to display if the number list only contains a single location and @@ -6961,25 +6958,25 @@ class="cmti-10">pages⟩ is the text to display otherwise. For examp

     \GlsXtrEnablePreLocationTag{Page: }{Pages: }
     
    -

    An extra run is required when using this command. -

    Use

    An extra run is required when using this command. +

    Use glsignore not @gobble as the format if you want to suppress the page number (and only index the entry once).
    -

    -

    See the accompanying sample file

    +

    See the accompanying sample file sample-pages.tex. -

    Note that

    Note that bib2gls can be instructed to insert a prefix at the start of non-empty location lists, which can be used as an alternative to \GlsXtrEnablePreLocationTag. -

    Location lists displayed with \printnoidxglossary internally use -



    \glsnoidxdisplayloc{prefixformat}{location}

    -

    +

    This command is provided by glossaries, but is modified by glossaries-extra to check @@ -6999,42 +6996,42 @@ class="cmtt-10">( and ) which are discarded to obtain the actual control sequence name that forms the location formatting command. -

    If the range identifiers aren’t present, this just uses -


    If the range identifiers aren’t present, this just uses +


    \glsxtrdisplaysingleloc{format}{location}

    -

    +

    otherwise it uses -



    \glsxtrdisplaystartloc{format}{location}

    -

    +

    for the start of a range (where the identifier has been stripped from ⟨format⟩) or -



    \glsxtrdisplayendloc{format}{location}

    -

    +

    for the end of a range (where the identifier has been stripped from ⟨format⟩). -

    By default the start range command saves the format in -


    By default the start range command saves the format in +


    \glsxtrlocrangefmt

    -

    +

    and does
    \glsxtrdisplaysingleloc{}
    (If the format is empty, it will be replaced with glsnumberformat.) -

    The end command checks that the format matches the start of the range, +

    The end command checks that the format matches the start of the range, does -



    \glsxtrdisplayendlochook{format}{location}

    -

    +

    (which does nothing by default), followed by
    \glsxtrdisplaysingleloc{}
    and then sets \glsxtrlocrangefmt to empty. -

    This means that the list +

    This means that the list @@ -7078,7 +7075,7 @@ class="cmtt-10">\glsxtrlocrangefmt to empty. \glsnoidxdisplayloc{}{page}{textbf}{1}, \glsnoidxdisplayloc{}{page}{)textbf}{1}. -

    doesn’t display any differently from +

    doesn’t display any differently from @@ -7088,15 +7085,14 @@ class="cmtt-10">\glsxtrlocrangefmt to empty. \glsnoidxdisplayloc{}{page}{textbf}{1}, \glsnoidxdisplayloc{}{page}{textbf}{1}. -

    but it does make it easier to define your own custom list handler that can +

    but it does make it easier to define your own custom list handler that can accommodate the ranges. -

    +

    -

    Top

    2.11.3 The glossaries-extra-stylemods Package

    -

    As from v1.02, The glossaries-extra-stylemods Package +

    As from v1.02, glossaries-extra now includes the package glossaries-extra-stylemods that @@ -7113,7 +7109,7 @@ class="cmss-10">glossaries-extra. For example: \usepackage{glossary-longragged} \usepackage{glossaries-extra-stylemods} -

    Alternatively you can load

    Alternatively you can load glossary-name.sty at the same time by passing ⟨glossaries-extra-stylemods -

    Another option is to use the

    Another option is to use the stylemods key when you load long3col \usepackage[style=long3col,stylemods]{glossaries-extra} -

    Or the value of

    Or the value of stylemods may be a comma-separated list of the style package @@ -7158,7 +7154,7 @@ identifiers. For example:

     \usepackage[style=mcoltree,stylemods=mcols]{glossaries-extra}
     
    -

    Remember to group the value if it contains any commas: +

    Remember to group the value if it contains any commas: @@ -7166,9 +7162,9 @@ identifiers. For example:

     \usepackage[stylemods={mcols,longbooktabs}]{glossaries-extra}
     
    -

    +

    -

    Inline Style Note that the nopostdot option, but the post-description category hook can still be used.

    -

    Tabular Styles The \printglossary, \printnoidxglossary or \printunsrtglossary, you must also reset the glossary style. -

    As from version 1.21, the hard-coded

    As from version 1.21, the hard-coded \space before the number list in many of the predefined styles is replaced with -



    \glsxtrprelocation

    -

    +

    This just defaults to \space but may be redefined as required. For example: @@ -7245,34 +7241,34 @@ class="cmtt-10">\space but may be redefined as required. For example:

     \renewcommand{\glsxtrprelocation}{\dotfill}
     
    -

    +

    -

    List Styles The list styles use -



    \glslistprelocation

    -

    +

    (which defaults to \glsxtrprelocation) for top-level items and -



    \glslistchildprelocation

    -

    +

    (which defaults to \glslistprelocation) for child items. -

    As from v1.31, the description (including the post-description hook) is governed +

    As from v1.31, the description (including the post-description hook) is governed by: -



    \glslistdesc{label}

    -

    +

    for the list and altlist styles (but not the listdotted variations). -

    As from v1.47, the item is governed by: -


    As from v1.47, the item is governed by: +


    \glslistitem{label}

    -

    +

    The altlist styles use: -



    \glsaltlistitem{label}

    -

    +

    which internally uses \glslistitem. The header item (for the list styles that should the group title) is governed by: -



    \glslistgroupheaderitem{group-label}{header code}

    -

    +

    This ignores the ⟨group-label⟩ by default and simply places the second argument in the optional argument of \item. The ⟨header code⟩ is the formatted group title, possibly including a hypertarget. The spacing after the group item is given by: -



    \glslistgroupafterheader

    -

    -

    For just the

    +

    For just the list style and its letter group variations (not the altlistlistdottednumber list for child entries is followed by -



    \glslistchildpostlocation

    -

    +

    which defaults to a full stop. -

    The default value of

    The default value of \glslistdottedwidth is changed so that it’s set at the start of the document (if it hasn’t been changed in the preamble). This should take into account situations where \hsize isn’t set until the start of the document. -

    The separator between groups (if not

    The separator between groups (if not nogroupskip) is now given by: -



    \glslistgroupskip

    -

    +

    This defaults to \indexspace with penalties to deter page breaks. This command isn’t used if nogroupskip is set. -

    The

    The glossary-tree package introduced new commands in v4.22, \glstreegroupheaderfmt\glstreenamefmt has been defined, as from v1.31 glossaries-extra-stylemods defines: -



    \glstreedefaultnamefmt{text}

    -

    +

    which simply does \textbf{text\glstreegroupheaderfmt and \glstreenavigationfmt all in terms of \glstreedefaultnamefmt. -

    This means that if you want to change all three to use a particular style you only +

    This means that if you want to change all three to use a particular style you only need to redefine \glstreedefaultnamefmt, but if you only want to redefine \glstreenamefmt without affecting the other two commands, then you now can. -

    The separator between groups without headers is given by: -


    The separator between groups without headers is given by: +


    \glstreegroupskip

    -

    +

    This defaults to just \indexspace without penalties. This command isn’t @@ -7417,24 +7413,24 @@ class="cmss-10">nogroupskip\glstreeheadergroupskip in v1.42 as they are inappropriate when there’s no header.) -

    The separator between groups with headers is now given by (as from +

    The separator between groups with headers is now given by (as from v1.42): -



    \glstreegroupheaderskip

    -

    +

    This defaults to \glstreegroupskip with penalties to deter page breaks after the group heading. -

    The styles that display the group titles now use: -


    The styles that display the group titles now use: +


    \glstreePreHeader{label}{title}

    -

    +

    where ⟨label⟩ is the group label and ⟨title⟩ is the group title. This does nothing by @@ -7454,21 +7450,21 @@ then:  \pdfbookmark[1]{#2}{\currentglossary.#1}% } -

    will insert section-level bookmarks. The use of

    will insert section-level bookmarks. The use of \currentglossary helps to provide unique bookmark labels in the event of multiple glossaries. -

    The

    The glossary-tree package provides the commands -



    \glstreepredesc

    -

    +

    and -



    \glstreechildpredesc

    -

    +

    (which both default to a space) and uses them in the tree-like styles, but not for the @@ -7480,68 +7476,68 @@ class="cmss-10">glossaries-extra-stylemodsalttree style so that it has equivalent hooks: -



    \glsalttreepredesc

    -

    +

    and -



    \glsalttreechildpredesc

    -

    +

    These do nothing by default. -

    The

    The index-like and tree-like styles insert the pre-number list space with -



    \glstreeprelocation

    -

    +

    (which defaults to \glsxtrprelocation) for top-level items and -



    \glstreechildprelocation

    -

    +

    (which defaults to \glstreeprelocation) for child items. -

    As from version 1.31, the

    As from version 1.31, the glossaries-extra-stylemods package also provides: -



    \glstreenonamedesc{label}

    -

    +

    which is used by the treenoname styles to display the pre-description separator, the description and the post-description hook. Similarly for the symbol: -



    \glstreenonamesymbol{label}

    -

    +

    The above are just used for top-level entries. Child entries don’t have the name or symbol displayed for the treenoname styles, so there’s only a command for the child description: -



    \glstreenonamechilddesc{label}

    -

    +

    -

    For the

    For the tree styles (but not the treenonametreenonamealttree styles), the description is displayed using: -



    \glstreedesc{label}

    -

    +

    and the symbol with: -



    \glstreesymbol{label}

    -

    +

    Again the above two commands are just for top-level entries. The child entries use: -



    \glstreechilddesc{label}

    -

    +

    for the description and -



    \glstreechildsymbol{label}

    -

    +

    for the symbol. As from version 1.41, there are now wrapper commands for \glstreedesc and \glstreechilddesc that check for the description and symbol to determine what separator to use before the page list. These are: -



    \glstreeDescLoc{label}{location}

    -

    +

    for top-level entries and -



    \glstreeChildDescLoc{label}{location}

    -

    +

    for sub-entries. -

    If either the symbol or description is present these will use

    If either the symbol or description is present these will use \glstreeprelocation or \glstreechildprelocation, respectively. Otherwise, both will use (from v1.42): -



    \glstreeNoDescSymbolPreLocation

    -

    +

    The default is a space. This means that you could have, say, a comma followed by a space for terms that are simply an alias, but just have a space for terms that have a description that ends with a full stop (or that just have a symbol without a description) where the comma would be inappropriate. -

    Note that version 1.42 has corrected an error that was introduced to v1.41 that +

    Note that version 1.42 has corrected an error that was introduced to v1.41 that caused the name to run into the location list if there was no symbol and no description. -

    As from version 1.05, the

    As from version 1.05, the glossaries-extra-stylemods package provides some additional commands for use with the alttreenotree option has been used when loading glossaries. -



    \gglssetwidest[level]{name}

    -

    +

    (New to version 1.21.) This is like \glssetwidest (provided by glossary-tree) but performs a global assignment. -



    \eglssetwidest[level}

    -

    +

    This is like \glssetwidest but performs a protected expansion on ⟨name⟩. This has a localised effect. For a global setting, use -



    \xglssetwidest[level]{name}

    -

    +

    The following only set the value if ⟨name⟩ is wider than the current value (new to version 1.23). Local update: -



    \glsupdatewidest[level]{name}

    -

    +

    Global update: -



    \gglsupdatewidest[level]{name}

    -

    +

    Locale update (expands ⟨name⟩): -



    \eglsupdatewidest[level]{name}

    -

    +

    Global update (expands ⟨name⟩): -



    \xglsupdatewidest[level]{name}

    -

    -

    The widest entry value can later be retrieved using -


    +

    The widest entry value can later be retrieved using +


    \glsgetwidestname

    -

    +

    for the top-level entries and -



    \glsgetwidestsubname{level}

    -

    +

    for sub-entries, where ⟨level⟩ is the level number. -

    Note that if you are using

    Note that if you are using bib2gls, you can use the resource option bib2gls can’t replicate, but it should be suitable for names that just consist of text, and can be more efficient than iterating over all the defined entries using TeX. -

    The command

    The command \glsfindwidesttoplevelname provided by glossary-tree has a CamelCase synonym: -



    \glsFindWidestTopLevelName[glossary list]

    -

    +

    Similar commands are also provided: -



    \glsFindWidestUsedTopLevelName[glossary list]

    -

    +

    This has an additional check that the entry has been used. Naturally this is only useful if the glossaries that use the alttreealttree



    \glsFindWidestUsedAnyName[glossary list]

    -

    +

    This is like the previous command but if doesn’t check the parent key. This is useful if all levels should have the same width for the name. -



    \glsFindWidestAnyName[glossary list]

    -

    +

    This is like the previous command but doesn’t check if the entry has been used. -



    \glsFindWidestUsedLevelTwo[glossary list]

    -

    +

    This is like \glsFindWidestUsedTopLevelName but also sets the first two sub-levels as well. Any entry that has a great-grandparent is ignored. -



    \glsFindWidestLevelTwo[glossary list]

    -

    +

    This is like the previous command but doesn’t check if the entry has been used. -



    \glsFindWidestUsedAnyNameSymbol[glossary list]{register}

    -

    +

    This is like \glsFindWidestUsedAnyName but also measures the symbol. The length of the widest symbol is stored in ⟨register⟩. -



    \glsFindWidestAnyNameSymbol[glossary list]{register}

    -

    +

    This is like the previous command but it doesn’t check if the entry has been used. -



    \glsFindWidestUsedAnyNameSymbolLocation[glossary listregister}{location register}

    -

    +

    This is like \glsFindWidestUsedAnyNameSymbol but also measures the symbol register⟩ and the length of the widest number list is stored in ⟨location register⟩. -



    \glsFindWidestAnyNameSymbolLocation[glossary listregister}{location register}

    -

    +

    This is like the previous command but it doesn’t check if the entry has been used. -



    \glsFindWidestUsedAnyNameLocation[glossary list]{register}

    -

    +

    This is like \glsFindWidestUsedAnyNameSymbolLocation but doesn’t measure the symbol. The length of the widest number list is stored in ⟨register⟩. -



    \glsFindWidestAnyNameLocation[glossary list]{register}

    -

    +

    This is like the previous command but doesn’t check if the entry has been used. -

    The layout of the symbol, description and

    The layout of the symbol, description and number list is governed by -



    \glsxtralttreeSymbolDescLocation{label}{number list}

    -

    +

    for top-level entries and -



    \glsxtralttreeSubSymbolDescLocation{label}{number list}

    -

    +

    for sub-entries. -

    There is now a user level command that performs the initialisation for the

    There is now a user level command that performs the initialisation for the alttree style: -



    \glsxtralttreeInit

    -

    -

    The paragraph indent for subsequent paragraphs in multi-paragraph descriptions +

    +

    The paragraph indent for subsequent paragraphs in multi-paragraph descriptions is provided by the length -



    \glsxtrAltTreeIndent

    -

    -

    For additional commands that are available with the

    +

    For additional commands that are available with the alttree style, see the documented code (sample-alttree-marginpar.tex.

    -

    -

    +

    Top

    3. New Glossary Styles

    -

    The New Glossary Styles +

    The glossaries-extra package comes with some new styles. The associated style package needs to be loaded. This can be done with \usepackage but it’s simpler to @@ -7946,11 +7942,10 @@ href="#styopt.stylemods">stylemods option.

    -

    Top

    3.1 glossary-bookindex package

    -

    As from v1.21, glossary-bookindex package +

    As from v1.21, glossaries-extra has a new supplementary package glossary-bookindex @@ -7971,7 +7966,7 @@ style: \usepackage{glossary-bookindex} \setglossarystyle{bookindex} -

    or use both the

    or use both the stylemods and style \usepackage[stylemods=bookindex,style=bookindex]{glossaries-extra} -

    The

    The bookindex style only supports a maximum hierarchical level of 2 (top-level, level 1 and level 2). It’s primarily designed for use with record package option.) -

    The number of columns is given by -


    The number of columns is given by +


    \glsxtrbookindexcols

    -

    +

    which defaults to 2. -

    This style uses the

    This style uses the multicols environment. If the command -



    \glsxtrbookindexcolspread

    -

    +

    isn’t empty then it’s supplied as the optional argument following \begin{multicols} multicolsmulticols* by redefining -



    \glsxtrbookindexmulticolsenv

    -

    +

    For example @@ -8040,14 +8035,14 @@ For example

     \renewcommand{\glsxtrbookindexmulticolsenv}{multicols*}
     
    -

    -

    Each top-level entry is displayed using -


    +

    Each top-level entry is displayed using +


    \glsxtrbookindexname{label}

    -

    +

    where the entry is identified by ⟨label⟩. This just does \glossentryname{ -

    or if you want the description (if set): +

    or if you want the description (if set): @@ -8075,30 +8070,30 @@ default. For example, if you want the symbol to be included:  \ifglshasdesc{#1}{\space \glossentrydesc{#1}\glspostdescription}{}% } -

    (which picks up the post-description hook). -

    Alternatively you can use the

    (which picks up the post-description hook). +

    Alternatively you can use the \glsxtrpostnamecategory⟩ hook to append information after the name according to the entry’s category. -

    Sub-entries are displayed using -


    Sub-entries are displayed using +


    \glsxtrbookindexsubname{label}

    -

    +

    which just defaults to \glsxtrbookindexname{label}. -

    The separator used before the location list for top-level entries is given +

    The separator used before the location list for top-level entries is given by -



    \glsxtrbookindexprelocation{label}

    -

    +

    where ⟨label⟩ is the entry’s label. This checks if the location field has been set. If it @@ -8110,7 +8105,7 @@ has, it does

     ,\glsxtrprelocation
     
    -

    otherwise it just does

    otherwise it just does \glsxtrprelocation (which defaults to \space). If you’re not using bib2gls, the location field won’t be set. -

    The separator used before the location list for sub-entries is given by -


    The separator used before the location list for sub-entries is given by +


    \glsxtrbookindexsubprelocation{label}

    -

    +

    which defaults to \glsxtrbookindexprelocation{label}. -

    The actual location list is encapsulated with: -


    The actual location list is encapsulated with: +


    \glsxtrbookindexlocation{label}{location list}

    -

    +

    for top-level entries and -



    \glsxtrbookindexsublocation{label}{location list}

    -

    +

    for sub-entries. These both just do ⟨location list⟩ by default. -

    The separator used between a top-level parent and child entry is given +

    The separator used between a top-level parent and child entry is given by -



    \glsxtrbookindexparentchildsep

    -

    +

    This defaults to \nopagebreak. -

    The separator used between a sub-level parent and child entry is given +

    The separator used between a sub-level parent and child entry is given by -



    \glsxtrbookindexparentsubchildsep

    -

    +

    This defaults to \glsxtrbookindexparentchildsep. -

    The separator between top-level entries is given by -


    The separator between top-level entries is given by +


    \glsxtrbookindexbetween{label1}{label2}

    -

    +

    This comes after the entry given by ⟨label1⟩, if the entry has no children, or after the last descendent otherwise, so it always comes immediately before the entry given by ⟨label2⟩ unless the entry occurs at the start of a group. This does nothing by default. -

    The separator between two level 1 entries is given by -


    The separator between two level 1 entries is given by +


    \glsxtrbookindexsubbetween{label1}{label2}

    -

    -

    The separator between two level 2 entries is given by -


    +

    The separator between two level 2 entries is given by +


    \glsxtrbookindexsubsubbetween{label1}{label2}

    -

    +

    At the end of each letter group, the following hooks are done in order: -



    \glsxtrbookindexsubsubatendgroup{sub-sub-label}

    -

    -


    +


    \glsxtrbookindexsubatendgroup{sub-label}

    -

    -


    +


    \glsxtrbookindexatendgroup{label}

    -

    +

    where ⟨sub-sub-label⟩ is the label of the last level 2 entry, ⟨sub-label⟩ is the label of the last level 1 entry and ⟨label⟩ is the label of the last level 0 entry. -

    For example, the resource option

    For example, the resource option seealso=omit instructs -

    This uses

    This uses \glstreesubitem and \glstreesubsubitem to indent the cross-reference according to the next level down, so the cross-reference for a top-level entry is aligned @@ -8273,7 +8268,7 @@ indented a bit further (but it won’t be aligned with any deeper level as t class="cmss-10">bookindex style only supports a maximum of two sub-levels). -

    The

    The bookindex style uses group headings. (If you use bib2gls remember to invoke it with the --group or -g switch.) The heading will use -



    \glsxtrbookindexbookmark{group title}{name}

    -

    +

    If \pdfbookmark has been defined, this will use that command to bookmark the group title. If \pdfbookmark hasn’t been defined, this command does nothin. -

    The group heading is formatted according to -


    The group heading is formatted according to +


    \glsxtrbookindexformatheader{group title}

    -

    +

    which is defined as @@ -8318,14 +8313,14 @@ which is defined as   \par{\centering\glstreegroupheaderfmt{#1}\par}% } -

    where

    where \glstreegroupheaderfmt is provided by the glossary-tree package, which is automatically loaded. Note that the entry names aren’t encapsulated with \glstreenamefmt. -

    The

    The glossary-bookindex package provides some supplementary commands that aren’t used by default, but may be used when adjusting the style. These commands @@ -8333,43 +8328,43 @@ should only be used within one of the \print…glossary commands. (That is, they should only be used in glossary styles.) -



    \glsxtrbookindexmarkentry{label}

    -

    +

    This writes information to the .aux file that can be read on the next run to obtain the first and last entry on each page of the glossary. -

    You can display the first entry associated with the current page using: -


    You can display the first entry associated with the current page using: +


    \glsxtrbookindexfirstmark

    -

    +

    and the last entry associated with the current page using: -



    \glsxtrbookindexlastmark

    -

    +

    These do nothing if there are no entries marked on the current page (or if the document build isn’t up to date). -

    The entry is formatted using: -


    The entry is formatted using: +


    \glsxtrbookindexfirstmarkfmt{label}

    -

    +

    for the first instance and -



    \glsxtrbookindexlastmarkfmt{label}

    -

    +

    for the last. -

    These commands are designed for use in page headers or footers where the page +

    These commands are designed for use in page headers or footers where the page number is stable. For example, \glsxtrbookindexname can be redefined to mark the current entry: @@ -8383,7 +8378,7 @@ current entry:   \glossentryname{#1}% } -

    If you only want to mark the top-level entries, remember to redefine +

    If you only want to mark the top-level entries, remember to redefine \glsxtrbookindexsubname as it defaults to \glsxtrbookindexname: @@ -8396,8 +8391,8 @@ class="cmtt-10">\glsxtrbookindexname:   \glossentryname{#1}% } -

    -

    Then if you’re using

    +

    Then if you’re using fancyhdr you can set the page style to show the first and last entry for the current page with: @@ -8412,14 +8407,13 @@ entry for the current page with:   \cfoot{}%   \rfoot{\glsxtrbookindexlastmark}% -

    -

    +

    +

    -

    Top

    3.2 glossary-longextra package

    -

    As from version 1.37, the glossary-longextra package +

    As from version 1.37, the glossaries-extra package comes with the supplementary package glossary-longextratabular instead. In order to do this you must use -



    \GlsLongExtraUseTabulartrue

    -

    +

    before the style is set. For example: @@ -8451,7 +8445,7 @@ class="cmti-10">before the style is set. For example: \GlsLongExtraUseTabulartrue \setglossarystyle{long-name-desc} -

    or +

    or @@ -8460,52 +8454,52 @@ class="cmti-10">before the style is set. For example: \GlsLongExtraUseTabulartrue \printunsrtglossary[style={long-name-desc}] -

    If you use this setting, you can change the default vertical alignment with: -


    If you use this setting, you can change the default vertical alignment with: +


    \glslongextraTabularVAlign

    -

    +

    The default definition is c. -

    The column titles are formatted according to: -


    The column titles are formatted according to: +


    \glslongextraHeaderFmt{text}

    -

    +

    which simply does \textbf{text} by default. -

    The name column has the title given by

    The name column has the title given by \entryname and the column alignment is given by: -



    \glslongextraNameAlign

    -

    +

    which expands to l (left) by default. -

    The symbol column (where applicable) has the title given by

    The symbol column (where applicable) has the title given by \symbolname and the column alignment is given by: -



    \glslongextraSymbolAlign

    -

    +

    which expands to c (centred) by default. -

    The location list column (where applicable) has the title given by

    The location list column (where applicable) has the title given by \pagelistname and the column alignment is given by: -



    \glslongextraLocationAlign

    -

    +

    which expands to @@ -8514,20 +8508,20 @@ which expands to

     >{\raggedright}p{\glspagelistwidth}
     
    -

    by default. (Ragged-right paragraph,

    by default. (Ragged-right paragraph, \glspagelistwidth is defined in glossary-long, which is automatically loaded.) -

    The description column has the title given by

    The description column has the title given by \descriptionname and the column alignment is given by: -



    \glslongextraDescAlign

    -

    +

    which expands to @@ -8536,22 +8530,22 @@ which expands to

     >{\raggedright}p{\glsdescwidth}
     
    -

    by default. (Ragged-right paragraph,

    by default. (Ragged-right paragraph, \glsdescwidth is defined in glossary-long, which is automatically loaded.) -

    Unlike the long styles provided by the base

    Unlike the long styles provided by the base glossaries package, these new styles try to determine the value of \glsdescwidth at the start of the glossary according to the number of columns provided by the style. The calculations are performed by the following commands: -



    \glslongextraSetDescWidth

    -

    +

    This is used by the styles that have a name and description column. The value of \glsdescwidth is computed as: @@ -8560,7 +8554,7 @@ class="cmtt-10">\glsdescwidth is computed as: \glsdescwidth = \linewidth- 4\tabcolsep- W

    -

    where

    where W is a guess at the width of the name column. This is first set to the width of the name column header:

    @@ -8574,19 +8568,19 @@ class="cmsy-10">}
    If any names in that column are larger than this, then you need to specify the widest name using: -



    \glslongextraSetWidest{widest name}

    -

    +

    or -



    \glslongextraUpdateWidest{text}

    -

    +

    These work like the analogous commands \glssetwidest and \glsupdatewidest @@ -8606,7 +8600,7 @@ class="cmtt-10">bib2gls’s set-widest option. If you have the entry counter enabled, you will need to include this with the name for the extra material to be taken into account. -

    The name isn’t shown for child entries by default, but if you change this and you +

    The name isn’t shown for child entries by default, but if you change this and you want to use set-widest option (for bib2gls v1.8+) then you need to redefine: -



    \glslongextraUpdateWidestChild{level}{text}

    -

    +

    This does nothing by default, but if you are including the child names then you need to redefine this command: @@ -8634,8 +8628,8 @@ to redefine this command:  \glslongextraUpdateWidest{#2}% } -

    -

    If you prefer to set an explicit width for the description column then you need to +

    +

    If you prefer to set an explicit width for the description column then you need to redefine \glslongextraSetDescWidth. For example: @@ -8647,14 +8641,14 @@ class="cmtt-10">\glslongextraSetDescWidth. For example:   \setlength{\glsdescwidth}{0.6\linewidth}% } -

    -

    The styles that have a name, symbol and description,

    +

    The styles that have a name, symbol and description, \glsdescwidth is set with: -



    \glslongextraSymSetDescWidth

    -

    +

    This first uses \glslongextraSetDescWidth and then subtracts 2\tabcolsep and @@ -8672,7 +8666,7 @@ you can redefine this command. For example:   \addtolength{\glsdescwidth}{-3cm}% } -

    or +

    or @@ -8682,14 +8676,14 @@ you can redefine this command. For example:   \setlength{\glsdescwidth}{.5\linewidth}% } -

    -

    For the styles that have a name, description and location column,

    +

    For the styles that have a name, description and location column, \glsdescwidth is set using: -



    \glslongextraLocSetDescWidth

    -

    +

    This uses \glslongextraSetDescWidth and then subtracts 2\tabcolsep and @@ -8699,13 +8693,13 @@ class="cmtt-10">\glsdescwidth. You can redefine this command to set both \glsdescwidth and \glspagelistwidth if appropriate. -

    For the styles that have a name, description, symbol and location column, +

    For the styles that have a name, description, symbol and location column, \glsdescwidth is set using: -



    \glslongextraSymLocSetDescWidth

    -

    +

    This uses \glslongextraSymSetDescWidth and then subtracts 2\tabcolsep and @@ -8713,13 +8707,13 @@ class="cmtt-10">\tabcolsep and class="cmtt-10">\glspagelistwidth from \glsdescwidth. Again, you can redefine this command to explicitly set both lengths. -

    In all cases, the top-level name is formatted according to: -


    In all cases, the top-level name is formatted according to: +


    \glslongextraNameFmt{label}

    -

    +

    This does

    }
    which includes the entry counter (if enabled), the target and the post-name link. -

    The top-level description is formatted according to: -


    The top-level description is formatted according to: +


    \glslongextraDescFmt{label}

    -

    +

    This does \glossentrydesc{label} followed by the post-description hook. -

    The styles that have a symbol column format the symbol using: -


    The styles that have a symbol column format the symbol using: +


    \glslongextraSymbolFmt{label}

    -

    +

    This just does \glossentrysymbol{label}. -

    The styles that have a location list column format the list using: -


    The styles that have a location list column format the list using: +


    \glslongextraLocationFmt{label}{locations}

    -

    +

    This just does ⟨locations⟩ and ignores the label. -

    The child entries have their name formatted according to: -


    The child entries have their name formatted according to: +


    \glslongextraSubNameFmt{level}{label}

    -

    +

    where ⟨level⟩ is the hierarchical level. This defaults to:

    @@ -8796,34 +8790,34 @@ class="cmsy-10">}
    This includes the sub-entry counter (if enabled) and the target but doesn’t show the name. The child description is formatted according to: -



    \glslongextraSubDescFmt{level}{label}

    -

    +

    which defaults to just \glslongextraDescFmt{label} -

    The child symbol is formatted (where appropriate) according to: -


    The child symbol is formatted (where appropriate) according to: +


    \glslongextraSubSymbolFmt{level}{label}

    -

    +

    This just does \glslongextraSymbolFmt{label} by default. -

    The styles that have a location list column format the list for child entries +

    The styles that have a location list column format the list for child entries using: -



    \glslongextraSubLocationFmtlevellabel}{locations}

    -

    +

    This just does ⟨locations⟩ and ignores the level and label. -

    The letter group headings are formatted according to: -


    The letter group headings are formatted according to: +


    \glslongextraGroupHeading{n}{label}

    -

    +

    which does nothing by default. The first argument ⟨n⟩ is the number of columns in the table. The second argument ⟨label⟩ is the group label (not the title, although they may happen to be the same). -

    This can be redefined to show the group heading. For example: +

    This can be redefined to show the group heading. For example: @@ -8862,11 +8856,11 @@ happen to be the same).   \noalign{\vskip\normalbaselineskip}% } -

    This ignores the first argument and just puts the group title in the first column +

    This ignores the first argument and just puts the group title in the first column formatted according to \glslongextraHeaderFmt (to match the column header). -

    Remember that you can also adjust the styles through category attributes. The +

    Remember that you can also adjust the styles through category attributes. The name column’s title is given by \entryname, the description column’s title is given by \descriptionname and (where present) the symbol column \symbolname, as for the other long styles that have headers.

    -

    -

    -

    long-name-desc This is like the longragged-booktabs style but doesn’t show - the location list (regardless of the style but doesn’t show the + location list (regardless of the nonumberlist option). The name is shown - in the first column and the description in the second. -

    The symbol is not displayed. The header row is produced with: -


    option). The name is shown in + the first column and the description in the second. +

    The symbol is not displayed. The header row is produced with: +


    \glslongextraNameDescHeader

    -

    +

    This essentially uses the same code as for longragged-booktabs but makes it @@ -8905,16 +8897,16 @@ class="cmss-10">longragged-booktabs -

    where: -


    where: +


    \glslongextraNameDescTabularHeader

    -

    +

    sets up the header and -



    \glslongextraNameDescTabularFooter

    -

    +

    sets up the footer. If you have setup the tabulartabular environment (and \glslongextraNameDescHeader isn’t used). -

    For example, to simply remove the header and footer (for the default

    For example, to simply remove the header and footer (for the default longtable @@ -8937,7 +8929,7 @@ class="cmss-10">longtable \renewcommand{\glslongextraNameDescHeader}{} -

    Or to change the name alignment to centred: +

    Or to change the name alignment to centred: @@ -8945,79 +8937,70 @@ class="cmss-10">longtable \renewcommand{\glslongextraNameAlign}{c} -

    +

    -

    -

    -

    long-name-desc-loc This is like the long-name-desc style but has a third column - for the location list. The style but has a third column for + the location list. The longtable header is given by: -



    \glslongextraNameDescLocationHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraNameDescLocationTabularHeader

    -

    +

    and -



    \glslongextraNameDescLocationTabularFooter

    -

    +

    -

    -

    -

    long-desc-name This is like the long-name-desc style but swaps the columns. - Note that if the entry counter is displayed it will appear at the start of the + id="dx1-25067"> style but swaps the columns. Note + that if the entry counter is displayed it will appear at the start of the second column by default. The longtable header is formatted according to: -



    \glslongextraDescNameHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraDescNameTabularHeader

    -

    +

    and -



    \glslongextraDescNameTabularFooter

    -

    - - - +

    -

    -

    -

    long-loc-desc-name This has three columns containing the location list, description and name. The longtable header is formatted according to: -



    \glslongextraLocationDescNameHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraLocationDescNameTabularHeader

    -

    +

    and -



    \glslongextraLocationDescNameTabularFooter

    -

    +

    -

    -

    -

    long-name-desc-sym This is has three columns, with the name in the first, the description in the second and the symbol in the third. -

    The

    The longtable header row is produced with: -



    \glslongextraNameDescSymHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraNameDescSymTabularHeader

    -

    +

    and -



    \glslongextraNameDescSymTabularFooter

    -

    +

    -

    -

    -

    long-name-desc-sym-loc This is has four columns, with the name in the first, the description in the second, the symbol in the third and the location list in the fourth. - - - -

    The

    The longtable header row is produced with: -



    \glslongextraNameDescSymLocationHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraNameDescSymLocationTabularHeader

    -

    +

    and -



    \glslongextraNameDescSymLocationTabularFooter

    -

    +

    + + +

    -

    -

    -

    long-name-sym-desc This is like the long-name-desc-sym but the second and - third column are swapped. The but the second and third + column are swapped. The longtable header row is given by: -



    \glslongextraNameSymDescHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraNameSymDescTabularHeader

    -

    +

    and -



    \glslongextraNameSymDescTabularFooter

    -

    +

    -

    -

    -

    long-name-sym-desc-loc This is like the long-name-desc-sym-loc but the - second and third column are swapped. The but the second and + third column are swapped. The longtable header row is given - by: -


    header row is given by: +


    \glslongextraNameSymDescLocationHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraNameSymDescLocationTabularHeader

    - - - -

    +

    and -



    \glslongextraNameSymDescLocationTabularFooter

    -

    +

    -

    -

    -

    long-sym-desc-name This has the symbol in the first column, the description in - the second and the name in the third. The This has the symbol in the first column, the description in the + second and the name in the third. The longtable header row is given by: -



    \glslongextraSymDescNameHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraSymDescNameTabularHeader

    -

    +

    and -



    \glslongextraSymDescNameTabularFooter

    -

    +

    + + +

    -

    -

    -

    long-loc-sym-desc-name This has the location list in the first column, symbol in - the second column, the description in the third and the name in the fourth. The + id="dx1-25125"> This has the location list in the first column, symbol in the + second column, the description in the third and the name in the fourth. The longtable header row is given by: -



    \glslongextraLocationSymDescNameHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraLocationSymDescNameTabularHeader

    -

    +

    and -



    \glslongextraLocationSymDescNameTabularFooter

    -

    - - - +

    -

    -

    -

    long-desc-sym-name This has the description in the first column, the symbol in - the second and the name in the third. The This has the description in the first column, the symbol in the + second and the name in the third. The longtable header row is given by: -



    \glslongextraDescSymNameHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraDescSymNameTabularHeader

    -

    +

    and -



    \glslongextraDescSymNameTabularFooter

    -

    +

    -

    -

    -

    long-loc-desc-sym-name This has the location list in the first column, the - description in the second column, the symbol in the third and the name in the - fourth. The This has the location list in the first column, the description + in the second column, the symbol in the third and the name in the fourth. The + longtable header row is given by: -



    \glslongextraLocationDescSymNameHeader

    -

    +

    which similarly defined in terms of the commands used for the tabular version: -



    \glslongextraLocationDescSymNameTabularHeader

    -

    +

    and -



    \glslongextraLocationDescSymNameTabularFooter

    -

    +

    - - - -

    +

    -

    Top

    3.3 glossary-topic package

    -

    As from version 1.40, the glossary-topic package +

    As from version 1.40, the glossaries-extra package comes with the supplementary package glossary-topictree style.

    -

    topic

    -

    This style is similar to the

    This style is similar to the tree style but the indentation doesn’t start until the second sub-item level. The top-level entries have the name displayed @@ -9341,24 +9304,22 @@ class="cmss-10">treenogroupskip setting. -

    -

    +

    topicmcols

    -

    This style is like the

    This style is like the topic style but the sub-entries are placed inside a style but the sub-entries are placed inside a + multicols - environment. The environment name is supplied in the value of the + id="dx1-26012"> environment. The environment name is supplied in the value of the command: -



    \glstopicColsEnv

    -

    +

    You can change this to the starred form. For example: @@ -9367,24 +9328,24 @@ class="cmtt-10">\glstopicColsEnv


          \renewcommand{\glstopicColsEnv}{multicols*}
     
    -

    The number of columns is given by the command: -


    The number of columns is given by the command: +


    \glstopicCols

    -

    +

    The default value is 2.

    -

    Both styles use the following commands. -


    Both styles use the following commands. +


    \glstopicParIndent

    -

    +

    This command is a length that’s used for the paragraph indentation in any multi-paragraph description for top-level entries, but not for the first paragraph (at the start of the description) which isn’t indented. -



    \glstopicSubIndent

    -

    +

    This command is a length that’s used to calculate the hanging indentation for sub-entries. The level 1 sub-entries don’t indent the name. Level n sub-entries have @@ -9394,32 +9355,32 @@ class="cmsy-10">- 1)×\glstopicSubIndent. The hanging indent depends on whether or not a widest name has been set for the level. -

    As from v1.46, there is also a length for additional indentation used +

    As from v1.46, there is also a length for additional indentation used in the second paragraph onwards for child entries with multi-paragraph descriptions: -



    \glstopicSubItemParIndent

    -

    +

    This is initialised to \parindent when glossary-topic is loaded. -



    \glstopicInit

    -

    +

    Hook used at the start of the glossary. Does nothing by default. -

    Although the styles don’t support letter groups by default, if you have many +

    Although the styles don’t support letter groups by default, if you have many topics (top-level entries) and you feel that it would help the reader to divide them up into headed letter groups, you can redefine: -



    \glstopicGroupHeading{group label}

    -

    +

    This does nothing by default. If you want to redefine it, you can fetch the title corresponding to the group label with \glsxtrgetgrouptitle. For @@ -9434,113 +9395,113 @@ example:   \section*{\thisgrptitle}% } -

    Remember that if you use

    Remember that if you use bib2gls, you will need the --group (or -g) switch to support this. -



    \glstopicItem{label}{location list}

    -

    +

    Used to format the name, symbol, description and location list for the top-level entries. This starts with a paragraph break followed by: -



    \glstopicPreSkip

    -

    +

    which defaults to \medskip. There is then a hook: -



    \glstopicMarker{label}

    -

    +

    which does nothing by default, but may be redefined. For example, to add a line to the table of contents. The name and symbol are set in the form of a title using: -



    \glstopicTitle{label}

    -

    +

    This uses \Glossentryname which converts the first letter to upper case. If there’s a symbol, this is added in parentheses. Both name and symbol (if present) are encapsulated by -



    \glstopicTitleFont{text}

    -

    +

    This uses a bold, large font by default. -

    If the entry has the description key set (tested with

    If the entry has the description key set (tested with \ifglshasdesc) then a paragraph break is inserted followed by: -



    \glstopicMidSkip

    -

    +

    which defaults to \smallskip. This is followed by the description which is formatted according to: -



    \glstopicDesc{label}

    -

    +

    This just does \Glossentrydesc{label} followed by the post-description hook. -

    A paragraph break followed by: -


    A paragraph break followed by: +


    \glstopicPostSkip

    -

    +

    comes next regardless of whether or not the description was displayed. This defaults to \smallskip. This is then followed by: -



    \glstopicLoc{label}{location list}

    -

    +

    which may be used to display the location list, but does nothing by default. -

    The sub-entries first set up the paragraph and hanging indentations using: -


    The sub-entries first set up the paragraph and hanging indentations using: +


    \glstopicAssignSubIndent{level}

    -

    +

    This uses: -



    \glstopicAssignWidest{level}

    -

    +

    to determine if a widest name has been set for the given level. -

    The sub-entry has its information displayed using: -


    The sub-entry has its information displayed using: +


    \glstopicSubItem{levellabel}{location}

    -

    +

    This encapsulates the name with: -



    \glstopicSubNameFont{text}

    -

    +

    By default this just uses \textbf. This is followed by: -



    \glstopicSubItemSep

    -

    +

    which defaults to \quad. The name and separator are passed in the ⟨text⟩ argument of: -



    \glstopicSubItemBox{level}{text}

    -

    +

    If a widest name was set for the given level, this will put ⟨text⟩ inside a box of that width otherwise it just does ⟨text⟩. -

    This is followed by the symbol in parentheses if set. Then, if the description is set, +

    This is followed by the symbol in parentheses if set. Then, if the description is set, the description and post-description hook are displayed followed by: -



    \glstopicSubPreLocSep

    -

    +

    (This command isn’t used if the description isn’t set.) -

    Finally the location list is displayed using: -


    Finally the location list is displayed using: +


    \glstopicSubLoc{label}{location}

    -

    +

    which just does ⟨location⟩ by default.

    -

    -

    +

    Top

    4. Abbreviations

    -

    The new abbreviation system provided by

    The new abbreviation system provided by glossaries-extra is more flexible than the acronym handling provided by the base glossaries package. The @@ -9619,7 +9580,7 @@ class="cmtt-10">\gls (and its variants) displays the desired output. See the file sample-abbr-styles.pdf for samples of all provided abbreviation styles. -

    Don’t use

    -

    -

    This lack of flexibility in

    +

    This lack of flexibility in \glsfirst can be demonstrated with the following document: @@ -9655,7 +9616,7 @@ document: Compare \gls{ex}['s] with \glsfirst{ex}['s]. \end{document} -

    The

    The first use \gls has the footnote marker after the inserted material “EX’spostfootnote\footnote is in the post-link hook. -

    There are some instances where

    There are some instances where \glstext can be useful. It’s used internally by \glsfmttext\glsfmttext. -

    Abbreviations include acronyms (words formed from initial letters, such as +

    Abbreviations include acronyms (words formed from initial letters, such as “laser”), initialisms (initial letters of a phrase, such as “html”, that aren’t pronounced as words) and contractions (where parts of words are omitted, often replaced by an apostrophe, such as “don’t”). The “acronym” code provided by the @@ -9698,10 +9659,10 @@ to be described for readers unfamiliar with the term). They are therefore more like a regular term, which may or may not require a description in the glossary. -

    The

    The glossaries-extra package corrects this misnomer, and provides better abbreviation handling, with -



    \newabbreviation[optionsshort}{long}

    -

    -

    This sets the

    +

    This sets the category key to abbreviation by default, but that value may @@ -9735,10 +9696,10 @@ class="cmti-10">short⟩ (without appending the plural suffix). See §6 7 Categories for further details. -

    See

    See §2.8 \glsxtrshort within ⟨short⟩ or ⟨long⟩. -

    Make sure that you set the category attributes before defining new abbreviations +

    Make sure that you set the category attributes before defining new abbreviations or they may not be correctly applied.
    -

    -

    The

    +

    The \newacronym command provided by the glossaries package is redefined by @@ -9771,7 +9732,7 @@ href="#sec:acronymmods">§2.9 Acronym Style Modifications) so -



    \newacronym[optionsshort}{long}

    -

    +

    is now equivalent @@ -9805,7 +9766,7 @@ class="cmtt-10">{⟨long}
    -

    The

    The \newabbreviation command is superficially similar to the glossaries package’s abbreviationglossaries package, although they may produce similar results.) -

    The way the abbreviations are displayed by commands like

    The way the abbreviations are displayed by commands like \gls varies according to the abbreviation style. The styles are set according to the entry’s category so, unlike the base glossaries package, you can have different abbreviation styles within the same glossary. -

    There are two types of full forms. The display full form, which is used on +

    There are two types of full forms. The display full form, which is used on first use by commands like short-footnote, the display and inline full forms are different. -

    These formatting commands aren’t stored in the

    These formatting commands aren’t stored in the short, shortplural\glsxtrlong and the case-changing variants don’t use \glsfirstlongfont. -

    You can apply the formatting command used for the short form to some arbitrary +

    You can apply the formatting command used for the short form to some arbitrary text using -



    \glsuseabbrvfont{text}{category}

    -

    +

    where ⟨category⟩ is the category label that identifies the abbreviation style. Similarly for the formatting command use by the long form: -



    \glsuselongfont{text}{category}

    -

    -

    You can’t use the acronym commands provided by the base package with the new +

    +

    You can’t use the acronym commands provided by the base package with the new abbreviations provided by the glossaries-extra package. The style commands that replace \forallacronyms command, which iterates over all acronym lists, should be replaced with: -



    \forallabbreviationlists{cs}{body}

    -

    +

    -

    Top

    4.1 Tagging Initials

    -

    If you would like to tag the initial letters in the long form such that those letters are +

    If you would like to tag the initial letters in the long form such that those letters are underlined in the glossary but not in the main part of the document, you can use -



    \GlsXtrEnableInitialTagging{categories}{cs}

    -

    +

    before you define your abbreviations. -

    This command (robustly) defines ⟨

    This command (robustly) defines ⟨cs⟩ (a control sequence) to accept a single argument, which is the letter (or letters) that needs to be tagged. The normal behaviour of this command within the document is to simply do its argument, but in @@ -9946,19 +9907,19 @@ href="#catattr.tagging">tagging attribute set to “true”. For those cases it will use -



    \glsxtrtagfont{text}

    -

    +

    This command defaults to \underline{text} but may be redefined as required. -

    The control sequence ⟨

    The control sequence ⟨cs⟩ can’t already be defined when used with the unstarred version of \GlsXtrEnableInitialTagging for safety reasons. The starred @@ -9967,7 +9928,7 @@ class="cmti-10">cs⟩. As with redefining any commands, ensure that you don’t redefine something important. In fact, just forget the existence of the starred version and let’s pretend I didn’t mention it. -

    The first argument of

    The first argument of \GlsXtrEnableInitialTagging is a comma-separated list of category names. The §6 7 Categories) but this must be done before the glossary is displayed. -

    The accompanying sample file

    The accompanying sample file sample-mixtures.tex uses initial tagging for both @@ -9997,7 +9958,7 @@ class="cmss-10">abbreviation \GlsXtrEnableInitialTagging{acronym,abbreviation}{\itag} -

    This defines the command

    This defines the command \itag which can be used in the definitions. For example: @@ -10016,25 +9977,25 @@ example: \newabbreviation{xml}{XML}  {e\itag{x}tensible \itag{m}arkup \itag{l}anguage} -

    The underlining of the tagged letters only occurs in the glossary and then only for +

    The underlining of the tagged letters only occurs in the glossary and then only for entries with the tagging attribute set. -

    +

    -

    Top

    4.2 Abbreviation Styles

    -

    The abbreviation style must be set before abbreviations are defined using: -


    The abbreviation style must be set before abbreviations are defined using: +


    \setabbreviationstyle[category]{style-name}

    -

    +

    where ⟨style-name⟩ is the name of the style and ⟨category⟩ is the category label @@ -10056,11 +10017,11 @@ class="cmss-10">regular attribute to true. -

    If you want to apply different styles to groups of abbreviations, assign a +

    If you want to apply different styles to groups of abbreviations, assign a different category to each group and set the style for the given category.
    -

    -

    Note that

    +

    Note that \setacronymstyle is disabled by glossaries-extra. Use

    @@ -10082,7 +10043,7 @@ class="tcrm-1000">§2.9 Acronym Style Modifications). However the original acronym interface is incompatible with all the commands described here. -

    Abbreviations can be used with the standard

    Abbreviations can be used with the standard glossaries commands, such as \gls, @@ -10092,7 +10053,7 @@ class="cmtt-10">\acrshort\acronymfont). The short form can be produced with: -



    \glsxtrshort[optionslabel}[insert]

    -

    +

    (Use this instead of \acrshort.) -

    The long form can be produced with -


    The long form can be produced with +


    \glsxtrlong[optionslabel}[insert]

    -

    +

    (Use this instead of \acrlong.) -

    The

    The inline full form can be produced with -



    \glsxtrfull[optionslabel}[insert]

    -

    +

    (This this instead of \acrfull.) -

    In general, it’s best not to use commands like

    In general, it’s best not to use commands like \glsfirst for abbreviations, especially if you use the ⟨insert⟩ optional argument. Use either \gls (possibly with a reset) or \glsxtrfull.
    -

    -

    As mentioned earlier, the inline full form may not necessarily match the format +

    +

    As mentioned earlier, the inline full form may not necessarily match the format used on first use with short-nolongfirst use, but the full form will display the long form followed by the short form in parentheses. -

    If you want to use an abbreviation in a chapter or section title, use the +

    If you want to use an abbreviation in a chapter or section title, use the commands described in §5 Entries in Sectioning Titles, Headers, Captions and Contents instead.
    -

    -

    The arguments ⟨

    +

    The arguments ⟨options⟩, ⟨label⟩ and ⟨insert⟩ are the same as for commands such as \glstext. There are also analogous case-changing commands: -

    First letter upper case short form: -


    First letter upper case short form: +


    \Glsxtrshort[optionslabel}[insert]

    -

    -

    First letter upper case long form: -


    +

    First letter upper case long form: +


    \Glsxtrlong[optionslabel}[insert]

    -

    -

    First letter upper case inline full form: -


    +

    First letter upper case inline full form: +


    \Glsxtrfull[optionslabel}[insert]

    -

    -

    All upper case short form: +

    +

    All upper case short form: -



    \GLSxtrshort[optionslabel}[insert]

    -

    -

    All upper case long form: -


    +

    All upper case long form: +


    \GLSxtrlong[optionslabel}[insert]

    -

    -

    All upper case inline full form: -


    +

    All upper case inline full form: +


    \GLSxtrfull[optionslabel}[insert]

    -

    -

    Plural forms are also available. -

    Short form plurals: -


    +

    Plural forms are also available. +

    Short form plurals: +


    \glsxtrshortpl[optionslabel}[insert]

    -

    -


    +


    \Glsxtrshortpl[optionslabel}[insert]

    -

    -


    +


    \GLSxtrshortpl[optionslabel}[insert]

    -

    -

    Long form plurals: -


    +

    Long form plurals: +


    \glsxtrlongpl[optionslabel}[insert]

    -

    -


    +


    \Glsxtrlongpl[optionslabel}[insert]

    -

    -


    +


    \GLSxtrlongpl[optionslabel}[insert]

    -

    -

    Full form plurals: -


    +

    Full form plurals: +


    \glsxtrfullpl[optionslabel}[insert]

    -

    -


    +


    \Glsxtrfullpl[optionslabel}[insert]

    -

    -


    +


    \GLSxtrfullpl[optionslabel}[insert]

    -

    -

    Be careful about using

    +

    Be careful about using \glsentryfull, \Glsentryfull, \glsentryfullpl and @@ -10346,13 +10307,13 @@ class="cmtt-10">\glsentryshort etc.
    -

    -

    +

    +

    -

    Top

    4.3 Shortcut Commands

    -

    The abbreviation shortcut commands can be enabled using the

    The abbreviation shortcut commands can be enabled using the shortcuts=abbreviations4.1. -


    @@ -10692,10 +10653,10 @@ class="cmtt-10">\newabbreviation
    -

    Top

    4.4 Predefined Abbreviation Styles

    -

    There are two types of abbreviation styles: those that treat the abbreviation as a +

    There are two types of abbreviation styles: those that treat the abbreviation as a regular entry (so that \gls uses \gls uses \glsxtrgenabbrvfmt). -

    The regular entry abbreviation styles set the

    The regular entry abbreviation styles set the regular attribute to “true” for the @@ -10731,7 +10692,7 @@ class="cmss-10">long\glsxtrshort. -

    The other abbreviation styles don’t modify the

    The other abbreviation styles don’t modify the regular attribute. The \glsxtrfullformat that are defined by the style). -

    In both cases, the

    In both cases, the first use of \gls may not match the text produced by \glsfirst (and likewise for the plural and case-changing versions). -

    The sample file

    The sample file sample-abbr-styles.tex demonstrates all predefined styles described here. -

    For the “sc” styles that use

    For the “sc” styles that use \textsc, be careful about your choice of fonts as some only have limited support. For example, you may not be able to combine bold @@ -10770,8 +10731,8 @@ class="cmss-10">fontenc package with the T1 option or something similar.
    -

    -

    Many of the styles have helper commands in the form

    +

    Many of the styles have helper commands in the form \glsxtr...name and \glsxtr...sort that are expanded within the \theregister⟩. It’s essential that these expand when the abbreviation is defined so don’t hide them behind no-expandable content if you redefine these helper commands. -

    The parenthetical styles, such as

    The parenthetical styles, such as long-short, use -



    \glsxtrparen{text}

    -

    +

    to set the parenthetical material. This just puts parentheses around the text: (⟨text⟩). -

    The basic abbreviation styles, such as

    The basic abbreviation styles, such as long-short and short-long use -



    \glsabbrvdefaultfont{text}

    -

    +

    for the short form. This just does ⟨text⟩ by default. (That is, no font change is applied.) On first use, -



    \glsfirstabbrvdefaultfont{text}

    -

    +

    is used instead. By default, this just does \glsabbrvdefaultfont. The long form is formatted according to -



    \glslongdefaultfont{text}

    -

    +

    which again just does ⟨text⟩ (no font change). On first use, -



    \glsfirstlongdefaultfont{text}

    -

    +

    is used instead. This just does \glslongdefaultfont. The plural suffix used for the short form is given by -



    \glsxtrabbrvpluralsuffix

    -

    +

    which defaults to \glspluralsuffix. -

    The small-cap styles, such as

    The small-cap styles, such as long-short-sc and short-sc-long, use -



    \glsabbrvscfont{text}

    -

    +

    which uses \textsc.4.1 On first use -



    \glsfirstabbrvscfont{text}

    -

    +

    is used instead. This uses \glsabbrvscfont by default. So redefine, \glsabbrvscfont to change first and subsequent uses or \glsfirstabbrvscfont to change just the first use. -

    The long form for the small-cap styles uses

    The long form for the small-cap styles uses \glslongdefaultfont or \glsfirstlongdefaultfont, as with the basic style. The suffix is given by -



    \glsxtrscsuffix

    -

    +

    This is defined as @@ -10902,7 +10863,7 @@ This is defined as

     \newcommand*{\glsxtrscsuffix}{\glstextup{\glsxtrabbrvpluralsuffix}}
     
    -

    The

    The \glstextup command is provided by glossaries and is used to switch off @@ -10921,48 +10882,48 @@ class="cmss-10">noshortplural attributes. See §6 7 Categories for further details.) -

    The small styles, such as

    The small styles, such as long-short-sm and short-sm-long, use -



    \glsabbrvsmfont{text}

    -

    +

    which uses \textsmaller. (This requires the relsizes package, which isn’t loaded by glossaries-extra, so must be loaded explicitly.) On first use -



    \glsfirstabbrvsmfont{text}

    -

    +

    is used instead. This uses \glsabbrvsmfont by default. -

    The long form for the smaller styles uses

    The long form for the smaller styles uses \glslongdefaultfont or \glsfirstlongdefaultfont, as with the basic style. The suffix is given by -



    \glsxtrsmsuffix

    -

    +

    which defaults to just \glsxtrabbrvpluralsuffix. -

    The “short-em” (emphasize short) styles, such as

    The “short-em” (emphasize short) styles, such as long-short-em or short-em-long, use -



    \glsabbrvemfont{text}

    -

    +

    On first use -



    \glsfirstabbrvemfont{text}

    -

    +

    is used instead. This uses \glsabbrvemfont by default. The suffix is given by -



    \glsxtremsuffix

    -

    +

    which defaults to just \glsxtrabbrvpluralsuffix. The long form is as for the basic style unless the style is a “long-em” style. -

    The “long-em” (emphasize long) styles, such as

    The “long-em” (emphasize long) styles, such as long-em-short-em or short-em-long-em, use -



    \glsfirstlongemfont{long-form}

    -

    +

    instead of \glsfirstlongdefaultfont{long-form} and -



    \glslongemfont{long-form}

    -

    +

    instead of \glslongdefaultfont{long-form}. The first form \glsfirstlongemfont is initialised to use \glslongemfont. -

    The user styles have similar commands: -


    The user styles have similar commands: +


    \glsabbrvuserfont{text}

    -

    +

    for the short form, -



    \glsfirstabbrvuserfont{text}

    -

    +

    for the first use short form, -



    \glslonguserfont{text}

    -

    +

    for the long form, -



    \glsfirstlonguserfont{text}

    -

    +

    for the first use long form, and -



    \glsxtrusersuffix

    -

    +

    for the short plural suffix. -

    Similarly for the hyphen styles: -


    Similarly for the hyphen styles: +


    \glsabbrvhyphenfont{text}

    -

    +

    for the short form, -



    \glsfirstabbrvhyphenfont{text}

    -

    +

    for the first use short form, -



    \glslonghyphenfont{text}

    -

    +

    for the long form, -



    \glsfirstlonghyphenfont{text}

    -

    +

    for the first use long form, and -



    \glsxtrhyphensuffix

    -

    +

    for the short plural suffix. -

    Similarly for the “only” styles, such as

    Similarly for the “only” styles, such as long-only-short-only: -



    \glsabbrvonlyfont{text}

    -

    +

    for the short form, -



    \glsfirstabbrvonlyfont{text}

    -

    +

    for the first use short form, -



    \glslongonlyfont{text}

    -

    +

    for the long form, -



    \glsfirstlongonlyfont{text}

    -

    +

    for the first use long form, and -



    \glsxtronlysuffix

    -

    +

    for the short plural suffix. -

    Note that by default inserted material (provided in the final optional argument of +

    The “short-sc-only” styles, such as long-only-short-sc-only: +


    \glsabbrvsconlyfont{text}

    +

    +for the short form (which uses \glsabbrvscfont), and +


    \glsfirstabbrvsconlyfont{text}

    +

    +which uses \glsabbrvsconlyfont. The short plural suffix is obtained from: +


    \glsxtrsconlysuffix

    +

    +This uses \glsxtrscsuffix. For other font types, use the one of “short-only” styles +and redefine \glsabbrvonlyfont as required. (The smallcaps style is a special case +as its plural suffix is awkward.) +

    The “postshort-sc-user” styles, such as long-postshort-sc-user: +


    \glsabbrvscuserfont{text}

    +

    +for the short form (which uses \glsabbrvscfont), and +


    \glsfirstabbrvscuserfont{text}

    +

    +which uses \glsabbrvscuserfont. The short plural suffix is obtained from: +


    \glsxtrscusersuffix

    +

    +This uses \glsxtrscsuffix. +

    Note that by default inserted material (provided in the final optional argument of commands like \gls), is placed outside the font command in the predefined styles. To move it inside, use: -



    \glsxtrinsertinsidetrue

    -

    +

    This applies to all the predefined styles. For example: @@ -11153,17 +11175,17 @@ This applies to all the predefined styles. For example: \renewcommand*{\glsfirstlongdefaultfont}[1]{\emph{#1}} \glsxtrinsertinsidetrue -

    This will make the long form and the inserted text emphasized, whereas the default +

    This will make the long form and the inserted text emphasized, whereas the default (without \glsxtrinsertinsidetrue) would place the inserted text outside of the emphasized font. -

    Note that for some styles, such as the

    Note that for some styles, such as the short-long, the inserted text would be + id="dx1-31095">, the inserted text would be placed inside the font command for the short form (rather than the long form in the above example). -

    Remember that

    Remember that \textsc renders lowercase letters as small capitals. Uppercase letters are rendered as normal uppercase letters, so if you specify the short form in @@ -11177,8 +11199,8 @@ convert its argument to lowercase. For example:

     \renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeLowercase{#1}}}
     
    -

    -

    If you want to easily switch between the “sc” and “sm” styles, you may find it +

    +

    If you want to easily switch between the “sc” and “sm” styles, you may find it easier to redefine this command to convert case: @@ -11188,14 +11210,14 @@ easier to redefine this command to convert case: \renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeTextLowercase{#1}}} \renewcommand*{\glsabbrvsmfont}[1]{\textsmaller{\MakeTextUppercase{#1}}} -

    -

    Some of the styles use -


    +

    Some of the styles use +


    \glsxtrfullsep{label}

    -

    +

    as a separator between the long and short forms. This is defined as a space by default, but may be changed as required. For example: @@ -11205,7 +11227,7 @@ default, but may be changed as required. For example:

     \renewcommand*{\glsxtrfullsep}[1]{~}
     
    -

    or +

    or @@ -11213,11 +11235,10 @@ default, but may be changed as required. For example:

     \renewcommand*{\glsxtrfullsep}[1]{\glsacspace{#1}}
     
    -

    -

    The new naming scheme for abbreviation styles is as follows:

    +

    +

    The new naming scheme for abbreviation styles is as follows:

      -
    • -

      field1⟩[-modifier1⟩]field2⟩[-modifier2⟩][-user] -

      This is for the parenthetical styles. The

      This is for the parenthetical styles. The -modifier⟩ parts may be omitted. These styles display ⟨field1⟩ or ⟨field2⟩ starts with “no” then that element is omitted from the display style (no parenthetical part) but is included in the inline style. -

      If the

      If the -modifier⟩ part is present, then the field has a font changing command applied to it. The special modifier -only indicates that field is only present according to whether or not the entry has been used. -

      If

      If post is present then ⟨field2⟩ is placed after the link-text using the post-link hook. -

      If the

      If the -user part is present, then the user1 value, if provided, is inserted + id="dx1-31098"> value, if provided, is inserted into the parenthetical material . (The field used for the inserted material may be changed.) -

      Examples:

      +

      Examples:

        -
      • -

        long-noshort-sc: ⟨: ⟨field1⟩ is the long form, the short form is set in smallcaps but omitted in the display style. -

      • -
      • -

        +

      • long-em-short-em: both the long form and the short form are + id="dx1-31100">: both the long form and the short form are emphasized. The short form is in parentheses. -

      • -
      • -

        +

      • long-short-em: the short form is emphasized but not the long form. + id="dx1-31101">: the short form is emphasized but not the long form. The short form is in parentheses. -

      • -
      • -

        +

      • long-short-user: if the : if the user1 key has been set, this produces the style + id="dx1-31103"> key has been set, this produces the style ⟨long⟩ (⟨short⟩, ⟨user1⟩) otherwise it just produces ⟨long⟩ (⟨short⟩). - - - -

      • -
      • -

        +

      • long-hyphen-postshort-hyphen: the short form and the inserted + id="dx1-31104">: the short form and the inserted material (provided by the final optional argument of commands like \gls) is moved to the post-link hook. The long form is formatted @@ -11310,163 +11323,154 @@ class="cmtt-10">\glsfirstlonghyphenfont \glsabbrvhyphenfont (or \glsfirstabbrvhyphenfont on first - use).

      + use).
    + + + -
  • -

    style-noreg -

    Some styles set the

    Some styles set the regular attribute. In some cases, there’s a version of the + id="dx1-31105"> attribute. In some cases, there’s a version of the style that doesn’t set this attribute. For example, long-em-noshort-em sets the + id="dx1-31106"> sets the regular attribute. The attribute. The long-em-noshort-em-noreg style is a minor variation that + id="dx1-31108"> style is a minor variation that style that doesn’t set the attribute. -

    There are a few “noshort” styles, such as

    There are a few “noshort” styles, such as long-hyphen-noshort-noreg, that have + id="dx1-31109">, that have “-noreg” version without a regular version. This is because the style won’t work properly with the regular set, but the naming scheme is maintained for + id="dx1-31110"> set, but the naming scheme is maintained for consistency with the other “noshort” styles.

  • -
  • -

    field1⟩[-modifier1⟩]-[post]footnote -

    The display style uses ⟨

    The display style uses ⟨field1⟩ followed by a footnote with the other field in it. If post is present then the footnote is placed after the link-text using the post-link hook. The inline style does ⟨field1⟩ followed by the other field in parentheses. -

    If

    If -modifier1⟩ is present, ⟨field1⟩ has a font-changing command applied to it. -

    Examples:

    +

    Examples:

      -
    • -

      short-footnote: short form in the text with the long form in the + id="dx1-31112">: short form in the text with the long form in the footnote. -

    • -
    • -

      +

    • short-sc-postfootnote: short form in smallcaps with the long form in + id="dx1-31113">: short form in smallcaps with the long form in the footnote outside of the link-text.

    -

    Take care with the footnote styles. Remember that there are some situations + id="dx1-31114">link-text.
  • +

    Take care with the footnote styles. Remember that there are some situations where \footnote doesn’t work.
    - - - -

    + id="dx1-31115"> doesn’t work.

    +

    -
  • -

    style-desc -

    Like ⟨

    Like ⟨style⟩ but the description key must be provided when defining abbreviations + id="dx1-31116"> key must be provided when defining abbreviations with this style. -

    Examples:

    +

    Examples:

    + id="dx1-31120"> but requires a + description.
  • + + + -

    Not all combinations that fit the above syntax are provided. Pre-version 1.04 +

    Not all combinations that fit the above syntax are provided. Pre-version 1.04 styles that didn’t fit this naming scheme are either provided with a synonym (where the former name wasn’t ambiguous) or provided with a deprecated synonym (where the former name was confusing). The deprecated style names generate a warning using: -



    \GlsXtrWarnDeprecatedAbbrStyle{old-name}{new-name}

    -

    +

    where ⟨old-name⟩ is the deprecated name and ⟨new-name⟩ is the preferred name. You can suppress these warnings by redefining this command to do nothing. -

    +

    -

    Top

    4.4.1 Predefined Abbreviation Styles that Set the Regular Attribute

    -

    The following abbreviation styles set the

    The following abbreviation styles set the regular attribute to “true” for all categories that have abbreviations defined with any of these styles.

    -

    short-nolong

    -

    This only displays the short form on

    This only displays the short form on first use. The name is set to the short form - through the command -


    is set to the + short form through the command +


    \glsxtrshortnolongname

    - - - -

    +

    (Similarly for the other shortmodifier\newacronym) for it to take effect. Make sure to \protect any formatting commands (or anything else that shouldn’t be expanded). -

    The

    The description is set to the long form. The inline full form displays ⟨short⟩ @@ -11489,176 +11493,155 @@ class="cmti-10">long⟩). The long form on its own can be displayed class="cmtt-10">\glsxtrlong.

    -

    short

    -

    A synonym for

    A synonym for short-nolong. -

    -

    +

    nolong-short

    -

    Like

    Like short-nolong but the inline full form displays ⟨long⟩ (⟨short⟩). -

    -

    +

    short-sc-nolong

    -

    Like

    Like short-nolong but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvscfont (which - defaults to (which defaults to \textsc). -

    -

    +

    short-sc

    -

    A synonym for

    A synonym for short-sc-nolong -

    -

    + + + +

    nolong-short-sc

    -

    Like

    Like short-sc-nolong but the inline full form displays ⟨long⟩ (⟨short⟩). The name is - still obtained from \glsxtrshortnolongname (similarly for the other - styles in the form short⟩). + The name is still obtained from \glsxtrshortnolongname (similarly for the + other styles in the form nolongmodifier-shortmodifier⟩ unless indicated otherwise). -

    -

    +

    short-sm-nolong

    -

    Like

    Like short-nolong but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvsmfont (which - defaults to (which defaults to \textsmaller). - - - -

    -

    +

    short-sm

    -

    A synonym for

    A synonym for short-sm-nolong. -

    -

    +

    nolong-short-sm

    -

    Like

    Like short-sm-nolong but the inline full form displays ⟨long⟩ (⟨long⟩ + (⟨short⟩). -

    -

    +

    short-em-nolong

    -

    Like

    Like short-nolong but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvemfont. -

    -

    +

    short-em

    -

    A synonym for

    A synonym for short-em-nolong -

    -

    +

    nolong-short-em

    -

    Like

    Like short-em-nolong but the inline full form displays ⟨long⟩ (⟨long⟩ + (⟨short⟩). -

    -

    +

    short-nolong-desc

    -

    Like the

    Like the short-nolong style, but the name is set to the full form obtained by - expanding -


    is set to the full form + obtained by expanding +


    \glsxtrshortdescname

    -

    +

    (Similarly for the other shortmodifier\protect fragile and formatting commands and only redefin before \newabbreviation (or \newacronym). -

    The

    The description must be supplied by the user. You may prefer to use the description key. (See the sample file sample-acronym-desc.tex.) - - -

    -

    short-desc

    -

    A synonym for

    A synonym for short-nolong-desc. -

    -

    +

    short-sc-nolong-desc

    -

    Like

    Like short-nolong but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvscfont (which - defaults to (which defaults to \textsc). -

    -

    + + + +

    short-sc-desc

    -

    A synonym for

    A synonym for short-sc-nolong-desc. -

    -

    +

    short-sm-nolong-desc

    -

    Like

    Like short-nolong-desc but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvsmfont - (which defaults to (which defaults to \textsmaller). -

    -

    +

    short-sm-desc

    -

    A synonym for

    A synonym for short-sm-nolong-desc. -

    -

    +

    short-em-nolong-desc

    -

    Like

    Like short-nolong-desc but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvemfont. -

    -

    +

    short-em-desc

    -

    A synonym for

    A synonym for short-em-nolong-desc. -

    -

    +

    long-noshort-desc

    -

    This style only displays the long form, regardless of first or subsequent use of - commands

    This style only displays the long form, regardless of first or + subsequent use of commands \gls. The short form may be accessed through commands like - . The short form may be accessed + through commands like \glsxtrshort. The inline full form displays ⟨long⟩ (⟨long⟩ + (⟨short⟩). - - - -

    The

    The sort key are set to the long form. The name key is also set to the long form, but this is done by expanding -



    \glsxtrlongnoshortdescname

    -

    +

    (Similarly for the other longmodifier-desc styles, unless indicated otherwise.) This command should only be redefined before abbreviations are defined, and any fragile or formatting commands within it need protecting. -

    The

    The description must be provided by the user. The predefined glossary styles won’t display the short form. You can use the post-description hook to @@ -11823,104 +11789,93 @@ class="cmss-10">descriptionlong⟩ (⟨short⟩).

    -

    long-desc

    -

    A synonym for

    A synonym for long-noshort-desc. -

    -

    +

    long-noshort-sc-desc

    -

    Like the

    Like the long-noshort-desc style but the short form (accessed through commands - like style but the short form (accessed + through commands like \glsxtrshort) use \glsabbrvscfont. (This style was originally called - . (This style was + originally called long-desc-sc. Renamed in version 1.04, but original name retained as a - deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-32070">. Renamed in version 1.04, but original name + retained as a deprecated synonym for backward-compatibility.) +

    long-noshort-sm-desc

    -

    Like

    Like long-noshort-desc but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvsmfont. - (This style was originally called . (This style was originally called long-desc-sm. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-32074">. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) + + + +

    long-noshort-em-desc

    -

    Like

    Like long-noshort-desc but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvemfont. - The long form isn’t emphasized. (This style was originally called . The long form isn’t emphasized. (This style was originally + called long-desc-em. - Renamed in version 1.04, but original name retained as a deprecated synonym - for backward-compatibility.) -

    -

    + id="dx1-32078">. Renamed in version 1.04, but original name retained as a + deprecated synonym for backward-compatibility.) +

    long-em-noshort-em-desc

    - - - -

    New to version 1.04, like

    New to version 1.04, like long-noshort-desc but redefines \glsabbrvfont to use - but + redefines \glsabbrvfont to use \glsabbrvemfont. The long form uses \glsfirstlongemfont and + id="dx1-32081">. The long form uses \glsfirstlongemfont and \glslongemfont. -

    -

    +

    long-noshort

    -

    This style doesn’t really make sense if you don’t use the short form + id="dx1-32084">

    This style doesn’t really make sense if you don’t use the short form anywhere in the document, but is provided for completeness. This is like the sortname key is also set to the short form, but this is done by expanding -



    \glsxtrlongnoshortname

    -

    +

    (Similarly for other longmodifier-noshortmodifier⟩ styles, unless indicated otherwise.) This command should only be redefined before abbreviations are defined, and fragile or formatting commands should be protected. -

    The

    The description is set to the long form.

    -

    long

    -

    A synonym for

    A synonym for long-noshort -

    -

    +

    long-noshort-sc

    -

    Like the

    Like the long-noshort style but the short form (accessed through commands like - style but the short form (accessed through + commands like \glsxtrshort) use \glsabbrvscfont. (This style was originally called . (This style was originally + called long-sc. - Renamed in version 1.04, but original name retained as a deprecated synonym - for backward-compatibility.) -

    -

    + id="dx1-32096">. Renamed in version 1.04, but original name retained as a + deprecated synonym for backward-compatibility.) +

    long-noshort-sm

    -

    Like

    Like long-noshort but redefines \glsabbrvfont to use \glsabbrvfont to use + \glsabbrvsmfont. (This - style was originally called . (This style was originally called long-sm. Renamed in version 1.04, but original name - retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-32100">. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) +

    long-noshort-em

    - - - -

    This style is like

    This style is like long-noshort but redefines \glsabbrvemfontlong-em. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -

    -

    +

    long-em-noshort-em

    -

    New to version 1.04, this style is like

    New to version 1.04, this style is like long-noshort but redefines \glsabbrvfont - to use but redefines + + + + \glsabbrvfont to use \glsabbrvemfont, \glsfirstlongfont to use \glsfirstlongemfont - and \glsfirstlongfont to use + \glsfirstlongemfont and \glslongfont to use \glslongemfont. The short form isn’t used by - commands like \glslongemfont. The short + form isn’t used by commands like \gls, but can be obtained using , but can be obtained using + \glsxtrshort. The related - style . The related style long-em-noshort-em-noreg doesn’t set the doesn’t set the + regular attribute. -

    -

    +

    -

    Top

    4.4.2 Predefined Abbreviation Styles that Don’t Set the Regular Attribute

    -

    The following abbreviation styles will set the

    The following abbreviation styles will set the regular attribute to “false” if it has previously been set. If it hasn’t already been set, it’s left unset. Other attributes may also be set, depending on the style.

    -

    long-short

    -

    On

    On first use, this style uses the format ⟨long⟩ (⟨short⟩). The inline and display full - forms are the same. The short⟩). The inline and + display full forms are the same. The sort key is set to the short form. The name is also set - to the short form through -


    + is also set to the short form through +


    \glsxtrlongshortname

    -

    +

    (Similarly for other longmodifiermodifier⟩ styles, unless indicated class="cmtt-10">\the\glslongtok and the short form can be referenced with \the\glsshorttok. -

    The

    The description is set to the long form. The long and short forms are separated by \glsxtrfullsep. If you want to insert material within the href="#abbrstyle.long-short-user">long-short-user style. - - -

    -

    long-short-sc

    -

    Like

    Like long-short but redefines \glsabbrvfont to use \glsabbrvscfont. -

    -

    +

    long-short-sm

    -

    Like

    Like long-short but redefines \glsabbrvfont to use \glsabbrvsmfont. -

    -

    +

    long-short-em

    -

    Like

    Like long-short but redefines \glsabbrvfont to use \glsabbrvemfont. -

    -

    +

    long-em-short-em

    -

    New to version 1.04, this style is like

    New to version 1.04, this style is like long-short-em but redefines @@ -12165,24 +12098,25 @@ class="cmss-10">long-short-em\glsfirstlongfont to use \glsfirstlongemfont. -

    -

    + + + +

    long-only-short-only

    -

    New to version 1.17, this style only shows the long form on first use and only - shows the short form on subsequent use. The inline full form \glsxtrfull - shows the long form followed by the short form in parentheses. The

    New to version 1.17, this style only shows the long form on first + use and only shows the short form on subsequent use. The inline full form + \glsxtrfull shows the long form followed by the short form in parentheses. + The name field - is obtained from -


    field is obtained from +


    \glsxtronlyname

    -

    +

    Any redefinition of this command must come before the abbreviations are defined as it expands on definition. Make sure you protect any commands that shouldn’t be expanded. The long form can be referenced @@ -12191,27 +12125,43 @@ class="cmtt-10">\the\glslongtok and the short form can be referenced with \the\glsshorttok.

    -

    +long-only-short-sc-only

    +

    New to version 1.48, this is like long-only-short-only but uses smallcaps for the + short form. The name is obtained from: +


    \glsxtrsconlyname

    +

    +

    long-only-short-only-desc

    -

    New to version 1.17, this style is like

    New to version 1.17, this style is like long-only-short-only but the user must - supply the description. The + but the user must supply the description. The name field is obtained from -


    field is obtained + from +


    \glsxtronlydescname

    - - - -

    - Any redefinition of this command must come before the abbreviations +

    + The sort value is obtained from: +


    \glsxtronlydescsort

    +

    +

    Any redefinition of these commands must come before the abbreviations are defined as it expands on definition. Make sure you protect any commands that shouldn’t be expanded. The long form can be referenced with \the\glslongtok and the short form can be referenced with \the\glsshorttok.

    -

    +long-only-short-sc-only-desc

    New to version 1.48, this style is like + long-only-short-only-desc but it uses smallcaps for the short form. The name is + obtained from: +


    \glsxtrsconlydescname

    + + + +

    + This defaults to \glsxtronlydescname. +

    The sort value is obtained from: +


    \glsxtrsconlydescsort

    +

    + This defaults to \glsxtronlydescsort. +

    long-em-noshort-em-noreg

    -

    New to version 1.17, this style is like

    New to version 1.17, this style is like long-em-noshort-em but doesn’t set the - + but doesn’t set the regular attribute. -

    -

    + id="dx1-33038"> attribute. +

    long-short-user

    -

    This style was introduced in version 1.04. It’s like the

    This style was introduced in version 1.04. It’s like the long-short style but - additional information can be inserted into the parenthetical material. This + id="dx1-33040"> style + but additional information can be inserted into the parenthetical material. This checks the value of the field given by -



    \glsxtruserfield

    -

    +

    (which defaults to useri) using \ifglshasfield (provided by (provided by glossaries). If the field hasn’t been set, the style behaves like the long-short style and produces + id="dx1-33043"> style and produces ⟨long⟩ (⟨short⟩) but if the field has been set, the contents of that field are inserted @@ -12267,46 +12240,46 @@ class="cmti-10">long⟩ (⟨short⟩, ⟨field-value⟩). The format is governed by -



    \glsxtruserparen{text}{label}

    -

    +

    where ⟨text⟩ is the short form (for the long-short-user style) or the long form (for + id="dx1-33045"> style) or the long form (for the short-long-user style). This command first inserts a space using + id="dx1-33046"> style). This command first inserts a space using \glsxtrfullsep and then the parenthetical content (using \glsxtrparen). + id="dx1-33047">). The description is set to -


    is set to +


    \glsuserdescription{long}{label}

    -

    +

    The default definition ignores the ⟨label⟩ and encapsulates ⟨long⟩ with \glslonguserfont. -

    The

    The name is obtained by expanding is obtained by expanding \glsxtrlongshortname (see above). The ⟨text⟩ argument includes the font formatting command, short} in the case of the long-short-user style and style and \glsfirstlongfont{long} in the case of the short-long-user style. -

    For example: + id="dx1-33052"> style. +

    For example: @@ -12337,32 +12310,32 @@ class="cmss-10">short-long-user -

    On first use,

    On first use, \gls{tug} will appear as:

    -

    TeX User Group (TUG)

    -

    whereas

    TeX User Group (TUG)

    +

    whereas \gls{dante} will appear as:

    -

    Deutschsprachige Anwendervereinigung TeX e.V (DANTE, +

    Deutschsprachige Anwendervereinigung TeX e.V (DANTE, German Speaking TeX User Group)

    -

    The short form is formatted according to -


    The short form is formatted according to +


    \glsabbrvuserfont{text}

    -

    +

    and the plural suffix is given by -



    \glsxtrusersuffix

    -

    -

    These may be redefined as appropriate. For example, if you want a smallcaps +

    +

    These may be redefined as appropriate. For example, if you want a smallcaps style, you can just set these commands to those used by the long-short-sc + id="dx1-33055"> style: @@ -12372,60 +12345,57 @@ class="cmss-10">long-short-sc -

    +

    -

    long-noshort-noreg

    -

    This style is like

    This style is like long-noshort but it doesn’t set the but it doesn’t set the regular attribute. -

    -

    + id="dx1-33058"> + attribute. +

    long-noshort-desc-noreg

    -

    This style is like

    This style is like long-noshort-desc but it doesn’t set the but it doesn’t set the + regular attribute. -

    -

    + id="dx1-33061"> attribute. +

    long-short-desc

    -

    On

    On first use, this style uses the format ⟨long⟩ (⟨short⟩). The inline and display full - forms are the same. The short⟩). The + inline and display full forms are the same. The name is set to the full form. The is set to the full + form. The sort key is set to ⟨long⟩ - (⟨short⟩). Before version 1.04, this was incorrectly set to the short form. If you - want to revert back to this you can redefine -


    key is set to ⟨long⟩ (⟨short⟩). Before version 1.04, this was + incorrectly set to the short form. If you want to revert back to this you can + redefine +


    \glsxtrlongshortdescsort

    -

    +

    For example: @@ -12434,18 +12404,18 @@ class="cmtt-10">\glsxtrlongshortdescsort


          \renewcommand*{\glsxtrlongshortdescsort}{\the\glsshorttok}
     
    -

    The

    The description must be supplied by the user. The long and short + id="dx1-33067"> must be supplied by the user. The long and short forms are separated by \glsxtrfullsep. The name field is obtained + id="dx1-33068"> field is obtained from -



    \glsxtrlongshortdescname

    -

    +

    (Similarly for other longmodifier\the\glslongtok and the short form can be referenced with \the\glsshorttok.

    -

    long-short-sc-desc

    -

    Like

    Like long-short-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvscfont. -

    -

    + id="dx1-33072">. +

    long-short-sm-desc

    -

    Like

    Like long-short-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvsmfont. -

    -

    + id="dx1-33075">. +

    long-short-em-desc

    -

    Like

    Like long-short-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvemfont. -

    -

    + id="dx1-33078">. +

    long-em-short-em-desc

    -

    New to version 1.04, this style is like

    New to version 1.04, this style is like long-short-em-desc but redefines - but + redefines \glsfirstlongfont to use \glsfirstlongemfont. -

    -

    + id="dx1-33081">. +

    long-em-noshort-em-desc-noreg

    -

    New to version 1.17, this style is like

    New to version 1.17, this style is like + long-em-noshort-em-desc but doesn’t set - the but doesn’t set the regular attribute. - - - -

    -

    + id="dx1-33084"> attribute. +

    long-short-user-desc

    -

    New to version 1.04, this style is like a cross between the

    New to version 1.04, this style is like a cross between the + long-short-desc style - and the style and the long-short-user style. The display and inline forms are as for - style. The display and + inline forms are as for long-short-user and the and the name key is obtained from -


    key is obtained + from +


    \glsxtrlongshortuserdescname

    -

    + + + +

    Again, this should only be redefined before \newabbreviation (or \newacronym), and fragile and formatting commands need protecting. -

    The

    The description key must be supplied in the optional argument of + id="dx1-33091"> key must be supplied in the optional argument of \newabbreviation (or \newacronym). The sort key is set to ⟨ key is set to ⟨long⟩ (⟨short⟩) as per the long-short-desc style. + id="dx1-33093"> style.

    -

    short-nolong-noreg

    -

    This is like

    This is like short-nolong but doesn’t set the but doesn’t set the regular attribute. -

    -

    + id="dx1-33096"> attribute. +

    nolong-short-noreg

    -

    This is like

    This is like nolong-short but doesn’t set the but doesn’t set the regular attribute. -

    -

    + id="dx1-33099"> attribute. +

    short-long

    -

    On

    On first use, this style uses the format ⟨short⟩ (⟨long⟩). The inline and display full forms are the same. The name and and sort keys are set to the + id="dx1-33103"> keys are set to the short form. The description is set to the long form. The short and long + id="dx1-33104"> is set to the long form. The short and long forms are separated by \glsxtrfullsep. If you want to insert material within the parentheses (such as a translation), try the short-long-user + id="dx1-33105"> style. -

    The

    The name field is obtained from -


    field is obtained from +


    \glsxtrshortlongname

    -

    +

    (Similarly for other shortmodifiermodifier⟩ styles, unless indicated class="cmtt-10">\the\glslongtok and the short form can be referenced with \the\glsshorttok. - - -

    -

    short-sc-long

    -

    Like

    Like short-long but redefines but redefines \glsabbrvfont to use \glsabbrvscfont. -

    -

    + id="dx1-33110">. +

    short-sm-long

    -

    Like

    Like short-long but redefines but redefines \glsabbrvfont to use \glsabbrvsmfont. -

    -

    + id="dx1-33113">. +

    short-em-long

    -

    Like

    Like short-long but redefines but redefines \glsabbrvfont to use \glsabbrvemfont. -

    -

    + id="dx1-33116">. +

    short-em-long-em

    -

    New to version 1.04, this style is like

    New to version 1.04, this style is like short-em-long but redefines + id="dx1-33118"> but redefines \glsfirstlongfont to use \glsfirstlongemfont. -

    -

    + id="dx1-33119">. +

    short-long-user

    -

    New to version 1.04. This style is like the

    New to version 1.04. This style is like the long-short-user style but with the long - and short forms switched. The parenthetical material is governed by the same - command style but + with the long and short forms switched. The parenthetical material is governed + by the same command \glsxtruserparen, but the first argument supplied to it is the - long form instead of the short form. The , but the first argument supplied to it + + + + is the long form instead of the short form. The name field is obtained by + id="dx1-33123"> field is obtained by expanding -



    \glsxtrshortlongname

    -

    +

    Again, this should only be redefined before \newabbreviation (or \newacronym) and commands that should be expanded need to be protected. The description is set to is set to \glsuserdescription{long}{label}.

    -

    short-nolong-desc-noreg

    -

    This style is like

    This style is like short-nolong-desc but it doesn’t set the but it doesn’t set the + regular attribute. -

    -

    + id="dx1-33128"> attribute. +

    short-long-desc

    - - - -

    On

    On first use, this style uses the format ⟨short⟩ (⟨long⟩). The inline and display full - forms are the same. The long⟩). The + inline and display full forms are the same. The name is set to the full form. The is set to the full + form. The description must - be supplied by the user. The short and long forms are separated by - must be supplied by the user. The short and long + forms are separated by \glsxtrfullsep. The name field is obtained from -


    field is obtained + from +


    \glsxtrshortlongdescname

    -

    +

    (Similarly for other shortmodifier\the\glslongtok and the short form can be referenced with \the\glsshorttok.

    -

    short-sc-long-desc

    -

    Like

    Like short-long-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvscfont. -

    -

    + id="dx1-33137">. +

    short-sm-long-desc

    -

    Like

    Like short-long-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvsmfont. -

    -

    + id="dx1-33140">. +

    short-em-long-desc

    -

    Like

    Like short-long-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvemfont. -

    -

    + id="dx1-33143">. +

    short-em-long-em-desc

    -

    New to version 1.04, this style is like

    New to version 1.04, this style is like short-em-long-desc but redefines - but + redefines \glsfirstlongfont to use \glsfirstlongemfont. -

    -

    + id="dx1-33146">. +

    short-long-user-desc

    -

    New to version 1.04, this style is like a cross between the

    New to version 1.04, this style is like a cross between the + short-long-desc style - and the style and the short-long-user style. The display and inline forms are as for - style. The display and + inline forms are as for short-long-user, but the , but the name key is obtained from -


    key is obtained + from + + + +


    \glsxtrshortlonguserdescname

    -

    +

    Again, this should only be redefined before \newabbreviation (or \newacronym), and fragile and formatting commands need protecting. - - - -

    The

    The description key must be supplied in the optional argument of + id="dx1-33153"> key must be supplied in the optional argument of \newabbreviation (or \newacronym).

    -

    short-footnote

    -

    On first use, this style displays the short form with the long form as a footnote. - This style automatically sets the

    On first use, this style displays the short form with the long form as + a footnote. This style automatically sets the nohyperfirst attribute to “true” for the - supplied category, so the first use won’t be hyperlinked (but the footnote + id="dx1-33156"> attribute to “true” for + the supplied category, so the first use won’t be hyperlinked (but the footnote marker may be, if the hyperref package is used). -

    The inline full form uses the ⟨ package is used). +

    The inline full form uses the ⟨short⟩ (⟨long⟩) style. The name is set to the short + id="dx1-33159"> is set to the short form. The description is set to the long form. The is set to the long form. The name key is obtained by + id="dx1-33161"> key is obtained by expanding: -



    \glsxtrfootnotename

    -

    +

    (Similarly for other shortmodifierfootnote styles, unless class="cmtt-10">\newabbreviation (or \newacronym), and fragile or formatting commands should be protected from expansion. -

    As from version 1.05, all the footnote styles use: -


    As from version 1.05, all the footnote styles use: +


    \glsfirstlongfootnotefont{text}

    -

    +

    to format the long form on first use or for the full form and -


    first use or for the full form and +


    \glslongfootnotefont{text}

    -

    +

    to format the long form elsewhere (for example, when used with \glsxtrlong). -

    As from version 1.07, all the footnote styles use: -


    As from version 1.07, all the footnote styles use: +


    \glsxtrabbrvfootnote{label}{long}

    -

    +

    By default, this just does \footnote{long} (the first argument is ignored). For @@ -12985,7 +12918,7 @@ class="cmtt-10">} (the first argument is ignored). For   \footnote{\glshyperlink[#2]{#1}}% } -

    or to include the short form with a hyperlink: +

    or to include the short form with a hyperlink: @@ -12995,7 +12928,7 @@ class="cmtt-10">} (the first argument is ignored). For   \footnote{\glshyperlink[\glsfmtshort{#1}]{#1}: #2}% } -

    Note that I haven’t used commands like

    Note that I haven’t used commands like \glsxtrshort to avoid interference (see 2.8 Nested Links).

    -

    footnote

    -

    A synonym for

    A synonym for short-footnote. -

    -

    + id="dx1-33169">. +

    short-sc-footnote

    -

    Like

    Like short-footnote but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvscfont. - (This style was originally called . (This style was originally called footnote-sc. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-33173">. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) +

    short-sc-footnote

    -

    Like

    Like short-footnote but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvsmfont. - (This style was originally called . (This style was originally called footnote-sm. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-33177">. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) +

    short-em-footnote

    -

    Like

    Like short-footnote but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvemfont. - (This style was originally called . (This style was originally called footnote-em. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-33181">. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) +

    short-footnote-desc

    -

    (New to v1.42.) This is similar to

    (New to v1.42.) This is similar to short-footnote, but the , but the + description must be - supplied by the user. The must be supplied by the user. The name field is obtained from: - - - -


    field is obtained + from: +


    \glsxtrfootnotedescname

    -

    +

    which defaults to ⟨short⟩ followed by ⟨long⟩ in parentheses, and the sort field is + id="dx1-33187"> field is obtained from: -



    \glsxtrfootnotedescsort

    -

    +

    which defaults to just the short form. (Similarly for other shortmodifier-[post]footnote-desc styles, unless indicated otherwise.) -

    Any redefinition of these commands must come before the abbreviations + + + +

    Any redefinition of these commands must come before the abbreviations are defined as it expands on definition. Make sure you protect any commands that shouldn’t be expanded. The long form can be referenced with \the\glslongtok and the short form can be referenced with \the\glsshorttok.

    -

    footnote-desc

    -

    A synonym for

    A synonym for short-footnote-desc. -

    -

    + id="dx1-33190">. +

    short-sc-footnote-desc

    -

    Like

    Like short-footnote-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvscfont. -

    -

    + id="dx1-33193">. +

    short-sm-footnote-desc

    -

    Like

    Like short-footnote-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvsmfont. -

    -

    + id="dx1-33196">. +

    short-em-footnote-desc

    -

    Like

    Like short-footnote-desc but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvemfont. -

    -

    + id="dx1-33199">. +

    short-postfootnote

    -

    This is similar to the

    This is similar to the short-footnote style but doesn’t modify the category - attribute. Instead it changes style but doesn’t modify the + category attribute. Instead it changes \glsxtrpostlinkcategory to insert the + id="dx1-33202"> to insert the footnote after the link-text on first use. This will also defer the footnote until after any following punctuation character that’s recognised by \glsxtrifnextpunc. - - - -

    The inline full form uses the ⟨. +

    The inline full form uses the ⟨short⟩ (⟨long⟩) style. The name is set to the short + id="dx1-33206"> is set to the short form. The description is set to the long form. Note that this style will change + id="dx1-33207"> is set to the long form. Note that this style will change \glsxtrfull (and its variants) so that it fakes non-first use. (Otherwise the + id="dx1-33208">first use. (Otherwise the footnote would appear after the inline form.)

    -

    postfootnote

    -

    A synonym for

    A synonym for short-postfootnote. -

    -

    + id="dx1-33210">. +

    short-sc-postfootnote

    -

    Like

    Like short-postfootnote but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvscfont. - (This style was originally called . (This style was originally called postfootnote-sc. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-33214">. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) +

    short-sm-postfootnote

    -

    Like

    Like short-postfootnote but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvsmfont. - (This style was originally called . (This style was originally called postfootnote-sm. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-33218">. Renamed + in version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) + + + +

    short-em-postfootnote

    -

    Like

    Like short-postfootnote but redefines \glsabbrvfont to use but redefines \glsabbrvfont to use + \glsabbrvemfont. - (This style was originally called . (This style was originally called postfootnote-em. Renamed in version 1.04, but - original name retained as a deprecated synonym for backward-compatibility.) -

    -

    + id="dx1-33222">. Renamed + in version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) +

    short-postfootnote-desc

    -

    (New to v1.42.) This is similar to

    (New to v1.42.) This is similar to short-postfootnote, but the , but + the description must be - supplied by the user. The must be supplied by the user. The name and and sort are set as for are set as for + short-footnote-desc. -

    -

    + id="dx1-33228">. +

    postfootnote-desc

    -

    A synonym for

    A synonym for short-postfootnote-desc. - - - -

    -

    + id="dx1-33230">. +

    short-sc-postfootnote-desc

    -

    Like

    Like short-postfootnote-desc but redefines \glsabbrvfont to use - but redefines \glsabbrvfont + to use \glsabbrvscfont. -

    -

    + id="dx1-33233">. +

    short-sm-postfootnote-desc

    -

    Like

    Like short-postfootnote-desc but redefines \glsabbrvfont to use - but redefines \glsabbrvfont + to use \glsabbrvsmfont. -

    -

    + id="dx1-33236">. +

    short-em-postfootnote-desc

    -

    Like

    Like short-postfootnote-desc but redefines \glsabbrvfont to use - but redefines \glsabbrvfont + to use \glsabbrvemfont. -

    -

    + id="dx1-33239">. +

    short-postlong-user

    -

    This style was introduced in version 1.12. It’s like the

    This style was introduced in version 1.12. It’s like the + short-long-user style but - defers the parenthetical material to after the link-text. This means that you - don’t have such a long hyperlink (which can cause problems for the DVI - LaTeX format) and it also means that the user supplied material can - include a hyperlink to another location. The style but defers the parenthetical material to after the link-text. + This means that you don’t have such a long hyperlink (which can cause + problems for the DVI LaTeX format) and it also means that the user supplied + material can include a hyperlink to another location. The name key is obtained from - key is obtained + from \glsxtrshortlongname. -

    -

    +

    short-postlong-user-desc

    -

    This style was introduced in version 1.12. It’s like the above

    This style was introduced in version 1.12. It’s like the + above short-postlong-user - style but the style but the description must be specified. The must be specified. The name is obtained from - + is obtained from \glsxtrshortlonguserdescname. -

    -

    +

    long-postshort-user

    -

    This style was introduced in version 1.12. It’s like the above

    This style was introduced in version 1.12. It’s like the + above short-postlong-user - style but the long form is shown first and the short form is in the parenthetical - material (as for style but the long form is shown first and + the short form is in the parenthetical material (as for long-short-user) style. - - - -

    -

    + id="dx1-33249">) + style. +

    long-postshort-user-desc

    -

    This style was introduced in version 1.12. It’s like the above

    This style was introduced in version 1.12. It’s like the + above long-postshort-user - style but the style but the description must be specified. The must be specified. The name is obtained from - + is obtained from \glsxtrlongshortuserdescname. -

    -

    + + + +

    +long-postshort-sc-user
    This style (new to v1.48) is like long-postshort-user but uses + smallcaps for the short form. +
    +long-postshort-sc-user-desc
    This style (new to v1.48) is like long-postshort-user-desc + but uses smallcaps for the short form. +
    long-hyphen-short-hyphen

    -

    This style (new to v1.17) is designed to work with the

    This style (new to v1.17) is designed to work + with the markwords category - attribute. The full form is formatted using -


    category attribute. The full form is formatted + using +


    \glsxtrlonghyphenshort{label}{short}{insert}

    -

    +

    where ⟨insert⟩ is the inserted material provided in the final optional argument of commands like \insert. If ⟨insert⟩ start with a hyphen, then this locally redefines \glsxtrwordsep to a hyphen, which means that if the to a hyphen, which means that if the markwords + id="dx1-33262"> attribute is set then the long form will become hyphenated. (If this attribute isn’t set, there’s no alteration to the way the long form is displayed.) The name + id="dx1-33263"> key is obtained from \glsxtrlongshortname. -

    Unlike the other ⟨

    Unlike the other ⟨long⟩ (⟨short⟩) type of styles, such as long-short, this style also + id="dx1-33264">, this style also repeats the insertion in the parenthetical part, so that the first use form is:

    -

    \glsfirstlonghyphenfont{long}\glsfirstabbrvhyphenfont{short}insert⟩)

    -

    The space before the parenthetical material is actually given by +

    The space before the parenthetical material is actually given by \glsxtrfullsep{labelinsert⟩ may be moved into the formatting commands according to the conditional \ifglsxtrinsertinside. -

    For example, if

    For example, if ip is defined using: @@ -13508,7 +13423,7 @@ class="cmtt-10">ip is defined using: \setabbreviationstyle[english]{long-hyphen-short-hyphen} \newabbreviation[category=english]{ip}{IP}{Internet Protocol} -

    then +

    then @@ -13516,10 +13431,10 @@ class="cmtt-10">ip is defined using:

          \gls{ip}[-Adressen]
     
    -

    will do +

    will do

    -

    Internet-Protocol-Adressen (IP-Adressen)

    -

    on first use, whereas +

    Internet-Protocol-Adressen (IP-Adressen)

    +

    on first use, whereas @@ -13527,11 +13442,11 @@ class="cmtt-10">ip is defined using:

          \gls{ip}[ Address]
     
    -

    will do +

    will do

    -

    Internet Protocol Address (IP Address)

    -

    on first use. -

    Note that the hyphenation isn’t applied when using commands like +

    Internet Protocol Address (IP Address)

    +

    on first use. +

    Note that the hyphenation isn’t applied when using commands like \glsxtrlong. This means that @@ -13541,15 +13456,15 @@ class="cmtt-10">\glsxtrlong. This means that
          \glsxtrlong{ip}[-Adressen]
     
    -

    will do +

    will do

    -

    Internet Protocol-Adressen

    +

    Internet Protocol-Adressen

    -

    -

    If the

    +

    If the markwords attribute hadn’t been set, then the first use of + id="dx1-33265"> attribute hadn’t been set, then the first use of @@ -13557,20 +13472,20 @@ class="cmss-10">markwords \gls{ip}[-Adressen] -

    would do +

    would do

    -

    Internet Protocol-Adressen (IP-Adressen)

    -

    instead. -

    If the inserted material ⟨

    Internet Protocol-Adressen (IP-Adressen)

    +

    instead. +

    If the inserted material ⟨insert⟩ is likely to contain commands like \gls, then use long-hyphen-postshort-hyphen instead to avoid nested links. + id="dx1-33266"> instead to avoid nested links.
    -

    -

    If you want the short version in small-caps, you can just redefine +

    +

    If you want the short version in small-caps, you can just redefine \glsabbrvhyphenfont and \glsxtrhyphensuffix to use the small-caps @@ -13583,69 +13498,61 @@ class="cmtt-10">\glsxtrhyphensuffix to use the small-caps \renewcommand{\glsabbrvhyphenfont}{\glsabbrvscfont} \renewcommand{\glsxtrhyphensuffix}{\glsxtrscsuffix} -

    Similarly for other font-changing variations. +

    Similarly for other font-changing variations.

    -

    long-hyphen-noshort-desc-noreg

    -

    New to version 1.17, this style is like

    New to version 1.17, this style is like + long-hyphen-short-hyphen-desc - except that the parenthetical part is omitted and the long form is - displayed on subsequent use. The short form can be accessed with - except that the parenthetical part is omitted and + the long form is displayed on subsequent use. The short form can be accessed + with \glsxtrshort but just uses the default abbreviation font. There’s no regular version of this style as the regular form doesn’t have the flexibility to deal with the hyphen switch. The name is obtained from + id="dx1-33269"> is obtained from \glsxtrlongnoshortdescname. -

    -

    +

    long-hyphen-noshort-noreg

    -

    New to version 1.17, this style is like

    New to version 1.17, this style is like + long-hyphen-noshort-desc-noreg but the - name is set to the short form and the description is set to the long - form. -

    -

    + id="dx1-33271"> but the name is set to the short form and the + description is set to the long form. +

    long-hyphen-short-hyphen-desc

    -

    -

    New to version 1.17. This is similar to

    New to version 1.17. This is similar to long-hyphen-short-hyphen but the user + id="dx1-33273"> but the user supplies the description. The name is obtained from is obtained from \glsxtrlongshortdescname.

    -

    long-hyphen-postshort-hyphen

    -

    -

    New to version 1.17. This is similar to

    New to version 1.17. This is similar to long-hyphen-short-hyphen but the + id="dx1-33276"> but the inserted and parenthetical material are moved to the post-link hook. On first use, \gls{{label}insert⟩ - - -
    where -



    \glsxtrposthyphenshort{label}insert

    -

    +

    is in the post-link hook. This uses the format:
    insert⟩ (short}isnert⟩)
    -

    The singular short form is always used here, even with

    The singular short form is always used here, even with \glspl. (Unlike long-hyphen-long-hyphen.)
    -

    -

    The part in the link-text on first use: -


    .)
    +

    +

    The part in the link-text on first use: +


    \glsxtrlonghyphen{long}{label}{insert}

    -

    +

    checks if ⟨insert⟩ starts with a hyphen. If it does, then \glsxtrwordsep is locally @@ -13716,15 +13623,15 @@ class="cmti-10">insert⟩ for this style without causing nested hyperlinks, but only for commands like \gls. -

    Don’t use

    Don’t use \gls in the ⟨insert⟩ part for commands like \glsxtrfull, \glsxtrshort or \glsxtrlong.
    -

    -

    The inline full display format used by commands like

    +

    The inline full display format used by commands like \glsxtrfull behaves differently to the first use of \gls with this style. It’s better @@ -13736,40 +13643,33 @@ class="cmti-10">label⟩} if you want to ensure the full format.

    -

    long-hyphen-postshort-hyphen-desc

    -

    -

    New to version 1.17. This is similar to

    New to version 1.17. This is similar to long-hyphen-postshort-hyphen + id="dx1-33281"> but the user supplies the description. The name is obtained from + id="dx1-33282"> is obtained from \glsxtrlongshortdescname.

    -

    short-hyphen-long-hyphen

    - - - -

    This style (new to v1.17) is like

    This style (new to v1.17) is like long-hyphen-short-hyphen, except that the short - form is displayed first followed by the long form in parentheses. The full form is - formatted using -


    , + except that the short form is displayed first followed by the long form in + parentheses. The full form is formatted using +


    \glsxtrshorthyphenlong{label}{long}{insert}

    -

    +

    which behaves in an analogous way to \glsxtrlonghyphenshort. The name is + id="dx1-33286"> is obtained from \glsxtrshortlongname.

    -

    short-hyphen-long-hyphen-desc

    -

    -

    New to version 1.17. This is similar to

    New to version 1.17. This is similar to short-hyphen-long-hyphen but the user + id="dx1-33288"> but the user supplies the description. The name is obtained from is obtained from \glsxtrshortlongdescname. + + +

    -

    short-hyphen-postlong-hyphen

    -

    This style (new to v1.17) is like

    This style (new to v1.17) is like + long-hyphen-postshort-hyphen, but the short - form is displayed first followed by the long form in parentheses. On first use, - , but the short form is displayed first followed by + the long form in parentheses. On first use, \gls{label}[insert] will do +class="cmtt-10">] will do +
    \glsxtrshorthyphen{short}insert
    where -



    \glsxtrposthyphenlong{label}insert

    -

    +

    is in the post-link hook. These commands behave in an analogous manner to those used with long-hyphen-postshort-hyphen. The . The name is obtained from + id="dx1-33294"> is obtained from \glsxtrshortlongname. -

    Don’t use

    Don’t use \gls in the ⟨insert⟩ part for commands like \glsxtrfull, \glsxtrshort or \glsxtrlong.
    -

    -

    The inline full display format used by commands like

    +

    The inline full display format used by commands like \glsxtrfull behaves differently to the first use of \gls with this style. It’s better @@ -13871,34 +13771,29 @@ class="cmti-10">label⟩} if you want to ensure the full format.

    -

    short-hyphen-postlong-hyphen-desc

    - - - -

    -

    New to version 1.17. This is similar to

    New to version 1.17. This is similar to short-hyphen-postlong-hyphen + id="dx1-33296"> but the user supplies the description. The name is obtained from + id="dx1-33297"> is obtained from \glsxtrshortlongdescname.

    -

    +

    -

    Top

    4.5 Defining New Abbreviation Styles

    -

    New abbreviation styles may be defined using: -


    New abbreviation styles may be defined using: +


    \newabbreviationstyle{namesetup}{fmts}

    -

    -

    where ⟨

    +

    where ⟨name⟩ is the name of the new style (as used in the mandatory argument of \setabbreviationstyleglossaries package’s \newacronymstyle command. -

    You can’t use styles defined by

    You can’t use styles defined by \newacronymstyle with glossaries-extra unless you have reverted glossaries package can’t be used with abbreviations defined with \newabbreviation.
    -

    -

    The ⟨

    +

    The ⟨setup⟩ argument deals with the way the entry is defined and may set attributes for the given abbreviation category. This argument should redefine -



    \CustomAbbreviationFields

    -

    +

    to set the entry fields including the name (defaults to the short form if omitted), @@ -13957,12 +13855,12 @@ class="cmss-10">pluraldescription. -

    \CustomAbbreviationFields is expanded by \newabbreviation so take care to protect commands that shouldn’t be expanded.
    -

    -

    For example, the

    +

    For example, the long-short style has the following in ⟨setup⟩:     plural={\protect\glsabbrvfont{\the\glsshortpltok}},%     description={\the\glslongtok}}% -

    Note that the

    Note that the first and firstplural are set even though they’re not used by \gls. -

    The basic styles, such as

    The basic styles, such as long-short, use commands like fmts⟩ argument even if they’re not used within \CustomAbbreviationFields. -

    The ⟨

    The ⟨setup⟩ argument may also redefine -



    \GlsXtrPostNewAbbreviation

    -

    +

    which can be used to assign attributes. (This will automatically be initialised to do nothing.) -

    For example, the

    For example, the short-footnote includes the following in ⟨setup⟩:     {}%   }% -

    This sets the

    This sets the nohyperfirst attribute to “true”. It also unsets the nohyperfirst attribute doesn’t get unset by other styles, so take care not to switch styles for the same category. -

    You can access the short, long, short plural and long plural values through the +

    You can access the short, long, short plural and long plural values through the following token registers. -

    Short value (defined by

    Short value (defined by glossaries): -



    \glsshorttok

    -

    -

    Short plural value (defined by

    +

    Short plural value (defined by glossaries-extra): -



    \glsshortpltok

    -

    +

    (This may be the default value or, if provided, the value provided by the user through the shortplural key in the optional argument of \newabbreviation.) -

    Long value (defined by

    Long value (defined by glossaries): -



    \glslongtok

    -

    -

    Long plural value (defined by

    +

    Long plural value (defined by glossaries-extra): -



    \glslongpltok

    -

    +

    (This may be the default value or, if provided, the value provided by the user through the longplural key in the optional argument of \newabbreviation.) -

    The short or long values may be modified by attributes (such as

    The short or long values may be modified by attributes (such as markwords). The @@ -14094,15 +13992,15 @@ above registers reflect the modification. If you want to access the original (unmodified) short or long form (as provided in the final two arguments of \newabbreviation), then use the commands: -



    \glsxtrorgshort

    -

    +

    for the short form and -



    \glsxtrorglong

    -

    +

    for the long form. (These may be useful for the sort key to avoid any formatting that @@ -14110,36 +14008,36 @@ class="cmss-10">sort

    There are two other registers available that are defined by

    There are two other registers available that are defined by glossaries: -



    \glslabeltok

    -

    +

    which contains the entry’s label and -



    \glskeylisttok

    -

    +

    which contains the values provided in the optional argument of \newabbreviation. -

    Remember put

    Remember put \the in front of the register command as in the examples above. The category label can be access through the command (not a register): -



    \glscategorylabel

    -

    +

    This may be used inside the definition of \GlsXtrPostNewAbbreviation. -

    If you want to base a style on an existing style, you can use -


    If you want to base a style on an existing style, you can use +


    \GlsXtrUseAbbrStyleSetup{name}

    -

    +

    where ⟨name⟩ is the name of the existing style. For example, the \GlsXtrUseAbbrStyleSetup{long-noshort-desc} -

    within ⟨

    within ⟨setup⟩. -

    The ⟨

    The ⟨fmts⟩ argument deals with the way the entry is displayed in the document. This argument should redefine the following commands. -

    The default suffix for the plural short form (if not overridden by the

    The default suffix for the plural short form (if not overridden by the shortplural key): -



    \abbrvpluralsuffix

    -

    +

    (Note that this isn’t used for the plural long form, which just uses the regular \glspluralsuffix.) -

    The font used for the short form on

    The font used for the short form on first use or in the full forms: -



    \glsfirstabbrvfont{text}

    -

    -

    The font used for the short form on subsequent use or through commands like +

    +

    The font used for the short form on subsequent use or through commands like \glsxtrshort: -



    \glsabbrvfont{text}

    -

    -

    The font used for the long form on

    +

    The font used for the long form on first use or in the full forms: -



    \glsfirstlongfont{text}

    -

    -

    The font used for the long form in commands like

    +

    The font used for the long form in commands like \glsxtrlong use: -



    \glslongfont{text}

    -

    -

    Display full form singular no case-change (used by

    +

    Display full form singular no case-change (used by \gls on first use for @@ -14212,15 +14110,15 @@ abbreviations without the regular attribute set): -



    \glsxtrfullformat{label}{insert}

    -

    -

    Display full form singular first letter converted to upper case (used by

    +

    Display full form singular first letter converted to upper case (used by \Gls on \Glsregular attribute set): -



    \Glsxtrfullformat{label}{insert}

    -

    -

    Display full form plural no case-change (used by

    +

    Display full form plural no case-change (used by \glspl on first use for @@ -14244,7 +14142,7 @@ abbreviations without the regular attribute set): -



    \glsxtrfullplformat{label}

    -

    -

    Display full form plural first letter converted to upper case (used by

    +

    Display full form plural first letter converted to upper case (used by \Glspl on first use for abbreviations without the regular attribute set): -



    \Glsxtrfullplformat{label}{insert}

    -

    -

    In addition ⟨

    +

    In addition ⟨fmts⟩ may also redefine the following commands that govern the inline full formats. If the style doesn’t redefine them, they will default to the same as the display full forms. -

    Inline singular no case-change (used by

    Inline singular no case-change (used by \glsentryfull, \glsxtrfull\glsxtrfull\GLSxtrfull): -



    \glsxtrinlinefullformat{label}{insert}

    -

    -

    Inline singular first letter converted to upper case (used by

    +

    Inline singular first letter converted to upper case (used by \Glsentryfull and \Glsxtrfull): -



    \Glsxtrinlinefullformat{label}{insert}

    -

    -

    Inline plural no case-change (used by

    +

    Inline plural no case-change (used by \glsentryfullpl, \glsxtrfullpl\glsxtrfullpl\GLSxtrfullpl): -



    \glsxtrinlinefullplformat{label}{insert}

    -

    -

    Inline plural first letter converted to upper case (used by

    +

    Inline plural first letter converted to upper case (used by \Glsentryfullpl and \Glsxtrfullpl): -



    \Glsxtrinlinefullplformat{label}{insert}

    -

    -

    (New to version 1.17.) You can also modify the way the subsequent use is +

    +

    (New to version 1.17.) You can also modify the way the subsequent use is formatted by redefining the following four commands, but these won’t be used for abbreviations with the regular attribute set. If the style doesn’t redefine these commands, the default values are used. -

    Singular with no case-change: -


    Singular with no case-change: +


    \glsxtrsubsequentfmt{label}{insert}

    -

    -

    Singular with first letter upper case: -


    +

    Singular with first letter upper case: +


    \Glsxtrsubsequentfmt{label}{insert}

    -

    -

    Plural with no case-change: -


    +

    Plural with no case-change: +


    \glsxtrsubsequentplfmt{label}{insert}

    -

    +

    -

    Plural with first letter upper case: -


    Plural with first letter upper case: +


    \Glsxtrsubsequentplfmt{label}{insert}

    -

    -

    If you want to provide support for

    +

    If you want to provide support for glossaries-accsupp use the following \glsaccessxxx⟩ commands (§12.2 13.2 Accessibility Support) within the definitions of \glsxtrfullformat etc instead of the analogous glossaries-accsupp\glsentry⟨xxx⟩ command.) -

    For example, the

    For example, the short-long style has the following in ⟨fmts⟩:     \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}%   }% -

    Since the inline full commands aren’t redefined, they default to the same as the +

    Since the inline full commands aren’t redefined, they default to the same as the display versions. -

    If you want to base a style on an existing style, you can use -


    If you want to base a style on an existing style, you can use +


    \GlsXtrUseAbbrStyleFmts{name}

    -

    +

    within ⟨fmts⟩, where ⟨name⟩ is the name of the existing style. For example, the @@ -14464,8 +14362,8 @@ class="cmti-10">fmts⟩:

       \GlsXtrUseAbbrStyleFmts{long-short}%
     
    -

    -

    Here’s an example of an abbreviation style that’s based on

    +

    Here’s an example of an abbreviation style that’s based on long-short that displays @@ -14486,7 +14384,7 @@ class="cmtt-10">\textsf:   \renewcommand*{\glsabbrvfont}[1]{\textsf{##1}}% } -

    Note that this wouldn’t work if it was instead based on one of the modified versions +

    Note that this wouldn’t work if it was instead based on one of the modified versions such as short-sc-longshort-long\glsabbrvfont etc which makes them easier to adapt than the modified styles. -

    For further details, see the “Abbreviations” section in the documented code +

    For further details, see the “Abbreviations” section in the documented code (glossaries-extra-code.pdf).

    -

    -

    +

    Top

    5. Entries in Sectioning Titles, Headers, Captions and Contents

    -

    The

    The glossaries user manual cautions against using commands like \gls in chapter or section titles. The principle problems are:

      -
    • -

      if you have a table of contents, the if you have a table of contents, the first use flag will be unset in the contents rather than later in the document; -

    • -
    • -

      if you have the location lists displayed in the glossary, unwanted locations +

    • +
    • if you have the location lists displayed in the glossary, unwanted locations will be added to it corresponding to the table of contents (if present) and every page that contains the entry in the page header (if the page style in use adds the chapter or section title to the header); -

    • -
    • -

      if the page style in use adds the chapter or section title to the header and +

    • +
    • if the page style in use adds the chapter or section title to the header and attempts to convert it to upper case, the entry label (in the argument of \gls etc) will be converted to upper case and the entry won’t be recognised; -

    • -
    • -

      if you use +

    • if you use hyperref, commands like \gls can’t be expanded to a simple @@ -14543,19 +14437,18 @@ class="cmtt-10">\gls can’t be expanded to a simple from hyperref); -

    • -
    • -

      if you use +

    • if you use hyperref, you will end up with nested hyperlinks in the table of - contents.

    -

    Similar problems can also occur with captions (except for the page header and bookmark + contents. +

    Similar problems can also occur with captions (except for the page header and bookmark issues).

    -

    Top

    5.1 Simplistic Approach

    -

    To get around all these problems, the Simplistic Approach +

    To get around all these problems, the glossaries user manual recommends using the expandable non-hyperlink commands, such as \glsentrytext\glstext or \glsxtrshort. This means - - - that if, for example, you are using one of the abbreviation styles that uses \textsc \chapter{A Chapter about \glsabbrvfont{\glsentryshort{html}}} -

    Or, if you are using

    Or, if you are using hyperref: @@ -14600,8 +14490,8 @@ class="cmss-10">hyperref -

    -

    Since this is a bit cumbersome, you might want to define a new command to do +

    +

    Since this is a bit cumbersome, you might want to define a new command to do this for you. However, if you have mixed styles this won’t work as commands like \gls and \MakeUppercase. -

    The

    The glossaries-extra package tries to resolve this by modifying \markright and @@ -14624,16 +14514,16 @@ class="cmtt-10">\markboth and \@starttoc. If you don’t like this change, you can restore their former definitions using -



    \glsxtrRevertMarks

    -

    +

    If you only want to restore \@starttoc you can use: -



    \glsxtrRevertTocMarks

    -

    +

    If you restore the header or table of contents commands, you’ll have to use the glossaries manual’s recommendations of either simply using \chapter[A Chapter about \glsentryshort{html}]{A Chapter about \gls{html}} -

    Alternatively, you need to find a way to insert

    Alternatively, you need to find a way to insert \glsxtrmarkhook and \@glsxtrinmark at the start of the header or table of contents either scoped or afterwards cancelled with \@glsxtrnotinmark and \glsxtrrestoremarkhook. -

    If you don’t revert the mark commands back with

    If you don’t revert the mark commands back with \glsxtrRevertMarks, you can use the commands described below in the argument of sectioning commands. You can still use them even if the mark commands have been reverted, but only where they don’t conflict with the page style. -

    +

    -

    Top

    5.2 New Commands Designed for Chapter/Section Headings

    -

    The commands listed below are designed for use in chapter or section headings. + id="sec:headingcommands">New Commands Designed for Chapter/Section Headings +

    The commands listed below are designed for use in chapter or section headings. There are still limitations, but they provide a better solution. They all use \texorpdfstring\texorpdfstring will be needed as appropriate in that field. (Take care if the field has its value expanded before being assigned.) -

    These commands essentially behave as though you have used

    These commands essentially behave as though you have used \glsxtrshort, \glstext etc with the options headuc attribute to “true” for the appropriate category. -

    If you use one of the

    If you use one of the \textsc styles, be aware that the default fonts don’t provide bold small-caps or italic small-caps. This means that if the chapter @@ -14711,9 +14601,9 @@ class="cmtt-10">\glsabbrvfont. You may want to consider using the slantsc package in this case.
    -

    -

    Display the short form: -


    +

    Display the short form: +


    \glsfmtshort{label}

    -

    -

    Display the plural short form: -


    +

    Display the plural short form: +


    \glsfmtshortpl{label}

    -

    -

    First letter upper case singular short form: -


    +

    First letter upper case singular short form: +


    \Glsfmtshort{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    First letter upper case plural short form: -


    First letter upper case plural short form: +


    \Glsfmtshortpl{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps singular short form: -


    All caps singular short form: +


    \GLSfmtshort{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps plural short form: -


    All caps plural short form: +


    \Glsfmtshortpl{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    Display the long form: -


    Display the long form: +


    \glsfmtlong{label}

    -

    -

    Display the plural long form: -


    +

    Display the plural long form: +


    \glsfmtlongpl{label}

    -

    -

    First letter upper case singular long form: -


    +

    First letter upper case singular long form: +


    \Glsfmtlong{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    First letter upper case plural long form: -


    First letter upper case plural long form: +


    \Glsfmtlongpl{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps singular long form: -


    All caps singular long form: +


    \GLSfmtlong{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps plural long form: -


    All caps plural long form: +


    \GLSfmtlongpl{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    There are similar commands for the full form, but note that these use the

    There are similar commands for the full form, but note that these use the inline full form, which may be different from the full form used by \gls. The PDF version has to be a simple fully expandable command, so one of two commands that are unrelated to the style is used instead: -



    \glspdffmtfull{label}

    -

    +

    for the singular form or: -



    \glspdffmtfullpl{label}

    -

    +

    for the full form. These simply do the long form followed by the short form in parentheses. -

    Display the full form: -


    Display the full form: +


    \glsfmtfull{label}

    -

    -

    Display the plural full form: -


    +

    Display the plural full form: +


    \glsfmtfullpl{label}

    -

    -

    First letter upper case singular full form: -


    +

    First letter upper case singular full form: +


    \Glsfmtfull{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    First letter upper case plural full form: -


    First letter upper case plural full form: +


    \Glsfmtfullpl{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps singular full form: -


    All caps singular full form: +


    \GLSfmtfull{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps plural full form: -


    All caps plural full form: +


    \GLSfmtfullpl{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    There are also equivalent commands for the value of the

    There are also equivalent commands for the value of the text field: -



    \glsfmttext{label}

    -

    -

    First letter converted to upper case: -


    +

    First letter converted to upper case: +


    \Glsfmttext{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps: -


    All caps: +


    \GLSfmttext{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    The plural equivalents: -


    The plural equivalents: +


    \glsfmtplural{label}

    -

    +

    First letter upper case: -



    \Glsfmtplural{label}

    -

    +

    and all caps: -



    \GLSfmtplural{label}

    -

    -

    Likewise for the value of the

    +

    Likewise for the value of the name field: -



    \glsfmtname{label}

    -

    -

    First letter converted to upper case: -


    +

    First letter converted to upper case: +


    \Glsfmtname{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps: -


    All caps: +


    \GLSfmtname{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    Similarly for the value of the

    Similarly for the value of the first field: -



    \glsfmtfirst{label}

    -

    -

    First letter converted to upper case: -


    +

    First letter converted to upper case: +


    \Glsfmtfirst{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    All caps: -


    All caps: +


    \GLSfmtfirst{label}

    -

    +

    (No case-change applied to PDF bookmarks.) -

    The plural equivalents: -


    The plural equivalents: +


    \glsfmtfirstpl{label}

    -

    +

    First letter upper case: -



    \Glsfmtfirstpl{label}

    -

    +

    and all caps: -



    \GLSfmtfirstpl{label}

    -

    +

    @@ -15004,163 +14894,4221 @@ class="cmtt-10">}


    -

    -

    +

    Top

    6. Categories

    -

    Each entry defined by \newglossaryentry (or commands that internally use it -such as \newabbreviation) is assigned a category through the category key. You may -add any category that you like, but since the category is a label used in the creation -of some control sequences, avoid problematic characters within the category label. -(So take care if you have babel shorthands on that make some characters -active.) -

    The use of categories can give you more control over the way entries are displayed -in the text or glossary. Note that an entry’s category is independent of the glossary -type. Be careful not to confuse category with type. -

    The default category assumed by \newglossaryentry is labelled general. -Abbreviations defined with \newabbreviation have the category set to abbreviation -by default. Abbreviations defined with \newacronym have the category set to -acronym by default. -

    Additionally, if you have enabled \newterm with the index package option -that command will set the category to index by default. If you have enabled -\glsxtrnewsymbol with the symbols package option, that command will set the -category to symbol. If you have enabled \glsxtrnewnumber with the numbers package -option, that command will set the category to number. -

    You can obtain the category label for a given entry using -


    \glscategory{label}

    -

    -This is equivalent to commands like \glsentryname and so may be used in an -expandable context. No error is generated if the entry doesn’t exist. -

    You can test the category for a given entry using -


    \glsifcategory{entry-label}{category-label}{true part}{false partMulti (or Compound) Entries +

    Nested entries (where the entry definition references other entries) are discussed +in §2.8 Nested Links. This chapter deals with occasions where a term or +phrase may consist of multiple sub-terms that are independently defined. (Examples +in §6.1.5 Example: Skipping Elements (Fragment Element) and +§6.1.6 Example: Skipping Elements (Prefix and Post-Link Hooks) +provide workarounds for nested entries.) +

    For example, the names of bacteria, such as Clostridium botulinum and +Clostridium perfringens, are made up of the genus (for example, Clostridium) and +the species (for example, botulinum or perfringens). The genus is often abbreviated +after first use. For example, C. botulinum. However, if the name is defined as a +single term consisting of both the genus and species then it’s not possible +to apply the abbreviation when a different species with the same genus is +used. +

    Consider the following document: + + + +

    +
    +\documentclass{article}
    +\usepackage{glossaries-extra}
    +\setabbreviationstyle{long-only-short-only}
    +\newabbreviation{cbot}{C. botulinum}{Clostridium botulinum}
    +\newabbreviation{cperf}{C. perfringens}{Clostridium perfringens}
    +\begin{document}
    +\gls{cbot}, \gls{cbot}, \gls{cperf}.
    +\end{document}
    +
    +

    The result is: +
    Clostridium botulinum, C. botulinum, Clostridium perfringens. +
    +However, it should more typically be: +
    Clostridium botulinum, C. botulinum, C. perfringens. +
    +In this case, the genus should actually be a separate definition: + + + +

    +
    +\documentclass{article}
    +\usepackage{glossaries-extra}
    +\setabbreviationstyle{long-only-short-only}
    +\newabbreviation{clostridium}{C.}{Clostridium}
    +\newglossaryentry{botulinum}{name={botulinum},description={}}
    +\newglossaryentry{perfringens}{name=perfringens,description={}}
    +\begin{document}
    +\gls{clostridium} \gls{botulinum},
    +\gls{clostridium} \gls{botulinum},
    +\gls{clostridium} \gls{perfringens}.
    +\end{document}
    +
    +

    This is quite awkward to write. This chapter describes how to provide a shortcut +for this kind of construct. Each term should be defined as normal (as in +the above example), and a “multi-entry” label is then defined with the list +of labels of the entries that need to be referenced. This is done with the +command: +


    \multiglossaryentry[options]{multi-label}[main label]{label list}

    -

    -This is equivalent to

    -
    +

    +where ⟨multi-label⟩ is the new label and ⟨label list⟩ is the list of labels (corresponding to +entries that have already been defined). +

    The ⟨main label⟩ may be omitted, in which case the main label will be assumed to +be the final element in ⟨label list⟩. If ⟨main label⟩ is present, it must also be listed in ⟨label +list⟩. This is described in more detail in §6.2 Main and Other +Elements. +

    The ⟨options⟩ are a comma-separated list of options to override the current settings +and are described in §6.9 Multi-Entry Settings. +

    The earlier example can now be modified to include the following: + + + +

    +
    +\multiglossaryentry{cbot}{clostridium,botulinum}
    +\multiglossaryentry{cperf}{clostridium,perfringens}
    +
    +

    These commands must come after the definitions of clostridium, botulinum and \ifglsfieldeq{entry-label}{category}{category-label}{true -
    part}{false part} -

    -
    so any restrictions that apply to \ifglsfieldeq also apply to \glsifcategory. -

    Each category may have a set of attributes. For example, the general and acronym -categories have the attribute regular set to “true” to indicate that all entries with -either of those categories are regular entries (as opposed to abbreviations). -This attribute is accessed by \glsentryfmt to determine whether to use +class="cmtt-10">perfringens. +

    Once defined, a multi-entry set can be referenced using commands like: +


    \mgls[options]{multi-label}[insert]

    +

    +This command essentially does \gls{label} for each item in the ⟨label list⟩ (with +separators, see §6.4 Separators). If the final optional argument ⟨insert⟩ is +provided, it will be applied to the final (non-skipped) element in the list. So the +document body in the above example, can be rewritten as: + + + +

    +
    +\mgls{cbot}, \mgls{cbot}, \mgls{cperf}.
    +
    +

    +

    There are some variants of \mgls listed in §6.11 Variants of mgls. The +available ⟨options⟩ are listed in §6.10 mgls Options. They are applied after +the \multiglossaryentry options and will override settings for the individual +entries. +

    You can’t use ⟨multi-label⟩ in commands like \gls as this label represents a set of +entry labels not a single entry.
    +

    +

    The \multiglossaryentry command will generate an error if the label has +already been defined as a multi-entry. To do nothing if a multi-entry already exists, +use: +


    \providemultiglossaryentry[options]{multi-label}[main label]{label \glsgenentryfmt or \glsxtrgenabbrvfmt. -

    Other attributes recognised by glossaries-extra are: -

    -

    +class="cmitt-10">list⟩}


    +

    +Notes and associated commands applying to \multiglossaryentry also apply to +\providemultiglossaryentry unless otherwise stated. +

    \multiglossaryentry may be placed anywhere after the ⟨label list⟩ entries have +been defined. A multi-entry label can’t be referenced (with commands like \mgls) +before it has been defined.
    +

    +

    There is limited support for docdef=true. The multi-entry definition can be picked +up from the aux file on the next run to allow cross-references in any glossaries that +occur at the start of the document. Any changes made with commands like +\mglsSetMain won’t be carried over to the next run. +

    By default \multiglossaryentry will be localised to the current scope. If you +want to globally define a multi-entry you need to first switch on global definitions +with: +


    \multiglossaryentryglobaltrue

    +

    +To switch back to local definitions use: +


    \multiglossaryentryglobalfalse

    +

    +

    If you want to change the multi-entry options (locally) you can use: +


    \mglsSetOptions{multi-label}{new-options}

    +

    +This removes the original options. If you want to (locally) append to the existing +options, use: + + + +


    \mglsAddOptions{multi-label}{new-options}

    +

    +

    Note that \multiglossaryentry doesn’t make any adjustments to the +component entries. You will need to use the parent key when you define the entries +if you want a hierarchical structure in your glossary. (See the example in +§6.1.1 Example: Hierarchical.) +

    If you don’t want the other elements in the glossary, you can suppress the +indexing with indexothers=false (§6.9.1 Indexing) or put +them in an ignored glossary. For example: +

    +
    +\newignoredglossary{common}
    +\newabbreviation[type=common]{clostridium}{C.}{Clostridium}
    +
    +

    +

    The ⟨multi-label⟩ can’t be used in commands like \gls since the label refers to a set +of entry labels not to an individual entry. Similarly, an individual entry label can’t be +used in commands like \mgls. It is possible (although potentially confusing) to use +the same label for a multi-entry as for an individual entry (see the example in nohyperfirst

    -

    When using commands like \gls this will automatically suppress the hyperlink - on first use for entries with a category that has this attribute set to - “true”. (This settings can be overridden by explicitly setting the hyper - key on or off in the optional argument of commands like \gls.) As - from version 1.07, \glsfirst, \Glsfirst, \GLSfirst and their plural - versions (which should ideally behave in a similar way to the first use of +href="#sec:exskippostlink">§6.1.6 Example: Skipping Elements (Prefix and Post-Link Hooks)). +Context will determine which is meant, except in the case of the cross-referencing +fields (see, seealso and alias) where the cross-referenced label will first be tested if it’s +a known multi-entry label. +

    If you don’t want to have to keep track of which labels refer to multi-entries and +which refer to individual entries you can use: +


    \GlsXtrMglsOrGls{mgls cs}{gls cs}modifier[options]{label}[insert] +

    +

    +where ⟨mgls cs⟩ is the \mgls-like command to use if ⟨label⟩ has been defined as a +multi-entry and ⟨gls cs⟩ is the \gls-like command to use otherwise. The ⟨modifier⟩ may +be omitted, otherwise it is the modifier that may be used with \mgls or \gls (*, + +or the character identified with \GlsXtrSetAltModifier). The modifier +and remaining options are passed to the relevant command (⟨mgls cs⟩ or ⟨gls +cs⟩). +

    You may prefer to define your own shortcut commands for common combinations. +For example: + + + +

    +
    +\newcommand{\ac}{\GlsXtrMglsOrGls{\mgls}{\gls}}
    +\newcommand{\acpl}{\GlsXtrMglsOrGls{\mglsmainpl}{\glspl}}
    +\newcommand{\Ac}{\GlsXtrMglsOrGls{\Mgls}{\Gls}}
    +\newcommand{\Acpl}{\GlsXtrMglsOrGls{\Mglsmainpl}{\Glspl}}
    +
    +

    +

    +

    Top

    6.1 Examples

    +

    +

    +

    Top

    6.1.1 Example: Hierarchical

    +

    Bacteria names are represented by the genus (for example, Clostridium) followed by +the species (for example, botulinum). This example has the genus as a parent of the +species. + + + +

    +
    +\documentclass{article}
    +\usepackage[colorlinks]{hyperref}
    +\usepackage[stylemods=bookindex,style=bookindex]{glossaries-extra}
    +\makeglossaries
    +\newcommand{\latinname}[1]{\emph{#1}}
    +\glssetcategoriesattributes
    + {genus,species}{textformat,glossnamefont}{latinname}
    +\setabbreviationstyle[genus]{long-only-short-only-desc}
    +\newabbreviation
    + [category=genus,description={}]
    + {clostridium}{C.}{Clostridium}
    +\newglossaryentry{botulinum}{name=botulinum,category=species,
    +  description={},parent=clostridium}
    +\newglossaryentry{perfringens}{name=perfringens,category=species,
    +  description={},parent=clostridium}
    +\newglossaryentry{tetani}{name=tetani,category=species,
    +  description={},parent=clostridium}
    +\multiglossaryentry{cbot}{clostridium,botulinum}
    +\multiglossaryentry{cperf}{clostridium,perfringens}
    +\multiglossaryentry{ctet}{clostridium,tetani}
    +\multiglossaryentrysetup{indexothers=false,hyper=allmain}
    +\begin{document}
    +First use:
    +\mgls{cbot}, \mgls{cperf}, \mgls{ctet}.
    +Next use:
    +\mgls{cbot}, \mgls{cperf}, \mgls{ctet}.
    +\printglossaries
    +\end{document}
    +
    +

    This suppresses the indexing of the non-main elements (in this case, the genus). +However the genus is included in the glossary (without a number list) because it’s the +parent of the species (which are indexed). +

    The hyper=allmain option makes the entire content of each \mgls a hyperlink to +the main entry in the glossary. The resulting document text (before the glossary) +is: + + + +

    +

    First use: Clostridium botulinum, C. perfringens, C. tetani. +

    Next use: C. botulinum, C. perfringens, C. tetani.

    +

    +

    +

    Top

    6.1.2 Example: Suffix

    +

    This example has a minor modification to the previous one. In this case the +multi-entries are defined with a suffix: + + + +

    +
    +\multiglossaryentry[firstsuffix=botulism]{cbot}{clostridium,botulinum}
    +\multiglossaryentry[firstsuffix={gas gangrene}]{cperf}{clostridium,perfringens}
    +\multiglossaryentry[firstsuffix=tetanus]{ctet}{clostridium,tetani}
    +
    +

    The rest of the document is as in §6.1.1 Example: Hierarchical. The +document text is now: +

    +

    First use: Clostridium botulinum (botulism), C. perfringens (gas + gangrene), C. tetani (tetanus). +

    Next use: C. botulinum, C. perfringens, C. tetani.

    +

    +

    +

    Top

    6.1.3 Example: Category Suffix

    +

    This is an alternative to the previous example. Instead of storing the extra +information in the firstsuffix key, the information is stored in the user1 key of the last +element (the species). A category suffix is used to look up the field and append +it. + + + +

    +
    +\newglossaryentry{botulinum}{name=botulinum,category=species,
    +  user1={botulism},
    +  description={},parent=clostridium}
    +\newglossaryentry{perfringens}{name=perfringens,category=species,
    +  user1={gas gangrene},
    +  description={},parent=clostridium}
    +\newglossaryentry{tetani}{name=tetani,category=species,
    +  user1={tetanus},
    +  description={},parent=clostridium}
    +\mglsdefcategorysuffix{bacteria}{%
    + \mglsisfirstuse
    + {\glsxtrifhasfield{useri}{\mglslastelementlabel}{ (\glscurrentfieldvalue)}{}}%
    + {}%
    +}
    +\multiglossaryentry[category=bacteria]{cbot}{clostridium,botulinum}
    +\multiglossaryentry[category=bacteria]{cperf}{clostridium,perfringens}
    +\multiglossaryentry[category=bacteria]{ctet}{clostridium,tetani}
    +
    +

    The result is the same as the previous example. +

    +

    +

    Top

    6.1.4 Example: Separators

    +

    The first example (§6.1.1 Example: Hierarchical) can be modified so that +the species are also abbreviations. In this case, the separators are modified to +suppress the space (\relax) if both the genus and species are abbreviated, or to use +a non-breaking space ~ between the genus short form (shown on subsequent use) and +the species long form (shown on first use). If the genus is showing the long form (first +use) then a normal space is used. +

    Note that the separator attributes apply to the category of the element before the +separator (not to the multi-entry category). + + + +

    +
    +\glssetcategoryattribute{genus}{combinedfirstsepfirst}{\space}
    +\glssetcategoryattribute{genus}{combinedfirstsep}{\space}
    +\glssetcategoryattribute{genus}{combinedsepfirst}{~}
    +\glssetcategoryattribute{genus}{combinedsep}{\relax}
    +\setabbreviationstyle[species]{long-only-short-only-desc}
    +\newabbreviation[category=species,
    +  description={},parent=clostridium]{botulinum}{bot.}{botulinum}
    +\newabbreviation[category=species,
    +  description={},parent=clostridium]{perfringens}{per.}{perfringens}
    +\newabbreviation[,category=species,
    +  description={},parent=clostridium]{tetani}{tet.}{tetani}
    +
    +

    This will cause a double dot at the end of the second sentence, which can be +suppressed using the discardperiod and retainfirstuseperiod attributes. + + + +

    +
    +\glssetcategoriesattributes{species}{discardperiod,retainfirstuseperiod}{true}
    +
    +

    This works because the final element’s post-link hook is transferred to the +multi-entry post-link hook, which can detect the sentence terminating period. If the +post-link hook settings are changed, for example, to postlinks=all,mpostlink=false +then the feature won’t work as the final element’s post-link hook can’t detect the +period (because \gls is embedded too deeply inside the internal workings of +\mgls). +

    The result is: +

    +

    First use: Clostridium botulinum, C. perfringens, C. tetani. +

    Next use: C.bot., C.per., C.tet.

    +

    +

    +

    Top

    6.1.5 Example: Skipping Elements (Fragment Element)

    +

    This example is an alternative way of dealing with nested links (see §2.8 +Nested Links). + + + +

    +
    +\documentclass{article}
    +\usepackage[colorlinks]{hyperref}
    +\usepackage[stylemods,style=long]{glossaries-extra}
    +\makeglossaries
    +\setabbreviationstyle{long-short-sc}
    +\newabbreviation{ssi}{ssi}{server-side includes}
    +\newabbreviation{html}{html}{hypertext markup language}
    +\setabbreviationstyle[combinedabbrv]{long-only-short-sc-only}
    +\newabbreviation
    + [category=combinedabbrv,
    +  description={\glsxtrshort{ssi} enabled \glsxtrshort{html}}]
    + {shtml-frag}{shtml}{enabled}
    +\glssetcategoryattribute{combinedabbrv}{multioptions}
    + {usedskipothers,firstsuffix={\glsxtrshort{\mglslastmainlabel}}}
    +\multiglossaryentry
    + [category={combinedabbrv}]
    + {shtml}[shtml-frag]{ssi,shtml-frag,html}
    +\begin{document}
    +Individual elements first use: \gls{ssi} and \gls{html}.
    +Individual elements next use: \gls{ssi} and \gls{html}.
    +Multi-entry first use: \mgls{shtml}.
    +Multi-entry next use: \mgls{shtml}.
    +Resetting all\glsresetall\mglsreset{shtml}:
    +Multi-entry first use: \mgls{shtml}.
    +Multi-entry next use: \mgls{shtml}.
    +Individual elements: \gls{ssi} and \gls{html}.
    +\printglossaries
    +\end{document}
    +
    +

    This uses the multioptions attribute to skip “other” elements on subsequent use. The +problematic abbreviation (SHTML) is defined as a fragment that simply expands to + + + +“enabled” on first use. Note that the description has to be supplied for the +glossary. +

    The above produces (underlining added to mark the hyperlinks): +

    +

    Individual elements first use: server-side includes (ssi) and hypertext + markup language (html). +

    Individual elements next use: ssi and html. +

    Multi-entry first use: ssi enabled html (shtml). +

    Multi-entry next use: shtml. +

    Resetting all: +

    Multi-entry first use: server-side includes (ssi) enabled hypertext + markup language (html) (shtml). +

    Multi-entry next use: shtml. +

    Individual elements: ssi and html.

    +

    The key difference here from the example using \glsps at the end of §2.8 +Nested Links is that the individual elements hyperlink to their respective entries in +the glossary on first use of \mgls. +

    The problem is that with the colorlinks package option, it’s not obvious where the +hyperlinks start and end. The suffix (shtml) will hyperlink to the “shtml” entry in +the glossary, so the “enabled” hyperlink is redundant. The simplest fix for this is to +add hyper=notmainfirst to the option list, which will prevent “enabled” from being a +hyperlink. +

    Another problem occurs where \mgls is used before the individual elements +are used, which leads to their full expansion with a confusing amount of +parentheses. A simple solution is to use the option mglsopts=unsetothers, +which will unset the other (not-main) elements first. This can be localised +with presetlocal but \gls will then unset the first use flag globally, which +means that the other elements won’t show the full form when they are first +used on their on after \mgls. This can be switched to a local unset with +others=local. +

    The complete set of options are now: + + + +

    +
    +\glssetcategoryattribute{combinedabbrv}{multioptions}
    + {%
    +  hyper=notmainfirst,
    +  mglsopts={presetlocal,unsetothers,others={local}},
    +  usedskipothers,
    +  firstsuffix={\glsxtrshort{\mglslastmainlabel}}
    + }
    +
    +

    This now produces (underlining added to mark the hyperlinks): +

    +

    Individual elements first use: server-side includes (ssi) and hypertext + markup language (html). +

    Individual elements next use: ssi and html. +

    Multi-entry first use: ssi enabled html (shtml). +

    Multi-entry next use: shtml. +

    Resetting all: +

    Multi-entry first use: ssi enabled html (shtml). +

    Multi-entry next use: shtml. +

    Individual elements: server-side includes (ssi) and hypertext markup + language (html).

    +

    This method still has two main drawbacks: the description must be added manually and +the long form can’t be accessed with \glsxtrlong. The next example provides an +alternative approach. +

    +

    +

    Top

    6.1.6 Example: Skipping Elements (Prefix and Post-Link Hooks)

    +

    This is a modified version of the previous example. In this case, the main element +isn’t a fragment and also happens to have the same label as the multi-entry set. +(\mgls{shtml} references the multi-entry label and \gls{shtml} references the +individual entry.) +

    In this case, the nested parts are marked up with custom commands: + + + +

    +
    +\newrobustcmd{\combinedpre}[1]{\glsps{#1}}
    +\newrobustcmd{\combinedpost}[1]{\glsps{#1}}
    +\newabbreviation{shtml}{shtml}
    +{{}\combinedpre{ssi} enabled \combinedpost{html}}
    +
    +

    This means that it’s no longer necessary to manually insert the description and the +long form can be accessed as usual with \glsxtrshort{shtml}. Note that it is +necessary to define the custom commands robustly otherwise they will need to be +protected against premature expansion: + + + +

    +
    +\newcommand{\combinedpre}[1]{\glsps{#1}}
    +\newcommand{\combinedpost}[1]{\glsps{#1}}
    +\newabbreviation{shtml}{shtml}
    +{{}\protect\combinedpre{ssi} enabled \protect\combinedpost{html}}
    +
    +

    In both cases, an initial empty group is added to guard against any first letter +uppercase commands, such as \Glsxtrlong. +

    The abbreviations all use the long-postshort-sc-user style, which places the short +form in the post-link hook on first use. The \gls post-link hook for the main element +can be transferred to the \mgls post-link using: + + + +

    +
    +mpostlinkelement=main
    +
    +

    All elements have their individual post-link hooks suppressed by default. As in +the previous example, the other elements can be skipped on subsequent +use: + + + +

    +
    +usedskipothers
    +
    +

    Within \mgls, the nested content needs to be suppressed, which can be done by +redefining the custom commands. This can be done in the multi-entry prefix. Since +the entire content of \mgls (except for the final multi-entry post-link hook) occurs +inside a group, this redefinition will be localised. +

    The complete document is as follows: + + + +

    +
    +\documentclass{article}
    +\usepackage[colorlinks]{hyperref}
    +\usepackage[stylemods,style=long]{glossaries-extra}
    +\makeglossaries
    +\setabbreviationstyle{long-postshort-sc-user}
    +\newabbreviation{ssi}{ssi}{server-side includes}
    +\newabbreviation{html}{html}{hypertext markup language}
    +\newrobustcmd{\combinedpre}[1]{\glsps{#1}}
    +\newrobustcmd{\combinedpost}[1]{\glsps{#1}}
    +\newabbreviation{shtml}{shtml}
    +{{}\combinedpre{ssi} enabled \combinedpost{html}}
    +\glssetcategoryattribute{combinedabbrv}{multioptions}
    + {%
    +  mpostlinkelement=main,
    +  usedskipothers
    + }
    +\multiglossaryentry
    + [category={combinedabbrv}]
    + {shtml}[shtml]{ssi,shtml,html}
    +\mglsdefcategoryprefix{combinedabbrv}{%
    + \renewcommand{\combinedpre}[1]{\ignorespaces}%
    + \renewcommand{\combinedpost}[1]{\unskip}%
    +}
    +\begin{document}
    +Individual elements first use: \gls{ssi} and \gls{html}.
    +Individual elements next use: \gls{ssi} and \gls{html}.
    +Multi-entry first use: \mgls{shtml}.
    +Multi-entry next use: \mgls{shtml}.
    +Individual entry first use: \gls{shtml}.
    +Resetting all\glsresetall\mglsresetall:
    +                                                                  
    +
    +                                                                  
    +Multi-entry first use: \mgls{shtml}.
    +Multi-entry next use: \mgls{shtml}.
    +Individual elements: \gls{ssi} and \gls{html}.
    +Resetting all\glsresetall\mglsresetall:
    +Individual entry first use: \gls{shtml}.
    +Multi-entry first use: \mgls{shtml}. (Wrong!)
    +\printglossaries
    +\end{document}
    +
    +

    This now produces (underlining added to mark the hyperlinks): +

    +

    Individual elements first use: server-side includes (ssi) and hypertext + markup language (html). +

    Individual elements next use: ssi and html. +

    Multi-entry first use: ssi enabled html (shtml). +

    Multi-entry next use: shtml. +

    Individual entry first use: shtml. +

    Resetting all: +

    Multi-entry first use: server-side includes enabled hypertext markup + language (shtml). +

    Multi-entry next use: shtml. +

    Individual elements: ssi and html. +

    Resetting all: +

    Individual entry first use: ssi enabled html (shtml). +

    Multi-entry first use: server-side includes shtml hypertext markup + language. (Wrong!)

    +

    Note the last two paragraphs, which highlights what happens if \gls{shtml} is used +before \mgls{shtml} when neither of the other elements (ssi and html) have been +used. The final instance of \mgls has produced the wrong result. This is because it’s +the first use of the multi-entry shtml but not the first use of the individual entry +shtml. +

    One way around this is to modify the prefix to ensure that the main element’s +first use flag matches the multi-entry’s first use flag: + + + +

    +
    +\mglsdefcategoryprefix{combinedabbrv}{%
    + \renewcommand{\combinedpre}[1]{\ignorespaces}%
    + \renewcommand{\combinedpost}[1]{\unskip}%
    + \mglsisfirstuse
    + {\glslocalreset{\mglscurrentmainlabel}}%
    + {\glslocalunset{\mglscurrentmainlabel}}%
    +}
    +
    +

    +

    The showtargets=annoteleft option can be used to mark up the links +with the targets. For example, the first instance of \mgls{shtml} will show +as: +

    +

    Multi-entry first use: [glo:ssi]ssi[glo:shtml]enabled + [glo:html]html(shtml).

    +

    Each entry has an individual hyperlink to its own glossary item, which may be +confusing. This can be made clearer by suppressing the main element link on first use +with: + + + +

    +
    +hyper=notmainfirst
    +
    +

    (as in the previous example), and adjusting the abbreviation style so that the +parenthetical content in the post-link hook has a hyperlink: + + + +

    +
    +\renewcommand*{\glsxtruserparen}[2]{%
    +  \glsxtrfullsep{#2}%
    +  \glsxtrparen
    +   {\glshyperlink[#1]{#2}%
    +    \ifglshasfield{\glsxtruserfield}{#2}{, \glscurrentfieldvalue}{}%
    +   }%
    +}
    +
    +

    +

    The remaining problem is how to deal with the possibility that \mgls{shtml} +may come before the first use of the other elements. For example: + + + +

    +
    +Multi-entry first use: \mgls{shtml}.
    +Individual elements: \gls{ssi} and \gls{html}.
    +
    +

    This leads to: +

    +

    Multi-entry first use: server-side includes enabled hypertext markup + language (shtml). +

    Individual elements: ssi and html.

    +

    This means that the abbreviations ssi and html aren’t explained in the document text. +One way around this is to only locally unset the other element first use +flags: + + + +

    +
    +\glssetcategoryattribute{combinedabbrv}{multioptions}
    + {%
    +  hyper=notmainfirst,
    +  mpostlinkelement=main,
    +  usedskipothers,
    +  mglsopts={others={local}}
    + }
    +
    +

    With the above setting, the following: + + + +

    +
    +\glsresetall\mglsresetall
    +Multi-entry first use: \mgls{shtml}.
    +Multi-entry next use: \mgls{shtml}.
    +Individual elements: \gls{ssi} and \gls{html}.
    +
    +

    will now produce: +

    +

    Multi-entry first use: server-side includes enabled hypertext markup + language (shtml). +

    Multi-entry next use: shtml. +

    Individual elements: server-side includes (ssi) and hypertext markup + language (html).

    +

    +

    +

    Top

    6.2 Main and Other Elements

    +

    The list of labels provided in the final argument of \multiglossaryentry +consists of a main element and all the other elements. If the main element isn’t +identified in the optional argument, it’s assumed to be the final element in the +list. +

    The main element allows you to determine which target to use if you want the +entire content of \mgls to be a single hyperlink. You can also use the settings +described in §6.9 Multi-Entry Settings to only index the main +element. +

    You can change the main element using: +


    \mglsSetMain{multi-label}{new-main-label}

    +

    +The new main label provided in the second argument must be in the list +corresponding to ⟨multi-label⟩. This change is locally applied to the current scope. +Note that if you are using bib2gls, this change in the document can’t be +detected. +

    The main element can also be used to identify which element should be displayed +in the plural with \mglsmainpl. For example: + + + +

    +
    +\newglossaryentry{great}{name={great},description={}}
    +\newglossaryentry{little}{name={little},description={}}
    +\newglossaryentry{grebe}{name={grebe},description={}}
    +\multiglossaryentry{greatgrebe}{great,grebe}
    +\multiglossaryentry{littlegrebe}{little,grebe}
    +
    +

    In the above, two multi-entries are defined: greatgrebe and littlegrebe. In both +cases the main element is grebe (the last element). Using \mglspl will show the +plural for all elements, but using \mglsmainpl will only use the plural for the main +element (grebe). For example: + + + +

    +
    +Plural all: \mglspl{greatgrebe}, \mglspl{littlegrebe}.
    +Plural main: \mglsmainpl{greatgrebe}, \mglsmainpl{littlegrebe}.
    +
    +

    produces: +
    Plural all: greats grebes, littles grebes. +
    Plural main: great grebes, little grebes. +
    +

    +

    +

    Top

    6.3 Prefixes and Suffixes

    +

    A multi-entry may have associated prefixes and suffixes. These are scoped and are +placed outside of the hyperlinks and encapsulating commands. They are not affected +by case-changing commands, such as \Mgls. If you want a prefix to obey +case-changing, use the \mpgls-like commands instead (§6.11.4 Support for +glossaries-prefix (pgls)). +

    The prefix is inserted with: +


    \mglsprefix

    +

    +The default definition is: + + + +

    +
    +\newcommand*{\mglsprefix}{%
    + \ifdefempty\mglscurrentcategory
    + {\mglscurrentprefix}%
    + {%
    +   \mglshascategoryprefix{\mglscurrentcategory}%
    +   {\mglsusecategoryprefix{\mglscurrentcategory}}%
    +   {\mglscurrentprefix}%
    + }%
    +}
    +
    +

    This will insert the current prefix unless there is prefix command associated with the +current category. +

    The suffix is inserted with: +


    \mglssuffix

    +

    +The command is defined as follows: + + + +

    +
    +\newcommand*{\mglssuffix}{%
    + \ifdefempty\mglscurrentcategory
    + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}%
    + {%
    +   \mglshascategorysuffix{\mglscurrentcategory}%
    +   {\mglsusecategorysuffix{\mglscurrentcategory}}%
    +   {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}%
    + }%
    +}
    +
    +

    If there is a suffix associated with the current category, that will be used, otherwise +if the current suffix isn’t empty this inserts a space followed by the current suffix in +parentheses. You can access the label of the last (non-skipped) element with +\mglslastelementlabel. +

    Note that in both cases the category corresponds to the multi-entry category (see +§6.8 Multi-Entry Category). +

    To define a category-dependent prefix, use: +


    \mglsdefcategoryprefix{category}{definition}

    +

    +You can reference the current prefix with \mglscurrentprefix. +

    To define a category-dependent suffix, use: +


    \mglsdefcategorysuffix{category}{definition}

    +

    +You can reference the current suffix with \mglscurrentsuffix. +

    The default definition of \mglsprefix tests if there is a category prefix +using: +


    \glshascategoryprefix{category}{true}{false}

    +

    +The category prefix is used with: +


    \glsusecategoryprefix{category}

    +

    +

    The default definition of \mglssuffix tests if there is a category suffix +using: +


    \glshascategorysuffix{category}{true}{false}

    +

    +The category suffix is used with: +


    \glsusecategorysuffix{category}

    +

    +

    The current prefix \mglscurrentprefix and \mglscurrentsuffix are obtained +as follows:

    + + + +
      +
    • if this is the first use of the multi-entry (§6.7 Multi-Entry + First Use) then the ⟨prefix⟩ is set to the value of the firstprefix option and + the ⟨suffix⟩ is set to the value of the firstsuffix option; +
    • +
    • otherwise the ⟨prefix⟩ is set to the value of the usedprefix option and the + ⟨suffix⟩ is set to the value of the usedsuffix option.
    +

    The prefix and suffix (if set) are placed outside of the hyperlink and text +formatting encapsulator. They are not affected by case-changing commands such as +\Mgls or \MGLS.
    +

    +

    For example: + + + +

    +
    +\setabbreviationstyle{long-only-short-only}
    +\newabbreviation{clostridium}{C.}{Clostridium}
    +\newglossaryentry{botulinum}{name=botulinum,description={}}
    +\multiglossaryentry[firstsuffix=botulism]
    + {cbot}{clostridium,botulinum}
    +
    +

    On first use, this produces (assuming the “clostridum” element hasn’t been used +previously): +

    +

    Clostridium botulinum (botulism).

    +

    On subsequent use, this produces: +

    +

    C. botulinum.

    +

    +

    +

    Top

    6.4 Separators

    +

    The separators between each instance of \gls are given by the following +commands, which all take two arguments. The first argument is the label of +the previous element. The second argument is the label of the following +element. +


    \glscombinedsep{prev label}{next label}

    +

    +This is inserted between two entries that have both been marked as used. The default +definition is: + + + +

    +
    +\newcommand*{\glscombinedsep}[2]{%
    +  \glshasattribute{#1}{combinedsep}%
    +  {\glsgetattribute{#1}{combinedsep}}%
    +  { }%
    +}
    +
    +

    This will use the combinedsep attribute for the ⟨prev label⟩’s category, if set. Otherwise +this just does a space. Note that this ignores the second argument. +


    \glscombinedfirstsep{prev label}{next label}

    +

    +This is inserted between two entries where only the next entry has been marked as +used. The default definition is: + + + +

    +
    +\newcommand*{\glscombinedfirstsep}[2]{%
    + \glshasattribute{#1}{combinedfirstsep}%
    + {\glsgetattribute{#1}{combinedfirstsep}}%
    + {\glscombinedsep{#1}{#2}}%
    +}
    +
    +

    This will use the combinedfirstsep attribute for ⟨prev label⟩’s category, if set. If that +attribute isn’t set, \glscombinedsep is used. +


    \glscombinedsepfirst{prev label}{next label}

    +

    +This is inserted between two entries where only the previous entry has been marked +as used. The default definition is: + + + +

    +
    +\newcommand*{\glscombinedsepfirst}[2]{%
    + \glshasattribute{#1}{combinedsepfirst}%
    + {\glsgetattribute{#1}{combinedsepfirst}}%
    + {\glscombinedsep{#1}{#2}}%
    +}
    +
    +

    This will use the combinedsepfirst attribute for ⟨prev label⟩’s category, if set. If that +attribute isn’t set, \glscombinedsep is used. +


    \glscombinedfirstsepfirst{prev label}{next label}

    +

    +This is inserted between two entries where both have been marked as used. The +default definition is: + + + +

    +
    +\newcommand*{\glscombinedfirstsepfirst}[2]{%
    + \glshasattribute{#1}{combinedfirstsepfirst}%
    + {\glsgetattribute{#1}{combinedfirstsepfirst}}%
    + {\glscombinedsep{#1}{#2}}%
    +}
    +
    +

    This will use the combinedfirstsepfirst attribute for ⟨prev label⟩’s category, if set. If that +attribute isn’t set, \glscombinedsep is used. +

    These commands may be redefined as required. For example, to have no space +between two elements that have both been marked as used and are both +abbreviations (disregarding category attributes): + + + +

    +
    +\renewcommand*{\glscombinedfirstsepfirst}[2]{%
    + \ifglshasshort{#1}{\ifglshasshort{#2}{}{\space}}{\space}%
    +}
    +
    +

    +

    There are some commands for redefining the above separators to common +combinations. +


    \glssetcombinedsepabbrvnbsp

    +

    +This does the following: + + + +

    +
    +\renewcommand*{\glscombinedsep}[2]{%
    + \glshasattribute{#1}{combinedsep}%
    + {\glsgetattribute{#1}{combinedsep}}%
    + {\ifhasshort{#1}{~}{ }}%
    +}%
    +\renewcommand*{\glscombinedsepfirst}[2]{%
    + \glshasattribute{##1}{combinedsepfirst}%
    + {\glsgetattribute{##1}{combinedsepfirst}}%
    + {\ifhasshort{#1}{~}{ }}%
    +}%
    +\renewcommand*{\glscombinedfirstsep}[2]{%
    + \glshasattribute{#1}{combinedfirstsep}%
    + {\glsgetattribute{#1}{combinedfirstsep}}%
    + { }%
    +}%
    +\renewcommand*{\glscombinedfirstsepfirst}[2]{%
    +  \glshasattribute{##1}{combinedfirstsepfirst}%
    +  {\glsgetattribute{##1}{combinedfirstsepfirst}}%
    +  { }%
    +}%
    +
    +

    This uses a non-breakable space ~ following an abbreviation (that has already been +marked as used). Note that if the associated attributes are set the commands will +behave according to the attribute. +


    \glssetcombinedsepabbrvnone

    +

    +This does the following: + + + +

    +
    +\renewcommand*{\glscombinedsep}[2]{%
    + \glshasattribute{#1}{combinedsep}%
    + {\glsgetattribute{#1}{combinedsep}}%
    + {\ifhasshort{#1}{}{\ifhasshort{#2}{}{ }}}%
    +}%
    +\renewcommand*{\glscombinedsepfirst}[2]{%
    + \glshasattribute{#1}{combinedsepfirst}%
    + {\glsgetattribute{#1}{combinedsepfirst}}%
    + {\ifhasshort{#1}{}{ }}%
    +}%
    +\renewcommand*{\glscombinedfirstsep}[2]{%
    + \glshasattribute{##1}{combinedfirstsep}%
    + {\glsgetattribute{##1}{combinedfirstsep}}%
    + {\ifhasshort{##2}{}{ }}%
    +}%
    +\renewcommand*{\glscombinedfirstsepfirst}[2]{%
    + \glshasattribute{##1}{combinedfirstsepfirst}%
    + {\glsgetattribute{##1}{combinedfirstsepfirst}}%
    + { }%
    +}%
    +
    +

    This does nothing if either element are abbreviations that have already been used. +Note that if the associated attributes are set the commands will behave according to +the attribute. +


    \glssetcombinedsepnarrow{width}{narrow sep}

    +

    +This is rather more complicated as it measures a field value and uses ⟨narrow +sep⟩ if the width is less than ⟨width⟩. The field value is determined as follows: +

    +
      +
    • on first use the long field is used if it is set otherwise the first field is used; +
    • +
    • otherwise the short field is used if it is set otherwise the text field is used;
    +

    Note that this doesn’t take into account fonts, hooks, abbreviation styles or +plural forms (e.g. \mglspl) or other field references (e.g. \mglsname). If the +associated attributes are set the commands will behave according to the +attribute. +

    +

    + + + +

    Top

    6.5 mgls Element Hooks

    +

    The \mgls-like commands use the following hooks: +


    \mglselementprehook

    +

    +This is done before each (non-skipped) element. (Default does nothing.) +


    \mglselementposthook

    +

    +This is done after each (non-skipped) element. (Default does nothing.) Note that this is +different from the normal entry post-link hook \glspostlinkhook. If the individual +entry post-link hook is enabled (see the postlinks key in §6.9 +Multi-Entry Settings), this will go before \mglselementposthook. +

    The definitions of the following commands are scoped within the \mgls-like +commands so they can’t be accessed elsewhere (including in the post-link hook, see +§6.6 Post-Link Hook). They may be used in the above hooks +or in the separator commands (described in §6.4 Separators) or +in the command used to encapsulate the entire content. They can also be +used in the post-link hook (see §2.4 Entry Display Style +Modifications) to determine if an entry is being used within a \mgls-like +command. +

    The multi-entry label is stored in: +


    \mglscurrentmultilabel

    +

    +

    The label of the main element: +


    \mglscurrentmainlabel

    +

    +

    The complete comma-separated list of elements: +


    \mglscurrentlist

    +

    +

    Multi-entry options: +


    \mglscurrentoptions

    +

    +These are the options that were used when defining the multi-entry. This doesn’t +include options set with \multiglossaryentrysetup or those passed to \mgls (or +whichever variant is being used). +

    The current multi-entry category in effect is stored in: +


    \mglscurrentcategory

    +

    +

    The calling command control sequence name (e.g. “mgls” or “mglspl”) can be +obtained with: +


    \glsxtrcurrentmglscsname

    +

    + + + +

    To test if the current multi-entry is the first use: +


    \mglsisfirstuse{true}{false}

    +

    +This does ⟨true⟩ if this is the first use otherwise it does ⟨false⟩. Note that this +applies to the multi-entry first use flag not the first use flags of the individual +elements. +

    At each iteration of the loop over the element list, the following commands are +set, which can be accessed in hooks such as \mglselementprehook or in hooks used +by the underlying \gls etc commands. For example, if \mglscurrentlabel is +defined then \gls is being used inside \mgls. +

    The current element label: +


    \mglscurrentlabel

    +

    +

    This is a count register that is set to the element index: +


    \mglselementindex

    +

    +

    The current multi-entry prefix: +


    \mglscurrentprefix

    +

    +

    The current multi-entry suffix: +


    \mglscurrentsuffix

    +

    +


    \mglsiflast{true}{false}

    +

    +If this is the last iteration, does ⟨true⟩ otherwise does ⟨false⟩. This takes the skip options +into account, so the last iteration may not necessarily be when the element index is +equal to the total number of elements. +

    +

    +

    Top

    6.6 Post-Link Hook

    +

    There is a hook that occurs at the end the \mgls-like commands according to the +mpostlink setting (see §6.9 Multi-Entry Settings). The hook used +depends on the mpostlinkelement option. These hooks can’t access the commands +described in §6.5 mgls Element Hooks as the hook occurs +outside of the scope in which they are defined. +

    The mpostlinkelement=custom option uses: +


    \mglscustompostlinkhook

    +

    +This does nothing by default. + + + +

    The mpostlinkelement=last option uses: +


    \mglslastelementpostlinkhook

    +

    +which emulates the post-link hook of the last element. +

    The mpostlinkelement=main option uses: +


    \mglslastmainpostlinkhook

    +

    +which emulates the post-link hook of the main element. +

    The default settings postlinks=none,mpostlink=true,mpostlinkelementlast will +suppress the individual element post-link hooks (\glspostlinkhook) and do the +multi-entry post-link hook for the last element (\mglslastelementpostlinkhook). +

    If you have the final element’s post-link hook enabled and the multi-entry post-link +hook enabled (for example, postlinks=all, mpostlink=true, mpostlinkelement=last), the +final element’s post-link hook will be done twice. Similarly for the main element with +postlinks=all, mpostlink=true, mpostlinkelement=main. +

    The following commands are available for use in these hooks and may also be +used in \mglssuffix. +

    The multi-entry label: +


    \mglslastmultilabel

    +

    +

    The multi-entry category (§6.8 Multi-Entry Category): +


    \mglslastcategory

    +

    +This will be empty if no category was assigned. +


    \mglswasfirstuse{true}{false}

    +

    +If that was the first use of the multi-entry (§6.7 Multi-Entry First Use) +this does ⟨true⟩ otherwise it does ⟨false⟩. +

    +

    +

    Top

    6.6.1 Last Element

    +

    The following commands relate to the last element. +

    The label of the last non-skipped element: +


    \mglslastelementlabel

    +

    +If all elements were skipped or if the multi-entry wasn’t defined, this will be +empty. +

    Test if the last element was skipped: +


    \mglsiflastelementskipped{true}{false}

    +

    +If the last element was skipped this does ⟨true⟩ otherwise it does ⟨false⟩. If +all elements were skipped or if the multi-entry wasn’t defined, this will do + + + +⟨true⟩. +

    Test if the last element was its first use: +


    \mglsiflastelementwasfirstuse{true}{false}

    +

    +If the last non-skipped element was used for the first time this does ⟨true⟩ otherwise it +does ⟨false⟩. (Corresponds to \glsxtrifwasfirstuse.) If all elements were skipped or +if the multi-entry wasn’t defined, this will do ⟨true⟩. +

    Test if the last element was plural: +


    \mglsiflastelementwasplural{true}{false}

    +

    +If the last non-skipped element had the plural form displayed, this does ⟨true⟩ +otherwise it does ⟨false⟩. (Corresponds to \glsifplural.) If all elements were skipped +or if the multi-entry wasn’t defined, this will do ⟨false⟩. +

    Test if the last element was had any case-changing applied: +


    \mglsiflastelementcapscase{no-change}{firstuc}{all caps} +

    +

    +Corresponds to \glscapscase of the last non-skipped element. If all elements were +skipped or if the multi-entry wasn’t defined, this will do ⟨no-change⟩. +

    +

    +

    Top

    6.6.2 Main Element

    +

    The following commands relate to the main element. +

    The label of the main element from the multi-entry that was just referenced: +


    \mglslastmainlabel

    +

    +If the main element was skipped or if the multi-entry wasn’t defined, this will be +empty. If this is the same as \mglslastelementlabel then the main element was the +last element. +

    Test if the main element was skipped: +


    \mglsiflastmainskipped{true}{false}

    +

    +If the main element from the multi-entry that was just referenced was skipped this +does ⟨true⟩ otherwise it does ⟨false⟩. If the multi-entry wasn’t defined, this will do +⟨true⟩. +

    Test if the main element was its first use: +


    \mglsiflastmainwasfirstuse{true}{false}

    +

    +If the main element was used for the first time this does ⟨true⟩ otherwise it does ⟨false⟩. +(Corresponds to \glsxtrifwasfirstuse.) If the main element was skipped or if the +multi-entry wasn’t defined, this will do ⟨true⟩. +

    Test if the main element was plural: +


    \mglsiflastmainwasplural{true}{false}

    + + + +

    +If the main element from the multi-entry that was just referenced had its plural form +displayed this does ⟨true⟩ otherwise it does ⟨false⟩. (Corresponds to \glsifplural.) If +the main element was skipped or if the multi-entry wasn’t defined, this will do +⟨false⟩. +

    Test if the main element was had any case-changing applied: +


    \mglsiflastmaincapscase{no-change}{firstuc}{all caps}

    +

    +Corresponds to \glscapscase of the main element from the multi-entry that was +just referenced. If the main element was skipped or if the multi-entry wasn’t defined, +this will do ⟨no-change⟩. +

    +

    +

    Top

    6.7 Multi-Entry First Use

    +

    Each multi-entry set has an associated first use flag. This is independent of +the first use flag associated with the individual entries that make up the +set. As with the \gls-like commands, \mgls unsets this flag. Unlike the +\glstext-like commands, all the commands described in §6.11 Variants +of mgls (including commands like \mglsname) unset this flag, even if the +elements use commands like \glsname that don’t unset the entry’s first use +flag. +

    You can determine whether or not a multi-entry set has been marked as used +with: +


    \ifmglsused{multi-label}{true}{false}

    +

    +You can (globally) unset the flag (mark the set as having been referenced) +with: +


    \mglsunset{multi-label}

    +

    +or reset it with: +


    \mglsreset{multi-label}

    +

    +There are also local versions of these commands: +


    \mglslocalunset{multi-label}

    +

    +and +


    \mglslocalreset{multi-label}

    +

    +

    To unset all multi-entries: +


    \mglsunsetall

    +

    +To reset all multi-entries: + + + +


    \mglsresetall

    +

    +

    Note that unsetting or resetting any of the individual element first use flags +doesn’t affect the multi-entry flag. Similarly, unsetting or resetting the multi-entry +flag doesn’t affect the first use flags of the individual elements. +

    +

    +

    Top

    6.8 Multi-Entry Category

    +

    A multi-entry set may have an associated category set using the category key +described in §6.9 Multi-Entry Settings. This isn’t set by default, +but if it is set the category may have attributes set in the usual way. The multi-entry +category is independent of the individual entry categories. The following attribute is +recognised by commands like \mgls: +

    +multioptions
    default options to apply to any multi-entry set with the given + category. These can be overridden by the first optional argument of + \multiglossaryentry or by the setup key in the first optional argument + of commands like \mgls. +
    +

    Note that you can’t access the category or its attributes via the multi-entry label +(for example, with \glshasattribute). If you need to access the current +multi-entry’s category within any of the \mgls-like hooks (§6.5 +mgls Element Hooks), you can obtain the category with \mglscurrentcategory and +use commands like \glshascategoryattribute. +

    +

    +

    Top

    6.9 Multi-Entry Settings

    +

    The settings that govern all multi-entries can be set using: +


    \multiglossaryentrysetup{options}

    +

    +The ⟨options⟩ are the same as for \multiglossaryentry. Options may also be set +according to the multi-entry category attribute multioptions. +

    Whenever the \mgls-like commands are used, options are applied in the following +order: +

      +
    1. general options identified by \multiglossaryentrysetup; + + + +
    2. +
    3. the category key is assigned if it’s in the general options, + \multiglossaryentry or setup key; +
    4. +
    5. multioptions category attribute (if set); +
    6. +
    7. any options provided in the first optional argument of + \multiglossaryentry; +
    8. +
    9. any options provided in the setup key in the first optional argument of the + \mgls-like command.
    +

    These options are described below. +

    +

    +

    Top

    6.9.1 Indexing

    +
    +indexmain
    This setting may take one of the following values: +
    + false
    don’t index the main entry; +
    + true
    index the main entry; +
    + first
    only index the main entry if it’s the first use (of the main entry).
    +

    The default is true. +

    +indexothers
    This setting may take one of the following values: +
    + false
    don’t index the other entries; +
    + true
    index the other entries; +
    + first
    only index the other entries if it’s the first use (of the non-main + entry).
    +

    The default is first.

    + + + +

    +

    +

    Top

    6.9.2 Location Formats (Encaps)

    +
    +encapmain
    This setting value should be the value to pass to format for the main + entry. (The location encapsulator.) The default is glsnumberformat. +
    +encapothers
    This setting value should be the value to pass to format for the + other (not main) entries. (The location encapsulator.) The default is + glsnumberformat.
    +

    +

    +

    Top

    6.9.3 Post-Link Hooks

    +
    +postlinks
    This setting determines whether or not to enable the individual + element’s post-link hook (\glspostlinkhook). The value may be one + of: +
    + none
    suppress the post-link hook for all elements; +
    + all
    don’t suppress the post-link hook for all elements; +
    + notlast
    only suppress the post-link hook for the last element; +
    + mainnotlast
    suppress the post-link hook for all “other” (not main) + elements and for the last element (so only the main element will have + its post-link hook as long as it’s not the last element); +
    + mainonly
    suppress the post-link hook for all “other” (not main) elements; +
    + othernotlast
    suppress the post-link hook for the main element and for + the last element (so only the other elements will have their post-link + hook as long as the element isn’t the last one); +
    + otheronly
    suppress the post-link hook for the main element.
    +

    The default is postlinks=none. + + + +

    +mpostlink
    This setting determines whether or not to enable the multi-entry post-link + hook (§6.6 Post-Link Hook). The value may be one + of: +
    + false
    suppress the multi-entry post-link hook; +
    + true
    enable the multi-entry post-link hook; +
    + firstonly
    enable the multi-entry post-link hook only for the first use of the + multi-entry; +
    + usedonly
    enable the multi-entry post-link hook only for the subsequent + (not first) use of the multi-entry.
    +

    The default is mpostlink=true. If the value is omitted, true is assumed. +

    +mpostlinkelement
    This setting indicates which post-link hook should be used if the + multi-entry post-link hook has been enabled. Allowed values: +
    + last
    use \mglslastelementpostlinkhook (that is, use the post-link hook + for the last element); +
    + main
    use \mglslastmainpostlinkhook (that is, use the post-link hook + for the main element); +
    + custom
    use \mglslastcustompostlinkhook.
    +
    +

    Note that some combinations may cause a repeated hook. +

    +

    +

    Top

    6.9.4 Prefixes and Suffixes

    +

    See §6.3 Prefixes and Suffixes for more information on prefixes and +suffixes. Note that the prefixes and suffixes are not affected by case-changing +commands such as \Mgls or \MGLS. If you want a prefix to obey case-changing, use +the \mpgls-like commands instead (§6.11.4 Support for glossaries-prefix +(pgls)). + + + +

    +firstprefix
    The prefix to use on first use of the multi-entry. +
    +usedprefix
    The prefix to use on subsequent use of the multi-entry. +
    +firstsuffix
    The suffix to use on first use of the multi-entry. +
    +usedsuffix
    The suffix to use on subsequent use of the multi-entry.
    +

    +

    +

    Top

    6.9.5 Skipping Elements

    +
    +firstskipmain
    This is a boolean setting. If true, the main element will be omitted + on (multi-entry) first use. +
    +firstskipothers
    This is a boolean setting. If true, the other (non-main) elements + will be omitted on (multi-entry) first use. +
    +usedskipmain
    This is a boolean setting. If true, the main element will be + omitted on (multi-entry) subsequent use. +
    +usedskipothers
    This is a boolean setting. If true, the other (non-main) elements + will be omitted on (multi-entry) subsequent use. +
    +

    The skip options apply to the multi-entry first use flag not the individual element first +use. See §6.7 Multi-Entry First Use. +

    Note that it is technically possible to set the skip options so that both the main +and the other elements are skipped. However, by default, this will generate a warning +and only the final optional argument (the ⟨insert⟩) will be displayed. There won’t +be a loop over all elements so the commands set at each iteration, such as +\mglscurrentlabel, won’t be defined. +

    The warning and the insertion of the ⟨insert⟩ is done by: +


    \glsxtrmglsWarnAllSkipped{message}{insert}{cs}

    +

    +where ⟨message⟩ is the warning message and ⟨cs⟩ is the control sequence that +encapsulates the entire content (including hyperlink and the textformat setting, if +enabled). + + + +

    If, for some particular reason, you want this scenario, you can redefine this +command to omit the warning. +

    +

    +

    Top

    6.9.6 General

    +
    +hyper
    This setting may take one of the following values: +
    + none
    no hyperlinks; +
    + allmain
    encapsulate the entire content with a single hyperlink to the main + entry’s target; +
    + mainonly
    only hyperlink the main entry; +
    + individual
    hyperlink each entry individually; +
    + otheronly
    only hyperlink the other entries; +
    + notmainfirst
    don’t hyperlink the main entry on multi-entry first use; +
    + nototherfirst
    don’t hyperlink the other entries on multi-entry first use; +
    + notfirst
    don’t hyperlink any entries on multi-entry first use.
    +

    The default is individual. +

    +textformat
    This setting value should be the control sequence name (without the + leading backslash) of the command used to encapsulate the entire content. The + default is @firstofone. +
    +category
    The category to apply to the multi-entry. This is independent of + the categories of each of the elements. The default is no category. See + §6.8 Multi-Entry Category. +
    +mglsopts
    Default options to pass to \mgls. Note that setup can’t be used within this + value. +
    + + + +

    +

    +

    Top

    6.10 mgls Options

    +

    The ⟨options⟩ for \mgls (and similar commands) are listed below. Any additional +options provided will be appended to the all value. For example: + + + +

    +
    +\mgls[counter=chapter]{cbot}
    +
    +

    is equivalent to: + + + +

    +
    +\mgls[all={counter=chapter}]{cbot}
    +
    +

    Whereas: + + + +

    +
    +\mgls[counter=chapter,all={counter=section}]{cbot}
    +
    +

    is treated as: + + + +

    +
    +\mgls[all={counter=section,counter=chapter}]{cbot}
    +
    +

    which has the same effect as: + + + +

    +
    +\mgls[all={counter=chapter}]{cbot}
    +
    +

    (The descriptions below reference \gls which is used internally by \mgls. Replace +this with \glspl etc as applicable for the variants, such as \mglspl.) +

    +setup
    The value should be a list of any options that can be passed + to \multiglossaryentrysetup. These options will override any + conflicting options that were supplied to \multiglossaryentry or + \multiglossaryentrysetup. Note that mgls can’t be used within this + value. +
    +all
    The value should be a list of any options that can be passed to \gls. These + options will be passed to each instance of \gls and will override any + conflicting setting in setup. +
    +main
    The value should be a list of any options that can be passed to \gls. + These options will be passed to the instance of \gls used for the main + label and will override any conflicting setting in all. +
    +others
    The value should be a list of any options that can be passed to \gls. + These options will be passed to each instance of \gls used for the other + (not main) labels and will override any conflicting setting in all. +
    +hyper
    a boolean option to determine whether or not to use hyperlinks (if + supported). This may cause a conflict with other options, but is essentially + provided to allow the starred version of \mgls to switch off all hyperlinks. +
    +multiunset
    This only applies to the multi-entry first use flag, described in + §6.7 Multi-Entry First Use, not the first use flags of the + elements. The value may be one of: +
    +
    global globally unset the flag (default); +
    +
    local locally unset the flag; +
    +
    none don’t unset the flag.
    + + + +
    +presetlocal
    a boolean option that governs whether or not the following options + should have a local or global effect. The default is presetlocal=false + (global). +
    +resetall
    a boolean option to determine whether or not to reset all entries in ⟨label list⟩ + before using \gls. This option refers to the individual entry’s first use flag not + the multi-set flag. +
    +resetmain
    a boolean option to determine whether or not to reset the main entry + before using \gls. This option refers to the individual entry’s first use flag not + the multi-set flag. +
    +resetothers
    a boolean option to determine whether or not to reset the other (not + main) entries before using \gls. This option refers to the individual entry’s first + use flag not the multi-set flag. +
    +unsetall
    a boolean option to determine whether or not to unset all entries in ⟨label list⟩ + before using \gls. This option refers to the individual entry’s first use flag not + the multi-set flag. +
    +unsetmain
    a boolean option to determine whether or not to unset the main entry + before using \gls. This option refers to the individual entry’s first use flag not + the multi-set flag. +
    +unsetothers
    a boolean option to determine whether or not to unset the other (not + main) entries before using \gls. This option refers to the individual entry’s first + use flag not the multi-set flag.
    +

    The resetoptions all use: +


    \mglselementreset{label}

    +

    +The unsetoptions all use: +


    \mglselementunset{label}

    +

    +These take the presetlocal into account. +

    An alternative way of resetting the other elements is to use: +


    \mglsunsetothers{multi-label}

    +

    +or for a local reset: +


    \mglslocalunsetothers{multi-label}

    + + + +

    +

    +

    +

    Top

    6.11 Variants of mgls

    +

    The commands listed in this section all behave like \mgls. These (including \mgls +itself) are collectively referred to as the \mgls-like commands. All commands unset +the multi-entry first use flag (unless the multiunset=none option is applied). Only +those commands that use the \gls-like commands (such as \gls or \glspl) will +unset the individual entry first use flag. +

    +

    +

    Top

    6.11.1 gls-like

    +


    \mglspl[options]{multi-label}[insert]

    +

    +This uses \glspl instead of \gls for each entry. +


    \mglsmainpl[options]{multi-label}[insert]

    +

    +This uses \glspl instead of \gls for the main entry and \gls for all the other +entries. +


    \Mgls[options]{multi-label}[insert]

    +

    +This uses \Gls for the first entry and \gls for the other entries. +


    \MGls[options]{multi-label}[insert]

    +

    +This uses \Gls for all entries. +


    \Mglspl[options]{multi-label}[insert]

    +

    +This uses \Glspl for the first entry and \glspl for the other entries. +


    \Mglsmainpl[options]{multi-label}[insert]

    +

    +The first entry starts with an upper case. The plural form is used for the main +entry. +


    \MGlspl[options]{multi-label}[insert]

    +

    +This uses \Glspl for all entries. +


    \MGlsmainpl[options]{multi-label}[insert]

    +

    +This uses \Glspl for the main entry and \Gls for all other entries. +


    \MGLS[options]{multi-label}[insert]

    + + + +

    +This uses \GLS instead of \gls for each entry. +


    \MGLSpl[options]{multi-label}[insert]

    +

    +This uses \GLSpl instead of \gls for each entry. +


    \MGLSmainpl[options]{multi-label}[insert]

    +

    +This uses all caps for all entries and \GLSpl for the main entry. +

    +

    +

    Top

    6.11.2 Abbreviations

    +


    \mglsshort[options]{multi-label}[insert]

    +

    +This will use \glsxtrshort for any entries that have the short key set and will use +\glstext otherwise. +


    \mglslong[options]{multi-label}[insert]

    +

    +This will use \glsxtrlong for any entries that have the long key set and will use +\glstext otherwise. +


    \mglsfull[options]{multi-label}[insert]

    +

    +This will use \glsxtrfull for any entries that have the short key set and will use +\glsfirst otherwise. +


    \Mglsshort[options]{multi-label}[insert]

    +

    +As \mglsshort but with an initial capital on the first entry. +


    \Mglslong[options]{multi-label}[insert]

    +

    +As \mglslong but with an initial capital on the first entry. +


    \Mglsfull[options]{multi-label}[insert]

    +

    +As \mglsfull but with an initial capital on the first entry. +

    +

    +

    Top

    6.11.3 Other Fields

    +


    \mglsname[options]{multi-label}[insert]

    +

    +This uses \glsname instead of \gls for each entry. +


    \MGlsname[options]{multi-label}[insert]

    +

    +This uses \Glsname instead of \gls for each entry. + + + +


    \Mglsname[options]{multi-label}[insert]

    +

    +This uses \Glsname instead of \gls for the first entry and \glsname for all the other +entries. +


    \mglssymbol[options]{multi-label}[insert]

    +

    +This uses \glssymbol if the symbol key has been set otherwise it uses \gls for each +element. +


    \MGlssymbol[options]{multi-label}[insert]

    +

    +This uses \glssymbol if the symbol key has been set otherwise it uses \Gls for each +element. (Note that no case change is applied to the symbol as this usually isn’t +appropriate.) +


    \Mglssymbol[options]{multi-label}[insert]

    +

    +As above, but \Gls is only used for the first element (if it doesn’t have the symbol +key set). +


    \mglsusefield[options]{multi-label}[insert]

    +

    +Use \glsdisp{label}{field value⟩⟨insert} if the field given by: +


    \mglsfield

    +

    +exists, otherwise use \gls. By default, this is useri (corresponding to the +user1 key). If you redefine \mglsfield, you will need to use the internal +name. +


    \Mglsusefield[options]{multi-label}[insert]

    +

    +As \mglsusefield but the first element starts with an initial uppercase. +


    \MGlsusefield[options]{multi-label}[insert]

    +

    +As \mglsusefield but each element starts with an initial uppercase. +

    You can use the pre-element hook \mglselementprehook to locally redefine +\mglsfirst. Examples: +

      +
    1. if the multi-category is “sample” then use the user2 field otherwise use the user1 + field: + + + +
      +     \renewcommand{\mglselementprehook}{%
      +       \ifdefstring{\mglscurrentcategory}{sample}%
      +       {\renewcommand{\mglsfield}{userii}}%
      +       {\renewcommand{\mglsfield}{useri}}%
      +     }
      +
      +

      +

    2. +
    3. if the element’s category is “sample” then use the user2 field otherwise use the + user1 field: + + + +
      +     \renewcommand{\mglselementprehook}{%
      +       \glsifcategory{\mglscurrentlabel}{sample}%
      +       {\renewcommand{\mglsfield}{userii}}%
      +       {\renewcommand{\mglsfield}{useri}}%
      +     }
      +
      +

      +

    4. +
    5. if either the multi-entry’s category or the element’s category has the + custom attribute “mglsfield” set then use it otherwise use the user1 + field: + + + +
      +     \renewcommand{\mglselementprehook}{%
      +      \glshascategoryattribute{\mglscurrentcategory}{mglsfield}%
      +      {\renewcommand{\mglsfield}{\glsgetcategoryattribute{\mglscurrentcategory}{mglsfield}}}%
      +      {%
      +        \glshasattribute{\mglscurrentlabel}{mglsfield}%
      +        {\renewcommand{\mglsfield}{\glsgetattribute{\mglscurrentlabel}{mglsfield}}}%
      +        {\renewcommand{\mglsfield}{useri}}%
      +      }%
      +     }
      +
      +

    +

    +

    +

    Top

    6.11.4 Support for glossaries-prefix (pgls)

    +

    If you load the glossaries-prefix package (either after glossaries-extra) or with the prefix +package option, then the following commands will use one of the \pgls-like +commands provided by that package. (See the glossaries user manual for further +details.) +

    If the glossaries-prefix package hasn’t been loaded then \gls (or analogous +case-changing variant) will be used instead and a warning is issued. The warning can +be removed by redefining the following to do nothing: +


    \mpglsWarning

    +

    +


    \mpgls[options]{multi-label}[insert]

    +

    +Uses \pgls for the first element and \gls for the remaining elements. +


    \mpglspl[options]{multi-label}[insert]

    +

    +Uses \pglspl for the first element and \glspl for the remaining elements. +


    \mpglsmainpl[options]{multi-label}[insert]

    +

    +Only uses the plural form for the main element. The first element uses the prefixing +command (\pgls or \pglspl, depending on whether the first element is the main +element). +


    \Mpgls[options]{multi-label}[insert]

    +

    +Uses \Pgls for the first element and \gls for the remaining elements. +


    \Mpglsmainpl[options]{multi-label}[insert]

    + + + +

    +Only uses the plural form for the main element. The first element uses the first-letter +uppercase prefixing command (\Pgls or \Pglspl, depending on whether the first +element is the main element). +


    \MPGls[options]{multi-label}[insert]

    +

    +Uses \Pgls for the first element and \Gls for the remaining elements. +


    \MPGlspl[options]{multi-label}[insert]

    +

    +Uses \Pglspl for the first element and \Glspl for the remaining elements. +


    \MPGlsmainpl[options]{multi-label}[insert]

    +

    +Only uses the plural form for the main element. The first element uses the prefixing +command (\Pgls or \Pglspl, depending on whether the first element is the main +element). All elements are converted to first letter uppercase. +


    \MPGLS[options]{multi-label}[insert]

    +

    +Uses \PGLS for the first element and \GLS for the remaining elements. +


    \MPGLSpl[options]{multi-label}[insert]

    +

    +Uses \PGLSpl for the first element and \GLSpl for the remaining elements. +


    \MPGLSmainpl[options]{multi-label}[insert]

    +

    +Only uses the plural form for the main element. All elements are converted to +uppercase. The first element uses the prefixing command (\PGLS or \PGLSpl, +depending on whether the first element is the main element). +

    +

    +

    Top

    6.12 Cross-References

    +

    Multi-entry labels may be used in the cross-referencing keys see and seealso. The +formatting command will use: +


    \mglsseefirstitem{label}

    +

    +for the first item in the list (if it’s a multi-entry) and +


    \mglsseeitem{label}

    +

    +for any subsequent items that are multi-entries. The default definition of +\mglsseeitem is: + + + +

    +
    +\newcommand*{\mglsseeitem}[1]{%
    + \mglsname[all={noindex},setup={hyper=allmain}]{#1}%
    +}
    +
    +

    This switches off indexing, sets the hyperlink to encompass the entire multi-entry +content and uses the name field. The default definition of \mglsseefirstitem is +simply \mglsseeitem. +

    For example, to use the short or text fields: + + + +

    +
    +\renewcommand*{\mglsseeitem}[1]{%
    + \mglsshort[all={noindex},setup={hyper=allmain}]{#1}%
    +}
    +
    +

    +

    A multi-entry label may also be used in the alias key. The hyperlink target will be +the target for the main entry. For example: + + + +

    +
    +\multiglossaryentry{cbot}{clostridium,botulinum}
    +\newglossaryentry{botox}{name=botox,description={},alias={cbot}}
    +
    +

    In this case \gls{botox} will hyperlink to the botulinum target. +

    Any multi-entries used in the cross-referencing keys must be defined before the +glossary is displayed. There is some support for docdef=true but not for the other +docdef settings.
    +

    +

    +

    +

    Top

    6.13 Additional Commands

    +

    You can test if a label represents a multi-entry using: +


    \glsxtrifmulti{label}{true}{false}

    +

    +The following command will expand to the main entry label for the given multi-entry +label: +


    \glsxtrmultimain{multi-label}

    +

    +This will expand to nothing if the supplied ⟨multi-label⟩ hasn’t been defined as a +multi-entry. Similarly, for the complete label list: +


    \glsxtrmultilist{multi-label}

    +

    +

    To iterate over all the list of all elements: +


    \mglsforelements{multi-label}{cs}{body}

    +

    +This defines ⟨cs⟩ to the current element label on each iteration of the loop, which can +be used to reference the label in ⟨body⟩. This internally uses \@for (patched by the xfor +package). +

    There is a similar command that skips the main element: +


    \mglsforotherelements{multi-label}{cs}{body}

    +

    +

    The total number of elements can be obtained with: +


    \glsxtrmultitotalelements{multi-label}

    +

    +This expands to the number, if ⟨multi-label⟩ is defined, otherwise expands to +nothing. + + + +

    The index of the main element can be obtained with: +


    \glsxtrmultimainindex{multi-label}

    +

    +This expands to the index, if ⟨multi-label⟩ is defined, otherwise expands to nothing. +Indexing starts from 1 for the first element. The index of the final non-main element +can be obtained with: +


    \glsxtrmultilastotherindex{multi-label}

    +

    +

    The \multiglossaryentry command will write the label information to the aux +file using: +


    \writemultiglossentry{options}{multi-label}{main-label}{list} +

    +

    +This is will write the following line to the aux file: +


    \@glsxtr@multientry{options}{multi-label}{main-label}{list} +

    +

    +This is provided to support docdef=true and also for the benefit of any tools that +require the information (such as bib2gls or autocompletion tools). If it’s +not required and causes too much clutter, it can be disabled by redefining +\writemultiglossentry to do nothing. +

    +

    +

    Top

    6.14 bib2gls

    +

    In the bib2gls v2.9+ user manual, these multi-entry sets are referred to as +“compound entries” or “compound sets” to differentiate them from bib2gls’s +multi-entry types (such as @dualentry). +

    Each instance of one of the \mgls-like commands is written to the aux file and so +can be picked up by bib2gls (at least version 2.9). The resource options can be used +to determine whether or not to consider the other (non-main) elements to be +dependent on the main element. +

    With bib2gls, you can either define the compound entries in the document with +\multiglossaryentry (or \providemultiglossaryentry) or you can use the +@compoundset entry type in a bib file. Whichever method you use, remember that +the entries that form the elements of the set must be defined first. See the bib2gls +manual (v2.9+) for further details. +

    You can use the resource option compound-adjust-name to replace the name field +of the main entry to: +


    \glsxtrmultientryadjustedname{sublist1}{name}{sublist2}{label} +

    +

    +where ⟨label⟩ is the label identifying the compound set, ⟨name⟩ was the value of the + + + +name before adjustment, ⟨sublist1⟩ is the sub-list of other element labels before the +main element (empty if the main element is the first element in the list), and ⟨sublist2⟩ +is the sub-list of other elements after the main element (empty if the main label is the +final element). +

    This command is defined in glossaries-extra-bib2gls, which is automatically loaded +with record=only and record=nameref. Case-changing versions of this command are +also available. First letter uppercase: +


    \Glsxtrmultientryadjustedname{sublist1}{name}{sublist2}{label} +

    +

    +Title case: +


    \GlsXtrmultientryadjustedname{sublist1}{name}{sublist2}{label} +

    +

    +All uppercase: +


    \GLSxtrmultientryadjustedname{sublist1}{name}{sublist2}{label} +

    +

    +

    Note that this command doesn’t take the prefix or suffix into account (see +§6.3 Prefixes and Suffixes). +

    The separator between each element in the sub-lists is produced with: +


    \glsxtrmultientryadjustednamesep{pre label}{post label}

    +

    +The default definition just uses \glscombinedfirstsepfirst. +

    The separator between the last element of ⟨sublist1⟩ and the main element is +produced with: +


    \glsxtrmultientryadjustednamepresep{pre label}{post label} +

    +

    +Similarly for the separator between the main element and the first element of +⟨sublist2⟩: +


    \glsxtrmultientryadjustednamepostsep{pre label}{post label} +

    +

    +These both default to \glsxtrmultientryadjustednamesep. +

    The ⟨name⟩ is encapsulated with: +


    \glsxtrmultientryadjustednamefmt{text}

    +

    +This just does its argument by default. If ⟨sublist1⟩ is empty for the first letter upper +case version, then ⟨name⟩ is encapsulated with: +


    \Glsxtrmultientryadjustednamefmt{text}

    +

    +This does \makefirstuc{text} by default. For the title case version, the name is +encapsulated with: +


    \GlsXtrmultientryadjustednamefmt{text}

    + + + +

    +This uses \glscapitalisewords (provided by glossaries v4.48+) if defined or +\capitalisewords otherwise. The all uppercase version uses: +


    \GLSxtrmultientryadjustednamefmt{text}

    +

    +This uses \mfirstucMakeUppercase by default. +

    Each element label in the sub-lists is encapsulated with: +


    \glsxtrmultientryadjustednameother{label}

    +

    +This does \glsentryname{label} by default. For the first letter uppercase +version (where ⟨sublist1⟩ isn’t empty), then the element label is encapsulated +with: +


    \Glsxtrmultientryadjustednameother{label}

    +

    +This does \Glsentryname{label} by default. The title case version uses: +


    \GlsXtrmultientryadjustednameother{label}

    +

    +This does \glsentrytitlecase{label}{name} by default. The all uppercase version +uses: +


    \GLSxtrmultientryadjustednameother{label}

    +

    +This is defined as: + + + +

    +
    +\newcommand*{\GLSxtrmultientryadjustednameother}[1]{%
    + \mfirstucMakeUppercase{\glsentryname{#1}}}
    +
    +

    + + + +

    +

    +

    Top

    7. Categories

    +

    Each entry defined by \newglossaryentry (or commands that internally use it +such as \newabbreviation) is assigned a category through the category key. You may +add any category that you like, but since the category is a label used in the creation +of some control sequences, avoid problematic characters within the category label. +(So take care if you have babel shorthands on that make some characters +active.) +

    The use of categories can give you more control over the way entries are displayed +in the text or glossary. Note that an entry’s category is independent of the glossary +type. Be careful not to confuse category with type. +

    For multi-entry categories, see §6.8 Multi-Entry Category. +

    The default category assumed by \newglossaryentry is labelled general. +Abbreviations defined with \newabbreviation have the category set to abbreviation +by default. Abbreviations defined with \newacronym have the category set to +acronym by default. +

    Additionally, if you have enabled \newterm with the index package option +that command will set the category to index by default. If you have enabled +\glsxtrnewsymbol with the symbols package option, that command will set the +category to symbol. If you have enabled \glsxtrnewnumber with the numbers package +option, that command will set the category to number. +

    You can obtain the category label for a given entry using +


    \glscategory{label}

    +

    +This is equivalent to commands like \glsentryname and so may be used in an +expandable context. No error is generated if the entry doesn’t exist. +

    You can test the category for a given entry using +


    \glsifcategory{entry-label}{category-label}{true part}{false part} +

    +

    +This is equivalent to

    +
    +\ifglsfieldeq{entry-label}{category}{category-label}{true +
    part}{false part} +
    +
    so any restrictions that apply to \ifglsfieldeq also apply to \glsifcategory. +

    Each category may have a set of attributes. For example, the general and acronym +categories have the attribute regular set to “true” to indicate that all entries with +either of those categories are regular entries (as opposed to abbreviations). +This attribute is accessed by \glsentryfmt to determine whether to use +\glsgenentryfmt or \glsxtrgenabbrvfmt. +

    Other attributes recognised by glossaries-extra are: +

    + + + +nohyperfirst
    When using commands like \gls this will automatically suppress the + hyperlink on first use for entries with a category that has this attribute set to + “true”. (This settings can be overridden by explicitly setting the hyper + key on or off in the optional argument of commands like \gls.) As + from version 1.07, \glsfirst, \Glsfirst, \GLSfirst and their plural + versions (which should ideally behave in a similar way to the first use of \gls or \glspl) now honour this attribute (but not the package-wide @@ -15168,157 +19116,142 @@ class="cmtt-10">\glspl) now honour this attribute (but not the package-wi href="#styopt.hyperfirst">hyperfirst=false option, which matches the behaviour of option, which matches the behaviour of glossaries). If you want + id="dx1-71031">). If you want commands like \glsfirst to ignore the nohyperfirst attribute then just + id="dx1-71032"> attribute then just redefine -



    \glsxtrchecknohyperfirst{label}

    -

    +

    to do nothing.

    -

    nohyper

    -

    When using commands like

    When using commands like \gls this will automatically suppress the hyperlink - for entries with a category that has this attribute set to “true”. (This settings - can be overridden by explicitly setting the this will automatically suppress the + hyperlink for entries with a category that has this attribute set to “true”. (This + settings can be overridden by explicitly setting the hyper key on or off in the optional - argument of commands like key on or off in the + optional argument of commands like \gls.) -

    -

    +

    indexonlyfirst

    -

    This is similar to the

    This is similar to the indexonlyfirst package option but only for entries that have - a category with this attribute set to “true”. -

    -

    + id="dx1-71038"> package option but only for entries + that have a category with this attribute set to “true”. +

    wrgloss

    -

    When using commands like

    When using commands like \gls, if this attribute is set to “after”, it will + id="dx1-71040">, if this attribute is set to “after”, it will automatically implement wrgloss=after. (New to v1.14.) -

    -

    +

    discardperiod

    -

    If set to “true”, the post-link-text hook will discard a full stop (period) that - follows

    If set to “true”, the post-link-text hook will discard a full stop + (period) that follows non-plural commands like \gls or \glstext. (Provided for entries such - as abbreviations that end with a full stop.) This attribute is only applicable to - entries defined using \glstext. (Provided + for entries such as abbreviations that end with a full stop.) This attribute is + only applicable to entries defined using \newabbreviation (or \newacronym if it’s using - \newacronym if + it’s using \newabbreviation.) This attribute doesn’t apply to the accessibility fields. - - - -

    Note that this can cause a problem if you access a field that doesn’t end with a +

    Note that this can cause a problem if you access a field that doesn’t end with a full stop. For example:

    -
    +     
          \newabbreviation
           [user1={German Speaking \TeX\ User Group}]
           {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\
          e.V.}
     
    -

    Here the

    Here the short and and long fields end with a full stop, but the fields end with a full stop, but the user1 field doesn’t. + id="dx1-71046"> field doesn’t. The simplest solution in this situation is to put the sentence terminator in the final optional argument. For example:

    -
    +     
          \glsuseri{dante}[.]
     
    -

    This will bring the punctuation character inside the

    This will bring the punctuation character inside the link-text and it won’t be discarded.

    -

    pluraldiscardperiod

    -

    If this attribute is set to “true”

    If this attribute is set to “true” and the discardperiod attribute is set to “true”, - this will behave as above for the plural commands like \glspl or \glsplural. - This attribute is only applicable to entries defined using \newabbreviation (or + id="dx1-71049"> attribute is + set to “true”, this will behave as above for the plural commands like \glspl or + \glsplural. This attribute is only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) -

    -

    +

    retainfirstuseperiod

    -

    If this attribute is set to “true” then the full stop won’t be discarded - for

    If this attribute is set to “true” then the full stop won’t be + discarded for first use instances, even if discardperiod or or pluraldiscardperiod are + id="dx1-71053"> are set. This is useful for ⟨short⟩ (⟨long⟩) abbreviation styles where only the @@ -15329,54 +19262,52 @@ class="cmtt-10">\newacronym if it’s using \newabbreviation.) This attribute doesn’t apply to the accessibility fields. -

    -

    +

    markwords

    -

    If this attribute is set to “true” any entry defined using

    If this attribute is set to “true” any entry defined using \newabbreviation will - automatically have spaces in the long form replaced with -


    + will automatically have spaces in the long form replaced with +


    \glsxtrwordsep

    -

    +

    and each word is encapsulated with -



    \glsxtrword{word}

    -

    +

    For example:

    -
    +     
          \glssetcategoryattribute{abbreviation}{markwords}{true}
          \newabbreviation{ip}{IP}{Internet Protocol}
     
    -

    is essentially the same as +

    is essentially the same as

    -
    +     
          \newabbreviation{ip}{IP}
          {\glsxtrword{Internet}\glsxtrwordsep\glsxtrword{Protocol}}
     
    -

    The “hyphen” styles, such as

    The “hyphen” styles, such as long-hyphen-short-hyphen, take advantage of this + id="dx1-71058">, take advantage of this markup. If the inserted material (provided in the final argument of commands like \gls) starts with a hyphen then ) starts with a hyphen then \glsxtrwordsep is locally redefined to a hyphen. (The default value is a space). Note that this only applies to commands like \glsxtrlong. You can provide your own

    -
    +     
          \newcommand{\hyplong}[2][]{%
           {\def\glsxtrwordsep{-}\glsxtrlong[#1]{#2}}}
     
    -

    -

    This setting will also adjust the long plural. This attribute is only applicable to +

    +

    This setting will also adjust the long plural. This attribute is only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) -

    This setting may result in the

    This setting may result in the \glsxtrword and \glsxtrwordsep markup ending up in the sort field, depending on the style in use.
    -

    + id="dx1-71060"> field, depending on the style in use.

    +

    -

    markshortwords

    -

    This is similar to

    This is similar to markwords but applies to the short form. (Only useful for - abbreviations that contain spaces.) This attribute is only applicable to - entries defined using but applies to the short form. (Only + useful for abbreviations that contain spaces.) This attribute is only applicable + to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) -

    This setting will only adjust the short plural if the

    This setting will only adjust the short plural if the shortplural key isn’t used. + id="dx1-71063"> key isn’t used. This setting will take precedence over insertdots. -

    This setting may result in the . +

    This setting may result in the \glsxtrword and \glsxtrwordsep markup ending up in the sort field, depending on the style in use.
    -

    + id="dx1-71065"> field, depending on the style in use.

    +

    -

    insertdots

    -

    If this attribute is set to “true” any entry defined using

    If this attribute is set to “true” any entry defined using \newabbreviation will - automatically have full stops (periods) inserted after each letter. The entry will - be defined with those dots present as though they had been present in the ⟨short⟩ - argument of \newabbreviation (rather than inserting them every time the - entry is used). The short plural form defaults to the new dotted version of the - original ⟨ + will automatically have full stops (periods) inserted after each letter. The entry + will be defined with those dots present as though they had been present in the + ⟨short⟩ argument of \newabbreviation (rather than inserting them every time + the entry is used). The short plural form defaults to the new dotted version of + the original ⟨short⟩ form with the plural suffix appended. This setting is incompatible with markshortwords. This attribute is only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) - - - -

    If you explicitly override the short plural using the

    If you explicitly override the short plural using the shortplural key, you must + id="dx1-71069"> key, you must explicitly insert the dots yourself (since there’s no way for the code to determine if the plural has a suffix that shouldn’t be followed by a dot).
    -

    -

    This attribute is best used with the

    + + + +

    This attribute is best used with the discardperiod attribute set to “true”. + id="dx1-71070"> attribute set to “true”.

    -

    aposplural

    -

    If this attribute is set to “true”,

    If this attribute is set to “true”, \newabbreviation will insert an + id="dx1-71072"> will insert an apostrophe (’) before the plural suffix for the short plural form (unless explicitly overridden with the shortplural key). The long plural form is + id="dx1-71073"> key). The long plural form is unaffected by this setting. This setting overrides noshortplural. This + id="dx1-71074">. This attribute is only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) Check with your supervisor, publisher or editor if you want to use this attribute as this usage is controversial. -

    -

    +

    noshortplural

    -

    If this attribute is set to “true”,

    If this attribute is set to “true”, \newabbreviation won’t append + id="dx1-71076"> won’t append the plural suffix for the short plural form. This means the short and + id="dx1-71077"> and shortplural values will be the same unless explicitly overridden. values will be the same unless explicitly overridden. This setting is incompatible with aposplural. This attribute is only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) -

    -

    +

    headuc

    -

    If this attribute is set to “true”, commands like

    If this attribute is set to “true”, commands like \glsfmtshort will use the + id="dx1-71081"> will use the upper case version in the page headers. -

    -

    +

    tagging

    -

    If this attribute is set to “true”, the tagging command defined by + id="dx1-71082">

    If this attribute is set to “true”, the tagging command defined by \GlsXtrEnableInitialTagging will be activated to use will be activated to use \glsxtrtagfont in + id="dx1-71084"> in the glossary (see §4.1 Tagging Initials). -

    - - - -

    +

    entrycount

    -

    Unlike the above attributes, this attribute isn’t boolean but instead must be an - integer value and is used in combination with

    Unlike the above attributes, this attribute isn’t boolean but instead must + be an integer value and is used in combination with \glsenableentrycount (see - + (see §2.5 Entry Counting Modifications

    With should behave. +

    With glossaries, commands like \cgls use \cglsformat only if the previous @@ -15598,64 +19512,59 @@ class="cmss-10">glossaries-extra the test is now for entries that have the entrycount attribute set and where the previous + id="dx1-71089"> attribute set and where the previous usage count for that entry is less than or equal to the value of that attribute.

    -

    linkcount

    -

    This attribute is set to

    This attribute is set to true by \GlsXtrEnableLinkCounting (see + id="dx1-71091"> (see §7.2 8.2 Link Counting). -

    -

    +

    linkcountmaster

    -

    This attribute is set to the name of the master counter by + id="dx1-71092">

    This attribute is set to the name of the master counter by + + + \GlsXtrEnableLinkCounting if the optional argument is provided (see + id="dx1-71093"> if the optional argument is provided (see §7.2 8.2 Link Counting). -

    -

    +

    glossdesc

    -

    The

    The \glossentrydesc command (used in the predefined glossary styles) is + id="dx1-71095"> command (used in the predefined glossary styles) is modified by glossaries-extra to check for this attribute. The attribute may have - one of the following values:

    + one of the following values:
      -
    • -

      firstuc: the first letter of the description will be converted to upper case (using \Glsentrydesc). -

    • -
    • -

      ). +

    • +
    • title: the description will be used in the argument of the title casing command. If you have at least glossaries v4.48, the title @@ -15663,33 +19572,30 @@ class="cmss-10">glossaries v4.48, the title class="cmtt-10">\glscapitalisewords, which defaults to \capitalisewords (provided by (provided by mfirstuc). You can either - - - + id="dx1-71098">). You can either redefine \glscapitalisewords if you want the change to also affect \glsentrytitlecase or if you only want the change to apply to the + id="dx1-71099"> or if you only want the change to apply to the attribute case-changing then redefine: -



      \glsxtrfieldtitlecasecs{phrase cs}

      -

      +

      For example:

      -
      +         
                \newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisefmtwords*{#1}}
       
      -

      (Note that the argument to

      (Note that the argument to \glsxtrfieldtitlecasecs will be a control sequence whose replacement text is the entry’s description, which is why \xcapitalisefmtwords is needed instead of \capitalisefmtwords.)

    -

    Any other values of this attribute are ignored. Remember that there are design +

    Any other values of this attribute are ignored. Remember that there are design limitations for both the first letter uppercasing and the title casing commands. See the mfirstuc user manual for further details. + id="dx1-71101"> user manual for further details.

    -

    glossdescfont

    -

    (New to version 1.04) In addition to the above, the modified

    (New to version 1.04) In addition to the above, the modified + \glossentrydesc - command also checks this attribute. If set, it should be the name of a control - sequence (without the leading backslash) that takes one argument. This control - sequence will be applied to the description text. For example: + id="dx1-71103"> command also checks this attribute. If set, it should be the + name of a control sequence (without the leading backslash) that takes one + argument. This control sequence will be applied to the description text. For + example: -

    -
    +     
          \glssetcategoryattribute{general}{glossdescfont}{emph}
     
    -

    +

    -

    glossname

    -

    As

    As glossdesc but applies to but applies to \glossentryname. Additionally, if this attribute is - set to “uc” the name is converted to all capitals. -

    -

    + id="dx1-71106">. Additionally, if this + attribute is set to “uc” the name is converted to all capitals. +

    indexname

    -

    If set, the

    If set, the \glsxtrpostnamehook hook used at the end of \glossentryname + id="dx1-71108"> will index the entry using \index. See . See §8 9 Auto-Indexing for further details. -

    -

    +

    glossnamefont

    -

    (New to version 1.04) In addition to the above, the modified

    (New to version 1.04) In addition to the above, the modified + \glossentryname - command also checks this attribute. If set, it should be the name of a control - sequence (without the leading backslash) that takes one argument. This control - sequence will be applied to the name text. For example: + id="dx1-71111"> command also checks this attribute. If set, it should be the + name of a control sequence (without the leading backslash) that takes one + argument. This control sequence will be applied to the name text. For + example: -

    -
    +     
          \glssetcategoryattribute{general}{glossnamefont}{emph}
     
    -

    Note that this overrides

    Note that this overrides \glsnamefont which will only be used if this attribute hasn’t been set. -

    Remember that glossary styles may additionally apply a font change, +

    Remember that glossary styles may additionally apply a font change, such as the list styles which put the name in the optional argument of \item.

    -

    glosssymbolfont

    -

    (New to version 1.42.) This is similar to

    (New to version 1.42.) This is similar to glossnamefont and and + glossdescfont but is - used by but is used by \glossentrysymbol. -

    -

    + id="dx1-71115">. +

    textformat

    -

    (New to version 1.21.) Commands like

    (New to version 1.21.) Commands like \gls and \glstext have the link text - encapsulated in the argument of \glstextformat by default. If this attribute is - set, the control sequence given by the attribute value will be used instead. As - with the above, the attribute value should be the name (without the leading - backslash) of a command that takes a single argument (the link text). - Remember that the abbreviation styles may apply an additional font +class="cmtt-10">\glstext have the link + text encapsulated in the argument of \glstextformat by default. If this + attribute is set, the control sequence given by the attribute value will be used + instead. As with the above, the attribute value should be the name (without + the leading backslash) of a command that takes a single argument (the link + text). Remember that the abbreviation styles may apply an additional font change. -

    -

    +

    hyperoutside

    -

    (New to v1.21.) The attribute value may be

    (New to v1.21.) The attribute value may be false, true or unset. If unset, - true or unset. If + unset, true is assumed. This indicates the default setting of the hyperoutside key, - described in + key, described in §2.2 Entry Indexing. -

    -

    +

    dualindex

    -

    If set, whenever a glossary entry has information written to the external + id="dx1-71119">

    If set, whenever a glossary entry has information written to the external glossary file through commands like \gls and and \glsadd, a corresponding line + id="dx1-71121">, a corresponding line will be written to the indexing file using \index. See . See §8 +class="cmbx-10">9 Auto-Indexing for further details. - - - -

    -

    +

    targeturl

    -

    If set, the hyperlink generated by commands like \gls will be set to the URL - provided by this attributes value. For example: + id="dx1-71123">

    If set, the hyperlink generated by commands like \gls will be set to the + URL provided by this attributes value. For example: -

    -
    +     
          \glssetcategoryattribute{general}{targeturl}{master-doc.pdf}
     
    -

    (See also the accompanying sample file

    (See also the accompanying sample file sample-external.tex.) If the URL contains awkward characters (such as % or ~) remember that the base glossaries package provides commands like \glspercentchar and and \glstildechar that expand to literal characters. -

    If you want to a named anchor within the target URL (notionally adding +

    If you want to a named anchor within the target URL (notionally adding #name⟩ to the URL), then you also need to set targetname to the anchor ⟨ to the anchor ⟨name⟩. You may use \glslabel within ⟨name⟩ which is set by commands like \gls to the entry’s label. -

    All the predefined glossary styles start each entry listing with

    All the predefined glossary styles start each entry listing with \glstarget which sets the anchor to \glolinkprefix\glslabel, so if you want entries to link to glossaries in the URL given by targeturl, you can just + id="dx1-71126">, you can just do:

    -
    +     
          \glssetcategoryattribute{general}{targetname}{\glolinkprefix\glslabel}
     
    -

    (If the target document changed

    (If the target document changed \glolinkprefix then you will need to adjust the above as appropriate.) -

    If the anchor is in the form ⟨

    If the anchor is in the form ⟨name1.name2⟩ then use targetname for the ⟨ for the ⟨name2⟩ part and targetcategory for the ⟨ for the ⟨name1⟩ part. -

    For example: +

    For example:

    -
    +     
          \glssetcategoryattribute{general}{targeturl}{master-doc.pdf}
          \glssetcategoryattribute{general}{targetcategory}{page}
          \glssetcategoryattribute{general}{targetname}{7}
     
    -

    will cause all link text for

    will cause all link text for general entries to link to master-doc.pdf#page.7 (page 7 of that PDF). -

    If you want a mixture in your document of entries that link to an internal +

    If you want a mixture in your document of entries that link to an internal glossary and entries that link to an external URL then you can use the starred form of \newignoredglossary for the external list. For + id="dx1-71129"> for the external list. For example:

    -
    +     
          \newignoredglossary*{external}
          \glssetcategoryattribute{external}{targeturl}{master-doc.pdf}
          \glssetcategoryattribute{general}{targetname}{\glolinkprefix\glslabel}
    @@ -15967,66 +19851,63 @@ class="cmtt-10">\newignoredglossary
    -     

    +

    -

    externallocation

    -

    The value should be the file name of the target document when manually - indexing an external location (see

    The value should be the file name of the target document when + manually indexing an external location (see §2.2 Entry Indexing). In - general, it’s better to use Entry Indexing). + In general, it’s better to use bib2gls v1.7+ which can handle multiple external sources and doesn’t require this attribute. -

    -

    If a term is defined using

    If a term is defined using \newabbreviation and accessibility support has been + id="dx1-71132"> and accessibility support has been supplied via the accsupp package option then the following attributes are also + id="dx1-71133"> package option then the following attributes are also available. If shortaccess isn’t set its value will be obtained from: -


    isn’t set its value will be obtained from: +


    \glsdefaultshortaccess{short}{long}

    -

    +

    This is defined by glossaries-accsupp to just do ⟨ to just do ⟨long⟩ but glossaries-extra redefines it to + id="dx1-71137"> redefines it to do ⟨long⟩ (⟨short⟩). The accessinsertdots, , accessaposplural and and accessnoshortplural + id="dx1-71140"> attributes below refer to the ⟨short⟩ form that’s passed to this command. -

    The following attributes are only applicable to entries defined using +

    The following attributes are only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation). They have no effect if the accsupp package option hasn’t been used. + id="dx1-71141"> package option hasn’t been used.

    -

    accessinsertdots

    -

    If this attribute is set to “true” and the

    If this attribute is set to “true” and the glossaries-accsupp package has - been loaded (with the + package has been loaded (with the accsupp option), then this behaves like option), then this behaves + like insertdots - but for the ⟨ but for the ⟨short⟩ part used in the shortaccess field instead of the field instead + of the short - - - - field. This setting will be overridden by an explicit use of the field. This setting will be overridden by an explicit use of + the shortaccess - key in the optional argument of \newabbreviation (or key in the optional argument of \newabbreviation (or + \newacronym). -

    -

    +

    accessaposplural

    -

    This boolean attribute overrides

    This boolean attribute overrides aposplural for the for + + + + the shortpluralaccess key. - Has no effect if there’s no accessibility support or if the key. Has no effect if there’s no accessibility support + or if the shortaccess key - hasn’t been set or if the key hasn’t been set or if the shortpluralaccess key is explicitly set. If the - key + is explicitly set. If the aposplural is set and this attribute isn’t set and the is set and this attribute isn’t set and + the shortaccess key is set, - then the key is set, then the aposplural setting governs the default setting governs the default + shortpluralaccess setting. - If you want setting. If you want aposplural but don’t want it applied to the accessibility - support, set the accessaposplural attribute to “false”. This attribute is only - applicable to entries defined using \newabbreviation (or \newacronym if - it’s using but don’t want it applied to + the accessibility support, set the accessaposplural attribute to “false”. This + attribute is only applicable to entries defined using \newabbreviation (or + \newacronym if it’s using \newabbreviation.) -

    -

    +

    accessnoshortplural

    -

    This boolean attribute overrides noshortplural for the for the shortpluralaccess key. + id="dx1-71162"> key. The same conditions apply as for accessaposplural. This attribute is only + id="dx1-71163">. This attribute is only applicable to entries defined using \newabbreviation (or \newacronym if it’s using \newabbreviation.) -

    -

    +

    nameshortaccess

    -

    If this attribute is set to “true”, the

    If this attribute is set to “true”, the access field (used for the field (used for + the name field’s - accessibility support) automatically assigned if it’s not provided. -

    -

    + id="dx1-71166"> field’s accessibility support) automatically assigned if it’s not + provided. +

    textshortaccess

    -

    Like

    Like nameshortaccess but applies to the but applies to the textaccess field automatically - assigned if it’s not provided. -

    -

    + id="dx1-71169"> field + automatically assigned if it’s not provided. +

    firstshortaccess

    -

    Like

    Like nameshortaccess but applies to the but applies to the firstaccess field automatically - assigned if it’s not provided. -

    + id="dx1-71172"> field + automatically assigned if it’s not provided. +
    +combinedfirstsep
    The separator to use for \glscombinefirstsep. +
    +combinedfirstsepfirst
    The separator to use for \glscombinedfirstsepfirst. +
    +combinedsepfirst
    The separator to use for \glscombinesepfirst. +
    +combinedsep
    The separator to use for \glscombinedsep.
    - - - -

    An attribute can be set using: -


    An attribute can be set using: +


    \glssetcategoryattribute{category-label}{}{value}

    -

    +

    where ⟨category-label⟩ is the category label, ⟨attribute-label⟩ is the attribute label and -⟨value⟩ is the new value for the attribute. -

    There is a shortcut version to set the attribute-label⟩ is the attribute label +and ⟨value⟩ is the new value for the attribute. This will be localised to the + + + +current scope. If you want a global definition use the following command +instead. +

    If you want to apply the same attribute to multiple categories then use: +


    \glssetcategoriesattribute{category-label list}{attribute-label} +{value}

    +

    +This has a global effect. +

    If you also want to set multiple attributes to the same value, then you can +use: +


    \glssetcategoriesattributes{category-label list}{attribute-label +list}{value}

    +

    +This has a global effect. +

    For example: + + + +

    +
    +\newcommand{\latinname}[1]{\emph{#1}}
    +\glssetcategoriesattributes{genus,species}{textformat,glossnamefont}{latinname}
    +
    +

    +

    There is a shortcut version to set the regular attribute to “true”: -


    attribute to “true”: +


    \glssetregularcategory{category-label}

    -

    -

    If you need to lookup the category label for a particular entry, you can use the +

    +This internally uses \glssetcategoryattribute so it has a local effect. +

    If you need to lookup the category label for a particular entry, you can use the shortcut command: -



    \glssetattribute{entry-label}{attribute-label}{value}

    -

    +

    This uses \glssetcategoryattribute with \glscategory to set the attribute. Note that this will affect all other entries that share this entry’s category. -

    The above use local assignments so they can be placed inside a group to limit +

    The above use local assignments so they can be placed inside a group to limit their definition. As from v1.47, the value can be unset using: -



    \glsunsetcategoryattribute{category-label}{attribute-label}

    -

    -

    You can fetch the value of an attribute for a particular category using: -


    +

    You can fetch the value of an attribute for a particular category using: +


    \glsgetcategoryattribute{category-label}{attribute-label}

    -

    +

    Again there is a shortcut if you need to lookup the category label for a given entry: -



    \glsgetattribute{entry-label}{attribute-label}

    -

    -

    You can test if an attribute has been assigned to a given category using: -


    +

    You can test if an attribute has been assigned to a given category using: +


    \glshascategoryattribute{category-label}{code}{false code}

    -

    +

    This uses etoolbox’s ’s \ifcsvoid and does ⟨true code⟩ if the attribute has been set and isn’t blank and isn’t \relax. The shortcut if you need to lookup the category label from an entry is: -



    \glshasattribute{entry-label}{false code}

    -

    -

    You can test the value of an attribute for a particular category using: -


    +

    You can test the value of an attribute for a particular category using: + + + +


    \glsifcategoryattribute{category-label}{true-part}{false-part}

    - - - -

    +

    This tests if the attribute (given by ⟨attribute-label⟩) for the category (given by ⟨true-part⟩ is done. If the attribute isn’t set or is set but isn’t equal to ⟨value⟩, ⟨false part⟩ is done. -

    For example: +

    For example:

    -
    +   
     \glsifcategoryattribute{general}{nohyper}{true}{NO HYPER}{HYPER}
     
    -

    This does “NO HYPER” if the

    This does “NO HYPER” if the general category has the category has the nohyper attribute set to + id="dx1-71195"> attribute set to true otherwise if does “HYPER”. -

    With boolean-style attributes like

    With boolean-style attributes like nohyper, make sure you always test for , make sure you always test for true not false in case the attribute hasn’t been set. -

    Again there’s a shortcut if you need to lookup the category label from a particular +

    Again there’s a shortcut if you need to lookup the category label from a particular entry: -



    \glsifattribute{entry-label}{} class="cmtt-10">{⟨false-part}

    -

    -

    There’s also a shortcut to determine if a particular category has the

    +

    There’s also a shortcut to determine if a particular category has the regular + id="dx1-71198"> attribute set to “true”: -



    \glsifregularcategory{category-label}{}{false-part}

    -

    +

    Alternatively, if you need to lookup the category for a particular entry: -



    \glsifregular{entry-label}{true-part}{false-part}

    -

    +

    Note that if the regular attribute hasn’t be set, the above do ⟨ attribute hasn’t be set, the above do ⟨false-part⟩. There are also reverse commands that test if the regular attribute has been set to + id="dx1-71202"> attribute has been set to “false”: -



    \glsifnotregularcategory{category-label}{}{false-part}

    -

    +

    or for a particular entry: -



    \glsifnotregular{entry-label}{true-part}{false-part}

    -

    +

    Again, if the regular attribute hasn’t been set, the above do ⟨ attribute hasn’t been set, the above do ⟨false-part⟩, so these reverse commands aren’t logically opposite in the strict sense. -

    You can iterate through all entries with a given category using: -


    You can iterate through all entries with a given category using: +


    \glsforeachincategory[glossary-labels]{label-cs}{body}

    -

    +

    This iterates through all entries in the glossaries identified by the comma-separated list ⟨glossary-labels⟩ that have the category given by ⟨label-cs⟩ (which much be control sequences) to access the current glossary and entry label. If ⟨glossary-labels⟩ is omitted, all glossaries are assumed. -

    Similarly, you can iterate through all entries that have a category with a given +

    Similarly, you can iterate through all entries that have a category with a given attribute using: -



    \glsforeachwithattribute[glossary-labels]{label-cs}{body}

    -

    +

    This will do ⟨body⟩ for each entry that has a category with the attribute ⟨attribute-label⟩ set to ⟨attribute-value⟩. The remaining arguments are as the previous command. -

    You can change the category for a particular entry using the standard glossary +

    You can change the category for a particular entry using the standard glossary field changing commands, such as \glsfielddef. Alternatively, you can + id="dx1-71207">. Alternatively, you can use -



    \glsxtrsetcategory{entry-labels}{category-label}

    -

    +

    This will change the category to ⟨category-label⟩ for each entry listed in the comma-separated list ⟨entry-labels⟩. This command uses \glsfieldxdef so it will + id="dx1-71209"> so it will expand ⟨category-label⟩ and make the change global. -

    You can also change the category for all entries with a glossary or glossaries +

    You can also change the category for all entries with a glossary or glossaries using: -



    \glsxtrsetcategoryforall{glossary-labels}{category-label}

    -

    +

    where ⟨glossary-labels⟩ is a comma-separated list of glossary labels.

    -

    -

    Top

    7.

    +

    Top

    8. Counting References

    -

    There are three basic ways of counting entry references: +

    There are three basic ways of counting entry references:

      -
    1. -

      Counting the total number of times Counting the total number of times \glsunset is used (\glsreset resets the count and is best avoided). This is provided by the base glossaries has to be written to the .aux file so that it’s available on the next LaTeX run. -

      This method is extended by

      This method is extended by glossaries-extra and is described in §7.1 8.1 Entry Counting (First Use Flag).

    2. -
    3. -

      Counting the total number of records. This method is only available with +

    4. Counting the total number of records. This method is only available with bib2gls and is intended for documents where the term should be displayed differently if it’s only been recorded (indexed) a certain number of times. See §9.5 10.5 Record Counting for further details. -

    5. -
    6. -

      Counting the number of times the +

    7. Counting the number of times the \gls-like or \glstext-like commands are used. (That is, those commands that internally use @@ -16574,13 +20521,13 @@ class="cmtt-10">\glslinkpostsetkeys or class="cmtt-10">\glslinkpresetkeys. See §7.2 8.2 Link Counting for further - details.

    -

    Top

    7.1 +

    Top

    8.1 Entry Counting (First Use Flag)

    -

    As mentioned in

    As mentioned in §2.5 Entry Counting Modifications). -

    Remember that entry counting only counts the number of times an entry is used +

    Remember that entry counting only counts the number of times an entry is used by commands that change the first use flag. (That is, all those commands - - - that mark the entry as having been used.) There are many commands that don’t modify this flag and they won’t contribute to the entry use count.
    -

    -

    With

    +

    With glossaries-extra, you may use \cgls instead of instead of \gls even if you haven’t enabled + id="dx1-73006"> even if you haven’t enabled entry counting. You will only get a warning if you use \glsenableentrycount + + + without setting the entrycount attribute. (With attribute. (With glossaries, commands like \cgls will + id="dx1-73008"> will generate a warning if \glsenableentrycount hasn’t been used.) The abbreviation shortcut \ab uses uses \cgls (see §4.3 Shortcut Commands). The acronym shortcut \ac uses uses \cgls if it’s been defined with shortcuts=ac (or + id="dx1-73011"> (or shortcuts=all) but uses ) but uses \gls if it’s been defined with shortcuts=acronyms (or + id="dx1-73013"> (or shortcuts=acro). -

    All upper case versions (not provided by ). +

    All upper case versions (not provided by glossaries) are also available: -



    \cGLS[options]{label}[insert]

    -

    +

    and -



    \cGLSpl[options]{label}[insert]

    -

    +

    These are analogous to \cgls and \cglspl but they use -



    \cGLSformat{label}{insert}

    -

    +

    and -



    \cGLSplformat{label}{insert}

    -

    +

    which convert the analogous \cglsformat and \cglsplformat to upper case. -

    Just using

    Just using glossaries:

    -
    +   
     \documentclass{article}
     \usepackage{glossaries}
     \makeglossaries
    @@ -16726,17 +20673,17 @@ Used twice: \cgls{xml} and \cgls{xml}.
     \printglossaries
     \end{document}
     
    -

    -

    If you switch to

    +

    If you switch to glossaries-extra you must set the entrycount attribute: + id="dx1-73019"> attribute:

    -
    +   
     \documentclass{article}
     \usepackage{glossaries-extra}
     \makeglossaries
    @@ -16750,14 +20697,14 @@ Used twice: \cgls{xml} and \cgls{xml}.
     \printglossaries
     \end{document}
     
    -

    -

    When activated with

    +

    When activated with \glsenableentrycount, commands such as \cgls now + id="dx1-73020"> now use -



    \glsxtrifcounttrigger{label}{trigger code}{normal code}

    -

    +

    to determine if the entry trips the entry count trigger. The ⟨trigger code⟩ uses commands like \cglsformat and unsets the first use flag. The ⟨normal code⟩ is the code that would ordinarily be performed by whatever the equivalent command is (for @@ -16781,12 +20728,12 @@ class="cmti-10">trigger code⟩ but the usual \gls behaviour in ⟨normal code⟩). -

    The default definition is: +

    The default definition is:

    -
    +   
     \newcommand*{\glsxtrifcounttrigger}[3]{%
      \glshasattribute{#1}{entrycount}%
      {%
    @@ -16799,53 +20746,53 @@ class="cmti-10">normal code⟩).
      {#3}%
     }
     
    -

    This means that if an entry is assigned to a category that has the

    This means that if an entry is assigned to a category that has the entrycount + id="dx1-73023"> attribute then the ⟨trigger code⟩ will be used if the previous count value (the number of times the entry was used on the last run) is greater than the value of the attribute. -

    For example, to trigger normal use if the previous count value is greater than +

    For example, to trigger normal use if the previous count value is greater than four:

    -
    +   
     \glssetcategoryattribute{abbreviation}{entrycount}{4}
     
    -

    -

    There is a convenient command provided to enable entry counting, set the +

    +

    There is a convenient command provided to enable entry counting, set the entrycount attribute and redefine attribute and redefine \gls, etc to use , etc to use \cgls etc: -


    etc: +


    \GlsXtrEnableEntryCounting{categories}{value}

    -

    +

    The first argument ⟨categories⟩ is a comma-separated list of categories. For each category, the entrycount attribute is set to ⟨ attribute is set to ⟨value⟩. In addition, this does:

    -
    +   
     \renewcommand*{\gls}{\cgls}%
     \renewcommand*{\Gls}{\cGls}%
     \renewcommand*{\glspl}{\cglspl}%
    @@ -16853,19 +20800,19 @@ class="cmti-10">value⟩. In addition, this does:
     \renewcommand*{\GLS}{\cGLS}%
     \renewcommand*{\GLSpl}{\cGLSpl}%
     
    -

    This makes it easier to enable entry-counting on existing documents. -

    If you use

    This makes it easier to enable entry-counting on existing documents. +

    If you use \GlsXtrEnableEntryCounting more than once, subsequent uses will just set the entrycount attribute for each listed category. -

    The above example document can then become: + id="dx1-73029"> attribute for each listed category. +

    The above example document can then become:

    -
    +   
     \documentclass{article}
     \usepackage{glossaries-extra}
     \makeglossaries
    @@ -16878,13 +20825,13 @@ Used twice: \gls{xml} and \gls{xml}.
     \printglossaries
     \end{document}
     
    -

    -

    The standard entry-counting function describe above counts the number of times +

    +

    The standard entry-counting function describe above counts the number of times an entry has been marked as used throughout the document. (The reset commands will reset the total back to zero.) If you prefer to count per sectional-unit, you can use -



    \GlsXtrEnableEntryUnitCounting{categories}{}{counter-name}

    -

    +

    where ⟨categories⟩ is a comma-separated list of categories to which this feature should be applied, ⟨value⟩ is the trigger value and ⟨counter-name⟩ is the name of the counter used by the sectional unit. -

    Due to the asynchronous nature of TeX’s output routine, discrepancies will occur +

    Due to the asynchronous nature of TeX’s output routine, discrepancies will occur in page spanning paragraphs if you use the page counter.
    -

    -

    Note that you can’t use both the document-wide counting and the per-unit + id="dx1-73031"> counter.

    +

    +

    Note that you can’t use both the document-wide counting and the per-unit counting in the same document. -

    The counter value is used as part of a label, which means that

    The counter value is used as part of a label, which means that \thecounter-name⟩ needs to be expandable. Since hyperref also has a similar requirement and provides + id="dx1-73032"> also has a similar requirement and provides \theHcounter-name⟩ as an expandable alternative, \theHcounter-name⟩ if it exists otherwise it will use \thecounter-name⟩. -

    The per-unit counting function uses two attributes:

    The per-unit counting function uses two attributes: entrycount (as before) and + id="dx1-73033"> (as before) and unitcount (the name of the counter). -

    Both the original document-wide counting mechanism and the per-unit counting + id="dx1-73034"> (the name of the counter). +

    Both the original document-wide counting mechanism and the per-unit counting mechanism provide a command that can be used to access the current count value for this run: -



    \glsentrycurrcount{label}

    -

    +

    and the final value from the previous run: -



    \glsentryprevcount{label}

    -

    +

    In the case of the per-unit counting, this is the final value for the current unit. In both commands ⟨label⟩ is the entry’s label. -

    The per-unit counting mechanism additionally provides: -


    The per-unit counting mechanism additionally provides: +


    \glsentryprevtotalcount{label}

    -

    +

    which gives the sum of all the per-unit totals from the previous run for the entry given by ⟨label⟩, and -



    \glsentryprevmaxcount{label}

    -

    +

    which gives the maximum per-unit total from the previous run. -

    The above two commands are unavailable for the document-wide counting. -

    Example of per-unit counting, where the unit is the chapter: +

    The above two commands are unavailable for the document-wide counting. +

    Example of per-unit counting, where the unit is the chapter:

    -
    +   
     \documentclass{report}
     \usepackage{glossaries-extra}
     \GlsXtrEnableEntryUnitCounting{abbreviation}{2}{chapter}
    @@ -16995,11 +20942,11 @@ Used twice: \gls{html} and \gls{html}.
     \printglossaries
     \end{document}
     
    -

    In this document, the

    In this document, the css entry is used three times in the first chapter. This is more than the trigger value of 2, so \gls{css} is expanded on first use with the short form used on subsequent use, and the css entries in that @@ -17009,38 +20956,38 @@ only used once, which trips the suppression trigger, so in that chapter, the long form is used and \gls{css} doesn’t get a line added to the glossary file. -

    The

    The html is used a total of three times, but the expansion and indexing suppression trigger is tripped in both chapters because the per-unit total (1 for the first chapter and 2 for the second chapter) is less than or equal to the trigger value. -

    The

    The sample entry has only been used once, but it doesn’t trip the indexing suppression because it’s in the general category, which hasn’t been listed in + id="dx1-73040"> category, which hasn’t been listed in \GlsXtrEnableEntryUnitCounting. -

    The per-unit entry counting can be used for other purposes. In the following +

    The per-unit entry counting can be used for other purposes. In the following example document the trigger value is set to zero, which means the index suppression won’t be triggered, but the unit entry count is used to automatically suppress the hyperlink for commands like \gls by modifying the hook -


    by modifying the hook +


    \glslinkcheckfirsthyperhook

    -

    +

    which is used at the end of the macro the determines whether or not to suppress the hyperlink.

    -
    +   
     \documentclass{article}
     \usepackage[colorlinks]{hyperref}
     \usepackage{glossaries-extra}
    @@ -17061,22 +21008,22 @@ Again: \gls{sample}.
     \printglossaries
     \end{document}
     
    -

    This only produces a hyperlink for the first instance of

    This only produces a hyperlink for the first instance of \gls{sample} on each page. -

    The earlier warning about using the

    The earlier warning about using the page counter still applies. If the + id="dx1-73043"> counter still applies. If the first instance of \gls occurs at the top of the page within a paragraph that started on the previous page, then the count will continue from the previous page. -

    +

    -

    Top

    7.2

    Top

    8.2 Link Counting

    -

    As from version 1.26, an alternative method of entry counting is to count the number +

    As from version 1.26, an alternative method of entry counting is to count the number @@ -17090,17 +21037,17 @@ class="cmtt-10">\hyperlink although \@gls@link may use \hyperlink when displaying the link-text.) -

    To enable link counting use the preamble-only command: -


    To enable link counting use the preamble-only command: +


    \GlsXtrEnableLinkCounting[master counter]{categories}

    -

    +

    where ⟨categories⟩ is a list of category labels. The optional argument ⟨master @@ -17110,22 +21057,22 @@ present, the associated link counter will be reset when the master counter is incremented. This command automatically sets the linkcount attribute for the given + id="dx1-74003"> attribute for the given categories. If the optional argument is present, it also sets the linkcountmaster + id="dx1-74004"> attribute. -

    When enabled, commands like

    When enabled, commands like \gls and \glstext increment the associated counter using -



    \glsxtrinclinkcounter{counter name}

    -

    +

    This just does \stepcounter{counter name\refstepcounter instead, just redefine this command:

    -
    +   
     \renewcommand*{\glsxtrinclinkcounter}[1]{\refstepcounter{#1}}
     
    -

    -

    You can access the internal count register using -


    +

    You can access the internal count register using +


    \GlsXtrLinkCounterValue{label}

    -

    +

    where ⟨label⟩ is the entry’s label. This will expand to 0 if the counter hasn’t been defined. -

    It’s also possible to access the display value (

    It’s also possible to access the display value (\thecounter⟩) using -



    \GlsXtrTheLinkCounter{counter}

    -

    +

    (This will expand to 0 if the counter hasn’t been defined.) -

    In order to conserve resources, the counter is only defined when it first +

    In order to conserve resources, the counter is only defined when it first needs to be incremented so terms that have been defined but haven’t been used in the document won’t have the associated count register allocated.
    -

    -

    You can test if the counter has been defined using: -


    +

    You can test if the counter has been defined using: +


    \GlsXtrIfLinkCounterDef{label}{true}{false}

    -

    +

    where ⟨label⟩ is the entry’s label. -

    The counter name can be obtained using -


    The counter name can be obtained using +


    \GlsXtrLinkCounterName{label}

    -

    +

    This simply expands to the counter name associated with the entry given by ⟨label⟩ without any check for existence. For example, to change the display command @@ -17192,15 +21139,15 @@ without any check for existence. For example, to change the display command class="cmtt-10">\the⟨counter⟩) using etoolbox: + id="dx1-74010">:

    -
    +   
     \csdef{the\GlsXtrLinkCounterName{duck}}{\Roman{\GlsXtrLinkCounterName{duck}}}
     
    -

    This is useful if you just want to change the display for specific entries but isn’t +

    This is useful if you just want to change the display for specific entries but isn’t convenient if you want to change the display for all entries. Instead, it’s simpler to redefine \GlsXtrTheLinkCounter. For example: @@ -17208,19 +21155,19 @@ class="cmtt-10">\GlsXtrTheLinkCounter. For example:

    -
    +   
     \renewcommand*{\GlsXtrTheLinkCounter}[1]{%
      \GlsXtrIfLinkCounterDef{#1}%
      {\Roman{\GlsXtrLinkCounterName{#1}}}%
      {0}%
     }
     
    -

    In both cases, the redefinition should be implemented after

    In both cases, the redefinition should be implemented after \GlsXtrEnableLinkCounting. -

    Here’s an example document that uses link counting to disable the hyperlink after +

    Here’s an example document that uses link counting to disable the hyperlink after the first reference. This redefines \glslinkpresetkeys (which is used by both (which is used by both \gls and \glstext) instead of \glstext).

    -
    +   
     \documentclass{article}
     \usepackage[colorlinks]{hyperref}
     \usepackage{glossaries-extra}
    @@ -17255,32 +21202,32 @@ class="cmtt-10">\glstext).
     \printglossaries
     \end{document}
     
    -

    The use of

    The use of \glslinkpresetkeys means that the options can override this. For + id="dx1-74012"> means that the options can override this. For example

    -
    +   
     \gls[hyper=true]{sample1}
     
    -

    will override the

    will override the hyper=false setting in \glslinkpresetkeys. If . If \glslinkpostsetkeys + id="dx1-74014"> is used instead, the hyper=false setting will override the setting provided in the optional argument. -

    The

    The abbreviation category doesn’t have the category doesn’t have the linkcount attribute set (since it’s not + id="dx1-74016"> attribute set (since it’s not listed in the argument of \GlsXtrEnableLinkCounting). This means that -

    +   
     \ifnum\GlsXtrLinkCounterValue{\glslabel}>1
     
    -

    will always be false. This means that the abbreviation won’t have

    will always be false. This means that the abbreviation won’t have hyper=false applied. If the test is changed to

    -
    +   
     \ifnum\GlsXtrLinkCounterValue{\glslabel}=1
     \else
      \setkeys{glslink}{hyper=false}%
     \fi
     
    -

    Then the abbreviation will always have

    Then the abbreviation will always have hyper=false applied. -

    To reset the counter every section use the optional argument to set the master +

    To reset the counter every section use the optional argument to set the master counter:

    -
    +   
     \GlsXtrEnableLinkCounting[section]{general}
     
    -

    +

    -

    -

    Top

    8.

    +

    Top

    9. Auto-Indexing

    -

    It’s possible that you may also want a normal index as well as the glossary, +

    It’s possible that you may also want a normal index as well as the glossary, and you may want entries to automatically be added to the index (as in this document). There are two attributes that govern this: indexname and + id="dx1-75001"> and dualindex. -

    The auto-indexing is designed for . +

    The auto-indexing is designed for makeindex syntax. If you’ve used the xindy + id="dx1-75004"> package option, the automatic escaping of xindy special characters in the sort field + id="dx1-75006"> field may result in an incorrect sort value for the \index command used by the auto-indexing. Note also that texindy has a fixed set of special characters + id="dx1-75007"> has a fixed set of special characters (corresponding to makeindex’s defaults) that can’t be customized. You may want to consider using bib2gls and its dual entries as an alternative approach.
    -

    -

    The

    +

    The \glsxtrpostnamehook macro, used at the end of macro, used at the end of \glossentryname and + id="dx1-75011"> and \Glossentryname, checks the , checks the indexname attribute for the category associated with + id="dx1-75013"> attribute for the category associated with that entry. Since \glossentryname is used in the default glossary styles, this makes a convenient way of automatically indexing each entry name at its location in the glossary without fiddling around with the value of the name + id="dx1-75014"> key. -

    The internal macro used by the

    The internal macro used by the glossaries package to write the information to the external glossary file is modified to check for the dualindex attribute. -

    In both cases, the indexing is done through -


    attribute. +

    In both cases, the indexing is done through +


    \glsxtrdoautoindexname{label}{attribute-label}

    -

    +

    This uses the standard \index command with the sort value taken from the entry’s + id="dx1-75017"> command with the sort value taken from the entry’s sort key and the actual value set to key and the actual value set to \glsentryname{label}. As from v1.16, there are user-level commands available to change the sort and actual value used by the automated index. -

    The actual value is given by -


    The actual value is given by +


    \glsxtrautoindexentry{label}

    -

    +

    where ⟨label⟩ is the entry’s label. The default definition is:

    -
    +   
     \newcommand*{\glsxtrautoindexentry}[1]{\string\glsentryname{#1}}
     
    -

    Note the use of

    Note the use of \string to prevent \glsentryname from being expanded as it’s written to the index file. -

    The sort value is assigned using: -


    The sort value is assigned using: +


    \glsxtrautoindexassignsort{cs}{label}

    -

    +

    where ⟨label⟩ is the entry label and ⟨cs⟩ is the command which needs to be set to the @@ -17445,212 +21392,211 @@ sort value. The default definition is:

    -
    +   
     \newcommand*{\glsxtrautoindexassignsort}[2]{%
       \glsletentryfield{#1}{#2}{sort}%
     }
     
    -

    After this macro is called, ⟨

    After this macro is called, ⟨cs⟩ is then processed to escape any of makeindex’s special + id="dx1-75021">’s special characters. Note that this escaping is only performed on the sort not on the actual value. The escaping of the sort value is performed by -



    \glsxtrautoindexesc

    -

    +

    You can redefine this to do nothing if you want to omit the escaping. You may want to consider providing another field to obtain the appropriate sort value if the one provided in the sort field isn’t suitable (because it may already have had special + id="dx1-75023"> field isn’t suitable (because it may already have had special characters escaped or it may be a numeric value in the case of sort by use or definition). -

    The command used to perform the actual indexing is: -


    The command used to perform the actual indexing is: +


    \glsxtrautoindex{text}

    -

    +

    This just does \index{text} by default. -

    The entry’s

    The entry’s parent field isn’t referenced in this automated indexing. + id="dx1-75025"> field isn’t referenced in this automated indexing.
    -

    -

    For example, to index the value of the

    +

    For example, to index the value of the first key, instead of the key, instead of the name key: + id="dx1-75027"> key:

    -
    +   
     \renewcommand*{\glsxtrautoindexentry}[1]{\string\glsentryfirst{#1}}
     
    -

    and if the sort value also needs to be set to the

    and if the sort value also needs to be set to the long field, if present, otherwise the + id="dx1-75028"> field, if present, otherwise the sort field: + id="dx1-75029"> field:

    -
    +   
     \renewcommand*{\glsxtrautoindexassignsort}[2]{%
       \ifglshaslong{#2}%
       {\glsletentryfield{#1}{#2}{long}}%
       {\glsletentryfield{#1}{#2}{sort}}%
     }
     
    -

    -

    If the value of the attribute given by ⟨

    +

    If the value of the attribute given by ⟨attribute-label⟩ is “true”, no encap will be added, otherwise the encap will be the attribute value. For example:

    -
    +   
     \glssetcategoryattribute{general}{indexname}{textbf}
     
    -

    will set the encap to

    will set the encap to textbf which will display the relevant page number in bold whereas

    -
    +   
     \glssetcategoryattribute{general}{dualindex}{true}
     
    -

    won’t apply any formatting to the page number in the index. -

    The location used in the index will always be the page number not the counter +

    won’t apply any formatting to the page number in the index. +

    The location used in the index will always be the page number not the counter used in the glossary. (Unless some other loaded package has modified the definition of \index to use some thing else.)
    -

    -

    By default the

    +

    By default the format key won’t be used with the key won’t be used with the dualindex attribute. You can + id="dx1-75031"> attribute. You can allow the format key to override the attribute value by using the preamble-only + id="dx1-75032"> key to override the attribute value by using the preamble-only command: -



    \GlsXtrEnableIndexFormatOverride

    -

    +

    If you use this command and hyperref has been loaded, then the has been loaded, then the theindex + id="dx1-75035"> environment will be modified to redefine \glshypernumber to allow formats that use + id="dx1-75037"> to allow formats that use that command. -

    The

    The dualindex attribute will still be used on subsequent use even if the + id="dx1-75038"> attribute will still be used on subsequent use even if the indexonlyfirst attribute (or attribute (or indexonlyfirst package option) is set. However, the package option) is set. However, the dualindex + id="dx1-75041"> attribute will honour the noindex key.
    -

    -

    The key.

    +

    +

    The \glsxtrdoautoindexname command will attempt to escape any of \makeindex’s special characters, but there may be special cases where it fails, so take + id="dx1-75043">’s special characters, but there may be special cases where it fails, so take care. This assumes the default makeindex actual, level, quote and encap values (unless any of the commands \actualchar, , \levelchar, , \quotechar or or \encapchar + id="dx1-75048"> have been defined before glossaries-extra is loaded). -

    If this isn’t the case, you can use the following preamble-only commands to set +

    If this isn’t the case, you can use the following preamble-only commands to set the correct characters. -

    Be very careful of possible shifting category codes!
    -

    -


    Be very careful of possible shifting category codes!
    +

    +


    \GlsXtrSetActualChar{char}

    -

    +

    Set the actual character to ⟨char⟩. -



    \GlsXtrSetLevelChar{char}

    -

    +

    Set the level character to ⟨char⟩. -



    \GlsXtrSetEscChar{char}

    -

    +

    Set the escape (quote) character to ⟨char⟩. -



    \GlsXtrSetEncapChar{char}

    -

    +

    Set the encap character to ⟨char⟩.

    -

    -

    Top

    9. bib2gls: Managing Reference Databases

    -

    There is a new command line application called

    +

    Top

    10. bib2gls: Managing Reference Databases

    +

    There is a new command line application called bib2gls, which works in much the same way as a combination of \input or \loadglsentries, the entries can instead be stored in a .bib file and bib2gls can selectively write the appropriate commands to a .glstex file which is loaded using \glsxtrresourcefile (or \GlsXtrLoadResources). -

    This means that you can use a reference managing system, such as JabRef, to +

    This means that you can use a reference managing system, such as JabRef, to maintain the database and it reduces the TeX overhead by only defining the entries that are actually required in the document. If you currently have a .tex file that @@ -17681,32 +21627,32 @@ class="cmtt-10">.tex file containing glossary definitions to a .bib file using convertgls2bib, supplied with + id="dx1-76003">, supplied with bib2gls.) -

    There are some new commands and options added to

    There are some new commands and options added to glossaries-extra to help assist the integration of bib2gls into the document build process. -

    This chapter just provides a general overview of

    This chapter just provides a general overview of bib2gls. The full details and some sample documents are provided in the bib2gls manual. -

    An example of the contents of

    An example of the contents of .bib file that stores glossary entries that can be extracted with bib2gls:

    -
    +   
     @entry{bird,
       name={bird},
       description = {feathered animal},
    @@ -17722,13 +21668,13 @@ class="cmtt-10">bib2gls:
       description={a waterbird with a long neck}
     }
     
    -

    -

    The follow provides some abbreviations: +

    +

    The follow provides some abbreviations:

    -
    +   
     @string{ssi={server-side includes}}
     @string{html={hypertext markup language}}
     @abbreviation{shtml,
    @@ -17747,13 +21693,13 @@ class="cmtt-10">bib2gls:
       description={a simple interpreted server-side scripting language}
     }
     
    -

    -

    Here are some symbols: +

    +

    Here are some symbols:

    -
    +   
     preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"}
     @symbol{M,
       name={$\mtx{M}$},
    @@ -17771,69 +21717,69 @@ preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"}
       description={a set}
     }
     
    -

    -

    To ensure that

    +

    To ensure that bib2gls can find out which entries have been used in the document, you need the record package option: + id="dx1-76010"> package option:

    -
    +   
     \usepackage[record]{glossaries-extra}
     
    -

    If this option’s value is omitted (as above), the normal indexing will be switched off, +

    If this option’s value is omitted (as above), the normal indexing will be switched off, since bib2gls can also sort the entries and collate the locations. -

    If you still want to use an indexing application (for example, you need a custom +

    If you still want to use an indexing application (for example, you need a custom xindy rule), then just use record=hybrid and continue to use and continue to use \makeglossaries and \printglossary (or \printglossaries), but you also need to instruct bib2gls to omit sorting to save time and to prevent the sort key from being + id="dx1-76015"> key from being set. -

    The

    The .glstex file created by bib2gls is loaded using: -



    \glsxtrresourcefile[options]{filename}

    -

    +

    (Don’t include the file extension in ⟨filename⟩.) There’s a shortcut version (recommended over the above) that sets ⟨filename⟩ to use \jobname: -



    \GlsXtrLoadResources[options]

    -

    +

    On the first use, this command is a shortcut for

    \jobname}
    On subsequent use,9.1 this +href="#fn1x10" id="fn1x10-bk">10.1
     this command is a shortcut for
    }
    where ⟨n⟩ is the current value of -



    \glsxtrresourcecount

    -

    +

    which is incremented at the end of \GlsXtrLoadResources. Any advisory notes regarding \glsxtrresourcefile also apply to \GlsXtrLoadResources. -

    The

    The \glsxtrresourcefile command writes the line

    .aux file and will input ⟨filename.glstex if it exists.9.2 +href="#fn2x10" id="fn2x10-bk">10.2 -

    Since the

    Since the .glstex file won’t exist on the first LaTeX run, the record package + id="dx1-76021"> package option additionally switches on undefaction=warn. Any use of commands like . Any use of commands like \gls or \glstext will produce ?? in the document, since the entries are undefined at this point. Once bib2gls has created the .glstex file the references should be resolved. This may cause a shift in the locations if the actual text produced once the entry is defined is significantly larger than the placeholder ?? (as this can alter the page breaking). -

    Note that as from v1.12,

    Note that as from v1.12, \glsxtrresourcefile temporarily switches the category code of @ to 11 (letter) while it reads the file to allow for any internal commands stored in the location field.

    -

    Top

    9.1 Selection

    -

    The default behaviour is for

    Top

    10.1 Selection

    +

    The default behaviour is for bib2gls to select all entries that have a record in the .aux file, and any dependent entries (including parent an class="cmtt-10">glsignore format (for example, \gls[format=glsignore]{duck}) is recognised by bib2gls as a special ignored record. This means that it will match the selection criteria but the record won’t be added to the location list. This means that you won’t get spurious commas in the location list (as can happen with the other indexing @@ -17936,66 +21882,66 @@ methods), so you can do, for example,

    -
    +   
     \GlsXtrSetDefaultNumberFormat{glsignore}
     
    -

    at the start of the front matter and +

    at the start of the front matter and

    -
    +   
     \GlsXtrSetDefaultNumberFormat{glsnumberformat}
     
    -

    at the start of the main matter to prevent any records in the front matter from +

    at the start of the main matter to prevent any records in the front matter from occurring in the location lists. -

    Note that commands like

    Note that commands like \glsaddall and \glsaddallunused don’t work with bib2gls as the command has to iterate over the internal lists of defined entry labels, which will be empty on the first run and on subsequent runs will only contain those entries that have been selected by bib2gls.
    -

    -

    If you want to add all entries to the glossary, you need to tell

    +

    If you want to add all entries to the glossary, you need to tell bib2gls this in the options list. For example:

    -
    +   
     \GlsXtrLoadResources[src={terms},selection={all}]
     
    -

    This will add all entries, regardless of whether or not they have any records in the +

    This will add all entries, regardless of whether or not they have any records in the .aux file. Those that don’t have any records will have an empty location list. See the bib2gls user manual for more details of this option. -

    +

    -

    Top

    9.2 Sorting and Displaying the Glossary

    -

    There are many sorting options provided by

    Top

    10.2 Sorting and Displaying the Glossary

    +

    There are many sorting options provided by bib2gls. The default is to sort according to the system locale. If the document has a language setting, you can use sort=doc to instruct bib2gls to sort according to that. (The language tag obtained from tracklang’s interface is written to the ’s interface is written to the .aux file.) For a multilingual document you need to explicitly set the locale using a well-formed language tag. For example: @@ -18003,26 +21949,26 @@ example:

    -
    +   
     \GlsXtrLoadResources[
       src=terms, % data in terms.bib
       sort=de-DE-1996 % sort according to this locale
     ]
     
    -

    The locale-sensitive sort methods usually ignore most punctuation so for lists of +

    The locale-sensitive sort methods usually ignore most punctuation so for lists of symbols you may find it more appropriate to use one of the letter-base sort methods that sort according to the Unicode value of each character. Alternatively you can provide a custom rule. See the bib2gls manual for full details of all the available sort methods. -

    Since the

    Since the .glstex file only defines those references required within the document (selected according to the selection option) and the definitions have been written in the order corresponding to bib2gls’s sorted list, the glossaries can simply be displayed using \printunsrtglossary (or \printunsrtglossaries), described in §10.2 11.2 Display All Entries Without Sorting or Indexing. -

    Suppose the

    Suppose the .bib examples shown above have been stored in the files terms.bib, -

    +   
     \documentclass{article}
     \usepackage[record]{glossaries-extra}
     \setabbreviationstyle{long-short-desc}
    @@ -18055,18 +22001,18 @@ TeX’s path. Then the document might look like:
     \printunsrtglossaries
     \end{document}
     
    -

    The document build process (assuming the document is called

    The document build process (assuming the document is called mydoc) is:

    -
    +   
     pdflatex mydoc
     bib2gls mydoc
     pdflatex mydoc
     
    -

    This creates a single glossary containing the entries:

    This creates a single glossary containing the entries: bird, duck, goose, bird, shtml and M entries were added because bib2gls detected (from the .aux file) that they had been used in the document. The other entries were added because bib2gls detected (from the .bib files) that they are referenced by the used entries. In the case of duck and goose, they are in the see field for field for bird. In the case of ssi and html, they are referenced in the description field of field of shtml. These cross-referenced entries won’t have a location list when the glossary is first displayed, but depending on how they are referenced, they may pick up a location list on the next document build. -

    The entries can be separated into different glossaries with different sort +

    The entries can be separated into different glossaries with different sort methods:

    -
    +   
     \documentclass{article}
     \usepackage[record,abbreviations,symbols]{glossaries-extra}
     \setabbreviationstyle{long-short-desc}
    @@ -18125,8 +22071,8 @@ methods:
     \printunsrtglossaries
     \end{document}
     
    -

    -

    Or you can have multiple instance of

    +

    Or you can have multiple instance of \GlsXtrLoadResources with the same type, which will produce a glossary with ordered sub-blocks. For example: @@ -18134,7 +22080,7 @@ class="cmtt-10">type, which will produce a glossary with ordered sub-bloc

    -
    +   
     \documentclass{article}
     \usepackage[record,style=indexgroup]{glossaries-extra}
     \setabbreviationstyle{long-short-desc}
    @@ -18152,10 +22098,10 @@ class="cmtt-10">type, which will produce a glossary with ordered sub-bloc
     \printunsrtglossaries
     \end{document}
     
    -

    This will result in a glossary where the first group has the title “Abbreviations”, the +

    This will result in a glossary where the first group has the title “Abbreviations”, the second group has the title “Symbols” and then follow the usual letter groups. Note that for this example to work, you must run bib2gls with the --group (or myDoc.tex:

    -
    +   
     pdflatex myDoc
     bib2gls -g myDoc
     pdflatex myDoc
     
    -

    The value of the

    The value of the group field must always be a label. You can set the corresponding + id="dx1-78011"> field must always be a label. You can set the corresponding title with \glsxtrsetgrouptitle (see §2.11 Glossary Style Modifications). If no title is set then the label is used as the group title. -

    You can provide your own custom sort rule. For example, if you are using +

    You can provide your own custom sort rule. For example, if you are using XƎLATEX or LuaLATEX:

    ]
    Remember that if you are using inputenc then extended characters, such as é or ø, + id="dx1-78012"> then extended characters, such as é or ø, are active and will expand when written to the .aux file. So with PDFLaTeX the above would have to be changed to protect against expansion. Some of the @@ -18332,7 +22278,7 @@ class="cmti-10">hex⟩) in the .aux file. bib2gls will recognise this as the character given by the hexadecimal value ⟨\string\uE6 and so on. This is quite cumbersome, but you can use the shortcut \glshex E6 instead, so the above needs to be written as:
    @@ -18479,50 +22425,49 @@ class="cmsy-10">}]
    -

    +

    -

    Top

    9.3 The glossaries-extra-bib2gls package

    -

    The package option

    Top

    10.3 The glossaries-extra-bib2gls package

    +

    The package option record=only (or simply (or simply record) automatically loads the + id="dx1-79002">) automatically loads the supplementary package glossaries-extra-bib2gls, which provides some commands that + id="dx1-79003">, which provides some commands that are specific to bib2gls. The package isn’t loaded by record=hybrid as that option is + id="dx1-79005"> as that option is intended for sorting with makeindex or xindy and it is expected that the sorting will be switched off (with the resource option sort=none). -

    If

    If glossaries-extra-bib2gls is loaded via the is loaded via the record package option then the check for + id="dx1-79009"> package option then the check for associated language resource files (see §14 15 Multi-Lingual Support) will also search for the existence of glossariesxtr-script⟩ is the four letter script identifier, such as Latn). -

    This package provides some shortcut commands that use

    This package provides some shortcut commands that use \printunsrtglossary if the + id="dx1-79010"> if the relevant package option has defined the associated glossary: \printunsrtabbreviations, + id="dx1-79011">, \printunsrtacronyms, , \printunsrtsymbols, , \printunsrtnumbers and + id="dx1-79014"> and \printunsrtindex. -

    The . +

    The savenumberlist package option doesn’t have any effect with package option doesn’t have any effect with bib2gls. The location lists are saved by default, so glossaries-extra-bib2gls patches + id="dx1-79018"> patches \glsentrynumberlist and and \glsdisplaynumberlist to work with the to work with the location + id="dx1-79021"> field -



    \glsxtrprovidecommand{cs}[default]{definition}

    -

    +

    This command is intended for use in @preamble. It’s simply defined to \providecommand in glossaries-extra-bib2gls but but bib2gls’s interpreter treats it as \renewcommand. This means that you can override bib2gls’s internal definition of a command without overriding the command definition in the document (if it’s already defined before the resource file is input). For example @@ -18595,11 +22540,11 @@ defined before the resource file is input). For example

    -
    +   
     @preamble{"\glsxtrprovidecommand{\int}{integral}"}
     
    -

    This will force

    This will force bib2gls to treat \int as the word “integral” to assist sorting but if @@ -18607,7 +22552,7 @@ this preamble code is written to the .glstex file (as it is by default) then it won’t override the current definition (provided by the kernel or redefined by a package). -

    The helper commands in the resource files are defined using

    The helper commands in the resource files are defined using \providecommand. For many of them, if you want to provide an alternative definition then you need to define the command before the resource file is loaded. There are a few that may be @@ -18616,8 +22561,8 @@ class="cmtt-10">\renewcommand then you will get an error on the first LaTeX run when the .glstex file doesn’t exist. In this case, you may prefer to use: -



    \glsrenewcommand{cs}[default]{definition}

    -

    +

    This behaves like \renewcommand but only generates a warning rather than an error if the command isn’t already defined so it won’t interrupt the document build. -



    \GlsXtrIndexCounterLink{text}{label}

    -

    +

    If the \hyperref command has been defined (that is, command has been defined (that is, hyperref has been + id="dx1-79030"> has been loaded before glossaries-extra) then this command checks for the existence of the text⟩. This command is provided for use with the indexcounter package option combined with package option combined with bib2gls’s save-index-counter resource option. See the bib2gls manual for further details (at least version 1.4). -

    If you use the

    If you use the set-widest resource option, bib2gls v1.8+ will now use: -



    \glsxtrSetWidest{type}{level}{text}

    -

    +

    (if it has been defined) to set the widest name for the given glossary type and level. This allows for both the alttree style and the styles provided by style and the styles provided by glossary-longextra, + id="dx1-79037">, which need to know the widest name. -

    If

    If bib2gls can’t determine the widest name (typically because the name field consists of commands that aren’t recognised by the interpreter) then bib2gls v1.8+ will now use: -



    \glsxtrSetWidestFallback{max depth}{list}

    -

    +

    (if defined). Currently the maximum hierarchical depth ⟨max depth⟩ may only be 0 or 2. This command requires commands provided by the glossaries-extra-stylemods + id="dx1-79041"> package with the alttree style enabled. In this case, it may be simpler to just use + id="dx1-79042"> style enabled. In this case, it may be simpler to just use \glssetwidest. -

    + id="dx1-79043">. +

    -

    Top

    9.3.1

    Top

    10.3.1 Supplemental Locations

    -



    \glsxtrdisplaysupploc{prefix}{}{location}

    -

    +

    This is used by bib2gls version 1.7+ for supplemental locations, instead of using \glsxtrsupphypernumber with the externallocation attribute. This command sets up + id="dx1-80003"> attribute. This command sets up the location counter and prefix (used in the formation of hyperlinks) and then uses -



    \glsxtrmultisupplocation{location}{src}{format}

    -

    +

    to format the actual location (with an external hyperlink, if supported). -

    +

    -

    Top

    9.3.2

    Top

    10.3.2 Nameref Record

    -

    Normally locations are recorded in the

    Normally locations are recorded in the .aux file in the form: -



    \glsxtr@record{label}{}{location}

    -

    +

    The record=nameref option, which requires at least option, which requires at least bib2gls v1.8, instead uses: -



    \glsxtr@record@nameref{label}{href}{hcounter}

    -

    +

    where ⟨title⟩ is obtained from \@currentlabelname and ⟨href ⟩ is obtained from \@currentHref. These commands require hyperref. If they are undefined, ⟨. If they are undefined, ⟨title⟩ and ⟨href ⟩ will be left empty and bib2gls will treat it as a regular record. -

    Be careful with this option as ⟨

    Be careful with this option as ⟨href ⟩ will globally change on every instance of \refstepcounter but ⟨title⟩ won’t necessarily change. It can therefore cause unexpected behaviour.
    -

    -

    The final argument ⟨

    +

    The final argument ⟨hcounter⟩ is obtained from \theHcounter⟩ which provides the partial target name associated with the indexing counter. With the original makeindex/xindy approach, it’s not possible to include this information in the location, so the base glossaries package attempts to derive a prefix from which the + id="dx1-81007"> package attempts to derive a prefix from which the ⟨hcounter⟩ value can be reconstituted by appending the prefix. Unfortunately, not all definitions of counter⟩ (most notably the equation counter with chapters) so this can fail. -

    Since counter with chapters) so this can fail. +

    Since bib2gls is customized specifically for use with glossaries-extra, it’s now @@ -18875,7 +22820,7 @@ class="cmti-10">hcounter⟩, so the record=nameref option does this. By providing both + id="dx1-81010"> option does this. By providing both ⟨href ⟩ and ⟨hcounter⟩, you can determine which target you would rather use. The default @@ -18886,10 +22831,10 @@ class="cmtt-10">\refstepcounter. However, you may choose to switch to using the ⟨href ⟩ target, which will take you to the nearest target before the indexing took place. -

    With

    With bib2gls v1.8+, normal locations are displayed using: -



    \glsnoidxdisplayloc{prefix}{format}{location}

    -

    +

    This is provided by the base glossaries package and is simply defined to do: -


    package and is simply defined to do: +


    \setentrycounter[prefix]{}{location}

    -

    +

    Earlier versions of bib2gls only used this in the loclist field and explicitly used + id="dx1-81014"> field and explicitly used \setentrycounter in the location field followed by field followed by \format{}, which follows the code that’s created with the default makeindex setting. The setting. The \setentrycounter command sets up the prefix needed for \glshypernumber to reform the target name from the given location. -

    The locations identified by

    The locations identified by \glsxtr@record@nameref are written by bib2gls to the location list using: -



    \glsxtrdisplaylocnameref{prefix}{hcounter}{file}

    -

    +

    With normal internal locations, ⟨file⟩ will always be empty. With supplemental locations, ⟨file⟩ will be the external file reference. -

    The default definition is: +

    The default definition is:

    -
    +   
     \newcommand*{\glsxtrdisplaylocnameref}[8]{%
       \ifstrequal{#2}{equation}%
       {\glsxtrnamereflink{#3}{(#4)}{#2.#7}{#8}}%
    @@ -18990,9 +22935,9 @@ class="cmti-10">file⟩ will be the external file reference.
       }%
     }
     
    -

    which uses: -


    which uses: +


    \glsxtrnamereflink{format}{target}{file}

    -

    +

    This ignores the ⟨prefix⟩, ⟨counter⟩ and } arguments and instead creates a hyperlink with the target name obtained from ⟨target⟩ (and ⟨file⟩, if not empty). -

    Since pages and equations typically don’t have titles, the default definition of +

    Since pages and equations typically don’t have titles, the default definition of \glsxtrdisplaylocnameref checks the counter was used as the location. If it’s page + id="dx1-81020"> or if ⟨title⟩ is empty, then just the location is used as the hyperlink text. If the counter equation, then the text is the location in parentheses. Otherwise the text is obtained + id="dx1-81021">, then the text is the location in parentheses. Otherwise the text is obtained from ⟨title⟩. -

    If ⟨

    If ⟨file⟩ is empty an internal link is created with: -



    \glsxtrfmtinternalnameref{target}{format}{title}

    -

    +

    otherwise an external link is created with: -



    \glsxtrfmtexternalnameref{target}{title}{file}

    -

    +

    The ⟨file⟩ argument is set by bib2gls for supplemental locations. -

    Here’s alternative definition that uses the ⟨

    Here’s alternative definition that uses the ⟨prefix⟩ and ⟨counter⟩ to reform the target name (as -

    +   
     \renewcommand*{\glsxtrdisplaylocnameref}[7]{%
      \glsxtrnamereflink{#3}{#5}{#6}{#7}%
     }
     
    -

    which uses: -


    which uses: +


    \glsxtrnameloclink{prefix}{} class="cmtt-10">{⟨file}

    -

    +

    This uses the same commands as \glsxtrnamereflink to produce the hyperlinks. -

    In both cases, the link is encapsulated with the text-block command whose +

    In both cases, the link is encapsulated with the text-block command whose name is given by ⟨format⟩, but \glshypernumber is first locally redefined to @@ -19102,8 +23047,8 @@ class="cmti-10">format⟩ is hyperbf then it will simply behave like textbf. -

    For compactness,

    For compactness, bib2gls merges normal records if the ⟨prefix⟩, ⟨location⟩ all match. (An order of precedence can b With nameref records, you can use the --merge-nameref-on switch provided by bib2gls v1.8+ to determine how to merge nameref records. This switch must be followed by one of the following keywords: hcounter (merge on @@ -19128,46 +23073,46 @@ class="cmtt-10">location class="cmti-10">location⟩, as regular records). In all cases, the ⟨counter⟩ must also match. -

    +

    -

    Top

    9.3.3

    Top

    10.3.3 Helper Commands for Resource Options

    -



    \glshex

    -

    +

    This is just defined as \string\u, which is required when you need to indicate a Unicode character in the form \uhex⟩ in some of the resource options (as illustrated above). -



    \glscapturedgroup

    -

    +

    This is just defined as \string\$ and is used for the captured group reference in a replacement part of a regular expression substitution (requires at least bib2gls version 1.5). For example:

    -
    +   
     sort-replace={{([a-zA-Z])\string\.}{\glscapturedgroup1}}
     
    -

    This only removes a full stop that follows any of the characters a,…,z or +

    This only removes a full stop that follows any of the characters a,…,z or A,…,Z. -

    If you use the

    If you use the save-child-count resource option, you can test if the childcount field is non-zero using: -



    \GlsXtrIfHasNonZeroChildCount{label}{true}{false}

    -

    +

    This internally uses \GlsXtrIfFieldNonZero and will do ⟨false⟩ if the field isn’t @@ -19188,32 +23133,32 @@ class="cmti-10">false⟩ if the field isn’t set.) As from v1.4 is also a starred version which uses \GlsXtrIfFieldNonZero* (don’t add grouping). -

    A convenient shortcut for use in the

    A convenient shortcut for use in the entry-type-aliases setting: -



    \GlsXtrBibTeXEntryAliases

    -

    +

    This provides aliases for BibTeX’s standard entry types to bib2gls’s @bibtexentry entry type (requires at least bib2gls version 1.4). -

    You may also want to provide storage keys for BibTeX’s standard fields rather +

    You may also want to provide storage keys for BibTeX’s standard fields rather than having to alias them all. This can be done with: -



    \GlsXtrProvideBibTeXFields

    -

    +

    Note that BibTeX’s type field clashes with the glossaries package’s package’s type key, so + id="dx1-82010"> key, so this command provides the key bibtextype instead. You can alias it with bibtextype field can be accessed with \glsxtrbibtype. Each of these commands takes the entry label as the sole argument. -

    The

    The glossaries-extra-bib2gls package also provides definitions of the missing + id="dx1-82011"> package also provides definitions of the missing mathematical Greek commands: \Alpha, , \Beta, , \Epsilon, , \Zeta, , \Eta, , \Iota, + id="dx1-82017">, \Kappa, , \Mu, , \Nu, , \Omicron, , \Rho, , \Tau, , \Chi, , \Digamma, , \omicron. These are all + id="dx1-82026">. These are all defined with \providecommand, so they won’t override any definitions provided by any package loaded before glossaries-extra. Since . Since bib2gls’s interpreter recognises these commands, using them instead of explicitly using the Latin characters with the same shape helps to keep the Greek symbols together when sorting. Similarly, if upgreek has been loaded, the missing upright Greek commands are also + id="dx1-82029"> has been loaded, the missing upright Greek commands are also provided. -

    The remaining commands provide common rule blocks for use in the +

    The remaining commands provide common rule blocks for use in the sort-rule resource option. If you want a rule for a specific locale, you can provide similar commands in a file called \IfTrackedLanguageFileExists in the tracklang documentation for further details. + id="dx1-82030"> documentation for further details. If this file is on TeX’s path and the tracklang package (automatically loaded by + id="dx1-82031"> package (automatically loaded by glossaries) detects that the document has requested that language or locale, then the file will automatically be loaded. For example, if you want to provide a rule @@ -19304,7 +23249,7 @@ contains:

    -
    +   
     \ProvidesGlossariesExtraLang{welsh}[2018/02/23 v1.0]
     \@ifpackageloaded{glossaries-extra-bib2gls}
     {
    @@ -19342,7 +23287,7 @@ contains:
     }
     {}% glossaries-extra-bib2gls.sty not loaded
     
    -

    (The use of

    (The use of \string is in case the < character has been made active.) You can provide more than one rule-block per local, to allow for loanwords or foreign words. @@ -19350,7 +23295,7 @@ For example, you could provide \glsxtrWelshIRules, \glsxtrWelshIIRules etc. -

    If the rules are for a particular script (independent of language or region) then +

    If the rules are for a particular script (independent of language or region) then they can be provided in a file given by glossariesxtr-scriptglossariesxtr-Cyrl.ldf could contain:

    -
    +   
     \ProvidesGlossariesExtraLang{Cyrl}[2018/02/23 v1.0]
     \newcommand*{\glsxtrGeneralCyrillicIRules}{%
       % Cyrillic rules
    @@ -19370,20 +23315,20 @@ class="cmtt-10">glossariesxtr-Cyrl.ldf could contain:
       % an alternative set of Cyrillic rules
     }
     
    -

    (Remember that the required document language scripts need to be tracked through +

    (Remember that the required document language scripts need to be tracked through the tracklang package, in order for these files to be automatically loaded. This + id="dx1-82032"> package, in order for these files to be automatically loaded. This essentially means ensuring you load the appropriate language package before tracklang is loaded by the base is loaded by the base glossaries package or any other package that uses it. + id="dx1-82034"> package or any other package that uses it. See the tracklang documentation for further details.) -

    Alternatively, if the rules are specific to a subject rather than a region or + id="dx1-82035"> documentation for further details.) +

    Alternatively, if the rules are specific to a subject rather than a region or language, then you can provide a supplementary package. For example, if you have a package called, say, mapsymbols that provides map symbols, then the file @@ -19393,7 +23338,7 @@ class="cmtt-10">mapsymbols.sty might contain:

    -
    +   
     \NeedsTeXFormat{LaTeX2e}
     \ProvidesPackage{mapsymbols}
      some package or font loading stuff here to provide
    @@ -19409,27 +23354,27 @@ class="cmtt-10">mapsymbols.sty might contain:
      \string< \glshex 26BD % football 0x26BD
     }
     
    -

    and the supplementary file

    and the supplementary file mapsymbols.bib can provide the appropriate definitions for bib2gls:

    -
    +   
     @preamble{"\glsxtrprovidecommand{\Harbour}{\char"2693}
     \glsxtrprovidecommand{\Battlefield}{\char"2694}
     \glsxtrprovidecommand{\Stadium}{\char"26BD}"}
     
    -

    Now both the preamble and rule block can be used in the resource set: +

    Now both the preamble and rule block can be used in the resource set:

    -
    +   
     \usepackage{mapsymbols}% my custom package
     \usepackage[record]{glossaries-extra}
     \GlsXtrLoadResources[
    @@ -19451,10 +23396,10 @@ class="cmtt-10">bib2gls:
      }
     ]
     
    -

    -

    The following commands are provided by

    +

    The following commands are provided by glossaries-extra-bib2gls. They should be + id="dx1-82037">. They should be separated by the rule separator characters ; (semi-colon) or , (comma) or @@ -19463,21 +23408,21 @@ class="cmtt-10">& (ampersand) or < (less than). See Java’s RuleBasedCollator documentation for details of the rule syntax. -

    For example, the following will place the mathematical Greek symbols (

    For example, the following will place the mathematical Greek symbols (\alpha, + id="dx1-82038">, \Alpha, , \beta, , \Beta etc) in a block before Latin characters: + id="dx1-82041"> etc) in a block before Latin characters:

    -
    +   
     sort-rule={\glsxtrcontrolrules
      ;\glsxtrspacerules
      ;\glsxtrnonprintablerules
    @@ -19492,38 +23437,38 @@ sort-rule={\glsxtrcontrolrules
      <\glsxtrLatinOslash
     }
     
    -

    -


    +


    \glsxtrcontrolrules

    -

    +

    These are control characters that are usually placed at the start of a rule in the ignored section. They typically won’t occur in any sort values, but if they do they should normally be ignored. -



    \glsxtrspacerules

    -

    +

    These are space characters. They typically come after the control characters with the two blocks separated by a ; (semi-colon). -



    \glsxtrnonprintablerules

    -

    +

    These are non-printable characters (BOM, tabs, line feed and carriage return). They typically come after the spaces separated by a ; (semi-colon). These characters aren’t checked for by bib2gls when it determines whether or not to use the interpreter, so a TAB or newline character may end up in the sort value if it wasn’t interpreted. -



    \glsxtrcombiningdiacriticrules

    -

    +

    These are combining diacritic marks which typically follow the space and non-printable blocks (separated by a semi-colon). This command is defined in terms of sub-block commands: @@ -19531,7 +23476,7 @@ of sub-block commands:

    -
    +   
     \newcommand*{\glsxtrcombiningdiacriticrules}{%
      \glsxtrcombiningdiacriticIrules\string;
      \glsxtrcombiningdiacriticIIrules\string;
    @@ -19539,27 +23484,27 @@ of sub-block commands:
      \glsxtrcombiningdiacriticIVrules
     }
     
    -

    If you prefer, you can use the sub-blocks directly in your required ordered. -


    If you prefer, you can use the sub-blocks directly in your required ordered. +


    \glsxtrcombiningdiacriticIrules

    -

    +

    This contains the combining diacritics: acute, grave, breve, circumflex, caron, ring, vertical line above, diaeresis (umlaut), double acute, tilde, dot above, combining macron. -



    \glsxtrcombiningdiacriticIIrules

    -

    +

    This contains the combining diacritics: short solidus overlay, cedilla, ogonek, dot below, low line, overline, hook above, double vertical line above, double grave accent, candrabindu, inverted breve, turned comma above, comma above, reversed comma above, comma above right, grave accent below, acute accent below. -



    \glsxtrcombiningdiacriticIIIrules

    -

    +

    This contains the combining diacritics: left tack below, right tack below, left angle above, horn, left half ring below, up tack below, down tack below, plus sign below, minus sign below, palatalized hook below, retroflex hook below, diaresis below, ring @@ -19571,29 +23516,29 @@ seagull below, x above, vertical tilde, double overline, Greek perispomeni, Gree dialytika tonos, Greek ypogegrammeni, double tilde, double inverted breve, Cyrillic titlo, Cyrillic palatalization, Cyrillic dasia pneumata, Cyrillic psili pneumata. -



    \glsxtrcombiningdiacriticIVrules

    -

    +

    This contains the combining diacritics: left harpoon above, right harpoon above, long vertical line overlay, short vertical line overlay, anticlockwise arrow above, clockwise arrow above, left arrow above, right arrow above, ring overlay, clockwise ring overlay, anticlockwise ring overlay, three dots above, four dots above, enclosing circle, enclosing square, enclosing diamond, enclosing circle backslash, left right arrow above. -



    \glsxtrhyphenrules

    -

    +

    This contains hyphens (including the minus sign 0x2212). This rule block typically comes after the diacritic rules separated by a comma. -



    \glsxtrgeneralpuncrules

    -

    +

    This contains punctuation characters. This rule block typically comes after the hyphen rules separated by a less than (<). As with the combining diacritics, this @@ -19603,18 +23548,18 @@ different order is required:

    -
    +   
     \newcommand*{\glsxtrgeneralpuncrules}{%
       \glsxtrgeneralpuncIrules
       \string<\glsxtrcurrencyrules
       \string<\glsxtrgeneralpuncIIrules
     }
     
    -

    -


    +


    \glsxtrgeneralpuncIrules

    -

    +

    This is the first punctuation sub-block containing: underscore, macron, comma, semi-colon, colon, exclamation mark, inverted exclamation mark, question mark, inverted question mark, solidus, full stop, acute accent, grave accent, @@ -19623,26 +23568,26 @@ straight double quote, left guillemet, right guillemet, left parenthesis, right parenthesis, left square bracket, right square bracket, left curly bracket, right curly bracket, section sign, pilcrow sign, copyright sign, registered sign, at sign. -



    \glsxtrcurrencyrules

    -

    +

    This sub-block contains some currency symbols: currency sign, Thai currency symbol baht, cent sign, colon sign, cruzeiro sign, dollar sign, dong sign, euro sign, French franc sign, lira sign, mill sign, naira sign, peseta sign, pound sign, rupee sign, new sheqel sign, won sign, yen sign. -



    \glsxtrgeneralpuncIIrules

    -

    +

    This sub-block contains some other punctuation symbols: asterisk, backslash, ampersand, hash sign, percent sign, plus sign, plus-minus sign, division sign, multiplication sign, less-than sign, equals sign, greater-than sign, not sign, vertical bar (pipe), broken bar, degree sign, micron sign. -



    \glsxtrdigitrules

    -

    +

    This rule block contains the Basic Latin digits (0, …, 9) and the subscript and superscript digits (0 0 etc) made equivalent to the corresponding Basic Lat The digit block typically comes after the punctuation rules separated by a less than (<). -



    \glsxtrBasicDigitrules

    -

    +

    This rule block contains just the Basic Latin digits (0, …, 9). -



    \glsxtrSubScriptDigitrules

    -

    +

    This rule block contains just the subscript digits (0 … 9). -



    \glsxtrSuperScriptDigitrules

    -

    +

    This rule block contains just the superscript digits (0 … 9). -



    \glsxtrfractionrules

    -

    +

    This rule block contains vulgar fraction characters. The digit block typically comes after the digit rules separated by a less than (<). -

    There are a number of Latin rule blocks. Some of these included extended +

    There are a number of Latin rule blocks. Some of these included extended characters or ligatures (such as ß or œ) but they don’t include accented characters. If you require a Latin rule block that includes accented characters, digraphs, trigraphs or other extended characters, then it’s best to provide similar @@ -19688,10 +23633,10 @@ class="cmtt-10">glossariesxtr-⟨tag.ldf file for the particular language or region. -



    \glsxtrGeneralLatinIrules

    -

    +

    This is just the basic (non-extended) Latin alphabet with the superscript and subscript Latin letters (a a etc) treated as the equivalent basic Latin letter. don’t want the subscripts and superscripts included you can redefine \glsxtrLatinA etc to omit them.) -



    \glsxtrGeneralLatinIIrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but it includes eth (Ð) between ‘D’ and ‘E’ and eszett (ß) treated as ‘ss’. -



    \glsxtrGeneralLatinIIIrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but it includes eth (Ð) between ‘D’ and ‘E’ and eszett (ß) treated as ‘sz’. -



    \glsxtrGeneralLatinIVrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but it includes eth (Ð) between ‘D’ and ‘E’, ae-ligature (æ) is treated as ‘ae’, oe-ligature (œ) is treated as ‘oe’, eszett (ß) treated as ‘ss’ and thorn (þ) is treated as ‘th’. -



    \glsxtrGeneralLatinVrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but it includes eth (Ð) between ‘D’ and ‘E’, eszett (ß) treated as ‘ss’ and thorn (þ) treated as ‘th’. -



    \glsxtrGeneralLatinVIrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but it includes eth (Ð) between ‘D’ and ‘E’, eszett (ß) treated as ‘sz’ and thorn (þ) treated as ‘th’. -



    \glsxtrGeneralLatinVIIrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but it includes ae-ligature (æ) between ‘A’ and ‘B’, eth (Ð) between ‘D’ and ‘E’, insular G (Ᵹ) instead of ‘G’, oe-ligature between ‘O’ and ‘P’, long s (ſ) equivalent to ‘s’, thorn (þ) between ‘T’ and ‘U’ and wynn (Ƿ) instead of W. -



    \glsxtrGeneralLatinVIIIrules

    -

    +

    This is like \glsxtrGeneralLatinIrules but ae-ligature (æ) is treated as ‘ae’, oe-ligature (œ) is treated as ‘oe’, eszett (ß) treated as ‘ss’, thorn (þ) is treated as ‘th’, Ø is treated as ‘O’ and ‘Ł’ is treated as ‘L’. -



    \glsxtrLatinA

    -

    +

    A mini-rule that just covers ‘A’ but includes the sub- and superscript A. -



    \glsxtrLatinE

    -

    +

    A mini-rule that just covers ‘E’ but includes the subscript E. -



    \glsxtrLatinH

    -

    +

    A mini-rule that just covers ‘H’ but includes the subscript H. -



    \glsxtrLatinK

    -

    +

    A mini-rule that just covers ‘K’ but includes the subscript K. -



    \glsxtrLatinI

    -

    +

    A mini-rule that just covers ‘I’ but includes the superscript I. -



    \glsxtrLatinL

    -

    +

    A mini-rule that just covers ‘L’ but includes the subscript L. -



    \glsxtrLatinM

    -

    +

    A mini-rule that just covers ‘M’ but includes the subscript M. -



    \glsxtrLatinN

    -

    +

    A mini-rule that just covers ‘N’ but includes the sub- and superscript N. -



    \glsxtrLatinO

    -

    +

    A mini-rule that just covers ‘O’ but includes the sub- and superscript O. -



    \glsxtrLatinP

    -

    +

    A mini-rule that just covers ‘P’ but includes the subscript P. -



    \glsxtrLatinS

    -

    +

    A mini-rule that just covers ‘S’ but includes the subscript S. -



    \glsxtrLatinT

    -

    +

    A mini-rule that just covers ‘T’ but includes the subscript T. -



    \glsxtrLatinX

    -

    +

    A mini-rule that just covers ‘X’ but includes the subscript X. -



    \glsxtrLatinEszettSs

    -

    +

    A mini-rule that just covers eszett (ß) and makes long s (ſ) followed by short ‘s’ equivalent to ‘ß’. (This is used in the above blocks that treat ‘ß’ as ‘ss’.) -



    \glsxtrLatinEszettSz

    -

    +

    A mini-rule that just covers eszett (ß) and makes long s (ſ) followed by ‘z’ equivalent to ‘ß’. (This is used in the above blocks that treat ‘ß’ as ‘sz’.) -



    \glsxtrLatinEth

    -

    +

    A mini-rule for eth (Ð) so you don’t need to remember the Unicode values. -



    \glsxtrLatinThorn

    -

    +

    A mini-rule for thorn (þ) so you don’t need to remember the Unicode values. -



    \glsxtrLatinAELigature

    -

    +

    A mini-rule for ae-ligature (æ) so you don’t need to remember the Unicode values. -



    \glsxtrLatinOELigature

    -

    +

    A mini-rule for oe-ligature (œ) so you don’t need to remember the Unicode values. -



    \glsxtrLatinOslash

    -

    +

    A mini-rule for ‘Ø’ so you don’t need to remember the Unicode values. -



    \glsxtrLatinLslash

    -

    +

    A mini-rule for ‘Ł’ so you don’t need to remember the Unicode values. -



    \glsxtrLatinWynn

    -

    +

    A mini-rule for wynn (Ƿ) so you don’t need to remember the Unicode values. -



    \glsxtrLatinInsularG

    -

    +

    A mini-rule for insular G (Ᵹ) so you don’t need to remember the Unicode values. -



    \glsxtrLatinSchwa

    -

    +

    A mini-rule that just covers schwa (Ə) but includes the subscript schwa. (Not used in any of the provided Latin rule blocks described above.) -



    \glsxtrLatinAA

    -

    +

    A mini-rule for ‘Å’ so you don’t need to remember the Unicode values. (Not used in any of the provided Latin rule blocks described above.) -



    \glsxtrMathGreekIrules

    -

    +

    A rule block for mathematical Greek (\alpha, , \beta etc) and upright Greek + id="dx1-82096"> etc) and upright Greek (\upalpha, etc, from the , etc, from the upgreek package) characters that includes digamma + id="dx1-82098"> package) characters that includes digamma (\digamma and and \Digamma) between epsilon and zeta. The upright and italic versions + id="dx1-82100">) between epsilon and zeta. The upright and italic versions are gathered together into the same letter group. -



    \glsxtrMathGreekIIrules

    -

    +

    As \glsxtrMathGreekIrules but doesn’t include digamma. -



    \glsxtrMathUpGreekIrules

    -

    +

    A rule block for upright Greek (\upalpha, etc, from the , etc, from the upgreek package) + id="dx1-82104"> package) characters that includes digamma (\digamma and and \Digamma) between epsilon and + id="dx1-82106">) between epsilon and zeta. -



    \glsxtrMathUpGreekIIrules

    -

    +

    A rule block for upright Greek (\upalpha, etc, from the , etc, from the upgreek package) that + id="dx1-82109"> package) that doesn’t include digamma. -



    \glsxtrMathItalicGreekIrules

    -

    +

    A rule block for mathematical Greek (\alpha, , \Alpha, etc) characters that includes + id="dx1-82112">, etc) characters that includes digamma (\diagamma and and \Digamma) between epsilon and zeta. Note that even + id="dx1-82114">) between epsilon and zeta. Note that even though the upper case \Delta etc are actually rendered upright by LaTeX, bib2gls’s interpreter treats them as italic to help keep them close to the lower case versions. -



    \glsxtrMathItalicGreekIIrules

    -

    +

    A rule block for mathematical Greek (\alpha, , \Alpha, etc) characters that doesn’t + id="dx1-82118">, etc) characters that doesn’t include digamma. -



    \glsxtrMathItalicUpperGreekIrules

    -

    +

    A rule block for upper case mathematical Greek (\Alpha, , \Beta, etc) characters that + id="dx1-82121">, etc) characters that includes digamma (\Digamma) between epsilon and zeta. -


    ) between epsilon and zeta. +


    \glsxtrMathItalicUpperGreekIIrules

    -

    +

    A rule block for upper case mathematical Greek (\Alpha, , \Beta, etc) characters that + id="dx1-82125">, etc) characters that doesn’t include digamma. -



    \glsxtrMathItalicLowerGreekIrules

    -

    +

    A rule block for lower case mathematical Greek (\alpha, , \beta, etc) characters that + id="dx1-82128">, etc) characters that includes digamma (\digamma) between epsilon and zeta. -


    ) between epsilon and zeta. +


    \glsxtrMathItalicLowerGreekIIrules

    -

    +

    A rule block for lower case mathematical Greek (\alpha, , \beta, etc) characters that + id="dx1-82132">, etc) characters that doesn’t include digamma. -

    Additionally, there are commands in the form

    Additionally, there are commands in the form \glsxtrUpAlpha, \glsxtrUpBeta etc and \upalpha etc and \Alpha, \alpha etc) as well as the following: -



    \glsxtrMathItalicPartial

    -

    +

    The partial derivative symbol (). -



    \glsxtrMathItalicNabla

    -

    +

    The nabla symbol (). -

    +

    -

    Top

    9.4 Supplementary Commands

    -

    These commands are provided by

    Top

    10.4 Supplementary Commands

    +

    These commands are provided by glossaries-extra for use with bib2gls. -

    The information provided with

    The information provided with \GlsXtrLoadResources is written to the .aux file using

    @@ -20072,13 +24017,13 @@ class="cmtt-10">}
    where ⟨information⟩ is the information to pass to bib2gls. The command in the second argument -



    \glsxtrresourceinit

    -

    +

    may be used to temporarily redefine commands before the information is written to the file. This does nothing by default, but may be redefined to allow the use of short commands for convenience. For example, with: @@ -20086,38 +24031,38 @@ commands for convenience. For example, with:

    -
    +   
     \renewcommand{\glsxtrresourceinit}{\let\u\glshex}
     
    -

    you can just use, for example,

    you can just use, for example, \u E6 instead of \string\uE6 in the custom rule. This redefinition of \u is scoped so its original definition is restored after the write operation. -

    If you have multiple resource commands and you want a default set of options you +

    If you have multiple resource commands and you want a default set of options you can supply them in the definition of: -



    \GlsXtrDefaultResourceOptions

    -

    +

    For example:

    -
    +   
     \renewcommand{\GlsXtrDefaultResourceOptions}{selection=all}
     
    -

    This should be done before the resource commands. -

    It’s possible to specify label prefixes. For example, modifying the earlier +

    This should be done before the resource commands. +

    It’s possible to specify label prefixes. For example, modifying the earlier example:

    -
    +   
     \documentclass{article}
     \usepackage[record,style=indexgroup]{glossaries-extra}
     \setabbreviationstyle{long-short-desc}
    @@ -20138,22 +24083,22 @@ example:
     \printunsrtglossaries
     \end{document}
     
    -

    If you do something like this, you may find it more convenient to define custom +

    If you do something like this, you may find it more convenient to define custom commands that set the prefix. For example:

    -
    +   
     \newcommand*{\sym}[2][]{\gls[#1]{sym.#2}}
     
    -

    The problem with this is that the custom command

    The problem with this is that the custom command \sym doesn’t allow for modifiers (such as \gls* or \gls+). Instead you can use: -



    \glsxtrnewgls[default options]{prefix}{cs}

    -

    +

    which defines the command ⟨cs⟩ that behaves like

    @@ -20186,24 +24131,24 @@ class="cmtt-10">] -
    +   
     \glsxtrnewgls{sym.}{\sym}
     
    -

    or (to default to no hyperlinks) +

    or (to default to no hyperlinks)

    -
    +   
     \glsxtrnewgls[hyper=false]{sym.}{\sym}
     
    -

    now you can use

    now you can use \sym+{M} to behave like \gls+{sym.M}. -

    If you also want the plural and first letter upper case versions you can +

    If you also want the plural and first letter upper case versions you can use -



    \glsxtrnewglslike[default options]{\Gls-like cs}{\Glspl-like cs}

    -

    +

    For example:

    -
    +   
     \glsxtrnewglslike[hyper=false]{idx.}{\idx}{\idxpl}{\Idx}{\Idxpl}
     
    -

    For the all caps versions: -


    For the all caps versions: +


    \glsxtrnewGLSlike[default options]{} class="cmtt-10">{⟨\GLSpl-like cs}

    -

    +

    For example:

    -
    +   
     \glsxtrnewGLSlike[hyper=false]{idx.}{\IDX}{\IDXpl}
     
    -

    -

    There’s an analogous command for

    +

    There’s an analogous command for \rgls: -



    \glsxtrnewrgls[default options]{prefix}{cs}

    -

    +

    and for \rgls, \rglspl, \rGls and \rGlspl: -



    \glsxtrnewrglslike[default options]{\rGls-like cs}{\rGlspl-like cs}

    -

    +

    and for the all caps: -



    \glsxtrnewrGLSlike[default options]{} class="cmtt-10">{⟨\rGLSpl-like cs}

    -

    -

    If you provide your own custom command with just

    +

    If you provide your own custom command with just \newcommand that has syntax that starts with [options]{label}, then you can notify bib2gls using: -



    \glsxtridentifyglslike{prefix}{command}

    -

    +

    This writes information to the .aux file so that bib2gls can search for the given command when looking for dependencies. -

    Another possibility is to set up known label prefixes, with each one identified +

    Another possibility is to set up known label prefixes, with each one identified by: -



    \glsxtraddlabelprefix{prefix}

    -

    +

    These should be listed in order of precedence. Since no entries are defined on the first LaTeX run, the final prefix should be the fallback. You can prepend a prefix to the list using: -



    \glsxtrprependlabelprefix{prefix}

    -

    +

    which gives it the highest order of precedence. -

    The ⟨

    The ⟨prefix⟩ argument may be empty. You can clear the list with: -



    \glsxtrclearlabelprefixes

    -

    -

    You can test if a prefix is already in the list with: -


    +

    You can test if a prefix is already in the list with: +


    \glsxtrifinlabelprefixlist{prefix}{true}{false}

    -

    +

    In general it’s best to avoid adding multiple instances of the same prefix, so you can check with this command before adding a prefix to the list. However, it can be useful @@ -20369,10 +24314,10 @@ check with this command before adding a prefix to the list. However, it can be u to repeat a prefix at the end of the list so that it can be used as a fallback for entries that haven’t yet been defined. -

    With the list of possible prefixes set up (including an empty prefix if necessary), +

    With the list of possible prefixes set up (including an empty prefix if necessary), you can use: -



    \dgls[options]{label}[insert]

    -

    +

    which behaves like

    prefix⟩ is the first prefix in the list such that class="cmti-10">prefix⟩⟨label⟩ matches a defined entry (or the last entry in the prefix list if none match). -

    There are also analogous commands for the plural and case-changing +

    There are also analogous commands for the plural and case-changing versions: -



    \dglspl[options]{label}[insert]

    -

    +

    (uses \glspl), -



    \dGls[options]{label}[insert]

    -

    +

    (uses \Gls), -



    \dGlspl[options]{label}[insert]

    -

    +

    (uses \Glspl), -



    \dGLS[options]{label}[insert]

    -

    +

    (uses \GLS), -



    \dGLSpl[options]{label}[insert]

    -

    +

    (uses \GLSpl), -



    \dglslink[options]{label}[insert]

    -

    +

    (uses \glslink), -



    \dglsdisp[options]{label}[insert]

    -

    +

    (uses \glsdisp). -

    These commands are essentially provided for a mixture of single and dual entries. +

    These commands are essentially provided for a mixture of single and dual entries. Suppose the file entries.bib contains:

    -
    +   
     @index{duck}
     @dualindexabbreviation{svm,
       short={SVM},
    @@ -20505,12 +24450,12 @@ class="cmtt-10">entries.bib contains:
         diameter}
     }
     
    -

    and suppose the document code is: +

    and suppose the document code is:

    -
    +   
     \documentclass{article}
     \usepackage{hyperref}
     \usepackage[record,abbreviations,symbols]{glossaries-extra}
    @@ -20525,7 +24470,7 @@ Next use: \gls{duck}, \gls{svm}, \gls{pi}.
     \printunsrtglossaries
     \end{document}
     
    -

    This uses the default empty primary prefix and

    This uses the default empty primary prefix and dual. for the dual prefix, so \gls{svm} is referencing the primary entry, which is (essentially) an \gls{pi}, which references the primary @index entry rather than the symbol. -

    What’s really needed is: +

    What’s really needed is:

    -
    +   
     \gls{duck}, \gls{dual.svm}, \gls{dual.pi}.
     
    -

    or with +

    or with

    -
    +   
     \GlsXtrLoadResources[src=entries,
      label-prefix={idx.},
      dual-prefix={}
     ]
     
    -

    then only the entries without a dual need a prefix: +

    then only the entries without a dual need a prefix:

    -
    +   
     \gls{idx.duck}, \gls{svm}, \gls{pi}.
     
    -

    Using

    Using \glsxtrnewglslike, as earlier, this can be simplified to:

    -
    +   
     \idx{duck}, \gls{svm}, \gls{pi}.
     
    -

    but this requires remembering which terms have duals. -

    An alternative is to use

    but this requires remembering which terms have duals. +

    An alternative is to use \dgls instead:

    -
    +   
     \documentclass{article}
     \usepackage{hyperref}
     \usepackage[record,abbreviations,symbols]{glossaries-extra}
    @@ -20596,7 +24541,7 @@ Next use: \dgls{duck}, \dgls{svm}, \dgls{pi}.
     \printunsrtglossaries
     \end{document}
     
    -

    On the first LaTeX call (when the

    On the first LaTeX call (when the .glstex file doesn’t exist), neither dual.svm nor dual.svm) entry to be selected. The location will be added to the primary entry’s location list, unless overridden by resource options, such as combine-dual-locations. -

    Once

    Once bib2gls has been run and the .glstex file exists, then \dgls{svm} now behaves like \gls{dual.svm}, which follows the abbreviation style and hyperlinks to the list of abbreviations. -

    Similarly for the index-symbol combination

    Similarly for the index-symbol combination dual.pi and pi. In the case of \dgls{duck} always behaves like \gls{duck}. -

    If you haven’t used

    If you haven’t used combine-dual-locations an extra bib2gls+LaTeX run may be required to correct the location lists. -

    If you change the label prefixes, remember to update the corresponding +

    If you change the label prefixes, remember to update the corresponding \glsxtraddlabelprefix{prefix}. If no prefixes have been added to the list (or if the list is cleared), just an empty prefix is assumed. -

    As from version 1.8,

    As from version 1.8, bib2gls provides hooks that identify the label prefixes in the .glstex file:

    @@ -20660,19 +24605,19 @@ class="cmtt-10">.glstex file:

    \bibglstertiaryprefixlabel{prefix}
    \bibglsdualprefixlabel{prefix}
    \bibglsprimaryprefixlabel{prefix} @@ -20682,12 +24627,12 @@ loaded to set up the prefix list. For example: -
    +   
     \newcommand{\bibglsprimaryprefixlabel}[1]{\glsxtraddlabelprefix{#1}}
     \newcommand{\bibglsdualprefixlabel}[1]{\glsxtrprependlabelprefix{#1}}
     \GlsXtrLoadResources[src=entries]
     
    -

    Remember that this will only have an effect once the

    Remember that this will only have an effect once the .glstex file has been created. The prefix list will be empty on the first run (which is treated as a single empty prefix). If this isn’t a suitable fallback, it may be necessary to add one after all the @@ -20696,80 +24641,77 @@ resource commands:

    -
    +   
     \newcommand{\bibglsprimaryprefixlabel}[1]{\glsxtraddlabelprefix{#1}}
     \newcommand{\bibglsdualprefixlabel}[1]{\glsxtrprependlabelprefix{#1}}
     \GlsXtrLoadResources[src=entries,label-prefix={idx.}]
     \glsxtraddlabelprefix{idx.}
     
    -

    Although this rather defeats the purpose of using the hooks as you still have to keep +

    Although this rather defeats the purpose of using the hooks as you still have to keep track of the fallback prefix. -

    +

    -

    Top

    9.5

    Top

    10.5 Record Counting

    -

    As from version 1.1 of

    As from version 1.1 of bib2gls, you can save the total record count for each entry by invoking bib2gls with the --record-count or --record-count-unit switches. These options will ensure that when each entry is written to the .glstex file bib2gls will additionally set the following internal fields for that entry:

      -
    • -

      recordcount: set to the total number of records found for the entry; -

    • -
    • -

      +

    • recordcount.counter⟩: set to the total number of records found for the - entry for the given counter.

    -

    If +

    If --record-count-unit is used then additionally:

      -
    • -

      recordcount.counter.location⟩: set to the total number of records - found for the entry for the given counter with the given location.

    -

    Only use the unit counting option if the locations don’t contain any special characters. If + found for the entry for the given counter with the given location. +

    Only use the unit counting option if the locations don’t contain any special characters. If you really need it with locations that may contain formatting commands, then you can try redefining: -



    \glsxtrdetoklocation{location}

    -

    +

    so that it detokenizes ⟨location⟩ but take care when using \GlsXtrLocationRecordCount with commands like \thepage as they can end up becoming detokenized too early. - - - -

    Note that the record count includes locations that

    Note that the record count includes locations that bib2gls discards, such as ignored records, duplicates and partial duplicates. It doesn’t include cross-reference records. For example, if \gls{bird} is used twice on page 1, once on page 2 and fours times on page 3, and \gls[counter=section]{bird} is used once in + + + section 3, then the total record count (stored in the recordcount field) is 2 + 1 + 4 + 1 = 8, the total for the section counter (stored in the recordcount.section field) is 1. -

    With the unit counting on as well, the field

    With the unit counting on as well, the field recordcount.page.1 is set to 2, recordcount.page.2 is set to 1, recordcount.page.3 is set to 4 and recordcount.section.3 is set to 1. -

    You can access these fields using the following commands which will expand to +

    You can access these fields using the following commands which will expand to the field value if set or to 0 if unset: -



    \GlsXtrTotalRecordCount{label}

    -

    +

    This expands to the total record count for the entry given by ⟨label⟩.

    -
    +   
     \GlsXtrTotalRecordCount{bird}
     
    -

    expands to 8. -


    expands to 8. +


    \GlsXtrRecordCount{label}{counter}

    -

    +

    This expands to the counter total for the entry given by ⟨label⟩ where ⟨counter⟩ is the @@ -20820,20 +24762,20 @@ counter name. For example:

    -
    +   
     \GlsXtrRecordCount{bird}{page}
     
    -

    expands to 7 and +

    expands to 7 and

    -
    +   
     \GlsXtrRecordCount{bird}{section}
     
    -

    expands to 1. -


    expands to 1. +


    \GlsXtrLocationRecordCount{label}{counter}{location}

    -

    +

    This expands to the total for the given location. For example

    -
    +   
     \GlsXtrLocationRecordCount{bird}{page}{3}
     
    -

    expands to 4. Be careful about using

    expands to 4. Be careful about using \thepage in the ⟨location⟩ part. Remember that due to TeX’s asynchronous output routine, \thepage may not be correct. -

    There are commands analogous to the entry counting commands like

    There are commands analogous to the entry counting commands like \cgls and \cglsformat that are triggered by the record count. These are listed below. -



    \rglsmodifier[label}[insert]

    -

    -


    +


    \rglsplmodifier[label}[insert]

    -

    -


    +


    \rGlsmodifier[label}[insert]

    -

    -


    +


    \rGlsplmodifier[label}[insert]

    -

    -


    +


    \rGLSmodifier[label}[insert]

    -

    -


    +


    \rGLSplmodifier[label}[insert]

    -

    +

    These commands check the recordcount attribute which, if set, should be a number. + id="dx1-84015"> attribute which, if set, should be a number. For example:

    -
    +   
     \glssetcategoryattribute{abbreviation}{recordcount}{1}
     
    -

    For convenience, you can use -


    For convenience, you can use +


    \GlsXtrSetRecordCountAttribute{category list}{n}

    -

    +

    to set the recordcount attribute to ⟨ attribute to ⟨n⟩ for all the categories listed in ⟨category list⟩. -

    The

    The \rgls-like commands use -



    \glsxtrifrecordtrigger{label}{trigger code}{normal}

    -

    +

    to determine whether the \rgls-like command should behave like its \gls counterpart (⟨normal⟩) or whether it should instead use ⟨trigger code⟩. -

    This command checks if the

    This command checks if the recordcount attribute is set. If not is just does + id="dx1-84019"> attribute is set. If not is just does ⟨normal⟩, otherwise it tests if -



    \glsxtrrecordtriggervalue{label}

    -

    +

    is greater than the value given in the recordcount attribute for that entry’s category. + id="dx1-84021"> attribute for that entry’s category. If true, this does ⟨normal⟩ otherwise it does ⟨trigger code⟩. The default definition of the @@ -21003,90 +24945,90 @@ trigger value command is:

    -
    +   
     \newcommand*{\glsxtrrecordtriggervalue}[1]{%
      \GlsXtrTotalRecordCount{#1}%
     }
     
    -

    The ⟨

    The ⟨trigger code⟩ part writes a record with the format set to set to glstriggerrecordformat (which bib2gls v1.1+ recognises as a special type of ignored location format) and does ⟨trigger format⟩. Then it unsets the first use flag. Note that it doesn’t implement the post-link hook. This ensures that the record count is correct on the next run. -

    The ⟨

    The ⟨trigger format⟩ depends on the \rgls-like command used and will be one of the following: -



    \rglsformat{label}{insert}

    -

    -


    +


    \rglsplformat{label}{insert}

    -

    -


    +


    \rGlsformat{label}{insert}

    -

    -


    +


    \rGlsplformat{label}{insert}

    -

    -


    +


    \rGLSformat{label}{insert}

    -

    -


    +


    \rGLSplformat{label}{insert}

    -

    +

    These all behave much like their \cglsformat counterparts. If the entry’s regular + id="dx1-84031"> attribute is set or if the entry doesn’t have a long form, the first or first plural is used, otherwise the long or long plural form is used. -

    You can use -


    You can use +


    \glsxtrenablerecordcount

    -

    +

    to redefine \gls, \glspl, \rGls, class="cmtt-10">\rGlspl, \rGLS, \rGLSpl, respectively, for convenience. -

    If you don’t want the entries that use ⟨

    If you don’t want the entries that use ⟨trigger code⟩ to appear in the glossary, you need to use the resource option trigger-type to assign them to another glossary. @@ -21110,7 +25052,7 @@ For example:

    -
    +   
     \documentclass{article}
     \usepackage[record]{glossaries-extra}
     \newignoredglossary{ignored}
    @@ -21127,7 +25069,7 @@ For example:
     \printunsrtglossaries
     \end{document}
     
    -

    In the above,

    In the above, stc and upa both only have one record, so they are assigned to the main one.

    -

    -

    Top

    10.

    +

    Top

    11. Miscellaneous New Commands

    -

    The

    The glossaries package provides \glsrefentry entry to cross-reference entries + id="dx1-85001"> entry to cross-reference entries when used with the entrycounter or or subentrycounter options. The options. The glossaries-extra package provides a supplementary command -



    \glsxtrpageref{label}

    -

    +

    that works in the same way except that it uses \pageref instead of instead of \ref. -

    You can copy an entry to another glossary using -


    . +

    You can copy an entry to another glossary using +


    \glsxtrcopytoglossary{entry-label}{glossary-type}

    -

    +

    This appends ⟨entry-label⟩ to the end of the internal list for the glossary given by ⟨glossary-type⟩. Be careful if you use the hyperref package as this may cause duplicate + id="dx1-85008"> package as this may cause duplicate hypertargets. You will need to change \glolinkprefix to another value or disable hyperlinks when you display the duplicate. Alternatively, use the new target key to + id="dx1-85009"> key to switch off the targets:

    -
    +   
     \printunsrtglossary[target=false]
     
    -

    -

    The

    +

    The glossaries package allows you to set preamble code for a given glossary type using \setglossarypreamble. This overrides any previous setting. With glossaries-extra (as from v1.12) you can instead append to the preamble using -



    \apptoglossarypreamble[type]{code}

    -

    +

    or prepend using -



    \pretoglossarypreamble[type]{code}

    -

    +

    -

    Top

    10.1

    Top

    11.1 Entry Fields

    -

    A field may now be used to store the name of a text-block command that takes a +

    A field may now be used to store the name of a text-block command that takes a single argument. The field is given by -



    \GlsXtrFmtField

    -

    +

    The default value is useri. Note that the value must be the control sequence name without the initial backslash. -

    For example: +

    For example:

    -
    +   
     \newcommand*{\mtx}[1]{\boldsymbol{#1}}
     \newcommand*{\mtxinv}[1]{\mtx{#1}\sp{-1}}
     \newglossaryentry{matrix}{%
    @@ -21262,11 +25204,11 @@ class="cmti-10">without the initial backslash.
        $\mtx{M}\mtxinv{M}=\glssymbol{identitymatrix}$}
     }
     
    -

    -

    There are two commands provided that allow you to apply the command to an +

    +

    There are two commands provided that allow you to apply the command to an argument: -



    \glsxtrfmt[options]{label}{text}

    -

    +

    This effectively does

    cs name⟩ is the control sequence name supplied in must be defined to take a single required argument. Although it effectively acts like \glslink it misses out the post-link hook. -

    The default ⟨

    The default ⟨default-options⟩ are given by -



    \GlsXtrFmtDefaultOptions

    -

    +

    This is defined as noindex but may be redefined as appropriate. Note that the replacement text of \GlsXtrFmtDefaultOptions is prepended to the optional argument of \glslink. -

    As from version 1.23, there’s also a starred version of this command that has a +

    As from version 1.23, there’s also a starred version of this command that has a final optional argument: -



    \glsxtrfmt*[options]{text}[insert]

    -

    +

    Both the starred and unstarred versions use: -



    \glsxtrfmtdisplay{cs name}{text}{insert}

    -

    +

    within the link text. In the case of the unstarred version ⟨insert⟩ will be empty. It will also be empty if the final option argument is missing from the starred form. If the @@ -21352,7 +25294,7 @@ warning if undefaction=warn). There won’t be a warning or error if the entry is + id="dx1-86006">). There won’t be a warning or error if the entry is defined by the given field is missing. In either case, (the entry is undefined or the field is missing) ⟨cs name⟩ will be -

    +   
     \newcommand{\glsxtrfmtdisplay}[3]{\csuse{#1}{#2}#3}
     
    -

    which puts ⟨

    which puts ⟨text⟩ inside the argument of the control sequence and ⟨insert⟩ outside it (but it will still be inside the link text). -

    Remember that nested links cause a problem so avoid using commands like

    Remember that nested links cause a problem so avoid using commands like \gls or \glsxtrfmt within ⟨text⟩.
    -

    -

    For example: +

    +

    For example:

    -
    +   
     \[
       \glsxtrfmt{matrix}{A}
       \glsxtrfmt{matrixinv}{A}
    @@ -21388,44 +25330,44 @@ class="cmti-10">text⟩. 
      \glssymbol{identitymatrix} \]
    -

    If the default options are set to

    If the default options are set to noindex then \glsxtrfmt won’t index, but will create a hyperlink (if hyperref has been loaded). This can be changed so that it also + id="dx1-86007"> has been loaded). This can be changed so that it also suppresses the hyperlink:

    -
    +   
     \renewcommand{\GlsXtrFmtDefaultOptions}{hyper=false,noindex}
     
    -

    -

    Note that

    +

    Note that \glsxtrfmt won’t work with PDF bookmarks. Instead you can use -



    \glsxtrentryfmt{label}{text}

    -

    +

    If hyperref is used, this uses is used, this uses \texorpdfstring and will expand to -



    \glsxtrpdfentryfmt{label}{text}

    -

    +

    within the PDF bookmarks, but in the document it will do ⟨cs{text⟩ otherwise. The PDF bookmark version simply does ⟨text⟩. It may be redefined, but remember that it needs to expand fully. -

    The

    The glossaries package provides \glsaddstoragekey to add new keys. This command will cause an error if the key has already been defined. The glossaries-extra package provides a supplementary command that will only define the key if it doesn’t already exist: -



    \glsxtrprovidestoragekey{key}{default}{cs}

    -

    +

    If the key has already been defined, it will still provide the command given in the third argument ⟨cs⟩ (if it hasn’t already been defined). Unlike cs⟩ may be left empty if you’re happy to just use \glsfieldfetch to fetch the value of this new key. -

    You can test if a key has been provided with: -


    You can test if a key has been provided with: +


    \glsxtrifkeydefined{key}{true}{false}

    -

    +

    This tests if ⟨key⟩ is available for use in the ⟨key⟩= list in the second argument of @@ -21480,20 +25422,20 @@ class="cmtt-10">\newglossaryentry (or the optional argument of commands l class="cmtt-10">\newabbreviation). The corresponding field may not have been set for any of the entries if no default was provided. -

    There are now commands provided to set individual fields. Note that +

    There are now commands provided to set individual fields. Note that these only change the specified field, not any related values. For example, changing the value of the text field won’t update the field won’t update the plural field. There are also + id="dx1-86014"> field. There are also some fields that should really only be set when entries are defined (such as the parent field). Unexpected results may occur if they are subsequently + id="dx1-86015"> field). Unexpected results may occur if they are subsequently changed. -



    \GlsXtrSetField{label}{field}{value}

    -

    +

    Sets the field given by ⟨field⟩ to ⟨value⟩ for the entry given by ⟨\newglossaryentry. If a field without a corresponding key is assigned a value, the key remains undefined. This command is robust. -

    \GlsXtrSetField uses -



    \glsxtrsetfieldifexists{label}{field}{code}

    -

    +

    where ⟨label⟩ is the entry label and ⟨code⟩ is the assignment code. -

    This command just uses

    This command just uses \glsdoifexists{label}{undefaction=warn. You can redefine + id="dx1-86019">. You can redefine \glsxtrsetfieldifexists to simply do ⟨code⟩ if you want to skip the existence check. Alternatively you can instead use -



    \glsxtrdeffield{label}{{replacement text}

    -

    +

    This simply uses etoolbox’s ’s \csdef without any checks. This command isn’t robust. There is also a version that uses \protected@csedef instead:10.1 -


    11.1 +


    \glsxtredeffield{label}{{replacement text}

    -

    -

    The following command was added to

    +

    The following command was added to glossaries-extra v1.47 primarily for the convenience of bib2gls: -



    \glsxtrapptocsvfield{label}{field}{value}

    -

    +

    There’s no check for the existence of either the entry or the field. If the entry identified by ⟨label⟩ has the given field set then this command will append a comma @@ -21611,8 +25553,8 @@ class="cmti-10">value⟩. This uses \csdef or \csappto so the effect can be localised. -



    \gGlsXtrSetField{label}{field}{value}

    -

    +

    As \GlsXtrSetField but globally. -



    \eGlsXtrSetField{label}{field}{value}

    -

    +

    As \GlsXtrSetField but uses protected expansion. -



    \xGlsXtrSetField{label}{field}{value}

    -

    +

    As \gGlsXtrSetField but uses protected expansion. -



    \GlsXtrLetField{label}{field}{cs}

    -

    +

    Sets the field given by ⟨field⟩ to the replacement text of ⟨cs⟩ for the entry given by ⟨label⟩ (using \let). -



    \csGlsXtrLetField{label}{field}{cs name}

    -

    +

    As \GlsXtrLetField but the control sequence name is supplied instead. -



    \GlsXtrLetFieldToField{label-1}{}{field-2}

    -

    +

    Sets the field given by ⟨field-1⟩ for the entry given by ⟨label-1⟩ to the field given by @@ -21708,14 +25650,14 @@ class="cmti-10">code⟩} is still used, as for \GlsXtrSetField. -

    The

    The glossaries package provides \ifglshasfield to determine if a field has been + id="dx1-86032"> to determine if a field has been set. The glossaries-extra package provides a simpler version: -



    \glsxtrifhasfield{field}{true}{false}

    -

    +

    (New to v1.19.) Note that in this case the ⟨field⟩ must be the internal field label (for @@ -21742,16 +25684,16 @@ class="cmti-10">true⟩ part is done otherwise it does ⟨false⟩. Within ⟨true⟩ you may use -



    \glscurrentfieldvalue

    -

    +

    to access the field value. This command includes grouping which scopes the ⟨true⟩ and ⟨false⟩ parts. The starred version -



    \glsxtrifhasfield*{field}{true}{false}

    -

    +

    omits the implicit grouping. -

    Be careful of keys that use

    Be careful of keys that use \relax as the default value (such as the symbol). Use + id="dx1-86036">). Use \ifglshassymbol instead.
    -

    -

    There is also a version that simply uses

    +

    There is also a version that simply uses \ifcsundef. It doesn’t save the field value, but can be used if you only need to check if the field is defined without accessing it: -



    \GlsXtrIfFieldUndef{field}{true}{false}

    -

    -

    There’s a difference between an undefined field and an unset field. An undefined +

    +

    There’s a difference between an undefined field and an unset field. An undefined field hasn’t been assigned any value (no associated internal control sequence has been defined). If a defined field has been defined to empty, then it’s considered unset. \GlsXtrIfFieldUndef for fields that can only be defined through commands like \GlsXtrSetField.
    -

    +

    -

    You can test if a field value equals a string using -


    You can test if a field value equals a string using +


    \GlsXtrIfFieldEqStr{field}{true}{false}

    -

    +

    If the entry exists and has the given field set to the given text then this does ⟨true⟩ otherwise it does ⟨\glscurrentfieldvalue with ⟨text⟩ using etoolbox’s ’s \ifdefstring. Version 1.39 introduced a starred form of this command, which uses the starred form of \glsxtrifhasfield. -

    As from version 1.31, there’s a similar command: -


    As from version 1.31, there’s a similar command: +


    \GlsXtrIfFieldEqXpStr{field}{true}{false}

    -

    +

    This is like \GlsXtrIfFieldEqStr but first (protected) fully expands ⟨text⟩ (but not the field value). If you want to compare the (protected) full expansion of both the field value and ⟨text⟩ use: -



    \GlsXtrIfXpFieldEqXpStr{field}{}{false}

    -

    +

    Again, version 1.39 introduced a starred form of these commands, which use the starred form of \glsxtrifhasfield. -

    As from v1.42, you can test if the field value is contained in a comma-separated +

    As from v1.42, you can test if the field value is contained in a comma-separated list with: -



    \GlsXtrIfFieldValueInCsvList{label}{}{false}

    -

    +

    The unstarred version uses the unstarred form of \glsxtrifhasfield (which adds grouping so ⟨false⟩ is done. This internally uses \DTLifinlist provided by datatool-base which performs + id="dx1-86043"> which performs a one level expansion on ⟨list⟩. See the datatool documentation for further + id="dx1-86044"> documentation for further details. -

    This command is intended for fields that contain a label. For example, to test if +

    This command is intended for fields that contain a label. For example, to test if the category is one of a set of labels:

    -
    +   
     \GlsXtrIfFieldValueInCsvList{examplelabel}{category}%
      {abbreviation,acronym}% set of labels
      {true part}{false part}
     
    -

    -

    As from v1.31, if a field represents a numeric (integer) value, you can use the +

    +

    As from v1.31, if a field represents a numeric (integer) value, you can use the following two numeric tests. If the field is set, it must expand to an integer. You may use \glscurrentfieldvalue within ⟨\glscurrentfieldvalue is set accordingly. As from version 1.39, these numeric tests have starred versions. The unstarred versions add implicit grouping. The starred versions don’t. -

    As from v1.47 there’s a similar command: -


    As from v1.47 there’s a similar command: +


    \GlsXtrIfValueInFieldCsvList{label}{}{false}

    -

    +

    This is essentially the opposite situation where the list is stored in the given field and ⟨value⟩ is the element to find in the list. Again the unstarred versions add implicit grouping. Note that the ⟨value⟩ isn’t expanded. If you need it to be fully expanded before searching for it use: -



    \xGlsXtrIfValueInFieldCsvList{label}{}{false}

    -

    +

    (To add a value to a field containing a comma-separated list, use \glsxtrapptocsvfield. To iterate over the field use \glsxtrforcsvfield.) -

    To test if the value is non-zero: -


    To test if the value is non-zero: +


    \GlsXtrIfFieldNonZero{field}{true}{false}

    -

    +

    Alternatively, you can test if the field expands to a specific number using: -



    \GlsXtrIfFieldEqNum{field}{true}{false}

    -

    +

    This does ⟨true⟩ if the field value equals ⟨n⟩ (using \ifnum for the comparison) otherwise it does ⟨false⟩. For a more general numeric comparison you can use: -



    \GlsXtrIfFieldCmpNum{field}{}{false}

    -

    +

    where ⟨comparison⟩ is one of =, < or >. -

    The

    The glossaries package provides \glsfieldfetch which can be used to fetch the + id="dx1-86050"> which can be used to fetch the value of the given field and store it in a control sequence. The glossaries-extra package provides another way of accessing the field value: -



    \glsxtrusefield{entry-label}{}

    -

    +

    This works in the same way as commands like \glsentrytext but the field label is specified in the first argument. Note that the ⟨field-label⟩ corresponds to the internal field tag, which isn’t always the same as the key name. See Table 4.1 of the glossaries + id="dx1-86052"> manual. No error occurs if the entry or field haven’t been defined. This command is not robust. -

    There is also a version that converts the first letter to uppercase (analogous to +

    There is also a version that converts the first letter to uppercase (analogous to \Glsentrytext): -



    \Glsxtrusefield{entry-label}{field-label}

    -

    +

    and, as from v1.37, a command that converts the entire value to upper case: -



    \GLSxtrusefield{entry-label}{field-label}

    -

    -

    If you want to use a field to store a list that can be used as an

    +

    If you want to use a field to store a list that can be used as an etoolbox internal + id="dx1-86055"> internal list, you can use the following command that adds an item to the field using etoolbox’s ’s \listcsadd: -



    \glsxtrfieldlistadd{label}{field}{item}

    -

    +

    where ⟨label⟩ is the entry’s label, ⟨field⟩ is the entry’s field and ⟨\listgadd, \listeadd and \listxadd: -



    \glsxtrfieldlistgadd{label}{field}{item}

    -

    -


    +


    \glsxtrfieldlisteadd{label}{field}{item}

    -

    -


    +


    \glsxtrfieldlistxadd{label}{field}{item}

    -

    +

    You can then iterate over the list using: -



    \glsxtrfielddolistloop{label}{field}

    -

    +

    or -



    \glsxtrfieldforlistloop{label}{field}{handler}

    -

    +

    that internally use \dolistcsloop and \forlistloop, respectively. You can use \listbreak to break out of the loop (see the to break out of the loop (see the etoolbox manual for further + id="dx1-86064"> manual for further details). -

    For fields that contain comma-separated lists use

    For fields that contain comma-separated lists use \glsxtrforcsvfield instead. -

    New to v1.42: -


    New to v1.42: +


    \glsxtrfieldformatlist{label}{field}

    -

    +

    Like datatool-base’s ’s \DTLformatlist, this iterates over an (, this iterates over an (etoolbox) internal list and + id="dx1-86068">) internal list and formats each item. Uses all the same helper commands as \DTLformatlist (the same @@ -22196,10 +26138,10 @@ class="cmtt-10">\DTLformatlist (the same list handler macro is used). Unlike the datatool-base command, this command has no + id="dx1-86069"> command, this command has no starred version. Grouping is automatically applied. -

    For example, with

    For example, with bib2gls’s save-child-count resource option: @@ -22207,7 +26149,7 @@ class="cmtt-10">save-child-count resource option:

    -
    +   
     \newcommand*{\listchildren}[1]{%
       \GlsXtrIfFieldNonZero{childcount}{#1}%
       {child count: \glscurrentfieldvalue; children:
    @@ -22217,13 +26159,13 @@ class="cmtt-10">save-child-count resource option:
       {no children}%
     }
     
    -

    For fields that contain a comma-separated list use

    For fields that contain a comma-separated list use \glsxtrfieldformatcsvlist instead. -

    There are also commands that use

    There are also commands that use \ifinlistcs: -



    \glsxtrfieldifinlist{label}{true}{false}

    -

    +

    and \xifinlistcs -



    \glsxtrfieldxifinlist{label}{true}{false}

    -

    -

    See the

    +

    See the etoolbox’s user manual for further details of these commands, in particular + id="dx1-86073">’s user manual for further details of these commands, in particular the limitations of \ifinlist. -

    If the field has a comma-separated list value instead, you can iterate over it +

    If the field has a comma-separated list value instead, you can iterate over it using: -



    \glsxtrforcsvfield{label}{field}{handler}

    -

    +

    where again ⟨handler⟩ is a control sequence that takes a single argument. Unlike the etoolbox loops, this doesn’t ignore empty elements nor does it discard leading / + id="dx1-86075"> loops, this doesn’t ignore empty elements nor does it discard leading / trailing spaces. Internally it uses \@for (modified by xfor which is automatically + id="dx1-86076"> which is automatically loaded by glossaries). The ). The xfor package modifies the behaviour of package modifies the behaviour of \@for to allow the loop to be broken prematurely using \@endfortrue. The \glsxtrforcsvfield command locally defines a user level command: -



    \glsxtrendfor

    -

    +

    which is just a synonym for \@endfortrue. -

    The loop is performed within the true part of

    The loop is performed within the true part of \glsxtrifhasfield so scoping is automatically applied. If you don’t want scoping use \glsxtrforcsvfield* which will use \glsxtrifhasfield* instead but take care if you nest these starred commands as unexpected results can occur without the scoping. -

    New to v1.42: -


    New to v1.42: +


    \glsxtrfieldformatcsvlist{label}{field}

    -

    +

    Like \glsxtrfieldformatcsvlist but for fields that contain comma-separated lists. -

    As from version 1.32, if the field given by -


    As from version 1.32, if the field given by +


    \GlsXtrForeignTextField

    -

    +

    (which defaults to userii) contains a locale tag, then -



    \GlsXtrForeignText{entry label}{text}

    -

    +

    can be used to encapsulate ⟨text⟩ in \foreignlanguage{} where ⟨dialect⟩ is obtained from the locale tag through tracklang’s ’s \GetTrackedDialectFromLanguageTag + id="dx1-86084"> command. You need at least tracklang v1.3.6 for this to work properly. The ⟨ v1.3.6 for this to work properly. The ⟨dialect⟩ must be one that’s tracked (which typically means that babel or or polyglossia has been + id="dx1-86087"> has been loaded with the appropriate setting for that language). If \foreignlanguage hasn’t been defined, this just does ⟨text⟩. For example:

    -
    +   
     \documentclass{article}
     \usepackage[main=british,brazilian,ngerman]{babel}
     \usepackage{glossaries-extra}
    @@ -22388,29 +26330,29 @@ class="cmti-10">text⟩. For example:
     \gls{abnt}, \gls{din}.
     \end{document}
     
    -

    -

    When using the

    +

    When using the record option, in addition to recording the usual location, you can + id="dx1-86088"> option, in addition to recording the usual location, you can also record the current value of another counter at the same time using the preamble-only command: -



    \GlsXtrRecordCounter{counter name}

    -

    +

    For example:

    -
    +   
     \usepackage[record]{glossaries-extra}
     \GlsXtrRecordCounter{section}
     
    -

    Each time an entry is referenced with commands like

    Each time an entry is referenced with commands like \gls or \glstext, the \gls{bird} is used in section 1.2 th -

    +   
     \glsxtrfieldlistgadd{bird}{record.section}{1.2}
     
    -

    Note that there’s no key corresponding to this new

    Note that there’s no key corresponding to this new record.section field, but its value can be accessed with \glsxtrfielduse or the list can be iterated over with \glsxtrfielddolistloop etc. -

    +

    -

    Top

    10.2

    Top

    11.2 Display All Entries Without Sorting or Indexing

    -



    \printunsrtglossary[options]

    -

    +

    This behaves like \printnoidxglossary but never sorts the entries and always lists all the defined entries for the given glossary (and doesn’t require \makenoidxglossaries). If you want to use one of the tabular-like styles with + id="dx1-87002">-like styles with \printunsrtglossary, make sure you load glossaries-extra-stylemods which modifies + id="dx1-87004"> which modifies the definition of \glsgroupskip to avoid the “Incomplete \iftrue” error that may otherwise occur. -

    There’s also a starred form -


    There’s also a starred form +


    \printunsrtglossary*[options]{code}

    -

    +

    which is equivalent to

    \endgroup class="cmtt-10">\glossarypreamble, the supplied ⟨code⟩ is done before the glossary header. -

    This means you now have the option to simply list all entries on the first +

    This means you now have the option to simply list all entries on the first LaTeX run without the need for a post-processor, however there will be no number list in this case, as that has to be set by a post-processor such as bib2gls (see §9 bib2gls: Managing Reference Databases). -

    No attempt is made to gather hierarchical elements. If child entries aren’t defined +class="cmbx-10">10 bib2gls: Managing Reference Databases). +

    No attempt is made to gather hierarchical elements. If child entries aren’t defined immediately after their parent entry, they won’t be together in the glossary when using \printunsrtglossary.
    -

    +

    -

    There’s a difference in behaviour depending on whether or not the

    There’s a difference in behaviour depending on whether or not the group key is + id="dx1-87008"> key is defined. If not defined (default), the group label will be formed from the first letter of the name field. The corresponding group title will be obtained as discussed in + id="dx1-87009"> field. The corresponding group title will be obtained as discussed in §2.11 Glossary Style Modifications. This can lead to an odd effect if you are using a style that separates letter groups when the ordering isn’t alphabetical. -

    If the

    If the group key is defined (which it is with the key is defined (which it is with the record option) then the group label + id="dx1-87011"> option) then the group label will be obtained from the value of that field. If the field is empty, no grouping is performed, even if the style supports it. (That is, there won’t be a header or a vertical separation.) If the group field is non-empty, then the corresponding title is obtained + id="dx1-87012"> field is non-empty, then the corresponding title is obtained as described earlier. -

    In either case, if the

    In either case, if the groups option is set to false then no group formation will be + id="dx1-87013"> option is set to false then no group formation will be performed. -

    If you want to use a different field for the group label, you can redefine -


    If you want to use a different field for the group label, you can redefine +


    \glsxtrgroupfield

    -

    +

    to the relevant internal field label, but the group key must still be defined (through the record option or with commands like option or with commands like \glsaddstoragekey) to ensure that \printunsrtglossary uses \glsxtrgroupfield. (This method is used by bib2gls for secondary entries, which have the group label stored in the secondarygroup internal field.) -

    If you have any entries with the

    If you have any entries with the see key set, you will need the key set, you will need the glossaries package + id="dx1-87019"> package option seenoindex=ignore or or seenoindex=warn to prevent an error occurring from the + id="dx1-87021"> to prevent an error occurring from the automated \glssee normally triggered by this key. The record=only package option + id="dx1-87022"> package option will automatically deal with this. -

    For example: +

    For example:

    -
    +   
     \documentclass{article}
     \usepackage{glossaries-extra}
     \newglossaryentry{zebra}{name={zebra},description={stripy animal}}
    @@ -22629,131 +26570,131 @@ will automatically deal with this.
     \printunsrtglossaries
     \end{document}
     
    -

    In the above, zebra will be listed before ant as it was defined first. -

    If you allow document definitions with the

    In the above, zebra will be listed before ant as it was defined first. +

    If you allow document definitions with the docdefs option, the document will + id="dx1-87023"> option, the document will require a second LaTeX run if the entries are defined after \printunsrtglossary. -

    The optional argument is as for

    The optional argument is as for \printnoidxglossary (except for the sort key, + id="dx1-87024"> key, which isn’t available). -

    All glossaries may be displayed in the order of their definition using: -


    All glossaries may be displayed in the order of their definition using: +


    \printunsrtglossaries

    -

    +

    which is analogous to \printnoidxglossaries. This just iterates over all defined glossaries (that aren’t on the ignored list) and does \printunsrtglossary[type=⟨type⟩]. -

    +

    -

    Top

    10.2.1

    Top

    11.2.1 Hooks

    -

    To avoid complications caused by

    To avoid complications caused by tabular-like glossary styles, -like glossary styles, \printunsrtglossary iterates over all entries in the selected glossary and appends the appropriate code to an internal command. Once the construction of this command is complete, then it’s performed to display the glossary. This puts the loop outside the style code. For convenience, there’s a hook used within the loop: -



    \printunsrtglossaryentryprocesshook{label}

    -

    +

    This hook should not display any content, but may be used to perform calculations. For example, to calculate widths. Within this hook you can use: -



    \printunsrtglossaryskipentry

    -

    +

    to skip the current entry. This will prevent the entry from being added to the internal command. -

    There’s another hook immediately before the internal command containing the +

    There’s another hook immediately before the internal command containing the glossary code is performed: -



    \printunsrtglossarypredoglossary

    -

    -

    The internal command uses -


    +

    The internal command uses +


    \printunsrtglossaryhandler{label}

    -

    +

    to display each item in the list, where ⟨label⟩ is the current label. -

    By default the handler just does -


    By default the handler just does +


    \glsxtrunsrtdo{label}

    -

    +

    which determines whether to use \glossentry or \subglossentry and checks the location and and loclist fields for the fields for the number list. If you want to use a different field to be used instead of location then redefine: -


    then redefine: +


    \GlsXtrLocationField

    -

    +

    to the internal name of the desired field. For example:

    -
    +   
     \renewcommand{\GlsXtrLocationField}{primarylocation}
     
    -

    -

    Note that if the given location field is undefined or unset, the handler will +

    +

    Note that if the given location field is undefined or unset, the handler will fallback on the loclist field.
    -

    + id="dx1-88013"> field.

    +

    You can instruct bib2gls to omit setting the loclist field with the resource option + id="dx1-88015"> field with the resource option --save-loclist=false to prevent it from being used as a fallback. -

    +

    -

    Top

    10.2.2

    Top

    11.2.2 Filtering

    -

    You can redefine the handler used by

    You can redefine the handler used by \printunsrtglossary if required. For example, you may want to filter entries according to the category label. You can test if a label is contained in a comma-separated list of labels using: -



    \glsxtriflabelinlist{label}{true}{false}

    -

    +

    The ⟨label⟩ and ⟨label list⟩ will be fully expanded. -

    If you redefine the handler to exclude entries, you may end up with an empty +

    If you redefine the handler to exclude entries, you may end up with an empty glossary. This could cause a problem for the list-based styles.
    -

    -

    For example, if the preamble includes: +

    +

    For example, if the preamble includes:

    -
    +   
     \usepackage[record,style=index]{glossaries-extra}
     \GlsXtrRecordCounter{section}
     
    -

    then you can print the glossary but first redefine the handler to only select entries +

    then you can print the glossary but first redefine the handler to only select entries that include the current section number in the record.section field:

    -
    +   
     \renewcommand{\printunsrtglossaryhandler}[1]{%
       \glsxtrfieldxifinlist{#1}{record.section}{\thesection}
       {\glsxtrunsrtdo{#1}}%
       {}%
     }
     
    -

    -

    Alternatively you can use the starred form of

    +

    Alternatively you can use the starred form of \printunsrtglossary which will localise the change:

    -
    +   
     \printunsrtglossary*{%
       \renewcommand{\printunsrtglossaryhandler}[1]{%
         \glsxtrfieldxifinlist{#1}{record.section}{\thesection}
    @@ -22810,10 +26751,10 @@ localise the change:
       }%
     }
     
    -

    -

    If you are using the

    +

    If you are using the hyperref package and want to display the same glossary more + id="dx1-89002"> package and want to display the same glossary more than once, you can also add a temporary redefinition of \glolinkprefix to avoid duplicate hypertarget names. For example: @@ -22821,7 +26762,7 @@ duplicate hypertarget names. For example:

    -
    +   
     \printunsrtglossary*{%
       \renewcommand{\printunsrtglossaryhandler}[1]{%
         \glsxtrfieldxifinlist{#1}{record.section}{\thesection}
    @@ -22837,7 +26778,7 @@ duplicate hypertarget names. For example:
       }%
     }
     
    -

    Note that this will cause a problem if your descriptions contain commands like

    Note that this will cause a problem if your descriptions contain commands like \gls that need to link an entry that doesn’t appear in the summary. In this case, it’s a better approach to use: @@ -22845,7 +26786,7 @@ better approach to use:

    -
    +   
     \printunsrtglossary*{%
       \renewcommand{\printunsrtglossaryhandler}[1]{%
         \glsxtrfieldxifinlist{#1}{record.section}{\thesection}
    @@ -22861,14 +26802,14 @@ better approach to use:
       }%
     }
     
    -

    -

    If it’s a short summary at the start of a section, you might also want to suppress +

    +

    If it’s a short summary at the start of a section, you might also want to suppress the glossary header and add some vertical space afterwards:

    -
    +   
     \printunsrtglossary*{%
       \renewcommand{\printunsrtglossaryhandler}[1]{%
         \glsxtrfieldxifinlist{#1}{record.section}{\thesection}
    @@ -22886,56 +26827,56 @@ the glossary header and add some vertical space afterwards:
       \appto\glossarypostamble{\glspar\medskip\glspar}%
     }
     
    -

    -

    There’s a shortcut command that essentially does this: -


    +

    There’s a shortcut command that essentially does this: +


    \printunsrtglossaryunit[options]{counter name}

    -

    +

    The above example can simply be replaced with:

    -
    +   
     \printunsrtglossaryunit{section}
     
    -

    -

    This shortcut command is actually defined to use

    +

    This shortcut command is actually defined to use \printunsrtglossary* with -



    \printunsrtglossaryunitsetup{counter name}

    -

    +

    so if you want to just make some minor modifications you can do

    -
    +   
     \printunsrtglossary*{\printunsrtglossaryunitsetup{section}%
       \renewcommand*{\glossarysection}[2][]{\subsection*{Summary}}%
     }
     
    -

    which will start the list with a subsection header with the title “Summary” +

    which will start the list with a subsection header with the title “Summary” (overriding the glossary’s title). -

    Note that this shortcut command is only available with the

    Note that this shortcut command is only available with the record (or + id="dx1-89005"> (or record=hybrid) package option. -

    This temporary change in the hypertarget prefix means you need to explicitly use + id="dx1-89006">) package option. +

    This temporary change in the hypertarget prefix means you need to explicitly use \hyperlink to create a link to it as commands like \gls will try to link to the target @@ -22947,34 +26888,34 @@ the front or back matter) which can be the target for all glossary references an just use \printunsrtglossaryunit for a quick summary at the start of a section etc. -

    +

    -

    Top

    10.3

    Top

    11.3 Partial Glossaries

    -

    It’s possible that you may require greater customisation over the way the glossary is +

    It’s possible that you may require greater customisation over the way the glossary is displayed that can’t be simply achieved with the hooks or glossary styles. This section describes a command and environment provided to assist with this, but note that they aren’t compatible with tabular-like glossary styles, such as long or or super, + id="dx1-90002">, due to their complexity and internal scoping that interferes with alignment. You will also need to take care with list styles (provided in the glossary-list + id="dx1-90003"> package). -

    To get a better understanding of how this works, it’s useful to consider how a +

    To get a better understanding of how this works, it’s useful to consider how a glossary with makeindex works. Here’s a simple example document:

    -
    +   
     \documentclass{article}
     \usepackage{glossaries}
     \makeglossaries
    @@ -22987,58 +26928,58 @@ class="cmtt-10">makeindex works. Here’s a simple example docume
     \printglossary
     \end{document}
     
    -

    When the document is built,

    When the document is built, makeindex creates a file that contains:

    \glossarysection[\glossarytoctitle]{\glossarytitle}\glossarypreamble + id="dx1-90009">
    \begin{theglossary}\glossaryheader + id="dx1-90010">
    \glsgroupheading{B}\relax \glsresetentrylist + id="dx1-90012">
    \glossentry{broccoli}{location list}\glsgroupskip + id="dx1-90014">
    \glsgroupheading{C}\relax \glsresetentrylist + id="dx1-90016">
    \glossentry{cabbage}{location list}%
    \end{theglossary}\glossarypostamble + id="dx1-90018">
    The \printglossary command defines the commands shown above after it’s detected the glossary type, the title and style. It then inputs the file. -

    The

    The \printunsrtglossary command performs the same preliminary setup but there’s no file to input. Instead it then does the section heading (\glossarysection) @@ -23048,7 +26989,7 @@ class="cmtt-10">\glossarypreamble) and constructs a control sequence that class="cmtt-10">\begin{theglossary} ⟨content\end{theglossary}. -

    The letter group markup (

    The letter group markup (\glsgroupheading and \glsgroupskip) is inserted whenever the group label changes between top-level entries. In this case, ⟨

    \glossentry{broccoli}{location list{broccoli}
    This internal handler uses \printunsrtglossaryhandler to determine the required + id="dx1-90020"> to determine the required information (location list, hierarchical level) that’s needed to typeset the entry (using \glossentry or \subglossentry). -



    \begin{printunsrtglossarywrap}[options]
    content\end{printunsrtglossarywrap}

    -

    +

    The printunsrtglossarywrap environment provides a wrapper in which you can + id="dx1-90021"> environment provides a wrapper in which you can place the actual glossary code. The optional argument is the same as for \printunsrtglossary, but note that in this case the type key simply provides the + id="dx1-90023"> key simply provides the glossary title and doesn’t identify the content. -

    This environment essentially does:

    +

    This environment essentially does:

    initial setup
    \glossarysection[\glossarytoctitle]{\glossarytitle}\glossarypreamble + id="dx1-90027">
    \begin{theglossary}\glossaryheader\glsresetentrylist
    content⟩ @@ -23132,12 +27073,12 @@ class="cmtt-10">\printunsrtglossary
    . Most importantly, ⟨initial setup⟩ sets the current glossary style, which determines the definition of theglossary, , \glossentry and \subglossentry. -

    Whilst it is possible to explicitly use the commands that create letter group +

    Whilst it is possible to explicitly use the commands that create letter group headings and the handler within ⟨content⟩, it would be quite laborious and prone to error to do so for anything other than a very short list. This can be illustrated with @@ -23146,7 +27087,7 @@ the following silly example:

    -
    +   
     \begin{printunsrtglossarywrap}[style=indexgroup]%
     \glsgroupheading{W}%
     \gdef\glscurrententrylabel{cabbage}%
    @@ -23157,15 +27098,15 @@ the following silly example:
     \printunsrtglossaryhandler\glscurrententrylabel
     \end{printunsrtglossarywrap}
     
    -

    This trivial example will work with a tabular-like style, such as

    This trivial example will work with a tabular-like style, such as long (although the + id="dx1-90031"> (although the group headings will be ignored). A more practical example that uses a loop within ⟨content⟩ won’t. -



    \printunsrtinnerglossary[options]{pre-code}{post-code}

    -

    +

    This command is provided for use within printunsrtglossarywrap. The optional + id="dx1-90033">. The optional argument ⟨options⟩ is similar to \printunsrtglossary but the following keys are unavailable: title, , toctitle, , style, , numberedsection and and label. -

    This will do:

    + id="dx1-90039">. +

    This will do:

     \begingroup @@ -23219,7 +27160,7 @@ class="cmtt-10"> \endgroup
    where ⟨initial setup⟩ processes the options and assigns \currentglossary, ⟨, ⟨pre-code⟩ is some preliminary code and ⟨post-code⟩ is some final code before the end of the scoping. @@ -23228,35 +27169,35 @@ class="cmti-10">content⟩ is the sequence of code that \printunsrtglossary would normally insert within the theglossary environment. -

    For example: + id="dx1-90041"> environment. +

    For example:

    -
    +   
     \begin{printunsrtglossarywrap}[style=indexgroup]
     \printunsrtinnerglossary[type=main]{}{}
     \end{printunsrtglossarywrap}
     
    -

    This produces a result very similar to that obtained with just: +

    This produces a result very similar to that obtained with just:

    -
    +   
     \printunsrtglossary[style=indexgroup,type=main]
     
    -

    The first case is unsuitable for use with a tabular-style. It will also cause a +

    The first case is unsuitable for use with a tabular-style. It will also cause a problem with a list style when used with bib2gls (where the inner content will be empty on the first LaTeX run which will cause a missing \item error). -

    This partial glossary command is more useful when you need to apply filtering +

    This partial glossary command is more useful when you need to apply filtering (which can be set up in the ⟨pre-code⟩ argument as in \printunsrtglossary*) or if @@ -23265,7 +27206,7 @@ you have multiple glossaries. For example:

    -
    +   
     \begin{printunsrtglossarywrap}[style=list]
     \item[Animals]
     \printunsrtinnerglossary[type=animal]{}{}
    @@ -23275,17 +27216,17 @@ you have multiple glossaries. For example:
     \printunsrtinnerglossary[type=mineral]{}{}
     \end{printunsrtglossarywrap}
     
    -

    In this case, the

    In this case, the list style doesn’t cause a problem as there will be three instances of + id="dx1-90044"> style doesn’t cause a problem as there will be three instances of \item on the first LaTeX run. -

    Here’s another example: +

    Here’s another example:

    -
    +   
     \begin{printunsrtglossarywrap}[style=indexgroup]
     \glsgroupheading{animal}%
     \printunsrtinnerglossary[type=animal]{}{}
    @@ -23297,16 +27238,16 @@ class="cmtt-10">\item on the first LaTeX run.
     \printunsrtinnerglossary[type=mineral]{}{}
     \end{printunsrtglossarywrap}
     
    -

    Note that in both of the above cases, the inner glossaries have been arranged +

    Note that in both of the above cases, the inner glossaries have been arranged manually (animal, then vegetable and then mineral). -

    It’s also possible to use

    It’s also possible to use \printunsrtinnerglossary within the handler function used by \printunsrtglossary. The internal scoping within \printunsrtinnerglossary helps to reduce interference. -

    This is a rather more complicated example that requires

    This is a rather more complicated example that requires bib2gls. Suppose I have a file called topictitles.bib that contains:

    -
    +   
     @indexplural{animal}
     @indexplural{mineral}
     @indexplural{vegetable}
     
    -

    And also a file called

    And also a file called topics.bib that contains entries like:

    -
    +   
     @entry{zebra,
       name={zebra},
       description={striped African horse},
    @@ -23343,42 +27284,42 @@ class="cmtt-10">topics.bib that contains entries like:
       category={mineral}
     }
     
    -

    Note that the category labels in the second file match the entry labels in the first +

    Note that the category labels in the second file match the entry labels in the first file. -

    The simplest way of creating a hierarchical glossary from this data is to input +

    The simplest way of creating a hierarchical glossary from this data is to input both files and copy the category field to the field to the parent field: + id="dx1-90047"> field:

    -
    +   
     \GlsXtrLoadResources[src={topictitles,topics},
      replicate-fields={category=parent}]
     
    -

    The glossary can then simply be displayed with: +

    The glossary can then simply be displayed with:

    -
    +   
     \printunsrtglossary[style=indexgroup]
     
    -

    This will now be ordered: animal (followed by animal child entries), mineral +

    This will now be ordered: animal (followed by animal child entries), mineral (followed by mineral child entries), vegetable (followed by vegetable child entries). -

    Suppose (for some strange reason) that I now need the ordering to be vegetable, +

    Suppose (for some strange reason) that I now need the ordering to be vegetable, mineral, animal (that is, reverse alphabetical) but the child entries still need to be in the normal alphabetical order. -

    It’s not possible to use different sort methods for different hierarchical levels with +

    It’s not possible to use different sort methods for different hierarchical levels with bib2gls, but it is possible to simulate it. -

    Instead of making the entries within

    Instead of making the entries within topics.bib children of the entries defined in topictitles.bib, I’m now going to create separate glossaries for each @@ -23387,45 +27328,45 @@ type:

    -
    +   
     \newignoredglossary*{animal}
     \newignoredglossary*{mineral}
     \newignoredglossary*{vegetable}
     
    -

    The entries in

    The entries in topictitles.bib go in the default main glossary and are sorted in reverse:

    -
    +   
     \GlsXtrLoadResources[src=topictitles,type=main,selection=all,
      sort=en-GB-reverse]
     
    -

    Note that I’ve selected all entries in this example. It becomes more complicated with +

    Note that I’ve selected all entries in this example. It becomes more complicated with the default selection criteria. (See the sample-nested.tex example provided with bib2gls v2.3+.) -

    Now the entries in

    Now the entries in topics.bib are selected but the type field is set to the field is set to the category + id="dx1-90051"> field:

    -
    +   
     \GlsXtrLoadResources[src=topics,type={same as category},selection=all,
      sort=en-GB]
     
    -

    The aim here is to use

    The aim here is to use \printunsrtglossary to list all the entries in the main glossary (that is, all the topic titles) and use a handler that tests if there is a glossary that has the same label as the current entry label. If one exists, it’s then listed using @@ -23436,7 +27377,7 @@ appearance:

    -
    +   
     \newcommand{\nestedhandler}[1]{%
       \glsxtrunsrtdo{#1}%
       \ifglossaryexists*{#1}%
    @@ -23449,30 +27390,30 @@ appearance:
       \let\printunsrtglossaryhandler\nestedhandler
     }
     
    -

    -

    I’ve used

    +

    I’ve used \newignoredglossary* as I don’t need to specify a title for any of those glossaries nor do I need to use those glossaries with \printunsrtglossaries. With bib2gls v2.3+, I can omit the three \newignoredglossary* lines and use the --provide-glossaries switch which will make bib2gls automatically provide any unknown glossaries (with \provideignoredglossary) in the .glstex file. -

    +

    -

    Top

    10.4

    Top

    11.4 Standalone Entry Items

    -

    It may be that you don’t want a list but would rather display entry details +

    It may be that you don’t want a list but would rather display entry details throughout the document. You can simply do \glsentryname followed by \glsentrydesc. (Remember that if you don’t want a s href="#styopt.sort">sort=none to + id="dx1-91001"> to skip the construction of the sort field.) For example, in the preamble provide a + id="dx1-91002"> field.) For example, in the preamble provide a custom command:

    -
    +   
     \newcommand{\displayterm}[1]{%
      \par\medskip\par\noindent
      Definition: \glsentryname{#1}.\par
    @@ -23497,45 +27438,44 @@ custom command:
      \par\medskip
     }
     
    -

    define your entries +

    define your entries

    -
    +   
     \newglossaryentry{function}{name={function},
       description={a relation or expression involving variables}
     }
     
    -

    and then later in the text: +

    and then later in the text:

    -
    +   
     \displayterm{function}
     
    -

    -

    However, if may be that you want to use

    +

    However, if may be that you want to use hyperref and have commands like and have commands like \gls link back to the place where the term is described. Instead of using \glsentryname use -



    \glsxtrglossentry{label}

    -

    +

    where ⟨label⟩ is the entry’s label. -

    This is designed to behave much like the way the name is displayed in the +

    This is designed to behave much like the way the name is displayed in the glossary. It performs the following:

      -
    • -

      Defines Defines \glscurrententrylabel to the entry’s label. This is usually done at the start of the glossary style commands \glossentry and @@ -23544,9 +27484,8 @@ class="cmtt-10">\subglossentry and may be used by hooks, such as hooks. Here the definition is localised so that it’s only available for use in \glossentryname. -

    • -
    • -

      Defines +

    • Defines \currentglossary to the entry’s glossary type. This is usually done at the start of commands like \printglossary and may be used by style hooks. @@ -23555,39 +27494,33 @@ class="cmtt-10">\printglossary and may be used by style hooks. class="cmtt-10">\glsentryitem and \glssubentryitem. The value is obtained by fully expanding: -



      \GlsXtrStandaloneGlossaryType

      -

      +

      which defaults to the value of the type field for the current entry. + id="dx1-91006"> field for the current entry.

    • -
    • -

      Increments and display the entry counters if the Increments and display the entry counters if the entrycounter or or subentrycounter - package options are set. If the entry doesn’t have a parent, then this does -

      + id="dx1-91008"> + package options are set. If the entry doesn’t have a parent, then this + does
        -
      • -

        \glsentryitem{label}

      -

      otherwise it does (as from v1.31)

      - - - +class="cmtt-10">}
    +

    otherwise it does (as from v1.31)

      -
    • -

      \GlsXtrStandaloneSubEntryItem + id="dx1-91009"> {label} which defaults to \glssubentryitem{label} if the entry has - a parent but not a grandparent.

    -

    This reflects the behaviour of the predefined hierarchical styles. A bug in + a parent but not a grandparent. + + + +

    This reflects the behaviour of the predefined hierarchical styles. A bug in pre-version 1.31 used \glsentryitem for all child levels, which doesn’t match the hierarchical glossary styles. If you want to restore this behaviour, just @@ -23605,21 +27541,20 @@ class="cmtt-10">\glsentryitem for all child levels, which doesn’t m

    -
    +     
          \renewcommand*{\GlsXtrStandaloneSubEntryItem}[1]{\glssubentryitem{#1}}
     
    -

    +

    -
  • -

    Sets the hyper-target if supported (using Sets the hyper-target if supported (using \glstarget) and displays the entry name using: -



    \GlsXtrStandaloneEntryName{label}

    -

    +

    which uses \glstarget{label\glsnamefont or picks up the style from category attributes such as glossnamefont.

  • -

    If you have used .

    +

    If you have used \nopostdesc or or \glsxtrnopostpunc in any of your description fields, + id="dx1-91013"> in any of your description fields, you can use -



    \glsxtractivatenopost

    -

    +

    to make these commands behave as they normally do within a glossary. This needs to be placed before

    @@ -23658,11 +27593,11 @@ class="cmtt-10">}\glspostdescription class="cmtt-10">\glsnonextpages and \glsnextpages have no effect outside of the glossary and are not intended for use in a standalone context. -

    It’s also possible to select a different field (rather than using

    It’s also possible to select a different field (rather than using name): -


    ): +


    \glsxtrglossentryother{header}{label}{field}

    -

    +

    The ⟨field⟩ must be given using its internal field label which may not be the same as the key used to set the field. See the key to field mappings table in the header⟩ argument is the code to pass to the third class="cmtt-10">\glsxtrtitleorpdforheading. It may be left empty in which case the default is determined as follows:

      -
    • -

      If If \glsxtrheadfield⟩ is defined, then ⟨header⟩ is field⟩ class="cmtt-10">{label}. +

    • +
    • Otherwise ⟨header⟩ is simply the field value.
    -

    -
  • -

    Otherwise ⟨header⟩ is simply the field value.

  • -

    The

    The \glsxtrglossentryother command internally uses -



    \GlsXtrStandaloneEntryOther{label}{field}

    -

    +

    instead of \GlsXtrStandaloneEntryName, which uses \glossentrynameother{} instead of \glossentryname{label}. -

    If you have loaded the

    If you have loaded the glossaries-accsupp package (through the package (through the accsupp option) + id="dx1-91019"> option) then accessibility support will be provided if there’s a corresponding command

    @@ -23741,12 +27674,12 @@ class="cmtt-10">}
    (for example, \glssymbolaccessdisplay). -

    This means that my custom command can be changed to: +

    This means that my custom command can be changed to:

    -
    +   
     \newcommand{\displayterm}[1]{%
      \par\medskip\par\noindent
      Definition: \glsxtrglossentry{#1}.\par
    @@ -23754,17 +27687,17 @@ class="cmtt-10">\glssymbolaccessdisplay).
      \par\medskip
     }
     
    -

    If I want numbered definitions, then I can use the package options

    If I want numbered definitions, then I can use the package options entrycounter or + id="dx1-91020"> or subentrycounter and remove the colon: + id="dx1-91021"> and remove the colon:

    -
    +   
     \newcommand{\displayterm}[1]{%
      \par\medskip\par\noindent
      Definition \glsxtrglossentry{#1}.\par
    @@ -23772,28 +27705,28 @@ class="cmss-10">subentrycounter
    -

    The counter label uses a dot after the number by default but this can be changed to +

    The counter label uses a dot after the number by default but this can be changed to a colon:

    -
    +   
     \renewcommand*{\glsentrycounterlabel}{\theglossaryentry:\space}
     
    -

    It’s now possible to not only use

    It’s now possible to not only use \gls to link back to the definition but also use \glsrefentry to reference the counter and \glsxtrpageref to reference the page number. -

    If I want the description to behave more like it does in a glossary in need to make +

    If I want the description to behave more like it does in a glossary in need to make the following modification:

    -
    +   
     \newcommand{\displayterm}[1]{%
      \par\medskip\par\noindent
      Definition \glsxtrglossentry{#1}.\par
    @@ -23804,18 +27737,18 @@ the following modification:
      \par\medskip
     }
     
    -

    (Note the grouping to localise

    (Note the grouping to localise \glsxtractivatenopost.) -

    You can also use

    You can also use \glsxtrglossentry within section headings. For example:

    -
    +   
     \section{\glsxtrglossentry{function}}
     
    -

    This will use

    This will use \glsentryname in PDF bookmarks (if \texorpdfstring is defined) and will use \@glsxtrnotinmark and \glsxtrrestoremarkhook.) -

    +

    -

    Top

    10.5

    Top

    11.5 Entry Aliases

    -

    An entry can be made an alias of another entry using the

    An entry can be made an alias of another entry using the alias key. The + id="dx1-92001"> key. The value should be the label of the other term. There’s no check for the other’s existence when the aliased entry is defined. This is to allow the possibility of defining the other entry after the aliased entry. (For example, when used with bib2gls.) -

    If an entry ⟨

    If an entry ⟨entry-1⟩ is made an alias of ⟨entry-2⟩ then:

      -
    • -

      If the If the see field wasn’t provided when ⟨ field wasn’t provided when ⟨entry-1⟩ was defined, the alias key will - automatically trigger

      + id="dx1-92004"> key will + automatically trigger
      \glssee{}
    • -
    • -

      If the If the hyperref package has been loaded then package has been loaded then \gls{entry-1} will link to @@ -23879,32 +27810,28 @@ class="cmtt-10">} will link to class="cmti-10">entry-2⟩’s target. (Unless the targeturl attribute has been set for ⟨ attribute has been set for ⟨entry-1⟩’s category.) -

    • -
    • - - - -

      With +

    • With record=off or or record=hybrid, the , the noindex setting will automatically + id="dx1-92009"> setting will automatically be triggered when referencing ⟨entry-1⟩ with commands like \gls or \glstext. This prevents ⟨entry-1⟩ from have a location list (aside from the cross-reference added with \glssee) unless it’s been explicitly @@ -23912,71 +27839,72 @@ class="cmtt-10">\glssee) unless it’s been explicitly class="cmtt-10">\glsadd or if the indexing has been explicitly set using noindex=false. -

      Note that with

      Note that with record=only, the location list for aliased entries is controlled + id="dx1-92011">, the location list for aliased entries is controlled with bib2gls’s settings.

    -

    The index suppression trigger is performed by -


    bib2gls’s settings.

    +

    The index suppression trigger is performed by +


    \glsxtrsetaliasnoindex

    -

    +

    This is performed after the default options provided by \GlsXtrSetDefaultGlsOpts + id="dx1-92015"> have been set. With record=only, , \glsxtrsetaliasnoindex will default to do nothing. -

    Within the definition of

    Within the definition of \glsxtrsetaliasnoindex you can use -



    \glsxtrindexaliased

    -

    +

    to index ⟨entry-2⟩. -

    The index suppression command can be redefined to index the main term instead. +

    The index suppression command can be redefined to index the main term instead. For example:

    -
    +   
     \renewcommand{\glsxtrsetaliasnoindex}{%
      \glsxtrindexaliased
      \setkeys{glslink}{noindex}%
     }
     
    -

    -

    The value of the

    +

    The value of the alias field can be accessed using -


    field can be accessed using +


    \glsxtralias{label}

    -

    +

    -

    -

    Top

    11.

    +

    Top

    12. On-the-Fly Document Definitions

    -

    The commands described here may superficially look like ⟨

    The commands described here may superficially look like ⟨word\index{word\index then just use \index.
    -

    -

    The

    +

    The glossaries package advises against defining entries in the document + id="dx1-93001"> environment. As mentioned in §glossaries-extra but can be enabled using the docdefs package options. -

    Although this can be problematic, the package options. +

    Although this can be problematic, the glossaries-extra package provides a way of defining and using entries within the document environment without the tricks used + id="dx1-93004"> environment without the tricks used with the docdefs option. option. There are limitations with this approach, so take care with it. This function is disabled by default, but can be enabled using the preamble-only command: -



    \GlsXtrEnableOnTheFly

    -

    +

    When used, this defines the commands described below. -

    The commands

    The commands \glsxtr, \glsxtrpl, \Glsxtr and \Glsxtrpl can’t be used after the glossaries have been displayed (through \printglossary etc). It’s best not to + id="dx1-93008"> etc). It’s best not to mix these commands with the standard glossary commands, such as \gls or there may be unexpected results.
    -

    -


    +


    \glsxtr[gls-options][dfn-options]{label}

    -

    +

    If an entry with the label ⟨label⟩ has already been defined, this just does \gls @@ -24076,64 +28004,64 @@ class="cmitt-10">dfn-options⟩}

    -

    The ⟨

    The ⟨label⟩ must contain any non-expandable commands, such as formatting commands or problematic characters. If the term requires any of these, they must be omitted from the ⟨label⟩ and placed in the name key must be provided in the optional + id="dx1-93010"> key must be provided in the optional argument ⟨dfn-options⟩.
    -

    +

    -

    The second optional argument ⟨

    The second optional argument ⟨dfn-options⟩ should be empty if the entry has already been defined, since it’s too late for them. If it’s not empty, a warning will be generated with -



    \GlsXtrWarning{dfn-options}{label}

    -

    -

    For example, this warning will be generated on the second instance of

    +

    For example, this warning will be generated on the second instance of \glsxtr below:

    -
    +   
     \glsxtr[][plural=geese]{goose}
      ... later
     \glsxtr[][plural=geese]{goose}
     
    -

    -

    If you are considering doing something like: +

    +

    If you are considering doing something like:

    -
    +   
     \newcommand*{\goose}{\glsxtr[][plural=geese]{goose}}
     \renewcommand*{\GlsXtrWarning}[2]{}
      ... later
     \goose\ some more text here
     
    -

    then don’t bother. It’s simpler and less problematic to just define the entries in the +

    then don’t bother. It’s simpler and less problematic to just define the entries in the preamble with \newglossaryentry and then use and then use \gls in the document. -

    There are plural and case-changing alternatives to

    There are plural and case-changing alternatives to \glsxtr: -



    \glsxtrpl[gls-options][dfn-options]{label}

    -

    +

    This is like \glsxtr but uses \glspl instead of \gls. -



    \Glsxtr[gls-options][dfn-options]{label}

    -

    +

    This is like \glsxtr but uses \Gls instead of \gls. -



    \Glsxtrpl[gls-options][dfn-options]{label}

    -

    +

    This is like \glsxtr but uses \Glspl instead of \gls. -

    If you use UTF-8 and don’t want the inconvenient of needing to use an +

    If you use UTF-8 and don’t want the inconvenient of needing to use an ASCII-only label, then it’s better to use XƎLATEX or LuaLATEX instead of LaTeX (or pdfLATEX). If you really desperately want to use UTF-8 entry labels without switching to XƎLATEX or LuaLATEX then there is a starred version of @@ -24182,41 +28110,41 @@ without switching to X\GlsXtrEnableOnTheFly that allows you to use UTF-8 characters in ⟨label⟩, but it’s experimental and may not work in some cases. -

    If you use the starred version of

    If you use the starred version of \GlsXtrEnableOnTheFly don’t use any commands in the ⟨label⟩, even if they expand to just text.
    -

    +

    -

    -

    Top

    12.

    +

    Top

    13. Supplemental Packages

    -

    The

    The glossaries bundle provides additional support packages glossaries-prefix (for + id="dx1-94001"> (for prefixing) and glossaries-accsupp (for accessibility support). These packages aren’t + id="dx1-94002"> (for accessibility support). These packages aren’t automatically loaded.

    -

    Top

    12.1

    Top

    13.1 Prefixes or Determiners

    -

    If prefixing is required, you can simply load

    If prefixing is required, you can simply load glossaries-prefix after after glossaries-extra. For example:

    -
    +   
     \documentclass{article}
     \usepackage{glossaries-extra}
     \usepackage{glossaries-prefix}
    @@ -24231,37 +28159,37 @@ Next use: \pgls{svm}.
     \printglossaries
     \end{document}
     
    -

    -

    +

    +

    -

    Top

    12.2

    Top

    13.2 Accessibility Support

    -

    The

    The glossaries-accsupp package is still experimental and so accessibility features are + id="dx1-96001"> package is still experimental and so accessibility features are liable to change.
    -

    -

    The

    +

    The glossaries-accsupp package needs to be loaded before package needs to be loaded before glossaries-extra or through the accsupp package option: + id="dx1-96003"> package option:

    -
    +   
     \usepackage[accsupp]{glossaries-extra}
     
    -

    If you don’t load

    If you don’t load glossaries-accsupp or you load or you load glossaries-accsupp after after glossaries-extra the new \glsaccess\glsentryxxx⟩ commands. Other accessibility features, such as the attributes used by \newabbreviation also won’t work if also won’t work if glossaries-accsupp is loaded + id="dx1-96007"> is loaded too late. -

    The following

    The following \glsaccessxxx⟩ commands add accessibility information wrapped around the corresponding \glsentryxxx⟩ commands. There is no check for existence of the entry nor do any of these commands add formatting, hyperlinks or indexing information. -



    \glsaccessname{label}

    -

    +

    This displays the value of the name field for the entry identified by ⟨ field for the entry identified by ⟨label⟩. -

    If the

    If the glossaries-accsupp package isn’t loaded, this is simply defined as: + id="dx1-96010"> package isn’t loaded, this is simply defined as:

    -
    +   
     \newcommand*{\glsaccessname}[1]{\glsentryname{#1}}
     
    -

    otherwise it’s defined as: +

    otherwise it’s defined as:

    -
    +   
     \newcommand*{\glsaccessname}[1]{%
       \glsnameaccessdisplay
       {%
    @@ -24317,36 +28245,36 @@ class="cmss-10">glossaries-accsupp
    -

    (

    (\glsnameaccessdisplay is defined by the is defined by the glossaries-accsupp package.) The first + id="dx1-96012"> package.) The first letter upper case version is: -



    \Glsaccessname{label}

    -

    +

    Without the glossaries-accsupp package this is just defined as: + id="dx1-96014"> package this is just defined as:

    -
    +   
     \newcommand*{\Glsaccessname}[1]{\Glsentryname{#1}}
     
    -

    With the

    With the glossaries-accsupp package this is defined as: + id="dx1-96015"> package this is defined as:

    -
    +   
     \newcommand*{\Glsaccessname}[1]{%
       \glsnameaccessdisplay
       {%
    @@ -24355,627 +28283,551 @@ class="cmss-10">glossaries-accsupp
    -

    -

    The following commands are all defined in an analogous manner. -


    +

    The following commands are all defined in an analogous manner. +


    \glsaccesstext{label}

    -

    +

    This displays the value of the text field. -


    field. +


    \Glsaccesstext{label}

    -

    +

    This displays the value of the text field with the first letter converted to upper + id="dx1-96019"> field with the first letter converted to upper case. -



    \glsaccessplural{label}

    -

    +

    This displays the value of the plural field. -


    field. +


    \Glsaccessplural{label}

    -

    +

    This displays the value of the plural field with the first letter converted to upper + id="dx1-96023"> field with the first letter converted to upper case. -



    \glsaccessfirst{label}

    -

    +

    This displays the value of the first field. -


    field. +


    \Glsaccessfirst{label}

    -

    +

    This displays the value of the first field with the first letter converted to upper + id="dx1-96027"> field with the first letter converted to upper case. -



    \glsaccessfirstplural{label}

    -

    +

    This displays the value of the firstplural field. -


    field. +


    \Glsaccessfirstplural{label}

    -

    +

    This displays the value of the firstplural field with the first letter converted to upper + id="dx1-96031"> field with the first letter converted to upper case. -



    \glsaccesssymbol{label}

    -

    +

    This displays the value of the symbol field. -


    field. +


    \Glsaccesssymbol{label}

    -

    +

    This displays the value of the symbol field with the first letter converted to upper + id="dx1-96035"> field with the first letter converted to upper case. -



    \glsaccesssymbolplural{label}

    -

    +

    This displays the value of the symbolplural field. -


    field. +


    \Glsaccesssymbolplural{label}

    -

    +

    This displays the value of the symbolplural field with the first letter converted to + id="dx1-96039"> field with the first letter converted to upper case. -



    \glsaccessdesc{label}

    -

    +

    This displays the value of the description field. -


    field. +


    \Glsaccessdesc{label}

    -

    +

    This displays the value of the description field with the first letter converted to upper + id="dx1-96043"> field with the first letter converted to upper case. -



    \glsaccessdescplural{label}

    -

    +

    This displays the value of the descriptionplural field. -


    field. +


    \Glsaccessdescplural{label}

    -

    +

    This displays the value of the descriptionplural field with the first letter converted to + id="dx1-96047"> field with the first letter converted to upper case. -



    \glsaccessshort{label}

    -

    +

    This displays the value of the short field. -


    field. +


    \Glsaccessshort{label}

    -

    +

    This displays the value of the short field with the first letter converted to upper + id="dx1-96051"> field with the first letter converted to upper case. -



    \glsaccessshortpl{label}

    -

    +

    This displays the value of the shortplural field. -


    field. +


    \Glsaccessshortpl{label}

    -

    +

    This displays the value of the shortplural field with the first letter converted to upper + id="dx1-96055"> field with the first letter converted to upper case. -



    \glsaccesslong{label}

    -

    +

    This displays the value of the long field. -


    field. +


    \Glsaccesslong{label}

    -

    +

    This displays the value of the long field with the first letter converted to upper + id="dx1-96059"> field with the first letter converted to upper case. -



    \glsaccesslongpl{label}

    -

    +

    This displays the value of the longplural field. -


    field. +


    \Glsaccesslongpl{label}

    -

    +

    This displays the value of the longplural field with the first letter converted to upper + id="dx1-96063"> field with the first letter converted to upper case.

    -

    -

    Top

    13.

    +

    Top

    14. Sample Files

    -

    The following sample files are provided with this package: +

    The following sample files are provided with this package:

    -

    sample.tex

    -

    Simple sample file that uses one of the dummy files provided by the - sample.tex

    Simple sample file that uses one of the dummy files provided by + the glossaries package for testing. -

    -

    +

    sample-abbr-styles.tex

    -

    Demonstrates all predefined abbreviation styles. -

    -

    +class="cmbx-10">sample-abbr-styles.tex

    Demonstrates all predefined abbreviation styles. +
    sample-mixture.tex

    -

    General entries, acronyms and initialisms all treated differently. -

    -

    +class="cmbx-10">sample-mixture.tex

    General entries, acronyms and initialisms all treated + differently. +
    sample-name-font

    -

    Categories and attributes are used to customize the way different entries - appear. -

    -

    +class="cmbx-10">sample-name-font

    Categories and attributes are used to customize the way + different entries appear. +
    sample-abbrv.tex

    -

    General abbreviations. -

    -

    +class="cmbx-10">sample-abbrv.tex

    General abbreviations. +
    sample-acronym.tex

    -

    Acronyms aren’t initialisms and don’t expand on first use. -

    -

    +class="cmbx-10">sample-acronym.tex

    Acronyms aren’t initialisms and don’t expand on first + use. +
    sample-acronym-desc.tex

    -

    Acronyms that have a separate long form and description. -

    -

    +class="cmbx-10">sample-acronym-desc.tex

    Acronyms that have a separate long form and + description. +
    sample-crossref.tex

    - - - -

    Unused entries that have been cross-referenced automatically are added - at the end of the document. -

    -

    +class="cmbx-10">sample-crossref.tex

    Unused entries that have been cross-referenced + automatically are added at the end of the document. +
    sample-indexhook.tex

    -

    Use the index hook to track which entries have been indexed (and therefore - find out which ones haven’t been indexed). -

    -

    +class="cmbx-10">sample-indexhook.tex

    Use the index hook to track which entries have been + indexed (and therefore find out which ones haven’t been indexed). +
    sample-footnote.tex

    -

    Footnote abbreviation style that moves the footnote marker outside of - the hyperlink generated by \gls and moves it after certain punctuation - characters for neatness. -

    -

    +class="cmbx-10">sample-footnote.tex

    Footnote abbreviation style that moves the footnote + marker outside of the hyperlink generated by \gls and moves it after + certain punctuation characters for neatness. +
    sample-undef.tex

    -

    Warn on undefined entries instead of generating an error. -

    -

    +class="cmbx-10">sample-undef.tex

    Warn on undefined entries instead of generating an error. +
    sample-mixed-abbrv-styles.tex

    -

    Different abbreviation styles for different entries. -

    -

    +class="cmbx-10">sample-mixed-abbrv-styles.tex

    Different abbreviation styles for different + entries. + + + +
    sample-initialisms.tex

    -

    Automatically insert dots into initialisms. -

    -

    +class="cmbx-10">sample-initialisms.tex

    Automatically insert dots into initialisms. +
    sample-postdot.tex

    -

    Another initialisms example. -

    -

    +class="cmbx-10">sample-postdot.tex

    Another initialisms example. +
    sample-postlink.tex

    -

    Automatically inserting text after the link-text produced by commands - like sample-postlink.tex

    Automatically inserting text after the link-text + produced by commands like \gls (outside of hyperlink, if present). -

    - - - -

    +

    sample-header.tex

    -

    Using entries in section/chapter headings. -

    -

    +class="cmbx-10">sample-header.tex

    Using entries in section/chapter headings. +
    sample-autoindex.tex

    -

    Using the sample-autoindex.tex

    Using the dualindex and and indexname attributes to automatically add - glossary entries to the index (in addition to the glossary attributes to + automatically add glossary entries to the index (in addition to the glossary + location list). -

    -

    +

    sample-autoindex-hyp.tex

    -

    As previous but uses sample-autoindex-hyp.tex

    As previous but uses hyperref. -

    -

    + id="dx1-97006">. +

    sample-nested.tex

    -

    Using sample-nested.tex

    Using \gls within the value of the within the value of the name key. -

    -

    + id="dx1-97008"> key. +

    sample-entrycount.tex

    -

    Enable entry-use counting (only index if used more than n times, see - sample-entrycount.tex

    Enable entry-use counting (only index if used more + than n times, see §7.1 8.1 Entry Counting (First Use Flag)). -

    -

    +

    sample-unitentrycount.tex

    -

    Enable use of per-unit entry-use counting (sample-unitentrycount.tex

    Enable use of per-unit entry-use counting + (§7.1 Entry - Counting (First Use Flag)). -

    -

    +class="cmbx-10">8.1 Entry Counting (First Use Flag)). +

    sample-onelink.tex

    -

    Using the per-unit entry counting (sample-onelink.tex

    Using the per-unit entry counting (§7.1 Entry Counting - (First Use Flag)) to only have one hyperlink per entry per page. -

    -

    +class="cmbx-10">8.1 + Entry Counting (First Use Flag)) to only have one hyperlink per entry + per page. +

    sample-linkcount.tex

    -

    Using link counting (sample-linkcount.tex

    Using link counting (§7.2 Link Counting) to only have one - hyperlink per entry. - - - -

    -

    +class="cmbx-10">8.2 Link Counting) + to only have one hyperlink per entry. +

    sample-pages.tex

    -

    Insert “page” or “pages” before the location list. -

    -

    +class="cmbx-10">sample-pages.tex

    Insert “page” or “pages” before the location list. +
    sample-altmodifier.tex

    -

    Set the default options for commands like \gls and add an alternative - modifier. -

    -

    +class="cmbx-10">sample-altmodifier.tex

    Set the default options for commands like \gls and + add an alternative modifier. +
    sample-mixedsort.tex

    -

    Uses the optional argument of \makeglossaries to allow a mixture of - sample-mixedsort.tex

    Uses the optional argument of \makeglossaries to + allow a mixture of \printglossary and \printnoidxglossary. -

    -

    + + + +

    sample-external.tex

    -

    Uses the sample-external.tex

    Uses the targeturl attribute to allow for entries that should link to an - external URL rather than to an internal glossary. -

    -

    + id="dx1-97009"> attribute to allow for entries that + should link to an external URL rather than to an internal glossary. +

    sample-fmt.tex

    -

    Provides text-block commands associated with entries in order to use - sample-fmt.tex

    Provides text-block commands associated with entries in + order to use \glsxtrfmt. -

    -

    +

    sample-alias.tex

    -

    Uses the sample-alias.tex

    Uses the alias key. (See key. (See §10.5 11.5 Entry Aliases.) -

    -

    +

    sample-alttree.tex

    -

    Uses the sample-alttree.tex

    Uses the glossaries-extra-stylemods package with the package with the alttree style (see - + style (see §2.11.3 The glossaries-extra-stylemods Package). -

    -

    -sample-alttree-sym.tex

    - - - -

    Another 2.11.3 The glossaries-extra-stylemods Package). +

    +sample-alttree-sym.tex
    Another alttree example that measures the symbol widths. -

    -

    + id="dx1-97013"> example that measures the symbol + widths. +

    sample-alttree-marginpar.tex

    -

    Another sample-alttree-marginpar.tex

    Another alttree example that puts the example that puts the + number list in the margin. -

    -

    +

    sample-onthefly.tex

    -

    Using on-the-fly commands. Terms with accents must have the sample-onthefly.tex

    Using on-the-fly commands. Terms with accents must + have the name key - explicitly set. -

    -

    + id="dx1-97016"> key explicitly set. +

    sample-onthefly-xetex.tex

    -

    Using on-the-fly commands with XƎLATEX. Terms with UTF-8 characters - don’t need to have the sample-onthefly-xetex.tex

    Using on-the-fly commands with XƎLATEX. + Terms with UTF-8 characters don’t need to have the name key explicitly set. Terms that contain - commands must have the key explicitly + set. Terms that contain commands must have the name key explicitly set with the commands - removed from the label. -

    -

    + id="dx1-97018"> key explicitly set + with the commands removed from the label. +

    sample-onthefly-utf8.tex

    -

    Tries to emulate the previous sample file for use with LaTeX through the - starred version of sample-onthefly-utf8.tex

    Tries to emulate the previous sample file for use + with LaTeX through the starred version of \GlsXtrEnableOnTheFly. This is a bit iffy and may - not always work. Terms that contain commands must have the . + This is a bit iffy and may not always work. Terms that contain commands + must have the name key - explicitly set with the commands removed from the label. -

    -

    + id="dx1-97020"> key explicitly set with the commands removed from + the label. +

    sample-accsupp.tex

    -

    Integrate sample-accsupp.tex

    Integrate glossaries-accsupp. -

    -

    + id="dx1-97021">. +

    sample-prefix.tex

    -

    Integrate sample-prefix.tex

    Integrate glossaries-prefix. -

    -

    + id="dx1-97022">. +

    sample-suppl-main.tex

    -

    Uses sample-suppl-main.tex

    Uses thevalue to reference a location in the supplementary file - to reference a location in the + supplementary file sample-suppl.tex. -

    -

    +

    sample-suppl-main-hyp.tex

    -

    A more complicated version to the above that uses the sample-suppl-main-hyp.tex

    A more complicated version to the above that + uses the hyperref package - to reference a location in the supplementary file package to reference a location in the supplementary file + sample-suppl-hyp.tex. -

    -

    -

    Top

    14.

    +

    Top

    15. Multi-Lingual Support

    -

    There’s only one command provided by

    There’s only one command provided by glossaries-extra that you’re likely to want to change in your document and that’s \abbreviationsname ( (§1.2 New or Modified Package Options) if you use the abbreviations package option to + id="dx1-98002"> package option to automatically create the glossary labelled abbreviations. If this command doesn’t already exist, it will be defined to “Abbreviations” if babel hasn’t + id="dx1-98003"> hasn’t been loaded, otherwise it will be defined as \acronymname (provided by glossaries). -

    You can redefine it in the usual way. For example: +

    You can redefine it in the usual way. For example:

    -
    +   
     \renewcommand*{\abbreviationsname}{List of Abbreviations}
     
    -

    Or using

    Or using babel or or polyglossia captions hook: + id="dx1-98005"> captions hook:

    -
    +   
     \appto\captionsenglish{%
      \renewcommand*{\abbreviationsname}{List of Abbreviations}%
     }
     
    -

    -

    Alternatively you can use the

    +

    Alternatively you can use the title key when you print the list of abbreviations. + id="dx1-98006"> key when you print the list of abbreviations. For example:

    -
    +   
     \printabbreviations[title={List of Abbreviations}]
     
    -

    or +

    or

    -
    +   
     \printglossary[type=abbreviations,title={List of Abbreviations}]
     
    -

    -

    The other fixed text commands are the diagnostic messages, which shouldn’t +

    +

    The other fixed text commands are the diagnostic messages, which shouldn’t appear in the final draft of your document. -

    The

    The glossaries-extra package has the facility to load language modules (whose filename is in the form glossariesxtr-language.ldf) if they exist, but won’t warn if they don’t. If glossaries-extra-bib2gls is loaded via the is loaded via the record package option then the + id="dx1-98008"> package option then the check for language resource files will additionally search for an associated language script file given by glossariesxtr-Latn, associated with the given dialect. There’s no warning if the associated file isn’t found. The script file is loaded after the dialect file. -

    If you want to write your own language module, you just need to create a file +

    If you want to write your own language module, you just need to create a file called glossariesxtr-lang.ldf, where ⟨lang⟩ identifies the language or dialect (see the tracklang package). For example, package). For example, glossariesxtr-french.ldf. -

    The simplest code for this file is: +

    The simplest code for this file is:

    -
    +   
     \ProvidesGlossariesExtraLang{french}[2015/12/09 v1.0]
     \newcommand*{\glossariesxtrcaptionsfrench}{%
      \def\abbreviationsname{Abr\'eviations}%
    @@ -25099,75 +28951,74 @@ class="cmtt-10">glossariesxtr-french.ldf.
       {}%
     }
     
    -

    -

    You can adapt this for other languages by replacing all instances of the language +

    +

    You can adapt this for other languages by replacing all instances of the language identifier french and the translated text Abr\’eviations as appropriate. You can also use the .ldf file to provide rule blocks for a particular language for use with bib2gls’s custom sort rule. See §9.3 The glossaries-extra-bib2gls package -for further details. -

    This 10.3 The glossaries-extra-bib2gls +package for further details. +

    This .ldf file then needs to be put somewhere on TeX’s path so that it can be found by glossaries-extra. You might also want to consider uploading it to CTAN so that it can be useful to others. (Please don’t send it to me. I already have more packages than I am able to maintain.) -

    If you additionally want to provide translations for the diagnostic messages used +

    If you additionally want to provide translations for the diagnostic messages used when a glossary is missing, you need to redefine the following commands: -



    \GlsXtrNoGlsWarningHead{label}{file}

    -

    +

    This produces the following text in English:

    -

    This document is incomplete. The external file associated with the +

    This document is incomplete. The external file associated with the glossary ‘⟨label⟩’ (which should be called ⟨file⟩) hasn’t been created.

    -



    \GlsXtrNoGlsWarningEmptyStart

    -

    +

    This produces the following text in English:

    -

    This has probably happened because there are no entries defined in +

    This has probably happened because there are no entries defined in this glossary.

    -



    \GlsXtrNoGlsWarningEmptyMain

    -

    +

    This produces the following text in English:

    -

    If you don’t want this glossary, add

    If you don’t want this glossary, add nomain to your package option list when you load glossaries-extra.sty. For example:

    -



    \GlsXtrNoGlsWarningEmptyNotMain{label}

    -

    +

    This produces the following text in English:

    -

    Did you forget to use

    Did you forget to use type=label⟩ when you defined your entries? If you tried to load entries into this glossary with ] as the optional argument? If you did, check that the definitions in the file you loaded all had the type set to \glsdefaulttype.

    -



    \GlsXtrNoGlsWarningCheckFile{file}

    -

    +

    This produces the following text in English:

    -

    Check the contents of the file ⟨

    Check the contents of the file ⟨file⟩. If it’s empty, that means you haven’t indexed any of your entries in this glossary (using commands like \gls or \glsadd) so this list can’t be generated. If the file isn’t empty, the document build process hasn’t been completed.

    -



    \GlsXtrNoGlsWarningMisMatch

    -

    +

    This produces the following text in English:

    -

    You need +

    You need to either replace \makenoidxglossaries with \makeglossaries or @@ -25214,15 +29065,15 @@ class="cmtt-10">\printnoidxglossaries) and then -



    \GlsXtrNoGlsWarningNoOut{file}

    -

    +

    This produces the following text in English:

    -

    The file ⟨

    The file ⟨file⟩ doesn’t exist. This most likely means you haven’t used \makeglossaries or you have used \nofiles. If this is just a draft version of the document, you can suppress this message using the nomissingglstext package option.

    -



    \GlsXtrNoGlsWarningTail

    -

    +

    This produces the following text in English:

    -

    This message will be removed once the problem has been fixed.

    -


    This message will be removed once the problem has been fixed.

    +


    \GlsXtrNoGlsWarningBuildInfo

    -

    +

    This is advice on how to generate the glossary files. -



    \GlsXtrNoGlsWarningAutoMake{label}

    -

    +

    This is the message produced when the automake option is used, but the document + id="dx1-98021"> option is used, but the document needs a rerun or the shell escape setting doesn’t permit the execution of the external application. This command also generates a warning in the transcript file. -

    See the documented code (

    See the documented code (glossaries-extra-code.pdf) for further details. @@ -25263,7 +29114,6 @@ details.

    @@ -25272,210 +29122,186 @@ details.

    Top

    Glossary

    + id="x1-9900015">Glossary
    -

    bib2gls

    -

    A command line Java application that selects entries from a .bib file and - converts them + id="dx1-99001">

    A command line Java application that selects entries from a .bib file + and converts them to glossary definitions (like bibtex but also performs hierarchical sorting and collation, thus omitting the need for xindy or makeindex). Further details at: http://www.dickimaw-books.com/software/bib2gls/. -

    -

    +

    entry location

    -

    The location of the entry in the document. This defaults to the page - number on which the entry appears. An entry may have multiple locations. -

    -

    + id="dx1-99004">

    The location of the entry in the document. This defaults to + the page number on which the entry appears. An entry may have multiple + locations. +
    first use

    -

    The first time a glossary entry is used (from the start of the document + id="dx1-99005">

    The first time a glossary entry is used (from the start of the document or after a reset) with one of the following commands: \gls, , \Gls, , \GLS, + id="dx1-99008">, \glspl, , \Glspl, , \GLSpl or or \glsdisp. -

    -

    + id="dx1-99012">. +

    first use flag

    -

    A conditional that determines whether or not the entry has been used - according to the rules of

    A conditional that determines whether or not the entry has been + used according to the rules of first use. -

    -

    +

    first use text

    -

    The text that is displayed on first use, which is governed by the first and + id="dx1-99015">

    The text that is displayed on first use, which is governed by the first and firstplural keys of keys of \newglossaryentry. (May be overridden by . (May be overridden by + \glsdisp.) - - - -

    -

    + id="dx1-99020">.) +

    link-text

    -

    The text produced by commands such as

    The text produced by commands such as \gls. It may or may not have a - hyperlink to the glossary. -

    -

    + id="dx1-99022">. It may or may not + have a hyperlink to the glossary. +

    location list

    -

    A list of

    A list of entry locations. See number list. -

    -

    +

    makeglossaries

    -

    A custom designed Perl script interface provided with the glossaries - package to run xindy or makeindex according to the document settings. -

    -

    + id="dx1-99026">

    A custom designed Perl script interface provided with the + glossaries package to run xindy or makeindex according to the document + settings. + + + +
    makeglossaries-lite

    -

    A custom designed Lua script interface to xindy and makeindex provided - with the glossaries package. This is a cut-down alternative to the Perl - makeglossaries script. If you have Perl installed, use the Perl script - instead. This script is distributed in the source code on CTAN with - the file name makeglossaries-lite.lua but TeX Live on Unix-like - systems creates a symbolic link called makeglossaries-lite (without - the .lua extension) to the actual makeglossaries-lite.lua script, - and TeX distributions on Windows convert the script to an executable -

    A custom designed Lua script interface to xindy and + makeindex provided with the glossaries package. This is a cut-down + alternative to the Perl makeglossaries script. If you have Perl installed, + use the Perl script instead. This script is distributed in the source code + on CTAN with the file name makeglossaries-lite.lua but TeX Live + on Unix-like systems creates a symbolic link called makeglossaries-lite + (without the .lua extension) to the actual makeglossaries-lite.lua + script, and TeX distributions on Windows convert the script to an + executable makeglossaries-lite.exe. -

    -

    +

    makeindex

    -

    An indexing application. -

    -

    + id="dx1-99033">

    An indexing application. +
    number list

    -

    A list of entry locations (also called a location list). The number list can - be suppressed using the

    A list of entry locations (also called a location list). The number + list can be suppressed using the nonumberlist package option. -

    -

    + id="dx1-99036"> package option. +

    xindy

    - - - -

    An flexible indexing application with multilingual support written in Perl.

    + id="dx1-99037">
    An flexible indexing application with multilingual support written in + Perl.

    Index

    + id="x1-10000015">Index

    A

    abbreviation styles (deprecated):
        footnote-em  1
    +href="glossaries-extra-manual.html#dx1-33181" >1
        footnote-sc  2
    +href="glossaries-extra-manual.html#dx1-33173" >2
        footnote-sm  3
    +href="glossaries-extra-manual.html#dx1-33177" >3
        long-desc-em  4
    @@ -25496,20 +29322,20 @@ class="cmss-10">long-sm  9
        postfootnote-em  10
    +href="glossaries-extra-manual.html#dx1-33222" >10
        postfootnote-sc  11
    +href="glossaries-extra-manual.html#dx1-33214" >11
        postfootnote-sm  12
    +href="glossaries-extra-manual.html#dx1-33218" >12
    abbreviation styles:
        footnote  13
    +href="glossaries-extra-manual.html#dx1-33168" >13
        footnote-desc  14
    +href="glossaries-extra-manual.html#dx1-33189" >14
        long  15
    @@ -25518,63 +29344,63 @@ class="cmss-10">long-desc  16
        long-em-noshort-em  17, 17, 18, 19
    +href="glossaries-extra-manual.html#dx1-33037" >19
        long-em-noshort-em-desc  20, 21
    +href="glossaries-extra-manual.html#dx1-33083" >21
        long-em-noshort-em-desc-noreg  22
    +href="glossaries-extra-manual.html#dx1-33082" >22
        long-em-noshort-em-noreg  23, 23, 24, 25
    +href="glossaries-extra-manual.html#dx1-33036" >25
        long-em-short-em  26, 27, 27, 28, 29
        long-em-short-em-desc  30
    +href="glossaries-extra-manual.html#dx1-33079" >30
        long-hyphen-long-hyphen  31
    +href="glossaries-extra-manual.html#dx1-33278" >31
        long-hyphen-noshort-desc-noreg  32, 33
    +href="glossaries-extra-manual.html#dx1-33267" >32, 33
        long-hyphen-noshort-noreg  34, 35
    +href="glossaries-extra-manual.html#dx1-31109" >34, 35
        long-hyphen-postshort-hyphen  36, 37, 38, 39, 40, 41
    +href="glossaries-extra-manual.html#dx1-31104" >36, 37, 38, 39, 40, 41
        long-hyphen-postshort-hyphen-desc  42
    +href="glossaries-extra-manual.html#dx1-33280" >42
        long-hyphen-short-hyphen  43, 44, 45, 46, 47
    +href="glossaries-extra-manual.html#dx1-33258" >43, 44, 45, 46, 47
        long-hyphen-short-hyphen-desc  48, 49
    +href="glossaries-extra-manual.html#dx1-33268" >48, 49
        long-noshort  50, 54, 55, 56, 57, 58
    +href="glossaries-extra-manual.html#dx1-33057" >58
        long-noshort-desc  59, 64, 65, 66, 67, 68
    +href="glossaries-extra-manual.html#dx1-33060" >68
        long-noshort-desc-noreg  69
    +href="glossaries-extra-manual.html#dx1-33059" >69
        long-noshort-em  70
    @@ -25612,10 +29438,10 @@ class="cmss-10">long-noshort-em-desc  71
        long-noshort-noreg  72
    +href="glossaries-extra-manual.html#dx1-33056" >72
        long-noshort-sc  73, 73, 74
        long-noshort-sc-desc  78
    class="cmss-10">long-only-short-only  79, 80, 81
    +href="glossaries-extra-manual.html#dx1-33025" >81, 82
        long-only-short-only-desc  82
    +href="glossaries-extra-manual.html#dx1-33027" >83, 84
    +    long-only-short-sc-only  85, 86
    +    long-only-short-sc-only-desc  87
    +    long-postshort-sc-user  88, 89, 90
    +    long-postshort-sc-user-desc  91
        long-postshort-user  83, 84
    +href="glossaries-extra-manual.html#dx1-33247" >92, 93, 94
        long-postshort-user-desc  85
    +href="glossaries-extra-manual.html#dx1-33250" >95, 96
        long-short  86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101
    +href="glossaries-extra-manual.html#dx1-13047" >97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112
        long-short-desc  102, 103, 104, 105, 106, 107, 108, 109, 110
    +href="glossaries-extra-manual.html#dx1-14028" >113, 114, 115, 116, 117, 118, 119, 120, 121
        long-short-em  111, 112, 113, 114
    +href="glossaries-extra-manual.html#dx1-31055" >122, 123, 124, 125
        long-short-em-desc  115, 116
    +href="glossaries-extra-manual.html#dx1-33076" >126, 127
        long-short-sc  117, 118, 119, 120
    +href="glossaries-extra-manual.html#dx1-14016" >128, 129, 130, 131
        long-short-sc-desc  121, 122
    +href="glossaries-extra-manual.html#dx1-14030" >132, 133
        long-short-sm  123, 124, 125
    +href="glossaries-extra-manual.html#dx1-14018" >134, 135, 136
        long-short-sm-desc  126, 127
    +href="glossaries-extra-manual.html#dx1-14032" >137, 138
        long-short-user  128, 129, 130, 131, 132, 133, 134, 135, 136
    +href="glossaries-extra-manual.html#dx1-31102" >139, 140, 141, 142, 143, 144, 145, 146, 147
        long-short-user-desc  137
    +href="glossaries-extra-manual.html#dx1-33085" >148
        nolong-short  138, 139
    +href="glossaries-extra-manual.html#dx1-32010" >149, 150
        nolong-short-em  140
    +href="glossaries-extra-manual.html#dx1-32031" >151
        nolong-short-noreg  141
    +href="glossaries-extra-manual.html#dx1-33097" >152
        nolong-short-sc  142
    +href="glossaries-extra-manual.html#dx1-32017" >153
        nolong-short-sm  143
    +href="glossaries-extra-manual.html#dx1-32024" >154
        postfootnote  144, 145
    +href="glossaries-extra-manual.html#dx1-27006" >155, 156
        postfootnote-desc  146
    +href="glossaries-extra-manual.html#dx1-33229" >157
        short  147
    +href="glossaries-extra-manual.html#dx1-32008" >158
        short-desc  148
    +href="glossaries-extra-manual.html#dx1-32040" >159
        short-em  149
    +href="glossaries-extra-manual.html#dx1-32029" >160
        short-em-desc  150
    +href="glossaries-extra-manual.html#dx1-32055" >161
        short-em-footnote  151, 152
    +href="glossaries-extra-manual.html#dx1-31120" >162, 163
        short-em-footnote-desc  153, 154
    +href="glossaries-extra-manual.html#dx1-31119" >164, 165
        short-em-long  155, 156, 157
    +href="glossaries-extra-manual.html#dx1-31056" >166, 167, 168
        short-em-long-desc  158, 159
    +href="glossaries-extra-manual.html#dx1-33141" >169, 170
        short-em-long-em  160, 161
    +href="glossaries-extra-manual.html#dx1-31061" >171, 172
        short-em-long-em-desc  162
    +href="glossaries-extra-manual.html#dx1-33144" >173
        short-em-nolong  163, 164, 165
    +href="glossaries-extra-manual.html#dx1-32026" >174, 175, 176
        short-em-nolong-desc  166, 167
    +href="glossaries-extra-manual.html#dx1-32052" >177, 178
        short-em-postfootnote  168
    +href="glossaries-extra-manual.html#dx1-33219" >179
    + + +     short-em-postfootnote-desc  169
    +href="glossaries-extra-manual.html#dx1-33237" >180
        short-footnote  170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180
    +href="glossaries-extra-manual.html#dx1-14046" >181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191
        short-footnote-desc  181, 182, 183, 184, 185, 186, 187
    +href="glossaries-extra-manual.html#dx1-14052" >192, 193, 194, 195, 196, 197, 198
        short-hyphen-long-hyphen  188, 189
    - - - +href="glossaries-extra-manual.html#dx1-33283" >199, 200
        short-hyphen-long-hyphen-desc  190
    +href="glossaries-extra-manual.html#dx1-33287" >201
        short-hyphen-postlong-hyphen  191, 192
    +href="glossaries-extra-manual.html#dx1-33290" >202, 203
        short-hyphen-postlong-hyphen-desc  193
    +href="glossaries-extra-manual.html#dx1-33295" >204
        short-long  194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204
    +href="glossaries-extra-manual.html#dx1-14022" >205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215
        short-long-desc  205, 206, 207, 208, 209, 210, 211
    +href="glossaries-extra-manual.html#dx1-14036" >216, 217, 218, 219, 220, 221, 222
        short-long-user  212, 213, 214, 215, 216, 217, 218
    +href="glossaries-extra-manual.html#dx1-33046" >223, 224, 225, 226, 227, 228, 229
        short-long-user-desc  219
    +href="glossaries-extra-manual.html#dx1-33147" >230
        short-nolong  220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234
    +href="glossaries-extra-manual.html#dx1-3016" >231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245
        short-nolong-desc  235, 236, 237, 238, 239
    +href="glossaries-extra-manual.html#dx1-32033" >246, 247, 248, 249, 250
        short-nolong-desc-noreg  240
    +href="glossaries-extra-manual.html#dx1-33126" >251
        short-nolong-noreg  241
    +href="glossaries-extra-manual.html#dx1-33094" >252
        short-postfootnote  242, 243, 244, 245, 246, 247, 248, 249
    +href="glossaries-extra-manual.html#dx1-9062" >253, 254, 255, 256, 257, 258, 259, 260
        short-postfootnote-desc  250, 251, 252, 253, 254
    +href="glossaries-extra-manual.html#dx1-33223" >261, 262, 263, 264, 265
        short-postlong-user  255, 256, 257
    +href="glossaries-extra-manual.html#dx1-33240" >266, 267, 268
        short-postlong-user-desc  258
    +href="glossaries-extra-manual.html#dx1-33243" >269
        short-sc  259
    +href="glossaries-extra-manual.html#dx1-32015" >270
        short-sc-desc  260
    +href="glossaries-extra-manual.html#dx1-32045" >271
        short-sc-footnote  261, 262, 263
    +href="glossaries-extra-manual.html#dx1-14048" >272, 273, 274
        short-sc-footnote-desc  264, 265
    +href="glossaries-extra-manual.html#dx1-14054" >275, 276
        short-sc-long  266, 267, 268, 269
    +href="glossaries-extra-manual.html#dx1-14024" >277, 278, 279, 280
        short-sc-long-desc  270, 271
    +href="glossaries-extra-manual.html#dx1-14038" >281, 282
        short-sc-nolong  272, 273, 274
    +href="glossaries-extra-manual.html#dx1-32012" >283, 284, 285
        short-sc-nolong-desc  275, 276
    +href="glossaries-extra-manual.html#dx1-32042" >286, 287
        short-sc-postfootnote  277, 278
    +href="glossaries-extra-manual.html#dx1-31113" >288, 289
        short-sc-postfootnote-desc  279
    +href="glossaries-extra-manual.html#dx1-33231" >290
        short-sm  280
    +href="glossaries-extra-manual.html#dx1-32022" >291
        short-sm-desc  281
    +href="glossaries-extra-manual.html#dx1-32050" >292
        short-sm-footnote  282
    +href="glossaries-extra-manual.html#dx1-14050" >293
        short-sm-footnote-desc  283, 284
    +href="glossaries-extra-manual.html#dx1-14056" >294, 295
        short-sm-long  285, 286, 287
    +href="glossaries-extra-manual.html#dx1-14026" >296, 297, 298
        short-sm-long-desc  288, 289
    +href="glossaries-extra-manual.html#dx1-14040" >299, 300
        short-sm-nolong  290, 291, 292
    +href="glossaries-extra-manual.html#dx1-32019" >301, 302, 303
        short-sm-nolong-desc  293, 294
    +href="glossaries-extra-manual.html#dx1-32047" >304, 305
        short-sm-postfootnote  295
    +href="glossaries-extra-manual.html#dx1-33215" >306
        short-sm-postfootnote-desc  296
    +href="glossaries-extra-manual.html#dx1-33234" >307
    \abbreviationsname  297
    +href="glossaries-extra-manual.html#dx1-4226" >308
    \abbrvpluralsuffix  298
    +class="cmti-10">309
    acronym styles (glossaries):
        dua  299
    +href="glossaries-extra-manual.html#dx1-14041" >310
        dua-desc  300
    +href="glossaries-extra-manual.html#dx1-14043" >311
        footnote  301
    +href="glossaries-extra-manual.html#dx1-14045" >312
        footnote-desc  302
    +href="glossaries-extra-manual.html#dx1-14051" >313
    + + +     footnote-sc  303
    +href="glossaries-extra-manual.html#dx1-14047" >314
        footnote-sc-desc  304
    +href="glossaries-extra-manual.html#dx1-14053" >315
        footnote-sm  305
    +href="glossaries-extra-manual.html#dx1-14049" >316
        footnote-sm-desc  306
    - - - +href="glossaries-extra-manual.html#dx1-14055" >317
        long-sc-short  307
    +href="glossaries-extra-manual.html#dx1-14015" >318
        long-sc-short-desc  308
    +href="glossaries-extra-manual.html#dx1-14029" >319
        long-short-desc  309
    +href="glossaries-extra-manual.html#dx1-14027" >320
        long-sm-short  310
    +href="glossaries-extra-manual.html#dx1-14017" >321
        long-sm-short-desc  311
    +href="glossaries-extra-manual.html#dx1-14031" >322
        long-sp-short  312, 313
    +href="glossaries-extra-manual.html#dx1-14019" >323, 324
        long-sp-short-desc  314
    +href="glossaries-extra-manual.html#dx1-14033" >325
        sc-short-long  315
    +href="glossaries-extra-manual.html#dx1-14023" >326
        sc-short-long-desc  316
    +href="glossaries-extra-manual.html#dx1-14037" >327
        short-long  317
    +href="glossaries-extra-manual.html#dx1-14021" >328
        short-long-desc  318
    +href="glossaries-extra-manual.html#dx1-14035" >329
        sm-short-long  319
    +href="glossaries-extra-manual.html#dx1-14025" >330
        sm-short-long-desc  320
    +href="glossaries-extra-manual.html#dx1-14039" >331
    amsgen package  321
    +href="glossaries-extra-manual.html#dx1-10" >332
    amsmath package  322
    +href="glossaries-extra-manual.html#dx1-4156" >333
    \apptoglossarypreamble  323
    +href="glossaries-extra-manual.html#dx1-85010" >334

    B babel package  324, 325, 326, 327, 328, 329, 330, 331, 332
    +href="glossaries-extra-manual.html#dx1-3010" >335, 336, 337, 338, 339, 340, 341, 342, 343
    bib2gls  333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460
    +href="glossaries-extra-manual.html#dx1-2" >344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478

    C categories:
        abbreviation  461, 462, 463, 464, 465
    +href="glossaries-extra-manual.html#dx1-10004" >479, 480, 481, 482, 483
        acronym  466, 467, 468, 469, 470, 471
    +href="glossaries-extra-manual.html#dx1-3028" >484, 485, 486, 487, 488, 489
        general  472, 473, 474, 475, 476, 477, 478, 479
    +href="glossaries-extra-manual.html#dx1-9037" >490, 491, 492, 493, 494, 495, 496, 497
        index  480, 481
    +href="glossaries-extra-manual.html#dx1-6030" >498, 499
        number  482
    +href="glossaries-extra-manual.html#dx1-71018" >500
        symbol  483, 484
    +href="glossaries-extra-manual.html#dx1-9045" >501, 502
    category attributes:
        accessaposplural  485, 486, 487, 488
    +href="glossaries-extra-manual.html#dx1-71139" >503, 504, 505, 506
        accessinsertdots  489, 490
    +href="glossaries-extra-manual.html#dx1-71138" >507, 508
        accessnoshortplural  491, 492
    +href="glossaries-extra-manual.html#dx1-71140" >509, 510
        aposplural  493, 494, 495, 496, 497, 498, 499, 500
    +href="glossaries-extra-manual.html#dx1-12036" >511, 512, 513, 514, 515, 516, 517, 518
    +    combinedfirstsep  519, 520
    +    combinedfirstsepfirst  521, 522
    +    combinedsep  523, 524
    +    combinedsepfirst  525, 526
        discardperiod  501, 502, 503, 504, 505
    +href="glossaries-extra-manual.html#dx1-9032" >527, 528, 529, 530, 531, 532
    + + +     dualindex  506, 507, 508, 509, 510, 511, 512
    +href="glossaries-extra-manual.html#dx1-71119" >533, 534, 535, 536, 537, 538, 539
        entrycount  513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523
    +href="glossaries-extra-manual.html#dx1-10003" >540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550
        externallocation  524, 525, 526, 527
    +href="glossaries-extra-manual.html#dx1-7061" >551, 552, 553, 554
        firstshortaccess  528
    +href="glossaries-extra-manual.html#dx1-71170" >555
        glossdesc  529, 530, 531
    +href="glossaries-extra-manual.html#dx1-17005" >556, 557, 558
        glossdescfont  532, 533, 534
    +href="glossaries-extra-manual.html#dx1-17006" >559, 560, 561
        glossname  535, 536, 537
    +href="glossaries-extra-manual.html#dx1-17003" >562, 563, 564
        glossnamefont  538, 539, 540, 541, 542
    - - - +href="glossaries-extra-manual.html#dx1-17004" >565, 566, 567, 568, 569
        glosssymbolfont  543, 544
    +href="glossaries-extra-manual.html#dx1-17008" >570, 571
        headuc  545, 546, 547, 548
    +href="glossaries-extra-manual.html#dx1-13059" >572, 573, 574, 575
        hyperoutside  549, 550
    +href="glossaries-extra-manual.html#dx1-7019" >576, 577
        indexname  551, 552, 553, 554, 555
    +href="glossaries-extra-manual.html#dx1-17027" >578, 579, 580, 581, 582
        indexonlyfirst  556, 557, 558
    +href="glossaries-extra-manual.html#dx1-7007" >583, 584, 585
        insertdots  559, 560, 561, 562
    +href="glossaries-extra-manual.html#dx1-27013" >586, 587, 588, 589
        linkcount  563, 564, 565
    +href="glossaries-extra-manual.html#dx1-71090" >590, 591, 592
        linkcountmaster  566, 567
    +href="glossaries-extra-manual.html#dx1-71092" >593, 594
        markshortwords  568, 569
    +href="glossaries-extra-manual.html#dx1-71061" >595, 596
        markwords  570, 571, 572, 573, 574, 575
    +href="glossaries-extra-manual.html#dx1-33259" >597, 598, 599, 600, 601, 602
    +    multioptions  603, 604, 605, 606
        nameshortaccess  576
    +href="glossaries-extra-manual.html#dx1-71164" >607
        nohyper  577, 578, 579
    +href="glossaries-extra-manual.html#dx1-71034" >608, 609, 610
        nohyperfirst  580, 581, 582, 583, 584
    +href="glossaries-extra-manual.html#dx1-33156" >611, 612, 613, 614, 615
        noshortplural  585, 586, 587, 588, 589, 590
    +href="glossaries-extra-manual.html#dx1-12037" >616, 617, 618, 619, 620, 621
        pluraldiscardperiod  591, 592
    +href="glossaries-extra-manual.html#dx1-71048" >622, 623
        recordcount  593, 594, 595, 596
    +href="glossaries-extra-manual.html#dx1-84015" >624, 625, 626, 627
        regular  597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628
    +href="glossaries-extra-manual.html#dx1-9010" >628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659
        retainfirstuseperiod  629
    +href="glossaries-extra-manual.html#dx1-43002" >660, 661
        tagging  630, 631, 632, 633
    +href="glossaries-extra-manual.html#dx1-28002" >662, 663, 664, 665
        targetcategory  634
    +href="glossaries-extra-manual.html#dx1-71128" >666
        targetname  635, 636
    +href="glossaries-extra-manual.html#dx1-71125" >667, 668
        targeturl  637, 638, 639, 640, 641
    +href="glossaries-extra-manual.html#dx1-15002" >669, 670, 671, 672, 673
        textformat  642, 643, 644, 645, 646
    +href="glossaries-extra-manual.html#dx1-7020" >674, 675, 676, 677, 678
        textshortaccess  647
    +href="glossaries-extra-manual.html#dx1-71167" >679
        unitcount  648
    +href="glossaries-extra-manual.html#dx1-73034" >680
        wrgloss  649, 650
    +href="glossaries-extra-manual.html#dx1-7015" >681, 682
    \cGLS  651
    +href="glossaries-extra-manual.html#dx1-73015" >683
    \cGLSformat  652
    +href="glossaries-extra-manual.html#dx1-73017" >684
    \cGLSpl  653
    +href="glossaries-extra-manual.html#dx1-73016" >685
    \cGLSplformat  654
    +href="glossaries-extra-manual.html#dx1-73018" >686
    convertgls2bib  655
    +href="glossaries-extra-manual.html#dx1-76003" >687
    \csGlsXtrLetField  656
    +href="glossaries-extra-manual.html#dx1-86030" >688
    \CustomAbbreviationFields  657
    +class="cmti-10">689

    D datatool package  658
    +href="glossaries-extra-manual.html#dx1-86044" >690
    + + + datatool-base package  659, 660, 661, 662
    +href="glossaries-extra-manual.html#dx1-9" >691, 692, 693, 694
    \dGLS  663
    +href="glossaries-extra-manual.html#dx1-83022" >695
    \dGls  664
    +href="glossaries-extra-manual.html#dx1-83020" >696
    \dgls  665
    +href="glossaries-extra-manual.html#dx1-83018" >697
    \dglsdisp  666
    +href="glossaries-extra-manual.html#dx1-83025" >698
    \dglslink  667
    +href="glossaries-extra-manual.html#dx1-83024" >699
    \dGLSpl  668
    +href="glossaries-extra-manual.html#dx1-83023" >700
    \dGlspl  669
    - - - +href="glossaries-extra-manual.html#dx1-83021" >701
    \dglspl  670
    +href="glossaries-extra-manual.html#dx1-83019" >702

    E \eglssetwidest  671
    +class="cmti-10">703
    \eglsupdatewidest  672
    +class="cmti-10">704
    \eGlsXtrSetField  673
    +href="glossaries-extra-manual.html#dx1-86027" >705
    entry location  674, 675, 676
    +href="glossaries-extra-manual.html#dx1-99004" >706, 707, 708
    entrycounter package  677
    +href="glossaries-extra-manual.html#dx1-91020" >709
    equation (counter)  678, 679, 680, 681, 682
    +href="glossaries-extra-manual.html#dx1-4133" >710, 711, 712, 713, 714
    etoolbox package  683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693
    +href="glossaries-extra-manual.html#dx1-5" >715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725

    F \false options
        groups  694
    +href="glossaries-extra-manual.html#dx1-15018" >726
    fancyhdr package  695
    +href="glossaries-extra-manual.html#dx1-24049" >727
    file types
        aux  728, 729, 730, 731
    +    bib  696
    +href="glossaries-extra-manual.html#dx1-4112" >732, 733
        glg-abr  697
    +href="glossaries-extra-manual.html#dx1-4219" >734
        glo-abr  698
    +href="glossaries-extra-manual.html#dx1-4221" >735
        gls-abr  699
    +href="glossaries-extra-manual.html#dx1-4220" >736
    first use  700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754
    +href="glossaries-extra-manual.html#dx1-3017" >737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795
    first use flag  755, 756, 757, 758, 759, 760, 761
    +href="glossaries-extra-manual.html#dx1-9052" >796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818
    first use text  762, 763
    +href="glossaries-extra-manual.html#dx1-99015" >819, 820
    fontenc package  764
    +href="glossaries-extra-manual.html#dx1-31024" >821
    \forallabbreviationlists  765
    +class="cmti-10">822

    G \gglssetwidest  766
    +class="cmti-10">823
    \gglsupdatewidest  767
    +class="cmti-10">824
    \gGlsXtrSetField  768
    +href="glossaries-extra-manual.html#dx1-86026" >825
    glossaries package  769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788
    +href="glossaries-extra-manual.html#dx1-4204" >826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845
    + + + glossaries-accsupp package  789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810
    +href="glossaries-extra-manual.html#dx1-4039" >846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867
    glossaries-extra package  811, 812, 813, 814, 815, 816, 817
    +href="glossaries-extra-manual.html#dx1-6020" >868, 869, 870, 871, 872, 873, 874
    glossaries-extra-bib2gls package  818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832
    +href="glossaries-extra-manual.html#dx1-4086" >875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890
    glossaries-extra-stylemods package  833, 834, 835, 836, 837, 838, 839, 840, 841, 842
    +href="glossaries-extra-manual.html#dx1-4029" >891, 892, 893, 894, 895, 896, 897, 898, 899, 900
    glossaries-prefix package  843, 844, 845, 846
    +href="glossaries-extra-manual.html#dx1-4037" >901, 902, 903, 904, 905
    \glossariesextrasetup  847
    +href="glossaries-extra-manual.html#dx1-4282" >906
    glossary styles:
        altlist  848, 849, 850
    +href="glossaries-extra-manual.html#dx1-22006" >907, 908, 909
        alttree  851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865
    +href="glossaries-extra-manual.html#dx1-22037" >910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924
        bookindex  866, 867, 868, 869
    - - - +href="glossaries-extra-manual.html#dx1-24002" >925, 926, 927, 928
        index  870
    +href="glossaries-extra-manual.html#dx1-22042" >929
        inline  871, 872
    +href="glossaries-extra-manual.html#dx1-20001" >930, 931
        list  873, 874, 875, 876
    +href="glossaries-extra-manual.html#dx1-22001" >932, 933, 934, 935
        listdotted  877, 878
    +href="glossaries-extra-manual.html#dx1-22007" >936, 937
    +    listhypergroup  938
        long  879, 880, 881
    +href="glossaries-extra-manual.html#dx1-21003" >939, 940, 941
        long-desc-name  882
    +href="glossaries-extra-manual.html#dx1-25066" >942
        long-desc-sym-name  883
    +href="glossaries-extra-manual.html#dx1-25133" >943
        long-loc-desc-name  884
    +href="glossaries-extra-manual.html#dx1-25075" >944
        long-loc-desc-sym-name  885
    +href="glossaries-extra-manual.html#dx1-25141" >945
        long-loc-sym-desc-name  886
    +href="glossaries-extra-manual.html#dx1-25125" >946
        long-name-desc  887, 888, 889
    +href="glossaries-extra-manual.html#dx1-25044" >947, 948, 949
        long-name-desc-loc  890
    +href="glossaries-extra-manual.html#dx1-25057" >950
        long-name-desc-sym  891, 892
    +href="glossaries-extra-manual.html#dx1-25083" >951, 952
        long-name-desc-sym-loc  893, 894
    +href="glossaries-extra-manual.html#dx1-25091" >953, 954
        long-name-sym-desc  895
    +href="glossaries-extra-manual.html#dx1-25099" >955
        long-name-sym-desc-loc  896
    +href="glossaries-extra-manual.html#dx1-25108" >956
        long-sym-desc-name  897
    +href="glossaries-extra-manual.html#dx1-25117" >957
        long3col  898
    +href="glossaries-extra-manual.html#dx1-19004" >958
        longragged-booktabs  899, 900
    +href="glossaries-extra-manual.html#dx1-25045" >959, 960
        mcolindexgroup  901
    +href="glossaries-extra-manual.html#dx1-24003" >961
        super  902
    +href="glossaries-extra-manual.html#dx1-90002" >962
        topic  903, 904
    +href="glossaries-extra-manual.html#dx1-26006" >963, 964
        topicmcols  905
    +href="glossaries-extra-manual.html#dx1-26009" >965
        tree  906, 907, 908, 909, 910
    +href="glossaries-extra-manual.html#dx1-22036" >966, 967, 968, 969, 970
        treenoname  911, 912, 913
    +href="glossaries-extra-manual.html#dx1-22048" >971, 972, 973
    glossary-bookindex package  914, 915
    +href="glossaries-extra-manual.html#dx1-24001" >974, 975
    glossary-inline package  916
    +href="glossaries-extra-manual.html#dx1-20002" >976
    glossary-list package  917
    +href="glossaries-extra-manual.html#dx1-90003" >977
    glossary-long package  918, 919
    +href="glossaries-extra-manual.html#dx1-25018" >978, 979
    glossary-longextra package  920, 921
    +href="glossaries-extra-manual.html#dx1-25001" >980, 981
    glossary-topic package  922, 923
    +href="glossaries-extra-manual.html#dx1-26001" >982, 983
    glossary-tree package  924, 925, 926, 927, 928, 929, 930
    +href="glossaries-extra-manual.html#dx1-22022" >984, 985, 986, 987, 988, 989, 990
    \glossentrynameother  931
    +class="cmti-10">991
    \glossxtrsetpopts  932
    +class="cmti-10">992
    + + + \glsabbrvdefaultfont  933, 993, 934
    +class="cmti-10">994
    \glsabbrvemfont  935
    +class="cmti-10">995
    \glsabbrvfont  936
    +class="cmti-10">996
    \glsabbrvhyphenfont  937
    +class="cmti-10">997
    \glsabbrvonlyfont  938
    +class="cmti-10">998
    \glsabbrvscfont  939
    +class="cmti-10">999
    +\glsabbrvsconlyfont  1000
    +\glsabbrvscuserfont  1001
    \glsabbrvsmfont  940
    +class="cmti-10">1002
    \glsabbrvuserfont  941, 942
    +class="cmti-10">1003, 1004
    \Glsaccessdesc  943
    +href="glossaries-extra-manual.html#dx1-96042" >1005
    \glsaccessdesc  944
    +href="glossaries-extra-manual.html#dx1-96040" >1006
    \Glsaccessdescplural  945
    +href="glossaries-extra-manual.html#dx1-96046" >1007
    \glsaccessdescplural  946
    - - - +href="glossaries-extra-manual.html#dx1-96044" >1008
    \Glsaccessfirst  947
    +href="glossaries-extra-manual.html#dx1-96026" >1009
    \glsaccessfirst  948
    +href="glossaries-extra-manual.html#dx1-96024" >1010
    \Glsaccessfirstplural  949
    +href="glossaries-extra-manual.html#dx1-96030" >1011
    \glsaccessfirstplural  950
    +href="glossaries-extra-manual.html#dx1-96028" >1012
    \Glsaccesslong  951
    +href="glossaries-extra-manual.html#dx1-96058" >1013
    \glsaccesslong  952
    +href="glossaries-extra-manual.html#dx1-96056" >1014
    \Glsaccesslongpl  953
    +href="glossaries-extra-manual.html#dx1-96062" >1015
    \glsaccesslongpl  954
    +href="glossaries-extra-manual.html#dx1-96060" >1016
    \Glsaccessname  955
    +href="glossaries-extra-manual.html#dx1-96013" >1017
    \glsaccessname  956
    +href="glossaries-extra-manual.html#dx1-96008" >1018
    \Glsaccessplural  957
    +href="glossaries-extra-manual.html#dx1-96022" >1019
    \glsaccessplural  958
    +href="glossaries-extra-manual.html#dx1-96020" >1020
    \Glsaccessshort  959
    +href="glossaries-extra-manual.html#dx1-96050" >1021
    \glsaccessshort  960
    +href="glossaries-extra-manual.html#dx1-96048" >1022
    \Glsaccessshortpl  961
    +href="glossaries-extra-manual.html#dx1-96054" >1023
    \glsaccessshortpl  962
    +href="glossaries-extra-manual.html#dx1-96052" >1024
    \Glsaccesssymbol  963
    +href="glossaries-extra-manual.html#dx1-96034" >1025
    \glsaccesssymbol  964
    +href="glossaries-extra-manual.html#dx1-96032" >1026
    \Glsaccesssymbolplural  965
    +href="glossaries-extra-manual.html#dx1-96038" >1027
    \glsaccesssymbolplural  966
    +href="glossaries-extra-manual.html#dx1-96036" >1028
    \Glsaccesstext  967
    +href="glossaries-extra-manual.html#dx1-96018" >1029
    \glsaccesstext  968
    +href="glossaries-extra-manual.html#dx1-96016" >1030
    \glsacspace  969
    +class="cmti-10">1031
    \glsacspacemax  970
    +class="cmti-10">1032
    \glsadd options
        format  971
    +href="glossaries-extra-manual.html#dx1-7035" >1033
        theHvalue  972, 973
    +href="glossaries-extra-manual.html#dx1-7047" >1034, 1035
        thevalue  974, 975, 976, 977, 978
    +href="glossaries-extra-manual.html#dx1-7046" >1036, 1037, 1038, 1039, 1040
    \glsaddeach  979
    +class="cmti-10">1041
    \glsaddpostsetkeys  980
    +class="cmti-10">1042
    \glsaddpresetkeys  981
    +class="cmti-10">1043
    \glsaltlistitem  982
    +class="cmti-10">1044
    + + + \glsalttreechildpredesc  983
    +class="cmti-10">1045
    \glsalttreepredesc  984
    +class="cmti-10">1046
    \glscapturedgroup  985
    +href="glossaries-extra-manual.html#dx1-82002" >1047
    \glscategory  986
    +href="glossaries-extra-manual.html#dx1-71019" >1048
    \glscategorylabel  987
    +class="cmti-10">1049
    +\glscombinedfirstsep  1050
    +\glscombinedfirstsepfirst  1051
    +\glscombinedsep  1052
    +\glscombinedsepfirst  1053
    \glscurrententrylabel  988
    +class="cmti-10">1054
    \glscurrentfieldvalue  989
    +href="glossaries-extra-manual.html#dx1-86034" >1055
    \glsdefaultshortaccess  990
    +href="glossaries-extra-manual.html#dx1-71135" >1056
    \glsdefpostdesc  991
    +class="cmti-10">1057
    \glsdefpostlink  992
    +class="cmti-10">1058
    \glsdefpostname  993
    +class="cmti-10">1059
    \glsentrycurrcount  994
    +href="glossaries-extra-manual.html#dx1-73035" >1060
    \glsentrypdfsymbol  995
    +class="cmti-10">1061
    \glsentryprevcount  996
    - - - +href="glossaries-extra-manual.html#dx1-73036" >1062
    \glsentryprevmaxcount  997
    +href="glossaries-extra-manual.html#dx1-73038" >1063
    \glsentryprevtotalcount  998
    +href="glossaries-extra-manual.html#dx1-73037" >1064
    \glsextrapostnamehook  999
    +class="cmti-10">1065
    \glsFindWidestAnyName  1000
    +class="cmti-10">1066
    \glsFindWidestAnyNameLocation  1001
    +class="cmti-10">1067
    \glsFindWidestAnyNameSymbol  1002
    +class="cmti-10">1068
    \glsFindWidestAnyNameSymbolLocation  1003
    +class="cmti-10">1069
    \glsFindWidestLevelTwo  1004
    +class="cmti-10">1070
    \glsFindWidestTopLevelName  1005
    +class="cmti-10">1071
    \glsFindWidestUsedAnyName  1006
    +class="cmti-10">1072
    \glsFindWidestUsedAnyNameLocation  1007
    +class="cmti-10">1073
    \glsFindWidestUsedAnyNameSymbol  1008
    +class="cmti-10">1074
    \glsFindWidestUsedAnyNameSymbolLocation  1009
    +class="cmti-10">1075
    \glsFindWidestUsedLevelTwo  1010
    +class="cmti-10">1076
    \glsFindWidestUsedTopLevelName  1011
    +class="cmti-10">1077
    \glsfirstabbrvdefaultfont  1012
    +class="cmti-10">1078
    \glsfirstabbrvemfont  1013
    +class="cmti-10">1079
    \glsfirstabbrvfont  1014
    +class="cmti-10">1080
    \glsfirstabbrvhyphenfont  1015
    +class="cmti-10">1081
    \glsfirstabbrvonlyfont  1016
    +class="cmti-10">1082
    +\glsfirstabbrvsconlyfont  1083
    +\glsfirstabbrvscuserfont  1084
    \glsfirstabbrvsmfont  1017
    +class="cmti-10">1085
    \glsfirstabbrvuserfont  1018
    +class="cmti-10">1086
    \glsfirstlongdefaultfont  1019
    +class="cmti-10">1087
    \glsfirstlongemfont  1020
    +class="cmti-10">1088
    \glsfirstlongfont  1021
    +class="cmti-10">1089
    \glsfirstlongfootnotefont  1022
    +href="glossaries-extra-manual.html#dx1-33163" >1090
    + + + \glsfirstlonghyphenfont  1023
    +class="cmti-10">1091
    \glsfirstlongonlyfont  1024
    +class="cmti-10">1092
    \glsfirstlonguserfont  1025
    +class="cmti-10">1093
    \GLSfmtfirst  1026
    +class="cmti-10">1094
    \Glsfmtfirst  1027
    +class="cmti-10">1095
    \glsfmtfirst  1028
    +class="cmti-10">1096
    \GLSfmtfirstpl  1029
    +class="cmti-10">1097
    \Glsfmtfirstpl  1030
    +class="cmti-10">1098
    \glsfmtfirstpl  1031
    +class="cmti-10">1099
    \GLSfmtfull  1032
    +class="cmti-10">1100
    \Glsfmtfull  1033
    +class="cmti-10">1101
    \glsfmtfull  1034
    +class="cmti-10">1102
    \GLSfmtfullpl  1035
    +class="cmti-10">1103
    \Glsfmtfullpl  1036
    +class="cmti-10">1104
    \glsfmtfullpl  1037
    +class="cmti-10">1105
    \GLSfmtlong  1038
    +class="cmti-10">1106
    \Glsfmtlong  1039
    +class="cmti-10">1107
    \glsfmtlong  1040
    +class="cmti-10">1108
    \GLSfmtlongpl  1041
    +class="cmti-10">1109
    \Glsfmtlongpl  1042
    - - - +class="cmti-10">1110
    \glsfmtlongpl  1043
    +class="cmti-10">1111
    \GLSfmtname  1044
    +class="cmti-10">1112
    \Glsfmtname  1045
    +class="cmti-10">1113
    \glsfmtname  1046
    +class="cmti-10">1114
    \GLSfmtplural  1047
    +class="cmti-10">1115
    \Glsfmtplural  1048
    +class="cmti-10">1116
    \glsfmtplural  1049
    +class="cmti-10">1117
    \GLSfmtshort  1050
    +class="cmti-10">1118
    \Glsfmtshort  1051
    +class="cmti-10">1119
    \glsfmtshort  1052
    +class="cmti-10">1120
    \Glsfmtshortpl  1053, 1121, 1054
    +class="cmti-10">1122
    \glsfmtshortpl  1055
    +class="cmti-10">1123
    \GLSfmttext  1056
    +class="cmti-10">1124
    \Glsfmttext  1057
    +class="cmti-10">1125
    \glsfmttext  1058
    +class="cmti-10">1126
    \glsforeachwithattribute  1059
    +href="glossaries-extra-manual.html#dx1-71206" >1127
    \glsgetattribute  1060
    +href="glossaries-extra-manual.html#dx1-71189" >1128
    \glsgetcategoryattribute  1061
    +href="glossaries-extra-manual.html#dx1-71188" >1129
    \glsgetwidestname  1062
    +class="cmti-10">1130
    \glsgetwidestsubname  1063
    +class="cmti-10">1131
    \glshasattribute  1064
    +href="glossaries-extra-manual.html#dx1-71192" >1132
    \glshascategoryattribute  1065
    +href="glossaries-extra-manual.html#dx1-71190" >1133
    \glshex  1066
    +href="glossaries-extra-manual.html#dx1-82001" >1134
    \glsifattribute  1067
    +href="glossaries-extra-manual.html#dx1-71197" >1135
    \glsifcategory  1068
    +href="glossaries-extra-manual.html#dx1-71020" >1136
    \glsifcategoryattribute  1069
    +href="glossaries-extra-manual.html#dx1-71193" >1137
    + + + \glsifnotregular  1070
    +href="glossaries-extra-manual.html#dx1-71204" >1138
    \glsifnotregularcategory  1071
    +href="glossaries-extra-manual.html#dx1-71203" >1139
    \glsifregular  1072
    +href="glossaries-extra-manual.html#dx1-71200" >1140
    \glsifregularcategory  1073
    +href="glossaries-extra-manual.html#dx1-71199" >1141
    \glskeylisttok  1074
    +class="cmti-10">1142
    \glslabeltok  1075
    +class="cmti-10">1143
    \glslink options
        counter  1076, 1077
    +href="glossaries-extra-manual.html#dx1-4138" >1144, 1145
        format  1078, 1079, 1080, 1081
    +href="glossaries-extra-manual.html#dx1-7058" >1146, 1147, 1148, 1149, 1150, 1151
        hyper  1082, 1083, 1084
    +href="glossaries-extra-manual.html#dx1-13055" >1152, 1153, 1154
        hyper=false  1085
    +href="glossaries-extra-manual.html#dx1-37005" >1155
        hyperoutside  1086, 1087
    +href="glossaries-extra-manual.html#dx1-7018" >1156, 1157
        noindex  1088, 1089, 1090, 1091, 1092, 1093, 1094
    +href="glossaries-extra-manual.html#dx1-7003" >1158, 1159, 1160, 1161, 1162, 1163, 1164
        prefix  1095, 1096
    +href="glossaries-extra-manual.html#dx1-7025" >1165, 1166
        textformat  1097, 1098
    +href="glossaries-extra-manual.html#dx1-7022" >1167, 1168
        theHvalue  1099, 1100
    +href="glossaries-extra-manual.html#dx1-7028" >1169, 1170
        thevalue  1101, 1102
    +href="glossaries-extra-manual.html#dx1-7027" >1171, 1172
        wrgloss  1103, 1104, 1105, 1106
    +href="glossaries-extra-manual.html#dx1-7011" >1173, 1174, 1175, 1176
    \glslinkcheckfirsthyperhook  1107
    +href="glossaries-extra-manual.html#dx1-73042" >1177
    \glslinkpresetkeys  1108
    - - - +class="cmti-10">1178
    \glslistchildpostlocation  1109
    +class="cmti-10">1179
    \glslistchildprelocation  1110
    +class="cmti-10">1180
    \glslistdesc  1111
    +class="cmti-10">1181
    \glslistgroupafterheader  1112
    +class="cmti-10">1182
    \glslistgroupheaderitem  1113
    +class="cmti-10">1183
    \glslistgroupskip  1114
    +class="cmti-10">1184
    \glslistitem  1115
    +class="cmti-10">1185
    \glslistprelocation  1116
    +class="cmti-10">1186
    \glslocalreseteach  1117
    +class="cmti-10">1187
    \glslocalunseteach  1118
    +class="cmti-10">1188
    \glslongdefaultfont  1119
    +class="cmti-10">1189
    \glslongemfont  1120
    +class="cmti-10">1190
    \glslongextraDescAlign  1121
    +class="cmti-10">1191
    \glslongextraDescFmt  1122
    +class="cmti-10">1192
    \glslongextraDescNameHeader  1123
    +class="cmti-10">1193
    \glslongextraDescNameTabularFooter  1124
    +class="cmti-10">1194
    \glslongextraDescNameTabularHeader  1125
    +class="cmti-10">1195
    \glslongextraDescSymNameHeader  1126
    +class="cmti-10">1196
    \glslongextraDescSymNameTabularFooter  1127
    +class="cmti-10">1197
    \glslongextraDescSymNameTabularHeader  1128
    +class="cmti-10">1198
    \glslongextraGroupHeading  1129
    +class="cmti-10">1199
    \glslongextraHeaderFmt  1130
    +class="cmti-10">1200
    \glslongextraLocationAlign  1131
    +class="cmti-10">1201
    \glslongextraLocationDescNameHeader  1132
    +class="cmti-10">1202
    \glslongextraLocationDescNameTabularFooter  1133
    +class="cmti-10">1203
    \glslongextraLocationDescNameTabularHeader  1134
    +class="cmti-10">1204
    + + + \glslongextraLocationDescSymNameHeader  1135
    +class="cmti-10">1205
    \glslongextraLocationDescSymNameTabularFooter  1136
    +class="cmti-10">1206
    \glslongextraLocationDescSymNameTabularHeader  1137
    +class="cmti-10">1207
    \glslongextraLocationFmt  1138, 1208, 1139
    +class="cmti-10">1209
    \glslongextraLocationSymDescNameHeader  1140
    +class="cmti-10">1210
    \glslongextraLocationSymDescNameTabularFooter  1141
    +class="cmti-10">1211
    \glslongextraLocationSymDescNameTabularHeader  1142
    +class="cmti-10">1212
    \glslongextraLocSetDescWidth  1143
    +class="cmti-10">1213
    \glslongextraNameAlign  1144
    +class="cmti-10">1214
    \glslongextraNameDescHeader  1145
    +class="cmti-10">1215
    \glslongextraNameDescLocationHeader  1146
    +class="cmti-10">1216
    \glslongextraNameDescLocationTabularFooter  1147
    +class="cmti-10">1217
    \glslongextraNameDescLocationTabularHeader  1148
    +class="cmti-10">1218
    \glslongextraNameDescSymHeader  1149
    +class="cmti-10">1219
    \glslongextraNameDescSymLocationHeader  1150
    +class="cmti-10">1220
    \glslongextraNameDescSymLocationTabularFooter  1151
    +class="cmti-10">1221
    \glslongextraNameDescSymLocationTabularHeader  1152
    +class="cmti-10">1222
    \glslongextraNameDescSymTabularFooter  1153
    +class="cmti-10">1223
    \glslongextraNameDescSymTabularHeader  1154
    +class="cmti-10">1224
    \glslongextraNameDescTabularFooter  1155
    - - - +class="cmti-10">1225
    \glslongextraNameDescTabularHeader  1156
    +class="cmti-10">1226
    \glslongextraNameFmt  1157
    +class="cmti-10">1227
    \glslongextraNameSymDescHeader  1158
    +class="cmti-10">1228
    \glslongextraNameSymDescLocationHeader  1159
    +class="cmti-10">1229
    \glslongextraNameSymDescLocationTabularFooter  1160
    +class="cmti-10">1230
    \glslongextraNameSymDescLocationTabularHeader  1161
    +class="cmti-10">1231
    \glslongextraNameSymDescTabularFooter  1162
    +class="cmti-10">1232
    \glslongextraNameSymDescTabularHeader  1163
    +class="cmti-10">1233
    \glslongextraSetDescWidth  1164
    +class="cmti-10">1234
    \glslongextraSetWidest  1165
    +class="cmti-10">1235
    \glslongextraSubDescFmt  1166
    +class="cmti-10">1236
    \glslongextraSubNameFmt  1167
    +class="cmti-10">1237
    \glslongextraSubSymbolFmt  1168
    +class="cmti-10">1238
    \glslongextraSymbolAlign  1169
    +class="cmti-10">1239
    \glslongextraSymbolFmt  1170
    +class="cmti-10">1240
    \glslongextraSymDescNameHeader  1171
    +class="cmti-10">1241
    \glslongextraSymDescNameTabularFooter  1172
    +class="cmti-10">1242
    \glslongextraSymDescNameTabularHeader  1173
    +class="cmti-10">1243
    \glslongextraSymLocSetDescWidth  1174
    +class="cmti-10">1244
    \glslongextraSymSetDescWidth  1175
    +class="cmti-10">1245
    \glslongextraTabularVAlign  1176
    +class="cmti-10">1246
    \glslongextraUpdateWidest  1177
    +class="cmti-10">1247
    \glslongextraUpdateWidestChild  1178
    +class="cmti-10">1248
    \GlsLongExtraUseTabulartrue  1179
    +class="cmti-10">1249
    \glslongfont  1180
    +class="cmti-10">1250
    \glslongfootnotefont  1181
    +href="glossaries-extra-manual.html#dx1-33165" >1251
    + + + \glslonghyphenfont  1182
    +class="cmti-10">1252
    \glslongonlyfont  1183
    +class="cmti-10">1253
    \glslongpltok  1184
    +class="cmti-10">1254
    \glslongtok  1185
    +class="cmti-10">1255
    \glslonguserfont  1186
    +class="cmti-10">1256
    \glsnoidxdisplayloc  1187
    +class="cmti-10">1257
    \glspdffmtfull  1188
    +class="cmti-10">1258
    \glspdffmtfullpl  1189
    +class="cmti-10">1259
    \glsps  1190
    +class="cmti-10">1260
    \glspt  1191
    +class="cmti-10">1261
    \glsrenewcommand  1192
    +href="glossaries-extra-manual.html#dx1-79027" >1262
    \glsseefirstitem  1193
    +class="cmti-10">1263
    \glsseeitemformat  1194
    +class="cmti-10">1264
    \glsseelastoxfordsep  1195
    +class="cmti-10">1265
    \glssetattribute  1196
    +href="glossaries-extra-manual.html#dx1-71186" >1266
    +\glssetcategoriesattribute  1267
    +\glssetcategoriesattributes  1268
    \glssetcategoryattribute  1197
    +href="glossaries-extra-manual.html#dx1-71181" >1269
    +\glssetcombinedsepabbrvnbsp  1270
    +\glssetcombinedsepabbrvnone  1271
    +\glssetcombinedsepnarrow  1272
    \glssetregularcategory  1198
    +href="glossaries-extra-manual.html#dx1-71185" >1273
    \glsshortpltok  1199
    +class="cmti-10">1274
    \glsshorttok  1200
    +class="cmti-10">1275
    \glstopicAssignSubIndent  1201
    - - - +class="cmti-10">1276
    \glstopicAssignWidest  1202
    +class="cmti-10">1277
    \glstopicCols  1203
    +class="cmti-10">1278
    \glstopicColsEnv  1204
    +class="cmti-10">1279
    \glstopicDesc  1205
    +class="cmti-10">1280
    \glstopicGroupHeading  1206
    +class="cmti-10">1281
    \glstopicInit  1207
    +class="cmti-10">1282
    \glstopicItem  1208
    +class="cmti-10">1283
    \glstopicLoc  1209
    +class="cmti-10">1284
    \glstopicMarker  1210
    +class="cmti-10">1285
    \glstopicMidSkip  1211
    +class="cmti-10">1286
    \glstopicParIndent  1212
    +class="cmti-10">1287
    \glstopicPostSkip  1213
    +class="cmti-10">1288
    \glstopicPreSkip  1214
    +class="cmti-10">1289
    \glstopicSubIndent  1215
    +class="cmti-10">1290
    \glstopicSubItem  1216
    +class="cmti-10">1291
    \glstopicSubItemBox  1217
    +class="cmti-10">1292
    \glstopicSubItemParIndent  1218
    +class="cmti-10">1293
    \glstopicSubItemSep  1219
    +class="cmti-10">1294
    \glstopicSubLoc  1220
    +class="cmti-10">1295
    \glstopicSubNameFont  1221
    +class="cmti-10">1296
    \glstopicSubPreLocSep  1222
    +class="cmti-10">1297
    + + + \glstopicTitle  1223
    +class="cmti-10">1298
    \glstopicTitleFont  1224
    +class="cmti-10">1299
    \glstreechilddesc  1225
    +class="cmti-10">1300
    \glstreeChildDescLoc  1226
    +class="cmti-10">1301
    \glstreechildpredesc  1227
    +class="cmti-10">1302
    \glstreechildprelocation  1228
    +class="cmti-10">1303
    \glstreechildsymbol  1229
    +class="cmti-10">1304
    \glstreedefaultnamefmt  1230
    +class="cmti-10">1305
    \glstreedesc  1231
    +class="cmti-10">1306
    \glstreeDescLoc  1232
    +class="cmti-10">1307
    \glstreegroupskip  1233
    +class="cmti-10">1308
    \glstreeheadergroupskip  1234
    +class="cmti-10">1309
    \glstreeNoDescSymbolPreLocation  1235
    +class="cmti-10">1310
    \glstreenonamechilddesc  1236
    +class="cmti-10">1311
    \glstreenonamedesc  1237
    +class="cmti-10">1312
    \glstreenonamesymbol  1238
    +class="cmti-10">1313
    \glstreepredesc  1239
    +class="cmti-10">1314
    \glstreePreHeader  1240
    +class="cmti-10">1315
    \glstreeprelocation  1241
    +class="cmti-10">1316
    \glstreesymbol  1242
    +class="cmti-10">1317
    \glsunsetcategoryattribute  1243
    +href="glossaries-extra-manual.html#dx1-71187" >1318
    \glsupdatewidest  1244
    +class="cmti-10">1319
    \glsuseabbrvfont  1245
    +class="cmti-10">1320
    \glsuselongfont  1246
    +class="cmti-10">1321
    \glsuserdescription  1247
    - - - +href="glossaries-extra-manual.html#dx1-33049" >1322
    \Glsxtr  1248
    +href="glossaries-extra-manual.html#dx1-93014" >1323
    \glsxtr  1249
    +href="glossaries-extra-manual.html#dx1-93009" >1324
    \glsxtrabbreviationfont  1250
    +class="cmti-10">1325
    \glsxtrabbrvfootnote  1251
    +href="glossaries-extra-manual.html#dx1-33166" >1326
    \glsxtrabbrvpluralsuffix  1252, 1327, 1253
    +class="cmti-10">1328
    \glsxtractivatenopost  1254
    +href="glossaries-extra-manual.html#dx1-91014" >1329
    \glsxtraddallcrossrefs  1255
    +class="cmti-10">1330
    \glsxtraddlabelprefix  1256
    +href="glossaries-extra-manual.html#dx1-83014" >1331
    \glsxtralias  1257
    +href="glossaries-extra-manual.html#dx1-92019" >1332
    \glsxtrAltTreeIndent  1258
    +class="cmti-10">1333
    \glsxtralttreeInit  1259
    +class="cmti-10">1334
    \glsxtralttreeSubSymbolDescLocation  1260
    +class="cmti-10">1335
    \glsxtralttreeSymbolDescLocation  1261
    +class="cmti-10">1336
    \glsxtrapptocsvfield  1262
    +href="glossaries-extra-manual.html#dx1-86025" >1337
    \GlsXtrAutoAddOnFormat  1263
    +class="cmti-10">1338
    \glsxtrautoindex  1264
    +href="glossaries-extra-manual.html#dx1-75024" >1339
    \glsxtrautoindexassignsort  1265
    +href="glossaries-extra-manual.html#dx1-75020" >1340
    \glsxtrautoindexentry  1266
    +href="glossaries-extra-manual.html#dx1-75019" >1341
    \glsxtrautoindexesc  1267
    +href="glossaries-extra-manual.html#dx1-75022" >1342
    \glsxtrBasicDigitrules  1268
    +href="glossaries-extra-manual.html#dx1-82057" >1343
    \GlsXtrBibTeXEntryAliases  1269
    +href="glossaries-extra-manual.html#dx1-82005" >1344
    + + + \glsxtrbookindexatendgroup  1270
    +class="cmti-10">1345
    \glsxtrbookindexbetween  1271
    +class="cmti-10">1346
    \glsxtrbookindexbookmark  1272
    +class="cmti-10">1347
    \glsxtrbookindexcols  1273
    +class="cmti-10">1348
    \glsxtrbookindexcolspread  1274
    +class="cmti-10">1349
    \glsxtrbookindexfirstmark  1275
    +class="cmti-10">1350
    \glsxtrbookindexfirstmarkfmt  1276
    +class="cmti-10">1351
    \glsxtrbookindexformatheader  1277
    +class="cmti-10">1352
    \glsxtrbookindexlastmark  1278
    +class="cmti-10">1353
    \glsxtrbookindexlastmarkfmt  1279
    +class="cmti-10">1354
    \glsxtrbookindexlocation  1280
    +class="cmti-10">1355
    \glsxtrbookindexmarkentry  1281
    +class="cmti-10">1356
    \glsxtrbookindexmulticolsenv  1282
    +class="cmti-10">1357
    \glsxtrbookindexname  1283
    +class="cmti-10">1358
    \glsxtrbookindexparentchildsep  1284
    +class="cmti-10">1359
    \glsxtrbookindexparentsubchildsep  1285
    +class="cmti-10">1360
    \glsxtrbookindexprelocation  1286
    +class="cmti-10">1361
    \glsxtrbookindexsubatendgroup  1287
    +class="cmti-10">1362
    \glsxtrbookindexsubbetween  1288
    +class="cmti-10">1363
    \glsxtrbookindexsublocation  1289
    +class="cmti-10">1364
    \glsxtrbookindexsubname  1290
    +class="cmti-10">1365
    \glsxtrbookindexsubprelocation  1291
    +class="cmti-10">1366
    \glsxtrbookindexsubsubatendgroup  1292
    +class="cmti-10">1367
    \glsxtrbookindexsubsubbetween  1293
    +class="cmti-10">1368
    \glsxtrchecknohyperfirst  1294
    - - - +href="glossaries-extra-manual.html#dx1-71033" >1369
    \glsxtrclearlabelprefixes  1295
    +href="glossaries-extra-manual.html#dx1-83016" >1370
    \glsxtrcombiningdiacriticIIIrules  1296
    +href="glossaries-extra-manual.html#dx1-82049" >1371
    \glsxtrcombiningdiacriticIIrules  1297
    +href="glossaries-extra-manual.html#dx1-82048" >1372
    \glsxtrcombiningdiacriticIrules  1298
    +href="glossaries-extra-manual.html#dx1-82047" >1373
    \glsxtrcombiningdiacriticIVrules  1299
    +href="glossaries-extra-manual.html#dx1-82050" >1374
    \glsxtrcombiningdiacriticrules  1300
    +href="glossaries-extra-manual.html#dx1-82046" >1375
    \glsxtrcontrolrules  1301
    +href="glossaries-extra-manual.html#dx1-82042" >1376
    \glsxtrcopytoglossary  1302
    +href="glossaries-extra-manual.html#dx1-85007" >1377
    \glsxtrcurrencyrules  1303
    +href="glossaries-extra-manual.html#dx1-82054" >1378
    +\glsxtrcurrentmglscsname  1379
    \GlsXtrDefaultResourceOptions  1304
    +href="glossaries-extra-manual.html#dx1-83004" >1380
    \glsxtrdeffield  1305
    +href="glossaries-extra-manual.html#dx1-86020" >1381
    \glsxtrdetoklocation  1306
    +href="glossaries-extra-manual.html#dx1-84004" >1382
    \glsxtrdigitrules  1307
    +href="glossaries-extra-manual.html#dx1-82056" >1383
    \GlsXtrDiscardUnsetBuffering  1308
    +class="cmti-10">1384
    \glsxtrdisplayendloc  1309
    +class="cmti-10">1385
    \glsxtrdisplayendlochook  1310
    +class="cmti-10">1386
    \glsxtrdisplaylocnameref  1311
    +href="glossaries-extra-manual.html#dx1-81018" >1387
    \glsxtrdisplaysingleloc  1312
    +class="cmti-10">1388
    \glsxtrdisplaystartloc  1313
    +class="cmti-10">1389
    \glsxtrdisplaysupploc  1314
    +href="glossaries-extra-manual.html#dx1-80001" >1390
    + + + \glsxtrdoautoindexname  1315
    +href="glossaries-extra-manual.html#dx1-75016" >1391
    \glsxtrdowrglossaryhook  1316
    +class="cmti-10">1392
    \glsxtredeffield  1317
    +href="glossaries-extra-manual.html#dx1-86023" >1393
    \glsxtremsuffix  1318
    +class="cmti-10">1394
    \GlsXtrEnableEntryCounting  1319
    +href="glossaries-extra-manual.html#dx1-73027" >1395
    \GlsXtrEnableEntryUnitCounting  1320
    +href="glossaries-extra-manual.html#dx1-73030" >1396
    \GlsXtrEnableIndexFormatOverride  1321
    +href="glossaries-extra-manual.html#dx1-75033" >1397
    \GlsXtrEnableInitialTagging  1322
    +class="cmti-10">1398
    \GlsXtrEnableLinkCounting  1323
    +href="glossaries-extra-manual.html#dx1-74002" >1399
    \GlsXtrEnableOnTheFly  1324
    +href="glossaries-extra-manual.html#dx1-93007" >1400
    \GlsXtrEnablePreLocationTag  1325
    +class="cmti-10">1401
    \glsxtrenablerecordcount  1326
    +href="glossaries-extra-manual.html#dx1-84032" >1402
    \glsxtrendfor  1327
    +href="glossaries-extra-manual.html#dx1-86079" >1403
    \glsxtrentryfmt  1328
    +href="glossaries-extra-manual.html#dx1-86008" >1404
    \GlsXtrExpandedFmt  1329
    +class="cmti-10">1405
    \glsxtrfielddolistloop  1330
    +href="glossaries-extra-manual.html#dx1-86061" >1406
    \glsxtrfieldforlistloop  1331
    +href="glossaries-extra-manual.html#dx1-86062" >1407
    \glsxtrfieldformatcsvlist  1332
    +href="glossaries-extra-manual.html#dx1-86080" >1408
    \glsxtrfieldformatlist  1333
    +href="glossaries-extra-manual.html#dx1-86065" >1409
    \glsxtrfieldifinlist  1334
    +href="glossaries-extra-manual.html#dx1-86071" >1410
    \glsxtrfieldlistadd  1335
    +href="glossaries-extra-manual.html#dx1-86057" >1411
    \glsxtrfieldlisteadd  1336
    +href="glossaries-extra-manual.html#dx1-86059" >1412
    \glsxtrfieldlistgadd  1337
    +href="glossaries-extra-manual.html#dx1-86058" >1413
    \glsxtrfieldlistxadd  1338
    +href="glossaries-extra-manual.html#dx1-86060" >1414
    \glsxtrfieldtitlecasecs  1339
    +href="glossaries-extra-manual.html#dx1-71100" >1415
    \glsxtrfieldxifinlist  1340
    - - - +href="glossaries-extra-manual.html#dx1-86072" >1416
    \glsxtrfmt  1341
    +href="glossaries-extra-manual.html#dx1-86002" >1417
    \glsxtrfmt*  1342
    +href="glossaries-extra-manual.html#dx1-86004" >1418
    \GlsXtrFmtDefaultOptions  1343
    +href="glossaries-extra-manual.html#dx1-86003" >1419
    \glsxtrfmtdisplay  1344
    +href="glossaries-extra-manual.html#dx1-86005" >1420
    \glsxtrfmtexternalnameref  1345
    +href="glossaries-extra-manual.html#dx1-81023" >1421
    \GlsXtrFmtField  1346
    +href="glossaries-extra-manual.html#dx1-86001" >1422
    \glsxtrfmtinternalnameref  1347
    +href="glossaries-extra-manual.html#dx1-81022" >1423
    \glsxtrfootnotedescname  1348
    +href="glossaries-extra-manual.html#dx1-33186" >1424
    \glsxtrfootnotedescsort  1349
    +href="glossaries-extra-manual.html#dx1-33188" >1425
    \glsxtrfootnotename  1350
    +href="glossaries-extra-manual.html#dx1-33162" >1426
    \glsxtrforcsvfield  1351
    +href="glossaries-extra-manual.html#dx1-86074" >1427
    \GlsXtrForeignText  1352
    +href="glossaries-extra-manual.html#dx1-86082" >1428
    \GlsXtrForeignTextField  1353
    +href="glossaries-extra-manual.html#dx1-86081" >1429
    \GlsXtrFormatLocationList  1354
    +class="cmti-10">1430
    \GlsXtrForUnsetBufferedList  1355
    +class="cmti-10">1431
    \glsxtrfractionrules  1356
    +href="glossaries-extra-manual.html#dx1-82060" >1432
    \GLSxtrfull  1357
    +class="cmti-10">1433
    \Glsxtrfull  1358
    +class="cmti-10">1434
    \glsxtrfull  1359
    +class="cmti-10">1435
    \Glsxtrfullformat  1360
    +class="cmti-10">1436
    + + + \glsxtrfullformat  1361
    +class="cmti-10">1437
    \GLSxtrfullpl  1362
    +class="cmti-10">1438
    \Glsxtrfullpl  1363
    +class="cmti-10">1439
    \glsxtrfullpl  1364
    +class="cmti-10">1440
    \Glsxtrfullplformat  1365
    +class="cmti-10">1441
    \glsxtrfullplformat  1366
    +class="cmti-10">1442
    \glsxtrfullsep  1367
    +href="glossaries-extra-manual.html#dx1-31096" >1443
    \glsxtrGeneralLatinIIIrules  1368
    +href="glossaries-extra-manual.html#dx1-82063" >1444
    \glsxtrGeneralLatinIIrules  1369
    +href="glossaries-extra-manual.html#dx1-82062" >1445
    \glsxtrGeneralLatinIrules  1370
    +href="glossaries-extra-manual.html#dx1-82061" >1446
    \glsxtrGeneralLatinIVrules  1371
    +href="glossaries-extra-manual.html#dx1-82064" >1447
    \glsxtrGeneralLatinVIIIrules  1372
    +href="glossaries-extra-manual.html#dx1-82068" >1448
    \glsxtrGeneralLatinVIIrules  1373
    +href="glossaries-extra-manual.html#dx1-82067" >1449
    \glsxtrGeneralLatinVIrules  1374
    +href="glossaries-extra-manual.html#dx1-82066" >1450
    \glsxtrGeneralLatinVrules  1375
    +href="glossaries-extra-manual.html#dx1-82065" >1451
    \glsxtrgeneralpuncIIrules  1376
    +href="glossaries-extra-manual.html#dx1-82055" >1452
    \glsxtrgeneralpuncIrules  1377
    +href="glossaries-extra-manual.html#dx1-82053" >1453
    \glsxtrgeneralpuncrules  1378
    +href="glossaries-extra-manual.html#dx1-82052" >1454
    \glsxtrglossentry  1379
    +href="glossaries-extra-manual.html#dx1-91004" >1455
    \glsxtrglossentryother  1380
    +href="glossaries-extra-manual.html#dx1-91016" >1456
    \glsxtrgroupfield  1381
    +href="glossaries-extra-manual.html#dx1-87014" >1457
    \GLSXTRhiername  1382
    +class="cmti-10">1458
    \GLSxtrhiername  1383
    +class="cmti-10">1459
    \GlsXtrhiername  1384
    +class="cmti-10">1460
    \Glsxtrhiername  1385
    +class="cmti-10">1461
    \glsxtrhiername  1386
    - - - +class="cmti-10">1462
    \glsxtrhiernamesep  1387
    +class="cmti-10">1463
    \glsxtrhyphenrules  1388
    +href="glossaries-extra-manual.html#dx1-82051" >1464
    \glsxtrhyphensuffix  1389
    +class="cmti-10">1465
    \glsxtridentifyglslike  1390
    +href="glossaries-extra-manual.html#dx1-83012" >1466
    \glsxtrifcounttrigger  1391
    +href="glossaries-extra-manual.html#dx1-73021" >1467
    \glsxtrifcustomdiscardperiod  1392
    +class="cmti-10">1468
    \GlsXtrIfFieldCmpNum  1393
    +href="glossaries-extra-manual.html#dx1-86049" >1469
    \GlsXtrIfFieldEqNum  1394
    +href="glossaries-extra-manual.html#dx1-86048" >1470
    \GlsXtrIfFieldEqStr  1395
    +href="glossaries-extra-manual.html#dx1-86038" >1471
    \GlsXtrIfFieldEqXpStr  1396
    +href="glossaries-extra-manual.html#dx1-86040" >1472
    \GlsXtrIfFieldNonZero  1397
    +href="glossaries-extra-manual.html#dx1-86047" >1473
    \GlsXtrIfFieldUndef  1398
    +href="glossaries-extra-manual.html#dx1-86037" >1474
    \GlsXtrIfFieldValueInCsvList  1399
    +href="glossaries-extra-manual.html#dx1-86042" >1475
    \glsxtrifhasfield  1400
    +href="glossaries-extra-manual.html#dx1-86033" >1476
    \glsxtrifhasfield*  1401
    +href="glossaries-extra-manual.html#dx1-86035" >1477
    \GlsXtrIfHasNonZeroChildCount  1402
    +href="glossaries-extra-manual.html#dx1-82004" >1478
    \glsxtrifinlabelprefixlist  1403
    +href="glossaries-extra-manual.html#dx1-83017" >1479
    \glsxtrifkeydefined  1404
    +href="glossaries-extra-manual.html#dx1-86012" >1480
    \glsxtriflabelinlist  1405
    +href="glossaries-extra-manual.html#dx1-89001" >1481
    \GlsXtrIfLinkCounterDef  1406
    +href="glossaries-extra-manual.html#dx1-74008" >1482
    + + + +\glsxtrifmulti  1483
    \glsxtrifrecordtrigger  1407
    +href="glossaries-extra-manual.html#dx1-84018" >1484
    \GlsXtrIfUnusedOrUndefined  1408
    +class="cmti-10">1485
    \GlsXtrIfValueInFieldCsvList  1409
    +href="glossaries-extra-manual.html#dx1-86045" >1486
    \glsxtrifwasfirstuse  1410
    +class="cmti-10">1487
    \GlsXtrIfXpFieldEqXpStr  1411
    +href="glossaries-extra-manual.html#dx1-86041" >1488
    \glsxtrinclinkcounter  1412
    +href="glossaries-extra-manual.html#dx1-74005" >1489
    \glsxtrindexaliased  1413
    +href="glossaries-extra-manual.html#dx1-92017" >1490
    \GlsXtrIndexCounterLink  1414
    +href="glossaries-extra-manual.html#dx1-79028" >1491
    \glsxtrindexseealso  1415
    +class="cmti-10">1492
    \glsxtrinitwrgloss  1416
    +class="cmti-10">1493
    \Glsxtrinlinefullformat  1417
    +class="cmti-10">1494
    \glsxtrinlinefullformat  1418
    +class="cmti-10">1495
    \Glsxtrinlinefullplformat  1419
    +class="cmti-10">1496
    \glsxtrinlinefullplformat  1420
    +class="cmti-10">1497
    \glsxtrinsertinsidetrue  1421
    +href="glossaries-extra-manual.html#dx1-31094" >1498
    \glsxtrLatinA  1422
    +href="glossaries-extra-manual.html#dx1-82069" >1499
    \glsxtrLatinAA  1423
    +href="glossaries-extra-manual.html#dx1-82093" >1500
    \glsxtrLatinAELigature  1424
    +href="glossaries-extra-manual.html#dx1-82086" >1501
    \glsxtrLatinE  1425
    +href="glossaries-extra-manual.html#dx1-82070" >1502
    \glsxtrLatinEszettSs  1426
    +href="glossaries-extra-manual.html#dx1-82082" >1503
    \glsxtrLatinEszettSz  1427
    +href="glossaries-extra-manual.html#dx1-82083" >1504
    \glsxtrLatinEth  1428
    +href="glossaries-extra-manual.html#dx1-82084" >1505
    \glsxtrLatinH  1429
    +href="glossaries-extra-manual.html#dx1-82071" >1506
    \glsxtrLatinI  1430
    +href="glossaries-extra-manual.html#dx1-82073" >1507
    \glsxtrLatinInsularG  1431
    +href="glossaries-extra-manual.html#dx1-82091" >1508
    \glsxtrLatinK  1432
    - - - +href="glossaries-extra-manual.html#dx1-82072" >1509
    \glsxtrLatinL  1433
    +href="glossaries-extra-manual.html#dx1-82074" >1510
    \glsxtrLatinLslash  1434
    +href="glossaries-extra-manual.html#dx1-82089" >1511
    \glsxtrLatinM  1435
    +href="glossaries-extra-manual.html#dx1-82075" >1512
    \glsxtrLatinN  1436
    +href="glossaries-extra-manual.html#dx1-82076" >1513
    \glsxtrLatinO  1437
    +href="glossaries-extra-manual.html#dx1-82077" >1514
    \glsxtrLatinOELigature  1438
    +href="glossaries-extra-manual.html#dx1-82087" >1515
    \glsxtrLatinOslash  1439
    +href="glossaries-extra-manual.html#dx1-82088" >1516
    \glsxtrLatinP  1440
    +href="glossaries-extra-manual.html#dx1-82078" >1517
    \glsxtrLatinS  1441
    +href="glossaries-extra-manual.html#dx1-82079" >1518
    \glsxtrLatinSchwa  1442
    +href="glossaries-extra-manual.html#dx1-82092" >1519
    \glsxtrLatinT  1443
    +href="glossaries-extra-manual.html#dx1-82080" >1520
    \glsxtrLatinThorn  1444
    +href="glossaries-extra-manual.html#dx1-82085" >1521
    \glsxtrLatinWynn  1445
    +href="glossaries-extra-manual.html#dx1-82090" >1522
    \glsxtrLatinX  1446
    +href="glossaries-extra-manual.html#dx1-82081" >1523
    \GlsXtrLetField  1447
    +href="glossaries-extra-manual.html#dx1-86029" >1524
    \GlsXtrLetFieldToField  1448
    +href="glossaries-extra-manual.html#dx1-86031" >1525
    \GlsXtrLinkCounterName  1449
    +href="glossaries-extra-manual.html#dx1-74009" >1526
    \GlsXtrLinkCounterValue  1450
    +href="glossaries-extra-manual.html#dx1-74006" >1527
    \GlsXtrLoadResources  1451
    +href="glossaries-extra-manual.html#dx1-76018" >1528
    + + + \glsxtrlocalsetgrouptitle  1452
    +class="cmti-10">1529
    \GlsXtrLocationField  1453
    +href="glossaries-extra-manual.html#dx1-88012" >1530
    \GlsXtrLocationRecordCount  1454
    +href="glossaries-extra-manual.html#dx1-84008" >1531
    \glsxtrlocrangefmt  1455
    +class="cmti-10">1532
    \Glsxtrlong  1456, 1533, 1457
    +class="cmti-10">1534
    \glsxtrlong  1458
    +class="cmti-10">1535
    \glsxtrlonghyphen  1459
    +href="glossaries-extra-manual.html#dx1-33279" >1536
    \glsxtrlonghyphenshort  1460
    +href="glossaries-extra-manual.html#dx1-33260" >1537
    \glsxtrlongnoshortdescname  1461
    +class="cmti-10">1538
    \glsxtrlongnoshortname  1462
    +class="cmti-10">1539
    \GLSxtrlongpl  1463
    +class="cmti-10">1540
    \Glsxtrlongpl  1464
    +class="cmti-10">1541
    \glsxtrlongpl  1465
    +class="cmti-10">1542
    \glsxtrlongshortdescname  1466
    +href="glossaries-extra-manual.html#dx1-33069" >1543
    \glsxtrlongshortdescsort  1467
    +href="glossaries-extra-manual.html#dx1-33066" >1544
    \glsxtrlongshortname  1468
    +class="cmti-10">1545
    \glsxtrlongshortuserdescname  1469
    +href="glossaries-extra-manual.html#dx1-33090" >1546
    \glsxtrMathGreekIIrules  1470
    +href="glossaries-extra-manual.html#dx1-82101" >1547
    \glsxtrMathGreekIrules  1471
    +href="glossaries-extra-manual.html#dx1-82094" >1548
    \glsxtrMathItalicGreekIIrules  1472
    +href="glossaries-extra-manual.html#dx1-82116" >1549
    \glsxtrMathItalicGreekIrules  1473
    +href="glossaries-extra-manual.html#dx1-82110" >1550
    \glsxtrMathItalicLowerGreekIIrules  1474
    +href="glossaries-extra-manual.html#dx1-82130" >1551
    \glsxtrMathItalicLowerGreekIrules  1475
    +href="glossaries-extra-manual.html#dx1-82126" >1552
    \glsxtrMathItalicNabla  1476
    +href="glossaries-extra-manual.html#dx1-82134" >1553
    \glsxtrMathItalicPartial  1477
    +href="glossaries-extra-manual.html#dx1-82133" >1554
    \glsxtrMathItalicUpperGreekIIrules  1478
    +href="glossaries-extra-manual.html#dx1-82123" >1555
    \glsxtrMathItalicUpperGreekIrules  1479
    +href="glossaries-extra-manual.html#dx1-82119" >1556
    +\glsxtrMathUpGreekIIrules  1557
    +\glsxtrMathUpGreekIrules  1558
    +\GlsXtrMglsOrGls  1559
    +\glsxtrmglsWarnAllSkipped  1560
    +\GLSxtrmultientryadjustedname  1561
    +\GlsXtrmultientryadjustedname  1562
    +\Glsxtrmultientryadjustedname  1563
    +\glsxtrmultientryadjustedname  1564
    +\GLSxtrmultientryadjustednamefmt  1565
    +\GlsXtrmultientryadjustednamefmt  1566
    +\Glsxtrmultientryadjustednamefmt  1567
    +\glsxtrmultientryadjustednamefmt  1568
    +\GLSxtrmultientryadjustednameother  1569
    +\GlsXtrmultientryadjustednameother  1570
    +\Glsxtrmultientryadjustednameother  1571
    +\glsxtrmultientryadjustednameother  1572
    +\glsxtrmultientryadjustednamepostsep  1573
    +\glsxtrmultientryadjustednamepresep  1574
    +\glsxtrmultientryadjustednamesep  1575
    \glsxtrMathUpGreekIIrules  1480
    +class="cmtt-10">\glsxtrmultilastotherindex  1576
    \glsxtrMathUpGreekIrules  1481
    +class="cmtt-10">\glsxtrmultilist  1577
    +\glsxtrmultimain  1578
    +\glsxtrmultimainindex  1579
    \glsxtrmultisupplocation  1482
    +href="glossaries-extra-manual.html#dx1-80004" >1580
    +\glsxtrmultitotalelements  1581
    \glsxtrnameloclink  1483
    +href="glossaries-extra-manual.html#dx1-81025" >1582
    \glsxtrnamereflink  1484
    +href="glossaries-extra-manual.html#dx1-81019" >1583
    \glsxtrnewgls  1485
    +href="glossaries-extra-manual.html#dx1-83005" >1584
    \glsxtrnewGLSlike  1486
    +href="glossaries-extra-manual.html#dx1-83007" >1585
    \glsxtrnewglslike  1487
    +href="glossaries-extra-manual.html#dx1-83006" >1586
    \glsxtrnewnumber  1488
    +href="glossaries-extra-manual.html#dx1-4244" >1587
    \glsxtrnewrgls  1489
    +href="glossaries-extra-manual.html#dx1-83008" >1588
    \glsxtrnewrGLSlike  1490
    +href="glossaries-extra-manual.html#dx1-83010" >1589
    \glsxtrnewrglslike  1491
    +href="glossaries-extra-manual.html#dx1-83009" >1590
    \glsxtrnewsymbol  1492
    +href="glossaries-extra-manual.html#dx1-4238" >1591
    \GlsXtrNoGlsWarningAutoMake  1493
    +href="glossaries-extra-manual.html#dx1-98020" >1592
    \GlsXtrNoGlsWarningBuildInfo  1494
    +href="glossaries-extra-manual.html#dx1-98019" >1593
    \GlsXtrNoGlsWarningCheckFile  1495
    +href="glossaries-extra-manual.html#dx1-98015" >1594
    \GlsXtrNoGlsWarningEmptyMain  1496
    +href="glossaries-extra-manual.html#dx1-98013" >1595
    \GlsXtrNoGlsWarningEmptyNotMain  1497
    +href="glossaries-extra-manual.html#dx1-98014" >1596
    \GlsXtrNoGlsWarningEmptyStart  1498
    +href="glossaries-extra-manual.html#dx1-98012" >1597
    \GlsXtrNoGlsWarningHead  1499
    +href="glossaries-extra-manual.html#dx1-98011" >1598
    \GlsXtrNoGlsWarningMisMatch  1500
    +href="glossaries-extra-manual.html#dx1-98016" >1599
    \GlsXtrNoGlsWarningNoOut  1501
    +href="glossaries-extra-manual.html#dx1-98017" >1600
    \GlsXtrNoGlsWarningTail  1502
    +href="glossaries-extra-manual.html#dx1-98018" >1601
    \glsxtrnonprintablerules  1503
    +href="glossaries-extra-manual.html#dx1-82044" >1602
    \glsxtrnopostpunc  1504
    +class="cmti-10">1603
    \glsxtronlydescname  1505
    +href="glossaries-extra-manual.html#dx1-33030" >1604
    +\glsxtronlydescsort  1605
    \glsxtronlyname  1506
    +class="cmti-10">1606
    \glsxtronlysuffix  1507
    +class="cmti-10">1607
    \glsxtrorglong  1508
    +class="cmti-10">1608
    \glsxtrorgshort  1509
    +class="cmti-10">1609
    \GLSxtrp  1510
    +class="cmti-10">1610
    \Glsxtrp  1511
    +class="cmti-10">1611
    \glsxtrp  1512
    +class="cmti-10">1612
    \glsxtrpageref  1513
    +href="glossaries-extra-manual.html#dx1-85004" >1613
    \glsxtrparen  1514
    +class="cmti-10">1614
    \glsxtrpdfentryfmt  1515
    +href="glossaries-extra-manual.html#dx1-86010" >1615
    \Glsxtrpl  1516
    +href="glossaries-extra-manual.html#dx1-93015" >1616
    \glsxtrpl  1517
    +href="glossaries-extra-manual.html#dx1-93013" >1617
    \glsxtrpostdescription  1518
    +class="cmti-10">1618
    \glsxtrposthyphenlong  1519
    +href="glossaries-extra-manual.html#dx1-33292" >1619
    \glsxtrposthyphenshort  1520
    +href="glossaries-extra-manual.html#dx1-33277" >1620
    \glsxtrpostlink  1521
    +class="cmti-10">1621
    + + + \glsxtrpostlinkAddDescOnFirstUse  1522
    +class="cmti-10">1622
    \glsxtrpostlinkAddSymbolDescOnFirstUse  1523
    +class="cmti-10">1623
    \glsxtrpostlinkAddSymbolOnFirstUse  1524
    +class="cmti-10">1624
    \glsxtrpostlinkendsentence  1525
    - - - +class="cmti-10">1625
    \glsxtrpostlinkhook  1526
    +class="cmti-10">1626
    \glsxtrpostlongdescription  1527
    +class="cmti-10">1627
    \glsxtrpostnamehook  1528
    +class="cmti-10">1628
    \GlsXtrPostNewAbbreviation  1529
    +class="cmti-10">1629
    \glsxtrprelocation  1530
    +class="cmti-10">1630
    \glsxtrprependlabelprefix  1531
    +href="glossaries-extra-manual.html#dx1-83015" >1631
    \GlsXtrProvideBibTeXFields  1532
    +href="glossaries-extra-manual.html#dx1-82008" >1632
    \glsxtrprovidecommand  1533
    +href="glossaries-extra-manual.html#dx1-79022" >1633
    \glsxtrprovidestoragekey  1534
    +href="glossaries-extra-manual.html#dx1-86011" >1634
    \GlsXtrRecordCount  1535
    +href="glossaries-extra-manual.html#dx1-84007" >1635
    \GlsXtrRecordCounter  1536
    +href="glossaries-extra-manual.html#dx1-86089" >1636
    \glsxtrrecordtriggervalue  1537
    +href="glossaries-extra-manual.html#dx1-84020" >1637
    \glsxtrregularfont  1538
    +class="cmti-10">1638
    \glsxtrresourcefile  1539
    +href="glossaries-extra-manual.html#dx1-76017" >1639
    \glsxtrresourceinit  1540
    +href="glossaries-extra-manual.html#dx1-83003" >1640
    \glsxtrrestorepostpunc  1541
    +class="cmti-10">1641
    \glsxtrRevertMarks  1542
    +class="cmti-10">1642
    \glsxtrRevertTocMarks  1543
    +class="cmti-10">1643
    +\glsxtrsconlydescname  1644
    +\glsxtrsconlydescsort  1645
    +\glsxtrsconlyname  1646
    +\glsxtrsconlysuffix  1647
    \glsxtrscsuffix  1544
    +class="cmti-10">1648
    +\glsxtrscusersuffix  1649
    \glsxtrseealsolabels  1545
    +class="cmti-10">1650
    \glsxtrseelist  1546
    +class="cmti-10">1651
    \GlsXtrSetActualChar  1547
    +href="glossaries-extra-manual.html#dx1-75049" >1652
    \glsxtrsetaliasnoindex  1548
    +href="glossaries-extra-manual.html#dx1-92014" >1653
    \GlsXtrSetAltModifier  1549
    +class="cmti-10">1654
    \glsxtrsetcategory  1550
    +href="glossaries-extra-manual.html#dx1-71208" >1655
    \glsxtrsetcategoryforall  1551
    +href="glossaries-extra-manual.html#dx1-71210" >1656
    \GlsXtrSetDefaultGlsOpts  1552
    +class="cmti-10">1657
    \GlsXtrSetEncapChar  1553
    +href="glossaries-extra-manual.html#dx1-75052" >1658
    \GlsXtrSetEscChar  1554
    +href="glossaries-extra-manual.html#dx1-75051" >1659
    \GlsXtrSetField  1555
    +href="glossaries-extra-manual.html#dx1-86016" >1660
    \glsxtrsetfieldifexists  1556
    +href="glossaries-extra-manual.html#dx1-86017" >1661
    \glsxtrsetglossarylabel  1557
    +href="glossaries-extra-manual.html#dx1-15014" >1662
    \glsxtrsetgrouptitle  1558
    +class="cmti-10">1663
    \GlsXtrSetLevelChar  1559
    +href="glossaries-extra-manual.html#dx1-75050" >1664
    \glsxtrsetpopts  1560
    +class="cmti-10">1665
    \GlsXtrSetRecordCountAttribute  1561
    +href="glossaries-extra-manual.html#dx1-84016" >1666
    \glsxtrSetWidest  1562
    +href="glossaries-extra-manual.html#dx1-79035" >1667
    + + + \glsxtrSetWidestFallback  1563
    +href="glossaries-extra-manual.html#dx1-79040" >1668
    \Glsxtrshort  1564, 1669, 1565
    +class="cmti-10">1670
    \glsxtrshort  1566
    +class="cmti-10">1671
    \glsxtrshortdescname  1567
    +class="cmti-10">1672
    \glsxtrshorthyphenlong  1568
    +href="glossaries-extra-manual.html#dx1-33285" >1673
    \glsxtrshortlongdescname  1569
    +href="glossaries-extra-manual.html#dx1-33134" >1674
    \glsxtrshortlongname  1570, 1571
    +href="glossaries-extra-manual.html#dx1-33107" >1675, 1676
    \glsxtrshortlonguserdescname  1572
    +href="glossaries-extra-manual.html#dx1-33152" >1677
    \glsxtrshortnolongname  1573
    - - - +class="cmti-10">1678
    \GLSxtrshortpl  1574
    +class="cmti-10">1679
    \Glsxtrshortpl  1575
    +class="cmti-10">1680
    \glsxtrshortpl  1576
    +class="cmti-10">1681
    \glsxtrsmsuffix  1577
    +class="cmti-10">1682
    \glsxtrspacerules  1578
    +href="glossaries-extra-manual.html#dx1-82043" >1683
    \GlsXtrStandaloneEntryName  1579
    +href="glossaries-extra-manual.html#dx1-91010" >1684
    \GlsXtrStandaloneEntryOther  1580
    +href="glossaries-extra-manual.html#dx1-91017" >1685
    \GlsXtrStandaloneGlossaryType  1581
    +href="glossaries-extra-manual.html#dx1-91005" >1686
    \GlsXtrStartUnsetBuffering  1582
    +class="cmti-10">1687
    \GlsXtrStopUnsetBuffering  1583
    +class="cmti-10">1688
    \glsxtrSubScriptDigitrules  1584
    +href="glossaries-extra-manual.html#dx1-82058" >1689
    \Glsxtrsubsequentfmt  1585
    +class="cmti-10">1690
    \glsxtrsubsequentfmt  1586
    +class="cmti-10">1691
    \Glsxtrsubsequentplfmt  1587
    +class="cmti-10">1692
    \glsxtrsubsequentplfmt  1588
    +class="cmti-10">1693
    \glsxtrSuperScriptDigitrules  1589
    +href="glossaries-extra-manual.html#dx1-82059" >1694
    \glsxtrtagfont  1590
    +class="cmti-10">1695
    \GlsXtrTheLinkCounter  1591
    +href="glossaries-extra-manual.html#dx1-74007" >1696
    \GlsXtrTotalRecordCount  1592
    +href="glossaries-extra-manual.html#dx1-84006" >1697
    \glsxtrunsrtdo  1593
    +href="glossaries-extra-manual.html#dx1-88007" >1698
    \GlsXtrUseAbbrStyleFmts  1594
    +class="cmti-10">1699
    \GlsXtrUseAbbrStyleSetup  1595
    +class="cmti-10">1700
    \glsxtrusealias  1596
    +class="cmti-10">1701
    \GLSxtrusefield  1597
    +href="glossaries-extra-manual.html#dx1-86054" >1702
    \Glsxtrusefield  1598
    +href="glossaries-extra-manual.html#dx1-86053" >1703
    \glsxtrusefield  1599
    +href="glossaries-extra-manual.html#dx1-86051" >1704
    \glsxtruserfield  1600
    +href="glossaries-extra-manual.html#dx1-33041" >1705
    \glsxtruserparen  1601
    +href="glossaries-extra-manual.html#dx1-33044" >1706
    \glsxtrusersuffix  1602, 1603
    +class="cmti-10">1707, 1708
    \glsxtrusesee  1604
    +class="cmti-10">1709
    \glsxtruseseealso  1605
    +class="cmti-10">1710
    \glsxtruseseeformat  1606, 1711, 1607
    +class="cmti-10">1712
    \GlsXtrWarnDeprecatedAbbrStyle  1608
    +href="glossaries-extra-manual.html#dx1-31121" >1713
    \GlsXtrWarning  1609
    +href="glossaries-extra-manual.html#dx1-93011" >1714
    \glsxtrword  1610
    +href="glossaries-extra-manual.html#dx1-71057" >1715
    \glsxtrwordsep  1611
    +href="glossaries-extra-manual.html#dx1-71056" >1716
    \glsxtrwrglossmark  1612
    +class="cmti-10">1717
    + + +

    H hyperref package  1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638
    +href="glossaries-extra-manual.html#dx1-4099" >1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743

    I +\ifmglsused  1744
    inputenc package  1639
    +href="glossaries-extra-manual.html#dx1-78012" >1745

    L - - - link-text  1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659
    +href="glossaries-extra-manual.html#dx1-9001" >1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765
    location list  1660, 1661, 1662, 1663, 1664
    +href="glossaries-extra-manual.html#dx1-18013" >1766, 1767, 1768, 1769, 1770
    \longnewglossaryentry  1665
    +class="cmti-10">1771

    M makeglossaries  1666, 1667, 1668, 1669, 1670
    +href="glossaries-extra-manual.html#dx1-3034" >1772, 1773, 1774, 1775, 1776
    \makeglossaries  1671
    +class="cmti-10">1777
    makeglossaries-lite  1672, 1673
    +href="glossaries-extra-manual.html#dx1-6038" >1778, 1779
    makeglossaries-lite  1674, 1675
    +href="glossaries-extra-manual.html#dx1-6039" >1780, 1781
    makeidx package  1676
    +href="glossaries-extra-manual.html#dx1-8081" >1782
    makeindex  1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701
    +href="glossaries-extra-manual.html#dx1-3029" >1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807
    makeindex  1702, 1703, 1704, 1705, 1706
    +href="glossaries-extra-manual.html#dx1-7053" >1808, 1809, 1810, 1811, 1812
    memoir class  1707, 1708
    +href="glossaries-extra-manual.html#dx1-3024" >1813, 1814
    mfirstuc package  1709, 1710, 1711
    +href="glossaries-extra-manual.html#dx1-4" >1815, 1816, 1817
    +\MGLS  1818
    +\MGls  1819
    +\Mgls  1820
    +\mgls  1821
    +\mglscurrentcategory  1822
    +\mglscurrentlabel  1823
    +\mglscurrentlist  1824
    +\mglscurrentmainlabel  1825
    +\mglscurrentmultilabel  1826
    +\mglscurrentoptions  1827
    +\mglscurrentprefix  1828
    +\mglscurrentsuffix  1829
    +\mglscustompostlinkhook  1830
    +\mglsdefcategoryprefix  1831
    +\mglsdefcategorysuffix  1832
    +\mglselementindex  1833
    +\mglselementposthook  1834
    +\mglselementprehook  1835
    + + + +\mglselementreset  1836
    +\mglselementunset  1837
    +\mglsfield  1838
    +\mglsforelements  1839
    +\mglsforotherelements  1840
    +\Mglsfull  1841
    +\mglsfull  1842
    +\mglshascategoryprefix  1843
    +\mglshascategorysuffix  1844
    +\mglsiflast  1845
    +\mglsiflastelementcapscase  1846
    +\mglsiflastelementskipped  1847
    +\mglsiflastelementwasfirstuse  1848
    +\mglsiflastelementwasplural  1849
    +\mglsiflastmaincapscase  1850
    +\mglsiflastmainskipped  1851
    +\mglsiflastmainwasfirstuse  1852
    +\mglsiflastmainwasplural  1853
    +\mglsisfirstuse  1854
    +\mglslastcategory  1855
    +\mglslastelementlabel  1856
    +\mglslastelementpostlinkhook  1857
    +\mglslastmainlabel  1858
    +\mglslastmainpostlinkhook  1859
    +\mglslastmultilabel  1860
    +\mglslocalreset  1861
    +\mglslocalunset  1862
    +\mglslocalunsetothers  1863
    +\Mglslong  1864
    +\mglslong  1865
    +\MGLSmainpl  1866
    +\MGlsmainpl  1867
    +\Mglsmainpl  1868
    +\mglsmainpl  1869
    +\MGlsname  1870
    +\Mglsname  1871
    +\mglsname  1872
    +\MGLSpl  1873
    +\MGlspl  1874
    +\Mglspl  1875
    +\mglspl  1876
    +\mglsprefix  1877
    +\mglsreset  1878
    +\mglsresetall  1879
    +\mglsseefirstitem  1880
    +\mglsseeitem  1881
    + + + +\mglsSetMain  1882
    +\mglsSetOptions  1883, 1884
    +\Mglsshort  1885
    +\mglsshort  1886
    +\mglssuffix  1887
    +\MGlssymbol  1888
    +\Mglssymbol  1889
    +\mglssymbol  1890
    +\mglsunset  1891
    +\mglsunsetall  1892
    +\mglsunsetothers  1893
    +\mglsusecategoryprefix  1894
    +\mglsusecategorysuffix  1895
    +\MGlsusefield  1896
    +\Mglsusefield  1897
    +\mglsusefield  1898
    +\mglswasfirstuse  1899
    +\MPGLS  1900
    +\MPGls  1901
    +\Mpgls  1902
    +\mpgls  1903
    +\MPGLSmainpl  1904
    +\MPGlsmainpl  1905
    +\Mpglsmainpl  1906
    +\mpglsmainpl  1907
    +\MPGLSpl  1908
    +\MPGlspl  1909
    +\mpglspl  1910
    +\mpglsWarning  1911
    multicols package  1712
    +href="glossaries-extra-manual.html#dx1-26002" >1912
    +\multiglossaryentry  1913
    +\multiglossaryentryglobalfalse  1914
    +\multiglossaryentryglobaltrue  1915
    +\multiglossaryentrysetup  1916

    N \newabbreviation  1713
    +class="cmti-10">1917
    \newabbreviationstyle  1714
    +class="cmti-10">1918
    \newacronym  1715
    +class="cmti-10">1919
    \newglossaryentry options
        access  1716
    +href="glossaries-extra-manual.html#dx1-71165" >1920
        alias  1717, 1718, 1719, 1720, 1721, 1722, 1723
    +href="glossaries-extra-manual.html#dx1-6008" >1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929
        category  1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731
    +href="glossaries-extra-manual.html#dx1-6007" >1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937
        counter  1732
    +href="glossaries-extra-manual.html#dx1-7044" >1938
        description  1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758
    +href="glossaries-extra-manual.html#dx1-6002" >1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964
    + + +     descriptionplural  1759, 1760, 1761, 1762, 1763, 1764
    +href="glossaries-extra-manual.html#dx1-6016" >1965, 1966, 1967, 1968, 1969, 1970
        first  1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777
    +href="glossaries-extra-manual.html#dx1-9013" >1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984
        firstaccess  1778
    +href="glossaries-extra-manual.html#dx1-71172" >1985
        firstplural  1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788
    +href="glossaries-extra-manual.html#dx1-9014" >1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995
        group  1789, 1790, 1791, 1792, 1793, 1794
    +href="glossaries-extra-manual.html#dx1-15016" >1996, 1997, 1998, 1999, 2000, 2001
        location  1795, 1796, 1797, 1798, 1799
    +href="glossaries-extra-manual.html#dx1-24023" >2002, 2003, 2004, 2005, 2006
        loclist  1800, 1801, 1802, 1803
    +href="glossaries-extra-manual.html#dx1-81014" >2007, 2008, 2009, 2010
        long  1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812
    +href="glossaries-extra-manual.html#dx1-12026" >2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021
        longplural  1813, 1814, 1815, 1816, 1817, 1818
    +href="glossaries-extra-manual.html#dx1-12010" >2022, 2023, 2024, 2025, 2026, 2027
        name  1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875
    +href="glossaries-extra-manual.html#dx1-8029" >2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087
        nameshortaccess  1876, 1877
    +href="glossaries-extra-manual.html#dx1-71168" >2088, 2089
        parent  1878, 1879, 1880, 1881
    +href="glossaries-extra-manual.html#dx1-22082" >2090, 2091, 2092, 2093, 2094
        plural  1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894
    - - - +href="glossaries-extra-manual.html#dx1-9017" >2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107
        prefix  1895
    +href="glossaries-extra-manual.html#dx1-15011" >2108
        see  1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921
    +href="glossaries-extra-manual.html#dx1-4060" >2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136
        seealso  1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932
    +href="glossaries-extra-manual.html#dx1-4061" >2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149
        short  1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948
    +href="glossaries-extra-manual.html#dx1-8046" >2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169
        shortaccess  1949, 1950, 1951, 1952, 1953
    +href="glossaries-extra-manual.html#dx1-71134" >2170, 2171, 2172, 2173, 2174
        shortplural  1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968
    +href="glossaries-extra-manual.html#dx1-12011" >2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189
        shortpluralaccess  1969, 1970, 1971, 1972
    +href="glossaries-extra-manual.html#dx1-71151" >2190, 2191, 2192, 2193
        sort  1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995
    +href="glossaries-extra-manual.html#dx1-4197" >2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216
        symbol  1996, 1997, 1998, 1999, 2000, 2001
    +href="glossaries-extra-manual.html#dx1-17013" >2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225
        symbolaccess  2002
    +href="glossaries-extra-manual.html#dx1-17015" >2226
        symbolplural  2003, 2004
    +href="glossaries-extra-manual.html#dx1-96037" >2227, 2228
        text  2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019
    +href="glossaries-extra-manual.html#dx1-8028" >2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245
        textaccess  2020
    +href="glossaries-extra-manual.html#dx1-71169" >2246
        type  2021, 2022, 2023, 2024, 2025
    +href="glossaries-extra-manual.html#dx1-14058" >2247, 2248, 2249, 2250, 2251
        user1  2026, 2027, 2028, 2029
    +href="glossaries-extra-manual.html#dx1-17018" >2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260
    +    user2  2261, 2262
    number list  2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063
    +href="glossaries-extra-manual.html#dx1-4030" >2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297

    P package options:
        abbreviations  2064, 2065, 2066, 2067, 2068
    +href="glossaries-extra-manual.html#dx1-4218" >2298, 2299, 2300, 2301, 2302
        accsupp  2069, 2070, 2071, 2072, 2073, 2074, 2075
    +href="glossaries-extra-manual.html#dx1-4038" >2303, 2304, 2305, 2306, 2307, 2308, 2309
        acronym  2076, 2077
    +href="glossaries-extra-manual.html#dx1-4232" >2310, 2311
        acronymlists  2078, 2079
    +href="glossaries-extra-manual.html#dx1-4236" >2312, 2313
        acronyms  2080
    +href="glossaries-extra-manual.html#dx1-4248" >2314
        automake  2081, 2082
    +href="glossaries-extra-manual.html#dx1-6040" >2315, 2316
    + + +     autoseeindex  2083, 2084
    +href="glossaries-extra-manual.html#dx1-4069" >2317, 2318
            false  2085, 2086
    +href="glossaries-extra-manual.html#dx1-4062" >2319, 2320
    +    colorlinks  2321
        counter
            chapter  2087
    +href="glossaries-extra-manual.html#dx1-4101" >2322
            equation  2088
    +href="glossaries-extra-manual.html#dx1-4104" >2323
            section  2089
    +href="glossaries-extra-manual.html#dx1-4102" >2324
            wrglossary  2090
    +href="glossaries-extra-manual.html#dx1-4151" >2325
        debug  2091
    +href="glossaries-extra-manual.html#dx1-4002" >2326
            all  2092, 2093
    +href="glossaries-extra-manual.html#dx1-4005" >2327, 2328
            showtargets  2094, 2095
    +href="glossaries-extra-manual.html#dx1-4003" >2329, 2330, 2331
            showwrgloss  2096, 2097, 2098
    +href="glossaries-extra-manual.html#dx1-4004" >2332, 2333, 2334
            true  2099
    +href="glossaries-extra-manual.html#dx1-4007" >2335
        docdef  2100, 2101, 2102, 2103
    +href="glossaries-extra-manual.html#dx1-4177" >2336, 2337, 2338, 2339, 2340
            atom  2104
    +href="glossaries-extra-manual.html#dx1-4199" >2341, 2342
    +        false  2343
            restricted  2105, 2106, 2107, 2108
    +href="glossaries-extra-manual.html#dx1-4190" >2344, 2345, 2346, 2347, 2348
            true  2109, 2110
    +href="glossaries-extra-manual.html#dx1-4182" >2349, 2350, 2351, 2352, 2353, 2354
        docdefs  2111, 2112, 2113
    - - - +href="glossaries-extra-manual.html#dx1-87023" >2355, 2356, 2357
            true  2114
    +href="glossaries-extra-manual.html#dx1-4189" >2358
        entrycounter  2115, 2116
    +href="glossaries-extra-manual.html#dx1-85002" >2359, 2360
        equations  2117, 2118
    +href="glossaries-extra-manual.html#dx1-4132" >2361, 2362
            true  2119
    +href="glossaries-extra-manual.html#dx1-4105" >2363
        floats  2120
    +href="glossaries-extra-manual.html#dx1-4139" >2364
        hyperfirst
            false  2121
    +href="glossaries-extra-manual.html#dx1-71030" >2365
        index  2122, 2123, 2124
    +href="glossaries-extra-manual.html#dx1-4254" >2366, 2367, 2368
        indexcounter  2125, 2126, 2127, 2128
    +href="glossaries-extra-manual.html#dx1-4100" >2369, 2370, 2371, 2372
        indexcrossrefs  2129, 2130, 2131, 2132
    +href="glossaries-extra-manual.html#dx1-4059" >2373, 2374, 2375, 2376
            false  2133
    +href="glossaries-extra-manual.html#dx1-4068" >2377
        indexonlyfirst  2134, 2135, 2136, 2137
    +href="glossaries-extra-manual.html#dx1-7004" >2378, 2379, 2380, 2381
        makeindex  2138
    +href="glossaries-extra-manual.html#dx1-81016" >2382
        nogroupskip  2139, 2140, 2141, 2142, 2143
    +href="glossaries-extra-manual.html#dx1-21005" >2383, 2384, 2385, 2386, 2387
        nomain  2144
    +href="glossaries-extra-manual.html#dx1-3039" >2388
        nomissingglstext  2145
    +href="glossaries-extra-manual.html#dx1-4217" >2389
        nonumberlist  2146, 2147, 2148, 2149, 2150
    +href="glossaries-extra-manual.html#dx1-8053" >2390, 2391, 2392, 2393, 2394
        nopostdot  2151, 2152, 2153, 2154
    +href="glossaries-extra-manual.html#dx1-4025" >2395, 2396, 2397, 2398
            false  2155, 2156, 2157
    +href="glossaries-extra-manual.html#dx1-3004" >2399, 2400, 2401
            true  2158
    +href="glossaries-extra-manual.html#dx1-3003" >2402
        noredefwarn
            false  2159
    +href="glossaries-extra-manual.html#dx1-3009" >2403
            true  2160
    +href="glossaries-extra-manual.html#dx1-3006" >2404
        notree  2161
    +href="glossaries-extra-manual.html#dx1-22064" >2405
        numbers  2162, 2163, 2164
    +href="glossaries-extra-manual.html#dx1-4243" >2406, 2407, 2408
        postdot  2165, 2166, 2167
    +href="glossaries-extra-manual.html#dx1-3005" >2409, 2410, 2411
        postpunc  2168, 2169, 2170
    +href="glossaries-extra-manual.html#dx1-4021" >2412, 2413, 2414
    + + +         comma  2171
    +href="glossaries-extra-manual.html#dx1-4022" >2415
            dot  2172
    +href="glossaries-extra-manual.html#dx1-4023" >2416
            none  2173
    +href="glossaries-extra-manual.html#dx1-4024" >2417
        prefix  2174
    +href="glossaries-extra-manual.html#dx1-4036" >2418, 2419
        record  2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187
    +href="glossaries-extra-manual.html#dx1-4067" >2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432
            hybrid  2188, 2189, 2190, 2191, 2192, 2193, 2194
    +href="glossaries-extra-manual.html#dx1-4009" >2433, 2434, 2435, 2436, 2437, 2438, 2439
            nameref  2195, 2196, 2197, 2198
    +href="glossaries-extra-manual.html#dx1-4080" >2440, 2441, 2442, 2443, 2444
            off  2199, 2200
    +href="glossaries-extra-manual.html#dx1-6035" >2445, 2446
            only  2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212
    +href="glossaries-extra-manual.html#dx1-4072" >2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459
        savenumberlist  2213
    +href="glossaries-extra-manual.html#dx1-79016" >2460
        section
            chapter  2214
    +href="glossaries-extra-manual.html#dx1-24040" >2461
        seeautonumberlist  2215
    +href="glossaries-extra-manual.html#dx1-8054" >2462
        seenoindex  2216
    +href="glossaries-extra-manual.html#dx1-8011" >2463
            ignore  2217, 2218
    +href="glossaries-extra-manual.html#dx1-8013" >2464, 2465
            warn  2219
    +href="glossaries-extra-manual.html#dx1-87021" >2466
        shortcuts  2220, 2221, 2222
    +href="glossaries-extra-manual.html#dx1-4258" >2467, 2468, 2469
            abbr  2223, 2224
    +href="glossaries-extra-manual.html#dx1-4264" >2470, 2471
            abbreviations  2225, 2226, 2227, 2228
    - - - +href="glossaries-extra-manual.html#dx1-4263" >2472, 2473, 2474, 2475
            ac  2229, 2230, 2231, 2232, 2233, 2234, 2235
    +href="glossaries-extra-manual.html#dx1-4261" >2476, 2477, 2478, 2479, 2480, 2481, 2482
            acro  2236, 2237
    +href="glossaries-extra-manual.html#dx1-4260" >2483, 2484
            acronyms  2238, 2239
    +href="glossaries-extra-manual.html#dx1-4259" >2485, 2486
            all  2240, 2241
    +href="glossaries-extra-manual.html#dx1-4274" >2487, 2488
            false  2242
    +href="glossaries-extra-manual.html#dx1-4280" >2489
            none  2243
    +href="glossaries-extra-manual.html#dx1-4279" >2490
            other  2244, 2245
    +href="glossaries-extra-manual.html#dx1-4265" >2491, 2492
            true  2246
    +href="glossaries-extra-manual.html#dx1-4275" >2493
    +    showtargets  2494
    +        annoteleft  2495
        sort
            none  2247, 2248
    +href="glossaries-extra-manual.html#dx1-4096" >2496, 2497
        stylemods  2249, 2250, 2251, 2252, 2253, 2254
    +href="glossaries-extra-manual.html#dx1-4048" >2498, 2499, 2500, 2501, 2502, 2503
            all  2255
    +href="glossaries-extra-manual.html#dx1-4051" >2504
            default  2256
    +href="glossaries-extra-manual.html#dx1-4050" >2505
        subentrycounter  2257, 2258
    +href="glossaries-extra-manual.html#dx1-85003" >2506, 2507
        symbols  2259, 2260, 2261
    +href="glossaries-extra-manual.html#dx1-4237" >2508, 2509, 2510
        toc
            false  2262
    +href="glossaries-extra-manual.html#dx1-3002" >2511
            true  2263
    +href="glossaries-extra-manual.html#dx1-3001" >2512
        translate
            babel  2264
    +href="glossaries-extra-manual.html#dx1-3011" >2513
            true  2265
    +href="glossaries-extra-manual.html#dx1-3013" >2514
        undefaction  2266, 2267
    +href="glossaries-extra-manual.html#dx1-4052" >2515, 2516
            error  2268, 2269, 2270
    +href="glossaries-extra-manual.html#dx1-4053" >2517, 2518, 2519
            warn  2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279
    +href="glossaries-extra-manual.html#dx1-4054" >2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528
        writeglslabelnames  2280
    +href="glossaries-extra-manual.html#dx1-4203" >2529
    + + +     writeglslabels  2281
    +href="glossaries-extra-manual.html#dx1-4202" >2530
        xindy  2282, 2283
    +href="glossaries-extra-manual.html#dx1-8077" >2531, 2532
    page (counter)  2284, 2285, 2286, 2287, 2288, 2289
    +href="glossaries-extra-manual.html#dx1-4103" >2533, 2534, 2535, 2536, 2537, 2538
    polyglossia package  2290, 2291
    +href="glossaries-extra-manual.html#dx1-86087" >2539, 2540
    \pretoglossarypreamble  2292
    +href="glossaries-extra-manual.html#dx1-85011" >2541
    \printabbreviations  2293
    +href="glossaries-extra-manual.html#dx1-4222" >2542
    \printglossary options
        label  2294, 2295
    +href="glossaries-extra-manual.html#dx1-15013" >2543, 2544
        nogroupskip  2296
    +href="glossaries-extra-manual.html#dx1-21006" >2545
        numberedsection  2297
    +href="glossaries-extra-manual.html#dx1-90038" >2546
        prefix  2298
    +href="glossaries-extra-manual.html#dx1-15010" >2547
        style  2299
    +href="glossaries-extra-manual.html#dx1-90037" >2548
        target  2300, 2301
    +href="glossaries-extra-manual.html#dx1-15006" >2549, 2550
        targetnameprefix  2302
    +href="glossaries-extra-manual.html#dx1-15007" >2551
        title  2303, 2304
    +href="glossaries-extra-manual.html#dx1-90035" >2552, 2553
        toctitle  2305
    +href="glossaries-extra-manual.html#dx1-90036" >2554
        type  2306
    +href="glossaries-extra-manual.html#dx1-90023" >2555
    \printnoidxglossary options
        sort  2307
    +href="glossaries-extra-manual.html#dx1-87024" >2556
    \printunsrtabbreviations  2308
    +href="glossaries-extra-manual.html#dx1-4224" >2557
    \printunsrtacronyms  2309
    - - - +href="glossaries-extra-manual.html#dx1-4251" >2558
    \printunsrtglossaries  2310
    +href="glossaries-extra-manual.html#dx1-87025" >2559
    \printunsrtglossary  2311
    +href="glossaries-extra-manual.html#dx1-87001" >2560
    \printunsrtglossary options
        groups  2312, 2313
    +href="glossaries-extra-manual.html#dx1-15015" >2561, 2562
        leveloffset  2314
    +href="glossaries-extra-manual.html#dx1-15017" >2563
    \printunsrtglossary*  2315
    +href="glossaries-extra-manual.html#dx1-87005" >2564
    \printunsrtglossaryentryprocesshook  2316
    +href="glossaries-extra-manual.html#dx1-88003" >2565
    \printunsrtglossaryhandler  2317
    +href="glossaries-extra-manual.html#dx1-88006" >2566
    \printunsrtglossarypredoglossary  2318
    +href="glossaries-extra-manual.html#dx1-88005" >2567
    \printunsrtglossaryskipentry  2319
    +href="glossaries-extra-manual.html#dx1-88004" >2568
    \printunsrtglossaryunit  2320
    +href="glossaries-extra-manual.html#dx1-89003" >2569
    \printunsrtglossaryunitsetup  2321
    +href="glossaries-extra-manual.html#dx1-89004" >2570
    \printunsrtindex  2322
    +href="glossaries-extra-manual.html#dx1-4256" >2571
    \printunsrtnumbers  2323
    +href="glossaries-extra-manual.html#dx1-4246" >2572
    \printunsrtsymbols  2324
    +href="glossaries-extra-manual.html#dx1-4241" >2573
    \provideignoredglossary  2325
    +class="cmti-10">2574
    +\providemultiglossaryentry  2575

    R relsizes package  2326
    +href="glossaries-extra-manual.html#dx1-31052" >2576
    \RestoreAcronyms  2327
    +class="cmti-10">2577
    \rGLS  2328
    +href="glossaries-extra-manual.html#dx1-84013" >2578
    \rGls  2329
    +href="glossaries-extra-manual.html#dx1-84011" >2579
    \rgls  2330
    +href="glossaries-extra-manual.html#dx1-84009" >2580
    + + + \rGLSformat  2331
    +href="glossaries-extra-manual.html#dx1-84029" >2581
    \rGlsformat  2332
    +href="glossaries-extra-manual.html#dx1-84027" >2582
    \rglsformat  2333
    +href="glossaries-extra-manual.html#dx1-84025" >2583
    \rGLSpl  2334
    +href="glossaries-extra-manual.html#dx1-84014" >2584
    \rGlspl  2335
    +href="glossaries-extra-manual.html#dx1-84012" >2585
    \rglspl  2336
    +href="glossaries-extra-manual.html#dx1-84010" >2586
    \rGLSplformat  2337
    +href="glossaries-extra-manual.html#dx1-84030" >2587
    \rGlsplformat  2338
    +href="glossaries-extra-manual.html#dx1-84028" >2588
    \rglsplformat  2339
    +href="glossaries-extra-manual.html#dx1-84026" >2589

    S \seealsoname  2340
    +class="cmti-10">2590
    \setabbreviationstyle  2341
    +class="cmti-10">2591
    slantsc package  2342
    +href="glossaries-extra-manual.html#dx1-37009" >2592
    soul package  2343, 2344
    +href="glossaries-extra-manual.html#dx1-7024" >2593, 2594
    style package  2345
    +href="glossaries-extra-manual.html#dx1-24005" >2595
    subentrycounter package  2346
    +href="glossaries-extra-manual.html#dx1-91021" >2596

    T texindy  2347
    - - - +href="glossaries-extra-manual.html#dx1-75007" >2597
    textcase package  2348
    +href="glossaries-extra-manual.html#dx1-7" >2598
    tracklang package  2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358
    +href="glossaries-extra-manual.html#dx1-3" >2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608
    translator package  2359
    +href="glossaries-extra-manual.html#dx1-3012" >2609

    U upgreek package  2360, 2361, 2362, 2363
    +href="glossaries-extra-manual.html#dx1-82029" >2610, 2611, 2612, 2613

    W wrglossary (counter)  2364, 2365, 2366, 2367, 2368
    +href="glossaries-extra-manual.html#dx1-4152" >2614, 2615, 2616, 2617, 2618
    +\writemultiglossentry  2619

    X xfor package  2369, 2370, 2371
    +href="glossaries-extra-manual.html#dx1-8" >2620, 2621, 2622, 2623
    \xglssetwidest  2372
    +class="cmti-10">2624
    \xglsupdatewidest  2373
    +class="cmti-10">2625
    \xGlsXtrIfValueInFieldCsvList  2374
    +href="glossaries-extra-manual.html#dx1-86046" >2626
    \xGlsXtrSetField  2375
    +href="glossaries-extra-manual.html#dx1-86028" >2627
    xindy  2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395
    +href="glossaries-extra-manual.html#dx1-3030" >2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647
    xindy  2396
    +href="glossaries-extra-manual.html#dx1-7056" >2648
    xkeyval package  2397
    +href="glossaries-extra-manual.html#dx1-6" >2649
    + + +

    1.14.21 was originally intended as the last release of glossaries to incorporate new features, but a few new minor features slipped in with some bug fixes in v4.21.

    -

    2.1The descriptionpluralfield and the short form was stored in the symbol field.

    -

    4.1For compatibility with earlier versions, \glsabbrvscfont \glsxtrscfont is now deprecated. Likewise for similar commands.

    -

    9.1

    10.1Version 1.11 only allowed one use of \GlsXtrLoadResources per document.

    -

    9.2

    10.2v1.08 assumed filename.tex .glstex extension was enforced by version 1.11.

    -

    10.1

    11.1Pre version 1.28 used \csedef.

    diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf index 9d9c499740..fd0a2ca8dc 100644 Binary files a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf and b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex index 5f47addf84..44d5314dad 100644 --- a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex +++ b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.tex @@ -17,6 +17,7 @@ \makeatother \usepackage{alltt} +\usepackage[normalem]{ulem} \usepackage{hologo} \usepackage[colorlinks, hyperindex=false, @@ -28,6 +29,20 @@ package}, \makeglossaries +\makeatletter +\@nlctdoc@if@usingtexht + { + \newcommand{\headingsty}[1]{#1} + \newcommand{\headingcs}[1]{#1} + \newcommand{\headingapp}[1]{#1} + } + { + \newcommand{\headingsty}[1]{\styfmt{#1}} + \newcommand{\headingcs}[1]{\cs{#1}} + \newcommand{\headingapp}[1]{\appfmt{#1}} + } +\makeatother + \GlsXtrEnableEntryUnitCounting{general}{0}{page} \renewcommand*{\glsxtrifcounttrigger}[3]{#3} @@ -225,13 +240,13 @@ styles (glossaries):>#1={\protect\ttfamily#1}|main}} \DeleteShortVerb{\|} \MakeShortVerb{"} - \title{glossaries-extra.sty v1.47: + \title{glossaries-extra.sty v1.48: an extension to the glossaries package} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} - \date{2021-11-04} + \date{2021-11-22} \maketitle \begin{abstract} @@ -587,6 +602,29 @@ file for \gls{makeindex} or \gls{xindy}. The \pkgopt[all]{debug} option implements both \pkgopt[showtargets]{debug} and \pkgopt[showwrgloss]{debug}. +\item[{\pkgoptdef{showtargets}}] This implements +\pkgopt[showtargets]{debug} and can also adjust the way the targets +are shown. By default, any links that occur in \TeX's \qt{outer} +mode are placed in the margin according to \ics{glsshowtargetouter} +(provided by the base \styfmt{glossaries} package). This can lead to +the \qt{too many floats} error if there are multiple instances of +commands like \cs{gls} in a single line. This option provides a way +of changing this to an in-line annotation. Available values: +\begin{description} +\item[\optfmt{left}] A marker is placed to the left of the +link/target and a marginal note is used in outer mode; +\item[\optfmt{right}] A marker is placed to the right of the +link/target and a marginal note is used in outer mode; +\item[\optfmt{innerleft}] A marker and annotation are placed to the left of the +link/target in all modes; +\item[\optfmt{innerright}] A marker and annotation are placed to the +right of the link/target in all modes; +\item[\optfmt{annoteleft}] Markers are placed on either side of the +link/target and the annotation is on the left; +\item[\optfmt{annoteright}] Markers are placed on either side of the +link/target and the annotation is on the right. +\end{description} + \item[{\pkgoptdef{postdot}}] (New to version 1.12.) This option is just a shortcut for \pkgopt[false]{nopostdot}. @@ -988,74 +1026,75 @@ See the \gls{bib2gls} documentation for the \cs{newglossaryentry}. It was originally a boolean option, but as from version 1.06, it can now take one of the following values (if the value is omitted, \pkgoptfmt{true} is assumed): -\begin{itemize} -\item[{\pkgopt[false]{docdef}}] \ics{newglossaryentry} is not -permitted in the \env{document} environment (default). - -\item[{\pkgopt[true]{docdef}}] \cs{newglossaryentry} behaves as it -does in the base \styfmt{glossaries} package. That is, where -its use is permitted in the \env{document} environment, it -uses the \texttt{.glsdefs} temporary file to store the entry -definitions so that on the next \LaTeX\ run the entries are -defined at the beginning of the \env{document} environment. -This allows the entry information to be referenced in the glossary, -even if the glossary occurs before \cs{newglossaryentry}. -(For example, when the glossary is displayed in the front matter.) -This method of saving the definitions for the next \LaTeX\ run -has drawbacks that are detailed in the \styfmt{glossaries} user -manual. - -Remember that if \cs{newglossaryentry} wouldn't be allowed -in the \env{document} environment with the -base \styfmt{glossaries} package, then it still won't -be allowed with \pkgopt[true]{docdefs}. -If your glossaries occur at the end of the document, consider using -\pkgopt[restricted]{docdef} instead. - -\item[{\pkgopt[restricted]{docdef}}] (new to version 1.06) -\ics{newglossaryentry} is permitted in the \env{document} -environment without using the \texttt{.glsdefs} file. This means -that all entries must be defined before the glossary is displayed, -but it avoids the complications associated with saving the -entry details in a temporary file. You will still need to take -care about any changes made to characters that are required -by the \meta{key}=\meta{value} mechanism (that is, the comma and -equal sign) and any \gls{makeindex} or \gls{xindy} character that -occurs in the \gloskey{sort} key or label. If any of those -characters are made active in the document, then it can cause -problems with the entry definition. This option will allow -\cs{newglossaryentry} to be used in the document with -\cs{makenoidxglossaries}, but note that \cs{longnewglossaryentry} -remains a preamble-only command. - -With this option, if an entry appears in the glossary before -it has been defined, an error will occur (or a warning if -the \pkgopt[warn]{undefaction} option is used.) If you edit your -document and either remove an entry or change its label, you may -need to delete the document's temporary files (such as the -\texttt{.aux} and \texttt{.gls} files). - -\item[{\pkgopt[atom]{docdef}}] (new to version 1.34) -This option behaves like \pkgopt[restricted]{docdef} but creates the -\texttt{.glsdefs} file for -\href{https://atom.io/packages/autocomplete-glossaries}{atom's -autocomplete support}. This file isn't input by -\styfmt{glossaries-extra} and so associated problems with the use of -this file are avoided, but it allows the autocomplete support to -find the labels in the file. As with \pkgopt[restricted]{docdef}, -entries may be defined in the preamble or anywhere in the document, -but they may only be referenced after they have been defined. -Entries must be defined before the associated glossary is displayed. - -If you need a list of all entry labels for the use of an editor or -helper script you may also want to consider the package options -\pkgopt{writeglslabels} and \pkgopt{writeglslabelnames} provided by -the base \sty{glossaries} package. Note that with these options -and \pkgopt[atom]{docdef}, only the entry labels visible to \LaTeX\ can -be saved. So if you are using \gls{bib2gls} you will only get the -labels of the entries that are selected by \gls{bib2gls}. -\end{itemize} + \begin{itemize} + \item {\pkgopt[false]{docdef}}: \ics{newglossaryentry} is not + permitted in the \env{document} environment (default). + + \item {\pkgopt[true]{docdef}}: \cs{newglossaryentry} behaves as it + does in the base \styfmt{glossaries} package. That is, where + its use is permitted in the \env{document} environment, it + uses the \texttt{.glsdefs} temporary file to store the entry + definitions so that on the next \LaTeX\ run the entries are + defined at the beginning of the \env{document} environment. + This allows the entry information to be referenced in the glossary, + even if the glossary occurs before \cs{newglossaryentry}. + (For example, when the glossary is displayed in the front matter.) + This method of saving the definitions for the next \LaTeX\ run + has drawbacks that are detailed in the \styfmt{glossaries} user + manual. + + Remember that if \cs{newglossaryentry} wouldn't be allowed + in the \env{document} environment with the + base \styfmt{glossaries} package, then it still won't + be allowed with \pkgopt[true]{docdefs}. + If your glossaries occur at the end of the document, consider using + \pkgopt[restricted]{docdef} instead. + + \item {\pkgopt[restricted]{docdef}}: (new to version 1.06) + \ics{newglossaryentry} is permitted in the \env{document} + environment without using the \texttt{.glsdefs} file. This means + that all entries must be defined before the glossary is displayed, + but it avoids the complications associated with saving the + entry details in a temporary file. You will still need to take + care about any changes made to characters that are required + by the \meta{key}=\meta{value} mechanism (that is, the comma and + equal sign) and any \gls{makeindex} or \gls{xindy} character that + occurs in the \gloskey{sort} key or label. If any of those + characters are made active in the document, then it can cause + problems with the entry definition. This option will allow + \cs{newglossaryentry} to be used in the document with + \cs{makenoidxglossaries}, but note that \cs{longnewglossaryentry} + remains a preamble-only command. + + With this option, if an entry appears in the glossary before + it has been defined, an error will occur (or a warning if + the \pkgopt[warn]{undefaction} option is used.) If you edit your + document and either remove an entry or change its label, you may + need to delete the document's temporary files (such as the + \texttt{.aux} and \texttt{.gls} files). + + \item {\pkgopt[atom]{docdef}}: (new to version 1.34) + This option behaves like \pkgopt[restricted]{docdef} but creates the + \texttt{.glsdefs} file for + \href{https://atom.io/packages/autocomplete-glossaries}{atom's + autocomplete support}. This file isn't input by + \styfmt{glossaries-extra} and so associated problems with the use of + this file are avoided, but it allows the autocomplete support to + find the labels in the file. As with \pkgopt[restricted]{docdef}, + entries may be defined in the preamble or anywhere in the document, + but they may only be referenced after they have been defined. + Entries must be defined before the associated glossary is displayed. + + If you need a list of all entry labels for the use of an editor or + helper script you may also want to consider the package options + \pkgopt{writeglslabels} and \pkgopt{writeglslabelnames} provided by + the base \sty{glossaries} package. Note that with these options + and \pkgopt[atom]{docdef}, only the entry labels visible to \LaTeX\ can + be saved. So if you are using \gls{bib2gls} you will only get the + labels of the entries that are selected by \gls{bib2gls}. + + \end{itemize} The \styfmt{glossaries} package allows \cs{newglossaryentry} within the \env{document} environment (when @@ -1206,50 +1245,52 @@ which uses \ics{printunsrtglossary}. \item[{\pkgoptdef{shortcuts}}] Unlike the \styfmt{glossaries} package option of the same name, this option isn't boolean but has multiple values: -\begin{itemize} -\item \pkgopt[acronyms]{shortcuts} (or \pkgopt[acro]{shortcuts}): -set the shortcuts provided by the \styfmt{glossaries} package for -acronyms (such as \cs{ac}). Note that the short and long forms don't -use \cs{glsxtrshort} and \cs{glsxtrlong} but use the original -\cs{acrshort} and \cs{acrlong}, which don't recognise multiple -abbreviation styles. The better option with \styfmt{glossaries-extra} -is \pkgopt[ac]{shortcuts}. - -\item \pkgopt[ac]{shortcuts}: -set the shortcuts provided by the \styfmt{glossaries} package for -acronyms (such as \cs{ac}) but uses the \styfmt{glossaries-extra} -interface (such as \cs{glsxtrshort} rather than \cs{acrshort}). -In this case \cs{ac} is defined as \cs{cgls} rather than -\cs{gls}. - -\item \pkgopt[abbreviations]{shortcuts} (or -\pkgopt[abbr]{shortcuts}): -set the abbreviation shortcuts provided by \styfmt{glossaries-extra}. (See -\sectionref{sec:abbrshortcuts}.) These settings don't switch on the -acronym shortcuts provided by the \styfmt{glossaries} package. - -\item \pkgopt[other]{shortcuts}: set the \qt{other} -shortcut commands, but not the shortcut commands for abbreviations -or the acronym shortcuts provided by \styfmt{glossaries}. -The \qt{other} shortcuts are: -\begin{itemize} -\item \ics{newentry} equivalent to \ics{newglossaryentry} -\item \ics{newsym} equivalent to \ics{glsxtrnewsymbol} (see the -\pkgopt{symbols} option). -\item \ics{newnum} equivalent to \ics{glsxtrnewnumber} (see the -\pkgopt{numbers} option). -\end{itemize} - -\item \pkgopt[all]{shortcuts} (or \pkgopt[true]{shortcuts}): -implements \pkgopt[ac]{shortcuts}, \pkgopt[abbreviations]{shortcuts} -and \pkgopt[other]{shortcuts}. + \begin{itemize} + \item \pkgopt[acronyms]{shortcuts} (or \pkgopt[acro]{shortcuts}): + set the shortcuts provided by the \styfmt{glossaries} package for + acronyms (such as \cs{ac}). Note that the short and long forms don't + use \cs{glsxtrshort} and \cs{glsxtrlong} but use the original + \cs{acrshort} and \cs{acrlong}, which don't recognise multiple + abbreviation styles. The better option with \styfmt{glossaries-extra} + is \pkgopt[ac]{shortcuts}. + + \item \pkgopt[ac]{shortcuts}: + set the shortcuts provided by the \styfmt{glossaries} package for + acronyms (such as \cs{ac}) but uses the \styfmt{glossaries-extra} + interface (such as \cs{glsxtrshort} rather than \cs{acrshort}). + In this case \cs{ac} is defined as \cs{cgls} rather than + \cs{gls}. + + \item \pkgopt[abbreviations]{shortcuts} (or + \pkgopt[abbr]{shortcuts}): + set the abbreviation shortcuts provided by \styfmt{glossaries-extra}. (See + \sectionref{sec:abbrshortcuts}.) These settings don't switch on the + acronym shortcuts provided by the \styfmt{glossaries} package. + + \item \pkgopt[other]{shortcuts}: set the \qt{other} + shortcut commands, but not the shortcut commands for abbreviations + or the acronym shortcuts provided by \styfmt{glossaries}. + The \qt{other} shortcuts are: + \begin{itemize} + \item \ics{newentry} equivalent to \ics{newglossaryentry} + \item \ics{newsym} equivalent to \ics{glsxtrnewsymbol} (see the + \pkgopt{symbols} option). + \item \ics{newnum} equivalent to \ics{glsxtrnewnumber} (see the + \pkgopt{numbers} option). + \end{itemize} + + \item \pkgopt[all]{shortcuts} (or \pkgopt[true]{shortcuts}): + implements \pkgopt[ac]{shortcuts}, \pkgopt[abbreviations]{shortcuts} + and \pkgopt[other]{shortcuts}. + + \item \pkgopt[none]{shortcuts} (or \pkgopt[false]{shortcuts}): + don't define any of the shortcut commands (default). -\item \pkgopt[none]{shortcuts} (or \pkgopt[false]{shortcuts}): -don't define any of the shortcut commands (default). -\end{itemize} + \end{itemize} Note that multiple invocations of the \pkgopt{shortcuts} option \emph{within the same option list} will override each other. + \end{description} After the \styfmt{glossaries-extra} package has been loaded, you can @@ -1265,6 +1306,7 @@ after \ics{makenoidxglossaries}. \label{sec:modifications} \section{Defining Entries} +\label{sec:definingentries} The \styfmt{glossaries} package provides \ics{nopostdesc} which may be used in the \gloskey{description} to suppress @@ -2536,6 +2578,7 @@ complex formatting or if the field value contains problematic content. \section{Plurals} +\label{sec:plurals} Some languages, such as English, have a general rule that plurals are formed from the singular with a suffix appended. This isn't @@ -2755,6 +2798,7 @@ they may be directed to the SHTML entry in the glossary. For these reasons it's better to use the simple expandable commands like \ics{glsentrytext} or \ics{glsentryshort} in the definition of other entries (although that doesn't fix the first problem). + Alternatively use something like: \begin{verbatim} \newacronym @@ -2787,7 +2831,11 @@ This will pick up the font style setting of the outer entry (shtml, in the above case). This isn't a problem in the above example as all the abbreviations use the same style. -However if you're really determined to use +If the term can simply be treated as a series of previously defined +entries, then consider using multi-entries (or compound sets). See +\sectionref{sec:multientries} for further details. + +However, if you're really determined to use \ics{gls} in a field that may be included within some \gls{linktext}, \styfmt{glossaries-extra} patches internals used by the linking commands so that if \cs{gls} (or plural or @@ -3158,6 +3206,7 @@ is redefined to use the subsequent use abbreviation font command \cs{RestoreAcronyms}. \section{Glossaries} +\label{sec:glossaries} The \ics{newignoredglossary}\marg{type} command now (as from v1.11) has a starred version that doesn't automatically switch off the hyperlinks. @@ -3192,6 +3241,12 @@ be displayed multiple times. of avoiding duplicate target names is to set a prefix used for the names. Unlike changing \cs{glolinkprefix} this doesn't affect any hyperlinks (such as those created with \cs{gls}). +\begin{important} +This doesn't include the navigation hyper group targets in styles such as +\glostyle{listhypergroup}. The link name for these is given by +\ics{glsnavhyperlinkname}. +\end{important} + \item \gloskey[printglossary]{prefix}\texttt{=}\marg{prefix}. If you do actually want to locally change \cs{glolinkprefix}, you can use @@ -3560,7 +3615,7 @@ doesn't display any differently from but it does make it easier to define your own custom list handler that can accommodate the ranges. -\subsection{The \styfmt{glossaries-extra-stylemods} Package} +\subsection{The \headingsty{glossaries-extra-stylemods} Package} \label{sec:stylemods} As from v1.02, \styfmt{glossaries-extra} now includes the package @@ -4042,13 +4097,14 @@ the accompanying sample files \nolinkurl{sample-alttree.tex}, \nolinkurl{sample-alttree-marginpar.tex}. \chapter{New Glossary Styles} +\label{sec:newglossarystyles} The \styfmt{glossaries-extra} package comes with some new styles. The associated style package needs to be loaded. This can be done with \cs{usepackage} but it's simpler to use the \pkgopt{stylemods} option. -\section{\styfmt{glossary-bookindex} package} +\section{\headingsty{glossary-bookindex} package} \label{sec:bookindex} As from v1.21, \styfmt{glossaries-extra} has a new supplementary @@ -4343,7 +4399,7 @@ to show the first and last entry for the current page with: \rfoot{\glsxtrbookindexlastmark}% \end{verbatim} -\section{\styfmt{glossary-longextra} package} +\section{\headingsty{glossary-longextra} package} \label{sec:longextra} As from version 1.37, the \styfmt{glossaries-extra} package comes @@ -4834,7 +4890,7 @@ and \end{description} -\section{\styfmt{glossary-topic} package} +\section{\headingsty{glossary-topic} package} \label{sec:topic} As from version 1.40, the \styfmt{glossaries-extra} package comes @@ -5684,6 +5740,41 @@ for the first use long form, and \end{definition} for the short plural suffix. +The \qt{short-sc-only} styles, such as +\abbrstyle{long-only-short-sc-only}: +\begin{definition}[\DescribeMacro\glsabbrvsconlyfont] +\cs{glsabbrvsconlyfont}\marg{text} +\end{definition} +for the short form (which uses \ics{glsabbrvscfont}), and +\begin{definition}[\DescribeMacro\glsfirstabbrvsconlyfont] +\cs{glsfirstabbrvsconlyfont}\marg{text} +\end{definition} +which uses \ics{glsabbrvsconlyfont}. +The short plural suffix is obtained from: +\begin{definition}[\DescribeMacro\glsxtrsconlysuffix] +\cs{glsxtrsconlysuffix} +\end{definition} +This uses \ics{glsxtrscsuffix}. For other font types, use the +one of \qt{short-only} styles and redefine \cs{glsabbrvonlyfont} as +required. (The smallcaps style is a special case as its plural suffix is +awkward.) + +The \qt{postshort-sc-user} styles, such as +\abbrstyle{long-postshort-sc-user}: +\begin{definition}[\DescribeMacro\glsabbrvscuserfont] +\cs{glsabbrvscuserfont}\marg{text} +\end{definition} +for the short form (which uses \ics{glsabbrvscfont}), and +\begin{definition}[\DescribeMacro\glsfirstabbrvscuserfont] +\cs{glsfirstabbrvscuserfont}\marg{text} +\end{definition} +which uses \ics{glsabbrvscuserfont}. +The short plural suffix is obtained from: +\begin{definition}[\DescribeMacro\glsxtrscusersuffix] +\cs{glsxtrscusersuffix} +\end{definition} +This uses \ics{glsxtrscsuffix}. + Note that by default inserted material (provided in the final optional argument of commands like \cs{gls}), is placed outside the font command in the predefined styles. To move it inside, use: @@ -6124,20 +6215,48 @@ any commands that shouldn't be expanded. The long form can be referenced with \cs{the}\cs{glslongtok} and the short form can be referenced with \cs{the}\cs{glsshorttok}. +\item[\abbrstyledef{long-only-short-sc-only}] + +New to version 1.48, this is like \abbrstyle{long-only-short-only} but +uses smallcaps for the short form. The name is obtained from: +\begin{definition}[\DescribeMacro\glsxtrsconlyname] +\cs{glsxtrsconlyname} +\end{definition} + \item[\abbrstyledef{long-only-short-only-desc}] New to version 1.17, this style is like \abbrstyle{long-only-short-only} but the user must supply the -description. The \gloskey{name} -field is obtained from +description. The \gloskey{name} field is obtained from \begin{definition}[\DescribeMacro\glsxtronlydescname] \cs{glsxtronlydescname} \end{definition} -Any redefinition of this command must come before the abbreviations +The sort value is obtained from: +\begin{definition}[\DescribeMacro\glsxtronlydescsort] +\cs{glsxtronlydescsort} +\end{definition} + +Any redefinition of these commands must come before the abbreviations are defined as it expands on definition. Make sure you protect any commands that shouldn't be expanded. The long form can be referenced with \cs{the}\cs{glslongtok} and the short form can be referenced with \cs{the}\cs{glsshorttok}. + +\item[\abbrstyledef{long-only-short-sc-only-desc}] +New to version 1.48, this style is like +\abbrstyle{long-only-short-only-desc} but it uses smallcaps for the +short form. The name is obtained from: +\begin{definition}[\DescribeMacro\glsxtrsconlydescname] +\cs{glsxtrsconlydescname} +\end{definition} +This defaults to \cs{glsxtronlydescname}. + +The sort value is obtained from: +\begin{definition}[\DescribeMacro\glsxtrsconlydescsort] +\cs{glsxtrsconlydescsort} +\end{definition} +This defaults to \cs{glsxtronlydescsort}. + \item[\abbrstyledef{long-em-noshort-em-noreg}] New to version 1.17, this style is like \abbrstyle{long-em-noshort-em} but @@ -6615,6 +6734,14 @@ This style was introduced in version 1.12. It's like the above must be specified. The \gloskey{name} is obtained from \cs{glsxtrlongshortuserdescname}. +\item[\abbrstyledef{long-postshort-sc-user}] +This style (new to v1.48) is like \abbrstyle{long-postshort-user} +but uses smallcaps for the short form. + +\item[\abbrstyledef{long-postshort-sc-user-desc}] +This style (new to v1.48) is like \abbrstyle{long-postshort-user-desc} +but uses smallcaps for the short form. + \item[\abbrstyledef{long-hyphen-short-hyphen}] This style (new to v1.17) is designed to work with the \catattr{markwords} category attribute. The full form is formatted using @@ -7224,6 +7351,7 @@ Similar problems can also occur with captions (except for the page header and bookmark issues). \section{Simplistic Approach} +\label{sec:simplisticapproach} To get around all these problems, the \styfmt{glossaries} user manual recommends using the expandable non-hyperlink commands, such as @@ -7285,6 +7413,7 @@ if the mark commands have been reverted, but only where they don't conflict with the page style. \section{New Commands Designed for Chapter/Section Headings} +\label{sec:headingcommands} The commands listed below are designed for use in chapter or section headings. There are still limitations, but they provide a better @@ -7516,186 +7645,2488 @@ and all caps: \cs{GLSfmtfirstpl}\marg{label} \end{definition} -\chapter{Categories} -\label{sec:categories} +\chapter{Multi (or Compound) Entries} +\label{sec:multientries} -Each entry defined by \ics{newglossaryentry} (or commands that -internally use it such as \ics{newabbreviation}) -is assigned a category -through the \gloskey{category} key. You may add any category that -you like, but since the category is a label used in the creation -of some control sequences, avoid problematic characters within the -category label. (So take care if you have \sty{babel} shorthands on -that make some characters active.) +Nested entries (where the entry definition references other entries) +are discussed in \sectionref{sec:nested}. This chapter deals with +occasions where a term or phrase may consist of multiple sub-terms +that are independently defined. (Examples in +\sectionref{sec:exskipfirstsuffix} and +\sectionref{sec:exskippostlink} provide workarounds for nested +entries.) -The use of categories can give you more control over the way entries -are displayed in the text or glossary. Note that an entry's category -is independent of the glossary type. Be careful not to confuse -\gloskey{category} with \gloskey{type}. +For example, the names of bacteria, such as \emph{Clostridium +botulinum} and \emph{Clostridium perfringens}, are made up of the +genus (for example, \emph{Clostridium}) and the species +(for example, \emph{botulinum} or \emph{perfringens}). The genus is +often abbreviated after \gls{firstuse}. For example, \emph{C. +botulinum}. However, if the name is defined as a single term +consisting of both the genus and species then it's not possible to +apply the abbreviation when a different species with the same genus +is used. -The default category assumed by -\cs{newglossaryentry} is labelled \category{general}. Abbreviations -defined with \cs{newabbreviation} have the category set to -\category{abbreviation} by default. Abbreviations defined with -\cs{newacronym} have the category set to \category{acronym} by -default. +Consider the following document: +\begin{verbatim} +\documentclass{article} +\usepackage{glossaries-extra} +\setabbreviationstyle{long-only-short-only} +\newabbreviation{cbot}{C. botulinum}{Clostridium botulinum} +\newabbreviation{cperf}{C. perfringens}{Clostridium perfringens} +\begin{document} +\gls{cbot}, \gls{cbot}, \gls{cperf}. +\end{document} +\end{verbatim} +The result is: +\begin{display} +Clostridium botulinum, C. botulinum, Clostridium perfringens. +\end{display} +However, it should more typically be: +\begin{display} +Clostridium botulinum, C. botulinum, C. perfringens. +\end{display} +In this case, the genus should actually be a separate definition: +\begin{verbatim} +\documentclass{article} +\usepackage{glossaries-extra} +\setabbreviationstyle{long-only-short-only} +\newabbreviation{clostridium}{C.}{Clostridium} +\newglossaryentry{botulinum}{name={botulinum},description={}} +\newglossaryentry{perfringens}{name=perfringens,description={}} +\begin{document} +\gls{clostridium} \gls{botulinum}, +\gls{clostridium} \gls{botulinum}, +\gls{clostridium} \gls{perfringens}. +\end{document} +\end{verbatim} +This is quite awkward to write. This chapter describes how to +provide a shortcut for this kind of construct. Each term should be +defined as normal (as in the above example), and a \qt{multi-entry} +label is then defined with the list of labels of the entries that +need to be referenced. This is done with the command: +\begin{definition}[\DescribeMacro\multiglossaryentry] +\cs{multiglossaryentry}\oarg{options}\marg{multi-label}\oarg{main +label}\marg{label list} +\end{definition} +where \meta{multi-label} is the new label and \meta{label list} is +the list of labels (corresponding to entries that have already been +defined). -Additionally, if you have enabled \ics{newterm} with the -\pkgopt{index} package option that command -will set the category to \category{index} by default. If you have -enabled \ics{glsxtrnewsymbol} with the \pkgopt{symbols} package -option, that command will set the category to \category{symbol}. If you have -enabled \ics{glsxtrnewnumber} with the \pkgopt{numbers} package -option, that command will set the category to \category{number}. +The \meta{main label} may be omitted, in which case the +main label will be assumed to be the final element in \meta{label +list}. If \meta{main label} is present, it must +also be listed in \meta{label list}. This is described in more +detail in \sectionref{sec:mglsmain}. -You can obtain the category label for a given entry using -\begin{definition}[\DescribeMacro\glscategory] -\cs{glscategory}\marg{label} -\end{definition} -This is equivalent to commands like \cs{glsentryname} and so may be -used in an expandable context. No error is generated if the entry -doesn't exist. +The \meta{options} are a comma-separated list of options to override +the current settings and are described in \sectionref{sec:multiglsoptions}. -You can test the category for a given entry using -\begin{definition}[\DescribeMacro\glsifcategory] -\cs{glsifcategory}\marg{entry-label}\marg{category-label}\marg{true -part}\marg{false part} -\end{definition} -This is equivalent to -\begin{alltt} -\ics{ifglsfieldeq}\marg{entry-label}\{category\}\marg{category-label}\marg{true -part}\marg{false part} -\end{alltt} -so any restrictions that apply to \cs{ifglsfieldeq} also apply to -\cs{glsifcategory}. +The earlier example can now be modified to include the following: +\begin{verbatim} +\multiglossaryentry{cbot}{clostridium,botulinum} +\multiglossaryentry{cperf}{clostridium,perfringens} +\end{verbatim} +These commands must come after the definitions of \texttt{clostridium}, +\texttt{botulinum} and \texttt{perfringens}. -Each category may have a set of attributes. For example, the -\category{general} and \category{acronym} categories have the -attribute \catattr{regular} set to \qt{true} to indicate that all -entries with either of those categories are regular entries (as -opposed to abbreviations). This attribute is accessed by -\cs{glsentryfmt} to determine whether to use \cs{glsgenentryfmt} or -\cs{glsxtrgenabbrvfmt}. +Once defined, a multi-entry set can be referenced using commands like: +\begin{definition}[\DescribeMacro\mgls] +\cs{mgls}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This command essentially does \cs{gls}\marg{label} for each item in +the \meta{label list} (with separators, see +\sectionref{sec:mglssep}). If the final optional argument +\meta{insert} is provided, it will be applied to the final +(non-skipped) element in the list. So the document body in the +above example, can be rewritten as: +\begin{verbatim} +\mgls{cbot}, \mgls{cbot}, \mgls{cperf}. +\end{verbatim} -Other attributes recognised by \styfmt{glossaries-extra} are: +There are some variants of \cs{mgls} listed in \sectionref{sec:mglslike}. +The available \meta{options} are listed in \sectionref{sec:mglsopts}. They are +applied after the \cs{multiglossaryentry} options and will override +settings for the individual entries. -\begin{description} +\begin{important} +You can't use \meta{multi-label} in commands like \cs{gls} +as this label represents a set of entry labels not a single entry. +\end{important} -\item[\catattrdef{nohyperfirst}] When using commands like \ics{gls} -this will automatically suppress the hyperlink on \gls{firstuse} for entries with a -category that has this attribute set to \qt{true}. -(This settings can be overridden by explicitly setting -the \gloskey[glslink]{hyper} key on or off in the optional argument of -commands like \cs{gls}.) As from version 1.07, \cs{glsfirst}, -\cs{Glsfirst}, \cs{GLSfirst} and their plural versions (which should ideally -behave in a similar way to the \gls{firstuse} of \cs{gls} or -\cs{glspl}) now honour -this attribute (but not the package-wide \pkgopt[false]{hyperfirst} -option, which matches the behaviour of \sty{glossaries}). If you -want commands like \cs{glsfirst} to ignore the -\catattr{nohyperfirst} attribute then just redefine -\begin{definition}[\DescribeMacro\glsxtrchecknohyperfirst] -\cs{glsxtrchecknohyperfirst}\marg{label} +The \cs{multiglossaryentry} command will generate an error if the label has already +been defined as a multi-entry. To do nothing if a multi-entry already exists, +use: +\begin{definition}[\DescribeMacro\providemultiglossaryentry] +\cs{providemultiglossaryentry}\oarg{options}\marg{multi-label}\oarg{main +label}\marg{label list} \end{definition} -to do nothing. +Notes and associated commands applying to \cs{multiglossaryentry} +also apply to \cs{providemultiglossaryentry} unless otherwise +stated. -\item[\catattrdef{nohyper}] When using commands like \ics{gls} -this will automatically suppress the hyperlink for entries with a -category that has this attribute set to \qt{true}. -(This settings can be overridden by explicitly setting -the \gloskey[glslink]{hyper} key on or off in the optional argument of -commands like \cs{gls}.) +\begin{important} +\cs{multiglossaryentry} may be placed anywhere after the \meta{label +list} entries have been defined. A multi-entry label can't be +referenced (with commands like \cs{mgls}) before it has been defined. +\end{important} -\item[\catattrdef{indexonlyfirst}] This is similar to the -\pkgopt{indexonlyfirst} package option but only for entries -that have a category with this attribute set to \qt{true}. +There is limited support for \pkgopt[true]{docdef}. The multi-entry +definition can be picked up from the \filetype{aux} file on the next +run to allow cross-references in any glossaries that occur at the +start of the document. Any changes made with commands like +\cs{mglsSetMain} won't be carried over to the next run. + +By default \cs{multiglossaryentry} will be localised to the current scope. +If you want to globally define a multi-entry you need to first +switch on global definitions with: +\begin{definition}[\DescribeMacro\multiglossaryentryglobaltrue] +\cs{multiglossaryentryglobaltrue} +\end{definition} +To switch back to local definitions use: +\begin{definition}[\DescribeMacro\multiglossaryentryglobalfalse] +\cs{multiglossaryentryglobalfalse} +\end{definition} + +If you want to change the multi-entry options (locally) you can use: +\begin{definition}[\DescribeMacro\mglsSetOptions] +\cs{mglsSetOptions}\marg{multi-label}\marg{new-options} +\end{definition} +This removes the original options. If you want to (locally) append to the +existing options, use: +\begin{definition}[\DescribeMacro\mglsSetOptions] +\cs{mglsAddOptions}\marg{multi-label}\marg{new-options} +\end{definition} + +Note that \cs{multiglossaryentry} doesn't make any adjustments to +the component entries. You will need to use the \gloskey{parent} key +when you define the entries if you want a hierarchical structure in +your glossary. (See the example in \sectionref{sec:mglsexhier}.) + +If you don't want the other elements in the glossary, you can +suppress the indexing with \optfmt{indexothers=false} +(\sectionref{sec:multiglsoptionsindexing}) or put them in an ignored +glossary. For example: +\begin{verbatim} +\newignoredglossary{common} +\newabbreviation[type=common]{clostridium}{C.}{Clostridium} +\end{verbatim} + +The \meta{multi-label} can't be used in commands like \cs{gls} since +the label refers to a set of entry labels not to an individual +entry. Similarly, an individual entry label can't be used in +commands like \cs{mgls}. It is possible (although potentially +confusing) to use the same label for a multi-entry as for an +individual entry (see the example in +\sectionref{sec:exskippostlink}). Context will determine which is +meant, except in the case of the cross-referencing fields +(\gloskey{see}, \gloskey{seealso} and \gloskey{alias}) where the +cross-referenced label will first be tested if it's a known +multi-entry label. + +If you don't want to have to keep track of which labels refer to +multi-entries and which refer to individual entries you can use: +\begin{definition}[\DescribeMacro\GlsXtrMglsOrGls] +\cs{GlsXtrMglsOrGls}\marg{mgls cs}\marg{gls +cs}\meta{modifier}\oarg{options}\marg{label}\oarg{insert} +\end{definition} +where \meta{mgls cs} is the \cs{mgls}-like command to use if +\meta{label} has been defined as a multi-entry and \meta{gls cs} is +the \cs{gls}-like command to use otherwise. The \meta{modifier} may +be omitted, otherwise it is the modifier that may be used with +\cs{mgls} or \cs{gls} (\texttt{*}, \texttt{+} or the character +identified with \ics{GlsXtrSetAltModifier}). The modifier and remaining +options are passed to the relevant command (\meta{mgls cs} or +\meta{gls cs}). + +You may prefer to define your own shortcut commands for common +combinations. For example: +\begin{verbatim} +\newcommand{\ac}{\GlsXtrMglsOrGls{\mgls}{\gls}} +\newcommand{\acpl}{\GlsXtrMglsOrGls{\mglsmainpl}{\glspl}} +\newcommand{\Ac}{\GlsXtrMglsOrGls{\Mgls}{\Gls}} +\newcommand{\Acpl}{\GlsXtrMglsOrGls{\Mglsmainpl}{\Glspl}} +\end{verbatim} + +\section{Examples} +\label{sec:mglsexamples} + +\subsection{Example: Hierarchical} +\label{sec:mglsexhier} + +Bacteria names are represented by the genus (for example, +Clostridium) followed by the species (for example, botulinum). +This example has the genus as a parent of the species. +\begin{verbatim} +\documentclass{article} -\item[\catattrdef{wrgloss}] When using commands like \ics{gls}, -if this attribute is set to \qt{after}, it will automatically -implement \gloskey[glslink]{wrgloss}\optfmt{=after}. (New to v1.14.) +\usepackage[colorlinks]{hyperref} +\usepackage[stylemods=bookindex,style=bookindex]{glossaries-extra} -\item[\catattrdef{discardperiod}] If set to \qt{true}, the -post-\gls{linktext} hook will -discard a~full stop (period) that follows \emph{non-plural} commands like \cs{gls} or -\cs{glstext}. (Provided for entries such as abbreviations that end -with a full stop.) This attribute is only applicable to entries -defined using \cs{newabbreviation} (or \cs{newacronym} if it's using -\cs{newabbreviation}.) This attribute -doesn't apply to the accessibility fields. +\makeglossaries -Note that this can cause a problem if you access a field that -doesn't end with a full stop. For example: -\begin{verbatim} +\newcommand{\latinname}[1]{\emph{#1}} +\glssetcategoriesattributes + {genus,species}{textformat,glossnamefont}{latinname} + +\setabbreviationstyle[genus]{long-only-short-only-desc} \newabbreviation - [user1={German Speaking \TeX\ User Group}] - {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\ -e.V.} + [category=genus,description={}] + {clostridium}{C.}{Clostridium} + +\newglossaryentry{botulinum}{name=botulinum,category=species, + description={},parent=clostridium} +\newglossaryentry{perfringens}{name=perfringens,category=species, + description={},parent=clostridium} +\newglossaryentry{tetani}{name=tetani,category=species, + description={},parent=clostridium} + +\multiglossaryentry{cbot}{clostridium,botulinum} +\multiglossaryentry{cperf}{clostridium,perfringens} +\multiglossaryentry{ctet}{clostridium,tetani} + +\multiglossaryentrysetup{indexothers=false,hyper=allmain} + +\begin{document} +First use: +\mgls{cbot}, \mgls{cperf}, \mgls{ctet}. + +Next use: +\mgls{cbot}, \mgls{cperf}, \mgls{ctet}. +\printglossaries +\end{document} \end{verbatim} -Here the \gloskey{short} and \gloskey{long} fields end with a full stop, but the -\gloskey{user1} field doesn't. The simplest solution in this -situation is to put the sentence terminator in the final optional -argument. For example: +This suppresses the indexing of the non-main elements (in this case, +the genus). However the genus is included in the glossary (without a +\gls{numberlist}) because it's the parent of the species (which are +indexed). + +The \optfmt{hyper=allmain} option makes the entire content of each +\cs{mgls} a hyperlink to the main entry in the glossary. The +resulting document text (before the glossary) is: +\begin{quote} +First use: +\emph{Clostridium botulinum}, \emph{C. perfringens}, \emph{C. tetani}. + +Next use: +\emph{C. botulinum}, \emph{C. perfringens}, \emph{C. tetani}. +\end{quote} + +\subsection{Example: Suffix} +\label{sec:mglsexsuffix} + +This example has a minor modification to the previous one. In this +case the multi-entries are defined with a suffix: \begin{verbatim} -\glsuseri{dante}[.] +\multiglossaryentry[firstsuffix=botulism]{cbot}{clostridium,botulinum} +\multiglossaryentry[firstsuffix={gas gangrene}]{cperf}{clostridium,perfringens} +\multiglossaryentry[firstsuffix=tetanus]{ctet}{clostridium,tetani} \end{verbatim} -This will bring the punctuation character inside the \gls{linktext} -and it won't be discarded. +The rest of the document is as in \sectionref{sec:mglsexhier}. +The document text is now: +\begin{quote} +First use: +\emph{Clostridium botulinum} (botulism), \emph{C. perfringens} (gas +gangrene), \emph{C. tetani} (tetanus). -\item[\catattrdef{pluraldiscardperiod}] If this attribute is set to -\qt{true} \emph{and} the \catattr{discardperiod} attribute is set to -\qt{true}, this will behave as above for the plural commands like -\cs{glspl} or \cs{glsplural}. This attribute is only applicable to entries -defined using \cs{newabbreviation} (or \cs{newacronym} if it's using -\cs{newabbreviation}.) +Next use: +\emph{C. botulinum}, \emph{C. perfringens}, \emph{C. tetani}. +\end{quote} -\item[\catattrdef{retainfirstuseperiod}] If this attribute is set -to \qt{true} then the full stop won't be discarded for -\gls{firstuse} instances, even if \catattr{discardperiod} or -\catattr{pluraldiscardperiod} are set. This is useful for -\meta{short} (\meta{long}) abbreviation styles where only the short -form has a trailing full stop. This attribute is only applicable to entries -defined using \cs{newabbreviation} (or \cs{newacronym} if it's using -\cs{newabbreviation}.) This attribute doesn't apply to the -accessibility fields. +\subsection{Example: Category Suffix} +\label{sec:mglsexcatsuffix} + +This is an alternative to the previous example. Instead of storing +the extra information in the \optfmt{firstsuffix} key, the +information is stored in the \gloskey{user1} key of the last +element (the species). A category suffix is used to look up the +field and append it. +\begin{verbatim} +\newglossaryentry{botulinum}{name=botulinum,category=species, + user1={botulism}, + description={},parent=clostridium} +\newglossaryentry{perfringens}{name=perfringens,category=species, + user1={gas gangrene}, + description={},parent=clostridium} +\newglossaryentry{tetani}{name=tetani,category=species, + user1={tetanus}, + description={},parent=clostridium} + +\mglsdefcategorysuffix{bacteria}{% + \mglsisfirstuse + {\glsxtrifhasfield{useri}{\mglslastelementlabel}{ (\glscurrentfieldvalue)}{}}% + {}% +} -\item[\catattrdef{markwords}] If this attribute is set to \qt{true} -any entry defined using \ics{newabbreviation} will automatically -have spaces in the long form replaced with -\begin{definition}[\DescribeMacro\glsxtrwordsep] -\cs{glsxtrwordsep} -\end{definition} -and each word is encapsulated with -\begin{definition}[\DescribeMacro\glsxtrword] -\cs{glsxtrword}\marg{word} -\end{definition} -For example: -\begin{verbatim} -\glssetcategoryattribute{abbreviation}{markwords}{true} -\newabbreviation{ip}{IP}{Internet Protocol} +\multiglossaryentry[category=bacteria]{cbot}{clostridium,botulinum} +\multiglossaryentry[category=bacteria]{cperf}{clostridium,perfringens} +\multiglossaryentry[category=bacteria]{ctet}{clostridium,tetani} \end{verbatim} -is essentially the same as +The result is the same as the previous example. + +\subsection{Example: Separators} +\label{sec:mglsexsep} + +The first example (\sectionref{sec:mglsexhier}) can be modified so +that the species are also abbreviations. In this case, the +separators are modified to suppress the space (\cs{relax}) if both the genus and +species are abbreviated, or to use a non-breaking space \verb|~| between +the genus short form (shown on subsequent use) and the species long +form (shown on first use). If the genus is showing the long form +(first use) then a normal space is used. + +Note that the separator attributes apply to the category of the +element before the separator (not to the multi-entry category). \begin{verbatim} -\newabbreviation{ip}{IP} -{\glsxtrword{Internet}\glsxtrwordsep\glsxtrword{Protocol}} +\glssetcategoryattribute{genus}{combinedfirstsepfirst}{\space} +\glssetcategoryattribute{genus}{combinedfirstsep}{\space} +\glssetcategoryattribute{genus}{combinedsepfirst}{~} +\glssetcategoryattribute{genus}{combinedsep}{\relax} + +\setabbreviationstyle[species]{long-only-short-only-desc} + +\newabbreviation[category=species, + description={},parent=clostridium]{botulinum}{bot.}{botulinum} +\newabbreviation[category=species, + description={},parent=clostridium]{perfringens}{per.}{perfringens} +\newabbreviation[,category=species, + description={},parent=clostridium]{tetani}{tet.}{tetani} \end{verbatim} -The \qt{hyphen} styles, such as -\abbrstyle{long-hyphen-short-hyphen}, take advantage of this -markup. If the inserted material (provided in the final argument -of commands like \ics{gls}) starts with a hyphen then -\cs{glsxtrwordsep} is locally redefined to a hyphen. (The default -value is a space). Note that this only applies to commands -like \cs{gls} and not like \cs{glsxtrlong}. You can provide your own -localised switch, if required. For example: +This will cause a double dot at the end of the second sentence, +which can be suppressed using the \catattr{discardperiod} and +\catattr{retainfirstuseperiod} attributes. \begin{verbatim} -\newcommand{\hyplong}[2][]{% - {\def\glsxtrwordsep{-}\glsxtrlong[#1]{#2}}} +\glssetcategoriesattributes{species}{discardperiod,retainfirstuseperiod}{true} \end{verbatim} +This works because the final element's post-link hook is transferred +to the multi-entry post-link hook, which can detect the sentence +terminating period. If the post-link hook settings are changed, for +example, to \optfmt{postlinks=all,mpostlink=false} then the feature +won't work as the final element's post-link hook can't detect the +period (because \cs{gls} is embedded too deeply inside the internal +workings of \cs{mgls}). -This setting will also adjust the long plural. This attribute is only applicable to entries -defined using \cs{newabbreviation} (or \cs{newacronym} if it's using -\cs{newabbreviation}.) +The result is: +\begin{quote} +First use: Clostridium botulinum, C.~perfringens, C.~tetani. -\begin{important} +Next use: C.bot., C.per., C.tet. +\end{quote} + +\subsection{Example: Skipping Elements (Fragment Element)} +\label{sec:exskipfirstsuffix} + +This example is an alternative way of dealing with nested links +(see \sectionref{sec:nested}). +\begin{verbatim} +\documentclass{article} + +\usepackage[colorlinks]{hyperref} +\usepackage[stylemods,style=long]{glossaries-extra} + +\makeglossaries + +\setabbreviationstyle{long-short-sc} +\newabbreviation{ssi}{ssi}{server-side includes} +\newabbreviation{html}{html}{hypertext markup language} + +\setabbreviationstyle[combinedabbrv]{long-only-short-sc-only} +\newabbreviation + [category=combinedabbrv, + description={\glsxtrshort{ssi} enabled \glsxtrshort{html}}] + {shtml-frag}{shtml}{enabled} + +\glssetcategoryattribute{combinedabbrv}{multioptions} + {usedskipothers,firstsuffix={\glsxtrshort{\mglslastmainlabel}}} + +\multiglossaryentry + [category={combinedabbrv}] + {shtml}[shtml-frag]{ssi,shtml-frag,html} + +\begin{document} +Individual elements first use: \gls{ssi} and \gls{html}. + +Individual elements next use: \gls{ssi} and \gls{html}. + +Multi-entry first use: \mgls{shtml}. + +Multi-entry next use: \mgls{shtml}. + +Resetting all\glsresetall\mglsreset{shtml}: + +Multi-entry first use: \mgls{shtml}. + +Multi-entry next use: \mgls{shtml}. + +Individual elements: \gls{ssi} and \gls{html}. +\printglossaries +\end{document} +\end{verbatim} +This uses the \catattr{multioptions} attribute to skip \qt{other} +elements on subsequent use. The problematic abbreviation (SHTML) is +defined as a fragment that simply expands to \qt{enabled} on first +use. Note that the description has to be supplied for the glossary. + +The above produces (underlining added to mark the hyperlinks): +\begin{quote} +Individual elements first use: \uline{server-side includes (\textsc{ssi})} and +\uline{hypertext markup language (\textsc{html})}. + +Individual elements next use: \uline{\textsc{ssi}} and +\uline{\textsc{html}}. + +Multi-entry first use: \uline{\textsc{ssi}} \uline{enabled} +\uline{\textsc{html}} (\uline{\textsc{shtml}}). + +Multi-entry next use: \uline{\textsc{shtml}}. + +Resetting all: + +Multi-entry first use: \uline{server-side includes (\textsc{ssi})} +\uline{enabled} \uline{hypertext markup language (\textsc{html})} +(\uline{\textsc{shtml}}). + +Multi-entry next use: \uline{\textsc{shtml}}. + +Individual elements: \uline{\textsc{ssi}} and \uline{\textsc{html}}. +\end{quote} +The key difference here from the example using \cs{glsps} at the end +of \sectionref{sec:nested} is that the individual elements hyperlink +to their respective entries in the glossary on first use of \cs{mgls}. + +The problem is that with the \pkgopt{colorlinks} package option, +it's not obvious where the hyperlinks start and end. The suffix (\textsc{shtml}) +will hyperlink to the \qt{shtml} entry in the glossary, so the +\qt{enabled} hyperlink is redundant. The simplest fix for this is to +add \optfmt{hyper=notmainfirst} to the option list, which will prevent +\qt{enabled} from being a hyperlink. + +Another problem occurs where \cs{mgls} is used before the individual elements are +used, which leads to their full expansion with a confusing amount of +parentheses. A simple solution is to use the option +\optfmt{mglsopts=unsetothers}, which will unset the other (not-main) +elements first. This can be localised with \optfmt{presetlocal} but +\cs{gls} will then unset the \gls{firstuseflag} globally, which +means that the other elements won't show the full form when they are +first used on their on after \cs{mgls}. This can be switched to a +local unset with \optfmt{others={local}}. + +The complete set of options are now: +\begin{verbatim} +\glssetcategoryattribute{combinedabbrv}{multioptions} + {% + hyper=notmainfirst, + mglsopts={presetlocal,unsetothers,others={local}}, + usedskipothers, + firstsuffix={\glsxtrshort{\mglslastmainlabel}} + } +\end{verbatim} +This now produces (underlining added to mark the hyperlinks): +\begin{quote} +Individual elements first use: \uline{server-side includes (\textsc{ssi})} and +\uline{hypertext markup language (\textsc{html})}. + +Individual elements next use: \uline{\textsc{ssi}} and +\uline{\textsc{html}}. + +Multi-entry first use: \uline{\textsc{ssi}} \uline{enabled} +\uline{\textsc{html}} (\uline{\textsc{shtml}}). + +Multi-entry next use: \uline{\textsc{shtml}}. + +Resetting all: + +Multi-entry first use: \uline{\textsc{ssi}} +\uline{enabled} \uline{\textsc{html}} +(\uline{\textsc{shtml}}). + +Multi-entry next use: \uline{\textsc{shtml}}. + +Individual elements: \uline{server-side includes (\textsc{ssi})} +and \uline{hypertext markup language (\textsc{html})}. +\end{quote} +This method still has two main drawbacks: the description must be +added manually and the long form can't be accessed with +\cs{glsxtrlong}. The next example provides an alternative approach. + +\subsection{Example: Skipping Elements (Prefix and Post-Link Hooks)} +\label{sec:exskippostlink} + +This is a modified version of the previous example. In this case, +the main element isn't a fragment and also happens to have the same +label as the multi-entry set. (\verb|\mgls{shtml}| references the +multi-entry label and \verb|\gls{shtml}| references the individual +entry.) + +In this case, the nested parts are marked up with custom commands: +\begin{verbatim} +\newrobustcmd{\combinedpre}[1]{\glsps{#1}} +\newrobustcmd{\combinedpost}[1]{\glsps{#1}} + +\newabbreviation{shtml}{shtml} +{{}\combinedpre{ssi} enabled \combinedpost{html}} +\end{verbatim} +This means that it's no longer necessary to manually insert the +description and the long form can be accessed as usual with +\cs{glsxtrshort}\verb|{shtml}|. Note that it is necessary to define +the custom commands robustly otherwise they will need to be +protected against premature expansion: +\begin{verbatim} +\newcommand{\combinedpre}[1]{\glsps{#1}} +\newcommand{\combinedpost}[1]{\glsps{#1}} + +\newabbreviation{shtml}{shtml} +{{}\protect\combinedpre{ssi} enabled \protect\combinedpost{html}} +\end{verbatim} +In both cases, an initial empty group is added to guard +against any first letter uppercase commands, such as \cs{Glsxtrlong}. + +The abbreviations all use the \abbrstyle{long-postshort-sc-user} +style, which places the short form in the post-link hook on +\gls{firstuse}. The \cs{gls} post-link hook for the main element +can be transferred to the \cs{mgls} post-link using: +\begin{verbatim} +mpostlinkelement=main +\end{verbatim} +All elements have their individual post-link hooks suppressed by default. +As in the previous example, the other elements can be skipped on +subsequent use: +\begin{verbatim} +usedskipothers +\end{verbatim} +Within \cs{mgls}, the nested content needs to be suppressed, which +can be done by redefining the custom commands. This can be done in +the multi-entry prefix. Since the entire content of \cs{mgls} (except for the +final multi-entry post-link hook) occurs inside a group, this +redefinition will be localised. + +The complete document is as follows: +\begin{verbatim} +\documentclass{article} + +\usepackage[colorlinks]{hyperref} +\usepackage[stylemods,style=long]{glossaries-extra} + +\makeglossaries + +\setabbreviationstyle{long-postshort-sc-user} + +\newabbreviation{ssi}{ssi}{server-side includes} +\newabbreviation{html}{html}{hypertext markup language} + +\newrobustcmd{\combinedpre}[1]{\glsps{#1}} +\newrobustcmd{\combinedpost}[1]{\glsps{#1}} + +\newabbreviation{shtml}{shtml} +{{}\combinedpre{ssi} enabled \combinedpost{html}} + +\glssetcategoryattribute{combinedabbrv}{multioptions} + {% + mpostlinkelement=main, + usedskipothers + } + +\multiglossaryentry + [category={combinedabbrv}] + {shtml}[shtml]{ssi,shtml,html} + +\mglsdefcategoryprefix{combinedabbrv}{% + \renewcommand{\combinedpre}[1]{\ignorespaces}% + \renewcommand{\combinedpost}[1]{\unskip}% +} + +\begin{document} +Individual elements first use: \gls{ssi} and \gls{html}. + +Individual elements next use: \gls{ssi} and \gls{html}. + +Multi-entry first use: \mgls{shtml}. + +Multi-entry next use: \mgls{shtml}. + +Individual entry first use: \gls{shtml}. + +Resetting all\glsresetall\mglsresetall: + +Multi-entry first use: \mgls{shtml}. + +Multi-entry next use: \mgls{shtml}. + +Individual elements: \gls{ssi} and \gls{html}. + +Resetting all\glsresetall\mglsresetall: + +Individual entry first use: \gls{shtml}. + +Multi-entry first use: \mgls{shtml}. (Wrong!) + +\printglossaries +\end{document} +\end{verbatim} +This now produces (underlining added to mark the hyperlinks): +\begin{quote} +Individual elements first use: \uline{server-side includes} +(\textsc{ssi}) and \uline{hypertext markup language} (\textsc{html}). + +Individual elements next use: \uline{\textsc{ssi}} and +\uline{\textsc{html}}. + +Multi-entry first use: \uline{\textsc{ssi}} \uline{enabled} +\uline{\textsc{html}} (\textsc{shtml}). + +Multi-entry next use: \uline{\textsc{shtml}}. + +Individual entry first use: \uline{\textsc{shtml}}. + +Resetting all: + +Multi-entry first use: \uline{server-side includes} \uline{enabled} +\uline{hypertext markup language} (\textsc{shtml}). + +Multi-entry next use: \uline{\textsc{shtml}}. + +Individual elements: \uline{\textsc{ssi}} and \uline{\textsc{html}}. + +Resetting all: + +Individual entry first use: \uline{\textsc{ssi}} \uline{enabled} +\uline{\textsc{html}} (\textsc{shtml}). + +Multi-entry first use: \uline{server-side includes} +\uline{\textsc{shtml}} \uline{hypertext markup language}. (Wrong!) +\end{quote} +Note the last two paragraphs, which highlights what happens if +\verb|\gls{shtml}| is used before \verb|\mgls{shtml}| when neither +of the other elements (\texttt{ssi} and \texttt{html}) have been +used. The final instance of \cs{mgls} has produced the wrong result. +This is because it's the first use of the multi-entry \texttt{shtml} but +not the first use of the individual entry \texttt{shtml}. + +One way around this is to modify the prefix to ensure that the main +element's \gls{firstuseflag} matches the multi-entry's first use +flag: +\begin{verbatim} +\mglsdefcategoryprefix{combinedabbrv}{% + \renewcommand{\combinedpre}[1]{\ignorespaces}% + \renewcommand{\combinedpost}[1]{\unskip}% + \mglsisfirstuse + {\glslocalreset{\mglscurrentmainlabel}}% + {\glslocalunset{\mglscurrentmainlabel}}% +} +\end{verbatim} + +The \pkgopt[annoteleft]{showtargets} option can be used to mark up +the links with the targets. For example, the first instance of +\verb|\mgls{shtml}| will show as: +\begin{quote} +\newcommand{\markup}[2]{% +{\glsshowtargetfont[#1]}% +\glsxtrshowtargetsymbolleft#2\glsxtrshowtargetsymbolright}% +Multi-entry first use: \markup{glo:ssi}{\textsc{ssi}} +\markup{glo:shtml}{enabled} +\markup{glo:html}{\textsc{html}} (\textsc{shtml}). +\end{quote} +Each entry has an individual hyperlink to its own glossary item, +which may be confusing. This can be made clearer by suppressing the +main element link on first use with: +\begin{verbatim} +hyper=notmainfirst +\end{verbatim} +(as in the previous example), and adjusting the abbreviation style +so that the parenthetical content in the post-link hook has a +hyperlink: +\begin{verbatim} +\renewcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {\glshyperlink[#1]{#2}% + \ifglshasfield{\glsxtruserfield}{#2}{, \glscurrentfieldvalue}{}% + }% +} +\end{verbatim} + +The remaining problem is how to deal with the possibility that +\verb|\mgls{shtml}| may come before the \gls{firstuse} of the other +elements. For example: +\begin{verbatim} +Multi-entry first use: \mgls{shtml}. + +Individual elements: \gls{ssi} and \gls{html}. +\end{verbatim} +This leads to: +\begin{quote} +Multi-entry first use: server-side includes enabled hypertext markup +language (\textsc{shtml}). + +Individual elements: \textsc{ssi} and \textsc{html}. +\end{quote} +This means that the abbreviations \textsc{ssi} and \textsc{html} +aren't explained in the document text. One way around this is to +only locally unset the other element \glspl{firstuseflag}: +\begin{verbatim} +\glssetcategoryattribute{combinedabbrv}{multioptions} + {% + hyper=notmainfirst, + mpostlinkelement=main, + usedskipothers, + mglsopts={others={local}} + } +\end{verbatim} +With the above setting, the following: +\begin{verbatim} +\glsresetall\mglsresetall + +Multi-entry first use: \mgls{shtml}. + +Multi-entry next use: \mgls{shtml}. + +Individual elements: \gls{ssi} and \gls{html}. +\end{verbatim} +will now produce: +\begin{quote} +Multi-entry first use: server-side includes enabled hypertext markup +language (\textsc{shtml}). + +Multi-entry next use: \textsc{shtml}. + +Individual elements: server-side includes (\textsc{ssi}) and +hypertext markup language (\textsc{html}). +\end{quote} + +\section{Main and Other Elements} +\label{sec:mglsmain} + +The list of labels provided in the final argument of +\cs{multiglossaryentry} consists of a main element and all the other +elements. If the main element isn't identified in the optional +argument, it's assumed to be the final element in the list. + +The main element allows you to determine which target to use if you +want the entire content of \cs{mgls} to be a single hyperlink. You +can also use the settings described in \sectionref{sec:multiglsoptions} +to only index the main element. + +You can change the main element using: +\begin{definition}[\DescribeMacro\mglsSetMain] +\cs{mglsSetMain}\marg{multi-label}\marg{new-main-label} +\end{definition} +The new main label provided in the second argument must be in the +list corresponding to \meta{multi-label}. This change is locally +applied to the current scope. Note that if you are using +\gls{bib2gls}, this change in the document can't be detected. + +The main element can also be used to identify which element should +be displayed in the plural with \cs{mglsmainpl}. For example: +\begin{verbatim} +\newglossaryentry{great}{name={great},description={}} +\newglossaryentry{little}{name={little},description={}} +\newglossaryentry{grebe}{name={grebe},description={}} + +\multiglossaryentry{greatgrebe}{great,grebe} +\multiglossaryentry{littlegrebe}{little,grebe} +\end{verbatim} +In the above, two multi-entries are defined: \texttt{greatgrebe} and +\texttt{littlegrebe}. In both cases the main element is +\texttt{grebe} (the last element). Using \cs{mglspl} will show the +plural for all elements, but using \cs{mglsmainpl} will only use the +plural for the main element (grebe). For example: +\begin{verbatim} +Plural all: \mglspl{greatgrebe}, \mglspl{littlegrebe}. +Plural main: \mglsmainpl{greatgrebe}, \mglsmainpl{littlegrebe}. +\end{verbatim} +produces: +\begin{display} +Plural all: greats grebes, littles grebes. +Plural main: great grebes, little grebes. +\end{display} + +\section{Prefixes and Suffixes} +\label{sec:mglsfixes} + +A multi-entry may have associated prefixes and suffixes. These are +scoped and are placed outside of the hyperlinks and encapsulating +commands. They are not affected by case-changing commands, such as +\cs{Mgls}. +If you want a prefix to obey case-changing, use the \cs{mpgls}-like +commands instead (\sectionref{sec:mpgls}). + +The prefix is inserted with: +\begin{definition}[\DescribeMacro\mglsprefix] +\cs{mglsprefix} +\end{definition} +The default definition is: +\begin{verbatim} +\newcommand*{\mglsprefix}{% + \ifdefempty\mglscurrentcategory + {\mglscurrentprefix}% + {% + \mglshascategoryprefix{\mglscurrentcategory}% + {\mglsusecategoryprefix{\mglscurrentcategory}}% + {\mglscurrentprefix}% + }% +} +\end{verbatim} +This will insert the current prefix unless there is prefix command +associated with the current category. + +The suffix is inserted with: +\begin{definition}[\DescribeMacro\mglssuffix] +\cs{mglssuffix} +\end{definition} +The command is defined as follows: +\begin{verbatim} +\newcommand*{\mglssuffix}{% + \ifdefempty\mglscurrentcategory + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}% + {% + \mglshascategorysuffix{\mglscurrentcategory}% + {\mglsusecategorysuffix{\mglscurrentcategory}}% + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}% + }% +} +\end{verbatim} +If there is a suffix associated with the current category, that will +be used, otherwise if the current suffix isn't empty this +inserts a space followed by the current suffix in parentheses. +You can access the label of the last (non-skipped) element with +\ics{mglslastelementlabel}. + +Note that in both cases the category corresponds to the multi-entry +category (see \sectionref{sec:multiglscategory}). + +To define a category-dependent prefix, use: +\begin{definition}[\DescribeMacro\mglsdefcategoryprefix] +\cs{mglsdefcategoryprefix}\marg{category}\marg{definition} +\end{definition} +You can reference the current prefix with \cs{mglscurrentprefix}. + +To define a category-dependent suffix, use: +\begin{definition}[\DescribeMacro\mglsdefcategorysuffix] +\cs{mglsdefcategorysuffix}\marg{category}\marg{definition} +\end{definition} +You can reference the current suffix with \cs{mglscurrentsuffix}. + +The default definition of \cs{mglsprefix} tests if there is a +category prefix using: +\begin{definition}[\DescribeMacro\mglshascategoryprefix] +\cs{glshascategoryprefix}\marg{category}\marg{true}\marg{false} +\end{definition} +The category prefix is used with: +\begin{definition}[\DescribeMacro\mglsusecategoryprefix] +\cs{glsusecategoryprefix}\marg{category} +\end{definition} + +The default definition of \cs{mglssuffix} tests if there is a +category suffix using: +\begin{definition}[\DescribeMacro\mglshascategorysuffix] +\cs{glshascategorysuffix}\marg{category}\marg{true}\marg{false} +\end{definition} +The category suffix is used with: +\begin{definition}[\DescribeMacro\mglsusecategorysuffix] +\cs{glsusecategorysuffix}\marg{category} +\end{definition} + +The current prefix \cs{mglscurrentprefix} and \cs{mglscurrentsuffix} +are obtained as follows: +\begin{itemize} +\item if this is the first use of the multi-entry +(\sectionref{sec:mglsfirstuse}) then the \meta{prefix} is set to the +value of the \optfmt{firstprefix} option and the \meta{suffix} is +set to the value of the \optfmt{firstsuffix} option; +\item otherwise the \meta{prefix} is set to the +value of the \optfmt{usedprefix} option and the \meta{suffix} is +set to the value of the \optfmt{usedsuffix} option. +\end{itemize} + +\begin{important} +The prefix and suffix (if set) are placed outside of the hyperlink +and text formatting encapsulator. They are not affected by +case-changing commands such as \cs{Mgls} or \cs{MGLS}. +\end{important} + +For example: +\begin{verbatim} +\setabbreviationstyle{long-only-short-only} +\newabbreviation{clostridium}{C.}{Clostridium} +\newglossaryentry{botulinum}{name=botulinum,description={}} + +\multiglossaryentry[firstsuffix=botulism] + {cbot}{clostridium,botulinum} +\end{verbatim} +On first use, this produces (assuming the \qt{clostridum} element +hasn't been used previously): +\begin{quote} +Clostridium botulinum (botulism). +\end{quote} +On subsequent use, this produces: +\begin{quote} +C. botulinum. +\end{quote} + +\section{Separators} +\label{sec:mglssep} + +The separators between each instance of \cs{gls} are given by the +following commands, which all take two arguments. The first argument +is the label of the previous element. The second argument is the +label of the following element. +\begin{definition}[\DescribeMacro\glscombinedsep] +\cs{glscombinedsep}\marg{prev label}\marg{next label} +\end{definition} +This is inserted between two entries that have both been marked as used. +The default definition is: +\begin{verbatim} +\newcommand*{\glscombinedsep}[2]{% + \glshasattribute{#1}{combinedsep}% + {\glsgetattribute{#1}{combinedsep}}% + { }% +} +\end{verbatim} +This will use the \catattr{combinedsep} attribute for the +\meta{prev label}'s category, if set. Otherwise this just does a +space. Note that this ignores the second argument. + +\begin{definition}[\DescribeMacro\glscombinedfirstsep] +\cs{glscombinedfirstsep}\marg{prev label}\marg{next label} +\end{definition} +This is inserted between two entries where only the next entry has +been marked as used. The default definition is: +\begin{verbatim} +\newcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{#1}{combinedfirstsep}% + {\glsgetattribute{#1}{combinedfirstsep}}% + {\glscombinedsep{#1}{#2}}% +} +\end{verbatim} +This will use the \catattr{combinedfirstsep} attribute for +\meta{prev label}'s category, if set. If that attribute isn't set, +\cs{glscombinedsep} is used. + +\begin{definition}[\DescribeMacro\glscombinedsepfirst] +\cs{glscombinedsepfirst}\marg{prev label}\marg{next label} +\end{definition} +This is inserted between two entries where only the previous entry has +been marked as used. The default definition is: +\begin{verbatim} +\newcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{#1}{combinedsepfirst}% + {\glsgetattribute{#1}{combinedsepfirst}}% + {\glscombinedsep{#1}{#2}}% +} +\end{verbatim} +This will use the \catattr{combinedsepfirst} attribute for +\meta{prev label}'s category, if set. If that attribute isn't set, +\cs{glscombinedsep} is used. + +\begin{definition}[\DescribeMacro\glscombinedfirstsepfirst] +\cs{glscombinedfirstsepfirst}\marg{prev label}\marg{next label} +\end{definition} +This is inserted between two entries where both have +been marked as used. The default definition is: +\begin{verbatim} +\newcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{#1}{combinedfirstsepfirst}% + {\glsgetattribute{#1}{combinedfirstsepfirst}}% + {\glscombinedsep{#1}{#2}}% +} +\end{verbatim} +This will use the \catattr{combinedfirstsepfirst} attribute for +\meta{prev label}'s category, if set. If that attribute isn't set, +\cs{glscombinedsep} is used. + +These commands may be redefined as required. +For example, to have no space between two elements that have both +been marked as used and are both abbreviations (disregarding +category attributes): +\begin{verbatim} +\renewcommand*{\glscombinedfirstsepfirst}[2]{% + \ifglshasshort{#1}{\ifglshasshort{#2}{}{\space}}{\space}% +} +\end{verbatim} + +There are some commands for redefining the above separators to +common combinations. + +\begin{definition}[\DescribeMacro\glssetcombinedsepabbrvnbsp] +\cs{glssetcombinedsepabbrvnbsp} +\end{definition} +This does the following: +\begin{verbatim} +\renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{#1}{combinedsep}% + {\glsgetattribute{#1}{combinedsep}}% + {\ifhasshort{#1}{~}{ }}% +}% +\renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {\ifhasshort{#1}{~}{ }}% +}% +\renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{#1}{combinedfirstsep}% + {\glsgetattribute{#1}{combinedfirstsep}}% + { }% +}% +\renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + { }% +}% +\end{verbatim} +This uses a non-breakable space \verb|~| following an abbreviation +(that has already been marked as used). Note that if the associated +attributes are set the commands will behave according to the +attribute. + +\begin{definition}[\DescribeMacro\glssetcombinedsepabbrvnone] +\cs{glssetcombinedsepabbrvnone} +\end{definition} +This does the following: +\begin{verbatim} +\renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{#1}{combinedsep}% + {\glsgetattribute{#1}{combinedsep}}% + {\ifhasshort{#1}{}{\ifhasshort{#2}{}{ }}}% +}% +\renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{#1}{combinedsepfirst}% + {\glsgetattribute{#1}{combinedsepfirst}}% + {\ifhasshort{#1}{}{ }}% +}% +\renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + {\ifhasshort{##2}{}{ }}% +}% +\renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + { }% +}% +\end{verbatim} +This does nothing if either element are abbreviations that have already been +used. Note that if the associated attributes are set the commands +will behave according to the attribute. + +\begin{definition}[\DescribeMacro\glssetcombinedsepnarrow] +\cs{glssetcombinedsepnarrow}\marg{width}\marg{narrow sep} +\end{definition} +This is rather more complicated as it measures a field value and +uses \meta{narrow sep} if the width is less than \meta{width}. +The field value is determined as follows: +\begin{itemize} +\item on \gls{firstuse} the +\gloskey{long} field is used if it is set otherwise the +\gloskey{first} field is used; + +\item otherwise the +\gloskey{short} field is used if it is set otherwise the +\gloskey{text} field is used; +\end{itemize} + +Note that this doesn't take into account fonts, hooks, abbreviation +styles or plural forms (e.g.\ \cs{mglspl}) or other field references +(e.g.\ \cs{mglsname}). If the associated attributes are set the commands +will behave according to the attribute. + +\section{\headingcs{mgls} Element Hooks} +\label{sec:mglselementhooks} + +The \cs{mgls}-like commands use the following hooks: +\begin{definition}[\DescribeMacro\mglselementprehook] +\cs{mglselementprehook} +\end{definition} +This is done before each (non-skipped) element. (Default does nothing.) +\begin{definition}[\DescribeMacro\mglselementposthook] +\cs{mglselementposthook} +\end{definition} +This is done after each (non-skipped) element. (Default does nothing.) +Note that this is different from the normal entry post-link hook +\ics{glspostlinkhook}. If the individual entry post-link hook is enabled (see the +\optfmt{postlinks} key in \sectionref{sec:multiglsoptions}), this will go before +\cs{mglselementposthook}. + +The definitions of the following commands are scoped within the +\cs{mgls}-like commands so they can't be accessed elsewhere +(including in the post-link hook, see +\sectionref{sec:mglspostlinkhook}). They +may be used in the above hooks or in the separator commands (described in +\sectionref{sec:mglssep}) or in the command used to encapsulate the +entire content. They can also be used in the post-link hook (see +\sectionref{sec:entryfmtmods}) to determine if an entry is being +used within a \cs{mgls}-like command. + +The multi-entry label is stored in: +\begin{definition}[\DescribeMacro\mglscurrentmultilabel] +\cs{mglscurrentmultilabel} +\end{definition} + +The label of the main element: +\begin{definition}[\DescribeMacro\mglscurrentmainlabel] +\cs{mglscurrentmainlabel} +\end{definition} + +The complete comma-separated list of elements: +\begin{definition}[\DescribeMacro\mglscurrentlist] +\cs{mglscurrentlist} +\end{definition} + +Multi-entry options: +\begin{definition}[\DescribeMacro\mglscurrentoptions] +\cs{mglscurrentoptions} +\end{definition} +These are the options that were used when defining the multi-entry. This +doesn't include options set with \cs{multiglossaryentrysetup} +or those passed to \cs{mgls} (or whichever variant is being used). + +The current multi-entry category in effect is stored in: +\begin{definition}[\DescribeMacro\mglscurrentcategory] +\cs{mglscurrentcategory} +\end{definition} + +The calling command control sequence name (e.g.\ \qt{mgls} or \qt{mglspl}) +can be obtained with: +\begin{definition}[\DescribeMacro\glsxtrcurrentmglscsname] +\cs{glsxtrcurrentmglscsname} +\end{definition} + +To test if the current multi-entry is the first use: +\begin{definition}[\DescribeMacro\mglsisfirstuse] +\cs{mglsisfirstuse}\marg{true}\marg{false} +\end{definition} +This does \meta{true} if this is the first use otherwise it does +\meta{false}. Note that this +applies to the multi-entry first use flag not the +\glspl{firstuseflag} of the individual elements. + +At each iteration of the loop over the element list, the following +commands are set, which can be accessed in hooks such as +\cs{mglselementprehook} or in hooks used by the underlying \cs{gls} +etc commands. For example, if \cs{mglscurrentlabel} is defined then +\cs{gls} is being used inside \cs{mgls}. + +The current element label: +\begin{definition}[\DescribeMacro\mglscurrentlabel] +\cs{mglscurrentlabel} +\end{definition} + +This is a count register that is set to the element index: +\begin{definition}[\DescribeMacro\mglselementindex] +\cs{mglselementindex} +\end{definition} + +The current multi-entry prefix: +\begin{definition}[\DescribeMacro\mglscurrentprefix] +\cs{mglscurrentprefix} +\end{definition} + +The current multi-entry suffix: +\begin{definition}[\DescribeMacro\mglscurrentsuffix] +\cs{mglscurrentsuffix} +\end{definition} + +\begin{definition}[\DescribeMacro\mglsiflast] +\cs{mglsiflast}\marg{true}\marg{false} +\end{definition} +If this is the last iteration, does \meta{true} otherwise does +\meta{false}. This takes the skip options into account, so the last +iteration may not necessarily be when the element index is equal to +the total number of elements. + +\section{Post-Link Hook} +\label{sec:mglspostlinkhook} + +There is a hook that occurs at the end the \cs{mgls}-like commands +according to the \optfmt{mpostlink} setting (see +\sectionref{sec:multiglsoptions}). The hook used depends on the +\optfmt{mpostlinkelement} option. +These hooks can't access the commands described in \sectionref{sec:mglselementhooks} +as the hook occurs outside of the scope in which they are defined. + +The \optfmt{mpostlinkelement=custom} option uses: +\begin{definition}[\DescribeMacro\mglscustompostlinkhook] +\cs{mglscustompostlinkhook} +\end{definition} +This does nothing by default. + +The \optfmt{mpostlinkelement=last} option uses: +\begin{definition}[\DescribeMacro\mglslastelementpostlinkhook] +\cs{mglslastelementpostlinkhook} +\end{definition} +which emulates the post-link hook of the last element. + +The \optfmt{mpostlinkelement=main} option uses: +\begin{definition}[\DescribeMacro\mglslastmainpostlinkhook] +\cs{mglslastmainpostlinkhook} +\end{definition} +which emulates the post-link hook of the main element. + +The default settings +\optfmt{postlinks=none,mpostlink=true,mpostlinkelementlast} will +suppress the individual element post-link hooks +(\ics{glspostlinkhook}) and do the multi-entry post-link hook for +the last element (\cs{mglslastelementpostlinkhook}). + +If you have the final element's post-link hook enabled and the +multi-entry post-link hook enabled (for example, +\optfmt{postlinks=all, mpostlink=true, mpostlinkelement=last}), the +final element's post-link hook will be done twice. Similarly for the +main element with +\optfmt{postlinks=all, mpostlink=true, mpostlinkelement=main}. + +The following commands are available for use in these hooks and may +also be used in \ics{mglssuffix}. + +The multi-entry label: +\begin{definition}[\DescribeMacro\mglslastmultilabel] +\cs{mglslastmultilabel} +\end{definition} + +The multi-entry category (\sectionref{sec:multiglscategory}): +\begin{definition}[\DescribeMacro\mglslastcategory] +\cs{mglslastcategory} +\end{definition} +This will be empty if no category was assigned. + +\begin{definition}[\DescribeMacro\mglswasfirstuse] +\cs{mglswasfirstuse}\marg{true}\marg{false} +\end{definition} +If that was the first use of the multi-entry (\sectionref{sec:mglsfirstuse}) +this does \meta{true} otherwise it does \meta{false}. + +\subsection{Last Element} +\label{sec:mglspostlinkhooklastelement} +The following commands relate to the last element. + +The label of the last non-skipped element: +\begin{definition}[\DescribeMacro\mglslastelementlabel] +\cs{mglslastelementlabel} +\end{definition} +If all elements were skipped or if the multi-entry wasn't defined, +this will be empty. + +Test if the last element was skipped: +\begin{definition}[\DescribeMacro\mglsiflastelementskipped] +\cs{mglsiflastelementskipped}\marg{true}\marg{false} +\end{definition} +If the last element was skipped this does \meta{true} otherwise it +does \meta{false}. +If all elements were skipped or if the multi-entry wasn't defined, +this will do \meta{true}. + +Test if the last element was its first use: +\begin{definition}[\DescribeMacro\mglsiflastelementwasfirstuse] +\cs{mglsiflastelementwasfirstuse}\marg{true}\marg{false} +\end{definition} +If the last non-skipped element was used for the first time this +does \meta{true} otherwise it does \meta{false}. (Corresponds to +\cs{glsxtrifwasfirstuse}.) +If all elements were skipped or if the multi-entry wasn't defined, +this will do \meta{true}. + +Test if the last element was plural: +\begin{definition}[\DescribeMacro\mglsiflastelementwasplural] +\cs{mglsiflastelementwasplural}\marg{true}\marg{false} +\end{definition} +If the last non-skipped element had the plural form displayed, this +does \meta{true} otherwise it does \meta{false}. (Corresponds to +\cs{glsifplural}.) +If all elements were skipped or if the multi-entry wasn't defined, +this will do \meta{false}. + +Test if the last element was had any case-changing applied: +\begin{definition}[\DescribeMacro\mglsiflastelementcapscase] +\cs{mglsiflastelementcapscase}\marg{no-change}\marg{firstuc}\marg{all caps} +\end{definition} +Corresponds to \cs{glscapscase} of the last non-skipped element. +If all elements were skipped or if the multi-entry wasn't defined, +this will do \meta{no-change}. + +\subsection{Main Element} +\label{sec:mglspostlinkhookmainelement} +The following commands relate to the main element. + +The label of the main element from the multi-entry that was just +referenced: +\begin{definition}[\DescribeMacro\mglslastmainlabel] +\cs{mglslastmainlabel} +\end{definition} +If the main element was skipped or if the multi-entry +wasn't defined, this will be empty. If this is the same as +\cs{mglslastelementlabel} then the main element was the last +element. + +Test if the main element was skipped: +\begin{definition}[\DescribeMacro\mglsiflastmainskipped] +\cs{mglsiflastmainskipped}\marg{true}\marg{false} +\end{definition} +If the main element from the multi-entry that was just referenced +was skipped this does \meta{true} otherwise it does \meta{false}. +If the multi-entry wasn't defined, this will do \meta{true}. + +Test if the main element was its first use: +\begin{definition}[\DescribeMacro\mglsiflastmainwasfirstuse] +\cs{mglsiflastmainwasfirstuse}\marg{true}\marg{false} +\end{definition} +If the main element was used for the first time this +does \meta{true} otherwise it does \meta{false}. (Corresponds to +\cs{glsxtrifwasfirstuse}.) +If the main element was skipped or if the multi-entry wasn't defined, +this will do \meta{true}. + +Test if the main element was plural: +\begin{definition}[\DescribeMacro\mglsiflastmainwasplural] +\cs{mglsiflastmainwasplural}\marg{true}\marg{false} +\end{definition} +If the main element from the multi-entry that was just referenced +had its plural form displayed this does \meta{true} otherwise it +does \meta{false}. (Corresponds to \cs{glsifplural}.) If the main +element was skipped or if the multi-entry wasn't defined, this will +do \meta{false}. + +Test if the main element was had any case-changing applied: +\begin{definition}[\DescribeMacro\mglsiflastmaincapscase] +\cs{mglsiflastmaincapscase}\marg{no-change}\marg{firstuc}\marg{all caps} +\end{definition} +Corresponds to \cs{glscapscase} of the main element from the +multi-entry that was just referenced. If the main element was +skipped or if the multi-entry wasn't defined, this will do +\meta{no-change}. + +\section{Multi-Entry First Use} +\label{sec:mglsfirstuse} + +Each multi-entry set has an associated first use flag. This is +independent of the \gls{firstuseflag} associated with the individual +entries that make up the set. As with the \cs{gls}-like commands, +\cs{mgls} unsets this flag. Unlike the \cs{glstext}-like commands, all +the commands described in \sectionref{sec:mglslike} (including +commands like \cs{mglsname}) unset this flag, even if the elements +use commands like \cs{glsname} that don't unset the entry's +\gls{firstuseflag}. + +You can determine whether or not a multi-entry set has been +marked as used with: +\begin{definition}[\DescribeMacro\ifmglsused] +\cs{ifmglsused}\marg{multi-label}\marg{true}\marg{false} +\end{definition} +You can (globally) unset the flag (mark the set as having been referenced) +with: +\begin{definition}[\DescribeMacro\mglsunset] +\cs{mglsunset}\marg{multi-label} +\end{definition} +or reset it with: +\begin{definition}[\DescribeMacro\mglsreset] +\cs{mglsreset}\marg{multi-label} +\end{definition} +There are also local versions of these commands: +\begin{definition}[\DescribeMacro\mglslocalunset] +\cs{mglslocalunset}\marg{multi-label} +\end{definition} +and +\begin{definition}[\DescribeMacro\mglslocalreset] +\cs{mglslocalreset}\marg{multi-label} +\end{definition} + +To unset all multi-entries: +\begin{definition}[\DescribeMacro\mglsunsetall] +\cs{mglsunsetall} +\end{definition} +To reset all multi-entries: +\begin{definition}[\DescribeMacro\mglsresetall] +\cs{mglsresetall} +\end{definition} + +Note that unsetting or resetting any of the individual element +\glspl{firstuseflag} doesn't affect the multi-entry flag. +Similarly, unsetting or resetting the multi-entry flag doesn't +affect the \glspl{firstuseflag} of the individual elements. + +\section{Multi-Entry Category} +\label{sec:multiglscategory} + +A multi-entry set may have an associated category set using the +\optfmt{category} key described in \sectionref{sec:multiglsoptions}. +This isn't set by default, but if it is set the category may have +attributes set in the usual way. The multi-entry category is +independent of the individual entry categories. The following +attribute is recognised by commands like \cs{mgls}: + +\begin{description} + +\item[\catattrdef{multioptions}] default options to apply to any +multi-entry set with the given category. These can be overridden +by the first optional argument of \cs{multiglossaryentry} or by the +\optfmt{setup} key in the first optional argument of commands like +\cs{mgls}. + +\end{description} + +Note that you can't access the category or its attributes via the +multi-entry label (for example, with \cs{glshasattribute}). If you +need to access the current multi-entry's category within any of the +\cs{mgls}-like hooks (\sectionref{sec:mglselementhooks}), you can +obtain the category with \cs{mglscurrentcategory} and use commands +like \cs{glshascategoryattribute}. + +\section{Multi-Entry Settings} +\label{sec:multiglsoptions} + +The settings that govern all multi-entries can be set using: +\begin{definition}[\DescribeMacro\multiglossaryentrysetup] +\cs{multiglossaryentrysetup}\marg{options} +\end{definition} +The \meta{options} are the same as for \cs{multiglossaryentry}. +Options may also be set according to the multi-entry category +attribute \catattr{multioptions}. + +Whenever the \cs{mgls}-like commands are used, options are applied in the +following order: +\begin{enumerate} +\item general options identified by \cs{multiglossaryentrysetup}; + +\item the category key is assigned if it's in the general options, +\cs{multiglossaryentry} or \optfmt{setup} key; + +\item \catattr{multioptions} category attribute (if set); + +\item any options provided in the first optional argument of +\cs{multiglossaryentry}; + +\item any options provided in the \optfmt{setup} key in the first +optional argument of the \cs{mgls}-like command. +\end{enumerate} + +These options are described below. + +\subsection{Indexing} +\label{sec:multiglsoptionsindexing} + +\begin{description} +\item[\optfmt{indexmain}] This setting may take one of the following +values: + \begin{description} + \item[\optfmt{false}] don't index the main entry; + \item[\optfmt{true}] index the main entry; + \item[\optfmt{first}] only index the main entry if it's the first +use (of the main entry). + \end{description} + The default is \optfmt{true}. + +\item[\optfmt{indexothers}] This setting may take one of the following +values: + \begin{description} + \item[\optfmt{false}] don't index the other entries; + \item[\optfmt{true}] index the other entries; + \item[\optfmt{first}] only index the other entries if +it's the first use (of the non-main entry). + \end{description} + The default is \optfmt{first}. +\end{description} + +\subsection{Location Formats (Encaps)} +\label{sec:multiglsoptionsencap} + +\begin{description} +\item[\optfmt{encapmain}] This setting value should be the value to + pass to \gloskey[glslink]{format} for the main entry. (The location + encapsulator.) The default is \texttt{glsnumberformat}. + +\item[\optfmt{encapothers}] This setting value should be the value to + pass to \gloskey[glslink]{format} for the other (not main) entries. (The location + encapsulator.) The default is \texttt{glsnumberformat}. +\end{description} + +\subsection{Post-Link Hooks} +\label{sec:multiglsoptionspostlink} + +\begin{description} +\item[\optfmt{postlinks}] This setting determines whether or not to +enable the individual element's post-link hook +(\ics{glspostlinkhook}). The value may be one of: +\begin{description} +\item[\optfmt{none}] suppress the post-link hook for all elements; +\item[\optfmt{all}] don't suppress the post-link hook for all elements; +\item[\optfmt{notlast}] only suppress the post-link hook for the +last element; +\item[\optfmt{mainnotlast}] suppress the post-link hook for all +\qt{other} (not main) elements and for the last element (so only the +main element will have its post-link hook as long as it's not the +last element); +\item[\optfmt{mainonly}] suppress the post-link hook for all +\qt{other} (not main) elements; +\item[\optfmt{othernotlast}] suppress the post-link hook for the +main element and for the last element (so only the other elements +will have their post-link hook as long as the element isn't the last +one); +\item[\optfmt{otheronly}] suppress the post-link hook for the main element. +\end{description} +The default is \optfmt{postlinks=none}. + +\item[\optfmt{mpostlink}] This setting determines whether or not to +enable the multi-entry post-link hook +(\sectionref{sec:mglspostlinkhook}). The value may be one of: + \begin{description} + \item[\optfmt{false}] suppress the multi-entry post-link hook; + \item[\optfmt{true}] enable the multi-entry post-link hook; + \item[\optfmt{firstonly}] enable the multi-entry post-link hook + only for the first use of the multi-entry; + \item[\optfmt{usedonly}] enable the multi-entry post-link hook + only for the subsequent (not first) use of the multi-entry. + \end{description} +The default is \optfmt{mpostlink=true}. If the value is omitted, +\optfmt{true} is assumed. + +\item[\optfmt{mpostlinkelement}] This setting indicates which +post-link hook should be used if the multi-entry post-link hook has +been enabled. Allowed values: + \begin{description} + \item[\optfmt{last}] use \ics{mglslastelementpostlinkhook} (that +is, use the post-link hook for the last element); + \item[\optfmt{main}] use \ics{mglslastmainpostlinkhook} (that +is, use the post-link hook for the main element); + \item[\optfmt{custom}] use \ics{mglslastcustompostlinkhook}. + \end{description} +\end{description} +Note that some combinations may cause a repeated hook. + +\subsection{Prefixes and Suffixes} +\label{sec:multiglsoptionsfixes} + +See \sectionref{sec:mglsfixes} for more information on prefixes and +suffixes. Note that the prefixes and suffixes are not affected by +case-changing commands such as \cs{Mgls} or \cs{MGLS}. +If you want a prefix to obey case-changing, use the \cs{mpgls}-like +commands instead (\sectionref{sec:mpgls}). + +\begin{description} + +\item[firstprefix] The prefix to use on first use of the +multi-entry. + +\item[usedprefix] The prefix to use on subsequent use of the +multi-entry. + +\item[firstsuffix] The suffix to use on first use of the +multi-entry. + +\item[usedsuffix] The suffix to use on subsequent use of the +multi-entry. +\end{description} + +\subsection{Skipping Elements} +\label{sec:multiglsoptionsskip} + +\begin{description} + +\item[\optfmt{firstskipmain}] This is a boolean setting. If +\optfmt{true}, the main element will be omitted on (multi-entry) first use. + +\item[\optfmt{firstskipothers}] This is a boolean setting. If +\optfmt{true}, the other (non-main) elements will be omitted on +(multi-entry) first use. + +\item[\optfmt{usedskipmain}] This is a boolean setting. If +\optfmt{true}, the main element will be omitted on (multi-entry) subsequent use. + +\item[\optfmt{usedskipothers}] This is a boolean setting. If +\optfmt{true}, the other (non-main) elements will be omitted on +(multi-entry) subsequent use. + +\end{description} +The skip options apply to the multi-entry first use flag not the +individual element first use. See \sectionref{sec:mglsfirstuse}. + +Note that it is technically possible to set the skip options so that +both the main and the other elements are skipped. However, by +default, this will generate a warning and only the final optional +argument (the \meta{insert}) will be displayed. There won't be a +loop over all elements so the commands set at each iteration, such +as \cs{mglscurrentlabel}, won't be defined. + +The warning and the +insertion of the \meta{insert} is done by: +\begin{definition}[\DescribeMacro\glsxtrmglsWarnAllSkipped] +\cs{glsxtrmglsWarnAllSkipped}\marg{message}\marg{insert}\marg{cs} +\end{definition} +where \meta{message} is the warning message and \meta{cs} is the +control sequence that encapsulates the entire content (including +hyperlink and the \optfmt{textformat} setting, if enabled). + +If, for some particular reason, you want this scenario, you can +redefine this command to omit the warning. + +\subsection{General} +\label{sec:multiglsoptionsgeneral} + +\begin{description} +\item[\optfmt{hyper}] This setting may take one of the following +values: + \begin{description} + \item[\optfmt{none}] no hyperlinks; + \item[\optfmt{allmain}] encapsulate the entire content with + a single hyperlink to the main entry's target; + \item[\optfmt{mainonly}] only hyperlink the main entry; + \item[\optfmt{individual}] hyperlink each entry individually; + \item[\optfmt{otheronly}] only hyperlink the other entries; + \item[\optfmt{notmainfirst}] don't hyperlink the main entry on + multi-entry first use; + \item[\optfmt{nototherfirst}] don't hyperlink the other entries on + multi-entry first use; + \item[\optfmt{notfirst}] don't hyperlink any entries on + multi-entry first use. + \end{description} + The default is \optfmt{individual}. + +\item[\optfmt{textformat}] This setting value should be the control +sequence name (without the leading backslash) of the command used to +encapsulate the entire content. The default is \texttt{@firstofone}. + +\item[\optfmt{category}] The category to apply to the +multi-entry. This is independent of the categories of each of the elements. +The default is no category. See \sectionref{sec:multiglscategory}. + +\item[\optfmt{mglsopts}] Default options to pass to \cs{mgls}. +Note that \optfmt{setup} can't be used within this value. + +\end{description} + +\section{\headingcs{mgls} Options} +\label{sec:mglsopts} + +The \meta{options} for \cs{mgls} (and similar commands) are listed below. +Any additional options provided will be appended to the \optfmt{all} +value. For example: +\begin{verbatim} +\mgls[counter=chapter]{cbot} +\end{verbatim} +is equivalent to: +\begin{verbatim} +\mgls[all={counter=chapter}]{cbot} +\end{verbatim} +Whereas: +\begin{verbatim} +\mgls[counter=chapter,all={counter=section}]{cbot} +\end{verbatim} +is treated as: +\begin{verbatim} +\mgls[all={counter=section,counter=chapter}]{cbot} +\end{verbatim} +which has the same effect as: +\begin{verbatim} +\mgls[all={counter=chapter}]{cbot} +\end{verbatim} +(The descriptions below reference \cs{gls} which is used internally +by \cs{mgls}. Replace this with \cs{glspl} etc as applicable for the +variants, such as \cs{mglspl}.) + +\begin{description} +\item[\optfmt{setup}] The value should be a list of any options that +can be passed to \cs{multiglossaryentrysetup}. These options will +override any conflicting options that were supplied to \cs{multiglossaryentry} +or \cs{multiglossaryentrysetup}. Note that \optfmt{mgls} can't be +used within this value. + +\item[\optfmt{all}] The value should be a list of any options that +can be passed to \cs{gls}. These options will be passed to each +instance of \cs{gls} and will override any conflicting setting in +\optfmt{setup}. + +\item[\optfmt{main}] The value should be a list of any options that +can be passed to \cs{gls}. These options will be passed to the +instance of \cs{gls} used for the main label and will override any +conflicting setting in \optfmt{all}. + +\item[\optfmt{others}] The value should be a list of any options that +can be passed to \cs{gls}. These options will be passed to each +instance of \cs{gls} used for the other (not main) labels and will +override any conflicting setting in \optfmt{all}. + +\item[\optfmt{hyper}] a boolean option to determine whether or not +to use hyperlinks (if supported). This may cause a conflict with +other options, but is essentially provided to allow the starred +version of \cs{mgls} to switch off all hyperlinks. + +\item[\optfmt{multiunset}] This only applies to the multi-entry +first use flag, described in \sectionref{sec:mglsfirstuse}, not the +\glspl{firstuseflag} of the elements. The value may be one of: +\begin{description} +\item \optfmt{global} globally unset the flag (default); +\item \optfmt{local} locally unset the flag; +\item \optfmt{none} don't unset the flag. +\end{description} + +\item[\optfmt{presetlocal}] a boolean option that governs whether or +not the following options should have a local or global effect. +The default is \optfmt{presetlocal=false} (global). + +\item[\optfmt{resetall}] a boolean option to determine whether or not +to reset all entries in \meta{label list} \emph{before} using \cs{gls}. +This option refers to the individual entry's \gls{firstuseflag} not +the multi-set flag. + +\item[\optfmt{resetmain}] a boolean option to determine whether or not +to reset the main entry \emph{before} using \cs{gls}. +This option refers to the individual entry's \gls{firstuseflag} not +the multi-set flag. + +\item[\optfmt{resetothers}] a boolean option to determine whether or not +to reset the other (not main) entries \emph{before} using \cs{gls}. +This option refers to the individual entry's \gls{firstuseflag} not +the multi-set flag. + +\item[\optfmt{unsetall}] a boolean option to determine whether or not +to unset all entries in \meta{label list} \emph{before} using \cs{gls}. +This option refers to the individual entry's \gls{firstuseflag} not +the multi-set flag. + +\item[\optfmt{unsetmain}] a boolean option to determine whether or not +to unset the main entry \emph{before} using \cs{gls}. +This option refers to the individual entry's \gls{firstuseflag} not +the multi-set flag. + +\item[\optfmt{unsetothers}] a boolean option to determine whether or not +to unset the other (not main) entries \emph{before} using \cs{gls}. +This option refers to the individual entry's \gls{firstuseflag} not +the multi-set flag. +\end{description} +The \optfmt{reset\ldots} options all use: +\begin{definition}[\DescribeMacro\mglselementreset] +\cs{mglselementreset}\marg{label} +\end{definition} +The \optfmt{unset\ldots} options all use: +\begin{definition}[\DescribeMacro\mglselementunset] +\cs{mglselementunset}\marg{label} +\end{definition} +These take the \optfmt{presetlocal} into account. + +An alternative way of resetting the other elements is to use: +\begin{definition}[\DescribeMacro\mglsunsetothers] +\cs{mglsunsetothers}\marg{multi-label} +\end{definition} +or for a local reset: +\begin{definition}[\DescribeMacro\mglslocalunsetothers] +\cs{mglslocalunsetothers}\marg{multi-label} +\end{definition} + +\section{Variants of \headingcs{mgls}} +\label{sec:mglslike} + +The commands listed in this section all behave like \cs{mgls}. These +(including \cs{mgls} itself) are collectively referred to as the +\cs{mgls}-like commands. All commands unset the multi-entry first +use flag (unless the \optfmt{multiunset=none} option is applied). Only +those commands that use the \cs{gls}-like commands (such as \cs{gls} +or \cs{glspl}) will unset the individual entry \gls{firstuseflag}. + +\subsection{\headingcs{gls}-like} +\label{sec:mglsbasic} + +\begin{definition}[\DescribeMacro\mglspl] +\cs{mglspl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{glspl} instead of \cs{gls} for each entry. + +\begin{definition}[\DescribeMacro\mglsmainpl] +\cs{mglsmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{glspl} instead of \cs{gls} for the main entry and +\cs{gls} for all the other entries. + +\begin{definition}[\DescribeMacro\Mgls] +\cs{Mgls}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Gls} for the first entry and \cs{gls} for the other +entries. + +\begin{definition}[\DescribeMacro\MGls] +\cs{MGls}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Gls} for all entries. + +\begin{definition}[\DescribeMacro\Mglspl] +\cs{Mglspl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Glspl} for the first entry and \cs{glspl} for the other +entries. + +\begin{definition}[\DescribeMacro\Mglsmainpl] +\cs{Mglsmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +The first entry starts with an upper case. The plural form is used +for the main entry. + +\begin{definition}[\DescribeMacro\MGlspl] +\cs{MGlspl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Glspl} for all entries. + +\begin{definition}[\DescribeMacro\MGlsmainpl] +\cs{MGlsmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Glspl} for the main entry and \cs{Gls} for all other entries. + +\begin{definition}[\DescribeMacro\MGLS] +\cs{MGLS}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{GLS} instead of \cs{gls} for each entry. + +\begin{definition}[\DescribeMacro\MGLSpl] +\cs{MGLSpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{GLSpl} instead of \cs{gls} for each entry. + +\begin{definition}[\DescribeMacro\MGLSmainpl] +\cs{MGLSmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses all caps for all entries and \cs{GLSpl} for the main +entry. + +\subsection{Abbreviations} +\label{sec:mglsabbrv} + +\begin{definition}[\DescribeMacro\mglsshort] +\cs{mglsshort}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This will use \cs{glsxtrshort} for any entries that have the +\gloskey{short} key set and will use \cs{glstext} otherwise. + +\begin{definition}[\DescribeMacro\mglslong] +\cs{mglslong}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This will use \cs{glsxtrlong} for any entries that have the +\gloskey{long} key set and will use \cs{glstext} otherwise. + +\begin{definition}[\DescribeMacro\mglsfull] +\cs{mglsfull}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This will use \cs{glsxtrfull} for any entries that have the +\gloskey{short} key set and will use \cs{glsfirst} otherwise. + +\begin{definition}[\DescribeMacro\Mglsshort] +\cs{Mglsshort}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +As \cs{mglsshort} but with an initial capital on the first entry. + +\begin{definition}[\DescribeMacro\Mglslong] +\cs{Mglslong}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +As \cs{mglslong} but with an initial capital on the first entry. + +\begin{definition}[\DescribeMacro\Mglsfull] +\cs{Mglsfull}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +As \cs{mglsfull} but with an initial capital on the first entry. + +\subsection{Other Fields} +\label{sec:mglsotherfields} + +\begin{definition}[\DescribeMacro\mglsname] +\cs{mglsname}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{glsname} instead of \cs{gls} for each entry. + +\begin{definition}[\DescribeMacro\MGlsname] +\cs{MGlsname}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Glsname} instead of \cs{gls} for each entry. + +\begin{definition}[\DescribeMacro\Mglsname] +\cs{Mglsname}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{Glsname} instead of \cs{gls} for the first entry and +\cs{glsname} for all the other entries. + +\begin{definition}[\DescribeMacro\mglssymbol] +\cs{mglssymbol}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{glssymbol} if the \gloskey{symbol} key has been set +otherwise it uses \cs{gls} for each element. + +\begin{definition}[\DescribeMacro\MGlssymbol] +\cs{MGlssymbol}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +This uses \cs{glssymbol} if the \gloskey{symbol} key has been set +otherwise it uses \cs{Gls} for each element. (Note that no case +change is applied to the symbol as this usually isn't appropriate.) + +\begin{definition}[\DescribeMacro\Mglssymbol] +\cs{Mglssymbol}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +As above, but \cs{Gls} is only used for the first element (if it +doesn't have the \gloskey{symbol} key set). + +\begin{definition}[\DescribeMacro\mglsusefield] +\cs{mglsusefield}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Use \texttt{\cs{glsdisp}\marg{label}\glsopenbrace\meta{field +value}\meta{insert}\glsclosebrace} if the field given by: +\begin{definition}[\DescribeMacro\mglsfield] +\cs{mglsfield} +\end{definition} +exists, otherwise use \cs{gls}. By default, this is \texttt{useri} +(corresponding to the \gloskey{user1} key). If you redefine +\cs{mglsfield}, you will need to use the internal name. + +\begin{definition}[\DescribeMacro\Mglsusefield] +\cs{Mglsusefield}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +As \cs{mglsusefield} but the first element starts with an initial +uppercase. + +\begin{definition}[\DescribeMacro\MGlsusefield] +\cs{MGlsusefield}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +As \cs{mglsusefield} but each element starts with an initial +uppercase. + +You can use the pre-element hook \cs{mglselementprehook} to locally +redefine \cs{mglsfirst}. Examples: +\begin{enumerate} +\item if the multi-category is \qt{sample} then use the +\gloskey{user2} field otherwise use the \gloskey{user1} field: +\begin{verbatim} +\renewcommand{\mglselementprehook}{% + \ifdefstring{\mglscurrentcategory}{sample}% + {\renewcommand{\mglsfield}{userii}}% + {\renewcommand{\mglsfield}{useri}}% +} +\end{verbatim} + +\item if the element's category is \qt{sample} then use the +\gloskey{user2} field otherwise use the \gloskey{user1} field: +\begin{verbatim} +\renewcommand{\mglselementprehook}{% + \glsifcategory{\mglscurrentlabel}{sample}% + {\renewcommand{\mglsfield}{userii}}% + {\renewcommand{\mglsfield}{useri}}% +} +\end{verbatim} + +\item if either the multi-entry's category or the element's category +has the custom attribute \qt{mglsfield} set then use it otherwise use +the \gloskey{user1} field: +\begin{verbatim} +\renewcommand{\mglselementprehook}{% + \glshascategoryattribute{\mglscurrentcategory}{mglsfield}% + {\renewcommand{\mglsfield}{\glsgetcategoryattribute{\mglscurrentcategory}{mglsfield}}}% + {% + \glshasattribute{\mglscurrentlabel}{mglsfield}% + {\renewcommand{\mglsfield}{\glsgetattribute{\mglscurrentlabel}{mglsfield}}}% + {\renewcommand{\mglsfield}{useri}}% + }% +} +\end{verbatim} +\end{enumerate} + +\subsection{Support for \headingsty{glossaries-prefix} (\headingcs{pgls})} +\label{sec:mpgls} + +If you load the \sty{glossaries-prefix} package (either after +\styfmt{glossaries-extra}) or with the \pkgopt{prefix} package +option, then the following commands will use one of the +\cs{pgls}-like commands provided by that package. (See the +\styfmt{glossaries} user manual for further details.) + +If the \styfmt{glossaries-prefix} package hasn't been loaded then +\cs{gls} (or analogous case-changing variant) will be used instead +and a warning is issued. The warning can be removed by redefining +the following to do nothing: +\begin{definition}[\DescribeMacro\mpglsWarning] +\cs{mpglsWarning} +\end{definition} + +\begin{definition}[\DescribeMacro\mpgls] +\cs{mpgls}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{pgls} for the first element and \cs{gls} for the remaining +elements. + +\begin{definition}[\DescribeMacro\mpglspl] +\cs{mpglspl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{pglspl} for the first element and \cs{glspl} for the remaining +elements. + +\begin{definition}[\DescribeMacro\mpglsmainpl] +\cs{mpglsmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Only uses the plural form for the main element. The first element +uses the prefixing command (\cs{pgls} or \cs{pglspl}, depending on +whether the first element is the main element). + +\begin{definition}[\DescribeMacro\Mpgls] +\cs{Mpgls}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{Pgls} for the first element and \cs{gls} for the remaining +elements. + +\begin{definition}[\DescribeMacro\Mpglsmainpl] +\cs{Mpglsmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Only uses the plural form for the main element. The first element +uses the first-letter uppercase prefixing command +(\cs{Pgls} or \cs{Pglspl}, depending on whether the first element is +the main element). + +\begin{definition}[\DescribeMacro\MPGls] +\cs{MPGls}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{Pgls} for the first element and \cs{Gls} for the remaining +elements. + +\begin{definition}[\DescribeMacro\MPGlspl] +\cs{MPGlspl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{Pglspl} for the first element and \cs{Glspl} for the remaining +elements. + +\begin{definition}[\DescribeMacro\MPGlsmainpl] +\cs{MPGlsmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Only uses the plural form for the main element. The first element +uses the prefixing command (\cs{Pgls} or \cs{Pglspl}, depending on +whether the first element is the main element). All elements are +converted to first letter uppercase. + +\begin{definition}[\DescribeMacro\MPGLS] +\cs{MPGLS}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{PGLS} for the first element and \cs{GLS} for the remaining +elements. + +\begin{definition}[\DescribeMacro\MPGLSpl] +\cs{MPGLSpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Uses \cs{PGLSpl} for the first element and \cs{GLSpl} for the remaining +elements. + +\begin{definition}[\DescribeMacro\MPGLSmainpl] +\cs{MPGLSmainpl}\oarg{options}\marg{multi-label}\oarg{insert} +\end{definition} +Only uses the plural form for the main element. All elements are +converted to uppercase. The first element uses the prefixing command +(\cs{PGLS} or \cs{PGLSpl}, depending on whether the first element is +the main element). + +\section{Cross-References} +\label{sec:msee} + +Multi-entry labels may be used in the cross-referencing keys +\gloskey{see} and \gloskey{seealso}. The formatting command will +use: +\begin{definition}[\DescribeMacro\mglsseefirstitem] +\cs{mglsseefirstitem}\marg{label} +\end{definition} +for the first item in the list (if it's a multi-entry) and +\begin{definition}[\DescribeMacro\mglsseeitem] +\cs{mglsseeitem}\marg{label} +\end{definition} +for any subsequent items that are multi-entries. The default +definition of \cs{mglsseeitem} is: +\begin{verbatim} +\newcommand*{\mglsseeitem}[1]{% + \mglsname[all={noindex},setup={hyper=allmain}]{#1}% +} +\end{verbatim} +This switches off indexing, sets the hyperlink to encompass the +entire multi-entry content and uses the \gloskey{name} field. +The default definition of \cs{mglsseefirstitem} is simply +\cs{mglsseeitem}. + +For example, to use the \gloskey{short} or \gloskey{text} fields: +\begin{verbatim} +\renewcommand*{\mglsseeitem}[1]{% + \mglsshort[all={noindex},setup={hyper=allmain}]{#1}% +} +\end{verbatim} + +A multi-entry label may also be used in the \gloskey{alias} key. The +hyperlink target will be the target for the main entry. For example: +\begin{verbatim} +\multiglossaryentry{cbot}{clostridium,botulinum} +\newglossaryentry{botox}{name=botox,description={},alias={cbot}} +\end{verbatim} +In this case \verb|\gls{botox}| will hyperlink to the +\texttt{botulinum} target. + +\begin{important} +Any multi-entries used in the cross-referencing keys must be defined +before the glossary is displayed. There is some support for +\pkgopt[true]{docdef} but not for the other \pkgopt{docdef} settings. +\end{important} + +\section{Additional Commands} +\label{sec:multiextras} + +You can test if a label represents a multi-entry using: +\begin{definition}[\DescribeMacro\glsxtrifmulti] +\cs{glsxtrifmulti}\marg{label}\marg{true}\marg{false} +\end{definition} +The following command will expand to the main entry label for +the given multi-entry label: +\begin{definition}[\DescribeMacro\glsxtrmultimain] +\cs{glsxtrmultimain}\marg{multi-label} +\end{definition} +This will expand to nothing if the supplied \meta{multi-label} +hasn't been defined as a multi-entry. Similarly, for the complete +label list: +\begin{definition}[\DescribeMacro\glsxtrmultilist] +\cs{glsxtrmultilist}\marg{multi-label} +\end{definition} + +To iterate over all the list of all elements: +\begin{definition}[\DescribeMacro\mglsforelements] +\cs{mglsforelements}\marg{multi-label}\marg{cs}\marg{body} +\end{definition} +This defines \meta{cs} to the current element label on each +iteration of the loop, which can be used to reference the label in +\meta{body}. This internally uses \cs{@for} (patched by the +\sty{xfor} package). + +There is a similar command that skips the main element: +\begin{definition}[\DescribeMacro\mglsforotherelements] +\cs{mglsforotherelements}\marg{multi-label}\marg{cs}\marg{body} +\end{definition} + +The total number of elements can be obtained with: +\begin{definition}[\DescribeMacro\glsxtrmultitotalelements] +\cs{glsxtrmultitotalelements}\marg{multi-label} +\end{definition} +This expands to the number, if \meta{multi-label} is defined, +otherwise expands to nothing. + +The index of the main element can be obtained with: +\begin{definition}[\DescribeMacro\glsxtrmultimainindex] +\cs{glsxtrmultimainindex}\marg{multi-label} +\end{definition} +This expands to the index, if \meta{multi-label} is defined, +otherwise expands to nothing. Indexing starts from 1 for the first +element. The index of the final non-main element can be obtained +with: +\begin{definition}[\DescribeMacro\glsxtrmultilastotherindex] +\cs{glsxtrmultilastotherindex}\marg{multi-label} +\end{definition} + +The \cs{multiglossaryentry} command will write the label information +to the \filetype{aux} file using: +\begin{definition}[\DescribeMacro\writemultiglossentry] +\cs{writemultiglossentry}\marg{options}\marg{multi-label}\marg{main-label}\marg{list} +\end{definition} +This is will write the following line to the \filetype{aux} file: +\begin{definition} +\cs{@glsxtr@multientry}\marg{options}\marg{multi-label}\marg{main-label}\marg{list} +\end{definition} +This is provided to support \pkgopt[true]{docdef} and also +for the benefit of any tools that require the +information (such as \gls{bib2gls} or autocompletion tools). +If it's not required and causes too much clutter, it can +be disabled by redefining \cs{writemultiglossentry} to do nothing. + +\section{\headingapp{bib2gls}} +\label{sec:mbib2gls} + +In the \gls{bib2gls} v2.9+ user manual, these multi-entry sets are +referred to as \qt{compound entries} or \qt{compound sets} to +differentiate them from \gls{bib2gls}['s] multi-entry types (such as +\texttt{@dualentry}). + +Each instance of one of the \cs{mgls}-like commands is written to +the \filetype{aux} file and so can be picked up by \gls{bib2gls} +(at least version 2.9). The resource options can be used to +determine whether or not to consider the other (non-main) elements +to be dependent on the main element. + +With \gls{bib2gls}, you can either define the compound entries in +the document with \cs{multiglossaryentry} (or +\cs{providemultiglossaryentry}) or you can use the \texttt{@compoundset} +entry type in a \filetype{bib} file. Whichever method you use, +remember that the entries that form the elements of the set must be +defined first. See the \gls{bib2gls} manual (v2.9+) for further details. + +You can use the resource option \optfmt{compound-adjust-name} +to replace the \gloskey{name} field of the main entry to: +\begin{definition}[\DescribeMacro\glsxtrmultientryadjustedname] +\cs{glsxtrmultientryadjustedname}\marg{sublist1}\marg{name}\marg{sublist2}\marg{label} +\end{definition} +where \meta{label} is the label identifying the compound set, +\meta{name} was the value of the \gloskey{name} before adjustment, +\meta{sublist1} is the sub-list of other element labels +before the main element (empty if the main element is the first +element in the list), and \meta{sublist2} is the sub-list of +other elements after the main element (empty if the main label is +the final element). + +This command is defined in \sty{glossaries-extra-bib2gls}, which is +automatically loaded with \pkgopt[only]{record} and +\pkgopt[nameref]{record}. Case-changing versions of this command are +also available. First letter uppercase: +\begin{definition}[\DescribeMacro\Glsxtrmultientryadjustedname] +\cs{Glsxtrmultientryadjustedname}\marg{sublist1}\marg{name}\marg{sublist2}\marg{label} +\end{definition} +Title case: +\begin{definition}[\DescribeMacro\GlsXtrmultientryadjustedname] +\cs{GlsXtrmultientryadjustedname}\marg{sublist1}\marg{name}\marg{sublist2}\marg{label} +\end{definition} +All uppercase: +\begin{definition}[\DescribeMacro\GLSxtrmultientryadjustedname] +\cs{GLSxtrmultientryadjustedname}\marg{sublist1}\marg{name}\marg{sublist2}\marg{label} +\end{definition} + +Note that this command doesn't take the prefix or suffix into +account (see \sectionref{sec:mglsfixes}). + +The separator between each element in the sub-lists is produced +with: +\begin{definition}[\DescribeMacro\glsxtrmultientryadjustednamesep] +\cs{glsxtrmultientryadjustednamesep}\marg{pre label}\marg{post label} +\end{definition} +The default definition just uses \cs{glscombinedfirstsepfirst}. + +The separator between the last element of \meta{sublist1} and the +main element is produced with: +\begin{definition}[\DescribeMacro\glsxtrmultientryadjustednamepresep] +\cs{glsxtrmultientryadjustednamepresep}\marg{pre label}\marg{post label} +\end{definition} +Similarly for the separator between the main element and the first +element of \meta{sublist2}: +\begin{definition}[\DescribeMacro\glsxtrmultientryadjustednamepostsep] +\cs{glsxtrmultientryadjustednamepostsep}\marg{pre label}\marg{post label} +\end{definition} +These both default to \cs{glsxtrmultientryadjustednamesep}. + +The \meta{name} is encapsulated with: +\begin{definition}[\DescribeMacro\glsxtrmultientryadjustednamefmt] +\cs{glsxtrmultientryadjustednamefmt}\marg{text} +\end{definition} +This just does its argument by default. +If \meta{sublist1} is empty for the first letter upper case +version, then \meta{name} is encapsulated with: +\begin{definition}[\DescribeMacro\Glsxtrmultientryadjustednamefmt] +\cs{Glsxtrmultientryadjustednamefmt}\marg{text} +\end{definition} +This does \ics{makefirstuc}\marg{text} by default. +For the title case version, the name is encapsulated with: +\begin{definition}[\DescribeMacro\GlsXtrmultientryadjustednamefmt] +\cs{GlsXtrmultientryadjustednamefmt}\marg{text} +\end{definition} +This uses \cs{glscapitalisewords} (provided by \styfmt{glossaries} +v4.48+) if defined or \cs{capitalisewords} otherwise. +The all uppercase version uses: +\begin{definition}[\DescribeMacro\GLSxtrmultientryadjustednamefmt] +\cs{GLSxtrmultientryadjustednamefmt}\marg{text} +\end{definition} +This uses \cs{mfirstucMakeUppercase} by default. + +Each element label in the sub-lists is encapsulated with: +\begin{definition}[\DescribeMacro\glsxtrmultientryadjustednameother] +\cs{glsxtrmultientryadjustednameother}\marg{label} +\end{definition} +This does \cs{glsentryname}\marg{label} by default. +For the first letter uppercase version (where +\meta{sublist1} isn't empty), then the element label is encapsulated +with: +\begin{definition}[\DescribeMacro\Glsxtrmultientryadjustednameother] +\cs{Glsxtrmultientryadjustednameother}\marg{label} +\end{definition} +This does \cs{Glsentryname}\marg{label} by default. +The title case version uses: +\begin{definition}[\DescribeMacro\GlsXtrmultientryadjustednameother] +\cs{GlsXtrmultientryadjustednameother}\marg{label} +\end{definition} +This does \ics{glsentrytitlecase}\marg{label}\verb|{name}| by +default. +The all uppercase version uses: +\begin{definition}[\DescribeMacro\GLSxtrmultientryadjustednameother] +\cs{GLSxtrmultientryadjustednameother}\marg{label} +\end{definition} +This is defined as: +\begin{verbatim} +\newcommand*{\GLSxtrmultientryadjustednameother}[1]{% + \mfirstucMakeUppercase{\glsentryname{#1}}} +\end{verbatim} + +\chapter{Categories} +\label{sec:categories} + +Each entry defined by \ics{newglossaryentry} (or commands that +internally use it such as \ics{newabbreviation}) +is assigned a category +through the \gloskey{category} key. You may add any category that +you like, but since the category is a label used in the creation +of some control sequences, avoid problematic characters within the +category label. (So take care if you have \sty{babel} shorthands on +that make some characters active.) + +The use of categories can give you more control over the way entries +are displayed in the text or glossary. Note that an entry's category +is independent of the glossary type. Be careful not to confuse +\gloskey{category} with \gloskey{type}. + +For multi-entry categories, see \sectionref{sec:multiglscategory}. + +The default category assumed by +\cs{newglossaryentry} is labelled \category{general}. Abbreviations +defined with \cs{newabbreviation} have the category set to +\category{abbreviation} by default. Abbreviations defined with +\cs{newacronym} have the category set to \category{acronym} by +default. + +Additionally, if you have enabled \ics{newterm} with the +\pkgopt{index} package option that command +will set the category to \category{index} by default. If you have +enabled \ics{glsxtrnewsymbol} with the \pkgopt{symbols} package +option, that command will set the category to \category{symbol}. If you have +enabled \ics{glsxtrnewnumber} with the \pkgopt{numbers} package +option, that command will set the category to \category{number}. + +You can obtain the category label for a given entry using +\begin{definition}[\DescribeMacro\glscategory] +\cs{glscategory}\marg{label} +\end{definition} +This is equivalent to commands like \cs{glsentryname} and so may be +used in an expandable context. No error is generated if the entry +doesn't exist. + +You can test the category for a given entry using +\begin{definition}[\DescribeMacro\glsifcategory] +\cs{glsifcategory}\marg{entry-label}\marg{category-label}\marg{true +part}\marg{false part} +\end{definition} +This is equivalent to +\begin{alltt} +\ics{ifglsfieldeq}\marg{entry-label}\{category\}\marg{category-label}\marg{true +part}\marg{false part} +\end{alltt} +so any restrictions that apply to \cs{ifglsfieldeq} also apply to +\cs{glsifcategory}. + +Each category may have a set of attributes. For example, the +\category{general} and \category{acronym} categories have the +attribute \catattr{regular} set to \qt{true} to indicate that all +entries with either of those categories are regular entries (as +opposed to abbreviations). This attribute is accessed by +\cs{glsentryfmt} to determine whether to use \cs{glsgenentryfmt} or +\cs{glsxtrgenabbrvfmt}. + +Other attributes recognised by \styfmt{glossaries-extra} are: + +\begin{description} + +\item[\catattrdef{nohyperfirst}] When using commands like \ics{gls} +this will automatically suppress the hyperlink on \gls{firstuse} for entries with a +category that has this attribute set to \qt{true}. +(This settings can be overridden by explicitly setting +the \gloskey[glslink]{hyper} key on or off in the optional argument of +commands like \cs{gls}.) As from version 1.07, \cs{glsfirst}, +\cs{Glsfirst}, \cs{GLSfirst} and their plural versions (which should ideally +behave in a similar way to the \gls{firstuse} of \cs{gls} or +\cs{glspl}) now honour +this attribute (but not the package-wide \pkgopt[false]{hyperfirst} +option, which matches the behaviour of \sty{glossaries}). If you +want commands like \cs{glsfirst} to ignore the +\catattr{nohyperfirst} attribute then just redefine +\begin{definition}[\DescribeMacro\glsxtrchecknohyperfirst] +\cs{glsxtrchecknohyperfirst}\marg{label} +\end{definition} +to do nothing. + +\item[\catattrdef{nohyper}] When using commands like \ics{gls} +this will automatically suppress the hyperlink for entries with a +category that has this attribute set to \qt{true}. +(This settings can be overridden by explicitly setting +the \gloskey[glslink]{hyper} key on or off in the optional argument of +commands like \cs{gls}.) + +\item[\catattrdef{indexonlyfirst}] This is similar to the +\pkgopt{indexonlyfirst} package option but only for entries +that have a category with this attribute set to \qt{true}. + +\item[\catattrdef{wrgloss}] When using commands like \ics{gls}, +if this attribute is set to \qt{after}, it will automatically +implement \gloskey[glslink]{wrgloss}\optfmt{=after}. (New to v1.14.) + +\item[\catattrdef{discardperiod}] If set to \qt{true}, the +post-\gls{linktext} hook will +discard a~full stop (period) that follows \emph{non-plural} commands like \cs{gls} or +\cs{glstext}. (Provided for entries such as abbreviations that end +with a full stop.) This attribute is only applicable to entries +defined using \cs{newabbreviation} (or \cs{newacronym} if it's using +\cs{newabbreviation}.) This attribute +doesn't apply to the accessibility fields. + +Note that this can cause a problem if you access a field that +doesn't end with a full stop. For example: +\begin{verbatim} +\newabbreviation + [user1={German Speaking \TeX\ User Group}] + {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\ +e.V.} +\end{verbatim} +Here the \gloskey{short} and \gloskey{long} fields end with a full stop, but the +\gloskey{user1} field doesn't. The simplest solution in this +situation is to put the sentence terminator in the final optional +argument. For example: +\begin{verbatim} +\glsuseri{dante}[.] +\end{verbatim} +This will bring the punctuation character inside the \gls{linktext} +and it won't be discarded. + +\item[\catattrdef{pluraldiscardperiod}] If this attribute is set to +\qt{true} \emph{and} the \catattr{discardperiod} attribute is set to +\qt{true}, this will behave as above for the plural commands like +\cs{glspl} or \cs{glsplural}. This attribute is only applicable to entries +defined using \cs{newabbreviation} (or \cs{newacronym} if it's using +\cs{newabbreviation}.) + +\item[\catattrdef{retainfirstuseperiod}] If this attribute is set +to \qt{true} then the full stop won't be discarded for +\gls{firstuse} instances, even if \catattr{discardperiod} or +\catattr{pluraldiscardperiod} are set. This is useful for +\meta{short} (\meta{long}) abbreviation styles where only the short +form has a trailing full stop. This attribute is only applicable to entries +defined using \cs{newabbreviation} (or \cs{newacronym} if it's using +\cs{newabbreviation}.) This attribute doesn't apply to the +accessibility fields. + +\item[\catattrdef{markwords}] If this attribute is set to \qt{true} +any entry defined using \ics{newabbreviation} will automatically +have spaces in the long form replaced with +\begin{definition}[\DescribeMacro\glsxtrwordsep] +\cs{glsxtrwordsep} +\end{definition} +and each word is encapsulated with +\begin{definition}[\DescribeMacro\glsxtrword] +\cs{glsxtrword}\marg{word} +\end{definition} +For example: +\begin{verbatim} +\glssetcategoryattribute{abbreviation}{markwords}{true} +\newabbreviation{ip}{IP}{Internet Protocol} +\end{verbatim} +is essentially the same as +\begin{verbatim} +\newabbreviation{ip}{IP} +{\glsxtrword{Internet}\glsxtrwordsep\glsxtrword{Protocol}} +\end{verbatim} +The \qt{hyphen} styles, such as +\abbrstyle{long-hyphen-short-hyphen}, take advantage of this +markup. If the inserted material (provided in the final argument +of commands like \ics{gls}) starts with a hyphen then +\cs{glsxtrwordsep} is locally redefined to a hyphen. (The default +value is a space). Note that this only applies to commands +like \cs{gls} and not like \cs{glsxtrlong}. You can provide your own +localised switch, if required. For example: +\begin{verbatim} +\newcommand{\hyplong}[2][]{% + {\def\glsxtrwordsep{-}\glsxtrlong[#1]{#2}}} +\end{verbatim} + +This setting will also adjust the long plural. This attribute is only applicable to entries +defined using \cs{newabbreviation} (or \cs{newacronym} if it's using +\cs{newabbreviation}.) + +\begin{important} This setting may result in the \cs{glsxtrword} and \cs{glsxtrwordsep} markup ending up in the \gloskey{sort} field, depending on the style in use. @@ -8019,6 +10450,18 @@ provided. but applies to the \gloskey{firstaccess} field automatically assigned if it's not provided. +\item[\catattrdef{combinedfirstsep}] The separator to use for +\ics{glscombinefirstsep}. + +\item[\catattrdef{combinedfirstsepfirst}] The separator to use for +\ics{glscombinedfirstsepfirst}. + +\item[\catattrdef{combinedsepfirst}] The separator to use for +\ics{glscombinesepfirst}. + +\item[\catattrdef{combinedsep}] The separator to use for +\ics{glscombinedsep}. + \end{description} An attribute can be set using: @@ -8027,13 +10470,37 @@ An attribute can be set using: \end{definition} where \meta{category-label} is the category label, \meta{attribute-label} is the attribute label and \meta{value} is -the new value for the attribute. +the new value for the attribute. \emph{This will be localised to the +current scope.} If you want a global definition use the following +command instead. + +If you want to apply the same attribute to multiple categories then +use: +\begin{definition}[\DescribeMacro\glssetcategoriesattribute] +\cs{glssetcategoriesattribute}\marg{category-label list}\marg{attribute-label}\marg{value} +\end{definition} +\emph{This has a global effect.} + +If you also want to set multiple attributes to the same value, then +you can use: +\begin{definition}[\DescribeMacro\glssetcategoriesattributes] +\cs{glssetcategoriesattributes}\marg{category-label list}\marg{attribute-label list}\marg{value} +\end{definition} +\emph{This has a global effect.} + +For example: +\begin{verbatim} +\newcommand{\latinname}[1]{\emph{#1}} +\glssetcategoriesattributes{genus,species}{textformat,glossnamefont}{latinname} +\end{verbatim} There is a shortcut version to set the \catattr{regular} attribute to \qt{true}: \begin{definition}[\DescribeMacro\glssetregularcategory] \cs{glssetregularcategory}\marg{category-label} \end{definition} +This internally uses \cs{glssetcategoryattribute} so it has a local +effect. If you need to lookup the category label for a particular entry, you can use the shortcut command: @@ -8903,7 +11370,7 @@ Set the escape (quote) character to \meta{char}. \end{definition} Set the encap character to \meta{char}. -\chapter{\appfmt{bib2gls}: Managing Reference Databases} +\chapter{\headingapp{bib2gls}: Managing Reference Databases} \label{sec:bib2gls} There is a new command line application called @@ -9072,6 +11539,7 @@ reads the file to allow for any internal commands stored in the location field. \section{Selection} +\label{sec:bib2glsselection} The default behaviour is for \gls{bib2gls} to select all entries that have a record in the \texttt{.aux} file, and any dependent @@ -9112,6 +11580,7 @@ have any records will have an empty location list. See the \gls{bib2gls} user manual for more details of this option. \section{Sorting and Displaying the Glossary} +\label{sec:bib2glssortprint} There are many sorting options provided by \gls{bib2gls}. The default is to sort according to the system locale. @@ -9311,7 +11780,7 @@ the above needs to be written as: \}] \end{alltt} -\section{The \styfmt{glossaries-extra-bib2gls} package} +\section{The \headingsty{glossaries-extra-bib2gls} package} \label{sec:bib2glssty} The package option \pkgopt[only]{record} (or simply \pkgopt{record}) @@ -10297,6 +12766,7 @@ The nabla symbol ($\nabla$). \section{Supplementary Commands} +\label{sec:bib2glssupplementarycommands} These commands are provided by \styfmt{glossaries-extra} for use with \gls{bib2gls}. diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx b/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx index ab396b83e7..530455599f 100644 --- a/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx +++ b/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx @@ -3,10 +3,12 @@ % Command line args: % -comment ".*\.tex" % -comment ".*\.bib" +% -setambles ".*\.bib=>\nopreamble\nopostamble" +% -author "Nicola Talbot" +% -macrocode ".*\.tex" +% -macrocode ".*\.bib" % -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})" % -doc "glossaries-extra-codedoc.tex" -% -section "chapter" -% -setambles ".*\.bib=>\nopreamble\nopostamble" % -src "glossaries-extra.sty\Z=>glossaries-extra.sty" % -src "glossaries-extra-bib2gls.sty\Z=>glossaries-extra-bib2gls.sty" % -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty" @@ -15,11 +17,9 @@ % -src "glossary-topic.sty\Z=>glossary-topic.sty" % -src "(example-glossaries-.+\.tex)\Z=>\1" % -src "(example-glossaries-.+\.bib)\Z=>\1" -% -macrocode ".*\.tex" -% -macrocode ".*\.bib" -% -author "Nicola Talbot" +% -section "chapter" % glossaries-extra -% Created on 2021/11/4 19:26 +% Created on 2021/11/22 21:22 %\fi %\iffalse %<*package> @@ -142,7 +142,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \setcounter{IndexColumns}{2} -\CheckSum{27468} +\CheckSum{30886} \newcommand*{\ifirstuse}{\iterm{first use}} \newcommand*{\firstuse}{\gls{firstuse}} @@ -182,13 +182,13 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \raggedright } -\title{glossaries-extra.sty v1.47: +\title{glossaries-extra.sty v1.48: documented code} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} -\date{2021-11-04} +\date{2021-11-22} \begin{document} \DocInput{glossaries-extra.dtx} @@ -233,7 +233,7 @@ Dickimaw Books\\ %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2021/11/04 v1.47 (NLCT)] +\ProvidesPackage{glossaries-extra}[2021/11/22 v1.48 (NLCT)] % \end{macrocode} % Requires \sty{xkeyval} to define package options. % \begin{macrocode} @@ -1113,10 +1113,10 @@ Dickimaw Books\\ the document doesn't support hyperlinks}}% {}% \or -% \end{macrocode} +% \end{macrocode} % Hybrid record (use bib2gls to fetch definitions) and index (use % makeindex/xindy to sort and collate). -% \begin{macrocode} +% \begin{macrocode} \def\glsxtr@setup@record{% \renewcommand*{\@glsxtr@record@setting@alsoindex}{hybrid}% \renewcommand*{\@do@seeglossary}{\@glsxtr@dosee@alsoindex@glossary}% @@ -1885,6 +1885,13 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\@glsxtr@doshowtarget} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand\@glsxtr@doshowtarget[2]{#2} +% \end{macrocode} +%\end{macro} +% %\begin{option}{debug} %\changes{1.21}{2017-11-03}{new} % Provide extra debug options. @@ -1899,14 +1906,17 @@ Dickimaw Books\\ \or % false \glsxtr@dooption{debug=false}% \renewcommand*{\@glsxtrwrglossmark}{}% + \let\@glsxtr@doshowtarget\@secondoftwo \or % showtargets \glsxtr@dooption{debug=showtargets}% + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% \or % showwrgloss \glsxtr@dooption{debug=true}% \renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}% \or % all \glsxtr@dooption{debug=showtargets,debug=showaccsupp}% \renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}% + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% \or % showaccsupp \glsxtr@dooption{debug=showaccsupp}% \fi @@ -1914,6 +1924,87 @@ Dickimaw Books\\ % \end{macrocode} %\end{option} % +%\begin{macro}{\glsxtrshowtargetouter} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrshowtargetouter}{\glsshowtargetouter} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrshowtargetinner} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrshowtargetinner}[1]{\glsshowtargetinner{#1}} +% \end{macrocode} +%\end{macro} +% +%Debugging show targets. +%\begin{macro}{\@glsxtrshowtargetleft} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\@glsxtrshowtargetleft}[2]{\@glsshowtarget{#1}#2\@glsxtrshowtargetmark}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtrshowtargetright} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\@glsxtrshowtargetright}[2]{\@glsxtrshowtargetmark#2\@glsshowtarget{#1}}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtrshowtargetmark} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\@glsxtrshowtargetmark}{}% +% \end{macrocode} +%\end{macro} +% +%\begin{option}{showtargets} +%\changes{1.48}{2021-11-22}{new} +%Implements \pkgopt[showtargets]{debug} and provides extra +%adjustments. +% \begin{macrocode} +\define@choicekey{glossaries-extra.sty}{showtargets} + [\@glsxtr@showtargetsval\@glsxtr@showtargetsnr]% + {left,right,innerleft,innerright,annoteleft,annoteright}% + {% + \glsxtr@dooption{debug=showtargets}% + \ifcase\@glsxtr@showtargetsnr\relax + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\glsxtrshowtargetouter{\glsshowtargetouter}% + \def\glsxtrshowtargetinner{\glsshowtargetinner}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetright}% + \def\glsxtrshowtargetouter{\glsshowtargetouter}% + \def\glsxtrshowtargetinner{\glsshowtargetinner}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymleft}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetright}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymright}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymleft}% + \def\@glsxtrshowtargetmark{\@glsshowtargetmarkfmt\glsxtrshowtargetsymbolright}% + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetright}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymright}% + \def\@glsxtrshowtargetmark{\@glsshowtargetmarkfmt\glsxtrshowtargetsymbolleft}% + \fi + } +% \end{macrocode} +%\end{option} +% % Pass all other options to \styfmt{glossaries}. % \begin{macrocode} \DeclareOptionX*{% @@ -1940,6 +2031,79 @@ Dickimaw Books\\ \@glsxtr@defpostpunc % \end{macrocode} % +%\begin{macro}{\glsdoshowtarget} +%\changes{1.48}{2021-11-22}{new} +%Added to \sty{glossaries} v4.50 so many not be defined. +%Need to redefine it so use \cs{def}. +% \begin{macrocode} +\def\glsdoshowtarget{\@glsxtr@doshowtarget} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrshowtargetsymbolright} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\glsxtrshowtargetsymbolright}{{\tiny$\triangleleft$}}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrshowtargetsymbolleft} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\glsxtrshowtargetsymbolleft}{{\tiny$\triangleright$}}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsshowtargetinner} +%\changes{1.48}{2021-11-22}{new} +%Only added to \sty{glossaries} in v4.50 so may not be defined. +% \begin{macrocode} +\providecommand*{\glsshowtargetinner}[1]{{\glsshowtargetfont [#1]}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsshowtargetfont} +%\changes{1.48}{2021-11-22}{new} +%Only added to \sty{glossaries} in v4.45 so may not be defined. +% \begin{macrocode} +\providecommand*{\glsshowtargetfont}{\ttfamily\footnotesize} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsshowtargetinnercontentsymleft} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsshowtargetinnersymleft}[1]{% + \glsshowtargetinner{#1}\allowbreak\glsxtrshowtargetsymbolleft} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsshowtargetinnercontentsymright} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsshowtargetinnersymright}[1]{% + \glsxtrshowtargetsymbolright\allowbreak\glsshowtargetinner{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsshowtargetouter} +%\changes{1.48}{2021-11-22}{new} +%Only added to \sty{glossaries} in v4.45 so may not be defined. +% \begin{macrocode} +\providecommand*{\glsshowtargetouter}[1]{% + \glsshowtargetsymbol\marginpar{\glsshowtargetsymbol\glsshowtargetfont #1}} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\@glsshowtarget} +%\changes{1.48}{2021-11-22}{new} +%Only added to \sty{glossaries} in v4.32 so may not be defined. +% \begin{macrocode} +\providecommand*{\@glsshowtarget}[1]{} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsshowtarget} %This command was introduced to \sty{glossaries} v4.32 so it may not %be defined. Therefore it's defined here using \cs{def}. @@ -1947,46 +2111,37 @@ Dickimaw Books\\ %so that also may not be defined. %\changes{1.21}{2017-11-03}{new} %\changes{1.42}{2020-02-03}{added check for \cs{glsshowtargetouter}} +%\changes{1.48}{2021-11-22}{removed check for \cs{glsshowtargetouter}} % \begin{macrocode} -\ifdef\glsshowtargetouter -{ - \renewcommand*{\glsshowtarget}[1]{% - \glsxtrtitleorpdforheading - {% - \ifmmode - \nfss@text{\glsshowtargetfont [#1]}% +\def\glsshowtarget#1{% + \glsxtrtitleorpdforheading + {% + \ifmmode + \nfss@text{\glsxtrshowtargetinner{#1}}% + \else + \ifinner + \glsxtrshowtargetinner{#1}% \else - \ifinner - {\glsshowtargetfont [#1]}% - \else - \glsshowtargetouter{#1}% - \fi + \glsxtrshowtargetouter{#1}% \fi - }% - {[#1]}% - {{\protect\glsshowtargetfont [#1]}}% - } + \fi + }% + {[#1]}% + {{\protect\glsshowtargetinner{#1}}}% } -{ % \end{macrocode} -%Old definition. +%\end{macro} +% +%\begin{macro}{\@glsshowtargetmarkfmt} +%\changes{1.48}{2021-11-22}{new} % \begin{macrocode} - \def\glsshowtarget#1{% - \glsxtrtitleorpdforheading - {% - \ifmmode - \texttt{\small [#1]}% - \else - \ifinner - \texttt{\small [#1]}% - \else - \marginpar{\texttt{\small #1}}% - \fi - \fi - }% - {[#1]}% - {\texttt{\small [#1]}}% - } +\newcommand*{\@glsshowtargetmarkfmt}[1]{% + \glsxtrtitleorpdforheading + {% + \ifmmode \nfss@text{#1}\else #1\fi + }% + {}% + {\ifmmode \nfss@text{#1}\else #1\fi}% } % \end{macrocode} %\end{macro} @@ -2823,6 +2978,9 @@ Dickimaw Books\\ % % %\begin{macro}{\glsxtrifhasfield} +%\begin{definition} +%\cs{glsxtrifhasfield}\marg{field}\marg{label}\marg{true}\marg{false} +%\end{definition} %\changes{1.19}{2017-09-09}{new} %A simpler alternative to \cs{ifglshasfield} that doesn't complain %if the entry or the field doesn't exist. (No mapping is used.) @@ -4228,7 +4386,7 @@ Dickimaw Books\\ \renewrobustcmd*{\glsseelist}[1]{% \let\@gls@dolast\relax \let\@gls@donext\relax - \let\@glsseeitem\glsseefirstitem + \let\@glsseeitem\@glsxtr@seefirstitem \let\@glsseelastsep\glsseelastsep \@for\@gls@thislabel:=#1\do{% \ifx\@xfor@nextelement\@nnil @@ -4239,13 +4397,49 @@ Dickimaw Books\\ \expandafter\@glsseeitem\expandafter{\@gls@thislabel}% \let\@gls@dolast\@glsseelastsep \let\@gls@donext\glsseesep - \let\@glsseeitem\glsseeitem + \let\@glsseeitem\@glsxtr@seeitem \let\@glsseelastsep\glsseelastoxfordsep }% } % \end{macrocode} %\end{macro} % +%\begin{macro}{\@glsxtr@seeitem} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@seeitem}[1]{% + \glsxtrifmulti{#1}{\mglsseeitem{#1}}{\glsseeitem{#1}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@seefirstitem} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@seefirstitem}[1]{% + \glsxtrifmulti{#1}{\mglsseefirstitem{#1}}{\glsseefirstitem{#1}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsseeitem} +%\changes{1.48}{2021-11-22}{new} +%Multi-entry cross-reference +% \begin{macrocode} +\newcommand*{\mglsseeitem}[1]{% + \mglsname[all={noindex},setup={hyper=allmain}]{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsseefirstitem} +%\changes{1.48}{2021-11-22}{new} +%Multi-entry cross-reference +% \begin{macrocode} +\newcommand*{\mglsseefirstitem}{\mglsseeitem} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsseefirstitem} %\changes{1.47}{2021-11-04}{new} % \begin{macrocode} @@ -4543,15 +4737,24 @@ Dickimaw Books\\ % %\begin{macro}{\@glsxtr@addunused} % Adds all the entries if they haven't been used. +%\changes{1.48}{2021-11-22}{added check for multientry labels} % \begin{macrocode} \def\@glsxtr@addunused#1\@end@glsxtr@addunused{% \@for\@glsxtr@label:=#1\do {% - \ifglsused{\@glsxtr@label}{}% + \glsxtrifmulti\@glsxtr@label {% - \glsadd[format=glsxtrunusedformat]{\@glsxtr@label}% - \glsunset{\@glsxtr@label}% - \expandafter\@glsxtr@addunusedxrefs\expandafter{\@glsxtr@label}% + \letcs\@glsxtr@labellist{@gls@combined@\@glsxtr@label @list}% + \@for\@glsxtr@multilabel:=\@glsxtr@labellist\do + {\@glsxtr@addunused\@glsxtr@multilabel\@end@glsxtr@addunused}% + }% + {% + \ifglsused{\@glsxtr@label}{}% + {% + \glsadd[format=glsxtrunusedformat]{\@glsxtr@label}% + \glsunset{\@glsxtr@label}% + \expandafter\@glsxtr@addunusedxrefs\expandafter{\@glsxtr@label}% + }% }% }% } @@ -5307,12 +5510,17 @@ Dickimaw Books\\ %modifies it). % \begin{macrocode} \let\glsxtrorg@ifKV@glslink@hyper\ifKV@glslink@hyper +% \end{macrocode} +%Save local setting. +% \begin{macrocode} + \@gls@save@glslocal \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper \def\glscustomtext{#4}% \@glsxtr@field@linkdefs #1% \@gls@link[#2]{#3}{#4}% \let\ifKV@glslink@hyper\glsxtrorg@ifKV@glslink@hyper + \@gls@restore@glslocal }% \glspostlinkhook } @@ -5412,11 +5620,7 @@ Dickimaw Books\\ \def\glsinsert{}% \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}% \@gls@link[#1]{#2}{\@glo@text}% - \ifKV@glslink@local - \glslocalunset{#2}% - \else - \glsunset{#2}% - \fi + \@gls@do@glsunset{#2}% }% \glspostlinkhook } @@ -5626,6 +5830,18 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\glslinkwrcontent} +%\changes{1.48}{2021-11-22}{new} +%This may resolve \href{https://www.dickimaw-books.com/bugtracker.php?key=189}{issue \#189} +%but it may have unexpected consequences. This is currently provided +%as a trial. If it causes a problem then redefine without the +%grouping. If no issues are reported it will be added to the base +%package. +% \begin{macrocode} +\providecommand*{\glslinkwrcontent}[1]{{#1}} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\@gls@link} %\changes{1.14}{2017-04-18}{added redefinition} %Redefine to allow the indexing to be placed after the link text. By @@ -5647,6 +5863,10 @@ Dickimaw Books\\ \protected@edef\glstype{\csname glo@\glslabel @type\endcsname}% \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper % \end{macrocode} +%Save local setting. +% \begin{macrocode} + \@gls@save@glslocal +% \end{macrocode} %Save current value of \cs{glolinkprefix}: % \begin{macrocode} \let\@glsxtr@org@glolinkprefix\glolinkprefix @@ -5746,34 +5966,40 @@ Dickimaw Books\\ \let\@glsxtr@textformat\@glsxtr@local@textformat \fi % \end{macrocode} +% Encapsulate link text and indexing. +% \begin{macrocode} + \glslinkwrcontent + {% +% \end{macrocode} % Do write if it should occur before the link text: % \begin{macrocode} - \ifglsxtrinitwrglossbefore - \@do@wrglossary{#2}% - \fi + \ifglsxtrinitwrglossbefore + \@do@wrglossary{#2}% + \fi % \end{macrocode} % Do the link text: % \begin{macrocode} - \ifKV@glslink@hyper - \ifglsxtr@hyperoutside - \@glslink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% - \else - \@glsxtr@textformat{\@glslink{\glolinkprefix\glslabel}{#3}}% - \fi - \else - \ifglsxtr@hyperoutside - \glsdonohyperlink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \ifKV@glslink@hyper + \ifglsxtr@hyperoutside + \@glslink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \else + \@glsxtr@textformat{\@glslink{\glolinkprefix\glslabel}{#3}}% + \fi \else - \@glsxtr@textformat{\glsdonohyperlink{\glolinkprefix\glslabel}{#3}}% + \ifglsxtr@hyperoutside + \glsdonohyperlink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \else + \@glsxtr@textformat{\glsdonohyperlink{\glolinkprefix\glslabel}{#3}}% + \fi \fi - \fi % \end{macrocode} % Do write if it should occur after the link text: % \begin{macrocode} - \ifglsxtrinitwrglossbefore - \else - \@do@wrglossary{#2}% - \fi + \ifglsxtrinitwrglossbefore + \else + \@do@wrglossary{#2}% + \fi + }% % \end{macrocode} %Restore original value of \cs{glolinkprefix}: % \begin{macrocode} @@ -5782,6 +6008,7 @@ Dickimaw Books\\ % As the original definition: % \begin{macrocode} \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper + \@gls@restore@glslocal } % \end{macrocode} %\end{macro} @@ -7106,6 +7333,38 @@ Dickimaw Books\\ \KV@glslink@noindexfalse % \end{macrocode} % +%\begin{macro}{\@gls@save@glslocal} +%\changes{1.48}{2021-11-22}{new} +%Defined in \sty{glossaries} v4.50 so may not be defined. +% \begin{macrocode} +\providecommand*{\@gls@save@glslocal}{% + \let\if@org@KV@glslink@local\ifKV@glslink@local +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@restore@glslocal} +%\changes{1.48}{2021-11-22}{new} +%Defined in \sty{glossaries} v4.50 so may not be defined. +% \begin{macrocode} +\providecommand*{\@gls@restore@glslocal}{% + \ifKV@glslink@local + \let\@gls@do@glsunset\glslocalunset + \else + \let\@gls@do@glsunset\glsunset + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@do@glsunset} +%\changes{1.48}{2021-11-22}{new} +%Defined in \sty{glossaries} v4.50 so may not be defined. +% \begin{macrocode} +\providecommand*{\@gls@do@glsunset}[1]{\glsunset{#1}} +% \end{macrocode} +%\end{macro} +% %If \cs{@gls@setdefault@glslink@opts} has been defined %(\styfmt{glossaries} v4.20) use it to set the default keys in %\cs{@glslink}. @@ -7415,6 +7674,65 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%Patch if \sty{glossaries} pre 4.50. +% \begin{macrocode} +\ifdef\@@gls@navhypertarget +{} +{% +% \end{macrocode} +%\begin{macro}{\glsnavhypertarget} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} + \renewcommand*{\glsnavhypertarget}{\protect\@@gls@navhypertarget} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@@gls@navhypertarget} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} + \newcommand*{\@@gls@navhypertarget}[3][\@glo@type]{% + \@glsnavhypertarget{#1}{#2}{#3}% + } +% \end{macrocode} +%\end{macro} +% \begin{macrocode} +}% +% \end{macrocode} +% +%\begin{macro}{\@glsnavhypertarget} +%Similarly for \cs{@glsnavhypertarget} +%\changes{1.48}{2021-11-22}{added patch} +% \begin{macrocode} +\ifdef\@glsnavhypertarget +{% + \renewcommand*{\@glsnavhypertarget}[3]{% + \protected@write\@auxout{}{\string\@gls@hypergroup{#1}{#2}}% + \@glsxtr@do@org@target{\glsnavhyperlinkname{#1}{#2}}{#3}% + \ifcsdef{@gls@hypergrouplist@#1}% + {% + \letcs\@gls@list{@gls@hypergrouplist@#1}% + \protected@edef\@gls@thishypernavlabel{#2}% + \expandafter\DTLifinlist\expandafter{\@gls@thishypernavlabel}\@gls@list{}% + {% + \GlossariesWarningNoLine{Navigation panel + for glossary type `#1'^^Jmissing group `#2'}% + \gdef\gls@hypergrouprerun{% + \GlossariesWarningNoLine{Navigation panel + has changed. Rerun LaTeX}}% + }% + }% + {% + \GlossariesWarningNoLine{Navigation panel + for glossary type `#1'^^Jmissing group `#2'}% + \gdef\gls@hypergrouprerun{% + \GlossariesWarningNoLine{Navigation panel + has changed. Rerun LaTeX}}% + }% + }% +} +{} +% \end{macrocode} +%\end{macro} % %The redefinition of \cs{glsdohyperlink} has been causing problems %so introduce a new command instead. @@ -7471,6 +7789,18 @@ Dickimaw Books\\ }% {% % \end{macrocode} +%Is the alias a multi-entry? +%\changes{1.48}{2021-11-22}{added check for multi-entry} +% \begin{macrocode} + \glsxtrifmulti\gloaliaslabel + {% +% \end{macrocode} +%Get the main target. +% \begin{macrocode} + \letcs\gloaliaslabel{@gls@combined@\gloaliaslabel @main}% + }% + {}% +% \end{macrocode} %Redirect link to the alias target. % \begin{macrocode} \glsxtrhyperlink @@ -7487,16 +7817,9 @@ Dickimaw Books\\ %Allows integration with the base \styfmt{glossaries} package's %\pkgopt[showtargets]{debug} option. % \begin{macrocode} -\ifdef\@glsshowtarget -{ - \newcommand{\glsxtrhyperlink}[2]{% - \@glsshowtarget{#1}% - \hyperlink{#1}{#2}% - }% -} -{ - \newcommand{\glsxtrhyperlink}[2]{\hyperlink{#1}{#2}}% -} +\newcommand{\glsxtrhyperlink}[2]{% + \glsdoshowtarget{#1}{\hyperlink{#1}{#2}}% +}% % \end{macrocode} %\end{macro} % @@ -9564,7 +9887,7 @@ Dickimaw Books\\ have a glossary}% }% }% -% \begin{macrocode} +% \end{macrocode} %\end{macro} % %\begin{macro}{\@domakeglossaries} @@ -10133,6 +10456,20 @@ Dickimaw Books\\ \fi % \end{macrocode} %\end{macro} +% +%\begin{macro}{\@glsxtr@do@org@target} +%\changes{1.48}{2021-11-22}{new} +% Provide a way to locally do the original. +% \begin{macrocode} +\newcommand{\@glsxtr@do@org@target}[2]{% + {% + \let\glsdohypertarget\@glsxtr@org@glsdohypertarget + \@glstarget{#1}{#2}% + }% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsxtr@makeglossaries} %For the benefit of \app{makeglossaries} %\changes{1.09}{2016-12-16}{new} @@ -12281,6 +12618,10 @@ defined}{}% \protected@edef\glstype{\csname glo@\glslabel @type\endcsname}% \def\@glsxtr@thevalue{}% \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% +% \end{macrocode} +%Save local setting. +% \begin{macrocode} + \@gls@save@glslocal \glsxtrinitwrgloss \glslinkpresetkeys \setkeys{glslink}{#1}% @@ -12293,19 +12634,19 @@ defined}{}% \let\theglsentrycounter\@glsxtr@thevalue \def\theHglsentrycounter{\@glsxtr@theHvalue}% }% - \ifglsxtrinitwrglossbefore - \@do@wrglossary{#2}% - \fi - #3% - \ifglsxtrinitwrglossbefore - \else - \@do@wrglossary{#2}% - \fi - \ifKV@glslink@local - \glslocalunset{#2}% - \else - \glsunset{#2}% - \fi + \glslinkwrcontent + {% + \ifglsxtrinitwrglossbefore + \@do@wrglossary{#2}% + \fi + #3% + \ifglsxtrinitwrglossbefore + \else + \@do@wrglossary{#2}% + \fi + }% + \@gls@restore@glslocal + \@gls@do@glsunset{#2}% } % \end{macrocode} %\end{macro} @@ -14084,6 +14425,41 @@ defined}{}% % \end{macrocode} %\end{macro} % +%\begin{macro}{\glssetcategoriesattribute} +%\begin{definition} +%\cs{glssetcategoriesattribute}\marg{category list}\marg{attribute-label}\marg{value} +%\end{definition} +%\changes{1.48}{2021-11-22}{new} +% Similar to above, but globally apply to each category in the list. +% \begin{macrocode} +\newcommand*{\glssetcategoriesattribute}[3]{% + \@for\@gls@thiscatlabel:=#1\do{% + \csgdef{@glsxtr@categoryattr@@\@gls@thiscatlabel @#2}{#3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssetcategoriesattributes} +%\begin{definition} +%\cs{glssetcategoriesattributes}\marg{category list}\marg{attribute-label list}\marg{value} +%\end{definition} +%\changes{1.48}{2021-11-22}{new} +% Similar to above, but apply to each category and attribute in the list. +% \begin{macrocode} +\newcommand*{\glssetcategoriesattributes}[3]{% +% \end{macrocode} +% Group to avoid problems with nested \cs{@for}. +% \begin{macrocode} + {% + \@for\@gls@thisattrlabel:=#2\do{% + \glssetcategoriesattribute{#1}{\@gls@thisattrlabel}{#3}% + }% + }% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsgetcategoryattribute} %\begin{definition} %\cs{glsgetcategoryattribute}\marg{category}\marg{attribute-label} @@ -22793,6 +23169,132 @@ defined}{}% % \end{macrocode} %\end{abbrvstyle} % +%Small-caps is awkward, so support for that is added. +%\begin{macro}{\glsabbrvscuserfont} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsabbrvscuserfont}{\glsabbrvscfont}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsfirstabbrvscuserfont} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsfirstabbrvscuserfont}{\glsabbrvscuserfont}% +% \end{macrocode} +%\end{macro} +% The default short form suffix: +%\begin{macro}{\glsxtrscusersuffix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrscusersuffix}{\glsxtrscsuffix} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrscusername} +%\changes{1.48}{2021-11-22}{new} +% The default name format for this style. +% \begin{macrocode} +\newcommand*{\glsxtrlongshortscusername}{% + \protect\glsabbrvscuserfont{\the\glsshorttok}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{abbrvstyle}{long-postshort-sc-user} +%\changes{1.48}{2017-02-03}{new} +%Like \abbrstyle{long-short-sc-user} but uses smallcaps. +% \begin{macrocode} +\newabbreviationstyle{long-postshort-sc-user}% +{% +% \end{macrocode} +% Set accessibility attributes if enabled. +% \begin{macrocode} + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel +% \end{macrocode} +% Setup the default fields. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortscusername}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstabbrvscuserfont{\glsentryshort{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvscuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvscuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% +% \end{macrocode} +%First use full form: +% \begin{macrocode} + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +% \end{macrocode} +% In-line format: +% \begin{macrocode} + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshortpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshortpl{##1}}}{##1}% + }% +} +% \end{macrocode} +%\end{abbrvstyle} +% %\begin{macro}{\glsxtrlongshortuserdescname} %\changes{1.25}{2017-11-24}{new} % \begin{macrocode} @@ -22852,6 +23354,63 @@ defined}{}% % \end{macrocode} %\end{abbrvstyle} % +%\begin{macro}{\glsxtrlongshortscuserdescname} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrlongshortscuserdescname}{% + \protect\glslonguserfont{\the\glslongtok}% + \protect\glsxtruserparen + {\protect\glsabbrvscuserfont{\the\glsshorttok}}{\the\glslabeltok}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{abbrvstyle}{long-postshort-sc-user-desc} +%\changes{1.48}{2021-11-22}{new} +%Like \abbrstyle{long-postshort-sc-user} but the user supplies the +%description. +% \begin{macrocode} +\newabbreviationstyle{long-postshort-sc-user-desc}% +{% +% \end{macrocode} +% Set accessibility attributes if enabled. +% \begin{macrocode} + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel +% \end{macrocode} +% Setup the default fields. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortscuserdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstabbrvscuserfont{\glsentryshort{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-postshort-sc-user}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +% %\begin{abbrvstyle}{short-postlong-user} %\changes{1.12}{2017-02-03}{new} %\changes{1.42}{2020-02-03}{added missing text key} @@ -24309,6 +24868,175 @@ defined}{}% % \end{macrocode} %\end{abbrvstyle} % +%Small-caps is awkward, so support for that is added. +%\begin{macro}{\glsabbrvsconlyfont} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsabbrvsconlyfont}{\glsabbrvscfont}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsfirstabbrvsconlyfont} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsfirstabbrvsconlyfont}{\glsabbrvsconlyfont}% +% \end{macrocode} +%\end{macro} +% The default short form suffix: +%\begin{macro}{\glsxtrsconlysuffix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrsconlysuffix}{\glsxtrscsuffix} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrsconlyname} +%\changes{1.48}{2021-11-22}{new} +% The default name format for this style. +% \begin{macrocode} +\newcommand*{\glsxtrsconlyname}{% + \protect\glsabbrvsconlyfont{\the\glsshorttok}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{abbrvstyle}{long-only-short-sc-only} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newabbreviationstyle{long-only-short-sc-only}% +{% +% \end{macrocode} +% Set accessibility attributes if enabled. +% \begin{macrocode} + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel +% \end{macrocode} +% Setup the default fields. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrsconlyname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% + text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}},% + description={\protect\glslongonlyfont{\the\glslongtok}}}% +% \end{macrocode} +% Unset the \catattr{regular} attribute if it has been set. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsconlysuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvsconlyfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvsconlyfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% +% \end{macrocode} +% The first use full form doesn't show the short form. +% \begin{macrocode} + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +% \end{macrocode} +% The inline full form does show the short form. +% \begin{macrocode} + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\Glsaccessshortpl{##1}}}% + }% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{macro}{\glsxtrsconlydescsort} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrsconlydescsort}{\glsxtronlydescsort} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrsconlydescname} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrsconlydescname}{\glsxtronlydescname} +% \end{macrocode} +%\end{macro} +% +%\begin{abbrvstyle}{long-only-short-sc-only-desc} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newabbreviationstyle{long-only-short-sc-only-desc}% +{% +% \end{macrocode} +% Set accessibility attributes if enabled. +% \begin{macrocode} + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel +% \end{macrocode} +% Setup the default fields. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrsconlydescname}, + sort={\glsxtrsconlydescsort},% + first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% + text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}}% + }% +% \end{macrocode} +% Unset the \catattr{regular} attribute if it has been set. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-only-short-sc-only}% +} +% \end{macrocode} +%\end{abbrvstyle} +% %\section{Using Entries in Headings} % % There are four main problems with using entries in sectioning @@ -25976,6 +26704,3289 @@ defined}{}% % \end{macrocode} %\end{macro} % +%\section{Multi (Combined/Compound) Entries} +%(I'd rather call these combined or compound entries but \cs{cgls} is +%already taken.) +% +%New to version 1.48, the commands here provide a way of referencing +%multiple entries as a single unit. For example, biological +%organisms are often referred to by their genus and species, such as +%\emph{Clostridium botulinum} and \emph{Clostridium perfringens} +%(where the genus is Clostridium). The genus is often abbreviated +%after first use, regardless of which species in the genus is being +%referenced. For example, \qt{\emph{Clostridium botulinum} and +%\emph{C. perfringens}}. This can't be supported by any abbreviation +%styles unless the genus and species names are defined separately. +%For example: +%\begin{verbatim} +%\setabbreviationstyle{long-only-short-only} +%\newabbreviation{clostridium}{C.}{Clostridium} +%\newglossaryentry{botulinum}{name={botulinum},description={}} +%\newglossaryentry{perfringens}{name={perfringens},description={}} +%\end{verbatim} +%This means that the entries then need to be referenced using a +%rather cumbersome method: +%\begin{verbatim} +%\gls{clostridium} \gls{botulinum} and \gls{clostridum} +%\gls{perfringens} +%\end{verbatim} +%This section provides a command that will provide a way of defining +%a label that represents a combination of entries (which must all be +%first defined). For example: +%\begin{verbatim} +%\multiglossaryentry{cbot}{clostridium,botulinum} +%\end{verbatim} +%This label can then be referenced using \cs{mgls}, which internally +%uses \cs{gls} for each component. The last component in the list is +%considered the \qt{main} component (not to be confused with the +%main glossary). If this isn't the case, the label of the main +%component should be added in the optional argument before the label +%list. Note that the multi-label (\texttt{cbot} in this case) can't be +%referenced using commands like \cs{gls}. +% +%First define the general set of options that should be applied to +%all multi-entries. These can be set with: +%\begin{macro}{\multiglossaryentrysetup} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\multiglossaryentrysetup}[1]{\setkeys{glsxtrcombined}{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@gls@combined@indexmain} +%\changes{1.48}{2021-11-22}{new} +%Numeric value: 0=false (don't index main component), 1=true (always +%index main component), 2=first (only index main component on first +%use). Default: 1 (true); +% \begin{macrocode} +\newcommand*{\@gls@combined@indexmain}{1} +\define@choicekey{glsxtrcombined}{indexmain}% + [\@gls@combined@indexmain@val\@gls@combined@indexmain] + {false,true,first}[true]{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@gls@combined@indexothers} +%\changes{1.48}{2021-11-22}{new} +%Numeric value: 0=false (don't index other components), 1=true (always +%index other components), 2=first (only index other components on first +%use). Default: 2 (first); +% \begin{macrocode} +\newcommand*{\@gls@combined@indexothers}{2} +\define@choicekey{glsxtrcombined}{indexothers}% + [\@gls@combined@indexothers@val\@gls@combined@indexothers] + {false,true,first}[true]{} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@gls@combined@hyper} +%\changes{1.48}{2021-11-22}{new} +%Numeric value: 0=none (\cs{mgls} doesn't create a hyperlink), +% 1=allmain (all content hyperlinks to the main component), +% 2=mainonly (only the main component has a hyperlink), +% 3=individual (each component has a hyperlink to their own target). +% Default: 3. +% \begin{macrocode} +\newcommand*{\@gls@combined@hyper}{3} +\define@choicekey{glsxtrcombined}{hyper}% + [\@gls@combined@hyper@val\@gls@combined@hyper] + {none,allmain,mainonly,individual,otheronly,notmainfirst,nototherfirst,notfirst}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@encapmain} +%\changes{1.48}{2021-11-22}{new} +%Location encap value for main component (corresponding to format key in \cs{gls}). +% \begin{macrocode} +\newcommand*{\@gls@combined@encapmain}{glsnumberformat} +\define@key{glsxtrcombined}{encapmain}{% + \renewcommand*{\@gls@combined@encapmain}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@encapothers} +%\changes{1.48}{2021-11-22}{new} +%Location encap value for other components (corresponding to format key in \cs{gls}). +% \begin{macrocode} +\newcommand*{\@gls@combined@encapothers}{glsnumberformat} +\define@key{glsxtrcombined}{encapothers}{% + \renewcommand*{\@gls@combined@encapothers}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@textformat} +%\changes{1.48}{2021-11-22}{new} +%Encapsulate entire content with the command identified by the given +%control sequence name. +% \begin{macrocode} +\newcommand*{\@gls@combined@textformat}{@firstofone} +\define@key{glsxtrcombined}{textformat}{% + \renewcommand*{\@gls@combined@textformat}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@category} +%\changes{1.48}{2021-11-22}{new} +%Assign a category to the combined set. +% \begin{macrocode} +\newcommand*{\@gls@combined@category}{} +\define@key{glsxtrcombined}{category}{% + \renewcommand*{\@gls@combined@category}{#1}% +} +% \end{macrocode} +%Pre-options family: +% \begin{macrocode} +\define@key{glsxtrcombinedpreopts}{category}{% + \renewcommand*{\@gls@combined@category}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@mglsopts} +%\changes{1.48}{2021-11-22}{new} +%Default options to pass to \cs{mgls}. +% \begin{macrocode} +\newcommand*{\@gls@combined@mglsopts}{} +\define@key{glsxtrcombined}{mglsopts}{% + \renewcommand*{\@gls@combined@mglsopts}{#1}% +} +\define@key{glsxtrcombinedpreopts}{mglsopts}{% + \@gls@combined@mglsopts@do + {% + \renewcommand*{\@gls@combined@mglsopts}{#1}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@mglsopts@do} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@gls@combined@mglsopts@do}[1]{#1} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mgls@disable@mglsopts} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mgls@disable@mglsopts}{% + \let\@gls@combined@mglsopts@do\@gls@combined@mglsopts@do@not +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mgls@enable@mglsopts} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mgls@enable@mglsopts}{% + \let\@gls@combined@mglsopts@do\@firstofone +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@mglsopts@do} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@gls@combined@mglsopts@do@not}[1]{% + \PackageError{glossaries-extra}{`mglsopts' key not permitted inside + `setup' value}{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@firstprefix} +%\changes{1.48}{2021-11-22}{new} +%Prefix for multi-entry first use. +% \begin{macrocode} +\newcommand*{\@gls@combined@firstprefix}{} +\define@key{glsxtrcombined}{firstprefix}{% + \renewcommand*{\@gls@combined@firstprefix}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@usedprefix} +%\changes{1.48}{2021-11-22}{new} +%Prefix for multi-entry subsequent first use. +% \begin{macrocode} +\newcommand*{\@gls@combined@usedprefix}{} +\define@key{glsxtrcombined}{usedprefix}{% + \renewcommand*{\@gls@combined@usedprefix}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@firstsuffix} +%\changes{1.48}{2021-11-22}{new} +%Suffix for multi-entry first use. +% \begin{macrocode} +\newcommand*{\@gls@combined@firstsuffix}{} +\define@key{glsxtrcombined}{firstsuffix}{% + \renewcommand*{\@gls@combined@firstsuffix}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@usedsuffix} +%\changes{1.48}{2021-11-22}{new} +%Suffix for multi-entry subsequent first use. +% \begin{macrocode} +\newcommand*{\@gls@combined@usedsuffix}{} +\define@key{glsxtrcombined}{usedsuffix}{% + \renewcommand*{\@gls@combined@usedsuffix}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@firstskipmain} +%\changes{1.48}{2021-11-22}{new} +%Skip the main element on first use (multi-entry first use not +%element first use). +% \begin{macrocode} +\define@boolkey{glsxtrcombined}{firstskipmain}[true]{} +\KV@glsxtrcombined@firstskipmainfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@firstskipothers} +%\changes{1.48}{2021-11-22}{new} +%Skip the other elements on first use (multi-entry first use not +%element first use). +% \begin{macrocode} +\define@boolkey{glsxtrcombined}{firstskipothers}[true]{} +\KV@glsxtrcombined@firstskipothersfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@usedskipmain} +%\changes{1.48}{2021-11-22}{new} +%Skip the main element on subsequent use (multi-entry subsequent use not +%element subsequent use). +% \begin{macrocode} +\define@boolkey{glsxtrcombined}{usedskipmain}[true]{} +\KV@glsxtrcombined@usedskipmainfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@usedskipothers} +%\changes{1.48}{2021-11-22}{new} +%Skip the other elements on subsequent use (multi-entry subsequent use not +%element subsequent use). +% \begin{macrocode} +\define@boolkey{glsxtrcombined}{usedskipothers}[true]{} +\KV@glsxtrcombined@usedskipothersfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@postlinks} +%\changes{1.48}{2021-11-22}{new} +%Determine whether or not to use the individual element post-link hooks. +% \begin{macrocode} +\newcommand*{\@gls@combined@postlinks@nr}{0} +\define@choicekey{glsxtrcombined}{postlinks}% + [\@gls@combined@postlinks@val\@gls@combined@postlinks@nr] + {none,all,notlast,mainnotlast,mainonly,othernotlast,otheronly}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@mpostlink} +%\changes{1.48}{2021-11-22}{new} +%Determine whether or not to use the multi-entry post-link hook. +% \begin{macrocode} +\newcommand*{\@gls@combined@mpostlink@nr}{1} +\define@choicekey{glsxtrcombined}{mpostlink}% + [\@gls@combined@mpostlink@val\@gls@combined@mpostlink@nr] + {false,true,firstonly,usedonly}[true]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@combined@mpostlinkelement} +%\changes{1.48}{2021-11-22}{new} +%Determine which element to use for the post-link hook. +% \begin{macrocode} +\newcommand*{\@gls@combined@mpostlinkelement@nr}{0} +\define@choicekey{glsxtrcombined}{mpostlinkelement}% + [\@gls@combined@mpostlinkelement@val\@gls@combined@mpostlinkelement@nr] + {last,main,custom}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrifmulti} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrifmulti}[3]{\ifcsdef{@gls@combined@#1@main}{#2}{#3}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultimain} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrmultimain}[1]{\csuse{@gls@combined@#1@main}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultilist} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrmultilist}[1]{\csuse{@gls@combined@#1@list}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultitotalelements} +%\changes{1.48}{2021-11-22}{new} +%Total number of elements. +% \begin{macrocode} +\newcommand*{\glsxtrmultitotalelements}[1]{\csuse{@gls@combined@#1@total}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultimainindex} +%\changes{1.48}{2021-11-22}{new} +%Index of main element (starting from 1). If the main element is the +%last element in the list then this should equal the total number of +%elements. +% \begin{macrocode} +\newcommand*{\glsxtrmultimainindex}[1]{\csuse{@gls@combined@#1@mainindex}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultilastotherindex} +%\changes{1.48}{2021-11-22}{new} +%Index of the last non-main element. +% \begin{macrocode} +\newcommand*{\glsxtrmultilastotherindex}[1]{\csuse{@gls@combined@#1@lastotherindex}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ifmultiglossaryentryglobal} +%\changes{1.48}{2021-11-22}{new} +%Make definitions global. +% \begin{macrocode} +\newif\ifmultiglossaryentryglobal +\multiglossaryentryglobalfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglselementindex} +%\changes{1.48}{2021-11-22}{new} +% Count register to keep track of the current element index. +% \begin{macrocode} +\newcount\mglselementindex +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\multiglossaryentry} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{multiglossaryentry}\oarg{options}\marg{multi-label}\oarg{main label}\marg{label +%list} +%\end{definition} +%Defines the label \meta{multi-label} that can be used in \cs{mgls}. +% \begin{macrocode} +\newrobustcmd{\multiglossaryentry}[1][]{% + \def\@gls@combined@current@opts{#1}% + \ifnum\@glsxtr@docdefval=1\relax + \let\@multi@glossentry@donext\@defmultiglossaryentry + \else + \let\@multi@glossentry@donext\@multiglossaryentry + \fi + \@multi@glossentry@donext +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@multiglossaryentry} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@multiglossaryentry}[1]{% + \def\@gls@combined@current@label{#1}% + \@multi@glossaryentry +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@multi@glossaryentry} +%\changes{1.48}{2021-11-22}{new} +% Check for existence. +% \begin{macrocode} +\newcommand*{\@multi@glossaryentry}[2][]{% + \ifcsdef{@gls@combined@\@gls@combined@current@label @main}% + {\PackageError{glossaries-extra}% + {Multi-entry label `\@gls@combined@current@label' already defined}% + {}% + }% + {% + \@multi@glossary@entry{#1}{#2}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@defmultiglossaryentry} +%\changes{1.48}{2021-11-22}{new} +%Used if document definitions are on. +% \begin{macrocode} +\newcommand*{\@defmultiglossaryentry}[1]{% + \def\@gls@combined@current@label{#1}% + \@def@multi@glossaryentry +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@def@multi@glossaryentry} +%\changes{1.48}{2021-11-22}{new} +%Used if document definitions are on. +% \begin{macrocode} +\newcommand*{\@def@multi@glossaryentry}[2][]{% + \let\@def@multi@glossaryentry@do\@multi@glossary@entry + \ifundef\@glsxtr@docdefs@multilist + {% + \gdef\@glsxtr@docdefs@multilist{}% + \listxadd + {\@glsxtr@docdefs@multilist}{\expandonce\@gls@combined@current@label}% + }% + {% + \xifinlist{\@gls@combined@current@label}{\@glsxtr@docdefs@multilist}% + {% + \PackageError{glossaries-extra}% + {Multi-entry label `\@gls@combined@current@label' already defined}% + {}% + \let\@def@multi@glossaryentry@do\@gobbletwo + }% + {% + \listxadd + {\@glsxtr@docdefs@multilist}{\expandonce\@gls@combined@current@label}% + }% + }% + \@def@multi@glossaryentry@do{#1}{#2}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@multi@glossary@doifexists} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@multi@glossary@doifexists}{\glsdoifexists} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\providemultiglossaryentry} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{providemultiglossaryentry}\oarg{options}\marg{multi-label}\oarg{main label}\marg{label +%list} +%\end{definition} +%Defines a multi-entry unless it has already been defined. +% \begin{macrocode} +\newrobustcmd{\providemultiglossaryentry}[2][]{% + \def\@gls@combined@current@opts{#1}% + \def\@gls@combined@current@label{#2}% + \ifcsdef{@gls@combined@\@gls@combined@current@label @main}% + {\def\@multi@glossentry@donext{\@provide@multi@glossaryentry@noop}}% + {% + \ifnum\@glsxtr@docdefval=1\relax + \def\@multi@glossentry@donext{\@def@multi@glossaryentry}% + \else + \def\@multi@glossentry@donext{\@multi@glossaryentry}% + \fi + }% + \@multi@glossentry@donext +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@provide@multi@glossaryentry@noop} +%\changes{1.48}{2021-11-22}{new} +% Do nothing. +% \begin{macrocode} +\newcommand*{\@provide@multi@glossaryentry@noop}[2][]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@multi@glossaryentry@list} +%\changes{1.48}{2021-11-22}{new} +% List of all defined multi-entry sets. +% \begin{macrocode} +\newcommand*{\@multi@glossaryentry@list}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@multi@glossary@entry} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@multi@glossary@entry}[2]{% + \protected@edef\@gls@combined@current@main{#1}% +% \end{macrocode} +% Fully expand list. +% \begin{macrocode} + \protected@edef\@gls@combined@currentlist{#2}% +% \end{macrocode} +% Count items in list, check they are all defined, and find last item at the same time. +% \begin{macrocode} + \mglselementindex=0\relax + \@for\@gls@tmp:=\@gls@combined@currentlist\do{% + \advance\mglselementindex by 1\relax + \@multi@glossary@doifexists{\@gls@tmp}{}% + \let\@gls@combined@finalitem\@gls@tmp + \ifdefvoid\@gls@combined@current@main + {}% + {% + \ifx\@gls@combined@current@main\@gls@tmp + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@current@main + \csxdef{@gls@combined@\@gls@combined@current@label @mainindex}% + {\the\mglselementindex}% + \else + \cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@current@main + \csedef{@gls@combined@\@gls@combined@current@label @mainindex}% + {\the\mglselementindex}% + \fi + \else + \ifmultiglossaryentryglobal + \csxdef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\mglselementindex}% + \else + \csedef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\mglselementindex}% + \fi + \fi + }% + }% + \ifmultiglossaryentryglobal + \csxdef{@gls@combined@\@gls@combined@current@label @total}% + {\the\mglselementindex}% + \else + \csedef{@gls@combined@\@gls@combined@current@label @total}% + {\the\mglselementindex}% + \fi + \ifnum\mglselementindex<2\relax + \PackageError{glossaries-extra}{At least 2 labels required in + multi-entry element list (\number\mglselementindex\space found)}{}% + \else + \ifdefvoid\@gls@combined@current@main + {}% + {% +% \end{macrocode} +% If \cs{@gls@combined@\meta{label}@main} hasn't been set then it +% wasn't included in the list. +% \begin{macrocode} + \ifcsundef{@gls@combined@\@gls@combined@current@label @main}% + {\PackageError{glossaries-extra}% + {Main element `\@gls@combined@current@main' not found in list}% + {The final element `\@gls@combined@finalitem' will be used instead} +% \end{macrocode} +% Set to empty so that the default (final element) is used instead. +% \begin{macrocode} + \let\@gls@combined@current@main\@empty + }% + {}% + }% + \ifdefvoid\@gls@combined@current@main + {% +% \end{macrocode} +% Set main to final element. +% \begin{macrocode} + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@finalitem + \global\csletcs{@gls@combined@\@gls@combined@current@label @mainindex}% + {@gls@combined@\@gls@combined@current@label @total}% + \csxdef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\numexpr\mglselementindex-1 }% + \else + \cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@finalitem + \csletcs{@gls@combined@\@gls@combined@current@label @mainindex}% + {@gls@combined@\@gls@combined@current@label @total}% + \csedef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\numexpr\mglselementindex-1 }% + \fi + }% + {}% + \ifmultiglossaryentryglobal +% \end{macrocode} +% Globally define element list. +% \begin{macrocode} + \global\cslet{@gls@combined@\@gls@combined@current@label @list}% + \@gls@combined@currentlist +% \end{macrocode} +% Globally define options. +% \begin{macrocode} + \protected@csxdef{@gls@combined@\@gls@combined@current@label @options}% + {\@gls@combined@current@opts}% +% \end{macrocode} +% Global conditional definition. +% \begin{macrocode} + \expandafter\@ifdefinable + \csname if@gls@combined@\@gls@combined@current@label @flag\endcsname + {\expandafter\global\expandafter + \newif\csname if@gls@combined@\@gls@combined@current@label @flag\endcsname}% + \expandafter\global + \csname @gls@combined@\@gls@combined@current@label @flagfalse\endcsname + \else +% \end{macrocode} +% Locally define element list. +% \begin{macrocode} + \cslet{@gls@combined@\@gls@combined@current@label @list}% + \@gls@combined@currentlist +% \end{macrocode} +% Locally define options. +% \begin{macrocode} + \protected@csedef{@gls@combined@\@gls@combined@current@label @options}% + {\@gls@combined@current@opts}% +% \end{macrocode} +% Local conditional definition. +% \begin{macrocode} + \newboolean{@gls@combined@\@gls@combined@current@label @flag}% + \csname @gls@combined@\@gls@combined@current@label @flagfalse\endcsname + \fi + \fi + \writemultiglossentry + {\@gls@combined@current@opts}{\@gls@combined@current@label}% + {\csuse{@gls@combined@\@gls@combined@current@label @main}}{#2}% +% \end{macrocode} +%Append label to list. +% \begin{macrocode} + \ifmultiglossaryentryglobal + \ifdefempty\@multi@glossaryentry@list + {\let\@multi@glossaryentry@list\@gls@combined@current@label}% + {% + \eappto\@multi@glossaryentry@list{,\expandonce\@gls@combined@current@label}% + }% + \else + \ifdefempty\@multi@glossaryentry@list + {\global\let\@multi@glossaryentry@list\@gls@combined@current@label}% + {% + \xappto\@multi@glossaryentry@list{,\expandonce\@gls@combined@current@label}% + }% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@multientry} +%\begin{definition} +%\cs{@glsxtr@multientry}\marg{options}\marg{multilabel}\marg{main}\marg{list} +%\end{definition} +%Information for aux file. Useful for \app{bib2gls} and also for +%\pkgopt{docdef}. +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@multientry}[4]{% + \ifnum\@glsxtr@docdefval=1\relax + \bgroup + \def\@gls@combined@current@opts{#1}% + \def\@gls@combined@current@label{#2}% + \let\@multi@glossary@doifexists\@secondoftwo + \let\writemultiglossentry\@gobblefour + \multiglossaryentryglobaltrue + \@multi@glossary@entry{#3}{#4}% + \egroup + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\writemultiglossentry} +%\changes{1.48}{2021-11-22}{new} +%This can be redefined to do nothing if the information isn't +%required. +% \begin{macrocode} +\newcommand*{\writemultiglossentry}[4]{% + \protected@write\@auxout{}{\string\@glsxtr@multientry{#1}{#2}{#3}{#4}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ifmglsused} +%\changes{1.48}{2021-11-22}{new} +% Determines whether or not the multi-entry set has been referenced +% by commands like \cs{mgls} or \cs{mglsname}. +% \begin{macrocode} +\newcommand*{\ifmglsused}[3]{% + \ifbool{@gls@combined@#1@flag}{#2}{#3}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsunset} +%\changes{1.48}{2021-11-22}{new} +%Unset the flag. +% \begin{macrocode} +\newcommand*{\mglsunset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglsunset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mglsunset} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mglsunset}[1]{% + \expandafter\global\csname @gls@combined@#1@flagtrue\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsreset} +%\changes{1.48}{2021-11-22}{new} +%Unset the flag. +% \begin{macrocode} +\newcommand*{\mglsreset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglsreset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mglsreset} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mglsreset}[1]{% + \expandafter\global\csname @gls@combined@#1@flagfalse\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglslocalunset} +%\changes{1.48}{2021-11-22}{new} +%Unset the flag. +% \begin{macrocode} +\newcommand*{\mglslocalunset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglslocalunset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mglslocalunset} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mglslocalunset}[1]{% + \csname @gls@combined@#1@flagtrue\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglslocalreset} +%\changes{1.48}{2021-11-22}{new} +%Unset the flag. +% \begin{macrocode} +\newcommand*{\mglslocalreset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglslocalreset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mglslocalreset} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mglslocalreset}[1]{% + \csname @gls@combined@#1@flagfalse\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsunsetall} +%\changes{1.48}{2021-11-22}{new} +%Unset all. +% \begin{macrocode} +\newcommand*{\mglsunsetall}{% + \@for\@mgls@thislabel:=\@multi@glossaryentry@list\do{\mglsunset\@mgls@thislabel}% +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsresetall} +%\changes{1.48}{2021-11-22}{new} +%Reset all. +% \begin{macrocode} +\newcommand*{\mglsresetall}{% + \@for\@mgls@thislabel:=\@multi@glossaryentry@list\do{\mglsreset\@mgls@thislabel}% +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsSetMain} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsSetName}\marg{multi-label}\marg{new main} +%\end{definition} +%Allow the main label to be changed (local). +% \begin{macrocode} +\newrobustcmd{\mglsSetMain}[2]{% + \ifcsundef{@gls@combined@#1@main}% + {\PackageError{glossaries-extra}{Multi-entry label `#1' not defined}{}}% + {% + \protected@edef\@gls@combined@current@main{#2}% + \letcs\@gls@combined@currentlist{@gls@combined@#1@list}% +% \end{macrocode} +% Check that the given label is in the list of elements and update +% main and last other element index. +% \begin{macrocode} + \mglselementindex=0\relax + \count@=0\relax + \@for\@gls@tmp:=\@gls@combined@currentlist\do{% + \advance\mglselementindex by 1\relax + \ifx\@gls@combined@current@main\@gls@tmp + \count@=\mglselementindex\relax + \let\@gls@combined@finalitem\@gls@tmp + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@#1@main}\@gls@combined@current@main + \csxdef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \else + \cslet{@gls@combined@#1@main}\@gls@combined@current@main + \csedef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \fi + \else + \ifmultiglossaryentryglobal + \csxdef{@gls@combined@#1@lastotherindex}{\the\mglselementindex}% + \else + \csedef{@gls@combined@#1@lastotherindex}{\the\mglselementindex}% + \fi + \fi + }% + \ifnum\count@=0\relax + \PackageError{glossaries-extra}{Label `#2' is not in `#1' set + (\@gls@combined@currentlist)}{}% +% \end{macrocode} +% Default to final item. +% \begin{macrocode} + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@#1@main}\@gls@combined@finalitem + \csxdef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \csxdef{@gls@combined@#1@lastotherindex}{% + \number\numexpr\mglselementindex-1 }% + \else + \cslet{@gls@combined@#1@main}\@gls@combined@finalitem + \csedef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \csedef{@gls@combined@#1@lastotherindex}{% + \number\numexpr\mglselementindex-1 }% + \fi + \fi + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsSetOptions} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsSetOptions}\marg{multi-label}\marg{new options} +%\end{definition} +%Allow the options to be changed (local). No expansion is applied. +% \begin{macrocode} +\newrobustcmd{\mglsSetOptions}[2]{% + \ifcsundef{@gls@combined@#1@main}% + {\PackageError{glossaries-extra}{Multi-entry label `#1' not defined}{}}% + {% + \csdef{@gls@combined@#1@options}{#2}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsAddOptions} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsAddOptions}\marg{multi-label}\marg{extra options} +%\end{definition} +%Allow the options to be changed (local). No expansion is applied. +% \begin{macrocode} +\newrobustcmd{\mglsAddOptions}[2]{% + \ifcsundef{@gls@combined@#1@main}% + {\PackageError{glossaries-extra}{Multi-entry label `#1' not defined}{}}% + {% + \ifcsempty{@gls@combined@#1@options}% + {\csdef{@gls@combined@#1@options}{#2}}% + {\csappto{@gls@combined@#1@options}{,#2}}% + }% +} +% \end{macrocode} +%\end{macro} +% +%Options for \cs{mgls}: +%\begin{macro}{\@mgls@all} +%\changes{1.48}{2021-11-22}{new} +%Options to apply to all elements. +% \begin{macrocode} +\newcommand*{\@mgls@all}{} +\define@key{mgls}{all}{\renewcommand*{\@mgls@all}{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@main} +%\changes{1.48}{2021-11-22}{new} +%Options to apply to the main element only. +% \begin{macrocode} +\newcommand*{\@mgls@main}{} +\define@key{mgls}{main}{\renewcommand*{\@mgls@main}{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@others} +%\changes{1.48}{2021-11-22}{new} +%Options to apply to the other (no main) elements. +% \begin{macrocode} +\newcommand*{\@mgls@others}{} +\define@key{mgls}{others}{\renewcommand*{\@mgls@others}{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@setup} +%\changes{1.48}{2021-11-22}{new} +%Options to apply to \cs{multiglossaryentrysetup}. +% \begin{macrocode} +\newcommand*{\@mgls@setup}{} +\define@key{mgls}{setup}{% + \@mgls@setup@do{\renewcommand*{\@mgls@setup}{#1}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@setup@do} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@setup@do}[1]{#1} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@setup@do@not} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@setup@do@not}[1]{% + \PackageError{glossaries-extra}{`setup' key not permitted inside + `mglsopts' value}{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mgls@disable@setup} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mgls@disable@setup}{% + \let\@mgls@setup@do\@mgls@setup@do@not +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mgls@enable@setup} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mgls@enable@setup}{% + \let\@mgls@setup@do\@firstofone +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@unsetaction} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand\@mgls@unsetaction{0} +\define@choicekey{mgls}{multiunset}[\@mgls@unsetaction@val\@mgls@unsetaction]% + {global,local,none}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ifKV@mgls@presetlocal} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\define@boolkey{mgls}{presetlocal}[true]{} +\KV@mgls@presetlocalfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@hyper} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@hyper}{} +\define@choicekey{mgls}{hyper}[\@mgls@hyper@val\@mgls@hyper@nr]{true,false}[true]% +{% + \renewcommand*{\@mgls@hyper}{hyper=#1}% + \ifnum\@mgls@hyper@nr=1\relax + \let\@mgls@hyperlink\@secondoftwo + \else + \let\@mgls@hyperlink\@@mgls@hyperlink + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@@mgls@hyperlink} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@@mgls@hyperlink}[2]{% + \ifx\@glslink\glsdonohyperlink + #2% + \else + \glsxtr@org@dohyperlink{\glolinkprefix#1}{#2}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@hyperlink} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\let\@mgls@hyperlink\@@mgls@hyperlink +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsforelements} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsforelements}\marg{multi-label}\marg{cs}\marg{body} +%\end{definition} +% \begin{macrocode} +\newcommand*{\mglsforelements}[3]{% + \expandafter\@for\expandafter#2\expandafter:\expandafter + =\csname @gls@combined@#1@list\endcsname\do{#3}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsforotherelements} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsforotherelements}\marg{multi-label}\marg{cs}\marg{body} +%\end{definition} +% \begin{macrocode} +\newcommand*{\mglsforotherelements}[3]{% + \expandafter\@for\expandafter#2\expandafter:\expandafter + =\csname @gls@combined@#1@list\endcsname\do + {\expandafter\ifdefequal\csname @gls@combined@#1@main\endcsname{#2}{}{#3}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsunsetothers} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglsunsetothers}[1]{% + \mglsforotherelements{#1}{\@gls@tmp}{\glsunset{\@gls@tmp}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglslocalunsetothers} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglslocalunsetothers}[1]{% + \mglsforotherelements{#1}{\@gls@tmp}{\glslocalunset{\@gls@tmp}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglselementreset} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglselementreset}[1]{% + \ifKV@mgls@presetlocal + \glslocalreset{#1}% + \else + \glsreset{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglselementunset} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglselementunset}[1]{% + \ifKV@mgls@presetlocal + \glslocalunset{#1}% + \else + \glsunset{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@resetall} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@resetall}{} +\define@choicekey{mgls}{resetall}% +[\@mgls@resetall@val\@mgls@resetall@nr]{false,true}[true]% +{% + \ifcase\@mgls@resetall@nr\relax + \renewcommand*{\@mgls@resetall}{}% + \or + \renewcommand*{\@mgls@resetall}{% + \@for\@gls@resetlabel:=\mglscurrentlist\do{\mglselementreset\@gls@resetlabel}}% + \renewcommand*{\@mgls@unsetall}{}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@resetmain} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@resetmain}{} +\define@choicekey{mgls}{resetmain} +[\@mgls@resetmain@val\@mgls@resetmain@nr]{false,true}[true]% +{% + \ifcase\@mgls@resetmain@nr\relax + \renewcommand*{\@mgls@resetmain}{}% + \or + \renewcommand*{\@mgls@resetmain}{\mglselementreset\mglscurrentmainlabel}% + \renewcommand*{\@mgls@unsetmain}{}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@resetothers} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@resetothers}{} +\define@choicekey{mgls}{resetothers} +[\@mgls@resetothers@val\@mgls@resetothers@nr]{false,true}[true]% +{% + \ifcase\@mgls@resetothers@nr\relax + \renewcommand*{\@mgls@resetothers}{}% + \or + \renewcommand*{\@mgls@resetothers}{% + \@for\@gls@resetlabel:=\mglscurrentlist\do{% + \ifx\@gls@resetlabel\mglscurrentmainlabel + \else + \mglselementreset\@gls@resetlabel + \fi + }% + }% + \renewcommand*{\@mgls@unsetothers}{}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@unsetall} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@unsetall}{} +\define@choicekey{mgls}{unsetall}% +[\@mgls@unsetall@val\@mgls@unsetall@nr]{false,true}[true]% +{% + \ifcase\@mgls@unsetall@nr\relax + \renewcommand*{\@mgls@unsetall}{}% + \or + \renewcommand*{\@mgls@unsetall}{% + \@for\@gls@unsetlabel:=\mglscurrentlist\do{\mglselementunset\@gls@unsetlabel}}% + \renewcommand*{\@mgls@resetall}{}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@unsetmain} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@unsetmain}{} +\define@choicekey{mgls}{unsetmain} +[\@mgls@unsetmain@val\@mgls@unsetmain@nr]{false,true}[true]% +{% + \ifcase\@mgls@unsetmain@nr\relax + \renewcommand*{\@mgls@unsetmain}{}% + \or + \renewcommand*{\@mgls@unsetmain}{\mglselementunset\mglscurrentmainlabel}% + \renewcommand*{\@mgls@resetmain}{}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@unsetothers} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@unsetothers}{} +\define@choicekey{mgls}{unsetothers} +[\@mgls@unsetothers@val\@mgls@unsetothers@nr]{false,true}[true]% +{% + \ifcase\@mgls@unsetothers@nr\relax + \renewcommand*{\@mgls@unsetothers}{}% + \or + \renewcommand*{\@mgls@unsetothers}{% + \@for\@gls@unsetlabel:=\mglscurrentlist\do{% + \ifx\@gls@unsetlabel\mglscurrentmainlabel + \else + \mglselementunset\@gls@unsetlabel + \fi + }% + }% + \renewcommand*{\@mgls@resetothers}{}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtr@setup@docurrent} +%\changes{1.48}{2021-11-22}{new} +%Set up the commands to determine whether or not to do the current +%element. +% \begin{macrocode} +\newcommand{\glsxtr@setup@docurrent}{% +% \end{macrocode} +% \cs{mglscurrentlabel} expands to the label of the current element. +% Should this element be skipped? +% \begin{macrocode} + \ifx\mglscurrentlabel\mglscurrentmainlabel +% \end{macrocode} +% Main element. Should it be skipped? +% \begin{macrocode} + \mglsisfirstuse + {% + \ifKV@glsxtrcombined@firstskipmain + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + {% + \ifKV@glsxtrcombined@usedskipmain + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + \else +% \end{macrocode} +% Other element. Should it be skipped? +% \begin{macrocode} + \mglsisfirstuse + {% + \ifKV@glsxtrcombined@firstskipothers + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + {% + \ifKV@glsxtrcombined@usedskipothers + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtr@mgls@checklastelement} +%\changes{1.48}{2021-11-22}{new} +% If the last element is skipped, \cs{mglsiflast} needs +% adjusting. +% The first argument should be either "first" or "used". +% The second argument is the multi-element label. +% \begin{macrocode} +\newcommand*{\glsxtr@mgls@checklastelement}[2]{% + \ifbool{KV@glsxtrcombined@#1skipmain}% + {% + \ifbool{KV@glsxtrcombined@#1skipothers}% + {% +% \end{macrocode} +% This condition has already been checked for. +% \begin{macrocode} + }% + {% +% \end{macrocode} +% Main skipped. The last item will be the last other element. +% \begin{macrocode} + \ifnum\mglselementindex=\glsxtrmultilastotherindex{#2}\relax + \let\mglsiflast\@firstoftwo + \else + \let\mglsiflast\@secondoftwo + \fi + }% + }% + {% +% \end{macrocode} +% Main not skipped. +% \begin{macrocode} + \ifbool{KV@glsxtrcombined@#1skipothers}% + {% +% \end{macrocode} +% Others skipped. The main element is the only item. +% \begin{macrocode} + \ifnum\mglselementindex=\glsxtrmultimainindex{#2}\relax + \let\mglsiflast\@firstoftwo + \else + \let\mglsiflast\@secondoftwo + \fi + }% + {% +% \end{macrocode} +% None skipped. This isn't the last element. +% \begin{macrocode} + \let\mglsiflast\@secondoftwo + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmglsWarnAllSkipped} +%\changes{1.48}{2021-11-22}{new} +%Warning if all elements are skipped. The first argument is the +%warning message, the second argument is the inserted content (final +%optional argument), the third command is the encapsulation command +%(which may be a hyperlink). +% \begin{macrocode} +\newcommand{\glsxtrmglsWarnAllSkipped}[3]{% + \GlossariesExtraWarning{#1}% + #3{#2}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtr@mgls@applyopts} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtr@mgls@applyopts}[1]{% + \edef\@mgls@dooptions{\noexpand\setkeys*{mgls}{\expandonce#1}}% + \@mgls@dooptions +% \end{macrocode} +% Append any unknown options to all. +% \begin{macrocode} + \ifdefvoid\XKV@rm{}{\eappto\@mgls@all{,\expandonce\XKV@rm}}% +% \end{macrocode} +% If setup key has been used, check for pre-option keys: +% \begin{macrocode} + \ifdefvoid\@mgls@setup + {}% + {% + \edef\@mgls@dooptions{% + \noexpand\setkeys*{glsxtrcombinedpreopts}{\expandonce\@mgls@setup}}% + \mgls@disable@mglsopts + \@mgls@dooptions + \mgls@enable@mglsopts +% \end{macrocode} +% Save remaining setup options. +% \begin{macrocode} + \ifx\@mgls@setupoptions\@empty + \let\@mgls@setupoptions\XKV@rm + \else + \eappto\@mgls@setupoptions{,\expandonce\XKV@rm}% + \fi + }% +% \end{macrocode} +% Apply gls unset/reset options. +% \begin{macrocode} + \@mgls@resetall + \@mgls@unsetall + \@mgls@resetmain + \@mgls@unsetmain + \@mgls@resetothers + \@mgls@unsetothers +% \end{macrocode} +% Disable. +% \begin{macrocode} + \let\@mgls@resetall\@empty + \let\@mgls@resetmain\@empty + \let\@mgls@resetothers\@empty + \let\@mgls@unsetall\@empty + \let\@mgls@unsetmain\@empty + \let\@mgls@unsetothers\@empty +% \end{macrocode} +% First use flags. +% \begin{macrocode} + \ifmglsused\mglscurrentmultilabel + {\let\mglsisfirstuse\@secondoftwo}% + {\let\mglsisfirstuse\@firstoftwo}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@firstofthree} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\providecommand{\@firstofthree}[3]{#1} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@secondofthree} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\providecommand{\@secondofthree}[3]{#2} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@thirdofthree} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\providecommand{\@thirdofthree}[3]{#3} +% \end{macrocode} +%\end{macro} +% +%The main internal command for referencing multi-entries: +%\begin{macro}{\glsxtr@mgls@inner} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{glsxtr@mgls@inner}\marg{options}\marg{label}\marg{insert}\marg{first +%cs}\marg{not first cs}\marg{main first cs}\marg{main other cs} +%\end{definition} +% \begin{macrocode} +\newcommand*{\glsxtr@mgls@inner}[7]{% + \let\mglslastmainlabel\@empty + \let\mglsiflastmainwasfirstuse\@firstoftwo + \let\mglsiflastmainwasplural\@secondoftwo + \let\mglsiflastmaincapscase\@firstofthree + \let\mglsiflastmainskipped\@firstoftwo + \bgroup + \ifcsundef{@gls@combined@#2@main}% + {% + \glsxtrundefaction{Multi entry `#2' hasn't been defined}% + {You need to define `#2' with \string\multiglossaryentry}% + \gdef\@mgls@post@hookdefs{% + \protected@edef\mglslastmultilabel{#2}% + \let\mglswasfirstuse\@firstoftwo + \let\mglslastcategory\@empty + \let\mglsiflastelementskipped\@firstoftwo + \let\mglsiflastelementwasfirstuse\@firstoftwo + \let\mglsiflastelementwasplural\@secondoftwo + \let\mglsiflastelementcapscase\@firstofthree + \let\mglslastelementlabel\@empty + \let\mgls@do@postlinkhook\relax + }% + }% + {% + \protected@edef\mglscurrentmultilabel{#2}% + \letcs\mglscurrentmainlabel{@gls@combined@#2@main}% + \letcs\mglscurrentlist{@gls@combined@#2@list}% + \letcs\mglscurrentoptions{@gls@combined@#2@options}% +% \end{macrocode} +% Initialise (may be changed if \texttt{multiunset} is present): +% \begin{macrocode} + \ifmglsused\mglscurrentmultilabel + {\let\mglsisfirstuse\@secondoftwo}% + {\let\mglsisfirstuse\@firstoftwo}% +% \end{macrocode} +% Only obtain pre-option keys: +% \begin{macrocode} + \edef\@mgls@dooptions{% + \noexpand\setkeys*{glsxtrcombinedpreopts}{\expandonce\mglscurrentoptions}}% + \@mgls@dooptions +% \end{macrocode} +% Save remaining setup options. +% \begin{macrocode} + \let\@mgls@setupoptions\XKV@rm +% \end{macrocode} +% Apply \cs{mgls} options. +% \begin{macrocode} + \mgls@disable@setup + \ifdefvoid\@gls@combined@mglsopts + {}% + {\glsxtr@mgls@applyopts\@gls@combined@mglsopts}% + \mgls@enable@setup +% \end{macrocode} +% Apply options provided in \verb|#1|. +% \begin{macrocode} + \ifstrempty{#1}{}{\def\@mgls@options{#1}\glsxtr@mgls@applyopts\@mgls@options}% +% \end{macrocode} +% Check for attribute settings. +% \begin{macrocode} + \ifx\@gls@combined@category\empty +% \end{macrocode} +% No category +% \begin{macrocode} + \else +% \end{macrocode} +% Attribute options: +% \begin{macrocode} + \glshascategoryattribute{\@gls@combined@category}{multioptions}% + {% + \letcs\@mgls@attroptions{@glsxtr@categoryattr@@\@gls@combined@category + @multioptions}% +% \end{macrocode} +% Only obtain pre-option keys: +% \begin{macrocode} + \let\@gls@combined@mglsopts\@empty + \edef\@mgls@dooptions{% + \noexpand\setkeys*{glsxtrcombinedpreopts}{\expandonce\@mgls@attroptions}}% + \@mgls@dooptions +% \end{macrocode} +% Append remaining options: +% \begin{macrocode} + \eappto\@mgls@setupoptions{,\expandonce\XKV@rm}% + \ifx\@gls@combined@mglsopts\@empty + \else +% \end{macrocode} +% mgls options found: +% \begin{macrocode} + \let\@mgls@setup\@empty + \mgls@disable@setup + \glsxtr@mgls@applyopts\@gls@combined@mglsopts + \mgls@enable@setup + \fi + }% + {}% + \fi +% \end{macrocode} +% Apply setup options. +% \begin{macrocode} + \edef\@mgls@dooptions{% + \noexpand\setkeys{glsxtrcombined}{\expandonce\@mgls@setupoptions}}% + \@mgls@dooptions +% \end{macrocode} +% Provide local user-level access to category: +% \begin{macrocode} + \let\mglscurrentcategory\@gls@combined@category +% \end{macrocode} +% Should the entire content be a hyperlink? +% \begin{macrocode} + \ifnum\@gls@combined@hyper=1\relax + \def\@mgls@combinedlink{\@mgls@hyperlink{\mglscurrentmainlabel}}% + \else + \def\@mgls@combinedlink{\@firstofone}% + \fi +% \end{macrocode} +% Entire content encapsulator. +% \begin{macrocode} + \def\@gls@combined@encapsulator##1{% + \@mgls@combinedlink{\csuse{\@gls@combined@textformat}{##1}}}% +% \end{macrocode} +% Initialise. +% \begin{macrocode} + \let\@mgls@do@current@element\@firstofone +% \end{macrocode} +% Check if all elements are being skipped. +% \begin{macrocode} + \mglsisfirstuse + {% + \ifKV@glsxtrcombined@firstskipmain + \ifKV@glsxtrcombined@firstskipothers +% \end{macrocode} +% Just do the warning and insert. This will ignore the loop. +% \begin{macrocode} + \let\@gls@org@combined@encapsulator\@gls@combined@encapsulator + \def\@gls@combined@encapsulator##1{% + \glsxtrmglsWarnAllSkipped{All elements skipped for + first use of multi-entry `#2'}{#3}% + {\@gls@org@combined@encapsulator}% + }% + \let\@mgls@do@current@element\@gobble + \fi + \fi + }% + {% + \ifKV@glsxtrcombined@usedskipmain + \ifKV@glsxtrcombined@usedskipothers +% \end{macrocode} +% Just do the warning and insert. This will ignore the loop. +% \begin{macrocode} + \let\@gls@org@combined@encapsulator\@gls@combined@encapsulator + \def\@gls@combined@encapsulator##1{% + \glsxtrmglsWarnAllSkipped{All elements skipped for + subsequent use of multi-entry `#2'}{#3}% + {\@gls@org@combined@encapsulator}% + }% + \let\@mgls@do@current@element\@gobble + \fi + \fi + }% +% \end{macrocode} +% Determine prefix and suffix. +% \begin{macrocode} + \mglsisfirstuse + {% + \let\mglscurrentprefix\@gls@combined@firstprefix + \let\mglscurrentsuffix\@gls@combined@firstsuffix + }% + {% + \let\mglscurrentprefix\@gls@combined@usedprefix + \let\mglscurrentsuffix\@gls@combined@usedsuffix + }% +% \end{macrocode} +%Set up post-link hook used after current scope. +% \begin{macrocode} + \xdef\@mgls@post@hookdefs{% + \noexpand\def\noexpand\mglslastmultilabel{\expandonce\mglscurrentmultilabel}% + \noexpand\def\noexpand\mglslastcategory{\mglscurrentcategory}% + }% + \ifx\@mgls@do@current@element\@gobble + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementskipped\@firstoftwo + \let\mglslastelementlabel\@empty + \let\mglsiflastelementwasfirstuse\@firstoftwo + \let\mglsiflastelementwasplural\@secondoftwo + \let\mglsiflastelementcapscase\@firstofthree + }% + \fi + \mglsisfirstuse + {% + \gappto\@mgls@post@hookdefs{\let\mglswasfirstuse\@firstoftwo}% +% \end{macrocode} +% Determine if the multi-entry post-link hook should be applied. +% \begin{macrocode} + \ifcase\@gls@combined@mpostlink@nr\relax +% \end{macrocode} +% \texttt{mpostlink=false}. +% \begin{macrocode} + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \or +% \end{macrocode} +% \texttt{mpostlink=true}. +% \begin{macrocode} + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \or +% \end{macrocode} +% \texttt{mpostlink=firstonly}. +% \begin{macrocode} + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \or +% \end{macrocode} +% \texttt{mpostlink=usedonly}. +% \begin{macrocode} + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \fi + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglswasfirstuse\@secondoftwo}% +% \end{macrocode} +% Determine if the multi-entry post-link hook should be applied. +% \begin{macrocode} + \ifcase\@gls@combined@mpostlink@nr\relax +% \end{macrocode} +% \texttt{mpostlink=false}. +% \begin{macrocode} + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \or +% \end{macrocode} +% \texttt{mpostlink=true}. +% \begin{macrocode} + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \or +% \end{macrocode} +% \texttt{mpostlink=firstonly}. +% \begin{macrocode} + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \or +% \end{macrocode} +% \texttt{mpostlink=usedonly}. +% \begin{macrocode} + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \fi + }% +% \end{macrocode} +% Save current post-link hook. +% \begin{macrocode} + \let\mgls@org@postlinkhook\glspostlinkhook +% \end{macrocode} +% Prefix. +% \begin{macrocode} + \mglsprefix +% \end{macrocode} +% Initialise last element label (for \cs{mglssuffix}). +% \begin{macrocode} + \let\mglslastelementlabel\@empty + \@gls@combined@encapsulator + {% +% \end{macrocode} +% Save previous label. +% \begin{macrocode} + \def\@mgls@previouslabel{}% + \mglselementindex=0\relax + \@for\mglscurrentlabel:=\mglscurrentlist\do{% + \advance\mglselementindex by 1\relax + \glsxtr@setup@docurrent +% \end{macrocode} +% Is this the last element? +% \begin{macrocode} + \ifx\@xfor@nextelement\@nnil + \let\mglsiflast\@firstoftwo + \else + \let\mglsiflast\@secondoftwo +% \end{macrocode} +% Are any elements being skipped? +% \begin{macrocode} + \mglsisfirstuse + {% + \glsxtr@mgls@checklastelement{first}{#2}% + }% + {% + \glsxtr@mgls@checklastelement{used}{#2}% + }% + \fi +% \end{macrocode} +% Should the element post-link hook be used? +% \begin{macrocode} + \ifcase\@gls@combined@postlinks@nr\relax +% \end{macrocode} +% \texttt{postlinks=none} +% \begin{macrocode} + \let\glspostlinkhook\relax + \or +% \end{macrocode} +% \texttt{postlinks=all} +% \begin{macrocode} + \let\glspostlinkhook\mgls@org@postlinkhook + \or +% \end{macrocode} +% \texttt{postlinks=notlast} +% \begin{macrocode} + \mglsiflast + {% + \let\glspostlinkhook\relax + }% + {% + \let\glspostlinkhook\mgls@org@postlinkhook + }% + \or +% \end{macrocode} +% \texttt{postlinks=mainnotlast} +% \begin{macrocode} + \ifx\mglscurrentlabel\mglscurrentmainlabel + \mglsiflast + {% + \let\glspostlinkhook\relax + }% + {% + \let\glspostlinkhook\mgls@org@postlinkhook + }% + \else + \let\glspostlinkhook\relax + \fi + \or +% \end{macrocode} +% \texttt{postlinks=mainonly} +% \begin{macrocode} + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\glspostlinkhook\mgls@org@postlinkhook + \else + \let\glspostlinkhook\relax + \fi + \or +% \end{macrocode} +% \texttt{postlinks=othernotlast} +% \begin{macrocode} + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\glspostlinkhook\relax + \else + \mglsiflast + {% + \let\glspostlinkhook\relax + }% + {% + \let\glspostlinkhook\mgls@org@postlinkhook + }% + \fi + \or +% \end{macrocode} +% \texttt{postlinks=otheronly} +% \begin{macrocode} + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\glspostlinkhook\relax + \else + \let\glspostlinkhook\mgls@org@postlinkhook + \fi + \fi +% \end{macrocode} +% Save the last element for the multi-entry post-link hook. +% \begin{macrocode} + \mglsiflast + {% + \xappto\@mgls@post@hookdefs{% + \noexpand\def\noexpand\mglslastelementlabel + {\expandonce\mglscurrentlabel}}% + }% + {}% +% \end{macrocode} +% Do current element: +% \begin{macrocode} + \@mgls@do@current@element + {% +% \end{macrocode} +% Pre element hook. +% \begin{macrocode} + \mglselementprehook +% \end{macrocode} +% Is this the first use of the current element? +% \begin{macrocode} + \GlsXtrIfUnusedOrUndefined{\mglscurrentlabel}% + {\let\@mgls@current@iffirstuse\@firstoftwo}% + {\let\@mgls@current@iffirstuse\@secondoftwo}% + \ifx\mglscurrentlabel\mglscurrentmainlabel +% \end{macrocode} +% Main element. +% Location encap option: +% \begin{macrocode} + \edef\@mgls@current@options{format=\@gls@combined@encapmain}% +% \end{macrocode} +%Indexing option: +% \begin{macrocode} + \ifcase\@gls@combined@indexmain + \appto\@mgls@current@options{,noindex}% + \or + \appto\@mgls@current@options{,noindex=false}% + \or + \@mgls@current@iffirstuse + {\appto\@mgls@current@options{,noindex=false}}% + {\appto\@mgls@current@options{,noindex}}% + \fi +% \end{macrocode} +% Hyperlink option: +% \begin{macrocode} + \ifcase\@gls@combined@hyper\relax + \appto\@mgls@current@options{,hyper=false}% none + \or + \appto\@mgls@current@options{,hyper=false}% allmain + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% mainonly + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% individual + \or + \appto\@mgls@current@options{,hyper=false}% otheronly + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% notmainfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% notmainfirst + }% + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% nototherfirst + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% notfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% notfirst + }% + \fi +% \end{macrocode} +%Append all and then main: +% \begin{macrocode} + \eappto\@mgls@current@options{,\@mgls@all,\@mgls@main}% + \else +% \end{macrocode} +% Other element. +% Location encap option: +% \begin{macrocode} + \edef\@mgls@current@options{format=\@gls@combined@encapothers}% +% \end{macrocode} +% Indexing option: +% \begin{macrocode} + \ifcase\@gls@combined@indexothers\relax + \appto\@mgls@current@options{,noindex}% + \or + \appto\@mgls@current@options{,noindex=false}% + \or + \@mgls@current@iffirstuse + {\appto\@mgls@current@options{,noindex=false}}% + {\appto\@mgls@current@options{,noindex}}% + \fi +% \end{macrocode} +% Hyperlink option: +% \begin{macrocode} + \ifcase\@gls@combined@hyper\relax + \appto\@mgls@current@options{,hyper=false}% none + \or + \appto\@mgls@current@options{,hyper=false}% allmain + \or + \appto\@mgls@current@options{,hyper=false}% mainonly + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% individual + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% otheronly + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% notmainfirst + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% nototherfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% nototherfirst + }% + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% notfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% notfirst + }% + \fi +% \end{macrocode} +%Append all and then others: +% \begin{macrocode} + \eappto\@mgls@current@options{,\@mgls@all,\@mgls@others}% + \fi +% \end{macrocode} +% Is this the first element? +% \begin{macrocode} + \ifx\@mgls@previouslabel\empty + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\@mgls@cs#6\relax + \else + \let\@mgls@cs#4\relax + \fi + \else +% \end{macrocode} +% Not the first element so add separator. +% \begin{macrocode} + \@mgls@previous@iffirstuse + {% + \@mgls@current@iffirstuse + {\glscombinedfirstsepfirst{\@mgls@previouslabel}{\mglscurrentlabel}}% + {\glscombinedfirstsep{\@mgls@previouslabel}{\mglscurrentlabel}}% + }% + {% + \@mgls@current@iffirstuse + {\glscombinedsepfirst{\@mgls@previouslabel}{\mglscurrentlabel}}% + {\glscombinedsep{\@mgls@previouslabel}{\mglscurrentlabel}}% + }% + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\@mgls@cs#7\relax + \else + \let\@mgls@cs#5\relax + \fi + \fi +% \end{macrocode} +% Is this the last element? +% \begin{macrocode} + \mglsiflast + {\expandafter\@mgls@cs\expandafter{\@mgls@current@options}{\mglscurrentlabel}[#3]}% + {\expandafter\@mgls@cs\expandafter{\@mgls@current@options}{\mglscurrentlabel}[]}% +% \end{macrocode} +% Is this the main element? If so, save information for post-link +% hook. +% \begin{macrocode} + \ifx\mglscurrentlabel\mglscurrentmainlabel + \xappto\@mgls@post@hookdefs{% + \noexpand\def\noexpand\mglslastmainlabel + {\expandonce\mglscurrentmainlabel}% + }% + \glsxtrifwasfirstuse + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasfirstuse\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasfirstuse\@secondoftwo}% + }% + \glsifplural + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasplural\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasplural\@secondoftwo}% + }% + \glscapscase + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastmaincapscase\@firstofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastmaincapscase\@secondofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastmaincapscase\@thirdofthree + }% + }% + \fi + \let\@mgls@previouslabel\mglscurrentlabel + \let\@mgls@previous@iffirstuse\@mgls@current@iffirstuse + }% +% \end{macrocode} +% Post element hook. +% \begin{macrocode} + \mglselementposthook + }% + \ifx\mglslastmainlabel\@empty + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainskipped\@firstoftwo}% + \else + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainskipped\@secondoftwo}% + \fi +% \end{macrocode} +% Encapsulator may introduce grouping so check here. +% \begin{macrocode} + \ifx\@mgls@do@current@element\@gobble + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementskipped\@firstoftwo}% + \else + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementskipped\@secondoftwo}% + \fi + \glsxtrifwasfirstuse + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasfirstuse\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasfirstuse\@secondoftwo}% + }% + \glsifplural + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasplural\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasplural\@secondoftwo}% + }% + \glscapscase + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementcapscase\@firstofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementcapscase\@secondofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementcapscase\@thirdofthree + }% + }% + }% +% \end{macrocode} +% Suffix needs post-link hook commands. +% \begin{macrocode} + \@mgls@post@hookdefs + \mglssuffix +% \end{macrocode} +%Unset multi-entry first use flag after current scope. +% \begin{macrocode} + \ifcase\@mgls@unsetaction\relax + \xappto\@mgls@post@hookdefs{% + \noexpand\mglsunset{\expandonce\mglscurrentmultilabel}}% + \or + \xappto\@mgls@post@hookdefs{% + \noexpand\mglslocalunset{\expandonce\mglscurrentmultilabel}}% + \fi + }% + \glsxtrmglswrite{#2}% + \egroup + \@mgls@post@hookdefs + \mgls@do@postlinkhook +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglscustompostlinkhook} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglscustompostlinkhook}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglslastelementpostlinkhook} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglslastelementpostlinkhook}{% + \let\glsxtrifwasfirstuse\mglsiflastelementwasfirstuse + \let\glsifplural\mglsiflastelementwasplural + \let\glscapscase\mglsiflastelementcapscase + \let\glslabel\mglslastelementlabel + \glspostlinkhook +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglslastmainpostlinkhook} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglslastmainpostlinkhook}{% + \let\glsxtrifwasfirstuse\mglsiflastmainwasfirstuse + \let\glsifplural\mglsiflastmainwasplural + \let\glscapscase\mglsiflastmaincapscase + \let\glslabel\mglslastmainlabel + \glspostlinkhook +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsdefcategoryprefix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglsdefcategoryprefix}[2]{% + \csdef{mglsprefix@#1}{#2}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglshascategoryprefix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglshascategoryprefix}[3]{% + \ifcsdef{mglsprefix@#1}{#2}{#3}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsusecategoryprefix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglsusecategoryprefix}[1]{% + \csuse{mglsprefix@#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsprefix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglsprefix}{% + \ifdefempty\mglscurrentcategory + {\mglscurrentprefix}% + {% + \mglshascategoryprefix{\mglscurrentcategory}% + {\mglsusecategoryprefix{\mglscurrentcategory}}% + {\mglscurrentprefix}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsdefcategorysuffix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglsdefcategorysuffix}[2]{% + \csdef{mglssuffix@#1}{#2}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglshascategorysuffix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglshascategorysuffix}[3]{% + \ifcsdef{mglssuffix@#1}{#2}{#3}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsusecategorysuffix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglsusecategorysuffix}[1]{% + \csuse{mglssuffix@#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglssuffix} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglssuffix}{% + \ifdefempty\mglscurrentcategory + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}% + {% + \mglshascategorysuffix{\mglscurrentcategory}% + {\mglsusecategorysuffix{\mglscurrentcategory}}% + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglselementprehook} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglselementprehook}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglselementposthook} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mglselementposthook}{} +% \end{macrocode} +%\end{macro} +% +%Separators. +%\begin{macro}{\glscombinedsep} +%\changes{1.48}{2021-11-22}{new} +%Separator between two elements that have been marked as used. +%This takes the two element labels as arguments. +% \begin{macrocode} +\newcommand*{\glscombinedsep}[2]{% + \glshasattribute{#1}{combinedsep}% + {\glsgetattribute{#1}{combinedsep}}% + { }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glscombinedfirstsepfirst} +%\changes{1.48}{2021-11-22}{new} +%Separator following and preceding a first use. +% \begin{macrocode} +\newcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{#1}{combinedfirstsepfirst}% + {\glsgetattribute{#1}{combinedfirstsepfirst}}% + {\glscombinedsep{#1}{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glscombinedfirstsep} +%\changes{1.48}{2021-11-22}{new} +%Separator following a first use. +% \begin{macrocode} +\newcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{#1}{combinedfirstsep}% + {\glsgetattribute{#1}{combinedfirstsep}}% + {\glscombinedsep{#1}{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glscombinedsepfirst} +%\changes{1.48}{2021-11-22}{new} +%Separator preceding a first use. +% \begin{macrocode} +\newcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{#1}{combinedsepfirst}% + {\glsgetattribute{#1}{combinedsepfirst}}% + {\glscombinedsep{#1}{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssetcombinedsepabbrvnbsp} +%\changes{1.48}{2021-11-22}{new} +%Provide shortcut for using non-breakable space following an +%abbreviation that has already been used. +% \begin{macrocode} +\newcommand*{\glssetcombinedsepabbrvnbsp}{% + \renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{##1}{combinedsep}% + {\glsgetattribute{##1}{combinedsep}}% + {\ifhasshort{##1}{~}{ }}% + }% + \renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {\ifhasshort{##1}{~}{ }}% + }% + \renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + { }% + }% + \renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + { }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssetcombinedsepabbrvnone} +%\changes{1.48}{2021-11-22}{new} +%Provide shortcut for using nothing if either on next use are +%abbreviations (otherwise use space). +% \begin{macrocode} +\newcommand*{\glssetcombinedsepabbrvnone}{% + \renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{##1}{combinedsep}% + {\glsgetattribute{##1}{combinedsep}}% + {\ifhasshort{##1}{}{\ifhasshort{##2}{}{ }}}% + }% + \renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {\ifhasshort{##1}{}{ }}% + }% + \renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + {\ifhasshort{##2}{}{ }}% + }% + \renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + { }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssetcombinedsepnarrow} +%\changes{1.48}{2021-11-22}{new} +%Measures both. +% \begin{macrocode} +\newcommand*{\glssetcombinedsepnarrow}[2]{% + \renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{##1}{combinedsep}% + {\glsgetattribute{##1}{combinedsep}}% + {% + \ifhasshort{##1}% + {\settowidth{\dimen@}{\glsentryshort{##1}}}% + {\settowidth{\dimen@}{\glsentrytext{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhasshort{##2}% + {\settowidth{\dimen@}{\glsentryshort{##2}}}% + {\settowidth{\dimen@}{\glsentrytext{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% + \renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {% + \ifhasshort{##1}% + {\settowidth{\dimen@}{\glsentryshort{##1}}}% + {\settowidth{\dimen@}{\glsentrytext{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhaslong{##2}% + {\settowidth{\dimen@}{\glsentrylong{##2}}}% + {\settowidth{\dimen@}{\glsentryfirst{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% + \renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + {% + \ifhaslong{##1}% + {\settowidth{\dimen@}{\glsentrylong{##1}}}% + {\settowidth{\dimen@}{\glsentryfirst{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhasshort{##2}% + {\settowidth{\dimen@}{\glsentryshort{##2}}}% + {\settowidth{\dimen@}{\glsentrytext{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% + \renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + {% + \ifhaslong{##1}% + {\settowidth{\dimen@}{\glsentrylong{##1}}}% + {\settowidth{\dimen@}{\glsentryfirst{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhaslong{##2}% + {\settowidth{\dimen@}{\glsentrylong{##2}}}% + {\settowidth{\dimen@}{\glsentryfirst{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@mglswrite} +%\changes{1.48}{2021-11-22}{new} +%Write information to the aux file for \app{bib2gls} to pick up, but +%only need to do it once per label since it only indicates which multi-entry +%has been referenced without any additional information. +% \begin{macrocode} +\newcommand{\glsxtrmglswrite}[1]{% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@off + \else + \protected@edef\@glsxtr@mglslabel{#1}% + \ifdef\@glsxtr@mglsreflist + {% + \expandafter\DTLifinlist\expandafter{\@glsxtr@mglslabel}% + {\@glsxtr@mglsreflist}{}% + {% + \xappto\@glsxtr@mglsreflist{,\expandonce\@glsxtr@mglslabel}% + \if@mgls@writeseparaterefs + \protected@write\@auxout{}{\string\@glsxtr@mglsrefs{#1}}% + \fi + }% + }% + {% + \global\let\@glsxtr@mglsreflist\@glsxtr@mglslabel + \if@mgls@writeseparaterefs + \protected@write\@auxout{}{\string\@glsxtr@mglsrefs{#1}}% + \else + \AtEndDocument{\immediate\protected@write\@auxout{}% + {\string\@glsxtr@mglsrefs{\@glsxtr@mglsreflist}}}% + \fi + \@mgls@disable@writeseparateref@cond + }% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@mglsrefs} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\@glsxtr@mglsrefs}[1]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\if@mgls@writeseparaterefs} +%\changes{1.48}{2021-11-22}{new} +%If this conditional is changed, it must be done before the first +%instance of any \cs{mgls}-like command. +% \begin{macrocode} +\newif\if@mgls@writeseparaterefs \@mgls@writeseparaterefsfalse +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsWriteSeparateRefsTrue} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\mglsWriteSeparateRefsTrue}{\global\@mgls@writeseparaterefstrue} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsWriteSeparateRefsFalse} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\mglsWriteSeparateRefsFalse}{\global\@mgls@writeseparaterefsfalse} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@mgls@disable@writeseparateref@cond} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@mgls@disable@writeseparateref@cond}{% + \gdef\mglsWriteSeparateRefsTrue{\PackageError{glossaries-extra}% + {Too late to use \string\mglsWriteSeparateRefsTrue}% + {\string\mglsWriteSeparateRefsTrue\space can only be used before + the first instance of any \string\mgls-like command}}% + \gdef\mglsWriteSeparateRefsFalse{\PackageError{glossaries-extra}% + {Too late to use \string\mglsWriteSeparateRefsFalse}% + {\string\mglsWriteSeparateRefsFalse\space can only be used before + the first instance of any \string\mgls-like command}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtr@newmgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\glsxtr@newmgls}[5]{% + \edef\@glsxr@newmgls@do{% + \noexpand\newrobustcmd*{\expandonce{\csname #1\endcsname}}% + {\noexpand\@gls@hyp@opt\expandonce{\csname ns@glsxtr@#1\endcsname}}% + \noexpand\newcommand*{\expandonce{\csname ns@glsxtr@#1\endcsname}}[2][]{% + \noexpand\new@ifnextchar[% + {\expandonce{\csname glsxtr@#1\endcsname}{####1}{####2}}% + {\expandonce{\csname glsxtr@#1\endcsname}{####1}{####2}[]}% + }% + \noexpand\def\expandonce{\csname glsxtr@#1\endcsname}####1####2[####3]{% + \noexpand\def\noexpand\glsxtrcurrentmglscsname{#1}% + \noexpand\glsxtr@mgls@inner{####1}{####2}{####3}% + {\noexpand#2}{\noexpand#3}{\noexpand#4}{\noexpand#5}% + }% + }% + \@glsxr@newmgls@do + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@off + \else +% \end{macrocode} +% Provide a way for \app{bib2gls} to recognise the command (this will +% make it easier to add extra commands without having to modify +% \app{bib2gls}). +% \begin{macrocode} + \ifdef\@glsxtr@mglslikelist + {\xappto\@glsxtr@mglslikelist{,#1}}% + {% + \gdef\@glsxtr@mglslikelist{#1}% + \AtEndDocument{\immediate\protected@write\@auxout{}% + {\string\@glsxtr@mglslike{\@glsxtr@mglslikelist}}}% + }% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@mglslike} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@mglslike}[1]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GlsXtrMglsOrGls} +%\begin{definition} +%\cs{GlsXtrMglsOrGls}\marg{mgls cs}\marg{gls cs}\meta{modifier}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\GlsXtrMglsOrGls}[2]{% + \def\@glsxtr@mgls@or@gls@mcs{#1}% + \def\@glsxtr@mgls@or@gls@gcs{#2}% + \@ifstar{\s@GlsXtrMglsOrGls}% + {% + \@ifnextchar+{\PLUS\@firstoftwo{\p@GlsXtrMglsOrGls}}% + {% + \ifdefempty\@gls@alt@hyp@opt@char\@GlsXtrMglsOrGls\alt@GlsXtrMglsOrGls + }% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\alt@GlsXtrMglsOrGls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\alt@GlsXtrMglsOrGls}{ + \expandafter\@ifnextchar\@gls@alt@hyp@opt@char + {\@firstoftwo{\@alt@GlsXtrMglsOrGls}}{\@GlsXtrMglsOrGls}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@GlsXtrMglsOrGls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\@glsxtr@mgls@or@gls@mcs[#1]{#2}}% + {\@glsxtr@mgls@or@gls@gcs[#1]{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\s@GlsXtrMglsOrGls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\s@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\@glsxtr@mgls@or@gls@mcs*[#1]{#2}}% + {\@glsxtr@mgls@or@gls@gcs*[#1]{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\p@GlsXtrMglsOrGls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\p@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\@glsxtr@mgls@or@gls@mcs+[#1]{#2}}% + {\@glsxtr@mgls@or@gls@gcs+[#1]{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@alt@GlsXtrMglsOrGls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@alt@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\expandafter\@glsxtr@mgls@or@gls@mcs\@gls@alt@hyp@opt@char[#1]{#2}}% + {\expandafter\@glsxtr@mgls@or@gls@gcs\@gls@alt@hyp@opt@char[#1]{#2}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mgls} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mgls}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{gls} for all elements. +% \begin{macrocode} +\glsxtr@newmgls{mgls}{\@gls@}{\@gls@}{\@gls@}{\@gls@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglspl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglspl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{glspl} for all elements. +% \begin{macrocode} +\glsxtr@newmgls{mglspl}{\@glspl@}{\@glspl@}{\@glspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Only use \cs{glspl} for the main element, otherwise use \cs{gls}. +% \begin{macrocode} +\glsxtr@newmgls{mglsmainpl}{\@gls@}{\@gls@}{\@glspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mgls} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mgls}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{Gls} for first element and \cs{gls} for others. +% \begin{macrocode} +\glsxtr@newmgls{Mgls}{\@Gls@}{\@gls@}{\@Gls@}{\@gls@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglspl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglspl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{Glspl} for first element and \cs{glspl} for others. +% \begin{macrocode} +\glsxtr@newmgls{Mglspl}{\@Glspl@}{\@glspl@}{\@Glspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglsmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglsmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Upper case the first element, no case change for others. +%Use plural for the main element only. +% \begin{macrocode} +\glsxtr@newmgls{Mglsmainpl}{\@Gls@}{\@gls@}{\@Glspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGls} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGls}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{Gls} for all elements. +% \begin{macrocode} +\glsxtr@newmgls{MGls}{\@Gls@}{\@Gls@}{\@Gls@}{\@Gls@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGlspl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGlspl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{Glspl} for all elements. +% \begin{macrocode} +\glsxtr@newmgls{MGlspl}{\@Glspl@}{\@Glspl@}{\@Glspl@}{\@Glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGlsmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGlsmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Start all elements with upper case. Only use plural for main +%element. +% \begin{macrocode} +\glsxtr@newmgls{MGlsmainpl}{\@Gls@}{\@Gls@}{\@Glspl@}{\@Glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGLS} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGLS}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{GLS} for all elements. +% \begin{macrocode} +\glsxtr@newmgls{MGLS}{\@GLS@}{\@GLS@}{\@GLS@}{\@GLS@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGLSpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGLSpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{GLSpl} for all elements. +% \begin{macrocode} +\glsxtr@newmgls{MGLSpl}{\@GLSpl@}{\@GLSpl@}{\@GLSpl@}{\@GLSpl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGLSmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGLSmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Upper case all elements. Only use plural for main element. +% \begin{macrocode} +\glsxtr@newmgls{MGLSmainpl}{\@GLS@}{\@GLS@}{\@GLSpl@}{\@GLSpl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glslongortext@} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@glslongortext#1#2[#3]{% + \ifglshaslong{#2}{\@glsxtrlong{#1}{#2}[#3]}{\@glstext@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsshortortext@} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@glsshortortext#1#2[#3]{% + \ifglshasshort{#2}{\@glsxtrshort{#1}{#2}[#3]}{\@glstext@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsfullorfirst@} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@glsfullorfirst#1#2[#3]{% + \ifglshasshort{#2}{\@glsxtr@full{#1}{#2}[#3]}{\@glsfirst@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Glslongortext@} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@Glslongortext#1#2[#3]{% + \ifglshaslong{#2}{\@Glsxtrlong{#1}{#2}[#3]}{\@Glstext@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Glsshortortext@} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@Glsshortortext#1#2[#3]{% + \ifglshasshort{#2}{\@Glsxtrshort{#1}{#2}[#3]}{\@Glstext@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Glsfullorfirst@} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@Glsfullorfirst#1#2[#3]{% + \ifglshasshort{#2}{\@Glsxtr@full{#1}{#2}[#3]}{\@Glsfirst@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsshort} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsshort}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use short or text for all elements. +% \begin{macrocode} +\glsxtr@newmgls{mglsshort}% +{\@glsshortortext}{\@glsshortortext}{\@glsshortortext}{\@glsshortortext}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglslong} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglslong}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use long or text for all elements. +% \begin{macrocode} +\glsxtr@newmgls{mglslong}% +{\@glslongortext}{\@glslongortext}{\@glslongortext}{\@glslongortext}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsfull} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsfull}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use full or first for all elements. +% \begin{macrocode} +\glsxtr@newmgls{mglsfull}% +{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglsshort} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglsshort}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use short or text for all elements with initial cap on first element. +% \begin{macrocode} +\glsxtr@newmgls{Mglsshort}% +{\@Glsshortortext}{\@glsshortortext}{\@Glsshortortext}{\@glsshortortext}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglslong} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglslong}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use long or text for all elements with initial cap on first +% element. +% \begin{macrocode} +\glsxtr@newmgls{Mglslong}% +{\@Glslongortext}{\@glslongortext}{\@Glslongortext}{\@glslongortext}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglsfull} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglsfull}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use full or first for all elements with initial cap on first +% element. +% \begin{macrocode} +\glsxtr@newmgls{Mglsfull}% +{\@Glsfullorfirst}{\@glsfullorfirst}{\@Glsfullorfirst}{\@glsfullorfirst}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsname} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsname}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use name for all elements. +% \begin{macrocode} +\glsxtr@newmgls{mglsname}% + {\@glsname@}{\@glsname@}{\@glsname@}{\@glsname@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglsname} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglsname}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use name for all elements with initial cap on first +% element. +% \begin{macrocode} +\glsxtr@newmgls{Mglsname}% + {\@Glsname@}{\@glsname@}{\@Glsname@}{\@glsname@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGlsname} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGlsname}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use name for all elements with initial cap on all +% elements. +% \begin{macrocode} +\glsxtr@newmgls{MGlsname}% + {\@Glsname@}{\@Glsname@}{\@Glsname@}{\@Glsname@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glssymbolorgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@glssymbolorgls#1#2[#3]{% + \ifglshassymbol{#2}{\@glssymbol@{#1}{#2}[#3]}{\@gls@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glssymbolorGls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@glssymbolorGls#1#2[#3]{% + \ifglshassymbol{#2}{\@glssymbol@{#1}{#2}[#3]}{\@Gls@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglssymbol} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglssymbol}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{glssymbol} if the \gloskey{symbol} key is set otherwise +% use \cs{gls}. +% \begin{macrocode} +\glsxtr@newmgls{mglssymbol}% + {\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglssymbol} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglssymbol}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% As above but initial the first element if it's not a symbol. +% \begin{macrocode} +\glsxtr@newmgls{Mglssymbol}% + {\@glssymbolorGls}{\@glssymbolorgls}{\@glssymbolorGls}{\@glssymbolorgls}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGlssymbol} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGlssymbol}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% As above but initial each element if it's not a symbol. +% \begin{macrocode} +\glsxtr@newmgls{MGlssymbol}% + {\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsfield} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand{\mglsfield}{useri} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsfieldorgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@glsfieldorgls#1#2[#3]{% + \glsxtrifhasfield{\mglsfield}{#2}% + {\@glsdisp[#1]{#2}{\glscurrentfieldvalue#3}}% + {\@gls@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Glsfieldorgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@Glsfieldorgls#1#2[#3]{% + \glsxtrifhasfield{\mglsfield}{#2}% + {\@glsdisp[#1]{#2}{\xmakefirstuc\glscurrentfieldvalue#3}}% + {\@Gls@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mglsusefield} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mglsusefield}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use the field given by \cs{\mglsfield}. +% \begin{macrocode} +\glsxtr@newmgls{mglsusefield}% + {\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mglsusefield} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mglsusefield}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% As above but use initial cap for first element only. +% \begin{macrocode} +\glsxtr@newmgls{Mglsusefield}% + {\@Glsfieldorgls}{\@glsfieldorgls}{\@Glsfieldorgls}{\@glsfieldorgls}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MGlsusefield} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MGlsusefield}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% As above but use initial cap for all elements. +% \begin{macrocode} +\glsxtr@newmgls{MGlsusefield}% + {\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}% +% \end{macrocode} +%\end{macro} +% +% Use commands provided by \sty{glossaries-prefix} if it has been +% loaded. +%\begin{macro}{\mpglsWarning} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\mpglsWarning}{% + \GlossariesExtraWarning{glossaries-prefix.sty is required for + \string\mpgls\space family of commands (either load after + glossaries-extra.sty or use the `prefix' package option)}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@pglsorgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@pglsorgls#1#2[#3]{% + \ifdef\@pgls@{\@pgls@{#1}{#2}[#3]}{\mpglsWarning\@gls@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@pglsorglspl} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@pglsorglspl#1#2[#3]{% + \ifdef\@pglspl@{\@pglspl@{#1}{#2}[#3]}{\mpglsWarning\@glspl@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Pglsorgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@Pglsorgls#1#2[#3]{% + \ifdef\@Pgls@{\@Pgls@{#1}{#2}[#3]}{\mpglsWarning\@Gls@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@pglsorglspl} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@pglsorglspl#1#2[#3]{% + \ifdef\@pglspl@{\@pglspl@{#1}{#2}[#3]}{\mpglsWarning\@glspl@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Pglsorglspl} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@Pglsorglspl#1#2[#3]{% + \ifdef\@Pglspl@{\@Pglspl@{#1}{#2}[#3]}{\mpglsWarning\@Glspl@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@PGLSorgls} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@PGLSorgls#1#2[#3]{% + \ifdef\@PGLS@{\@PGLS@{#1}{#2}[#3]}{\mpglsWarning\@GLS@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@PGLSorglspl} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\def\@PGLSorglspl#1#2[#3]{% + \ifdef\@PGLSpl@{\@PGLSpl@{#1}{#2}[#3]}{\mpglsWarning\@GLSpl@{#1}{#2}[#3]}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mpgls} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mpgls}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{pgls} for the first element and \cs{gls} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{mpgls}{\@pglsorgls@}{\@gls@}{\@pglsorgls@}{\@gls@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mpglspl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mpglspl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{pglspl} for the first element and \cs{glspl} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{mpglspl}{\@pglsorglspl@}{\@glspl@}{\@pglsorglspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\mpglsmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{mpglsmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Only use plural for main element and only use prefixing command for +%first element. +% \begin{macrocode} +\glsxtr@newmgls{mpglsmainpl}{\@pglsorgls@}{\@gls@}{\@pglsorglspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mpgls} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mpgls}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{Pgls} for the first element and \cs{gls} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{Mpgls}{\@Pglsorgls@}{\@gls@}{\@Pglsorgls@}{\@gls@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mpglspl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mpglspl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{Pglspl} for the first element and \cs{glspl} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{Mpglspl}{\@Pglsorglspl@}{\@glspl@}{\@Pglsorglspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Mpglsmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{Mpglsmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Only use plural for main element and only use first letter +%uppercase prefixing command for first element. +% \begin{macrocode} +\glsxtr@newmgls{Mpglsmainpl}{\@Pglsorgls@}{\@gls@}{\@Pglsorglspl@}{\@glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MPGls} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MPGls}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Use \cs{Pgls} for the first element and \cs{Gls} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{MPGls}{\@Pglsorgls@}{\@Gls@}{\@Pglsorgls@}{\@Gls@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MPGlspl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MPGlspl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{Pglspl} for the first element and \cs{Glspl} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{MPGlspl}{\@Pglsorglspl@}{\@Glspl@}{\@Pglsorglspl@}{\@Glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MPGlsmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MPGlsmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Only use plural for main element and first letter uppercase all +%elements. +% \begin{macrocode} +\glsxtr@newmgls{MPGlsmainpl}{\@Pglsorgls@}{\@Gls@}{\@Pglsorglspl@}{\@Glspl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MPGLS} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MPGLS}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{PGLS} for the first element and \cs{GLS} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{MPGLS}{\@PGLSorgls@}{\@GLS@}{\@PGLSorgls@}{\@GLS@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MPGLSpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MPGLSpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +% Use \cs{PGLSpl} for the first element and \cs{GLSpl} for the remainder. +% \begin{macrocode} +\glsxtr@newmgls{MPGLSpl}{\@PGLSorglspl@}{\@GLSpl@}{\@PGLSorglspl@}{\@GLSpl@}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\MPGLSmainpl} +%\changes{1.48}{2021-11-22}{new} +%\begin{definition} +%\cs{MPGLSmainpl}\oarg{options}\marg{label}\oarg{insert} +%\end{definition} +%Only use plural for main element and uppercase all elements. +% \begin{macrocode} +\glsxtr@newmgls{MPGLSmainpl}{\@PGLSorgls@}{\@GLS@}{\@PGLSorglspl@}{\@GLSpl@}% +% \end{macrocode} +%\end{macro} +% +%Not currently implementing any other variations. +% %\section{Multi-Lingual Support} % Add the facility to load language modules, if they are installed, % but none are provided with this package. @@ -26028,15 +30039,13 @@ defined}{}% % \end{macrocode} %\end{macro} % \begin{macrocode} -\@ifpackageloaded{tracklang} -{% +\@ifpackageloaded{tracklang} {% \AnyTrackedLanguages {% \ForEachTrackedDialect{\this@dialect}{\glsxtr@loaddialect}% }% {}% -} -{} +} {} % \end{macrocode} % Load \sty{glossaries-extra-stylemods} if required. % \begin{macrocode} @@ -26062,7 +30071,7 @@ defined}{}% %automatically loaded by the record option. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-bib2gls}[2021/11/04 v1.47 (NLCT)] +\ProvidesPackage{glossaries-extra-bib2gls}[2021/11/22 v1.48 (NLCT)] % \end{macrocode} %Provide convenient shortcut commands for predefined glossary types. %\begin{macro}{\printunsrtacronyms} @@ -26943,6 +30952,223 @@ defined}{}% % \end{macrocode} %\end{macro} % +%Multi (compound/combined) entry commands used by \app{bib2gls}. +%\begin{macro}{\glsxtrmultientryadjustedname} +%\begin{definition} +%\cs{glsxtrmultientryadjustedname}\marg{list1}\marg{name}\marg{list2}\marg{label} +%\end{definition} +%\changes{1.48}{2021-11-22}{new} +%This command is used by \app{bib2gls} when it adjusts the name +%field of an entry that's been identified as a main entry in the +%multi-entry set \meta{label}. +% +%The final argument \meta{label} is the multi-entry label from which +%the set was obtained. The first +%argument \meta{list1} is the list of other labels that come before +%the main label. The third argument \meta{list2} is the remaining +%list of other labels. The \meta{name} argument is the previous name before +%adjustment. +% \begin{macrocode} +\newrobustcmd*{\glsxtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\glsxtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\glsxtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Glsxtrmultientryadjustedname} +%\changes{1.48}{2021-11-22}{new} +%First letter upper case +% \begin{macrocode} +\newrobustcmd*{\Glsxtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\glsxtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\Glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\Glsxtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GlsXtrmultientryadjustedname} +%\changes{1.48}{2021-11-22}{new} +%Title case +% \begin{macrocode} +\newrobustcmd*{\GlsXtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\GlsXtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\GlsXtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\GlsXtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\GlsXtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GLSxtrmultientryadjustedname} +%\changes{1.48}{2021-11-22}{new} +%All caps. +% \begin{macrocode} +\newrobustcmd*{\GLSxtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\GLSxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\GLSxtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\GLSxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\GLSxtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtrmultientryadjustedname} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\@glsxtrmultientryadjustedname}[4]{% + \letcs\mglscurrentmainlabel{@gls@combined@#4@main}% + \letcs\mglscurrentmainlist{@gls@combined@#4@list}% + \letcs\mglscurrentmainoptions{@gls@combined@#4@options}% + \ifblank{#1}% + {% + \@glsxtrmultientryadjustednamefirstfmt{#2}% + }% + {% + \def\@mgls@previouslabel{}% + \let\@gls@xtradjustedother\@glsxtrmultientryadjustednamefirstother + \@for\mglscurrentlabel:=#1\do{% + \ifx\@mgls@previouslabel\empty + \else + \@glsxtrmultientryadjustednamesep{\@mgls@previouslabel}{\mglscurrentlabel}% + \fi + \@gls@xtradjustedother{\mglscurrentlabel}% + \let\@mgls@previouslabel\mglscurrentlabel + \let\@gls@xtradjustedother\@glsxtrmultientryadjustednameother + }% + \@glsxtrmultientryadjustednamepresep{\@mgls@previouslabel}{\mglscurrentmainlabel}% + \@glsxtrmultientryadjustednamefmt{#2}% + }% + \ifblank{#3}% + {}% + {% + \let\@mgls@previouslabel\mglscurrentmainlabel + \let\@gls@xtrmultientryadjustednamesep\@glsxtrmultientryadjustednamepostsep + \@for\mglscurrentlabel:=#3\do{% + \@gls@xtrmultientryadjustednamesep{\@mgls@previouslabel}{\mglscurrentlabel}% + \@glsxtrmultientryadjustednameother{\mglscurrentlabel}% + \let\@mgls@previouslabel\mglscurrentlabel + \let\@gls@xtrmultientryadjustednamesep\@glsxtrmultientryadjustednamesep + }% + }% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsxtrmultientryadjustednamesep} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrmultientryadjustednamesep}{\glscombinedfirstsepfirst} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultientryadjustednamepresep} +%\changes{1.48}{2021-11-22}{new} +% Separator before main name. +% \begin{macrocode} +\newcommand*{\glsxtrmultientryadjustednamepresep}{\glsxtrmultientryadjustednamesep} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultientryadjustednamepostsep} +%\changes{1.48}{2021-11-22}{new} +% Separator after main name. +% \begin{macrocode} +\newcommand*{\glsxtrmultientryadjustednamepostsep}{\glsxtrmultientryadjustednamesep} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultientryadjustednamefmt} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrmultientryadjustednamefmt}[1]{#1} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrmultientryadjustednameother} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\glsxtrmultientryadjustednameother}[1]{\glsentryname{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Glsxtrmultientryadjustednamefmt} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\Glsxtrmultientryadjustednamefmt}[1]{\makefirstuc{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\Glsxtrmultientryadjustednameother} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\Glsxtrmultientryadjustednameother}[1]{\Glsentryname{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GlsXtrmultientryadjustednameother} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\GlsXtrmultientryadjustednameother}[1]{% + \glsentrytitlecase{#1}{name}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GlsXtrmultientryadjustednamefmt} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\ifdef\glscapitalisewords +{% + \newcommand*{\GlsXtrmultientryadjustednamefmt}[1]{\glscapitalisewords{#1}} +} +{ + \newcommand*{\GlsXtrmultientryadjustednamefmt}[1]{\capitalisewords{#1}} +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GLSxtrmultientryadjustednameother} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\GLSxtrmultientryadjustednameother}[1]{% + \mfirstucMakeUppercase{\glsentryname{#1}}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GLSxtrmultientryadjustednamefmt} +%\changes{1.48}{2021-11-22}{new} +% \begin{macrocode} +\newcommand*{\GLSxtrmultientryadjustednamefmt}[1]{\mfirstucMakeUppercase{#1}} +% \end{macrocode} +%\end{macro} +% %Provide missing Greek letters for use in maths mode. %These commands are recognised by \app{bib2gls} and will be mapped to the %Mathematical Greek Italic letters. This ensures that the Greek @@ -29173,7 +33399,7 @@ defined}{}% % First identify package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2021/11/04 v1.47 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2021/11/22 v1.48 (NLCT)] % \end{macrocode} % Provide package options to automatically load required predefined % styles. The simplest method is to just test for the existence of @@ -29355,6 +33581,10 @@ defined}{}% \let\glossentryname\glslistexpandedname \let\glslistgroupheaderfmt\@firstofone \let\glsgetgrouptitle\@firstofone +% \end{macrocode} +%Technically this has an optional argument but it's not used in the +%list styles. +% \begin{macrocode} \let\glsnavhypertarget\@secondoftwo \let\glsnavigation\relax }% @@ -31602,7 +35832,7 @@ defined}{}% %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-bookindex}[2021/11/04 v1.47 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2021/11/22 v1.48 (NLCT)] % \end{macrocode} %Load required packages. % \begin{macrocode} @@ -32098,7 +36328,7 @@ defined}{}% %Provides additional long styles. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-longextra}[2021/11/04 v1.47 (NLCT)] +\ProvidesPackage{glossary-longextra}[2021/11/22 v1.48 (NLCT)] % \end{macrocode} %Load required packages. % \begin{macrocode} @@ -33527,7 +37757,7 @@ defined}{}% %topic. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-topic}[2021/11/04 v1.47 (NLCT)] +\ProvidesPackage{glossary-topic}[2021/11/22 v1.48 (NLCT)] % \end{macrocode} %Load required package. % \begin{macrocode} diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra.ins b/macros/latex/contrib/glossaries-extra/glossaries-extra.ins index 6d4c0b5af0..5e8b9d804d 100644 --- a/macros/latex/contrib/glossaries-extra/glossaries-extra.ins +++ b/macros/latex/contrib/glossaries-extra/glossaries-extra.ins @@ -1,4 +1,4 @@ -% glossaries-extra.ins generated using makedtx version 1.2 2021/11/4 19:26 +% glossaries-extra.ins generated using makedtx version 1.2 2021/11/22 21:22 \input docstrip \preamble diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf index 81926e9872..97fe60bfc7 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf index d974807f34..a697131366 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-abbrv.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf index 0bea7cb6bf..37c57580b7 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-accsupp.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf index 8ba7efd9ec..2cafcdcaee 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-acronym-desc.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf index e1d1a7be66..76ba3b9aca 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-acronym.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf index 60abb87795..ba4b5841c5 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-alias.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf index 572ebbf372..c9598650f1 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-altmodifier.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf index f40b2e8f10..deb3f958fb 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-alttree-marginpar.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf index e91785ef7d..ef8684f498 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-alttree-sym.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf index 43c5e09980..9f7d115c31 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-alttree.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf index 8380be24c4..19d8078f64 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-autoindex-hyp.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf index 7a25e03517..ed9ebfa5d2 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-autoindex.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf index e5fdd6f70a..98faf00379 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-crossref.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf index 8f061bc74a..0a1a5faa7b 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-crossref2.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf index 4e7fd4443c..8c71fa9125 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-docdef.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf index 4afa0fdc92..616a236a55 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-entrycount.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-external.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-external.pdf index 5a8bd6baed..2e5a8b61c7 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-external.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-external.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf index 020488d68e..4ab15d3039 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-fmt.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf index 7ab0baa2b9..d9401ea0eb 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-footnote.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-header.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-header.pdf index 7fa6f0f5dd..7a64e7f8fb 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-header.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-header.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf index 1bd6fa74d2..3476f3ffb9 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-indexhook.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf index 961163131f..30e91037ad 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-initialisms.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf index 57f0e8baa2..d504f07606 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-linkcount.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf index b51d270b69..36e35a0036 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-mixed-abbrv-styles.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf index 99fc9070f3..41496a03a1 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-mixedsort.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf index c296eeee6d..197725e6b7 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-mixture.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-multientry.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-multientry.pdf new file mode 100644 index 0000000000..e663cfb884 Binary files /dev/null and b/macros/latex/contrib/glossaries-extra/samples/sample-multientry.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-multientry.tex b/macros/latex/contrib/glossaries-extra/samples/sample-multientry.tex new file mode 100644 index 0000000000..b18e6bcfd2 --- /dev/null +++ b/macros/latex/contrib/glossaries-extra/samples/sample-multientry.tex @@ -0,0 +1,95 @@ +% arara: pdflatex +% arara: makeglossaries +% arara: pdflatex +\documentclass[12pt]{article} + +\usepackage[colorlinks]{hyperref} +\usepackage[style=tree]{glossaries-extra} + +\makeglossaries + +\newcommand{\latinname}[1]{\emph{#1}} +\glssetcategoriesattributes{genus,species}{textformat,glossnamefont}{latinname} + +\setabbreviationstyle[genus]{long-only-short-only-desc} +\newabbreviation[category=genus,description={}]{clostridium}{C.}{Clostridium} + +\newglossaryentry{botulinum}{name=botulinum,category=species, + description={},parent=clostridium} +\newglossaryentry{perfringens}{name=perfringens,category=species, + description={},parent=clostridium} +\newglossaryentry{tetani}{name=tetani,category=species, + description={},parent=clostridium} + +\multiglossaryentrysetup{indexothers=false,hyper=mainonly} + +\multiglossaryentry + [firstsuffix=botulism]% suffix on first use of multi-entry set + {cbot}{clostridium,botulinum} +\multiglossaryentry + [firstsuffix={gas gangrene}] + {cperf}{clostridium,perfringens} +\multiglossaryentry + [% default options for this multi-entry set + firstsuffix=tetanus,% suffix on first use of multi-entry set + textformat=textbf% default formatting in \mgls-like commands + ] + {ctet}{clostridium,tetani} + +% custom separator that checks the pre-separator element's category +\renewcommand*{\glscombinedsep}[2]{% + \glsifcategory{#1}{genus}% + {\ifglshasshort{#1}{\ifglshasshort{#2}{\space}{~}}{\space}}% + {\space}% +} + +\begin{document} +\section{Regular Use} +First use: \mgls{cbot}. + +Next use: \mgls{cbot}. + +First use: \mgls{ctet}. + +\section{Unset/Reset} + +Unset all elements (not multi-entry) initially: \mgls[unsetall]{cperf}. + +Reset all elements (not multi-entry) initially: \mgls[resetall]{cperf}. + +Next use: \mgls{cperf}. + +Reset multi-entry (not individual elements): \mglsreset{cperf}\mgls{cperf}. + +\section{Formatting} +Change default text format to \texttt{underline}. + +\subsection{One hyperlink over all} + +Reset multi-entry and override entire textformat: +\mglsreset{ctet}\mgls[setup={hyper=allmain,textformat=underline}]{ctet}. + +Override entire textformat: \mgls[setup={hyper=allmain,textformat=underline}]{ctet}. + +Override main textformat: \mgls[setup={hyper=allmain},main={textformat=underline}]{ctet}. + +Override other textformat: \mgls[setup={hyper=allmain},others={textformat=underline}]{ctet}. + +\subsection{Individual hyperlinks} + +Override entire textformat: \mgls[setup={hyper=individual,textformat=underline}]{ctet}. + +Override main textformat: \mgls[setup={hyper=individual},main={textformat=underline}]{ctet}. + +Override other textformat: \mgls[setup={hyper=individual},others={textformat=underline}]{ctet}. + +\subsection{Only hyperlink main} + +Override entire textformat: \mgls[setup={hyper=mainonly,textformat=underline}]{ctet}. + +Override main textformat: \mgls[setup={hyper=mainonly},main={textformat=underline}]{ctet}. + +Override other textformat: \mgls[setup={hyper=mainonly},others={textformat=underline}]{ctet}. + +\printglossaries +\end{document} diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf index 2cfdb26476..d5f57c11b4 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-name-font.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf index 008790ca74..441421bf25 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-nested.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf index d536da609d..a05a97144d 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-noidx-restricteddocdefs.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf index e9dacdcae7..a8aa2a5618 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-onelink.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf index bcad3ac548..b68e416e5d 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-utf8.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf index bacf60aa65..738c18e589 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-onthefly-xetex.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf index 6f2012eb5f..cca87ab41e 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-onthefly.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf index fb9e7da3b8..bfae252c41 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-pages.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf index bd64f3dd0c..aa66c978da 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-postdot.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf index 891831b69c..57d24e36f7 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-postlink.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf index 948f4d3170..b5be861062 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-prefix.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf index 6f02c039a1..3ffa713436 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-record-nameref.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-record.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-record.pdf index cf8dcac8c4..8c3dc27480 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-record.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-record.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf index c1a601708c..86e48ef5ac 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-restricteddocdefs.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf index 9de78b4add..afd19dd073 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-suppl-hyp.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf index 3f801123a7..077434a94a 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main-hyp.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf index a02d5967a7..df11469495 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-suppl-main.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf index 12a902f0c3..f33fc059dc 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-suppl.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf index 242663d3f3..0b58c5a146 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-trans.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf index 2ba946c08b..78f3a357b8 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-undef.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf b/macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf index 278ac37b4a..e75a0fc4a7 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample-unitentrycount.pdf differ diff --git a/macros/latex/contrib/glossaries-extra/samples/sample.pdf b/macros/latex/contrib/glossaries-extra/samples/sample.pdf index 176eecb494..80d03daa53 100644 Binary files a/macros/latex/contrib/glossaries-extra/samples/sample.pdf and b/macros/latex/contrib/glossaries-extra/samples/sample.pdf differ diff --git a/macros/latex/contrib/nicematrix/README.md b/macros/latex/contrib/nicematrix/README.md index d55ad61352..5822e17e0e 100644 --- a/macros/latex/contrib/nicematrix/README.md +++ b/macros/latex/contrib/nicematrix/README.md @@ -20,7 +20,7 @@ The package `nicematrix` is present in the distributions MiKTeX, TeXLive and Mac For a manual installation: * put the files `nicematrix.ins` and `nicematrix.dtx` in the same directory; -* run `latex nicematrix.ins`. +* run `latex nicematrix.ins` in that directory. The file `nicematrix.sty` will be generated. diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf index e95df7bfc3..ff9d46251c 100644 Binary files a/macros/latex/contrib/nicematrix/nicematrix-french.pdf and b/macros/latex/contrib/nicematrix/nicematrix-french.pdf differ diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex index 86c4f74da8..3690d37880 100644 --- a/macros/latex/contrib/nicematrix/nicematrix-french.tex +++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex @@ -10,7 +10,7 @@ \usepackage{nicematrix} \usepackage{tikz} -\usetikzlibrary{fit,patterns} +\usetikzlibrary{fit,patterns,arrows.meta} \usepackage{enumitem} \usepackage{siunitx} @@ -543,7 +543,8 @@ options la valeur de cette clé |tikz| (qui doit donc être une liste de clés T applicables à un chemin de Tikz). Pour des exemple d'utilisation de cette clé |tikz|, voir p.~\pageref{tikz-key-examples} ; \item \colorbox{yellow!50}{\textbf{Nouveau 6.3}}\enskip la clé |name| donne un -nom au nœud Tikz rectangulaire correspondant au bloc. +nom au nœud Tikz rectangulaire correspondant au bloc ; on peut utiliser ce nom +avec Tikz dans le |\CodeAfter| (cf p.~\pageref{code-after}). \end{itemize} @@ -590,9 +591,9 @@ Les blocs mono-colonne ont un comportement spécial. \item La largeur naturelle du contenu de ces blocs est prise en compte pour la largeur de la colonne courante. -\colorbox{yellow!50}{\textbf{Nouveau 6.0}}\enskip Dans les colonnes à largeur -fixée (colonnes |w{...}{...}|, |p{...}|, |b{...}|, |m{...}| et |X|), le contenu -du bloc est mis en forme comme un paragraphe de cette largeur. +Dans les colonnes à largeur fixée (colonnes |w{...}{...}|, |p{...}|, |b{...}|, +|m{...}| et |X|), le contenu du bloc est mis en forme comme un paragraphe de +cette largeur. \item La spécification d'alignement horizontal donnée par le type de colonne (|c|, |r| ou |l|) est prise en compte pour le bloc (mais le bloc peut @@ -1045,7 +1046,8 @@ Pour chacun de ces coins, on appellera \emph{coin vide} (ou tout simplement rectangle entièrement constitué de cases vides partant de ce coin.\footnote{Pour être complet, on doit préciser que toute case située dans un bloc (même si elle est vide) n'est pas prise en compte pour la détermination des coins. Ce - comportement est naturel.} + comportement est naturel. La définition précise de ce qui est considéré comme + une «case vide» est donnée plus loin (cf. p.~\pageref{empty-cells}).} \smallskip On peut néanmoins imposer à une case sans contenu d'être considérée @@ -1602,12 +1604,11 @@ Henri & 14 \\ \medskip -\item \colorbox{yellow!50}{\textbf{Nouveau 6.0}}\enskip L'extension -\pkg{nicematrix} propose aussi une commande |\rowlistcolors|. Cette commande -généralise la commande |\rowcolors|: au lieu de prendre deux arguments -successifs pour les couleurs, elle prend un seul argument qui est une liste de -couleurs séparées par des virgules. Dans cette liste, le symbole |=| représente -une couleur identique à la précédente. +\item L'extension \pkg{nicematrix} propose aussi une commande |\rowlistcolors|. +Cette commande généralise la commande |\rowcolors|: au lieu de prendre deux +arguments successifs pour les couleurs, elle prend un seul argument qui est une +liste de couleurs séparées par des virgules. Dans cette liste, le symbole |=| +représente une couleur identique à la précédente. \smallskip \begin{BVerbatim}[boxwidth=10cm,baseline=c] @@ -1979,13 +1980,15 @@ $\begin{array}{c} \subsection{Les colonnes V de varwidth} +\label{varwidth} + \colorbox{yellow!50}{\textbf{Nouveau 6.3}} \smallskip Rappelons d'abord le fonctionnement d'un environnement |{varwidth}| de l'extension éponyme \pkg{varwidth}. Un tel environnement est similaire à l'environnement classique |{minipage}| mais la largeur indiquée (en argument) -n'est que la largeur \emph{maximale} de la boîte créée. Dans la cas général, la +n'est que la largeur \emph{maximale} de la boîte créée. Dans le cas général, la largeur d'une boîte |{varwidth}| est la largeur naturelle de son contenu. \smallskip @@ -2035,18 +2038,37 @@ réglages supplémentaires). Lorsque l'extension \pkg{varwidth} est chargée, ces colonnes |V| de \pkg{varwidth} sont prises en charge par \pkg{nicematrix}. Dans le cadre de \pkg{nicematrix}, l'un des intérêts des colonnes de type |V| par rapport aux -colonnes de type |p|, |m| ou |b| est que, pour les cellules d'une telle colonne, -le nœud PGF/Tikz créé pour le contenu d'une telle cellule a une largeur ajusté -au contenu de la cellule en question : cf. p.~\pageref{node-V}. +colonnes de type |p|, |m| ou |b| est que, pour les cases d'une telle colonne, +le nœud PGF/Tikz créé pour le contenu d'une telle case a une largeur ajusté +au contenu de la cellule en question : cf. p.~\pageref{node-V}. Si le contenu +est vide, la cellule sera considérée comme vide par \pkg{nicematrix} pour le +tracé des lignes pointillés et la détermination des «coins vides» (ce n'est pas +le cas avec une case d'une colonne |p|, |m| ou |b|). + +\medskip +\begin{Verbatim} +\begin{NiceTabular}[corners=NW,hvlines]{~emphase#V{3cm}V{3cm}V{3cm}@} +& un très très très très long texte & un très très très très long texte \\ +un très très très très long texte \\ +un très très très très long texte +\end{NiceTabular} +\end{Verbatim} + +\medskip +\begin{center} +\begin{NiceTabular}[corners=NW,hvlines]{V{3cm}V{3cm}V{3cm}} +& un très très très très long texte & un très très très très long texte \\ +un très très très très long texte \\ +un très très très très long texte +\end{NiceTabular} +\end{center} \subsection{Les colonnes X} -\label{colonne-X} -\colorbox{yellow!50}{\textbf{Nouveau 6.0}} +\label{colonne-X} -\smallskip L'environnement |{NiceTabular}| propose aussi des colonnes |X| similaires à celles proposées par l'environnement |{tabularx}| de l'extension éponyme. @@ -2058,7 +2080,7 @@ Pour se rapprocher davantage de l'environnement |{tabularx}|, \pkg{nicematrix} propose aussi un environnement |{NiceTabularX}| qui prend en premier argument (obligatoire) la largeur voulue pour le tableau.\footnote{Si \pkg{tabularx} est chargé, on doit obligatoirement utiliser |{NiceTabularX}| pour utiliser les - colonnes |X| (ceci est dû à un problème de conflit de définition des + colonnes |X| (cela est dû à un problème de conflit de définition des spécificateurs de colonne |X|).} @@ -2069,7 +2091,7 @@ accepte entre crochets un argument optionnel qui est une liste de clés. entier positif comme argument du spécificateur |X|. Par exemple, une colonne |X[2]| aura une largeur double de celle d'une colonne |X| (qui a un poids de 1).\footnote{Les valeurs négatives pour les poids, comme proposées par - \pkg{tabu} (maintenant obsolète), ne sont pas prises en charge par + \pkg{tabu} (maintenant obsolète), ne sont \emph{pas} prises en charge par \pkg{nicematrix}. Si une telle valeur est utilisée, une erreur sera levée.} \item On peut spécifier l'alignement horizontal avec une des lettres |l|, |c| et |r| (qui insèrent respectivement |\raggedright|, |\centering| et |\raggedleft| @@ -2626,9 +2648,9 @@ $\begin{bNiceMatrix} \label{customization} Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, -|\Iddots| et |\Hdotsfor| (ainsi que par la commande |\line| dans le |\CodeAfter| -décrite p.~\pageref{line-in-code-after}) peuvent être paramétrées par trois -options (que l'on met entre crochets après la commande) : +|\Iddots|, |\Hdotsfor| et |\Vdotsfor| (ainsi que par la commande |\line| dans le +|\CodeAfter| décrite p.~\pageref{line-in-code-after}) peuvent être paramétrées +par trois options (que l'on met entre crochets après la commande) : % \begin{itemize} \item |color| ; @@ -2774,8 +2796,9 @@ PGF/Tikz créés par \pkg{nicematrix} dans le |\CodeAfter|. Ces nœuds sont déc à partir de la page \pageref{PGF-nodes}. \medskip -Par ailleurs, deux commandes spéciales sont disponibles dans le |\CodeAfter| : -|\line| et |\SubMatrix|. On va maintenant détailler ces deux commandes. +Par ailleurs, plusieurs commandes spéciales sont disponibles dans le |\CodeAfter| : +|\line|, |\SubMatrix|, |\OverBrace| et |\UnderBrace|. On va maintenant détailler +ces commandes. \subsection{La commande \textbackslash line dans le \textbackslash CodeAfter} @@ -3045,6 +3068,78 @@ a_{31} & a_{32} & a_{33} +\subsection{Les commandes \textbackslash OverBrace et le \textbackslash + UnderBrace dans le \textbackslash CodeAfter} + +\colorbox{yellow!50}{\textbf{Nouveau 6.4}} + +Les commandes |\OverBrace| and |\UnderBrace| permettent de placer des accolades +horizontales sur une partie du tableau. Ces commandes prennent trois arguments : +\begin{itemize} +\item le premier argument est le coin supérieur gauche du rectangle de cellules +impliquées dans l'accolade avec la syntaxe habituelle $i$|-|$j$ où $i$ est le +numéro de rangée et $hj$ le numéro de colonne ; + +\item le deuxième argument est le coin inférieur droit avec la même syntaxe ; + +\item le troisième argument est le «label» de l'accolade qui sera placé par +\pkg{nicematrix} (avec \textsc{pgf}) au-dessus de l'accolade (pour la commande +|\OverBrace|) ou au-dessous (pour |\UnderBrace|). +\end{itemize} + +\bigskip +\begin{BVerbatim}[baseline=c,boxwidth=9cm] +\begin{pNiceMatrix} +1 & 2 & 3 & 4 & 5 & 6 \\ +11 & 12 & 13 & 14 & 15 & 16 \\ +\CodeAfter + ~emphase#\OverBrace{1-1}{2-3}{A}@ + ~emphase#\OverBrace{1-4}{2-6}{B}@ +\end{pNiceMatrix} +\end{BVerbatim} +$\begin{pNiceMatrix} +1 & 2 & 3 & 4 & 5 & 6 \\ +11 & 12 & 13 & 14 & 15 & 16 \\ +\CodeAfter + \OverBrace{1-1}{2-3}{A} + \OverBrace{1-4}{2-6}{B} +\end{pNiceMatrix}$ + +\bigskip +Les commandes |\OverBrace| et |\UnderBrace| acceptent en fait un premier +argument optionnel (entre crochets) pour une liste de couples clé-valeur. Les +clés disponibles sont les suivantes : +\begin{itemize} +\item |left-shorten| et |right-shorten| qui ne prennent pas de valeur ; quand +|left-shorten| est utilisée, l'abscisse de l'extrémité de gauche de l'accolade +est calculée à partir du contenu du sous-tableau concerné alors que, sinon, +c'est la position du filet vertical éventuel qui est utilisée (de même pour +|right-shorten|) ; + +\item |shorten|, qui est la conjonction des clés |left-shorten| et |right-shorten| ; + +\item |yshift|, qui déplace verticalement l'accolade (et son label). +\end{itemize} + +\bigskip +\begin{BVerbatim}[baseline=c,boxwidth=9cm] +\begin{pNiceMatrix} +1 & 2 & 3 & 4 & 5 & 6 \\ +11 & 12 & 13 & 14 & 15 & 16 \\ +\CodeAfter + \OverBrace~emphase#[shorten,yshift=3pt]@{1-1}{2-3}{A} + \OverBrace~emphase#[shorten,yshift=3pt]@{1-4}{2-6}{B} +\end{pNiceMatrix} +\end{BVerbatim} +$\begin{pNiceMatrix} +1 & 2 & 3 & 4 & 5 & 6 \\ +11 & 12 & 13 & 14 & 15 & 16 \\ +\CodeAfter + \OverBrace[shorten,yshift=3pt]{1-1}{2-3}{A} + \OverBrace[shorten,yshift=3pt]{1-4}{2-6}{B} +\end{pNiceMatrix}$ + + \section{Les notes dans les tableaux} \label{s:notes} @@ -3843,23 +3938,24 @@ intéressant de préciser que, pour une cellule située dans une colonne de type |V|, le nœud PGF/Tikz créé par \pkg{nicematrix} pour le contenu de cette cellule a une largeur ajustée au contenu de cette cellule. Cela est en contraste avec le cas des colonnes de type |p|, |m| ou |b| dans lesquelles les nœuds ont toujours -une largeur égale à la largeur de la colonne. +une largeur égale à la largeur de la colonne. Dans l'exemple suivant, la +commande |\lipsum| est fournie par l'extension éponyme. \begin{Verbatim} -\begin{NiceTabular}{V{8cm}} +\begin{NiceTabular}{V{10cm}} \bfseries \large Titre \\ -\lipsum[1] +\lipsum[1][1-4] \CodeAfter \tikz \draw [rounded corners] (1-1) -| (last-|2) -- (last-|1) |- (1-1) ; \end{NiceTabular} \end{Verbatim} \begin{center} -\begin{NiceTabular}{V{8cm}} +\begin{NiceTabular}{V{10cm}} \bfseries \large Titre \\ -\lipsum[1] +\lipsum[1][1-4] \CodeAfter \tikz \draw [rounded corners] (1-1) -| (last-|2) -- (last-|1) |- (1-1) ; \end{NiceTabular} @@ -4463,10 +4559,11 @@ clé |draw-first| : |\Ddots[draw-first]|\rlap{.} \label{empty-cells} Une instruction comme |\Ldots|, |\Cdots|, etc. essaye de déterminer la première -case vide de part et d'autre de la case considérée. Néanmoins, une case «vide» -n'est pas nécessairement sans contenu dans le codage TeX (c'est-à-dire sans -aucun token entre les deux esperluettes~|&|). Les règles précises sont les -suivantes : +case vide de part et d'autre de la case considérée. Quand la clé |corners| +(cf.~p.~\pageref{corners}) est utilisée, les coins qui sont déterminés sont +composés de cases vides. Néanmoins, une case «vide» n'est pas nécessairement +sans contenu dans le codage TeX (c'est-à-dire sans aucun token entre les deux +esperluettes~|&|). Les règles précises sont les suivantes : \begin{itemize} \item Une case implicite est vide. Par exemple, dans la matrice suivante @@ -4496,8 +4593,11 @@ fixer la largeur des colonnes sans interférer avec le tracé des lignes en pointillés par \pkg{nicematrix}. \medskip -\item Une case d'une colonne de type |p|, |m| ou |t| est toujours non vide. -\emph{Attention} : Ne pas se fier à ce point car il est susceptible de changer. +\item Une case d'une colonne de type |p|, |m| ou |t| est toujours non vide +(\emph{attention} : ne pas se fier à ce point car il est susceptible de +changer). En revanche, une case d'une colonne de type |V| de \pkg{varwidth} (cf. +p.~\pageref{varwidth}) est vide quand son contenu TeX est de largeur nulle. + \end{itemize} @@ -4576,7 +4676,7 @@ La clé |tikz| de la commande |\Block| n'est disponible que lorsque Tikz est chargé.\footnote{Par défaut, \pkg{nicematrix} ne charge que \textsc{pgf}, qui est une sous-couche de Tikz.} -Pour l'exemple suivant, la bibliothèque \tikz{patterns} de Tikz doit aussi être chargée. +Pour l'exemple suivant, la bibliothèque \pkg{patterns} de Tikz doit aussi être chargée. \begin{Verbatim} \usetikzlibrary{patterns} @@ -4831,11 +4931,13 @@ pointillées. \interitem -On peut même tracer des lignes continues. +On peut même tracer des lignes continues.\footnote{Dans ce document, la + bibliothèque \pkg{arrows.meta} de Tikz a été chargée, ce qui a une incidence + sur la forme des pointes de flèches.} \begin{Verbatim} \NiceMatrixOptions - {nullify-dots,code-for-first-col = \color{blue},code-for-first-col=\color{blue}} + {nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}} $\begin{pNiceMatrix}[first-row,first-col] & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ colonnes}} \\ & 1 & 1 & 1 & \Ldots & 1 \\ diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx index 8da12f0a1c..5a6e2d1b85 100644 --- a/macros/latex/contrib/nicematrix/nicematrix.dtx +++ b/macros/latex/contrib/nicematrix/nicematrix.dtx @@ -15,8 +15,8 @@ % % \fi % \iffalse -\def\myfileversion{6.3} -\def\myfiledate{2021/10/18} +\def\myfileversion{6.4} +\def\myfiledate{2021/11/23} % % %<*batchfile> @@ -53,7 +53,7 @@ version 2005/12/01 or later. \geometry{left=2.8cm,right=2.8cm,top=2.5cm,bottom=2.5cm,papersize={21cm,29.7cm}} \usepackage{tikz} -\usetikzlibrary{fit,patterns} +\usetikzlibrary{fit,patterns,arrows.meta} \usepackage{nicematrix} \usepackage{siunitx} \usepackage{varwidth} @@ -585,7 +585,9 @@ version 2005/12/01 or later. % |tikz| (which must be a list of keys allowed for a Tikz path). For examples, % cf. p.~\pageref{tikz-key-examples}; % \item \colorbox{yellow!50}{\textbf{New 6.3}}\enskip the key |name| provides a -% name to the rectangular Tikz node corresponding to the block. +% name to the rectangular Tikz node corresponding to the block; it's possible to +% use that name with Tikz in the |\CodeAfter| of the environment +% (cf.~p.~\pageref{code-after}). % \end{itemize} % % \interitem @@ -629,9 +631,9 @@ version 2005/12/01 or later. % \item The natural width of the contents of these blocks is taken into account % for the width of the current column. % -% \colorbox{yellow!50}{\textbf{New 6.0}}\enskip In the columns with a fixed -% width (columns |w{...}{...}|, |p{...}|, |b{...}|, |m{...}| and |X|), the -% content of the block is formatted as a paragraph of that width. +% In the columns with a fixed width (columns |w{...}{...}|, |p{...}|, |b{...}|, +% |m{...}| and |X|), the content of the block is formatted as a paragraph of +% that width. % % \item The specification of the horizontal position provided by the type of % column (|c|, |r| or |l|) is taken into account for the blocks. @@ -1061,7 +1063,9 @@ version 2005/12/01 or later. % \emph{corner}) the reunion of all the empty rectangles starting from the cell % actually in the corner of the array.\footnote{For sake of completeness, we % should also say that a cell contained in a block (even an empty cell) is not -% taken into account for the determination of the corners. That behaviour is natural.} +% taken into account for the determination of the corners. That behaviour is +% natural. The precise definition of a ``non-empty cell'' is given below (cf. +% p.~\pageref{empty-cells}).} % % However, it's possible, for a cell without content, to require \pkg{nicemarix} % to consider that cell as not empty with the key |\NotEmpty|. @@ -1591,12 +1595,11 @@ version 2005/12/01 or later. % % % \bigskip -% \item \colorbox{yellow!50}{\textbf{New 6.0}}\enskip The extension -% \pkg{nicematrix} provides also a command |\rowlistcolors|. This command -% generalises the command |\rowcolors|: instead of two successive arguments for -% the colors, this command takes in an argument which is a (comma-separated) -% list of colors. In that list, the symbol |=| represent a color identical to -% the previous one. +% \item The extension \pkg{nicematrix} provides also a command |\rowlistcolors|. +% This command generalises the command |\rowcolors|: instead of two successive +% arguments for the colors, this command takes in an argument which is a +% (comma-separated) list of colors. In that list, the symbol |=| represent a +% color identical to the previous one. % \end{itemize} % % \smallskip @@ -1815,7 +1818,7 @@ version 2005/12/01 or later. % \hline % \RowStyle[cell-space-limits=3pt]{\rotate} % first & second & third & fourth \\ -% \RowStyle[nb-rows=2,color=white]{\sffamily} +% \RowStyle[nb-rows=2,rowcolor=blue!50,color=white]{\sffamily} % 1 & 2 & 3 & 4 \\ % I & II & III & IV \\ % \end{NiceTabular} @@ -1958,6 +1961,8 @@ version 2005/12/01 or later. % % \subsection{The columns V of varwidth} % +% \label{varwidth} +% % \colorbox{yellow!50}{\textbf{New 6.3}} % % \smallskip @@ -2016,15 +2021,35 @@ version 2005/12/01 or later. % are supported by \pkg{nicematrix}. Concerning \pkg{nicematrix}, one of the % interests of this type of columns is that, for a cell of a column of type~|V|, % the PGF/Tikz node created by \pkg{nicematrix} for the content of that cell has -% a width adjusted to the content of the cell : cf. p.~\pageref{node-V}. +% a width adjusted to the content of the cell : cf. p.~\pageref{node-V}. If the +% content of the cell is empty, the cell will be considered as empty by +% \pkg{nicematrix} in the construction of the dotted lines and the «empty +% corners» (that's not the case with a cell of a column |p|, |m| or |b|). +% +% \medskip +% \begin{Verbatim} +% \begin{NiceTabular}[corners=NW,hvlines]{~emphase#V{3cm}V{3cm}V{3cm}@} +% & some very very very long text & some very very very long text \\ +% some very very very long text \\ +% some very very very long text +% \end{NiceTabular} +% \end{Verbatim} +% +% \medskip +% \begin{center} +% \begin{NiceTabular}[corners=NW,hvlines]{V{3cm}V{3cm}V{3cm}} +% & some very very very long text & some very very very long text \\ +% some very very very long text \\ +% some very very very long text +% \end{NiceTabular} +% \end{center} +% % % % \subsection{The columns X} % % \label{X-columns} -% \colorbox{yellow!50}{\textbf{New 6.0}} % -% \smallskip % The environment |{NiceTabular}| provides |X| columns similar to those provided % by the environment |{tabularx}| of the eponymous package. % @@ -2044,9 +2069,9 @@ version 2005/12/01 or later. % \begin{itemize} % \item It's possible to give a weight for the column by providing a positive % integer directly as argument of the specifier |X|. For example, a column -% |X[2]| will have a width double of the width of a column |X| (which has a +% |X[2]| will have a width double of the width of a column~|X| (which has a % weight equal to $1$).\footnote{The negative values of the weight, as provided -% by \pkg{tabu} (which is now obsolete), are not supported by \pkg{nicematrix}. +% by \pkg{tabu} (which is now obsolete), are \emph{not} supported by \pkg{nicematrix}. % If such a value is used, an error will be raised.} % \item It's possible to specify an horizontal alignment with one of the % letters |l|, |c| and |r| (which insert respectively |\raggedright|, @@ -2592,10 +2617,10 @@ version 2005/12/01 or later. % \subsection{Customisation of the dotted lines} % % \label{customisation} -% The dotted lines drawn by |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots| -% and |\Hdotsfor| (and by the command |\line| in the |\CodeAfter| which is described -% p.~\pageref{line-in-code-after}) may be customized by three options (specified -% between square brackets after the command): +% The dotted lines drawn by |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|, +% |\Hdotsfor| and |\Vdotsfor| (and by the command |\line| in the |\CodeAfter| +% which is described p.~\pageref{line-in-code-after}) may be customized by three +% options (specified between square brackets after the command): % \begin{itemize} % \item |color|; % \item |shorten|; @@ -2738,8 +2763,8 @@ version 2005/12/01 or later. % beginning on p.~\pageref{PGF-nodes}. % % \medskip -% Moreover, two special commands are available in the |\CodeAfter|: |line| and -% |\SubMatrix|. We will now present these commands. +% Moreover, several special commands are available in the |\CodeAfter|: |line|, +% |\SubMatrix|, |\OverBrace| and |\UnderBrace|. We will now present these commands. % % \subsection{The command \textbackslash line in the \textbackslash CodeAfter} % @@ -3006,6 +3031,79 @@ version 2005/12/01 or later. % a_{31} & a_{32} & a_{33} % \end{pNiceArray}\] % +% +% \subsection{The commands \textbackslash OverBrace and \textbackslash +% UnderBrace in the \textbackslash CodeAfter} +% +% \colorbox{yellow!50}{\textbf{New 6.4}} +% +% The commands |\OverBrace| and |\UnderBrace| provide a way to put +% horizontal braces on a part of the array. These commands take in three +% arguments: +% \begin{itemize} +% \item the first argument is the upper-left corner of the submatrix with the +% syntax $i$|-|$j$ where $i$ the number of row and $j$ the number of column; +% \item the second argument is the lower-right corner with the same syntax; +% \item the third argument is the label of the brace that will be put by +% \pkg{nicematrix} (with \textsc{pgf}) above the brace (for the command +% |\OverBrace|) or under the brace (for |\UnderBrace|). +% \end{itemize} +% +% \bigskip +% \begin{BVerbatim}[baseline=c,boxwidth=9cm] +% \begin{pNiceMatrix} +% 1 & 2 & 3 & 4 & 5 & 6 \\ +% 11 & 12 & 13 & 14 & 15 & 16 \\ +% \CodeAfter +% ~emphase#\OverBrace{1-1}{2-3}{A}@ +% ~emphase#\OverBrace{1-4}{2-6}{B}@ +% \end{pNiceMatrix} +% \end{BVerbatim} +% $\begin{pNiceMatrix} +% 1 & 2 & 3 & 4 & 5 & 6 \\ +% 11 & 12 & 13 & 14 & 15 & 16 \\ +% \CodeAfter +% \OverBrace{1-1}{2-3}{A} +% \OverBrace{1-4}{2-6}{B} +% \end{pNiceMatrix}$ +% +% \bigskip +% In fact, the commands |\OverBrace| and |\UnderBrace| take in an optional +% argument (in first position and between square brackets) for a list of +% key-value pairs. The available keys are: +% \begin{itemize} +% \item |left-shorten| and |right-shorten| which do not take in value; when the +% key |left-shorten| is used, the abscissa of the left extremity of the brace is +% computed with the contents of the cells of the involved sub-array, otherwise, +% the position of the potential vertical rule is used (idem for +% |right-shorten|). +% +% \item |shorten|, which is the conjunction of the keys |left-shorten| and +% |right-shorten|; +% +% \item |yshift|, which shifts vertically the brace (and its label). +% \end{itemize} +% +% \bigskip +% \begin{BVerbatim}[baseline=c,boxwidth=9cm] +% \begin{pNiceMatrix} +% 1 & 2 & 3 & 4 & 5 & 6 \\ +% 11 & 12 & 13 & 14 & 15 & 16 \\ +% \CodeAfter +% \OverBrace~emphase#[shorten,yshift=3pt]@{1-1}{2-3}{A} +% \OverBrace~emphase#[shorten,yshift=3pt]@{1-4}{2-6}{B} +% \end{pNiceMatrix} +% \end{BVerbatim} +% $\begin{pNiceMatrix} +% 1 & 2 & 3 & 4 & 5 & 6 \\ +% 11 & 12 & 13 & 14 & 15 & 16 \\ +% \CodeAfter +% \OverBrace[shorten,yshift=3pt]{1-1}{2-3}{A} +% \OverBrace[shorten,yshift=3pt]{1-4}{2-6}{B} +% \end{pNiceMatrix}$ +% +% +% % \section{The notes in the tabulars} % % \label{s:notes} @@ -3778,7 +3876,7 @@ version 2005/12/01 or later. % indicated by $i$-|last|. Similarly, the nodes of the last row may be indicated % by |last|-$j$. % -% \subsubsection{Les colonnes V de varwidth} +% \subsubsection{The columns V of varwidth} % % \label{node-V} % When the extension \pkg{varwidth} is loaded, the columns of the type |V| @@ -3787,13 +3885,14 @@ version 2005/12/01 or later. % node created by \pkg{nicematrix} for the content of that cell has a width % adjusted to the content of the cell. This is in contrast to the case of the % columns of type |p|, |m| or |b| for which the nodes have always a width equal -% to the width of the column. +% to the width of the column. In the following example, the command |\lipsum| is +% provided by the eponymous package. % % \begin{Verbatim} -% \begin{NiceTabular}{V{8cm}} +% \begin{NiceTabular}{V{10cm}} % \bfseries \large % Titre \\ -% \lipsum[1] +% \lipsum[1][1-4] % \CodeAfter % \tikz \draw [rounded corners] (1-1) -| (last-|2) -- (last-|1) |- (1-1) ; % \end{NiceTabular} @@ -3801,10 +3900,10 @@ version 2005/12/01 or later. % % % \begin{center} -% \begin{NiceTabular}{V{8cm}} +% \begin{NiceTabular}{V{10cm}} % \bfseries \large % Titre \\ -% \lipsum[1] +% \lipsum[1][1-4] % \CodeAfter % \tikz \draw [rounded corners] (1-1) -| (last-|2) -- (last-|1) |- (1-1) ; % \end{NiceTabular} @@ -3814,7 +3913,7 @@ version 2005/12/01 or later. % which are described below (cf. p.~\pageref{nodes-i}). % % -% \subsection{The ``medium nodes'' and the ``large nodes''} +% \subsection[The medium nodes and the large nodes]{The ``medium nodes'' and the ``large nodes''} % % In fact, the package \pkg{nicematrix} can create ``extra nodes'': the ``medium % nodes'' and the ``large nodes''. The first ones @@ -4384,13 +4483,15 @@ version 2005/12/01 or later. % (and which will be used to draw the other diagonal dotted lines when the % parallelization is in force) with the key |draw-first|: |\Ddots[draw-first]|. % -% \subsection{The ``empty'' cells} +% \subsection[The empty cells]{The ``empty'' cells} % % \label{empty-cells} % An instruction like |\Ldots|, |\Cdots|, etc. tries to determine the first -% non-empty cell on both sides. However, an ``empty cell'' is not necessarily a -% cell with no TeX content (that is to say a cell with no token between the two -% ampersands~|&|). The precise rules are as follow. +% non-empty cell on both sides. When the key |corners| is used +% (cf.~p.~\pageref{corners}), \pkg{nicematrix} computes corners consisting of +% empty cells. However, an ``empty cell'' is not necessarily a cell with no TeX +% content (that is to say a cell with no token between the two ampersands~|&|). +% The precise rules are as follow. % % \begin{itemize} % \item An implicit cell is empty. For example, in the following matrix: @@ -4420,8 +4521,10 @@ version 2005/12/01 or later. % % \medskip % \item A cell of a column of type |p|, |m| or |t| is always considered as not -% emtpy. \emph{Caution} : One should not rely upon that point because it may -% change in a future version of \pkg{nicematrix}. +% empty. \emph{Caution} : One should not rely upon that point because it may +% change in a future version of \pkg{nicematrix}. On the other side, a cell of a +% column of type |V| of \pkg{varwidth} (cf.~p.~\pageref{varwidth}) is empty when +% its TeX content has a width equal to zero. % % \end{itemize} % % @@ -4491,7 +4594,8 @@ version 2005/12/01 or later. % % \section{Examples} % -% \subsection{Utilisation of the key ``tikz'' of the command \textbackslash Block} +% \subsection[{Utilisation of the key 'tikz' of the command \textbackslash +% Block}]{Utilisation of the key ``tikz'' of the command \textbackslash Block} %\label{tikz-key-examples} % % @@ -4752,11 +4856,12 @@ version 2005/12/01 or later. % % \interitem % In fact, it's even possible to draw solid lines with the commands |\Cdots|, -% |\Vdots|, etc. +% |\Vdots|, etc.\footnote{In this document, the Tikz library \pkg{arrows.meta} +% has been loaded, which impacts the shape of the arrow tips.} % % \begin{Verbatim} % \NiceMatrixOptions -% {nullify-dots,code-for-first-col = \color{blue},code-for-first-col=\color{blue}} +% {nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}} % $\begin{pNiceMatrix}[first-row,first-col] % & & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\ % & 1 & 1 & 1 & \Ldots & 1 \\ @@ -5140,17 +5245,7 @@ version 2005/12/01 or later. % % \bigskip % However, it's not possible to do a fine tuning. That's why we describe now a -% method to highlight a row of the matrix. We create a rectangular Tikz node -% which encompasses the nodes of the second row with the Tikz library \pkg{fit}. -% This Tikz node is filled after the construction of the matrix. In order to see -% the text \emph{under} this node, we have to use transparency with the -% |blend mode| equal to |multiply|. -% -% \medskip -% \textbf{Caution} : Some \textsc{pdf} readers are not able to show -% transparency.\footnote{In Overleaf, the ``built-in'' \textsc{pdf} viewer does -% not show transparency. You can switch to the ``native'' viewer in that case.} -% +% method to highlight a row of the matrix. % % \medskip % That example and the following ones require Tikz (by default, \pkg{nicematrix} @@ -5403,7 +5498,9 @@ version 2005/12/01 or later. % this package for technical reasons. % % \bigskip -% We load some packages. The package \pkg{xparse} is still loaded for use on Overleaf. +% We load some packages. The package \pkg{xparse} is still loaded for use on +% Overleaf. However, since oct. 2021, Overleaf uses TeXLive 2021 and we will be +% able to delete that row. % \begin{macrocode} \RequirePackage { xparse } \RequirePackage { array } @@ -5642,17 +5739,6 @@ version 2005/12/01 or later. } % \end{macrocode} % -% \bigskip -% We will use |\AtBeginEnvironment|. For version of LaTeX posterior to -% 2020-10-01, the command is available in the LaTeX kernel (\pkg{l3hooks}). For -% older versions, we load \pkg{etoolbox}. -% \begin{macrocode} -\cs_if_exist:NF \AtBeginEnvironment { \RequirePackage { etoolbox } } -% \end{macrocode} -% The command |\AtBeginDocument| will be used to patch |{tabular}| in order to -% come back to the original versions of |\multicolumn| in the |{tabular}| nested -% in the environments of \pkg{nicematrix}. -% % \bigskip % We have to redefine |\cline| for several reasons. The command |\@@_cline| will % be linked to |\cline| in the beginning of |{NiceArrayWithDelims}|. The @@ -5811,37 +5897,6 @@ version 2005/12/01 or later. } % \end{macrocode} % -% \medskip -% The following code is used to define |\c_@@_table_collect_begin_tl| and -% |\c_@@_table_print_tl| when the version of \pkg{siunitx} is prior to 3.0. The -% command |\@@_adapt_S_column| is used in the environment |{NiceArrayWithDelims}|. -% \begin{macrocode} -\AtBeginDocument - { - \cs_set_eq:NN \@@_adapt_S_column: \prg_do_nothing: - \bool_lazy_and:nnT - { \c_@@_siunitx_loaded_bool } - { ! \cs_if_exist_p:N \siunitx_cell_begin:w } - { - \cs_set_protected:Npn \@@_adapt_S_column: - { - \group_begin: - \@temptokena = { } - \cs_set_eq:NN \NC@find \prg_do_nothing: - \NC@rewrite@S { } - \tl_gset:NV \g_tmpa_tl \@temptokena - \group_end: - \tl_new:N \c_@@_table_collect_begin_tl - \tl_set:Nx \l_tmpa_tl { \tl_item:Nn \g_tmpa_tl 2 } - \tl_gset:Nx \c_@@_table_collect_begin_tl { \tl_item:Nn \l_tmpa_tl 1 } - \tl_new:N \c_@@_table_print_tl - \tl_gset:Nx \c_@@_table_print_tl { \tl_item:Nn \g_tmpa_tl { -1 } } - \cs_gset_eq:NN \@@_adapt_S_column: \prg_do_nothing: - } - } - } -% \end{macrocode} -% % % % \bigskip @@ -8144,10 +8199,10 @@ version 2005/12/01 or later. % exists as a standalone macro only for legibility. % \label{prearray} % -% \begin{macrocode} +% \begin{macrocode} \cs_new_protected:Npn \@@_pre_array_ii: { -% \end{macrocode} +% \end{macrocode} % For unexplained reason, with XeTeX (and not with the other engines), the % environments of \pkg{nicematrix} were all composed in black and do not take % into account the color of the encompassing text. As a workaround, you peek the @@ -8851,11 +8906,6 @@ version 2005/12/01 or later. \bool_gset_false:N \g_@@_row_of_col_done_bool \str_if_empty:NT \g_@@_name_env_str { \str_gset:Nn \g_@@_name_env_str { NiceArrayWithDelims } } -% \end{macrocode} -% The following line will be deleted when we will consider that only versions of -% \pkg{siunitx} after v3.0 are compatible with \pkg{nicematrix}. -% \begin{macrocode} - \@@_adapt_S_column: \bool_if:NTF \l_@@_NiceTabular_bool \mode_leave_vertical: \@@_test_if_math_mode: @@ -9135,9 +9185,10 @@ version 2005/12/01 or later. { % \end{macrocode} % We take into account the ``first row'' (we have previously computed its total -% height in |\l_tmpa_dim|). The |\hbox:n| (or |\hbox|) is necessary here. +% height in |\l_tmpa_dim|). The |\hbox:n| (or |\hbox|) is necessary here. There +% was a bug in the following line (corrected the 2021/11/23). % \begin{macrocode} - \skip_vertical:N -\l_tmpa_dim + \skip_vertical:n { -\l_tmpa_dim - \arrayrulewidth } \hbox { \bool_if:NTF \l_@@_NiceTabular_bool @@ -9150,9 +9201,10 @@ version 2005/12/01 or later. } % \end{macrocode} % We take into account the ``last row'' (we have previously computed its total -% height in |\l_tmpb_dim|). +% height in |\l_tmpb_dim|). There was a bug in the following line (corrected the +% 2021/11/23). % \begin{macrocode} - \skip_vertical:N -\l_tmpb_dim + \skip_vertical:n { -\l_tmpb_dim + \arrayrulewidth } } % \end{macrocode} % Curiously, we have to put again the following specification of color. @@ -9642,7 +9694,7 @@ version 2005/12/01 or later. { \use:x { - \@@_patch_preamble_iv_v:nnnnnnn + \@@_patch_preamble_iv_v:nnnnnnnn { \str_if_eq:VnTF \l_@@_vpos_col_str { p } { t } { b } } { \dim_eval:n { #1 } } { @@ -9669,6 +9721,14 @@ version 2005/12/01 or later. { \str_if_eq:VnT \l_@@_hpos_col_str { si } \siunitx_cell_begin:w } { \str_if_eq:VnT \l_@@_hpos_col_str { si } \siunitx_cell_end: } { #2 } + { + \str_case:VnF \l_@@_hpos_col_str + { + { j } { c } + { si } { c } + } + { \l_@@_hpos_col_str } + } } % \end{macrocode} % @@ -9680,12 +9740,12 @@ version 2005/12/01 or later. % \end{macrocode} % % \medskip -% |#1| is the optional argument of |{minipage}|: |t| of |b|. Indeed, for the -% columns of type |m|, we use the value |b| here because there is a special -% post-action in order to center vertically the box (see |#4|). +% |#1| is the optional argument of |{minipage}| (or |{varwidth}|): |t| of |b|. +% Indeed, for the columns of type |m|, we use the value |b| here because there +% is a special post-action in order to center vertically the box (see |#4|). % -% |#2| is the width of the |{minipage}|, that is to say also the width of the -% column. +% |#2| is the width of the |{minipage}| (or |{varwidth}|), that is to say also +% the width of the column. % % |#3| is the coding for the horizontal position of the content of the cell % (|\centering|, |\raggedright|, |\raggedleft| or nothing). It's also possible @@ -9695,13 +9755,16 @@ version 2005/12/01 or later. % |#4| is an extra-code which contains |\@@_center_cell_box:| (when the column % is a |m| column) or nothing (in the other cases). % -% |#5| is a code put just before the |c|. +% |#5| is a code put just before the |c| (or |r| or |l|: see |#8|). % -% |#6| is a code put just after the |c|. +% |#6| is a code put just after the |c| (or |r| or |l|: see |#8|). % % |#7| is the type of environment: |minipage| or |varwidth|. +% +% |#8| is the lettre |c| or |r| or |l| which is the basic specificier of column +% which is used \emph{in fine}. % \begin{macrocode} -\cs_new_protected:Npn \@@_patch_preamble_iv_v:nnnnnnn #1 #2 #3 #4 #5 #6 #7 +\cs_new_protected:Npn \@@_patch_preamble_iv_v:nnnnnnnn #1 #2 #3 #4 #5 #6 #7 #8 { \tl_gput_right:Nn \g_@@_preamble_tl { @@ -9734,7 +9797,7 @@ version 2005/12/01 or later. \arraybackslash #5 } - c + #8 < { #6 % \end{macrocode} @@ -9744,7 +9807,7 @@ version 2005/12/01 or later. % \bool_if:NT \g_@@_rotate_bool { \raggedright \hsize = 3 cm } \end { #7 } % \end{macrocode} -% If the letter in the preamble is |m|, |#3| will be equal to +% If the letter in the preamble is |m|, |#4| will be equal to % |\@@_center_cell_box:| (see just below). % \begin{macrocode} #4 @@ -9868,48 +9931,33 @@ version 2005/12/01 or later. { \@@_patch_preamble_vii_ii:n { #1 } } % \end{macrocode} % -% For version of \pkg{siunitx} at least equal to 3.0, the adaptation is different -% from previous ones. We test the version of \pkg{siunitx} by the existence of the -% control sequence |\siunitx_cell_begin:w|. When we will decide that only the -% previous posterior to 3.0 are supported by \pkg{nicematrix}, we will delete -% the second definition of |\@@_patch_preamble_vi_ii:n|. % \begin{macrocode} -\AtBeginDocument - { +\cs_new_protected:Npn \@@_patch_preamble_vii_ii:n #1 + { +% \end{macrocode} +% We test whether the version of \pkg{nicematrix} is at least 3.0. We will +% change de programmation of the test further with something like |\VersionAtLeast|. +% +% \begin{macrocode} \cs_if_exist:NTF \siunitx_cell_begin:w - { - \cs_new_protected:Npn \@@_patch_preamble_vii_ii:n #1 - { - \tl_gput_right:Nn \g_@@_preamble_tl - { - > { - \@@_cell_begin:w - \keys_set:nn { siunitx } { #1 } - \siunitx_cell_begin:w - } - c - < { \siunitx_cell_end: \@@_cell_end: } + { + \tl_gput_right:Nn \g_@@_preamble_tl + { + > { + \@@_cell_begin:w + \keys_set:nn { siunitx } { #1 } + \siunitx_cell_begin:w } + c + < { \siunitx_cell_end: \@@_cell_end: } + } % \end{macrocode} % We increment the counter of columns and then we test for the presence of a |<|. % \begin{macrocode} - \int_gincr:N \c@jCol - \@@_patch_preamble_xi:n - } + \int_gincr:N \c@jCol + \@@_patch_preamble_xi:n } - { - \cs_new_protected:Npn \@@_patch_preamble_vii_ii:n #1 - { - \tl_gput_right:Nn \g_@@_preamble_tl - { - > { \@@_cell_begin:w \c_@@_table_collect_begin_tl S { #1 } } - c - < { \c_@@_table_print_tl \@@_cell_end: } - } - \int_gincr:N \c@jCol - \@@_patch_preamble_xi:n - } - } + { \@@_fatal:n { Version~of~siunitx~too~old } } } % \end{macrocode} % @@ -10710,11 +10758,7 @@ version 2005/12/01 or later. \vcenter { \vbox_to_ht:nn -% \end{macrocode} -% Here, you should use |\box_ht_plus_dp:N| when TeXLive 2021 will be available -% on Overleaf. -% \begin{macrocode} - { \box_ht:N \l_tmpa_box + \box_dp:N \l_tmpa_box } + { \box_ht_plus_dp:N \l_tmpa_box } { } } \right . @@ -10727,11 +10771,7 @@ version 2005/12/01 or later. \c_math_toggle_token \left . \vbox_to_ht:nn -% \end{macrocode} -% Here, you should use |\box_ht_plus_dp:N| when TeXLive 2021 will be available -% on Overleaf. -% \begin{macrocode} - { \box_ht:N \l_tmpa_box + \box_dp:N \l_tmpa_box } + { \box_ht_plus_dp:N \l_tmpa_box } { } \right #2 \c_math_toggle_token @@ -11644,10 +11684,6 @@ version 2005/12/01 or later. \tl_if_empty:NF \l_@@_vlines_clist \@@_draw_vlines: % \end{macrocode} % -% \begin{macrocode} - \cs_set_eq:NN \SubMatrix \@@_SubMatrix -% \end{macrocode} -% % \bigskip % Now, the internal |code-after| and then, the |\CodeAfter|. % \begin{macrocode} @@ -11663,6 +11699,10 @@ version 2005/12/01 or later. } } } + \cs_set_eq:NN \ialign \@@_old_ialign: + \cs_set_eq:NN \SubMatrix \@@_SubMatrix + \cs_set_eq:NN \UnderBrace \@@_UnderBrace + \cs_set_eq:NN \OverBrace \@@_OverBrace \cs_set_eq:NN \line \@@_line \g_@@_internal_code_after_tl \tl_gclear:N \g_@@_internal_code_after_tl @@ -11680,19 +11720,14 @@ version 2005/12/01 or later. % \begin{macrocode} \seq_gclear:N \g_@@_submatrix_names_seq % \end{macrocode} +% % \medskip -% We compose the |code-after| in math mode in order to nullify the spaces put -% by the user between instructions in the |code-after|. -% \begin{macrocode} - % \bool_if:NT \l_@@_NiceTabular_bool \c_math_toggle_token -% \end{macrocode} % And here's the |\CodeAfter|. Since the |\CodeAfter| may begin with an % ``argument'' between square brackets of the options, we extract and treat that % potential ``argument'' with the command |\@@_CodeAfter_keys:|. % \begin{macrocode} \exp_last_unbraced:NV \@@_CodeAfter_keys: \g_nicematrix_code_after_tl \scan_stop: - % \bool_if:NT \l_@@_NiceTabular_bool \c_math_toggle_token \tl_gclear:N \g_nicematrix_code_after_tl \group_end: % \end{macrocode} @@ -12803,7 +12838,14 @@ version 2005/12/01 or later. { \pgfrememberpicturepositiononpagetrue \pgf@relevantforpicturesizefalse - \tl_if_eq:NNTF \l_@@_xdots_line_style_tl \c_@@_standard_tl + \bool_lazy_or:nnTF + { \tl_if_eq_p:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl } +% \end{macrocode} +% The boolean |\l_@@_dotted_bool| is raised for the rules specified by either +% |\hdottedline| or |:| (or the letter specified by |letter-for-dotted-lines|) +% in the preamble of the array. +% \begin{macrocode} + \l_@@_dotted_bool \@@_draw_standard_dotted_line: \@@_draw_unstandard_dotted_line: } @@ -14604,7 +14646,7 @@ version 2005/12/01 or later. % \subsection*{The horizontal rules} % % \bigskip -% The following command will be executed in the |internal-code-after|. The rule +% The following command will be executed in the internal |\CodeAfter|. The rule % will be drawn \emph{before} the row |#1|. |#2| is the number of consecutive % occurrences of |\Hline|. |#3| and |#4| are numbers of columns that define the % delimitation of the horizontal rule that we have to draw. If |#4| is empty, @@ -14620,7 +14662,7 @@ version 2005/12/01 or later. % % \begin{macrocode} \cs_new_protected:Npn \@@_hline_i:nnnn #1 #2 #3 #4 - { + { % \end{macrocode} % |\l_tmpa_tl| is the number of row and |\l_tmpb_tl| the number of column. When % we have found a column corresponding to a rule to draw, we note its number in @@ -15190,9 +15232,9 @@ version 2005/12/01 or later. \cs_new_protected:Npn \@@_hdottedline_i: { % \end{macrocode} -% We write in the code-after the instruction that will actually draw the -% dotted line. It's not possible to draw this dotted line now because we don't -% know the length of the line (we don't even know the number of columns). +% We write in the internal |\CodeAfter| the instruction that will actually draw +% the dotted line. It's not possible to draw this dotted line now because we +% don't know the length of the line (we don't even know the number of columns). % \begin{macrocode} \tl_gput_right:Nx \g_@@_internal_code_after_tl { \@@_hdottedline:n { \int_use:N \c@iRow } } @@ -15201,9 +15243,9 @@ version 2005/12/01 or later. % % % \medskip -% The command |\@@_hdottedline:n| is the command written in the |\CodeAfter| -% that will actually draw the dotted line. Its argument is the number of the row -% \emph{before} which we will draw the row. +% The command |\@@_hdottedline:n| is the command written in the internal +% |\CodeAfter| that will actually draw the dotted line. Its argument is the +% number of the row \emph{before} which we will draw the row. % \begin{macrocode} \cs_new_protected:Npn \@@_hdottedline:n #1 { @@ -17338,32 +17380,47 @@ version 2005/12/01 or later. } } % \end{macrocode} +% +% \medskip +% The following macro will compute |\l_@@_first_i_tl|, |\l_@@_first_j_tl|, +% |\l_@@_last_i_tl| and |\l_@@_last_j_tl| from the arguments of the command as +% provided by the user (for example |2-3| and |5-last|). % \begin{macrocode} -\cs_new_protected:Npn \@@_sub_matrix:nnnnnnn #1 #2 #3 #4 #5 #6 #7 +\cs_new_protected:Npn \@@_compute_i_j:nn #1 #2 { - \group_begin: -% \end{macrocode} -% The four following token lists correspond to the position of the |\SubMatrix|. -% \begin{macrocode} \tl_clear_new:N \l_@@_first_i_tl \tl_clear_new:N \l_@@_first_j_tl \tl_clear_new:N \l_@@_last_i_tl \tl_clear_new:N \l_@@_last_j_tl + \@@_cut_on_hyphen:w #1 \q_stop + \tl_if_eq:NnTF \l_tmpa_tl { last } + { \tl_set:NV \l_@@_first_i_tl \c@iRow } + { \tl_set_eq:NN \l_@@_first_i_tl \l_tmpa_tl } + \tl_if_eq:NnTF \l_tmpb_tl { last } + { \tl_set:NV \l_@@_first_j_tl \c@jCol } + { \tl_set_eq:NN \l_@@_first_j_tl \l_tmpb_tl } + \@@_cut_on_hyphen:w #2 \q_stop + \tl_if_eq:NnTF \l_tmpa_tl { last } + { \tl_set:NV \l_@@_last_i_tl \c@iRow } + { \tl_set_eq:NN \l_@@_last_i_tl \l_tmpa_tl } + \tl_if_eq:NnTF \l_tmpb_tl { last } + { \tl_set:NV \l_@@_last_j_tl \c@jCol } + { \tl_set_eq:NN \l_@@_last_j_tl \l_tmpb_tl } + } % \end{macrocode} -% The command |\@@_cut_on_hyphen:w| cuts on the hyphen an argument of the form -% $i$-$j$. The value of $i$ is stored in |\l_tmpa_tl| and the value of $j$ is -% stored in |\l_tmpb_tl|. +% % \begin{macrocode} - \@@_cut_on_hyphen:w #2 \q_stop - \tl_set_eq:NN \l_@@_first_i_tl \l_tmpa_tl - \tl_set_eq:NN \l_@@_first_j_tl \l_tmpb_tl - \@@_cut_on_hyphen:w #3 \q_stop - \tl_set_eq:NN \l_@@_last_i_tl \l_tmpa_tl - \tl_set_eq:NN \l_@@_last_j_tl \l_tmpb_tl +\cs_new_protected:Npn \@@_sub_matrix:nnnnnnn #1 #2 #3 #4 #5 #6 #7 + { + \group_begin: +% \end{macrocode} +% The four following token lists correspond to the position of the |\SubMatrix|. +% \begin{macrocode} + \@@_compute_i_j:nn { #2 } { #3 } \bool_lazy_or:nnTF { \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int } { \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int } - { \@@_error:n { SubMatrix~too~large } } + { \@@_error:nn { Construct~too~large } { \SubMatrix } } { \str_clear_new:N \l_@@_submatrix_name_str \keys_set:nn { NiceMatrix / SubMatrix } { #5 } @@ -17669,7 +17726,7 @@ version 2005/12/01 or later. % from a specification of node of the form $i$\verb+-|+$j$. In that case, the % $i$ of the number of row arrives first (and alone) in a |\pgfpointanchor| and, % the, the $j$ arrives (alone) in the following |\pgfpointanchor|. In order to -% know whether we have a number of row of a number of column, we keep track of +% know whether we have a number of row or a number of column, we keep track of % the number of such treatments by the expandable flag called |nicematrix|. % \begin{macrocode} \tl_if_empty:nTF { #2 } @@ -17778,7 +17835,201 @@ version 2005/12/01 or later. % \end{macrocode} % % +% \bigskip +% \subsection*{Les commandes \textbackslash UnderBrace et \textbackslash +% OverBrace} +% +% The following commands will be linked to |\UnderBrace| and |\OverBrace| in the +% |\CodeAfter|. % +% \begin{macrocode} +\NewDocumentCommand \@@_UnderBrace { O { } m m m O { } } + { + \peek_remove_spaces:n + { \@@_brace:nnnnn { #2 } { #3 } { #4 } { #1 , #5 } { under } } + } +% \end{macrocode} +% +% \begin{macrocode} +\NewDocumentCommand \@@_OverBrace { O { } m m m O { } } + { + \peek_remove_spaces:n + { \@@_brace:nnnnn { #2 } { #3 } { #4 } { #1 , #5 } { over } } + } +% \end{macrocode} +% +% \medskip +% \begin{macrocode} +\keys_define:nn { NiceMatrix / Brace } + { + left-shorten .bool_set:N = \l_@@_brace_left_shorten_bool , + left-shorten .default:n = true , + right-shorten .bool_set:N = \l_@@_brace_right_shorten_bool , + shorten .meta:n = { left-shorten , right-shorten } , + right-shorten .default:n = true , + yshift .dim_set:N = \l_@@_brace_yshift_dim , + yshift .value_required:n = true , + yshift .initial:n = \c_zero_dim , + unknown .code:n = \@@_error:n { Unknown~key~for~Brace } + } +% \end{macrocode} +% +% \medskip +% |#1| is the first cell of the rectangle (with the syntax $i$\verb+-|+$j$; +% |#2| is the last cell of the rectangle; +% |#3| is the label of the text; +% |#4| is the optional argument (a list of \textsl{key}-\textsl{value} pairs); +% |#5| is equal to |under| or |over|. +% \begin{macrocode} +\cs_new_protected:Npn \@@_brace:nnnnn #1 #2 #3 #4 #5 + { + \group_begin: +% \end{macrocode} +% The four following token lists correspond to the position of the sub-matrix to +% which an brace will be attached. +% \begin{macrocode} + \@@_compute_i_j:nn { #1 } { #2 } + \bool_lazy_or:nnTF + { \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int } + { \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int } + { + \str_if_eq:nnTF { #5 } { under } + { \@@_error:nn { Construct~too~large } { \UnderBrace } } + { \@@_error:nn { Construct~too~large } { \OverBrace } } + } + { + \keys_set:nn { NiceMatrix / Brace } { #4 } + \pgfpicture + \pgfrememberpicturepositiononpagetrue + \pgf@relevantforpicturesizefalse + \bool_if:NT \l_@@_brace_left_shorten_bool + { + \dim_set_eq:NN \l_@@_x_initial_dim \c_max_dim + \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl + { + \cs_if_exist:cT + { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_first_j_tl } + { + \pgfpointanchor { \@@_env: - ##1 - \l_@@_first_j_tl } { west } + \dim_set:Nn \l_@@_x_initial_dim + { \dim_min:nn \l_@@_x_initial_dim \pgf@x } + } + } + } + \bool_lazy_or:nnT + { \bool_not_p:n \l_@@_brace_left_shorten_bool } + { \dim_compare_p:nNn \l_@@_x_initial_dim = \c_max_dim } + { + \@@_qpoint:n { col - \l_@@_first_j_tl } + \dim_set_eq:NN \l_@@_x_initial_dim \pgf@x + } + \bool_if:NT \l_@@_brace_right_shorten_bool + { + \dim_set:Nn \l_@@_x_final_dim { - \c_max_dim } + \int_step_inline:nnn \l_@@_first_i_tl \l_@@_last_i_tl + { + \cs_if_exist:cT + { pgf @ sh @ ns @ \@@_env: - ##1 - \l_@@_last_j_tl } + { + \pgfpointanchor { \@@_env: - ##1 - \l_@@_last_j_tl } { east } + \dim_set:Nn \l_@@_x_final_dim + { \dim_max:nn \l_@@_x_final_dim \pgf@x } + } + } + } + \bool_lazy_or:nnT + { \bool_not_p:n \l_@@_brace_right_shorten_bool } + { \dim_compare_p:nNn \l_@@_x_final_dim = { - \c_max_dim } } + { + \@@_qpoint:n { col - \int_eval:n { \l_@@_last_j_tl + 1 } } + \dim_set_eq:NN \l_@@_x_final_dim \pgf@x + } + \pgfset { inner~sep = \c_zero_dim } + \str_if_eq:nnTF { #5 } { under } + { \@@_underbrace_i:n { #3 } } + { \@@_overbrace_i:n { #3 } } + \endpgfpicture + } + \group_end: + } +% \end{macrocode} +% +% \medskip +% The argument is the text to put above the brace. +% \begin{macrocode} +\cs_new_protected:Npn \@@_overbrace_i:n #1 + { + \@@_qpoint:n { row - \l_@@_first_i_tl } + \pgftransformshift + { + \pgfpoint + { ( \l_@@_x_initial_dim + \l_@@_x_final_dim) / 2 } + { \pgf@y + \l_@@_brace_yshift_dim } + } + \pgfnode + { rectangle } + { south } + { + \vbox_top:n + { + \group_begin: + \everycr { } + \halign + { + \hfil ## \hfil \crcr + \@@_math_toggle_token: #1 \@@_math_toggle_token: \cr + \noalign { \skip_vertical:n { 4.5 pt } \nointerlineskip } + \hbox_to_wd:nn + { \l_@@_x_final_dim - \l_@@_x_initial_dim } + { \downbracefill } \cr + } + \group_end: + } + } + { } + { } + } +% \end{macrocode} +% +% +% \medskip +% The argument is the text to put under the brace. +% \begin{macrocode} +\cs_new_protected:Npn \@@_underbrace_i:n #1 + { + \@@_qpoint:n { row - \int_eval:n { \l_@@_last_i_tl + 1 } } + \pgftransformshift + { + \pgfpoint + { ( \l_@@_x_initial_dim + \l_@@_x_final_dim) / 2 } + { \pgf@y - \l_@@_brace_yshift_dim } + } + \pgfnode + { rectangle } + { north } + { + \group_begin: + \everycr { } + \vbox:n + { + \halign + { + \hfil ## \hfil \crcr + \hbox_to_wd:nn + { \l_@@_x_final_dim - \l_@@_x_initial_dim } + { \upbracefill } \cr + \noalign { \skip_vertical:n { 4.5 pt } \nointerlineskip } + \@@_math_toggle_token: #1 \@@_math_toggle_token: \cr + } + } + \group_end: + } + { } + { } + } +% \end{macrocode} +% +% % % \bigskip % \subsection*{We process the options at package loading} @@ -18129,14 +18380,15 @@ version 2005/12/01 or later. % \end{macrocode} % % \begin{macrocode} -\@@_msg_new:nn { SubMatrix~too~large } +\@@_msg_new:nn { Construct~too~large } { - Your~command~\token_to_str:N \SubMatrix\ + Your~command~\token_to_str:N #1 can't~be~drawn~because~your~matrix~is~too~small.\\ If~you~go~on,~this~command~will~be~ignored. } % \end{macrocode} % +% % \begin{macrocode} \@@_msg_new:nn { double-backslash~in~light-syntax } { @@ -18437,6 +18689,31 @@ version 2005/12/01 or later. % \end{macrocode} % % \begin{macrocode} +\@@_msg_new:nn { Version~of~siunitx~too~old } + { + You~can't~use~'S'~columns~because~your~version~of~'siunitx'~ + is~too~old.~You~need~at~least~v~3.0.\\ + This~error~is~fatal. + } +% \end{macrocode} +% +% +% \begin{macrocode} +\@@_msg_new:nnn { Unknown~key~for~Brace } + { + The~key~'\l_keys_key_str'~is~unknown~for~the~commands~\token_to_str:N + \UnderBrace\ and~\token_to_str:N \OverBrace.\\ + If~you~go~on,~it~will~be~ignored. \\ + For~a~list~of~the~available~keys,~type~H~. + } + { + The~available~keys~are~(in~alphabetic~order):~left-shorten,~ + right-shorten,~shorten~(which~fixes~both~left-shorten~and~ + right-shorten)~and~yshift. + } +% \end{macrocode} +% +% \begin{macrocode} \@@_msg_new:nnn { Unknown~key~for~CodeAfter } { The~key~'\l_keys_key_str'~is~unknown.\\ @@ -18763,7 +19040,7 @@ version 2005/12/01 or later. % \section{History} % % The successive versions of the file |nicematrix.sty| provided by TeXLive are available on the -% \textsc{svn} server of TeXLive: +% \textsc{svn} server of TeXLive:\par\nobreak % % \smallskip % { @@ -19296,6 +19573,17 @@ version 2005/12/01 or later. % % Support for the columns |V| of \pkg{varwidth}. % +% \subsection*{Changes between versions 6.3 and 6.4} +% +% New commands |\UnderBrace| and |\OverBrace| in the |\CodeAfter|. +% +% Correction of a bug of the key |baseline| (cf. question 623258 on TeX StackExchange). +% +% Correction of a bug with the columns |V| of \pkg{varwidth}. +% +% Correction of a bug: the use of |\hdottedline| and |:| in the preamble of the +% array (of another letter specified by |letter-for-dotted-lines|) was +% incompatible with the key |xdots/line-style|. % % \PrintIndex % diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf index 392d727897..d6c12ea75e 100644 Binary files a/macros/latex/contrib/nicematrix/nicematrix.pdf and b/macros/latex/contrib/nicematrix/nicematrix.pdf differ diff --git a/macros/latex/contrib/numspell/README b/macros/latex/contrib/numspell/README index 8a3bd49fec..32cd6dca3b 100644 --- a/macros/latex/contrib/numspell/README +++ b/macros/latex/contrib/numspell/README @@ -1,9 +1,9 @@ numspell.sty package -Copyright 2017-2020 by Tibor Tomacs +Copyright 2017-2021 by Tibor Tómács This package supports the spelling of cardinal and ordinal numbers. -Supported languages are English, French, German, Hungarian and Italian. +Supported languages are English, French, German, Hungarian, Italian, and Latin. This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -24,6 +24,7 @@ numspell.sty (main package file) numspell-english.sty (English package for numspell) numspell-french.sty (French package for numspell) numspell-german.sty (German package for numspell) -numspell-magyar.sty (Hungarian package for numspell) numspell-italian.sty (Italian package for numspell) +numspell-latin.sty (Latin package for numspell) +numspell-magyar.sty (Hungarian package for numspell) numspell.tex and the derived file numspell.pdf (documentation). \ No newline at end of file diff --git a/macros/latex/contrib/numspell/numspell-english.sty b/macros/latex/contrib/numspell/numspell-english.sty index 4ad8bf476d..ba4c3be462 100644 --- a/macros/latex/contrib/numspell/numspell-english.sty +++ b/macros/latex/contrib/numspell/numspell-english.sty @@ -1,7 +1,7 @@ %% %% `numspell-english.sty' English language package for 'numspell.sty' %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/numspell/numspell-french.sty b/macros/latex/contrib/numspell/numspell-french.sty index 8f9f1350b9..5323efcb8b 100644 --- a/macros/latex/contrib/numspell/numspell-french.sty +++ b/macros/latex/contrib/numspell/numspell-french.sty @@ -1,7 +1,7 @@ %% %% `numspell-french.sty' French language package for 'numspell.sty' %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/numspell/numspell-german.sty b/macros/latex/contrib/numspell/numspell-german.sty index 068b7deee9..5e9aa82c07 100644 --- a/macros/latex/contrib/numspell/numspell-german.sty +++ b/macros/latex/contrib/numspell/numspell-german.sty @@ -1,7 +1,7 @@ %% %% `numspell-german.sty' German language package for 'numspell.sty' %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/numspell/numspell-italian.sty b/macros/latex/contrib/numspell/numspell-italian.sty index db519e4974..32b50b4e64 100644 --- a/macros/latex/contrib/numspell/numspell-italian.sty +++ b/macros/latex/contrib/numspell/numspell-italian.sty @@ -1,7 +1,7 @@ %% %% `numspell-italian.sty' Italian language package for 'numspell.sty' %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/numspell/numspell-latin.sty b/macros/latex/contrib/numspell/numspell-latin.sty new file mode 100644 index 0000000000..deed0f1cc1 --- /dev/null +++ b/macros/latex/contrib/numspell/numspell-latin.sty @@ -0,0 +1,878 @@ +%% +%% `numspell-latin.sty' Latin language package for 'numspell.sty' +%% +%% Copyright 2021 by Keno Wehr +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Keno Wehr. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{numspell-latin}[2021/11/21 v1.0 Latin language package for numspell] + +%% GROUP NAMES according to Latin Wikipedia +%% https://la.wikipedia.org/wiki/Nomina_permagnorum_numerorum +\def\numspell@group@ii@la@name{\numspell@{mille}} +\def\numspell@group@iii@la@name{\numspell@{millio}} +\def\numspell@group@iv@la@name{\numspell@{milliardum}} +\def\numspell@group@v@la@name{\numspell@{billio}} +\def\numspell@group@vi@la@name{\numspell@{billiardum}} +\def\numspell@group@vii@la@name{\numspell@{trillio}} +\def\numspell@group@viii@la@name{\numspell@{trilliardum}} +\def\numspell@group@ix@la@name{\numspell@{quadrillio}} +\def\numspell@group@x@la@name{\numspell@{quadrilliardum}} +\def\numspell@group@xi@la@name{\numspell@{quintillio}} +\def\numspell@group@xii@la@name{\numspell@{quintilliardum}} +\def\numspell@group@xiii@la@name{\numspell@{sextillio}} +\def\numspell@group@xiv@la@name{\numspell@{sextilliardum}} +\def\numspell@group@xv@la@name{\numspell@{septillio}} +\def\numspell@group@xvi@la@name{\numspell@{septilliardum}} +\def\numspell@group@xvii@la@name{\numspell@{octillio}} +\def\numspell@group@xviii@la@name{\numspell@{octilliardum}} +\def\numspell@group@xix@la@name{\numspell@{nonillio}} +\def\numspell@group@xx@la@name{\numspell@{nonilliardum}} +\def\numspell@group@xxi@la@name{\numspell@{decillio}} +\def\numspell@group@xxii@la@name{\numspell@{decilliardum}} + +%% GROUP NAMES (PLURAL) +\def\numspell@group@ii@la@name@plural{\numspell@{milia}} +\def\numspell@group@iii@la@name@plural{\numspell@{milliones}} +\def\numspell@group@iv@la@name@plural{\numspell@{milliarda}} +\def\numspell@group@v@la@name@plural{\numspell@{billiones}} +\def\numspell@group@vi@la@name@plural{\numspell@{billiarda}} +\def\numspell@group@vii@la@name@plural{\numspell@{trilliones}} +\def\numspell@group@viii@la@name@plural{\numspell@{trilliarda}} +\def\numspell@group@ix@la@name@plural{\numspell@{quadrilliones}} +\def\numspell@group@x@la@name@plural{\numspell@{quadrilliarda}} +\def\numspell@group@xi@la@name@plural{\numspell@{quintilliones}} +\def\numspell@group@xii@la@name@plural{\numspell@{quintilliarda}} +\def\numspell@group@xiii@la@name@plural{\numspell@{sextilliones}} +\def\numspell@group@xiv@la@name@plural{\numspell@{sextilliarda}} +\def\numspell@group@xv@la@name@plural{\numspell@{septilliones}} +\def\numspell@group@xvi@la@name@plural{\numspell@{septilliarda}} +\def\numspell@group@xvii@la@name@plural{\numspell@{octilliones}} +\def\numspell@group@xviii@la@name@plural{\numspell@{octilliarda}} +\def\numspell@group@xix@la@name@plural{\numspell@{nonilliones}} +\def\numspell@group@xx@la@name@plural{\numspell@{nonilliarda}} +\def\numspell@group@xxi@la@name@plural{\numspell@{decilliones}} +\def\numspell@group@xxii@la@name@plural{\numspell@{decilliarda}} + +%% ORDINAL GROUP NAMES ("millesimus" can be found in the grammars, +%% the other forms have been created analogously based on Italian) +\def\numspell@ordgroup@ii@la@name{\numspell@{millesim}} +\def\numspell@ordgroup@iii@la@name{\numspell@{millionesim}} +\def\numspell@ordgroup@iv@la@name{\numspell@{milliardesim}} +\def\numspell@ordgroup@v@la@name{\numspell@{billionesim}} +\def\numspell@ordgroup@vi@la@name{\numspell@{billiardesim}} +\def\numspell@ordgroup@vii@la@name{\numspell@{trillionesim}} +\def\numspell@ordgroup@viii@la@name{\numspell@{trilliardesim}} +\def\numspell@ordgroup@ix@la@name{\numspell@{quadrillionesim}} +\def\numspell@ordgroup@x@la@name{\numspell@{quadrilliardesim}} +\def\numspell@ordgroup@xi@la@name{\numspell@{quintillionesim}} +\def\numspell@ordgroup@xii@la@name{\numspell@{quintilliardesim}} +\def\numspell@ordgroup@xiii@la@name{\numspell@{sextillionesim}} +\def\numspell@ordgroup@xiv@la@name{\numspell@{sextilliardesim}} +\def\numspell@ordgroup@xv@la@name{\numspell@{septillionesim}} +\def\numspell@ordgroup@xvi@la@name{\numspell@{septilliardesim}} +\def\numspell@ordgroup@xvii@la@name{\numspell@{octillionesim}} +\def\numspell@ordgroup@xviii@la@name{\numspell@{octilliardesim}} +\def\numspell@ordgroup@xix@la@name{\numspell@{nonillionesim}} +\def\numspell@ordgroup@xx@la@name{\numspell@{nonilliardesim}} +\def\numspell@ordgroup@xxi@la@name{\numspell@{decillionesim}} +\def\numspell@ordgroup@xxii@la@name{\numspell@{decilliardesim}} + +%% SPELLING VARIANTS +%% +%% ae, appearing in the female plural ending, was a diphthong in classical +%% Latin. In the late antiquity it became a monophthong and was written in +%% different ways later on. Like babel-latin, we use a ligature for medieval +%% and ecclesiastic Latin. +%% +%% The letter U did not exist in classical Latin. The vowel U was always +%% written as V. In the minuscule manuscripts of the Middle Ages it evolved to +%% u. The distinction of U and V is of modern origin. So we do not use U and v +%% for classical and medieval Latin, but only for modern and ecclesiastic Latin. +%% +\def\numspell@la@ae@diphthong{% + \def\numspell@la@ae{\numspell@{ae}}% +} +\def\numspell@la@ae@ligature{% + \def\numspell@la@ae{\numspell@{\ae}}% +} +\def\numspell@la@use@vocalic@V{% + \def\numspell@la@v{\numspell@{u}}% + \def\numspell@la@uppercase@u{V}% +} +\def\numspell@la@use@U@and@v{% + \def\numspell@la@v{\numspell@{v}}% + \def\numspell@la@uppercase@u{U}% +} + +%% WORDING VARIANTS +%% +%% The classical main forms of "twentieth" and "thirtieth" are "vicesimus" and +%% "tricesimus". Ecclesiastic Latin uses the more regular varints "vigesimus" +%% and "trigesimus" instead. +%% +%% The classical main form of "seventeen" is "septendecim", but later "decem et +%% septem" was used instead (e.g. Gen 47:28). We only use "septendecim" for +%% classical and modern Latin. +%% Reference: Lewis/Short, A Latin Dictionary: "septendecim was in use only +%% among the antiqui" +%% +%% The word "millio" for million is of modern origin. The classical term for +%% one million is "decies centena milia" (ten times hundred thousand). +%% The Thesaurus Linguae Latinae even documents the form "quadringenties milies +%% [centena milia]" (400 times 1000 times 100000, used by Sueton, ThLL v.s. +%% "miliens"). +%% For classical and medieval Latin we use the classical wording for cardinal +%% numbers less than 10^11 and for ordinal numbers less than 10^7. We use the +%% modern wording in other cases. +%% +\def\numspell@la@classical@ordinals{% + \def\numspell@la@twentieth{\numspell@la@v\numspell@{icesim}}% + \def\numspell@la@thirtieth{\numspell@{tricesim}}% +} +\def\numspell@la@ecclesiastic@ordinals{% + \def\numspell@la@twentieth{\numspell@la@v\numspell@{igesim}}% + \def\numspell@la@thirtieth{\numspell@{trigesim}}% +} +\def\numspell@la@classical@seventeen{% + \def\numspell@la@seventeen{\numspell@{septendecim}}% +} +\def\numspell@la@postclassical@seventeen{% + \def\numspell@la@seventeen{\numspell@{decem et septem}}% +} +\newif\ifnumspell@la@modern@million + +%% ADDITION AND SUBTRACTION, INVERSION OF ORDINALS +%% +%% Numbers ending in 8 or 9 can be formed by addition or by subtraction. +%% 28 by addition: viginti octo, 28 by subtraction: duodetriginta +%% We use subtraction for classical and modern Latin and addition for medieval +%% and ecclesiastic Latin. +%% +%% Ordinals under 20 are normally inverted (tertia decima for 13th). In +%% ecclesiastical Latin they are not inverted (decima tertia for 13th). +%% +%% The reference for medieval Latin is: +%% Peter Stotz, Handbuch zur lateinischen Sprache des Mittelalters (HLSMA) +%% +%% HLSMA 4, VIII, § 88 +%% »Die Zahlbez’en für ,11‘ bis ,19‘ sind bereits in der Antike, und so dann +%% auch im MA, recht oft durch zwei asyndetische oder mit *et* verbundene +%% einfache Zahlwörter gegeben worden: *septem (et/ac) decem* usf., etwa auch +%% *duobus decim*. Häufig aber kommen vor: *decem et quattuor*, *d. et sex*, +%% *d. et septem*, *d. et octo*, *decem et novem*. +%% An Stelle der Bildungen auf *-decim* bei ,17‘ und *-deviginti* bei ,18‘, ,19‘ +%% erscheint oft auch asyndetisches oder geeintes *decem-*: *decemseptem*, +%% *decemocto*, *decemnovem* (vgl. it. *diciasètte*, *diciòtto*, *diciannòve*). +%% (Zum Verhältnis additiver und subtraktiver Formen in diesen Fällen vgl. +%% weiter § 97.)« +%% +%% HLSMA 4, VIII, § 97.1 +%% »Subtraktive Bez’en für Zahlen unter der vollen Zehnerzahl wie *undeviginti* +%% ,19‘, *duodetriginta* ,28‘, duodeseptuagesimus ,der 68ste‘ sind auch im MA +%% noch belegt: *duo de sexaginta*, *duo de XX*, *duo de XL*. Häufig sind sie +%% nicht gewesen, und als Belege kommen selbstverständlich nur in den Hss. +%% ausgeschriebene Zahlenbenennungen in Betracht. Bereits in der Antike kommen +%% reichlich Bez’en vor wie *decem (et) octo/novem*, *octo et viginti*, *nonus +%% et vicesimus* u. a. m. (Vgl. auch § 88.) In aller Regel wurden im lat. MA +%% Formen gebraucht wie *decem et octo*, *viginti octo*. Seit Livius ist das +%% nach *undecim* usf. analogisch gebildete *octodecim* in Gebrauch; auch +%% *novemdecim* kommt vor, sodann *octavus decimus*, *nonus decimus*.« +%% +\newif\ifnumspell@la@subtraction +\newif\ifnumspell@la@invert@ordinals + +%% SETTINGS FOR LANGUAGE VARIANTS +\def\numspell@la@classical@settings{% + \numspell@la@ae@diphthong + \numspell@la@use@vocalic@V + \numspell@la@classical@ordinals + \numspell@la@classical@seventeen + \numspell@la@subtractiontrue + \numspell@la@invert@ordinalstrue + \numspell@la@modern@millionfalse +} +\def\numspell@la@medieval@settings{% + \numspell@la@ae@ligature + \numspell@la@use@vocalic@V + \numspell@la@classical@ordinals + \numspell@la@postclassical@seventeen + \numspell@la@subtractionfalse + \numspell@la@invert@ordinalstrue + \numspell@la@modern@millionfalse +} +\def\numspell@la@modern@settings{% + \numspell@la@ae@diphthong + \numspell@la@use@U@and@v + \numspell@la@classical@ordinals + \numspell@la@classical@seventeen + \numspell@la@subtractiontrue + \numspell@la@invert@ordinalstrue + \numspell@la@modern@milliontrue +} +\def\numspell@la@ecclesiastic@settings{% + \numspell@la@ae@ligature + \numspell@la@use@U@and@v + \numspell@la@ecclesiastic@ordinals + \numspell@la@postclassical@seventeen + \numspell@la@subtractionfalse + \numspell@la@invert@ordinalsfalse + \numspell@la@modern@milliontrue +} +\def\numspell@la@check@language@variant{% + \IfLanguageName{classiclatin}{% + \numspell@la@classical@settings + }{% + \IfLanguageName{medievallatin}{% + \numspell@la@medieval@settings + }{% + \IfLanguageName{ecclesiasticlatin}{% + \numspell@la@ecclesiastic@settings + }{% + \ifcsname iflanguageoption\endcsname% for polyglossia + \iflanguageoption{latin}{variant}{classic}{% + \numspell@la@classical@settings + }{% + \iflanguageoption{latin}{variant}{medieval}{% + \numspell@la@medieval@settings + }{% + \iflanguageoption{latin}{variant}{ecclesiastic}{% + \numspell@la@ecclesiastic@settings + }{% + \numspell@la@modern@settings + }% + }% + }% + \else + \numspell@la@modern@settings + \fi + }% + }% + }% +} + +%% INFLECTION ENDINGS +\def\numspelllamasculine{% + \def\numspell@la@ending@sing{\numspell@{us}}% + \def\numspell@la@ending@plural{\numspell@{i}}% + \def\numspell@la@two{\numspell@{duo}}% + \def\numspell@la@three{\numspell@{tres}}% +} +\def\numspelllafeminine{% + \def\numspell@la@ending@sing{\numspell@{a}}% + \def\numspell@la@ending@plural{\numspell@la@ae}% + \def\numspell@la@two{\numspell@{du}\numspell@la@ae}% + \def\numspell@la@three{\numspell@{tres}}% +} +\def\numspelllaneuter{% + \def\numspell@la@ending@sing{\numspell@{um}}% + \def\numspell@la@ending@plural{\numspell@{a}}% + \def\numspell@la@two{\numspell@{duo}}% + \def\numspell@la@three{\numspell@{tria}}% +} +\numspelllamasculine + +%% TERMS FOR THE ONES +\def\numspell@la@ones@cardinal#1{% + \ifcase#1% + \or\numspell@{un}\numspell@la@ending@sing\or\numspell@la@two\or\numspell@la@three + \or\numspell@{quattuor}\or\numspell@{quinque}\or\numspell@{sex}\or\numspell@{septem}% + \or\numspell@{octo}\or\numspell@{no}\numspell@la@v\numspell@{em}\or\numspell@{decem}% + \or\numspell@{undecim}\or\numspell@{duodecim}\or\numspell@{tredecim}\or\numspell@{quattuordecim}% + \or\numspell@{quindecim}\or\numspell@{sedecim}\or\numspell@la@seventeen + \fi +} + +\def\numspell@la@ones@ordinal#1{% + \ifcase#1% + \or\numspell@{prim}\or\numspell@{secund}\or\numspell@{terti}\or\numspell@{quart}% + \or\numspell@{quint}\or\numspell@{sext}\or\numspell@{septim}\or\numspell@{octa}\numspell@la@v + \or\numspell@{non}\or\numspell@{decim}\or\numspell@{undecim}\or\numspell@{duodecim}% + \fi + \numspell@la@ending@sing +} + +\def\numspell@la@ones@adverb#1{% + \ifcase#1% + \or\numspell@{semel}\or\numspell@{bis}\or\numspell@{ter}\or\numspell@{quater}% + \or\numspell@{quinquies}\or\numspell@{sexies}\or\numspell@{septies}\or\numspell@{octies}% + \or\numspell@{no}\numspell@la@v\numspell@{ies}\or\numspell@{decies}\or\numspell@{undecies}% + \or\numspell@{duodecies}% + \fi +} + +%% TERMS FOR THE TENS +\def\numspell@la@tens@cardinal#1{% + \ifcase#1% + \or\numspell@{decem}\or\numspell@la@v\numspell@{iginti}\or\numspell@{triginta}% + \or\numspell@{quadraginta}\or\numspell@{quinquaginta}\or\numspell@{sexaginta}% + \or\numspell@{septuaginta}\or\numspell@{octoginta}\or\numspell@{nonaginta}\or\numspell@{centum}% + \fi +} + +\def\numspell@la@tens@ordinal#1{% + \ifcase#1% + \or\numspell@{decim}\or\numspell@la@twentieth\or\numspell@la@thirtieth + \or\numspell@{quadragesim}\or\numspell@{quinquagesim}\or\numspell@{sexagesim}% + \or\numspell@{septuagesim}\or\numspell@{octogesim}\or\numspell@{nonagesim}\or\numspell@{centesim}% + \fi + \numspell@la@ending@sing +} + +\def\numspell@la@tens@adverb#1{% + \ifcase#1% + \or\numspell@{decies}\or\numspell@la@v\numspell@{icies}\or\numspell@{tricies}% + \or\numspell@{quadragies}\or\numspell@{quinquagies}\or\numspell@{sexagies}% + \or\numspell@{septuagies}\or\numspell@{octogies}\or\numspell@{nonagies}\or\numspell@{centies}% + \fi +} + +%% TERMS FOR THE HUNDREDS +\def\numspell@la@hundreds@cardinal#1{% + \ifcase#1% + \or\numspell@{centum}\or\numspell@{ducent}\or\numspell@{trecent}\or\numspell@{quadringent}% + \or\numspell@{quingent}\or\numspell@{sescent}\or\numspell@{septingent}\or\numspell@{octingent}% + \or\numspell@{nongent}% + \fi + \ifnum#1>1% + \numspell@la@ending@plural + \fi +} + +\def\numspell@la@hundreds@ordinal#1{% + \ifcase#1% + \or\numspell@{cent}\or\numspell@{ducent}\or\numspell@{trecent}\or\numspell@{quadringent}% + \or\numspell@{quingent}\or\numspell@{sescent}\or\numspell@{septingent}\or\numspell@{octingent}% + \or\numspell@{nongent}% + \fi + \numspell@{esim}% + \numspell@la@ending@sing +} + +\def\numspell@la@hundreds@adverb#1{% + \ifcase#1% + \or\numspell@{centies}\or\numspell@{ducenties}\or\numspell@{trecenties}% + \or\numspell@{quadringenties}\or\numspell@{quingenties}\or\numspell@{sescenties}% + \or\numspell@{septingenties}\or\numspell@{octingenties}\or\numspell@{nongenties}% + \fi +} + +%% NAMES OF SPECIAL NUMERALS +\def\numspell@la@hundred@distributive{\numspell@{centena}}% neuter form, used before "milia" +\def\numspell@la@thousand@adverb{\numspell@{milies}} + +%% MACROS FOR TWO-DIGIT NUMBERS +\def\numspell@la@addition@cardinal{% + \numspell@la@tens@cardinal\numspell@group@digit@ii + \ifnum\numspell@group@digit@iii>0% + \numspell@{ }% + \ifnum\numspell@group@digit@ii=1% + \numspell@{et }% + \fi + \numspell@la@ones@cardinal\numspell@group@digit@iii + \fi +} + +\def\numspell@la@addition@ordinal{% + \numspell@la@tens@ordinal\numspell@group@digit@ii + \ifnum\numspell@group@digit@iii>0% + \numspell@{ }% + \numspell@la@ones@ordinal\numspell@group@digit@iii + \fi +} + +\def\numspell@la@addition@adverb{% + \numspell@la@tens@adverb\numspell@group@digit@ii + \ifnum\numspell@group@digit@iii>0% + \numspell@{ }% + \numspell@la@ones@adverb\numspell@group@digit@iii + \fi +} + +\def\numspell@la@inverted@addition@ordinal{% + \ifnum\numspell@group@digit@iii>0% + \numspell@la@ones@ordinal\numspell@group@digit@iii + \numspell@{ }% + \fi + \numspell@la@tens@ordinal\numspell@group@digit@ii +} + +\def\numspell@la@inverted@addition@adverb{% + \ifnum\numspell@group@digit@iii>0% + \numspell@la@ones@adverb\numspell@group@digit@iii + \numspell@{ }% + \fi + \numspell@la@tens@adverb\numspell@group@digit@ii +} + +\newcount\numspell@la@tmp@count + +\def\numspell@la@subtraction@cardinal{% + \ifnum\numspell@group@digit@iii=8% + \numspell@{duode}% + \else + \numspell@{unde}% + \fi + \numspell@la@tmp@count\numexpr\numspell@group@digit@ii+1\relax + \numspell@la@tens@cardinal\numspell@la@tmp@count +} + +\def\numspell@la@subtraction@ordinal{% + \ifnum\numspell@group@digit@iii=8% + \numspell@{duode}% + \else + \numspell@{unde}% + \fi + \numspell@la@tmp@count\numexpr\numspell@group@digit@ii+1\relax + \numspell@la@tens@ordinal\numspell@la@tmp@count +} + +\def\numspell@la@subtraction@adverb{% + \ifnum\numspell@group@digit@iii=8% + \numspell@{duode}% + \else + \numspell@{unde}% + \fi + \numspell@la@tmp@count\numexpr\numspell@group@digit@ii+1\relax + \numspell@la@tens@adverb\numspell@la@tmp@count +} + +%% SPELLING CARDINAL NUMBER GROUP +%% --------------------------------- +%% \numspell@group@spell@la{} (=000,001,...,999) +%% --------------------------------- +%% \numspell@group@digits{} +%% Adding the spelling to \thenumspell +%% +\def\numspell@group@spell@la#1{% + \numspell@group@digits{#1}% + \ifnum\numspell@group@digit@i>0% + \numspell@la@hundreds@cardinal\numspell@group@digit@i + \ifnum\numexpr\numspell@group@digit@ii+\numspell@group@digit@iii>0% + \numspell@{ }% + \fi + \fi + \numspell@la@tmp@count\numexpr10*\numspell@group@digit@ii+\numspell@group@digit@iii\relax + \ifnum\numspell@la@tmp@count<18% 1, 2, ..., 17 + \numspell@la@ones@cardinal\numspell@la@tmp@count% unus, duo, ..., septendecim/decem et septem + \else + \ifnum\numspell@group@digit@iii>7% + \ifnum\numspell@group@digit@i=0% 18, 19, 28, 29, ..., 98, 99 + \ifnumspell@la@subtraction + \numspell@la@subtraction@cardinal% duodeviginti, ... + \else + \numspell@la@addition@cardinal% decem et octo, ..., viginti octo, ... + \fi + \else + \ifnum\numspell@group@digit@ii<9% 118, 119, 128, 129, ..., 188, 189, ..., 988, 989 + \ifnumspell@la@subtraction + \numspell@la@subtraction@cardinal% centum duodeviginti, ... + \else + \numspell@la@addition@cardinal% centum decem et octo, ... + \fi + \else% 198, 199, 298, 299, ..., 998, 999 + \numspell@la@addition@cardinal% centum nonaginta octo + \fi + \fi + \else + \ifnum\numspell@group@digit@ii>1% 20, 21, ..., 27, 30, 31, ..., 97 + \numspell@la@addition@cardinal% viginti, viginti unus, ... + \fi + \fi + \fi +} + +%% SPELLING ORDINAL NUMBER GROUP +%% ------------------------------------ +%% \numspell@ordgroup@spell@la{} (=000,001,...,999) +%% ------------------------------------ +%% \numspell@group@digits{} +%% Adding the ordinal spelling to \thenumspell +%% +\def\numspell@ordgroup@spell@la#1{% + \numspell@group@digits{#1}% + \ifnum\numspell@group@digit@i>0% + \numspell@la@hundreds@ordinal\numspell@group@digit@i + \ifnum\numexpr\numspell@group@digit@ii+\numspell@group@digit@iii>0% + \numspell@{ }% + \fi + \fi + \numspell@la@tmp@count\numexpr10*\numspell@group@digit@ii+\numspell@group@digit@iii\relax + \ifnum\numspell@la@tmp@count>0% + \ifnum\numspell@la@tmp@count<13% 1, 2, ..., 12 + \numspell@la@ones@ordinal\numspell@la@tmp@count% primus, secundus, ..., duodecimus + \else + \ifnum\numspell@la@tmp@count<18% 13, 14, ..., 17 + \ifnumspell@la@invert@ordinals + \numspell@la@inverted@addition@ordinal% tertius decimus, ... + \else + \numspell@la@addition@ordinal% decimus tertius, ... + \fi + \else + \ifnum\numspell@group@digit@iii>7% + \ifnum\numspell@group@digit@i=0% 18, 19, 28, 29, ..., 98, 99 + \ifnumspell@la@subtraction + \numspell@la@subtraction@ordinal% duodevicesimus, ... + \else + \ifnum\numspell@group@digit@ii=1% + \ifnumspell@la@invert@ordinals + \numspell@la@inverted@addition@ordinal% octavus decimus, ... + \else + \numspell@la@addition@ordinal% decimus octavus, ... + \fi + \else + \numspell@la@addition@ordinal% vicesimus octavus, ... + \fi + \fi + \else + \ifnum\numspell@group@digit@ii<9% 118, 119, 128, 129, ..., 188, 189, ..., 988, 989 + \ifnumspell@la@subtraction + \numspell@la@subtraction@ordinal% centesimus undevicesimus, ... + \else + \numspell@la@addition@ordinal% centesimus decimus octavus, ... + \fi + \else% 198, 199, 298, 299, ..., 998, 999 + \numspell@la@addition@ordinal% centesimus nonagesimus octavus, ... + \fi + \fi + \else + \ifnum\numspell@group@digit@ii>1% 20, 21, ..., 27, 30, 31, ..., 97 + \numspell@la@addition@ordinal% vicesimus, vicesimus primus, ... + \fi + \fi + \fi + \fi + \fi +} + +%% SPELLING ADVERBIAL NUMBER GROUP +\def\numspell@adverbgroup@spell@la#1{% + \numspell@group@digits{#1}% + \ifnum\numspell@group@digit@i>0% + \numspell@la@hundreds@adverb\numspell@group@digit@i + \ifnum\numexpr\numspell@group@digit@ii+\numspell@group@digit@iii>0% + \numspell@{ }% + \fi + \fi + \numspell@la@tmp@count\numexpr10*\numspell@group@digit@ii+\numspell@group@digit@iii\relax + \ifnum\numspell@la@tmp@count<13% 1, 2, ..., 12 + \numspell@la@ones@adverb\numspell@la@tmp@count% semel, bis, ..., duodecies + \else + \ifnum\numspell@la@tmp@count<18% 13, 14, ..., 17 + \ifnumspell@la@invert@ordinals + \numspell@la@inverted@addition@adverb% ter decies, quater decies, ..., septies decies + \else + \numspell@la@addition@adverb% decies ter, decies quater, ..., decies septies + \fi + \else + \ifnum\numspell@group@digit@iii>7% + \ifnum\numspell@group@digit@i=0% 18, 19, 28, 29, ..., 98, 99 + \ifnumspell@la@subtraction + \numspell@la@subtraction@adverb% duodevicies, ... + \else + \ifnum\numspell@group@digit@ii=1% 18, 19 + \ifnumspell@la@invert@ordinals + \numspell@la@inverted@addition@adverb% octies decies, ... + \else + \numspell@la@addition@adverb% decies octies, ... + \fi + \else% 28, 29, 38, 39, ..., 98, 99 + \numspell@la@addition@adverb% vicies octies, ... + \fi + \fi + \else + \ifnum\numspell@group@digit@ii<9% 118, 119, 128, 129, ..., 188, 189, ..., 988, 989 + \ifnumspell@la@subtraction + \numspell@la@subtraction@adverb% centies duodevicies, ... + \else + \numspell@la@addition@adverb + \fi + \else% 198, 199, 298, 299, ..., 998, 999 + \numspell@la@addition@adverb + \fi + \fi + \else + \ifnum\numspell@group@digit@ii>1% 20, 21, ..., 27, 30, 31, ..., 97 + \numspell@la@addition@adverb% vicies, ... + \fi + \fi + \fi + \fi +} + +%% SPELLING CARDINAL NUMBER WITH MODERN TERM FOR MILLIONS +\def\numspell@la@cardinal@modern@million{% + \setcounter{numspell@groupcount}{22}% + \@whilenum\value{numspell@groupcount}>2% + \do{% + \IfEq{\csname numspell@group@\roman{numspell@groupcount}\endcsname}{0}{}{% + \bgroup + \ifodd\thenumspell@groupcount + \numspelllafeminine% because "millio" is feminine + \else + \numspelllaneuter% because "milliardum" is neuter + \fi + \numspell@group@spell@la{\csname numspell@group@\roman{numspell@groupcount}\endcsname}% + \egroup + \numspell@{ }% + \IfEq{\csname numspell@group@\roman{numspell@groupcount}\endcsname}{1}% + {\csname numspell@group@\roman{numspell@groupcount}@la@name\endcsname}% + {\csname numspell@group@\roman{numspell@groupcount}@la@name@plural\endcsname}% + \ifnum\csname numspell@group@\roman{numspell@groupcount}@before\endcsname>0\numspell@{ }\fi + }% + \addtocounter{numspell@groupcount}{-1}% + }% + \IfEq{\numspell@group@ii}{0}{}{% + \IfEq{\numspell@group@ii}{1}{\numspell@group@ii@la@name}{% + \bgroup + \numspelllaneuter% because "milia" is neuter + \numspell@group@spell@la{\numspell@group@ii}% + \egroup + \numspell@{ }% + \numspell@group@ii@la@name@plural + }% + \ifnum\numspell@group@ii@before>0\numspell@{ }\fi + }% + \IfEq{\numspell@group@i}{0}{}{% + \numspell@group@spell@la{\numspell@group@i}% + }% +} + +%% SPELLING CARDINAL NUMBER WITH CLASSICAL TERM FOR MILLIONS +%% This outputs "decies centena milia" instead of "una millio" and +%% "decies milies centena milia" instead of "unum milliardum". +%% Modern wording is however used for numbers >= 10^11. +\def\numspell@la@cardinal@classical@million{% + \ifnum\numspell@group@max>4% + \numspell@la@cardinal@modern@million + \else + \ifnum\numspell@group@iv>99% + \numspell@la@cardinal@modern@million + \else + \StrMid{\numspell@fullnum}{56}{58}[\numspell@la@hundred@millions]% + \StrMid{\numspell@fullnum}{59}{61}[\numspell@la@hundred@thousands]% + \StrMid{\numspell@fullnum}{62}{63}[\numspell@la@thousands]% + \ifnum\numspell@la@hundred@millions>0% + \ifnum\numspell@la@hundred@millions>1% + \numspell@adverbgroup@spell@la{\numspell@la@hundred@millions}% + \numspell@{ }% + \fi + \numspell@la@thousand@adverb + \ifnum\numspell@la@hundred@thousands>0% + \numspell@{ }% + \numspell@adverbgroup@spell@la{\numspell@la@hundred@thousands}% + \numspell@{ }% + \numspell@la@hundred@distributive + \numspell@{ }% + \else + \numspell@{ }% + \numspell@la@hundred@distributive + \numspell@{ }% + \fi + \ifnum\numspell@la@thousands>0% + \numspell@{et }% + \bgroup + \numspelllaneuter% because "milia" is neuter + \numspell@group@spell@la{0\numspell@la@thousands}% + \egroup + \numspell@{ }% + \fi + \numspell@group@ii@la@name@plural% "milia" + \ifnum\numspell@group@ii@before>0% + \numspell@{ }% + \fi + \else + \ifnum\numspell@la@hundred@thousands>9% 100000 is "centum milia", not "semel centena milia" + \numspell@adverbgroup@spell@la{\numspell@la@hundred@thousands}% + \numspell@{ }% + \numspell@la@hundred@distributive + \numspell@{ }% + \ifnum\numspell@la@thousands>0% + \numspell@{et }% + \bgroup + \numspelllaneuter% because "milia" is neuter + \numspell@group@spell@la{0\numspell@la@thousands}% + \egroup + \numspell@{ }% + \fi + \numspell@group@ii@la@name@plural% "milia" + \ifnum\numspell@group@ii@before>0% + \numspell@{ }% + \fi + \else + \StrMid{\numspell@fullnum}{61}{63}[\numspell@la@thousands]% + \ifnum\numspell@la@thousands>0% + \ifnum\numspell@la@thousands=1% + \numspell@group@ii@la@name + \else + \bgroup + \numspelllaneuter% because "milia" is neuter + \IfEq{\numspell@group@iii}{0}{% + \numspell@group@spell@la{\numspell@la@thousands}% + }{% + \numspell@group@spell@la{0\numspell@la@thousands}% + }% + \egroup + \numspell@{ }% + \numspell@group@ii@la@name@plural + \fi + \ifnum\numspell@group@ii@before>0% + \numspell@{ }% + \fi + \fi + \fi + \fi + \IfEq{\numspell@group@i}{0}{}{% + \numspell@group@spell@la{\numspell@group@i}% + }% + \fi + \fi +} + +%% SPELLING CARDINAL NUMBER +%% -------------------------------------- +%% \numspell@num@spell@la{}{} +%% -------------------------------------- +%% \numspell@groups{}{} +%% Adding the \numspell@num spelling to \thenumspell +%% +\def\numspell@num@spell@la#1#2{% + \numspell@la@check@language@variant + \gdef\thenumspell{}% + \numspell@groups{#1}{#2}% + \ifnum\numspell@group@max=0% + \numspell@{null}\numspell@la@ending@sing + \else + \ifnumspell@la@modern@million + \numspell@la@cardinal@modern@million + \else + \numspell@la@cardinal@classical@million + \fi + \fi +} + +%% SPELLING ORDINAL NUMBER WITH MODERN TERM FOR MILLIONS +\def\numspell@la@ordinal@modern@million{% + \setcounter{numspell@groupcount}{22}% + \@whilenum\value{numspell@groupcount}>1% + \do{% + \IfEq{\csname numspell@group@\roman{numspell@groupcount}\endcsname}{0}{}{% + \IfEq{\csname numspell@group@\roman{numspell@groupcount}\endcsname}{1}% + {\csname numspell@ordgroup@\roman{numspell@groupcount}@la@name\endcsname}% + {% + \numspell@adverbgroup@spell@la{\csname numspell@group@\roman{numspell@groupcount}\endcsname}% + \numspell@{ }% + \csname numspell@ordgroup@\roman{numspell@groupcount}@la@name\endcsname + }% + \numspell@la@ending@sing + \ifnum\csname numspell@group@\roman{numspell@groupcount}@before\endcsname>0\numspell@{ }\fi + }% + \addtocounter{numspell@groupcount}{-1}% + }% + \IfEq{\numspell@group@i}{0}{}{% + \numspell@ordgroup@spell@la{\numspell@group@i}% + }% +} + +%% SPELLING ORDINAL NUMBER WITH CLASSICAL TERM FOR MILLIONS +%% This outputs "decies centies millesimus" instead of "millionesimus". +%% +%% Reference: Kühner/Holzweissig, Ausführliche Grammatik der lateinischen +%% Sprache, vol. 1, 2nd edition, 1912, p. 632 +%% +%% Modern wording is however used for numbers >= 10^7. +\def\numspell@la@ordinal@classical@million{% + \ifnum\numspell@group@max>3% + \numspell@la@ordinal@modern@million + \else + \ifnum\numspell@group@iii>9% + \numspell@la@ordinal@modern@million + \else + \StrMid{\numspell@fullnum}{60}{61}[\numspell@la@hundred@thousands]% + \ifnum\numspell@la@hundred@thousands>9% + \numspell@adverbgroup@spell@la{0\numspell@la@hundred@thousands}% + \numspell@{ }% + \numspell@la@hundreds@adverb{1}% + \numspell@{ }% + \StrMid{\numspell@fullnum}{62}{63}[\numspell@la@thousands]% + \ifnum\numspell@la@thousands>0% + \numspell@adverbgroup@spell@la{0\numspell@la@thousands}% + \numspell@{ }% + \fi + \numspell@ordgroup@ii@la@name + \numspell@la@ending@sing + \ifnum\numspell@group@i>0% + \numspell@{ }% + \numspell@ordgroup@spell@la{\numspell@group@i}% + \fi + \else + \numspell@la@ordinal@modern@million% no difference between classical and modern + \fi + \fi + \fi +} + +%% SPELLING ORDINAL NUMBER +%% ----------------------------------------- +%% \numspell@ordnum@spell@la{}{} +%% ----------------------------------------- +%% \numspell@groups{}{} +%% Adding the \numspell@num ordinal spelling to \thenumspell +%% +\def\numspell@ordnum@spell@la#1#2{% + \numspell@la@check@language@variant + \gdef\thenumspell{}% + \numspell@groups{#1}{#2}% + \ifnum\numspell@group@max=0% + \numspell@{nullesim}\numspell@la@ending@sing + \else + \ifnumspell@la@modern@million + \numspell@la@ordinal@modern@million + \else + \numspell@la@ordinal@classical@million + \fi + \fi +} + +%% ---------------------- +%% \numspell@uppercase@la +%% ---------------------- +%% E.g. \def\thenumspell{unus}\numspell@uppercase\thenumspell --> 'Unus' +%% \MakeUppercase does not work on pdf bookmark (see hyperref), so using another effective macro. +%% +\def\numspell@uppercase@la{% + \fullexpandarg + \StrChar{\thenumspell}{1}[\numspell@firstletter]% + \expandarg + \StrGobbleLeft{\thenumspell}{1}[\numspell@trunc]% + \fullexpandarg + \def\numspell@the{}% + \IfStrEq{\numspell@firstletter}{u}{\g@addto@macro\numspell@the{\numspell@la@uppercase@u}}{}% unus + \IfStrEq{\numspell@firstletter}{d}{\g@addto@macro\numspell@the{D}}{}% duo + \IfStrEq{\numspell@firstletter}{t}{\g@addto@macro\numspell@the{T}}{}% tres + \IfStrEq{\numspell@firstletter}{q}{\g@addto@macro\numspell@the{Q}}{}% quattuor + \IfStrEq{\numspell@firstletter}{s}{\g@addto@macro\numspell@the{S}}{}% sex + \IfStrEq{\numspell@firstletter}{o}{\g@addto@macro\numspell@the{O}}{}% octo + \IfStrEq{\numspell@firstletter}{n}{\g@addto@macro\numspell@the{N}}{}% novem + \IfStrEq{\numspell@firstletter}{v}{\g@addto@macro\numspell@the{V}}{}% viginti + \IfStrEq{\numspell@firstletter}{c}{\g@addto@macro\numspell@the{C}}{}% centum + \IfStrEq{\numspell@firstletter}{m}{\g@addto@macro\numspell@the{M}}{}% mille + \IfStrEq{\numspell@firstletter}{p}{\g@addto@macro\numspell@the{P}}{}% primus + \IfStrEq{\numspell@firstletter}{b}{\g@addto@macro\numspell@the{B}}{}% bis + \ifx\numspell@the\@empty\@latexerr{'numspell.sty' error! There is not '\numspell@firstletter' in uppercase!}{}\fi + \g@addto@macro\numspell@the{\numspell@trunc}% + \def\thenumspell{\numspell@the}% +} + +\endinput diff --git a/macros/latex/contrib/numspell/numspell-magyar.sty b/macros/latex/contrib/numspell/numspell-magyar.sty index 7634b64f90..978410a5ec 100644 --- a/macros/latex/contrib/numspell/numspell-magyar.sty +++ b/macros/latex/contrib/numspell/numspell-magyar.sty @@ -1,7 +1,7 @@ %% %% `numspell-magyar.sty' Hungarian language package for 'numspell.sty' %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 diff --git a/macros/latex/contrib/numspell/numspell.pdf b/macros/latex/contrib/numspell/numspell.pdf index b3878a1650..477d82aa5e 100644 Binary files a/macros/latex/contrib/numspell/numspell.pdf and b/macros/latex/contrib/numspell/numspell.pdf differ diff --git a/macros/latex/contrib/numspell/numspell.sty b/macros/latex/contrib/numspell/numspell.sty index ccd615f396..df8cbc1d1d 100644 --- a/macros/latex/contrib/numspell/numspell.sty +++ b/macros/latex/contrib/numspell/numspell.sty @@ -3,7 +3,7 @@ %% %% Package for spelling the non-negative cardinal and ordinal numbers (maximum 66 digits). %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -18,7 +18,7 @@ %% The Current Maintainer of this work is Tibor Tomacs. %% \NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesPackage{numspell}[2020/11/11 v1.4 Package for spelling cardinal and ordinal numbers] +\ProvidesPackage{numspell}[2021/11/23 v1.5 Package for spelling cardinal and ordinal numbers] \RequirePackage{xstring,iflang} @@ -43,7 +43,7 @@ } %% -------------------------------- -%% \numspell@groups{}{} (*10^=0,1,...,999999999999...9 (66 digits)=10^67-1) +%% \numspell@groups{}{} (*10^=0,1,...,999999999999...9 = 10^66-1 (66 digits)) %% -------------------------------- %% It generates the following parameters: %% @@ -242,6 +242,10 @@ \IfLanguageName{ngerman}{\@numspell@lang@notsupported@false\def\numspell@langname{de}}{}% \IfLanguageName{french}{\@numspell@lang@notsupported@false\def\numspell@langname{fr}}{}% \IfLanguageName{italian}{\@numspell@lang@notsupported@false\def\numspell@langname{it}}{}% + \IfLanguageName{latin}{\@numspell@lang@notsupported@false\def\numspell@langname{la}}{}% + \IfLanguageName{classiclatin}{\@numspell@lang@notsupported@false\def\numspell@langname{la}}{}% + \IfLanguageName{medievallatin}{\@numspell@lang@notsupported@false\def\numspell@langname{la}}{}% + \IfLanguageName{ecclesiasticlatin}{\@numspell@lang@notsupported@false\def\numspell@langname{la}}{}% \if@numspell@lang@notsupported@\PackageWarning{numspell}{\languagename\space is not supported language in numspell}\fi% } @@ -257,6 +261,10 @@ \ifdefined\datengerman\RequirePackage{numspell-german}\fi% \ifdefined\datefrench\RequirePackage{numspell-french}\fi% \ifdefined\dateitalian\RequirePackage{numspell-italian}\fi% +\ifdefined\datelatin\RequirePackage{numspell-latin}\fi% +\ifdefined\dateclassiclatin\RequirePackage{numspell-latin}\fi% +\ifdefined\datemedievallatin\RequirePackage{numspell-latin}\fi% +\ifdefined\dateecclesiasticlatin\RequirePackage{numspell-latin}\fi% } %% --------------------------------- diff --git a/macros/latex/contrib/numspell/numspell.tex b/macros/latex/contrib/numspell/numspell.tex index 99128819f9..534873118b 100644 --- a/macros/latex/contrib/numspell/numspell.tex +++ b/macros/latex/contrib/numspell/numspell.tex @@ -1,7 +1,7 @@ %% %% `numspell.tex' documentation of the numspell package %% -%% Copyright 2017-2020 by Tibor Tomacs +%% Copyright 2017-2021 by Tibor Tomacs %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -17,20 +17,19 @@ %% \documentclass{article} \usepackage[a4paper]{geometry} -\usepackage[pdfstartview=FitH,colorlinks,allcolors=black,bookmarksnumbered]{hyperref} +\usepackage[pdfstartview=FitH,colorlinks,allcolors=black,bookmarksnumbered,hyperfootnotes=false]{hyperref} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage{numspell} -\usepackage[magyar,italian,ngerman,french,english]{babel} -\usepackage{listings,xcolor,amsmath,upquote} -\usepackage[group-separator={,}]{siunitx} +\usepackage[magyar,italian,latin,ngerman,french,english]{babel} +\usepackage[symbol]{footmisc} +\usepackage{numspell,listings,xcolor,amsmath,upquote} \flushbottom \setlength{\labelsep}{0pt} \setlength{\parindent}{0pt} \setlength{\parskip}{6pt} \lstnewenvironment{examplelst}{\lstset{ -%belowskip=\bigskipamount, +aboveskip=\bigskipamount, basicstyle=\ttfamily, backgroundcolor=\color{black!10}, frame=trbl, @@ -56,15 +55,15 @@ keepspaces]} \begin{document} -\title{The {\bfseries\sffamily numspell} package\\{\large v1.4 (2020/11/11)}} +\title{The {\bfseries\sffamily numspell} package\\{\large v1.5 (2021/11/23)}} \author{Tibor Tómács\\{\normalsize\url{tomacs.tibor@uni-eszterhazy.hu}}} \date{} \maketitle \section{Introduction} -The aim of the \texttt{numspell} package is to spell the cardinal and ordinal numbers from 0 to $10^{67}-1$ (i.e.~maximum 66 digits). +The aim of the \texttt{numspell} package is to spell the cardinal and ordinal numbers from 0 to $10^{66}-1$ (i.e.~maximum 66 digits). -The supported languages are English (British and American), French, German, Hungarian and Italian. +The supported languages are English (British and American), French, German, Hungarian, Italian, and Latin\footnote{Thanks to Keno Wehr for the Latin language module.} (classical, medieval, modern, and ecclesiastic). The spelling will happen in the current language. The \texttt{numspell} package requires the services of the \texttt{xstring} and \texttt{iflang} packages. @@ -77,7 +76,7 @@ Load the package as usual, with \section{Commands} \begin{description} \item\commandinline|\numspell[!!]{!!}|\\ -Spelling the cardinal number $n=\text{\color{green!50!black}\itshape$\langle$num$\rangle$}\cdot10^{\text{\color{green!50!black}\itshape$\langle$zeros$\rangle$}}$, where $0\leq n\leq 10^{67}-1$. The default value of \commandinline|!!| is \texttt{0}. For example +Spelling the cardinal number $n=\text{\color{green!50!black}\itshape$\langle$num$\rangle$}\cdot10^{\text{\color{green!50!black}\itshape$\langle$zeros$\rangle$}}$, where $0\leq n\leq 10^{66}-1$. The default value of \commandinline|!!| is \texttt{0}. For example \begin{flushleft} \verb|\numspell{12000}| $\to$ \numspell{12000}\\ \verb|\numspell[3]{12}| $\to$ \numspell[3]{12}\\ @@ -175,7 +174,7 @@ For example \item\commandinline|\ordnumspell[!!]{!!}|\\ Spelling the ordinal number $n=\text{\color{green!50!black}\itshape$\langle$num$\rangle$}\cdot10^{\text{\color{green!50!black}\itshape$\langle$zeros$\rangle$}}$, -where $0\leq n\leq 10^{67}-1$. The default value of \commandinline|!!| is \texttt{0}. For example +where $0\leq n\leq 10^{66}-1$. The default value of \commandinline|!!| is \texttt{0}. For example \begin{flushleft} \verb|\ordnumspell{12000}| $\to$ \ordnumspell{12000}\\ \verb|\ordnumspell[3]{12}| $\to$ \ordnumspell[3]{12}\\ @@ -349,12 +348,36 @@ The ordinal numbers will be printed in feminine form. For example\\ {\numspellitfeminine\ordnumspell{1}}; {\numspellitmasculine\ordnumspell{1}} \end{description} +\section{Commands for the Latin language} +The following commands only work, if one of the next languages is active: \texttt{latin}, \texttt{classiclatin}, \texttt{medievallatin}, or \texttt{ecclesiasticlatin}. +\begin{description} +\selectlanguage{latin} +\item\commandinline|\numspelllamasculine| (default)\\ +All numbers will be printed in masculine form. For example\\ +\verb|\numspell{1}, \numspell{2}, \numspell{200}, \ordnumspell{1}|\\[2mm] +\numspell{1}, \numspell{2}, \numspell{200}, \ordnumspell{1} + +\item\commandinline|\numspelllafeminine|\\ +All numbers will be printed in feminine form. For example\\ +\verb|\numspelllafeminine|\\ +\verb|\numspell{1}, \numspell{2}, \numspell{200}, \ordnumspell{1}|\\[2mm] +\numspelllafeminine +\numspell{1}, \numspell{2}, \numspell{200}, \ordnumspell{1} + +\item\commandinline|\numspelllaneuter|\\ +All numbers will be printed in neuter form. For example\\ +\verb|\numspelllaneuter|\\ +\verb|\numspell{1}, \numspell{2}, \numspell{200}, \ordnumspell{1}|\\[2mm] +\numspelllaneuter +\numspell{1}, \numspell{2}, \numspell{200}, \ordnumspell{1} +\end{description} + \section{Examples} \begin{examplelst} \documentclass{article} \usepackage[T1]{fontenc} -\usepackage[magyar,italian,ngerman,french,english]{babel} +\usepackage[magyar,italian,latin,ngerman,french,english]{babel} \usepackage{numspell} \usepackage[group-separator={,}]{siunitx} \begin{document} @@ -377,27 +400,33 @@ In Hungarian the spelling of \num{\mynum} is \par\smallskip\noindent In Italian the spelling of \num{\mynum} is \foreignlanguage{italian}{\em\numspell{\mynum}}. +\par\smallskip\noindent +In Latin the spelling of \num{\mynum} is +\foreignlanguage{latin}{\em\numspell{\mynum}}. \end{document} \end{examplelst} \def\mynum{123456789} \noindent -In British English the spelling of \num{\mynum} is +In British English the spelling of 123,456,789 is \emph{\numspell{\mynum}}. \par\smallskip\noindent -In American English the spelling of \num{\mynum} is +In American English the spelling of 123,456,789 is \foreignlanguage{american}{\em\numspell{\mynum}}. \par\smallskip\noindent -In French the spelling of \num{\mynum} is +In French the spelling of 123,456,789 is \foreignlanguage{french}{\em\numspell{\mynum}}. \par\smallskip\noindent -In German the spelling of \num{\mynum} is +In German the spelling of 123,456,789 is \foreignlanguage{ngerman}{\em\numspell{\mynum}}. \par\smallskip\noindent -In Hungarian the spelling of \num{\mynum} is +In Hungarian the spelling of 123,456,789 is \foreignlanguage{magyar}{\em\numspell{\mynum}}. \par\smallskip\noindent -In Italian the spelling of \num{\mynum} is +In Italian the spelling of 123,456,789 is \foreignlanguage{italian}{\em\numspell{\mynum}}. +\par\smallskip\noindent +In Latin the spelling of 123,456,789 is +\foreignlanguage{latin}{\em\numspell{\mynum}}. \begin{examplelst} \documentclass{article} diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS index f62f86fd6d..1fd97ca4f2 100644 --- a/macros/luatex/generic/luamplib/NEWS +++ b/macros/luatex/generic/luamplib/NEWS @@ -1,5 +1,8 @@ History of the luamplib package +2021/11/23 2.21.1 + * address #97 (typesetting fails with "--lua" option) + 2021/09/16 2.21.0 * allow empty string in textext() diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx index a1ee352b36..0966f32b98 100644 --- a/macros/luatex/generic/luamplib/luamplib.dtx +++ b/macros/luatex/generic/luamplib/luamplib.dtx @@ -85,7 +85,7 @@ See source file '\inFileName' for licencing and contact information. %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{luamplib.drv}% - [2021/09/16 v2.21.0 Interface for using the mplib library]% + [2021/11/23 v2.21.1 Interface for using the mplib library]% \documentclass{ltxdoc} \usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace} \usepackage[x11names]{xcolor} @@ -153,7 +153,7 @@ See source file '\inFileName' for licencing and contact information. % \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\ % Maintainer: LuaLaTeX Maintainers --- % Support: \email{lualatex-dev@tug.org}} -% \date{2021/09/16 v2.21.0} +% \date{2021/11/23 v2.21.1} % % \maketitle % @@ -413,8 +413,8 @@ See source file '\inFileName' for licencing and contact information. luatexbase.provides_module { name = "luamplib", - version = "2.21.0", - date = "2021/09/16", + version = "2.21.1", + date = "2021/11/23", description = "Lua package to typeset Metapost with LuaTeX's MPLib.", } @@ -669,8 +669,16 @@ end % As the finder function for MPLib, use the |kpse| library and % make it behave like as if MetaPost was used. And replace it with % cache files if needed. +% See also \#74, \#97. % \begin{macrocode} -local mpkpse = kpse.new(arg[0], "mpost") +local mpkpse +do + local exe = 0 + while arg[exe-1] do + exe = exe-1 + end + mpkpse = kpse.new(arg[exe], "mpost") +end local special_ftype = { pfb = "type1 fonts", @@ -2003,7 +2011,7 @@ luamplib.colorconverter = colorconverter \else \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{luamplib} - [2021/09/16 v2.21.0 mplib package for LuaTeX] + [2021/11/23 v2.21.1 mplib package for LuaTeX] \ifx\newluafunction\@undefined \input ltluatex \fi diff --git a/macros/luatex/generic/luamplib/luamplib.pdf b/macros/luatex/generic/luamplib/luamplib.pdf index c785dbca43..a2685b2b09 100644 Binary files a/macros/luatex/generic/luamplib/luamplib.pdf and b/macros/luatex/generic/luamplib/luamplib.pdf differ diff --git a/support/bib2gls/CHANGES b/support/bib2gls/CHANGES index 36e8039ff4..dc10b362cf 100644 --- a/support/bib2gls/CHANGES +++ b/support/bib2gls/CHANGES @@ -1,3 +1,23 @@ +v2.9 (2021-11-22): + + * Support for \multiglossaryentry (new to glossaries-extra v1.48) + This has led to new resource options: + + - compound-dependent + - compound-add-hierarchy + - compound-has-records + - compound-adjust-name + - compound-write-defs + - compound-options-global + - compound-main-type + - compound-other-type + - compound-type-override + + * added -q and --quiet as synonyms for --silent + + * issue #14: bib2gls breaks hypergroup styles + https://github.com/nlct/bib2gls/issues/14 + v2.8 (2021-11-05): * Support for new features of mfirstuc v2.07: diff --git a/support/bib2gls/bib2gls-begin.pdf b/support/bib2gls/bib2gls-begin.pdf index c178684a17..4530c0ab11 100644 Binary files a/support/bib2gls/bib2gls-begin.pdf and b/support/bib2gls/bib2gls-begin.pdf differ diff --git a/support/bib2gls/bib2gls-en.xml b/support/bib2gls/bib2gls-en.xml index 42846f9f2d..fd204ffdfa 100644 --- a/support/bib2gls/bib2gls-en.xml +++ b/support/bib2gls/bib2gls-en.xml @@ -3,180 +3,81 @@ English language file for bib2gls -{0} version {1} ({2}) +{0} {1} ({2}) License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Bundled with {0} version {1} ({2}) -Usage: {0} [<option>]+ <aux file> -Helper application for the glossaries-extra package. -See the manual for further details. +Usage: {0} [<option>+] <aux file> +Helper application for the glossaries-extra package. +The aux file should either be in the current directory or in the directory +specified by {0}. Bib files can either be relative to the directory the aux +file is in or in a location that can be found by kpsewhich. + +Resources +{0} tutorial: {1} +{0} documentation: {1} +{0} package page: {1} +{0} home page: {1} +{0} FAQ: {1} + (Use --help or -h for help.) -Options: -{0} (or {1}) Display version and exit. -{0} (or {1}) Display this help message and exit. -{0} [<n>] Switch on debug mode (optionally with the given level). -{0} Switch off debug mode. (Default.) -{0} Switch off debug mode. (Default.) - Synonym: {1} -{0} Switch on verbose mode. -{0} Switch off verbose mode. (Default.) - Some messages are displayed. - Synonym: {1} -{0} Only display error messages. -{0} <lang> (or {1} <lang>) - Use language resource file for <lang>. - Also sets default document language. -{0} <file> (or {1} <file>) - Set transcript file name. -{0} <directory> (or {1} <directory>) - Files relative to <directory>. - (This doesn''t change the current working - directory.) -{0} Switch on interpret mode (default). -{0} Switch off interpret mode. -{0} Interpret tilde character as normal space. -{0} Interpret tilde character as a non-breaking space - (default). +Common options: +File options: +Interpreter options: +Record options: +Bib file options: +Field options: +Other options: +{1}, {0} Display version and exit. +{1}, {0} Display this help message and exit. +{0} [<n>] Debug mode. +{0} Verbose mode. +{1}, {2}, {0} Only display error messages. +{1}, {0} Add ''group'' field to entries. +{1}, {0} <lang> Use language resource file for <lang> and identify this as the default document language. +{1}, {0} <file> Set transcript file name. +{1}, {0} <directory> Files relative to <directory>. +{0} <name> Set the character encoding for the output files. +{0} Enable interpreter. +{0} Interpret tilde character as normal space. +{1}, {0} <list> Instruct interpreter to assume the listed packages have been used in the document. (The packages must be known by the interpreter.) +{1}, {0} <list> Don''t check the log file for the listed packages. +{0} <list> Instruct the interpreter to parse the listed packages. +{0} List the packages known to the interpreter and exit. +{0} Text superscripts or subscripts will use Unicode superscript or subscript characters if possible. +{1}, {0} Force cross-resource referencing mode on. + {0} Treat \citation as an ignored record. -{0} Don''t treat \citation as an ignored record (default). -{0} Collapse explicit location ranges with coincident end-points (default). -{0} Don''t collapse explicit location ranges with coincident end-points. +{0} Collapse explicit location ranges with coincident end-points. {0} Retain non-identical locations with the given formats even if a partial match exists. -{0} Don''t override normal location merging rules (default). -{0} - Merge wrglossary counter records (default). -{0} - Don''t merge wrglossary counter records. -{0} (or {1}) - Force cross-resource referencing mode on. -{0} - Don''t force cross-resource referencing mode on - (default). -{0} - Warn if internal non-bib fields are found in .bib file. -{0} - Don''t warn if internal non-bib fields are found in .bib file. -{0} - Warn if unknown entry types are found in .bib file. -{0} - Don''t warn if unknown entry types are found in .bib file. - -{0} <rule> - Rule for merging locations with record=nameref - (requires glossaries-extra version 1.37+). - <rule> may be one of: ''hcounter'', ''href'', ''title'' - or ''location''. - -{0} - Text superscripts or subscripts will use Unicode - superscript or subscript characters if possible - (default). -{0} - Text superscripts or subscripts won''t use Unicode - superscript or subscript characters. - - -{0} <fields>|"all" (or {1} <fields>|"all") - Insert an empty group if fields start - with certain problematic commands - to protect against case-changing commands - like \Gls. - - The default is to do this for all fields. - To do this for only a subset of fields, - set <fields> to a comma-separated - list of fields (e.g. 'name,short,long'). - The keyword 'all' indicates all fields. -{0} - Switch off the auto-insertion of an empty - group for all fields. - -{0} - Switch off the auto-insertion of an empty - group for math-shift ($). - -{0} - Switch on the auto-insertion of an empty - group for math-shift ($). - This option will be overriden by - {1} - - -{0} <option> - Check for the shortcut commands when - searching for dependencies. - Permitted values of <option>: - ''ac'', ''acronyms'' (or ''acro''), - ''abbreviations'' (or ''abbr''), - ''all'' (or ''true''), - ''none'' (or ''false'') -{0} <list>|"none" - Check each field listed in <list> - for potentially problematic nested link - text. (Default list: name, text, plural, - first, firstplural, short, shortplural, - long, longplural, symbol). - - If "none", disable check. -{0} - Don''t check for potentially problematic - nested link text. (Equivalent to - {1} "none") -{0} <key>:<value>[,<key>:<value>]* (or {1} <key>:<value>[,<key>:<value>]*) - Set location format mappings. -{0} or {1} - Add ''group'' field to entries. -{0} - Don''t add ''group'' field to entries (default). -{0} or {1} - Add record count fields to entries. -{0} - Don''t add record count fields to entries. - (Automatically implements {1}) -{0} or {1} - Add unit record count fields to entries. - (Automatically implements {2}) -{0} - Don''t add unit record count fields to entries. -{0} - Trim leading and trailing spaces from fields. -{0} - Don''t trim leading and trailing spaces from fields - (default). -{0} <list> - Only trim leading and trailing spaces from listed fields. - (Cumulative.) -{0} <list> - Trim leading and trailing spaces from all fields except those listed. - (Cumulative.) -{0} - Don''t write \glsnoexpandfields to the .glstex file. -{0} - Write \glsnoexpandfields to the .glstex file (default). -{0} <name> - Set the character encoding for the output files. -{0} <list> or {1} <list> - Instruct interpreter to assume the listed - packages have been used in the document. - (The packages must be known by the interpreter.) -{0} <list> or {1} <list> - Don''t check the log file for the listed - packages. -{0} <list> - Instruct the interpreter to parse - the listed packages. -{0} - List the packages known to the interpreter. -{0} - Define any unknown glossaries with - \provideignoredglossary*. -{0} - Don''t define unknown glossaries with - \provideignoredglossary* except in certain situations - (default). +{0} Merge wrglossary counter records. +{0} <rule> Rule for merging locations with record=nameref. <rule> may be one of: ''hcounter'', ''href'', ''title'' or ''location''. + +{1}, {0} <key>:<value>[,<key>:<value>]* Set location format mappings. +{1}, {0} Add record count fields to entries. +{1}, {0} Add unit record count fields to entries. + +{0} Warn if internal non-bib fields are found in bib file. +{0} Warn if unknown entry types are found in bib file. + +{1}, {0} <fields>|"all" Insert an empty group if fields start with certain problematic commands to protect against case-changing commands like \Gls. + +{0} Switch on the auto-insertion of an empty group for math-shift ($). + + +{0} <option> Check for the shortcut commands when searching for dependencies. Permitted values of <option>: ''ac'', ''acronyms'' (or ''acro''), ''abbreviations'' (or ''abbr''), ''all'' (or ''true''), ''none'' (or ''false'') + +{0} <list>|"none" Check each field listed in <list> for potentially problematic nested link text. + +{0} Trim leading and trailing spaces from fields. + +{0} <list> Only trim leading and trailing spaces from listed fields. (Cumulative.) +{0} <list> Trim leading and trailing spaces from all fields except those listed. (Cumulative.) +{0} Allow field expansion to occur when LaTeX inputs the glstex file. +{0} Define any unknown glossaries with \provideignoredglossary*. Reading {0} Writing {0} @@ -187,7 +88,9 @@ See the manual for further details. Copying {0} -> {1} Moving {0} -> {1} Entry {0}: found cross-reference ({1}): {2} +Entry {0}: found compound cross-reference ({1}): {2} Entry {0} cross-referenced by {1} +Compound entry {0} cross-referenced by {1} Checking cross-references for: {0} Cross-reference tail for ''{0}'': {1} Entry {0}: found custom ''{1}'' dependency ({2}): {3} @@ -208,6 +111,7 @@ See the manual for further details. Selecting entry {0} (is dependency). Selecting entry {0}. Selecting entry {0} (selected before). +Selecting entry {0} (mgls ref {1}). Checking entry {0} field {1} for date/time data (date:{2}, time:{3}). Field {0} not set for entry {1} Selection mode: {0} @@ -328,6 +232,8 @@ Defaulting to: {0}. Append nbsp for prefix field ''{0}'': matched ''{1}'' in ''{2}'' (pattern ''{3}'') {0}: No group ID for entry {1} {0}: No group found for {1} +Found compound entry set ''{0}'' +Found mgls ref ''{0}'' Page Pages @@ -430,6 +336,8 @@ Aliased entries must be in the same resource set as their target entries with op Multiple supplemental locations not supported with glossaries-extra {1}. Restricting selection to just {0}. Update to at least glossaries-extra version {2} to support multiple supplementary sources. Unknown entry: {0} Unknown entry ''{0}'' in current resource set: {1} +Unknown compound entry ''{0}''. +Unknown compound entry ''{0}'' referenced in entry ''{1}''. Error: {0} The 'alias' field can't be mapped. @@ -445,7 +353,7 @@ Have you used the glossaries-extra.sty ''record'' option? Have you indexed your entries using commands like \gls? Missing \{0} in aux file (make sure glossaries-extra.sty is at least {1}). Only one aux file permitted. -Aux file not supplied. Syntax: bib2gls [<options>] <aux file> +Aux file not supplied. {0} File not found: {0} File not found: {0} (Did you forget to use the ''src'' key?) @@ -518,6 +426,7 @@ Use {1} {0} instead. Interpreter needed for setting {0} Sort method ''{0}'' requires {1} switch. Selection setting ''{0}'' requires previous selections from other resource sets. +Duplicate compound set: {0}